@erdoai/ui 0.1.87 → 0.1.89

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,10 +1,10 @@
1
- import*as ht from'react';import ht__default,{createContext,useMemo,useRef,useEffect,useState,memo,useCallback,useContext,useSyncExternalStore}from'react';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import*as Ut from'recharts';import {Bar,BarChart,Line,LineChart,Scatter,ScatterChart,CartesianGrid,XAxis,Label,YAxis,ReferenceArea,PieChart,Pie,Cell,Tooltip,Legend}from'recharts';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {format}from'd3-format';import {utcFormat}from'd3-time-format';import {isValid,parse}from'date-fns';import {useToPng}from'@hugocxl/react-to-image';import {Check,Copy,ChevronUp,ChevronDown,Download,ChevronRight,ExternalLink,ArrowUpRight,Loader2,AlertCircle,Search,Image,FileText,Presentation,FileSpreadsheet,File,Lightbulb,Zap,Brain,Code}from'lucide-react';import Ys from'lodash/isEqual';import {useDeepCompareMemo}from'use-deep-compare';import Oa from'react-markdown';import Ma from'remark-gfm';import {visit}from'unist-util-visit';import*as se from'@radix-ui/react-collapsible';import {Prism}from'react-syntax-highlighter';import {oneDark,oneLight}from'react-syntax-highlighter/dist/cjs/styles/prism';import {createStore,useStore}from'zustand';var En=createContext(null);function vr({children:t,config:e}){return jsx(En.Provider,{value:e,children:t})}function Lt(){let t=useContext(En);if(!t)throw new Error("useErdoConfig must be used within an ErdoProvider");return t}function H(){return useContext(En)}var St=class extends ht__default.Component{constructor(e){super(e),this.state={hasError:false};}static getDerivedStateFromError(e){return {hasError:true}}componentDidCatch(e,n){console.error("ErrorBoundary caught an error:",e,n);}render(){return this.state.hasError?this.props.fallback:this.props.children}};function Q(...t){return twMerge(clsx(t))}var hs={light:"",dark:".dark"},wr=ht.createContext(null);function Ir(){let t=ht.useContext(wr);if(!t)throw new Error("useChart must be used within a <ChartContainer />");return t}function me({id:t,className:e,children:n,config:o,debounceResize:r=false,...s}){let a=ht.useId(),i=`chart-${t||a.replace(/:/g,"")}`;return jsx(wr.Provider,{value:{config:o},children:jsxs("div",{"data-slot":"chart","data-chart":i,className:Q("w-full [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border flex aspect-video min-h-80 justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden",e),...s,children:[jsx(Nr,{id:i,config:o}),jsx(Ut.ResponsiveContainer,{debounce:r?200:0,children:n})]})})}var Nr=({id:t,config:e})=>{let n=Object.entries(e).filter(([,o])=>o.theme||o.color);return n.length?jsx("style",{dangerouslySetInnerHTML:{__html:Object.entries(hs).map(([o,r])=>`
1
+ import*as ht from'react';import ht__default,{createContext,useMemo,useRef,useEffect,useState,memo,useCallback,useContext,useSyncExternalStore}from'react';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import*as Ut from'recharts';import {Bar,BarChart,Line,LineChart,Scatter,ScatterChart,CartesianGrid,XAxis,Label,YAxis,ReferenceArea,PieChart,Pie,Cell,Tooltip,Legend}from'recharts';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {format}from'd3-format';import {utcFormat}from'd3-time-format';import {isValid,parse}from'date-fns';import {useToPng}from'@hugocxl/react-to-image';import {Check,Copy,ChevronUp,ChevronDown,Download,ChevronRight,ExternalLink,ArrowUpRight,Loader2,AlertCircle,Search,Image,FileText,Presentation,FileSpreadsheet,File,Lightbulb,Zap,Brain,Code}from'lucide-react';import Ys from'lodash/isEqual';import {useDeepCompareMemo}from'use-deep-compare';import Oa from'react-markdown';import Ma from'remark-gfm';import {visit}from'unist-util-visit';import*as ae from'@radix-ui/react-collapsible';import {Prism}from'react-syntax-highlighter';import {oneDark,oneLight}from'react-syntax-highlighter/dist/cjs/styles/prism';import {createStore,useStore}from'zustand';var En=createContext(null);function vr({children:t,config:e}){return jsx(En.Provider,{value:e,children:t})}function Lt(){let t=useContext(En);if(!t)throw new Error("useErdoConfig must be used within an ErdoProvider");return t}function H(){return useContext(En)}var St=class extends ht__default.Component{constructor(e){super(e),this.state={hasError:false};}static getDerivedStateFromError(e){return {hasError:true}}componentDidCatch(e,n){console.error("ErrorBoundary caught an error:",e,n);}render(){return this.state.hasError?this.props.fallback:this.props.children}};function Q(...t){return twMerge(clsx(t))}var hs={light:"",dark:".dark"},wr=ht.createContext(null);function Ir(){let t=ht.useContext(wr);if(!t)throw new Error("useChart must be used within a <ChartContainer />");return t}function fe({id:t,className:e,children:n,config:o,debounceResize:r=false,...s}){let a=ht.useId(),i=`chart-${t||a.replace(/:/g,"")}`;return jsx(wr.Provider,{value:{config:o},children:jsxs("div",{"data-slot":"chart","data-chart":i,className:Q("w-full [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border flex aspect-video min-h-80 justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden",e),...s,children:[jsx(Nr,{id:i,config:o}),jsx(Ut.ResponsiveContainer,{debounce:r?200:0,children:n})]})})}var Nr=({id:t,config:e})=>{let n=Object.entries(e).filter(([,o])=>o.theme||o.color);return n.length?jsx("style",{dangerouslySetInnerHTML:{__html:Object.entries(hs).map(([o,r])=>`
2
2
  ${r} [data-chart=${t}] {
3
3
  ${n.map(([s,a])=>{let i=a.theme?.[o]||a.color;return i?` --color-${s}: ${i};`:null}).join(`
4
4
  `)}
5
5
  }
6
6
  `).join(`
7
- `)}}):null},Dn=Ut.Tooltip;function An({active:t,payload:e,className:n,indicator:o="dot",hideLabel:r=false,hideIndicator:s=false,label:a,labelFormatter:i,labelClassName:c,formatter:l,color:u,nameKey:p,labelKey:d}){let{config:m}=Ir(),g=ht.useMemo(()=>{if(r||!e?.length)return null;let[x]=e,b=`${d||x?.dataKey||x?.name||"value"}`,k=Rn(m,x,b),y=!d&&typeof a=="string"?m[a]?.label||a:k?.label;return i?jsx("div",{className:Q("font-medium",c),children:i(y,e)}):y?jsx("div",{className:Q("font-medium",c),children:y}):null},[a,i,e,r,c,m,d]);if(!t||!e?.length)return null;let f=e.length===1&&o!=="dot";return jsxs("div",{className:Q("border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl",n),children:[f?null:g,jsx("div",{className:"grid gap-1.5",children:e.map((x,b)=>{let k=`${p||x.name||x.dataKey||"value"}`,y=Rn(m,x,k),h=u||x.payload.fill||x.color;return jsx("div",{className:Q("[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5",o==="dot"&&"items-center"),children:l&&x?.value!==void 0&&x.name?l(x.value,x.name,x,b,x.payload):jsxs(Fragment,{children:[y?.icon?jsx(y.icon,{}):!s&&jsx("div",{className:Q("shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)",{"h-2.5 w-2.5":o==="dot","w-1":o==="line","w-0 border-[1.5px] border-dashed bg-transparent":o==="dashed","my-0.5":f&&o==="dashed"}),style:{"--color-bg":h,"--color-border":h}}),jsxs("div",{className:Q("flex flex-1 justify-between leading-none",f?"items-end":"items-center"),children:[jsxs("div",{className:"grid gap-1.5",children:[f?g:null,jsx("span",{className:"text-muted-foreground",children:y?.label||x.name})]}),x.value&&jsx("span",{className:"text-foreground font-mono font-medium tabular-nums",children:x.value.toLocaleString()})]})]})},x.dataKey)})})]})}var Pn=Ut.Legend;function Bn({className:t,hideIcon:e=false,payload:n,verticalAlign:o="bottom",nameKey:r}){let{config:s}=Ir();return n?.length?jsx("div",{className:Q("flex items-center justify-center gap-4",o==="top"?"pb-3":"pt-3",t),children:n.map(a=>{let i=`${r||a.dataKey||"value"}`,c=Rn(s,a,i);return jsxs("div",{className:Q("[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3"),children:[c?.icon&&!e?jsx(c.icon,{}):jsx("div",{className:"h-2 w-2 shrink-0 rounded-[2px]",style:{backgroundColor:a.color}}),c?.label]},a.value)})}):null}function Rn(t,e,n){if(typeof e!="object"||e===null)return;let o="payload"in e&&typeof e.payload=="object"&&e.payload!==null?e.payload:void 0,r=n;return n in e&&typeof e[n]=="string"?r=e[n]:o&&n in o&&typeof o[n]=="string"&&(r=o[n]),r in t?t[r]:t[n]}function it(t,e,n){if(t==null)return "";if(n==="date"){let o=Tr(t);if(o&&e)try{let r=e;e==="%Y%m%d"?r="%Y-%m-%d":e==="%d%m%Y"?r="%d-%m-%Y":e==="%m%d%Y"&&(r="%m-%d-%Y");let s=r.match(/%./g)||[],a="aAbBcdejHILmMpSUwWxXyYZ%";return s.some(l=>{let u=l.charAt(1);return !a.includes(u)})||s.length===0?(console.warn(`Invalid date format directives in: ${e}. Using default format.`),o.toISOString().split("T")[0]):utcFormat(r)(o)}catch(r){return console.warn(`Invalid date format: ${e}. Error: ${r}. Falling back to default.`),o.toISOString().split("T")[0]}if(o){let r=o.toISOString();return r.endsWith("T00:00:00.000Z")?r.split("T")[0]:o.toISOString().replace("T"," ").replace(".000Z"," UTC")}return String(t)}if(n==="number"){let o=typeof t=="string"?parseFloat(t.replace(/,/g,"")):t;if(isNaN(o))return String(t);let r=e;if(e&&(r=e.replace(/(\.\d+)f%/,"$1%")),!r)return Math.abs(o)>=1e3?format(",.0f")(o):Math.abs(o)>=100?format(".1f")(o):Math.abs(o)>=10?format(".2f")(o):Math.abs(o)>=1?format(".3f")(o):format(".3g")(o);if(r.includes("%"))return o>=0&&o<=1?format(r)(o):format(r)(o/100);try{return format(r)(o)}catch(s){return console.warn(`Error formatting number with format '${r}': ${s}. Falling back to default.`),Math.abs(o)>=1e3?format(",.0f")(o):Math.abs(o)>=1?format(".2f")(o):format(".3g")(o)}}return String(t)}function Tr(t){if(!t)return null;if(t instanceof Date)return isValid(t)?t:null;if(typeof t=="number"){let n=new Date(t);return isValid(n)?n:null}if(typeof t=="string"){if(/^\d{4}-\d{2}-\d{2}$/.test(t)){let r=new Date(t+"T00:00:00.000Z");if(isValid(r))return r}let o=["yyyy-MM-dd","yyyyMMdd","yyyy-MM-dd'T'HH:mm:ss","yyyyMMddHHmmss","MM/dd/yyyy","dd/MM/yyyy"];for(let r of o){let s=parse(t,r,new Date);if(isValid(s))return s}}let e=new Date(t);return isValid(e)?e:null}function De({onZoomChange:t}={}){let[e,n]=useState({refAreaLeft:null,refAreaRight:null,refAreaTop:null,refAreaBottom:null,zooming:false}),[o,r]=useState({x:[null,null],y:[null,null]}),s=useCallback(u=>{!u?.xValue||!u?.yValue||n(p=>({...p,refAreaLeft:u.xValue,refAreaTop:u.yValue,zooming:true}));},[]),a=useCallback(u=>{!u?.xValue||!u?.yValue||!e.zooming||n(p=>({...p,refAreaRight:u.xValue,refAreaBottom:u.yValue}));},[e.zooming]),i=useCallback(()=>{if(!e.refAreaLeft||!e.refAreaRight||!e.refAreaTop||!e.refAreaBottom){n({refAreaLeft:null,refAreaRight:null,refAreaTop:null,refAreaBottom:null,zooming:false});return}let[u,p]=[Math.min(e.refAreaLeft,e.refAreaRight),Math.max(e.refAreaLeft,e.refAreaRight)],[d,m]=[Math.min(e.refAreaTop,e.refAreaBottom),Math.max(e.refAreaTop,e.refAreaBottom)],g={x:[u,p],y:[d,m]};r(g),t?.(g),n({refAreaLeft:null,refAreaRight:null,refAreaTop:null,refAreaBottom:null,zooming:false});},[e,t]),c=useCallback(()=>{let u={x:[null,null],y:[null,null]};r(u),t?.(u);},[t]),l=useMemo(()=>({onZoomStart:s,onZoomMove:a,onZoomEnd:i,onResetZoom:c}),[s,a,i,c]);return {zoomState:e,customDomain:o,handlers:l}}function Dr(t){let e={max:null,min:null};if(t.maxValue)if(t.type==="number"){let n=parseFloat(t.maxValue);isNaN(n)?console.warn(`Error parsing max value ${t.maxValue}. Falling back to default.`):e.max=n;}else t.type==="date"?typeof t.maxValue=="string"&&/^\d{4}-\d{2}-\d{2}$/.test(t.maxValue)?e.max=new Date(t.maxValue+"T00:00:00.000Z").getTime():e.max=new Date(t.maxValue).getTime():e.max=t.maxValue;if(t.minValue)if(t.type==="number"){let n=parseFloat(t.minValue);isNaN(n)?console.warn(`Error parsing min value ${t.minValue}. Falling back to default.`):e.min=n;}else t.type==="date"?typeof t.minValue=="string"&&/^\d{4}-\d{2}-\d{2}$/.test(t.minValue)?e.min=new Date(t.minValue+"T00:00:00.000Z").getTime():e.min=new Date(t.minValue).getTime():e.min=t.minValue;return e}function wt(t,e,n){return it(t,e,n)}function Rs({title:t,subtitle:e,data:n,displayConfig:o,dataConfig:r,ChartComponent:s,PointComponent:a,disableAnimation:i,onZoomChange:c,stacked:l,enableDownload:u=true,onDownloadSuccess:p,onDownloadError:d,className:m,chartContainerClassName:g,downloadButtonClassName:f,resetZoomButtonClassName:x}){let{zoomState:b,customDomain:k,handlers:y}=De({onZoomChange:c}),h=useCallback(C=>{let N=`${(t||"chart").toLowerCase().replace(/\s+/g,"-")}.png`,V=document.createElement("a");V.download=N,V.href=C,V.click(),p?.(N);},[t,p]),S=useCallback(C=>{console.error("Error converting chart to image:",C),d?.(C);},[d]),[{isLoading:_},v,I]=useToPng({onSuccess:h,onError:S}),j=useCallback(async()=>{v();},[v]),Z=useMemo(()=>Dr(r.xAxis),[r.xAxis]),B=useMemo(()=>r.yAxes.map(C=>Dr(C)),[r.yAxes]),J=useMemo(()=>n?r.chartType==="histogram"?n.map(C=>({[r.xAxis.key]:(C.binStart+C.binEnd)/2,frequency:C.frequency,binStart:C.binStart,binEnd:C.binEnd})):r.xAxis.type==="number"?n.filter(C=>!isNaN(C[r.xAxis.key])):r.xAxis.type==="date"?n.filter(C=>!isNaN(C[r.xAxis.key])):n:[],[n,r.xAxis.key,r.chartType,r.xAxis.type]),G=useMemo(()=>{if(r.xAxis.type==="category"||!J.length)return;let C=J.map(N=>Number(N[r.xAxis.key])).filter(N=>!isNaN(N));return [...new Set(C)].sort((N,V)=>N-V)},[J,r.xAxis.key,r.xAxis.type]),Nn=useMemo(()=>{if(!G||G.length<2)return;let N=(G[G.length-1]-G[0])*.05;return [G[0]-N,G[G.length-1]+N]},[G]),w=useCallback((C,N)=>{if(!C?.length)return {min:null,max:null};let V=C.map(A=>Number(A[N])).filter(A=>!isNaN(A));return {min:Math.min(...V),max:Math.max(...V)}},[]),E=useMemo(()=>({x:k.x[0]!==null&&k.x[1]!==null?[k.x[0],k.x[1]]:(()=>{if(Z.min!==null&&Z.max!==null)return [Z.min,Z.max];let C=w(J,r.xAxis.key);return [C.min??"auto",C.max??"auto"]})(),y:r.yAxes.map((C,N)=>{if(k.y[0]!==null&&k.y[1]!==null)return [k.y[0],k.y[1]];let A=r.series.filter(X=>(X.axisIndex||0)===N).reduce((X,Tn)=>{let mt=w(J,Tn.key);return {min:X.min===null?mt.min:mt.min===null?X.min:Math.min(X.min,mt.min),max:X.max===null?mt.max:mt.max===null?X.max:Math.max(X.max,mt.max)}},{min:null,max:null});if(C.type==="number"&&C.maxValue){let X=parseFloat(C.maxValue);if(A.max===null||X<=A.max*1.5)return [B[N].min??A.min??"auto",B[N].max??A.max??"auto"]}return [B[N].min??A.min??"auto",B[N].max??A.max??"auto"]})}),[k.x,k.y,Z,B,r.series,r.yAxes,r.xAxis.key,J,w]),M=useCallback((C,N,V)=>{if(V.dataKey===r.xAxis.key)return wt(C,r.xAxis.format,r.xAxis.type);let A=r.series.find(pe=>pe.key===V.dataKey),X=A?.name||String(N).replace(/^dataset_\d+_/,"");if(r.chartType==="histogram"){let pe=V.payload;if(pe.binStart!==void 0){let us=wt(pe.binStart,r.xAxis.format,r.xAxis.type),ds=wt(pe.binEnd,r.xAxis.format,r.xAxis.type);return `Count: ${C} (${us} - ${ds})`}}let Tn=A?.axisIndex||0,mt=r.yAxes[Tn],cs=wt(C,mt?.format,mt?.type);return `${X}: ${cs}`},[r.xAxis,r.series,r.yAxes,r.chartType]),[K,Y]=useState(false);useEffect(()=>{let C=setTimeout(()=>{Y(true);},1700);return ()=>clearTimeout(C)},[]);let W=useCallback((C,N)=>{if(N&&N.length>0){let V=N[0].payload[r.xAxis.key],A=wt(V,r.xAxis.format,r.xAxis.type);return jsxs("div",{className:"flex flex-col",children:[jsx("span",{children:r.xAxis.label}),jsx("span",{className:"font-mono tabular-nums",children:A})]})}return C},[r.xAxis.key,r.xAxis.format,r.xAxis.type,r.xAxis.label]),$t=useCallback(C=>jsx(An,{...C,formatter:M,labelFormatter:W}),[M,W]),Te=useCallback(C=>jsx(Bn,{...C}),[]),Ee=useMemo(()=>!!(i||(n?.length||0)>100||K),[i,n?.length,K]);return jsxs("div",{className:m||"w-full items-center mt-0 flex flex-col gap-0",children:[(t||u)&&jsxs("div",{className:"w-full items-center mb-2 relative",children:[t&&jsx("h2",{className:"text-center text-base pt-0 mt-0 mb-2",children:t}),u&&jsx("button",{onClick:j,disabled:_,className:f||"text-sm text-gray-500 hover:text-gray-700 disabled:opacity-50 h-8 absolute right-0 top-[-5px] px-2 py-1 border rounded hover:bg-gray-50",title:"Download chart as PNG",children:jsx(Download,{className:"w-4 h-4"})})]}),e&&jsx("p",{className:"text-center text-sm text-muted-foreground mb-2",children:e}),jsx(me,{ref:I,config:o,className:g||"w-full border border-border/50 p-4 rounded-md",debounceResize:true,children:jsxs(s,{accessibilityLayer:true,data:J,isAnimationActive:!Ee,onMouseDown:y.onZoomStart,onMouseMove:y.onZoomMove,onMouseUp:y.onZoomEnd,onDoubleClick:y.onResetZoom,style:{userSelect:"none",cursor:"crosshair"},children:[jsx(CartesianGrid,{vertical:false}),jsx(XAxis,{dataKey:r.xAxis.key,domain:Nn||E.x,type:r.xAxis.type==="date"||!r.xAxis.type?"number":r.xAxis.type,tickFormatter:C=>{let N=wt(C,r.xAxis.format,r.xAxis.type);return typeof N=="string"&&N.length>20?N.slice(0,20)+"...":N},tickLine:false,tickMargin:10,height:J.length>15?140:50,axisLine:false,allowDataOverflow:true,interval:J.length<=40?0:void 0,ticks:G,...J.length>15?{angle:-45,textAnchor:"end"}:{},children:jsx(Label,{value:r.xAxis.label,position:"bottom",offset:J.length>15?-5:-10,style:{textAnchor:"middle"}})}),r.yAxes.map((C,N)=>jsx(YAxis,{yAxisId:N,orientation:N===0?"left":"right",domain:l?void 0:E.y[N],type:C.type==="date"||!C.type?"number":C.type,tickFormatter:V=>{let A=wt(V,C.format,C.type);return typeof A=="string"&&A.length>20?A.slice(0,20)+"...":A},allowDataOverflow:true,children:jsx(Label,{value:C.label,position:N===0?"insideLeft":"insideRight",angle:-90,style:{textAnchor:"middle"}})},`y-axis-${C.key}`)),jsx(Dn,{content:$t}),jsx(Pn,{content:Te,verticalAlign:"top"}),r.series.map(C=>jsx(a,{dataKey:C.key,yAxisId:C.axisIndex||0,fill:C.color||"blue",stroke:C.color||"blue",dot:{fill:C.color||"blue",stroke:C.color||"blue"},radius:4,name:C.name,isAnimationActive:!Ee,animationDuration:1500,animationBegin:0,stackId:r.chartType==="bar"&&l?"stack":void 0},`${C.key}-${l?"stacked":"unstacked"}`)),b.refAreaLeft&&b.refAreaRight&&b.refAreaTop&&b.refAreaBottom&&jsx(ReferenceArea,{x1:b.refAreaLeft,x2:b.refAreaRight,y1:b.refAreaTop,y2:b.refAreaBottom,strokeOpacity:.2,stroke:"currentColor",fill:"currentColor",fillOpacity:.02,style:{pointerEvents:"none"}})]})}),k.x[0]!==null&&jsx("button",{onClick:y.onResetZoom,className:x||"text-sm text-gray-500 hover:text-gray-700 mt-2 px-3 py-1 border rounded hover:bg-gray-50",children:"Reset Zoom"})]})}function lt(t){return jsx(St,{fallback:jsx("div",{className:t.errorClassName||"text-red-500",children:"Failed to load chart"}),children:jsx(Rs,{...t})})}function It(t){return jsx(lt,{...t,ChartComponent:BarChart,PointComponent:Bar})}function Ft(t){return jsx(lt,{...t,ChartComponent:LineChart,PointComponent:Line})}var Js=(t,e,n)=>{let o=parseInt(t.slice(1,3),16)/255,r=parseInt(t.slice(3,5),16)/255,s=parseInt(t.slice(5,7),16)/255,a=Math.max(o,r,s),i=Math.min(o,r,s),c,l,u=(a+i)/2;if(a===i)c=l=0;else {let f=a-i;switch(l=u>.5?f/(2-a-i):f/(a+i),a){case o:c=(r-s)/f+(r<s?6:0);break;case r:c=(s-o)/f+2;break;case s:c=(o-r)/f+4;break;default:c=0;}c/=6;}let p=e/n,d=c*360+(p*40-20),m=Math.min(100,l*100+p*25),g=Math.max(35,Math.min(65,u*100-p*20));return `hsl(${d}, ${m}%, ${g}%)`};function Gs({title:t,subtitle:e,data:n,displayConfig:o,dataConfig:r,className:s,chartContainerClassName:a}){let i=r.series[0]?.color||"blue",c=r.yAxes[0]?.format,l=r.yAxes[0]?.type||"number",u=useMemo(()=>n.reduce((p,d)=>(r.series.forEach(m=>{let g=m.key,f=String(d[r.xAxis.key]||"Unknown"),x=parseFloat(d[g]||"0");isNaN(x)||p.push({name:f,value:x,seriesId:g,displayName:f});}),p),[]).sort((p,d)=>d.value-p.value),[n,r.series,r.xAxis.key]);return jsxs("div",{className:s||"items-center",children:[jsx("h2",{className:"text-center text-base mb-2",children:t}),e&&jsx("p",{className:"text-center text-sm text-muted-foreground mb-2",children:e}),jsx(me,{config:o,className:a||"w-full border border-border/50 rounded-md",children:jsxs(PieChart,{width:400,height:400,children:[jsx(Pie,{data:u,dataKey:"value",nameKey:"displayName",cx:"50%",cy:"50%",outerRadius:150,label:p=>`${p.displayName}: ${it(p.value,c,l)}`,children:u.map((p,d)=>jsx(Cell,{fill:d===0?i:Js(i,d,u.length)},`cell-${p.name}`))}),jsx(Tooltip,{formatter:(p,d)=>[it(p,c,l),d]}),jsx(Legend,{})]})})]})}function Jt(t){return jsx(St,{fallback:jsx("div",{className:"text-red-500",children:"Failed to load chart"}),children:jsx(Gs,{...t})})}function Gt(t){return jsx(lt,{...t,ChartComponent:ScatterChart,PointComponent:Scatter})}var Qs=t=>{let{cx:e,cy:n,payload:o,xAxis:r,yAxis:s}=t,a=o.value||o.z||0,c=`hsl(${240-Math.min(1,Math.max(0,a/100))*240}, 70%, 50%)`,l=r.scale.bandwidth?r.scale.bandwidth():20,u=s.scale.bandwidth?s.scale.bandwidth():20;return jsx("rect",{x:e-l/2,y:n-u/2,width:l,height:u,fill:c,fillOpacity:.8,stroke:"#fff",strokeWidth:1})},Zs=t=>jsx(Scatter,{...t,shape:Qs});function Wt(t){return jsx(lt,{...t,ChartComponent:ScatterChart,PointComponent:Zs})}var ft=new Map;function Vn(t,e,n,o){return `${t}|${e}|${n??""}|${o??""}`}function Nt(t){return `${t.datasetSlug}::${t.sqlQuery||""}::${t.resourceKey||""}`}async function Mr(t,e,n,o,r){if(t.dataFetcher)return t.dataFetcher.fetchDatasetContents(e,n,o,r);let s=new URLSearchParams({limit:"1000"});o&&s.set("query",o),r&&s.set("resource_key",r);let a=`${t.baseUrl}/datasets/${encodeURIComponent(e)}/query?${s.toString()}`,i={"Content-Type":"application/json"},c=t.token||t.authToken;c&&(i.Authorization=`Bearer ${c}`);let l=await fetch(a,{headers:i});if(!l.ok)throw new Error(`Failed to fetch dataset contents: ${l.statusText}`);let u=await l.json();return !u.Columns||!u.Rows||u.Columns.length===0?[]:u.Rows.map(p=>{let d={};return u.Columns.forEach((m,g)=>{d[m]=p[g];}),d})}function Pe(t,e,n,o){let r=Lt(),s=!!t&&!!e,a=Vn(t,e,n,o),i=s?ft.get(a):void 0,[c,l]=useState(i),[u,p]=useState(s&&!i),[d,m]=useState(null),[g,f]=useState(0),x=useDeepCompareMemo(()=>r,[r]);useEffect(()=>{if(!s){l(void 0),p(false),m(null);return}if(ft.has(a)&&g===0){l(ft.get(a)),p(false),m(null);return}let k=false;return p(true),m(null),Mr(x,t,e,n,o).then(y=>{k||(ft.set(a,y),l(y),p(false));}).catch(y=>{k||(m(y instanceof Error?y:new Error(String(y))),p(false));}),()=>{k=true;}},[x,t,e,n,o,s,g,a]);let b=useCallback(()=>f(k=>k+1),[]);return {data:c,isLoading:u,error:d,refetch:b}}function ge(t,e){let n=H(),[o,r]=useState(0),s=useCallback(()=>r(d=>d+1),[]),a=useMemo(()=>{let d=new Set;return t.filter(m=>{let g=Nt(m);return d.has(g)?false:(d.add(g),true)})},[t]),i=useMemo(()=>a.map(Nt).join("|"),[a]),c=useMemo(()=>a.map(d=>Vn(d.datasetSlug,e,d.sqlQuery,d.resourceKey)),[a,e]),[l,u]=useState(()=>{if(!n||!e||a.length===0)return new Map;let d=new Map;return a.forEach((m,g)=>{let f=ft.get(c[g]);d.set(Nt(m),{data:f,isLoading:!f,error:null,refetch:s});}),d}),p=useDeepCompareMemo(()=>n,[n]);return useEffect(()=>{if(!p||!e||a.length===0){u(new Map);return}let d=a.filter((f,x)=>o>0?true:!ft.has(c[x]));if(d.length===0){let f=new Map;a.forEach((x,b)=>{f.set(Nt(x),{data:ft.get(c[b]),isLoading:false,error:null,refetch:s});}),u(f);return}let m=false,g=new Map;return a.forEach((f,x)=>{let b=ft.get(c[x]);g.set(Nt(f),{data:b,isLoading:!b,error:null,refetch:s});}),u(g),d.forEach(f=>{let x=Nt(f),b=Vn(f.datasetSlug,e,f.sqlQuery,f.resourceKey);Mr(p,f.datasetSlug,e,f.sqlQuery,f.resourceKey).then(k=>{m||(ft.set(b,k),u(y=>{let h=new Map(y);return h.set(x,{data:k,isLoading:false,error:null,refetch:s}),h}));}).catch(k=>{m||u(y=>{let h=new Map(y);return h.set(x,{data:void 0,isLoading:false,error:k instanceof Error?k:new Error(String(k)),refetch:s}),h});});}),()=>{m=true;}},[p,i,e,o,c.join(","),s]),t.map(d=>{let m=Nt(d);return l.get(m)||{data:void 0,isLoading:!(!p||!e),error:null,refetch:s}})}function Vr(t,e,n,o){let r=t.map(s=>({datasetSlug:s,sqlQuery:n?.[s],resourceKey:o?.[s]}));return ge(r,e)}function $r(t){return t.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`).replace(/^_/,"")}function zt(t,e){if(!t.length)return e;let n=t[0];if(n[e]!==void 0)return e;let o=e.toLowerCase();if(n[o]!==void 0)return o;let r=$r(e);if(n[r]!==void 0)return r;let s=e.toLowerCase().replace(/_/g,"");return Object.keys(n).find(i=>i.toLowerCase().replace(/_/g,"")===s)||e}function sa(){return ["yyyy-MM-dd","yyyyMMdd","yyyy-MM-dd'T'HH:mm:ss","yyyyMMddHHmmss"]}function aa(t){if(!t)return null;if(typeof t=="string"){if(/^\d{4}-\d{2}-\d{2}$/.test(t)){let r=new Date(t+"T00:00:00.000Z");if(isValid(r))return r.getTime()}let o=sa();for(let r of o){let s=parse(t,r,new Date);if(isValid(s))return s.getTime()}}let e=new Date(t);return isValid(e)?e.getTime():null}function Oe(t,e,n,o){let r=e==="index"&&t[e]===void 0?o:t[e];return n==="date"?aa(r):n==="number"?parseFloat(r):r}function ia(t,e,n){if(t===e.key)return e.type||"category";let o=n.find(r=>r.key===t);return o?o.type||"number":"category"}function ye(t,e,n,o){return !o||o.length===0?t:[...t].sort((r,s)=>{for(let a of o){let i=ia(a.key,e,n),c=Oe(r,a.key,i,r.index),l=Oe(s,a.key,i,s.index);if(c===l)continue;let u=typeof c=="number"&&typeof l=="number"?c-l:c instanceof Date&&l instanceof Date?c.getTime()-l.getTime():String(c).localeCompare(String(l));return a.direction==="asc"?u:-u}return 0})}function Lr(t,e){let n=Math.ceil(t.length/e),o=[t[0]];for(let r=n;r<t.length-1;r+=n)o.push(t[r]);return o[o.length-1]!==t[t.length-1]&&o.push(t[t.length-1]),o}function la(t,e,n,o,r,s,a){let i=t.reduce((u,p)=>{let d=p[e];return u[d]||(u[d]=[]),u[d].push(p),u},{}),c=Object.entries(i);if(c.length>o){let u=Math.ceil(c.length/o),p=c.reduce((d,[m,g],f)=>{let x=Math.floor(f/u);return d[x]||(d[x]={key:m,items:[]}),d[x].items.push(...g),d},[]).map(({key:d,items:m})=>({[e]:d,...n.reduce((g,f)=>{let x=m.map(b=>parseFloat(b[f.key])).filter(b=>!isNaN(b));return g[f.key]=x.length?x.reduce((b,k)=>b+k,0)/x.length:null,g},{})}));return a&&a.length>0?ye(p,r,s,a):p}let l=c.map(([u,p])=>{let d=n.reduce((g,f)=>{let x=p.map(b=>parseFloat(b[f.key])).filter(b=>!isNaN(b));return g[f.key]=x.length?x.reduce((b,k)=>b+k,0)/x.length:null,g},{}),m=Object.values(d).filter(g=>g!==null).reduce((g,f)=>g+f,0);return {[e]:u,...d,index:m}});return a&&a.length>0?ye(l,r,s,a):l}function ca(t,e,n,o){let r=t.map(l=>parseFloat(l[e])).filter(l=>!isNaN(l)),s=Math.min(...r),i=(Math.max(...r)-s)/o,c=Array.from({length:o},(l,u)=>({binStart:s+u*i,binEnd:s+(u+1)*i,count:0,seriesValues:n.reduce((p,d)=>(p[d.key]=[],p),{})}));return t.forEach(l=>{let u=parseFloat(l[e]);if(isNaN(u))return;let p=Math.min(Math.floor((u-s)/i),o-1);c[p].count++,n.forEach(d=>{let m=parseFloat(l[d.key]);isNaN(m)||c[p].seriesValues[d.key].push(m);});}),c.map(l=>({[e]:(l.binStart+l.binEnd)/2,...n.reduce((u,p)=>{let d=l.seriesValues[p.key];return u[p.key]=d.length?d.reduce((m,g)=>m+g,0)/d.length:null,u},{}),count:l.count,index:n.reduce((u,p)=>{let d=l.seriesValues[p.key],m=d.length?d.reduce((g,f)=>g+f,0)/d.length:0;return u+m},0)})).filter(l=>n.some(u=>l[u.key]!==null))}function jr(t,e,n,o,r){let s=t.map((m,g)=>{let f=Oe(m,e,r.type||"number",g);return typeof f=="number"?f:parseFloat(f)}).filter(m=>!isNaN(m)),a=Math.min(...s),l=(Math.max(...s)-a)/o,u=Array.from({length:o},(m,g)=>({binStart:Number((a+g*l).toFixed(2)),binEnd:Number((a+(g+1)*l).toFixed(2)),frequency:0,[e]:Number((a+(g+.5)*l).toFixed(2))}));s.forEach(m=>{let g=Math.min(Math.floor((m-a)/l),o-1);u[g].frequency++;});let p=u.filter(m=>m.frequency>0);return (u.length-p.length)/u.length*100>30?jr(t,e,n,Math.floor(o/2),r):p}function ua(t,e,n,o){return !e||e.length===0?t:t.filter(r=>e.every(s=>{let a=s.key;n&&s.key.toLowerCase()===n.toLowerCase()?a=n:o&&s.key.toLowerCase()===o.toLowerCase()&&(a=o);let i=r[a],c=Array.isArray(s.value)?s.value:[s.value];switch(s.operator){case "equals":return c.some(l=>String(i)===String(l));case "not_equals":return c.every(l=>String(i)!==String(l));case "greater_than":return parseFloat(String(i))>parseFloat(String(c[0]));case "less_than":return parseFloat(String(i))<parseFloat(String(c[0]));case "contains":return String(i).toLowerCase().includes(String(c[0]).toLowerCase());case "between":if(c.length===2){let l=parseFloat(String(i)),u=parseFloat(String(c[0])),p=parseFloat(String(c[1]));return l>=u&&l<=p}return true;default:return true}}))}var Me=ht__default.memo(function({chartType:e,title:n,invocationId:o,datasetSlugs:r,xAxis:s,yAxes:a,series:i,dataReduction:c={strategy:"none",target_points:1e3},stacked:l,sort:u,onScrollUpdate:p,enableDownload:d=true,className:m,chartContainerClassName:g}){let f=useMemo(()=>i.map(w=>({datasetSlug:w.datasetSlug,sqlQuery:w.sqlQuery,resourceKey:w.resourceKey})),[i]),x=ge(f,o),b=x.some(w=>w.isLoading),k=useDeepCompareMemo(()=>x.map(w=>w.data||[]),[x.map(w=>w.data)]),{resolvedXAxisKey:y,resolvedSeriesKeys:h}=useMemo(()=>{let w=k.find(E=>E.length>0)||[];return {resolvedXAxisKey:zt(w,s.key),resolvedSeriesKeys:i.map((E,M)=>({...E,resolvedKey:zt(k[M]||[],E.key)}))}},[k,s.key,i]),S=useMemo(()=>{let w=new Map;i.forEach((M,K)=>{let Y=k[K]||[],W=h[K]?.resolvedKey||M.key;(M.filters?ua(Y,M.filters,W,y):Y).forEach((Te,Ee)=>{let C=Oe(Te,y,s.type||"category",Ee);if(C==null||s.type==="number"&&isNaN(C))return;let N=s.type==="number"||s.type==="date"||typeof C=="object"?C.toString():String(C);w.has(N)||w.set(N,{[s.key]:C});let V=`series_${K}_${M.key}`,A=Te[W];w.get(N)[V]=A;});});let E=Array.from(w.values());return u&&u.length>0?E:s.type==="date"?E.sort((M,K)=>M[s.key]-K[s.key]):s.type==="number"?E.sort((M,K)=>{let Y=parseFloat(M[s.key]),W=parseFloat(K[s.key]);return isNaN(Y)||isNaN(W)?0:Y-W}):E},[k,i,h,y,s,u]),_=useMemo(()=>i.map((w,E)=>({...w,key:`series_${E}_${w.key}`})),[i]),v=useMemo(()=>({[s.key]:{label:s.label,format:s.format,type:s.type},..._.reduce((w,E)=>(w[E.key]={label:E.name,color:E.color},w),{}),...e==="histogram"?{frequency:{label:a[0]?.label||"Frequency",color:_[0]?.color||"#2563eb"}}:{}}),[s,_,e,a]),I=useMemo(()=>!s.key||!_.length?null:{chartType:e,xAxis:s,yAxes:e==="histogram"?a.map(w=>({...w,key:"frequency",minValue:w.minValue||"0"})):a,series:e==="histogram"?[{key:"frequency",name:a[0]?.label||"Frequency",color:i[0]?.color||"#2563eb"}]:_},[s,a,i,_,e]),j=null;switch(e){case "bar":j=It;break;case "line":j=Ft;break;case "pie":j=Jt;break;case "scatter":j=Gt;break;case "histogram":j=It;break;case "heatmap":j=Wt;break}let Z=useRef(false);useEffect(()=>{Z.current||!p||!b&&v&&I&&S.length&&(p(),setTimeout(()=>p(),250),Z.current=true);},[p,b,v,I,S.length]);let[B,J]=useState({x:[null,null],y:[null,null]}),{processedData:G,dataReductionInfo:Nn}=useMemo(()=>{if(b||!S.length)return {processedData:[],dataReductionInfo:null};if(e==="histogram"){let Y=c.target_points||20;return {processedData:jr(S,y,_,Y,s),dataReductionInfo:null}}let w=S;if((B.x[0]!==null||B.y[0]!==null)&&(w=S.filter(Y=>{if(B.x[0]!==null&&B.x[1]!==null){let W=parseFloat(Y[s.key]);if(isNaN(W)||W<B.x[0]||W>B.x[1])return false}if(B.y[0]!==null&&B.y[1]!==null)for(let W of _){let $t=parseFloat(Y[W.key]);if(!isNaN($t)&&($t<B.y[0]||$t>B.y[1]))return false}return true})),w.length<=c.target_points&&(!u||u.length===0))return {processedData:w,dataReductionInfo:null};let E,M="";switch(c.strategy){case "sample":E=Lr(w,c.target_points),M="sampled",u&&u.length>0&&(E=ye(E,s,a,u));break;case "aggregate":E=la(w,y,_,c.target_points,s,a,u),M="aggregated";break;case "bin":E=ca(w,y,_,c.target_points),M="binning",u&&u.length>0&&(E=ye(E,s,a,u));break;default:w.length<1e3?E=w:(E=Lr(w,c.target_points),M="sampled"),u&&u.length>0&&(E=ye(E,s,a,u));}let K=null;return w.length!==E.length&&(K=`${M} ${w.length.toLocaleString()} \u2192 ${E.length.toLocaleString()} points`),{processedData:E,dataReductionInfo:K}},[S,c,e,b,B.x,B.y,_,u,s,a,y]);return j?b?jsx("div",{children:"Loading..."}):S.length?I?jsx(j,{data:G,displayConfig:v,stacked:l,dataConfig:I,title:n,subtitle:Nn||void 0,disableAnimation:G.length>100,onZoomChange:J,enableDownload:d,className:m,chartContainerClassName:g}):jsx("div",{children:"Invalid chart configuration"}):jsx("div",{children:"Unable to display chart - no data available"}):(console.error("No chart component found"),null)},(t,e)=>Ys(t,e));function Ve({title:t,invocationId:e,datasetSlug:n,sqlQuery:o,resourceKey:r,columns:s,maxRows:a=100,className:i,tableWrapperClassName:c,headerClassName:l,loadingClassName:u,emptyClassName:p,onScrollUpdate:d}){let{data:m,isLoading:g}=Pe(n,e,o,r),f=useMemo(()=>s?m?.length?s.map(k=>{let y=zt(m,k.key);return {key:k.key,name:k.name,resolvedKey:y,format:k.format,value_type:k.value_type}}):[]:m?.length?Object.keys(m[0]).map(k=>({key:k,name:k,resolvedKey:k,format:void 0,value_type:void 0})):[],[s,m]),x=useMemo(()=>!m||m.length===0?[]:a?m.slice(0,a):m,[m,a]),b=useRef(false);return useEffect(()=>{b.current||!d||!g&&m?.length&&(d(),setTimeout(()=>d(),250),b.current=true);},[d,g,m?.length]),g?jsx("div",{className:u||"text-gray-500",children:"Loading..."}):m?.length?f.length===0?jsx("div",{className:p||"text-gray-500",children:"No columns defined"}):jsxs("div",{className:i||"w-full",children:[t&&jsx("h3",{className:"text-lg font-medium mb-3",children:t}),jsx("div",{className:c||"relative w-full overflow-x-auto rounded-lg border border-border/50",children:jsxs("table",{className:"w-full caption-bottom text-sm",children:[jsx("thead",{className:"[&_tr]:border-b",children:jsx("tr",{className:l||"border-b transition-colors",children:f.map(k=>jsx("th",{className:"h-10 px-3 text-left align-middle font-medium text-muted-foreground",children:k.name},k.key))})}),jsx("tbody",{className:"[&_tr:last-child]:border-0",children:x.map((k,y)=>jsx("tr",{className:`border-b transition-colors hover:bg-muted/50 ${y%2===1?"bg-muted/30":""}`,children:f.map(h=>jsx("td",{className:"p-3 align-middle text-foreground",children:it(k[h.resolvedKey],h.format,h.value_type)},h.key))},y))})]})}),m.length>a&&jsxs("p",{className:"text-sm text-muted-foreground mt-2",children:["Showing ",a," of ",m.length," rows"]})]}):jsx("div",{className:p||"text-gray-500",children:"No data"})}function $e({output:t,ContentComponent:e}){let n=H(),o=e??n?.ContentComponent,r=t?.contents;if(!t||!t.output||!r?.length)return null;let s=r.filter(a=>a.user_visibility==="visible");return s.length?jsx("div",{children:s.map(a=>o?jsx(o,{content:a},a.id):jsx("div",{className:"text-sm",children:typeof a.content=="string"?a.content:null},a.id))},t.output.id):null}function Fr(t){return t!==null&&typeof t=="object"&&"Valid"in t&&"String"in t}function O(t){if(typeof t=="string")return t;if(Fr(t))return t.Valid?t.String:void 0}function ma(t,e){return O(t)??e}var Jr={v:"5.10.2",fr:60,ip:0,op:180,w:144,h:144,nm:"system-solid-719-spinner-circle",ddd:0,assets:[{id:"comp_6",nm:"loop-snake-alt",fr:60,layers:[{ddd:0,ind:1,ty:0,nm:"mask-2",td:1,refId:"comp_7",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[72,72,0],ix:2,l:2},a:{a:0,k:[72,72,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,w:144,h:144,ip:0,op:1800,st:0,bm:0},{ddd:0,ind:2,ty:4,nm:"circle 2",tt:2,tp:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[72,72,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[-30.652,0],[0,30.652],[30.652,0],[0,-30.652]],o:[[30.652,0],[0,-30.652],[-30.652,0],[0,30.652]],v:[[0,55.5],[55.5,0],[0,-55.5],[-55.5,0]],c:true},ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:false},{ty:"st",c:{a:0,k:[.071,.075,.192,1],ix:3,x:`var $bm_rt;
7
+ `)}}):null},Rn=Ut.Tooltip;function An({active:t,payload:e,className:n,indicator:o="dot",hideLabel:r=false,hideIndicator:s=false,label:a,labelFormatter:i,labelClassName:c,formatter:l,color:u,nameKey:d,labelKey:p}){let{config:m}=Ir(),g=ht.useMemo(()=>{if(r||!e?.length)return null;let[x]=e,b=`${p||x?.dataKey||x?.name||"value"}`,k=Dn(m,x,b),y=!p&&typeof a=="string"?m[a]?.label||a:k?.label;return i?jsx("div",{className:Q("font-medium",c),children:i(y,e)}):y?jsx("div",{className:Q("font-medium",c),children:y}):null},[a,i,e,r,c,m,p]);if(!t||!e?.length)return null;let f=e.length===1&&o!=="dot";return jsxs("div",{className:Q("border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl",n),children:[f?null:g,jsx("div",{className:"grid gap-1.5",children:e.map((x,b)=>{let k=`${d||x.name||x.dataKey||"value"}`,y=Dn(m,x,k),h=u||x.payload.fill||x.color;return jsx("div",{className:Q("[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5",o==="dot"&&"items-center"),children:l&&x?.value!==void 0&&x.name?l(x.value,x.name,x,b,x.payload):jsxs(Fragment,{children:[y?.icon?jsx(y.icon,{}):!s&&jsx("div",{className:Q("shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)",{"h-2.5 w-2.5":o==="dot","w-1":o==="line","w-0 border-[1.5px] border-dashed bg-transparent":o==="dashed","my-0.5":f&&o==="dashed"}),style:{"--color-bg":h,"--color-border":h}}),jsxs("div",{className:Q("flex flex-1 justify-between leading-none",f?"items-end":"items-center"),children:[jsxs("div",{className:"grid gap-1.5",children:[f?g:null,jsx("span",{className:"text-muted-foreground",children:y?.label||x.name})]}),x.value&&jsx("span",{className:"text-foreground font-mono font-medium tabular-nums",children:x.value.toLocaleString()})]})]})},x.dataKey)})})]})}var Pn=Ut.Legend;function Bn({className:t,hideIcon:e=false,payload:n,verticalAlign:o="bottom",nameKey:r}){let{config:s}=Ir();return n?.length?jsx("div",{className:Q("flex items-center justify-center gap-4",o==="top"?"pb-3":"pt-3",t),children:n.map(a=>{let i=`${r||a.dataKey||"value"}`,c=Dn(s,a,i);return jsxs("div",{className:Q("[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3"),children:[c?.icon&&!e?jsx(c.icon,{}):jsx("div",{className:"h-2 w-2 shrink-0 rounded-[2px]",style:{backgroundColor:a.color}}),c?.label]},a.value)})}):null}function Dn(t,e,n){if(typeof e!="object"||e===null)return;let o="payload"in e&&typeof e.payload=="object"&&e.payload!==null?e.payload:void 0,r=n;return n in e&&typeof e[n]=="string"?r=e[n]:o&&n in o&&typeof o[n]=="string"&&(r=o[n]),r in t?t[r]:t[n]}function it(t,e,n){if(t==null)return "";if(n==="date"){let o=Tr(t);if(o&&e)try{let r=e;e==="%Y%m%d"?r="%Y-%m-%d":e==="%d%m%Y"?r="%d-%m-%Y":e==="%m%d%Y"&&(r="%m-%d-%Y");let s=r.match(/%./g)||[],a="aAbBcdejHILmMpSUwWxXyYZ%";return s.some(l=>{let u=l.charAt(1);return !a.includes(u)})||s.length===0?(console.warn(`Invalid date format directives in: ${e}. Using default format.`),o.toISOString().split("T")[0]):utcFormat(r)(o)}catch(r){return console.warn(`Invalid date format: ${e}. Error: ${r}. Falling back to default.`),o.toISOString().split("T")[0]}if(o){let r=o.toISOString();return r.endsWith("T00:00:00.000Z")?r.split("T")[0]:o.toISOString().replace("T"," ").replace(".000Z"," UTC")}return String(t)}if(n==="number"){let o=typeof t=="string"?parseFloat(t.replace(/,/g,"")):t;if(isNaN(o))return String(t);let r=e;if(e&&(r=e.replace(/(\.\d+)f%/,"$1%")),!r)return Math.abs(o)>=1e3?format(",.0f")(o):Math.abs(o)>=100?format(".1f")(o):Math.abs(o)>=10?format(".2f")(o):Math.abs(o)>=1?format(".3f")(o):format(".3g")(o);if(r.includes("%"))return o>=0&&o<=1?format(r)(o):format(r)(o/100);try{return format(r)(o)}catch(s){return console.warn(`Error formatting number with format '${r}': ${s}. Falling back to default.`),Math.abs(o)>=1e3?format(",.0f")(o):Math.abs(o)>=1?format(".2f")(o):format(".3g")(o)}}return String(t)}function Tr(t){if(!t)return null;if(t instanceof Date)return isValid(t)?t:null;if(typeof t=="number"){let n=new Date(t);return isValid(n)?n:null}if(typeof t=="string"){if(/^\d{4}-\d{2}-\d{2}$/.test(t)){let r=new Date(t+"T00:00:00.000Z");if(isValid(r))return r}let o=["yyyy-MM-dd","yyyyMMdd","yyyy-MM-dd'T'HH:mm:ss","yyyyMMddHHmmss","MM/dd/yyyy","dd/MM/yyyy"];for(let r of o){let s=parse(t,r,new Date);if(isValid(s))return s}}let e=new Date(t);return isValid(e)?e:null}function Ae({onZoomChange:t}={}){let[e,n]=useState({refAreaLeft:null,refAreaRight:null,refAreaTop:null,refAreaBottom:null,zooming:false}),[o,r]=useState({x:[null,null],y:[null,null]}),s=useCallback(u=>{!u?.xValue||!u?.yValue||n(d=>({...d,refAreaLeft:u.xValue,refAreaTop:u.yValue,zooming:true}));},[]),a=useCallback(u=>{!u?.xValue||!u?.yValue||!e.zooming||n(d=>({...d,refAreaRight:u.xValue,refAreaBottom:u.yValue}));},[e.zooming]),i=useCallback(()=>{if(!e.refAreaLeft||!e.refAreaRight||!e.refAreaTop||!e.refAreaBottom){n({refAreaLeft:null,refAreaRight:null,refAreaTop:null,refAreaBottom:null,zooming:false});return}let[u,d]=[Math.min(e.refAreaLeft,e.refAreaRight),Math.max(e.refAreaLeft,e.refAreaRight)],[p,m]=[Math.min(e.refAreaTop,e.refAreaBottom),Math.max(e.refAreaTop,e.refAreaBottom)],g={x:[u,d],y:[p,m]};r(g),t?.(g),n({refAreaLeft:null,refAreaRight:null,refAreaTop:null,refAreaBottom:null,zooming:false});},[e,t]),c=useCallback(()=>{let u={x:[null,null],y:[null,null]};r(u),t?.(u);},[t]),l=useMemo(()=>({onZoomStart:s,onZoomMove:a,onZoomEnd:i,onResetZoom:c}),[s,a,i,c]);return {zoomState:e,customDomain:o,handlers:l}}function Rr(t){let e={max:null,min:null};if(t.maxValue)if(t.type==="number"){let n=parseFloat(t.maxValue);isNaN(n)?console.warn(`Error parsing max value ${t.maxValue}. Falling back to default.`):e.max=n;}else t.type==="date"?typeof t.maxValue=="string"&&/^\d{4}-\d{2}-\d{2}$/.test(t.maxValue)?e.max=new Date(t.maxValue+"T00:00:00.000Z").getTime():e.max=new Date(t.maxValue).getTime():e.max=t.maxValue;if(t.minValue)if(t.type==="number"){let n=parseFloat(t.minValue);isNaN(n)?console.warn(`Error parsing min value ${t.minValue}. Falling back to default.`):e.min=n;}else t.type==="date"?typeof t.minValue=="string"&&/^\d{4}-\d{2}-\d{2}$/.test(t.minValue)?e.min=new Date(t.minValue+"T00:00:00.000Z").getTime():e.min=new Date(t.minValue).getTime():e.min=t.minValue;return e}function wt(t,e,n){return it(t,e,n)}function Ds({title:t,subtitle:e,data:n,displayConfig:o,dataConfig:r,ChartComponent:s,PointComponent:a,disableAnimation:i,onZoomChange:c,stacked:l,enableDownload:u=true,onDownloadSuccess:d,onDownloadError:p,className:m,chartContainerClassName:g,downloadButtonClassName:f,resetZoomButtonClassName:x}){let{zoomState:b,customDomain:k,handlers:y}=Ae({onZoomChange:c}),h=useCallback(C=>{let N=`${(t||"chart").toLowerCase().replace(/\s+/g,"-")}.png`,V=document.createElement("a");V.download=N,V.href=C,V.click(),d?.(N);},[t,d]),S=useCallback(C=>{console.error("Error converting chart to image:",C),p?.(C);},[p]),[{isLoading:_},v,I]=useToPng({onSuccess:h,onError:S}),U=useCallback(async()=>{v();},[v]),Z=useMemo(()=>Rr(r.xAxis),[r.xAxis]),B=useMemo(()=>r.yAxes.map(C=>Rr(C)),[r.yAxes]),J=useMemo(()=>n?r.chartType==="histogram"?n.map(C=>({[r.xAxis.key]:(C.binStart+C.binEnd)/2,frequency:C.frequency,binStart:C.binStart,binEnd:C.binEnd})):r.xAxis.type==="number"?n.filter(C=>!isNaN(C[r.xAxis.key])):r.xAxis.type==="date"?n.filter(C=>!isNaN(C[r.xAxis.key])):n:[],[n,r.xAxis.key,r.chartType,r.xAxis.type]),G=useMemo(()=>{if(r.xAxis.type==="category"||!J.length)return;let C=J.map(N=>Number(N[r.xAxis.key])).filter(N=>!isNaN(N));return [...new Set(C)].sort((N,V)=>N-V)},[J,r.xAxis.key,r.xAxis.type]),Nn=useMemo(()=>{if(!G||G.length<2)return;let N=(G[G.length-1]-G[0])*.05;return [G[0]-N,G[G.length-1]+N]},[G]),w=useCallback((C,N)=>{if(!C?.length)return {min:null,max:null};let V=C.map(A=>Number(A[N])).filter(A=>!isNaN(A));return {min:Math.min(...V),max:Math.max(...V)}},[]),E=useMemo(()=>({x:k.x[0]!==null&&k.x[1]!==null?[k.x[0],k.x[1]]:(()=>{if(Z.min!==null&&Z.max!==null)return [Z.min,Z.max];let C=w(J,r.xAxis.key);return [C.min??"auto",C.max??"auto"]})(),y:r.yAxes.map((C,N)=>{if(k.y[0]!==null&&k.y[1]!==null)return [k.y[0],k.y[1]];let A=r.series.filter(X=>(X.axisIndex||0)===N).reduce((X,Tn)=>{let mt=w(J,Tn.key);return {min:X.min===null?mt.min:mt.min===null?X.min:Math.min(X.min,mt.min),max:X.max===null?mt.max:mt.max===null?X.max:Math.max(X.max,mt.max)}},{min:null,max:null});if(C.type==="number"&&C.maxValue){let X=parseFloat(C.maxValue);if(A.max===null||X<=A.max*1.5)return [B[N].min??A.min??"auto",B[N].max??A.max??"auto"]}return [B[N].min??A.min??"auto",B[N].max??A.max??"auto"]})}),[k.x,k.y,Z,B,r.series,r.yAxes,r.xAxis.key,J,w]),M=useCallback((C,N,V)=>{if(V.dataKey===r.xAxis.key)return wt(C,r.xAxis.format,r.xAxis.type);let A=r.series.find(me=>me.key===V.dataKey),X=A?.name||String(N).replace(/^dataset_\d+_/,"");if(r.chartType==="histogram"){let me=V.payload;if(me.binStart!==void 0){let us=wt(me.binStart,r.xAxis.format,r.xAxis.type),ds=wt(me.binEnd,r.xAxis.format,r.xAxis.type);return `Count: ${C} (${us} - ${ds})`}}let Tn=A?.axisIndex||0,mt=r.yAxes[Tn],cs=wt(C,mt?.format,mt?.type);return `${X}: ${cs}`},[r.xAxis,r.series,r.yAxes,r.chartType]),[K,Y]=useState(false);useEffect(()=>{let C=setTimeout(()=>{Y(true);},1700);return ()=>clearTimeout(C)},[]);let W=useCallback((C,N)=>{if(N&&N.length>0){let V=N[0].payload[r.xAxis.key],A=wt(V,r.xAxis.format,r.xAxis.type);return jsxs("div",{className:"flex flex-col",children:[jsx("span",{children:r.xAxis.label}),jsx("span",{className:"font-mono tabular-nums",children:A})]})}return C},[r.xAxis.key,r.xAxis.format,r.xAxis.type,r.xAxis.label]),$t=useCallback(C=>jsx(An,{...C,formatter:M,labelFormatter:W}),[M,W]),Ee=useCallback(C=>jsx(Bn,{...C}),[]),De=useMemo(()=>!!(i||(n?.length||0)>100||K),[i,n?.length,K]);return jsxs("div",{className:m||"w-full items-center mt-0 flex flex-col gap-0",children:[(t||u)&&jsxs("div",{className:"w-full items-center mb-2 relative",children:[t&&jsx("h2",{className:"text-center text-base pt-0 mt-0 mb-2",children:t}),u&&jsx("button",{onClick:U,disabled:_,className:f||"text-sm text-gray-500 hover:text-gray-700 disabled:opacity-50 h-8 absolute right-0 top-[-5px] px-2 py-1 border rounded hover:bg-gray-50",title:"Download chart as PNG",children:jsx(Download,{className:"w-4 h-4"})})]}),e&&jsx("p",{className:"text-center text-sm text-muted-foreground mb-2",children:e}),jsx(fe,{ref:I,config:o,className:g||"w-full border border-border/50 p-4 rounded-md",debounceResize:true,children:jsxs(s,{accessibilityLayer:true,data:J,isAnimationActive:!De,onMouseDown:y.onZoomStart,onMouseMove:y.onZoomMove,onMouseUp:y.onZoomEnd,onDoubleClick:y.onResetZoom,style:{userSelect:"none",cursor:"crosshair"},children:[jsx(CartesianGrid,{vertical:false}),jsx(XAxis,{dataKey:r.xAxis.key,domain:Nn||E.x,type:r.xAxis.type==="date"||!r.xAxis.type?"number":r.xAxis.type,tickFormatter:C=>{let N=wt(C,r.xAxis.format,r.xAxis.type);return typeof N=="string"&&N.length>20?N.slice(0,20)+"...":N},tickLine:false,tickMargin:10,height:J.length>15?140:50,axisLine:false,allowDataOverflow:true,interval:J.length<=40?0:void 0,ticks:G,...J.length>15?{angle:-45,textAnchor:"end"}:{},children:jsx(Label,{value:r.xAxis.label,position:"bottom",offset:J.length>15?-5:-10,style:{textAnchor:"middle"}})}),r.yAxes.map((C,N)=>jsx(YAxis,{yAxisId:N,orientation:N===0?"left":"right",domain:l?void 0:E.y[N],type:C.type==="date"||!C.type?"number":C.type,tickFormatter:V=>{let A=wt(V,C.format,C.type);return typeof A=="string"&&A.length>20?A.slice(0,20)+"...":A},allowDataOverflow:true,children:jsx(Label,{value:C.label,position:N===0?"insideLeft":"insideRight",angle:-90,style:{textAnchor:"middle"}})},`y-axis-${C.key}`)),jsx(Rn,{content:$t}),jsx(Pn,{content:Ee,verticalAlign:"top"}),r.series.map(C=>jsx(a,{dataKey:C.key,yAxisId:C.axisIndex||0,fill:C.color||"blue",stroke:C.color||"blue",dot:{fill:C.color||"blue",stroke:C.color||"blue"},radius:4,name:C.name,isAnimationActive:!De,animationDuration:1500,animationBegin:0,stackId:r.chartType==="bar"&&l?"stack":void 0},`${C.key}-${l?"stacked":"unstacked"}`)),b.refAreaLeft&&b.refAreaRight&&b.refAreaTop&&b.refAreaBottom&&jsx(ReferenceArea,{x1:b.refAreaLeft,x2:b.refAreaRight,y1:b.refAreaTop,y2:b.refAreaBottom,strokeOpacity:.2,stroke:"currentColor",fill:"currentColor",fillOpacity:.02,style:{pointerEvents:"none"}})]})}),k.x[0]!==null&&jsx("button",{onClick:y.onResetZoom,className:x||"text-sm text-gray-500 hover:text-gray-700 mt-2 px-3 py-1 border rounded hover:bg-gray-50",children:"Reset Zoom"})]})}function lt(t){return jsx(St,{fallback:jsx("div",{className:t.errorClassName||"text-red-500",children:"Failed to load chart"}),children:jsx(Ds,{...t})})}function It(t){return jsx(lt,{...t,ChartComponent:BarChart,PointComponent:Bar})}function Ft(t){return jsx(lt,{...t,ChartComponent:LineChart,PointComponent:Line})}var Js=(t,e,n)=>{let o=parseInt(t.slice(1,3),16)/255,r=parseInt(t.slice(3,5),16)/255,s=parseInt(t.slice(5,7),16)/255,a=Math.max(o,r,s),i=Math.min(o,r,s),c,l,u=(a+i)/2;if(a===i)c=l=0;else {let f=a-i;switch(l=u>.5?f/(2-a-i):f/(a+i),a){case o:c=(r-s)/f+(r<s?6:0);break;case r:c=(s-o)/f+2;break;case s:c=(o-r)/f+4;break;default:c=0;}c/=6;}let d=e/n,p=c*360+(d*40-20),m=Math.min(100,l*100+d*25),g=Math.max(35,Math.min(65,u*100-d*20));return `hsl(${p}, ${m}%, ${g}%)`};function Gs({title:t,subtitle:e,data:n,displayConfig:o,dataConfig:r,className:s,chartContainerClassName:a}){let i=r.series[0]?.color||"blue",c=r.yAxes[0]?.format,l=r.yAxes[0]?.type||"number",u=useMemo(()=>n.reduce((d,p)=>(r.series.forEach(m=>{let g=m.key,f=String(p[r.xAxis.key]||"Unknown"),x=parseFloat(p[g]||"0");isNaN(x)||d.push({name:f,value:x,seriesId:g,displayName:f});}),d),[]).sort((d,p)=>p.value-d.value),[n,r.series,r.xAxis.key]);return jsxs("div",{className:s||"items-center",children:[jsx("h2",{className:"text-center text-base mb-2",children:t}),e&&jsx("p",{className:"text-center text-sm text-muted-foreground mb-2",children:e}),jsx(fe,{config:o,className:a||"w-full border border-border/50 rounded-md",children:jsxs(PieChart,{width:400,height:400,children:[jsx(Pie,{data:u,dataKey:"value",nameKey:"displayName",cx:"50%",cy:"50%",outerRadius:150,label:d=>`${d.displayName}: ${it(d.value,c,l)}`,children:u.map((d,p)=>jsx(Cell,{fill:p===0?i:Js(i,p,u.length)},`cell-${d.name}`))}),jsx(Tooltip,{formatter:(d,p)=>[it(d,c,l),p]}),jsx(Legend,{})]})})]})}function Jt(t){return jsx(St,{fallback:jsx("div",{className:"text-red-500",children:"Failed to load chart"}),children:jsx(Gs,{...t})})}function Gt(t){return jsx(lt,{...t,ChartComponent:ScatterChart,PointComponent:Scatter})}var Qs=t=>{let{cx:e,cy:n,payload:o,xAxis:r,yAxis:s}=t,a=o.value||o.z||0,c=`hsl(${240-Math.min(1,Math.max(0,a/100))*240}, 70%, 50%)`,l=r.scale.bandwidth?r.scale.bandwidth():20,u=s.scale.bandwidth?s.scale.bandwidth():20;return jsx("rect",{x:e-l/2,y:n-u/2,width:l,height:u,fill:c,fillOpacity:.8,stroke:"#fff",strokeWidth:1})},Zs=t=>jsx(Scatter,{...t,shape:Qs});function Wt(t){return jsx(lt,{...t,ChartComponent:ScatterChart,PointComponent:Zs})}var ft=new Map;function Vn(t,e,n,o,r){let s=r?.length?JSON.stringify(r):"";return `${t}|${e}|${n??""}|${o??""}|${s}`}function Nt(t){let e=t.filters?.length?JSON.stringify(t.filters):"";return `${t.datasetSlug}::${t.sqlQuery||""}::${t.resourceKey||""}::${e}`}async function Mr(t,e,n,o,r,s){if(t.dataFetcher)return t.dataFetcher.fetchDatasetContents(e,n,o,r,s);let a={limit:1e3};o&&(a.query=o),r&&(a.resource_key=r),s?.length&&(a.filters=s);let i=`${t.baseUrl}/datasets/${encodeURIComponent(e)}/query`,c={"Content-Type":"application/json"},l=t.token||t.authToken;l&&(c.Authorization=`Bearer ${l}`);let u=await fetch(i,{method:"POST",headers:c,body:JSON.stringify(a)});if(!u.ok)throw new Error(`Failed to fetch dataset contents: ${u.statusText}`);let d=await u.json();return !d.Columns||!d.Rows||d.Columns.length===0?[]:d.Rows.map(p=>{let m={};return d.Columns.forEach((g,f)=>{m[g]=p[f];}),m})}function Be(t,e,n,o){let r=Lt(),s=!!t&&!!e,a=Vn(t,e,n,o,void 0),i=s?ft.get(a):void 0,[c,l]=useState(i),[u,d]=useState(s&&!i),[p,m]=useState(null),[g,f]=useState(0),x=useDeepCompareMemo(()=>r,[r]);useEffect(()=>{if(!s){l(void 0),d(false),m(null);return}if(ft.has(a)&&g===0){l(ft.get(a)),d(false),m(null);return}let k=false;return d(true),m(null),Mr(x,t,e,n,o).then(y=>{k||(ft.set(a,y),l(y),d(false));}).catch(y=>{k||(m(y instanceof Error?y:new Error(String(y))),d(false));}),()=>{k=true;}},[x,t,e,n,o,s,g,a]);let b=useCallback(()=>f(k=>k+1),[]);return {data:c,isLoading:u,error:p,refetch:b}}function ye(t,e){let n=H(),[o,r]=useState(0),s=useCallback(()=>r(p=>p+1),[]),a=useMemo(()=>{let p=new Set;return t.filter(m=>{let g=Nt(m);return p.has(g)?false:(p.add(g),true)})},[t]),i=useMemo(()=>a.map(Nt).join("|"),[a]),c=useMemo(()=>a.map(p=>Vn(p.datasetSlug,e,p.sqlQuery,p.resourceKey,p.filters)),[a,e]),[l,u]=useState(()=>{if(!n||!e||a.length===0)return new Map;let p=new Map;return a.forEach((m,g)=>{let f=ft.get(c[g]);p.set(Nt(m),{data:f,isLoading:!f,error:null,refetch:s});}),p}),d=useDeepCompareMemo(()=>n,[n]);return useEffect(()=>{if(!d||!e||a.length===0){u(new Map);return}let p=a.filter((f,x)=>o>0?true:!ft.has(c[x]));if(p.length===0){let f=new Map;a.forEach((x,b)=>{f.set(Nt(x),{data:ft.get(c[b]),isLoading:false,error:null,refetch:s});}),u(f);return}let m=false,g=new Map;return a.forEach((f,x)=>{let b=ft.get(c[x]);g.set(Nt(f),{data:b,isLoading:!b,error:null,refetch:s});}),u(g),p.forEach(f=>{let x=Nt(f),b=Vn(f.datasetSlug,e,f.sqlQuery,f.resourceKey,f.filters);Mr(d,f.datasetSlug,e,f.sqlQuery,f.resourceKey,f.filters).then(k=>{m||(ft.set(b,k),u(y=>{let h=new Map(y);return h.set(x,{data:k,isLoading:false,error:null,refetch:s}),h}));}).catch(k=>{m||u(y=>{let h=new Map(y);return h.set(x,{data:void 0,isLoading:false,error:k instanceof Error?k:new Error(String(k)),refetch:s}),h});});}),()=>{m=true;}},[d,i,e,o,c.join(","),s]),t.map(p=>{let m=Nt(p);return l.get(m)||{data:void 0,isLoading:!(!d||!e),error:null,refetch:s}})}function Vr(t,e,n,o){let r=t.map(s=>({datasetSlug:s,sqlQuery:n?.[s],resourceKey:o?.[s]}));return ye(r,e)}function $r(t){return t.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`).replace(/^_/,"")}function zt(t,e){if(!t.length)return e;let n=t[0];if(n[e]!==void 0)return e;let o=e.toLowerCase();if(n[o]!==void 0)return o;let r=$r(e);if(n[r]!==void 0)return r;let s=e.toLowerCase().replace(/_/g,"");return Object.keys(n).find(i=>i.toLowerCase().replace(/_/g,"")===s)||e}function sa(){return ["yyyy-MM-dd","yyyyMMdd","yyyy-MM-dd'T'HH:mm:ss","yyyyMMddHHmmss"]}function aa(t){if(!t)return null;if(typeof t=="string"){if(/^\d{4}-\d{2}-\d{2}$/.test(t)){let r=new Date(t+"T00:00:00.000Z");if(isValid(r))return r.getTime()}let o=sa();for(let r of o){let s=parse(t,r,new Date);if(isValid(s))return s.getTime()}}let e=new Date(t);return isValid(e)?e.getTime():null}function Me(t,e,n,o){let r=e==="index"&&t[e]===void 0?o:t[e];return n==="date"?aa(r):n==="number"?parseFloat(r):r}function ia(t,e,n){if(t===e.key)return e.type||"category";let o=n.find(r=>r.key===t);return o?o.type||"number":"category"}function he(t,e,n,o){return !o||o.length===0?t:[...t].sort((r,s)=>{for(let a of o){let i=ia(a.key,e,n),c=Me(r,a.key,i,r.index),l=Me(s,a.key,i,s.index);if(c===l)continue;let u=typeof c=="number"&&typeof l=="number"?c-l:c instanceof Date&&l instanceof Date?c.getTime()-l.getTime():String(c).localeCompare(String(l));return a.direction==="asc"?u:-u}return 0})}function Lr(t,e){let n=Math.ceil(t.length/e),o=[t[0]];for(let r=n;r<t.length-1;r+=n)o.push(t[r]);return o[o.length-1]!==t[t.length-1]&&o.push(t[t.length-1]),o}function la(t,e,n,o,r,s,a){let i=t.reduce((u,d)=>{let p=d[e];return u[p]||(u[p]=[]),u[p].push(d),u},{}),c=Object.entries(i);if(c.length>o){let u=Math.ceil(c.length/o),d=c.reduce((p,[m,g],f)=>{let x=Math.floor(f/u);return p[x]||(p[x]={key:m,items:[]}),p[x].items.push(...g),p},[]).map(({key:p,items:m})=>({[e]:p,...n.reduce((g,f)=>{let x=m.map(b=>parseFloat(b[f.key])).filter(b=>!isNaN(b));return g[f.key]=x.length?x.reduce((b,k)=>b+k,0)/x.length:null,g},{})}));return a&&a.length>0?he(d,r,s,a):d}let l=c.map(([u,d])=>{let p=n.reduce((g,f)=>{let x=d.map(b=>parseFloat(b[f.key])).filter(b=>!isNaN(b));return g[f.key]=x.length?x.reduce((b,k)=>b+k,0)/x.length:null,g},{}),m=Object.values(p).filter(g=>g!==null).reduce((g,f)=>g+f,0);return {[e]:u,...p,index:m}});return a&&a.length>0?he(l,r,s,a):l}function ca(t,e,n,o){let r=t.map(l=>parseFloat(l[e])).filter(l=>!isNaN(l)),s=Math.min(...r),i=(Math.max(...r)-s)/o,c=Array.from({length:o},(l,u)=>({binStart:s+u*i,binEnd:s+(u+1)*i,count:0,seriesValues:n.reduce((d,p)=>(d[p.key]=[],d),{})}));return t.forEach(l=>{let u=parseFloat(l[e]);if(isNaN(u))return;let d=Math.min(Math.floor((u-s)/i),o-1);c[d].count++,n.forEach(p=>{let m=parseFloat(l[p.key]);isNaN(m)||c[d].seriesValues[p.key].push(m);});}),c.map(l=>({[e]:(l.binStart+l.binEnd)/2,...n.reduce((u,d)=>{let p=l.seriesValues[d.key];return u[d.key]=p.length?p.reduce((m,g)=>m+g,0)/p.length:null,u},{}),count:l.count,index:n.reduce((u,d)=>{let p=l.seriesValues[d.key],m=p.length?p.reduce((g,f)=>g+f,0)/p.length:0;return u+m},0)})).filter(l=>n.some(u=>l[u.key]!==null))}function jr(t,e,n,o,r){let s=t.map((m,g)=>{let f=Me(m,e,r.type||"number",g);return typeof f=="number"?f:parseFloat(f)}).filter(m=>!isNaN(m)),a=Math.min(...s),l=(Math.max(...s)-a)/o,u=Array.from({length:o},(m,g)=>({binStart:Number((a+g*l).toFixed(2)),binEnd:Number((a+(g+1)*l).toFixed(2)),frequency:0,[e]:Number((a+(g+.5)*l).toFixed(2))}));s.forEach(m=>{let g=Math.min(Math.floor((m-a)/l),o-1);u[g].frequency++;});let d=u.filter(m=>m.frequency>0);return (u.length-d.length)/u.length*100>30?jr(t,e,n,Math.floor(o/2),r):d}function ua(t,e,n,o){return !e||e.length===0?t:t.filter(r=>e.every(s=>{let a=s.key;n&&s.key.toLowerCase()===n.toLowerCase()?a=n:o&&s.key.toLowerCase()===o.toLowerCase()&&(a=o);let i=r[a],c=Array.isArray(s.value)?s.value:[s.value];switch(s.operator){case "equals":return c.some(l=>String(i)===String(l));case "not_equals":return c.every(l=>String(i)!==String(l));case "greater_than":return parseFloat(String(i))>parseFloat(String(c[0]));case "less_than":return parseFloat(String(i))<parseFloat(String(c[0]));case "contains":return String(i).toLowerCase().includes(String(c[0]).toLowerCase());case "between":if(c.length===2){let l=parseFloat(String(i)),u=parseFloat(String(c[0])),d=parseFloat(String(c[1]));return l>=u&&l<=d}return true;default:return true}}))}var Ve=ht__default.memo(function({chartType:e,title:n,invocationId:o,datasetSlugs:r,xAxis:s,yAxes:a,series:i,dataReduction:c={strategy:"none",target_points:1e3},stacked:l,sort:u,onScrollUpdate:d,enableDownload:p=true,className:m,chartContainerClassName:g}){let f=useMemo(()=>i.map(w=>({datasetSlug:w.datasetSlug,sqlQuery:w.sqlQuery,resourceKey:w.resourceKey,filters:!w.sqlQuery&&w.filters?.length?w.filters:void 0})),[i]),x=ye(f,o),b=x.some(w=>w.isLoading),k=useDeepCompareMemo(()=>x.map(w=>w.data||[]),[x.map(w=>w.data)]),{resolvedXAxisKey:y,resolvedSeriesKeys:h}=useMemo(()=>{let w=k.find(E=>E.length>0)||[];return {resolvedXAxisKey:zt(w,s.key),resolvedSeriesKeys:i.map((E,M)=>({...E,resolvedKey:zt(k[M]||[],E.key)}))}},[k,s.key,i]),S=useMemo(()=>{let w=new Map;i.forEach((M,K)=>{let Y=k[K]||[],W=h[K]?.resolvedKey||M.key;(M.filters?ua(Y,M.filters,W,y):Y).forEach((Ee,De)=>{let C=Me(Ee,y,s.type||"category",De);if(C==null||s.type==="number"&&isNaN(C))return;let N=s.type==="number"||s.type==="date"||typeof C=="object"?C.toString():String(C);w.has(N)||w.set(N,{[s.key]:C});let V=`series_${K}_${M.key}`,A=Ee[W];w.get(N)[V]=A;});});let E=Array.from(w.values());return u&&u.length>0?E:s.type==="date"?E.sort((M,K)=>M[s.key]-K[s.key]):s.type==="number"?E.sort((M,K)=>{let Y=parseFloat(M[s.key]),W=parseFloat(K[s.key]);return isNaN(Y)||isNaN(W)?0:Y-W}):E},[k,i,h,y,s,u]),_=useMemo(()=>i.map((w,E)=>({...w,key:`series_${E}_${w.key}`})),[i]),v=useMemo(()=>({[s.key]:{label:s.label,format:s.format,type:s.type},..._.reduce((w,E)=>(w[E.key]={label:E.name,color:E.color},w),{}),...e==="histogram"?{frequency:{label:a[0]?.label||"Frequency",color:_[0]?.color||"#2563eb"}}:{}}),[s,_,e,a]),I=useMemo(()=>!s.key||!_.length?null:{chartType:e,xAxis:s,yAxes:e==="histogram"?a.map(w=>({...w,key:"frequency",minValue:w.minValue||"0"})):a,series:e==="histogram"?[{key:"frequency",name:a[0]?.label||"Frequency",color:i[0]?.color||"#2563eb"}]:_},[s,a,i,_,e]),U=null;switch(e){case "bar":U=It;break;case "line":U=Ft;break;case "pie":U=Jt;break;case "scatter":U=Gt;break;case "histogram":U=It;break;case "heatmap":U=Wt;break}let Z=useRef(false);useEffect(()=>{Z.current||!d||!b&&v&&I&&S.length&&(d(),setTimeout(()=>d(),250),Z.current=true);},[d,b,v,I,S.length]);let[B,J]=useState({x:[null,null],y:[null,null]}),{processedData:G,dataReductionInfo:Nn}=useMemo(()=>{if(b||!S.length)return {processedData:[],dataReductionInfo:null};if(e==="histogram"){let Y=c.target_points||20;return {processedData:jr(S,y,_,Y,s),dataReductionInfo:null}}let w=S;if((B.x[0]!==null||B.y[0]!==null)&&(w=S.filter(Y=>{if(B.x[0]!==null&&B.x[1]!==null){let W=parseFloat(Y[s.key]);if(isNaN(W)||W<B.x[0]||W>B.x[1])return false}if(B.y[0]!==null&&B.y[1]!==null)for(let W of _){let $t=parseFloat(Y[W.key]);if(!isNaN($t)&&($t<B.y[0]||$t>B.y[1]))return false}return true})),w.length<=c.target_points&&(!u||u.length===0))return {processedData:w,dataReductionInfo:null};let E,M="";switch(c.strategy){case "sample":E=Lr(w,c.target_points),M="sampled",u&&u.length>0&&(E=he(E,s,a,u));break;case "aggregate":E=la(w,y,_,c.target_points,s,a,u),M="aggregated";break;case "bin":E=ca(w,y,_,c.target_points),M="binning",u&&u.length>0&&(E=he(E,s,a,u));break;default:w.length<1e3?E=w:(E=Lr(w,c.target_points),M="sampled"),u&&u.length>0&&(E=he(E,s,a,u));}let K=null;return w.length!==E.length&&(K=`${M} ${w.length.toLocaleString()} \u2192 ${E.length.toLocaleString()} points`),{processedData:E,dataReductionInfo:K}},[S,c,e,b,B.x,B.y,_,u,s,a,y]);return U?b?jsx("div",{children:"Loading..."}):S.length?I?jsx(U,{data:G,displayConfig:v,stacked:l,dataConfig:I,title:n,subtitle:Nn||void 0,disableAnimation:G.length>100,onZoomChange:J,enableDownload:p,className:m,chartContainerClassName:g}):jsx("div",{children:"Invalid chart configuration"}):jsx("div",{children:"Unable to display chart - no data available"}):(console.error("No chart component found"),null)},(t,e)=>Ys(t,e));function $e({title:t,invocationId:e,datasetSlug:n,sqlQuery:o,resourceKey:r,columns:s,maxRows:a=100,className:i,tableWrapperClassName:c,headerClassName:l,loadingClassName:u,emptyClassName:d,onScrollUpdate:p}){let{data:m,isLoading:g}=Be(n,e,o,r),f=useMemo(()=>s?m?.length?s.map(k=>{let y=zt(m,k.key);return {key:k.key,name:k.name,resolvedKey:y,format:k.format,value_type:k.value_type}}):[]:m?.length?Object.keys(m[0]).map(k=>({key:k,name:k,resolvedKey:k,format:void 0,value_type:void 0})):[],[s,m]),x=useMemo(()=>!m||m.length===0?[]:a?m.slice(0,a):m,[m,a]),b=useRef(false);return useEffect(()=>{b.current||!p||!g&&m?.length&&(p(),setTimeout(()=>p(),250),b.current=true);},[p,g,m?.length]),g?jsx("div",{className:u||"text-gray-500",children:"Loading..."}):m?.length?f.length===0?jsx("div",{className:d||"text-gray-500",children:"No columns defined"}):jsxs("div",{className:i||"w-full",children:[t&&jsx("h3",{className:"text-lg font-medium mb-3",children:t}),jsx("div",{className:c||"relative w-full overflow-x-auto rounded-lg border border-border/50",children:jsxs("table",{className:"w-full caption-bottom text-sm",children:[jsx("thead",{className:"[&_tr]:border-b",children:jsx("tr",{className:l||"border-b transition-colors",children:f.map(k=>jsx("th",{className:"h-10 px-3 text-left align-middle font-medium text-muted-foreground",children:k.name},k.key))})}),jsx("tbody",{className:"[&_tr:last-child]:border-0",children:x.map((k,y)=>jsx("tr",{className:`border-b transition-colors hover:bg-muted/50 ${y%2===1?"bg-muted/30":""}`,children:f.map(h=>jsx("td",{className:"p-3 align-middle text-foreground",children:it(k[h.resolvedKey],h.format,h.value_type)},h.key))},y))})]})}),m.length>a&&jsxs("p",{className:"text-sm text-muted-foreground mt-2",children:["Showing ",a," of ",m.length," rows"]})]}):jsx("div",{className:d||"text-gray-500",children:"No data"})}function Le({output:t,ContentComponent:e}){let n=H(),o=e??n?.ContentComponent,r=t?.contents;if(!t||!t.output||!r?.length)return null;let s=r.filter(a=>a.user_visibility==="visible");return s.length?jsx("div",{children:s.map(a=>o?jsx(o,{content:a},a.id):jsx("div",{className:"text-sm",children:typeof a.content=="string"?a.content:null},a.id))},t.output.id):null}function Fr(t){return t!==null&&typeof t=="object"&&"Valid"in t&&"String"in t}function O(t){if(typeof t=="string")return t;if(Fr(t))return t.Valid?t.String:void 0}function ma(t,e){return O(t)??e}var Jr={v:"5.10.2",fr:60,ip:0,op:180,w:144,h:144,nm:"system-solid-719-spinner-circle",ddd:0,assets:[{id:"comp_6",nm:"loop-snake-alt",fr:60,layers:[{ddd:0,ind:1,ty:0,nm:"mask-2",td:1,refId:"comp_7",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[72,72,0],ix:2,l:2},a:{a:0,k:[72,72,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,w:144,h:144,ip:0,op:1800,st:0,bm:0},{ddd:0,ind:2,ty:4,nm:"circle 2",tt:2,tp:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[72,72,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[-30.652,0],[0,30.652],[30.652,0],[0,-30.652]],o:[[30.652,0],[0,-30.652],[-30.652,0],[0,30.652]],v:[[0,55.5],[55.5,0],[0,-55.5],[-55.5,0]],c:true},ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:false},{ty:"st",c:{a:0,k:[.071,.075,.192,1],ix:3,x:`var $bm_rt;
8
8
  $bm_rt = comp('system-solid-719-spinner-circle').layer('control').effect('primary')('Color');`},o:{a:0,k:100,ix:4},w:{a:0,k:9,ix:5},lc:2,lj:1,ml:4,bm:0,nm:".primary",mn:"ADBE Vector Graphic - Stroke",hd:false,cl:"primary"},{ty:"fl",c:{a:0,k:[.071,.075,.192,1],ix:4,x:`var $bm_rt;
9
9
  $bm_rt = comp('system-solid-719-spinner-circle').layer('control').effect('primary')('Color');`},o:{a:0,k:100,ix:5},r:1,bm:0,nm:".primary",mn:"ADBE Vector Graphic - Fill",hd:false,cl:"primary"},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"circle",np:3,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false}],ip:0,op:300,st:0,ct:1,bm:0}]},{id:"comp_7",nm:"mask-2",fr:60,layers:[{ddd:0,ind:1,ty:3,nm:"Null 1108",sr:1,ks:{o:{a:0,k:0,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[72,72,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[78.6,78.6,100],ix:6,l:2}},ao:0,ip:0,op:1800,st:0,bm:0},{ddd:0,ind:2,ty:4,nm:"mask",parent:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:1,k:[{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:0,s:[0]},{t:180,s:[-360]}],ix:10},p:{a:0,k:[0,0,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{d:1,ty:"el",s:{a:0,k:[111,111],ix:2},p:{a:0,k:[0,0],ix:3},nm:"Ellipse Path 1",mn:"ADBE Vector Shape - Ellipse",hd:false},{ty:"tm",s:{a:1,k:[{i:{x:[.33],y:[1]},o:{x:[.335],y:[0]},t:90,s:[99.9]},{t:157,s:[0]}],ix:1},e:{a:1,k:[{i:{x:[.33],y:[1]},o:{x:[.33],y:[0]},t:111,s:[100]},{t:180,s:[.1]}],ix:2},o:{a:0,k:0,ix:3},m:1,ix:2,nm:"Trim Paths 1",mn:"ADBE Vector Filter - Trim",hd:false},{ty:"st",c:{a:0,k:[.070588238537,.074509806931,.192156866193,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:11.3,ix:5},lc:2,lj:2,bm:0,nm:".primary",mn:"ADBE Vector Graphic - Stroke",hd:false,cl:"primary"},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Ellipse 1",np:3,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false}],ip:90,op:991,st:90,ct:1,bm:0},{ddd:0,ind:3,ty:4,nm:"mask",parent:2,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[0,0,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{d:1,ty:"el",s:{a:0,k:[111,111],ix:2},p:{a:0,k:[0,0],ix:3},nm:"Ellipse Path 1",mn:"ADBE Vector Shape - Ellipse",hd:false},{ty:"tm",s:{a:1,k:[{i:{x:[.33],y:[1]},o:{x:[.335],y:[0]},t:0,s:[99.9]},{t:67,s:[0]}],ix:1},e:{a:1,k:[{i:{x:[.33],y:[1]},o:{x:[.33],y:[0]},t:21,s:[100]},{t:90,s:[.1]}],ix:2},o:{a:0,k:0,ix:3},m:1,ix:2,nm:"Trim Paths 1",mn:"ADBE Vector Filter - Trim",hd:false},{ty:"st",c:{a:0,k:[.070588238537,.074509806931,.192156866193,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:11.3,ix:5},lc:2,lj:2,bm:0,nm:".primary",mn:"ADBE Vector Graphic - Stroke",hd:false,cl:"primary"},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Ellipse 1",np:3,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false}],ip:0,op:90,st:0,ct:1,bm:0}]},{id:"comp_9",nm:"mask-1",fr:60,layers:[{ddd:0,ind:1,ty:3,nm:"Null 1107",sr:1,ks:{o:{a:0,k:0,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[72,72,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[78.6,78.6,100],ix:6,l:2}},ao:0,ip:0,op:1800,st:0,bm:0},{ddd:0,ind:2,ty:4,nm:"mask",parent:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:1,k:[{i:{x:[.584],y:[.217]},o:{x:[.247],y:[0]},t:0,s:[0]},{i:{x:[.647],y:[.59]},o:{x:[.314],y:[.277]},t:9,s:[18.902]},{i:{x:[.649],y:[.675]},o:{x:[.315],y:[.302]},t:13,s:[36.82]},{i:{x:[.693],y:[1]},o:{x:[.208],y:[.228]},t:18,s:[63.991]},{t:240,s:[1080]}],ix:10},p:{a:0,k:[0,0,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:1,k:[{i:{x:.833,y:.833},o:{x:.26,y:0},t:168,s:[{i:[[-30.652,0],[-4.25,4.25],[30.652,0],[5.125,5.125]],o:[[30.652,0],[-4.25,4.25],[-30.652,0],[6,6.5]],v:[[0,55],[45,32.75],[0,55.5],[-45.25,32.5]],c:true}]},{i:{x:.833,y:.833},o:{x:.167,y:.167},t:186,s:[{i:[[-43.5,0],[4.456,-17.326],[30.652,0],[2.907,16.173]],o:[[38.5,0],[-2.411,15.677],[-30.652,0],[-5.064,-20.184]],v:[[0,39.201],[49.544,18.576],[0,55.5],[-49.686,18.434]],c:true}]},{i:{x:.05,y:1},o:{x:.167,y:.167},t:196,s:[{i:[[-50,0],[0,-29.209],[30.652,0],[1.285,24.253]],o:[[50.75,0],[-1.065,24.034],[-30.652,0],[0,-29.896]],v:[[0,14.948],[52.868,8.209],[0,55.5],[-52.931,8.146]],c:true}]},{t:240,s:[{i:[[-30.652,0],[0,-30.652],[30.652,0],[0,30.652]],o:[[30.652,0],[0,30.652],[-30.652,0],[0,-30.652]],v:[[0,-55.5],[55.5,0],[0,55.5],[-55.5,0]],c:true}]}],ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:false},{ty:"st",c:{a:0,k:[.070588238537,.074509806931,.192156866193,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:11.3,ix:5},lc:2,lj:2,bm:0,nm:".primary",mn:"ADBE Vector Graphic - Stroke",hd:false,cl:"primary"},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Ellipse 1",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false}],ip:168,op:350,st:120,ct:1,bm:0},{ddd:0,ind:3,ty:4,nm:"mask",parent:2,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[0,0,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{d:1,ty:"el",s:{a:0,k:[111,111],ix:2},p:{a:0,k:[0,0],ix:3},nm:"Ellipse Path 1",mn:"ADBE Vector Shape - Ellipse",hd:false},{ty:"tm",s:{a:1,k:[{i:{x:[.334],y:[1]},o:{x:[.333],y:[0]},t:0,s:[0]},{t:48,s:[35]}],ix:1},e:{a:1,k:[{i:{x:[.334],y:[1]},o:{x:[.333],y:[0]},t:0,s:[100]},{t:48,s:[65]}],ix:2},o:{a:0,k:0,ix:3},m:1,ix:2,nm:"Trim Paths 1",mn:"ADBE Vector Filter - Trim",hd:false},{ty:"st",c:{a:0,k:[.070588238537,.074509806931,.192156866193,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:11.3,ix:5},lc:2,lj:2,bm:0,nm:".primary",mn:"ADBE Vector Graphic - Stroke",hd:false,cl:"primary"},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Ellipse 1",np:3,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false}],ip:0,op:168,st:0,ct:1,bm:0}]},{id:"comp_11",nm:"mask-3",fr:60,layers:[{ddd:0,ind:1,ty:3,nm:"Null 1109",sr:1,ks:{o:{a:0,k:0,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[72,72,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[78.6,78.6,100],ix:6,l:2}},ao:0,ip:0,op:1800,st:0,bm:0},{ddd:0,ind:2,ty:4,nm:"mask",parent:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[0,0,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:1,k:[{i:{x:.833,y:.833},o:{x:.26,y:0},t:48,s:[{i:[[-30.652,0],[-4.25,4.25],[30.652,0],[5.125,5.125]],o:[[30.652,0],[-4.25,4.25],[-30.652,0],[6,6.5]],v:[[0,55],[45,32.75],[0,55.5],[-45.25,32.5]],c:true}]},{i:{x:.833,y:.833},o:{x:.167,y:.167},t:66,s:[{i:[[-43.5,0],[4.456,-17.326],[30.652,0],[2.907,16.173]],o:[[38.5,0],[-2.411,15.677],[-30.652,0],[-5.064,-20.184]],v:[[0,39.201],[49.544,18.576],[0,55.5],[-49.686,18.434]],c:true}]},{i:{x:.05,y:1},o:{x:.167,y:.167},t:76,s:[{i:[[-50,0],[0,-29.209],[30.652,0],[1.285,24.253]],o:[[50.75,0],[-1.065,24.034],[-30.652,0],[0,-29.896]],v:[[0,14.948],[52.868,8.209],[0,55.5],[-52.931,8.146]],c:true}]},{t:120,s:[{i:[[-30.652,0],[0,-30.652],[30.652,0],[0,30.652]],o:[[30.652,0],[0,30.652],[-30.652,0],[0,-30.652]],v:[[0,-55.5],[55.5,0],[0,55.5],[-55.5,0]],c:true}]}],ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:false},{ty:"st",c:{a:0,k:[.070588238537,.074509806931,.192156866193,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:11.3,ix:5},lc:2,lj:2,bm:0,nm:".primary",mn:"ADBE Vector Graphic - Stroke",hd:false,cl:"primary"},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Ellipse 1",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false}],ip:48,op:523,st:0,ct:1,bm:0},{ddd:0,ind:3,ty:4,nm:"mask",parent:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[0,0,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{d:1,ty:"el",s:{a:0,k:[111,111],ix:2},p:{a:0,k:[0,0],ix:3},nm:"Ellipse Path 1",mn:"ADBE Vector Shape - Ellipse",hd:false},{ty:"tm",s:{a:1,k:[{i:{x:[.334],y:[1]},o:{x:[.333],y:[0]},t:0,s:[0]},{t:48,s:[35]}],ix:1},e:{a:1,k:[{i:{x:[.334],y:[1]},o:{x:[.333],y:[0]},t:0,s:[100]},{t:48,s:[65]}],ix:2},o:{a:0,k:0,ix:3},m:1,ix:2,nm:"Trim Paths 1",mn:"ADBE Vector Filter - Trim",hd:false},{ty:"st",c:{a:0,k:[.070588238537,.074509806931,.192156866193,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:11.3,ix:5},lc:2,lj:2,bm:0,nm:".primary",mn:"ADBE Vector Graphic - Stroke",hd:false,cl:"primary"},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Ellipse 1",np:3,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false}],ip:0,op:49,st:0,ct:1,bm:0}]},{id:"comp_14",nm:"mask-4",fr:60,layers:[{ddd:0,ind:1,ty:3,nm:"Null 1110",sr:1,ks:{o:{a:0,k:0,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[72,72,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[78.6,78.6,100],ix:6,l:2}},ao:0,ip:0,op:1800,st:0,bm:0},{ddd:0,ind:2,ty:4,nm:"mask",parent:1,sr:1,ks:{o:{a:1,k:[{i:{x:[.667],y:[1]},o:{x:[.167],y:[.167]},t:0,s:[0]},{t:90,s:[100]}],ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[0,0,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:1,k:[{i:{x:.833,y:.833},o:{x:.167,y:.167},t:0,s:[{i:[[-0.276,0],[0,-0.276],[.276,0],[0,.276]],o:[[.276,0],[0,.276],[-0.276,0],[0,-0.276]],v:[[0,-0.5],[.5,0],[0,.5],[-0.5,0]],c:true}]},{t:120,s:[{i:[[-30.154,0],[0,-30.154],[30.154,0],[0,30.154]],o:[[30.154,0],[0,30.154],[-30.154,0],[0,-30.154]],v:[[0,-54.598],[54.598,0],[0,54.598],[-54.598,0]],c:true}]}],ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:false},{ty:"tm",s:{a:0,k:0,ix:1},e:{a:0,k:100,ix:2},o:{a:0,k:0,ix:3},m:1,ix:2,nm:"Trim Paths 1",mn:"ADBE Vector Filter - Trim",hd:false},{ty:"st",c:{a:0,k:[.070588238537,.074509806931,.192156866193,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:11.3,ix:5},lc:2,lj:2,bm:0,nm:".primary",mn:"ADBE Vector Graphic - Stroke",hd:false,cl:"primary"},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Ellipse 1",np:3,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false}],ip:0,op:1800,st:0,ct:1,bm:0},{ddd:0,ind:3,ty:4,nm:"mask",parent:1,sr:1,ks:{o:{a:1,k:[{i:{x:[.161],y:[1]},o:{x:[.167],y:[.167]},t:0,s:[100]},{t:60,s:[0]}],ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[0,0,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:1,k:[{i:{x:.161,y:1},o:{x:.167,y:.167},t:0,s:[{i:[[-30.652,0],[0,-30.652],[30.652,0],[0,30.652]],o:[[30.652,0],[0,30.652],[-30.652,0],[0,-30.652]],v:[[0,-55.5],[55.5,0],[0,55.5],[-55.5,0]],c:true}]},{t:60,s:[{i:[[-37.003,0],[0,-37.003],[37.003,0],[0,37.003]],o:[[37.003,0],[0,37.003],[-37.003,0],[0,-37.003]],v:[[0,-67],[67,0],[0,67],[-67,0]],c:true}]}],ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:false},{ty:"tm",s:{a:0,k:0,ix:1},e:{a:0,k:100,ix:2},o:{a:0,k:0,ix:3},m:1,ix:2,nm:"Trim Paths 1",mn:"ADBE Vector Filter - Trim",hd:false},{ty:"st",c:{a:0,k:[.070588238537,.074509806931,.192156866193,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:11.3,ix:5},lc:2,lj:2,bm:0,nm:".primary",mn:"ADBE Vector Graphic - Stroke",hd:false,cl:"primary"},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Ellipse 1",np:3,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false}],ip:0,op:1800,st:0,ct:1,bm:0}]},{id:"comp_16",nm:"mask-5",fr:60,layers:[{ddd:0,ind:1,ty:3,nm:"Null 1111",sr:1,ks:{o:{a:0,k:0,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[72,72,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[78.6,78.6,100],ix:6,l:2}},ao:0,ip:0,op:1800,st:0,bm:0},{ddd:0,ind:2,ty:4,nm:"mask",parent:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[0,0,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:1,k:[{i:{x:0,y:.66},o:{x:.124,y:.088},t:20,s:[{i:[[-0.276,0],[0,-0.276],[.276,0],[0,.276]],o:[[.276,0],[0,.276],[-0.276,0],[0,-0.276]],v:[[0,-0.5],[.5,0],[0,.5],[-0.5,0]],c:true}]},{t:60,s:[{i:[[-30.154,0],[0,-30.154],[30.154,0],[0,30.154]],o:[[30.154,0],[0,30.154],[-30.154,0],[0,-30.154]],v:[[0,-54.598],[54.598,0],[0,54.598],[-54.598,0]],c:true}]}],ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:false},{ty:"tm",s:{a:0,k:0,ix:1},e:{a:0,k:100,ix:2},o:{a:0,k:0,ix:3},m:1,ix:2,nm:"Trim Paths 1",mn:"ADBE Vector Filter - Trim",hd:false},{ty:"st",c:{a:0,k:[.070588238537,.074509806931,.192156866193,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:11.3,ix:5},lc:2,lj:2,bm:0,nm:".primary",mn:"ADBE Vector Graphic - Stroke",hd:false,cl:"primary"},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Ellipse 1",np:3,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false}],ip:20,op:1800,st:0,ct:1,bm:0},{ddd:0,ind:3,ty:4,nm:"mask",parent:1,sr:1,ks:{o:{a:1,k:[{i:{x:[.833],y:[.833]},o:{x:[.333],y:[0]},t:0,s:[100]},{t:60,s:[0]}],ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[0,0,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:1,k:[{i:{x:.507,y:1},o:{x:.095,y:.321},t:0,s:[{i:[[-30.652,0],[0,-30.652],[30.652,0],[0,30.652]],o:[[30.652,0],[0,30.652],[-30.652,0],[0,-30.652]],v:[[0,-55.5],[55.5,0],[0,55.5],[-55.5,0]],c:true}]},{t:60,s:[{i:[[-37.003,0],[0,-37.003],[37.003,0],[0,37.003]],o:[[37.003,0],[0,37.003],[-37.003,0],[0,-37.003]],v:[[0,-67],[67,0],[0,67],[-67,0]],c:true}]}],ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:false},{ty:"tm",s:{a:0,k:0,ix:1},e:{a:0,k:100,ix:2},o:{a:0,k:0,ix:3},m:1,ix:2,nm:"Trim Paths 1",mn:"ADBE Vector Filter - Trim",hd:false},{ty:"st",c:{a:0,k:[.070588238537,.074509806931,.192156866193,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:11.3,ix:5},lc:2,lj:2,bm:0,nm:".primary",mn:"ADBE Vector Graphic - Stroke",hd:false,cl:"primary"},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Ellipse 1",np:3,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false}],ip:0,op:1800,st:0,ct:1,bm:0}]},{id:"comp_19",nm:"mask-6",fr:60,layers:[{ddd:0,ind:1,ty:3,nm:"Null 1112",sr:1,ks:{o:{a:0,k:0,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[72,72,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[78.6,78.6,100],ix:6,l:2}},ao:0,ip:0,op:1800,st:0,bm:0},{ddd:0,ind:2,ty:4,nm:"mask",parent:3,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[.514,-0.84,0],ix:2,l:2},a:{a:0,k:[.514,-6.24,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[-12.745,-9.902],[-2.377,-1.327],[-8.708,-0.155],[-4.427,1.116],[-5.211,16.683],[-0.162,4.273],[.683,3.57],[16.218,4.737],[3.846,.074],[4.596,-1.531],[-0.017,-17.15],[-13.185,-6.083],[-3.505,-0.454],[-6.139,3.186],[-3.046,5.293],[-0.309,4.673],[.703,2.893],[4.329,3.821],[5.306,.603],[4.422,-2.403],[2.136,-3.916],[-0.144,-3.846],[-3.333,-3.451],[-1.877,-0.92],[-3.188,.401],[-1.893,5.145],[.978,2.596],[2.775,.798],[1.781,-2.308],[-1.419,-1.448]],o:[[.965,16.115],[2.149,1.67],[7.626,4.259],[4.598,.082],[16.65,-4.196],[1.275,-4.083],[.138,-3.624],[-3.192,-16.68],[-3.724,-1.088],[-4.887,-0.094],[-16.161,5.384],[.287,14.428],[3.249,1.499],[6.853,.887],[5.491,-2.85],[2.336,-4.06],[.198,-3.003],[-1.376,-5.661],[-4.129,-3.645],[-5.084,-0.578],[-3.952,2.148],[-1.841,3.376],[.182,4.869],[1.49,1.543],[3.02,1.48],[5.353,-0.673],[1.032,-2.804],[-1.139,-3.025],[-2.704,-0.778],[-1.14,1.477],[0,0]],v:[[-55.765,-4.143],[-34.151,37.195],[-27.316,41.629],[-2.358,48.14],[11.243,46.45],[46.671,12.649],[48.717,.071],[47.804,-10.664],[15.642,-45.824],[4.204,-47.466],[-10.148,-45.15],[-37.914,-6.587],[-16.262,27.132],[-6.024,29.983],[13.888,26.321],[26.864,13.719],[30.785,.393],[29.933,-8.55],[21.059,-23.045],[6.42,-29.442],[-8.246,-26.497],[-17.475,-17.167],[-20.027,-5.992],[-14.434,7.02],[-9.293,10.7],[.313,12.253],[12.328,2.889],[12.294,-5.579],[5.835,-11.66],[-1.807,-9.436],[-1.903,-4.143]],c:false},ix:2},nm:"Path 3",mn:"ADBE Vector Shape - Group",hd:false},{ty:"tm",s:{a:0,k:0,ix:1},e:{a:1,k:[{i:{x:[.667],y:[1]},o:{x:[.167],y:[.167]},t:39,s:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:97.559,s:[100]},{i:{x:[.667],y:[1]},o:{x:[.298],y:[0]},t:117.559,s:[100]},{i:{x:[.802],y:[1]},o:{x:[.333],y:[0]},t:193.559,s:[45.895]},{t:228,s:[0]}],ix:2},o:{a:0,k:0,ix:3},m:1,ix:2,nm:"Trim Paths 1",mn:"ADBE Vector Filter - Trim",hd:false},{ty:"st",c:{a:0,k:[.070588238537,.074509806931,.192156866193,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:11.3,ix:5},lc:2,lj:1,ml:4,bm:0,nm:".primary",mn:"ADBE Vector Graphic - Stroke",hd:false,cl:"primary"},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Ellipse 33",np:3,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false}],ip:0,op:194,st:0,ct:1,bm:0},{ddd:0,ind:3,ty:4,nm:"mask",parent:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:1,k:[{i:{x:[.652],y:[.354]},o:{x:[.443],y:[.213]},t:0,s:[0]},{i:{x:[.526],y:[.666]},o:{x:[.231],y:[.231]},t:118,s:[-473.927]},{t:240,s:[-1384.503]}],ix:10},p:{a:0,k:[0,0,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:1,k:[{t:118.559,s:[{i:[[-30.652,0],[0,-30.652],[30.652,0],[0,30.652]],o:[[30.652,0],[0,30.652],[-30.652,0],[0,-30.652]],v:[[0,-55.5],[55.5,0],[0,55.5],[-55.5,0]],c:true}],h:1},{i:{x:.29,y:1},o:{x:.333,y:0},t:194,s:[{i:[[-26.752,3.759],[0,-30.652],[30.646,-1.513],[0,30.652]],o:[[21.768,-3.059],[0,30.652],[-30.615,1.511],[0,-12.422]],v:[[-2.911,-43.444],[49.68,1.935],[-0.898,54.175],[-55.863,-2.206]],c:true}]},{t:240,s:[{i:[[-30.652,0],[0,-30.652],[30.652,0],[0,30.652]],o:[[30.652,0],[0,30.652],[-30.652,0],[0,-30.652]],v:[[0,-55.5],[55.5,0],[0,55.5],[-55.5,0]],c:true}]}],ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:false},{ty:"tm",s:{a:1,k:[{t:0,s:[1.1],h:1},{i:{x:[.728],y:[1]},o:{x:[.28],y:[-0.325]},t:39,s:[0]},{i:{x:[.833],y:[.833]},o:{x:[.333],y:[0]},t:194,s:[0]},{t:240,s:[1.1]}],ix:1},e:{a:1,k:[{i:{x:[.833],y:[.833]},o:{x:[.333],y:[0]},t:0,s:[73.3]},{t:73.559,s:[0],h:1},{i:{x:[.833],y:[.833]},o:{x:[.333],y:[0]},t:194,s:[82.8]},{t:240,s:[73.3]}],ix:2},o:{a:1,k:[{i:{x:[.833],y:[.833]},o:{x:[.333],y:[0]},t:0,s:[91]},{t:39,s:[-89],h:1},{i:{x:[.833],y:[.833]},o:{x:[.333],y:[0]},t:194,s:[-382]},{t:240,s:[-319]}],ix:3},m:1,ix:2,nm:"Trim Paths 1",mn:"ADBE Vector Filter - Trim",hd:false},{ty:"st",c:{a:0,k:[.070588238537,.074509806931,.192156866193,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:11.3,ix:5},lc:2,lj:2,bm:0,nm:".primary",mn:"ADBE Vector Graphic - Stroke",hd:false,cl:"primary"},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Ellipse 1",np:3,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false}],ip:0,op:595,st:0,ct:1,bm:0}]}],layers:[{ddd:0,ind:1,ty:3,nm:"control",sr:1,ks:{o:{a:0,k:0,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[0,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,ef:[{ty:5,nm:"primary",np:3,mn:"ADBE Color Control",ix:1,en:1,ef:[{ty:2,nm:"Color",mn:"ADBE Color Control-0001",ix:1,v:{a:0,k:[.071,.075,.192],ix:1}}]}],ip:0,op:1751,st:0,bm:0},{ddd:0,ind:8,ty:0,nm:"loop-snake-alt",refId:"comp_6",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[72,72,0],ix:2,l:2},a:{a:0,k:[72,72,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,w:144,h:144,ip:0,op:190,st:0,bm:0}],markers:[{tm:0,cm:"default:loop-snake-alt",dr:180}]};var Gr={v:"5.12.1",fr:60,ip:0,op:59,w:500,h:500,nm:"system-solid-31-check",ddd:0,assets:[{id:"comp_1",nm:"hover-check",fr:60,layers:[{ddd:0,ind:1,ty:4,nm:".primary.design",cl:"primary design",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[250,250,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[2083,2083,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[.26,0],[.2,.19],[0,0],[-0.39,.39],[-0.39,-0.39],[0,0],[0,0],[-0.39,-0.39],[.39,-0.39],[0,0]],o:[[-0.26,0],[0,0],[-0.39,-0.39],[.39,-0.39],[0,0],[0,0],[.39,-0.39],[.39,.39],[0,0],[-0.2,.19]],v:[[-1.34,4],[-2.05,3.71],[-4.55,1.2],[-4.55,-0.21],[-3.14,-0.21],[-1.34,1.59],[3.47,-3.21],[4.88,-3.21],[4.88,-1.8],[-0.63,3.71]],c:true},ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:false},{ind:1,ty:"sh",ix:2,ks:{a:0,k:{i:[[5.41,0],[0,0],[-0.13,-5.51],[-5.41,0],[0,0],[.13,5.51]],o:[[0,0],[-5.51,.14],[.13,5.43],[0,0],[5.51,-0.14],[-0.13,-5.43]],v:[[0,-10],[-0.24,-10],[-10,.24],[0,10],[.24,10],[10,-0.24]],c:true},ix:2},nm:"Path 2",mn:"ADBE Vector Shape - Group",hd:false},{ty:"fl",c:{a:0,k:[.071,.075,.192,1],ix:4,x:`var $bm_rt;
10
10
  $bm_rt = comp('system-solid-31-check').layer('control').effect('primary')('Color');`},o:{a:0,k:100,ix:5},r:1,bm:0,nm:".primary",mn:"ADBE Vector Graphic - Fill",hd:false,cl:"primary"},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Group 1",np:3,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false}],ip:60,op:305,st:60,ct:1,bm:0},{ddd:0,ind:2,ty:4,nm:".primary.design",cl:"primary design",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[250,250,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[2083,2083,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[.26,0],[.2,.19],[0,0],[-0.39,.39],[-0.39,-0.39],[0,0],[0,0],[-0.39,-0.39],[.39,-0.39],[0,0]],o:[[-0.26,0],[0,0],[-0.39,-0.39],[.39,-0.39],[0,0],[0,0],[.39,-0.39],[.39,.39],[0,0],[-0.2,.19]],v:[[-1.34,4],[-2.05,3.71],[-4.55,1.2],[-4.55,-0.21],[-3.14,-0.21],[-1.34,1.59],[3.47,-3.21],[4.88,-3.21],[4.88,-1.8],[-0.63,3.71]],c:true},ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:false},{ind:1,ty:"sh",ix:2,ks:{a:0,k:{i:[[5.41,0],[0,0],[-0.13,-5.51],[-5.41,0],[0,0],[.13,5.51]],o:[[0,0],[-5.51,.14],[.13,5.43],[0,0],[5.51,-0.14],[-0.13,-5.43]],v:[[0,-10],[-0.24,-10],[-10,.24],[0,10],[.24,10],[10,-0.24]],c:true},ix:2},nm:"Path 2",mn:"ADBE Vector Shape - Group",hd:false},{ty:"fl",c:{a:0,k:[.071,.075,.192,1],ix:4,x:`var $bm_rt;
@@ -20,10 +20,10 @@ $bm_rt = comp('system-solid-56-warning').layer('control').effect('primary')('Col
20
20
  $bm_rt = comp('system-solid-56-warning').layer('control').effect('primary')('Color');`},o:{a:0,k:100,ix:4},w:{a:0,k:52,ix:5},lc:2,lj:1,ml:10,bm:0,nm:".primary",mn:"ADBE Vector Graphic - Stroke",hd:false,cl:"primary"},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Group 1",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false}],ip:3,op:54,st:0,ct:1,bm:0},{ddd:0,ind:5,ty:4,nm:".primary.design",cl:"primary design",parent:3,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[50.004,10.799,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[0,41.667],[0,-41.667]],c:false},ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:false},{ty:"st",c:{a:0,k:[.071,.075,.192,1],ix:3,x:`var $bm_rt;
21
21
  $bm_rt = comp('system-solid-56-warning').layer('control').effect('primary')('Color');`},o:{a:0,k:100,ix:4},w:{a:0,k:42,ix:5},lc:2,lj:2,bm:0,nm:".primary",mn:"ADBE Vector Graphic - Stroke",hd:false,cl:"primary"},{ty:"tr",p:{a:0,k:[0,-14.5],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Group 1",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false}],ip:3,op:54,st:0,ct:1,bm:0},{ddd:0,ind:6,ty:0,nm:"mask-1",td:1,refId:"comp_3",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[250,250,0],ix:2,l:2},a:{a:0,k:[250,250,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,w:500,h:500,ip:1,op:54,st:1,bm:0},{ddd:0,ind:7,ty:4,nm:".primary.design",cl:"primary design",tt:2,tp:6,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[250.004,239.584,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0]],v:[[-192.709,182.293],[0,-182.293],[192.709,182.293]],c:true},ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:false},{ty:"st",c:{a:0,k:[.071,.075,.192,1],ix:3,x:`var $bm_rt;
22
22
  $bm_rt = comp('system-solid-56-warning').layer('control').effect('primary')('Color');`},o:{a:0,k:100,ix:4},w:{a:0,k:31.3,ix:5},lc:2,lj:2,bm:0,nm:".primary",mn:"ADBE Vector Graphic - Stroke",hd:false,cl:"primary"},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Group 1",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false},{ty:"fl",c:{a:0,k:[.071,.075,.192,1],ix:4,x:`var $bm_rt;
23
- $bm_rt = comp('system-solid-56-warning').layer('control').effect('primary')('Color');`},o:{a:0,k:100,ix:5},r:1,bm:0,nm:".primary",mn:"ADBE Vector Graphic - Fill",hd:false,cl:"primary"}],ip:1,op:54,st:0,ct:1,bm:0}]},{id:"comp_3",nm:"mask-1",fr:60,layers:[{ddd:0,ind:1,ty:3,nm:"NULL 2",sr:1,ks:{o:{a:0,k:0,ix:11},r:{a:1,k:[{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:11,s:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:17.25,s:[-30]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:23.5,s:[30]},{i:{x:[.16],y:[1]},o:{x:[.333],y:[0]},t:31,s:[-30]},{t:46,s:[0]}],ix:10},p:{a:0,k:[250,284,0],ix:2,l:2},a:{a:0,k:[50,50,0],ix:1,l:2},s:{a:1,k:[{i:{x:[0,0,.2],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:0,s:[100,100,100]},{i:{x:[.3,.3,.3],y:[1,1,1]},o:{x:[1,1,.8],y:[0,0,0]},t:16,s:[180,180,100]},{i:{x:[.3,.3,.3],y:[1,1,1]},o:{x:[.7,.7,.7],y:[0,0,0]},t:35,s:[180,180,100]},{t:58,s:[100,100,100]}],ix:6,l:2}},ao:0,ip:0,op:53,st:0,bm:0},{ddd:0,ind:2,ty:4,nm:".primary.design",cl:"primary design",parent:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[50.005,120.173,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[0,0],[0,0]],c:false},ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:false},{ty:"st",c:{a:0,k:[1,1,1,1],ix:3},o:{a:0,k:100,ix:4},w:{a:1,k:[{i:{x:[0],y:[1]},o:{x:[.333],y:[0]},t:0,s:[52]},{i:{x:[0],y:[1]},o:{x:[1],y:[0]},t:10,s:[150]},{i:{x:[.833],y:[.833]},o:{x:[1],y:[0]},t:29,s:[150]},{t:53,s:[52]}],ix:5},lc:2,lj:1,ml:10,bm:0,nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:false},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Group 1",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false}],ip:0,op:53,st:-1,ct:1,bm:0},{ddd:0,ind:3,ty:4,nm:".primary.design",cl:"primary design",parent:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[50.004,10.799,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:1,k:[{i:{x:0,y:1},o:{x:.333,y:0},t:0,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[0,41.667],[0,-41.667]],c:false}]},{i:{x:0,y:1},o:{x:1,y:0},t:10,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[.004,142.667],[0,-41.667]],c:false}]},{i:{x:.833,y:.833},o:{x:1,y:0},t:29,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[.004,142.667],[0,-41.667]],c:false}]},{t:53,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[0,41.667],[0,-41.667]],c:false}]}],ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:false},{ty:"st",c:{a:0,k:[1,1,1,1],ix:3},o:{a:0,k:100,ix:4},w:{a:1,k:[{i:{x:[0],y:[1]},o:{x:[.333],y:[0]},t:0,s:[42]},{i:{x:[0],y:[1]},o:{x:[1],y:[0]},t:10,s:[150]},{i:{x:[.833],y:[.833]},o:{x:[1],y:[0]},t:29,s:[150]},{t:53,s:[42]}],ix:5},lc:2,lj:2,bm:0,nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:false},{ty:"tr",p:{a:0,k:[0,-14.5],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Group 1",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false}],ip:0,op:53,st:-1,ct:1,bm:0}]}],layers:[{ddd:0,ind:1,ty:3,nm:"control",sr:1,ks:{o:{a:0,k:0,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[0,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,ef:[{ty:5,nm:"primary",np:3,mn:"ADBE Color Control",ix:1,en:1,ef:[{ty:2,nm:"Color",mn:"ADBE Color Control-0001",ix:1,v:{a:0,k:[.071,.075,.192],ix:1}}]}],ip:0,op:131,st:0,bm:0},{ddd:0,ind:3,ty:0,nm:"hover-warning",refId:"comp_2",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[250,250,0],ix:2,l:2},a:{a:0,k:[250,250,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,w:500,h:500,ip:0,op:70,st:0,bm:0}],markers:[{tm:0,cm:"default:hover-warning",dr:60}],props:{}};var zr=null,Le=null,Fn=new Set;function ka(){return Le||(typeof window>"u"?Promise.resolve():(Le=import('@lordicon/react').then(t=>{zr=t.Player,Fn.forEach(e=>e());}),Le))}typeof window<"u"&&ka();function ba(t){return Fn.add(t),()=>Fn.delete(t)}function Ca(){return zr}function _a(){return null}function Sa(){let[t,e]=useState("#000000");return useEffect(()=>{if(typeof window>"u")return;let n=()=>{let r=document.documentElement.classList.contains("dark");e(r?"#ffffff":"#000000");};n();let o=new MutationObserver(r=>{r.forEach(s=>{s.attributeName==="class"&&n();});});return o.observe(document.documentElement,{attributes:true}),()=>o.disconnect()},[]),t}function ot({status:t,color:e,size:n=16,className:o}){let r=useRef(null),s=useRef(null),a=useRef(null),i=useSyncExternalStore(ba,Ca,_a),c=Sa(),l=e||c;return useEffect(()=>{i&&(t==="loading"?r.current?.playFromBeginning?.():t==="finished"?(r.current?.pause?.(),s.current?.playFromBeginning?.()):t==="failed"&&(r.current?.pause?.(),a.current?.playFromBeginning?.()));},[t,i]),i?jsxs("div",{className:o,style:{width:n,height:n,position:"relative"},children:[jsx("div",{style:{position:"absolute",opacity:t==="loading"?1:0,transition:"opacity 0.3s ease-in-out"},children:jsx(i,{ref:r,size:n,icon:Jr,colorize:l,onComplete:()=>r.current?.playFromBeginning?.()})}),jsx("div",{style:{position:"absolute",opacity:t==="finished"?1:0,transition:"opacity 0.3s ease-in-out"},children:jsx(i,{ref:s,size:n,icon:Gr,colorize:l})}),jsx("div",{style:{position:"absolute",opacity:t==="failed"?1:0,transition:"opacity 0.3s ease-in-out"},children:jsx(i,{ref:a,size:n,icon:Wr,colorize:l})})]}):jsx("div",{className:o,style:{width:n,height:n}})}function he(t,e){return t==="json"||e==="json"||e==="ui_generation"}var Hr=(c=>(c.Pending="pending",c.Running="running",c.Success="success",c.Error="error",c.RequiresInfo="requires info",c.GoToStep="go to step",c.Skipped="skipped",c.Break="break",c))(Hr||{}),Kr=(s=>(s.Initializing="initializing",s.Running="running",s.ProcessingDatasets="processing datasets",s.Completed="completed",s.Failed="failed",s))(Kr||{});var Qr={Finished:"step finished",Failed:"step error"};function je({step:t}){let e=O(t.action_type)||"step",n=t.currentStatus;if(!n)return null;let o="loading";n.status===Qr.Finished||n.status==="completed"?o="finished":(n.status===Qr.Failed||n.status==="failed")&&(o="failed");let r,s=O(n.message);return s?r=s:o==="finished"?r=O(t.finished_message)||`Finished ${e}`:o==="failed"?r=`Failed: ${e}`:r=O(t.running_message)||`Running ${e}...`,jsxs("div",{className:"text-sm font-medium flex items-center gap-2",children:[jsx(ot,{status:o}),r]})}function Ue({step:t,ContentComponent:e}){if(O(t.user_output_visibility)!=="visible")return null;let n=O(t.action_type);return jsxs(Fragment,{children:[n!=="bot.invoke"&&n!=="invoke_bot"&&jsx(je,{step:t}),jsx(Rt,{eventsByID:t.eventsByID,ContentComponent:e})]})}function Fe({event:t,ContentComponent:e}){let n=H(),o=e??n?.ContentComponent;if(!t)return null;switch(t.type){case "output":return t.Output?jsx($e,{output:t.Output,ContentComponent:o}):null;case "step":return t.Step?jsx(Ue,{step:t.Step,ContentComponent:o}):null;default:return null}}function Rt({eventsByID:t,ContentComponent:e}){return jsx(Fragment,{children:Object.values(t).map(n=>jsx(Fe,{event:n,ContentComponent:e},n.id))})}function xe({content:t,className:e}){return t?.length?jsx("div",{className:e||"prose dark:prose-invert max-w-4xl w-full leading-normal",children:jsx("p",{style:{whiteSpace:"pre-wrap"},children:t})}):null}function Da(t){switch(t){case "muted":return "text-gray-500";case "error":return "text-red-500";case "warning":return "text-yellow-600";case "success":return "text-green-600";default:return ""}}function gt({content:t}){let e=useMemo(()=>t==null?null:typeof t=="object"?t:typeof t=="string"?{_raw:t}:t,[t]);if(e===null)return null;if(typeof e=="object"&&"message"in e&&typeof e.message=="string"){let n=e;return jsx("p",{className:Da(n.style),children:n.message})}return typeof e=="object"&&"_raw"in e?jsx("pre",{className:"bg-gray-100 dark:bg-gray-800 p-3 rounded overflow-x-auto text-sm whitespace-pre-wrap",children:e._raw}):null}function Ge({config:t,data:e,className:n,errorClassName:o,emptyClassName:r}){let s=useMemo(()=>!t?.chart_type||!t?.chart_title||!t?.series?.length||!t?.y_axes?.length?null:{chartType:t.chart_type,title:t.chart_title,xAxis:{label:t.x_axis.axis_label,key:t.x_axis.key,maxValue:t.x_axis.max_value,minValue:t.x_axis.min_value,type:t.x_axis.value_type,format:t.x_axis.format},yAxes:t.y_axes.map(l=>({label:l.axis_label,key:l.key,maxValue:l.max_value,minValue:l.min_value,type:l.value_type,format:l.format})),series:t.series.map(l=>({key:l.key,name:l.series_name,color:l.color,axisIndex:l.axis_index,filters:l.filters})),dataReduction:t.data_reduction,stacked:t.stacked,sort:t.sort},[t]);if(!s)return jsx("div",{className:o||"text-red-500",children:"Invalid chart configuration"});if(!e||e.length===0)return jsx("div",{className:r||"text-gray-500",children:"No data available for chart"});let a=null;switch(s.chartType){case "bar":case "histogram":a=It;break;case "line":a=Ft;break;case "pie":a=Jt;break;case "scatter":a=Gt;break;case "heatmap":a=Wt;break}if(!a)return jsxs("div",{className:o||"text-red-500",children:["Unsupported chart type: ",s.chartType]});let i={[s.xAxis.key]:{label:s.xAxis.label,format:s.xAxis.format,type:s.xAxis.type},...s.series.reduce((l,u)=>(l[u.key]={label:u.name,color:u.color},l),{})},c={chartType:s.chartType,xAxis:s.xAxis,yAxes:s.yAxes,series:s.series};return jsx("div",{className:n||"w-full max-w-3xl",children:jsx(a,{title:s.title,data:e,displayConfig:i,dataConfig:c,stacked:s.stacked,disableAnimation:e.length>100})})}function We({title:t,columns:e,data:n,className:o,maxRows:r=100}){let s=useMemo(()=>!n||n.length===0?[]:r?n.slice(0,r):n,[n,r]);return !e||e.length===0?jsx("div",{className:"text-gray-500",children:"No columns defined"}):!n||n.length===0?jsx("div",{className:"text-gray-500",children:"No data available"}):jsxs("div",{className:o||"w-full",children:[t&&jsx("h3",{className:"text-lg font-medium mb-3",children:t}),jsx("div",{className:"relative w-full overflow-x-auto rounded-lg border border-border",children:jsxs("table",{className:"w-full caption-bottom text-sm",children:[jsx("thead",{className:"[&_tr]:border-b",children:jsx("tr",{className:"border-b transition-colors bg-muted/50",children:e.map(a=>jsx("th",{className:"h-10 px-3 text-left align-middle font-medium text-muted-foreground",children:a.column_name},a.key))})}),jsx("tbody",{className:"[&_tr:last-child]:border-0",children:s.map((a,i)=>jsx("tr",{className:"border-b transition-colors hover:bg-muted/50",children:e.map(c=>jsx("td",{className:"p-3 align-middle text-foreground",children:it(a[c.key],c.format,c.value_type)},c.key))},i))})]})}),n.length>r&&jsxs("p",{className:"text-sm text-muted-foreground mt-2",children:["Showing ",r," of ",n.length," rows"]})]})}function Va(){return t=>{let e=[];visit(t,"code",(n,o,r)=>{let s=n;(!s.value||s.value.trim()==="")&&r&&typeof o=="number"&&e.push({parent:r,index:o});}),visit(t,"text",(n,o,r)=>{let a=n.value?.trim();a&&/^```[a-zA-Z]*$/.test(a)&&r&&typeof o=="number"&&e.push({parent:r,index:o});}),e.sort((n,o)=>o.index-n.index).forEach(({parent:n,index:o})=>{n.children.splice(o,1);});}}function R({content:t,className:e}){return !t||typeof t!="string"||!t.length?null:jsx("div",{className:Q("prose dark:prose-invert leading-tight",e),children:jsx(Oa,{remarkPlugins:[Ma,Va],children:t})})}var Ht=Symbol("parsing"),tt=class{result;stack;key;state;stringBuffer;numberBuffer;quoteBuffer;postQuoteWhitespace;escapeNext;unicode;isInTripleQuotes;constructor(){this.result=void 0,this.stack=[],this.key=void 0,this.state="START",this.stringBuffer="",this.numberBuffer="",this.quoteBuffer="",this.postQuoteWhitespace="",this.escapeNext=false,this.unicode="",this.isInTripleQuotes=false;}reset(){this.result=void 0,this.stack=[],this.key=void 0,this.state="START",this.stringBuffer="",this.numberBuffer="",this.quoteBuffer="",this.postQuoteWhitespace="",this.escapeNext=false,this.unicode="",this.isInTripleQuotes=false;}parse(e){return this.reset(),this.add(e)}add(e){for(let n=0;n<e.length;n++){let o=e[n];this.processChar(o);}return this.result}processChar(e){switch(this.state){case "START":this.handleStartState(e);break;case "IN_OBJECT":this.handleObjectState(e);break;case "IN_ARRAY":this.handleArrayState(e);break;case "IN_OBJECT_KEY":this.handleObjectKeyState(e);break;case "AFTER_KEY":this.handleAfterKeyState(e);break;case "IN_OBJECT_VALUE":this.handleObjectValueState(e);break;case "IN_STRING":this.handleStringState(e);break;case "IN_NUMBER":this.handleNumberState(e);break;case "IN_TRUE":this.handleLiteralState(e,"true");break;case "IN_FALSE":this.handleLiteralState(e,"false");break;case "IN_NULL":this.handleLiteralState(e,"null");break;case "IN_UNICODE":this.handleUnicodeState(e);break}}handleStartState(e){if(e==="{")this.startObject();else if(e==="[")this.startArray();else if(!this.isWhitespace(e))throw this.error("must start with { or [","start")}error(e,n){return new Error(`Invalid JSON in ${n}: ${e}`)}handleObjectState(e){if(e==="}")this.endObject();else if(e==='"')this.state="IN_OBJECT_KEY",this.stringBuffer="",this.key=void 0,this.quoteBuffer="";else if(e===",")this.key=void 0;else if(!this.isWhitespace(e))throw this.error(`Invalid character in object: ${e}`,"object")}handleArrayState(e){e==="]"?this.endArray():e===","||this.isWhitespace(e)||this.startValue(e);}handleObjectKeyState(e){e==='"'?(this.state="AFTER_KEY",this.key=this.stringBuffer,this.stringBuffer=""):(this.stringBuffer+=e,this.updateValueInParent(this.stringBuffer));}handleAfterKeyState(e){e===":"?this.state="IN_OBJECT_VALUE":this.isWhitespace(e)||this.isWhitespace(e)||(this.key=this.key+e);}handleObjectValueState(e){this.isWhitespace(e)||this.startValue(e);}handleStringState(e){if(this.escapeNext){this.handleEscapeChar(e);return}if(e==="\\"){this.quoteBuffer&&this.flushQuoteAsLiteral(),this.escapeNext=true;return}if(e==='"'){this.quoteBuffer&&this.postQuoteWhitespace&&this.flushQuoteAsLiteral(),this.quoteBuffer+='"',this.stringBuffer===""&&this.quoteBuffer==='""'?(this.quoteBuffer="",this.isInTripleQuotes=true):this.stringBuffer&&this.quoteBuffer==='"""'&&(this.quoteBuffer="",this.isInTripleQuotes=false,this.stringBuffer=this.stringBuffer.replace(/^\n+/,"").replace(/\n+$/,"").trim(),this.endString());return}if(this.quoteBuffer){if(this.quoteBuffer==='"'&&!this.isInTripleQuotes){if(this.isJsonStructuralOrQuote(e)){this.quoteBuffer="",this.postQuoteWhitespace="",this.endString(),this.processChar(e);return}if(this.isWhitespace(e)){this.postQuoteWhitespace+=e;return}this.flushQuoteAsLiteral(),this.stringBuffer+=e,this.updateValueInParent(this.stringBuffer);return}if(this.quoteBuffer==='"""'&&this.isInTripleQuotes){this.quoteBuffer="",this.isInTripleQuotes=false,this.endString(),this.processChar(e);return}this.flushQuoteAsLiteral();}this.stringBuffer+=e,this.updateValueInParent(this.stringBuffer);}flushQuoteAsLiteral(){this.stringBuffer+=this.quoteBuffer+this.postQuoteWhitespace,this.quoteBuffer="",this.postQuoteWhitespace="";}isJsonStructuralOrQuote(e){return e===","||e==="}"||e==="]"||e===":"||e==='"'}handleNumberState(e){e.match(/[0-9.eE+-]/)?(this.numberBuffer+=e,this.updateValueInParent(parseFloat(this.numberBuffer))):(this.endNumber(),this.processChar(e));}handleLiteralState(e,n){let o=n[this.stringBuffer.length];if(e===o)this.stringBuffer+=e,this.stringBuffer===n?this.endLiteral(n):this.updateValueInParent(this.stringBuffer);else throw this.error(`Invalid literal: expected ${n}`,"literal")}handleUnicodeState(e){if(this.unicode+=e,this.unicode.length===4){let n=parseInt(this.unicode,16);this.stringBuffer+=String.fromCharCode(n),this.unicode="",this.state="IN_STRING";}}handleEscapeChar(e){switch(e){case '"':case "\\":case "/":this.stringBuffer+=e;break;case "b":this.stringBuffer+="\b";break;case "f":this.stringBuffer+="\f";break;case "n":this.stringBuffer+=`
23
+ $bm_rt = comp('system-solid-56-warning').layer('control').effect('primary')('Color');`},o:{a:0,k:100,ix:5},r:1,bm:0,nm:".primary",mn:"ADBE Vector Graphic - Fill",hd:false,cl:"primary"}],ip:1,op:54,st:0,ct:1,bm:0}]},{id:"comp_3",nm:"mask-1",fr:60,layers:[{ddd:0,ind:1,ty:3,nm:"NULL 2",sr:1,ks:{o:{a:0,k:0,ix:11},r:{a:1,k:[{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:11,s:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:17.25,s:[-30]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:23.5,s:[30]},{i:{x:[.16],y:[1]},o:{x:[.333],y:[0]},t:31,s:[-30]},{t:46,s:[0]}],ix:10},p:{a:0,k:[250,284,0],ix:2,l:2},a:{a:0,k:[50,50,0],ix:1,l:2},s:{a:1,k:[{i:{x:[0,0,.2],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:0,s:[100,100,100]},{i:{x:[.3,.3,.3],y:[1,1,1]},o:{x:[1,1,.8],y:[0,0,0]},t:16,s:[180,180,100]},{i:{x:[.3,.3,.3],y:[1,1,1]},o:{x:[.7,.7,.7],y:[0,0,0]},t:35,s:[180,180,100]},{t:58,s:[100,100,100]}],ix:6,l:2}},ao:0,ip:0,op:53,st:0,bm:0},{ddd:0,ind:2,ty:4,nm:".primary.design",cl:"primary design",parent:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[50.005,120.173,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[0,0],[0,0]],c:false},ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:false},{ty:"st",c:{a:0,k:[1,1,1,1],ix:3},o:{a:0,k:100,ix:4},w:{a:1,k:[{i:{x:[0],y:[1]},o:{x:[.333],y:[0]},t:0,s:[52]},{i:{x:[0],y:[1]},o:{x:[1],y:[0]},t:10,s:[150]},{i:{x:[.833],y:[.833]},o:{x:[1],y:[0]},t:29,s:[150]},{t:53,s:[52]}],ix:5},lc:2,lj:1,ml:10,bm:0,nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:false},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Group 1",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false}],ip:0,op:53,st:-1,ct:1,bm:0},{ddd:0,ind:3,ty:4,nm:".primary.design",cl:"primary design",parent:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[50.004,10.799,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:1,k:[{i:{x:0,y:1},o:{x:.333,y:0},t:0,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[0,41.667],[0,-41.667]],c:false}]},{i:{x:0,y:1},o:{x:1,y:0},t:10,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[.004,142.667],[0,-41.667]],c:false}]},{i:{x:.833,y:.833},o:{x:1,y:0},t:29,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[.004,142.667],[0,-41.667]],c:false}]},{t:53,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[0,41.667],[0,-41.667]],c:false}]}],ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:false},{ty:"st",c:{a:0,k:[1,1,1,1],ix:3},o:{a:0,k:100,ix:4},w:{a:1,k:[{i:{x:[0],y:[1]},o:{x:[.333],y:[0]},t:0,s:[42]},{i:{x:[0],y:[1]},o:{x:[1],y:[0]},t:10,s:[150]},{i:{x:[.833],y:[.833]},o:{x:[1],y:[0]},t:29,s:[150]},{t:53,s:[42]}],ix:5},lc:2,lj:2,bm:0,nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:false},{ty:"tr",p:{a:0,k:[0,-14.5],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Group 1",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false}],ip:0,op:53,st:-1,ct:1,bm:0}]}],layers:[{ddd:0,ind:1,ty:3,nm:"control",sr:1,ks:{o:{a:0,k:0,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[0,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,ef:[{ty:5,nm:"primary",np:3,mn:"ADBE Color Control",ix:1,en:1,ef:[{ty:2,nm:"Color",mn:"ADBE Color Control-0001",ix:1,v:{a:0,k:[.071,.075,.192],ix:1}}]}],ip:0,op:131,st:0,bm:0},{ddd:0,ind:3,ty:0,nm:"hover-warning",refId:"comp_2",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[250,250,0],ix:2,l:2},a:{a:0,k:[250,250,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,w:500,h:500,ip:0,op:70,st:0,bm:0}],markers:[{tm:0,cm:"default:hover-warning",dr:60}],props:{}};var zr=null,je=null,Fn=new Set;function ka(){return je||(typeof window>"u"?Promise.resolve():(je=import('@lordicon/react').then(t=>{zr=t.Player,Fn.forEach(e=>e());}),je))}typeof window<"u"&&ka();function ba(t){return Fn.add(t),()=>Fn.delete(t)}function Ca(){return zr}function _a(){return null}function Sa(){let[t,e]=useState("#000000");return useEffect(()=>{if(typeof window>"u")return;let n=()=>{let r=document.documentElement.classList.contains("dark");e(r?"#ffffff":"#000000");};n();let o=new MutationObserver(r=>{r.forEach(s=>{s.attributeName==="class"&&n();});});return o.observe(document.documentElement,{attributes:true}),()=>o.disconnect()},[]),t}function ot({status:t,color:e,size:n=16,className:o}){let r=useRef(null),s=useRef(null),a=useRef(null),i=useSyncExternalStore(ba,Ca,_a),c=Sa(),l=e||c;return useEffect(()=>{i&&(t==="loading"?r.current?.playFromBeginning?.():t==="finished"?(r.current?.pause?.(),s.current?.playFromBeginning?.()):t==="failed"&&(r.current?.pause?.(),a.current?.playFromBeginning?.()));},[t,i]),i?jsxs("div",{className:o,style:{width:n,height:n,position:"relative"},children:[jsx("div",{style:{position:"absolute",opacity:t==="loading"?1:0,transition:"opacity 0.3s ease-in-out"},children:jsx(i,{ref:r,size:n,icon:Jr,colorize:l,onComplete:()=>r.current?.playFromBeginning?.()})}),jsx("div",{style:{position:"absolute",opacity:t==="finished"?1:0,transition:"opacity 0.3s ease-in-out"},children:jsx(i,{ref:s,size:n,icon:Gr,colorize:l})}),jsx("div",{style:{position:"absolute",opacity:t==="failed"?1:0,transition:"opacity 0.3s ease-in-out"},children:jsx(i,{ref:a,size:n,icon:Wr,colorize:l})})]}):jsx("div",{className:o,style:{width:n,height:n}})}function xe(t,e){return t==="json"||e==="json"||e==="ui_generation"}var Hr=(c=>(c.Pending="pending",c.Running="running",c.Success="success",c.Error="error",c.RequiresInfo="requires info",c.GoToStep="go to step",c.Skipped="skipped",c.Break="break",c))(Hr||{}),Kr=(s=>(s.Initializing="initializing",s.Running="running",s.ProcessingDatasets="processing datasets",s.Completed="completed",s.Failed="failed",s))(Kr||{});var Qr={Finished:"step finished",Failed:"step error"};function Ue({step:t}){let e=O(t.action_type)||"step",n=t.currentStatus;if(!n)return null;let o="loading";n.status===Qr.Finished||n.status==="completed"?o="finished":(n.status===Qr.Failed||n.status==="failed")&&(o="failed");let r,s=O(n.message);return s?r=s:o==="finished"?r=O(t.finished_message)||`Finished ${e}`:o==="failed"?r=`Failed: ${e}`:r=O(t.running_message)||`Running ${e}...`,jsxs("div",{className:"text-sm font-medium flex items-center gap-2",children:[jsx(ot,{status:o}),r]})}function Fe({step:t,ContentComponent:e}){if(O(t.user_output_visibility)!=="visible")return null;let n=O(t.action_type);return jsxs(Fragment,{children:[n!=="bot.invoke"&&n!=="invoke_bot"&&jsx(Ue,{step:t}),jsx(Dt,{eventsByID:t.eventsByID,ContentComponent:e})]})}function Je({event:t,ContentComponent:e}){let n=H(),o=e??n?.ContentComponent;if(!t)return null;switch(t.type){case "output":return t.Output?jsx(Le,{output:t.Output,ContentComponent:o}):null;case "step":return t.Step?jsx(Fe,{step:t.Step,ContentComponent:o}):null;default:return null}}function Dt({eventsByID:t,ContentComponent:e}){return jsx(Fragment,{children:Object.values(t).map(n=>jsx(Je,{event:n,ContentComponent:e},n.id))})}function ke({content:t,className:e}){return t?.length?jsx("div",{className:e||"prose dark:prose-invert max-w-4xl w-full leading-normal",children:jsx("p",{style:{whiteSpace:"pre-wrap"},children:t})}):null}function Ra(t){switch(t){case "muted":return "text-gray-500";case "error":return "text-red-500";case "warning":return "text-yellow-600";case "success":return "text-green-600";default:return ""}}function gt({content:t}){let e=useMemo(()=>t==null?null:typeof t=="object"?t:typeof t=="string"?{_raw:t}:t,[t]);if(e===null)return null;if(typeof e=="object"&&"message"in e&&typeof e.message=="string"){let n=e;return jsx("p",{className:Ra(n.style),children:n.message})}return typeof e=="object"&&"_raw"in e?jsx("pre",{className:"bg-gray-100 dark:bg-gray-800 p-3 rounded overflow-x-auto text-sm whitespace-pre-wrap",children:e._raw}):null}function We({config:t,data:e,className:n,errorClassName:o,emptyClassName:r}){let s=useMemo(()=>!t?.chart_type||!t?.chart_title||!t?.series?.length||!t?.y_axes?.length?null:{chartType:t.chart_type,title:t.chart_title,xAxis:{label:t.x_axis.axis_label,key:t.x_axis.key,maxValue:t.x_axis.max_value,minValue:t.x_axis.min_value,type:t.x_axis.value_type,format:t.x_axis.format},yAxes:t.y_axes.map(l=>({label:l.axis_label,key:l.key,maxValue:l.max_value,minValue:l.min_value,type:l.value_type,format:l.format})),series:t.series.map(l=>({key:l.key,name:l.series_name,color:l.color,axisIndex:l.axis_index,filters:l.filters})),dataReduction:t.data_reduction,stacked:t.stacked,sort:t.sort},[t]);if(!s)return jsx("div",{className:o||"text-red-500",children:"Invalid chart configuration"});if(!e||e.length===0)return jsx("div",{className:r||"text-gray-500",children:"No data available for chart"});let a=null;switch(s.chartType){case "bar":case "histogram":a=It;break;case "line":a=Ft;break;case "pie":a=Jt;break;case "scatter":a=Gt;break;case "heatmap":a=Wt;break}if(!a)return jsxs("div",{className:o||"text-red-500",children:["Unsupported chart type: ",s.chartType]});let i={[s.xAxis.key]:{label:s.xAxis.label,format:s.xAxis.format,type:s.xAxis.type},...s.series.reduce((l,u)=>(l[u.key]={label:u.name,color:u.color},l),{})},c={chartType:s.chartType,xAxis:s.xAxis,yAxes:s.yAxes,series:s.series};return jsx("div",{className:n||"w-full max-w-3xl",children:jsx(a,{title:s.title,data:e,displayConfig:i,dataConfig:c,stacked:s.stacked,disableAnimation:e.length>100})})}function qe({title:t,columns:e,data:n,className:o,maxRows:r=100}){let s=useMemo(()=>!n||n.length===0?[]:r?n.slice(0,r):n,[n,r]);return !e||e.length===0?jsx("div",{className:"text-gray-500",children:"No columns defined"}):!n||n.length===0?jsx("div",{className:"text-gray-500",children:"No data available"}):jsxs("div",{className:o||"w-full",children:[t&&jsx("h3",{className:"text-lg font-medium mb-3",children:t}),jsx("div",{className:"relative w-full overflow-x-auto rounded-lg border border-border",children:jsxs("table",{className:"w-full caption-bottom text-sm",children:[jsx("thead",{className:"[&_tr]:border-b",children:jsx("tr",{className:"border-b transition-colors bg-muted/50",children:e.map(a=>jsx("th",{className:"h-10 px-3 text-left align-middle font-medium text-muted-foreground",children:a.column_name},a.key))})}),jsx("tbody",{className:"[&_tr:last-child]:border-0",children:s.map((a,i)=>jsx("tr",{className:"border-b transition-colors hover:bg-muted/50",children:e.map(c=>jsx("td",{className:"p-3 align-middle text-foreground",children:it(a[c.key],c.format,c.value_type)},c.key))},i))})]})}),n.length>r&&jsxs("p",{className:"text-sm text-muted-foreground mt-2",children:["Showing ",r," of ",n.length," rows"]})]})}function Va(){return t=>{let e=[];visit(t,"code",(n,o,r)=>{let s=n;(!s.value||s.value.trim()==="")&&r&&typeof o=="number"&&e.push({parent:r,index:o});}),visit(t,"text",(n,o,r)=>{let a=n.value?.trim();a&&/^```[a-zA-Z]*$/.test(a)&&r&&typeof o=="number"&&e.push({parent:r,index:o});}),e.sort((n,o)=>o.index-n.index).forEach(({parent:n,index:o})=>{n.children.splice(o,1);});}}function D({content:t,className:e}){return !t||typeof t!="string"||!t.length?null:jsx("div",{className:Q("prose dark:prose-invert leading-tight",e),children:jsx(Oa,{remarkPlugins:[Ma,Va],children:t})})}var Ht=Symbol("parsing"),tt=class{result;stack;key;state;stringBuffer;numberBuffer;quoteBuffer;postQuoteWhitespace;escapeNext;unicode;isInTripleQuotes;constructor(){this.result=void 0,this.stack=[],this.key=void 0,this.state="START",this.stringBuffer="",this.numberBuffer="",this.quoteBuffer="",this.postQuoteWhitespace="",this.escapeNext=false,this.unicode="",this.isInTripleQuotes=false;}reset(){this.result=void 0,this.stack=[],this.key=void 0,this.state="START",this.stringBuffer="",this.numberBuffer="",this.quoteBuffer="",this.postQuoteWhitespace="",this.escapeNext=false,this.unicode="",this.isInTripleQuotes=false;}parse(e){return this.reset(),this.add(e)}add(e){for(let n=0;n<e.length;n++){let o=e[n];this.processChar(o);}return this.result}processChar(e){switch(this.state){case "START":this.handleStartState(e);break;case "IN_OBJECT":this.handleObjectState(e);break;case "IN_ARRAY":this.handleArrayState(e);break;case "IN_OBJECT_KEY":this.handleObjectKeyState(e);break;case "AFTER_KEY":this.handleAfterKeyState(e);break;case "IN_OBJECT_VALUE":this.handleObjectValueState(e);break;case "IN_STRING":this.handleStringState(e);break;case "IN_NUMBER":this.handleNumberState(e);break;case "IN_TRUE":this.handleLiteralState(e,"true");break;case "IN_FALSE":this.handleLiteralState(e,"false");break;case "IN_NULL":this.handleLiteralState(e,"null");break;case "IN_UNICODE":this.handleUnicodeState(e);break}}handleStartState(e){if(e==="{")this.startObject();else if(e==="[")this.startArray();else if(!this.isWhitespace(e))throw this.error("must start with { or [","start")}error(e,n){return new Error(`Invalid JSON in ${n}: ${e}`)}handleObjectState(e){if(e==="}")this.endObject();else if(e==='"')this.state="IN_OBJECT_KEY",this.stringBuffer="",this.key=void 0,this.quoteBuffer="";else if(e===",")this.key=void 0;else if(!this.isWhitespace(e))throw this.error(`Invalid character in object: ${e}`,"object")}handleArrayState(e){e==="]"?this.endArray():e===","||this.isWhitespace(e)||this.startValue(e);}handleObjectKeyState(e){e==='"'?(this.state="AFTER_KEY",this.key=this.stringBuffer,this.stringBuffer=""):(this.stringBuffer+=e,this.updateValueInParent(this.stringBuffer));}handleAfterKeyState(e){e===":"?this.state="IN_OBJECT_VALUE":this.isWhitespace(e)||this.isWhitespace(e)||(this.key=this.key+e);}handleObjectValueState(e){this.isWhitespace(e)||this.startValue(e);}handleStringState(e){if(this.escapeNext){this.handleEscapeChar(e);return}if(e==="\\"){this.quoteBuffer&&this.flushQuoteAsLiteral(),this.escapeNext=true;return}if(e==='"'){this.quoteBuffer&&this.postQuoteWhitespace&&this.flushQuoteAsLiteral(),this.quoteBuffer+='"',this.stringBuffer===""&&this.quoteBuffer==='""'?(this.quoteBuffer="",this.isInTripleQuotes=true):this.stringBuffer&&this.quoteBuffer==='"""'&&(this.quoteBuffer="",this.isInTripleQuotes=false,this.stringBuffer=this.stringBuffer.replace(/^\n+/,"").replace(/\n+$/,"").trim(),this.endString());return}if(this.quoteBuffer){if(this.quoteBuffer==='"'&&!this.isInTripleQuotes){if(this.isJsonStructuralOrQuote(e)){this.quoteBuffer="",this.postQuoteWhitespace="",this.endString(),this.processChar(e);return}if(this.isWhitespace(e)){this.postQuoteWhitespace+=e;return}this.flushQuoteAsLiteral(),this.stringBuffer+=e,this.updateValueInParent(this.stringBuffer);return}if(this.quoteBuffer==='"""'&&this.isInTripleQuotes){this.quoteBuffer="",this.isInTripleQuotes=false,this.endString(),this.processChar(e);return}this.flushQuoteAsLiteral();}this.stringBuffer+=e,this.updateValueInParent(this.stringBuffer);}flushQuoteAsLiteral(){this.stringBuffer+=this.quoteBuffer+this.postQuoteWhitespace,this.quoteBuffer="",this.postQuoteWhitespace="";}isJsonStructuralOrQuote(e){return e===","||e==="}"||e==="]"||e===":"||e==='"'}handleNumberState(e){e.match(/[0-9.eE+-]/)?(this.numberBuffer+=e,this.updateValueInParent(parseFloat(this.numberBuffer))):(this.endNumber(),this.processChar(e));}handleLiteralState(e,n){let o=n[this.stringBuffer.length];if(e===o)this.stringBuffer+=e,this.stringBuffer===n?this.endLiteral(n):this.updateValueInParent(this.stringBuffer);else throw this.error(`Invalid literal: expected ${n}`,"literal")}handleUnicodeState(e){if(this.unicode+=e,this.unicode.length===4){let n=parseInt(this.unicode,16);this.stringBuffer+=String.fromCharCode(n),this.unicode="",this.state="IN_STRING";}}handleEscapeChar(e){switch(e){case '"':case "\\":case "/":this.stringBuffer+=e;break;case "b":this.stringBuffer+="\b";break;case "f":this.stringBuffer+="\f";break;case "n":this.stringBuffer+=`
24
24
  `;break;case "r":this.stringBuffer+="\r";break;case "t":this.stringBuffer+=" ";break;case "u":this.unicode="",this.state="IN_UNICODE";break;case "`":this.stringBuffer+="`";break;default:throw this.error("Invalid escape character","string")}this.escapeNext=false;}startObject(){let e={[Ht]:true};this.addValueToParent(e),this.stack.push({value:e,key:this.key}),this.key=void 0,this.state="IN_OBJECT";}endObject(){let{value:e,key:n,index:o}=this.stack.pop();if(delete e[Ht],this.stack.length===0)this.state="END",this.result={...e};else {let{value:r}=this.stack[this.stack.length-1];if(Array.isArray(r))o!==void 0?r[o]={...e}:r[r.length-1]={...e};else if(n!==void 0)r[n]={...e};else throw this.error("Key is undefined","object");this.state=this.getParentState();}}startArray(){let e=[];e[Ht]=true,this.addValueToParent(e),this.stack.push({value:e,key:this.key,index:0}),this.key=void 0,this.state="IN_ARRAY";}endArray(){let{value:e,key:n,index:o}=this.stack.pop();if(delete e[Ht],this.stack.length===0)if(this.state="END",Array.isArray(e))this.result=[...e];else throw this.error("Expected array at root level","array");else {let{value:r}=this.stack[this.stack.length-1];Array.isArray(r)?o!==void 0?r[o]=Array.isArray(e)?[...e]:e:r[r.length-1]=Array.isArray(e)?[...e]:e:n!==void 0&&(r[n]=Array.isArray(e)?[...e]:e),this.state=this.getParentState();}}startValue(e){if(e==='"')this.state="IN_STRING",this.stringBuffer="",this.quoteBuffer="",this.addValueToParent("");else if(e.match(/[0-9-]/))this.state="IN_NUMBER",this.numberBuffer=e,this.addValueToParent(parseFloat(e));else if(e==="t")this.state="IN_TRUE",this.stringBuffer="t",this.addValueToParent("t");else if(e==="f")this.state="IN_FALSE",this.stringBuffer="f",this.addValueToParent("f");else if(e==="n")this.state="IN_NULL",this.stringBuffer="n",this.addValueToParent("n");else if(e==="{")this.startObject();else if(e==="[")this.startArray();else throw this.error(`Invalid value start: ${e}`,"value")}endString(){let e=this.stringBuffer;this.stringBuffer="",this.updateValueInParent(e),this.state=this.getParentState();}endNumber(){let e=parseFloat(this.numberBuffer);this.updateValueInParent(e),this.numberBuffer="",this.state=this.getParentState();}endLiteral(e){let n;switch(e){case "true":n=true;break;case "false":n=false;break;case "null":n=null;break;default:throw this.error("Invalid literal","literal")}this.updateValueInParent(n),this.stringBuffer="",this.state=this.getParentState();}addValueToParent(e){if(this.stack.length===0)this.result=e;else {let n=this.stack[this.stack.length-1],{value:o}=n;if(Array.isArray(o))o.push(e),n.index!==void 0&&n.index++;else if(this.state==="IN_OBJECT_KEY")this.key=e,o[this.key]="";else {if(this.key===void 0)throw this.error("Key is undefined","object");o[this.key]=e;}}}updateValueInParent(e){if(this.stack.length===0)this.result=e;else {let n=this.stack[this.stack.length-1],{value:o}=n;if(Array.isArray(o))n.index!==void 0?o[n.index-1]=e:o[o.length-1]=e;else if(this.key!==void 0)o[this.key]=e;else if(this.state!=="IN_OBJECT_KEY")throw this.error("Key is undefined","object")}}isWhitespace(e){return e===" "||e===" "||e===`
25
- `||e==="\r"}getParentState(){return this.stack.length===0?"END":Array.isArray(this.stack[this.stack.length-1].value)?"IN_ARRAY":"IN_OBJECT"}};function L(t){let e=t.trim();if(!e)return null;try{return JSON.parse(e)}catch{let o=e[0];if(o!=="{"&&o!=="[")return null;try{return new tt().parse(e)}catch{return null}}}function Dt(t){return t===" "||t===`
26
- `||t===" "||t==="\r"}function oo(t,e){if(e>=t.length-1)return "";for(let n=e+1;n<t.length;n++)if(!Dt(t[n]))return t[n];return ""}function $a(t){for(let e=0;e<t.length;e++){let n=t[e];if(n==="{"||n==="["){let o=oo(t,e);if(n==="{"&&o==='"'||n==="["&&o==="{")return e}}return -1}function yt(t){if(typeof t!="string")return t;let e=[],n=/```json\s*\n/g,o=n.test(t);if(n.lastIndex=0,o){let r=0,s;for(;(s=n.exec(t))!==null;){let i=t.substring(r,s.index).trim();i&&e.push({content:i,type:"text"});let c=s.index+s[0].length,l=[],u=c;for(;;){let m=t.indexOf("```",u);if(m===-1)break;l.push(m),u=m+3;}let p=null,d=t.length;for(let m of l){let g=t.substring(c,m);try{p=JSON.parse(g),d=m+3;break}catch{try{let f=new tt,x=f.parse(g);if(x&&f.state==="END"){p=x,d=m+3;break}}catch{}}}if(!p){let m=t.substring(c);try{let f=new tt().parse(m);f&&typeof f=="object"&&(p=f,d=t.length);}catch{}}if(p)e.push({content:p,type:"json"});else {let m=t.substring(s.index,d);e.push({content:m,type:"text"});}r=d,n.lastIndex=d;}let a=t.substring(r).trim();a&&e.push({content:a,type:"text"});}else {let r=$a(t);if(r>=0){let l=t.substring(0,r).trim(),u=t.substring(r);try{let p=JSON.parse(u);return l&&e.push({content:l,type:"text"}),e.push({content:p,type:"json"}),e}catch{let p=u[0]==="{"?"}":"]",d=u.lastIndexOf(p);for(;d>0;)try{let m=JSON.parse(u.substring(0,d+1));l&&e.push({content:l,type:"text"}),e.push({content:m,type:"json"});let g=u.substring(d+1).trim();return g&&e.push({content:g,type:"text"}),e}catch{d=u.lastIndexOf(p,d-1);}}}let s="",a=null,i=false,c=0;for(let l=0;l<t.length;l++){let u=t[l],p=oo(t,l);if(!i&&(u==="{"&&p==='"'||u==="["&&p==="{")&&(s.trim()&&e.push({content:s.trim(),type:"text"}),i=true,a=new tt,s=""),i){let d;try{d=a.add(u);}catch(m){if(console.log("parseMixedJson: currentChunk",s),console.log("parseMixedJson: currentResult",a?.result),console.warn("parseMixedJson: JSON parse error",m),c++,c>3){i=false,a=null,c=0,s+=u;continue}continue}s+=u,a.state==="END"&&(e.push({content:d,type:"json"}),i=false,a=null,s="");}else s+=u;}s.trim()&&e.push({content:s.trim(),type:"text"});}return e}function La(t){return t&&typeof t=="object"&&!t[Ht]}function Kt(t){return t&&typeof t=="object"&&t[Ht]===true}function ja(t){return t.replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase()}function Gn(t,e){if(t&&typeof t=="object"&&e&&typeof e=="object")for(let n of Object.getOwnPropertySymbols(t))e[n]=t[n];}var so={DataTable:"Table"},ao={title:"chart_title",y_axis:"y_axes",table_name:"table_title"};function Wn(t){if(t==null||typeof t!="object")return t;if(Array.isArray(t)){let n=t.map(Wn);return Gn(t,n),n}let e={};for(let[n,o]of Object.entries(t)){let r=ja(n);ao[r]&&(r=ao[r]),e[r]=Wn(o);}return Gn(t,e),e}function Ua(t){if(!t||typeof t!="object")return t;let e=t,n=e._type??e.type;n&&so[n]&&(n=so[n]);let o=e.content??e,r=e.content?Wn(o):o,s={_type:n,content:r};return Gn(t,s),s}function qn(t){return t.map(Ua)}async function Wa(t,e,n,o,r){let s=new URLSearchParams({ThreadID:n}),a=`${t}/datasets/${encodeURIComponent(e)}?${s}`,i={};o?i.Authorization=`Bearer ${o}`:r&&(i["X-Erdo-Token"]=r);let c=await fetch(a,{headers:i});if(!c.ok)return null;let l=await c.json();return {id:l.id,name:O(l.name)||"dataset"}}function qa(t){return t&&/filename="([^"]*)"/.exec(t)?.[1]||null}async function za(t,e,n,o,r,s,a){let i=`${t}/datasets/${encodeURIComponent(e)}/download`,c={"Content-Type":"application/json"};s?c.Authorization=`Bearer ${s}`:a&&(c["X-Erdo-Token"]=a);let l=await fetch(i,{method:"POST",headers:c,body:JSON.stringify({thread_id:n||"",query:o||"",resource_key:r||""})});if(!l.ok)throw new Error(`Download failed: ${l.statusText}`);let u=await l.blob(),p=qa(l.headers.get("content-disposition"))||"dataset";return {blob:u,filename:p}}function Ha(t,e){let n=window.URL.createObjectURL(t),o=document.createElement("a");o.style.display="none",o.href=n,o.download=e,document.body.appendChild(o),o.click(),window.URL.revokeObjectURL(n),document.body.removeChild(o);}function Qt({slug:t,invocationId:e,threadId:n,sqlQuery:o,resourceKey:r,className:s}){let a=H(),[i,c]=useState(false),[l,u]=useState(null),[p,d]=useState(true),m=n||a?.threadId;useEffect(()=>{if(!t||!m){d(false);return}let f=false;async function x(){try{let b=null;a?.dataFetcher?.getDatasetDetails?b=await a.dataFetcher.getDatasetDetails(t,m):a?.baseUrl&&(b=await Wa(a.baseUrl,t,m,a.authToken,a.token)),f||u(b);}catch(b){console.error("Failed to fetch dataset details:",b);}finally{f||d(false);}}return x(),()=>{f=true;}},[t,m,a]);let g=useCallback(async f=>{if(f.preventDefault(),!(!l?.id||i)){c(true);try{let x,b;if(a?.dataFetcher?.downloadDataset){x=await a.dataFetcher.downloadDataset(l.id,o,r);let k=l.name||"dataset";b=/\.[a-zA-Z0-9]+$/.test(k)?k:`${k}.csv`;}else if(a?.baseUrl){let k=await za(a.baseUrl,l.id,m,o,r,a.authToken,a.token);x=k.blob,b=k.filename;}else throw new Error("No download method available");Ha(x,b);}catch(x){console.error("Download failed:",x);}finally{c(false);}}},[l,i,a,m,o,r]);return p||!l?.id?null:jsxs("a",{href:"#",onClick:g,className:`inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors ${s||""}`,children:[jsx(Download,{className:"h-4 w-4"}),i?"Downloading...":"Download",jsx("span",{className:"font-medium",children:l.name||"dataset"})]})}function Kn({node:t,invocationId:e,warningClassName:n}){let o=t.content;if(!o)return null;let r=o.series||[],s=[...new Set(r.map(a=>a.dataset_slug).filter(a=>!!a))];return !o.chart_type||!o.chart_title||!r.length||!o.x_axis||typeof o.x_axis!="object"||!o.y_axes?.length?jsx("p",{className:n||"w-full max-w-4xl text-sm text-muted-foreground",children:"Chart could not be rendered. Please try again."}):e?jsxs("div",{className:"my-4",children:[jsx(Me,{chartType:o.chart_type,title:o.chart_title,invocationId:e,datasetSlugs:s,xAxis:{label:o.x_axis.axis_label,key:o.x_axis.key,type:o.x_axis.value_type,format:o.x_axis.format,maxValue:o.x_axis.max_value,minValue:o.x_axis.min_value},yAxes:o.y_axes.map(a=>({label:a.axis_label,key:a.key,type:a.value_type,format:a.format,maxValue:a.max_value,minValue:a.min_value})),series:r.filter(a=>!!a.dataset_slug).map(a=>({name:a.series_name,key:a.key,color:a.color,datasetSlug:a.dataset_slug,sqlQuery:a.sql_query,resourceKey:a.resource_key,axisIndex:a.axis_index,filters:a.filters?.map(i=>({key:i.key,operator:i.operator,value:i.value}))})),dataReduction:o.data_reduction?{strategy:o.data_reduction.strategy,target_points:o.data_reduction.target_points}:void 0,stacked:o.stacked,sort:o.sort?.map(a=>({key:a.key,direction:a.direction}))}),s.length>0&&jsx("div",{className:"flex gap-4 mt-2",children:s.map(a=>jsx(Qt,{slug:a,invocationId:e},a))})]}):jsx("div",{className:n||"my-4 p-4 border border-yellow-200 bg-yellow-50 dark:border-yellow-800 dark:bg-yellow-900/20 rounded text-sm text-yellow-700 dark:text-yellow-300",children:"Chart cannot be displayed: missing invocation ID for data fetching"})}function Qn({node:t,className:e,invocationId:n,warningClassName:o}){let r=t.content;if(!r)return null;let s=r.dataset_slug;return !n||!s?jsxs("div",{className:o||"my-4 p-4 border border-yellow-200 bg-yellow-50 dark:border-yellow-800 dark:bg-yellow-900/20 rounded text-sm text-yellow-700 dark:text-yellow-300",children:["Table cannot be displayed: missing ",n?"dataset slug":"invocation ID"," for data fetching"]}):jsxs("div",{className:"my-4",children:[jsx(Ve,{title:r.table_title,invocationId:n,datasetSlug:s,sqlQuery:r.sql_query,resourceKey:r.resource_key,columns:r.columns?.map(a=>({name:a.column_name,key:a.key,format:a.format,value_type:a.value_type})),className:e}),jsx("div",{className:"mt-2",children:jsx(Qt,{slug:s,invocationId:n})})]})}function Zn({node:t,className:e}){let n=t.content,o=n?.text??n?.markdown??"";return jsx("div",{className:"my-2",children:jsx(R,{content:o,className:e})})}function Yn({node:t,className:e,invocationId:n}){let r=t.content?.dataset_slug;return r?jsx("div",{className:"my-2",children:jsx(Qt,{slug:r,invocationId:n,className:e})}):null}function Xn({node:t,onSuggestionClick:e,suggestionButtonClassName:n}){let r=t.content?.suggestions||[];return r.length?jsx("div",{className:"flex flex-col gap-2 my-4",children:r.map((s,a)=>jsx("button",{onClick:e?()=>e(s):void 0,disabled:!e,className:n||"text-left px-3 py-2 bg-gray-100 dark:bg-gray-800 rounded hover:bg-gray-200 dark:hover:bg-gray-700 text-sm disabled:opacity-50 disabled:cursor-not-allowed",children:s},a))}):null}var Xa={xlsx:FileSpreadsheet,xls:FileSpreadsheet,pptx:Presentation,ppt:Presentation,pdf:FileText,docx:FileText,doc:FileText,png:Image,jpg:Image,jpeg:Image,gif:Image,svg:Image,webp:Image};function ti(t){let e=t.split(".").pop()?.toLowerCase()||"";return Xa[e]||File}function ei(t){let e=t.split(".").pop()?.toLowerCase()||"";return {xlsx:"Excel",xls:"Excel",pptx:"PowerPoint",ppt:"PowerPoint",pdf:"PDF",docx:"Word",doc:"Word",png:"Image",jpg:"Image",jpeg:"Image",gif:"Image",svg:"Image",webp:"Image"}[e]||e.toUpperCase()}function ni({file:t,className:e}){let[n,o]=useState(false),r=ti(t.name),s=ei(t.name),a=async()=>{if(!n){o(true);try{if(t.content){let i=atob(t.content),c=new Uint8Array(i.length);for(let d=0;d<i.length;d++)c[d]=i.charCodeAt(d);let l=new Blob([c]),u=URL.createObjectURL(l),p=document.createElement("a");p.href=u,p.download=t.name,document.body.appendChild(p),p.click(),document.body.removeChild(p),URL.revokeObjectURL(u);}else t.url&&window.open(t.url,"_blank");}catch(i){console.error("Download failed:",i);}finally{o(false);}}};return jsxs("div",{className:e||"flex items-center gap-3 p-3 border border-gray-200 dark:border-gray-700 rounded-lg bg-gray-50 dark:bg-gray-800/50 hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors",children:[jsx("div",{className:"flex items-center justify-center w-10 h-10 rounded-lg bg-gray-200 dark:bg-gray-700",children:jsx(r,{className:"w-5 h-5 text-gray-500 dark:text-gray-400"})}),jsxs("div",{className:"flex-1 min-w-0",children:[jsx("div",{className:"font-medium text-sm truncate",children:t.name}),jsxs("div",{className:"text-xs text-gray-500 dark:text-gray-400",children:[s," file"]})]}),jsxs("button",{onClick:a,disabled:n,className:"flex items-center gap-2 px-3 py-1.5 text-sm font-medium border border-gray-300 dark:border-gray-600 rounded-md hover:bg-gray-100 dark:hover:bg-gray-700 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:[jsx(Download,{className:"w-4 h-4"}),n?"Downloading...":"Download"]})]})}function tr({node:t,className:e}){let r=(t.content?.files||[]).filter(s=>!s.name.toLowerCase().endsWith(".csv"));return r.length?jsxs("div",{className:"flex flex-col gap-2 my-4",children:[jsx("div",{className:"text-sm text-gray-500 dark:text-gray-400 mb-1",children:"Generated Files"}),r.map(s=>jsx(ni,{file:s,className:e},s.key||s.name))]}):null}var er={Chart:Kn,Table:Qn,TextMarkdown:Zn,DownloadButton:Yn,Suggestions:Xn,FileDownloads:tr};function Yt({nodes:t,className:e,invocationId:n,onSuggestionClick:o,customNodeComponents:r,warningClassName:s,suggestionButtonClassName:a}){if(!t||!Array.isArray(t))return null;let i={...er,...r},l=qn(t).filter(u=>u?._type&&i[u._type]);return l.length===0?t.some(p=>Kt(p))?null:jsx("p",{className:"w-full max-w-4xl text-sm text-muted-foreground",children:"The LLM generated an invalid response. Please try again."}):jsx(Fragment,{children:l.map((u,p)=>{let d=u,m=i[d._type];return jsx(m,{node:d,index:p,className:e,invocationId:n,onSuggestionClick:o,warningClassName:s,suggestionButtonClassName:a},`${d._type}-${p}`)})})}var uo="erdo-shimmer-style";function qe(){if(typeof document>"u"||document.getElementById(uo))return;let t=document.createElement("style");t.id=uo,t.textContent=`
25
+ `||e==="\r"}getParentState(){return this.stack.length===0?"END":Array.isArray(this.stack[this.stack.length-1].value)?"IN_ARRAY":"IN_OBJECT"}};function L(t){let e=t.trim();if(!e)return null;try{return JSON.parse(e)}catch{let o=e[0];if(o!=="{"&&o!=="[")return null;try{return new tt().parse(e)}catch{return null}}}function Rt(t){return t===" "||t===`
26
+ `||t===" "||t==="\r"}function oo(t,e){if(e>=t.length-1)return "";for(let n=e+1;n<t.length;n++)if(!Rt(t[n]))return t[n];return ""}function $a(t){for(let e=0;e<t.length;e++){let n=t[e];if(n==="{"||n==="["){let o=oo(t,e);if(n==="{"&&o==='"'||n==="["&&o==="{")return e}}return -1}function yt(t){if(typeof t!="string")return t;let e=[],n=/```json\s*\n/g,o=n.test(t);if(n.lastIndex=0,o){let r=0,s;for(;(s=n.exec(t))!==null;){let i=t.substring(r,s.index).trim();i&&e.push({content:i,type:"text"});let c=s.index+s[0].length,l=[],u=c;for(;;){let m=t.indexOf("```",u);if(m===-1)break;l.push(m),u=m+3;}let d=null,p=t.length;for(let m of l){let g=t.substring(c,m);try{d=JSON.parse(g),p=m+3;break}catch{try{let f=new tt,x=f.parse(g);if(x&&f.state==="END"){d=x,p=m+3;break}}catch{}}}if(!d){let m=t.substring(c);try{let f=new tt().parse(m);f&&typeof f=="object"&&(d=f,p=t.length);}catch{}}if(d)e.push({content:d,type:"json"});else {let m=t.substring(s.index,p);e.push({content:m,type:"text"});}r=p,n.lastIndex=p;}let a=t.substring(r).trim();a&&e.push({content:a,type:"text"});}else {let r=$a(t);if(r>=0){let l=t.substring(0,r).trim(),u=t.substring(r);try{let d=JSON.parse(u);return l&&e.push({content:l,type:"text"}),e.push({content:d,type:"json"}),e}catch{let d=u[0]==="{"?"}":"]",p=u.lastIndexOf(d);for(;p>0;)try{let m=JSON.parse(u.substring(0,p+1));l&&e.push({content:l,type:"text"}),e.push({content:m,type:"json"});let g=u.substring(p+1).trim();return g&&e.push({content:g,type:"text"}),e}catch{p=u.lastIndexOf(d,p-1);}}}let s="",a=null,i=false,c=0;for(let l=0;l<t.length;l++){let u=t[l],d=oo(t,l);if(!i&&(u==="{"&&d==='"'||u==="["&&d==="{")&&(s.trim()&&e.push({content:s.trim(),type:"text"}),i=true,a=new tt,s=""),i){let p;try{p=a.add(u);}catch(m){if(console.log("parseMixedJson: currentChunk",s),console.log("parseMixedJson: currentResult",a?.result),console.warn("parseMixedJson: JSON parse error",m),c++,c>3){i=false,a=null,c=0,s+=u;continue}continue}s+=u,a.state==="END"&&(e.push({content:p,type:"json"}),i=false,a=null,s="");}else s+=u;}s.trim()&&e.push({content:s.trim(),type:"text"});}return e}function La(t){return t&&typeof t=="object"&&!t[Ht]}function Kt(t){return t&&typeof t=="object"&&t[Ht]===true}function ja(t){return t.replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase()}function Gn(t,e){if(t&&typeof t=="object"&&e&&typeof e=="object")for(let n of Object.getOwnPropertySymbols(t))e[n]=t[n];}var so={DataTable:"Table"},ao={title:"chart_title",y_axis:"y_axes",table_name:"table_title"};function Wn(t){if(t==null||typeof t!="object")return t;if(Array.isArray(t)){let n=t.map(Wn);return Gn(t,n),n}let e={};for(let[n,o]of Object.entries(t)){let r=ja(n);ao[r]&&(r=ao[r]),e[r]=Wn(o);}return Gn(t,e),e}function Ua(t){if(!t||typeof t!="object")return t;let e=t,n=e._type??e.type;n&&so[n]&&(n=so[n]);let o=e.content??e,r=e.content?Wn(o):o,s={_type:n,content:r};return Gn(t,s),s}function qn(t){return t.map(Ua)}async function Wa(t,e,n,o,r){let s=new URLSearchParams({ThreadID:n}),a=`${t}/datasets/${encodeURIComponent(e)}?${s}`,i={};o?i.Authorization=`Bearer ${o}`:r&&(i["X-Erdo-Token"]=r);let c=await fetch(a,{headers:i});if(!c.ok)return null;let l=await c.json();return {id:l.id,name:O(l.name)||"dataset"}}function qa(t){return t&&/filename="([^"]*)"/.exec(t)?.[1]||null}async function za(t,e,n,o,r,s,a){let i=`${t}/datasets/${encodeURIComponent(e)}/download`,c={"Content-Type":"application/json"};s?c.Authorization=`Bearer ${s}`:a&&(c["X-Erdo-Token"]=a);let l=await fetch(i,{method:"POST",headers:c,body:JSON.stringify({thread_id:n||"",query:o||"",resource_key:r||""})});if(!l.ok)throw new Error(`Download failed: ${l.statusText}`);let u=await l.blob(),d=qa(l.headers.get("content-disposition"))||"dataset";return {blob:u,filename:d}}function Ha(t,e){let n=window.URL.createObjectURL(t),o=document.createElement("a");o.style.display="none",o.href=n,o.download=e,document.body.appendChild(o),o.click(),window.URL.revokeObjectURL(n),document.body.removeChild(o);}function Qt({slug:t,invocationId:e,threadId:n,sqlQuery:o,resourceKey:r,className:s}){let a=H(),[i,c]=useState(false),[l,u]=useState(null),[d,p]=useState(true),m=n||a?.threadId;useEffect(()=>{if(!t||!m){p(false);return}let f=false;async function x(){try{let b=null;a?.dataFetcher?.getDatasetDetails?b=await a.dataFetcher.getDatasetDetails(t,m):a?.baseUrl&&(b=await Wa(a.baseUrl,t,m,a.authToken,a.token)),f||u(b);}catch(b){console.error("Failed to fetch dataset details:",b);}finally{f||p(false);}}return x(),()=>{f=true;}},[t,m,a]);let g=useCallback(async f=>{if(f.preventDefault(),!(!l?.id||i)){c(true);try{let x,b;if(a?.dataFetcher?.downloadDataset){x=await a.dataFetcher.downloadDataset(l.id,o,r);let k=l.name||"dataset";b=/\.[a-zA-Z0-9]+$/.test(k)?k:`${k}.csv`;}else if(a?.baseUrl){let k=await za(a.baseUrl,l.id,m,o,r,a.authToken,a.token);x=k.blob,b=k.filename;}else throw new Error("No download method available");Ha(x,b);}catch(x){console.error("Download failed:",x);}finally{c(false);}}},[l,i,a,m,o,r]);return d||!l?.id?null:jsxs("a",{href:"#",onClick:g,className:`inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors ${s||""}`,children:[jsx(Download,{className:"h-4 w-4"}),i?"Downloading...":"Download",jsx("span",{className:"font-medium",children:l.name||"dataset"})]})}function Kn({node:t,invocationId:e,warningClassName:n}){let o=t.content;if(!o)return null;let r=o.series||[],s=[...new Set(r.map(a=>a.dataset_slug).filter(a=>!!a))];return !o.chart_type||!o.chart_title||!r.length||!o.x_axis||typeof o.x_axis!="object"||!o.y_axes?.length?jsx("p",{className:n||"w-full max-w-4xl text-sm text-muted-foreground",children:"Chart could not be rendered. Please try again."}):e?jsxs("div",{className:"my-4",children:[jsx(Ve,{chartType:o.chart_type,title:o.chart_title,invocationId:e,datasetSlugs:s,xAxis:{label:o.x_axis.axis_label,key:o.x_axis.key,type:o.x_axis.value_type,format:o.x_axis.format,maxValue:o.x_axis.max_value,minValue:o.x_axis.min_value},yAxes:o.y_axes.map(a=>({label:a.axis_label,key:a.key,type:a.value_type,format:a.format,maxValue:a.max_value,minValue:a.min_value})),series:r.filter(a=>!!a.dataset_slug).map(a=>({name:a.series_name,key:a.key,color:a.color,datasetSlug:a.dataset_slug,sqlQuery:a.sql_query,resourceKey:a.resource_key,axisIndex:a.axis_index,filters:a.filters?.map(i=>({key:i.key,operator:i.operator,value:i.value}))})),dataReduction:o.data_reduction?{strategy:o.data_reduction.strategy,target_points:o.data_reduction.target_points}:void 0,stacked:o.stacked,sort:o.sort?.map(a=>({key:a.key,direction:a.direction}))}),s.length>0&&jsx("div",{className:"flex gap-4 mt-2",children:s.map(a=>jsx(Qt,{slug:a,invocationId:e},a))})]}):jsx("div",{className:n||"my-4 p-4 border border-yellow-200 bg-yellow-50 dark:border-yellow-800 dark:bg-yellow-900/20 rounded text-sm text-yellow-700 dark:text-yellow-300",children:"Chart cannot be displayed: missing invocation ID for data fetching"})}function Qn({node:t,className:e,invocationId:n,warningClassName:o}){let r=t.content;if(!r)return null;let s=r.dataset_slug;return !n||!s?jsxs("div",{className:o||"my-4 p-4 border border-yellow-200 bg-yellow-50 dark:border-yellow-800 dark:bg-yellow-900/20 rounded text-sm text-yellow-700 dark:text-yellow-300",children:["Table cannot be displayed: missing ",n?"dataset slug":"invocation ID"," for data fetching"]}):jsxs("div",{className:"my-4",children:[jsx($e,{title:r.table_title,invocationId:n,datasetSlug:s,sqlQuery:r.sql_query,resourceKey:r.resource_key,columns:r.columns?.map(a=>({name:a.column_name,key:a.key,format:a.format,value_type:a.value_type})),className:e}),jsx("div",{className:"mt-2",children:jsx(Qt,{slug:s,invocationId:n})})]})}function Zn({node:t,className:e}){let n=t.content,o=n?.text??n?.markdown??"";return jsx("div",{className:"my-2",children:jsx(D,{content:o,className:e})})}function Yn({node:t,className:e,invocationId:n}){let r=t.content?.dataset_slug;return r?jsx("div",{className:"my-2",children:jsx(Qt,{slug:r,invocationId:n,className:e})}):null}function Xn({node:t,onSuggestionClick:e,suggestionButtonClassName:n}){let r=t.content?.suggestions||[];return r.length?jsx("div",{className:"flex flex-col gap-2 my-4",children:r.map((s,a)=>jsx("button",{onClick:e?()=>e(s):void 0,disabled:!e,className:n||"text-left px-3 py-2 bg-gray-100 dark:bg-gray-800 rounded hover:bg-gray-200 dark:hover:bg-gray-700 text-sm disabled:opacity-50 disabled:cursor-not-allowed",children:s},a))}):null}var Xa={xlsx:FileSpreadsheet,xls:FileSpreadsheet,pptx:Presentation,ppt:Presentation,pdf:FileText,docx:FileText,doc:FileText,png:Image,jpg:Image,jpeg:Image,gif:Image,svg:Image,webp:Image};function ti(t){let e=t.split(".").pop()?.toLowerCase()||"";return Xa[e]||File}function ei(t){let e=t.split(".").pop()?.toLowerCase()||"";return {xlsx:"Excel",xls:"Excel",pptx:"PowerPoint",ppt:"PowerPoint",pdf:"PDF",docx:"Word",doc:"Word",png:"Image",jpg:"Image",jpeg:"Image",gif:"Image",svg:"Image",webp:"Image"}[e]||e.toUpperCase()}function ni({file:t,className:e}){let[n,o]=useState(false),r=ti(t.name),s=ei(t.name),a=async()=>{if(!n){o(true);try{if(t.content){let i=atob(t.content),c=new Uint8Array(i.length);for(let p=0;p<i.length;p++)c[p]=i.charCodeAt(p);let l=new Blob([c]),u=URL.createObjectURL(l),d=document.createElement("a");d.href=u,d.download=t.name,document.body.appendChild(d),d.click(),document.body.removeChild(d),URL.revokeObjectURL(u);}else t.url&&window.open(t.url,"_blank");}catch(i){console.error("Download failed:",i);}finally{o(false);}}};return jsxs("div",{className:e||"flex items-center gap-3 p-3 border border-gray-200 dark:border-gray-700 rounded-lg bg-gray-50 dark:bg-gray-800/50 hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors",children:[jsx("div",{className:"flex items-center justify-center w-10 h-10 rounded-lg bg-gray-200 dark:bg-gray-700",children:jsx(r,{className:"w-5 h-5 text-gray-500 dark:text-gray-400"})}),jsxs("div",{className:"flex-1 min-w-0",children:[jsx("div",{className:"font-medium text-sm truncate",children:t.name}),jsxs("div",{className:"text-xs text-gray-500 dark:text-gray-400",children:[s," file"]})]}),jsxs("button",{onClick:a,disabled:n,className:"flex items-center gap-2 px-3 py-1.5 text-sm font-medium border border-gray-300 dark:border-gray-600 rounded-md hover:bg-gray-100 dark:hover:bg-gray-700 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:[jsx(Download,{className:"w-4 h-4"}),n?"Downloading...":"Download"]})]})}function tr({node:t,className:e}){let r=(t.content?.files||[]).filter(s=>!s.name.toLowerCase().endsWith(".csv"));return r.length?jsxs("div",{className:"flex flex-col gap-2 my-4",children:[jsx("div",{className:"text-sm text-gray-500 dark:text-gray-400 mb-1",children:"Generated Files"}),r.map(s=>jsx(ni,{file:s,className:e},s.key||s.name))]}):null}var er={Chart:Kn,Table:Qn,TextMarkdown:Zn,DownloadButton:Yn,Suggestions:Xn,FileDownloads:tr};function Yt({nodes:t,className:e,invocationId:n,onSuggestionClick:o,customNodeComponents:r,warningClassName:s,suggestionButtonClassName:a}){if(!t||!Array.isArray(t))return null;let i={...er,...r},l=qn(t).filter(u=>u?._type&&i[u._type]);return l.length===0?t.some(d=>Kt(d))?null:jsx("p",{className:"w-full max-w-4xl text-sm text-muted-foreground",children:"The LLM generated an invalid response. Please try again."}):jsx(Fragment,{children:l.map((u,d)=>{let p=u,m=i[p._type];return jsx(m,{node:p,index:d,className:e,invocationId:n,onSuggestionClick:o,warningClassName:s,suggestionButtonClassName:a},`${p._type}-${d}`)})})}var uo="erdo-shimmer-style";function ze(){if(typeof document>"u"||document.getElementById(uo))return;let t=document.createElement("style");t.id=uo,t.textContent=`
27
27
  @keyframes erdo-shimmer {
28
28
  0% {
29
29
  background-position: 200% center;
@@ -47,6 +47,6 @@ $bm_rt = comp('system-solid-56-warning').layer('control').effect('primary')('Col
47
47
  background-clip: text;
48
48
  color: transparent;
49
49
  }
50
- `,document.head.appendChild(t);}function ze({item:t,className:e}){let[n,o]=useState(false);useEffect(()=>{qe();},[]);let r=t.content_type==="redacted_thinking",s="",a=false;if(typeof t.content=="string")s=t.content;else if(t.content&&typeof t.content=="object")if(r)s=t.content.data||"Some of Claude's internal reasoning has been automatically encrypted for safety reasons. This doesn't affect the quality of responses.";else {let p=t.content;s=p.thinking||"",a=typeof p.signature=="string"&&p.signature.length>0;}let i=typeof t.state=="string"?t.state:"",l=(i==="in_progress"||i==="streaming"||i==="running")&&!a;return jsxs("div",{className:e,children:[jsxs("button",{onClick:()=>o(!n),className:"inline-flex items-center gap-1.5 text-left",children:[n?jsx(ChevronDown,{className:"h-3.5 w-3.5 text-muted-foreground/70"}):jsx(ChevronRight,{className:"h-3.5 w-3.5 text-muted-foreground/70"}),jsx("span",{className:`text-sm ${l?"erdo-shimmer":"text-muted-foreground hover:text-foreground/70 transition-colors"}`,children:r?"Encrypted thinking":"Thinking"})]}),n&&jsx("div",{className:"mt-1 pl-5 text-sm text-muted-foreground",children:s?jsx(R,{content:s,className:"text-sm text-muted-foreground [&_*]:text-muted-foreground"}):l?"Thinking...":""})]})}function li(t){try{return JSON.parse(t)}catch{return t}}function ci(t){if(!t)return "";try{return new Date(t).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return ""}}function nr({log:t}){let e=typeof t.message=="string"?li(t.message):t.message,n=ci(t.timestamp),o="text-xs font-mono py-0.5 px-1.5 rounded flex items-start",r="";switch(t.level){case "error":o+=" bg-red-50/50 dark:bg-red-950/30 text-red-600 dark:text-red-400 border-l-2 border-red-400 dark:border-red-600",r="text-red-500 dark:text-red-400";break;case "requires_info":o+=" bg-yellow-50/50 dark:bg-yellow-950/30 text-yellow-600 dark:text-yellow-400 border-l-2 border-yellow-400 dark:border-yellow-600",r="text-yellow-500 dark:text-yellow-400";break;default:o+=" bg-blue-50/40 dark:bg-blue-900/20 text-blue-500/90 dark:text-blue-300/80 border-l-2 border-blue-300 dark:border-blue-600/50",r="text-blue-400 dark:text-blue-400/70";}return jsx("div",{className:"my-0.5",children:jsx("div",{className:o,children:jsxs("div",{className:"flex items-start gap-2",children:[n&&jsx("span",{className:"text-[10px] opacity-60 whitespace-nowrap w-16 flex-shrink-0 pt-0.5",children:n}),t.level==="error"&&jsx("span",{className:"inline-block mr-1 flex-shrink-0",children:jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:`h-3 w-3 ${r}`,viewBox:"0 0 20 20",fill:"currentColor",children:jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.28 7.22a.75.75 0 00-1.06 1.06L8.94 10l-1.72 1.72a.75.75 0 101.06 1.06L10 11.06l1.72 1.72a.75.75 0 101.06-1.06L11.06 10l1.72-1.72a.75.75 0 00-1.06-1.06L10 8.94 8.28 7.22z",clipRule:"evenodd"})})}),t.level==="requires_info"&&jsx("span",{className:"inline-block mr-1 flex-shrink-0",children:jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:`h-3 w-3 ${r}`,viewBox:"0 0 20 20",fill:"currentColor",children:jsx("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})})}),t.level==="info"&&jsx("span",{className:"inline-block mr-1 flex-shrink-0",children:jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:`h-3 w-3 ${r}`,viewBox:"0 0 20 20",fill:"currentColor",children:jsx("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})})}),jsx("div",{className:"flex-1 break-words whitespace-pre-wrap",children:String(e)})]})})})}function He({item:t,className:e}){let n=typeof t.content=="object"&&t.content!==null?t.content:{message:String(t.content)},o={level:n.level||"info",message:n.message||String(t.content),timestamp:n.timestamp};return jsx("div",{className:e,children:jsx(nr,{log:o})})}function pi(t){if(!t||typeof t!="object")return null;let e=t;if(Array.isArray(e.results))return e;if(e.result&&typeof e.result=="object"){let n=e.result;if(Array.isArray(n.results))return n}return null}function Ke({item:t,className:e}){let n=pi(t.content);return n?.results?.length?jsx("div",{className:`rounded-lg border border-border/50 overflow-hidden ${e||""}`,children:jsx("div",{className:"divide-y divide-border/30",children:n.results.map(o=>{let r="";try{r=new URL(o.url).hostname.replace(/^www\./,"");}catch{}return jsxs("a",{href:o.url,target:"_blank",rel:"noopener noreferrer",className:"flex items-start gap-3 px-3 py-2 hover:bg-muted/50 transition-colors group",children:[jsxs("div",{className:"flex-1 min-w-0",children:[jsx("div",{className:"text-sm text-foreground/90 group-hover:text-foreground group-hover:underline truncate",children:o.title}),o.description&&jsx("div",{className:"text-xs text-muted-foreground mt-0.5 line-clamp-1",children:o.description})]}),jsxs("div",{className:"flex items-center gap-1 shrink-0 mt-0.5",children:[jsx("span",{className:"text-[10px] text-muted-foreground/60",children:r}),jsx(ExternalLink,{className:"h-3 w-3 text-muted-foreground/40 group-hover:text-muted-foreground"})]})]},o.url)})})}):null}function fi(t){if(!t||typeof t!="object")return null;let e=t;if(typeof e.content=="string")return e;if(e.result&&typeof e.result=="object"){let n=e.result;if(typeof n.content=="string")return n}return null}function gi(t){if(!t||typeof t!="object")return null;let n=t.input;return typeof n?.url=="string"?n.url:null}function Qe({item:t,className:e}){let n=fi(t.content),o=gi(t.content),r=n?.url||o,s=n?.title,a=n?.content,i="";try{r&&(i=new URL(r).hostname.replace(/^www\./,""));}catch{}return !a&&!r?null:jsxs("div",{className:`rounded-lg border border-border/50 overflow-hidden ${e||""}`,children:[r&&jsxs("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-2 px-3 py-2 border-b border-border/30 hover:bg-muted/50 transition-colors group",children:[jsxs("div",{className:"flex-1 min-w-0",children:[jsx("div",{className:"text-sm text-foreground/90 group-hover:text-foreground truncate",children:s?.trim()||i||r}),s&&i&&jsx("div",{className:"text-[10px] text-muted-foreground/60 mt-0.5",children:i})]}),jsx(ExternalLink,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground/40 group-hover:text-muted-foreground"})]}),a&&jsx("div",{className:"max-h-64 overflow-y-auto px-3 py-2 bg-muted/20",children:jsx(R,{content:a,className:"text-xs"})})]})}var Ni=Prism,bt=memo(function({language:e,value:n,defaultOpen:o=false,title:r="View code",closeTitle:s="Hide code",className:a,theme:i="auto"}){let[c,l]=useState(o),[u,p]=useState(false),d=useRef(null);useEffect(()=>{if(!c){let y=d.current;y&&(y.scrollTop=y.scrollHeight);}},[c,n]);let m=useMemo(()=>i!=="auto"?i:typeof window>"u"?"light":document.documentElement.classList.contains("dark")||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",[i]),g=useMemo(()=>m==="dark"?oneDark:oneLight,[m]),f=useCallback(async()=>{try{await navigator.clipboard.writeText(n),p(!0),setTimeout(()=>p(!1),2e3);}catch{let y=document.createElement("textarea");y.value=n,document.body.appendChild(y),y.select(),document.execCommand("copy"),document.body.removeChild(y),p(true),setTimeout(()=>p(false),2e3);}},[n]),x=useMemo(()=>({margin:0,width:"100%",background:"transparent",padding:"1rem 0.5rem",fontSize:"0.825rem",maxWidth:"100vw",overflow:"auto"}),[]),b=useMemo(()=>({userSelect:"none",minWidth:"2.5em",paddingRight:"1em",color:"rgb(161 161 170)",opacity:"0.5"}),[]),k=useMemo(()=>({style:{fontFamily:"var(--font-mono, ui-monospace, monospace)",whiteSpace:"pre",wordBreak:"break-word"}}),[]);return jsx(se.Root,{open:c,onOpenChange:l,className:a,children:jsxs("div",{className:"relative w-full font-sans rounded-lg overflow-hidden border border-zinc-200 dark:border-zinc-800",children:[jsxs("div",{className:"flex items-center justify-between w-full px-4 py-1.5 bg-white/80 dark:bg-zinc-800/80 text-zinc-600 dark:text-zinc-100 backdrop-blur-sm border-b border-zinc-200 dark:border-zinc-800",children:[jsx("span",{className:"text-xs font-medium lowercase text-zinc-400 dark:text-zinc-500",children:e}),jsx("button",{onClick:f,className:"h-6 w-6 flex items-center justify-center rounded-md hover:bg-zinc-100 dark:hover:bg-zinc-700 transition-colors",children:u?jsx(Check,{className:"h-3 w-3 text-green-500"}):jsx(Copy,{className:"h-3 w-3 text-zinc-400 dark:text-zinc-500"})})]}),jsxs("div",{ref:d,className:`${c?"max-h-96":"max-h-[200px]"} overflow-auto relative`,children:[jsx("div",{className:"bg-zinc-50/50 dark:bg-zinc-950/70",children:jsx(Ni,{language:e,style:g,PreTag:"div",showLineNumbers:true,wrapLines:false,wrapLongLines:false,startingLineNumber:1,className:"not-prose",customStyle:x,lineNumberStyle:b,codeTagProps:k,children:n})}),!c&&jsx("div",{className:"absolute bottom-0 inset-x-0 h-24 pointer-events-none bg-gradient-to-t from-zinc-50 dark:from-zinc-950 to-transparent",style:{marginBottom:"1.5rem"}})]}),jsx(se.Trigger,{className:"absolute bottom-0 inset-x-0 flex items-center gap-2 text-sm text-zinc-400 dark:text-zinc-500 hover:text-zinc-600 dark:hover:text-zinc-300 p-2 justify-start bg-zinc-50/80 dark:bg-zinc-950/80 backdrop-blur-sm border-t border-zinc-200 dark:border-zinc-800 cursor-pointer",children:c?jsxs(Fragment,{children:[jsx(ChevronUp,{className:"h-4 w-4"}),s]}):jsxs(Fragment,{children:[jsx(ChevronDown,{className:"h-4 w-4"}),r]})})]})})});function Ti(t){if(typeof t!="object"||t===null||Array.isArray(t))return null;let e=t;return "sql_query"in e||"thinking"in e||"error"in e?{thinking:typeof e.thinking=="string"?e.thinking:void 0,sql_query:typeof e.sql_query=="string"?e.sql_query:void 0,resource_key:typeof e.resource_key=="string"?e.resource_key:void 0,error:typeof e.error=="string"?e.error:void 0}:null}function Ei(t){return Ti(t.content)}function Ye({item:t,className:e}){let n=Ei(t);if(!n)return null;let{thinking:o,sql_query:r,error:s}=n;return s?jsxs("div",{className:`text-destructive text-sm ${e||""}`,children:[jsx("div",{className:"font-medium",children:"Error"}),jsx("div",{children:s})]}):!r&&!o?null:jsxs("div",{className:`text-foreground whitespace-pre-wrap leading-normal ${e||""}`,children:[o&&jsx("div",{className:"mb-2",children:jsx(R,{content:o,className:"text-sm max-w-none"})}),r&&jsx("div",{className:"mb-2",children:jsx(bt,{language:"sql",value:r,defaultOpen:false})})]})}var Di=500,Ai=300;function ee({content:t,className:e}){let[n,o]=useState(false);if(!t||typeof t!="string"||!t.trim())return null;if(t.length<=Di)return jsx("div",{className:`text-sm text-muted-foreground ${e||""}`,children:jsx(R,{content:t,className:"text-sm max-w-none"})});let s=t.slice(0,Ai).trimEnd()+"...";return jsx("div",{className:`text-sm text-muted-foreground ${e||""}`,children:n?jsxs(Fragment,{children:[jsx(R,{content:t,className:"text-sm max-w-none"}),jsx("button",{onClick:()=>o(false),className:"text-xs text-muted-foreground/70 hover:text-muted-foreground mt-1",children:"Show less"})]}):jsxs(Fragment,{children:[jsx("span",{className:"text-sm",children:s}),jsx("button",{onClick:()=>o(true),className:"text-xs text-muted-foreground/70 hover:text-muted-foreground ml-1",children:"Show more"})]})})}function Ct({children:t,defaultOpen:e=false,wrapperType:n="standard",compact:o=false,className:r}){let[s,a]=useState(e),[i,c]=useState(false),l=useRef(null);useEffect(()=>{let d=l.current;d&&(s||(d.scrollTop=d.scrollHeight),c(d.scrollHeight>d.clientHeight));},[s,t]);let u={standard:"bg-muted/30 border-border",info:"bg-info/10 border-info/30",warning:"bg-warning/10 border-warning/30"},p={standard:"text-muted-foreground hover:text-foreground",info:"text-info hover:text-info/80",warning:"text-warning hover:text-warning/80"};return jsx("div",{className:`relative text-sm ${o?"":"mb-2"} ${r||""}`,children:jsx(se.Root,{open:s,onOpenChange:a,className:`border rounded-sm ${u[n]}`,children:jsxs("div",{ref:l,className:`overflow-y-auto ${s?"":"max-h-[200px]"}`,children:[i&&jsx(se.Trigger,{className:`sticky top-0 text-center text-xs py-1 transition-opacity w-full cursor-pointer ${p[n]}`,children:s?"Less \u2193":"More \u2191"}),jsx("div",{className:`${o?"px-2 py-1":"p-2"} m-0 overflow-x-auto break-words whitespace-pre-wrap`,children:t})]})})})}function sr(t){return new Date(t).toLocaleTimeString("en-US",{hour12:false,hour:"2-digit",minute:"2-digit",second:"2-digit"})}function ne({children:t,timestamp:e}){return jsxs("div",{className:"flex",children:[e&&jsx("span",{className:"text-muted-foreground/60 mr-2 select-none",children:sr(e)}),jsx("span",{className:"text-foreground/80",children:t})]})}function re({children:t,timestamp:e}){return jsxs("div",{className:"flex",children:[e&&jsx("span",{className:"text-info/60 mr-2 select-none",children:sr(e)}),jsx("span",{className:"text-info/90",children:t})]})}function tn({children:t,timestamp:e}){return jsxs("div",{className:"flex",children:[e&&jsx("span",{className:"text-warning/60 mr-2 select-none",children:sr(e)}),jsx("span",{className:"text-warning/90",children:t})]})}function nn({item:t,className:e}){if(!t.content)return null;let n=Oi(t.content)??Mi(t.parsedJson);if(!n)return null;let{step_by_step:o,thinking:r,code:s,warnings:a,error:i}=n;return i?jsx(Ct,{wrapperType:"info",className:e,children:jsx(re,{children:i})}):!o&&!r&&!s&&!a?null:jsxs("div",{className:`text-foreground whitespace-pre-wrap leading-normal ${e||""}`,children:[o&&jsx(R,{content:o,className:"text-sm max-w-none"}),r&&jsx(ee,{content:r,state:typeof t.state=="string"?t.state:void 0}),s&&jsx("div",{className:"mb-2",children:jsx(bt,{language:"python",value:s,defaultOpen:false})}),a&&jsxs("div",{className:"text-sm text-warning",children:[jsx("div",{className:"font-medium",children:"Warnings"}),jsx(R,{content:a,className:"text-sm max-w-none"})]})]})}function Oi(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)?t:null}function Mi(t){if(!Array.isArray(t))return null;let n=t.find(o=>o.type==="json");return n&&typeof n.content=="object"&&n.content!==null?n.content:null}function Co({item:t,className:e}){if(!t.content)return null;let n=Vi(t.content,t.parsedJson);if(!n)return null;let{thinking:o,code:r}=n,s=t.state==="in_progress",a=r?r.split(`
51
- `).length:0;return jsxs("div",{className:`text-sm text-muted-foreground ${e||""}`,children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx(ot,{status:s?"loading":"finished",size:14}),jsx("span",{children:s?"Rewriting code\u2026":`Rewrote code${a>0?` (${a} lines)`:""}`})]}),o&&jsx("div",{className:"mt-1",children:jsx(ee,{content:o,state:t.state})})]})}function Vi(t,e){if(typeof t=="object"&&t!==null&&!Array.isArray(t))return t;if(Array.isArray(e)){let n=e.find(o=>o.type==="json");if(n&&typeof n.content=="object"&&n.content!==null)return n.content}return null}function sn({item:t,className:e}){let n=Li(t);if(n.sort((a,i)=>a.index-i.index),n.length===0)return null;let o=n.some(a=>a.level==="error"),r=n.some(a=>a.level==="warning"),s=o?"info":r?"warning":"standard";return jsx("div",{className:`text-foreground leading-normal ${e||""}`,children:jsx(Ct,{wrapperType:s,compact:true,children:n.map((a,i)=>jsx($i,{output:a},`${a.level}-${i}`))})})}function $i({output:t}){switch(t.level){case "output":return jsx(ne,{timestamp:t.timestamp,children:t.message});case "error":return jsx(re,{timestamp:t.timestamp,children:t.message});case "warning":return jsx(tn,{timestamp:t.timestamp,children:t.message});default:return jsx("div",{className:"text-muted-foreground",children:t.message})}}function Li(t){let e=_o(t.content);return e.length>0?e:_o(t.parsedJson)}function _o(t){return on(t).map((n,o)=>ji(n,o)).filter(n=>n!==null)}function on(t){if(Array.isArray(t))return t.every(Ui)?t.flatMap(e=>on(e.content)):t;if(typeof t=="string"){let e=L(t);return e!=null?on(e):on(yt(t))}if(t&&typeof t=="object"){let e=t;if(Array.isArray(e.outputs))return e.outputs;if(typeof e.message=="string"||typeof e.stdout=="string"||typeof e.stderr=="string"||typeof e.content=="string")return [e]}return []}function ji(t,e){if(!t||typeof t!="object")return null;let n=t,o=typeof n.message=="string"?n.message:typeof n.stdout=="string"?n.stdout:typeof n.stderr=="string"?n.stderr:typeof n.content=="string"?n.content:"";if(!o.trim())return null;let r=typeof n.level=="string"?n.level:n.stderr?"error":n.warning?"warning":"output";return {level:r==="error"||r==="warning"||r==="output"?r:"output",message:o,timestamp:typeof n.timestamp=="string"?n.timestamp:void 0,index:typeof n.index=="number"?n.index:e}}function Ui(t){return !!(t&&typeof t=="object"&&"type"in t&&"content"in t)}function Gi(t){if(!t?.result||t.status==="error")return false;let e=t.result;return typeof e=="string"?e.trim()!=="":Array.isArray(e)?e.length>0:typeof e=="object"&&e!==null?Object.keys(e).length>0:true}function Wi(t,e,n){if(e?.finished_message)return e.finished_message;if(e?.running_message)return e.running_message;if(!e&&n?.running_message)return n.running_message;let o=t||"tool";return e?`Completed ${o}`:`Running ${o}...`}function oe({toolGroup:t,ContentComponent:e,className:n,fallbackClassName:o}){let[r,s]=useState(false),a=H(),i=e??a?.ContentComponent;useEffect(()=>{qe();},[]);let c=t.invocation,l=t.result,u=Gi(l),p=c?.name||l?.name,d=Wi(p,l,c),m=!l,g=u&&!m;return jsxs("div",{className:n,children:[jsx("span",{role:g?"button":void 0,tabIndex:g?0:void 0,onClick:()=>g&&s(!r),onKeyDown:f=>{g&&(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),s(!r));},className:`text-sm ${m?"erdo-shimmer":g?"text-muted-foreground hover:text-foreground/70 cursor-pointer transition-colors":"text-muted-foreground"}`,children:d}),r&&u&&l&&jsx("div",{className:"mt-1",children:i?jsx(i,{content:{content:l.result,content_type:l.ui_content_type||"json"}}):jsx("pre",{className:o||"text-sm bg-gray-100 dark:bg-gray-800 p-2 rounded overflow-x-auto",children:JSON.stringify(l.result,null,2)})})]})}var Ot={Success:"success",Error:"error",RequiresInfo:"requires info"};function Qi(t){return t?t===Ot.Success?"finished":t===Ot.Error||t===Ot.RequiresInfo?"failed":"loading":"loading"}function wo(t){return t?t!==Ot.Success&&t!==Ot.Error&&t!==Ot.RequiresInfo:true}function Zi(t,e){let n=e||"agent",o=O(t?.message);return o||(t?.status===Ot.Success?`Finished ${n}`:`Running ${n}...`)}function ln({content:t,botInvocation:e,isLoading:n=false,defaultOpen:o,adminLinkHref:r,adminLinkText:s="Open in Agent Designer",showAdminLink:a=false,onAdminClick:i,onExpand:c,EventsComponent:l,ContentComponent:u,className:p}){let d=()=>o!==void 0?o:wo(e?.currentStatus?.status),[m,g]=useState(d),[f,x]=useState(false),b=useRef(null);if(useEffect(()=>{if(e?.currentStatus){let v=e.currentStatus.status;if(b.current!==v&&(b.current=v,!f)){let I=wo(v);I&&!m?g(true):!I&&m&&g(false);}}},[e,f,m]),useEffect(()=>{m&&e&&c&&c(t.invocation_id,t.bot_id,t.bot_name);},[m,e,c,t]),n&&!e&&!t.transparent)return jsxs("div",{className:`flex items-center gap-2 text-sm text-muted-foreground ${p||""}`,children:[jsx(ot,{status:"loading"}),jsxs("span",{children:["Loading ",t.bot_name,"..."]})]});if(!e)return null;let k=e.eventsByID&&Object.keys(e.eventsByID).length>0;if(t.transparent)return k?l?jsx(l,{eventsByID:e.eventsByID,defaultOpen:true}):jsx(Rt,{eventsByID:e.eventsByID,ContentComponent:u}):null;let y=Qi(e.currentStatus?.status),h=Zi(e.currentStatus,t.bot_name),S=v=>{g(v),x(true);},_=v=>{i&&(v.preventDefault(),i(t.invocation_id,t.bot_id));};return jsxs(se.Root,{open:m,onOpenChange:S,className:`relative w-full max-w-4xl space-y-2 leading-normal bot-invocation-content ${p||""}`,children:[jsxs("div",{className:"flex items-center justify-between",children:[jsxs(se.Trigger,{className:"flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:[jsxs("div",{className:"text-sm font-medium flex items-center gap-2",children:[jsx(ot,{status:y}),h]}),jsx(ChevronDown,{className:`h-4 w-4 transition-transform duration-200 ${m?"transform rotate-180":""}`})]}),a&&(r||i)&&jsxs("a",{href:r||"#",onClick:i?_:void 0,target:r?"_blank":void 0,rel:r?"noopener noreferrer":void 0,className:"flex items-center gap-1 text-sm text-muted-foreground hover:text-foreground transition-colors",children:[s,jsx(ArrowUpRight,{className:"h-3.5 w-3.5"})]})]}),jsx(se.Content,{children:jsx("div",{className:"space-y-2 max-w-3xl",children:k?l?jsx(l,{eventsByID:e.eventsByID,defaultOpen:m}):jsx(Rt,{eventsByID:e.eventsByID,ContentComponent:u}):jsx("span",{className:"text-sm text-muted-foreground",children:"No events to display"})})})]})}function Io({content:t,isSearching:e=false,className:n}){let o=[];Array.isArray(t)?o=t:typeof t=="object"&&t!==null&&"q"in t?o=t.q:typeof t=="string"&&(o=[t]);let r=o.filter(s=>s&&typeof s=="string"&&s.trim()!=="");return r.length===0?null:jsx("div",{className:`flex flex-wrap gap-2 ${n||""}`,children:r.map(s=>jsxs("div",{className:"inline-flex items-center px-3 py-1.5 rounded-lg text-sm bg-muted/50 text-foreground border border-border/30",children:[e?jsx(Loader2,{className:"h-3 w-3 mr-2 text-muted-foreground flex-shrink-0 animate-spin"}):jsx(Search,{className:"h-3 w-3 mr-2 text-muted-foreground flex-shrink-0"}),jsx("span",{className:"line-clamp-1",children:s})]},s))})}function No({content:t,isSearching:e=false,className:n}){let o=[];if(Array.isArray(t))o=t;else if(typeof t=="object"&&t!==null&&"integration_queries"in t)o=t.integration_queries;else if(typeof t=="string")return null;let r=o.filter(s=>s&&s.query&&typeof s.query=="string"&&s.query.trim()!=="");return r.length===0?null:jsx("div",{className:`flex flex-wrap gap-2 ${n||""}`,children:r.map(s=>jsxs("div",{className:"inline-flex items-center px-3 py-1.5 rounded-lg text-sm bg-muted/50 text-foreground border border-border/30",children:[e?jsx(Loader2,{className:"h-3 w-3 mr-2 text-muted-foreground flex-shrink-0 animate-spin"}):jsx(Search,{className:"h-3 w-3 mr-2 text-muted-foreground flex-shrink-0"}),jsx("span",{className:"line-clamp-1",children:s.query})]},`${s.integration_config_id}-${s.resource_id}-${s.query}`))})}var ul=120;function dl(t,e){return !t||t.length<=e?t:t.slice(0,e).trimEnd()+"..."}function pl(t){switch(t){case "snippet":return Code;case "learning":return Brain;case "error":return AlertCircle;case "limitation":return AlertCircle;case "optimization":return Zap;default:return Lightbulb}}function ml(t){switch(t){case "snippet":return "Snippet";case "learning":return "Learning";case "error":return "Error";case "limitation":return "Limitation";case "optimization":return "Optimization";default:return t}}function fl({memory:t}){let[e,n]=useState(false),o=pl(t.type),r=ml(t.type),s=t.type==="snippet",a=dl(t.description||"",ul),i=t.content&&typeof t.content=="string"&&t.content.trim()!=="",c=s&&i;return jsxs(se.Root,{open:e,onOpenChange:n,className:"border border-border/50 rounded-lg overflow-hidden",children:[jsxs(se.Trigger,{className:`w-full text-left p-3 flex items-start gap-3 ${c?"hover:bg-muted/50 cursor-pointer":"cursor-default"}`,disabled:!c,children:[jsx("div",{className:"flex-shrink-0 mt-0.5",children:jsx(o,{className:"h-4 w-4 text-muted-foreground"})}),jsxs("div",{className:"flex-1 min-w-0",children:[jsxs("div",{className:"flex items-center gap-2 mb-1",children:[jsx("span",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide",children:r}),t.tags&&t.tags.length>0&&jsxs("div",{className:"flex gap-1 flex-wrap",children:[t.tags.slice(0,3).map((l,u)=>jsx("span",{className:"text-xs px-1.5 py-0.5 bg-muted rounded text-muted-foreground",children:l},u)),t.tags.length>3&&jsxs("span",{className:"text-xs text-muted-foreground",children:["+",t.tags.length-3]})]})]}),jsx("p",{className:"text-sm text-foreground",children:s?a:t.description||t.content})]}),c&&jsx(ChevronDown,{className:`h-4 w-4 text-muted-foreground flex-shrink-0 transition-transform duration-200 ${e?"rotate-180":""}`})]}),c&&jsx(se.Content,{children:jsx("div",{className:"border-t border-border/50 bg-muted/30",children:jsx("pre",{className:"p-3 text-sm overflow-x-auto whitespace-pre-wrap break-words font-mono",children:t.content})})})]})}function dn({content:t,className:e}){let n=Array.isArray(t)?t:t?.memories;return !n||n.length===0?jsx("p",{className:"text-sm text-muted-foreground",children:"No memories found."}):jsx("div",{className:`space-y-2 ${e||""}`,children:n.map(o=>jsx(fl,{memory:o},o.id))})}function ar(){return jsxs("span",{className:"inline-flex gap-1 text-muted-foreground",children:[jsx("span",{className:"animate-bounce",style:{animationDelay:"0ms"},children:"\u25CF"}),jsx("span",{className:"animate-bounce",style:{animationDelay:"150ms"},children:"\u25CF"}),jsx("span",{className:"animate-bounce",style:{animationDelay:"300ms"},children:"\u25CF"})]})}function Ao(){return jsx("div",{className:"flex items-center justify-center py-8",children:jsx(Loader2,{className:"animate-spin text-muted-foreground",size:24})})}function xl(t){if(t.content_type==="bot_invocation"||t.content_type==="bot_invocation_result")return null;if(t.content&&typeof t.content=="object"){let n=t.content,o=n.tool_invocation_content;if(n.action_type==="bot.invoke"||o?.action_type==="bot.invoke")return null}if(t.content_type==="tool_invocation")return "tool_invocation";if(t.content_type==="tool_result")return "tool_result";if(!t.content||typeof t.content!="object")return null;let e=t.content;return "action_type"in e&&"name"in e&&"input"in e&&e.action_type!=="bot.invoke"?"result"in e?"tool_result":"tool_invocation":null}function Mt({content:t,className:e,components:n}){let r=H()?.onSuggestionClick,s=useMemo(()=>l=>jsx(Mt,{...l,components:n}),[n]);if(!t.content||t.content==="")return null;if(t.content&&typeof t.content=="object"){let l=t.content,u=l.tool_invocation_content;if(l.action_type==="bot.invoke"||u?.action_type==="bot.invoke")return null}let a=xl(t),i;a?i=a:i=O(t.ui_content_type)||t.content_type;let c=n?.[i];if(c)return jsx(c,{content:t,className:e});switch(i){case "text":return jsx(xe,{content:Eo(t),className:e});case "markdown":return jsx(R,{content:Eo(t),className:e});case "thinking":case "redacted_thinking":return jsx(ze,{item:t,className:e});case "json":return jsx(gt,{content:t.content,className:e});case "codegen_json":return jsx(nn,{item:t,className:e});case "code_rewrite":return jsx(Co,{item:t,className:e});case "sql_generation":return jsx(Ye,{item:t,className:e});case "codeexec_output":return jsx(sn,{item:t,className:e});case "log":return jsx(He,{item:t,className:e});case "websearch":case "websearch_output":case "web_search":return jsx(Ke,{item:t,className:e});case "search_queries":return jsx(Io,{content:t.content,className:e});case "integration_queries":return jsx(No,{content:t.content,className:e});case "memory":return jsx(dn,{content:t.content,className:e});case "webparse":case "webparse_output":case "web_parse":return jsx(Qe,{item:t,className:e});case "tool_group":return jsx(oe,{toolGroup:t.content,ContentComponent:s,className:e});case "bot_invocation":{let l=t.content,u=t.botInvocation;return jsx(ln,{content:l,botInvocation:u,ContentComponent:s,className:e})}case "chart":case "ui_generation":{let l=t.invocation_id||t.created_by_invocation_id;if(t.chartConfig&&t.chartData)return jsx(Ge,{config:t.chartConfig,data:t.chartData,className:e});let u=Se(t.content);if(u&&Ro(u))return Do(u,e,l,r);let p=Se(t.parsedJson);return p&&Ro(p)?Do(p,e,l,r):jsx("p",{className:"w-full max-w-4xl text-sm text-muted-foreground",children:"The LLM generated an invalid response. Please try again."})}case "table":return t.tableColumns&&t.tableData?jsx(We,{columns:t.tableColumns,data:t.tableData,className:e}):jsx(gt,{content:t.content,className:e});case "tool_invocation":{let l=t.content,u={invocation:{invocation_id:l.id||"",action:l.action_type||"",params:l.input||{},id:l.id||"",name:l.name||"",input:l.input||{},description:l.description,action_type:l.action_type,running_message:l.running_message}};return jsx(oe,{toolGroup:u,ContentComponent:s,className:e})}case "tool_result":{let l=t.content,u={invocation:{invocation_id:l.id||"",action:l.action_type||"",params:l.input||{}},result:{invocation_id:l.id||"",result:l.result}},p={...u,invocation:{...u.invocation,id:l.id||"",name:l.name||"",input:l.input||{},action_type:l.action_type,description:l.description},result:{...u.result,id:l.id||"",name:l.name||"",input:l.input||{},result:l.result,status:l.status||"success",action_type:l.action_type,description:l.description,ui_content_type:l.ui_content_type||O(t.ui_content_type),running_message:l.running_message||l.running_status,finished_message:l.finished_message||l.finished_status}};return jsx(oe,{toolGroup:p,ContentComponent:s,className:e})}default:return typeof t.content=="string"?jsx(xe,{content:t.content,className:e}):null}}function Eo(t){return typeof t.content=="string"?t.content:""}function Ro(t){return t.some(e=>{if(e.type==="text"){if(typeof e.content!="string")return false;let n=e.content.trim();return !(!n||n.startsWith("{")||n.startsWith("["))}if(e.type==="json"){let n=e.content;return !!Po(n)||Kt(n)}return false})}function Po(t){let e=t?.children??t?.blocks;return Array.isArray(e)?e:void 0}function Se(t){if(t==null)return null;if(Array.isArray(t))return t.every(o=>o&&typeof o=="object"&&"type"in o&&"content"in o)?t:t.every(o=>o&&typeof o=="object"&&"_type"in o)?[{type:"json",content:{children:t}}]:null;if(typeof t=="object")return [{type:"json",content:t}];if(typeof t=="string"){let e=yt(t);return Se(e)}return null}function Do(t,e,n,o){return jsx(Fragment,{children:t.map((r,s)=>{if(r.type==="text"){let a=typeof r.content=="string"?r.content:String(r.content);return jsx(R,{content:a,className:e},`${s}-${a.length}`)}if(r.type==="json"){let a=r.content,i=Po(a);return i?jsx(ht__default.Fragment,{children:jsx(Yt,{nodes:i,className:e,invocationId:n,onSuggestionClick:o})},`${s}-${i.length}`):Kt(a)?jsx(ar,{},s):null}return null})})}function Cl({result:t,isStreaming:e,className:n,components:o,streamingText:r}){let s=t?Bo(t):[];return r&&s.length===0?jsxs("div",{className:n?`erdo-ui ${n}`:"erdo-ui space-y-4",children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx("div",{className:"animate-pulse w-2 h-2 bg-blue-500 rounded-full"}),jsx("span",{className:"text-sm text-gray-500",children:"Streaming response..."})]}),jsx("div",{className:"border rounded-lg p-4 whitespace-pre-wrap",children:r})]}):s.length===0&&!e?null:jsxs("div",{className:n?`erdo-ui ${n}`:"erdo-ui space-y-4",children:[s.map((a,i)=>jsx("div",{children:jsx(Mt,{content:a,components:o})},a.id||i)),e&&s.length===0&&!r&&jsxs("div",{className:"flex items-center gap-2",children:[jsx("div",{className:"animate-pulse w-2 h-2 bg-blue-500 rounded-full"}),jsx("span",{className:"text-sm text-gray-500",children:"Processing..."})]})]})}function Bo(t){let e=[],n=new Set;if(t.events)for(let o of t.events){let r=o.metadata,s=o.payload;if(r?.user_visibility==="visible"&&s?.status==="success"&&s?.output){let a=s.output;if(a.content&&Array.isArray(a.content))for(let i=0;i<a.content.length;i++){let c=a.content[i],l=c.id||`event-result-${i}`;if(n.has(l))continue;n.add(l);let u=r?.ui_content_type;e.push({id:l,content_type:c.content_type||"text",ui_content_type:u,content:c.content,data:c.data,chartConfig:c.chartConfig,chartData:c.chartData,tableColumns:c.tableColumns,tableData:c.tableData});}}}if(e.length===0&&t.result?.output?.content){let o=t.result.output.content;if(Array.isArray(o))for(let r=0;r<o.length;r++){let s=o[r],a=s.id||`result-${r}`;if(n.has(a))continue;n.add(a);let i=s.ui_content_type;e.push({...s,id:a,ui_content_type:i});}}return e}function _l(t){if(t.length===0)return t;let e=false;for(let o=0;o<t.length-1;o++){let r=t[o].type,s=t[o+1].type;if(r==="text"&&s==="json"||r==="json"&&s==="text"){e=true;break}}if(!e)return t;let n=[];for(let o=0;o<t.length;o++){let r=t[o],s=o>0?t[o-1]:null,a=o<t.length-1?t[o+1]:null;if(r.type==="text"&&typeof r.content=="string"){let i=r.content,c=false;if(a?.type==="json"){let l=i;i=i.replace(/```(?:json)?\s*$/,""),l!==i&&(c=true);}if(s?.type==="json"){let l=i;i=i.replace(/^\s*```/,""),l!==i&&(c=true);}(!c||i.trim())&&n.push({...r,content:i});}else n.push(r);}return n}var Sl=new Set(["=","("]);function vl(t){if(!t||t.length===0)return true;let e=t[t.length-1];return !Sl.has(e)}function ir(t,e){if(t.user_visibility!=="visible"||!he(t.content_type,t.ui_content_type.String))return typeof t.content=="object"?t:{...t,content:(t.content||"")+e};if(typeof t.content=="object"&&t.content!==null)return t;let n=t.parsedJson?[...t.parsedJson]:[];n.length>0&&(n[n.length-1]={...n[n.length-1]});let o=(t.content||"")+e,r=t._isInJson??false,s=t._charBuffer??"",a=t._jsonParser,i=n.length>0&&t._currentContent?n[n.length-1]:void 0;if(typeof e=="object")return {...t,content:(t.content||"")+JSON.stringify(e),parsedJson:[...n,e],_isInJson:r,_charBuffer:s,_jsonParser:a,_currentContent:void 0};let c=o.length-e.length,l="",u=()=>{l&&(!i||i.type!=="text"?(i={content:l,type:"text"},n.push(i)):i.content=i.content+l,l="");};for(let m=0;m<e.length;m++){let g=e[m];if(!r&&g==="{"){let f=o.slice(0,c+m);if(vl(f)){u(),s="{";continue}}if(s&&Dt(g)){s+=g;continue}if(!r&&s?.match(/^\s*{\s*$/)&&g==='"'){r=true,a=new tt;let x={content:a.add("{"),type:"json"};i?.content?typeof i.content=="string"&&i.content.match(/^\s*{$/)?(i=x,n[n.length-1]=x):(typeof i.content=="string"&&(i.content=i.content.replace(/{$/,"")),i=x,n.push(x)):(i=x,n.push(x));}if(r)try{let f=a.add(g);i.content=f,a.state==="END"&&(r=!1,i=void 0);}catch{if(r=false,a=void 0,i&&i.type==="json"){let x=o.lastIndexOf("{"),b=o.slice(x,c+m+1);i.type="text",i.content=b;}continue}else l+=s+g;s="";}u();let p=i,d=_l(n);return {...t,content:o,parsedJson:d,_isInJson:r,_charBuffer:s,_jsonParser:a,_currentContent:p}}function ve(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function wl(t){if(!ve(t)||!("content"in t))return t;let e=t.content;return e===void 0?t:e}function le(t,e){let n=wl(e);if((t==="thinking"||t==="redacted_thinking")&&typeof n=="string"){let o=L(n);return ve(o)?{content:o}:{content:n}}if(t==="json"&&typeof n=="string"){let o;try{let s=yt(n);Array.isArray(s)&&(o=s);}catch{}let r=L(n);return r!=null?{content:r,parsedJson:o}:{content:n,parsedJson:o}}return {content:n}}function Il(t,e){return typeof e=="string"?e:ve(e)?t==="redacted_thinking"?typeof e.data=="string"?e.data:"":typeof e.thinking=="string"?e.thinking:"":""}function mn(t,e,n){let o=le(t,n);if(t!=="thinking"&&t!=="redacted_thinking")return o;let r=Il(t,e);return r?t==="redacted_thinking"?ve(o.content)&&typeof o.content.data!="string"?{...o,content:{...o.content,data:r}}:o:ve(o.content)&&typeof o.content.thinking!="string"?{...o,content:{...o.content,thinking:r}}:o:o}function fn(t){let e=t.metadata?.step_id??t.payload?.step_id;return typeof e=="string"?e:""}function lr(t){let e=t.metadata?.message_content_id??t.payload?.message_content_id;return typeof e=="string"?e:""}function Nl(t){let e=t.metadata?.message_id;return typeof e=="string"?e:""}function cr(t,e){if(e.metadata?.content_type==="agent_invocation")return true;let n=Nl(e);return !!(n&&n!==t.messageId)}function Tl(t){return typeof t=="string"?t:typeof t=="object"&&t!==null&&"content"in t?String(t.content??""):""}function gn(){return {nodes:[],byStepId:{},byContentId:{},childrenByParentId:{},rootStepId:null,messageId:null,isStreaming:false}}function ur(t,e){switch(e.type){case "message created":return El(t,e);case "message finished":return Oo(t);case "step_started":return Rl(t,e);case "step_finished":return Dl(t,e);case "create message content":return Al(t,e);case "message content delta":return Pl(t,e);case "message content result":return Bl(t,e);case "status":return Ml(t,e);default:return t}}function El(t,e){let n=e.metadata?.message_id??e.payload?.message_id;if(!n)return t;let o=e.payload?.role,r=!!e.metadata?.invocation_id;return o==="assistant"||!o&&r?{...t,messageId:n}:t}function Rl(t,e){let n=e.payload;if(!n?.step_id)return t;let o=t.byStepId[n.step_id],r=n.parent_step_id??null,s={kind:"step",id:n.step_id,parentId:r,type:n.type||o?.type||"agent",name:n.name||o?.name||"",key:n.key??o?.key,status:"running",contentType:n.content_type??o?.contentType,runningStatus:n.running_status??o?.runningStatus,finishedStatus:n.finished_status??o?.finishedStatus,hidden:n.hidden??o?.hidden},i=!r&&!t.rootStepId?n.step_id:t.rootStepId,c=r??"__root__",l=t.childrenByParentId[c]??[],u=l.includes(n.step_id)?t.childrenByParentId:{...t.childrenByParentId,[c]:[...l,n.step_id]},p=o?t.nodes.map(d=>d.kind==="step"&&d.id===n.step_id?s:d):[...t.nodes,s];return {...t,nodes:p,byStepId:{...t.byStepId,[n.step_id]:s},childrenByParentId:u,rootStepId:i,isStreaming:true}}function Dl(t,e){let n=e.payload;if(!n?.step_id)return t;let o=t.byStepId[n.step_id];if(!o){let c={kind:"step",id:n.step_id,parentId:null,type:"agent",name:"",status:n.status==="error"?"error":"completed",error:n.error,finishedStatus:n.finished_status};return {...t,nodes:[...t.nodes,c],byStepId:{...t.byStepId,[n.step_id]:c}}}let r={...o,status:n.status==="error"?"error":"completed",error:n.error??o.error,...n.finished_status?{finishedStatus:n.finished_status}:{}},s=n.step_id===t.rootStepId,a=t.nodes.map(c=>c.kind==="step"&&c.id===n.step_id?r:c.kind==="content"&&c.stepId===n.step_id?{...c,state:"completed"}:c),i={...t.byContentId};for(let[c,l]of Object.entries(i))l.stepId===n.step_id&&(i[c]={...l,state:"completed"});return {...t,nodes:a,byStepId:{...t.byStepId,[n.step_id]:r},byContentId:i,isStreaming:s?false:t.isStreaming}}function Al(t,e){if(cr(t,e))return t;let n=lr(e);if(!n)return t;let o=fn(e)||null,r=typeof e.metadata?.content_type=="string"&&e.metadata.content_type||"text",s=typeof e.metadata?.ui_content_type=="string"&&e.metadata.ui_content_type||r,a=t.byContentId[n];if(a){let c={...a,stepId:a.stepId??o,contentType:a.contentType==="text"?r:a.contentType,uiContentType:a.uiContentType==="text"?s:a.uiContentType};return {...t,nodes:t.nodes.map(l=>l.kind==="content"&&l.id===n?c:l),byContentId:{...t.byContentId,[n]:c}}}let i={kind:"content",id:n,stepId:o,contentType:r,uiContentType:s,text:"",state:"streaming"};return {...t,nodes:[...t.nodes,i],byContentId:{...t.byContentId,[n]:i}}}function Pl(t,e){if(cr(t,e))return t;let n=lr(e),o=Tl(e.payload);if(!n||!o)return t;let r=t.byContentId[n],s=t;if(!r){let u=fn(e)||null,p=typeof e.metadata?.content_type=="string"&&e.metadata.content_type||"text",d=typeof e.metadata?.ui_content_type=="string"&&e.metadata.ui_content_type||p;r={kind:"content",id:n,stepId:u,contentType:p,uiContentType:d,text:"",state:"streaming"},s={...t,nodes:[...t.nodes,r],byContentId:{...t.byContentId,[n]:r}};}let a=r.text+o,i={},c=r.parsedContent;if(r.contentType==="json"){let u=Ll(r,o);c=u.parsedContent,i=u._parserFields;}let l={...r,text:a,...c!==void 0?{parsedContent:c}:{},...i};return {...s,nodes:s.nodes.map(u=>u.kind==="content"&&u.id===n?l:u),byContentId:{...s.byContentId,[n]:l}}}function Bl(t,e){if(cr(t,e))return t;let n=lr(e);if(!n)return t;let o=fn(e)||null,r=typeof e.metadata?.content_type=="string"&&e.metadata.content_type||"text",s=typeof e.metadata?.ui_content_type=="string"&&e.metadata.ui_content_type||r,a=t.byContentId[n],i=a?mn(r,a.result??a.text,e.payload):le(r,e.payload);if(!a){let l={kind:"content",id:n,stepId:o,contentType:r,uiContentType:s,text:"",result:i.content,...i.parsedJson?{parsedContent:i.parsedJson}:{},state:"completed"};return {...t,nodes:[...t.nodes,l],byContentId:{...t.byContentId,[n]:l}}}let c={...a,result:i.content,...i.parsedJson?{parsedContent:i.parsedJson}:{},state:"completed"};return {...t,nodes:t.nodes.map(l=>l.kind==="content"&&l.id===n?c:l),byContentId:{...t.byContentId,[n]:c}}}function Oo(t){let e=t.nodes.map(o=>o.kind==="content"&&o.state==="streaming"?{...o,state:"completed"}:o),n={...t.byContentId};for(let[o,r]of Object.entries(n))r.state==="streaming"&&(n[o]={...r,state:"completed"});return {...t,nodes:e,byContentId:n,isStreaming:false}}function Ol(t){let e=t.payload;return typeof e=="string"?e:e?.message||e?.status_message||e?.status||""}function Ml(t,e){let n=fn(e)||null,o=Ol(e);if(!o)return t;if(n){let s=t.byStepId[n];return s?Vl(t,s,n,o):$l(t,n,o)}let r={kind:"status",stepId:null,message:o};return {...t,nodes:[...t.nodes,r]}}function Vl(t,e,n,o){let r=e.status==="completed"||e.status==="error"?{...e,finishedStatus:o}:{...e,runningStatus:o};return {...t,nodes:t.nodes.map(s=>s.kind==="step"&&s.id===n?r:s),byStepId:{...t.byStepId,[n]:r}}}function $l(t,e,n){let o=false,r=t.nodes.map(a=>{if(a.kind!=="content"||a.stepId!==e||a.contentType!=="tool_invocation"&&a.contentType!=="tool_result"||!a.result||typeof a.result!="object")return a;o=true;let i=a.state==="completed"?"finished_message":"running_message";return {...a,result:{...a.result,[i]:n}}});if(!o)return t;let s={...t.byContentId};for(let a of r)a.kind==="content"&&a.stepId===e&&t.byContentId[a.id]!==a&&(s[a.id]=a);return {...t,nodes:r,byContentId:s}}function Ll(t,e){let n=t,o={content:n._rawText??t.text,user_visibility:"visible",content_type:"json",ui_content_type:{String:t.uiContentType||"json",Valid:true},parsedJson:t.parsedContent??[],_jsonParser:n._jsonParser,_isInJson:n._isInJson,_charBuffer:n._charBuffer??"",_currentContent:n._currentContent},r=ir(o,e);return {parsedContent:r.parsedJson,_parserFields:{_rawText:r.content,_jsonParser:r._jsonParser,_isInJson:r._isInJson,_charBuffer:r._charBuffer,_currentContent:r._currentContent}}}function jl(t){for(let e of t.nodes){if(e.kind==="step"){let o=t.byStepId[e.id];if(o&&o.type==="tool_call"&&!o.hidden)return true;continue}if(e.kind!=="content")continue;let n=t.byContentId[e.id];if(n&&!(n.contentType==="tool_invocation"||n.contentType==="agent_invocation")&&(n.contentType==="tool_result"&&n.result||n.text||n.parsedContent?.length||n.result))return true}return false}function yn(t,e,n){return e.type!=="llm_call"?false:!(e.parentId===t.rootStepId)&&n.contentType==="text"}function hn(t){if(!t.rootStepId)return [];let e=[],n={};function o(s){if(!s)return false;if(s in n)return n[s];let a=s,i=false,c=[];for(;a;){if(a in n){i=i||n[a];break}c.push(a);let l=t.byStepId[a];if(!l)return false;if(l.hidden){i=true;break}a=l.parentId;}for(let l of c)n[l]=i;return i}function r(s){let a=false;if(s.contentType==="thinking"||s.contentType==="redacted_thinking"){let c=s.result??s.text;e.push({id:s.id,content_type:s.contentType,ui_content_type:s.uiContentType||s.contentType,content:c,state:s.state==="streaming"?"in_progress":"completed"}),a=true;}else if(s.contentType==="json"){if(s.parsedContent)for(let c=0;c<s.parsedContent.length;c++){let l=s.parsedContent[c];if(l.type==="text"&&l.content)e.push({id:`${s.id}-text-${c}`,content_type:"text",ui_content_type:"markdown",content:String(l.content)}),a=true;else if(l.type==="json"&&typeof l.content=="object"){let u=l.content;typeof u.output=="string"?e.push({id:`${s.id}-text-${c}`,content_type:"text",ui_content_type:"markdown",content:u.output}):typeof u.markdown=="string"?e.push({id:`${s.id}-text-${c}`,content_type:"text",ui_content_type:"markdown",content:u.markdown}):e.push({id:`${s.id}-json-${c}`,content_type:"json",ui_content_type:s.uiContentType||"ui_generation",content:u,state:s.state==="streaming"?"in_progress":"completed"}),a=true;}}else if(s.result){let c=typeof s.result=="string"?Ul(s.result):s.result;c&&typeof c=="object"&&(e.push({id:s.id,content_type:"json",ui_content_type:s.uiContentType||"json",content:c,state:s.state==="streaming"?"in_progress":"completed"}),a=true);}}if(a)return;let i=s.result??s.text;i&&e.push({id:s.id,content_type:s.contentType||"text",ui_content_type:s.uiContentType||"markdown",content:i,state:s.state==="streaming"?"in_progress":"completed"});}for(let s of t.nodes){if(s.kind!=="content")continue;let a=t.byContentId[s.id];if(!a||a.contentType==="tool_invocation")continue;if(a.contentType==="tool_result"){a.result&&a.result.action_type!=="bot.invoke"&&e.push({id:a.id,content_type:"tool_result",ui_content_type:a.uiContentType||"tool_result",content:a.result});continue}if(a.stepId===null){r(a);continue}let i=t.byStepId[a.stepId];if(!i){r(a);continue}o(i.id)||i.type!=="tool_call"&&(i.type==="llm_call"&&yn(t,i,a)||r(a));}return e}function Ul(t){return t?L(t):null}function zl(t){return (t.status==="completed"||t.status==="error")&&t.finishedStatus?t.finishedStatus:t.runningStatus?t.runningStatus:t.name.replace(/_/g," ")}function Hl(t){return t==="running"?"loading":t==="error"?"failed":"finished"}function Kl(t,e){let n=t.byStepId[e];if(!n||n.type!=="agent"||(t.childrenByParentId[e]||[]).some(s=>{let a=t.byStepId[s];return !!a&&a.type==="agent"&&!a.hidden}))return false;for(let s of t.nodes){if(s.kind!=="step")continue;let a=t.byStepId[s.id];if(!a||a.type!=="agent"||a.hidden||a.id===e)continue;let i=a.id;for(;i;){if(i===e)return true;i=t.byStepId[i]?.parentId??null;}}return false}function Ql(t){return t==="info"?"info":t==="warning"?"warning":"standard"}function Zl(t){let e=t.trim();if(!e)return null;let n=new Set;n.add(e);let o=e.match(/^```[a-zA-Z0-9_-]*\n([\s\S]*?)\n```$/);o?.[1]&&n.add(o[1].trim());let r=e.indexOf("{"),s=e.lastIndexOf("}");r>=0&&s>r&&n.add(e.slice(r,s+1).trim());let a=e.indexOf("["),i=e.lastIndexOf("]");a>=0&&i>a&&n.add(e.slice(a,i+1).trim());for(let c of n){if(!c)continue;let l=L(c);if(l!=null)return typeof l=="string"?L(l)??l:l}return null}function Mo(t,e){let n=[],o="",r=[],s=0;function a(){r.length>0&&(n.push({id:`${e}-exec-${s}`,type:"codeexec",content:r.join(`
52
- `),wrapperType:Ql(o)}),s++,r=[]);}for(let i of t){let c=typeof i.message=="string"?i.message:"";if(!c)continue;let l=typeof i.level=="string"?i.level:"output";l!==o&&r.length>0&&a(),o=l,r.push(c);}return a(),n}function Vo(t,e,n){let o=[];for(let r of t){if(r.contentType==="tool_invocation"||r.contentType==="tool_result")continue;let s=`${e}-content-${r.id}`,a=r.state==="streaming"?"running":"completed";if(r.contentType==="thinking"||r.contentType==="redacted_thinking"){let i=r.result??r.text;if(!i)continue;o.push({id:s,type:"content",contentItem:{id:s,content_type:r.contentType,ui_content_type:r.uiContentType||r.contentType,content:i,state:r.state==="streaming"?"in_progress":"completed"},status:a});continue}if(r.result){let i=r.result;if(typeof r.result=="string")if(r.contentType==="json"){let c=L(r.result);if(c!=null)i=c;else {let l=Zl(r.result);if(l!==null)i=l;else if(!(r.parsedContent&&r.parsedContent.length>0))if(n){o.push({id:s,type:"content",contentItem:{id:s,content_type:r.contentType,ui_content_type:r.uiContentType||"ui_generation",content:r.result,state:r.state==="streaming"?"in_progress":"completed"}});continue}else {o.push({id:s,type:"text",content:r.result});continue}}}else {o.push({id:s,type:"text",content:r.result});continue}if(Array.isArray(i)&&i.length>0){o.push(...Mo(i,s));continue}if(typeof i=="object"&&i!==null){let c=i;if(typeof c.code=="string"){o.push({id:s,type:"codegen",contentData:c,status:a});continue}if(n){o.push({id:s,type:"content",contentItem:{id:s,content_type:r.contentType,ui_content_type:r.uiContentType,content:i,state:r.state==="streaming"?"in_progress":"completed"}});continue}}}if(r.contentType==="json"&&r.parsedContent){if(r.uiContentType==="codeexec_output"){let i=[];for(let c of r.parsedContent)c.type==="json"&&typeof c.content=="object"&&i.push(c.content);o.push(...Mo(i,s));continue}for(let i=0;i<r.parsedContent.length;i++){let c=r.parsedContent[i];if(c.type==="text"&&c.content)o.push({id:`${s}-text-${i}`,type:"text",content:String(c.content)});else if(c.type==="json"&&typeof c.content=="object"){let l=c.content;typeof l.code=="string"?o.push({id:`${s}-codegen-${i}`,type:"codegen",contentData:l,status:a}):typeof l.markdown=="string"?o.push({id:`${s}-text-${i}`,type:"text",content:l.markdown}):typeof l.output=="string"?o.push({id:`${s}-text-${i}`,type:"text",content:l.output}):n&&o.push({id:`${s}-content-${i}`,type:"content",contentItem:{id:`${s}-content-${i}`,content_type:"json",ui_content_type:r.uiContentType||"ui_generation",content:l,state:r.state==="streaming"?"in_progress":"completed"}});}}continue}r.text&&r.contentType!=="json"&&o.push({id:s,type:"text",content:r.text});}return o}function Yl(t,e){if(!t.rootStepId)return [];let n=[],o={},r={},s=new Set,a={},i={},c={},l={};function u(y){if(y!==t.rootStepId)return false;if(y in a)return a[y];let h=Kl(t,y);return a[y]=h,h}function p(y){return r[y]||(r[y]=[]),r[y]}function d(y){if(y)return t.byStepId[y]}function m(y){if(!y)return false;if(y in l)return l[y];let h=y,S=[],_=false;for(;h;){if(h in l){_=_||l[h];break}S.push(h);let v=d(h);if(!v)break;if(v.hidden){_=true;break}h=v.parentId;}for(let v of S)l[v]=_;return _}function g(y){return m(y.id)}for(let y of t.nodes){if(y.kind!=="content")continue;let h=t.byContentId[y.id];if(!h||!h.stepId||h.contentType==="tool_invocation"||h.contentType==="tool_result"||h.contentType==="agent_invocation"||!h.text&&!h.result&&!h.parsedContent?.length)continue;let S=d(h.stepId);if(!S||g(S)||S.type==="llm_call"&&yn(t,S,h))continue;let _=h.stepId;for(;_;){c[_]=true;let v=d(_);if(!v)break;_=v.parentId;}}function f(y){return !!c[y]}function x(y){if(!y)return null;if(y in i)return i[y];let h=y;for(;h;){let S=d(h);if(!S)break;let _=h===t.rootStepId,v=S.type==="agent"&&!S.hidden&&(!_||!u(S.id)),I=S.type==="tool_call"&&!S.hidden;if(v||I)return i[y]=h,h;h=S.parentId;}return i[y]=null,null}function b(y,h){if(h.length===0)return;let S=x(y);if(!S){n.push(...h);return}let _=o[S];if(!_){p(S).push(...h);return}_.children||(_.children=[]),_.children.push(...h);}function k(y,h,S){if(!S||typeof S!="object")return [];let _=S,v=typeof _.result=="object"&&_.result!==null?_.result:_,I=[];typeof v.code=="string"&&v.code.trim()&&I.push({id:`${y}-${h}-codegen`,type:"codegen",contentData:v});let j=typeof v.output=="string"?v.output.trim():"";return j&&I.push({id:`${y}-${h}-output`,type:"codeexec",content:j}),I}for(let y of t.nodes){if(y.kind==="step"){let _=t.byStepId[y.id];if(!_||_.hidden||_.type==="llm_call"||_.id===t.rootStepId&&u(_.id)||s.has(_.id))continue;s.add(_.id);let v={id:_.id,type:"step",label:zl(_),status:_.status},I=r[_.id];I&&I.length>0&&(v.children=I,delete r[_.id]),o[_.id]=v,b(_.parentId,[v]);continue}if(y.kind!=="content")continue;let h=t.byContentId[y.id];if(!h||h.contentType==="tool_invocation")continue;if(h.stepId===null){n.push(...Vo([h],"root",e));continue}let S=t.byStepId[h.stepId];if(S&&!g(S)&&!(S.type==="llm_call"&&yn(t,S,h))){if(S.type==="tool_call"&&h.contentType==="tool_result"){if(f(S.id))continue;b(S.id,k(S.id,h.id,h.result));continue}b(S.id,Vo([h],S.id,e));}}return n}function $o({node:t,ContentComponent:e}){let[n,o]=useState(t.status==="running"),r=useRef(t.status==="running");if(useEffect(()=>{r.current&&t.status!=="running"&&o(false),r.current=t.status==="running";},[t.status]),t.type==="text")return jsx(R,{content:t.content||"",className:"max-w-none"});if(t.type==="codegen"&&t.contentData){let{code:i,step_by_step:c,thinking:l}=t.contentData;return jsxs("div",{className:"space-y-2",children:[c&&jsx(R,{content:c,className:"text-sm max-w-none"}),l&&jsx(ee,{content:l,state:t.status==="running"?"in_progress":"completed"}),i&&jsx(bt,{language:"python",value:i,defaultOpen:false})]})}if(t.type==="codeexec"&&t.content){let i=t.wrapperType||"standard";return jsx(Ct,{wrapperType:i,compact:true,children:jsx(ne,{children:t.content})})}if(t.type==="content"&&t.contentItem&&e)return jsx(e,{content:t.contentItem});if(t.type==="content"&&t.contentItem)return jsx(Mt,{content:t.contentItem});let s=!!t.children?.length,a=t.status==="running"?"text-foreground":"text-muted-foreground";return jsxs(se.Root,{open:n,onOpenChange:o,className:"w-full",children:[jsxs(se.Trigger,{className:`flex items-center justify-between w-full text-sm py-0.5 ${a} ${s?"hover:text-foreground cursor-pointer":"cursor-default"}`,disabled:!s,children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx(ot,{status:Hl(t.status),size:14}),jsx("span",{children:t.label})]}),s&&jsx(ChevronDown,{className:`h-4 w-4 shrink-0 text-muted-foreground/50 transition-transform duration-200 ${n?"rotate-180":""}`})]}),s&&jsx(se.Content,{children:jsx("div",{className:"ml-5 mt-1 flex flex-col gap-1",children:t.children?.map(i=>jsx($o,{node:i,ContentComponent:e},i.id))})})]})}function Lo({agentState:t,ContentComponent:e,className:n}){if(!t.rootStepId)return null;let o=useMemo(()=>Yl(t,e),[t,e]);return o.length===0?null:jsx("div",{className:`flex flex-col gap-1 ${n||""}`,children:o.map(r=>jsx($o,{node:r,ContentComponent:e},r.id))})}function kn(t){if(t.type==="dynamic-tool"&&t.toolName?.startsWith("erdo_"))return t.toolName;if(t.type.startsWith("tool-erdo_"))return t.type.slice(5)}function Xl(t){return kn(t)!==void 0}var tc={erdo_render_chart:"ui",erdo_render_table:"ui",erdo_ask_data_question:"markdown",erdo_list_datasets:"data",erdo_search_datasets:"data",erdo_get_dataset_schema:"data",erdo_gather_dataset_context:"data",erdo_query_data:"data",erdo_run_query:"data",erdo_fetch_dataset_contents:"data",erdo_list_threads:"data",erdo_get_thread_messages:"data"};function dr(t){return tc[t]??"data"}function jo({part:t,className:e,onSuggestionClick:n}){let o=kn(t);if(!o)return null;if(["partial-call","call","input-streaming","input-available"].includes(t.state))return jsxs("div",{className:e||"flex items-center gap-2 py-4 text-muted-foreground",children:[jsx(Loader2,{className:"h-4 w-4 animate-spin"}),jsxs("span",{className:"text-sm",children:["Running ",nc(o),"..."]})]});if(t.state==="result"||t.state==="output-available"){let s=t.output??t.result;if(t.errorText)return jsxs("div",{className:e||"flex items-center gap-2 py-2 text-sm text-destructive",children:[jsx(AlertCircle,{className:"h-4 w-4 shrink-0"}),jsx("span",{children:t.errorText})]});if(s&&typeof s=="object"&&"error"in s&&s.error)return jsxs("div",{className:e||"flex items-center gap-2 py-2 text-sm text-destructive",children:[jsx(AlertCircle,{className:"h-4 w-4 shrink-0"}),jsx("span",{children:String(s.error)})]});switch(dr(o)){case "ui":{let i=s?.children;return i&&Array.isArray(i)&&i.length>0?jsx("div",{className:e,children:jsx(Yt,{nodes:i,invocationId:t.toolCallId,onSuggestionClick:n})}):s?jsx("div",{className:e,children:jsx(gt,{content:s})}):null}case "markdown":{let i=s?.answer;if(i)return jsx("div",{className:e,children:jsx(R,{content:i})});let c=s?.output;return c?jsx("div",{className:e,children:jsx(R,{content:c})}):s?jsx("div",{className:e,children:jsx(gt,{content:s})}):null}case "data":return s!=null?jsx("div",{className:e,children:jsx(gt,{content:s})}):null}}return t.state==="output-error"?jsxs("div",{className:e||"flex items-center gap-2 py-2 text-sm text-destructive",children:[jsx(AlertCircle,{className:"h-4 w-4 shrink-0"}),jsx("span",{children:t.errorText||"Tool execution failed"})]}):null}function nc(t){return t.replace(/^erdo_/,"").split("_").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ")}function F(t){if(!t)throw new Error("Entity is null");if(!("_type"in t))throw new Error(`Entity ${JSON.stringify(t)} is missing _type`);return t._type}function rc(t){return t.contents.length===0?null:t.contents[t.contents.length-1]||null}function Wo(t){return t.contents.length===0?null:t.contents[0]||null}function Uo(t){let e=false,n=t.contents.map(r=>r.state!=="in_progress"?r:(e=true,{...r,state:"completed",updated_at:new Date().toISOString()}));if(!e&&t.state==="completed")return t;let o={...t.contentsByID};for(let r of n)o[r.id]=r;return {...t,state:"completed",contents:n,contentsByID:o}}function gr(t,e){let n=F(t);switch(n){case "message":return t;case "step":let o=t;if(e){let a=o.eventsByID[e]?.Message;return a||Ho({},"",e)}let s=Object.keys(o.eventsByID).reverse();for(let a of s){let i=o.eventsByID[a];if(i&&i.Message)return i.Message}throw new Error("Unable to find message for step");default:throw new Error(`Unable to have messages on entity type ${n}`)}}function oc(t,e){switch(F(t)){case "message_content":return t;case "output_content":return t;case "message":return ue(t,e);case "output":return de(t,e);case "step":let o=Cn(t,e);return o?de(o,e):null;default:return null}}function ue(t,e){let n=F(t);switch(n){case "message_content":return t;case "message":let o=gr(t);if(!o)throw new Error("Unable to find message to add content to");return e?o.contentsByID[e]:rc(o);default:throw new Error(`Unable to have message content on entity type ${n}`)}}function de(t,e){let n=F(t);switch(n){case "output_content":return t;case "output":let o=t;return e?o.contentsByID[e]||null:o.contents.length<=0?null:o.contents[o.contents.length-1]||null;case "step":let s=Cn(t,e);return s?de(s):null;case "invocation":if(!e)return null;let a=t.eventsByID[e];return !a||!a.Output?null:de(a.Output);default:throw new Error(`Unable to have output content on entity type ${n}`)}}function yr(t,e){let n=F(t),o=null;switch(n){case "invocation":return t;case "message_content":if(o=t.botInvocation||null,!o)throw new Error("Unable to find bot invocation for message content");if(e&&o.bot_invocation.id!==e)throw new Error("Unable to find bot invocation for message content - mismatched ID");return o;case "message":if(o=Wo(t)?.botInvocation||null,!o)throw new Error("Unable to find bot invocation for message");if(e&&o.bot_invocation.id!==e)throw new Error("Unable to find bot invocation for message - mismatched ID");return o;case "output_content":return t.botInvocation||null;default:throw new Error(`Unable to have bot invocation on entity type ${n}`)}}function Cn(t,e){let n=F(t);switch(n){case "output":return t;case "step":let o=t;if(e){let i=o.eventsByID[e]?.Output;if(!i)throw new Error("Unable to find output with id "+e);return i}let s=Object.keys(o.eventsByID).reverse();for(let i of s){let c=o.eventsByID[i];if(c&&c.Output)return c.Output}throw new Error("Unable to find output for step");case "invocation":if(!e)throw new Error("Unable to find output for invocation without ID");return t.eventsByID[e]?.Output||null;default:throw new Error(`Unable to have step outputs on entity type ${n}`)}}function qo(t,e){let n=F(t);switch(n){case "result_handler":return t;case "step":if(!e)throw new Error("Unable to have result handlers on step without ID");let o=t.eventsByID[e];if(!o||!o.type||o.type!=="result_handler"||!o.ResultHandler)throw new Error(`Unable to find result handler with id ${e} on step ${t.id}`);return o.ResultHandler;default:throw new Error(`Unable to have result handlers on entity type ${n}`)}}function zo(t,e){let n=F(t),o=null;switch(n){case "step":if(t.id===e||!e)return t;throw new Error("Unable to find step on step with id "+e);case "invocation":if(!e)throw new Error("Unable to have steps on bot invocation without ID");o=t;let r=o.eventsByID[e];if(!r)throw new Error("Unable to find step on invocation with id "+e);if(!r.Step)throw new Error("Unable to find step on invocation with id "+e);return r.Step;case "result_handler":if(!e)throw new Error("Unable to have steps on result handler without ID");let a=t.eventsByID[e];if(!a)throw new Error("Unable to find step on result handler with id "+e);if(!a.Step)throw new Error("Unable to find step on result handler with id "+e);return a.Step;default:throw new Error(`Unable to have steps on entity type ${n}`)}}var mr=class extends Error{};function sc(t,e,n){let o=null,r=e[0],s=e[1];n[r]=s;try{switch(r){case "message":o=gr(t,s);break;case "content":o=ue(t,s);break;case "step":o=zo(t,s);break;case "output":o=Cn(t,s);break;case "output_content":o=de(t,s);break;case "invocation":o=yr(t,s);break;case "result_handler":o=qo(t,s);break}}catch(a){throw console.error("error finding next entity"),console.log("path",e),console.log("currentEntity",t),a}if(!o)throw console.log("path",e),console.log("currentEntity",t),console.log("nextEntity",o),new mr(`Unable to find next entity for path ${e.join("/")}`);return o}function Ho(t,e,n,o){let r=t.payload;return {_type:"message",message:{id:n,thread_id:e,author_id:r.author_id||"app",author_entity_type:r.author_entity_type||"app",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),role:r.role||"assistant",avatar:"/teams/erdo-icon.png"},state:"in_progress",contents:[],contentsByID:{},contentIDToIdx:{}}}function ac(t,e){return {_type:"message_content",id:t.metadata.message_content_id,message_id:e.message,content_type:t.metadata.content_type,created_by_invocation_id:t.metadata.invocation_id,invocation_id:t.metadata.invocation_id,state:"in_progress",user_visibility:t.metadata.user_visibility??"visible",bot_visibility:t.metadata.bot_visibility??"visible",content:"",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),content_params:{RawMessage:null,Valid:false},history_content_type:t.metadata?.history_content_type?{String:t.metadata.history_content_type,Valid:true}:{String:"",Valid:false},ui_content_type:t.metadata?.ui_content_type?{String:t.metadata.ui_content_type,Valid:true}:{String:"",Valid:false}}}function ic(t,e){let n=t.metadata.content_type||"text",o=t.metadata?.ui_content_type,r=le(n,t.payload);return {_type:"message_content",id:t.metadata.message_content_id,message_id:e.message,content:r.content,content_type:n,created_by_invocation_id:t.metadata.invocation_id,invocation_id:t.metadata.invocation_id,state:"completed",user_visibility:t.metadata.visibility||"visible",bot_visibility:"visible",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),content_params:{RawMessage:null,Valid:false},history_content_type:t.metadata?.history_content_type?{String:t.metadata.history_content_type,Valid:true}:{String:"",Valid:false},ui_content_type:o?{String:o,Valid:true}:{String:"",Valid:false},parsedJson:r.parsedJson??null}}function lc(t,e,n){let o=t.payload;return {_type:"step",id:e,invocation_id:n.invocation||"",step_id:o.step_id||"",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),current_status_id:"",path:{String:"",Valid:false},action_type:{String:o.action_type,Valid:true},key:{String:o.key,Valid:true},bot_id:o.bot_id,result_handler_id:"",step_order:{Int32:o.step_order,Valid:true},output_content_type:{String:o.content_type,Valid:true},execution_mode:{String:o.execution_mode,Valid:true},output_behaviour:{String:o.output_behaviour,Valid:true},user_output_visibility:{String:t.metadata.visibility||"visible",Valid:true},output_channels:o.output_channels||[],running_message:{String:o.running_message||"",Valid:!!o.running_message},finished_message:{String:o.finished_message||"",Valid:!!o.finished_message},depends_on:[],eventsByID:{},currentStatus:null}}function cc(t,e,n){let o=t.payload;return {_type:"result_handler",id:e,invocation_id:t.metadata.invocation_id||"",result_handler_id:o.result_handler_id||e,step_invocation_id:o.step_invocation_id||"",type:o.type||"",if_conditions:o.if_conditions||{},created_at:new Date().toISOString(),updated_at:new Date().toISOString(),output_content_type:o.output_content_type||"",result_handler_order:o.result_handler_order||0,eventsByID:{}}}function uc(t,e,n){return {_type:"output",id:e,step_id:n.step_id,output:{id:e,invocation_id:t.metadata?.invocation_id,path:t.metadata.path,created_at:new Date().toISOString(),updated_at:new Date().toISOString()},state:"in_progress",contents:[],contentsByID:{},contentIDToIdx:{}}}function Fo(t,e,n,o=null){return {_type:"output_content",id:e,output_id:n.output,content:"",content_type:t.metadata.content_type,state:"in_progress",invocation_id:t.metadata.invocation_id,user_visibility:o??t.metadata.user_visibility??"visible",bot_visibility:t.metadata.bot_visibility??"visible",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),content_params:{RawMessage:null,Valid:false},history_content_type:t.metadata.history_content_type?{String:t.metadata.history_content_type,Valid:true}:{String:"",Valid:false},ui_content_type:t.metadata.ui_content_type?{String:t.metadata.ui_content_type,Valid:true}:{String:"",Valid:false},output:null}}function Jo(t,e,n,o=null){let r=t.metadata.content_type||"text",s=le(r,t.payload),a=t.metadata?.ui_content_type;return {_type:"output_content",id:e,output_id:n.output,content:s.content,content_type:r,state:"completed",invocation_id:t.metadata.invocation_id,parsedJson:s.parsedJson??null,user_visibility:o||t.metadata.visibility||"visible",bot_visibility:"visible",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),content_params:{RawMessage:null,Valid:false},history_content_type:t.metadata?.history_content_type?{String:t.metadata.history_content_type,Valid:true}:{String:"",Valid:false},ui_content_type:a?{String:a,Valid:true}:{String:"",Valid:false},output:null}}function dc(t,e,n){return {_type:"invocation",bot_invocation:{id:t.payload.invocation_id,bot_id:t.payload.bot_id,bot_name:t.payload.bot_name,created_by_user_id:t.payload.created_by_user_id,current_state_id:"",parent_invocation_id:"",branch_init_state_id:"",current_status_id:"",organization_id:"",created_at:new Date().toISOString(),updated_at:new Date().toISOString()},eventsByID:{},currentStatus:null,current_status:null,step_invocations:[],step_invocation_states:[],resources:[],outputs:[],statuses:[]}}function Ie(t,e){let n=t.payload;return {_type:"status",id:new Date().toISOString(),status:n.status,message:{String:n.message,Valid:true},Details:n}}function Ko(t){return {id:t.id,type:"step",created_at:t.created_at,_type:"invocation_event",Output:null,Message:null,Status:null,ResultHandler:null,Step:t}}function hr(t){return {id:t.output.id,type:"output",created_at:t.output.created_at,_type:"invocation_event",Output:t,Message:null,Status:null,ResultHandler:null,Step:null}}function xr(t){return {id:t.id,type:"status",created_at:t.created_at,_type:"invocation_event",Status:t,Output:null,Message:null,ResultHandler:null,Step:null}}function pc(t){return {id:t.message.id,type:"message",created_at:t.message.created_at,_type:"invocation_event",Output:null,Message:t,Status:null,ResultHandler:null,Step:null}}function mc(t){return {id:t.id,type:"result_handler",created_at:t.created_at,_type:"invocation_event",Output:null,Message:null,Status:null,ResultHandler:t,Step:null}}var fc=new Set(["=","("]);function gc(t){if(!t||t.length===0)return true;let e=t[t.length-1];return !fc.has(e)}function Qo(t,e){if(t.content||(t.content=""),t.user_visibility!=="visible"||!he(t.content_type,t.ui_content_type.String))return t.content+=e,{...t};if(t.parsedJson||(t.parsedJson=[]),typeof e=="object")return t.content+=JSON.stringify(e),t.parsedJson=[...t.parsedJson,e],{...t};t._jsonParser||(t._isInJson=false),t._charBuffer||(t._charBuffer="");let n=t.content_type,o=t.ui_content_type.String;for(let r of e){t.content+=r;let s=n==="json"||o==="json";if(!t._isInJson&&s&&!Dt(r)){t._isInJson=true,t._jsonParser=new tt;let a={content:{},type:"json"};t.parsedJson=[...t.parsedJson||[],a],t._currentContent=a,t._charBuffer="";}if(!t._isInJson&&!s&&o==="ui_generation"&&r==="{"){let a=t.content.slice(0,-1);if(gc(a)){t._charBuffer="{";continue}}if(t._charBuffer&&Dt(r)){t._charBuffer+=r;continue}if(!t._isInJson&&!s&&o==="ui_generation"&&t._charBuffer?.match(/^\s*{\s*$/)&&r==='"'){t._isInJson=true,t._jsonParser=new tt;let i={content:t._jsonParser.add("{"),type:"json"};t._currentContent?.content?t._currentContent.content.match(/^\s*{$/)?(t._currentContent=i,t.parsedJson=[...t.parsedJson.slice(0,-1),i]):(t._currentContent.content=t._currentContent.content.replace(/{$/,""),t._currentContent=i,t.parsedJson=[...t.parsedJson,i]):(t._currentContent=i,t.parsedJson=[...t.parsedJson,i]);}if(t._isInJson)try{let a=t._jsonParser.add(r);t._currentContent.content=a,t._jsonParser.state==="END"&&(t._isInJson=!1,t._currentContent=void 0);}catch(a){if(console.log("handleIncrementalMixedJsonParsing: content chunk",e),console.log("handleIncrementalMixedJsonParsing: accumulated content",t.content),console.warn("handleIncrementalMixedJsonParsing: JSON parse error, recovering as text",a),t._isInJson=false,t._jsonParser=void 0,t.parsedJson&&t.parsedJson.length>0){let i=t.parsedJson[t.parsedJson.length-1];if(i.type==="json"){let c=t.content.lastIndexOf("{"),l=t.content.slice(c);i.type="text",i.content=l,t._currentContent=i;}}continue}else t._currentContent||(t._currentContent={content:t._charBuffer||"",type:"text"},t.parsedJson=[...t.parsedJson,t._currentContent]),t._currentContent.content+=t._charBuffer+r;t._charBuffer="";}return {...t}}function yc(t,e){return Qo(t,e)}function Go(t,e){return Qo(t,e)}function fr(t,e){let n=F(t);switch(n){case "message":return pt(t,e);case "message_content":return bn(t,e);case "step":return xc(t,e);case "output":return kc(t,e);case "output_content":return bc(t,e);case "invocation":return Ne(t,e);case "result_handler":return Cc(t,e);default:throw new Error(`Unable to add update entity for entity type ${n}`)}}function hc(t,e){for(let n of e)t=fr(t,n);return t}function pt(t,e){let n=gr(t);if(!n)throw new Error("Unable to find message to add content to");let o=F(e),r=null;switch(o){case "message_content":if(r=e,!n.contentsByID[r.id])n.contentIDToIdx={...n.contentIDToIdx,[r.id]:n.contents.length},n.contents=[...n.contents,r];else {let i=n.contentIDToIdx[r.id];n.contents=[...n.contents.slice(0,i),r,...n.contents.slice(i+1)];}return n.contentsByID={...n.contentsByID,[r.id]:r},{...n};case "invocation":let s=e;if(n.contents.length===0)throw new Error("Unable to find message content to add invocation to");return r=bn(n.contents[0],s),pt(n,r);case "step":if(n.contents.length===0)throw new Error("Unable to find message content to add content to");if(r=n.contents[0],!r)throw new Error("Unable to find message content to add content to");let a=yr(r);if(!a)throw new Error("Unable to find bot invocation to add content to");return r.botInvocation=Ne(a,e),pt(n,r);case "status":if(n.contents.length>0){let i=n.contents[0];if(i?.botInvocation){let c=bn(i,e);return pt(n,c)}}return {...n};default:throw new Error(`Unable to add update message child for child type ${o}`)}}function bn(t,e){let n=ue(t);if(!n)throw new Error("Unable to find message content to add content to");let o=F(e);switch(o){case "invocation":return n.botInvocation=e,{...n};case "step":let r=n.botInvocation;if(!r)throw new Error("Unable to find bot invocation to add content to");return n.botInvocation=Ne(r,e),{...n};case "status":return n.botInvocation&&(n.botInvocation=Ne(n.botInvocation,e)),{...n};default:throw new Error(`Unable to add update message content child for child type ${o}`)}}function xc(t,e){let n=zo(t);if(!n)throw new Error("Unable to find bot invocation to add step to");let o=F(e),r=null;switch(o){case "output":let s=e;return r=hr(s),n.eventsByID={...n.eventsByID,[s.output.id]:r},{...n};case "message":let a=e;return r=pc(a),n.eventsByID={...n.eventsByID,[a.message.id]:r},{...n};case "status":let i=e;return r=xr(i),n.eventsByID={...n.eventsByID,[i.id]:r},{...n};case "result_handler":let c=e;return r=mc(c),n.eventsByID={...n.eventsByID,[c.id]:r},{...n};default:throw new Error(`Unable to add update step for entity type ${o}`)}}function kc(t,e){let n=Cn(t);if(!n)throw new Error("Unable to find step output to add content to");let o=F(e);switch(o){case "output_content":let r=e;if(!n.contentsByID[r.id])n.contentIDToIdx={...n.contentIDToIdx,[r.id]:n.contents.length},n.contents=[...n.contents,r];else {let s=n.contentIDToIdx[r.id];n.contents=[...n.contents.slice(0,s),r,...n.contents.slice(s+1)];}return n.contentsByID={...n.contentsByID,[r.id]:r},{...n};default:throw new Error(`Unable to add update output for entity type ${o}`)}}function bc(t,e){let n=de(t);if(!n)throw new Error("Unable to find step output content to add content to");let o=F(e);switch(o){case "invocation":return n.botInvocation=e,{...n};case "step":let r=n.botInvocation;if(!r)throw new Error("Unable to find bot invocation to add content to");return n.botInvocation=Ne(r,e),{...n};default:throw new Error(`Unable to add update step output content for entity type ${o}`)}}function Ne(t,e){let n=yr(t);if(!n)throw new Error("Unable to find bot invocation to add content to");let o=F(e),r;switch(o){case "step":let s=e;return r=Ko(s),n.eventsByID={...n.eventsByID,[s.id]:r},{...n};case "output":let a=e;return r=hr(a),n.eventsByID={...n.eventsByID,[a.output.id]:r},{...n};case "status":let i=e;return r=xr(i),n.eventsByID={...n.eventsByID,[i.id]:r},n.currentStatus=i,{...n};default:throw new Error(`Unable to add update invocation for entity type ${o}`)}}function Cc(t,e){let n=qo(t);if(!n)throw new Error("Unable to find result handler to add content to");let o=F(e),r=null;switch(o){case "step":let s=e;return r=Ko(s),n.eventsByID||(n.eventsByID={}),n.eventsByID={...n.eventsByID,[s.id]:r},{...n};case "output":let a=e;return r=hr(a),n.eventsByID||(n.eventsByID={}),n.eventsByID={...n.eventsByID,[a.output.id]:r},{...n};case "status":let i=e;return r=xr(i),n.eventsByID||(n.eventsByID={}),n.eventsByID={...n.eventsByID,[i.id]:r},{...n};default:throw new Error(`Unable to add update to result handler for entity type ${o}`)}}function _c(t){return t==="bot started"||t==="bot resumed"||t==="message created"||t==="create message content"||t==="message content result"||t==="step started"||t==="result handler started"||t==="state created"||t==="step output created"||t==="create step output content"||t==="step output content result"||t==="log"}function _n(t,e,n,o,r,s=null,a=[],i={}){if(!s&&Object.keys(r).length>0){let p,d;if(n.length>=2&&n[0]==="message"?(d=n[1],p=r[d],p||(p=Object.values(r)[0],d=Object.keys(r)[0])):(p=Object.values(r)[Object.values(r).length-1],d=Object.keys(r)[Object.keys(r).length-1]),i.message=d,n.length<=2&&t==="message finished")return r[d]=Uo(p),null;if(n[0]!=="content"&&Object.keys(p.contentsByID).length>0&&e.metadata.message_content_id){let m=e.metadata.message_content_id,g=p.contentsByID[m];g&&(s=g);}s?a=[p]:s=p;}if(n.length<=2&&_c(t)){let p=n[1],d=[],m,g,f,x,b;switch(t){case "bot started":case "bot resumed":if(!s)throw new Error("Unable to find message to add content to");let k=dc(e);if(s._type==="message_content"){if(g=s,!g.id)throw new Error("Unable to find message content id");if(f=r[g.message_id],!f)throw new Error("Unable to find message to add content to");if(x=ue(f,g.id),!x)throw new Error("Unable to find message content to add content to");let _=bn(x,k);r[g.message_id]={...pt(f,_)};}d.push(k);break;case "message created":return r[p]=Ho(e,o,p),null;case "create message content":if(!s)throw new Error("Unable to find message to add content to");if(b=ac(e,i),s._type==="output"){m=s,d.push(Fo(e,p,i,"hidden"));let _=e.payload.message_id;if(_||(_=a[0].message.id),f=r[_],!f)throw new Error("Unable to find message to add content to")}else if(s._type==="message_content"){if(m=s,f=r[m.message_id],!f)throw new Error("Unable to find message to add content to")}else {if(s._type!=="message")throw new Error(`Incorrect path? Cannot add content to non-message entity: ${s._type}`);if(m=s,f=r[m.message.id],!f)throw new Error("Unable to find message to add content to");d.push(b);}r[f.message.id]={...pt(f,b)};break;case "message content result":if(!s)throw new Error("Unable to find message to add content to");let y=null;if(s._type==="output"){d.push(Jo(e,p,i,"hidden"));let _=e.payload.message_id||i.message;if(_?y=a.find(v=>v.message.id===_):y=a[0],f=r[_],!f)throw new Error("Unable to find message to add content to")}else if(s._type==="message_content"){if(y=a[0],f=r[y.message.id],!f)throw new Error("Unable to find message to add content to")}else {if(s._type!=="message")throw new Error(`Incorrect path? Cannot add content to non-message entity: ${s._type}`);if(y=s,f=r[y.message.id],!f)throw new Error("Unable to find message to add content to")}let h=e.metadata.message_content_id;if(!h)throw new Error("Unable to find message content id");let S=ue(y,h);if(S){S.state="completed";let _=S.content_type||"text",v=mn(_,S.content,e.payload);S.content=v.content,v.parsedJson&&(S.parsedJson=v.parsedJson),r[f.message.id]={...pt(f,S)},(s._type==="message"||s._type==="message_content")&&d.push(S);}else S=ic(e,i),r[f.message.id]={...pt(f,S)},(s._type==="message"||s._type==="message_content")&&d.push(S);break;case "step started":d.push(lc(e,p,i));break;case "result handler started":d.push(cc(e,p));break;case "step output created":d.push(uc(e,p,s));break;case "create step output content":d.push(Fo(e,p,i));break;case "step output content result":d.push(Jo(e,p,i));break;case "log":return null;default:throw new Error(`Unable to handle create event type ${t}`)}return d.length?!s||s._type==="message_content"&&d.length===1&&d[0]._type==="message_content"?d[0]:hc(s,d):null}if(!s)throw new Error("No first message has been created, so cannot handle amend events");if(n.length<=1){let p=null;try{p=oc(s);}catch{}switch(t){case "message content delta":if(!p)throw new Error("Unable to find message content");let d=null,m=null,g=null;if(s._type==="output_content"){d=Go(s,e.payload);let k=e.metadata.message_content_id;if(!k)throw new Error("Unable to find message content id from entity ids");let y=i.message;if(g=a.find(h=>h.message.id===y),!g)throw new Error("Unable to find message to add content to");m=ue(g,k);}else {if(m=p,g=a[a.length-1],!g)throw new Error("Unable to find message to add content to");if(g._type!=="message")throw new Error("Unable to find message to add content to - not a message")}if(!m)throw new Error("Unable to find message content");let f=r[g.message.id];if(!f)throw new Error("Unable to find message to add content to");let x=yc(m,e.payload);return r[f.message.id]={...pt(f,x)},s._type==="message_content"&&(d=x),d;case "step output content delta":return Go(p,e.payload);case "status":if(s._type==="step"&&(s.currentStatus=Ie(e)),s._type==="invocation"&&(s.currentStatus=Ie(e)),s._type==="message_content"){let b=s;if(b.botInvocation)return b.botInvocation.currentStatus=Ie(e),{...b}}if(s._type==="message"){let b=s,k=Wo(b);if(k?.botInvocation)return k.botInvocation.currentStatus=Ie(e),pt(b,k)}return fr(s,Ie(e));case "result":return null;case "message finished":if(s._type==="message"){let k=Uo(s);r[k.message.id]=k;}return null;case "step output finished":return null;case "step result":return null;case "error":return null;case "dataset created":return null;case "log":return null;default:throw new Error(`Unable to handle event type ${t}`)}}let c=n.slice(2),l=sc(s,n,i),u=_n(t,e,c,o,r,l,[...a,s],i);return u?fr(s,{...u}):s}function kr(t){if(!t.content)return null;if(typeof t.content=="object")return t.content;if(typeof t.content=="string"){let e=L(t.content);return e&&typeof e=="object"&&!Array.isArray(e)?e:null}return null}function Zo(t){let e=t.content_type;if(e==="tool_result")return "result";if(e==="tool_invocation")return "invocation";let n=kr(t);return n&&"action_type"in n&&"name"in n&&"input"in n&&n.action_type!=="bot.invoke"?"result"in n?"result":"invocation":null}function Yo(t){return kr(t)?.id}function Xo(t){let e=kr(t);if(!e?.action_type)return null;let o=e.input?.query;return `${e.action_type}:${o||""}`}function ts(t){let e=t.filter(r=>Zo(r)==="result"),n=new Set(e.map(r=>Yo(r)).filter(Boolean)),o=new Set(e.map(r=>Xo(r)).filter(Boolean));return t.filter(r=>{if(Zo(r)==="invocation"){let s=Yo(r),a=Xo(r);if(s&&n.has(s)||a&&o.has(a))return false}return true})}function es(t,e,n){let o=e;for(;o;){if(o===n)return true;o=t.byStepId[o]?.parentId??null;}return false}function Sn(t,e){if(!e||!t.byStepId[e])return t;let n=new Set;for(let i of t.nodes)i.kind==="step"&&es(t,i.id,e)&&n.add(i.id);let o=t.nodes.filter(i=>i.kind==="step"?n.has(i.id):i.kind==="content"||i.kind==="status"?!!i.stepId&&n.has(i.stepId):false),r={},s={},a={};for(let i of n){let c=t.byStepId[i];c&&(r[i]=c);}for(let i of o){if(i.kind==="content"){s[i.id]=i;continue}if(i.kind!=="step")continue;let l=(i.parentId&&n.has(i.parentId)?i.parentId:null)??"__root__";a[l]=[...a[l]||[],i.id];}return {...t,nodes:o,byStepId:r,byContentId:s,childrenByParentId:a,rootStepId:e}}function vn(){return createStore((t,e)=>({globalState:gn(),invocationStates:{},invocationRootSteps:{},pendingInvocationQueue:[],pushEvent:(n,o)=>{let r=e(),s=ur(r.globalState,n);if(o&&(s=o(s)),s===r.globalState)return;let a=n.metadata?.step_id??n.payload?.step_id??"",i={...r.invocationStates},c=false;for(let[l,u]of Object.entries(r.invocationRootSteps)){let p=r.invocationStates[l];if(a&&!es(s,a,u)&&a)continue;let d=Sn(s,u);if(!(n.type==="step_finished"||n.type==="step_started"||n.type==="status")&&p&&p.nodes.length===d.nodes.length){let g=p.nodes[p.nodes.length-1],f=d.nodes[d.nodes.length-1];if(g===f&&p.isStreaming===d.isStreaming)continue}i[l]=d,c=true;}t({globalState:s,...c?{invocationStates:i}:{}});},registerInvocation:n=>{let o=e();o.invocationRootSteps[n]||o.pendingInvocationQueue.includes(n)||t({pendingInvocationQueue:[...o.pendingInvocationQueue,n]});},mapInvocationRoot:(n,o)=>{let r=e(),s=Sn(r.globalState,o);t({invocationRootSteps:{...r.invocationRootSteps,[n]:o},invocationStates:{...r.invocationStates,[n]:s},pendingInvocationQueue:r.pendingInvocationQueue.filter(a=>a!==n)});},reset:()=>{t({globalState:gn(),invocationStates:{},invocationRootSteps:{},pendingInvocationQueue:[]});}}))}function Ic(t){return t.split("/").filter(Boolean)}function ns(t={}){let e=Lt(),[n,o]=useState(null),[r,s]=useState(false),[a,i]=useState(null),[c,l]=useState([]),u=useRef(vn()),p=useStore(u.current,k=>k.globalState),d=useRef(null),m=useRef(t.threadId);t.threadId!==m.current&&(m.current=t.threadId);let g=useCallback(()=>{d.current&&(d.current.abort(),d.current=null);},[]),f=useCallback(k=>{o(k),m.current=k.id;},[]),x=useCallback(async k=>{if(!e.client)throw new Error("ErdoClient not configured in provider. Pass a client to ErdoProvider config to use useThread.");if(!e.client.sendMessage)throw new Error("ErdoClient does not support sendMessage. Make sure you are using @erdoai/server client.");if(!e.client.createThread)throw new Error("ErdoClient does not support createThread. Make sure you are using @erdoai/server client.");g(),d.current=new AbortController,s(true),i(null),l([]),u.current.getState().reset();let y={};try{let h=m.current;if(!h){let I=await e.client.createThread();o(I),m.current=I.id,h=I.id;}for await(let I of e.client.sendMessage(h,{content:k,botKey:t.botKey})){if(d.current?.signal.aborted)break;if(t.onEvent?.(I),e.useAgentEvents)u.current.getState().pushEvent(I);else {let j=I.type||"",Z=I.metadata||{},B=Ic(Z.path||""),J={payload:I.payload,metadata:{path:Z.path||"",...Z}};try{_n(j,J,B,h,y);}catch(G){console.error("Error handling SSE event:",G,j);}l(Object.values(y));}}let S=Object.values(y);l(S);let _=u.current.getState().globalState,v;_.rootStepId?v=hn(_):v=S.flatMap(I=>I.contents||[]).filter(I=>I.user_visibility==="visible").map(I=>({id:I.id,content_type:I.content_type,ui_content_type:O(I.ui_content_type),content:I.content,parsedJson:I.parsedJson,botInvocation:I.botInvocation})),t.onFinish?.(v);}catch(h){let S=h instanceof Error?h:new Error(String(h));throw i(S),t.onError?.(S),S}finally{s(false),d.current=null;}},[e.client,e.useAgentEvents,t,g]),b=useMemo(()=>{if(p.rootStepId)return hn(p);let k=c.flatMap(h=>h.contents||[]).filter(h=>h.user_visibility==="visible");return ts(k).map(h=>({id:h.id,content_type:h.content_type,ui_content_type:O(h.ui_content_type),content:h.content,parsedJson:h.parsedJson,botInvocation:h.botInvocation}))},[c,p]);return {thread:n,isStreaming:r,error:a,activeMessages:c,agentState:p,streamingContents:b,sendMessage:x,cancel:g,setThread:f,agentStreamStore:u.current}}function Nc(t){return t?typeof t=="string"?t:typeof t=="object"&&t!==null&&"String"in t&&t.String||"":""}function rs(t){let e=Nc(t.ui_content_type),n=t.content_type,o={id:t.id,content_type:t.content_type,ui_content_type:e,content:t.content,invocation_id:t.created_by_invocation_id};if(typeof t.content=="string"){if(e==="ui_generation")try{o.parsedJson=yt(t.content);}catch(r){console.error("Error parsing UI generation content:",r);}else if((n==="json"||e==="json")&&t.content.trim()){let r=L(t.content);r!=null&&(o.parsedJson=[{type:"json",content:r}]);}}if((t.content_type==="thinking"||t.content_type==="redacted_thinking")&&typeof t.content=="string"){let r=L(t.content);r&&typeof r=="object"&&(o.content=r);}return o}function Tc(t){return t.filter(e=>e.user_visibility!=="hidden").map(rs)}var In=createContext(null);function ss({store:t,children:e}){return jsx(In.Provider,{value:t,children:e})}function as(){return useContext(In)}function is(t){let e=useContext(In);return useStore(e,n=>t?n.invocationStates[t]:void 0)}function ls(){let t=useContext(In);return useStore(t,e=>e.globalState)}export{ss as AgentStreamStoreProvider,It as BarChart,ln as BotInvocationContent,lt as Chart,me as ChartContainer,Ge as ChartContent,Pn as ChartLegend,Bn as ChartLegendContent,Kn as ChartNode,Nr as ChartStyle,Dn as ChartTooltip,An as ChartTooltipContent,sn as CodeexecContent,nn as CodegenContent,bt as CollapsibleCodeBlock,Mt as Content,Me as DatasetChart,Qt as DatasetDownload,Ve as DatasetTable,Yn as DownloadButtonNode,vr as ErdoProvider,jo as ErdoToolResult,Cl as ErdoUI,St as ErrorBoundary,Kr as ExecutionStatus,Ct as ExpandableOutputContent,tr as FileDownloadsNode,Wt as HeatmapChart,Fe as InvocationEvent,Rt as InvocationEvents,Hr as InvocationStatus,tt as JSONStreamParser,gt as JsonContent,Ft as LineChart,Ao as Loader,nr as Log,He as LogContent,R as MarkdownContent,dn as MemoryContent,$e as Output,Jt as PieChart,Gt as ScatterChart,Ye as SqlContent,ot as StatusSpinner,re as StderrText,ne as StdoutText,tn as StdwarnText,Ue as StepInvocation,je as StepInvocationStatus,Lo as StepTreeContent,Xn as SuggestionsNode,We as TableContent,Qn as TableNode,xe as TextContent,Zn as TextMarkdownNode,ze as ThinkingContent,oe as ToolGroupContent,Yt as UIGenerationNodes,Qe as WebParseContent,Ke as WebSearchContent,ar as WritingLoader,hn as agentStateToContents,Q as cn,Oo as completeStreamingContent,vn as createAgentStreamStore,gn as createInitialAgentState,Bo as extractContentItems,it as formatValue,kn as getErdoToolName,dr as getErdoToolRenderType,ur as handleAgentEvent,ir as handleIncrementalMixedJsonParsing,_n as handleSSEEvent,jl as hasRenderableAssistantOutput,Xl as isErdoTool,he as isJsonLike,Fr as isNullString,La as isParsingComplete,Kt as isParsingInProgress,Dt as isWhitespaceChar,er as nodeComponents,rs as normalizeContent,Tc as normalizeContents,Se as normalizeUIGenerationChunks,qn as normalizeUINodes,L as parseCompleteJson,yt as parseMixedJson,Tr as parseToDate,zt as resolveKeyFromData,Sn as sliceAgentStateToRoot,$r as toSnakeCase,O as unwrapNullString,ma as unwrapNullStringOr,ls as useAgentStreamGlobalState,as as useAgentStreamStoreOptional,De as useChartZoom,Pe as useDatasetContents,Lt as useErdoConfig,H as useErdoConfigOptional,is as useInvocationState,Vr as useMultipleDatasetContents,ge as useMultipleDatasetRequests,ns as useThread};
50
+ `,document.head.appendChild(t);}function Xt({item:t,className:e}){let[n,o]=useState(false);useEffect(()=>{ze();},[]);let r=t.content_type==="redacted_thinking",s="",a=false;if(typeof t.content=="string")s=t.content;else if(t.content&&typeof t.content=="object")if(r)s=t.content.data||"Some of Claude's internal reasoning has been automatically encrypted for safety reasons. This doesn't affect the quality of responses.";else {let d=t.content;s=d.thinking||"",a=typeof d.signature=="string"&&d.signature.length>0;}let i=typeof t.state=="string"?t.state:"",l=(i==="in_progress"||i==="streaming"||i==="running")&&!a;return jsxs("div",{className:e,children:[jsxs("button",{onClick:()=>o(!n),className:"inline-flex items-center gap-1.5 text-left",children:[n?jsx(ChevronDown,{className:"h-3.5 w-3.5 text-muted-foreground/70"}):jsx(ChevronRight,{className:"h-3.5 w-3.5 text-muted-foreground/70"}),jsx("span",{className:`text-sm ${l?"erdo-shimmer":"text-muted-foreground hover:text-foreground/70 transition-colors"}`,children:r?"Encrypted thinking":"Thinking"})]}),n&&jsx("div",{className:"mt-1 pl-5 text-sm text-muted-foreground",children:s?jsx(D,{content:s,className:"text-sm text-muted-foreground [&_*]:text-muted-foreground"}):l?"Thinking...":""})]})}function li(t){try{return JSON.parse(t)}catch{return t}}function ci(t){if(!t)return "";try{return new Date(t).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return ""}}function nr({log:t}){let e=typeof t.message=="string"?li(t.message):t.message,n=ci(t.timestamp),o="text-xs font-mono py-0.5 px-1.5 rounded flex items-start",r="";switch(t.level){case "error":o+=" bg-red-50/50 dark:bg-red-950/30 text-red-600 dark:text-red-400 border-l-2 border-red-400 dark:border-red-600",r="text-red-500 dark:text-red-400";break;case "requires_info":o+=" bg-yellow-50/50 dark:bg-yellow-950/30 text-yellow-600 dark:text-yellow-400 border-l-2 border-yellow-400 dark:border-yellow-600",r="text-yellow-500 dark:text-yellow-400";break;default:o+=" bg-blue-50/40 dark:bg-blue-900/20 text-blue-500/90 dark:text-blue-300/80 border-l-2 border-blue-300 dark:border-blue-600/50",r="text-blue-400 dark:text-blue-400/70";}return jsx("div",{className:"my-0.5",children:jsx("div",{className:o,children:jsxs("div",{className:"flex items-start gap-2",children:[n&&jsx("span",{className:"text-[10px] opacity-60 whitespace-nowrap w-16 flex-shrink-0 pt-0.5",children:n}),t.level==="error"&&jsx("span",{className:"inline-block mr-1 flex-shrink-0",children:jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:`h-3 w-3 ${r}`,viewBox:"0 0 20 20",fill:"currentColor",children:jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.28 7.22a.75.75 0 00-1.06 1.06L8.94 10l-1.72 1.72a.75.75 0 101.06 1.06L10 11.06l1.72 1.72a.75.75 0 101.06-1.06L11.06 10l1.72-1.72a.75.75 0 00-1.06-1.06L10 8.94 8.28 7.22z",clipRule:"evenodd"})})}),t.level==="requires_info"&&jsx("span",{className:"inline-block mr-1 flex-shrink-0",children:jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:`h-3 w-3 ${r}`,viewBox:"0 0 20 20",fill:"currentColor",children:jsx("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})})}),t.level==="info"&&jsx("span",{className:"inline-block mr-1 flex-shrink-0",children:jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:`h-3 w-3 ${r}`,viewBox:"0 0 20 20",fill:"currentColor",children:jsx("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})})}),jsx("div",{className:"flex-1 break-words whitespace-pre-wrap",children:String(e)})]})})})}function He({item:t,className:e}){let n=typeof t.content=="object"&&t.content!==null?t.content:{message:String(t.content)},o={level:n.level||"info",message:n.message||String(t.content),timestamp:n.timestamp};return jsx("div",{className:e,children:jsx(nr,{log:o})})}function pi(t){if(!t||typeof t!="object")return null;let e=t;if(Array.isArray(e.results))return e;if(e.result&&typeof e.result=="object"){let n=e.result;if(Array.isArray(n.results))return n}return null}function Ke({item:t,className:e}){let n=pi(t.content);return n?.results?.length?jsx("div",{className:`rounded-lg border border-border/50 overflow-hidden ${e||""}`,children:jsx("div",{className:"divide-y divide-border/30",children:n.results.map(o=>{let r="";try{r=new URL(o.url).hostname.replace(/^www\./,"");}catch{}return jsxs("a",{href:o.url,target:"_blank",rel:"noopener noreferrer",className:"flex items-start gap-3 px-3 py-2 hover:bg-muted/50 transition-colors group",children:[jsxs("div",{className:"flex-1 min-w-0",children:[jsx("div",{className:"text-sm text-foreground/90 group-hover:text-foreground group-hover:underline truncate",children:o.title}),o.description&&jsx("div",{className:"text-xs text-muted-foreground mt-0.5 line-clamp-1",children:o.description})]}),jsxs("div",{className:"flex items-center gap-1 shrink-0 mt-0.5",children:[jsx("span",{className:"text-[10px] text-muted-foreground/60",children:r}),jsx(ExternalLink,{className:"h-3 w-3 text-muted-foreground/40 group-hover:text-muted-foreground"})]})]},o.url)})})}):null}function fi(t){if(!t||typeof t!="object")return null;let e=t;if(typeof e.content=="string")return e;if(e.result&&typeof e.result=="object"){let n=e.result;if(typeof n.content=="string")return n}return null}function gi(t){if(!t||typeof t!="object")return null;let n=t.input;return typeof n?.url=="string"?n.url:null}function Qe({item:t,className:e}){let n=fi(t.content),o=gi(t.content),r=n?.url||o,s=n?.title,a=n?.content,i="";try{r&&(i=new URL(r).hostname.replace(/^www\./,""));}catch{}return !a&&!r?null:jsxs("div",{className:`rounded-lg border border-border/50 overflow-hidden ${e||""}`,children:[r&&jsxs("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-2 px-3 py-2 border-b border-border/30 hover:bg-muted/50 transition-colors group",children:[jsxs("div",{className:"flex-1 min-w-0",children:[jsx("div",{className:"text-sm text-foreground/90 group-hover:text-foreground truncate",children:s?.trim()||i||r}),s&&i&&jsx("div",{className:"text-[10px] text-muted-foreground/60 mt-0.5",children:i})]}),jsx(ExternalLink,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground/40 group-hover:text-muted-foreground"})]}),a&&jsx("div",{className:"max-h-64 overflow-y-auto px-3 py-2 bg-muted/20",children:jsx(D,{content:a,className:"text-xs"})})]})}var Ni=Prism,bt=memo(function({language:e,value:n,defaultOpen:o=false,title:r="View code",closeTitle:s="Hide code",className:a,theme:i="auto"}){let[c,l]=useState(o),[u,d]=useState(false),p=useRef(null);useEffect(()=>{if(!c){let y=p.current;y&&(y.scrollTop=y.scrollHeight);}},[c,n]);let m=useMemo(()=>i!=="auto"?i:typeof window>"u"?"light":document.documentElement.classList.contains("dark")||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",[i]),g=useMemo(()=>m==="dark"?oneDark:oneLight,[m]),f=useCallback(async()=>{try{await navigator.clipboard.writeText(n),d(!0),setTimeout(()=>d(!1),2e3);}catch{let y=document.createElement("textarea");y.value=n,document.body.appendChild(y),y.select(),document.execCommand("copy"),document.body.removeChild(y),d(true),setTimeout(()=>d(false),2e3);}},[n]),x=useMemo(()=>({margin:0,width:"100%",background:"transparent",padding:"1rem 0.5rem",fontSize:"0.825rem",maxWidth:"100vw",overflow:"auto"}),[]),b=useMemo(()=>({userSelect:"none",minWidth:"2.5em",paddingRight:"1em",color:"rgb(161 161 170)",opacity:"0.5"}),[]),k=useMemo(()=>({style:{fontFamily:"var(--font-mono, ui-monospace, monospace)",whiteSpace:"pre",wordBreak:"break-word"}}),[]);return jsx(ae.Root,{open:c,onOpenChange:l,className:a,children:jsxs("div",{className:"relative w-full font-sans rounded-lg overflow-hidden border border-zinc-200 dark:border-zinc-800",children:[jsxs("div",{className:"flex items-center justify-between w-full px-4 py-1.5 bg-white/80 dark:bg-zinc-800/80 text-zinc-600 dark:text-zinc-100 backdrop-blur-sm border-b border-zinc-200 dark:border-zinc-800",children:[jsx("span",{className:"text-xs font-medium lowercase text-zinc-400 dark:text-zinc-500",children:e}),jsx("button",{onClick:f,className:"h-6 w-6 flex items-center justify-center rounded-md hover:bg-zinc-100 dark:hover:bg-zinc-700 transition-colors",children:u?jsx(Check,{className:"h-3 w-3 text-green-500"}):jsx(Copy,{className:"h-3 w-3 text-zinc-400 dark:text-zinc-500"})})]}),jsxs("div",{ref:p,className:`${c?"max-h-96":"max-h-[200px]"} overflow-auto relative`,children:[jsx("div",{className:"bg-zinc-50/50 dark:bg-zinc-950/70",children:jsx(Ni,{language:e,style:g,PreTag:"div",showLineNumbers:true,wrapLines:false,wrapLongLines:false,startingLineNumber:1,className:"not-prose",customStyle:x,lineNumberStyle:b,codeTagProps:k,children:n})}),!c&&jsx("div",{className:"absolute bottom-0 inset-x-0 h-24 pointer-events-none bg-gradient-to-t from-zinc-50 dark:from-zinc-950 to-transparent",style:{marginBottom:"1.5rem"}})]}),jsx(ae.Trigger,{className:"absolute bottom-0 inset-x-0 flex items-center gap-2 text-sm text-zinc-400 dark:text-zinc-500 hover:text-zinc-600 dark:hover:text-zinc-300 p-2 justify-start bg-zinc-50/80 dark:bg-zinc-950/80 backdrop-blur-sm border-t border-zinc-200 dark:border-zinc-800 cursor-pointer",children:c?jsxs(Fragment,{children:[jsx(ChevronUp,{className:"h-4 w-4"}),s]}):jsxs(Fragment,{children:[jsx(ChevronDown,{className:"h-4 w-4"}),r]})})]})})});function Ti(t){if(typeof t!="object"||t===null||Array.isArray(t))return null;let e=t;return "sql_query"in e||"thinking"in e||"error"in e?{thinking:typeof e.thinking=="string"?e.thinking:void 0,sql_query:typeof e.sql_query=="string"?e.sql_query:void 0,resource_key:typeof e.resource_key=="string"?e.resource_key:void 0,error:typeof e.error=="string"?e.error:void 0}:null}function Ei(t){return Ti(t.content)}function Ye({item:t,className:e}){let n=Ei(t);if(!n)return null;let{thinking:o,sql_query:r,error:s}=n;return s?jsxs("div",{className:`text-destructive text-sm ${e||""}`,children:[jsx("div",{className:"font-medium",children:"Error"}),jsx("div",{children:s})]}):!r&&!o?null:jsxs("div",{className:`text-foreground whitespace-pre-wrap leading-normal ${e||""}`,children:[o&&jsx("div",{className:"mb-2",children:jsx(D,{content:o,className:"text-sm max-w-none"})}),r&&jsx("div",{className:"mb-2",children:jsx(bt,{language:"sql",value:r,defaultOpen:false})})]})}var Ri=500,Ai=300;function ne({content:t,className:e}){let[n,o]=useState(false);if(!t||typeof t!="string"||!t.trim())return null;if(t.length<=Ri)return jsx("div",{className:`text-sm text-muted-foreground ${e||""}`,children:jsx(D,{content:t,className:"text-sm max-w-none"})});let s=t.slice(0,Ai).trimEnd()+"...";return jsx("div",{className:`text-sm text-muted-foreground ${e||""}`,children:n?jsxs(Fragment,{children:[jsx(D,{content:t,className:"text-sm max-w-none"}),jsx("button",{onClick:()=>o(false),className:"text-xs text-muted-foreground/70 hover:text-muted-foreground mt-1",children:"Show less"})]}):jsxs(Fragment,{children:[jsx("span",{className:"text-sm",children:s}),jsx("button",{onClick:()=>o(true),className:"text-xs text-muted-foreground/70 hover:text-muted-foreground ml-1",children:"Show more"})]})})}function Ct({children:t,defaultOpen:e=false,wrapperType:n="standard",compact:o=false,className:r}){let[s,a]=useState(e),[i,c]=useState(false),l=useRef(null);useEffect(()=>{let p=l.current;p&&(s||(p.scrollTop=p.scrollHeight),c(p.scrollHeight>p.clientHeight));},[s,t]);let u={standard:"bg-muted/30 border-border",info:"bg-info/10 border-info/30",warning:"bg-warning/10 border-warning/30"},d={standard:"text-muted-foreground hover:text-foreground",info:"text-info hover:text-info/80",warning:"text-warning hover:text-warning/80"};return jsx("div",{className:`relative text-sm ${o?"":"mb-2"} ${r||""}`,children:jsx(ae.Root,{open:s,onOpenChange:a,className:`border rounded-sm ${u[n]}`,children:jsxs("div",{ref:l,className:`overflow-y-auto ${s?"":"max-h-[200px]"}`,children:[i&&jsx(ae.Trigger,{className:`sticky top-0 text-center text-xs py-1 transition-opacity w-full cursor-pointer ${d[n]}`,children:s?"Less \u2193":"More \u2191"}),jsx("div",{className:`${o?"px-2 py-1":"p-2"} m-0 overflow-x-auto break-words whitespace-pre-wrap`,children:t})]})})})}function sr(t){return new Date(t).toLocaleTimeString("en-US",{hour12:false,hour:"2-digit",minute:"2-digit",second:"2-digit"})}function re({children:t,timestamp:e}){return jsxs("div",{className:"flex",children:[e&&jsx("span",{className:"text-muted-foreground/60 mr-2 select-none",children:sr(e)}),jsx("span",{className:"text-foreground/80",children:t})]})}function oe({children:t,timestamp:e}){return jsxs("div",{className:"flex",children:[e&&jsx("span",{className:"text-info/60 mr-2 select-none",children:sr(e)}),jsx("span",{className:"text-info/90",children:t})]})}function tn({children:t,timestamp:e}){return jsxs("div",{className:"flex",children:[e&&jsx("span",{className:"text-warning/60 mr-2 select-none",children:sr(e)}),jsx("span",{className:"text-warning/90",children:t})]})}function nn({item:t,className:e}){if(!t.content)return null;let n=Oi(t.content)??Mi(t.parsedJson);if(!n)return null;let{step_by_step:o,thinking:r,code:s,warnings:a,error:i}=n;return i?jsx(Ct,{wrapperType:"info",className:e,children:jsx(oe,{children:i})}):!o&&!r&&!s&&!a?null:jsxs("div",{className:`text-foreground whitespace-pre-wrap leading-normal ${e||""}`,children:[o&&jsx(D,{content:o,className:"text-sm max-w-none"}),r&&jsx(ne,{content:r,state:typeof t.state=="string"?t.state:void 0}),s&&jsx("div",{className:"mb-2",children:jsx(bt,{language:"python",value:s,defaultOpen:false})}),a&&jsxs("div",{className:"text-sm text-warning",children:[jsx("div",{className:"font-medium",children:"Warnings"}),jsx(D,{content:a,className:"text-sm max-w-none"})]})]})}function Oi(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)?t:null}function Mi(t){if(!Array.isArray(t))return null;let n=t.find(o=>o.type==="json");return n&&typeof n.content=="object"&&n.content!==null?n.content:null}function Co({item:t,className:e}){if(!t.content)return null;let n=Vi(t.content,t.parsedJson);if(!n)return null;let{thinking:o,code:r}=n,s=t.state==="in_progress",a=r?r.split(`
51
+ `).length:0;return jsxs("div",{className:`text-sm text-muted-foreground ${e||""}`,children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx(ot,{status:s?"loading":"finished",size:14}),jsx("span",{children:s?"Rewriting code\u2026":`Rewrote code${a>0?` (${a} lines)`:""}`})]}),o&&jsx("div",{className:"mt-1",children:jsx(ne,{content:o,state:t.state})})]})}function Vi(t,e){if(typeof t=="object"&&t!==null&&!Array.isArray(t))return t;if(Array.isArray(e)){let n=e.find(o=>o.type==="json");if(n&&typeof n.content=="object"&&n.content!==null)return n.content}return null}function sn({item:t,className:e}){let n=Li(t);if(n.sort((a,i)=>a.index-i.index),n.length===0)return null;let o=n.some(a=>a.level==="error"),r=n.some(a=>a.level==="warning"),s=o?"info":r?"warning":"standard";return jsx("div",{className:`text-foreground leading-normal ${e||""}`,children:jsx(Ct,{wrapperType:s,compact:true,children:n.map((a,i)=>jsx($i,{output:a},`${a.level}-${i}`))})})}function $i({output:t}){switch(t.level){case "output":return jsx(re,{timestamp:t.timestamp,children:t.message});case "error":return jsx(oe,{timestamp:t.timestamp,children:t.message});case "warning":return jsx(tn,{timestamp:t.timestamp,children:t.message});default:return jsx("div",{className:"text-muted-foreground",children:t.message})}}function Li(t){let e=_o(t.content);return e.length>0?e:_o(t.parsedJson)}function _o(t){return on(t).map((n,o)=>ji(n,o)).filter(n=>n!==null)}function on(t){if(Array.isArray(t))return t.every(Ui)?t.flatMap(e=>on(e.content)):t;if(typeof t=="string"){let e=L(t);return e!=null?on(e):on(yt(t))}if(t&&typeof t=="object"){let e=t;if(Array.isArray(e.outputs))return e.outputs;if(typeof e.message=="string"||typeof e.stdout=="string"||typeof e.stderr=="string"||typeof e.content=="string")return [e]}return []}function ji(t,e){if(!t||typeof t!="object")return null;let n=t,o=typeof n.message=="string"?n.message:typeof n.stdout=="string"?n.stdout:typeof n.stderr=="string"?n.stderr:typeof n.content=="string"?n.content:"";if(!o.trim())return null;let r=typeof n.level=="string"?n.level:n.stderr?"error":n.warning?"warning":"output";return {level:r==="error"||r==="warning"||r==="output"?r:"output",message:o,timestamp:typeof n.timestamp=="string"?n.timestamp:void 0,index:typeof n.index=="number"?n.index:e}}function Ui(t){return !!(t&&typeof t=="object"&&"type"in t&&"content"in t)}function Gi(t){if(!t?.result||t.status==="error")return false;let e=t.result;return typeof e=="string"?e.trim()!=="":Array.isArray(e)?e.length>0:typeof e=="object"&&e!==null?Object.keys(e).length>0:true}function Wi(t,e,n){if(e?.finished_message)return e.finished_message;if(e?.running_message)return e.running_message;if(!e&&n?.running_message)return n.running_message;let o=t||"tool";return e?`Completed ${o}`:`Running ${o}...`}function se({toolGroup:t,ContentComponent:e,className:n,fallbackClassName:o}){let[r,s]=useState(false),a=H(),i=e??a?.ContentComponent;useEffect(()=>{ze();},[]);let c=t.invocation,l=t.result,u=Gi(l),d=c?.name||l?.name,p=Wi(d,l,c),m=!l,g=u&&!m;return jsxs("div",{className:n,children:[jsx("span",{role:g?"button":void 0,tabIndex:g?0:void 0,onClick:()=>g&&s(!r),onKeyDown:f=>{g&&(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),s(!r));},className:`text-sm ${m?"erdo-shimmer":g?"text-muted-foreground hover:text-foreground/70 cursor-pointer transition-colors":"text-muted-foreground"}`,children:p}),r&&u&&l&&jsx("div",{className:"mt-1",children:i?jsx(i,{content:{content:l.result,content_type:l.ui_content_type||"json"}}):jsx("pre",{className:o||"text-sm bg-gray-100 dark:bg-gray-800 p-2 rounded overflow-x-auto",children:JSON.stringify(l.result,null,2)})})]})}var Ot={Success:"success",Error:"error",RequiresInfo:"requires info"};function Qi(t){return t?t===Ot.Success?"finished":t===Ot.Error||t===Ot.RequiresInfo?"failed":"loading":"loading"}function wo(t){return t?t!==Ot.Success&&t!==Ot.Error&&t!==Ot.RequiresInfo:true}function Zi(t,e){let n=e||"agent",o=O(t?.message);return o||(t?.status===Ot.Success?`Finished ${n}`:`Running ${n}...`)}function ln({content:t,botInvocation:e,isLoading:n=false,defaultOpen:o,adminLinkHref:r,adminLinkText:s="Open in Agent Designer",showAdminLink:a=false,onAdminClick:i,onExpand:c,EventsComponent:l,ContentComponent:u,className:d}){let p=()=>o!==void 0?o:wo(e?.currentStatus?.status),[m,g]=useState(p),[f,x]=useState(false),b=useRef(null);if(useEffect(()=>{if(e?.currentStatus){let v=e.currentStatus.status;if(b.current!==v&&(b.current=v,!f)){let I=wo(v);I&&!m?g(true):!I&&m&&g(false);}}},[e,f,m]),useEffect(()=>{m&&e&&c&&c(t.invocation_id,t.bot_id,t.bot_name);},[m,e,c,t]),n&&!e&&!t.transparent)return jsxs("div",{className:`flex items-center gap-2 text-sm text-muted-foreground ${d||""}`,children:[jsx(ot,{status:"loading"}),jsxs("span",{children:["Loading ",t.bot_name,"..."]})]});if(!e)return null;let k=e.eventsByID&&Object.keys(e.eventsByID).length>0;if(t.transparent)return k?l?jsx(l,{eventsByID:e.eventsByID,defaultOpen:true}):jsx(Dt,{eventsByID:e.eventsByID,ContentComponent:u}):null;let y=Qi(e.currentStatus?.status),h=Zi(e.currentStatus,t.bot_name),S=v=>{g(v),x(true);},_=v=>{i&&(v.preventDefault(),i(t.invocation_id,t.bot_id));};return jsxs(ae.Root,{open:m,onOpenChange:S,className:`relative w-full max-w-4xl space-y-2 leading-normal bot-invocation-content ${d||""}`,children:[jsxs("div",{className:"flex items-center justify-between",children:[jsxs(ae.Trigger,{className:"flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:[jsxs("div",{className:"text-sm font-medium flex items-center gap-2",children:[jsx(ot,{status:y}),h]}),jsx(ChevronDown,{className:`h-4 w-4 transition-transform duration-200 ${m?"transform rotate-180":""}`})]}),a&&(r||i)&&jsxs("a",{href:r||"#",onClick:i?_:void 0,target:r?"_blank":void 0,rel:r?"noopener noreferrer":void 0,className:"flex items-center gap-1 text-sm text-muted-foreground hover:text-foreground transition-colors",children:[s,jsx(ArrowUpRight,{className:"h-3.5 w-3.5"})]})]}),jsx(ae.Content,{children:jsx("div",{className:"space-y-2 max-w-3xl",children:k?l?jsx(l,{eventsByID:e.eventsByID,defaultOpen:m}):jsx(Dt,{eventsByID:e.eventsByID,ContentComponent:u}):jsx("span",{className:"text-sm text-muted-foreground",children:"No events to display"})})})]})}function Io({content:t,isSearching:e=false,className:n}){let o=[];Array.isArray(t)?o=t:typeof t=="object"&&t!==null&&"q"in t?o=t.q:typeof t=="string"&&(o=[t]);let r=o.filter(s=>s&&typeof s=="string"&&s.trim()!=="");return r.length===0?null:jsx("div",{className:`flex flex-wrap gap-2 ${n||""}`,children:r.map(s=>jsxs("div",{className:"inline-flex items-center px-3 py-1.5 rounded-lg text-sm bg-muted/50 text-foreground border border-border/30",children:[e?jsx(Loader2,{className:"h-3 w-3 mr-2 text-muted-foreground flex-shrink-0 animate-spin"}):jsx(Search,{className:"h-3 w-3 mr-2 text-muted-foreground flex-shrink-0"}),jsx("span",{className:"line-clamp-1",children:s})]},s))})}function No({content:t,isSearching:e=false,className:n}){let o=[];if(Array.isArray(t))o=t;else if(typeof t=="object"&&t!==null&&"integration_queries"in t)o=t.integration_queries;else if(typeof t=="string")return null;let r=o.filter(s=>s&&s.query&&typeof s.query=="string"&&s.query.trim()!=="");return r.length===0?null:jsx("div",{className:`flex flex-wrap gap-2 ${n||""}`,children:r.map(s=>jsxs("div",{className:"inline-flex items-center px-3 py-1.5 rounded-lg text-sm bg-muted/50 text-foreground border border-border/30",children:[e?jsx(Loader2,{className:"h-3 w-3 mr-2 text-muted-foreground flex-shrink-0 animate-spin"}):jsx(Search,{className:"h-3 w-3 mr-2 text-muted-foreground flex-shrink-0"}),jsx("span",{className:"line-clamp-1",children:s.query})]},`${s.integration_config_id}-${s.resource_id}-${s.query}`))})}var ul=120;function dl(t,e){return !t||t.length<=e?t:t.slice(0,e).trimEnd()+"..."}function pl(t){switch(t){case "snippet":return Code;case "learning":return Brain;case "error":return AlertCircle;case "limitation":return AlertCircle;case "optimization":return Zap;default:return Lightbulb}}function ml(t){switch(t){case "snippet":return "Snippet";case "learning":return "Learning";case "error":return "Error";case "limitation":return "Limitation";case "optimization":return "Optimization";default:return t}}function fl({memory:t}){let[e,n]=useState(false),o=pl(t.type),r=ml(t.type),s=t.type==="snippet",a=dl(t.description||"",ul),i=t.content&&typeof t.content=="string"&&t.content.trim()!=="",c=s&&i;return jsxs(ae.Root,{open:e,onOpenChange:n,className:"border border-border/50 rounded-lg overflow-hidden",children:[jsxs(ae.Trigger,{className:`w-full text-left p-3 flex items-start gap-3 ${c?"hover:bg-muted/50 cursor-pointer":"cursor-default"}`,disabled:!c,children:[jsx("div",{className:"flex-shrink-0 mt-0.5",children:jsx(o,{className:"h-4 w-4 text-muted-foreground"})}),jsxs("div",{className:"flex-1 min-w-0",children:[jsxs("div",{className:"flex items-center gap-2 mb-1",children:[jsx("span",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide",children:r}),t.tags&&t.tags.length>0&&jsxs("div",{className:"flex gap-1 flex-wrap",children:[t.tags.slice(0,3).map((l,u)=>jsx("span",{className:"text-xs px-1.5 py-0.5 bg-muted rounded text-muted-foreground",children:l},u)),t.tags.length>3&&jsxs("span",{className:"text-xs text-muted-foreground",children:["+",t.tags.length-3]})]})]}),jsx("p",{className:"text-sm text-foreground",children:s?a:t.description||t.content})]}),c&&jsx(ChevronDown,{className:`h-4 w-4 text-muted-foreground flex-shrink-0 transition-transform duration-200 ${e?"rotate-180":""}`})]}),c&&jsx(ae.Content,{children:jsx("div",{className:"border-t border-border/50 bg-muted/30",children:jsx("pre",{className:"p-3 text-sm overflow-x-auto whitespace-pre-wrap break-words font-mono",children:t.content})})})]})}function dn({content:t,className:e}){let n=Array.isArray(t)?t:t?.memories;return !n||n.length===0?jsx("p",{className:"text-sm text-muted-foreground",children:"No memories found."}):jsx("div",{className:`space-y-2 ${e||""}`,children:n.map(o=>jsx(fl,{memory:o},o.id))})}function ar(){return jsxs("span",{className:"inline-flex gap-1 text-muted-foreground",children:[jsx("span",{className:"animate-bounce",style:{animationDelay:"0ms"},children:"\u25CF"}),jsx("span",{className:"animate-bounce",style:{animationDelay:"150ms"},children:"\u25CF"}),jsx("span",{className:"animate-bounce",style:{animationDelay:"300ms"},children:"\u25CF"})]})}function Ao(){return jsx("div",{className:"flex items-center justify-center py-8",children:jsx(Loader2,{className:"animate-spin text-muted-foreground",size:24})})}function xl(t){if(t.content_type==="bot_invocation"||t.content_type==="bot_invocation_result")return null;if(t.content&&typeof t.content=="object"){let n=t.content,o=n.tool_invocation_content;if(n.action_type==="bot.invoke"||o?.action_type==="bot.invoke")return null}if(t.content_type==="tool_invocation")return "tool_invocation";if(t.content_type==="tool_result")return "tool_result";if(!t.content||typeof t.content!="object")return null;let e=t.content;return "action_type"in e&&"name"in e&&"input"in e&&e.action_type!=="bot.invoke"?"result"in e?"tool_result":"tool_invocation":null}function Mt({content:t,className:e,components:n}){let r=H()?.onSuggestionClick,s=useMemo(()=>l=>jsx(Mt,{...l,components:n}),[n]);if(!t.content||t.content==="")return null;if(t.content&&typeof t.content=="object"){let l=t.content,u=l.tool_invocation_content;if(l.action_type==="bot.invoke"||u?.action_type==="bot.invoke")return null}let a=xl(t),i;a?i=a:i=O(t.ui_content_type)||t.content_type;let c=n?.[i];if(c)return jsx(c,{content:t,className:e});switch(i){case "text":return jsx(ke,{content:Eo(t),className:e});case "markdown":return jsx(D,{content:Eo(t),className:e});case "thinking":case "redacted_thinking":return jsx(Xt,{item:t,className:e});case "json":return jsx(gt,{content:t.content,className:e});case "codegen_json":return jsx(nn,{item:t,className:e});case "code_rewrite":return jsx(Co,{item:t,className:e});case "sql_generation":return jsx(Ye,{item:t,className:e});case "codeexec_output":return jsx(sn,{item:t,className:e});case "log":return jsx(He,{item:t,className:e});case "websearch":case "websearch_output":case "web_search":return jsx(Ke,{item:t,className:e});case "search_queries":return jsx(Io,{content:t.content,className:e});case "integration_queries":return jsx(No,{content:t.content,className:e});case "memory":return jsx(dn,{content:t.content,className:e});case "webparse":case "webparse_output":case "web_parse":return jsx(Qe,{item:t,className:e});case "tool_group":return jsx(se,{toolGroup:t.content,ContentComponent:s,className:e});case "bot_invocation":{let l=t.content,u=t.botInvocation;return jsx(ln,{content:l,botInvocation:u,ContentComponent:s,className:e})}case "chart":case "ui_generation":{let l=t.invocation_id||t.created_by_invocation_id;if(t.chartConfig&&t.chartData)return jsx(We,{config:t.chartConfig,data:t.chartData,className:e});let u=ve(t.content);if(u&&Do(u))return Ro(u,e,l,r);let d=ve(t.parsedJson);return d&&Do(d)?Ro(d,e,l,r):jsx("p",{className:"w-full max-w-4xl text-sm text-muted-foreground",children:"The LLM generated an invalid response. Please try again."})}case "table":return t.tableColumns&&t.tableData?jsx(qe,{columns:t.tableColumns,data:t.tableData,className:e}):jsx(gt,{content:t.content,className:e});case "tool_invocation":{let l=t.content,u={invocation:{invocation_id:l.id||"",action:l.action_type||"",params:l.input||{},id:l.id||"",name:l.name||"",input:l.input||{},description:l.description,action_type:l.action_type,running_message:l.running_message}};return jsx(se,{toolGroup:u,ContentComponent:s,className:e})}case "tool_result":{let l=t.content,u={invocation:{invocation_id:l.id||"",action:l.action_type||"",params:l.input||{}},result:{invocation_id:l.id||"",result:l.result}},d={...u,invocation:{...u.invocation,id:l.id||"",name:l.name||"",input:l.input||{},action_type:l.action_type,description:l.description},result:{...u.result,id:l.id||"",name:l.name||"",input:l.input||{},result:l.result,status:l.status||"success",action_type:l.action_type,description:l.description,ui_content_type:l.ui_content_type||O(t.ui_content_type),running_message:l.running_message||l.running_status,finished_message:l.finished_message||l.finished_status}};return jsx(se,{toolGroup:d,ContentComponent:s,className:e})}default:return typeof t.content=="string"?jsx(ke,{content:t.content,className:e}):null}}function Eo(t){return typeof t.content=="string"?t.content:""}function Do(t){return t.some(e=>{if(e.type==="text"){if(typeof e.content!="string")return false;let n=e.content.trim();return !(!n||n.startsWith("{")||n.startsWith("["))}if(e.type==="json"){let n=e.content;return !!Po(n)||Kt(n)}return false})}function Po(t){let e=t?.children??t?.blocks;return Array.isArray(e)?e:void 0}function ve(t){if(t==null)return null;if(Array.isArray(t))return t.every(o=>o&&typeof o=="object"&&"type"in o&&"content"in o)?t:t.every(o=>o&&typeof o=="object"&&"_type"in o)?[{type:"json",content:{children:t}}]:null;if(typeof t=="object")return [{type:"json",content:t}];if(typeof t=="string"){let e=yt(t);return ve(e)}return null}function Ro(t,e,n,o){return jsx(Fragment,{children:t.map((r,s)=>{if(r.type==="text"){let a=typeof r.content=="string"?r.content:String(r.content);return jsx(D,{content:a,className:e},`${s}-${a.length}`)}if(r.type==="json"){let a=r.content,i=Po(a);return i?jsx(ht__default.Fragment,{children:jsx(Yt,{nodes:i,className:e,invocationId:n,onSuggestionClick:o})},`${s}-${i.length}`):Kt(a)?jsx(ar,{},s):null}return null})})}function Cl({result:t,isStreaming:e,className:n,components:o,streamingText:r}){let s=t?Bo(t):[];return r&&s.length===0?jsxs("div",{className:n?`erdo-ui ${n}`:"erdo-ui space-y-4",children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx("div",{className:"animate-pulse w-2 h-2 bg-blue-500 rounded-full"}),jsx("span",{className:"text-sm text-gray-500",children:"Streaming response..."})]}),jsx("div",{className:"border rounded-lg p-4 whitespace-pre-wrap",children:r})]}):s.length===0&&!e?null:jsxs("div",{className:n?`erdo-ui ${n}`:"erdo-ui space-y-4",children:[s.map((a,i)=>jsx("div",{children:jsx(Mt,{content:a,components:o})},a.id||i)),e&&s.length===0&&!r&&jsxs("div",{className:"flex items-center gap-2",children:[jsx("div",{className:"animate-pulse w-2 h-2 bg-blue-500 rounded-full"}),jsx("span",{className:"text-sm text-gray-500",children:"Processing..."})]})]})}function Bo(t){let e=[],n=new Set;if(t.events)for(let o of t.events){let r=o.metadata,s=o.payload;if(r?.user_visibility==="visible"&&s?.status==="success"&&s?.output){let a=s.output;if(a.content&&Array.isArray(a.content))for(let i=0;i<a.content.length;i++){let c=a.content[i],l=c.id||`event-result-${i}`;if(n.has(l))continue;n.add(l);let u=r?.ui_content_type;e.push({id:l,content_type:c.content_type||"text",ui_content_type:u,content:c.content,data:c.data,chartConfig:c.chartConfig,chartData:c.chartData,tableColumns:c.tableColumns,tableData:c.tableData});}}}if(e.length===0&&t.result?.output?.content){let o=t.result.output.content;if(Array.isArray(o))for(let r=0;r<o.length;r++){let s=o[r],a=s.id||`result-${r}`;if(n.has(a))continue;n.add(a);let i=s.ui_content_type;e.push({...s,id:a,ui_content_type:i});}}return e}function _l(t){if(t.length===0)return t;let e=false;for(let o=0;o<t.length-1;o++){let r=t[o].type,s=t[o+1].type;if(r==="text"&&s==="json"||r==="json"&&s==="text"){e=true;break}}if(!e)return t;let n=[];for(let o=0;o<t.length;o++){let r=t[o],s=o>0?t[o-1]:null,a=o<t.length-1?t[o+1]:null;if(r.type==="text"&&typeof r.content=="string"){let i=r.content,c=false;if(a?.type==="json"){let l=i;i=i.replace(/```(?:json)?\s*$/,""),l!==i&&(c=true);}if(s?.type==="json"){let l=i;i=i.replace(/^\s*```/,""),l!==i&&(c=true);}(!c||i.trim())&&n.push({...r,content:i});}else n.push(r);}return n}var Sl=new Set(["=","("]);function vl(t){if(!t||t.length===0)return true;let e=t[t.length-1];return !Sl.has(e)}function ir(t,e){if(t.user_visibility!=="visible"||!xe(t.content_type,t.ui_content_type.String))return typeof t.content=="object"?t:{...t,content:(t.content||"")+e};if(typeof t.content=="object"&&t.content!==null)return t;let n=t.parsedJson?[...t.parsedJson]:[];n.length>0&&(n[n.length-1]={...n[n.length-1]});let o=(t.content||"")+e,r=t._isInJson??false,s=t._charBuffer??"",a=t._jsonParser,i=n.length>0&&t._currentContent?n[n.length-1]:void 0;if(typeof e=="object")return {...t,content:(t.content||"")+JSON.stringify(e),parsedJson:[...n,e],_isInJson:r,_charBuffer:s,_jsonParser:a,_currentContent:void 0};let c=o.length-e.length,l="",u=()=>{l&&(!i||i.type!=="text"?(i={content:l,type:"text"},n.push(i)):i.content=i.content+l,l="");};for(let m=0;m<e.length;m++){let g=e[m];if(!r&&g==="{"){let f=o.slice(0,c+m);if(vl(f)){u(),s="{";continue}}if(s&&Rt(g)){s+=g;continue}if(!r&&s?.match(/^\s*{\s*$/)&&g==='"'){r=true,a=new tt;let x={content:a.add("{"),type:"json"};i?.content?typeof i.content=="string"&&i.content.match(/^\s*{$/)?(i=x,n[n.length-1]=x):(typeof i.content=="string"&&(i.content=i.content.replace(/{$/,"")),i=x,n.push(x)):(i=x,n.push(x));}if(r)try{let f=a.add(g);i.content=f,a.state==="END"&&(r=!1,i=void 0);}catch{if(r=false,a=void 0,i&&i.type==="json"){let x=o.lastIndexOf("{"),b=o.slice(x,c+m+1);i.type="text",i.content=b;}continue}else l+=s+g;s="";}u();let d=i,p=_l(n);return {...t,content:o,parsedJson:p,_isInJson:r,_charBuffer:s,_jsonParser:a,_currentContent:d}}function we(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function wl(t){if(!we(t)||!("content"in t))return t;let e=t.content;return e===void 0?t:e}function ce(t,e){let n=wl(e);if((t==="thinking"||t==="redacted_thinking")&&typeof n=="string"){let o=L(n);return we(o)?{content:o}:{content:n}}if(t==="json"&&typeof n=="string"){let o;try{let s=yt(n);Array.isArray(s)&&(o=s);}catch{}let r=L(n);return r!=null?{content:r,parsedJson:o}:{content:n,parsedJson:o}}return {content:n}}function Il(t,e){return typeof e=="string"?e:we(e)?t==="redacted_thinking"?typeof e.data=="string"?e.data:"":typeof e.thinking=="string"?e.thinking:"":""}function mn(t,e,n){let o=ce(t,n);if(t!=="thinking"&&t!=="redacted_thinking")return o;let r=Il(t,e);return r?t==="redacted_thinking"?we(o.content)&&typeof o.content.data!="string"?{...o,content:{...o.content,data:r}}:o:we(o.content)&&typeof o.content.thinking!="string"?{...o,content:{...o.content,thinking:r}}:o:o}function fn(t){let e=t.metadata?.step_id??t.payload?.step_id;return typeof e=="string"?e:""}function lr(t){let e=t.metadata?.message_content_id??t.payload?.message_content_id;return typeof e=="string"?e:""}function Nl(t){let e=t.metadata?.message_id;return typeof e=="string"?e:""}function cr(t,e){if(e.metadata?.content_type==="agent_invocation")return true;let n=Nl(e);return !!(n&&n!==t.messageId)}function Tl(t){return typeof t=="string"?t:typeof t=="object"&&t!==null&&"content"in t?String(t.content??""):""}function gn(){return {nodes:[],byStepId:{},byContentId:{},childrenByParentId:{},rootStepId:null,messageId:null,isStreaming:false}}function ur(t,e){switch(e.type){case "message created":return El(t,e);case "message finished":return Oo(t);case "step_started":return Dl(t,e);case "step_finished":return Rl(t,e);case "create message content":return Al(t,e);case "message content delta":return Pl(t,e);case "message content result":return Bl(t,e);case "status":return Ml(t,e);default:return t}}function El(t,e){let n=e.metadata?.message_id??e.payload?.message_id;if(!n)return t;let o=e.payload?.role,r=!!e.metadata?.invocation_id;return o==="assistant"||!o&&r?{...t,messageId:n}:t}function Dl(t,e){let n=e.payload;if(!n?.step_id)return t;let o=t.byStepId[n.step_id],r=n.parent_step_id??null,s={kind:"step",id:n.step_id,parentId:r,type:n.type||o?.type||"agent",name:n.name||o?.name||"",key:n.key??o?.key,status:"running",contentType:n.content_type??o?.contentType,runningStatus:n.running_status??o?.runningStatus,finishedStatus:n.finished_status??o?.finishedStatus,hidden:n.hidden??o?.hidden},i=!r&&!t.rootStepId?n.step_id:t.rootStepId,c=r??"__root__",l=t.childrenByParentId[c]??[],u=l.includes(n.step_id)?t.childrenByParentId:{...t.childrenByParentId,[c]:[...l,n.step_id]},d=o?t.nodes.map(p=>p.kind==="step"&&p.id===n.step_id?s:p):[...t.nodes,s];return {...t,nodes:d,byStepId:{...t.byStepId,[n.step_id]:s},childrenByParentId:u,rootStepId:i,isStreaming:true}}function Rl(t,e){let n=e.payload;if(!n?.step_id)return t;let o=t.byStepId[n.step_id];if(!o){let c={kind:"step",id:n.step_id,parentId:null,type:"agent",name:"",status:n.status==="error"?"error":"completed",error:n.error,finishedStatus:n.finished_status};return {...t,nodes:[...t.nodes,c],byStepId:{...t.byStepId,[n.step_id]:c}}}let r={...o,status:n.status==="error"?"error":"completed",error:n.error??o.error,...n.finished_status?{finishedStatus:n.finished_status}:{}},s=n.step_id===t.rootStepId,a=t.nodes.map(c=>c.kind==="step"&&c.id===n.step_id?r:c.kind==="content"&&c.stepId===n.step_id?{...c,state:"completed"}:c),i={...t.byContentId};for(let[c,l]of Object.entries(i))l.stepId===n.step_id&&(i[c]={...l,state:"completed"});return {...t,nodes:a,byStepId:{...t.byStepId,[n.step_id]:r},byContentId:i,isStreaming:s?false:t.isStreaming}}function Al(t,e){if(cr(t,e))return t;let n=lr(e);if(!n)return t;let o=fn(e)||null,r=typeof e.metadata?.content_type=="string"&&e.metadata.content_type||"text",s=typeof e.metadata?.ui_content_type=="string"&&e.metadata.ui_content_type||r,a=t.byContentId[n];if(a){let c={...a,stepId:a.stepId??o,contentType:a.contentType==="text"?r:a.contentType,uiContentType:a.uiContentType==="text"?s:a.uiContentType};return {...t,nodes:t.nodes.map(l=>l.kind==="content"&&l.id===n?c:l),byContentId:{...t.byContentId,[n]:c}}}let i={kind:"content",id:n,stepId:o,contentType:r,uiContentType:s,text:"",state:"streaming"};return {...t,nodes:[...t.nodes,i],byContentId:{...t.byContentId,[n]:i}}}function Pl(t,e){if(cr(t,e))return t;let n=lr(e),o=Tl(e.payload);if(!n||!o)return t;let r=t.byContentId[n],s=t;if(!r){let u=fn(e)||null,d=typeof e.metadata?.content_type=="string"&&e.metadata.content_type||"text",p=typeof e.metadata?.ui_content_type=="string"&&e.metadata.ui_content_type||d;r={kind:"content",id:n,stepId:u,contentType:d,uiContentType:p,text:"",state:"streaming"},s={...t,nodes:[...t.nodes,r],byContentId:{...t.byContentId,[n]:r}};}let a=r.text+o,i={},c=r.parsedContent;if(r.contentType==="json"){let u=Ll(r,o);c=u.parsedContent,i=u._parserFields;}let l={...r,text:a,...c!==void 0?{parsedContent:c}:{},...i};return {...s,nodes:s.nodes.map(u=>u.kind==="content"&&u.id===n?l:u),byContentId:{...s.byContentId,[n]:l}}}function Bl(t,e){if(cr(t,e))return t;let n=lr(e);if(!n)return t;let o=fn(e)||null,r=typeof e.metadata?.content_type=="string"&&e.metadata.content_type||"text",s=typeof e.metadata?.ui_content_type=="string"&&e.metadata.ui_content_type||r,a=t.byContentId[n],i=a?mn(r,a.result??a.text,e.payload):ce(r,e.payload);if(!a){let l={kind:"content",id:n,stepId:o,contentType:r,uiContentType:s,text:"",result:i.content,...i.parsedJson?{parsedContent:i.parsedJson}:{},state:"completed"};return {...t,nodes:[...t.nodes,l],byContentId:{...t.byContentId,[n]:l}}}let c={...a,result:i.content,...i.parsedJson?{parsedContent:i.parsedJson}:{},state:"completed"};return {...t,nodes:t.nodes.map(l=>l.kind==="content"&&l.id===n?c:l),byContentId:{...t.byContentId,[n]:c}}}function Oo(t){let e=t.nodes.map(o=>o.kind==="content"&&o.state==="streaming"?{...o,state:"completed"}:o),n={...t.byContentId};for(let[o,r]of Object.entries(n))r.state==="streaming"&&(n[o]={...r,state:"completed"});return {...t,nodes:e,byContentId:n,isStreaming:false}}function Ol(t){let e=t.payload;return typeof e=="string"?e:e?.message||e?.status_message||e?.status||""}function Ml(t,e){let n=fn(e)||null,o=Ol(e);if(!o)return t;if(n){let s=t.byStepId[n];return s?Vl(t,s,n,o):$l(t,n,o)}let r={kind:"status",stepId:null,message:o};return {...t,nodes:[...t.nodes,r]}}function Vl(t,e,n,o){let r=e.status==="completed"||e.status==="error"?{...e,finishedStatus:o}:{...e,runningStatus:o};return {...t,nodes:t.nodes.map(s=>s.kind==="step"&&s.id===n?r:s),byStepId:{...t.byStepId,[n]:r}}}function $l(t,e,n){let o=false,r=t.nodes.map(a=>{if(a.kind!=="content"||a.stepId!==e||a.contentType!=="tool_invocation"&&a.contentType!=="tool_result"||!a.result||typeof a.result!="object")return a;o=true;let i=a.state==="completed"?"finished_message":"running_message";return {...a,result:{...a.result,[i]:n}}});if(!o)return t;let s={...t.byContentId};for(let a of r)a.kind==="content"&&a.stepId===e&&t.byContentId[a.id]!==a&&(s[a.id]=a);return {...t,nodes:r,byContentId:s}}function Ll(t,e){let n=t,o={content:n._rawText??t.text,user_visibility:"visible",content_type:"json",ui_content_type:{String:t.uiContentType||"json",Valid:true},parsedJson:t.parsedContent??[],_jsonParser:n._jsonParser,_isInJson:n._isInJson,_charBuffer:n._charBuffer??"",_currentContent:n._currentContent},r=ir(o,e);return {parsedContent:r.parsedJson,_parserFields:{_rawText:r.content,_jsonParser:r._jsonParser,_isInJson:r._isInJson,_charBuffer:r._charBuffer,_currentContent:r._currentContent}}}function jl(t){for(let e of t.nodes){if(e.kind==="step"){let o=t.byStepId[e.id];if(o&&o.type==="tool_call"&&!o.hidden)return true;continue}if(e.kind!=="content")continue;let n=t.byContentId[e.id];if(n&&!(n.contentType==="tool_invocation"||n.contentType==="agent_invocation")&&(n.contentType==="tool_result"&&n.result||n.text||n.parsedContent?.length||n.result))return true}return false}function yn(t,e,n){return e.type!=="llm_call"?false:!(e.parentId===t.rootStepId)&&n.contentType==="text"}function hn(t){if(!t.rootStepId)return [];let e=[],n={};function o(s){if(!s)return false;if(s in n)return n[s];let a=s,i=false,c=[];for(;a;){if(a in n){i=i||n[a];break}c.push(a);let l=t.byStepId[a];if(!l)return false;if(l.hidden){i=true;break}a=l.parentId;}for(let l of c)n[l]=i;return i}function r(s){let a=false;if(s.contentType==="thinking"||s.contentType==="redacted_thinking"){let c=s.result??s.text;e.push({id:s.id,content_type:s.contentType,ui_content_type:s.uiContentType||s.contentType,content:c,state:s.state==="streaming"?"in_progress":"completed"}),a=true;}else if(s.contentType==="json"){if(s.parsedContent)for(let c=0;c<s.parsedContent.length;c++){let l=s.parsedContent[c];if(l.type==="text"&&l.content)e.push({id:`${s.id}-text-${c}`,content_type:"text",ui_content_type:"markdown",content:String(l.content)}),a=true;else if(l.type==="json"&&typeof l.content=="object"){let u=l.content;typeof u.output=="string"?e.push({id:`${s.id}-text-${c}`,content_type:"text",ui_content_type:"markdown",content:u.output}):typeof u.markdown=="string"?e.push({id:`${s.id}-text-${c}`,content_type:"text",ui_content_type:"markdown",content:u.markdown}):e.push({id:`${s.id}-json-${c}`,content_type:"json",ui_content_type:s.uiContentType||"ui_generation",content:u,state:s.state==="streaming"?"in_progress":"completed"}),a=true;}}else if(s.result){let c=typeof s.result=="string"?Ul(s.result):s.result;c&&typeof c=="object"&&(e.push({id:s.id,content_type:"json",ui_content_type:s.uiContentType||"json",content:c,state:s.state==="streaming"?"in_progress":"completed"}),a=true);}}if(a)return;let i=s.result??s.text;i&&e.push({id:s.id,content_type:s.contentType||"text",ui_content_type:s.uiContentType||"markdown",content:i,state:s.state==="streaming"?"in_progress":"completed"});}for(let s of t.nodes){if(s.kind!=="content")continue;let a=t.byContentId[s.id];if(!a||a.contentType==="tool_invocation")continue;if(a.contentType==="tool_result"){a.result&&a.result.action_type!=="bot.invoke"&&e.push({id:a.id,content_type:"tool_result",ui_content_type:a.uiContentType||"tool_result",content:a.result});continue}if(a.stepId===null){r(a);continue}let i=t.byStepId[a.stepId];if(!i){r(a);continue}o(i.id)||i.type!=="tool_call"&&(i.type==="llm_call"&&yn(t,i,a)||r(a));}return e}function Ul(t){return t?L(t):null}function zl(t){return (t.status==="completed"||t.status==="error")&&t.finishedStatus?t.finishedStatus:t.runningStatus?t.runningStatus:t.name.replace(/_/g," ")}function Hl(t){return t==="running"?"loading":t==="error"?"failed":"finished"}function Kl(t,e){let n=t.byStepId[e];if(!n||n.type!=="agent"||(t.childrenByParentId[e]||[]).some(s=>{let a=t.byStepId[s];return !!a&&a.type==="agent"&&!a.hidden}))return false;for(let s of t.nodes){if(s.kind!=="step")continue;let a=t.byStepId[s.id];if(!a||a.type!=="agent"||a.hidden||a.id===e)continue;let i=a.id;for(;i;){if(i===e)return true;i=t.byStepId[i]?.parentId??null;}}return false}function Ql(t){return t==="info"?"info":t==="warning"?"warning":"standard"}function Zl(t){let e=t.trim();if(!e)return null;let n=new Set;n.add(e);let o=e.match(/^```[a-zA-Z0-9_-]*\n([\s\S]*?)\n```$/);o?.[1]&&n.add(o[1].trim());let r=e.indexOf("{"),s=e.lastIndexOf("}");r>=0&&s>r&&n.add(e.slice(r,s+1).trim());let a=e.indexOf("["),i=e.lastIndexOf("]");a>=0&&i>a&&n.add(e.slice(a,i+1).trim());for(let c of n){if(!c)continue;let l=L(c);if(l!=null)return typeof l=="string"?L(l)??l:l}return null}function Mo(t,e){let n=[],o="",r=[],s=0;function a(){r.length>0&&(n.push({id:`${e}-exec-${s}`,type:"codeexec",content:r.join(`
52
+ `),wrapperType:Ql(o)}),s++,r=[]);}for(let i of t){let c=typeof i.message=="string"?i.message:"";if(!c)continue;let l=typeof i.level=="string"?i.level:"output";l!==o&&r.length>0&&a(),o=l,r.push(c);}return a(),n}function Vo(t,e,n){let o=[];for(let r of t){if(r.contentType==="tool_invocation"||r.contentType==="tool_result")continue;let s=`${e}-content-${r.id}`,a=r.state==="streaming"?"running":"completed";if(r.contentType==="thinking"||r.contentType==="redacted_thinking"){let i=r.result??r.text;if(!i)continue;o.push({id:s,type:"thinking",contentItem:{id:s,content_type:r.contentType,ui_content_type:r.uiContentType||r.contentType,content:i,state:r.state==="streaming"?"in_progress":"completed"},status:a});continue}if(r.result){let i=r.result;if(typeof r.result=="string")if(r.contentType==="json"){let c=L(r.result);if(c!=null)i=c;else {let l=Zl(r.result);if(l!==null)i=l;else if(!(r.parsedContent&&r.parsedContent.length>0))if(n){o.push({id:s,type:"content",contentItem:{id:s,content_type:r.contentType,ui_content_type:r.uiContentType||"ui_generation",content:r.result,state:r.state==="streaming"?"in_progress":"completed"}});continue}else {o.push({id:s,type:"text",content:r.result});continue}}}else {o.push({id:s,type:"text",content:r.result});continue}if(Array.isArray(i)&&i.length>0){o.push(...Mo(i,s));continue}if(typeof i=="object"&&i!==null){let c=i;if(typeof c.code=="string"){o.push({id:s,type:"codegen",contentData:c,status:a});continue}if(n){o.push({id:s,type:"content",contentItem:{id:s,content_type:r.contentType,ui_content_type:r.uiContentType,content:i,state:r.state==="streaming"?"in_progress":"completed"}});continue}}}if(r.contentType==="json"&&r.parsedContent){if(r.uiContentType==="codeexec_output"){let i=[];for(let c of r.parsedContent)c.type==="json"&&typeof c.content=="object"&&i.push(c.content);o.push(...Mo(i,s));continue}for(let i=0;i<r.parsedContent.length;i++){let c=r.parsedContent[i];if(c.type==="text"&&c.content)o.push({id:`${s}-text-${i}`,type:"text",content:String(c.content)});else if(c.type==="json"&&typeof c.content=="object"){let l=c.content;typeof l.code=="string"?o.push({id:`${s}-codegen-${i}`,type:"codegen",contentData:l,status:a}):typeof l.markdown=="string"?o.push({id:`${s}-text-${i}`,type:"text",content:l.markdown}):typeof l.output=="string"?o.push({id:`${s}-text-${i}`,type:"text",content:l.output}):n&&o.push({id:`${s}-content-${i}`,type:"content",contentItem:{id:`${s}-content-${i}`,content_type:"json",ui_content_type:r.uiContentType||"ui_generation",content:l,state:r.state==="streaming"?"in_progress":"completed"}});}}continue}r.text&&r.contentType!=="json"&&o.push({id:s,type:"text",content:r.text});}return o}function Yl(t,e){if(!t.rootStepId)return [];let n=[],o={},r={},s=new Set,a={},i={},c={},l={};function u(y){if(y!==t.rootStepId)return false;if(y in a)return a[y];let h=Kl(t,y);return a[y]=h,h}function d(y){return r[y]||(r[y]=[]),r[y]}function p(y){if(y)return t.byStepId[y]}function m(y){if(!y)return false;if(y in l)return l[y];let h=y,S=[],_=false;for(;h;){if(h in l){_=_||l[h];break}S.push(h);let v=p(h);if(!v)break;if(v.hidden){_=true;break}h=v.parentId;}for(let v of S)l[v]=_;return _}function g(y){return m(y.id)}for(let y of t.nodes){if(y.kind!=="content")continue;let h=t.byContentId[y.id];if(!h||!h.stepId||h.contentType==="tool_invocation"||h.contentType==="tool_result"||h.contentType==="agent_invocation"||!h.text&&!h.result&&!h.parsedContent?.length)continue;let S=p(h.stepId);if(!S||g(S)||S.type==="llm_call"&&yn(t,S,h))continue;let _=h.stepId;for(;_;){c[_]=true;let v=p(_);if(!v)break;_=v.parentId;}}function f(y){return !!c[y]}function x(y){if(!y)return null;if(y in i)return i[y];let h=y;for(;h;){let S=p(h);if(!S)break;let _=h===t.rootStepId,v=S.type==="agent"&&!S.hidden&&(!_||!u(S.id)),I=S.type==="tool_call"&&!S.hidden;if(v||I)return i[y]=h,h;h=S.parentId;}return i[y]=null,null}function b(y,h){if(h.length===0)return;let S=x(y);if(!S){n.push(...h);return}let _=o[S];if(!_){d(S).push(...h);return}_.children||(_.children=[]),_.children.push(...h);}function k(y,h,S){if(!S||typeof S!="object")return [];let _=S,v=typeof _.result=="object"&&_.result!==null?_.result:_,I=[];typeof v.code=="string"&&v.code.trim()&&I.push({id:`${y}-${h}-codegen`,type:"codegen",contentData:v});let U=typeof v.output=="string"?v.output.trim():"";return U&&I.push({id:`${y}-${h}-output`,type:"codeexec",content:U}),I}for(let y of t.nodes){if(y.kind==="step"){let _=t.byStepId[y.id];if(!_||_.hidden||_.type==="llm_call"||_.id===t.rootStepId&&u(_.id)||s.has(_.id))continue;s.add(_.id);let v={id:_.id,type:"step",label:zl(_),status:_.status},I=r[_.id];I&&I.length>0&&(v.children=I,delete r[_.id]),o[_.id]=v,b(_.parentId,[v]);continue}if(y.kind!=="content")continue;let h=t.byContentId[y.id];if(!h||h.contentType==="tool_invocation")continue;if(h.stepId===null){n.push(...Vo([h],"root",e));continue}let S=t.byStepId[h.stepId];if(S&&!g(S)&&!(S.type==="llm_call"&&yn(t,S,h))){if(S.type==="tool_call"&&h.contentType==="tool_result"){if(f(S.id))continue;b(S.id,k(S.id,h.id,h.result));continue}b(S.id,Vo([h],S.id,e));}}return n}function $o({node:t,ContentComponent:e}){let[n,o]=useState(t.status==="running"),r=useRef(t.status==="running");if(useEffect(()=>{r.current&&t.status!=="running"&&o(false),r.current=t.status==="running";},[t.status]),t.type==="text")return jsx(D,{content:t.content||"",className:"max-w-none"});if(t.type==="codegen"&&t.contentData){let{code:i,step_by_step:c,thinking:l}=t.contentData;return jsxs("div",{className:"space-y-2",children:[c&&jsx(D,{content:c,className:"text-sm max-w-none"}),l&&jsx(ne,{content:l,state:t.status==="running"?"in_progress":"completed"}),i&&jsx(bt,{language:"python",value:i,defaultOpen:false})]})}if(t.type==="codeexec"&&t.content){let i=t.wrapperType||"standard";return jsx(Ct,{wrapperType:i,compact:true,children:jsx(re,{children:t.content})})}if(t.type==="thinking"&&t.contentItem)return jsx(Xt,{item:t.contentItem});if(t.type==="content"&&t.contentItem&&e)return jsx(e,{content:t.contentItem});if(t.type==="content"&&t.contentItem)return jsx(Mt,{content:t.contentItem});let s=!!t.children?.length,a=t.status==="running"?"text-foreground":"text-muted-foreground";return jsxs(ae.Root,{open:n,onOpenChange:o,className:"w-full",children:[jsxs(ae.Trigger,{className:`flex items-center justify-between w-full text-sm py-0.5 ${a} ${s?"hover:text-foreground cursor-pointer":"cursor-default"}`,disabled:!s,children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx(ot,{status:Hl(t.status),size:14}),jsx("span",{children:t.label})]}),s&&jsx(ChevronDown,{className:`h-4 w-4 shrink-0 text-muted-foreground/50 transition-transform duration-200 ${n?"rotate-180":""}`})]}),s&&jsx(ae.Content,{children:jsx("div",{className:"ml-5 mt-1 flex flex-col gap-1",children:t.children?.map(i=>jsx($o,{node:i,ContentComponent:e},i.id))})})]})}function Lo({agentState:t,ContentComponent:e,className:n}){if(!t.rootStepId)return null;let o=useMemo(()=>Yl(t,e),[t,e]);return o.length===0?null:jsx("div",{className:`flex flex-col gap-1 ${n||""}`,children:o.map(r=>jsx($o,{node:r,ContentComponent:e},r.id))})}function kn(t){if(t.type==="dynamic-tool"&&t.toolName?.startsWith("erdo_"))return t.toolName;if(t.type.startsWith("tool-erdo_"))return t.type.slice(5)}function Xl(t){return kn(t)!==void 0}var tc={erdo_render_chart:"ui",erdo_render_table:"ui",erdo_ask_data_question:"markdown",erdo_list_datasets:"data",erdo_search_datasets:"data",erdo_get_dataset_schema:"data",erdo_gather_dataset_context:"data",erdo_query_data:"data",erdo_run_query:"data",erdo_fetch_dataset_contents:"data",erdo_list_threads:"data",erdo_get_thread_messages:"data"};function dr(t){return tc[t]??"data"}function jo({part:t,className:e,onSuggestionClick:n}){let o=kn(t);if(!o)return null;if(["partial-call","call","input-streaming","input-available"].includes(t.state))return jsxs("div",{className:e||"flex items-center gap-2 py-4 text-muted-foreground",children:[jsx(Loader2,{className:"h-4 w-4 animate-spin"}),jsxs("span",{className:"text-sm",children:["Running ",nc(o),"..."]})]});if(t.state==="result"||t.state==="output-available"){let s=t.output??t.result;if(t.errorText)return jsxs("div",{className:e||"flex items-center gap-2 py-2 text-sm text-destructive",children:[jsx(AlertCircle,{className:"h-4 w-4 shrink-0"}),jsx("span",{children:t.errorText})]});if(s&&typeof s=="object"&&"error"in s&&s.error)return jsxs("div",{className:e||"flex items-center gap-2 py-2 text-sm text-destructive",children:[jsx(AlertCircle,{className:"h-4 w-4 shrink-0"}),jsx("span",{children:String(s.error)})]});switch(dr(o)){case "ui":{let i=s?.children;return i&&Array.isArray(i)&&i.length>0?jsx("div",{className:e,children:jsx(Yt,{nodes:i,invocationId:t.toolCallId,onSuggestionClick:n})}):s?jsx("div",{className:e,children:jsx(gt,{content:s})}):null}case "markdown":{let i=s?.answer;if(i)return jsx("div",{className:e,children:jsx(D,{content:i})});let c=s?.output;return c?jsx("div",{className:e,children:jsx(D,{content:c})}):s?jsx("div",{className:e,children:jsx(gt,{content:s})}):null}case "data":return s!=null?jsx("div",{className:e,children:jsx(gt,{content:s})}):null}}return t.state==="output-error"?jsxs("div",{className:e||"flex items-center gap-2 py-2 text-sm text-destructive",children:[jsx(AlertCircle,{className:"h-4 w-4 shrink-0"}),jsx("span",{children:t.errorText||"Tool execution failed"})]}):null}function nc(t){return t.replace(/^erdo_/,"").split("_").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ")}function F(t){if(!t)throw new Error("Entity is null");if(!("_type"in t))throw new Error(`Entity ${JSON.stringify(t)} is missing _type`);return t._type}function rc(t){return t.contents.length===0?null:t.contents[t.contents.length-1]||null}function Wo(t){return t.contents.length===0?null:t.contents[0]||null}function Uo(t){let e=false,n=t.contents.map(r=>r.state!=="in_progress"?r:(e=true,{...r,state:"completed",updated_at:new Date().toISOString()}));if(!e&&t.state==="completed")return t;let o={...t.contentsByID};for(let r of n)o[r.id]=r;return {...t,state:"completed",contents:n,contentsByID:o}}function gr(t,e){let n=F(t);switch(n){case "message":return t;case "step":let o=t;if(e){let a=o.eventsByID[e]?.Message;return a||Ho({},"",e)}let s=Object.keys(o.eventsByID).reverse();for(let a of s){let i=o.eventsByID[a];if(i&&i.Message)return i.Message}throw new Error("Unable to find message for step");default:throw new Error(`Unable to have messages on entity type ${n}`)}}function oc(t,e){switch(F(t)){case "message_content":return t;case "output_content":return t;case "message":return de(t,e);case "output":return pe(t,e);case "step":let o=Cn(t,e);return o?pe(o,e):null;default:return null}}function de(t,e){let n=F(t);switch(n){case "message_content":return t;case "message":let o=gr(t);if(!o)throw new Error("Unable to find message to add content to");return e?o.contentsByID[e]:rc(o);default:throw new Error(`Unable to have message content on entity type ${n}`)}}function pe(t,e){let n=F(t);switch(n){case "output_content":return t;case "output":let o=t;return e?o.contentsByID[e]||null:o.contents.length<=0?null:o.contents[o.contents.length-1]||null;case "step":let s=Cn(t,e);return s?pe(s):null;case "invocation":if(!e)return null;let a=t.eventsByID[e];return !a||!a.Output?null:pe(a.Output);default:throw new Error(`Unable to have output content on entity type ${n}`)}}function yr(t,e){let n=F(t),o=null;switch(n){case "invocation":return t;case "message_content":if(o=t.botInvocation||null,!o)throw new Error("Unable to find bot invocation for message content");if(e&&o.bot_invocation.id!==e)throw new Error("Unable to find bot invocation for message content - mismatched ID");return o;case "message":if(o=Wo(t)?.botInvocation||null,!o)throw new Error("Unable to find bot invocation for message");if(e&&o.bot_invocation.id!==e)throw new Error("Unable to find bot invocation for message - mismatched ID");return o;case "output_content":return t.botInvocation||null;default:throw new Error(`Unable to have bot invocation on entity type ${n}`)}}function Cn(t,e){let n=F(t);switch(n){case "output":return t;case "step":let o=t;if(e){let i=o.eventsByID[e]?.Output;if(!i)throw new Error("Unable to find output with id "+e);return i}let s=Object.keys(o.eventsByID).reverse();for(let i of s){let c=o.eventsByID[i];if(c&&c.Output)return c.Output}throw new Error("Unable to find output for step");case "invocation":if(!e)throw new Error("Unable to find output for invocation without ID");return t.eventsByID[e]?.Output||null;default:throw new Error(`Unable to have step outputs on entity type ${n}`)}}function qo(t,e){let n=F(t);switch(n){case "result_handler":return t;case "step":if(!e)throw new Error("Unable to have result handlers on step without ID");let o=t.eventsByID[e];if(!o||!o.type||o.type!=="result_handler"||!o.ResultHandler)throw new Error(`Unable to find result handler with id ${e} on step ${t.id}`);return o.ResultHandler;default:throw new Error(`Unable to have result handlers on entity type ${n}`)}}function zo(t,e){let n=F(t),o=null;switch(n){case "step":if(t.id===e||!e)return t;throw new Error("Unable to find step on step with id "+e);case "invocation":if(!e)throw new Error("Unable to have steps on bot invocation without ID");o=t;let r=o.eventsByID[e];if(!r)throw new Error("Unable to find step on invocation with id "+e);if(!r.Step)throw new Error("Unable to find step on invocation with id "+e);return r.Step;case "result_handler":if(!e)throw new Error("Unable to have steps on result handler without ID");let a=t.eventsByID[e];if(!a)throw new Error("Unable to find step on result handler with id "+e);if(!a.Step)throw new Error("Unable to find step on result handler with id "+e);return a.Step;default:throw new Error(`Unable to have steps on entity type ${n}`)}}var mr=class extends Error{};function sc(t,e,n){let o=null,r=e[0],s=e[1];n[r]=s;try{switch(r){case "message":o=gr(t,s);break;case "content":o=de(t,s);break;case "step":o=zo(t,s);break;case "output":o=Cn(t,s);break;case "output_content":o=pe(t,s);break;case "invocation":o=yr(t,s);break;case "result_handler":o=qo(t,s);break}}catch(a){throw console.error("error finding next entity"),console.log("path",e),console.log("currentEntity",t),a}if(!o)throw console.log("path",e),console.log("currentEntity",t),console.log("nextEntity",o),new mr(`Unable to find next entity for path ${e.join("/")}`);return o}function Ho(t,e,n,o){let r=t.payload;return {_type:"message",message:{id:n,thread_id:e,author_id:r.author_id||"app",author_entity_type:r.author_entity_type||"app",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),role:r.role||"assistant",avatar:"/teams/erdo-icon.png"},state:"in_progress",contents:[],contentsByID:{},contentIDToIdx:{}}}function ac(t,e){return {_type:"message_content",id:t.metadata.message_content_id,message_id:e.message,content_type:t.metadata.content_type,created_by_invocation_id:t.metadata.invocation_id,invocation_id:t.metadata.invocation_id,state:"in_progress",user_visibility:t.metadata.user_visibility??"visible",bot_visibility:t.metadata.bot_visibility??"visible",content:"",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),content_params:{RawMessage:null,Valid:false},history_content_type:t.metadata?.history_content_type?{String:t.metadata.history_content_type,Valid:true}:{String:"",Valid:false},ui_content_type:t.metadata?.ui_content_type?{String:t.metadata.ui_content_type,Valid:true}:{String:"",Valid:false}}}function ic(t,e){let n=t.metadata.content_type||"text",o=t.metadata?.ui_content_type,r=ce(n,t.payload);return {_type:"message_content",id:t.metadata.message_content_id,message_id:e.message,content:r.content,content_type:n,created_by_invocation_id:t.metadata.invocation_id,invocation_id:t.metadata.invocation_id,state:"completed",user_visibility:t.metadata.visibility||"visible",bot_visibility:"visible",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),content_params:{RawMessage:null,Valid:false},history_content_type:t.metadata?.history_content_type?{String:t.metadata.history_content_type,Valid:true}:{String:"",Valid:false},ui_content_type:o?{String:o,Valid:true}:{String:"",Valid:false},parsedJson:r.parsedJson??null}}function lc(t,e,n){let o=t.payload;return {_type:"step",id:e,invocation_id:n.invocation||"",step_id:o.step_id||"",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),current_status_id:"",path:{String:"",Valid:false},action_type:{String:o.action_type,Valid:true},key:{String:o.key,Valid:true},bot_id:o.bot_id,result_handler_id:"",step_order:{Int32:o.step_order,Valid:true},output_content_type:{String:o.content_type,Valid:true},execution_mode:{String:o.execution_mode,Valid:true},output_behaviour:{String:o.output_behaviour,Valid:true},user_output_visibility:{String:t.metadata.visibility||"visible",Valid:true},output_channels:o.output_channels||[],running_message:{String:o.running_message||"",Valid:!!o.running_message},finished_message:{String:o.finished_message||"",Valid:!!o.finished_message},depends_on:[],eventsByID:{},currentStatus:null}}function cc(t,e,n){let o=t.payload;return {_type:"result_handler",id:e,invocation_id:t.metadata.invocation_id||"",result_handler_id:o.result_handler_id||e,step_invocation_id:o.step_invocation_id||"",type:o.type||"",if_conditions:o.if_conditions||{},created_at:new Date().toISOString(),updated_at:new Date().toISOString(),output_content_type:o.output_content_type||"",result_handler_order:o.result_handler_order||0,eventsByID:{}}}function uc(t,e,n){return {_type:"output",id:e,step_id:n.step_id,output:{id:e,invocation_id:t.metadata?.invocation_id,path:t.metadata.path,created_at:new Date().toISOString(),updated_at:new Date().toISOString()},state:"in_progress",contents:[],contentsByID:{},contentIDToIdx:{}}}function Fo(t,e,n,o=null){return {_type:"output_content",id:e,output_id:n.output,content:"",content_type:t.metadata.content_type,state:"in_progress",invocation_id:t.metadata.invocation_id,user_visibility:o??t.metadata.user_visibility??"visible",bot_visibility:t.metadata.bot_visibility??"visible",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),content_params:{RawMessage:null,Valid:false},history_content_type:t.metadata.history_content_type?{String:t.metadata.history_content_type,Valid:true}:{String:"",Valid:false},ui_content_type:t.metadata.ui_content_type?{String:t.metadata.ui_content_type,Valid:true}:{String:"",Valid:false},output:null}}function Jo(t,e,n,o=null){let r=t.metadata.content_type||"text",s=ce(r,t.payload),a=t.metadata?.ui_content_type;return {_type:"output_content",id:e,output_id:n.output,content:s.content,content_type:r,state:"completed",invocation_id:t.metadata.invocation_id,parsedJson:s.parsedJson??null,user_visibility:o||t.metadata.visibility||"visible",bot_visibility:"visible",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),content_params:{RawMessage:null,Valid:false},history_content_type:t.metadata?.history_content_type?{String:t.metadata.history_content_type,Valid:true}:{String:"",Valid:false},ui_content_type:a?{String:a,Valid:true}:{String:"",Valid:false},output:null}}function dc(t,e,n){return {_type:"invocation",bot_invocation:{id:t.payload.invocation_id,bot_id:t.payload.bot_id,bot_name:t.payload.bot_name,created_by_user_id:t.payload.created_by_user_id,current_state_id:"",parent_invocation_id:"",branch_init_state_id:"",current_status_id:"",organization_id:"",created_at:new Date().toISOString(),updated_at:new Date().toISOString()},eventsByID:{},currentStatus:null,current_status:null,step_invocations:[],step_invocation_states:[],resources:[],outputs:[],statuses:[]}}function Ne(t,e){let n=t.payload;return {_type:"status",id:new Date().toISOString(),status:n.status,message:{String:n.message,Valid:true},Details:n}}function Ko(t){return {id:t.id,type:"step",created_at:t.created_at,_type:"invocation_event",Output:null,Message:null,Status:null,ResultHandler:null,Step:t}}function hr(t){return {id:t.output.id,type:"output",created_at:t.output.created_at,_type:"invocation_event",Output:t,Message:null,Status:null,ResultHandler:null,Step:null}}function xr(t){return {id:t.id,type:"status",created_at:t.created_at,_type:"invocation_event",Status:t,Output:null,Message:null,ResultHandler:null,Step:null}}function pc(t){return {id:t.message.id,type:"message",created_at:t.message.created_at,_type:"invocation_event",Output:null,Message:t,Status:null,ResultHandler:null,Step:null}}function mc(t){return {id:t.id,type:"result_handler",created_at:t.created_at,_type:"invocation_event",Output:null,Message:null,Status:null,ResultHandler:t,Step:null}}var fc=new Set(["=","("]);function gc(t){if(!t||t.length===0)return true;let e=t[t.length-1];return !fc.has(e)}function Qo(t,e){if(t.content||(t.content=""),t.user_visibility!=="visible"||!xe(t.content_type,t.ui_content_type.String))return t.content+=e,{...t};if(t.parsedJson||(t.parsedJson=[]),typeof e=="object")return t.content+=JSON.stringify(e),t.parsedJson=[...t.parsedJson,e],{...t};t._jsonParser||(t._isInJson=false),t._charBuffer||(t._charBuffer="");let n=t.content_type,o=t.ui_content_type.String;for(let r of e){t.content+=r;let s=n==="json"||o==="json";if(!t._isInJson&&s&&!Rt(r)){t._isInJson=true,t._jsonParser=new tt;let a={content:{},type:"json"};t.parsedJson=[...t.parsedJson||[],a],t._currentContent=a,t._charBuffer="";}if(!t._isInJson&&!s&&o==="ui_generation"&&r==="{"){let a=t.content.slice(0,-1);if(gc(a)){t._charBuffer="{";continue}}if(t._charBuffer&&Rt(r)){t._charBuffer+=r;continue}if(!t._isInJson&&!s&&o==="ui_generation"&&t._charBuffer?.match(/^\s*{\s*$/)&&r==='"'){t._isInJson=true,t._jsonParser=new tt;let i={content:t._jsonParser.add("{"),type:"json"};t._currentContent?.content?t._currentContent.content.match(/^\s*{$/)?(t._currentContent=i,t.parsedJson=[...t.parsedJson.slice(0,-1),i]):(t._currentContent.content=t._currentContent.content.replace(/{$/,""),t._currentContent=i,t.parsedJson=[...t.parsedJson,i]):(t._currentContent=i,t.parsedJson=[...t.parsedJson,i]);}if(t._isInJson)try{let a=t._jsonParser.add(r);t._currentContent.content=a,t._jsonParser.state==="END"&&(t._isInJson=!1,t._currentContent=void 0);}catch(a){if(console.log("handleIncrementalMixedJsonParsing: content chunk",e),console.log("handleIncrementalMixedJsonParsing: accumulated content",t.content),console.warn("handleIncrementalMixedJsonParsing: JSON parse error, recovering as text",a),t._isInJson=false,t._jsonParser=void 0,t.parsedJson&&t.parsedJson.length>0){let i=t.parsedJson[t.parsedJson.length-1];if(i.type==="json"){let c=t.content.lastIndexOf("{"),l=t.content.slice(c);i.type="text",i.content=l,t._currentContent=i;}}continue}else t._currentContent||(t._currentContent={content:t._charBuffer||"",type:"text"},t.parsedJson=[...t.parsedJson,t._currentContent]),t._currentContent.content+=t._charBuffer+r;t._charBuffer="";}return {...t}}function yc(t,e){return Qo(t,e)}function Go(t,e){return Qo(t,e)}function fr(t,e){let n=F(t);switch(n){case "message":return pt(t,e);case "message_content":return bn(t,e);case "step":return xc(t,e);case "output":return kc(t,e);case "output_content":return bc(t,e);case "invocation":return Te(t,e);case "result_handler":return Cc(t,e);default:throw new Error(`Unable to add update entity for entity type ${n}`)}}function hc(t,e){for(let n of e)t=fr(t,n);return t}function pt(t,e){let n=gr(t);if(!n)throw new Error("Unable to find message to add content to");let o=F(e),r=null;switch(o){case "message_content":if(r=e,!n.contentsByID[r.id])n.contentIDToIdx={...n.contentIDToIdx,[r.id]:n.contents.length},n.contents=[...n.contents,r];else {let i=n.contentIDToIdx[r.id];n.contents=[...n.contents.slice(0,i),r,...n.contents.slice(i+1)];}return n.contentsByID={...n.contentsByID,[r.id]:r},{...n};case "invocation":let s=e;if(n.contents.length===0)throw new Error("Unable to find message content to add invocation to");return r=bn(n.contents[0],s),pt(n,r);case "step":if(n.contents.length===0)throw new Error("Unable to find message content to add content to");if(r=n.contents[0],!r)throw new Error("Unable to find message content to add content to");let a=yr(r);if(!a)throw new Error("Unable to find bot invocation to add content to");return r.botInvocation=Te(a,e),pt(n,r);case "status":if(n.contents.length>0){let i=n.contents[0];if(i?.botInvocation){let c=bn(i,e);return pt(n,c)}}return {...n};default:throw new Error(`Unable to add update message child for child type ${o}`)}}function bn(t,e){let n=de(t);if(!n)throw new Error("Unable to find message content to add content to");let o=F(e);switch(o){case "invocation":return n.botInvocation=e,{...n};case "step":let r=n.botInvocation;if(!r)throw new Error("Unable to find bot invocation to add content to");return n.botInvocation=Te(r,e),{...n};case "status":return n.botInvocation&&(n.botInvocation=Te(n.botInvocation,e)),{...n};default:throw new Error(`Unable to add update message content child for child type ${o}`)}}function xc(t,e){let n=zo(t);if(!n)throw new Error("Unable to find bot invocation to add step to");let o=F(e),r=null;switch(o){case "output":let s=e;return r=hr(s),n.eventsByID={...n.eventsByID,[s.output.id]:r},{...n};case "message":let a=e;return r=pc(a),n.eventsByID={...n.eventsByID,[a.message.id]:r},{...n};case "status":let i=e;return r=xr(i),n.eventsByID={...n.eventsByID,[i.id]:r},{...n};case "result_handler":let c=e;return r=mc(c),n.eventsByID={...n.eventsByID,[c.id]:r},{...n};default:throw new Error(`Unable to add update step for entity type ${o}`)}}function kc(t,e){let n=Cn(t);if(!n)throw new Error("Unable to find step output to add content to");let o=F(e);switch(o){case "output_content":let r=e;if(!n.contentsByID[r.id])n.contentIDToIdx={...n.contentIDToIdx,[r.id]:n.contents.length},n.contents=[...n.contents,r];else {let s=n.contentIDToIdx[r.id];n.contents=[...n.contents.slice(0,s),r,...n.contents.slice(s+1)];}return n.contentsByID={...n.contentsByID,[r.id]:r},{...n};default:throw new Error(`Unable to add update output for entity type ${o}`)}}function bc(t,e){let n=pe(t);if(!n)throw new Error("Unable to find step output content to add content to");let o=F(e);switch(o){case "invocation":return n.botInvocation=e,{...n};case "step":let r=n.botInvocation;if(!r)throw new Error("Unable to find bot invocation to add content to");return n.botInvocation=Te(r,e),{...n};default:throw new Error(`Unable to add update step output content for entity type ${o}`)}}function Te(t,e){let n=yr(t);if(!n)throw new Error("Unable to find bot invocation to add content to");let o=F(e),r;switch(o){case "step":let s=e;return r=Ko(s),n.eventsByID={...n.eventsByID,[s.id]:r},{...n};case "output":let a=e;return r=hr(a),n.eventsByID={...n.eventsByID,[a.output.id]:r},{...n};case "status":let i=e;return r=xr(i),n.eventsByID={...n.eventsByID,[i.id]:r},n.currentStatus=i,{...n};default:throw new Error(`Unable to add update invocation for entity type ${o}`)}}function Cc(t,e){let n=qo(t);if(!n)throw new Error("Unable to find result handler to add content to");let o=F(e),r=null;switch(o){case "step":let s=e;return r=Ko(s),n.eventsByID||(n.eventsByID={}),n.eventsByID={...n.eventsByID,[s.id]:r},{...n};case "output":let a=e;return r=hr(a),n.eventsByID||(n.eventsByID={}),n.eventsByID={...n.eventsByID,[a.output.id]:r},{...n};case "status":let i=e;return r=xr(i),n.eventsByID||(n.eventsByID={}),n.eventsByID={...n.eventsByID,[i.id]:r},{...n};default:throw new Error(`Unable to add update to result handler for entity type ${o}`)}}function _c(t){return t==="bot started"||t==="bot resumed"||t==="message created"||t==="create message content"||t==="message content result"||t==="step started"||t==="result handler started"||t==="state created"||t==="step output created"||t==="create step output content"||t==="step output content result"||t==="log"}function _n(t,e,n,o,r,s=null,a=[],i={}){if(!s&&Object.keys(r).length>0){let d,p;if(n.length>=2&&n[0]==="message"?(p=n[1],d=r[p],d||(d=Object.values(r)[0],p=Object.keys(r)[0])):(d=Object.values(r)[Object.values(r).length-1],p=Object.keys(r)[Object.keys(r).length-1]),i.message=p,n.length<=2&&t==="message finished")return r[p]=Uo(d),null;if(n[0]!=="content"&&Object.keys(d.contentsByID).length>0&&e.metadata.message_content_id){let m=e.metadata.message_content_id,g=d.contentsByID[m];g&&(s=g);}s?a=[d]:s=d;}if(n.length<=2&&_c(t)){let d=n[1],p=[],m,g,f,x,b;switch(t){case "bot started":case "bot resumed":if(!s)throw new Error("Unable to find message to add content to");let k=dc(e);if(s._type==="message_content"){if(g=s,!g.id)throw new Error("Unable to find message content id");if(f=r[g.message_id],!f)throw new Error("Unable to find message to add content to");if(x=de(f,g.id),!x)throw new Error("Unable to find message content to add content to");let _=bn(x,k);r[g.message_id]={...pt(f,_)};}p.push(k);break;case "message created":return r[d]=Ho(e,o,d),null;case "create message content":if(!s)throw new Error("Unable to find message to add content to");if(b=ac(e,i),s._type==="output"){m=s,p.push(Fo(e,d,i,"hidden"));let _=e.payload.message_id;if(_||(_=a[0].message.id),f=r[_],!f)throw new Error("Unable to find message to add content to")}else if(s._type==="message_content"){if(m=s,f=r[m.message_id],!f)throw new Error("Unable to find message to add content to")}else {if(s._type!=="message")throw new Error(`Incorrect path? Cannot add content to non-message entity: ${s._type}`);if(m=s,f=r[m.message.id],!f)throw new Error("Unable to find message to add content to");p.push(b);}r[f.message.id]={...pt(f,b)};break;case "message content result":if(!s)throw new Error("Unable to find message to add content to");let y=null;if(s._type==="output"){p.push(Jo(e,d,i,"hidden"));let _=e.payload.message_id||i.message;if(_?y=a.find(v=>v.message.id===_):y=a[0],f=r[_],!f)throw new Error("Unable to find message to add content to")}else if(s._type==="message_content"){if(y=a[0],f=r[y.message.id],!f)throw new Error("Unable to find message to add content to")}else {if(s._type!=="message")throw new Error(`Incorrect path? Cannot add content to non-message entity: ${s._type}`);if(y=s,f=r[y.message.id],!f)throw new Error("Unable to find message to add content to")}let h=e.metadata.message_content_id;if(!h)throw new Error("Unable to find message content id");let S=de(y,h);if(S){S.state="completed";let _=S.content_type||"text",v=mn(_,S.content,e.payload);S.content=v.content,v.parsedJson&&(S.parsedJson=v.parsedJson),r[f.message.id]={...pt(f,S)},(s._type==="message"||s._type==="message_content")&&p.push(S);}else S=ic(e,i),r[f.message.id]={...pt(f,S)},(s._type==="message"||s._type==="message_content")&&p.push(S);break;case "step started":p.push(lc(e,d,i));break;case "result handler started":p.push(cc(e,d));break;case "step output created":p.push(uc(e,d,s));break;case "create step output content":p.push(Fo(e,d,i));break;case "step output content result":p.push(Jo(e,d,i));break;case "log":return null;default:throw new Error(`Unable to handle create event type ${t}`)}return p.length?!s||s._type==="message_content"&&p.length===1&&p[0]._type==="message_content"?p[0]:hc(s,p):null}if(!s)throw new Error("No first message has been created, so cannot handle amend events");if(n.length<=1){let d=null;try{d=oc(s);}catch{}switch(t){case "message content delta":if(!d)throw new Error("Unable to find message content");let p=null,m=null,g=null;if(s._type==="output_content"){p=Go(s,e.payload);let k=e.metadata.message_content_id;if(!k)throw new Error("Unable to find message content id from entity ids");let y=i.message;if(g=a.find(h=>h.message.id===y),!g)throw new Error("Unable to find message to add content to");m=de(g,k);}else {if(m=d,g=a[a.length-1],!g)throw new Error("Unable to find message to add content to");if(g._type!=="message")throw new Error("Unable to find message to add content to - not a message")}if(!m)throw new Error("Unable to find message content");let f=r[g.message.id];if(!f)throw new Error("Unable to find message to add content to");let x=yc(m,e.payload);return r[f.message.id]={...pt(f,x)},s._type==="message_content"&&(p=x),p;case "step output content delta":return Go(d,e.payload);case "status":if(s._type==="step"&&(s.currentStatus=Ne(e)),s._type==="invocation"&&(s.currentStatus=Ne(e)),s._type==="message_content"){let b=s;if(b.botInvocation)return b.botInvocation.currentStatus=Ne(e),{...b}}if(s._type==="message"){let b=s,k=Wo(b);if(k?.botInvocation)return k.botInvocation.currentStatus=Ne(e),pt(b,k)}return fr(s,Ne(e));case "result":return null;case "message finished":if(s._type==="message"){let k=Uo(s);r[k.message.id]=k;}return null;case "step output finished":return null;case "step result":return null;case "error":return null;case "dataset created":return null;case "log":return null;default:throw new Error(`Unable to handle event type ${t}`)}}let c=n.slice(2),l=sc(s,n,i),u=_n(t,e,c,o,r,l,[...a,s],i);return u?fr(s,{...u}):s}function kr(t){if(!t.content)return null;if(typeof t.content=="object")return t.content;if(typeof t.content=="string"){let e=L(t.content);return e&&typeof e=="object"&&!Array.isArray(e)?e:null}return null}function Zo(t){let e=t.content_type;if(e==="tool_result")return "result";if(e==="tool_invocation")return "invocation";let n=kr(t);return n&&"action_type"in n&&"name"in n&&"input"in n&&n.action_type!=="bot.invoke"?"result"in n?"result":"invocation":null}function Yo(t){return kr(t)?.id}function Xo(t){let e=kr(t);if(!e?.action_type)return null;let o=e.input?.query;return `${e.action_type}:${o||""}`}function ts(t){let e=t.filter(r=>Zo(r)==="result"),n=new Set(e.map(r=>Yo(r)).filter(Boolean)),o=new Set(e.map(r=>Xo(r)).filter(Boolean));return t.filter(r=>{if(Zo(r)==="invocation"){let s=Yo(r),a=Xo(r);if(s&&n.has(s)||a&&o.has(a))return false}return true})}function es(t,e,n){let o=e;for(;o;){if(o===n)return true;o=t.byStepId[o]?.parentId??null;}return false}function Sn(t,e){if(!e||!t.byStepId[e])return t;let n=new Set;for(let i of t.nodes)i.kind==="step"&&es(t,i.id,e)&&n.add(i.id);let o=t.nodes.filter(i=>i.kind==="step"?n.has(i.id):i.kind==="content"||i.kind==="status"?!!i.stepId&&n.has(i.stepId):false),r={},s={},a={};for(let i of n){let c=t.byStepId[i];c&&(r[i]=c);}for(let i of o){if(i.kind==="content"){s[i.id]=i;continue}if(i.kind!=="step")continue;let l=(i.parentId&&n.has(i.parentId)?i.parentId:null)??"__root__";a[l]=[...a[l]||[],i.id];}return {...t,nodes:o,byStepId:r,byContentId:s,childrenByParentId:a,rootStepId:e}}function vn(){return createStore((t,e)=>({globalState:gn(),invocationStates:{},invocationRootSteps:{},pendingInvocationQueue:[],pushEvent:(n,o)=>{let r=e(),s=ur(r.globalState,n);if(o&&(s=o(s)),s===r.globalState)return;let a=n.metadata?.step_id??n.payload?.step_id??"",i={...r.invocationStates},c=false;for(let[l,u]of Object.entries(r.invocationRootSteps)){let d=r.invocationStates[l];if(a&&!es(s,a,u)&&a)continue;let p=Sn(s,u);if(!(n.type==="step_finished"||n.type==="step_started"||n.type==="status")&&d&&d.nodes.length===p.nodes.length){let g=d.nodes[d.nodes.length-1],f=p.nodes[p.nodes.length-1];if(g===f&&d.isStreaming===p.isStreaming)continue}i[l]=p,c=true;}t({globalState:s,...c?{invocationStates:i}:{}});},registerInvocation:n=>{let o=e();o.invocationRootSteps[n]||o.pendingInvocationQueue.includes(n)||t({pendingInvocationQueue:[...o.pendingInvocationQueue,n]});},mapInvocationRoot:(n,o)=>{let r=e(),s=Sn(r.globalState,o);t({invocationRootSteps:{...r.invocationRootSteps,[n]:o},invocationStates:{...r.invocationStates,[n]:s},pendingInvocationQueue:r.pendingInvocationQueue.filter(a=>a!==n)});},reset:()=>{t({globalState:gn(),invocationStates:{},invocationRootSteps:{},pendingInvocationQueue:[]});}}))}function Ic(t){return t.split("/").filter(Boolean)}function ns(t={}){let e=Lt(),[n,o]=useState(null),[r,s]=useState(false),[a,i]=useState(null),[c,l]=useState([]),u=useRef(vn()),d=useStore(u.current,k=>k.globalState),p=useRef(null),m=useRef(t.threadId);t.threadId!==m.current&&(m.current=t.threadId);let g=useCallback(()=>{p.current&&(p.current.abort(),p.current=null);},[]),f=useCallback(k=>{o(k),m.current=k.id;},[]),x=useCallback(async k=>{if(!e.client)throw new Error("ErdoClient not configured in provider. Pass a client to ErdoProvider config to use useThread.");if(!e.client.sendMessage)throw new Error("ErdoClient does not support sendMessage. Make sure you are using @erdoai/server client.");if(!e.client.createThread)throw new Error("ErdoClient does not support createThread. Make sure you are using @erdoai/server client.");g(),p.current=new AbortController,s(true),i(null),l([]),u.current.getState().reset();let y={};try{let h=m.current;if(!h){let I=await e.client.createThread();o(I),m.current=I.id,h=I.id;}for await(let I of e.client.sendMessage(h,{content:k,botKey:t.botKey})){if(p.current?.signal.aborted)break;if(t.onEvent?.(I),e.useAgentEvents)u.current.getState().pushEvent(I);else {let U=I.type||"",Z=I.metadata||{},B=Ic(Z.path||""),J={payload:I.payload,metadata:{path:Z.path||"",...Z}};try{_n(U,J,B,h,y);}catch(G){console.error("Error handling SSE event:",G,U);}l(Object.values(y));}}let S=Object.values(y);l(S);let _=u.current.getState().globalState,v;_.rootStepId?v=hn(_):v=S.flatMap(I=>I.contents||[]).filter(I=>I.user_visibility==="visible").map(I=>({id:I.id,content_type:I.content_type,ui_content_type:O(I.ui_content_type),content:I.content,parsedJson:I.parsedJson,botInvocation:I.botInvocation})),t.onFinish?.(v);}catch(h){let S=h instanceof Error?h:new Error(String(h));throw i(S),t.onError?.(S),S}finally{s(false),p.current=null;}},[e.client,e.useAgentEvents,t,g]),b=useMemo(()=>{if(d.rootStepId)return hn(d);let k=c.flatMap(h=>h.contents||[]).filter(h=>h.user_visibility==="visible");return ts(k).map(h=>({id:h.id,content_type:h.content_type,ui_content_type:O(h.ui_content_type),content:h.content,parsedJson:h.parsedJson,botInvocation:h.botInvocation}))},[c,d]);return {thread:n,isStreaming:r,error:a,activeMessages:c,agentState:d,streamingContents:b,sendMessage:x,cancel:g,setThread:f,agentStreamStore:u.current}}function Nc(t){return t?typeof t=="string"?t:typeof t=="object"&&t!==null&&"String"in t&&t.String||"":""}function rs(t){let e=Nc(t.ui_content_type),n=t.content_type,o={id:t.id,content_type:t.content_type,ui_content_type:e,content:t.content,invocation_id:t.created_by_invocation_id};if(typeof t.content=="string"){if(e==="ui_generation")try{o.parsedJson=yt(t.content);}catch(r){console.error("Error parsing UI generation content:",r);}else if((n==="json"||e==="json")&&t.content.trim()){let r=L(t.content);r!=null&&(o.parsedJson=[{type:"json",content:r}]);}}if((t.content_type==="thinking"||t.content_type==="redacted_thinking")&&typeof t.content=="string"){let r=L(t.content);r&&typeof r=="object"&&(o.content=r);}return o}function Tc(t){return t.filter(e=>e.user_visibility!=="hidden").map(rs)}var In=createContext(null);function ss({store:t,children:e}){return jsx(In.Provider,{value:t,children:e})}function as(){return useContext(In)}function is(t){let e=useContext(In);return useStore(e,n=>t?n.invocationStates[t]:void 0)}function ls(){let t=useContext(In);return useStore(t,e=>e.globalState)}export{ss as AgentStreamStoreProvider,It as BarChart,ln as BotInvocationContent,lt as Chart,fe as ChartContainer,We as ChartContent,Pn as ChartLegend,Bn as ChartLegendContent,Kn as ChartNode,Nr as ChartStyle,Rn as ChartTooltip,An as ChartTooltipContent,sn as CodeexecContent,nn as CodegenContent,bt as CollapsibleCodeBlock,Mt as Content,Ve as DatasetChart,Qt as DatasetDownload,$e as DatasetTable,Yn as DownloadButtonNode,vr as ErdoProvider,jo as ErdoToolResult,Cl as ErdoUI,St as ErrorBoundary,Kr as ExecutionStatus,Ct as ExpandableOutputContent,tr as FileDownloadsNode,Wt as HeatmapChart,Je as InvocationEvent,Dt as InvocationEvents,Hr as InvocationStatus,tt as JSONStreamParser,gt as JsonContent,Ft as LineChart,Ao as Loader,nr as Log,He as LogContent,D as MarkdownContent,dn as MemoryContent,Le as Output,Jt as PieChart,Gt as ScatterChart,Ye as SqlContent,ot as StatusSpinner,oe as StderrText,re as StdoutText,tn as StdwarnText,Fe as StepInvocation,Ue as StepInvocationStatus,Lo as StepTreeContent,Xn as SuggestionsNode,qe as TableContent,Qn as TableNode,ke as TextContent,Zn as TextMarkdownNode,Xt as ThinkingContent,se as ToolGroupContent,Yt as UIGenerationNodes,Qe as WebParseContent,Ke as WebSearchContent,ar as WritingLoader,hn as agentStateToContents,Q as cn,Oo as completeStreamingContent,vn as createAgentStreamStore,gn as createInitialAgentState,Bo as extractContentItems,it as formatValue,kn as getErdoToolName,dr as getErdoToolRenderType,ur as handleAgentEvent,ir as handleIncrementalMixedJsonParsing,_n as handleSSEEvent,jl as hasRenderableAssistantOutput,Xl as isErdoTool,xe as isJsonLike,Fr as isNullString,La as isParsingComplete,Kt as isParsingInProgress,Rt as isWhitespaceChar,er as nodeComponents,rs as normalizeContent,Tc as normalizeContents,ve as normalizeUIGenerationChunks,qn as normalizeUINodes,L as parseCompleteJson,yt as parseMixedJson,Tr as parseToDate,zt as resolveKeyFromData,Sn as sliceAgentStateToRoot,$r as toSnakeCase,O as unwrapNullString,ma as unwrapNullStringOr,ls as useAgentStreamGlobalState,as as useAgentStreamStoreOptional,Ae as useChartZoom,Be as useDatasetContents,Lt as useErdoConfig,H as useErdoConfigOptional,is as useInvocationState,Vr as useMultipleDatasetContents,ye as useMultipleDatasetRequests,ns as useThread};