@erdoai/ui 0.1.107 → 0.1.109
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/iframe.global.js +18 -60
- package/dist/index.cjs +3 -3
- package/dist/index.js +3 -3
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -4,7 +4,7 @@ ${n.map(([s,a])=>{let i=a.theme?.[o]||a.color;return i?` --color-${s}: ${i};`:n
|
|
|
4
4
|
`)}
|
|
5
5
|
}
|
|
6
6
|
`).join(`
|
|
7
|
-
`)}}):null},Vn=qt__namespace.Tooltip;function Ln({active:t,payload:e,className:n,indicator:o="dot",hideLabel:r=false,hideIndicator:s=false,label:a,labelFormatter:i,labelClassName:c,formatter:l,color:u,nameKey:d,labelKey:p}){let{config:m}=Vr(),g=kt__namespace.useMemo(()=>{if(r||!e?.length)return null;let[h]=e,b=`${p||h?.dataKey||h?.name||"value"}`,x=Mn(m,h,b),y=!p&&typeof a=="string"?m[a]?.label||a:x?.label;return i?jsxRuntime.jsx("div",{className:X("font-medium",c),children:i(y,e)}):y?jsxRuntime.jsx("div",{className:X("font-medium",c),children:y}):null},[a,i,e,r,c,m,p]);if(!t||!e?.length)return null;let f=e.length===1&&o!=="dot";return jsxRuntime.jsxs("div",{className:X("border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl",n),children:[f?null:g,jsxRuntime.jsx("div",{className:"grid gap-1.5",children:e.map((h,b)=>{let x=`${d||h.name||h.dataKey||"value"}`,y=Mn(m,h,x),k=u||h.payload.fill||h.color;return jsxRuntime.jsx("div",{className:X("[&>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&&h?.value!==void 0&&h.name?l(h.value,h.name,h,b,h.payload):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[y?.icon?jsxRuntime.jsx(y.icon,{}):!s&&jsxRuntime.jsx("div",{className:X("shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)",{"h-2.5 w-2.5":o==="dot","w-1":o==="line","w-0 border-[1.5px] border-dashed bg-transparent":o==="dashed","my-0.5":f&&o==="dashed"}),style:{"--color-bg":k,"--color-border":k}}),jsxRuntime.jsxs("div",{className:X("flex flex-1 justify-between leading-none",f?"items-end":"items-center"),children:[jsxRuntime.jsxs("div",{className:"grid gap-1.5",children:[f?g:null,jsxRuntime.jsx("span",{className:"text-muted-foreground",children:y?.label||h.name})]}),h.value&&jsxRuntime.jsx("span",{className:"text-foreground font-mono font-medium tabular-nums",children:h.value.toLocaleString()})]})]})},h.dataKey)})})]})}var $n=qt__namespace.Legend;function jn({className:t,hideIcon:e=false,payload:n,verticalAlign:o="bottom",nameKey:r}){let{config:s}=Vr();return n?.length?jsxRuntime.jsx("div",{className:X("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=Mn(s,a,i);return jsxRuntime.jsxs("div",{className:X("[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3"),children:[c?.icon&&!e?jsxRuntime.jsx(c.icon,{}):jsxRuntime.jsx("div",{className:"h-2 w-2 shrink-0 rounded-[2px]",style:{backgroundColor:a.color}}),c?.label]},a.value)})}):null}function Mn(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 Ve({onZoomChange:t}={}){let[e,n]=kt.useState({refAreaLeft:null,refAreaRight:null,refAreaTop:null,refAreaBottom:null,zooming:false}),[o,r]=kt.useState({x:[null,null],y:[null,null]}),s=kt.useCallback(u=>{!u?.xValue||!u?.yValue||n(d=>({...d,refAreaLeft:u.xValue,refAreaTop:u.yValue,zooming:true}));},[]),a=kt.useCallback(u=>{!u?.xValue||!u?.yValue||!e.zooming||n(d=>({...d,refAreaRight:u.xValue,refAreaBottom:u.yValue}));},[e.zooming]),i=kt.useCallback(()=>{if(!e.refAreaLeft||!e.refAreaRight||!e.refAreaTop||!e.refAreaBottom){n({refAreaLeft:null,refAreaRight:null,refAreaTop:null,refAreaBottom:null,zooming:false});return}let[u,d]=[Math.min(e.refAreaLeft,e.refAreaRight),Math.max(e.refAreaLeft,e.refAreaRight)],[p,m]=[Math.min(e.refAreaTop,e.refAreaBottom),Math.max(e.refAreaTop,e.refAreaBottom)],g={x:[u,d],y:[p,m]};r(g),t?.(g),n({refAreaLeft:null,refAreaRight:null,refAreaTop:null,refAreaBottom:null,zooming:false});},[e,t]),c=kt.useCallback(()=>{let u={x:[null,null],y:[null,null]};r(u),t?.(u);},[t]),l=kt.useMemo(()=>({onZoomStart:s,onZoomMove:a,onZoomEnd:i,onResetZoom:c}),[s,a,i,c]);return {zoomState:e,customDomain:o,handlers:l}}function Ur(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 _t(t,e,n){return et(t,e,n)}function Os({title:t,subtitle:e,data:n,displayConfig:o,dataConfig:r,ChartComponent:s,PointComponent:a,disableAnimation:i,onZoomChange:c,stacked:l,enableDownload:u=true,onDownloadSuccess:d,onDownloadError:p,className:m,chartContainerClassName:g,downloadButtonClassName:f,resetZoomButtonClassName:h}){let{zoomState:b,customDomain:x,handlers:y}=Ve({onZoomChange:c}),k=kt.useCallback(C=>{let N=`${(t||"chart").toLowerCase().replace(/\s+/g,"-")}.png`,D=document.createElement("a");D.download=N,D.href=C,D.click(),d?.(N);},[t,d]),S=kt.useCallback(C=>{console.error("Error converting chart to image:",C),p?.(C);},[p]),[{isLoading:_},v,I]=reactToImage.useToPng({onSuccess:k,onError:S}),U=kt.useCallback(async()=>{v();},[v]),tt=kt.useMemo(()=>Ur(r.xAxis),[r.xAxis]),O=kt.useMemo(()=>r.yAxes.map(C=>Ur(C)),[r.yAxes]),H=kt.useMemo(()=>n?r.chartType==="histogram"?n.map(C=>({[r.xAxis.key]:(C.binStart+C.binEnd)/2,frequency:C.frequency,binStart:C.binStart,binEnd:C.binEnd})):r.xAxis.type==="number"?n.filter(C=>!isNaN(C[r.xAxis.key])):r.xAxis.type==="date"?n.filter(C=>!isNaN(C[r.xAxis.key])):n:[],[n,r.xAxis.key,r.chartType,r.xAxis.type]),G=kt.useMemo(()=>{if(r.xAxis.type==="category"||!H.length)return;let C=H.map(D=>Number(D[r.xAxis.key])).filter(D=>!isNaN(D)),N=[...new Set(C)].sort((D,A)=>D-A);if(!(r.chartType==="scatter"||N.length>20))return N},[H,r.xAxis.key,r.xAxis.type,r.chartType]),Rn=kt.useMemo(()=>{if(!G||G.length<2)return;let N=(G[G.length-1]-G[0])*.05;return [G[0]-N,G[G.length-1]+N]},[G]),w=kt.useCallback((C,N)=>{if(!C?.length)return {min:null,max:null};let D=C.map(A=>Number(A[N])).filter(A=>!isNaN(A));return {min:Math.min(...D),max:Math.max(...D)}},[]),E=kt.useMemo(()=>({x:x.x[0]!==null&&x.x[1]!==null?[x.x[0],x.x[1]]:(()=>{if(tt.min!==null&&tt.max!==null)return [tt.min,tt.max];let C=w(H,r.xAxis.key);return [C.min??"auto",C.max??"auto"]})(),y:r.yAxes.map((C,N)=>{if(x.y[0]!==null&&x.y[1]!==null)return [x.y[0],x.y[1]];let A=r.series.filter(K=>(K.axisIndex||0)===N).reduce((K,xe)=>{let Y=w(H,xe.key);return {min:K.min===null?Y.min:Y.min===null?K.min:Math.min(K.min,Y.min),max:K.max===null?Y.max:Y.max===null?K.max:Math.max(K.max,Y.max)}},{min:null,max:null});if(C.type==="number"&&C.maxValue){let K=parseFloat(C.maxValue);if(A.max===null||K<=A.max*1.5)return [O[N].min??A.min??"auto",O[N].max??A.max??"auto"]}return [O[N].min??A.min??"auto",O[N].max??A.max??"auto"]})}),[x.x,x.y,tt,O,r.series,r.yAxes,r.xAxis.key,H,w]),V=kt.useCallback((C,N,D)=>{if(D.dataKey===r.xAxis.key)return _t(C,r.xAxis.format,r.xAxis.type);let A=r.series.find(ke=>ke.key===D.dataKey),K=A?.name||String(N).replace(/^dataset_\d+_/,"");if(r.chartType==="histogram"){let ke=D.payload;if(ke.binStart!==void 0){let fs=_t(ke.binStart,r.xAxis.format,r.xAxis.type),gs=_t(ke.binEnd,r.xAxis.format,r.xAxis.type);return `Count: ${C} (${fs} - ${gs})`}}let xe=A?.axisIndex||0,Y=r.yAxes[xe],An=_t(C,Y?.format,Y?.type);return `${K}: ${An}`},[r.xAxis,r.series,r.yAxes,r.chartType]),[Z,F]=kt.useState(false);kt.useEffect(()=>{let C=setTimeout(()=>{F(true);},1700);return ()=>clearTimeout(C)},[]);let W=kt.useCallback((C,N)=>{if(N&&N.length>0){let D=N[0].payload[r.xAxis.key],A=_t(D,r.xAxis.format,r.xAxis.type);return jsxRuntime.jsxs("div",{className:"flex flex-col",children:[jsxRuntime.jsx("span",{children:r.xAxis.label}),jsxRuntime.jsx("span",{className:"font-mono tabular-nums",children:A})]})}return C},[r.xAxis.key,r.xAxis.format,r.xAxis.type,r.xAxis.label]),Ut=kt.useCallback(C=>jsxRuntime.jsx(Ln,{...C,formatter:V,labelFormatter:W}),[V,W]),Oe=kt.useCallback(C=>jsxRuntime.jsx(jn,{...C}),[]),Nt=kt.useMemo(()=>{let C=H.length,N=C>30?8:C>20?12:C>10?16:20,D=0;for(let xe of H){let Y=_t(xe[r.xAxis.key],r.xAxis.format,r.xAxis.type),An=typeof Y=="string"?Y:String(Y??"");D=Math.max(D,Math.min(An.length,N));}let A=D*7*C>500,K=A?Math.min(Math.max(40,D*5.5+20),140):50;return {maxLabelLen:N,shouldAngle:A,height:K}},[H,r.xAxis.key,r.xAxis.format,r.xAxis.type]),ot=kt.useMemo(()=>!!(i||(n?.length||0)>100||Z),[i,n?.length,Z]);return jsxRuntime.jsxs("div",{className:m||"w-full items-center mt-0 flex flex-col gap-0",children:[(t||u)&&jsxRuntime.jsxs("div",{className:"w-full items-center mb-2 relative",children:[t&&jsxRuntime.jsx("h2",{className:"text-center text-base pt-0 mt-0 mb-2",children:t}),u&&jsxRuntime.jsx("button",{onClick:U,disabled:_,className:f||"text-sm text-gray-500 hover:text-gray-700 disabled:opacity-50 h-8 absolute right-0 top-[-5px] px-2 py-1 border rounded hover:bg-gray-50",title:"Download chart as PNG",children:jsxRuntime.jsx(lucideReact.Download,{className:"w-4 h-4"})})]}),e&&jsxRuntime.jsx("p",{className:"text-center text-sm text-muted-foreground mb-2",children:e}),jsxRuntime.jsx(Se,{ref:I,config:o,className:g||"w-full border border-border/50 p-4 rounded-md",debounceResize:true,children:jsxRuntime.jsxs(s,{accessibilityLayer:true,data:H,isAnimationActive:!ot,onMouseDown:y.onZoomStart,onMouseMove:y.onZoomMove,onMouseUp:y.onZoomEnd,onDoubleClick:y.onResetZoom,style:{userSelect:"none",cursor:"crosshair"},children:[jsxRuntime.jsx(qt.CartesianGrid,{vertical:false}),jsxRuntime.jsx(qt.XAxis,{dataKey:r.xAxis.key,domain:Rn||E.x,type:r.xAxis.type==="date"||!r.xAxis.type?"number":r.xAxis.type,tickFormatter:C=>{let N=_t(C,r.xAxis.format,r.xAxis.type),D=typeof N=="string"?N:String(N??"");return D.length>Nt.maxLabelLen?D.slice(0,Nt.maxLabelLen)+"\u2026":D},tickLine:false,tickMargin:10,height:Nt.height,axisLine:false,allowDataOverflow:true,interval:"preserveStartEnd",ticks:G,...Nt.shouldAngle?{angle:-45,textAnchor:"end"}:{},children:jsxRuntime.jsx(qt.Label,{value:r.xAxis.label,position:"bottom",offset:Nt.shouldAngle?-5:-10,style:{textAnchor:"middle"}})}),r.yAxes.map((C,N)=>jsxRuntime.jsx(qt.YAxis,{yAxisId:N,orientation:N===0?"left":"right",domain:l?void 0:E.y[N],type:C.type==="date"||!C.type?"number":C.type,tickFormatter:D=>{let A=_t(D,C.format,C.type);return typeof A=="string"&&A.length>20?A.slice(0,20)+"...":A},allowDataOverflow:true,children:jsxRuntime.jsx(qt.Label,{value:C.label,position:N===0?"insideLeft":"insideRight",angle:-90,dx:N===0?-15:15,style:{textAnchor:"middle"}})},`y-axis-${C.key}`)),jsxRuntime.jsx(Vn,{content:Ut}),jsxRuntime.jsx($n,{content:Oe,verticalAlign:"top"}),r.series.map(C=>jsxRuntime.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:!ot,animationDuration:1500,animationBegin:0,stackId:r.chartType==="bar"&&l?"stack":void 0},`${C.key}-${l?"stacked":"unstacked"}`)),b.refAreaLeft&&b.refAreaRight&&b.refAreaTop&&b.refAreaBottom&&jsxRuntime.jsx(qt.ReferenceArea,{x1:b.refAreaLeft,x2:b.refAreaRight,y1:b.refAreaTop,y2:b.refAreaBottom,strokeOpacity:.2,stroke:"currentColor",fill:"currentColor",fillOpacity:.02,style:{pointerEvents:"none"}})]})}),x.x[0]!==null&&jsxRuntime.jsx("button",{onClick:y.onResetZoom,className:h||"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 ut(t){return jsxRuntime.jsx(Et,{fallback:jsxRuntime.jsx("div",{className:t.errorClassName||"text-red-500",children:"Failed to load chart"}),children:jsxRuntime.jsx(Os,{...t})})}function Dt(t){return jsxRuntime.jsx(ut,{...t,ChartComponent:qt.BarChart,PointComponent:qt.Bar})}function zt(t){return jsxRuntime.jsx(ut,{...t,ChartComponent:qt.LineChart,PointComponent:qt.Line})}var Hs=(t,e,n)=>{let o=parseInt(t.slice(1,3),16)/255,r=parseInt(t.slice(3,5),16)/255,s=parseInt(t.slice(5,7),16)/255,a=Math.max(o,r,s),i=Math.min(o,r,s),c,l,u=(a+i)/2;if(a===i)c=l=0;else {let f=a-i;switch(l=u>.5?f/(2-a-i):f/(a+i),a){case o:c=(r-s)/f+(r<s?6:0);break;case r:c=(s-o)/f+2;break;case s:c=(o-r)/f+4;break;default:c=0;}c/=6;}let d=e/n,p=c*360+(d*40-20),m=Math.min(100,l*100+d*25),g=Math.max(35,Math.min(65,u*100-d*20));return `hsl(${p}, ${m}%, ${g}%)`};function Ks({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=kt.useMemo(()=>n.reduce((d,p)=>(r.series.forEach(m=>{let g=m.key,f=String(p[r.xAxis.key]||"Unknown"),h=parseFloat(p[g]||"0");isNaN(h)||d.push({name:f,value:h,seriesId:g,displayName:f});}),d),[]).sort((d,p)=>p.value-d.value),[n,r.series,r.xAxis.key]);return jsxRuntime.jsxs("div",{className:s||"items-center",children:[jsxRuntime.jsx("h2",{className:"text-center text-base mb-2",children:t}),e&&jsxRuntime.jsx("p",{className:"text-center text-sm text-muted-foreground mb-2",children:e}),jsxRuntime.jsx(Se,{config:o,className:a||"w-full border border-border/50 rounded-md",children:jsxRuntime.jsxs(qt.PieChart,{width:400,height:400,children:[jsxRuntime.jsx(qt.Pie,{data:u,dataKey:"value",nameKey:"displayName",cx:"50%",cy:"50%",outerRadius:150,label:d=>`${d.displayName}: ${et(d.value,c,l)}`,children:u.map((d,p)=>jsxRuntime.jsx(qt.Cell,{fill:p===0?i:Hs(i,p,u.length)},`cell-${d.name}`))}),jsxRuntime.jsx(qt.Tooltip,{formatter:(d,p)=>[et(d,c,l),p]}),jsxRuntime.jsx(qt.Legend,{})]})})]})}function Ht(t){return jsxRuntime.jsx(Et,{fallback:jsxRuntime.jsx("div",{className:"text-red-500",children:"Failed to load chart"}),children:jsxRuntime.jsx(Ks,{...t})})}function Kt(t){return jsxRuntime.jsx(ut,{...t,ChartComponent:qt.ScatterChart,PointComponent:qt.Scatter})}var ea=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 jsxRuntime.jsx("rect",{x:e-l/2,y:n-u/2,width:l,height:u,fill:c,fillOpacity:.8,stroke:"#fff",strokeWidth:1})},na=t=>jsxRuntime.jsx(qt.Scatter,{...t,shape:ea});function Qt(t){return jsxRuntime.jsx(ut,{...t,ChartComponent:qt.ScatterChart,PointComponent:na})}function Jr(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=Jr(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 ua(){return ["yyyy-MM-dd","yyyyMMdd","yyyy-MM-dd'T'HH:mm:ss","yyyyMMddHHmmss"]}function da(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(dateFns.isValid(r))return r.getTime()}let o=ua();for(let r of o){let s=dateFns.parse(t,r,new Date);if(dateFns.isValid(s))return s.getTime()}}let e=new Date(t);return dateFns.isValid(e)?e.getTime():null}function je(t,e,n,o){let r=e==="index"&&t[e]===void 0?o:t[e];return n==="date"?da(r):n==="number"?parseFloat(r):r}function pa(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 Yt(t,e,n,o){return !o||o.length===0?t:[...t].sort((r,s)=>{for(let a of o){let i=pa(a.key,e,n),c=je(r,a.key,i,r.index),l=je(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 Gr(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 ma(t,e,n,o,r,s,a){let i=t.reduce((u,d)=>{let p=d[e];return u[p]||(u[p]=[]),u[p].push(d),u},{}),c=Object.entries(i);if(c.length>o){let u=Math.ceil(c.length/o),d=c.reduce((p,[m,g],f)=>{let h=Math.floor(f/u);return p[h]||(p[h]={key:m,items:[]}),p[h].items.push(...g),p},[]).map(({key:p,items:m})=>({[e]:p,...n.reduce((g,f)=>{let h=m.map(b=>parseFloat(b[f.key])).filter(b=>!isNaN(b));return g[f.key]=h.length?h.reduce((b,x)=>b+x,0)/h.length:null,g},{})}));return a&&a.length>0?Yt(d,r,s,a):d}let l=c.map(([u,d])=>{let p=n.reduce((g,f)=>{let h=d.map(b=>parseFloat(b[f.key])).filter(b=>!isNaN(b));return g[f.key]=h.length?h.reduce((b,x)=>b+x,0)/h.length:null,g},{}),m=Object.values(p).filter(g=>g!==null).reduce((g,f)=>g+f,0);return {[e]:u,...p,index:m}});return a&&a.length>0?Yt(l,r,s,a):l}function fa(t,e,n,o){let r=t.map(l=>parseFloat(l[e])).filter(l=>!isNaN(l)),s=Math.min(...r),i=(Math.max(...r)-s)/o,c=Array.from({length:o},(l,u)=>({binStart:s+u*i,binEnd:s+(u+1)*i,count:0,seriesValues:n.reduce((d,p)=>(d[p.key]=[],d),{})}));return t.forEach(l=>{let u=parseFloat(l[e]);if(isNaN(u))return;let d=Math.min(Math.floor((u-s)/i),o-1);c[d].count++,n.forEach(p=>{let m=parseFloat(l[p.key]);isNaN(m)||c[d].seriesValues[p.key].push(m);});}),c.map(l=>({[e]:(l.binStart+l.binEnd)/2,...n.reduce((u,d)=>{let p=l.seriesValues[d.key];return u[d.key]=p.length?p.reduce((m,g)=>m+g,0)/p.length:null,u},{}),count:l.count,index:n.reduce((u,d)=>{let p=l.seriesValues[d.key],m=p.length?p.reduce((g,f)=>g+f,0)/p.length:0;return u+m},0)})).filter(l=>n.some(u=>l[u.key]!==null))}function Wr(t,e,n,o,r){let s=t.map((m,g)=>{let f=je(m,e,r.type||"number",g);return typeof f=="number"?f:parseFloat(f)}).filter(m=>!isNaN(m)),a=Math.min(...s),l=(Math.max(...s)-a)/o,u=Array.from({length:o},(m,g)=>({binStart:Number((a+g*l).toFixed(2)),binEnd:Number((a+(g+1)*l).toFixed(2)),frequency:0,[e]:Number((a+(g+.5)*l).toFixed(2))}));s.forEach(m=>{let g=Math.min(Math.floor((m-a)/l),o-1);u[g].frequency++;});let d=u.filter(m=>m.frequency>0);return (u.length-d.length)/u.length*100>30?Wr(t,e,n,Math.floor(o/2),r):d}function ga(t,e,n,o){return !e||e.length===0?t:t.filter(r=>e.every(s=>{let a=s.key;n&&s.key.toLowerCase()===n.toLowerCase()?a=n:o&&s.key.toLowerCase()===o.toLowerCase()&&(a=o);let i=r[a],c=Array.isArray(s.value)?s.value:[s.value];switch(s.operator){case "equals":return c.some(l=>String(i)===String(l));case "not_equals":return c.every(l=>String(i)!==String(l));case "greater_than":return parseFloat(String(i))>parseFloat(String(c[0]));case "less_than":return parseFloat(String(i))<parseFloat(String(c[0]));case "contains":return String(i).toLowerCase().includes(String(c[0]).toLowerCase());case "between":if(c.length===2){let l=parseFloat(String(i)),u=parseFloat(String(c[0])),d=parseFloat(String(c[1]));return l>=u&&l<=d}return true;default:return true}}))}var Ue=kt__namespace.default.memo(function({chartType:e,title:n,invocationId:o,datasetSlugs:r,xAxis:s,yAxes:a,series:i,dataReduction:c={strategy:"none",target_points:1e3},stacked:l,sort:u,onScrollUpdate:d,enableDownload:p=true,className:m,chartContainerClassName:g}){let f=kt.useMemo(()=>i.map(w=>({datasetSlug:w.datasetSlug,sqlQuery:w.sqlQuery,resourceKey:w.resourceKey,filters:!w.sqlQuery&&w.filters?.length?w.filters:void 0})),[i]),h=be(f,o),b=h.some(w=>w.isLoading),x=useDeepCompare.useDeepCompareMemo(()=>h.map(w=>w.data||[]),[h.map(w=>w.data)]),{resolvedXAxisKey:y,resolvedSeriesKeys:k}=kt.useMemo(()=>{let w=x.find(E=>E.length>0)||[];return {resolvedXAxisKey:Zt(w,s.key),resolvedSeriesKeys:i.map((E,V)=>({...E,resolvedKey:Zt(x[V]||[],E.key)}))}},[x,s.key,i]),S=kt.useMemo(()=>{let w=new Map;i.forEach((V,Z)=>{let F=x[Z]||[],W=k[Z]?.resolvedKey||V.key;(V.filters?ga(F,V.filters,W,y):F).forEach((Oe,Nt)=>{let ot=je(Oe,y,s.type||"category",Nt);if(ot==null||s.type==="number"&&isNaN(ot))return;let C=s.type==="number"||s.type==="date"||typeof ot=="object"?ot.toString():String(ot);w.has(C)||w.set(C,{[s.key]:ot});let N=`series_${Z}_${V.key}`,D=Oe[W];w.get(C)[N]=D;});});let E=Array.from(w.values());return u&&u.length>0?E:s.type==="date"?E.sort((V,Z)=>V[s.key]-Z[s.key]):s.type==="number"?E.sort((V,Z)=>{let F=parseFloat(V[s.key]),W=parseFloat(Z[s.key]);return isNaN(F)||isNaN(W)?0:F-W}):E},[x,i,k,y,s,u]),_=kt.useMemo(()=>i.map((w,E)=>({...w,key:`series_${E}_${w.key}`})),[i]),v=kt.useMemo(()=>({[s.key]:{label:s.label,format:s.format,type:s.type},..._.reduce((w,E)=>(w[E.key]={label:E.name,color:E.color},w),{}),...e==="histogram"?{frequency:{label:a[0]?.label||"Frequency",color:_[0]?.color||"#2563eb"}}:{}}),[s,_,e,a]),I=kt.useMemo(()=>!s.key||!_.length?null:{chartType:e,xAxis:s,yAxes:e==="histogram"?a.map(w=>({...w,key:"frequency",minValue:w.minValue||"0"})):a,series:e==="histogram"?[{key:"frequency",name:a[0]?.label||"Frequency",color:i[0]?.color||"#2563eb"}]:_},[s,a,i,_,e]),U=null;switch(e){case "bar":U=Dt;break;case "line":U=zt;break;case "pie":U=Ht;break;case "scatter":U=Kt;break;case "histogram":U=Dt;break;case "heatmap":U=Qt;break}let tt=kt.useRef(false);kt.useEffect(()=>{tt.current||!d||!b&&v&&I&&S.length&&(d(),setTimeout(()=>d(),250),tt.current=true);},[d,b,v,I,S.length]);let[O,H]=kt.useState({x:[null,null],y:[null,null]}),{processedData:G,dataReductionInfo:Rn}=kt.useMemo(()=>{if(b||!S.length)return {processedData:[],dataReductionInfo:null};if(e==="histogram"){let F=c.target_points||20;return {processedData:Wr(S,y,_,F,s),dataReductionInfo:null}}let w=S;if((O.x[0]!==null||O.y[0]!==null)&&(w=S.filter(F=>{if(O.x[0]!==null&&O.x[1]!==null){let W=parseFloat(F[s.key]);if(isNaN(W)||W<O.x[0]||W>O.x[1])return false}if(O.y[0]!==null&&O.y[1]!==null)for(let W of _){let Ut=parseFloat(F[W.key]);if(!isNaN(Ut)&&(Ut<O.y[0]||Ut>O.y[1]))return false}return true})),c.strategy==="none"||!c.target_points||w.length<=c.target_points&&(!u||u.length===0)){let F=w;return u&&u.length>0&&(F=Yt(F,s,a,u)),{processedData:F,dataReductionInfo:null}}let E,V="";switch(c.strategy){case "sample":E=Gr(w,c.target_points),V="sampled",u&&u.length>0&&(E=Yt(E,s,a,u));break;case "aggregate":E=ma(w,y,_,c.target_points,s,a,u),V="aggregated";break;case "bin":E=fa(w,y,_,c.target_points),V="binning",u&&u.length>0&&(E=Yt(E,s,a,u));break;default:w.length<1e3?E=w:(E=Gr(w,c.target_points),V="sampled"),u&&u.length>0&&(E=Yt(E,s,a,u));}let Z=null;return w.length!==E.length&&(Z=`${V} ${w.length.toLocaleString()} \u2192 ${E.length.toLocaleString()} points`),{processedData:E,dataReductionInfo:Z}},[S,c,e,b,O.x,O.y,_,u,s,a,y]);return U?b?jsxRuntime.jsx("div",{children:"Loading..."}):S.length?I?jsxRuntime.jsx(U,{data:G,displayConfig:v,stacked:l,dataConfig:I,title:n,subtitle:Rn||void 0,disableAnimation:G.length>100,onZoomChange:H,enableDownload:p,className:m,chartContainerClassName:g}):jsxRuntime.jsx("div",{children:"Invalid chart configuration"}):jsxRuntime.jsx("div",{children:"Unable to display chart - no data available"}):(console.error("No chart component found"),null)},(t,e)=>ra__default.default(t,e));function Fe({title:t,invocationId:e,datasetSlug:n,sqlQuery:o,resourceKey:r,columns:s,maxRows:a=100,className:i,tableWrapperClassName:c,headerClassName:l,loadingClassName:u,emptyClassName:d,onScrollUpdate:p}){let{data:m,isLoading:g}=Gt(n,e,o,r),f=kt.useMemo(()=>s?m?.length?s.map(x=>{let y=Zt(m,x.key);return {key:x.key,name:x.name,resolvedKey:y,format:x.format,value_type:x.value_type}}):[]:m?.length?Object.keys(m[0]).map(x=>({key:x,name:x,resolvedKey:x,format:void 0,value_type:void 0})):[],[s,m]),h=kt.useMemo(()=>!m||m.length===0?[]:a?m.slice(0,a):m,[m,a]),b=kt.useRef(false);return kt.useEffect(()=>{b.current||!p||!g&&m?.length&&(p(),setTimeout(()=>p(),250),b.current=true);},[p,g,m?.length]),g?jsxRuntime.jsx("div",{className:u||"text-gray-500",children:"Loading..."}):m?.length?f.length===0?jsxRuntime.jsx("div",{className:d||"text-gray-500",children:"No columns defined"}):jsxRuntime.jsxs("div",{className:i||"w-full",children:[t&&jsxRuntime.jsx("h3",{className:"text-lg font-medium mb-3",children:t}),jsxRuntime.jsx("div",{className:c||"relative w-full overflow-x-auto rounded-lg border border-border/50",children:jsxRuntime.jsxs("table",{className:"w-full caption-bottom text-sm",children:[jsxRuntime.jsx("thead",{className:"[&_tr]:border-b",children:jsxRuntime.jsx("tr",{className:l||"border-b transition-colors",children:f.map(x=>jsxRuntime.jsx("th",{className:"h-10 px-3 text-left align-middle font-medium text-muted-foreground",children:x.name},x.key))})}),jsxRuntime.jsx("tbody",{className:"[&_tr:last-child]:border-0",children:h.map((x,y)=>jsxRuntime.jsx("tr",{className:`border-b transition-colors hover:bg-muted/50 ${y%2===1?"bg-muted/30":""}`,children:f.map(k=>jsxRuntime.jsx("td",{className:"p-3 align-middle text-foreground",children:et(x[k.resolvedKey],k.format,k.value_type)},k.key))},y))})]})}),m.length>a&&jsxRuntime.jsxs("p",{className:"text-sm text-muted-foreground mt-2",children:["Showing ",a," of ",m.length," rows"]})]}):jsxRuntime.jsx("div",{className:d||"text-gray-500",children:"No data"})}function Je({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?jsxRuntime.jsx("div",{children:s.map(a=>o?jsxRuntime.jsx(o,{content:a},a.id):jsxRuntime.jsx("div",{className:"text-sm",children:typeof a.content=="string"?a.content:null},a.id))},t.output.id):null}function zr(t){return t!==null&&typeof t=="object"&&"Valid"in t&&"String"in t}function M(t){if(typeof t=="string")return t;if(zr(t))return t.Valid?t.String:void 0}function xa(t,e){return M(t)??e}var Hr={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},Vn=qt__namespace.Tooltip;function Ln({active:t,payload:e,className:n,indicator:o="dot",hideLabel:r=false,hideIndicator:s=false,label:a,labelFormatter:i,labelClassName:c,formatter:l,color:u,nameKey:d,labelKey:p}){let{config:m}=Vr(),g=kt__namespace.useMemo(()=>{if(r||!e?.length)return null;let[h]=e,b=`${p||h?.dataKey||h?.name||"value"}`,x=Mn(m,h,b),y=!p&&typeof a=="string"?m[a]?.label||a:x?.label;return i?jsxRuntime.jsx("div",{className:X("font-medium",c),children:i(y,e)}):y?jsxRuntime.jsx("div",{className:X("font-medium",c),children:y}):null},[a,i,e,r,c,m,p]);if(!t||!e?.length)return null;let f=e.length===1&&o!=="dot";return jsxRuntime.jsxs("div",{className:X("border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl",n),children:[f?null:g,jsxRuntime.jsx("div",{className:"grid gap-1.5",children:e.map((h,b)=>{let x=`${d||h.name||h.dataKey||"value"}`,y=Mn(m,h,x),k=u||h.payload.fill||h.color;return jsxRuntime.jsx("div",{className:X("[&>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&&h?.value!==void 0&&h.name?l(h.value,h.name,h,b,h.payload):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[y?.icon?jsxRuntime.jsx(y.icon,{}):!s&&jsxRuntime.jsx("div",{className:X("shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)",{"h-2.5 w-2.5":o==="dot","w-1":o==="line","w-0 border-[1.5px] border-dashed bg-transparent":o==="dashed","my-0.5":f&&o==="dashed"}),style:{"--color-bg":k,"--color-border":k}}),jsxRuntime.jsxs("div",{className:X("flex flex-1 justify-between leading-none",f?"items-end":"items-center"),children:[jsxRuntime.jsxs("div",{className:"grid gap-1.5",children:[f?g:null,jsxRuntime.jsx("span",{className:"text-muted-foreground",children:y?.label||h.name})]}),h.value&&jsxRuntime.jsx("span",{className:"text-foreground font-mono font-medium tabular-nums",children:h.value.toLocaleString()})]})]})},h.dataKey)})})]})}var $n=qt__namespace.Legend;function jn({className:t,hideIcon:e=false,payload:n,verticalAlign:o="bottom",nameKey:r}){let{config:s}=Vr();return n?.length?jsxRuntime.jsx("div",{className:X("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=Mn(s,a,i);return jsxRuntime.jsxs("div",{className:X("[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3"),children:[c?.icon&&!e?jsxRuntime.jsx(c.icon,{}):jsxRuntime.jsx("div",{className:"h-2 w-2 shrink-0 rounded-[2px]",style:{backgroundColor:a.color}}),c?.label]},a.value)})}):null}function Mn(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 Ve({onZoomChange:t}={}){let[e,n]=kt.useState({refAreaLeft:null,refAreaRight:null,refAreaTop:null,refAreaBottom:null,zooming:false}),[o,r]=kt.useState({x:[null,null],y:[null,null]}),s=kt.useCallback(u=>{!u?.xValue||!u?.yValue||n(d=>({...d,refAreaLeft:u.xValue,refAreaTop:u.yValue,zooming:true}));},[]),a=kt.useCallback(u=>{!u?.xValue||!u?.yValue||!e.zooming||n(d=>({...d,refAreaRight:u.xValue,refAreaBottom:u.yValue}));},[e.zooming]),i=kt.useCallback(()=>{if(!e.refAreaLeft||!e.refAreaRight||!e.refAreaTop||!e.refAreaBottom){n({refAreaLeft:null,refAreaRight:null,refAreaTop:null,refAreaBottom:null,zooming:false});return}let[u,d]=[Math.min(e.refAreaLeft,e.refAreaRight),Math.max(e.refAreaLeft,e.refAreaRight)],[p,m]=[Math.min(e.refAreaTop,e.refAreaBottom),Math.max(e.refAreaTop,e.refAreaBottom)],g={x:[u,d],y:[p,m]};r(g),t?.(g),n({refAreaLeft:null,refAreaRight:null,refAreaTop:null,refAreaBottom:null,zooming:false});},[e,t]),c=kt.useCallback(()=>{let u={x:[null,null],y:[null,null]};r(u),t?.(u);},[t]),l=kt.useMemo(()=>({onZoomStart:s,onZoomMove:a,onZoomEnd:i,onResetZoom:c}),[s,a,i,c]);return {zoomState:e,customDomain:o,handlers:l}}function Ur(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 _t(t,e,n){return et(t,e,n)}function Os({title:t,subtitle:e,data:n,displayConfig:o,dataConfig:r,ChartComponent:s,PointComponent:a,disableAnimation:i,onZoomChange:c,stacked:l,enableDownload:u=true,onDownloadSuccess:d,onDownloadError:p,className:m,chartContainerClassName:g,downloadButtonClassName:f,resetZoomButtonClassName:h}){let{zoomState:b,customDomain:x,handlers:y}=Ve({onZoomChange:c}),k=kt.useCallback(C=>{let I=`${(t||"chart").toLowerCase().replace(/\s+/g,"-")}.png`,T=document.createElement("a");T.download=I,T.href=C,T.click(),d?.(I);},[t,d]),S=kt.useCallback(C=>{console.error("Error converting chart to image:",C),p?.(C);},[p]),[{isLoading:_},v,N]=reactToImage.useToPng({onSuccess:k,onError:S}),U=kt.useCallback(async()=>{v();},[v]),tt=kt.useMemo(()=>Ur(r.xAxis),[r.xAxis]),O=kt.useMemo(()=>r.yAxes.map(C=>Ur(C)),[r.yAxes]),H=kt.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.map(C=>({...C,[r.xAxis.key]:Number(C[r.xAxis.key])})).filter(C=>!isNaN(C[r.xAxis.key])):r.xAxis.type==="date"?n.map(C=>{let I=C[r.xAxis.key],T;return I instanceof Date?T=I.getTime():typeof I=="number"?T=I:typeof I=="string"?T=new Date(I).getTime():T=NaN,{...C,[r.xAxis.key]:T}}).filter(C=>!isNaN(C[r.xAxis.key])):n:[],[n,r.xAxis.key,r.chartType,r.xAxis.type]),G=kt.useMemo(()=>{if(r.xAxis.type==="category"||!H.length)return;let C=H.map(T=>Number(T[r.xAxis.key])).filter(T=>!isNaN(T)),I=[...new Set(C)].sort((T,A)=>T-A);if(!(r.chartType==="scatter"||I.length>20))return I},[H,r.xAxis.key,r.xAxis.type,r.chartType]),Rn=kt.useMemo(()=>{if(!G||G.length<2)return;let I=(G[G.length-1]-G[0])*.05;return [G[0]-I,G[G.length-1]+I]},[G]),w=kt.useCallback((C,I)=>{if(!C?.length)return {min:null,max:null};let T=C.map(A=>Number(A[I])).filter(A=>!isNaN(A));return {min:Math.min(...T),max:Math.max(...T)}},[]),D=kt.useMemo(()=>({x:x.x[0]!==null&&x.x[1]!==null?[x.x[0],x.x[1]]:(()=>{if(tt.min!==null&&tt.max!==null)return [tt.min,tt.max];let C=w(H,r.xAxis.key);return [C.min??"auto",C.max??"auto"]})(),y:r.yAxes.map((C,I)=>{if(x.y[0]!==null&&x.y[1]!==null)return [x.y[0],x.y[1]];let A=r.series.filter(K=>(K.axisIndex||0)===I).reduce((K,xe)=>{let Y=w(H,xe.key);return {min:K.min===null?Y.min:Y.min===null?K.min:Math.min(K.min,Y.min),max:K.max===null?Y.max:Y.max===null?K.max:Math.max(K.max,Y.max)}},{min:null,max:null});if(C.type==="number"&&C.maxValue){let K=parseFloat(C.maxValue);if(A.max===null||K<=A.max*1.5)return [O[I].min??A.min??"auto",O[I].max??A.max??"auto"]}return [O[I].min??A.min??"auto",O[I].max??A.max??"auto"]})}),[x.x,x.y,tt,O,r.series,r.yAxes,r.xAxis.key,H,w]),V=kt.useCallback((C,I,T)=>{if(T.dataKey===r.xAxis.key)return _t(C,r.xAxis.format,r.xAxis.type);let A=r.series.find(ke=>ke.key===T.dataKey),K=A?.name||String(I).replace(/^dataset_\d+_/,"");if(r.chartType==="histogram"){let ke=T.payload;if(ke.binStart!==void 0){let fs=_t(ke.binStart,r.xAxis.format,r.xAxis.type),gs=_t(ke.binEnd,r.xAxis.format,r.xAxis.type);return `Count: ${C} (${fs} - ${gs})`}}let xe=A?.axisIndex||0,Y=r.yAxes[xe],An=_t(C,Y?.format,Y?.type);return `${K}: ${An}`},[r.xAxis,r.series,r.yAxes,r.chartType]),[Z,F]=kt.useState(false);kt.useEffect(()=>{let C=setTimeout(()=>{F(true);},1700);return ()=>clearTimeout(C)},[]);let W=kt.useCallback((C,I)=>{if(I&&I.length>0){let T=I[0].payload[r.xAxis.key],A=_t(T,r.xAxis.format,r.xAxis.type);return jsxRuntime.jsxs("div",{className:"flex flex-col",children:[jsxRuntime.jsx("span",{children:r.xAxis.label}),jsxRuntime.jsx("span",{className:"font-mono tabular-nums",children:A})]})}return C},[r.xAxis.key,r.xAxis.format,r.xAxis.type,r.xAxis.label]),Ut=kt.useCallback(C=>jsxRuntime.jsx(Ln,{...C,formatter:V,labelFormatter:W}),[V,W]),Oe=kt.useCallback(C=>jsxRuntime.jsx(jn,{...C}),[]),Nt=kt.useMemo(()=>{let C=H.length,I=C>30?8:C>20?12:C>10?16:20,T=0;for(let xe of H){let Y=_t(xe[r.xAxis.key],r.xAxis.format,r.xAxis.type),An=typeof Y=="string"?Y:String(Y??"");T=Math.max(T,Math.min(An.length,I));}let A=T*7*C>500,K=A?Math.min(Math.max(40,T*5.5+20),140):50;return {maxLabelLen:I,shouldAngle:A,height:K}},[H,r.xAxis.key,r.xAxis.format,r.xAxis.type]),ot=kt.useMemo(()=>!!(i||(n?.length||0)>100||Z),[i,n?.length,Z]);return jsxRuntime.jsxs("div",{className:m||"w-full items-center mt-0 flex flex-col gap-0",children:[(t||u)&&jsxRuntime.jsxs("div",{className:"w-full items-center mb-2 relative",children:[t&&jsxRuntime.jsx("h2",{className:"text-center text-base pt-0 mt-0 mb-2",children:t}),u&&jsxRuntime.jsx("button",{onClick:U,disabled:_,className:f||"text-sm text-gray-500 hover:text-gray-700 disabled:opacity-50 h-8 absolute right-0 top-[-5px] px-2 py-1 border rounded hover:bg-gray-50",title:"Download chart as PNG",children:jsxRuntime.jsx(lucideReact.Download,{className:"w-4 h-4"})})]}),e&&jsxRuntime.jsx("p",{className:"text-center text-sm text-muted-foreground mb-2",children:e}),jsxRuntime.jsx(Se,{ref:N,config:o,className:g||"w-full border border-border/50 p-4 rounded-md",debounceResize:true,children:jsxRuntime.jsxs(s,{accessibilityLayer:true,data:H,isAnimationActive:!ot,onMouseDown:y.onZoomStart,onMouseMove:y.onZoomMove,onMouseUp:y.onZoomEnd,onDoubleClick:y.onResetZoom,style:{userSelect:"none",cursor:"crosshair"},children:[jsxRuntime.jsx(qt.CartesianGrid,{vertical:false}),jsxRuntime.jsx(qt.XAxis,{dataKey:r.xAxis.key,domain:Rn||D.x,type:r.xAxis.type==="date"||!r.xAxis.type?"number":r.xAxis.type,tickFormatter:C=>{let I=_t(C,r.xAxis.format,r.xAxis.type),T=typeof I=="string"?I:String(I??"");return T.length>Nt.maxLabelLen?T.slice(0,Nt.maxLabelLen)+"\u2026":T},tickLine:false,tickMargin:10,height:Nt.height,axisLine:false,allowDataOverflow:true,interval:"preserveStartEnd",ticks:G,...Nt.shouldAngle?{angle:-45,textAnchor:"end"}:{},children:jsxRuntime.jsx(qt.Label,{value:r.xAxis.label,position:"bottom",offset:Nt.shouldAngle?-5:-10,style:{textAnchor:"middle"}})}),r.yAxes.map((C,I)=>jsxRuntime.jsx(qt.YAxis,{yAxisId:I,orientation:I===0?"left":"right",domain:l?void 0:D.y[I],type:C.type==="date"||!C.type?"number":C.type,tickFormatter:T=>{let A=_t(T,C.format,C.type);return typeof A=="string"&&A.length>20?A.slice(0,20)+"...":A},allowDataOverflow:true,children:jsxRuntime.jsx(qt.Label,{value:C.label,position:I===0?"insideLeft":"insideRight",angle:-90,dx:I===0?-15:15,style:{textAnchor:"middle"}})},`y-axis-${C.key}`)),jsxRuntime.jsx(Vn,{content:Ut}),jsxRuntime.jsx($n,{content:Oe,verticalAlign:"top"}),r.series.map(C=>jsxRuntime.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:!ot,animationDuration:1500,animationBegin:0,stackId:r.chartType==="bar"&&l?"stack":void 0},`${C.key}-${l?"stacked":"unstacked"}`)),b.refAreaLeft&&b.refAreaRight&&b.refAreaTop&&b.refAreaBottom&&jsxRuntime.jsx(qt.ReferenceArea,{x1:b.refAreaLeft,x2:b.refAreaRight,y1:b.refAreaTop,y2:b.refAreaBottom,strokeOpacity:.2,stroke:"currentColor",fill:"currentColor",fillOpacity:.02,style:{pointerEvents:"none"}})]})}),x.x[0]!==null&&jsxRuntime.jsx("button",{onClick:y.onResetZoom,className:h||"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 ut(t){return jsxRuntime.jsx(Et,{fallback:jsxRuntime.jsx("div",{className:t.errorClassName||"text-red-500",children:"Failed to load chart"}),children:jsxRuntime.jsx(Os,{...t})})}function Dt(t){return jsxRuntime.jsx(ut,{...t,ChartComponent:qt.BarChart,PointComponent:qt.Bar})}function zt(t){return jsxRuntime.jsx(ut,{...t,ChartComponent:qt.LineChart,PointComponent:qt.Line})}var Hs=(t,e,n)=>{let o=parseInt(t.slice(1,3),16)/255,r=parseInt(t.slice(3,5),16)/255,s=parseInt(t.slice(5,7),16)/255,a=Math.max(o,r,s),i=Math.min(o,r,s),c,l,u=(a+i)/2;if(a===i)c=l=0;else {let f=a-i;switch(l=u>.5?f/(2-a-i):f/(a+i),a){case o:c=(r-s)/f+(r<s?6:0);break;case r:c=(s-o)/f+2;break;case s:c=(o-r)/f+4;break;default:c=0;}c/=6;}let d=e/n,p=c*360+(d*40-20),m=Math.min(100,l*100+d*25),g=Math.max(35,Math.min(65,u*100-d*20));return `hsl(${p}, ${m}%, ${g}%)`};function Ks({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=kt.useMemo(()=>n.reduce((d,p)=>(r.series.forEach(m=>{let g=m.key,f=String(p[r.xAxis.key]||"Unknown"),h=parseFloat(p[g]||"0");isNaN(h)||d.push({name:f,value:h,seriesId:g,displayName:f});}),d),[]).sort((d,p)=>p.value-d.value),[n,r.series,r.xAxis.key]);return jsxRuntime.jsxs("div",{className:s||"items-center",children:[jsxRuntime.jsx("h2",{className:"text-center text-base mb-2",children:t}),e&&jsxRuntime.jsx("p",{className:"text-center text-sm text-muted-foreground mb-2",children:e}),jsxRuntime.jsx(Se,{config:o,className:a||"w-full border border-border/50 rounded-md",children:jsxRuntime.jsxs(qt.PieChart,{width:400,height:400,children:[jsxRuntime.jsx(qt.Pie,{data:u,dataKey:"value",nameKey:"displayName",cx:"50%",cy:"50%",outerRadius:150,label:d=>`${d.displayName}: ${et(d.value,c,l)}`,children:u.map((d,p)=>jsxRuntime.jsx(qt.Cell,{fill:p===0?i:Hs(i,p,u.length)},`cell-${d.name}`))}),jsxRuntime.jsx(qt.Tooltip,{formatter:(d,p)=>[et(d,c,l),p]}),jsxRuntime.jsx(qt.Legend,{})]})})]})}function Ht(t){return jsxRuntime.jsx(Et,{fallback:jsxRuntime.jsx("div",{className:"text-red-500",children:"Failed to load chart"}),children:jsxRuntime.jsx(Ks,{...t})})}function Kt(t){return jsxRuntime.jsx(ut,{...t,ChartComponent:qt.ScatterChart,PointComponent:qt.Scatter})}var ea=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 jsxRuntime.jsx("rect",{x:e-l/2,y:n-u/2,width:l,height:u,fill:c,fillOpacity:.8,stroke:"#fff",strokeWidth:1})},na=t=>jsxRuntime.jsx(qt.Scatter,{...t,shape:ea});function Qt(t){return jsxRuntime.jsx(ut,{...t,ChartComponent:qt.ScatterChart,PointComponent:na})}function Jr(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=Jr(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 ua(){return ["yyyy-MM-dd","yyyyMMdd","yyyy-MM-dd'T'HH:mm:ss","yyyyMMddHHmmss"]}function da(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(dateFns.isValid(r))return r.getTime()}let o=ua();for(let r of o){let s=dateFns.parse(t,r,new Date);if(dateFns.isValid(s))return s.getTime()}}let e=new Date(t);return dateFns.isValid(e)?e.getTime():null}function je(t,e,n,o){let r=e==="index"&&t[e]===void 0?o:t[e];return n==="date"?da(r):n==="number"?parseFloat(r):r}function pa(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 Yt(t,e,n,o){return !o||o.length===0?t:[...t].sort((r,s)=>{for(let a of o){let i=pa(a.key,e,n),c=je(r,a.key,i,r.index),l=je(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 Gr(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 ma(t,e,n,o,r,s,a){let i=t.reduce((u,d)=>{let p=d[e];return u[p]||(u[p]=[]),u[p].push(d),u},{}),c=Object.entries(i);if(c.length>o){let u=Math.ceil(c.length/o),d=c.reduce((p,[m,g],f)=>{let h=Math.floor(f/u);return p[h]||(p[h]={key:m,items:[]}),p[h].items.push(...g),p},[]).map(({key:p,items:m})=>({[e]:p,...n.reduce((g,f)=>{let h=m.map(b=>parseFloat(b[f.key])).filter(b=>!isNaN(b));return g[f.key]=h.length?h.reduce((b,x)=>b+x,0)/h.length:null,g},{})}));return a&&a.length>0?Yt(d,r,s,a):d}let l=c.map(([u,d])=>{let p=n.reduce((g,f)=>{let h=d.map(b=>parseFloat(b[f.key])).filter(b=>!isNaN(b));return g[f.key]=h.length?h.reduce((b,x)=>b+x,0)/h.length:null,g},{}),m=Object.values(p).filter(g=>g!==null).reduce((g,f)=>g+f,0);return {[e]:u,...p,index:m}});return a&&a.length>0?Yt(l,r,s,a):l}function fa(t,e,n,o){let r=t.map(l=>parseFloat(l[e])).filter(l=>!isNaN(l)),s=Math.min(...r),i=(Math.max(...r)-s)/o,c=Array.from({length:o},(l,u)=>({binStart:s+u*i,binEnd:s+(u+1)*i,count:0,seriesValues:n.reduce((d,p)=>(d[p.key]=[],d),{})}));return t.forEach(l=>{let u=parseFloat(l[e]);if(isNaN(u))return;let d=Math.min(Math.floor((u-s)/i),o-1);c[d].count++,n.forEach(p=>{let m=parseFloat(l[p.key]);isNaN(m)||c[d].seriesValues[p.key].push(m);});}),c.map(l=>({[e]:(l.binStart+l.binEnd)/2,...n.reduce((u,d)=>{let p=l.seriesValues[d.key];return u[d.key]=p.length?p.reduce((m,g)=>m+g,0)/p.length:null,u},{}),count:l.count,index:n.reduce((u,d)=>{let p=l.seriesValues[d.key],m=p.length?p.reduce((g,f)=>g+f,0)/p.length:0;return u+m},0)})).filter(l=>n.some(u=>l[u.key]!==null))}function Wr(t,e,n,o,r){let s=t.map((m,g)=>{let f=je(m,e,r.type||"number",g);return typeof f=="number"?f:parseFloat(f)}).filter(m=>!isNaN(m)),a=Math.min(...s),l=(Math.max(...s)-a)/o,u=Array.from({length:o},(m,g)=>({binStart:Number((a+g*l).toFixed(2)),binEnd:Number((a+(g+1)*l).toFixed(2)),frequency:0,[e]:Number((a+(g+.5)*l).toFixed(2))}));s.forEach(m=>{let g=Math.min(Math.floor((m-a)/l),o-1);u[g].frequency++;});let d=u.filter(m=>m.frequency>0);return (u.length-d.length)/u.length*100>30?Wr(t,e,n,Math.floor(o/2),r):d}function ga(t,e,n,o){return !e||e.length===0?t:t.filter(r=>e.every(s=>{let a=s.key;n&&s.key.toLowerCase()===n.toLowerCase()?a=n:o&&s.key.toLowerCase()===o.toLowerCase()&&(a=o);let i=r[a],c=Array.isArray(s.value)?s.value:[s.value];switch(s.operator){case "equals":return c.some(l=>String(i)===String(l));case "not_equals":return c.every(l=>String(i)!==String(l));case "greater_than":return parseFloat(String(i))>parseFloat(String(c[0]));case "less_than":return parseFloat(String(i))<parseFloat(String(c[0]));case "contains":return String(i).toLowerCase().includes(String(c[0]).toLowerCase());case "between":if(c.length===2){let l=parseFloat(String(i)),u=parseFloat(String(c[0])),d=parseFloat(String(c[1]));return l>=u&&l<=d}return true;default:return true}}))}var Ue=kt__namespace.default.memo(function({chartType:e,title:n,invocationId:o,datasetSlugs:r,xAxis:s,yAxes:a,series:i,dataReduction:c={strategy:"none",target_points:1e3},stacked:l,sort:u,onScrollUpdate:d,enableDownload:p=true,className:m,chartContainerClassName:g}){let f=kt.useMemo(()=>i.map(w=>({datasetSlug:w.datasetSlug,sqlQuery:w.sqlQuery,resourceKey:w.resourceKey,filters:!w.sqlQuery&&w.filters?.length?w.filters:void 0})),[i]),h=be(f,o),b=h.some(w=>w.isLoading),x=useDeepCompare.useDeepCompareMemo(()=>h.map(w=>w.data||[]),[h.map(w=>w.data)]),{resolvedXAxisKey:y,resolvedSeriesKeys:k}=kt.useMemo(()=>{let w=x.find(D=>D.length>0)||[];return {resolvedXAxisKey:Zt(w,s.key),resolvedSeriesKeys:i.map((D,V)=>({...D,resolvedKey:Zt(x[V]||[],D.key)}))}},[x,s.key,i]),S=kt.useMemo(()=>{let w=new Map;i.forEach((V,Z)=>{let F=x[Z]||[],W=k[Z]?.resolvedKey||V.key;(V.filters?ga(F,V.filters,W,y):F).forEach((Oe,Nt)=>{let ot=je(Oe,y,s.type||"category",Nt);if(ot==null||s.type==="number"&&isNaN(ot))return;let C=s.type==="number"||s.type==="date"||typeof ot=="object"?ot.toString():String(ot);w.has(C)||w.set(C,{[s.key]:ot});let I=`series_${Z}_${V.key}`,T=Oe[W];w.get(C)[I]=T;});});let D=Array.from(w.values());return u&&u.length>0?D:s.type==="date"?D.sort((V,Z)=>V[s.key]-Z[s.key]):s.type==="number"?D.sort((V,Z)=>{let F=parseFloat(V[s.key]),W=parseFloat(Z[s.key]);return isNaN(F)||isNaN(W)?0:F-W}):D},[x,i,k,y,s,u]),_=kt.useMemo(()=>i.map((w,D)=>({...w,key:`series_${D}_${w.key}`})),[i]),v=kt.useMemo(()=>({[s.key]:{label:s.label,format:s.format,type:s.type},..._.reduce((w,D)=>(w[D.key]={label:D.name,color:D.color},w),{}),...e==="histogram"?{frequency:{label:a[0]?.label||"Frequency",color:_[0]?.color||"#2563eb"}}:{}}),[s,_,e,a]),N=kt.useMemo(()=>!s.key||!_.length?null:{chartType:e,xAxis:s,yAxes:e==="histogram"?a.map(w=>({...w,key:"frequency",minValue:w.minValue||"0"})):a,series:e==="histogram"?[{key:"frequency",name:a[0]?.label||"Frequency",color:i[0]?.color||"#2563eb"}]:_},[s,a,i,_,e]),U=null;switch(e){case "bar":U=Dt;break;case "line":U=zt;break;case "pie":U=Ht;break;case "scatter":U=Kt;break;case "histogram":U=Dt;break;case "heatmap":U=Qt;break}let tt=kt.useRef(false);kt.useEffect(()=>{tt.current||!d||!b&&v&&N&&S.length&&(d(),setTimeout(()=>d(),250),tt.current=true);},[d,b,v,N,S.length]);let[O,H]=kt.useState({x:[null,null],y:[null,null]}),{processedData:G,dataReductionInfo:Rn}=kt.useMemo(()=>{if(b||!S.length)return {processedData:[],dataReductionInfo:null};if(e==="histogram"){let F=c.target_points||20;return {processedData:Wr(S,y,_,F,s),dataReductionInfo:null}}let w=S;if((O.x[0]!==null||O.y[0]!==null)&&(w=S.filter(F=>{if(O.x[0]!==null&&O.x[1]!==null){let W=parseFloat(F[s.key]);if(isNaN(W)||W<O.x[0]||W>O.x[1])return false}if(O.y[0]!==null&&O.y[1]!==null)for(let W of _){let Ut=parseFloat(F[W.key]);if(!isNaN(Ut)&&(Ut<O.y[0]||Ut>O.y[1]))return false}return true})),c.strategy==="none"||!c.target_points||w.length<=c.target_points&&(!u||u.length===0)){let F=w;return u&&u.length>0&&(F=Yt(F,s,a,u)),{processedData:F,dataReductionInfo:null}}let D,V="";switch(c.strategy){case "sample":D=Gr(w,c.target_points),V="sampled",u&&u.length>0&&(D=Yt(D,s,a,u));break;case "aggregate":D=ma(w,y,_,c.target_points,s,a,u),V="aggregated";break;case "bin":D=fa(w,y,_,c.target_points),V="binning",u&&u.length>0&&(D=Yt(D,s,a,u));break;default:w.length<1e3?D=w:(D=Gr(w,c.target_points),V="sampled"),u&&u.length>0&&(D=Yt(D,s,a,u));}let Z=null;return w.length!==D.length&&(Z=`${V} ${w.length.toLocaleString()} \u2192 ${D.length.toLocaleString()} points`),{processedData:D,dataReductionInfo:Z}},[S,c,e,b,O.x,O.y,_,u,s,a,y]);return U?b?jsxRuntime.jsx("div",{children:"Loading..."}):S.length?N?jsxRuntime.jsx(U,{data:G,displayConfig:v,stacked:l,dataConfig:N,title:n,subtitle:Rn||void 0,disableAnimation:G.length>100,onZoomChange:H,enableDownload:p,className:m,chartContainerClassName:g}):jsxRuntime.jsx("div",{children:"Invalid chart configuration"}):jsxRuntime.jsx("div",{children:"Unable to display chart - no data available"}):(console.error("No chart component found"),null)},(t,e)=>ra__default.default(t,e));function Fe({title:t,invocationId:e,datasetSlug:n,sqlQuery:o,resourceKey:r,columns:s,maxRows:a=100,className:i,tableWrapperClassName:c,headerClassName:l,loadingClassName:u,emptyClassName:d,onScrollUpdate:p}){let{data:m,isLoading:g}=Gt(n,e,o,r),f=kt.useMemo(()=>s?m?.length?s.map(x=>{let y=Zt(m,x.key);return {key:x.key,name:x.name,resolvedKey:y,format:x.format,value_type:x.value_type}}):[]:m?.length?Object.keys(m[0]).map(x=>({key:x,name:x,resolvedKey:x,format:void 0,value_type:void 0})):[],[s,m]),h=kt.useMemo(()=>!m||m.length===0?[]:a?m.slice(0,a):m,[m,a]),b=kt.useRef(false);return kt.useEffect(()=>{b.current||!p||!g&&m?.length&&(p(),setTimeout(()=>p(),250),b.current=true);},[p,g,m?.length]),g?jsxRuntime.jsx("div",{className:u||"text-gray-500",children:"Loading..."}):m?.length?f.length===0?jsxRuntime.jsx("div",{className:d||"text-gray-500",children:"No columns defined"}):jsxRuntime.jsxs("div",{className:i||"w-full",children:[t&&jsxRuntime.jsx("h3",{className:"text-lg font-medium mb-3",children:t}),jsxRuntime.jsx("div",{className:c||"relative w-full overflow-x-auto rounded-lg border border-border/50",children:jsxRuntime.jsxs("table",{className:"w-full caption-bottom text-sm",children:[jsxRuntime.jsx("thead",{className:"[&_tr]:border-b",children:jsxRuntime.jsx("tr",{className:l||"border-b transition-colors",children:f.map(x=>jsxRuntime.jsx("th",{className:"h-10 px-3 text-left align-middle font-medium text-muted-foreground",children:x.name},x.key))})}),jsxRuntime.jsx("tbody",{className:"[&_tr:last-child]:border-0",children:h.map((x,y)=>jsxRuntime.jsx("tr",{className:`border-b transition-colors hover:bg-muted/50 ${y%2===1?"bg-muted/30":""}`,children:f.map(k=>jsxRuntime.jsx("td",{className:"p-3 align-middle text-foreground",children:et(x[k.resolvedKey],k.format,k.value_type)},k.key))},y))})]})}),m.length>a&&jsxRuntime.jsxs("p",{className:"text-sm text-muted-foreground mt-2",children:["Showing ",a," of ",m.length," rows"]})]}):jsxRuntime.jsx("div",{className:d||"text-gray-500",children:"No data"})}function Je({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?jsxRuntime.jsx("div",{children:s.map(a=>o?jsxRuntime.jsx(o,{content:a},a.id):jsxRuntime.jsx("div",{className:"text-sm",children:typeof a.content=="string"?a.content:null},a.id))},t.output.id):null}function zr(t){return t!==null&&typeof t=="object"&&"Valid"in t&&"String"in t}function M(t){if(typeof t=="string")return t;if(zr(t))return t.Valid?t.String:void 0}function xa(t,e){return M(t)??e}var Hr={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 Kr={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;
|
|
@@ -48,5 +48,5 @@ $bm_rt = comp('system-solid-56-warning').layer('control').effect('primary')('Col
|
|
|
48
48
|
color: transparent;
|
|
49
49
|
}
|
|
50
50
|
`,document.head.appendChild(t);}function oe({item:t,className:e}){let[n,o]=kt.useState(false);kt.useEffect(()=>{Ze();},[]);let r=t.content_type==="redacted_thinking",s="",a=false;if(typeof t.content=="string")s=t.content;else if(t.content&&typeof t.content=="object")if(r)s=t.content.data||"Some of Claude's internal reasoning has been automatically encrypted for safety reasons. This doesn't affect the quality of responses.";else {let d=t.content;s=d.thinking||"",a=typeof d.signature=="string"&&d.signature.length>0;}let i=typeof t.state=="string"?t.state:"",l=(i==="in_progress"||i==="streaming"||i==="running")&&!a;return jsxRuntime.jsxs("div",{className:e,children:[jsxRuntime.jsxs("button",{onClick:()=>o(!n),className:"inline-flex items-center gap-1.5 text-left",children:[n?jsxRuntime.jsx(lucideReact.ChevronDown,{className:"h-3.5 w-3.5 text-muted-foreground/70"}):jsxRuntime.jsx(lucideReact.ChevronRight,{className:"h-3.5 w-3.5 text-muted-foreground/70"}),jsxRuntime.jsx("span",{className:`text-sm ${l?"erdo-shimmer":"text-muted-foreground hover:text-foreground/70 transition-colors"}`,children:r?"Encrypted thinking":"Thinking"})]}),n&&jsxRuntime.jsx("div",{className:"mt-1 pl-5 text-sm text-muted-foreground",children:s?jsxRuntime.jsx(R,{content:s,className:"text-sm text-muted-foreground [&_*]:text-muted-foreground"}):l?"Thinking...":""})]})}function fi(t){try{return JSON.parse(t)}catch{return t}}function gi(t){if(!t)return "";try{return new Date(t).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return ""}}function ar({log:t}){let e=typeof t.message=="string"?fi(t.message):t.message,n=gi(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 jsxRuntime.jsx("div",{className:"my-0.5",children:jsxRuntime.jsx("div",{className:o,children:jsxRuntime.jsxs("div",{className:"flex items-start gap-2",children:[n&&jsxRuntime.jsx("span",{className:"text-[10px] opacity-60 whitespace-nowrap w-16 flex-shrink-0 pt-0.5",children:n}),t.level==="error"&&jsxRuntime.jsx("span",{className:"inline-block mr-1 flex-shrink-0",children:jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:`h-3 w-3 ${r}`,viewBox:"0 0 20 20",fill:"currentColor",children:jsxRuntime.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"&&jsxRuntime.jsx("span",{className:"inline-block mr-1 flex-shrink-0",children:jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:`h-3 w-3 ${r}`,viewBox:"0 0 20 20",fill:"currentColor",children:jsxRuntime.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"&&jsxRuntime.jsx("span",{className:"inline-block mr-1 flex-shrink-0",children:jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:`h-3 w-3 ${r}`,viewBox:"0 0 20 20",fill:"currentColor",children:jsxRuntime.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"})})}),jsxRuntime.jsx("div",{className:"flex-1 break-words whitespace-pre-wrap",children:String(e)})]})})})}function Ye({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 jsxRuntime.jsx("div",{className:e,children:jsxRuntime.jsx(ar,{log:o})})}function xi(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 Xe({item:t,className:e}){let n=xi(t.content);return n?.results?.length?jsxRuntime.jsx("div",{className:`rounded-lg border border-border/50 overflow-hidden ${e||""}`,children:jsxRuntime.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 jsxRuntime.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:[jsxRuntime.jsxs("div",{className:"flex-1 min-w-0",children:[jsxRuntime.jsx("div",{className:"text-sm text-foreground/90 group-hover:text-foreground group-hover:underline truncate",children:o.title}),o.description&&jsxRuntime.jsx("div",{className:"text-xs text-muted-foreground mt-0.5 line-clamp-1",children:o.description})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1 shrink-0 mt-0.5",children:[jsxRuntime.jsx("span",{className:"text-[10px] text-muted-foreground/60",children:r}),jsxRuntime.jsx(lucideReact.ExternalLink,{className:"h-3 w-3 text-muted-foreground/40 group-hover:text-muted-foreground"})]})]},o.url)})})}):null}function bi(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 Ci(t){if(!t||typeof t!="object")return null;let n=t.input;return typeof n?.url=="string"?n.url:null}function tn({item:t,className:e}){let n=bi(t.content),o=Ci(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:jsxRuntime.jsxs("div",{className:`rounded-lg border border-border/50 overflow-hidden ${e||""}`,children:[r&&jsxRuntime.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:[jsxRuntime.jsxs("div",{className:"flex-1 min-w-0",children:[jsxRuntime.jsx("div",{className:"text-sm text-foreground/90 group-hover:text-foreground truncate",children:s?.trim()||i||r}),s&&i&&jsxRuntime.jsx("div",{className:"text-[10px] text-muted-foreground/60 mt-0.5",children:i})]}),jsxRuntime.jsx(lucideReact.ExternalLink,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground/40 group-hover:text-muted-foreground"})]}),a&&jsxRuntime.jsx("div",{className:"max-h-64 overflow-y-auto px-3 py-2 bg-muted/20",children:jsxRuntime.jsx(R,{content:a,className:"text-xs"})})]})}var Pi=reactSyntaxHighlighter.Prism,vt=kt.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]=kt.useState(o),[u,d]=kt.useState(false),p=kt.useRef(null);kt.useEffect(()=>{if(!c){let y=p.current;y&&(y.scrollTop=y.scrollHeight);}},[c,n]);let m=kt.useMemo(()=>i!=="auto"?i:typeof window>"u"?"light":document.documentElement.classList.contains("dark")||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",[i]),g=kt.useMemo(()=>m==="dark"?prism.oneDark:prism.oneLight,[m]),f=kt.useCallback(async()=>{try{await navigator.clipboard.writeText(n),d(!0),setTimeout(()=>d(!1),2e3);}catch{let y=document.createElement("textarea");y.value=n,document.body.appendChild(y),y.select(),document.execCommand("copy"),document.body.removeChild(y),d(true),setTimeout(()=>d(false),2e3);}},[n]),h=kt.useMemo(()=>({margin:0,width:"100%",background:"transparent",padding:"1rem 0.5rem",fontSize:"0.825rem",maxWidth:"100vw",overflow:"auto"}),[]),b=kt.useMemo(()=>({userSelect:"none",minWidth:"2.5em",paddingRight:"1em",color:"rgb(161 161 170)",opacity:"0.5"}),[]),x=kt.useMemo(()=>({style:{fontFamily:"var(--font-mono, ui-monospace, monospace)",whiteSpace:"pre",wordBreak:"break-word"}}),[]);return jsxRuntime.jsx(de__namespace.Root,{open:c,onOpenChange:l,className:a,children:jsxRuntime.jsxs("div",{className:"relative w-full font-sans rounded-lg overflow-hidden border border-zinc-200 dark:border-zinc-800",children:[jsxRuntime.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:[jsxRuntime.jsx("span",{className:"text-xs font-medium lowercase text-zinc-400 dark:text-zinc-500",children:e}),jsxRuntime.jsx("button",{onClick:f,className:"h-6 w-6 flex items-center justify-center rounded-md hover:bg-zinc-100 dark:hover:bg-zinc-700 transition-colors",children:u?jsxRuntime.jsx(lucideReact.Check,{className:"h-3 w-3 text-green-500"}):jsxRuntime.jsx(lucideReact.Copy,{className:"h-3 w-3 text-zinc-400 dark:text-zinc-500"})})]}),jsxRuntime.jsxs("div",{ref:p,className:`${c?"max-h-96":"max-h-[200px]"} overflow-auto relative`,children:[jsxRuntime.jsx("div",{className:"bg-zinc-50/50 dark:bg-zinc-950/70",children:jsxRuntime.jsx(Pi,{language:e,style:g,PreTag:"div",showLineNumbers:true,wrapLines:false,wrapLongLines:false,startingLineNumber:1,className:"not-prose",customStyle:h,lineNumberStyle:b,codeTagProps:x,children:n})}),!c&&jsxRuntime.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"}})]}),jsxRuntime.jsx(de__namespace.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?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(lucideReact.ChevronUp,{className:"h-4 w-4"}),s]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(lucideReact.ChevronDown,{className:"h-4 w-4"}),r]})})]})})});function Bi(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 Oi(t){return Bi(t.content)}function nn({item:t,className:e}){let n=Oi(t);if(!n)return null;let{thinking:o,sql_query:r,error:s}=n;return s?jsxRuntime.jsxs("div",{className:`text-destructive text-sm ${e||""}`,children:[jsxRuntime.jsx("div",{className:"font-medium",children:"Error"}),jsxRuntime.jsx("div",{children:s})]}):!r&&!o?null:jsxRuntime.jsxs("div",{className:`text-foreground whitespace-pre-wrap leading-normal ${e||""}`,children:[o&&jsxRuntime.jsx("div",{className:"mb-2",children:jsxRuntime.jsx(R,{content:o,className:"text-sm max-w-none"})}),r&&jsxRuntime.jsx("div",{className:"mb-2",children:jsxRuntime.jsx(vt,{language:"sql",value:r,defaultOpen:false})})]})}var Vi=500,Li=300;function ie({content:t,className:e}){let[n,o]=kt.useState(false);if(!t||typeof t!="string"||!t.trim())return null;if(t.length<=Vi)return jsxRuntime.jsx("div",{className:`text-sm text-muted-foreground ${e||""}`,children:jsxRuntime.jsx(R,{content:t,className:"text-sm max-w-none"})});let s=t.slice(0,Li).trimEnd()+"...";return jsxRuntime.jsx("div",{className:`text-sm text-muted-foreground ${e||""}`,children:n?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(R,{content:t,className:"text-sm max-w-none"}),jsxRuntime.jsx("button",{onClick:()=>o(false),className:"text-xs text-muted-foreground/70 hover:text-muted-foreground mt-1",children:"Show less"})]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("span",{className:"text-sm",children:s}),jsxRuntime.jsx("button",{onClick:()=>o(true),className:"text-xs text-muted-foreground/70 hover:text-muted-foreground ml-1",children:"Show more"})]})})}function wt({children:t,defaultOpen:e=false,wrapperType:n="standard",compact:o=false,className:r}){let[s,a]=kt.useState(e),[i,c]=kt.useState(false),l=kt.useRef(null);kt.useEffect(()=>{let p=l.current;!s&&p&&(p.scrollTop=p.scrollHeight);},[s]),kt.useEffect(()=>{let p=l.current;if(!p)return;let m=()=>{c(p.scrollHeight>p.clientHeight);};m();let g=new ResizeObserver(m);return g.observe(p),()=>g.disconnect()},[s]);let u={standard:"bg-muted/30 border-border",info:"bg-info/10 border-info/30",warning:"bg-warning/10 border-warning/30"},d={standard:"text-muted-foreground hover:text-foreground",info:"text-info hover:text-info/80",warning:"text-warning hover:text-warning/80"};return jsxRuntime.jsx("div",{className:`relative text-sm ${o?"":"mb-2"} ${r||""}`,children:jsxRuntime.jsx(de__namespace.Root,{open:s,onOpenChange:a,className:`border rounded-sm ${u[n]}`,children:jsxRuntime.jsxs("div",{ref:l,className:`overflow-y-auto ${s?"":"max-h-[200px]"}`,children:[i&&jsxRuntime.jsx(de__namespace.Trigger,{className:`sticky top-0 text-center text-xs py-1 transition-opacity w-full cursor-pointer ${d[n]}`,children:s?"Less \u2193":"More \u2191"}),jsxRuntime.jsx("div",{className:`${o?"px-2 py-1":"p-2"} m-0 overflow-x-auto break-words whitespace-pre-wrap`,children:t})]})})})}function cr(t){return new Date(t).toLocaleTimeString("en-US",{hour12:false,hour:"2-digit",minute:"2-digit",second:"2-digit"})}function le({children:t,timestamp:e}){return jsxRuntime.jsxs("div",{className:"flex",children:[e&&jsxRuntime.jsx("span",{className:"text-muted-foreground/60 mr-2 select-none",children:cr(e)}),jsxRuntime.jsx("span",{className:"text-foreground/80",children:t})]})}function ce({children:t,timestamp:e}){return jsxRuntime.jsxs("div",{className:"flex",children:[e&&jsxRuntime.jsx("span",{className:"text-info/60 mr-2 select-none",children:cr(e)}),jsxRuntime.jsx("span",{className:"text-info/90",children:t})]})}function on({children:t,timestamp:e}){return jsxRuntime.jsxs("div",{className:"flex",children:[e&&jsxRuntime.jsx("span",{className:"text-warning/60 mr-2 select-none",children:cr(e)}),jsxRuntime.jsx("span",{className:"text-warning/90",children:t})]})}function an({item:t,className:e}){if(!t.content)return null;let n=ji(t.content)??Ui(t.parsedJson);if(!n)return null;let{step_by_step:o,thinking:r,code:s,warnings:a,error:i}=n;return i?jsxRuntime.jsx(wt,{wrapperType:"info",className:e,children:jsxRuntime.jsx(ce,{children:i})}):!o&&!r&&!s&&!a?null:jsxRuntime.jsxs("div",{className:`text-foreground whitespace-pre-wrap leading-normal ${e||""}`,children:[o&&jsxRuntime.jsx(R,{content:o,className:"text-sm max-w-none"}),r&&jsxRuntime.jsx(ie,{content:r,state:typeof t.state=="string"?t.state:void 0}),s&&jsxRuntime.jsx("div",{className:"mb-2",children:jsxRuntime.jsx(vt,{language:"python",value:s,defaultOpen:false})}),a&&jsxRuntime.jsxs("div",{className:"text-sm text-warning",children:[jsxRuntime.jsx("div",{className:"font-medium",children:"Warnings"}),jsxRuntime.jsx(R,{content:a,className:"text-sm max-w-none"})]})]})}function ji(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)?t:null}function Ui(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 Io({item:t,className:e}){if(!t.content)return null;let n=Fi(t.content,t.parsedJson);if(!n)return null;let o=t.ui_content_type==="code_fix_diagnosis",r=n.thinking||n.diagnosis,s=t.state==="in_progress",a=n.edits?.length??0,i=o?"Diagnosing code issues\u2026":"Rewriting code\u2026",c=o?`Applied ${a} fix${a!==1?"es":""}`:`Rewrote code${n.code?` (${n.code.split(`
|
|
51
|
-
`).length} lines)`:""}`;return jsxRuntime.jsxs("div",{className:`text-sm text-muted-foreground ${e||""}`,children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(it,{status:s?"loading":"finished",size:14}),jsxRuntime.jsx("span",{children:s?i:c})]}),r&&jsxRuntime.jsx("div",{className:"mt-1",children:jsxRuntime.jsx(ie,{content:r,state:t.state})})]})}function Fi(t,e){if(typeof t=="object"&&t!==null&&!Array.isArray(t))return t;if(Array.isArray(e)){let n=e.find(o=>o.type==="json");if(n&&typeof n.content=="object"&&n.content!==null)return n.content}return null}function un({item:t,className:e}){let n=Gi(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 jsxRuntime.jsx("div",{className:`text-foreground leading-normal ${e||""}`,children:jsxRuntime.jsx(wt,{wrapperType:s,compact:true,children:n.map((a,i)=>jsxRuntime.jsx(Ji,{output:a},`${a.level}-${i}`))})})}function Ji({output:t}){switch(t.level){case "output":return jsxRuntime.jsx(le,{timestamp:t.timestamp,children:t.message});case "error":return jsxRuntime.jsx(ce,{timestamp:t.timestamp,children:t.message});case "warning":return jsxRuntime.jsx(on,{timestamp:t.timestamp,children:t.message});default:return jsxRuntime.jsx("div",{className:"text-muted-foreground",children:t.message})}}function Gi(t){let e=No(t.content);return e.length>0?e:No(t.parsedJson)}function No(t){return cn(t).map((n,o)=>Wi(n,o)).filter(n=>n!==null)}function cn(t){if(Array.isArray(t))return t.every(qi)?t.flatMap(e=>cn(e.content)):t;if(typeof t=="string"){let e=$(t);return e!=null?cn(e):cn(xt(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 Wi(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 qi(t){return !!(t&&typeof t=="object"&&"type"in t&&"content"in t)}function Ki(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 Qi(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 ue({toolGroup:t,ContentComponent:e,className:n,fallbackClassName:o}){let[r,s]=kt.useState(false),a=Q(),i=e??a?.ContentComponent;kt.useEffect(()=>{Ze();},[]);let c=t.invocation,l=t.result,u=Ki(l),d=c?.name||l?.name,p=Qi(d,l,c),m=!l,g=u&&!m;return jsxRuntime.jsxs("div",{className:n,children:[jsxRuntime.jsx("span",{role:g?"button":void 0,tabIndex:g?0:void 0,onClick:()=>g&&s(!r),onKeyDown:f=>{g&&(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),s(!r));},className:`text-sm ${m?"erdo-shimmer":g?"text-muted-foreground hover:text-foreground/70 cursor-pointer transition-colors":"text-muted-foreground"}`,children:p}),r&&u&&l&&jsxRuntime.jsx("div",{className:"mt-1",children:i?jsxRuntime.jsx(i,{content:{content:l.result,content_type:l.ui_content_type||"json"}}):jsxRuntime.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 Lt={Success:"success",Error:"error",RequiresInfo:"requires info"};function el(t){return t?t===Lt.Success?"finished":t===Lt.Error||t===Lt.RequiresInfo?"failed":"loading":"loading"}function Do(t){return t?t!==Lt.Success&&t!==Lt.Error&&t!==Lt.RequiresInfo:true}function nl(t,e){let n=e||"agent",o=M(t?.message);return o||(t?.status===Lt.Success?`Finished ${n}`:`Running ${n}...`)}function pn({content:t,botInvocation:e,isLoading:n=false,defaultOpen:o,adminLinkHref:r,adminLinkText:s="Open in Agent Designer",showAdminLink:a=false,onAdminClick:i,onExpand:c,EventsComponent:l,ContentComponent:u,className:d}){let p=()=>o!==void 0?o:Do(e?.currentStatus?.status),[m,g]=kt.useState(p),[f,h]=kt.useState(false),b=kt.useRef(null);if(kt.useEffect(()=>{if(e?.currentStatus){let v=e.currentStatus.status;if(b.current!==v&&(b.current=v,!f)){let I=Do(v);I&&!m?g(true):!I&&m&&g(false);}}},[e,f,m]),kt.useEffect(()=>{m&&e&&c&&c(t.invocation_id,t.bot_id,t.bot_name);},[m,e,c,t]),n&&!e&&!t.transparent)return jsxRuntime.jsxs("div",{className:`flex items-center gap-2 text-sm text-muted-foreground ${d||""}`,children:[jsxRuntime.jsx(it,{status:"loading"}),jsxRuntime.jsxs("span",{children:["Loading ",t.bot_name,"..."]})]});if(!e)return null;let x=e.eventsByID&&Object.keys(e.eventsByID).length>0;if(t.transparent)return x?l?jsxRuntime.jsx(l,{eventsByID:e.eventsByID,defaultOpen:true}):jsxRuntime.jsx(Pt,{eventsByID:e.eventsByID,ContentComponent:u}):null;let y=el(e.currentStatus?.status),k=nl(e.currentStatus,t.bot_name),S=v=>{g(v),h(true);},_=v=>{i&&(v.preventDefault(),i(t.invocation_id,t.bot_id));};return jsxRuntime.jsxs(de__namespace.Root,{open:m,onOpenChange:S,className:`relative w-full max-w-4xl space-y-2 leading-normal bot-invocation-content ${d||""}`,children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntime.jsxs(de__namespace.Trigger,{className:"flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:[jsxRuntime.jsxs("div",{className:"text-sm font-medium flex items-center gap-2",children:[jsxRuntime.jsx(it,{status:y}),k]}),jsxRuntime.jsx(lucideReact.ChevronDown,{className:`h-4 w-4 transition-transform duration-200 ${m?"transform rotate-180":""}`})]}),a&&(r||i)&&jsxRuntime.jsxs("a",{href:r||"#",onClick:i?_:void 0,target:r?"_blank":void 0,rel:r?"noopener noreferrer":void 0,className:"flex items-center gap-1 text-sm text-muted-foreground hover:text-foreground transition-colors",children:[s,jsxRuntime.jsx(lucideReact.ArrowUpRight,{className:"h-3.5 w-3.5"})]})]}),jsxRuntime.jsx(de__namespace.Content,{children:jsxRuntime.jsx("div",{className:"space-y-2 max-w-3xl",children:x?l?jsxRuntime.jsx(l,{eventsByID:e.eventsByID,defaultOpen:m}):jsxRuntime.jsx(Pt,{eventsByID:e.eventsByID,ContentComponent:u}):jsxRuntime.jsx("span",{className:"text-sm text-muted-foreground",children:"No events to display"})})})]})}function Ro({content:t,isSearching:e=false,className:n}){let o=[];Array.isArray(t)?o=t:typeof t=="object"&&t!==null&&"q"in t?o=t.q:typeof t=="string"&&(o=[t]);let r=o.filter(s=>s&&typeof s=="string"&&s.trim()!=="");return r.length===0?null:jsxRuntime.jsx("div",{className:`flex flex-wrap gap-2 ${n||""}`,children:r.map(s=>jsxRuntime.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?jsxRuntime.jsx(lucideReact.Loader2,{className:"h-3 w-3 mr-2 text-muted-foreground flex-shrink-0 animate-spin"}):jsxRuntime.jsx(lucideReact.Search,{className:"h-3 w-3 mr-2 text-muted-foreground flex-shrink-0"}),jsxRuntime.jsx("span",{className:"line-clamp-1",children:s})]},s))})}function Ao({content:t,isSearching:e=false,className:n}){let o=[];if(Array.isArray(t))o=t;else if(typeof t=="object"&&t!==null&&"integration_queries"in t)o=t.integration_queries;else if(typeof t=="string")return null;let r=o.filter(s=>s&&s.query&&typeof s.query=="string"&&s.query.trim()!=="");return r.length===0?null:jsxRuntime.jsx("div",{className:`flex flex-wrap gap-2 ${n||""}`,children:r.map(s=>jsxRuntime.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?jsxRuntime.jsx(lucideReact.Loader2,{className:"h-3 w-3 mr-2 text-muted-foreground flex-shrink-0 animate-spin"}):jsxRuntime.jsx(lucideReact.Search,{className:"h-3 w-3 mr-2 text-muted-foreground flex-shrink-0"}),jsxRuntime.jsx("span",{className:"line-clamp-1",children:s.query})]},`${s.integration_config_id}-${s.resource_id}-${s.query}`))})}var gl=120;function yl(t,e){return !t||t.length<=e?t:t.slice(0,e).trimEnd()+"..."}function hl(t){switch(t){case "snippet":return lucideReact.Code;case "learning":return lucideReact.Brain;case "error":return lucideReact.AlertCircle;case "limitation":return lucideReact.AlertCircle;case "optimization":return lucideReact.Zap;default:return lucideReact.Lightbulb}}function xl(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 kl({memory:t}){let[e,n]=kt.useState(false),o=hl(t.type),r=xl(t.type),s=t.type==="snippet",a=yl(t.description||"",gl),i=t.content&&typeof t.content=="string"&&t.content.trim()!=="",c=s&&i;return jsxRuntime.jsxs(de__namespace.Root,{open:e,onOpenChange:n,className:"border border-border/50 rounded-lg overflow-hidden",children:[jsxRuntime.jsxs(de__namespace.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:[jsxRuntime.jsx("div",{className:"flex-shrink-0 mt-0.5",children:jsxRuntime.jsx(o,{className:"h-4 w-4 text-muted-foreground"})}),jsxRuntime.jsxs("div",{className:"flex-1 min-w-0",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[jsxRuntime.jsx("span",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide",children:r}),t.tags&&t.tags.length>0&&jsxRuntime.jsxs("div",{className:"flex gap-1 flex-wrap",children:[t.tags.slice(0,3).map((l,u)=>jsxRuntime.jsx("span",{className:"text-xs px-1.5 py-0.5 bg-muted rounded text-muted-foreground",children:l},u)),t.tags.length>3&&jsxRuntime.jsxs("span",{className:"text-xs text-muted-foreground",children:["+",t.tags.length-3]})]})]}),jsxRuntime.jsx("p",{className:"text-sm text-foreground",children:s?a:t.description||t.content})]}),c&&jsxRuntime.jsx(lucideReact.ChevronDown,{className:`h-4 w-4 text-muted-foreground flex-shrink-0 transition-transform duration-200 ${e?"rotate-180":""}`})]}),c&&jsxRuntime.jsx(de__namespace.Content,{children:jsxRuntime.jsx("div",{className:"border-t border-border/50 bg-muted/30",children:jsxRuntime.jsx("pre",{className:"p-3 text-sm overflow-x-auto whitespace-pre-wrap break-words font-mono",children:t.content})})})]})}function gn({content:t,className:e}){let n=Array.isArray(t)?t:t?.memories;return !n||n.length===0?jsxRuntime.jsx("p",{className:"text-sm text-muted-foreground",children:"No memories found."}):jsxRuntime.jsx("div",{className:`space-y-2 ${e||""}`,children:n.map(o=>jsxRuntime.jsx(kl,{memory:o},o.id))})}function ur(){return jsxRuntime.jsxs("span",{className:"inline-flex gap-1 text-muted-foreground",children:[jsxRuntime.jsx("span",{className:"animate-bounce",style:{animationDelay:"0ms"},children:"\u25CF"}),jsxRuntime.jsx("span",{className:"animate-bounce",style:{animationDelay:"150ms"},children:"\u25CF"}),jsxRuntime.jsx("span",{className:"animate-bounce",style:{animationDelay:"300ms"},children:"\u25CF"})]})}function Vo(){return jsxRuntime.jsx("div",{className:"flex items-center justify-center py-8",children:jsxRuntime.jsx(lucideReact.Loader2,{className:"animate-spin text-muted-foreground",size:24})})}function Sl(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 $t({content:t,className:e,components:n}){let r=Q()?.onSuggestionClick,s=kt.useMemo(()=>l=>jsxRuntime.jsx($t,{...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=Sl(t),i;a?i=a:i=M(t.ui_content_type)||t.content_type;let c=n?.[i];if(c)return jsxRuntime.jsx(c,{content:t,className:e});switch(i){case "text":return jsxRuntime.jsx(we,{content:Bo(t),className:e});case "markdown":return jsxRuntime.jsx(R,{content:Bo(t),className:e});case "thinking":case "redacted_thinking":return jsxRuntime.jsx(oe,{item:t,className:e});case "json":return jsxRuntime.jsx(ht,{content:t.content,className:e});case "codegen_json":return jsxRuntime.jsx(an,{item:t,className:e});case "code_rewrite":case "code_fix_diagnosis":return jsxRuntime.jsx(Io,{item:t,className:e});case "sql_generation":return jsxRuntime.jsx(nn,{item:t,className:e});case "codeexec_output":return jsxRuntime.jsx(un,{item:t,className:e});case "log":return jsxRuntime.jsx(Ye,{item:t,className:e});case "websearch":case "websearch_output":case "web_search":return jsxRuntime.jsx(Xe,{item:t,className:e});case "search_queries":return jsxRuntime.jsx(Ro,{content:t.content,className:e});case "integration_queries":return jsxRuntime.jsx(Ao,{content:t.content,className:e});case "memory":return jsxRuntime.jsx(gn,{content:t.content,className:e});case "webparse":case "webparse_output":case "web_parse":return jsxRuntime.jsx(tn,{item:t,className:e});case "tool_group":return jsxRuntime.jsx(ue,{toolGroup:t.content,ContentComponent:s,className:e});case "bot_invocation":{let l=t.content,u=t.botInvocation;return jsxRuntime.jsx(pn,{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 jsxRuntime.jsx(Ke,{config:t.chartConfig,data:t.chartData,className:e});let u=De(t.content);if(u&&Oo(u))return Mo(u,e,l,r);let d=De(t.parsedJson);return d&&Oo(d)?Mo(d,e,l,r):u&&u.length>0||d&&d.length>0?jsxRuntime.jsx("p",{className:"w-full max-w-4xl text-sm text-muted-foreground",children:"The LLM generated an invalid response. Please try again."}):null}case "table":return t.tableColumns&&t.tableData?jsxRuntime.jsx(Qe,{columns:t.tableColumns,data:t.tableData,className:e}):jsxRuntime.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 jsxRuntime.jsx(ue,{toolGroup:u,ContentComponent:s,className:e})}case "tool_result":{let l=t.content,u={invocation:{invocation_id:l.id||"",action:l.action_type||"",params:l.input||{}},result:{invocation_id:l.id||"",result:l.result}},d={...u,invocation:{...u.invocation,id:l.id||"",name:l.name||"",input:l.input||{},action_type:l.action_type,description:l.description},result:{...u.result,id:l.id||"",name:l.name||"",input:l.input||{},result:l.result,status:l.status||"success",action_type:l.action_type,description:l.description,ui_content_type:l.ui_content_type||M(t.ui_content_type),running_message:l.running_message||l.running_status,finished_message:l.finished_message||l.finished_status}};return jsxRuntime.jsx(ue,{toolGroup:d,ContentComponent:s,className:e})}default:return typeof t.content=="string"?jsxRuntime.jsx(we,{content:t.content,className:e}):null}}function Bo(t){return typeof t.content=="string"?t.content:""}function Oo(t){return t.some(e=>{if(e.type==="text"){if(typeof e.content!="string")return false;let n=e.content.trim();return !(!n||n.startsWith("{")||n.startsWith("["))}if(e.type==="json"){let n=e.content,o=Lo(n);return o!==void 0&&o.length>0||te(n)}return false})}function Lo(t){let e=t?.children??t?.blocks;return Array.isArray(e)?e:void 0}function De(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=xt(t);return De(e)}return null}function Mo(t,e,n,o){return jsxRuntime.jsx(jsxRuntime.Fragment,{children:t.map((r,s)=>{if(r.type==="text"){let a=typeof r.content=="string"?r.content:String(r.content);return jsxRuntime.jsx(R,{content:a,className:e},`${s}-${a.length}`)}if(r.type==="json"){let a=r.content,i=Lo(a);return i?jsxRuntime.jsx(kt__namespace.default.Fragment,{children:jsxRuntime.jsx(re,{nodes:i,className:e,invocationId:n,onSuggestionClick:o})},`${s}-${i.length}`):te(a)?jsxRuntime.jsx(ur,{},s):null}return null})})}function Il({result:t,isStreaming:e,className:n,components:o,streamingText:r}){let s=t?$o(t):[];return r&&s.length===0?jsxRuntime.jsxs("div",{className:n?`erdo-ui ${n}`:"erdo-ui space-y-4",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("div",{className:"animate-pulse w-2 h-2 bg-blue-500 rounded-full"}),jsxRuntime.jsx("span",{className:"text-sm text-gray-500",children:"Streaming response..."})]}),jsxRuntime.jsx("div",{className:"border rounded-lg p-4 whitespace-pre-wrap",children:r})]}):s.length===0&&!e?null:jsxRuntime.jsxs("div",{className:n?`erdo-ui ${n}`:"erdo-ui space-y-4",children:[s.map((a,i)=>jsxRuntime.jsx("div",{children:jsxRuntime.jsx($t,{content:a,components:o})},a.id||i)),e&&s.length===0&&!r&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("div",{className:"animate-pulse w-2 h-2 bg-blue-500 rounded-full"}),jsxRuntime.jsx("span",{className:"text-sm text-gray-500",children:"Processing..."})]})]})}function $o(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 Nl(t){if(t.length===0)return t;let e=false;for(let o=0;o<t.length-1;o++){let r=t[o].type,s=t[o+1].type;if(r==="text"&&s==="json"||r==="json"&&s==="text"){e=true;break}}if(!e)return t;let n=[];for(let o=0;o<t.length;o++){let r=t[o],s=o>0?t[o-1]:null,a=o<t.length-1?t[o+1]:null;if(r.type==="text"&&typeof r.content=="string"){let i=r.content,c=false;if(a?.type==="json"){let l=i;i=i.replace(/```(?:json)?\s*$/,""),l!==i&&(c=true);}if(s?.type==="json"){let l=i;i=i.replace(/^\s*```/,""),l!==i&&(c=true);}(!c||i.trim())&&n.push({...r,content:i});}else n.push(r);}return n}var Tl=new Set(["=","("]);function El(t){if(!t||t.length===0)return true;let e=t[t.length-1];return !Tl.has(e)}function dr(t,e){if(t.user_visibility!=="visible"||!ve(t.content_type,t.ui_content_type.String))return typeof t.content=="object"?t:{...t,content:(t.content||"")+e};if(typeof t.content=="object"&&t.content!==null)return t;let n=t.parsedJson?[...t.parsedJson]:[];n.length>0&&(n[n.length-1]={...n[n.length-1]});let o=(t.content||"")+e,r=t._isInJson??false,s=t._charBuffer??"",a=t._jsonParser,i=n.length>0&&t._currentContent?n[n.length-1]:void 0;if(typeof e=="object")return {...t,content:(t.content||"")+JSON.stringify(e),parsedJson:[...n,e],_isInJson:r,_charBuffer:s,_jsonParser:a,_currentContent:void 0};let c=o.length-e.length,l="",u=()=>{l&&(!i||i.type!=="text"?(i={content:l,type:"text"},n.push(i)):i.content=i.content+l,l="");};for(let m=0;m<e.length;m++){let g=e[m];if(!r&&g==="{"){let f=o.slice(0,c+m);if(El(f)){u(),s="{";continue}}if(s&&Bt(g)){s+=g;continue}if(!r&&s?.match(/^\s*{\s*$/)&&g==='"'){r=true,a=new nt;let h={content:a.add("{"),type:"json"};i?.content?typeof i.content=="string"&&i.content.match(/^\s*{$/)?(i=h,n[n.length-1]=h):(typeof i.content=="string"&&(i.content=i.content.replace(/{$/,"")),i=h,n.push(h)):(i=h,n.push(h));}if(r)try{let f=a.add(g);i.content=f,a.state==="END"&&(r=!1,i=void 0);}catch{if(r=false,a=void 0,i&&i.type==="json"){let h=o.lastIndexOf("{"),b=o.slice(h,c+m+1);i.type="text",i.content=b;}continue}else l+=s+g;s="";}u();let d=i,p=Nl(n);return {...t,content:o,parsedJson:p,_isInJson:r,_charBuffer:s,_jsonParser:a,_currentContent:d}}function Re(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Dl(t){if(!Re(t)||!("content"in t))return t;let e=t.content;return e===void 0?t:e}function fe(t,e){let n=Dl(e);if((t==="thinking"||t==="redacted_thinking")&&typeof n=="string"){let o=$(n);return Re(o)?{content:o}:{content:n}}if(t==="json"&&typeof n=="string"){let o;try{let s=xt(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 Rl(t,e){return typeof e=="string"?e:Re(e)?t==="redacted_thinking"?typeof e.data=="string"?e.data:"":typeof e.thinking=="string"?e.thinking:"":""}function hn(t,e,n){let o=fe(t,n);if(t!=="thinking"&&t!=="redacted_thinking")return o;let r=Rl(t,e);return r?t==="redacted_thinking"?Re(o.content)&&typeof o.content.data!="string"?{...o,content:{...o.content,data:r}}:o:Re(o.content)&&typeof o.content.thinking!="string"?{...o,content:{...o.content,thinking:r}}:o:o}function xn(t){let e=t.metadata?.step_id??t.payload?.step_id;return typeof e=="string"?e:""}function pr(t){let e=t.metadata?.message_content_id??t.payload?.message_content_id;return typeof e=="string"?e:""}function Al(t){let e=t.metadata?.message_id;return typeof e=="string"?e:""}function mr(t,e){if(e.metadata?.content_type==="agent_invocation")return true;let n=Al(e);return !!(n&&n!==t.messageId)}function Pl(t){return typeof t=="string"?t:typeof t=="object"&&t!==null&&"content"in t?String(t.content??""):""}function kn(){return {nodes:[],byStepId:{},byContentId:{},childrenByParentId:{},rootStepId:null,messageId:null,isStreaming:false}}function fr(t,e){switch(e.type){case "message created":return Bl(t,e);case "message finished":return jo(t);case "step_started":return Ol(t,e);case "step_finished":return Ml(t,e);case "create message content":return Vl(t,e);case "message content delta":return Ll(t,e);case "message content result":return $l(t,e);case "status":return Ul(t,e);default:return t}}function Bl(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 Ol(t,e){let n=e.payload;if(!n?.step_id)return t;let o=t.byStepId[n.step_id],r=n.parent_step_id??null,s={kind:"step",id:n.step_id,parentId:r,type:n.type||o?.type||"agent",name:n.name||o?.name||"",key:n.key??o?.key,status:"running",contentType:n.content_type??o?.contentType,runningStatus:n.running_status??o?.runningStatus,finishedStatus:n.finished_status??o?.finishedStatus,hidden:n.hidden??o?.hidden},i=!r&&!t.rootStepId?n.step_id:t.rootStepId,c=r??"__root__",l=t.childrenByParentId[c]??[],u=l.includes(n.step_id)?t.childrenByParentId:{...t.childrenByParentId,[c]:[...l,n.step_id]},d=o?t.nodes.map(p=>p.kind==="step"&&p.id===n.step_id?s:p):[...t.nodes,s];return {...t,nodes:d,byStepId:{...t.byStepId,[n.step_id]:s},childrenByParentId:u,rootStepId:i,isStreaming:true}}function Ml(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 Vl(t,e){if(mr(t,e))return t;let n=pr(e);if(!n)return t;let o=xn(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 Ll(t,e){if(mr(t,e))return t;let n=pr(e),o=Pl(e.payload);if(!n||!o)return t;let r=t.byContentId[n],s=t;if(!r){let u=xn(e)||null,d=typeof e.metadata?.content_type=="string"&&e.metadata.content_type||"text",p=typeof e.metadata?.ui_content_type=="string"&&e.metadata.ui_content_type||d;r={kind:"content",id:n,stepId:u,contentType:d,uiContentType:p,text:"",state:"streaming"},s={...t,nodes:[...t.nodes,r],byContentId:{...t.byContentId,[n]:r}};}let a=r.text+o,i={},c=r.parsedContent;if(r.contentType==="json"){let u=Gl(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 $l(t,e){if(mr(t,e))return t;let n=pr(e);if(!n)return t;let o=xn(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?hn(r,a.result??a.text,e.payload):fe(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 jo(t){let e=t.nodes.map(o=>o.kind==="content"&&o.state==="streaming"?{...o,state:"completed"}:o),n={...t.byContentId};for(let[o,r]of Object.entries(n))r.state==="streaming"&&(n[o]={...r,state:"completed"});return {...t,nodes:e,byContentId:n,isStreaming:false}}function jl(t){let e=t.payload;return typeof e=="string"?e:e?.message||e?.status_message||e?.status||""}function Ul(t,e){let n=xn(e)||null,o=jl(e);if(!o)return t;if(n){let s=t.byStepId[n];return s?Fl(t,s,n,o):Jl(t,n,o)}let r={kind:"status",stepId:null,message:o};return {...t,nodes:[...t.nodes,r]}}function Fl(t,e,n,o){let r=e.status==="completed"||e.status==="error"?{...e,finishedStatus:o}:{...e,runningStatus:o};return {...t,nodes:t.nodes.map(s=>s.kind==="step"&&s.id===n?r:s),byStepId:{...t.byStepId,[n]:r}}}function Jl(t,e,n){let o=false,r=t.nodes.map(a=>{if(a.kind!=="content"||a.stepId!==e||a.contentType!=="tool_invocation"&&a.contentType!=="tool_result"||!a.result||typeof a.result!="object")return a;o=true;let i=a.state==="completed"?"finished_message":"running_message";return {...a,result:{...a.result,[i]:n}}});if(!o)return t;let s={...t.byContentId};for(let a of r)a.kind==="content"&&a.stepId===e&&t.byContentId[a.id]!==a&&(s[a.id]=a);return {...t,nodes:r,byContentId:s}}function Gl(t,e){let n=t,o={content:n._rawText??t.text,user_visibility:"visible",content_type:"json",ui_content_type:{String:t.uiContentType||"json",Valid:true},parsedJson:t.parsedContent??[],_jsonParser:n._jsonParser,_isInJson:n._isInJson,_charBuffer:n._charBuffer??"",_currentContent:n._currentContent},r=dr(o,e);return {parsedContent:r.parsedJson,_parserFields:{_rawText:r.content,_jsonParser:r._jsonParser,_isInJson:r._isInJson,_charBuffer:r._charBuffer,_currentContent:r._currentContent}}}function Wl(t){for(let e of t.nodes){if(e.kind==="step"){let o=t.byStepId[e.id];if(o&&o.type==="tool_call"&&!o.hidden)return true;continue}if(e.kind!=="content")continue;let n=t.byContentId[e.id];if(n&&!(n.contentType==="tool_invocation"||n.contentType==="agent_invocation")&&(n.contentType==="tool_result"&&n.result||n.text||n.parsedContent?.length||n.result))return true}return false}function bn(t,e,n){return e.type!=="llm_call"?false:!(e.parentId===t.rootStepId)&&n.contentType==="text"}function Cn(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"?ql(s.result):s.result;c&&typeof c=="object"&&(e.push({id:s.id,content_type:"json",ui_content_type:s.uiContentType||"json",content:c,state:s.state==="streaming"?"in_progress":"completed"}),a=true);}}if(a)return;let i=s.result??s.text;i&&e.push({id:s.id,content_type:s.contentType||"text",ui_content_type:s.uiContentType||"markdown",content:i,state:s.state==="streaming"?"in_progress":"completed"});}for(let s of t.nodes){if(s.kind!=="content")continue;let a=t.byContentId[s.id];if(!a||a.contentType==="tool_invocation")continue;if(a.contentType==="tool_result"){a.result&&a.result.action_type!=="bot.invoke"&&e.push({id:a.id,content_type:"tool_result",ui_content_type:a.uiContentType||"tool_result",content:a.result});continue}if(a.stepId===null){r(a);continue}let i=t.byStepId[a.stepId];if(!i){r(a);continue}o(i.id)||i.type!=="tool_call"&&(i.type==="llm_call"&&bn(t,i,a)||r(a));}return e}function ql(t){return t?$(t):null}function Yl(t){return (t.status==="completed"||t.status==="error")&&t.finishedStatus?t.finishedStatus:t.runningStatus?t.runningStatus:t.name.replace(/_/g," ")}function Xl(t){return t==="running"?"loading":t==="error"?"failed":"finished"}function tc(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 ec(t){return t==="info"?"info":t==="warning"?"warning":"standard"}function nc(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 Uo(t,e){let n=[],o="",r=[],s=0;function a(){r.length>0&&(n.push({id:`${e}-exec-${s}`,type:"codeexec",content:r.join(`
|
|
52
|
-
`),wrapperType:ec(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 Fo(t,e,n){let o=[];for(let r of t){if(r.contentType==="tool_invocation"||r.contentType==="tool_result")continue;let s=`${e}-content-${r.id}`,a=r.state==="streaming"?"running":"completed";if(r.contentType==="thinking"||r.contentType==="redacted_thinking"){let i=r.result??r.text;if(!i)continue;o.push({id:s,type:"thinking",contentItem:{id:s,content_type:r.contentType,ui_content_type:r.uiContentType||r.contentType,content:i,state:r.state==="streaming"?"in_progress":"completed"},status:a});continue}if(r.result){let i=r.result;if(typeof r.result=="string")if(r.contentType==="json"){let c=$(r.result);if(c!=null)i=c;else {let l=nc(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(...Uo(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(...Uo(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 rc(t,e){if(!t.rootStepId)return [];let n=[],o={},r={},s=new Set,a={},i={},c={},l={};function u(y){if(y!==t.rootStepId)return false;if(y in a)return a[y];let k=tc(t,y);return a[y]=k,k}function d(y){return r[y]||(r[y]=[]),r[y]}function p(y){if(y)return t.byStepId[y]}function m(y){if(!y)return false;if(y in l)return l[y];let k=y,S=[],_=false;for(;k;){if(k in l){_=_||l[k];break}S.push(k);let v=p(k);if(!v)break;if(v.hidden){_=true;break}k=v.parentId;}for(let v of S)l[v]=_;return _}function g(y){return m(y.id)}for(let y of t.nodes){if(y.kind!=="content")continue;let k=t.byContentId[y.id];if(!k||!k.stepId||k.contentType==="tool_invocation"||k.contentType==="tool_result"||k.contentType==="agent_invocation"||!k.text&&!k.result&&!k.parsedContent?.length)continue;let S=p(k.stepId);if(!S||g(S)||S.type==="llm_call"&&bn(t,S,k))continue;let _=k.stepId;for(;_;){c[_]=true;let v=p(_);if(!v)break;_=v.parentId;}}function f(y){return !!c[y]}function h(y){if(!y)return null;if(y in i)return i[y];let k=y;for(;k;){let S=p(k);if(!S)break;let _=k===t.rootStepId,v=S.type==="agent"&&!S.hidden&&(!_||!u(S.id)),I=S.type==="tool_call"&&!S.hidden;if(v||I)return i[y]=k,k;k=S.parentId;}return i[y]=null,null}function b(y,k){if(k.length===0)return;let S=h(y);if(!S){n.push(...k);return}let _=o[S];if(!_){d(S).push(...k);return}_.children||(_.children=[]),_.children.push(...k);}function x(y,k,S){if(!S||typeof S!="object")return [];let _=S,v=typeof _.result=="object"&&_.result!==null?_.result:_,I=[];typeof v.code=="string"&&v.code.trim()&&I.push({id:`${y}-${k}-codegen`,type:"codegen",contentData:v});let U=typeof v.output=="string"?v.output.trim():"";return U&&I.push({id:`${y}-${k}-output`,type:"codeexec",content:U}),I}for(let y of t.nodes){if(y.kind==="step"){let _=t.byStepId[y.id];if(!_||_.hidden||_.type==="llm_call"||_.id===t.rootStepId&&u(_.id)||s.has(_.id))continue;s.add(_.id);let v={id:_.id,type:"step",label:Yl(_),status:_.status},I=r[_.id];I&&I.length>0&&(v.children=I,delete r[_.id]),o[_.id]=v,b(_.parentId,[v]);continue}if(y.kind!=="content")continue;let k=t.byContentId[y.id];if(!k||k.contentType==="tool_invocation")continue;if(k.stepId===null){n.push(...Fo([k],"root",e));continue}let S=t.byStepId[k.stepId];if(S&&!g(S)&&!(S.type==="llm_call"&&bn(t,S,k))){if(S.type==="tool_call"&&k.contentType==="tool_result"){if(f(S.id))continue;b(S.id,x(S.id,k.id,k.result));continue}b(S.id,Fo([k],S.id,e));}}return n}function Jo({node:t,ContentComponent:e}){let[n,o]=kt.useState(t.status==="running"),r=kt.useRef(t.status==="running");if(kt.useEffect(()=>{r.current&&t.status!=="running"&&o(false),r.current=t.status==="running";},[t.status]),t.type==="text")return jsxRuntime.jsx(R,{content:t.content||"",className:"max-w-none"});if(t.type==="codegen"&&t.contentData){let{code:i,step_by_step:c,thinking:l}=t.contentData;return jsxRuntime.jsxs("div",{className:"space-y-2",children:[c&&jsxRuntime.jsx(R,{content:c,className:"text-sm max-w-none"}),l&&jsxRuntime.jsx(ie,{content:l,state:t.status==="running"?"in_progress":"completed"}),i&&jsxRuntime.jsx(vt,{language:"python",value:i,defaultOpen:false})]})}if(t.type==="codeexec"&&t.content){let i=t.wrapperType||"standard";return jsxRuntime.jsx(wt,{wrapperType:i,compact:true,children:jsxRuntime.jsx(le,{children:t.content})})}if(t.type==="thinking"&&t.contentItem)return jsxRuntime.jsx(oe,{item:t.contentItem});if(t.type==="content"&&t.contentItem&&e)return jsxRuntime.jsx(e,{content:t.contentItem});if(t.type==="content"&&t.contentItem)return jsxRuntime.jsx($t,{content:t.contentItem});let s=!!t.children?.length,a=t.status==="running"?"text-foreground":"text-muted-foreground";return jsxRuntime.jsxs(de__namespace.Root,{open:n,onOpenChange:o,className:"w-full",children:[jsxRuntime.jsxs(de__namespace.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:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(it,{status:Xl(t.status),size:14}),jsxRuntime.jsx("span",{children:t.label})]}),s&&jsxRuntime.jsx(lucideReact.ChevronDown,{className:`h-4 w-4 shrink-0 text-muted-foreground/50 transition-transform duration-200 ${n?"rotate-180":""}`})]}),s&&jsxRuntime.jsx(de__namespace.Content,{children:jsxRuntime.jsx("div",{className:"ml-5 mt-1 flex flex-col gap-1",children:t.children?.map(i=>jsxRuntime.jsx(Jo,{node:i,ContentComponent:e},i.id))})})]})}function Go({agentState:t,ContentComponent:e,className:n}){if(!t.rootStepId)return null;let o=kt.useMemo(()=>rc(t,e),[t,e]);return o.length===0?null:jsxRuntime.jsx("div",{className:`flex flex-col gap-1 ${n||""}`,children:o.map(r=>jsxRuntime.jsx(Jo,{node:r,ContentComponent:e},r.id))})}function Sn(t){if(t.type==="dynamic-tool"&&t.toolName?.startsWith("erdo_"))return t.toolName;if(t.type.startsWith("tool-erdo_"))return t.type.slice(5)}function oc(t){return Sn(t)!==void 0}var sc={erdo_render_chart:"ui",erdo_render_table:"ui",erdo_ask_data_question:"markdown",erdo_list_datasets:"data",erdo_search_datasets:"data",erdo_get_dataset_schema:"data",erdo_gather_dataset_context:"data",erdo_query_data:"data",erdo_run_query:"data",erdo_fetch_dataset_contents:"data",erdo_list_threads:"data",erdo_get_thread_messages:"data"};function gr(t){return sc[t]??"data"}function Wo({part:t,className:e,onSuggestionClick:n}){let o=Sn(t);if(!o)return null;if(["partial-call","call","input-streaming","input-available"].includes(t.state))return jsxRuntime.jsxs("div",{className:e||"flex items-center gap-2 py-4 text-muted-foreground",children:[jsxRuntime.jsx(lucideReact.Loader2,{className:"h-4 w-4 animate-spin"}),jsxRuntime.jsxs("span",{className:"text-sm",children:["Running ",ic(o),"..."]})]});if(t.state==="result"||t.state==="output-available"){let s=t.output??t.result;if(t.errorText)return jsxRuntime.jsxs("div",{className:e||"flex items-center gap-2 py-2 text-sm text-destructive",children:[jsxRuntime.jsx(lucideReact.AlertCircle,{className:"h-4 w-4 shrink-0"}),jsxRuntime.jsx("span",{children:t.errorText})]});if(s&&typeof s=="object"&&"error"in s&&s.error)return jsxRuntime.jsxs("div",{className:e||"flex items-center gap-2 py-2 text-sm text-destructive",children:[jsxRuntime.jsx(lucideReact.AlertCircle,{className:"h-4 w-4 shrink-0"}),jsxRuntime.jsx("span",{children:String(s.error)})]});switch(gr(o)){case "ui":{let i=s?.children;return i&&Array.isArray(i)&&i.length>0?jsxRuntime.jsx("div",{className:e,children:jsxRuntime.jsx(re,{nodes:i,invocationId:t.toolCallId,onSuggestionClick:n})}):s?jsxRuntime.jsx("div",{className:e,children:jsxRuntime.jsx(ht,{content:s})}):null}case "markdown":{let i=s?.answer;if(i)return jsxRuntime.jsx("div",{className:e,children:jsxRuntime.jsx(R,{content:i})});let c=s?.output;return c?jsxRuntime.jsx("div",{className:e,children:jsxRuntime.jsx(R,{content:c})}):s?jsxRuntime.jsx("div",{className:e,children:jsxRuntime.jsx(ht,{content:s})}):null}case "data":return s!=null?jsxRuntime.jsx("div",{className:e,children:jsxRuntime.jsx(ht,{content:s})}):null}}return t.state==="output-error"?jsxRuntime.jsxs("div",{className:e||"flex items-center gap-2 py-2 text-sm text-destructive",children:[jsxRuntime.jsx(lucideReact.AlertCircle,{className:"h-4 w-4 shrink-0"}),jsxRuntime.jsx("span",{children:t.errorText||"Tool execution failed"})]}):null}function ic(t){return t.replace(/^erdo_/,"").split("_").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ")}function J(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 lc(t){return t.contents.length===0?null:t.contents[t.contents.length-1]||null}function Qo(t){return t.contents.length===0?null:t.contents[0]||null}function qo(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 kr(t,e){let n=J(t);switch(n){case "message":return t;case "step":let o=t;if(e){let a=o.eventsByID[e]?.Message;return a||Xo({},"",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 cc(t,e){switch(J(t)){case "message_content":return t;case "output_content":return t;case "message":return ye(t,e);case "output":return he(t,e);case "step":let o=wn(t,e);return o?he(o,e):null;default:return null}}function ye(t,e){let n=J(t);switch(n){case "message_content":return t;case "message":let o=kr(t);if(!o)throw new Error("Unable to find message to add content to");return e?o.contentsByID[e]:lc(o);default:throw new Error(`Unable to have message content on entity type ${n}`)}}function he(t,e){let n=J(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=wn(t,e);return s?he(s):null;case "invocation":if(!e)return null;let a=t.eventsByID[e];return !a||!a.Output?null:he(a.Output);default:throw new Error(`Unable to have output content on entity type ${n}`)}}function br(t,e){let n=J(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=Qo(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 wn(t,e){let n=J(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 Zo(t,e){let n=J(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 Yo(t,e){let n=J(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 hr=class extends Error{};function uc(t,e,n){let o=null,r=e[0],s=e[1];n[r]=s;try{switch(r){case "message":o=kr(t,s);break;case "content":o=ye(t,s);break;case "step":o=Yo(t,s);break;case "output":o=wn(t,s);break;case "output_content":o=he(t,s);break;case "invocation":o=br(t,s);break;case "result_handler":o=Zo(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 hr(`Unable to find next entity for path ${e.join("/")}`);return o}function Xo(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 dc(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 pc(t,e){let n=t.metadata.content_type||"text",o=t.metadata?.ui_content_type,r=fe(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 mc(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 fc(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 gc(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 zo(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 Ho(t,e,n,o=null){let r=t.metadata.content_type||"text",s=fe(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 yc(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 Pe(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 ts(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 Cr(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 _r(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 hc(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 xc(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 kc=new Set(["=","("]);function bc(t){if(!t||t.length===0)return true;let e=t[t.length-1];return !kc.has(e)}function es(t,e){if(t.content||(t.content=""),t.user_visibility!=="visible"||!ve(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&&!Bt(r)){t._isInJson=true,t._jsonParser=new nt;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(bc(a)){t._charBuffer="{";continue}}if(t._charBuffer&&Bt(r)){t._charBuffer+=r;continue}if(!t._isInJson&&!s&&o==="ui_generation"&&t._charBuffer?.match(/^\s*{\s*$/)&&r==='"'){t._isInJson=true,t._jsonParser=new nt;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 Cc(t,e){return es(t,e)}function Ko(t,e){return es(t,e)}function xr(t,e){let n=J(t);switch(n){case "message":return ft(t,e);case "message_content":return vn(t,e);case "step":return Sc(t,e);case "output":return vc(t,e);case "output_content":return wc(t,e);case "invocation":return Be(t,e);case "result_handler":return Ic(t,e);default:throw new Error(`Unable to add update entity for entity type ${n}`)}}function _c(t,e){for(let n of e)t=xr(t,n);return t}function ft(t,e){let n=kr(t);if(!n)throw new Error("Unable to find message to add content to");let o=J(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=vn(n.contents[0],s),ft(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=br(r);if(!a)throw new Error("Unable to find bot invocation to add content to");return r.botInvocation=Be(a,e),ft(n,r);case "status":if(n.contents.length>0){let i=n.contents[0];if(i?.botInvocation){let c=vn(i,e);return ft(n,c)}}return {...n};default:throw new Error(`Unable to add update message child for child type ${o}`)}}function vn(t,e){let n=ye(t);if(!n)throw new Error("Unable to find message content to add content to");let o=J(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=Be(r,e),{...n};case "status":return n.botInvocation&&(n.botInvocation=Be(n.botInvocation,e)),{...n};default:throw new Error(`Unable to add update message content child for child type ${o}`)}}function Sc(t,e){let n=Yo(t);if(!n)throw new Error("Unable to find bot invocation to add step to");let o=J(e),r=null;switch(o){case "output":let s=e;return r=Cr(s),n.eventsByID={...n.eventsByID,[s.output.id]:r},{...n};case "message":let a=e;return r=hc(a),n.eventsByID={...n.eventsByID,[a.message.id]:r},{...n};case "status":let i=e;return r=_r(i),n.eventsByID={...n.eventsByID,[i.id]:r},{...n};case "result_handler":let c=e;return r=xc(c),n.eventsByID={...n.eventsByID,[c.id]:r},{...n};default:throw new Error(`Unable to add update step for entity type ${o}`)}}function vc(t,e){let n=wn(t);if(!n)throw new Error("Unable to find step output to add content to");let o=J(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 wc(t,e){let n=he(t);if(!n)throw new Error("Unable to find step output content to add content to");let o=J(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=Be(r,e),{...n};default:throw new Error(`Unable to add update step output content for entity type ${o}`)}}function Be(t,e){let n=br(t);if(!n)throw new Error("Unable to find bot invocation to add content to");let o=J(e),r;switch(o){case "step":let s=e;return r=ts(s),n.eventsByID={...n.eventsByID,[s.id]:r},{...n};case "output":let a=e;return r=Cr(a),n.eventsByID={...n.eventsByID,[a.output.id]:r},{...n};case "status":let i=e;return r=_r(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 Ic(t,e){let n=Zo(t);if(!n)throw new Error("Unable to find result handler to add content to");let o=J(e),r=null;switch(o){case "step":let s=e;return r=ts(s),n.eventsByID||(n.eventsByID={}),n.eventsByID={...n.eventsByID,[s.id]:r},{...n};case "output":let a=e;return r=Cr(a),n.eventsByID||(n.eventsByID={}),n.eventsByID={...n.eventsByID,[a.output.id]:r},{...n};case "status":let i=e;return r=_r(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 Nc(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 In(t,e,n,o,r,s=null,a=[],i={}){if(!s&&Object.keys(r).length>0){let d,p;if(n.length>=2&&n[0]==="message"?(p=n[1],d=r[p],d||(d=Object.values(r)[0],p=Object.keys(r)[0])):(d=Object.values(r)[Object.values(r).length-1],p=Object.keys(r)[Object.keys(r).length-1]),i.message=p,n.length<=2&&t==="message finished")return r[p]=qo(d),null;if(n[0]!=="content"&&Object.keys(d.contentsByID).length>0&&e.metadata.message_content_id){let m=e.metadata.message_content_id,g=d.contentsByID[m];g&&(s=g);}s?a=[d]:s=d;}if(n.length<=2&&Nc(t)){let d=n[1],p=[],m,g,f,h,b;switch(t){case "bot started":case "bot resumed":if(!s)throw new Error("Unable to find message to add content to");let x=yc(e);if(s._type==="message_content"){if(g=s,!g.id)throw new Error("Unable to find message content id");if(f=r[g.message_id],!f)throw new Error("Unable to find message to add content to");if(h=ye(f,g.id),!h)throw new Error("Unable to find message content to add content to");let _=vn(h,x);r[g.message_id]={...ft(f,_)};}p.push(x);break;case "message created":return r[d]=Xo(e,o,d),null;case "create message content":if(!s)throw new Error("Unable to find message to add content to");if(b=dc(e,i),s._type==="output"){m=s,p.push(zo(e,d,i,"hidden"));let _=e.payload.message_id;if(_||(_=a[0].message.id),f=r[_],!f)throw new Error("Unable to find message to add content to")}else if(s._type==="message_content"){if(m=s,f=r[m.message_id],!f)throw new Error("Unable to find message to add content to")}else {if(s._type!=="message")throw new Error(`Incorrect path? Cannot add content to non-message entity: ${s._type}`);if(m=s,f=r[m.message.id],!f)throw new Error("Unable to find message to add content to");p.push(b);}r[f.message.id]={...ft(f,b)};break;case "message content result":if(!s)throw new Error("Unable to find message to add content to");let y=null;if(s._type==="output"){p.push(Ho(e,d,i,"hidden"));let _=e.payload.message_id||i.message;if(_?y=a.find(v=>v.message.id===_):y=a[0],f=r[_],!f)throw new Error("Unable to find message to add content to")}else if(s._type==="message_content"){if(y=a[0],f=r[y.message.id],!f)throw new Error("Unable to find message to add content to")}else {if(s._type!=="message")throw new Error(`Incorrect path? Cannot add content to non-message entity: ${s._type}`);if(y=s,f=r[y.message.id],!f)throw new Error("Unable to find message to add content to")}let k=e.metadata.message_content_id;if(!k)throw new Error("Unable to find message content id");let S=ye(y,k);if(S){S.state="completed";let _=S.content_type||"text",v=hn(_,S.content,e.payload);S.content=v.content,v.parsedJson&&(S.parsedJson=v.parsedJson),r[f.message.id]={...ft(f,S)},(s._type==="message"||s._type==="message_content")&&p.push(S);}else S=pc(e,i),r[f.message.id]={...ft(f,S)},(s._type==="message"||s._type==="message_content")&&p.push(S);break;case "step started":p.push(mc(e,d,i));break;case "result handler started":p.push(fc(e,d));break;case "step output created":p.push(gc(e,d,s));break;case "create step output content":p.push(zo(e,d,i));break;case "step output content result":p.push(Ho(e,d,i));break;case "log":return null;default:throw new Error(`Unable to handle create event type ${t}`)}return p.length?!s||s._type==="message_content"&&p.length===1&&p[0]._type==="message_content"?p[0]:_c(s,p):null}if(!s)throw new Error("No first message has been created, so cannot handle amend events");if(n.length<=1){let d=null;try{d=cc(s);}catch{}switch(t){case "message content delta":if(!d)throw new Error("Unable to find message content");let p=null,m=null,g=null;if(s._type==="output_content"){p=Ko(s,e.payload);let x=e.metadata.message_content_id;if(!x)throw new Error("Unable to find message content id from entity ids");let y=i.message;if(g=a.find(k=>k.message.id===y),!g)throw new Error("Unable to find message to add content to");m=ye(g,x);}else {if(m=d,g=a[a.length-1],!g)throw new Error("Unable to find message to add content to");if(g._type!=="message")throw new Error("Unable to find message to add content to - not a message")}if(!m)throw new Error("Unable to find message content");let f=r[g.message.id];if(!f)throw new Error("Unable to find message to add content to");let h=Cc(m,e.payload);return r[f.message.id]={...ft(f,h)},s._type==="message_content"&&(p=h),p;case "step output content delta":return Ko(d,e.payload);case "status":if(s._type==="step"&&(s.currentStatus=Pe(e)),s._type==="invocation"&&(s.currentStatus=Pe(e)),s._type==="message_content"){let b=s;if(b.botInvocation)return b.botInvocation.currentStatus=Pe(e),{...b}}if(s._type==="message"){let b=s,x=Qo(b);if(x?.botInvocation)return x.botInvocation.currentStatus=Pe(e),ft(b,x)}return xr(s,Pe(e));case "result":return null;case "message finished":if(s._type==="message"){let x=qo(s);r[x.message.id]=x;}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=uc(s,n,i),u=In(t,e,c,o,r,l,[...a,s],i);return u?xr(s,{...u}):s}function Sr(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 ns(t){let e=t.content_type;if(e==="tool_result")return "result";if(e==="tool_invocation")return "invocation";let n=Sr(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 rs(t){return Sr(t)?.id}function os(t){let e=Sr(t);if(!e?.action_type)return null;let o=e.input?.query;return `${e.action_type}:${o||""}`}function ss(t){let e=t.filter(r=>ns(r)==="result"),n=new Set(e.map(r=>rs(r)).filter(Boolean)),o=new Set(e.map(r=>os(r)).filter(Boolean));return t.filter(r=>{if(ns(r)==="invocation"){let s=rs(r),a=os(r);if(s&&n.has(s)||a&&o.has(a))return false}return true})}function as(t,e,n){let o=e;for(;o;){if(o===n)return true;o=t.byStepId[o]?.parentId??null;}return false}function Nn(t,e){if(!e||!t.byStepId[e])return t;let n=new Set;for(let i of t.nodes)i.kind==="step"&&as(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 Tn(){return zustand.createStore((t,e)=>({globalState:kn(),invocationStates:{},invocationRootSteps:{},pendingInvocationQueue:[],pushEvent:(n,o)=>{let r=e(),s=r.pendingInvocationQueue,a=r.invocationRootSteps,i=r.invocationStates,c=false;if(n.type==="message content result"&&n.metadata?.content_type==="agent_invocation"){let g=n.payload,f=(g&&typeof g=="object"&&typeof g.invocation_id=="string"?g.invocation_id:"")||(typeof n.metadata?.invocation_id=="string"?n.metadata.invocation_id:"");f&&!a[f]&&!s.includes(f)&&(s=[...s,f],c=true);}let l=fr(r.globalState,n);if(o&&(l=o(l)),n.type==="step_started"&&s.length>0){let m=n.payload,g=m&&typeof m.step_id=="string"?m.step_id:"",f=m&&typeof m.type=="string"?m.type:"";if(g&&f==="agent"){let h=s[0],b=Nn(l,g);a={...a,[h]:g},i={...i,[h]:b},s=s.filter(x=>x!==h),c=true;}}if(l===r.globalState&&!c)return;let u=n.metadata?.step_id??n.payload?.step_id??"",d={...i},p=c;for(let[m,g]of Object.entries(a)){if(c&&!r.invocationRootSteps[m])continue;let f=r.invocationStates[m];if(u&&!as(l,u,g)&&u)continue;let h=Nn(l,g);if(!(n.type==="step_finished"||n.type==="step_started"||n.type==="status")&&f&&f.nodes.length===h.nodes.length){let x=f.nodes[f.nodes.length-1],y=h.nodes[h.nodes.length-1];if(x===y&&f.isStreaming===h.isStreaming)continue}d[m]=h,p=true;}t({globalState:l,...p?{invocationStates:d}:{},...c?{pendingInvocationQueue:s,invocationRootSteps:a}:{}});},reset:()=>{t({globalState:kn(),invocationStates:{},invocationRootSteps:{},pendingInvocationQueue:[]});}}))}function Rc(t){return t.split("/").filter(Boolean)}function is(t={}){let e=Ft(),[n,o]=kt.useState(null),[r,s]=kt.useState(false),[a,i]=kt.useState(null),[c,l]=kt.useState([]),u=kt.useRef(Tn()),d=zustand.useStore(u.current,x=>x.globalState),p=kt.useRef(null),m=kt.useRef(t.threadId);t.threadId!==m.current&&(m.current=t.threadId);let g=kt.useCallback(()=>{p.current&&(p.current.abort(),p.current=null);},[]),f=kt.useCallback(x=>{o(x),m.current=x.id;},[]),h=kt.useCallback(async x=>{if(!e.client)throw new Error("ErdoClient not configured in provider. Pass a client to ErdoProvider config to use useThread.");if(!e.client.sendMessage)throw new Error("ErdoClient does not support sendMessage. Make sure you are using @erdoai/server client.");if(!e.client.createThread)throw new Error("ErdoClient does not support createThread. Make sure you are using @erdoai/server client.");g(),p.current=new AbortController,s(true),i(null),l([]),u.current.getState().reset();let y={};try{let k=m.current;if(!k){let I=await e.client.createThread();o(I),m.current=I.id,k=I.id;}for await(let I of e.client.sendMessage(k,{content:x,botKey:t.botKey})){if(p.current?.signal.aborted)break;if(t.onEvent?.(I),e.useAgentEvents)u.current.getState().pushEvent(I);else {let U=I.type||"",tt=I.metadata||{},O=Rc(tt.path||""),H={payload:I.payload,metadata:{path:tt.path||"",...tt}};try{In(U,H,O,k,y);}catch(G){console.error("Error handling SSE event:",G,U);}l(Object.values(y));}}let S=Object.values(y);l(S);let _=u.current.getState().globalState,v;_.rootStepId?v=Cn(_):v=S.flatMap(I=>I.contents||[]).filter(I=>I.user_visibility==="visible").map(I=>({id:I.id,content_type:I.content_type,ui_content_type:M(I.ui_content_type),content:I.content,parsedJson:I.parsedJson,botInvocation:I.botInvocation})),t.onFinish?.(v);}catch(k){let S=k instanceof Error?k:new Error(String(k));throw i(S),t.onError?.(S),S}finally{s(false),p.current=null;}},[e.client,e.useAgentEvents,t,g]),b=kt.useMemo(()=>{if(d.rootStepId)return Cn(d);let x=c.flatMap(k=>k.contents||[]).filter(k=>k.user_visibility==="visible");return ss(x).map(k=>({id:k.id,content_type:k.content_type,ui_content_type:M(k.ui_content_type),content:k.content,parsedJson:k.parsedJson,botInvocation:k.botInvocation}))},[c,d]);return {thread:n,isStreaming:r,error:a,activeMessages:c,agentState:d,streamingContents:b,sendMessage:h,cancel:g,setThread:f,agentStreamStore:u.current}}function Ac(t){return t?typeof t=="string"?t:typeof t=="object"&&t!==null&&"String"in t&&t.String||"":""}function ls(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(e==="ui_generation")try{o.parsedJson=xt(t.content);}catch(r){console.error("Error parsing UI generation content:",r);}else if((n==="json"||e==="json")&&t.content.trim()){let r=$(t.content);r!=null&&(o.parsedJson=[{type:"json",content:r}]);}}if((t.content_type==="thinking"||t.content_type==="redacted_thinking")&&typeof t.content=="string"){let r=$(t.content);r&&typeof r=="object"&&(o.content=r);}return o}function Pc(t){return t.filter(e=>e.user_visibility!=="hidden").map(ls)}var Dn=kt.createContext(null);function us({store:t,children:e}){return jsxRuntime.jsx(Dn.Provider,{value:t,children:e})}function ds(){return kt.useContext(Dn)}function ps(t){let e=kt.useContext(Dn);return zustand.useStore(e,n=>t?n.invocationStates[t]:void 0)}function ms(){let t=kt.useContext(Dn);return zustand.useStore(t,e=>e.globalState)}exports.AgentStreamStoreProvider=us;exports.BarChart=Dt;exports.BotInvocationContent=pn;exports.Chart=ut;exports.ChartContainer=Se;exports.ChartContent=Ke;exports.ChartLegend=$n;exports.ChartLegendContent=jn;exports.ChartNode=Xn;exports.ChartStyle=Lr;exports.ChartTooltip=Vn;exports.ChartTooltipContent=Ln;exports.CodeexecContent=un;exports.CodegenContent=an;exports.CollapsibleCodeBlock=vt;exports.Content=$t;exports.DatasetChart=Ue;exports.DatasetDownload=ee;exports.DatasetMetric=Or;exports.DatasetTable=Fe;exports.DownloadButtonNode=nr;exports.ErdoProvider=Tr;exports.ErdoToolResult=Wo;exports.ErdoUI=Il;exports.ErrorBoundary=Et;exports.ExecutionStatus=to;exports.ExpandableOutputContent=wt;exports.FileDownloadsNode=or;exports.HeatmapChart=Qt;exports.InvocationEvent=ze;exports.InvocationEvents=Pt;exports.InvocationStatus=Xr;exports.JSONStreamParser=nt;exports.JsonContent=ht;exports.LineChart=zt;exports.Loader=Vo;exports.Log=ar;exports.LogContent=Ye;exports.MarkdownContent=R;exports.MemoryContent=gn;exports.Output=Je;exports.PieChart=Ht;exports.ScatterChart=Kt;exports.SqlContent=nn;exports.StatusSpinner=it;exports.StderrText=ce;exports.StdoutText=le;exports.StdwarnText=on;exports.StepInvocation=qe;exports.StepInvocationStatus=We;exports.StepTreeContent=Go;exports.SuggestionsNode=rr;exports.TableContent=Qe;exports.TableNode=tr;exports.TextContent=we;exports.TextMarkdownNode=er;exports.ThinkingContent=oe;exports.ToolGroupContent=ue;exports.UIGenerationNodes=re;exports.WebParseContent=tn;exports.WebSearchContent=Xe;exports.WritingLoader=ur;exports.agentStateToContents=Cn;exports.cn=X;exports.completeStreamingContent=jo;exports.createAgentStreamStore=Tn;exports.createInitialAgentState=kn;exports.extractContentItems=$o;exports.formatValue=et;exports.getErdoToolName=Sn;exports.getErdoToolRenderType=gr;exports.handleAgentEvent=fr;exports.handleIncrementalMixedJsonParsing=dr;exports.handleSSEEvent=In;exports.hasRenderableAssistantOutput=Wl;exports.isErdoTool=oc;exports.isJsonLike=ve;exports.isNullString=zr;exports.isParsingComplete=Wa;exports.isParsingInProgress=te;exports.isWhitespaceChar=Bt;exports.nodeComponents=sr;exports.normalizeContent=ls;exports.normalizeContents=Pc;exports.normalizeUIGenerationChunks=De;exports.normalizeUINodes=Qn;exports.parseCompleteJson=$;exports.parseMixedJson=xt;exports.parseToDate=Br;exports.resolveKeyFromData=Zt;exports.sliceAgentStateToRoot=Nn;exports.toSnakeCase=Jr;exports.unwrapNullString=M;exports.unwrapNullStringOr=xa;exports.useAgentStreamGlobalState=ms;exports.useAgentStreamStoreOptional=ds;exports.useChartZoom=Ve;exports.useDatasetContents=Gt;exports.useErdoConfig=Ft;exports.useErdoConfigOptional=Q;exports.useInvocationState=ps;exports.useMultipleDatasetContents=Pr;exports.useMultipleDatasetRequests=be;exports.useThread=is;
|
|
51
|
+
`).length} lines)`:""}`;return jsxRuntime.jsxs("div",{className:`text-sm text-muted-foreground ${e||""}`,children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(it,{status:s?"loading":"finished",size:14}),jsxRuntime.jsx("span",{children:s?i:c})]}),r&&jsxRuntime.jsx("div",{className:"mt-1",children:jsxRuntime.jsx(ie,{content:r,state:t.state})})]})}function Fi(t,e){if(typeof t=="object"&&t!==null&&!Array.isArray(t))return t;if(Array.isArray(e)){let n=e.find(o=>o.type==="json");if(n&&typeof n.content=="object"&&n.content!==null)return n.content}return null}function un({item:t,className:e}){let n=Gi(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 jsxRuntime.jsx("div",{className:`text-foreground leading-normal ${e||""}`,children:jsxRuntime.jsx(wt,{wrapperType:s,compact:true,children:n.map((a,i)=>jsxRuntime.jsx(Ji,{output:a},`${a.level}-${i}`))})})}function Ji({output:t}){switch(t.level){case "output":return jsxRuntime.jsx(le,{timestamp:t.timestamp,children:t.message});case "error":return jsxRuntime.jsx(ce,{timestamp:t.timestamp,children:t.message});case "warning":return jsxRuntime.jsx(on,{timestamp:t.timestamp,children:t.message});default:return jsxRuntime.jsx("div",{className:"text-muted-foreground",children:t.message})}}function Gi(t){let e=No(t.content);return e.length>0?e:No(t.parsedJson)}function No(t){return cn(t).map((n,o)=>Wi(n,o)).filter(n=>n!==null)}function cn(t){if(Array.isArray(t))return t.every(qi)?t.flatMap(e=>cn(e.content)):t;if(typeof t=="string"){let e=$(t);return e!=null?cn(e):cn(xt(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 Wi(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 qi(t){return !!(t&&typeof t=="object"&&"type"in t&&"content"in t)}function Ki(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 Qi(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 ue({toolGroup:t,ContentComponent:e,className:n,fallbackClassName:o}){let[r,s]=kt.useState(false),a=Q(),i=e??a?.ContentComponent;kt.useEffect(()=>{Ze();},[]);let c=t.invocation,l=t.result,u=Ki(l),d=c?.name||l?.name,p=Qi(d,l,c),m=!l,g=u&&!m;return jsxRuntime.jsxs("div",{className:n,children:[jsxRuntime.jsx("span",{role:g?"button":void 0,tabIndex:g?0:void 0,onClick:()=>g&&s(!r),onKeyDown:f=>{g&&(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),s(!r));},className:`text-sm ${m?"erdo-shimmer":g?"text-muted-foreground hover:text-foreground/70 cursor-pointer transition-colors":"text-muted-foreground"}`,children:p}),r&&u&&l&&jsxRuntime.jsx("div",{className:"mt-1",children:i?jsxRuntime.jsx(i,{content:{content:l.result,content_type:l.ui_content_type||"json"}}):jsxRuntime.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 Lt={Success:"success",Error:"error",RequiresInfo:"requires info"};function el(t){return t?t===Lt.Success?"finished":t===Lt.Error||t===Lt.RequiresInfo?"failed":"loading":"loading"}function Do(t){return t?t!==Lt.Success&&t!==Lt.Error&&t!==Lt.RequiresInfo:true}function nl(t,e){let n=e||"agent",o=M(t?.message);return o||(t?.status===Lt.Success?`Finished ${n}`:`Running ${n}...`)}function pn({content:t,botInvocation:e,isLoading:n=false,defaultOpen:o,adminLinkHref:r,adminLinkText:s="Open in Agent Designer",showAdminLink:a=false,onAdminClick:i,onExpand:c,EventsComponent:l,ContentComponent:u,className:d}){let p=()=>o!==void 0?o:Do(e?.currentStatus?.status),[m,g]=kt.useState(p),[f,h]=kt.useState(false),b=kt.useRef(null);if(kt.useEffect(()=>{if(e?.currentStatus){let v=e.currentStatus.status;if(b.current!==v&&(b.current=v,!f)){let N=Do(v);N&&!m?g(true):!N&&m&&g(false);}}},[e,f,m]),kt.useEffect(()=>{m&&e&&c&&c(t.invocation_id,t.bot_id,t.bot_name);},[m,e,c,t]),n&&!e&&!t.transparent)return jsxRuntime.jsxs("div",{className:`flex items-center gap-2 text-sm text-muted-foreground ${d||""}`,children:[jsxRuntime.jsx(it,{status:"loading"}),jsxRuntime.jsxs("span",{children:["Loading ",t.bot_name,"..."]})]});if(!e)return null;let x=e.eventsByID&&Object.keys(e.eventsByID).length>0;if(t.transparent)return x?l?jsxRuntime.jsx(l,{eventsByID:e.eventsByID,defaultOpen:true}):jsxRuntime.jsx(Pt,{eventsByID:e.eventsByID,ContentComponent:u}):null;let y=el(e.currentStatus?.status),k=nl(e.currentStatus,t.bot_name),S=v=>{g(v),h(true);},_=v=>{i&&(v.preventDefault(),i(t.invocation_id,t.bot_id));};return jsxRuntime.jsxs(de__namespace.Root,{open:m,onOpenChange:S,className:`relative w-full max-w-4xl space-y-2 leading-normal bot-invocation-content ${d||""}`,children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntime.jsxs(de__namespace.Trigger,{className:"flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:[jsxRuntime.jsxs("div",{className:"text-sm font-medium flex items-center gap-2",children:[jsxRuntime.jsx(it,{status:y}),k]}),jsxRuntime.jsx(lucideReact.ChevronDown,{className:`h-4 w-4 transition-transform duration-200 ${m?"transform rotate-180":""}`})]}),a&&(r||i)&&jsxRuntime.jsxs("a",{href:r||"#",onClick:i?_:void 0,target:r?"_blank":void 0,rel:r?"noopener noreferrer":void 0,className:"flex items-center gap-1 text-sm text-muted-foreground hover:text-foreground transition-colors",children:[s,jsxRuntime.jsx(lucideReact.ArrowUpRight,{className:"h-3.5 w-3.5"})]})]}),jsxRuntime.jsx(de__namespace.Content,{children:jsxRuntime.jsx("div",{className:"space-y-2 max-w-3xl",children:x?l?jsxRuntime.jsx(l,{eventsByID:e.eventsByID,defaultOpen:m}):jsxRuntime.jsx(Pt,{eventsByID:e.eventsByID,ContentComponent:u}):jsxRuntime.jsx("span",{className:"text-sm text-muted-foreground",children:"No events to display"})})})]})}function Ro({content:t,isSearching:e=false,className:n}){let o=[];Array.isArray(t)?o=t:typeof t=="object"&&t!==null&&"q"in t?o=t.q:typeof t=="string"&&(o=[t]);let r=o.filter(s=>s&&typeof s=="string"&&s.trim()!=="");return r.length===0?null:jsxRuntime.jsx("div",{className:`flex flex-wrap gap-2 ${n||""}`,children:r.map(s=>jsxRuntime.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?jsxRuntime.jsx(lucideReact.Loader2,{className:"h-3 w-3 mr-2 text-muted-foreground flex-shrink-0 animate-spin"}):jsxRuntime.jsx(lucideReact.Search,{className:"h-3 w-3 mr-2 text-muted-foreground flex-shrink-0"}),jsxRuntime.jsx("span",{className:"line-clamp-1",children:s})]},s))})}function Ao({content:t,isSearching:e=false,className:n}){let o=[];if(Array.isArray(t))o=t;else if(typeof t=="object"&&t!==null&&"integration_queries"in t)o=t.integration_queries;else if(typeof t=="string")return null;let r=o.filter(s=>s&&s.query&&typeof s.query=="string"&&s.query.trim()!=="");return r.length===0?null:jsxRuntime.jsx("div",{className:`flex flex-wrap gap-2 ${n||""}`,children:r.map(s=>jsxRuntime.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?jsxRuntime.jsx(lucideReact.Loader2,{className:"h-3 w-3 mr-2 text-muted-foreground flex-shrink-0 animate-spin"}):jsxRuntime.jsx(lucideReact.Search,{className:"h-3 w-3 mr-2 text-muted-foreground flex-shrink-0"}),jsxRuntime.jsx("span",{className:"line-clamp-1",children:s.query})]},`${s.integration_config_id}-${s.resource_id}-${s.query}`))})}var gl=120;function yl(t,e){return !t||t.length<=e?t:t.slice(0,e).trimEnd()+"..."}function hl(t){switch(t){case "snippet":return lucideReact.Code;case "learning":return lucideReact.Brain;case "error":return lucideReact.AlertCircle;case "limitation":return lucideReact.AlertCircle;case "optimization":return lucideReact.Zap;default:return lucideReact.Lightbulb}}function xl(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 kl({memory:t}){let[e,n]=kt.useState(false),o=hl(t.type),r=xl(t.type),s=t.type==="snippet",a=yl(t.description||"",gl),i=t.content&&typeof t.content=="string"&&t.content.trim()!=="",c=s&&i;return jsxRuntime.jsxs(de__namespace.Root,{open:e,onOpenChange:n,className:"border border-border/50 rounded-lg overflow-hidden",children:[jsxRuntime.jsxs(de__namespace.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:[jsxRuntime.jsx("div",{className:"flex-shrink-0 mt-0.5",children:jsxRuntime.jsx(o,{className:"h-4 w-4 text-muted-foreground"})}),jsxRuntime.jsxs("div",{className:"flex-1 min-w-0",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[jsxRuntime.jsx("span",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide",children:r}),t.tags&&t.tags.length>0&&jsxRuntime.jsxs("div",{className:"flex gap-1 flex-wrap",children:[t.tags.slice(0,3).map((l,u)=>jsxRuntime.jsx("span",{className:"text-xs px-1.5 py-0.5 bg-muted rounded text-muted-foreground",children:l},u)),t.tags.length>3&&jsxRuntime.jsxs("span",{className:"text-xs text-muted-foreground",children:["+",t.tags.length-3]})]})]}),jsxRuntime.jsx("p",{className:"text-sm text-foreground",children:s?a:t.description||t.content})]}),c&&jsxRuntime.jsx(lucideReact.ChevronDown,{className:`h-4 w-4 text-muted-foreground flex-shrink-0 transition-transform duration-200 ${e?"rotate-180":""}`})]}),c&&jsxRuntime.jsx(de__namespace.Content,{children:jsxRuntime.jsx("div",{className:"border-t border-border/50 bg-muted/30",children:jsxRuntime.jsx("pre",{className:"p-3 text-sm overflow-x-auto whitespace-pre-wrap break-words font-mono",children:t.content})})})]})}function gn({content:t,className:e}){let n=Array.isArray(t)?t:t?.memories;return !n||n.length===0?jsxRuntime.jsx("p",{className:"text-sm text-muted-foreground",children:"No memories found."}):jsxRuntime.jsx("div",{className:`space-y-2 ${e||""}`,children:n.map(o=>jsxRuntime.jsx(kl,{memory:o},o.id))})}function ur(){return jsxRuntime.jsxs("span",{className:"inline-flex gap-1 text-muted-foreground",children:[jsxRuntime.jsx("span",{className:"animate-bounce",style:{animationDelay:"0ms"},children:"\u25CF"}),jsxRuntime.jsx("span",{className:"animate-bounce",style:{animationDelay:"150ms"},children:"\u25CF"}),jsxRuntime.jsx("span",{className:"animate-bounce",style:{animationDelay:"300ms"},children:"\u25CF"})]})}function Vo(){return jsxRuntime.jsx("div",{className:"flex items-center justify-center py-8",children:jsxRuntime.jsx(lucideReact.Loader2,{className:"animate-spin text-muted-foreground",size:24})})}function Sl(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 $t({content:t,className:e,components:n}){let r=Q()?.onSuggestionClick,s=kt.useMemo(()=>l=>jsxRuntime.jsx($t,{...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=Sl(t),i;a?i=a:i=M(t.ui_content_type)||t.content_type;let c=n?.[i];if(c)return jsxRuntime.jsx(c,{content:t,className:e});switch(i){case "text":return jsxRuntime.jsx(we,{content:Bo(t),className:e});case "markdown":return jsxRuntime.jsx(R,{content:Bo(t),className:e});case "thinking":case "redacted_thinking":return jsxRuntime.jsx(oe,{item:t,className:e});case "json":return jsxRuntime.jsx(ht,{content:t.content,className:e});case "codegen_json":return jsxRuntime.jsx(an,{item:t,className:e});case "code_rewrite":case "code_fix_diagnosis":return jsxRuntime.jsx(Io,{item:t,className:e});case "sql_generation":return jsxRuntime.jsx(nn,{item:t,className:e});case "codeexec_output":return jsxRuntime.jsx(un,{item:t,className:e});case "log":return jsxRuntime.jsx(Ye,{item:t,className:e});case "websearch":case "websearch_output":case "web_search":return jsxRuntime.jsx(Xe,{item:t,className:e});case "search_queries":return jsxRuntime.jsx(Ro,{content:t.content,className:e});case "integration_queries":return jsxRuntime.jsx(Ao,{content:t.content,className:e});case "memory":return jsxRuntime.jsx(gn,{content:t.content,className:e});case "webparse":case "webparse_output":case "web_parse":return jsxRuntime.jsx(tn,{item:t,className:e});case "tool_group":return jsxRuntime.jsx(ue,{toolGroup:t.content,ContentComponent:s,className:e});case "bot_invocation":{let l=t.content,u=t.botInvocation;return jsxRuntime.jsx(pn,{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 jsxRuntime.jsx(Ke,{config:t.chartConfig,data:t.chartData,className:e});let u=De(t.content);if(u&&Oo(u))return Mo(u,e,l,r);let d=De(t.parsedJson);return d&&Oo(d)?Mo(d,e,l,r):u&&u.length>0||d&&d.length>0?jsxRuntime.jsx("p",{className:"w-full max-w-4xl text-sm text-muted-foreground",children:"The LLM generated an invalid response. Please try again."}):null}case "table":return t.tableColumns&&t.tableData?jsxRuntime.jsx(Qe,{columns:t.tableColumns,data:t.tableData,className:e}):jsxRuntime.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 jsxRuntime.jsx(ue,{toolGroup:u,ContentComponent:s,className:e})}case "tool_result":{let l=t.content,u={invocation:{invocation_id:l.id||"",action:l.action_type||"",params:l.input||{}},result:{invocation_id:l.id||"",result:l.result}},d={...u,invocation:{...u.invocation,id:l.id||"",name:l.name||"",input:l.input||{},action_type:l.action_type,description:l.description},result:{...u.result,id:l.id||"",name:l.name||"",input:l.input||{},result:l.result,status:l.status||"success",action_type:l.action_type,description:l.description,ui_content_type:l.ui_content_type||M(t.ui_content_type),running_message:l.running_message||l.running_status,finished_message:l.finished_message||l.finished_status}};return jsxRuntime.jsx(ue,{toolGroup:d,ContentComponent:s,className:e})}default:return typeof t.content=="string"?jsxRuntime.jsx(we,{content:t.content,className:e}):null}}function Bo(t){return typeof t.content=="string"?t.content:""}function Oo(t){return t.some(e=>{if(e.type==="text"){if(typeof e.content!="string")return false;let n=e.content.trim();return !(!n||n.startsWith("{")||n.startsWith("["))}if(e.type==="json"){let n=e.content,o=Lo(n);return o!==void 0&&o.length>0||te(n)}return false})}function Lo(t){let e=t?.children??t?.blocks;return Array.isArray(e)?e:void 0}function De(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=xt(t);return De(e)}return null}function Mo(t,e,n,o){return jsxRuntime.jsx(jsxRuntime.Fragment,{children:t.map((r,s)=>{if(r.type==="text"){let a=typeof r.content=="string"?r.content:String(r.content);return jsxRuntime.jsx(R,{content:a,className:e},`${s}-${a.length}`)}if(r.type==="json"){let a=r.content,i=Lo(a);return i?jsxRuntime.jsx(kt__namespace.default.Fragment,{children:jsxRuntime.jsx(re,{nodes:i,className:e,invocationId:n,onSuggestionClick:o})},`${s}-${i.length}`):te(a)?jsxRuntime.jsx(ur,{},s):null}return null})})}function Il({result:t,isStreaming:e,className:n,components:o,streamingText:r}){let s=t?$o(t):[];return r&&s.length===0?jsxRuntime.jsxs("div",{className:n?`erdo-ui ${n}`:"erdo-ui space-y-4",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("div",{className:"animate-pulse w-2 h-2 bg-blue-500 rounded-full"}),jsxRuntime.jsx("span",{className:"text-sm text-gray-500",children:"Streaming response..."})]}),jsxRuntime.jsx("div",{className:"border rounded-lg p-4 whitespace-pre-wrap",children:r})]}):s.length===0&&!e?null:jsxRuntime.jsxs("div",{className:n?`erdo-ui ${n}`:"erdo-ui space-y-4",children:[s.map((a,i)=>jsxRuntime.jsx("div",{children:jsxRuntime.jsx($t,{content:a,components:o})},a.id||i)),e&&s.length===0&&!r&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("div",{className:"animate-pulse w-2 h-2 bg-blue-500 rounded-full"}),jsxRuntime.jsx("span",{className:"text-sm text-gray-500",children:"Processing..."})]})]})}function $o(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 Nl(t){if(t.length===0)return t;let e=false;for(let o=0;o<t.length-1;o++){let r=t[o].type,s=t[o+1].type;if(r==="text"&&s==="json"||r==="json"&&s==="text"){e=true;break}}if(!e)return t;let n=[];for(let o=0;o<t.length;o++){let r=t[o],s=o>0?t[o-1]:null,a=o<t.length-1?t[o+1]:null;if(r.type==="text"&&typeof r.content=="string"){let i=r.content,c=false;if(a?.type==="json"){let l=i;i=i.replace(/```(?:json)?\s*$/,""),l!==i&&(c=true);}if(s?.type==="json"){let l=i;i=i.replace(/^\s*```/,""),l!==i&&(c=true);}(!c||i.trim())&&n.push({...r,content:i});}else n.push(r);}return n}var Tl=new Set(["=","("]);function El(t){if(!t||t.length===0)return true;let e=t[t.length-1];return !Tl.has(e)}function dr(t,e){if(t.user_visibility!=="visible"||!ve(t.content_type,t.ui_content_type.String))return typeof t.content=="object"?t:{...t,content:(t.content||"")+e};if(typeof t.content=="object"&&t.content!==null)return t;let n=t.parsedJson?[...t.parsedJson]:[];n.length>0&&(n[n.length-1]={...n[n.length-1]});let o=(t.content||"")+e,r=t._isInJson??false,s=t._charBuffer??"",a=t._jsonParser,i=n.length>0&&t._currentContent?n[n.length-1]:void 0;if(typeof e=="object")return {...t,content:(t.content||"")+JSON.stringify(e),parsedJson:[...n,e],_isInJson:r,_charBuffer:s,_jsonParser:a,_currentContent:void 0};let c=o.length-e.length,l="",u=()=>{l&&(!i||i.type!=="text"?(i={content:l,type:"text"},n.push(i)):i.content=i.content+l,l="");};for(let m=0;m<e.length;m++){let g=e[m];if(!r&&g==="{"){let f=o.slice(0,c+m);if(El(f)){u(),s="{";continue}}if(s&&Bt(g)){s+=g;continue}if(!r&&s?.match(/^\s*{\s*$/)&&g==='"'){r=true,a=new nt;let h={content:a.add("{"),type:"json"};i?.content?typeof i.content=="string"&&i.content.match(/^\s*{$/)?(i=h,n[n.length-1]=h):(typeof i.content=="string"&&(i.content=i.content.replace(/{$/,"")),i=h,n.push(h)):(i=h,n.push(h));}if(r)try{let f=a.add(g);i.content=f,a.state==="END"&&(r=!1,i=void 0);}catch{if(r=false,a=void 0,i&&i.type==="json"){let h=o.lastIndexOf("{"),b=o.slice(h,c+m+1);i.type="text",i.content=b;}continue}else l+=s+g;s="";}u();let d=i,p=Nl(n);return {...t,content:o,parsedJson:p,_isInJson:r,_charBuffer:s,_jsonParser:a,_currentContent:d}}function Re(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Dl(t){if(!Re(t)||!("content"in t))return t;let e=t.content;return e===void 0?t:e}function fe(t,e){let n=Dl(e);if((t==="thinking"||t==="redacted_thinking")&&typeof n=="string"){let o=$(n);return Re(o)?{content:o}:{content:n}}if(t==="json"&&typeof n=="string"){let o;try{let s=xt(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 Rl(t,e){return typeof e=="string"?e:Re(e)?t==="redacted_thinking"?typeof e.data=="string"?e.data:"":typeof e.thinking=="string"?e.thinking:"":""}function hn(t,e,n){let o=fe(t,n);if(t!=="thinking"&&t!=="redacted_thinking")return o;let r=Rl(t,e);return r?t==="redacted_thinking"?Re(o.content)&&typeof o.content.data!="string"?{...o,content:{...o.content,data:r}}:o:Re(o.content)&&typeof o.content.thinking!="string"?{...o,content:{...o.content,thinking:r}}:o:o}function xn(t){let e=t.metadata?.step_id??t.payload?.step_id;return typeof e=="string"?e:""}function pr(t){let e=t.metadata?.message_content_id??t.payload?.message_content_id;return typeof e=="string"?e:""}function Al(t){let e=t.metadata?.message_id;return typeof e=="string"?e:""}function mr(t,e){if(e.metadata?.content_type==="agent_invocation")return true;let n=Al(e);return !!(n&&n!==t.messageId)}function Pl(t){return typeof t=="string"?t:typeof t=="object"&&t!==null&&"content"in t?String(t.content??""):""}function kn(){return {nodes:[],byStepId:{},byContentId:{},childrenByParentId:{},rootStepId:null,messageId:null,isStreaming:false}}function fr(t,e){switch(e.type){case "message created":return Bl(t,e);case "message finished":return jo(t);case "step_started":return Ol(t,e);case "step_finished":return Ml(t,e);case "create message content":return Vl(t,e);case "message content delta":return Ll(t,e);case "message content result":return $l(t,e);case "status":return Ul(t,e);default:return t}}function Bl(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 Ol(t,e){let n=e.payload;if(!n?.step_id)return t;let o=t.byStepId[n.step_id],r=n.parent_step_id??null,s={kind:"step",id:n.step_id,parentId:r,type:n.type||o?.type||"agent",name:n.name||o?.name||"",key:n.key??o?.key,status:"running",contentType:n.content_type??o?.contentType,runningStatus:n.running_status??o?.runningStatus,finishedStatus:n.finished_status??o?.finishedStatus,hidden:n.hidden??o?.hidden},i=!r&&!t.rootStepId?n.step_id:t.rootStepId,c=r??"__root__",l=t.childrenByParentId[c]??[],u=l.includes(n.step_id)?t.childrenByParentId:{...t.childrenByParentId,[c]:[...l,n.step_id]},d=o?t.nodes.map(p=>p.kind==="step"&&p.id===n.step_id?s:p):[...t.nodes,s];return {...t,nodes:d,byStepId:{...t.byStepId,[n.step_id]:s},childrenByParentId:u,rootStepId:i,isStreaming:true}}function Ml(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 Vl(t,e){if(mr(t,e))return t;let n=pr(e);if(!n)return t;let o=xn(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 Ll(t,e){if(mr(t,e))return t;let n=pr(e),o=Pl(e.payload);if(!n||!o)return t;let r=t.byContentId[n],s=t;if(!r){let u=xn(e)||null,d=typeof e.metadata?.content_type=="string"&&e.metadata.content_type||"text",p=typeof e.metadata?.ui_content_type=="string"&&e.metadata.ui_content_type||d;r={kind:"content",id:n,stepId:u,contentType:d,uiContentType:p,text:"",state:"streaming"},s={...t,nodes:[...t.nodes,r],byContentId:{...t.byContentId,[n]:r}};}let a=r.text+o,i={},c=r.parsedContent;if(r.contentType==="json"){let u=Gl(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 $l(t,e){if(mr(t,e))return t;let n=pr(e);if(!n)return t;let o=xn(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?hn(r,a.result??a.text,e.payload):fe(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 jo(t){let e=t.nodes.map(o=>o.kind==="content"&&o.state==="streaming"?{...o,state:"completed"}:o),n={...t.byContentId};for(let[o,r]of Object.entries(n))r.state==="streaming"&&(n[o]={...r,state:"completed"});return {...t,nodes:e,byContentId:n,isStreaming:false}}function jl(t){let e=t.payload;return typeof e=="string"?e:e?.message||e?.status_message||e?.status||""}function Ul(t,e){let n=xn(e)||null,o=jl(e);if(!o)return t;if(n){let s=t.byStepId[n];return s?Fl(t,s,n,o):Jl(t,n,o)}let r={kind:"status",stepId:null,message:o};return {...t,nodes:[...t.nodes,r]}}function Fl(t,e,n,o){let r=e.status==="completed"||e.status==="error"?{...e,finishedStatus:o}:{...e,runningStatus:o};return {...t,nodes:t.nodes.map(s=>s.kind==="step"&&s.id===n?r:s),byStepId:{...t.byStepId,[n]:r}}}function Jl(t,e,n){let o=false,r=t.nodes.map(a=>{if(a.kind!=="content"||a.stepId!==e||a.contentType!=="tool_invocation"&&a.contentType!=="tool_result"||!a.result||typeof a.result!="object")return a;o=true;let i=a.state==="completed"?"finished_message":"running_message";return {...a,result:{...a.result,[i]:n}}});if(!o)return t;let s={...t.byContentId};for(let a of r)a.kind==="content"&&a.stepId===e&&t.byContentId[a.id]!==a&&(s[a.id]=a);return {...t,nodes:r,byContentId:s}}function Gl(t,e){let n=t,o={content:n._rawText??t.text,user_visibility:"visible",content_type:"json",ui_content_type:{String:t.uiContentType||"json",Valid:true},parsedJson:t.parsedContent??[],_jsonParser:n._jsonParser,_isInJson:n._isInJson,_charBuffer:n._charBuffer??"",_currentContent:n._currentContent},r=dr(o,e);return {parsedContent:r.parsedJson,_parserFields:{_rawText:r.content,_jsonParser:r._jsonParser,_isInJson:r._isInJson,_charBuffer:r._charBuffer,_currentContent:r._currentContent}}}function Wl(t){for(let e of t.nodes){if(e.kind==="step"){let o=t.byStepId[e.id];if(o&&o.type==="tool_call"&&!o.hidden)return true;continue}if(e.kind!=="content")continue;let n=t.byContentId[e.id];if(n&&!(n.contentType==="tool_invocation"||n.contentType==="agent_invocation")&&(n.contentType==="tool_result"&&n.result||n.text||n.parsedContent?.length||n.result))return true}return false}function bn(t,e,n){return e.type!=="llm_call"?false:!(e.parentId===t.rootStepId)&&n.contentType==="text"}function Cn(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"?ql(s.result):s.result;c&&typeof c=="object"&&(e.push({id:s.id,content_type:"json",ui_content_type:s.uiContentType||"json",content:c,state:s.state==="streaming"?"in_progress":"completed"}),a=true);}}if(a)return;let i=s.result??s.text;i&&e.push({id:s.id,content_type:s.contentType||"text",ui_content_type:s.uiContentType||"markdown",content:i,state:s.state==="streaming"?"in_progress":"completed"});}for(let s of t.nodes){if(s.kind!=="content")continue;let a=t.byContentId[s.id];if(!a||a.contentType==="tool_invocation")continue;if(a.contentType==="tool_result"){a.result&&a.result.action_type!=="bot.invoke"&&e.push({id:a.id,content_type:"tool_result",ui_content_type:a.uiContentType||"tool_result",content:a.result});continue}if(a.stepId===null){r(a);continue}let i=t.byStepId[a.stepId];if(!i){r(a);continue}o(i.id)||i.type!=="tool_call"&&(i.type==="llm_call"&&bn(t,i,a)||r(a));}return e}function ql(t){return t?$(t):null}function Yl(t){return (t.status==="completed"||t.status==="error")&&t.finishedStatus?t.finishedStatus:t.runningStatus?t.runningStatus:t.name.replace(/_/g," ")}function Xl(t){return t==="running"?"loading":t==="error"?"failed":"finished"}function tc(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 ec(t){return t==="info"?"info":t==="warning"?"warning":"standard"}function nc(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 Uo(t,e){let n=[],o="",r=[],s=0;function a(){r.length>0&&(n.push({id:`${e}-exec-${s}`,type:"codeexec",content:r.join(`
|
|
52
|
+
`),wrapperType:ec(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 Fo(t,e,n){let o=[];for(let r of t){if(r.contentType==="tool_invocation"||r.contentType==="tool_result")continue;let s=`${e}-content-${r.id}`,a=r.state==="streaming"?"running":"completed";if(r.contentType==="thinking"||r.contentType==="redacted_thinking"){let i=r.result??r.text;if(!i)continue;o.push({id:s,type:"thinking",contentItem:{id:s,content_type:r.contentType,ui_content_type:r.uiContentType||r.contentType,content:i,state:r.state==="streaming"?"in_progress":"completed"},status:a});continue}if(r.result){let i=r.result;if(typeof r.result=="string")if(r.contentType==="json"){let c=$(r.result);if(c!=null)i=c;else {let l=nc(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(...Uo(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(...Uo(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 rc(t,e){if(!t.rootStepId)return [];let n=[],o={},r={},s=new Set,a={},i={},c={},l={};function u(y){if(y!==t.rootStepId)return false;if(y in a)return a[y];let k=tc(t,y);return a[y]=k,k}function d(y){return r[y]||(r[y]=[]),r[y]}function p(y){if(y)return t.byStepId[y]}function m(y){if(!y)return false;if(y in l)return l[y];let k=y,S=[],_=false;for(;k;){if(k in l){_=_||l[k];break}S.push(k);let v=p(k);if(!v)break;if(v.hidden){_=true;break}k=v.parentId;}for(let v of S)l[v]=_;return _}function g(y){return m(y.id)}for(let y of t.nodes){if(y.kind!=="content")continue;let k=t.byContentId[y.id];if(!k||!k.stepId||k.contentType==="tool_invocation"||k.contentType==="tool_result"||k.contentType==="agent_invocation"||!k.text&&!k.result&&!k.parsedContent?.length)continue;let S=p(k.stepId);if(!S||g(S)||S.type==="llm_call"&&bn(t,S,k))continue;let _=k.stepId;for(;_;){c[_]=true;let v=p(_);if(!v)break;_=v.parentId;}}function f(y){return !!c[y]}function h(y){if(!y)return null;if(y in i)return i[y];let k=y;for(;k;){let S=p(k);if(!S)break;let _=k===t.rootStepId,v=S.type==="agent"&&!S.hidden&&(!_||!u(S.id)),N=S.type==="tool_call"&&!S.hidden;if(v||N)return i[y]=k,k;k=S.parentId;}return i[y]=null,null}function b(y,k){if(k.length===0)return;let S=h(y);if(!S){n.push(...k);return}let _=o[S];if(!_){d(S).push(...k);return}_.children||(_.children=[]),_.children.push(...k);}function x(y,k,S){if(!S||typeof S!="object")return [];let _=S,v=typeof _.result=="object"&&_.result!==null?_.result:_,N=[];typeof v.code=="string"&&v.code.trim()&&N.push({id:`${y}-${k}-codegen`,type:"codegen",contentData:v});let U=typeof v.output=="string"?v.output.trim():"";return U&&N.push({id:`${y}-${k}-output`,type:"codeexec",content:U}),N}for(let y of t.nodes){if(y.kind==="step"){let _=t.byStepId[y.id];if(!_||_.hidden||_.type==="llm_call"||_.id===t.rootStepId&&u(_.id)||s.has(_.id))continue;s.add(_.id);let v={id:_.id,type:"step",label:Yl(_),status:_.status},N=r[_.id];N&&N.length>0&&(v.children=N,delete r[_.id]),o[_.id]=v,b(_.parentId,[v]);continue}if(y.kind!=="content")continue;let k=t.byContentId[y.id];if(!k||k.contentType==="tool_invocation")continue;if(k.stepId===null){n.push(...Fo([k],"root",e));continue}let S=t.byStepId[k.stepId];if(S&&!g(S)&&!(S.type==="llm_call"&&bn(t,S,k))){if(S.type==="tool_call"&&k.contentType==="tool_result"){if(f(S.id))continue;b(S.id,x(S.id,k.id,k.result));continue}b(S.id,Fo([k],S.id,e));}}return n}function Jo({node:t,ContentComponent:e}){let[n,o]=kt.useState(t.status==="running"),r=kt.useRef(t.status==="running");if(kt.useEffect(()=>{r.current&&t.status!=="running"&&o(false),r.current=t.status==="running";},[t.status]),t.type==="text")return jsxRuntime.jsx(R,{content:t.content||"",className:"max-w-none"});if(t.type==="codegen"&&t.contentData){let{code:i,step_by_step:c,thinking:l}=t.contentData;return jsxRuntime.jsxs("div",{className:"space-y-2",children:[c&&jsxRuntime.jsx(R,{content:c,className:"text-sm max-w-none"}),l&&jsxRuntime.jsx(ie,{content:l,state:t.status==="running"?"in_progress":"completed"}),i&&jsxRuntime.jsx(vt,{language:"python",value:i,defaultOpen:false})]})}if(t.type==="codeexec"&&t.content){let i=t.wrapperType||"standard";return jsxRuntime.jsx(wt,{wrapperType:i,compact:true,children:jsxRuntime.jsx(le,{children:t.content})})}if(t.type==="thinking"&&t.contentItem)return jsxRuntime.jsx(oe,{item:t.contentItem});if(t.type==="content"&&t.contentItem&&e)return jsxRuntime.jsx(e,{content:t.contentItem});if(t.type==="content"&&t.contentItem)return jsxRuntime.jsx($t,{content:t.contentItem});let s=!!t.children?.length,a=t.status==="running"?"text-foreground":"text-muted-foreground";return jsxRuntime.jsxs(de__namespace.Root,{open:n,onOpenChange:o,className:"w-full",children:[jsxRuntime.jsxs(de__namespace.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:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(it,{status:Xl(t.status),size:14}),jsxRuntime.jsx("span",{children:t.label})]}),s&&jsxRuntime.jsx(lucideReact.ChevronDown,{className:`h-4 w-4 shrink-0 text-muted-foreground/50 transition-transform duration-200 ${n?"rotate-180":""}`})]}),s&&jsxRuntime.jsx(de__namespace.Content,{children:jsxRuntime.jsx("div",{className:"ml-5 mt-1 flex flex-col gap-1",children:t.children?.map(i=>jsxRuntime.jsx(Jo,{node:i,ContentComponent:e},i.id))})})]})}function Go({agentState:t,ContentComponent:e,className:n}){if(!t.rootStepId)return null;let o=kt.useMemo(()=>rc(t,e),[t,e]);return o.length===0?null:jsxRuntime.jsx("div",{className:`flex flex-col gap-1 ${n||""}`,children:o.map(r=>jsxRuntime.jsx(Jo,{node:r,ContentComponent:e},r.id))})}function Sn(t){if(t.type==="dynamic-tool"&&t.toolName?.startsWith("erdo_"))return t.toolName;if(t.type.startsWith("tool-erdo_"))return t.type.slice(5)}function oc(t){return Sn(t)!==void 0}var sc={erdo_render_chart:"ui",erdo_render_table:"ui",erdo_ask_data_question:"markdown",erdo_list_datasets:"data",erdo_search_datasets:"data",erdo_get_dataset_schema:"data",erdo_gather_dataset_context:"data",erdo_query_data:"data",erdo_run_query:"data",erdo_fetch_dataset_contents:"data",erdo_list_threads:"data",erdo_get_thread_messages:"data"};function gr(t){return sc[t]??"data"}function Wo({part:t,className:e,onSuggestionClick:n}){let o=Sn(t);if(!o)return null;if(["partial-call","call","input-streaming","input-available"].includes(t.state))return jsxRuntime.jsxs("div",{className:e||"flex items-center gap-2 py-4 text-muted-foreground",children:[jsxRuntime.jsx(lucideReact.Loader2,{className:"h-4 w-4 animate-spin"}),jsxRuntime.jsxs("span",{className:"text-sm",children:["Running ",ic(o),"..."]})]});if(t.state==="result"||t.state==="output-available"){let s=t.output??t.result;if(t.errorText)return jsxRuntime.jsxs("div",{className:e||"flex items-center gap-2 py-2 text-sm text-destructive",children:[jsxRuntime.jsx(lucideReact.AlertCircle,{className:"h-4 w-4 shrink-0"}),jsxRuntime.jsx("span",{children:t.errorText})]});if(s&&typeof s=="object"&&"error"in s&&s.error)return jsxRuntime.jsxs("div",{className:e||"flex items-center gap-2 py-2 text-sm text-destructive",children:[jsxRuntime.jsx(lucideReact.AlertCircle,{className:"h-4 w-4 shrink-0"}),jsxRuntime.jsx("span",{children:String(s.error)})]});switch(gr(o)){case "ui":{let i=s?.children;return i&&Array.isArray(i)&&i.length>0?jsxRuntime.jsx("div",{className:e,children:jsxRuntime.jsx(re,{nodes:i,invocationId:t.toolCallId,onSuggestionClick:n})}):s?jsxRuntime.jsx("div",{className:e,children:jsxRuntime.jsx(ht,{content:s})}):null}case "markdown":{let i=s?.answer;if(i)return jsxRuntime.jsx("div",{className:e,children:jsxRuntime.jsx(R,{content:i})});let c=s?.output;return c?jsxRuntime.jsx("div",{className:e,children:jsxRuntime.jsx(R,{content:c})}):s?jsxRuntime.jsx("div",{className:e,children:jsxRuntime.jsx(ht,{content:s})}):null}case "data":return s!=null?jsxRuntime.jsx("div",{className:e,children:jsxRuntime.jsx(ht,{content:s})}):null}}return t.state==="output-error"?jsxRuntime.jsxs("div",{className:e||"flex items-center gap-2 py-2 text-sm text-destructive",children:[jsxRuntime.jsx(lucideReact.AlertCircle,{className:"h-4 w-4 shrink-0"}),jsxRuntime.jsx("span",{children:t.errorText||"Tool execution failed"})]}):null}function ic(t){return t.replace(/^erdo_/,"").split("_").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ")}function J(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 lc(t){return t.contents.length===0?null:t.contents[t.contents.length-1]||null}function Qo(t){return t.contents.length===0?null:t.contents[0]||null}function qo(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 kr(t,e){let n=J(t);switch(n){case "message":return t;case "step":let o=t;if(e){let a=o.eventsByID[e]?.Message;return a||Xo({},"",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 cc(t,e){switch(J(t)){case "message_content":return t;case "output_content":return t;case "message":return ye(t,e);case "output":return he(t,e);case "step":let o=wn(t,e);return o?he(o,e):null;default:return null}}function ye(t,e){let n=J(t);switch(n){case "message_content":return t;case "message":let o=kr(t);if(!o)throw new Error("Unable to find message to add content to");return e?o.contentsByID[e]:lc(o);default:throw new Error(`Unable to have message content on entity type ${n}`)}}function he(t,e){let n=J(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=wn(t,e);return s?he(s):null;case "invocation":if(!e)return null;let a=t.eventsByID[e];return !a||!a.Output?null:he(a.Output);default:throw new Error(`Unable to have output content on entity type ${n}`)}}function br(t,e){let n=J(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=Qo(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 wn(t,e){let n=J(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 Zo(t,e){let n=J(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 Yo(t,e){let n=J(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 hr=class extends Error{};function uc(t,e,n){let o=null,r=e[0],s=e[1];n[r]=s;try{switch(r){case "message":o=kr(t,s);break;case "content":o=ye(t,s);break;case "step":o=Yo(t,s);break;case "output":o=wn(t,s);break;case "output_content":o=he(t,s);break;case "invocation":o=br(t,s);break;case "result_handler":o=Zo(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 hr(`Unable to find next entity for path ${e.join("/")}`);return o}function Xo(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 dc(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 pc(t,e){let n=t.metadata.content_type||"text",o=t.metadata?.ui_content_type,r=fe(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 mc(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 fc(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 gc(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 zo(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 Ho(t,e,n,o=null){let r=t.metadata.content_type||"text",s=fe(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 yc(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 Pe(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 ts(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 Cr(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 _r(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 hc(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 xc(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 kc=new Set(["=","("]);function bc(t){if(!t||t.length===0)return true;let e=t[t.length-1];return !kc.has(e)}function es(t,e){if(t.content||(t.content=""),t.user_visibility!=="visible"||!ve(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&&!Bt(r)){t._isInJson=true,t._jsonParser=new nt;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(bc(a)){t._charBuffer="{";continue}}if(t._charBuffer&&Bt(r)){t._charBuffer+=r;continue}if(!t._isInJson&&!s&&o==="ui_generation"&&t._charBuffer?.match(/^\s*{\s*$/)&&r==='"'){t._isInJson=true,t._jsonParser=new nt;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 Cc(t,e){return es(t,e)}function Ko(t,e){return es(t,e)}function xr(t,e){let n=J(t);switch(n){case "message":return ft(t,e);case "message_content":return vn(t,e);case "step":return Sc(t,e);case "output":return vc(t,e);case "output_content":return wc(t,e);case "invocation":return Be(t,e);case "result_handler":return Ic(t,e);default:throw new Error(`Unable to add update entity for entity type ${n}`)}}function _c(t,e){for(let n of e)t=xr(t,n);return t}function ft(t,e){let n=kr(t);if(!n)throw new Error("Unable to find message to add content to");let o=J(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=vn(n.contents[0],s),ft(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=br(r);if(!a)throw new Error("Unable to find bot invocation to add content to");return r.botInvocation=Be(a,e),ft(n,r);case "status":if(n.contents.length>0){let i=n.contents[0];if(i?.botInvocation){let c=vn(i,e);return ft(n,c)}}return {...n};default:throw new Error(`Unable to add update message child for child type ${o}`)}}function vn(t,e){let n=ye(t);if(!n)throw new Error("Unable to find message content to add content to");let o=J(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=Be(r,e),{...n};case "status":return n.botInvocation&&(n.botInvocation=Be(n.botInvocation,e)),{...n};default:throw new Error(`Unable to add update message content child for child type ${o}`)}}function Sc(t,e){let n=Yo(t);if(!n)throw new Error("Unable to find bot invocation to add step to");let o=J(e),r=null;switch(o){case "output":let s=e;return r=Cr(s),n.eventsByID={...n.eventsByID,[s.output.id]:r},{...n};case "message":let a=e;return r=hc(a),n.eventsByID={...n.eventsByID,[a.message.id]:r},{...n};case "status":let i=e;return r=_r(i),n.eventsByID={...n.eventsByID,[i.id]:r},{...n};case "result_handler":let c=e;return r=xc(c),n.eventsByID={...n.eventsByID,[c.id]:r},{...n};default:throw new Error(`Unable to add update step for entity type ${o}`)}}function vc(t,e){let n=wn(t);if(!n)throw new Error("Unable to find step output to add content to");let o=J(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 wc(t,e){let n=he(t);if(!n)throw new Error("Unable to find step output content to add content to");let o=J(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=Be(r,e),{...n};default:throw new Error(`Unable to add update step output content for entity type ${o}`)}}function Be(t,e){let n=br(t);if(!n)throw new Error("Unable to find bot invocation to add content to");let o=J(e),r;switch(o){case "step":let s=e;return r=ts(s),n.eventsByID={...n.eventsByID,[s.id]:r},{...n};case "output":let a=e;return r=Cr(a),n.eventsByID={...n.eventsByID,[a.output.id]:r},{...n};case "status":let i=e;return r=_r(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 Ic(t,e){let n=Zo(t);if(!n)throw new Error("Unable to find result handler to add content to");let o=J(e),r=null;switch(o){case "step":let s=e;return r=ts(s),n.eventsByID||(n.eventsByID={}),n.eventsByID={...n.eventsByID,[s.id]:r},{...n};case "output":let a=e;return r=Cr(a),n.eventsByID||(n.eventsByID={}),n.eventsByID={...n.eventsByID,[a.output.id]:r},{...n};case "status":let i=e;return r=_r(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 Nc(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 In(t,e,n,o,r,s=null,a=[],i={}){if(!s&&Object.keys(r).length>0){let d,p;if(n.length>=2&&n[0]==="message"?(p=n[1],d=r[p],d||(d=Object.values(r)[0],p=Object.keys(r)[0])):(d=Object.values(r)[Object.values(r).length-1],p=Object.keys(r)[Object.keys(r).length-1]),i.message=p,n.length<=2&&t==="message finished")return r[p]=qo(d),null;if(n[0]!=="content"&&Object.keys(d.contentsByID).length>0&&e.metadata.message_content_id){let m=e.metadata.message_content_id,g=d.contentsByID[m];g&&(s=g);}s?a=[d]:s=d;}if(n.length<=2&&Nc(t)){let d=n[1],p=[],m,g,f,h,b;switch(t){case "bot started":case "bot resumed":if(!s)throw new Error("Unable to find message to add content to");let x=yc(e);if(s._type==="message_content"){if(g=s,!g.id)throw new Error("Unable to find message content id");if(f=r[g.message_id],!f)throw new Error("Unable to find message to add content to");if(h=ye(f,g.id),!h)throw new Error("Unable to find message content to add content to");let _=vn(h,x);r[g.message_id]={...ft(f,_)};}p.push(x);break;case "message created":return r[d]=Xo(e,o,d),null;case "create message content":if(!s)throw new Error("Unable to find message to add content to");if(b=dc(e,i),s._type==="output"){m=s,p.push(zo(e,d,i,"hidden"));let _=e.payload.message_id;if(_||(_=a[0].message.id),f=r[_],!f)throw new Error("Unable to find message to add content to")}else if(s._type==="message_content"){if(m=s,f=r[m.message_id],!f)throw new Error("Unable to find message to add content to")}else {if(s._type!=="message")throw new Error(`Incorrect path? Cannot add content to non-message entity: ${s._type}`);if(m=s,f=r[m.message.id],!f)throw new Error("Unable to find message to add content to");p.push(b);}r[f.message.id]={...ft(f,b)};break;case "message content result":if(!s)throw new Error("Unable to find message to add content to");let y=null;if(s._type==="output"){p.push(Ho(e,d,i,"hidden"));let _=e.payload.message_id||i.message;if(_?y=a.find(v=>v.message.id===_):y=a[0],f=r[_],!f)throw new Error("Unable to find message to add content to")}else if(s._type==="message_content"){if(y=a[0],f=r[y.message.id],!f)throw new Error("Unable to find message to add content to")}else {if(s._type!=="message")throw new Error(`Incorrect path? Cannot add content to non-message entity: ${s._type}`);if(y=s,f=r[y.message.id],!f)throw new Error("Unable to find message to add content to")}let k=e.metadata.message_content_id;if(!k)throw new Error("Unable to find message content id");let S=ye(y,k);if(S){S.state="completed";let _=S.content_type||"text",v=hn(_,S.content,e.payload);S.content=v.content,v.parsedJson&&(S.parsedJson=v.parsedJson),r[f.message.id]={...ft(f,S)},(s._type==="message"||s._type==="message_content")&&p.push(S);}else S=pc(e,i),r[f.message.id]={...ft(f,S)},(s._type==="message"||s._type==="message_content")&&p.push(S);break;case "step started":p.push(mc(e,d,i));break;case "result handler started":p.push(fc(e,d));break;case "step output created":p.push(gc(e,d,s));break;case "create step output content":p.push(zo(e,d,i));break;case "step output content result":p.push(Ho(e,d,i));break;case "log":return null;default:throw new Error(`Unable to handle create event type ${t}`)}return p.length?!s||s._type==="message_content"&&p.length===1&&p[0]._type==="message_content"?p[0]:_c(s,p):null}if(!s)throw new Error("No first message has been created, so cannot handle amend events");if(n.length<=1){let d=null;try{d=cc(s);}catch{}switch(t){case "message content delta":if(!d)throw new Error("Unable to find message content");let p=null,m=null,g=null;if(s._type==="output_content"){p=Ko(s,e.payload);let x=e.metadata.message_content_id;if(!x)throw new Error("Unable to find message content id from entity ids");let y=i.message;if(g=a.find(k=>k.message.id===y),!g)throw new Error("Unable to find message to add content to");m=ye(g,x);}else {if(m=d,g=a[a.length-1],!g)throw new Error("Unable to find message to add content to");if(g._type!=="message")throw new Error("Unable to find message to add content to - not a message")}if(!m)throw new Error("Unable to find message content");let f=r[g.message.id];if(!f)throw new Error("Unable to find message to add content to");let h=Cc(m,e.payload);return r[f.message.id]={...ft(f,h)},s._type==="message_content"&&(p=h),p;case "step output content delta":return Ko(d,e.payload);case "status":if(s._type==="step"&&(s.currentStatus=Pe(e)),s._type==="invocation"&&(s.currentStatus=Pe(e)),s._type==="message_content"){let b=s;if(b.botInvocation)return b.botInvocation.currentStatus=Pe(e),{...b}}if(s._type==="message"){let b=s,x=Qo(b);if(x?.botInvocation)return x.botInvocation.currentStatus=Pe(e),ft(b,x)}return xr(s,Pe(e));case "result":return null;case "message finished":if(s._type==="message"){let x=qo(s);r[x.message.id]=x;}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=uc(s,n,i),u=In(t,e,c,o,r,l,[...a,s],i);return u?xr(s,{...u}):s}function Sr(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 ns(t){let e=t.content_type;if(e==="tool_result")return "result";if(e==="tool_invocation")return "invocation";let n=Sr(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 rs(t){return Sr(t)?.id}function os(t){let e=Sr(t);if(!e?.action_type)return null;let o=e.input?.query;return `${e.action_type}:${o||""}`}function ss(t){let e=t.filter(r=>ns(r)==="result"),n=new Set(e.map(r=>rs(r)).filter(Boolean)),o=new Set(e.map(r=>os(r)).filter(Boolean));return t.filter(r=>{if(ns(r)==="invocation"){let s=rs(r),a=os(r);if(s&&n.has(s)||a&&o.has(a))return false}return true})}function as(t,e,n){let o=e;for(;o;){if(o===n)return true;o=t.byStepId[o]?.parentId??null;}return false}function Nn(t,e){if(!e||!t.byStepId[e])return t;let n=new Set;for(let i of t.nodes)i.kind==="step"&&as(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 Tn(){return zustand.createStore((t,e)=>({globalState:kn(),invocationStates:{},invocationRootSteps:{},pendingInvocationQueue:[],pushEvent:(n,o)=>{let r=e(),s=r.pendingInvocationQueue,a=r.invocationRootSteps,i=r.invocationStates,c=false;if(n.type==="message content result"&&n.metadata?.content_type==="agent_invocation"){let g=n.payload,f=(g&&typeof g=="object"&&typeof g.invocation_id=="string"?g.invocation_id:"")||(typeof n.metadata?.invocation_id=="string"?n.metadata.invocation_id:"");f&&!a[f]&&!s.includes(f)&&(s=[...s,f],c=true);}let l=fr(r.globalState,n);if(o&&(l=o(l)),n.type==="step_started"&&s.length>0){let m=n.payload,g=m&&typeof m.step_id=="string"?m.step_id:"",f=m&&typeof m.type=="string"?m.type:"";if(g&&f==="agent"){let h=s[0],b=Nn(l,g);a={...a,[h]:g},i={...i,[h]:b},s=s.filter(x=>x!==h),c=true;}}if(l===r.globalState&&!c)return;let u=n.metadata?.step_id??n.payload?.step_id??"",d={...i},p=c;for(let[m,g]of Object.entries(a)){if(c&&!r.invocationRootSteps[m])continue;let f=r.invocationStates[m];if(u&&!as(l,u,g)&&u)continue;let h=Nn(l,g);if(!(n.type==="step_finished"||n.type==="step_started"||n.type==="status")&&f&&f.nodes.length===h.nodes.length){let x=f.nodes[f.nodes.length-1],y=h.nodes[h.nodes.length-1];if(x===y&&f.isStreaming===h.isStreaming)continue}d[m]=h,p=true;}t({globalState:l,...p?{invocationStates:d}:{},...c?{pendingInvocationQueue:s,invocationRootSteps:a}:{}});},reset:()=>{t({globalState:kn(),invocationStates:{},invocationRootSteps:{},pendingInvocationQueue:[]});}}))}function Rc(t){return t.split("/").filter(Boolean)}function is(t={}){let e=Ft(),[n,o]=kt.useState(null),[r,s]=kt.useState(false),[a,i]=kt.useState(null),[c,l]=kt.useState([]),u=kt.useRef(Tn()),d=zustand.useStore(u.current,x=>x.globalState),p=kt.useRef(null),m=kt.useRef(t.threadId);t.threadId!==m.current&&(m.current=t.threadId);let g=kt.useCallback(()=>{p.current&&(p.current.abort(),p.current=null);},[]),f=kt.useCallback(x=>{o(x),m.current=x.id;},[]),h=kt.useCallback(async x=>{if(!e.client)throw new Error("ErdoClient not configured in provider. Pass a client to ErdoProvider config to use useThread.");if(!e.client.sendMessage)throw new Error("ErdoClient does not support sendMessage. Make sure you are using @erdoai/server client.");if(!e.client.createThread)throw new Error("ErdoClient does not support createThread. Make sure you are using @erdoai/server client.");g(),p.current=new AbortController,s(true),i(null),l([]),u.current.getState().reset();let y={};try{let k=m.current;if(!k){let N=await e.client.createThread();o(N),m.current=N.id,k=N.id;}for await(let N of e.client.sendMessage(k,{content:x,botKey:t.botKey})){if(p.current?.signal.aborted)break;if(t.onEvent?.(N),e.useAgentEvents)u.current.getState().pushEvent(N);else {let U=N.type||"",tt=N.metadata||{},O=Rc(tt.path||""),H={payload:N.payload,metadata:{path:tt.path||"",...tt}};try{In(U,H,O,k,y);}catch(G){console.error("Error handling SSE event:",G,U);}l(Object.values(y));}}let S=Object.values(y);l(S);let _=u.current.getState().globalState,v;_.rootStepId?v=Cn(_):v=S.flatMap(N=>N.contents||[]).filter(N=>N.user_visibility==="visible").map(N=>({id:N.id,content_type:N.content_type,ui_content_type:M(N.ui_content_type),content:N.content,parsedJson:N.parsedJson,botInvocation:N.botInvocation})),t.onFinish?.(v);}catch(k){let S=k instanceof Error?k:new Error(String(k));throw i(S),t.onError?.(S),S}finally{s(false),p.current=null;}},[e.client,e.useAgentEvents,t,g]),b=kt.useMemo(()=>{if(d.rootStepId)return Cn(d);let x=c.flatMap(k=>k.contents||[]).filter(k=>k.user_visibility==="visible");return ss(x).map(k=>({id:k.id,content_type:k.content_type,ui_content_type:M(k.ui_content_type),content:k.content,parsedJson:k.parsedJson,botInvocation:k.botInvocation}))},[c,d]);return {thread:n,isStreaming:r,error:a,activeMessages:c,agentState:d,streamingContents:b,sendMessage:h,cancel:g,setThread:f,agentStreamStore:u.current}}function Ac(t){return t?typeof t=="string"?t:typeof t=="object"&&t!==null&&"String"in t&&t.String||"":""}function ls(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(e==="ui_generation")try{o.parsedJson=xt(t.content);}catch(r){console.error("Error parsing UI generation content:",r);}else if((n==="json"||e==="json")&&t.content.trim()){let r=$(t.content);r!=null&&(o.parsedJson=[{type:"json",content:r}]);}}if((t.content_type==="thinking"||t.content_type==="redacted_thinking")&&typeof t.content=="string"){let r=$(t.content);r&&typeof r=="object"&&(o.content=r);}return o}function Pc(t){return t.filter(e=>e.user_visibility!=="hidden").map(ls)}var Dn=kt.createContext(null);function us({store:t,children:e}){return jsxRuntime.jsx(Dn.Provider,{value:t,children:e})}function ds(){return kt.useContext(Dn)}function ps(t){let e=kt.useContext(Dn);return zustand.useStore(e,n=>t?n.invocationStates[t]:void 0)}function ms(){let t=kt.useContext(Dn);return zustand.useStore(t,e=>e.globalState)}exports.AgentStreamStoreProvider=us;exports.BarChart=Dt;exports.BotInvocationContent=pn;exports.Chart=ut;exports.ChartContainer=Se;exports.ChartContent=Ke;exports.ChartLegend=$n;exports.ChartLegendContent=jn;exports.ChartNode=Xn;exports.ChartStyle=Lr;exports.ChartTooltip=Vn;exports.ChartTooltipContent=Ln;exports.CodeexecContent=un;exports.CodegenContent=an;exports.CollapsibleCodeBlock=vt;exports.Content=$t;exports.DatasetChart=Ue;exports.DatasetDownload=ee;exports.DatasetMetric=Or;exports.DatasetTable=Fe;exports.DownloadButtonNode=nr;exports.ErdoProvider=Tr;exports.ErdoToolResult=Wo;exports.ErdoUI=Il;exports.ErrorBoundary=Et;exports.ExecutionStatus=to;exports.ExpandableOutputContent=wt;exports.FileDownloadsNode=or;exports.HeatmapChart=Qt;exports.InvocationEvent=ze;exports.InvocationEvents=Pt;exports.InvocationStatus=Xr;exports.JSONStreamParser=nt;exports.JsonContent=ht;exports.LineChart=zt;exports.Loader=Vo;exports.Log=ar;exports.LogContent=Ye;exports.MarkdownContent=R;exports.MemoryContent=gn;exports.Output=Je;exports.PieChart=Ht;exports.ScatterChart=Kt;exports.SqlContent=nn;exports.StatusSpinner=it;exports.StderrText=ce;exports.StdoutText=le;exports.StdwarnText=on;exports.StepInvocation=qe;exports.StepInvocationStatus=We;exports.StepTreeContent=Go;exports.SuggestionsNode=rr;exports.TableContent=Qe;exports.TableNode=tr;exports.TextContent=we;exports.TextMarkdownNode=er;exports.ThinkingContent=oe;exports.ToolGroupContent=ue;exports.UIGenerationNodes=re;exports.WebParseContent=tn;exports.WebSearchContent=Xe;exports.WritingLoader=ur;exports.agentStateToContents=Cn;exports.cn=X;exports.completeStreamingContent=jo;exports.createAgentStreamStore=Tn;exports.createInitialAgentState=kn;exports.extractContentItems=$o;exports.formatValue=et;exports.getErdoToolName=Sn;exports.getErdoToolRenderType=gr;exports.handleAgentEvent=fr;exports.handleIncrementalMixedJsonParsing=dr;exports.handleSSEEvent=In;exports.hasRenderableAssistantOutput=Wl;exports.isErdoTool=oc;exports.isJsonLike=ve;exports.isNullString=zr;exports.isParsingComplete=Wa;exports.isParsingInProgress=te;exports.isWhitespaceChar=Bt;exports.nodeComponents=sr;exports.normalizeContent=ls;exports.normalizeContents=Pc;exports.normalizeUIGenerationChunks=De;exports.normalizeUINodes=Qn;exports.parseCompleteJson=$;exports.parseMixedJson=xt;exports.parseToDate=Br;exports.resolveKeyFromData=Zt;exports.sliceAgentStateToRoot=Nn;exports.toSnakeCase=Jr;exports.unwrapNullString=M;exports.unwrapNullStringOr=xa;exports.useAgentStreamGlobalState=ms;exports.useAgentStreamStoreOptional=ds;exports.useChartZoom=Ve;exports.useDatasetContents=Gt;exports.useErdoConfig=Ft;exports.useErdoConfigOptional=Q;exports.useInvocationState=ps;exports.useMultipleDatasetContents=Pr;exports.useMultipleDatasetRequests=be;exports.useThread=is;
|