@erdoai/ui 0.1.71 → 0.1.73

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 gt from'react';import gt__default,{createContext,useMemo,useRef,useEffect,useState,memo,useCallback,useContext,useSyncExternalStore}from'react';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import*as jt 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,Globe,ExternalLink,ArrowUpRight,Loader2,Search,Image,FileText,Presentation,FileSpreadsheet,File,Lightbulb,Zap,AlertCircle,Brain,Code}from'lucide-react';import Fs from'lodash/isEqual';import {useDeepCompareMemo}from'use-deep-compare';import wa from'react-markdown';import Ia from'remark-gfm';import {visit}from'unist-util-visit';import*as ne 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 In=createContext(null);function Sr({children:t,config:e}){return jsx(In.Provider,{value:e,children:t})}function Ct(){let t=useContext(In);if(!t)throw new Error("useErdoConfig must be used within an ErdoProvider");return t}function q(){return useContext(In)}var St=class extends gt__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 K(...t){return twMerge(clsx(t))}var is={light:"",dark:".dark"},_r=gt.createContext(null);function vr(){let t=gt.useContext(_r);if(!t)throw new Error("useChart must be used within a <ChartContainer />");return t}function pe({id:t,className:e,children:n,config:o,debounceResize:r=false,...s}){let a=gt.useId(),i=`chart-${t||a.replace(/:/g,"")}`;return jsx(_r.Provider,{value:{config:o},children:jsxs("div",{"data-slot":"chart","data-chart":i,className:K("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(wr,{id:i,config:o}),jsx(jt.ResponsiveContainer,{debounce:r?200:0,children:n})]})})}var wr=({id:t,config:e})=>{let n=Object.entries(e).filter(([,o])=>o.theme||o.color);return n.length?jsx("style",{dangerouslySetInnerHTML:{__html:Object.entries(is).map(([o,r])=>`
1
+ import*as gt from'react';import gt__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,Search,Image,FileText,Presentation,FileSpreadsheet,File,Lightbulb,Zap,AlertCircle,Brain,Code}from'lucide-react';import Fs from'lodash/isEqual';import {useDeepCompareMemo}from'use-deep-compare';import wa from'react-markdown';import Ia from'remark-gfm';import {visit}from'unist-util-visit';import*as ee 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 wn=createContext(null);function Sr({children:t,config:e}){return jsx(wn.Provider,{value:e,children:t})}function Ct(){let t=useContext(wn);if(!t)throw new Error("useErdoConfig must be used within an ErdoProvider");return t}function q(){return useContext(wn)}var St=class extends gt__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 K(...t){return twMerge(clsx(t))}var is={light:"",dark:".dark"},_r=gt.createContext(null);function vr(){let t=gt.useContext(_r);if(!t)throw new Error("useChart must be used within a <ChartContainer />");return t}function de({id:t,className:e,children:n,config:o,debounceResize:r=false,...s}){let a=gt.useId(),i=`chart-${t||a.replace(/:/g,"")}`;return jsx(_r.Provider,{value:{config:o},children:jsxs("div",{"data-slot":"chart","data-chart":i,className:K("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(wr,{id:i,config:o}),jsx(Ut.ResponsiveContainer,{debounce:r?200:0,children:n})]})})}var wr=({id:t,config:e})=>{let n=Object.entries(e).filter(([,o])=>o.theme||o.color);return n.length?jsx("style",{dangerouslySetInnerHTML:{__html:Object.entries(is).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},En=jt.Tooltip;function Tn({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}=vr(),x=gt.useMemo(()=>{if(r||!e?.length)return null;let[k]=e,f=`${d||k?.dataKey||k?.name||"value"}`,g=Nn(m,k,f),h=!d&&typeof a=="string"?m[a]?.label||a:g?.label;return i?jsx("div",{className:K("font-medium",c),children:i(h,e)}):h?jsx("div",{className:K("font-medium",c),children:h}):null},[a,i,e,r,c,m,d]);if(!t||!e?.length)return null;let y=e.length===1&&o!=="dot";return jsxs("div",{className:K("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:[y?null:x,jsx("div",{className:"grid gap-1.5",children:e.map((k,f)=>{let g=`${p||k.name||k.dataKey||"value"}`,h=Nn(m,k,g),b=u||k.payload.fill||k.color;return jsx("div",{className:K("[&>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&&k?.value!==void 0&&k.name?l(k.value,k.name,k,f,k.payload):jsxs(Fragment,{children:[h?.icon?jsx(h.icon,{}):!s&&jsx("div",{className:K("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":y&&o==="dashed"}),style:{"--color-bg":b,"--color-border":b}}),jsxs("div",{className:K("flex flex-1 justify-between leading-none",y?"items-end":"items-center"),children:[jsxs("div",{className:"grid gap-1.5",children:[y?x:null,jsx("span",{className:"text-muted-foreground",children:h?.label||k.name})]}),k.value&&jsx("span",{className:"text-foreground font-mono font-medium tabular-nums",children:k.value.toLocaleString()})]})]})},k.dataKey)})})]})}var Dn=jt.Legend;function An({className:t,hideIcon:e=false,payload:n,verticalAlign:o="bottom",nameKey:r}){let{config:s}=vr();return n?.length?jsx("div",{className:K("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=Nn(s,a,i);return jsxs("div",{className:K("[&>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 Nn(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 at(t,e,n){if(t==null)return "";if(n==="date"){let o=Ir(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 Ir(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 Re({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)],x={x:[u,p],y:[d,m]};r(x),t?.(x),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 Tr(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 vt(t,e,n){return at(t,e,n)}function bs({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:x,downloadButtonClassName:y,resetZoomButtonClassName:k}){let{zoomState:f,customDomain:g,handlers:h}=Re({onZoomChange:c}),b=useCallback(C=>{let I=`${(t||"chart").toLowerCase().replace(/\s+/g,"-")}.png`,O=document.createElement("a");O.download=I,O.href=C,O.click(),p?.(I);},[t,p]),S=useCallback(C=>{console.error("Error converting chart to image:",C),d?.(C);},[d]),[{isLoading:v},T,E]=useToPng({onSuccess:b,onError:S}),z=useCallback(async()=>{T();},[T]),Q=useMemo(()=>Tr(r.xAxis),[r.xAxis]),R=useMemo(()=>r.yAxes.map(C=>Tr(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]),F=useMemo(()=>{if(r.xAxis.type==="category"||!j.length)return;let C=j.map(I=>Number(I[r.xAxis.key])).filter(I=>!isNaN(I));return [...new Set(C)].sort((I,O)=>I-O)},[j,r.xAxis.key,r.xAxis.type]),vn=useMemo(()=>{if(!F||F.length<2)return;let I=(F[F.length-1]-F[0])*.05;return [F[0]-I,F[F.length-1]+I]},[F]),_=useCallback((C,I)=>{if(!C?.length)return {min:null,max:null};let O=C.map(V=>Number(V[I])).filter(V=>!isNaN(V));return {min:Math.min(...O),max:Math.max(...O)}},[]),N=useMemo(()=>({x:g.x[0]!==null&&g.x[1]!==null?[g.x[0],g.x[1]]:(()=>{if(Q.min!==null&&Q.max!==null)return [Q.min,Q.max];let C=_(j,r.xAxis.key);return [C.min??"auto",C.max??"auto"]})(),y:r.yAxes.map((C,I)=>{if(g.y[0]!==null&&g.y[1]!==null)return [g.y[0],g.y[1]];let V=r.series.filter(Y=>(Y.axisIndex||0)===I).reduce((Y,wn)=>{let pt=_(j,wn.key);return {min:Y.min===null?pt.min:pt.min===null?Y.min:Math.min(Y.min,pt.min),max:Y.max===null?pt.max:pt.max===null?Y.max:Math.max(Y.max,pt.max)}},{min:null,max:null});if(C.type==="number"&&C.maxValue){let Y=parseFloat(C.maxValue);if(V.max===null||Y<=V.max*1.5)return [R[I].min??V.min??"auto",R[I].max??V.max??"auto"]}return [R[I].min??V.min??"auto",R[I].max??V.max??"auto"]})}),[g.x,g.y,Q,R,r.series,r.yAxes,r.xAxis.key,j,_]),B=useCallback((C,I,O)=>{if(O.dataKey===r.xAxis.key)return vt(C,r.xAxis.format,r.xAxis.type);let V=r.series.find(de=>de.key===O.dataKey),Y=V?.name||String(I).replace(/^dataset_\d+_/,"");if(r.chartType==="histogram"){let de=O.payload;if(de.binStart!==void 0){let ts=vt(de.binStart,r.xAxis.format,r.xAxis.type),es=vt(de.binEnd,r.xAxis.format,r.xAxis.type);return `Count: ${C} (${ts} - ${es})`}}let wn=V?.axisIndex||0,pt=r.yAxes[wn],Xo=vt(C,pt?.format,pt?.type);return `${Y}: ${Xo}`},[r.xAxis,r.series,r.yAxes,r.chartType]),[H,Z]=useState(false);useEffect(()=>{let C=setTimeout(()=>{Z(true);},1700);return ()=>clearTimeout(C)},[]);let J=useCallback((C,I)=>{if(I&&I.length>0){let O=I[0].payload[r.xAxis.key],V=vt(O,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:V})]})}return C},[r.xAxis.key,r.xAxis.format,r.xAxis.type,r.xAxis.label]),Lt=useCallback(C=>jsx(Tn,{...C,formatter:B,labelFormatter:J}),[B,J]),Te=useCallback(C=>jsx(An,{...C}),[]),De=useMemo(()=>!!(i||(n?.length||0)>100||H),[i,n?.length,H]);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:z,disabled:v,className:y||"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(pe,{ref:E,config:o,className:x||"w-full border border-border/50 p-4 rounded-md",debounceResize:true,children:jsxs(s,{accessibilityLayer:true,data:j,isAnimationActive:!De,onMouseDown:h.onZoomStart,onMouseMove:h.onZoomMove,onMouseUp:h.onZoomEnd,onDoubleClick:h.onResetZoom,style:{userSelect:"none",cursor:"crosshair"},children:[jsx(CartesianGrid,{vertical:false}),jsx(XAxis,{dataKey:r.xAxis.key,domain:vn||N.x,type:r.xAxis.type==="date"||!r.xAxis.type?"number":r.xAxis.type,tickFormatter:C=>vt(C,r.xAxis.format,r.xAxis.type),tickLine:false,tickMargin:10,height:j.length>15?70:50,axisLine:false,allowDataOverflow:true,interval:j.length<=40?0:void 0,ticks:F,...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,I)=>jsx(YAxis,{yAxisId:I,orientation:I===0?"left":"right",domain:l?void 0:N.y[I],type:C.type==="date"||!C.type?"number":C.type,tickFormatter:O=>vt(O,C.format,C.type),allowDataOverflow:true,children:jsx(Label,{value:C.label,position:I===0?"insideLeft":"insideRight",angle:-90,style:{textAnchor:"middle"}})},`y-axis-${C.key}`)),jsx(En,{content:Lt}),jsx(Dn,{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:!De,animationDuration:1500,animationBegin:0,stackId:r.chartType==="bar"&&l?"stack":void 0},`${C.key}-${l?"stacked":"unstacked"}`)),f.refAreaLeft&&f.refAreaRight&&f.refAreaTop&&f.refAreaBottom&&jsx(ReferenceArea,{x1:f.refAreaLeft,x2:f.refAreaRight,y1:f.refAreaTop,y2:f.refAreaBottom,strokeOpacity:.2,stroke:"currentColor",fill:"currentColor",fillOpacity:.02,style:{pointerEvents:"none"}})]})}),g.x[0]!==null&&jsx("button",{onClick:h.onResetZoom,className:k||"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 it(t){return jsx(St,{fallback:jsx("div",{className:t.errorClassName||"text-red-500",children:"Failed to load chart"}),children:jsx(bs,{...t})})}function wt(t){return jsx(it,{...t,ChartComponent:BarChart,PointComponent:Bar})}function Ft(t){return jsx(it,{...t,ChartComponent:LineChart,PointComponent:Line})}var Ps=(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 y=a-i;switch(l=u>.5?y/(2-a-i):y/(a+i),a){case o:c=(r-s)/y+(r<s?6:0);break;case r:c=(s-o)/y+2;break;case s:c=(o-r)/y+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),x=Math.max(35,Math.min(65,u*100-p*20));return `hsl(${d}, ${m}%, ${x}%)`};function Bs({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 x=m.key,y=String(d[r.xAxis.key]||"Unknown"),k=parseFloat(d[x]||"0");isNaN(k)||p.push({name:y,value:k,seriesId:x,displayName:y});}),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(pe,{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}: ${at(p.value,c,l)}`,children:u.map((p,d)=>jsx(Cell,{fill:d===0?i:Ps(i,d,u.length)},`cell-${p.name}`))}),jsx(Tooltip,{formatter:(p,d)=>[at(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(Bs,{...t})})}function Gt(t){return jsx(it,{...t,ChartComponent:ScatterChart,PointComponent:Scatter})}var Us=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})},js=t=>jsx(Scatter,{...t,shape:Us});function Wt(t){return jsx(it,{...t,ChartComponent:ScatterChart,PointComponent:js})}var mt=new Map;function Bn(t,e,n,o){return `${t}|${e}|${n??""}|${o??""}`}function It(t){return `${t.datasetSlug}::${t.sqlQuery||""}::${t.resourceKey||""}`}async function Br(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,x)=>{d[m]=p[x];}),d})}function Be(t,e,n,o){let r=Ct(),s=!!t&&!!e,a=Bn(t,e,n,o),i=s?mt.get(a):void 0,[c,l]=useState(i),[u,p]=useState(s&&!i),[d,m]=useState(null),[x,y]=useState(0),k=useDeepCompareMemo(()=>r,[r]);useEffect(()=>{if(!s){l(void 0),p(false),m(null);return}if(mt.has(a)&&x===0){l(mt.get(a)),p(false),m(null);return}let g=false;return p(true),m(null),Br(k,t,e,n,o).then(h=>{g||(mt.set(a,h),l(h),p(false));}).catch(h=>{g||(m(h instanceof Error?h:new Error(String(h))),p(false));}),()=>{g=true;}},[k,t,e,n,o,s,x,a]);let f=useCallback(()=>y(g=>g+1),[]);return {data:c,isLoading:u,error:d,refetch:f}}function fe(t,e){let n=q(),[o,r]=useState(0),s=useCallback(()=>r(d=>d+1),[]),a=useMemo(()=>{let d=new Set;return t.filter(m=>{let x=It(m);return d.has(x)?false:(d.add(x),true)})},[t]),i=useMemo(()=>a.map(It).join("|"),[a]),c=useMemo(()=>a.map(d=>Bn(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,x)=>{let y=mt.get(c[x]);d.set(It(m),{data:y,isLoading:!y,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((y,k)=>o>0?true:!mt.has(c[k]));if(d.length===0){let y=new Map;a.forEach((k,f)=>{y.set(It(k),{data:mt.get(c[f]),isLoading:false,error:null,refetch:s});}),u(y);return}let m=false,x=new Map;return a.forEach((y,k)=>{let f=mt.get(c[k]);x.set(It(y),{data:f,isLoading:!f,error:null,refetch:s});}),u(x),d.forEach(y=>{let k=It(y),f=Bn(y.datasetSlug,e,y.sqlQuery,y.resourceKey);Br(p,y.datasetSlug,e,y.sqlQuery,y.resourceKey).then(g=>{m||(mt.set(f,g),u(h=>{let b=new Map(h);return b.set(k,{data:g,isLoading:false,error:null,refetch:s}),b}));}).catch(g=>{m||u(h=>{let b=new Map(h);return b.set(k,{data:void 0,isLoading:false,error:g instanceof Error?g:new Error(String(g)),refetch:s}),b});});}),()=>{m=true;}},[p,i,e,o,c.join(","),s]),t.map(d=>{let m=It(d);return l.get(m)||{data:void 0,isLoading:!(!p||!e),error:null,refetch:s}})}function Or(t,e,n,o){let r=t.map(s=>({datasetSlug:s,sqlQuery:n?.[s],resourceKey:o?.[s]}));return fe(r,e)}function Mr(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=Mr(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 Ks(){return ["yyyy-MM-dd","yyyyMMdd","yyyy-MM-dd'T'HH:mm:ss","yyyyMMddHHmmss"]}function Qs(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=Ks();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"?Qs(r):n==="number"?parseFloat(r):r}function Zs(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 ge(t,e,n,o){return !o||o.length===0?t:[...t].sort((r,s)=>{for(let a of o){let i=Zs(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 Vr(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 Ys(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,x],y)=>{let k=Math.floor(y/u);return d[k]||(d[k]={key:m,items:[]}),d[k].items.push(...x),d},[]).map(({key:d,items:m})=>({[e]:d,...n.reduce((x,y)=>{let k=m.map(f=>parseFloat(f[y.key])).filter(f=>!isNaN(f));return x[y.key]=k.length?k.reduce((f,g)=>f+g,0)/k.length:null,x},{})}));return a&&a.length>0?ge(p,r,s,a):p}let l=c.map(([u,p])=>{let d=n.reduce((x,y)=>{let k=p.map(f=>parseFloat(f[y.key])).filter(f=>!isNaN(f));return x[y.key]=k.length?k.reduce((f,g)=>f+g,0)/k.length:null,x},{}),m=Object.values(d).filter(x=>x!==null).reduce((x,y)=>x+y,0);return {[e]:u,...d,index:m}});return a&&a.length>0?ge(l,r,s,a):l}function Xs(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,x)=>m+x,0)/d.length:null,u},{}),count:l.count,index:n.reduce((u,p)=>{let d=l.seriesValues[p.key],m=d.length?d.reduce((x,y)=>x+y,0)/d.length:0;return u+m},0)})).filter(l=>n.some(u=>l[u.key]!==null))}function $r(t,e,n,o,r){let s=t.map((m,x)=>{let y=Me(m,e,r.type||"number",x);return typeof y=="number"?y:parseFloat(y)}).filter(m=>!isNaN(m)),a=Math.min(...s),l=(Math.max(...s)-a)/o,u=Array.from({length:o},(m,x)=>({binStart:Number((a+x*l).toFixed(2)),binEnd:Number((a+(x+1)*l).toFixed(2)),frequency:0,[e]:Number((a+(x+.5)*l).toFixed(2))}));s.forEach(m=>{let x=Math.min(Math.floor((m-a)/l),o-1);u[x].frequency++;});let p=u.filter(m=>m.frequency>0);return (u.length-p.length)/u.length*100>30?$r(t,e,n,Math.floor(o/2),r):p}function ta(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 Ve=gt__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:x}){let y=useMemo(()=>i.map(_=>({datasetSlug:_.datasetSlug,sqlQuery:_.sqlQuery,resourceKey:_.resourceKey})),[i]),k=fe(y,o),f=k.some(_=>_.isLoading),g=useDeepCompareMemo(()=>k.map(_=>_.data||[]),[k.map(_=>_.data)]),{resolvedXAxisKey:h,resolvedSeriesKeys:b}=useMemo(()=>{let _=g.find(N=>N.length>0)||[];return {resolvedXAxisKey:zt(_,s.key),resolvedSeriesKeys:i.map((N,B)=>({...N,resolvedKey:zt(g[B]||[],N.key)}))}},[g,s.key,i]),S=useMemo(()=>{let _=new Map;i.forEach((B,H)=>{let Z=g[H]||[],J=b[H]?.resolvedKey||B.key;(B.filters?ta(Z,B.filters,J,h):Z).forEach((Te,De)=>{let C=Me(Te,h,s.type||"category",De);if(C==null||s.type==="number"&&isNaN(C))return;let I=s.type==="number"||s.type==="date"||typeof C=="object"?C.toString():String(C);_.has(I)||_.set(I,{[s.key]:C});let O=`series_${H}_${B.key}`,V=Te[J];_.get(I)[O]=V;});});let N=Array.from(_.values());return u&&u.length>0?N:s.type==="date"?N.sort((B,H)=>B[s.key]-H[s.key]):s.type==="number"?N.sort((B,H)=>{let Z=parseFloat(B[s.key]),J=parseFloat(H[s.key]);return isNaN(Z)||isNaN(J)?0:Z-J}):N},[g,i,b,h,s,u]),v=useMemo(()=>i.map((_,N)=>({..._,key:`series_${N}_${_.key}`})),[i]),T=useMemo(()=>({[s.key]:{label:s.label,format:s.format,type:s.type},...v.reduce((_,N)=>(_[N.key]={label:N.name,color:N.color},_),{}),...e==="histogram"?{frequency:{label:a[0]?.label||"Frequency",color:v[0]?.color||"#2563eb"}}:{}}),[s,v,e,a]),E=useMemo(()=>!s.key||!v.length?null:{chartType:e,xAxis:s,yAxes:e==="histogram"?a.map(_=>({..._,key:"frequency",minValue:_.minValue||"0"})):a,series:e==="histogram"?[{key:"frequency",name:a[0]?.label||"Frequency",color:i[0]?.color||"#2563eb"}]:v},[s,a,i,v,e]),z=null;switch(e){case "bar":z=wt;break;case "line":z=Ft;break;case "pie":z=Jt;break;case "scatter":z=Gt;break;case "histogram":z=wt;break;case "heatmap":z=Wt;break}let Q=useRef(false);useEffect(()=>{Q.current||!p||!f&&T&&E&&S.length&&(p(),setTimeout(()=>p(),250),Q.current=true);},[p,f,T,E,S.length]);let[R,j]=useState({x:[null,null],y:[null,null]}),{processedData:F,dataReductionInfo:vn}=useMemo(()=>{if(f||!S.length)return {processedData:[],dataReductionInfo:null};if(e==="histogram"){let Z=c.target_points||20;return {processedData:$r(S,h,v,Z,s),dataReductionInfo:null}}let _=S;if((R.x[0]!==null||R.y[0]!==null)&&(_=S.filter(Z=>{if(R.x[0]!==null&&R.x[1]!==null){let J=parseFloat(Z[s.key]);if(isNaN(J)||J<R.x[0]||J>R.x[1])return false}if(R.y[0]!==null&&R.y[1]!==null)for(let J of v){let Lt=parseFloat(Z[J.key]);if(!isNaN(Lt)&&(Lt<R.y[0]||Lt>R.y[1]))return false}return true})),_.length<=c.target_points&&(!u||u.length===0))return {processedData:_,dataReductionInfo:null};let N,B="";switch(c.strategy){case "sample":N=Vr(_,c.target_points),B="sampled",u&&u.length>0&&(N=ge(N,s,a,u));break;case "aggregate":N=Ys(_,h,v,c.target_points,s,a,u),B="aggregated";break;case "bin":N=Xs(_,h,v,c.target_points),B="binning",u&&u.length>0&&(N=ge(N,s,a,u));break;default:_.length<1e3?N=_:(N=Vr(_,c.target_points),B="sampled"),u&&u.length>0&&(N=ge(N,s,a,u));}let H=null;return _.length!==N.length&&(H=`${B} ${_.length.toLocaleString()} \u2192 ${N.length.toLocaleString()} points`),{processedData:N,dataReductionInfo:H}},[S,c,e,f,R.x,R.y,v,u,s,a,h]);return z?f?jsx("div",{children:"Loading..."}):S.length?E?jsx(z,{data:F,displayConfig:T,stacked:l,dataConfig:E,title:n,subtitle:vn||void 0,disableAnimation:F.length>100,onZoomChange:j,enableDownload:d,className:m,chartContainerClassName:x}):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)=>Fs(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:p,onScrollUpdate:d}){let{data:m,isLoading:x}=Be(n,e,o,r),y=useMemo(()=>s?m?.length?s.map(g=>{let h=zt(m,g.key);return {key:g.key,name:g.name,resolvedKey:h,format:g.format,value_type:g.value_type}}):[]:m?.length?Object.keys(m[0]).map(g=>({key:g,name:g,resolvedKey:g,format:void 0,value_type:void 0})):[],[s,m]),k=useMemo(()=>!m||m.length===0?[]:a?m.slice(0,a):m,[m,a]),f=useRef(false);return useEffect(()=>{f.current||!d||!x&&m?.length&&(d(),setTimeout(()=>d(),250),f.current=true);},[d,x,m?.length]),x?jsx("div",{className:u||"text-gray-500",children:"Loading..."}):m?.length?y.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:y.map(g=>jsx("th",{className:"h-10 px-3 text-left align-middle font-medium text-muted-foreground",children:g.name},g.key))})}),jsx("tbody",{className:"[&_tr:last-child]:border-0",children:k.map((g,h)=>jsx("tr",{className:`border-b transition-colors hover:bg-muted/50 ${h%2===1?"bg-muted/30":""}`,children:y.map(b=>jsx("td",{className:"p-3 align-middle text-foreground",children:at(g[b.resolvedKey],b.format,b.value_type)},b.key))},h))})]})}),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 Le({output:t,ContentComponent:e}){let n=q(),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 Ur(t){return t!==null&&typeof t=="object"&&"Valid"in t&&"String"in t}function M(t){if(typeof t=="string")return t;if(Ur(t))return t.Valid?t.String:void 0}function ra(t,e){return M(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},Nn=Ut.Tooltip;function En({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}=vr(),x=gt.useMemo(()=>{if(r||!e?.length)return null;let[k]=e,f=`${d||k?.dataKey||k?.name||"value"}`,g=In(m,k,f),h=!d&&typeof a=="string"?m[a]?.label||a:g?.label;return i?jsx("div",{className:K("font-medium",c),children:i(h,e)}):h?jsx("div",{className:K("font-medium",c),children:h}):null},[a,i,e,r,c,m,d]);if(!t||!e?.length)return null;let y=e.length===1&&o!=="dot";return jsxs("div",{className:K("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:[y?null:x,jsx("div",{className:"grid gap-1.5",children:e.map((k,f)=>{let g=`${p||k.name||k.dataKey||"value"}`,h=In(m,k,g),b=u||k.payload.fill||k.color;return jsx("div",{className:K("[&>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&&k?.value!==void 0&&k.name?l(k.value,k.name,k,f,k.payload):jsxs(Fragment,{children:[h?.icon?jsx(h.icon,{}):!s&&jsx("div",{className:K("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":y&&o==="dashed"}),style:{"--color-bg":b,"--color-border":b}}),jsxs("div",{className:K("flex flex-1 justify-between leading-none",y?"items-end":"items-center"),children:[jsxs("div",{className:"grid gap-1.5",children:[y?x:null,jsx("span",{className:"text-muted-foreground",children:h?.label||k.name})]}),k.value&&jsx("span",{className:"text-foreground font-mono font-medium tabular-nums",children:k.value.toLocaleString()})]})]})},k.dataKey)})})]})}var Tn=Ut.Legend;function Dn({className:t,hideIcon:e=false,payload:n,verticalAlign:o="bottom",nameKey:r}){let{config:s}=vr();return n?.length?jsx("div",{className:K("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=In(s,a,i);return jsxs("div",{className:K("[&>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 In(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 at(t,e,n){if(t==null)return "";if(n==="date"){let o=Ir(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 Ir(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(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)],x={x:[u,p],y:[d,m]};r(x),t?.(x),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 Tr(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 vt(t,e,n){return at(t,e,n)}function bs({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:x,downloadButtonClassName:y,resetZoomButtonClassName:k}){let{zoomState:f,customDomain:g,handlers:h}=Ae({onZoomChange:c}),b=useCallback(C=>{let I=`${(t||"chart").toLowerCase().replace(/\s+/g,"-")}.png`,M=document.createElement("a");M.download=I,M.href=C,M.click(),p?.(I);},[t,p]),S=useCallback(C=>{console.error("Error converting chart to image:",C),d?.(C);},[d]),[{isLoading:v},T,E]=useToPng({onSuccess:b,onError:S}),z=useCallback(async()=>{T();},[T]),Q=useMemo(()=>Tr(r.xAxis),[r.xAxis]),R=useMemo(()=>r.yAxes.map(C=>Tr(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]),F=useMemo(()=>{if(r.xAxis.type==="category"||!j.length)return;let C=j.map(I=>Number(I[r.xAxis.key])).filter(I=>!isNaN(I));return [...new Set(C)].sort((I,M)=>I-M)},[j,r.xAxis.key,r.xAxis.type]),_n=useMemo(()=>{if(!F||F.length<2)return;let I=(F[F.length-1]-F[0])*.05;return [F[0]-I,F[F.length-1]+I]},[F]),_=useCallback((C,I)=>{if(!C?.length)return {min:null,max:null};let M=C.map(V=>Number(V[I])).filter(V=>!isNaN(V));return {min:Math.min(...M),max:Math.max(...M)}},[]),N=useMemo(()=>({x:g.x[0]!==null&&g.x[1]!==null?[g.x[0],g.x[1]]:(()=>{if(Q.min!==null&&Q.max!==null)return [Q.min,Q.max];let C=_(j,r.xAxis.key);return [C.min??"auto",C.max??"auto"]})(),y:r.yAxes.map((C,I)=>{if(g.y[0]!==null&&g.y[1]!==null)return [g.y[0],g.y[1]];let V=r.series.filter(Y=>(Y.axisIndex||0)===I).reduce((Y,vn)=>{let pt=_(j,vn.key);return {min:Y.min===null?pt.min:pt.min===null?Y.min:Math.min(Y.min,pt.min),max:Y.max===null?pt.max:pt.max===null?Y.max:Math.max(Y.max,pt.max)}},{min:null,max:null});if(C.type==="number"&&C.maxValue){let Y=parseFloat(C.maxValue);if(V.max===null||Y<=V.max*1.5)return [R[I].min??V.min??"auto",R[I].max??V.max??"auto"]}return [R[I].min??V.min??"auto",R[I].max??V.max??"auto"]})}),[g.x,g.y,Q,R,r.series,r.yAxes,r.xAxis.key,j,_]),O=useCallback((C,I,M)=>{if(M.dataKey===r.xAxis.key)return vt(C,r.xAxis.format,r.xAxis.type);let V=r.series.find(ue=>ue.key===M.dataKey),Y=V?.name||String(I).replace(/^dataset_\d+_/,"");if(r.chartType==="histogram"){let ue=M.payload;if(ue.binStart!==void 0){let ts=vt(ue.binStart,r.xAxis.format,r.xAxis.type),es=vt(ue.binEnd,r.xAxis.format,r.xAxis.type);return `Count: ${C} (${ts} - ${es})`}}let vn=V?.axisIndex||0,pt=r.yAxes[vn],Xo=vt(C,pt?.format,pt?.type);return `${Y}: ${Xo}`},[r.xAxis,r.series,r.yAxes,r.chartType]),[H,Z]=useState(false);useEffect(()=>{let C=setTimeout(()=>{Z(true);},1700);return ()=>clearTimeout(C)},[]);let J=useCallback((C,I)=>{if(I&&I.length>0){let M=I[0].payload[r.xAxis.key],V=vt(M,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:V})]})}return C},[r.xAxis.key,r.xAxis.format,r.xAxis.type,r.xAxis.label]),$t=useCallback(C=>jsx(En,{...C,formatter:O,labelFormatter:J}),[O,J]),Ee=useCallback(C=>jsx(Dn,{...C}),[]),Te=useMemo(()=>!!(i||(n?.length||0)>100||H),[i,n?.length,H]);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:z,disabled:v,className:y||"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(de,{ref:E,config:o,className:x||"w-full border border-border/50 p-4 rounded-md",debounceResize:true,children:jsxs(s,{accessibilityLayer:true,data:j,isAnimationActive:!Te,onMouseDown:h.onZoomStart,onMouseMove:h.onZoomMove,onMouseUp:h.onZoomEnd,onDoubleClick:h.onResetZoom,style:{userSelect:"none",cursor:"crosshair"},children:[jsx(CartesianGrid,{vertical:false}),jsx(XAxis,{dataKey:r.xAxis.key,domain:_n||N.x,type:r.xAxis.type==="date"||!r.xAxis.type?"number":r.xAxis.type,tickFormatter:C=>vt(C,r.xAxis.format,r.xAxis.type),tickLine:false,tickMargin:10,height:j.length>15?70:50,axisLine:false,allowDataOverflow:true,interval:j.length<=40?0:void 0,ticks:F,...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,I)=>jsx(YAxis,{yAxisId:I,orientation:I===0?"left":"right",domain:l?void 0:N.y[I],type:C.type==="date"||!C.type?"number":C.type,tickFormatter:M=>vt(M,C.format,C.type),allowDataOverflow:true,children:jsx(Label,{value:C.label,position:I===0?"insideLeft":"insideRight",angle:-90,style:{textAnchor:"middle"}})},`y-axis-${C.key}`)),jsx(Nn,{content:$t}),jsx(Tn,{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:!Te,animationDuration:1500,animationBegin:0,stackId:r.chartType==="bar"&&l?"stack":void 0},`${C.key}-${l?"stacked":"unstacked"}`)),f.refAreaLeft&&f.refAreaRight&&f.refAreaTop&&f.refAreaBottom&&jsx(ReferenceArea,{x1:f.refAreaLeft,x2:f.refAreaRight,y1:f.refAreaTop,y2:f.refAreaBottom,strokeOpacity:.2,stroke:"currentColor",fill:"currentColor",fillOpacity:.02,style:{pointerEvents:"none"}})]})}),g.x[0]!==null&&jsx("button",{onClick:h.onResetZoom,className:k||"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 it(t){return jsx(St,{fallback:jsx("div",{className:t.errorClassName||"text-red-500",children:"Failed to load chart"}),children:jsx(bs,{...t})})}function wt(t){return jsx(it,{...t,ChartComponent:BarChart,PointComponent:Bar})}function jt(t){return jsx(it,{...t,ChartComponent:LineChart,PointComponent:Line})}var Ps=(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 y=a-i;switch(l=u>.5?y/(2-a-i):y/(a+i),a){case o:c=(r-s)/y+(r<s?6:0);break;case r:c=(s-o)/y+2;break;case s:c=(o-r)/y+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),x=Math.max(35,Math.min(65,u*100-p*20));return `hsl(${d}, ${m}%, ${x}%)`};function Bs({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 x=m.key,y=String(d[r.xAxis.key]||"Unknown"),k=parseFloat(d[x]||"0");isNaN(k)||p.push({name:y,value:k,seriesId:x,displayName:y});}),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(de,{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}: ${at(p.value,c,l)}`,children:u.map((p,d)=>jsx(Cell,{fill:d===0?i:Ps(i,d,u.length)},`cell-${p.name}`))}),jsx(Tooltip,{formatter:(p,d)=>[at(p,c,l),d]}),jsx(Legend,{})]})})]})}function Ft(t){return jsx(St,{fallback:jsx("div",{className:"text-red-500",children:"Failed to load chart"}),children:jsx(Bs,{...t})})}function Jt(t){return jsx(it,{...t,ChartComponent:ScatterChart,PointComponent:Scatter})}var Us=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})},js=t=>jsx(Scatter,{...t,shape:Us});function Gt(t){return jsx(it,{...t,ChartComponent:ScatterChart,PointComponent:js})}var mt=new Map;function Pn(t,e,n,o){return `${t}|${e}|${n??""}|${o??""}`}function It(t){return `${t.datasetSlug}::${t.sqlQuery||""}::${t.resourceKey||""}`}async function Br(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,x)=>{d[m]=p[x];}),d})}function Pe(t,e,n,o){let r=Ct(),s=!!t&&!!e,a=Pn(t,e,n,o),i=s?mt.get(a):void 0,[c,l]=useState(i),[u,p]=useState(s&&!i),[d,m]=useState(null),[x,y]=useState(0),k=useDeepCompareMemo(()=>r,[r]);useEffect(()=>{if(!s){l(void 0),p(false),m(null);return}if(mt.has(a)&&x===0){l(mt.get(a)),p(false),m(null);return}let g=false;return p(true),m(null),Br(k,t,e,n,o).then(h=>{g||(mt.set(a,h),l(h),p(false));}).catch(h=>{g||(m(h instanceof Error?h:new Error(String(h))),p(false));}),()=>{g=true;}},[k,t,e,n,o,s,x,a]);let f=useCallback(()=>y(g=>g+1),[]);return {data:c,isLoading:u,error:d,refetch:f}}function me(t,e){let n=q(),[o,r]=useState(0),s=useCallback(()=>r(d=>d+1),[]),a=useMemo(()=>{let d=new Set;return t.filter(m=>{let x=It(m);return d.has(x)?false:(d.add(x),true)})},[t]),i=useMemo(()=>a.map(It).join("|"),[a]),c=useMemo(()=>a.map(d=>Pn(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,x)=>{let y=mt.get(c[x]);d.set(It(m),{data:y,isLoading:!y,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((y,k)=>o>0?true:!mt.has(c[k]));if(d.length===0){let y=new Map;a.forEach((k,f)=>{y.set(It(k),{data:mt.get(c[f]),isLoading:false,error:null,refetch:s});}),u(y);return}let m=false,x=new Map;return a.forEach((y,k)=>{let f=mt.get(c[k]);x.set(It(y),{data:f,isLoading:!f,error:null,refetch:s});}),u(x),d.forEach(y=>{let k=It(y),f=Pn(y.datasetSlug,e,y.sqlQuery,y.resourceKey);Br(p,y.datasetSlug,e,y.sqlQuery,y.resourceKey).then(g=>{m||(mt.set(f,g),u(h=>{let b=new Map(h);return b.set(k,{data:g,isLoading:false,error:null,refetch:s}),b}));}).catch(g=>{m||u(h=>{let b=new Map(h);return b.set(k,{data:void 0,isLoading:false,error:g instanceof Error?g:new Error(String(g)),refetch:s}),b});});}),()=>{m=true;}},[p,i,e,o,c.join(","),s]),t.map(d=>{let m=It(d);return l.get(m)||{data:void 0,isLoading:!(!p||!e),error:null,refetch:s}})}function Or(t,e,n,o){let r=t.map(s=>({datasetSlug:s,sqlQuery:n?.[s],resourceKey:o?.[s]}));return me(r,e)}function Mr(t){return t.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`).replace(/^_/,"")}function qt(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=Mr(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 Ks(){return ["yyyy-MM-dd","yyyyMMdd","yyyy-MM-dd'T'HH:mm:ss","yyyyMMddHHmmss"]}function Qs(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=Ks();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"?Qs(r):n==="number"?parseFloat(r):r}function Zs(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 fe(t,e,n,o){return !o||o.length===0?t:[...t].sort((r,s)=>{for(let a of o){let i=Zs(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 Vr(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 Ys(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,x],y)=>{let k=Math.floor(y/u);return d[k]||(d[k]={key:m,items:[]}),d[k].items.push(...x),d},[]).map(({key:d,items:m})=>({[e]:d,...n.reduce((x,y)=>{let k=m.map(f=>parseFloat(f[y.key])).filter(f=>!isNaN(f));return x[y.key]=k.length?k.reduce((f,g)=>f+g,0)/k.length:null,x},{})}));return a&&a.length>0?fe(p,r,s,a):p}let l=c.map(([u,p])=>{let d=n.reduce((x,y)=>{let k=p.map(f=>parseFloat(f[y.key])).filter(f=>!isNaN(f));return x[y.key]=k.length?k.reduce((f,g)=>f+g,0)/k.length:null,x},{}),m=Object.values(d).filter(x=>x!==null).reduce((x,y)=>x+y,0);return {[e]:u,...d,index:m}});return a&&a.length>0?fe(l,r,s,a):l}function Xs(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,x)=>m+x,0)/d.length:null,u},{}),count:l.count,index:n.reduce((u,p)=>{let d=l.seriesValues[p.key],m=d.length?d.reduce((x,y)=>x+y,0)/d.length:0;return u+m},0)})).filter(l=>n.some(u=>l[u.key]!==null))}function $r(t,e,n,o,r){let s=t.map((m,x)=>{let y=Oe(m,e,r.type||"number",x);return typeof y=="number"?y:parseFloat(y)}).filter(m=>!isNaN(m)),a=Math.min(...s),l=(Math.max(...s)-a)/o,u=Array.from({length:o},(m,x)=>({binStart:Number((a+x*l).toFixed(2)),binEnd:Number((a+(x+1)*l).toFixed(2)),frequency:0,[e]:Number((a+(x+.5)*l).toFixed(2))}));s.forEach(m=>{let x=Math.min(Math.floor((m-a)/l),o-1);u[x].frequency++;});let p=u.filter(m=>m.frequency>0);return (u.length-p.length)/u.length*100>30?$r(t,e,n,Math.floor(o/2),r):p}function ta(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=gt__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:x}){let y=useMemo(()=>i.map(_=>({datasetSlug:_.datasetSlug,sqlQuery:_.sqlQuery,resourceKey:_.resourceKey})),[i]),k=me(y,o),f=k.some(_=>_.isLoading),g=useDeepCompareMemo(()=>k.map(_=>_.data||[]),[k.map(_=>_.data)]),{resolvedXAxisKey:h,resolvedSeriesKeys:b}=useMemo(()=>{let _=g.find(N=>N.length>0)||[];return {resolvedXAxisKey:qt(_,s.key),resolvedSeriesKeys:i.map((N,O)=>({...N,resolvedKey:qt(g[O]||[],N.key)}))}},[g,s.key,i]),S=useMemo(()=>{let _=new Map;i.forEach((O,H)=>{let Z=g[H]||[],J=b[H]?.resolvedKey||O.key;(O.filters?ta(Z,O.filters,J,h):Z).forEach((Ee,Te)=>{let C=Oe(Ee,h,s.type||"category",Te);if(C==null||s.type==="number"&&isNaN(C))return;let I=s.type==="number"||s.type==="date"||typeof C=="object"?C.toString():String(C);_.has(I)||_.set(I,{[s.key]:C});let M=`series_${H}_${O.key}`,V=Ee[J];_.get(I)[M]=V;});});let N=Array.from(_.values());return u&&u.length>0?N:s.type==="date"?N.sort((O,H)=>O[s.key]-H[s.key]):s.type==="number"?N.sort((O,H)=>{let Z=parseFloat(O[s.key]),J=parseFloat(H[s.key]);return isNaN(Z)||isNaN(J)?0:Z-J}):N},[g,i,b,h,s,u]),v=useMemo(()=>i.map((_,N)=>({..._,key:`series_${N}_${_.key}`})),[i]),T=useMemo(()=>({[s.key]:{label:s.label,format:s.format,type:s.type},...v.reduce((_,N)=>(_[N.key]={label:N.name,color:N.color},_),{}),...e==="histogram"?{frequency:{label:a[0]?.label||"Frequency",color:v[0]?.color||"#2563eb"}}:{}}),[s,v,e,a]),E=useMemo(()=>!s.key||!v.length?null:{chartType:e,xAxis:s,yAxes:e==="histogram"?a.map(_=>({..._,key:"frequency",minValue:_.minValue||"0"})):a,series:e==="histogram"?[{key:"frequency",name:a[0]?.label||"Frequency",color:i[0]?.color||"#2563eb"}]:v},[s,a,i,v,e]),z=null;switch(e){case "bar":z=wt;break;case "line":z=jt;break;case "pie":z=Ft;break;case "scatter":z=Jt;break;case "histogram":z=wt;break;case "heatmap":z=Gt;break}let Q=useRef(false);useEffect(()=>{Q.current||!p||!f&&T&&E&&S.length&&(p(),setTimeout(()=>p(),250),Q.current=true);},[p,f,T,E,S.length]);let[R,j]=useState({x:[null,null],y:[null,null]}),{processedData:F,dataReductionInfo:_n}=useMemo(()=>{if(f||!S.length)return {processedData:[],dataReductionInfo:null};if(e==="histogram"){let Z=c.target_points||20;return {processedData:$r(S,h,v,Z,s),dataReductionInfo:null}}let _=S;if((R.x[0]!==null||R.y[0]!==null)&&(_=S.filter(Z=>{if(R.x[0]!==null&&R.x[1]!==null){let J=parseFloat(Z[s.key]);if(isNaN(J)||J<R.x[0]||J>R.x[1])return false}if(R.y[0]!==null&&R.y[1]!==null)for(let J of v){let $t=parseFloat(Z[J.key]);if(!isNaN($t)&&($t<R.y[0]||$t>R.y[1]))return false}return true})),_.length<=c.target_points&&(!u||u.length===0))return {processedData:_,dataReductionInfo:null};let N,O="";switch(c.strategy){case "sample":N=Vr(_,c.target_points),O="sampled",u&&u.length>0&&(N=fe(N,s,a,u));break;case "aggregate":N=Ys(_,h,v,c.target_points,s,a,u),O="aggregated";break;case "bin":N=Xs(_,h,v,c.target_points),O="binning",u&&u.length>0&&(N=fe(N,s,a,u));break;default:_.length<1e3?N=_:(N=Vr(_,c.target_points),O="sampled"),u&&u.length>0&&(N=fe(N,s,a,u));}let H=null;return _.length!==N.length&&(H=`${O} ${_.length.toLocaleString()} \u2192 ${N.length.toLocaleString()} points`),{processedData:N,dataReductionInfo:H}},[S,c,e,f,R.x,R.y,v,u,s,a,h]);return z?f?jsx("div",{children:"Loading..."}):S.length?E?jsx(z,{data:F,displayConfig:T,stacked:l,dataConfig:E,title:n,subtitle:_n||void 0,disableAnimation:F.length>100,onZoomChange:j,enableDownload:d,className:m,chartContainerClassName:x}):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)=>Fs(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:x}=Pe(n,e,o,r),y=useMemo(()=>s?m?.length?s.map(g=>{let h=qt(m,g.key);return {key:g.key,name:g.name,resolvedKey:h,format:g.format,value_type:g.value_type}}):[]:m?.length?Object.keys(m[0]).map(g=>({key:g,name:g,resolvedKey:g,format:void 0,value_type:void 0})):[],[s,m]),k=useMemo(()=>!m||m.length===0?[]:a?m.slice(0,a):m,[m,a]),f=useRef(false);return useEffect(()=>{f.current||!d||!x&&m?.length&&(d(),setTimeout(()=>d(),250),f.current=true);},[d,x,m?.length]),x?jsx("div",{className:u||"text-gray-500",children:"Loading..."}):m?.length?y.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:y.map(g=>jsx("th",{className:"h-10 px-3 text-left align-middle font-medium text-muted-foreground",children:g.name},g.key))})}),jsx("tbody",{className:"[&_tr:last-child]:border-0",children:k.map((g,h)=>jsx("tr",{className:`border-b transition-colors hover:bg-muted/50 ${h%2===1?"bg-muted/30":""}`,children:y.map(b=>jsx("td",{className:"p-3 align-middle text-foreground",children:at(g[b.resolvedKey],b.format,b.value_type)},b.key))},h))})]})}),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=q(),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 Ur(t){return t!==null&&typeof t=="object"&&"Valid"in t&&"String"in t}function P(t){if(typeof t=="string")return t;if(Ur(t))return t.Valid?t.String:void 0}function ra(t,e){return P(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 Fr={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 Wr=null,Ue=null,Ln=new Set;function ca(){return Ue||(typeof window>"u"?Promise.resolve():(Ue=import('@lordicon/react').then(t=>{Wr=t.Player,Ln.forEach(e=>e());}),Ue))}typeof window<"u"&&ca();function ua(t){return Ln.add(t),()=>Ln.delete(t)}function da(){return Wr}function pa(){return null}function ma(){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 rt({status:t,color:e,size:n=16,className:o}){let r=useRef(null),s=useRef(null),a=useRef(null),i=useSyncExternalStore(ua,da,pa),c=ma(),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:Fr,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:Jr,colorize:l})})]}):jsx("div",{className:o,style:{width:n,height:n}})}function ye(t,e){return t==="json"||e==="json"||e==="ui_generation"}var qr=(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))(qr||{}),Un=(s=>(s.Initializing="initializing",s.Running="running",s.ProcessingDatasets="processing datasets",s.Completed="completed",s.Failed="failed",s))(Un||{});var zr={Finished:"step finished",Failed:"step error"};function je({step:t}){let e=M(t.action_type)||"step",n=t.currentStatus;if(!n)return null;let o="loading";n.status===zr.Finished||n.status==="completed"?o="finished":(n.status===zr.Failed||n.status==="failed")&&(o="failed");let r,s=M(n.message);return s?r=s:o==="finished"?r=M(t.finished_message)||`Finished ${e}`:o==="failed"?r=`Failed: ${e}`:r=M(t.running_message)||`Running ${e}...`,jsxs("div",{className:"text-sm font-medium flex items-center gap-2",children:[jsx(rt,{status:o}),r]})}function Fe({step:t,ContentComponent:e}){if(M(t.user_output_visibility)!=="visible")return null;let n=M(t.action_type);return jsxs(Fragment,{children:[n!=="bot.invoke"&&n!=="invoke_bot"&&jsx(je,{step:t}),jsx(Tt,{eventsByID:t.eventsByID,ContentComponent:e})]})}function Je({event:t,ContentComponent:e}){let n=q(),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 Tt({eventsByID:t,ContentComponent:e}){return jsx(Fragment,{children:Object.values(t).map(n=>jsx(Je,{event:n,ContentComponent:e},n.id))})}function he({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 Ca(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 Ht({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:Ca(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=wt;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:at(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 Na(){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 P({content:t,className:e}){return t?.length?jsx("div",{className:K("prose dark:prose-invert leading-tight",e),children:jsx(wa,{remarkPlugins:[Ia,Na],children:t})}):null}var Kt=Symbol("parsing"),X=class{result;stack;key;state;stringBuffer;numberBuffer;quoteBuffer;escapeNext;unicode;isInTripleQuotes;constructor(){this.result=void 0,this.stack=[],this.key=void 0,this.state="START",this.stringBuffer="",this.numberBuffer="",this.quoteBuffer="",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.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);else if(e==="\\")this.escapeNext=true;else if(e==='"'){if(this.quoteBuffer+='"',this.stringBuffer===""&&this.quoteBuffer==='""')this.quoteBuffer="",this.isInTripleQuotes=true;else if(this.stringBuffer&&this.quoteBuffer==='"""'){this.quoteBuffer="",this.isInTripleQuotes=false,this.stringBuffer=this.stringBuffer.replace(/^\n+/,"").replace(/\n+$/,"").trim(),this.endString();return}}else {if(this.quoteBuffer){if(this.quoteBuffer==='"'&&!this.isInTripleQuotes){this.quoteBuffer="",this.endString(),this.processChar(e);return}else if(this.quoteBuffer==='"""'&&this.isInTripleQuotes){this.quoteBuffer="",this.isInTripleQuotes=false,this.endString(),this.processChar(e);return}this.stringBuffer+=this.quoteBuffer,this.quoteBuffer="";}this.stringBuffer+=e,this.updateValueInParent(this.stringBuffer);}}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
- `;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={[Kt]: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[Kt],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[Kt]=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[Kt],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===`
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 Wr=null,Le=null,$n=new Set;function ca(){return Le||(typeof window>"u"?Promise.resolve():(Le=import('@lordicon/react').then(t=>{Wr=t.Player,$n.forEach(e=>e());}),Le))}typeof window<"u"&&ca();function ua(t){return $n.add(t),()=>$n.delete(t)}function da(){return Wr}function pa(){return null}function ma(){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 rt({status:t,color:e,size:n=16,className:o}){let r=useRef(null),s=useRef(null),a=useRef(null),i=useSyncExternalStore(ua,da,pa),c=ma(),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:Fr,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:Jr,colorize:l})})]}):jsx("div",{className:o,style:{width:n,height:n}})}function ge(t,e){return t==="json"||e==="json"||e==="ui_generation"}var qr=(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))(qr||{}),Ln=(s=>(s.Initializing="initializing",s.Running="running",s.ProcessingDatasets="processing datasets",s.Completed="completed",s.Failed="failed",s))(Ln||{});var zr={Finished:"step finished",Failed:"step error"};function Ue({step:t}){let e=P(t.action_type)||"step",n=t.currentStatus;if(!n)return null;let o="loading";n.status===zr.Finished||n.status==="completed"?o="finished":(n.status===zr.Failed||n.status==="failed")&&(o="failed");let r,s=P(n.message);return s?r=s:o==="finished"?r=P(t.finished_message)||`Finished ${e}`:o==="failed"?r=`Failed: ${e}`:r=P(t.running_message)||`Running ${e}...`,jsxs("div",{className:"text-sm font-medium flex items-center gap-2",children:[jsx(rt,{status:o}),r]})}function je({step:t,ContentComponent:e}){if(P(t.user_output_visibility)!=="visible")return null;let n=P(t.action_type);return jsxs(Fragment,{children:[n!=="bot.invoke"&&n!=="invoke_bot"&&jsx(Ue,{step:t}),jsx(Tt,{eventsByID:t.eventsByID,ContentComponent:e})]})}function Fe({event:t,ContentComponent:e}){let n=q(),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(je,{step:t.Step,ContentComponent:o}):null;default:return null}}function Tt({eventsByID:t,ContentComponent:e}){return jsx(Fragment,{children:Object.values(t).map(n=>jsx(Fe,{event:n,ContentComponent:e},n.id))})}function ye({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 Ca(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 zt({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:Ca(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=wt;break;case "line":a=jt;break;case "pie":a=Ft;break;case "scatter":a=Jt;break;case "heatmap":a=Gt;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:at(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 Na(){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 B({content:t,className:e}){return t?.length?jsx("div",{className:K("prose dark:prose-invert leading-tight",e),children:jsx(wa,{remarkPlugins:[Ia,Na],children:t})}):null}var Ht=Symbol("parsing"),X=class{result;stack;key;state;stringBuffer;numberBuffer;quoteBuffer;escapeNext;unicode;isInTripleQuotes;constructor(){this.result=void 0,this.stack=[],this.key=void 0,this.state="START",this.stringBuffer="",this.numberBuffer="",this.quoteBuffer="",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.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);else if(e==="\\")this.escapeNext=true;else if(e==='"'){if(this.quoteBuffer+='"',this.stringBuffer===""&&this.quoteBuffer==='""')this.quoteBuffer="",this.isInTripleQuotes=true;else if(this.stringBuffer&&this.quoteBuffer==='"""'){this.quoteBuffer="",this.isInTripleQuotes=false,this.stringBuffer=this.stringBuffer.replace(/^\n+/,"").replace(/\n+$/,"").trim(),this.endString();return}}else {if(this.quoteBuffer){if(this.quoteBuffer==='"'&&!this.isInTripleQuotes){this.quoteBuffer="",this.endString(),this.processChar(e);return}else if(this.quoteBuffer==='"""'&&this.isInTripleQuotes){this.quoteBuffer="",this.isInTripleQuotes=false,this.endString(),this.processChar(e);return}this.stringBuffer+=this.quoteBuffer,this.quoteBuffer="";}this.stringBuffer+=e,this.updateValueInParent(this.stringBuffer);}}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
+ `;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
25
  `||e==="\r"}getParentState(){return this.stack.length===0?"END":Array.isArray(this.stack[this.stack.length-1].value)?"IN_ARRAY":"IN_OBJECT"}};function $(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 X().parse(e)}catch{return null}}}function Dt(t){return t===" "||t===`
26
- `||t===" "||t==="\r"}function Ea(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 ft(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 x=t.substring(c,m);try{p=JSON.parse(x),d=m+3;break}catch{try{let y=new X,k=y.parse(x);if(k&&y.state==="END"){p=k,d=m+3;break}}catch{}}}if(!p){let m=t.substring(c);try{let y=new X().parse(m);y&&typeof y=="object"&&(p=y,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="",s=null,a=false,i=0;for(let c=0;c<t.length;c++){let l=t[c],u=Ea(t,c);if(!a&&(l==="{"&&u==='"'||l==="["&&u==="{")&&(r.trim()&&e.push({content:r.trim(),type:"text"}),a=true,s=new X,r=""),a){let p;try{p=s.add(l);}catch(d){if(console.log("parseMixedJson: currentChunk",r),console.log("parseMixedJson: currentResult",s?.result),console.warn("parseMixedJson: JSON parse error",d),i++,i>3){a=false,s=null,i=0,r+=l;continue}continue}r+=l,s.state==="END"&&(e.push({content:p,type:"json"}),a=false,s=null,r="");}else r+=l;}r.trim()&&e.push({content:r.trim(),type:"text"});}return e}function Ta(t){return t&&typeof t=="object"&&!t[Kt]}function xe(t){return t&&typeof t=="object"&&t[Kt]===true}function Da(t){return t.replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase()}function Fn(t,e){if(t&&typeof t=="object"&&e&&typeof e=="object")for(let n of Object.getOwnPropertySymbols(t))e[n]=t[n];}var eo={DataTable:"Table"},no={title:"chart_title",y_axis:"y_axes",table_name:"table_title"};function Jn(t){if(t==null||typeof t!="object")return t;if(Array.isArray(t)){let n=t.map(Jn);return Fn(t,n),n}let e={};for(let[n,o]of Object.entries(t)){let r=Da(n);no[r]&&(r=no[r]),e[r]=Jn(o);}return Fn(t,e),e}function Aa(t){if(!t||typeof t!="object")return t;let e=t,n=e._type??e.type;n&&eo[n]&&(n=eo[n]);let o=e.content??e,r=e.content?Jn(o):o,s={_type:n,content:r};return Fn(t,s),s}function Gn(t){return t.map(Aa)}async function Oa(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:M(l.name)||"dataset"}}function Ma(t){return t&&/filename="([^"]*)"/.exec(t)?.[1]||null}async function Va(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=Ma(l.headers.get("content-disposition"))||"dataset";return {blob:u,filename:p}}function $a(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=q(),[i,c]=useState(false),[l,u]=useState(null),[p,d]=useState(true),m=n||a?.threadId;useEffect(()=>{if(!t||!m){d(false);return}let y=false;async function k(){try{let f=null;a?.dataFetcher?.getDatasetDetails?f=await a.dataFetcher.getDatasetDetails(t,m):a?.baseUrl&&(f=await Oa(a.baseUrl,t,m,a.authToken,a.token)),y||u(f);}catch(f){console.error("Failed to fetch dataset details:",f);}finally{y||d(false);}}return k(),()=>{y=true;}},[t,m,a]);let x=useCallback(async y=>{if(y.preventDefault(),!(!l?.id||i)){c(true);try{let k,f;if(a?.dataFetcher?.downloadDataset){k=await a.dataFetcher.downloadDataset(l.id,o,r);let g=l.name||"dataset";f=/\.[a-zA-Z0-9]+$/.test(g)?g:`${g}.csv`;}else if(a?.baseUrl){let g=await Va(a.baseUrl,l.id,m,o,r,a.authToken,a.token);k=g.blob,f=g.filename;}else throw new Error("No download method available");$a(k,f);}catch(k){console.error("Download failed:",k);}finally{c(false);}}},[l,i,a,m,o,r]);return p||!l?.id?null:jsxs("a",{href:"#",onClick:x,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 zn({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 Hn({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 Kn({node:t,className:e}){let n=t.content,o=n?.text??n?.markdown??"";return jsx("div",{className:"my-2",children:jsx(P,{content:o,className:e})})}function Qn({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 Zn({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 Ja={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 Ga(t){let e=t.split(".").pop()?.toLowerCase()||"";return Ja[e]||File}function Wa(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 qa({file:t,className:e}){let[n,o]=useState(false),r=Ga(t.name),s=Wa(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 Yn({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(qa,{file:s,className:e},s.key||s.name))]}):null}var Xn={Chart:zn,Table:Hn,TextMarkdown:Kn,DownloadButton:Qn,Suggestions:Zn,FileDownloads:Yn};function ze({nodes:t,className:e,invocationId:n,onSuggestionClick:o,customNodeComponents:r,warningClassName:s,suggestionButtonClassName:a}){if(!t||!Array.isArray(t))return null;let i={...Xn,...r},l=Gn(t).filter(u=>u?._type&&i[u._type]);return l.length===0?t.some(p=>xe(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 ao="erdo-thinking-shimmer-style";function Ya(){if(typeof document>"u"||document.getElementById(ao))return;let t=document.createElement("style");t.id=ao,t.textContent=`
26
+ `||t===" "||t==="\r"}function Ea(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 ft(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 x=t.substring(c,m);try{p=JSON.parse(x),d=m+3;break}catch{try{let y=new X,k=y.parse(x);if(k&&y.state==="END"){p=k,d=m+3;break}}catch{}}}if(!p){let m=t.substring(c);try{let y=new X().parse(m);y&&typeof y=="object"&&(p=y,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="",s=null,a=false,i=0;for(let c=0;c<t.length;c++){let l=t[c],u=Ea(t,c);if(!a&&(l==="{"&&u==='"'||l==="["&&u==="{")&&(r.trim()&&e.push({content:r.trim(),type:"text"}),a=true,s=new X,r=""),a){let p;try{p=s.add(l);}catch(d){if(console.log("parseMixedJson: currentChunk",r),console.log("parseMixedJson: currentResult",s?.result),console.warn("parseMixedJson: JSON parse error",d),i++,i>3){a=false,s=null,i=0,r+=l;continue}continue}r+=l,s.state==="END"&&(e.push({content:p,type:"json"}),a=false,s=null,r="");}else r+=l;}r.trim()&&e.push({content:r.trim(),type:"text"});}return e}function Ta(t){return t&&typeof t=="object"&&!t[Ht]}function he(t){return t&&typeof t=="object"&&t[Ht]===true}function Da(t){return t.replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase()}function jn(t,e){if(t&&typeof t=="object"&&e&&typeof e=="object")for(let n of Object.getOwnPropertySymbols(t))e[n]=t[n];}var eo={DataTable:"Table"},no={title:"chart_title",y_axis:"y_axes",table_name:"table_title"};function Fn(t){if(t==null||typeof t!="object")return t;if(Array.isArray(t)){let n=t.map(Fn);return jn(t,n),n}let e={};for(let[n,o]of Object.entries(t)){let r=Da(n);no[r]&&(r=no[r]),e[r]=Fn(o);}return jn(t,e),e}function Aa(t){if(!t||typeof t!="object")return t;let e=t,n=e._type??e.type;n&&eo[n]&&(n=eo[n]);let o=e.content??e,r=e.content?Fn(o):o,s={_type:n,content:r};return jn(t,s),s}function Jn(t){return t.map(Aa)}async function Oa(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:P(l.name)||"dataset"}}function Ma(t){return t&&/filename="([^"]*)"/.exec(t)?.[1]||null}async function Va(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=Ma(l.headers.get("content-disposition"))||"dataset";return {blob:u,filename:p}}function $a(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 Kt({slug:t,invocationId:e,threadId:n,sqlQuery:o,resourceKey:r,className:s}){let a=q(),[i,c]=useState(false),[l,u]=useState(null),[p,d]=useState(true),m=n||a?.threadId;useEffect(()=>{if(!t||!m){d(false);return}let y=false;async function k(){try{let f=null;a?.dataFetcher?.getDatasetDetails?f=await a.dataFetcher.getDatasetDetails(t,m):a?.baseUrl&&(f=await Oa(a.baseUrl,t,m,a.authToken,a.token)),y||u(f);}catch(f){console.error("Failed to fetch dataset details:",f);}finally{y||d(false);}}return k(),()=>{y=true;}},[t,m,a]);let x=useCallback(async y=>{if(y.preventDefault(),!(!l?.id||i)){c(true);try{let k,f;if(a?.dataFetcher?.downloadDataset){k=await a.dataFetcher.downloadDataset(l.id,o,r);let g=l.name||"dataset";f=/\.[a-zA-Z0-9]+$/.test(g)?g:`${g}.csv`;}else if(a?.baseUrl){let g=await Va(a.baseUrl,l.id,m,o,r,a.authToken,a.token);k=g.blob,f=g.filename;}else throw new Error("No download method available");$a(k,f);}catch(k){console.error("Download failed:",k);}finally{c(false);}}},[l,i,a,m,o,r]);return p||!l?.id?null:jsxs("a",{href:"#",onClick:x,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 qn({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(Kt,{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 zn({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(Kt,{slug:s,invocationId:n})})]})}function Hn({node:t,className:e}){let n=t.content,o=n?.text??n?.markdown??"";return jsx("div",{className:"my-2",children:jsx(B,{content:o,className:e})})}function Kn({node:t,className:e,invocationId:n}){let r=t.content?.dataset_slug;return r?jsx("div",{className:"my-2",children:jsx(Kt,{slug:r,invocationId:n,className:e})}):null}function Qn({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 Ja={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 Ga(t){let e=t.split(".").pop()?.toLowerCase()||"";return Ja[e]||File}function Wa(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 qa({file:t,className:e}){let[n,o]=useState(false),r=Ga(t.name),s=Wa(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 Zn({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(qa,{file:s,className:e},s.key||s.name))]}):null}var Yn={Chart:qn,Table:zn,TextMarkdown:Hn,DownloadButton:Kn,Suggestions:Qn,FileDownloads:Zn};function qe({nodes:t,className:e,invocationId:n,onSuggestionClick:o,customNodeComponents:r,warningClassName:s,suggestionButtonClassName:a}){if(!t||!Array.isArray(t))return null;let i={...Yn,...r},l=Jn(t).filter(u=>u?._type&&i[u._type]);return l.length===0?t.some(p=>he(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 ao="erdo-thinking-shimmer-style";function Ya(){if(typeof document>"u"||document.getElementById(ao))return;let t=document.createElement("style");t.id=ao,t.textContent=`
27
27
  @keyframes erdo-thinking-shimmer {
28
28
  0% {
29
29
  background-position: 200% center;
@@ -47,5 +47,5 @@ $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 Ke({item:t,className:e}){let[n,o]=useState(false);useEffect(()=>{Ya();},[]);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-thinking-shimmer":"text-muted-foreground"}`,children:r?"Encrypted thinking":"Thinking"})]}),n&&jsx("div",{className:"mt-1 pl-5 text-sm text-muted-foreground whitespace-pre-wrap",children:s||(l?"Thinking...":"")})]})}function Xa(t){try{return JSON.parse(t)}catch{return t}}function ti(t){if(!t)return "";try{return new Date(t).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return ""}}function tr({log:t}){let e=typeof t.message=="string"?Xa(t.message):t.message,n=ti(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 Qe({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(tr,{log:o})})}function Ze({item:t,className:e}){let n=t.content;return n?.results?.length?jsx("div",{className:`max-w-2xl ${e||""}`,children:jsx("div",{className:"space-y-1",children:n.results.map(o=>jsx("div",{className:"group hover:shadow-sm transition-shadow rounded-sm py-2 border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-900",children:jsx("div",{className:"px-4",children:jsx("div",{className:"flex items-start justify-between gap-2",children:jsxs("div",{className:"flex-1 min-w-0",children:[jsxs("a",{href:o.url,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1 font-medium text-xs leading-tight truncate text-gray-900 dark:text-gray-100 hover:text-blue-600 dark:hover:text-blue-400 hover:underline",children:[jsx("span",{children:o.title}),jsxs("span",{className:"text-xs text-gray-500/60 dark:text-gray-400/60 flex-shrink-0",children:["(",new URL(o.url).hostname,")"]})]}),jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400 truncate leading-tight mt-0.5",children:o.description})]})})})},o.url))})}):null}function Ye({item:t,className:e}){let n=t.content;return n?.content?.length?jsxs("div",{className:`max-w-4xl border border-gray-200 dark:border-gray-700 rounded-lg bg-white dark:bg-gray-900 ${e||""}`,children:[jsx("div",{className:"p-4 border-b border-gray-200 dark:border-gray-700",children:jsxs("div",{className:"flex items-start justify-between",children:[jsxs("div",{className:"space-y-2",children:[jsxs("h3",{className:"flex items-center gap-2 text-lg font-semibold text-gray-900 dark:text-gray-100",children:[jsx(Globe,{className:"h-5 w-5 text-blue-600 dark:text-blue-400"}),n.title||"Parsed Website Content"]}),n.description&&jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400 leading-relaxed",children:n.description})]}),n.url&&jsxs("a",{href:n.url,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1 text-xs text-blue-600 dark:text-blue-400 hover:text-blue-500 dark:hover:text-blue-300 transition-colors font-medium",children:[jsx(ExternalLink,{className:"h-3 w-3"}),"Visit"]})]})}),jsx("div",{className:"p-4",children:jsx(P,{content:n.content,className:"prose dark:prose-invert max-w-none leading-relaxed prose-sm"})})]}):null}var gi=Prism,xt=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 h=d.current;h&&(h.scrollTop=h.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]),x=useMemo(()=>m==="dark"?oneDark:oneLight,[m]),y=useCallback(async()=>{try{await navigator.clipboard.writeText(n),p(!0),setTimeout(()=>p(!1),2e3);}catch{let h=document.createElement("textarea");h.value=n,document.body.appendChild(h),h.select(),document.execCommand("copy"),document.body.removeChild(h),p(true),setTimeout(()=>p(false),2e3);}},[n]),k=useMemo(()=>({margin:0,width:"100%",background:"transparent",padding:"1rem 0.5rem",fontSize:"0.825rem",maxWidth:"100vw",overflow:"auto"}),[]),f=useMemo(()=>({userSelect:"none",minWidth:"2.5em",paddingRight:"1em",color:"rgb(161 161 170)",opacity:"0.5"}),[]),g=useMemo(()=>({style:{fontFamily:"var(--font-mono, ui-monospace, monospace)",whiteSpace:"pre",wordBreak:"break-word"}}),[]);return jsx(ne.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:y,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(gi,{language:e,style:x,PreTag:"div",showLineNumbers:true,wrapLines:false,wrapLongLines:false,startingLineNumber:1,className:"not-prose",customStyle:k,lineNumberStyle:f,codeTagProps:g,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(ne.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 yi(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 hi(t){return yi(t.content)}function tn({item:t,className:e}){let n=hi(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(P,{content:o,className:"text-sm max-w-none"})}),r&&jsx("div",{className:"mb-2",children:jsx(xt,{language:"sql",value:r,defaultOpen:false})})]})}var ki=500,bi=300;function Se({content:t,className:e}){let[n,o]=useState(false);if(!t?.trim())return null;if(t.length<=ki)return jsx("div",{className:`text-sm text-muted-foreground ${e||""}`,children:jsx(P,{content:t,className:"text-sm max-w-none"})});let s=t.slice(0,bi).trimEnd()+"...";return jsx("div",{className:`text-sm text-muted-foreground ${e||""}`,children:n?jsxs(Fragment,{children:[jsx(P,{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 kt({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(ne.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(ne.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 nr(t){return new Date(t).toLocaleTimeString("en-US",{hour12:false,hour:"2-digit",minute:"2-digit",second:"2-digit"})}function te({children:t,timestamp:e}){return jsxs("div",{className:"flex",children:[e&&jsx("span",{className:"text-muted-foreground/60 mr-2 select-none",children:nr(e)}),jsx("span",{className:"text-foreground/80",children:t})]})}function ee({children:t,timestamp:e}){return jsxs("div",{className:"flex",children:[e&&jsx("span",{className:"text-info/60 mr-2 select-none",children:nr(e)}),jsx("span",{className:"text-info/90",children:t})]})}function nn({children:t,timestamp:e}){return jsxs("div",{className:"flex",children:[e&&jsx("span",{className:"text-warning/60 mr-2 select-none",children:nr(e)}),jsx("span",{className:"text-warning/90",children:t})]})}function on({item:t,className:e}){if(!t.content)return null;let n=_i(t.content)??vi(t.parsedJson);if(!n)return null;let{step_by_step:o,thinking:r,code:s,warnings:a,error:i}=n;return i?jsx(kt,{wrapperType:"info",className:e,children:jsx(ee,{children:i})}):!o&&!r&&!s&&!a?null:jsxs("div",{className:`text-foreground whitespace-pre-wrap leading-normal ${e||""}`,children:[o&&jsx(P,{content:o,className:"text-sm max-w-none"}),r&&jsx(Se,{content:r,state:typeof t.state=="string"?t.state:void 0}),s&&jsx("div",{className:"mb-2",children:jsx(xt,{language:"python",value:s,defaultOpen:false})}),a&&jsxs("div",{className:"text-sm text-warning",children:[jsx("div",{className:"font-medium",children:"Warnings"}),jsx(P,{content:a,className:"text-sm max-w-none"})]})]})}function _i(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)?t:null}function vi(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 an({item:t,className:e}){let n=Ii(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(kt,{wrapperType:s,compact:true,children:n.map((a,i)=>jsx(wi,{output:a},`${a.level}-${i}`))})})}function wi({output:t}){switch(t.level){case "output":return jsx(te,{timestamp:t.timestamp,children:t.message});case "error":return jsx(ee,{timestamp:t.timestamp,children:t.message});case "warning":return jsx(nn,{timestamp:t.timestamp,children:t.message});default:return jsx("div",{className:"text-muted-foreground",children:t.message})}}function Ii(t){let e=yo(t.content);return e.length>0?e:yo(t.parsedJson)}function yo(t){return sn(t).map((n,o)=>Ni(n,o)).filter(n=>n!==null)}function sn(t){if(Array.isArray(t))return t.every(Ei)?t.flatMap(e=>sn(e.content)):t;if(typeof t=="string"){let e=$(t);return e!=null?sn(e):sn(ft(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 Ni(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 Ei(t){return !!(t&&typeof t=="object"&&"type"in t&&"content"in t)}function Ai(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 Ri(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 re({toolGroup:t,ContentComponent:e,className:n,fallbackClassName:o}){let[r,s]=useState(false),a=q(),i=e??a?.ContentComponent,c=t.invocation,l=t.result,u=Ai(l),p=c?.name||l?.name,d=Ri(p,l,c),m=l?l.status==="error"?"failed":"finished":"loading",x=l?.status==="error"?"text-gray-500/80 dark:text-gray-400/80":"text-gray-500 dark:text-gray-400";return jsxs(ne.Root,{open:r,onOpenChange:s,className:`relative w-full max-w-4xl space-y-2 leading-normal ${n||""}`,children:[jsxs(ne.Trigger,{className:`flex items-center justify-between text-sm transition-colors w-full ${x} ${u?"hover:text-gray-900 dark:hover:text-gray-100 cursor-pointer":"cursor-default"}`,disabled:!u,children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx(rt,{status:m}),jsx("span",{children:d})]}),u&&jsx(ChevronDown,{className:`h-4 w-4 shrink-0 transition-transform duration-200 ${r?"rotate-180":""}`})]}),u&&l&&jsx(ne.Content,{children:jsx("div",{className:"pl-6 mt-2",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 Mt={Success:"success",Error:"error",RequiresInfo:"requires info"};function Mi(t){return t?t===Mt.Success?"finished":t===Mt.Error||t===Mt.RequiresInfo?"failed":"loading":"loading"}function ko(t){return t?t!==Mt.Success&&t!==Mt.Error&&t!==Mt.RequiresInfo:true}function Vi(t,e){let n=e||"agent",o=M(t?.message);return o||(t?.status===Mt.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:ko(e?.currentStatus?.status),[m,x]=useState(d),[y,k]=useState(false),f=useRef(null);if(useEffect(()=>{if(e?.currentStatus){let T=e.currentStatus.status;if(f.current!==T&&(f.current=T,!y)){let E=ko(T);E&&!m?x(true):!E&&m&&x(false);}}},[e,y,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(rt,{status:"loading"}),jsxs("span",{children:["Loading ",t.bot_name,"..."]})]});if(!e)return null;let g=e.eventsByID&&Object.keys(e.eventsByID).length>0;if(t.transparent)return g?l?jsx(l,{eventsByID:e.eventsByID,defaultOpen:true}):jsx(Tt,{eventsByID:e.eventsByID,ContentComponent:u}):null;let h=Mi(e.currentStatus?.status),b=Vi(e.currentStatus,t.bot_name),S=T=>{x(T),k(true);},v=T=>{i&&(T.preventDefault(),i(t.invocation_id,t.bot_id));};return jsxs(ne.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(ne.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(rt,{status:h}),b]}),jsx(ChevronDown,{className:`h-4 w-4 transition-transform duration-200 ${m?"transform rotate-180":""}`})]}),a&&(r||i)&&jsxs("a",{href:r||"#",onClick:i?v: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(ne.Content,{children:jsx("div",{className:"space-y-2 max-w-3xl",children:g?l?jsx(l,{eventsByID:e.eventsByID,defaultOpen:m}):jsx(Tt,{eventsByID:e.eventsByID,ContentComponent:u}):jsx("span",{className:"text-sm text-muted-foreground",children:"No events to display"})})})]})}function or({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&&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 sr({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&&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 Qi=120;function Zi(t,e){return !t||t.length<=e?t:t.slice(0,e).trimEnd()+"..."}function Yi(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 Xi(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 tl({memory:t}){let[e,n]=useState(false),o=Yi(t.type),r=Xi(t.type),s=t.type==="snippet",a=Zi(t.description||"",Qi),i=t.content&&t.content.trim()!=="",c=s&&i;return jsxs(ne.Root,{open:e,onOpenChange:n,className:"border border-border/50 rounded-lg overflow-hidden",children:[jsxs(ne.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(ne.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(tl,{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 _o(){return jsx("div",{className:"flex items-center justify-center py-8",children:jsx(Loader2,{className:"animate-spin text-muted-foreground",size:24})})}function ol(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 Vt({content:t,className:e,components:n}){let r=q()?.onSuggestionClick,s=useMemo(()=>l=>jsx(Vt,{...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=ol(t),i;a?i=a:i=M(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(he,{content:Co(t),className:e});case "markdown":return jsx(P,{content:Co(t),className:e});case "thinking":case "redacted_thinking":return jsx(Ke,{item:t,className:e});case "json":return jsx(Ht,{content:t.content,className:e});case "codegen_json":return jsx(on,{item:t,className:e});case "sql_generation":return jsx(tn,{item:t,className:e});case "codeexec_output":return jsx(an,{item:t,className:e});case "log":return jsx(Qe,{item:t,className:e});case "websearch":case "websearch_output":case "web_search":return jsx(Ze,{item:t,className:e});case "search_queries":return jsx(or,{content:t.content,className:e});case "integration_queries":return jsx(sr,{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(Ye,{item:t,className:e});case "tool_group":return jsx(re,{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=_e(t.content);if(u&&u.length>0)return So(u,e,l,r);let p=_e(t.parsedJson);return p&&p.length>0?So(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(qe,{columns:t.tableColumns,data:t.tableData,className:e}):jsx(Ht,{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(re,{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,running_message:l.running_status,finished_message:l.finished_status}};return jsx(re,{toolGroup:p,ContentComponent:s,className:e})}default:return typeof t.content=="string"?jsx(he,{content:t.content,className:e}):null}}function Co(t){return typeof t.content=="string"?t.content:""}function sl(t){let e=t?.children??t?.blocks;return Array.isArray(e)?e:void 0}function _e(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=ft(t);return _e(e)}return null}function So(t,e,n,o){return jsx(Fragment,{children:t.map((r,s)=>{if(r.type==="text"){let a=r.content;return jsx(P,{content:a,className:e},`${s}-${a.length}`)}if(r.type==="json"){let a=r.content,i=sl(a);return i?jsx(gt__default.Fragment,{children:jsx(ze,{nodes:i,className:e,invocationId:n,onSuggestionClick:o})},`${s}-${i.length}`):xe(a)?jsx(ar,{},s):jsx(Ht,{content:a,className:e},`${s}-json`)}return null})})}function ll({result:t,isStreaming:e,className:n,components:o,streamingText:r}){let s=t?vo(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(Vt,{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 vo(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 cl(t){if(t.length===0)return t;let e=[];for(let n=0;n<t.length;n++){let o=t[n],r=n>0?t[n-1]:null,s=n<t.length-1?t[n+1]:null;if(o.type==="text"&&typeof o.content=="string"){let a=o.content,i=false;if(s?.type==="json"){let c=a;a=a.replace(/```(?:json)?\s*$/,""),c!==a&&(i=true);}if(r?.type==="json"){let c=a;a=a.replace(/^\s*```/,""),c!==a&&(i=true);}(!i||a.trim())&&e.push({...o,content:a});}else e.push(o);}return e}var ul=new Set(["=","("]);function dl(t){if(!t||t.length===0)return true;let e=t[t.length-1];return !ul.has(e)}function ir(t,e){if(t.user_visibility!=="visible"||!ye(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.map((u,p,d)=>p===d.length-1?{...u}:u):[],o=t.content||"",r=t._isInJson??false,s=t._charBuffer??"",a=t._jsonParser,i=n.length>0&&t._currentContent?n.length-1:-1;if(typeof e=="object")return {...t,content:o+JSON.stringify(e),parsedJson:[...n,e],_isInJson:r,_charBuffer:s,_jsonParser:a,_currentContent:void 0};for(let u of e){if(o+=u,!r&&u==="{"){let p=o.slice(0,-1);if(dl(p)){s="{";continue}}if(s&&Dt(u)){s+=u;continue}if(!r&&s?.match(/^\s*{\s*$/)&&u==='"'){r=true,a=new X;let d={content:a.add("{"),type:"json"},m=i>=0?n[i]:null;if(!m?.content)n=[...n,d],i=n.length-1;else if(typeof m.content=="string"&&m.content.match(/^\s*{$/))n=[...n.slice(0,-1),d],i=n.length-1;else {if(typeof m.content=="string"){let x={...m,content:m.content.replace(/{$/,"")};n=[...n.slice(0,-1),x,d];}else n=[...n,d];i=n.length-1;}}if(r)try{let d={type:"json",content:a.add(u)};n=[...n.slice(0,i),d],a.state==="END"&&(r=!1,i=-1);}catch(p){if(console.log("handleIncrementalMixedJsonParsing: content chunk",e),console.log("handleIncrementalMixedJsonParsing: accumulated content",o),console.warn("handleIncrementalMixedJsonParsing: JSON parse error, recovering as text",p),r=false,a=void 0,n.length>0&&i>=0&&n[i].type==="json"){let m=o.lastIndexOf("{"),y={type:"text",content:o.slice(m)};n=[...n.slice(0,i),y];}continue}else if(i<0||n[i]?.type!=="text"){let p={content:s+u,type:"text"};n=[...n,p],i=n.length-1;}else {let d={type:"text",content:n[i].content+s+u};n=[...n.slice(0,i),d];}s="";}let c=i>=0?n[i]:void 0,l=cl(n);return {...t,content:o,parsedJson:l,_isInJson:r,_charBuffer:s,_jsonParser:a,_currentContent:c}}function ve(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function pl(t){if(!ve(t)||!("content"in t))return t;let e=t.content;return e===void 0?t:e}function ie(t,e){let n=pl(e);if((t==="thinking"||t==="redacted_thinking")&&typeof n=="string"){let o=$(n);return ve(o)?{content:o}:{content:n}}if(t==="json"&&typeof n=="string"){let o;try{let s=ft(n);Array.isArray(s)&&(o=s);}catch{}let r=$(n);return r!=null?{content:r,parsedJson:o}:{content:n,parsedJson:o}}return {content:n}}function ml(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=ie(t,n);if(t!=="thinking"&&t!=="redacted_thinking")return o;let r=ml(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 fl(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=fl(e);return !!(n&&n!==t.messageId)}function gl(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 yl(t,e);case "message finished":return wo(t);case "step_started":return hl(t,e);case "step_finished":return xl(t,e);case "create message content":return kl(t,e);case "message content delta":return bl(t,e);case "message content result":return Cl(t,e);case "status":return Sl(t,e);default:return t}}function yl(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 hl(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 xl(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 kl(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 bl(t,e){if(cr(t,e))return t;let n=lr(e),o=gl(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=_l(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 Cl(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):ie(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 wo(t){let e=t.nodes.map(r=>r.kind==="content"&&r.state==="streaming"?{...r,state:"completed"}:r.kind==="step"&&r.status==="running"?{...r,status:"completed"}:r),n={...t.byContentId};for(let[r,s]of Object.entries(n))s.state==="streaming"&&(n[r]={...s,state:"completed"});let o={...t.byStepId};for(let[r,s]of Object.entries(o))s.status==="running"&&(o[r]={...s,status:"completed"});return {...t,nodes:e,byContentId:n,byStepId:o,isStreaming:false}}function Sl(t,e){let n=fn(e)||null,o=e.payload,r=typeof o=="string"?o:o?.message||o?.status_message||o?.status||"";if(!r)return t;if(n){let a=t.byStepId[n];if(!a)return t;let i=a.status==="completed"||a.status==="error"?{...a,finishedStatus:r}:{...a,runningStatus:r};return {...t,nodes:t.nodes.map(c=>c.kind==="step"&&c.id===n?i:c),byStepId:{...t.byStepId,[n]:i}}}let s={kind:"status",stepId:null,message:r};return {...t,nodes:[...t.nodes,s]}}function _l(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?[...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 vl(t){for(let e of t.nodes)if(e.kind==="content"&&!(e.contentType==="tool_invocation"||e.contentType==="tool_result"||e.contentType==="agent_invocation")&&(e.text||e.parsedContent?.length||e.result))return true;return false}function yn(t,e,n){return e.type!=="llm_call"?false:!(e.parentId===t.rootStepId)&&n.contentType==="text"}function we(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"?wl(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"||s.contentType==="tool_invocation"||s.contentType==="tool_result")continue;if(s.stepId===null){r(s);continue}let a=t.byStepId[s.stepId];if(!a){r(s);continue}o(a.id)||a.type!=="tool_call"&&(a.type==="llm_call"&&yn(t,a,s)||r(s));}return e}function wl(t){return t?$(t):null}function Al(t){return (t.status==="completed"||t.status==="error")&&t.finishedStatus?t.finishedStatus:t.runningStatus?t.runningStatus:t.name.replace(/_/g," ")}function Rl(t){return t==="running"?"loading":t==="error"?"failed":"finished"}function Io(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 Pl(t){return t==="info"?"info":t==="warning"?"warning":"standard"}function Bl(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=$(c);if(l!=null)return typeof l=="string"?$(l)??l:l}return null}function No(t,e){let n=[],o="",r=[],s=0;function a(){r.length>0&&(n.push({id:`${e}-exec-${s}`,type:"codeexec",content:r.join(`
51
- `),wrapperType:Pl(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 Eo(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=$(r.result);if(c!=null)i=c;else {let l=Bl(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(...No(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(...No(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 Ol(t,e){if(!t.rootStepId)return [];let n=[],o={},r={},s=new Set,a={},i={},c={};function l(f){return r[f]||(r[f]=[]),r[f]}function u(f){if(f)return t.byStepId[f]}function p(f){if(!f)return false;if(f in c)return c[f];let g=f,h=[],b=false;for(;g;){if(g in c){b=b||c[g];break}h.push(g);let S=u(g);if(!S)break;if(S.hidden){b=true;break}g=S.parentId;}for(let S of h)c[S]=b;return b}function d(f){return p(f.id)}for(let f of t.nodes){if(f.kind!=="content"||!f.stepId||f.contentType==="tool_invocation"||f.contentType==="tool_result"||f.contentType==="agent_invocation"||!f.text&&!f.result&&!f.parsedContent?.length)continue;let g=u(f.stepId);if(!g||d(g)||g.type==="llm_call"&&yn(t,g,f))continue;let h=f.stepId;for(;h;){i[h]=true;let b=u(h);if(!b)break;h=b.parentId;}}function m(f){return !!i[f]}function x(f){if(!f)return null;if(f in a)return a[f];let g=f;for(;g;){let h=u(g);if(!h)break;let b=g===t.rootStepId,S=h.type==="agent"&&!h.hidden&&(!b||!Io(t,h.id)),v=h.type==="tool_call"&&!h.hidden;if(S||v)return a[f]=g,g;g=h.parentId;}return a[f]=null,null}function y(f,g){if(g.length===0)return;let h=x(f);if(!h){n.push(...g);return}let b=o[h];if(!b){l(h).push(...g);return}b.children||(b.children=[]),b.children.push(...g);}function k(f,g,h){if(!h||typeof h!="object")return [];let b=h,S=typeof b.result=="object"&&b.result!==null?b.result:b,v=[];typeof S.code=="string"&&S.code.trim()&&v.push({id:`${f}-${g}-codegen`,type:"codegen",contentData:S});let T=typeof S.output=="string"?S.output.trim():"";return T&&v.push({id:`${f}-${g}-output`,type:"codeexec",content:T}),v}for(let f of t.nodes){if(f.kind==="step"){let h=t.byStepId[f.id];if(!h||h.hidden||h.type==="llm_call"||h.id===t.rootStepId&&Io(t,h.id)||s.has(h.id))continue;s.add(h.id);let b={id:h.id,type:"step",label:Al(h),status:h.status},S=r[h.id];S&&S.length>0&&(b.children=S,delete r[h.id]),o[h.id]=b,y(h.parentId,[b]);continue}if(f.kind!=="content"||f.contentType==="tool_invocation")continue;if(f.stepId===null){n.push(...Eo([f],"root",e));continue}let g=t.byStepId[f.stepId];if(g&&!d(g)&&!(g.type==="llm_call"&&yn(t,g,f))){if(g.type==="tool_call"&&f.contentType==="tool_result"){if(m(g.id))continue;y(g.id,k(g.id,f.id,f.result));continue}y(g.id,Eo([f],g.id,e));}}return n}function To({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(P,{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(P,{content:c,className:"text-sm max-w-none"}),l&&jsx(Se,{content:l,state:t.status==="running"?"in_progress":"completed"}),i&&jsx(xt,{language:"python",value:i,defaultOpen:false})]})}if(t.type==="codeexec"&&t.content){let i=t.wrapperType||"standard";return jsx(kt,{wrapperType:i,compact:true,children:jsx(te,{children:t.content})})}if(t.type==="content"&&t.contentItem&&e)return jsx(e,{content:t.contentItem});if(t.type==="content"&&t.contentItem)return jsx(Vt,{content:t.contentItem});let s=!!t.children?.length,a=t.status==="running"?"text-foreground":"text-muted-foreground";return jsxs(ne.Root,{open:n,onOpenChange:o,className:"w-full",children:[jsxs(ne.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(rt,{status:Rl(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(ne.Content,{children:jsx("div",{className:"ml-5 mt-1 flex flex-col gap-1",children:t.children?.map(i=>jsx(To,{node:i,ContentComponent:e},i.id))})})]})}function Do({agentState:t,ContentComponent:e,className:n}){if(!t.rootStepId)return null;let o=useMemo(()=>Ol(t,e),[t,e]);return o.length===0?null:jsx("div",{className:`flex flex-col gap-1 ${n||""}`,children:o.map(r=>jsx(To,{node:r,ContentComponent:e},r.id))})}function U(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 Ml(t){return t.contents.length===0?null:t.contents[t.contents.length-1]||null}function Oo(t){return t.contents.length===0?null:t.contents[0]||null}function Ao(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 mr(t,e){let n=U(t);switch(n){case "message":return t;case "step":let o=t;if(e){let a=o.eventsByID[e]?.Message;return a||$o({},"",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 Vl(t,e){switch(U(t)){case "message_content":return t;case "output_content":return t;case "message":return ce(t,e);case "output":return ue(t,e);case "step":let o=kn(t,e);return o?ue(o,e):null;default:return null}}function ce(t,e){let n=U(t);switch(n){case "message_content":return t;case "message":let o=mr(t);if(!o)throw new Error("Unable to find message to add content to");return e?o.contentsByID[e]:Ml(o);default:throw new Error(`Unable to have message content on entity type ${n}`)}}function ue(t,e){let n=U(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=kn(t,e);return s?ue(s):null;case "invocation":if(!e)return null;let a=t.eventsByID[e];return !a||!a.Output?null:ue(a.Output);default:throw new Error(`Unable to have output content on entity type ${n}`)}}function fr(t,e){let n=U(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=Oo(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 kn(t,e){let n=U(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 Mo(t,e){let n=U(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 Vo(t,e){let n=U(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 dr=class extends Error{};function $l(t,e,n){let o=null,r=e[0],s=e[1];n[r]=s;try{switch(r){case "message":o=mr(t,s);break;case "content":o=ce(t,s);break;case "step":o=Vo(t,s);break;case "output":o=kn(t,s);break;case "output_content":o=ue(t,s);break;case "invocation":o=fr(t,s);break;case "result_handler":o=Mo(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 dr(`Unable to find next entity for path ${e.join("/")}`);return o}function $o(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 Ll(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 Ul(t,e){let n=t.metadata.content_type||"text",o=t.metadata?.ui_content_type,r=ie(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 jl(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 Fl(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 Jl(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 Ro(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 Po(t,e,n,o=null){let r=t.metadata.content_type||"text",s=ie(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 Gl(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 Lo(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 gr(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 yr(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 Wl(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 ql(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 zl=new Set(["=","("]);function Hl(t){if(!t||t.length===0)return true;let e=t[t.length-1];return !zl.has(e)}function Uo(t,e){if(t.content||(t.content=""),t.user_visibility!=="visible"||!ye(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 X;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(Hl(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 X;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 Kl(t,e){return Uo(t,e)}function Bo(t,e){return Uo(t,e)}function pr(t,e){let n=U(t);switch(n){case "message":return dt(t,e);case "message_content":return xn(t,e);case "step":return Zl(t,e);case "output":return Yl(t,e);case "output_content":return Xl(t,e);case "invocation":return Ne(t,e);case "result_handler":return tc(t,e);default:throw new Error(`Unable to add update entity for entity type ${n}`)}}function Ql(t,e){for(let n of e)t=pr(t,n);return t}function dt(t,e){let n=mr(t);if(!n)throw new Error("Unable to find message to add content to");let o=U(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=xn(n.contents[0],s),dt(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=fr(r);if(!a)throw new Error("Unable to find bot invocation to add content to");return r.botInvocation=Ne(a,e),dt(n,r);case "status":if(n.contents.length>0){let i=n.contents[0];if(i?.botInvocation){let c=xn(i,e);return dt(n,c)}}return {...n};default:throw new Error(`Unable to add update message child for child type ${o}`)}}function xn(t,e){let n=ce(t);if(!n)throw new Error("Unable to find message content to add content to");let o=U(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 Zl(t,e){let n=Vo(t);if(!n)throw new Error("Unable to find bot invocation to add step to");let o=U(e),r=null;switch(o){case "output":let s=e;return r=gr(s),n.eventsByID={...n.eventsByID,[s.output.id]:r},{...n};case "message":let a=e;return r=Wl(a),n.eventsByID={...n.eventsByID,[a.message.id]:r},{...n};case "status":let i=e;return r=yr(i),n.eventsByID={...n.eventsByID,[i.id]:r},{...n};case "result_handler":let c=e;return r=ql(c),n.eventsByID={...n.eventsByID,[c.id]:r},{...n};default:throw new Error(`Unable to add update step for entity type ${o}`)}}function Yl(t,e){let n=kn(t);if(!n)throw new Error("Unable to find step output to add content to");let o=U(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 Xl(t,e){let n=ue(t);if(!n)throw new Error("Unable to find step output content to add content to");let o=U(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=fr(t);if(!n)throw new Error("Unable to find bot invocation to add content to");let o=U(e),r;switch(o){case "step":let s=e;return r=Lo(s),n.eventsByID={...n.eventsByID,[s.id]:r},{...n};case "output":let a=e;return r=gr(a),n.eventsByID={...n.eventsByID,[a.output.id]:r},{...n};case "status":let i=e;return r=yr(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 tc(t,e){let n=Mo(t);if(!n)throw new Error("Unable to find result handler to add content to");let o=U(e),r=null;switch(o){case "step":let s=e;return r=Lo(s),n.eventsByID||(n.eventsByID={}),n.eventsByID={...n.eventsByID,[s.id]:r},{...n};case "output":let a=e;return r=gr(a),n.eventsByID||(n.eventsByID={}),n.eventsByID={...n.eventsByID,[a.output.id]:r},{...n};case "status":let i=e;return r=yr(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 ec(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 bn(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]=Ao(p),null;if(n[0]!=="content"&&Object.keys(p.contentsByID).length>0&&e.metadata.message_content_id){let m=e.metadata.message_content_id,x=p.contentsByID[m];x&&(s=x);}s?a=[p]:s=p;}if(n.length<=2&&ec(t)){let p=n[1],d=[],m,x,y,k,f;switch(t){case "bot started":case "bot resumed":if(!s)throw new Error("Unable to find message to add content to");let g=Gl(e);if(s._type==="message_content"){if(x=s,!x.id)throw new Error("Unable to find message content id");if(y=r[x.message_id],!y)throw new Error("Unable to find message to add content to");if(k=ce(y,x.id),!k)throw new Error("Unable to find message content to add content to");let v=xn(k,g);r[x.message_id]={...dt(y,v)};}d.push(g);break;case "message created":return r[p]=$o(e,o,p),null;case "create message content":if(!s)throw new Error("Unable to find message to add content to");if(f=Ll(e,i),s._type==="output"){m=s,d.push(Ro(e,p,i,"hidden"));let v=e.payload.message_id;if(v||(v=a[0].message.id),y=r[v],!y)throw new Error("Unable to find message to add content to")}else if(s._type==="message_content"){if(m=s,y=r[m.message_id],!y)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,y=r[m.message.id],!y)throw new Error("Unable to find message to add content to");d.push(f);}r[y.message.id]={...dt(y,f)};break;case "message content result":if(!s)throw new Error("Unable to find message to add content to");let h=null;if(s._type==="output"){d.push(Po(e,p,i,"hidden"));let v=e.payload.message_id||i.message;if(v?h=a.find(T=>T.message.id===v):h=a[0],y=r[v],!y)throw new Error("Unable to find message to add content to")}else if(s._type==="message_content"){if(h=a[0],y=r[h.message.id],!y)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(h=s,y=r[h.message.id],!y)throw new Error("Unable to find message to add content to")}let b=e.metadata.message_content_id;if(!b)throw new Error("Unable to find message content id");let S=ce(h,b);if(S){S.state="completed";let v=S.content_type||"text",T=mn(v,S.content,e.payload);S.content=T.content,T.parsedJson&&(S.parsedJson=T.parsedJson),r[y.message.id]={...dt(y,S)},(s._type==="message"||s._type==="message_content")&&d.push(S);}else S=Ul(e,i),r[y.message.id]={...dt(y,S)},(s._type==="message"||s._type==="message_content")&&d.push(S);break;case "step started":d.push(jl(e,p,i));break;case "result handler started":d.push(Fl(e,p));break;case "step output created":d.push(Jl(e,p,s));break;case "create step output content":d.push(Ro(e,p,i));break;case "step output content result":d.push(Po(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]:Ql(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=Vl(s);}catch{}switch(t){case "message content delta":if(!p)throw new Error("Unable to find message content");let d=null,m=null,x=null;if(s._type==="output_content"){d=Bo(s,e.payload);let g=e.metadata.message_content_id;if(!g)throw new Error("Unable to find message content id from entity ids");let h=i.message;if(x=a.find(b=>b.message.id===h),!x)throw new Error("Unable to find message to add content to");m=ce(x,g);}else {if(m=p,x=a[a.length-1],!x)throw new Error("Unable to find message to add content to");if(x._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 y=r[x.message.id];if(!y)throw new Error("Unable to find message to add content to");let k=Kl(m,e.payload);return r[y.message.id]={...dt(y,k)},s._type==="message_content"&&(d=k),d;case "step output content delta":return Bo(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 f=s;if(f.botInvocation)return f.botInvocation.currentStatus=Ie(e),{...f}}if(s._type==="message"){let f=s,g=Oo(f);if(g?.botInvocation)return g.botInvocation.currentStatus=Ie(e),dt(f,g)}return pr(s,Ie(e));case "result":return null;case "message finished":if(s._type==="message"){let g=Ao(s);r[g.message.id]=g;}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=$l(s,n,i),u=bn(t,e,c,o,r,l,[...a,s],i);return u?pr(s,{...u}):s}function hr(t){if(!t.content)return null;if(typeof t.content=="object")return t.content;if(typeof t.content=="string"){let e=$(t.content);return e&&typeof e=="object"&&!Array.isArray(e)?e:null}return null}function jo(t){let e=t.content_type;if(e==="tool_result")return "result";if(e==="tool_invocation")return "invocation";let n=hr(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 Fo(t){return hr(t)?.id}function Jo(t){let e=hr(t);if(!e?.action_type)return null;let o=e.input?.query;return `${e.action_type}:${o||""}`}function Go(t){let e=t.filter(r=>jo(r)==="result"),n=new Set(e.map(r=>Fo(r)).filter(Boolean)),o=new Set(e.map(r=>Jo(r)).filter(Boolean));return t.filter(r=>{if(jo(r)==="invocation"){let s=Fo(r),a=Jo(r);if(s&&n.has(s)||a&&o.has(a))return false}return true})}function Wo(t,e,n){let o=e;for(;o;){if(o===n)return true;o=t.byStepId[o]?.parentId??null;}return false}function Cn(t,e){if(!e||!t.byStepId[e])return t;let n=new Set;for(let i of t.nodes)i.kind==="step"&&Wo(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 Ee(){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&&!Wo(s,a,u)&&a)continue;let d=Cn(s,u);if(p&&p.nodes.length===d.nodes.length){let m=p.nodes[p.nodes.length-1],x=d.nodes[d.nodes.length-1];if(m===x&&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=Cn(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 sc(t){return t.split("/").filter(Boolean)}function qo(t={}){let e=Ct(),[n,o]=useState(null),[r,s]=useState(false),[a,i]=useState(null),[c,l]=useState([]),u=useRef(Ee()),p=useStore(u.current,g=>g.globalState),d=useRef(null),m=useRef(t.threadId);t.threadId!==m.current&&(m.current=t.threadId);let x=useCallback(()=>{d.current&&(d.current.abort(),d.current=null);},[]),y=useCallback(g=>{o(g),m.current=g.id;},[]),k=useCallback(async g=>{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.");x(),d.current=new AbortController,s(true),i(null),l([]),u.current.getState().reset();let h={};try{let b=m.current;if(!b){let E=await e.client.createThread();o(E),m.current=E.id,b=E.id;}for await(let E of e.client.sendMessage(b,{content:g,botKey:t.botKey})){if(d.current?.signal.aborted)break;if(t.onEvent?.(E),e.useAgentEvents)u.current.getState().pushEvent(E);else {let z=E.type||"",Q=E.metadata||{},R=sc(Q.path||""),j={payload:E.payload,metadata:{path:Q.path||"",...Q}};try{bn(z,j,R,b,h);}catch(F){console.error("Error handling SSE event:",F,z);}l(Object.values(h));}}let S=Object.values(h);l(S);let v=u.current.getState().globalState,T;v.rootStepId?T=we(v):T=S.flatMap(E=>E.contents||[]).filter(E=>E.user_visibility==="visible").map(E=>({id:E.id,content_type:E.content_type,ui_content_type:M(E.ui_content_type),content:E.content,parsedJson:E.parsedJson,botInvocation:E.botInvocation})),t.onFinish?.(T);}catch(b){let S=b instanceof Error?b:new Error(String(b));throw i(S),t.onError?.(S),S}finally{s(false),d.current=null;}},[e.client,e.useAgentEvents,t,x]),f=useMemo(()=>{if(p.rootStepId)return we(p);let g=c.flatMap(b=>b.contents||[]).filter(b=>b.user_visibility==="visible");return Go(g).map(b=>({id:b.id,content_type:b.content_type,ui_content_type:M(b.ui_content_type),content:b.content,parsedJson:b.parsedJson,botInvocation:b.botInvocation}))},[c,p]);return {thread:n,isStreaming:r,error:a,activeMessages:c,agentState:p,streamingContents:f,sendMessage:k,cancel:x,setThread:y,agentStreamStore:u.current}}function ac(t){return t?typeof t=="string"?t:typeof t=="object"&&t!==null&&"String"in t&&t.String||"":""}function zo(t){let e=ac(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((n==="json"||e==="json")&&t.content.trim()){let r=$(t.content);r!=null&&(o.parsedJson=[{type:"json",content:r}]);}else if(e==="ui_generation")try{o.parsedJson=ft(t.content);}catch(r){console.error("Error parsing UI generation content:",r);}}if((t.content_type==="thinking"||t.content_type==="redacted_thinking")&&typeof t.content=="string"){let r=$(t.content);r&&typeof r=="object"&&(o.content=r);}return o}function ic(t){return t.filter(e=>e.user_visibility!=="hidden").map(zo)}var _n=createContext(null);function Ko({store:t,children:e}){return jsx(_n.Provider,{value:t,children:e})}function Qo(){return useContext(_n)}function Zo(t){let e=useContext(_n);return useStore(e,n=>t?n.invocationStates[t]:void 0)}function Yo(){let t=useContext(_n);return useStore(t,e=>e.globalState)}export{Ko as AgentStreamStoreProvider,wt as BarChart,ln as BotInvocationContent,it as Chart,pe as ChartContainer,We as ChartContent,Dn as ChartLegend,An as ChartLegendContent,zn as ChartNode,wr as ChartStyle,En as ChartTooltip,Tn as ChartTooltipContent,an as CodeexecContent,on as CodegenContent,xt as CollapsibleCodeBlock,Vt as Content,Ve as DatasetChart,Qt as DatasetDownload,$e as DatasetTable,Qn as DownloadButtonNode,Sr as ErdoProvider,ll as ErdoUI,St as ErrorBoundary,Un as ExecutionStatus,kt as ExpandableOutputContent,Yn as FileDownloadsNode,Wt as HeatmapChart,Je as InvocationEvent,Tt as InvocationEvents,qr as InvocationStatus,X as JSONStreamParser,Ht as JsonContent,Ft as LineChart,_o as Loader,tr as Log,Qe as LogContent,P as MarkdownContent,dn as MemoryContent,Le as Output,Jt as PieChart,Gt as ScatterChart,tn as SqlContent,rt as StatusSpinner,ee as StderrText,te as StdoutText,nn as StdwarnText,Fe as StepInvocation,je as StepInvocationStatus,Do as StepTreeContent,Zn as SuggestionsNode,qe as TableContent,Hn as TableNode,he as TextContent,Kn as TextMarkdownNode,Ke as ThinkingContent,re as ToolGroupContent,ze as UIGenerationNodes,Ye as WebParseContent,Ze as WebSearchContent,ar as WritingLoader,we as agentStateToContents,K as cn,wo as completeStreamingContent,Ee as createAgentStreamStore,gn as createInitialAgentState,vo as extractContentItems,at as formatValue,ur as handleAgentEvent,ir as handleIncrementalMixedJsonParsing,bn as handleSSEEvent,vl as hasRenderableAssistantOutput,ye as isJsonLike,Ur as isNullString,Ta as isParsingComplete,xe as isParsingInProgress,Dt as isWhitespaceChar,Xn as nodeComponents,zo as normalizeContent,ic as normalizeContents,_e as normalizeUIGenerationChunks,Gn as normalizeUINodes,$ as parseCompleteJson,ft as parseMixedJson,Ir as parseToDate,zt as resolveKeyFromData,Cn as sliceAgentStateToRoot,Mr as toSnakeCase,M as unwrapNullString,ra as unwrapNullStringOr,Yo as useAgentStreamGlobalState,Qo as useAgentStreamStoreOptional,Re as useChartZoom,Be as useDatasetContents,Ct as useErdoConfig,q as useErdoConfigOptional,Zo as useInvocationState,Or as useMultipleDatasetContents,fe as useMultipleDatasetRequests,qo as useThread};
50
+ `,document.head.appendChild(t);}function He({item:t,className:e}){let[n,o]=useState(false);useEffect(()=>{Ya();},[]);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-thinking-shimmer":"text-muted-foreground"}`,children:r?"Encrypted thinking":"Thinking"})]}),n&&jsx("div",{className:"mt-1 pl-5 text-sm text-muted-foreground whitespace-pre-wrap",children:s||(l?"Thinking...":"")})]})}function Xa(t){try{return JSON.parse(t)}catch{return t}}function ti(t){if(!t)return "";try{return new Date(t).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return ""}}function Xn({log:t}){let e=typeof t.message=="string"?Xa(t.message):t.message,n=ti(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 Ke({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(Xn,{log:o})})}function ri(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 Qe({item:t,className:e}){let n=ri(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 si(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 ai(t){if(!t||typeof t!="object")return null;let n=t.input;return typeof n?.url=="string"?n.url:null}function Ze({item:t,className:e}){let n=si(t.content),o=ai(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(B,{content:a,className:"text-xs"})})]})}var xi=Prism,xt=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 h=d.current;h&&(h.scrollTop=h.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]),x=useMemo(()=>m==="dark"?oneDark:oneLight,[m]),y=useCallback(async()=>{try{await navigator.clipboard.writeText(n),p(!0),setTimeout(()=>p(!1),2e3);}catch{let h=document.createElement("textarea");h.value=n,document.body.appendChild(h),h.select(),document.execCommand("copy"),document.body.removeChild(h),p(true),setTimeout(()=>p(false),2e3);}},[n]),k=useMemo(()=>({margin:0,width:"100%",background:"transparent",padding:"1rem 0.5rem",fontSize:"0.825rem",maxWidth:"100vw",overflow:"auto"}),[]),f=useMemo(()=>({userSelect:"none",minWidth:"2.5em",paddingRight:"1em",color:"rgb(161 161 170)",opacity:"0.5"}),[]),g=useMemo(()=>({style:{fontFamily:"var(--font-mono, ui-monospace, monospace)",whiteSpace:"pre",wordBreak:"break-word"}}),[]);return jsx(ee.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:y,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(xi,{language:e,style:x,PreTag:"div",showLineNumbers:true,wrapLines:false,wrapLongLines:false,startingLineNumber:1,className:"not-prose",customStyle:k,lineNumberStyle:f,codeTagProps:g,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(ee.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 ki(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 bi(t){return ki(t.content)}function Xe({item:t,className:e}){let n=bi(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(B,{content:o,className:"text-sm max-w-none"})}),r&&jsx("div",{className:"mb-2",children:jsx(xt,{language:"sql",value:r,defaultOpen:false})})]})}var Si=500,_i=300;function Ce({content:t,className:e}){let[n,o]=useState(false);if(!t?.trim())return null;if(t.length<=Si)return jsx("div",{className:`text-sm text-muted-foreground ${e||""}`,children:jsx(B,{content:t,className:"text-sm max-w-none"})});let s=t.slice(0,_i).trimEnd()+"...";return jsx("div",{className:`text-sm text-muted-foreground ${e||""}`,children:n?jsxs(Fragment,{children:[jsx(B,{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 kt({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(ee.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(ee.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 nr(t){return new Date(t).toLocaleTimeString("en-US",{hour12:false,hour:"2-digit",minute:"2-digit",second:"2-digit"})}function Xt({children:t,timestamp:e}){return jsxs("div",{className:"flex",children:[e&&jsx("span",{className:"text-muted-foreground/60 mr-2 select-none",children:nr(e)}),jsx("span",{className:"text-foreground/80",children:t})]})}function te({children:t,timestamp:e}){return jsxs("div",{className:"flex",children:[e&&jsx("span",{className:"text-info/60 mr-2 select-none",children:nr(e)}),jsx("span",{className:"text-info/90",children:t})]})}function en({children:t,timestamp:e}){return jsxs("div",{className:"flex",children:[e&&jsx("span",{className:"text-warning/60 mr-2 select-none",children:nr(e)}),jsx("span",{className:"text-warning/90",children:t})]})}function rn({item:t,className:e}){if(!t.content)return null;let n=Ii(t.content)??Ni(t.parsedJson);if(!n)return null;let{step_by_step:o,thinking:r,code:s,warnings:a,error:i}=n;return i?jsx(kt,{wrapperType:"info",className:e,children:jsx(te,{children:i})}):!o&&!r&&!s&&!a?null:jsxs("div",{className:`text-foreground whitespace-pre-wrap leading-normal ${e||""}`,children:[o&&jsx(B,{content:o,className:"text-sm max-w-none"}),r&&jsx(Ce,{content:r,state:typeof t.state=="string"?t.state:void 0}),s&&jsx("div",{className:"mb-2",children:jsx(xt,{language:"python",value:s,defaultOpen:false})}),a&&jsxs("div",{className:"text-sm text-warning",children:[jsx("div",{className:"font-medium",children:"Warnings"}),jsx(B,{content:a,className:"text-sm max-w-none"})]})]})}function Ii(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)?t:null}function Ni(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 sn({item:t,className:e}){let n=Ti(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(kt,{wrapperType:s,compact:true,children:n.map((a,i)=>jsx(Ei,{output:a},`${a.level}-${i}`))})})}function Ei({output:t}){switch(t.level){case "output":return jsx(Xt,{timestamp:t.timestamp,children:t.message});case "error":return jsx(te,{timestamp:t.timestamp,children:t.message});case "warning":return jsx(en,{timestamp:t.timestamp,children:t.message});default:return jsx("div",{className:"text-muted-foreground",children:t.message})}}function Ti(t){let e=yo(t.content);return e.length>0?e:yo(t.parsedJson)}function yo(t){return on(t).map((n,o)=>Di(n,o)).filter(n=>n!==null)}function on(t){if(Array.isArray(t))return t.every(Ai)?t.flatMap(e=>on(e.content)):t;if(typeof t=="string"){let e=$(t);return e!=null?on(e):on(ft(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 Di(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 Ai(t){return !!(t&&typeof t=="object"&&"type"in t&&"content"in t)}function Bi(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 Oi(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 ne({toolGroup:t,ContentComponent:e,className:n,fallbackClassName:o}){let[r,s]=useState(false),a=q(),i=e??a?.ContentComponent,c=t.invocation,l=t.result,u=Bi(l),p=c?.name||l?.name,d=Oi(p,l,c),m=l?l.status==="error"?"failed":"finished":"loading",x=l?.status==="error"?"text-gray-500/80 dark:text-gray-400/80":"text-gray-500 dark:text-gray-400";return jsxs(ee.Root,{open:r,onOpenChange:s,className:`relative w-full max-w-4xl space-y-2 leading-normal ${n||""}`,children:[jsxs(ee.Trigger,{className:`flex items-center justify-between text-sm transition-colors w-full ${x} ${u?"hover:text-gray-900 dark:hover:text-gray-100 cursor-pointer":"cursor-default"}`,disabled:!u,children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx(rt,{status:m}),jsx("span",{children:d})]}),u&&jsx(ChevronDown,{className:`h-4 w-4 shrink-0 transition-transform duration-200 ${r?"rotate-180":""}`})]}),u&&l&&jsx(ee.Content,{children:jsx("div",{className:"pl-6 mt-2",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 Li(t){return t?t===Ot.Success?"finished":t===Ot.Error||t===Ot.RequiresInfo?"failed":"loading":"loading"}function ko(t){return t?t!==Ot.Success&&t!==Ot.Error&&t!==Ot.RequiresInfo:true}function Ui(t,e){let n=e||"agent",o=P(t?.message);return o||(t?.status===Ot.Success?`Finished ${n}`:`Running ${n}...`)}function an({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:ko(e?.currentStatus?.status),[m,x]=useState(d),[y,k]=useState(false),f=useRef(null);if(useEffect(()=>{if(e?.currentStatus){let T=e.currentStatus.status;if(f.current!==T&&(f.current=T,!y)){let E=ko(T);E&&!m?x(true):!E&&m&&x(false);}}},[e,y,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(rt,{status:"loading"}),jsxs("span",{children:["Loading ",t.bot_name,"..."]})]});if(!e)return null;let g=e.eventsByID&&Object.keys(e.eventsByID).length>0;if(t.transparent)return g?l?jsx(l,{eventsByID:e.eventsByID,defaultOpen:true}):jsx(Tt,{eventsByID:e.eventsByID,ContentComponent:u}):null;let h=Li(e.currentStatus?.status),b=Ui(e.currentStatus,t.bot_name),S=T=>{x(T),k(true);},v=T=>{i&&(T.preventDefault(),i(t.invocation_id,t.bot_id));};return jsxs(ee.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(ee.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(rt,{status:h}),b]}),jsx(ChevronDown,{className:`h-4 w-4 transition-transform duration-200 ${m?"transform rotate-180":""}`})]}),a&&(r||i)&&jsxs("a",{href:r||"#",onClick:i?v: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(ee.Content,{children:jsx("div",{className:"space-y-2 max-w-3xl",children:g?l?jsx(l,{eventsByID:e.eventsByID,defaultOpen:m}):jsx(Tt,{eventsByID:e.eventsByID,ContentComponent:u}):jsx("span",{className:"text-sm text-muted-foreground",children:"No events to display"})})})]})}function or({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&&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 sr({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&&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 Xi=120;function tl(t,e){return !t||t.length<=e?t:t.slice(0,e).trimEnd()+"..."}function el(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 nl(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 rl({memory:t}){let[e,n]=useState(false),o=el(t.type),r=nl(t.type),s=t.type==="snippet",a=tl(t.description||"",Xi),i=t.content&&t.content.trim()!=="",c=s&&i;return jsxs(ee.Root,{open:e,onOpenChange:n,className:"border border-border/50 rounded-lg overflow-hidden",children:[jsxs(ee.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(ee.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 un({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(rl,{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 _o(){return jsx("div",{className:"flex items-center justify-center py-8",children:jsx(Loader2,{className:"animate-spin text-muted-foreground",size:24})})}function il(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=q()?.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=il(t),i;a?i=a:i=P(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(ye,{content:Co(t),className:e});case "markdown":return jsx(B,{content:Co(t),className:e});case "thinking":case "redacted_thinking":return jsx(He,{item:t,className:e});case "json":return jsx(zt,{content:t.content,className:e});case "codegen_json":return jsx(rn,{item:t,className:e});case "sql_generation":return jsx(Xe,{item:t,className:e});case "codeexec_output":return jsx(sn,{item:t,className:e});case "log":return jsx(Ke,{item:t,className:e});case "websearch":case "websearch_output":case "web_search":return jsx(Qe,{item:t,className:e});case "search_queries":return jsx(or,{content:t.content,className:e});case "integration_queries":return jsx(sr,{content:t.content,className:e});case "memory":return jsx(un,{content:t.content,className:e});case "webparse":case "webparse_output":case "web_parse":return jsx(Ze,{item:t,className:e});case "tool_group":return jsx(ne,{toolGroup:t.content,ContentComponent:s,className:e});case "bot_invocation":{let l=t.content,u=t.botInvocation;return jsx(an,{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&&u.length>0)return So(u,e,l,r);let p=Se(t.parsedJson);return p&&p.length>0?So(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(zt,{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(ne,{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||P(t.ui_content_type),running_message:l.running_message||l.running_status,finished_message:l.finished_message||l.finished_status}};return jsx(ne,{toolGroup:p,ContentComponent:s,className:e})}default:return typeof t.content=="string"?jsx(ye,{content:t.content,className:e}):null}}function Co(t){return typeof t.content=="string"?t.content:""}function ll(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=ft(t);return Se(e)}return null}function So(t,e,n,o){return jsx(Fragment,{children:t.map((r,s)=>{if(r.type==="text"){let a=r.content;return jsx(B,{content:a,className:e},`${s}-${a.length}`)}if(r.type==="json"){let a=r.content,i=ll(a);return i?jsx(gt__default.Fragment,{children:jsx(qe,{nodes:i,className:e,invocationId:n,onSuggestionClick:o})},`${s}-${i.length}`):he(a)?jsx(ar,{},s):jsx(zt,{content:a,className:e},`${s}-json`)}return null})})}function dl({result:t,isStreaming:e,className:n,components:o,streamingText:r}){let s=t?vo(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 vo(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 pl(t){if(t.length===0)return t;let e=[];for(let n=0;n<t.length;n++){let o=t[n],r=n>0?t[n-1]:null,s=n<t.length-1?t[n+1]:null;if(o.type==="text"&&typeof o.content=="string"){let a=o.content,i=false;if(s?.type==="json"){let c=a;a=a.replace(/```(?:json)?\s*$/,""),c!==a&&(i=true);}if(r?.type==="json"){let c=a;a=a.replace(/^\s*```/,""),c!==a&&(i=true);}(!i||a.trim())&&e.push({...o,content:a});}else e.push(o);}return e}var ml=new Set(["=","("]);function fl(t){if(!t||t.length===0)return true;let e=t[t.length-1];return !ml.has(e)}function ir(t,e){if(t.user_visibility!=="visible"||!ge(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.map((u,p,d)=>p===d.length-1?{...u}:u):[],o=t.content||"",r=t._isInJson??false,s=t._charBuffer??"",a=t._jsonParser,i=n.length>0&&t._currentContent?n.length-1:-1;if(typeof e=="object")return {...t,content:o+JSON.stringify(e),parsedJson:[...n,e],_isInJson:r,_charBuffer:s,_jsonParser:a,_currentContent:void 0};for(let u of e){if(o+=u,!r&&u==="{"){let p=o.slice(0,-1);if(fl(p)){s="{";continue}}if(s&&Dt(u)){s+=u;continue}if(!r&&s?.match(/^\s*{\s*$/)&&u==='"'){r=true,a=new X;let d={content:a.add("{"),type:"json"},m=i>=0?n[i]:null;if(!m?.content)n=[...n,d],i=n.length-1;else if(typeof m.content=="string"&&m.content.match(/^\s*{$/))n=[...n.slice(0,-1),d],i=n.length-1;else {if(typeof m.content=="string"){let x={...m,content:m.content.replace(/{$/,"")};n=[...n.slice(0,-1),x,d];}else n=[...n,d];i=n.length-1;}}if(r)try{let d={type:"json",content:a.add(u)};n=[...n.slice(0,i),d],a.state==="END"&&(r=!1,i=-1);}catch(p){if(console.log("handleIncrementalMixedJsonParsing: content chunk",e),console.log("handleIncrementalMixedJsonParsing: accumulated content",o),console.warn("handleIncrementalMixedJsonParsing: JSON parse error, recovering as text",p),r=false,a=void 0,n.length>0&&i>=0&&n[i].type==="json"){let m=o.lastIndexOf("{"),y={type:"text",content:o.slice(m)};n=[...n.slice(0,i),y];}continue}else if(i<0||n[i]?.type!=="text"){let p={content:s+u,type:"text"};n=[...n,p],i=n.length-1;}else {let d={type:"text",content:n[i].content+s+u};n=[...n.slice(0,i),d];}s="";}let c=i>=0?n[i]:void 0,l=pl(n);return {...t,content:o,parsedJson:l,_isInJson:r,_charBuffer:s,_jsonParser:a,_currentContent:c}}function _e(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function gl(t){if(!_e(t)||!("content"in t))return t;let e=t.content;return e===void 0?t:e}function ae(t,e){let n=gl(e);if((t==="thinking"||t==="redacted_thinking")&&typeof n=="string"){let o=$(n);return _e(o)?{content:o}:{content:n}}if(t==="json"&&typeof n=="string"){let o;try{let s=ft(n);Array.isArray(s)&&(o=s);}catch{}let r=$(n);return r!=null?{content:r,parsedJson:o}:{content:n,parsedJson:o}}return {content:n}}function yl(t,e){return typeof e=="string"?e:_e(e)?t==="redacted_thinking"?typeof e.data=="string"?e.data:"":typeof e.thinking=="string"?e.thinking:"":""}function pn(t,e,n){let o=ae(t,n);if(t!=="thinking"&&t!=="redacted_thinking")return o;let r=yl(t,e);return r?t==="redacted_thinking"?_e(o.content)&&typeof o.content.data!="string"?{...o,content:{...o.content,data:r}}:o:_e(o.content)&&typeof o.content.thinking!="string"?{...o,content:{...o.content,thinking:r}}:o:o}function mn(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 hl(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=hl(e);return !!(n&&n!==t.messageId)}function xl(t){return typeof t=="string"?t:typeof t=="object"&&t!==null&&"content"in t?String(t.content??""):""}function fn(){return {nodes:[],byStepId:{},byContentId:{},childrenByParentId:{},rootStepId:null,messageId:null,isStreaming:false}}function ur(t,e){switch(e.type){case "message created":return kl(t,e);case "message finished":return wo(t);case "step_started":return bl(t,e);case "step_finished":return Cl(t,e);case "create message content":return Sl(t,e);case "message content delta":return _l(t,e);case "message content result":return vl(t,e);case "status":return wl(t,e);default:return t}}function kl(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 bl(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 Cl(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 Sl(t,e){if(cr(t,e))return t;let n=lr(e);if(!n)return t;let o=mn(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 _l(t,e){if(cr(t,e))return t;let n=lr(e),o=xl(e.payload);if(!n||!o)return t;let r=t.byContentId[n],s=t;if(!r){let u=mn(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=Il(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 vl(t,e){if(cr(t,e))return t;let n=lr(e);if(!n)return t;let o=mn(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?pn(r,a.result??a.text,e.payload):ae(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 wo(t){let e=t.nodes.map(r=>r.kind==="content"&&r.state==="streaming"?{...r,state:"completed"}:r.kind==="step"&&r.status==="running"?{...r,status:"completed"}:r),n={...t.byContentId};for(let[r,s]of Object.entries(n))s.state==="streaming"&&(n[r]={...s,state:"completed"});let o={...t.byStepId};for(let[r,s]of Object.entries(o))s.status==="running"&&(o[r]={...s,status:"completed"});return {...t,nodes:e,byContentId:n,byStepId:o,isStreaming:false}}function wl(t,e){let n=mn(e)||null,o=e.payload,r=typeof o=="string"?o:o?.message||o?.status_message||o?.status||"";if(!r)return t;if(n){let a=t.byStepId[n];if(!a)return t;let i=a.status==="completed"||a.status==="error"?{...a,finishedStatus:r}:{...a,runningStatus:r};return {...t,nodes:t.nodes.map(c=>c.kind==="step"&&c.id===n?i:c),byStepId:{...t.byStepId,[n]:i}}}let s={kind:"status",stepId:null,message:r};return {...t,nodes:[...t.nodes,s]}}function Il(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?[...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 Nl(t){for(let e of t.nodes){if(e.kind==="step"){let n=t.byStepId[e.id];if(n&&n.type==="tool_call"&&!n.hidden)return true;continue}if(e.kind==="content"&&!(e.contentType==="tool_invocation"||e.contentType==="agent_invocation")&&(e.contentType==="tool_result"&&e.result||e.text||e.parsedContent?.length||e.result))return true}return false}function gn(t,e,n){return e.type!=="llm_call"?false:!(e.parentId===t.rootStepId)&&n.contentType==="text"}function ve(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"?El(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"||s.contentType==="tool_invocation")continue;if(s.contentType==="tool_result"){s.result&&s.result.action_type!=="bot.invoke"&&e.push({id:s.id,content_type:"tool_result",ui_content_type:s.uiContentType||"tool_result",content:s.result});continue}if(s.stepId===null){r(s);continue}let a=t.byStepId[s.stepId];if(!a){r(s);continue}o(a.id)||a.type!=="tool_call"&&(a.type==="llm_call"&&gn(t,a,s)||r(s));}return e}function El(t){return t?$(t):null}function Bl(t){return (t.status==="completed"||t.status==="error")&&t.finishedStatus?t.finishedStatus:t.runningStatus?t.runningStatus:t.name.replace(/_/g," ")}function Ol(t){return t==="running"?"loading":t==="error"?"failed":"finished"}function Io(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 Ml(t){return t==="info"?"info":t==="warning"?"warning":"standard"}function Vl(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=$(c);if(l!=null)return typeof l=="string"?$(l)??l:l}return null}function No(t,e){let n=[],o="",r=[],s=0;function a(){r.length>0&&(n.push({id:`${e}-exec-${s}`,type:"codeexec",content:r.join(`
51
+ `),wrapperType:Ml(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 Eo(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=$(r.result);if(c!=null)i=c;else {let l=Vl(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(...No(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(...No(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 $l(t,e){if(!t.rootStepId)return [];let n=[],o={},r={},s=new Set,a={},i={},c={};function l(f){return r[f]||(r[f]=[]),r[f]}function u(f){if(f)return t.byStepId[f]}function p(f){if(!f)return false;if(f in c)return c[f];let g=f,h=[],b=false;for(;g;){if(g in c){b=b||c[g];break}h.push(g);let S=u(g);if(!S)break;if(S.hidden){b=true;break}g=S.parentId;}for(let S of h)c[S]=b;return b}function d(f){return p(f.id)}for(let f of t.nodes){if(f.kind!=="content"||!f.stepId||f.contentType==="tool_invocation"||f.contentType==="tool_result"||f.contentType==="agent_invocation"||!f.text&&!f.result&&!f.parsedContent?.length)continue;let g=u(f.stepId);if(!g||d(g)||g.type==="llm_call"&&gn(t,g,f))continue;let h=f.stepId;for(;h;){i[h]=true;let b=u(h);if(!b)break;h=b.parentId;}}function m(f){return !!i[f]}function x(f){if(!f)return null;if(f in a)return a[f];let g=f;for(;g;){let h=u(g);if(!h)break;let b=g===t.rootStepId,S=h.type==="agent"&&!h.hidden&&(!b||!Io(t,h.id)),v=h.type==="tool_call"&&!h.hidden;if(S||v)return a[f]=g,g;g=h.parentId;}return a[f]=null,null}function y(f,g){if(g.length===0)return;let h=x(f);if(!h){n.push(...g);return}let b=o[h];if(!b){l(h).push(...g);return}b.children||(b.children=[]),b.children.push(...g);}function k(f,g,h){if(!h||typeof h!="object")return [];let b=h,S=typeof b.result=="object"&&b.result!==null?b.result:b,v=[];typeof S.code=="string"&&S.code.trim()&&v.push({id:`${f}-${g}-codegen`,type:"codegen",contentData:S});let T=typeof S.output=="string"?S.output.trim():"";return T&&v.push({id:`${f}-${g}-output`,type:"codeexec",content:T}),v}for(let f of t.nodes){if(f.kind==="step"){let h=t.byStepId[f.id];if(!h||h.hidden||h.type==="llm_call"||h.id===t.rootStepId&&Io(t,h.id)||s.has(h.id))continue;s.add(h.id);let b={id:h.id,type:"step",label:Bl(h),status:h.status},S=r[h.id];S&&S.length>0&&(b.children=S,delete r[h.id]),o[h.id]=b,y(h.parentId,[b]);continue}if(f.kind!=="content"||f.contentType==="tool_invocation")continue;if(f.stepId===null){n.push(...Eo([f],"root",e));continue}let g=t.byStepId[f.stepId];if(g&&!d(g)&&!(g.type==="llm_call"&&gn(t,g,f))){if(g.type==="tool_call"&&f.contentType==="tool_result"){if(m(g.id))continue;y(g.id,k(g.id,f.id,f.result));continue}y(g.id,Eo([f],g.id,e));}}return n}function To({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(B,{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(B,{content:c,className:"text-sm max-w-none"}),l&&jsx(Ce,{content:l,state:t.status==="running"?"in_progress":"completed"}),i&&jsx(xt,{language:"python",value:i,defaultOpen:false})]})}if(t.type==="codeexec"&&t.content){let i=t.wrapperType||"standard";return jsx(kt,{wrapperType:i,compact:true,children:jsx(Xt,{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(ee.Root,{open:n,onOpenChange:o,className:"w-full",children:[jsxs(ee.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(rt,{status:Ol(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(ee.Content,{children:jsx("div",{className:"ml-5 mt-1 flex flex-col gap-1",children:t.children?.map(i=>jsx(To,{node:i,ContentComponent:e},i.id))})})]})}function Do({agentState:t,ContentComponent:e,className:n}){if(!t.rootStepId)return null;let o=useMemo(()=>$l(t,e),[t,e]);return o.length===0?null:jsx("div",{className:`flex flex-col gap-1 ${n||""}`,children:o.map(r=>jsx(To,{node:r,ContentComponent:e},r.id))})}function U(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 Ll(t){return t.contents.length===0?null:t.contents[t.contents.length-1]||null}function Oo(t){return t.contents.length===0?null:t.contents[0]||null}function Ao(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 mr(t,e){let n=U(t);switch(n){case "message":return t;case "step":let o=t;if(e){let a=o.eventsByID[e]?.Message;return a||$o({},"",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 Ul(t,e){switch(U(t)){case "message_content":return t;case "output_content":return t;case "message":return le(t,e);case "output":return ce(t,e);case "step":let o=xn(t,e);return o?ce(o,e):null;default:return null}}function le(t,e){let n=U(t);switch(n){case "message_content":return t;case "message":let o=mr(t);if(!o)throw new Error("Unable to find message to add content to");return e?o.contentsByID[e]:Ll(o);default:throw new Error(`Unable to have message content on entity type ${n}`)}}function ce(t,e){let n=U(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=xn(t,e);return s?ce(s):null;case "invocation":if(!e)return null;let a=t.eventsByID[e];return !a||!a.Output?null:ce(a.Output);default:throw new Error(`Unable to have output content on entity type ${n}`)}}function fr(t,e){let n=U(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=Oo(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 xn(t,e){let n=U(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 Mo(t,e){let n=U(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 Vo(t,e){let n=U(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 dr=class extends Error{};function jl(t,e,n){let o=null,r=e[0],s=e[1];n[r]=s;try{switch(r){case "message":o=mr(t,s);break;case "content":o=le(t,s);break;case "step":o=Vo(t,s);break;case "output":o=xn(t,s);break;case "output_content":o=ce(t,s);break;case "invocation":o=fr(t,s);break;case "result_handler":o=Mo(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 dr(`Unable to find next entity for path ${e.join("/")}`);return o}function $o(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 Fl(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 Jl(t,e){let n=t.metadata.content_type||"text",o=t.metadata?.ui_content_type,r=ae(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 Gl(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 Wl(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 ql(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 Ro(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 Po(t,e,n,o=null){let r=t.metadata.content_type||"text",s=ae(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 zl(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 we(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 Lo(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 gr(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 yr(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 Hl(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 Kl(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 Ql=new Set(["=","("]);function Zl(t){if(!t||t.length===0)return true;let e=t[t.length-1];return !Ql.has(e)}function Uo(t,e){if(t.content||(t.content=""),t.user_visibility!=="visible"||!ge(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 X;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(Zl(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 X;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 Yl(t,e){return Uo(t,e)}function Bo(t,e){return Uo(t,e)}function pr(t,e){let n=U(t);switch(n){case "message":return dt(t,e);case "message_content":return hn(t,e);case "step":return tc(t,e);case "output":return ec(t,e);case "output_content":return nc(t,e);case "invocation":return Ie(t,e);case "result_handler":return rc(t,e);default:throw new Error(`Unable to add update entity for entity type ${n}`)}}function Xl(t,e){for(let n of e)t=pr(t,n);return t}function dt(t,e){let n=mr(t);if(!n)throw new Error("Unable to find message to add content to");let o=U(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=hn(n.contents[0],s),dt(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=fr(r);if(!a)throw new Error("Unable to find bot invocation to add content to");return r.botInvocation=Ie(a,e),dt(n,r);case "status":if(n.contents.length>0){let i=n.contents[0];if(i?.botInvocation){let c=hn(i,e);return dt(n,c)}}return {...n};default:throw new Error(`Unable to add update message child for child type ${o}`)}}function hn(t,e){let n=le(t);if(!n)throw new Error("Unable to find message content to add content to");let o=U(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=Ie(r,e),{...n};case "status":return n.botInvocation&&(n.botInvocation=Ie(n.botInvocation,e)),{...n};default:throw new Error(`Unable to add update message content child for child type ${o}`)}}function tc(t,e){let n=Vo(t);if(!n)throw new Error("Unable to find bot invocation to add step to");let o=U(e),r=null;switch(o){case "output":let s=e;return r=gr(s),n.eventsByID={...n.eventsByID,[s.output.id]:r},{...n};case "message":let a=e;return r=Hl(a),n.eventsByID={...n.eventsByID,[a.message.id]:r},{...n};case "status":let i=e;return r=yr(i),n.eventsByID={...n.eventsByID,[i.id]:r},{...n};case "result_handler":let c=e;return r=Kl(c),n.eventsByID={...n.eventsByID,[c.id]:r},{...n};default:throw new Error(`Unable to add update step for entity type ${o}`)}}function ec(t,e){let n=xn(t);if(!n)throw new Error("Unable to find step output to add content to");let o=U(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 nc(t,e){let n=ce(t);if(!n)throw new Error("Unable to find step output content to add content to");let o=U(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=Ie(r,e),{...n};default:throw new Error(`Unable to add update step output content for entity type ${o}`)}}function Ie(t,e){let n=fr(t);if(!n)throw new Error("Unable to find bot invocation to add content to");let o=U(e),r;switch(o){case "step":let s=e;return r=Lo(s),n.eventsByID={...n.eventsByID,[s.id]:r},{...n};case "output":let a=e;return r=gr(a),n.eventsByID={...n.eventsByID,[a.output.id]:r},{...n};case "status":let i=e;return r=yr(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 rc(t,e){let n=Mo(t);if(!n)throw new Error("Unable to find result handler to add content to");let o=U(e),r=null;switch(o){case "step":let s=e;return r=Lo(s),n.eventsByID||(n.eventsByID={}),n.eventsByID={...n.eventsByID,[s.id]:r},{...n};case "output":let a=e;return r=gr(a),n.eventsByID||(n.eventsByID={}),n.eventsByID={...n.eventsByID,[a.output.id]:r},{...n};case "status":let i=e;return r=yr(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 oc(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 kn(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]=Ao(p),null;if(n[0]!=="content"&&Object.keys(p.contentsByID).length>0&&e.metadata.message_content_id){let m=e.metadata.message_content_id,x=p.contentsByID[m];x&&(s=x);}s?a=[p]:s=p;}if(n.length<=2&&oc(t)){let p=n[1],d=[],m,x,y,k,f;switch(t){case "bot started":case "bot resumed":if(!s)throw new Error("Unable to find message to add content to");let g=zl(e);if(s._type==="message_content"){if(x=s,!x.id)throw new Error("Unable to find message content id");if(y=r[x.message_id],!y)throw new Error("Unable to find message to add content to");if(k=le(y,x.id),!k)throw new Error("Unable to find message content to add content to");let v=hn(k,g);r[x.message_id]={...dt(y,v)};}d.push(g);break;case "message created":return r[p]=$o(e,o,p),null;case "create message content":if(!s)throw new Error("Unable to find message to add content to");if(f=Fl(e,i),s._type==="output"){m=s,d.push(Ro(e,p,i,"hidden"));let v=e.payload.message_id;if(v||(v=a[0].message.id),y=r[v],!y)throw new Error("Unable to find message to add content to")}else if(s._type==="message_content"){if(m=s,y=r[m.message_id],!y)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,y=r[m.message.id],!y)throw new Error("Unable to find message to add content to");d.push(f);}r[y.message.id]={...dt(y,f)};break;case "message content result":if(!s)throw new Error("Unable to find message to add content to");let h=null;if(s._type==="output"){d.push(Po(e,p,i,"hidden"));let v=e.payload.message_id||i.message;if(v?h=a.find(T=>T.message.id===v):h=a[0],y=r[v],!y)throw new Error("Unable to find message to add content to")}else if(s._type==="message_content"){if(h=a[0],y=r[h.message.id],!y)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(h=s,y=r[h.message.id],!y)throw new Error("Unable to find message to add content to")}let b=e.metadata.message_content_id;if(!b)throw new Error("Unable to find message content id");let S=le(h,b);if(S){S.state="completed";let v=S.content_type||"text",T=pn(v,S.content,e.payload);S.content=T.content,T.parsedJson&&(S.parsedJson=T.parsedJson),r[y.message.id]={...dt(y,S)},(s._type==="message"||s._type==="message_content")&&d.push(S);}else S=Jl(e,i),r[y.message.id]={...dt(y,S)},(s._type==="message"||s._type==="message_content")&&d.push(S);break;case "step started":d.push(Gl(e,p,i));break;case "result handler started":d.push(Wl(e,p));break;case "step output created":d.push(ql(e,p,s));break;case "create step output content":d.push(Ro(e,p,i));break;case "step output content result":d.push(Po(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]:Xl(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=Ul(s);}catch{}switch(t){case "message content delta":if(!p)throw new Error("Unable to find message content");let d=null,m=null,x=null;if(s._type==="output_content"){d=Bo(s,e.payload);let g=e.metadata.message_content_id;if(!g)throw new Error("Unable to find message content id from entity ids");let h=i.message;if(x=a.find(b=>b.message.id===h),!x)throw new Error("Unable to find message to add content to");m=le(x,g);}else {if(m=p,x=a[a.length-1],!x)throw new Error("Unable to find message to add content to");if(x._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 y=r[x.message.id];if(!y)throw new Error("Unable to find message to add content to");let k=Yl(m,e.payload);return r[y.message.id]={...dt(y,k)},s._type==="message_content"&&(d=k),d;case "step output content delta":return Bo(p,e.payload);case "status":if(s._type==="step"&&(s.currentStatus=we(e)),s._type==="invocation"&&(s.currentStatus=we(e)),s._type==="message_content"){let f=s;if(f.botInvocation)return f.botInvocation.currentStatus=we(e),{...f}}if(s._type==="message"){let f=s,g=Oo(f);if(g?.botInvocation)return g.botInvocation.currentStatus=we(e),dt(f,g)}return pr(s,we(e));case "result":return null;case "message finished":if(s._type==="message"){let g=Ao(s);r[g.message.id]=g;}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=jl(s,n,i),u=kn(t,e,c,o,r,l,[...a,s],i);return u?pr(s,{...u}):s}function hr(t){if(!t.content)return null;if(typeof t.content=="object")return t.content;if(typeof t.content=="string"){let e=$(t.content);return e&&typeof e=="object"&&!Array.isArray(e)?e:null}return null}function jo(t){let e=t.content_type;if(e==="tool_result")return "result";if(e==="tool_invocation")return "invocation";let n=hr(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 Fo(t){return hr(t)?.id}function Jo(t){let e=hr(t);if(!e?.action_type)return null;let o=e.input?.query;return `${e.action_type}:${o||""}`}function Go(t){let e=t.filter(r=>jo(r)==="result"),n=new Set(e.map(r=>Fo(r)).filter(Boolean)),o=new Set(e.map(r=>Jo(r)).filter(Boolean));return t.filter(r=>{if(jo(r)==="invocation"){let s=Fo(r),a=Jo(r);if(s&&n.has(s)||a&&o.has(a))return false}return true})}function Wo(t,e,n){let o=e;for(;o;){if(o===n)return true;o=t.byStepId[o]?.parentId??null;}return false}function bn(t,e){if(!e||!t.byStepId[e])return t;let n=new Set;for(let i of t.nodes)i.kind==="step"&&Wo(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 Ne(){return createStore((t,e)=>({globalState:fn(),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&&!Wo(s,a,u)&&a)continue;let d=bn(s,u);if(!(n.type==="step_finished"||n.type==="step_started"||n.type==="status")&&p&&p.nodes.length===d.nodes.length){let x=p.nodes[p.nodes.length-1],y=d.nodes[d.nodes.length-1];if(x===y&&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=bn(r.globalState,o);t({invocationRootSteps:{...r.invocationRootSteps,[n]:o},invocationStates:{...r.invocationStates,[n]:s},pendingInvocationQueue:r.pendingInvocationQueue.filter(a=>a!==n)});},reset:()=>{t({globalState:fn(),invocationStates:{},invocationRootSteps:{},pendingInvocationQueue:[]});}}))}function lc(t){return t.split("/").filter(Boolean)}function qo(t={}){let e=Ct(),[n,o]=useState(null),[r,s]=useState(false),[a,i]=useState(null),[c,l]=useState([]),u=useRef(Ne()),p=useStore(u.current,g=>g.globalState),d=useRef(null),m=useRef(t.threadId);t.threadId!==m.current&&(m.current=t.threadId);let x=useCallback(()=>{d.current&&(d.current.abort(),d.current=null);},[]),y=useCallback(g=>{o(g),m.current=g.id;},[]),k=useCallback(async g=>{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.");x(),d.current=new AbortController,s(true),i(null),l([]),u.current.getState().reset();let h={};try{let b=m.current;if(!b){let E=await e.client.createThread();o(E),m.current=E.id,b=E.id;}for await(let E of e.client.sendMessage(b,{content:g,botKey:t.botKey})){if(d.current?.signal.aborted)break;if(t.onEvent?.(E),e.useAgentEvents)u.current.getState().pushEvent(E);else {let z=E.type||"",Q=E.metadata||{},R=lc(Q.path||""),j={payload:E.payload,metadata:{path:Q.path||"",...Q}};try{kn(z,j,R,b,h);}catch(F){console.error("Error handling SSE event:",F,z);}l(Object.values(h));}}let S=Object.values(h);l(S);let v=u.current.getState().globalState,T;v.rootStepId?T=ve(v):T=S.flatMap(E=>E.contents||[]).filter(E=>E.user_visibility==="visible").map(E=>({id:E.id,content_type:E.content_type,ui_content_type:P(E.ui_content_type),content:E.content,parsedJson:E.parsedJson,botInvocation:E.botInvocation})),t.onFinish?.(T);}catch(b){let S=b instanceof Error?b:new Error(String(b));throw i(S),t.onError?.(S),S}finally{s(false),d.current=null;}},[e.client,e.useAgentEvents,t,x]),f=useMemo(()=>{if(p.rootStepId)return ve(p);let g=c.flatMap(b=>b.contents||[]).filter(b=>b.user_visibility==="visible");return Go(g).map(b=>({id:b.id,content_type:b.content_type,ui_content_type:P(b.ui_content_type),content:b.content,parsedJson:b.parsedJson,botInvocation:b.botInvocation}))},[c,p]);return {thread:n,isStreaming:r,error:a,activeMessages:c,agentState:p,streamingContents:f,sendMessage:k,cancel:x,setThread:y,agentStreamStore:u.current}}function cc(t){return t?typeof t=="string"?t:typeof t=="object"&&t!==null&&"String"in t&&t.String||"":""}function zo(t){let e=cc(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((n==="json"||e==="json")&&t.content.trim()){let r=$(t.content);r!=null&&(o.parsedJson=[{type:"json",content:r}]);}else if(e==="ui_generation")try{o.parsedJson=ft(t.content);}catch(r){console.error("Error parsing UI generation content:",r);}}if((t.content_type==="thinking"||t.content_type==="redacted_thinking")&&typeof t.content=="string"){let r=$(t.content);r&&typeof r=="object"&&(o.content=r);}return o}function uc(t){return t.filter(e=>e.user_visibility!=="hidden").map(zo)}var Sn=createContext(null);function Ko({store:t,children:e}){return jsx(Sn.Provider,{value:t,children:e})}function Qo(){return useContext(Sn)}function Zo(t){let e=useContext(Sn);return useStore(e,n=>t?n.invocationStates[t]:void 0)}function Yo(){let t=useContext(Sn);return useStore(t,e=>e.globalState)}export{Ko as AgentStreamStoreProvider,wt as BarChart,an as BotInvocationContent,it as Chart,de as ChartContainer,Ge as ChartContent,Tn as ChartLegend,Dn as ChartLegendContent,qn as ChartNode,wr as ChartStyle,Nn as ChartTooltip,En as ChartTooltipContent,sn as CodeexecContent,rn as CodegenContent,xt as CollapsibleCodeBlock,Mt as Content,Me as DatasetChart,Kt as DatasetDownload,Ve as DatasetTable,Kn as DownloadButtonNode,Sr as ErdoProvider,dl as ErdoUI,St as ErrorBoundary,Ln as ExecutionStatus,kt as ExpandableOutputContent,Zn as FileDownloadsNode,Gt as HeatmapChart,Fe as InvocationEvent,Tt as InvocationEvents,qr as InvocationStatus,X as JSONStreamParser,zt as JsonContent,jt as LineChart,_o as Loader,Xn as Log,Ke as LogContent,B as MarkdownContent,un as MemoryContent,$e as Output,Ft as PieChart,Jt as ScatterChart,Xe as SqlContent,rt as StatusSpinner,te as StderrText,Xt as StdoutText,en as StdwarnText,je as StepInvocation,Ue as StepInvocationStatus,Do as StepTreeContent,Qn as SuggestionsNode,We as TableContent,zn as TableNode,ye as TextContent,Hn as TextMarkdownNode,He as ThinkingContent,ne as ToolGroupContent,qe as UIGenerationNodes,Ze as WebParseContent,Qe as WebSearchContent,ar as WritingLoader,ve as agentStateToContents,K as cn,wo as completeStreamingContent,Ne as createAgentStreamStore,fn as createInitialAgentState,vo as extractContentItems,at as formatValue,ur as handleAgentEvent,ir as handleIncrementalMixedJsonParsing,kn as handleSSEEvent,Nl as hasRenderableAssistantOutput,ge as isJsonLike,Ur as isNullString,Ta as isParsingComplete,he as isParsingInProgress,Dt as isWhitespaceChar,Yn as nodeComponents,zo as normalizeContent,uc as normalizeContents,Se as normalizeUIGenerationChunks,Jn as normalizeUINodes,$ as parseCompleteJson,ft as parseMixedJson,Ir as parseToDate,qt as resolveKeyFromData,bn as sliceAgentStateToRoot,Mr as toSnakeCase,P as unwrapNullString,ra as unwrapNullStringOr,Yo as useAgentStreamGlobalState,Qo as useAgentStreamStoreOptional,Ae as useChartZoom,Pe as useDatasetContents,Ct as useErdoConfig,q as useErdoConfigOptional,Zo as useInvocationState,Or as useMultipleDatasetContents,me as useMultipleDatasetRequests,qo as useThread};