@erdoai/ui 0.1.17 → 0.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -23,4 +23,4 @@ $bm_rt = comp('system-solid-56-warning').layer('control').effect('primary')('Col
23
23
  $bm_rt = comp('system-solid-56-warning').layer('control').effect('primary')('Color');`},o:{a:0,k:100,ix:5},r:1,bm:0,nm:".primary",mn:"ADBE Vector Graphic - Fill",hd:false,cl:"primary"}],ip:1,op:54,st:0,ct:1,bm:0}]},{id:"comp_3",nm:"mask-1",fr:60,layers:[{ddd:0,ind:1,ty:3,nm:"NULL 2",sr:1,ks:{o:{a:0,k:0,ix:11},r:{a:1,k:[{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:11,s:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:17.25,s:[-30]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:23.5,s:[30]},{i:{x:[.16],y:[1]},o:{x:[.333],y:[0]},t:31,s:[-30]},{t:46,s:[0]}],ix:10},p:{a:0,k:[250,284,0],ix:2,l:2},a:{a:0,k:[50,50,0],ix:1,l:2},s:{a:1,k:[{i:{x:[0,0,.2],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:0,s:[100,100,100]},{i:{x:[.3,.3,.3],y:[1,1,1]},o:{x:[1,1,.8],y:[0,0,0]},t:16,s:[180,180,100]},{i:{x:[.3,.3,.3],y:[1,1,1]},o:{x:[.7,.7,.7],y:[0,0,0]},t:35,s:[180,180,100]},{t:58,s:[100,100,100]}],ix:6,l:2}},ao:0,ip:0,op:53,st:0,bm:0},{ddd:0,ind:2,ty:4,nm:".primary.design",cl:"primary design",parent:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[50.005,120.173,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[0,0],[0,0]],c:false},ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:false},{ty:"st",c:{a:0,k:[1,1,1,1],ix:3},o:{a:0,k:100,ix:4},w:{a:1,k:[{i:{x:[0],y:[1]},o:{x:[.333],y:[0]},t:0,s:[52]},{i:{x:[0],y:[1]},o:{x:[1],y:[0]},t:10,s:[150]},{i:{x:[.833],y:[.833]},o:{x:[1],y:[0]},t:29,s:[150]},{t:53,s:[52]}],ix:5},lc:2,lj:1,ml:10,bm:0,nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:false},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Group 1",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false}],ip:0,op:53,st:-1,ct:1,bm:0},{ddd:0,ind:3,ty:4,nm:".primary.design",cl:"primary design",parent:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[50.004,10.799,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:1,k:[{i:{x:0,y:1},o:{x:.333,y:0},t:0,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[0,41.667],[0,-41.667]],c:false}]},{i:{x:0,y:1},o:{x:1,y:0},t:10,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[.004,142.667],[0,-41.667]],c:false}]},{i:{x:.833,y:.833},o:{x:1,y:0},t:29,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[.004,142.667],[0,-41.667]],c:false}]},{t:53,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[0,41.667],[0,-41.667]],c:false}]}],ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:false},{ty:"st",c:{a:0,k:[1,1,1,1],ix:3},o:{a:0,k:100,ix:4},w:{a:1,k:[{i:{x:[0],y:[1]},o:{x:[.333],y:[0]},t:0,s:[42]},{i:{x:[0],y:[1]},o:{x:[1],y:[0]},t:10,s:[150]},{i:{x:[.833],y:[.833]},o:{x:[1],y:[0]},t:29,s:[150]},{t:53,s:[42]}],ix:5},lc:2,lj:2,bm:0,nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:false},{ty:"tr",p:{a:0,k:[0,-14.5],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Group 1",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false}],ip:0,op:53,st:-1,ct:1,bm:0}]}],layers:[{ddd:0,ind:1,ty:3,nm:"control",sr:1,ks:{o:{a:0,k:0,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[0,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,ef:[{ty:5,nm:"primary",np:3,mn:"ADBE Color Control",ix:1,en:1,ef:[{ty:2,nm:"Color",mn:"ADBE Color Control-0001",ix:1,v:{a:0,k:[.071,.075,.192],ix:1}}]}],ip:0,op:131,st:0,bm:0},{ddd:0,ind:3,ty:0,nm:"hover-warning",refId:"comp_2",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[250,250,0],ix:2,l:2},a:{a:0,k:[250,250,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,w:500,h:500,ip:0,op:70,st:0,bm:0}],markers:[{tm:0,cm:"default:hover-warning",dr:60}],props:{}};function ma(){let[t,e]=tt.useState("#000000");return tt.useEffect(()=>{if(typeof window>"u")return;let n=()=>{let r=document.documentElement.classList.contains("dark");e(r?"#ffffff":"#000000");};n();let a=new MutationObserver(r=>{r.forEach(o=>{o.attributeName==="class"&&n();});});return a.observe(document.documentElement,{attributes:true}),()=>a.disconnect()},[]),t}function _t({status:t,color:e,size:n=16,className:a}){let r=tt.useRef(null),o=tt.useRef(null),i=tt.useRef(null),s=tt.useRef(null),[l,u]=tt.useState(false),p=ma(),d=e||p;tt.useEffect(()=>{typeof window<"u"&&!s.current&&import('@lordicon/react').then(m=>{s.current=m.Player,u(true);});},[]),tt.useEffect(()=>{l&&(t==="loading"?r.current?.playFromBeginning?.():t==="finished"?(r.current?.pause?.(),o.current?.playFromBeginning?.()):t==="failed"&&(r.current?.pause?.(),i.current?.playFromBeginning?.()));},[t,l]);let c=s.current;return c?jsxRuntime.jsxs("div",{className:a,style:{width:n,height:n,position:"relative"},children:[jsxRuntime.jsx("div",{style:{position:"absolute",opacity:t==="loading"?1:0,transition:"opacity 0.3s ease-in-out"},children:jsxRuntime.jsx(c,{ref:r,size:n,icon:En,colorize:d,onComplete:()=>r.current?.playFromBeginning?.()})}),jsxRuntime.jsx("div",{style:{position:"absolute",opacity:t==="finished"?1:0,transition:"opacity 0.3s ease-in-out"},children:jsxRuntime.jsx(c,{ref:o,size:n,icon:In,colorize:d})}),jsxRuntime.jsx("div",{style:{position:"absolute",opacity:t==="failed"?1:0,transition:"opacity 0.3s ease-in-out"},children:jsxRuntime.jsx(c,{ref:i,size:n,icon:Nn,colorize:d})})]}):jsxRuntime.jsx("div",{className:a,style:{width:n,height:n,position:"relative"},children:t==="loading"&&jsxRuntime.jsx("div",{style:{width:n,height:n,border:"2px solid transparent",borderTopColor:d,borderRadius:"50%",animation:"spin 1s linear infinite"}})})}function Ut(t,e){return t==="json"||e==="json"}var Bn=(l=>(l.Pending="pending",l.Running="running",l.Success="success",l.Error="error",l.RequiresInfo="requires info",l.GoToStep="go to step",l.Skipped="skipped",l.Break="break",l))(Bn||{}),Fe=(o=>(o.Initializing="initializing",o.Running="running",o.ProcessingDatasets="processing datasets",o.Completed="completed",o.Failed="failed",o))(Fe||{});var Ue={Finished:"step finished",Failed:"step error"};function ae({step:t}){let e=t.action_type?.String||"step",n=t.currentStatus;if(!n)return null;let a="loading";n.status===Ue.Finished||n.status==="completed"?a="finished":(n.status===Ue.Failed||n.status==="failed")&&(a="failed");let r=n.message?.String?n.message.String:n.status===Ue.Finished?t.finished_message?.String||`Finished ${e}`:`Running ${e}...`;return jsxRuntime.jsxs("div",{className:"text-sm font-medium flex items-center gap-2",children:[jsxRuntime.jsx(_t,{status:a}),r]})}function oe({step:t,ContentComponent:e}){if(t.user_output_visibility?.String!=="visible")return null;let n=t.action_type?.String;return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[n!=="bot.invoke"&&n!=="invoke_bot"&&jsxRuntime.jsx(ae,{step:t}),jsxRuntime.jsx(se,{eventsByID:t.eventsByID,ContentComponent:e})]})}function ie({event:t,ContentComponent:e}){let n=X(),a=e??n?.ContentComponent;if(!t)return null;switch(t.type){case "output":return t.Output?jsxRuntime.jsx(ne,{output:t.Output,ContentComponent:a}):null;case "step":return t.Step?jsxRuntime.jsx(oe,{step:t.Step,ContentComponent:a}):null;default:return null}}function se({eventsByID:t,ContentComponent:e}){return jsxRuntime.jsx(jsxRuntime.Fragment,{children:Object.values(t).map(n=>jsxRuntime.jsx(ie,{event:n,ContentComponent:e},n.id))})}function Jt({content:t,className:e}){return t?.length?jsxRuntime.jsx("div",{className:e||"prose dark:prose-invert max-w-4xl w-full leading-normal",children:jsxRuntime.jsx("p",{style:{whiteSpace:"pre-wrap"},children:t})}):null}function va(t){let e=[],n=t;for(;n.length>0;){let a=n.indexOf("{"),r=n.indexOf("["),o=-1,i=true;if(a>=0&&(r<0||a<r)?(o=a,i=true):r>=0&&(o=r,i=false),o<0){n.trim()&&e.push({type:"text",content:n});break}if(o>0){let c=n.slice(0,o);c.trim()&&e.push({type:"text",content:c});}let s=0,l=o,u=i?"{":"[",p=i?"}":"]";for(let c=o;c<n.length;c++)if(n[c]===u&&s++,n[c]===p&&s--,s===0){l=c+1;break}let d=n.slice(o,l);try{let c=JSON.parse(d);e.push({type:"json",content:c});}catch{e.push({type:"text",content:d});}n=n.slice(l);}return e}function Ca(t){switch(t){case "muted":return "text-gray-500";case "error":return "text-red-500";case "warning":return "text-yellow-600";case "success":return "text-green-600";default:return ""}}function St({content:t,className:e}){if(t==null)return null;let n=typeof t=="string"?t:JSON.stringify(t,null,2),a=tt.useMemo(()=>va(n),[n]);return n?.length?jsxRuntime.jsx("div",{className:e||"prose dark:prose-invert leading-normal",children:a.map((r,o)=>{if(r.type==="json"){let i=r.content;return i.message&&typeof i.message=="string"?jsxRuntime.jsx("p",{className:Ca(i.style),children:i.message},o):jsxRuntime.jsx("pre",{className:"bg-gray-100 dark:bg-gray-800 p-3 rounded overflow-x-auto text-sm",children:JSON.stringify(i,null,2)},o)}return jsxRuntime.jsx("p",{children:r.content},o)})}):null}function Wt({config:t,data:e,className:n}){let a=tt.useMemo(()=>!t?.chart_type||!t?.chart_title||!t?.series?.length||!t?.y_axes?.length?null:{chartType:t.chart_type,title:t.chart_title,xAxis:{label:t.x_axis.axis_label,key:t.x_axis.key,maxValue:t.x_axis.max_value,minValue:t.x_axis.min_value,type:t.x_axis.value_type,format:t.x_axis.format},yAxes:t.y_axes.map(s=>({label:s.axis_label,key:s.key,maxValue:s.max_value,minValue:s.min_value,type:s.value_type,format:s.format})),series:t.series.map(s=>({key:s.key,name:s.series_name,color:s.color,axisIndex:s.axis_index,filters:s.filters})),dataReduction:t.data_reduction,stacked:t.stacked,sort:t.sort},[t]);if(!a)return jsxRuntime.jsx("div",{className:"text-red-500",children:"Invalid chart configuration"});if(!e||e.length===0)return jsxRuntime.jsx("div",{className:"text-gray-500",children:"No data available for chart"});let r=null;switch(a.chartType){case "bar":case "histogram":r=ct;break;case "line":r=xt;break;case "pie":r=ht;break;case "scatter":r=kt;break;case "heatmap":r=bt;break}if(!r)return jsxRuntime.jsxs("div",{className:"text-red-500",children:["Unsupported chart type: ",a.chartType]});let o={[a.xAxis.key]:{label:a.xAxis.label,format:a.xAxis.format,type:a.xAxis.type},...a.series.reduce((s,l)=>(s[l.key]={label:l.name,color:l.color},s),{})},i={chartType:a.chartType,xAxis:a.xAxis,yAxes:a.yAxes,series:a.series};return jsxRuntime.jsx("div",{className:n||"w-full max-w-3xl",children:jsxRuntime.jsx(r,{title:a.title,data:e,displayConfig:o,dataConfig:i,stacked:a.stacked,disableAnimation:e.length>100})})}function jt({title:t,columns:e,data:n,className:a,maxRows:r=100}){let o=tt.useMemo(()=>!n||n.length===0?[]:r?n.slice(0,r):n,[n,r]);return !e||e.length===0?jsxRuntime.jsx("div",{className:"text-gray-500",children:"No columns defined"}):!n||n.length===0?jsxRuntime.jsx("div",{className:"text-gray-500",children:"No data available"}):jsxRuntime.jsxs("div",{className:a||"w-full max-w-4xl",children:[t&&jsxRuntime.jsx("h3",{className:"text-lg font-medium mb-2",children:t}),jsxRuntime.jsx("div",{className:"overflow-x-auto border rounded-md",children:jsxRuntime.jsxs("table",{className:"w-full text-sm",children:[jsxRuntime.jsx("thead",{children:jsxRuntime.jsx("tr",{className:"border-b bg-gray-50 dark:bg-gray-800",children:e.map(i=>jsxRuntime.jsx("th",{className:"px-4 py-2 text-left font-medium text-gray-700 dark:text-gray-300",children:i.column_name},i.key))})}),jsxRuntime.jsx("tbody",{children:o.map((i,s)=>jsxRuntime.jsx("tr",{className:"border-b last:border-b-0 hover:bg-gray-50 dark:hover:bg-gray-800/50",children:e.map(l=>jsxRuntime.jsx("td",{className:"px-4 py-2 text-gray-900 dark:text-gray-100",children:lt(i[l.key],l.format,l.value_type)},l.key))},s))})]})}),n.length>r&&jsxRuntime.jsxs("p",{className:"text-sm text-gray-500 mt-2",children:["Showing ",r," of ",n.length," rows"]})]})}function G({content:t,className:e}){return t?.length?jsxRuntime.jsx("div",{className:L("prose dark:prose-invert leading-tight",e),children:jsxRuntime.jsx(Ea__default.default,{remarkPlugins:[Ia__default.default],children:t})}):null}function pe({item:t,className:e}){let[n,a]=tt.useState(false),r=t.content_type==="redacted_thinking",o="";typeof t.content=="string"?o=t.content:t.content&&typeof t.content=="object"&&(r?o=t.content.data||"Some of Claude's internal reasoning has been automatically encrypted for safety reasons. This doesn't affect the quality of responses.":o=t.content.thinking||"");let i=r?"border-amber-200 bg-amber-50 dark:bg-amber-900/20 dark:border-amber-700":"border-gray-200 bg-gray-50 dark:bg-gray-800 dark:border-gray-700",s=r?"hover:bg-amber-100 dark:hover:bg-amber-800/30":"hover:bg-gray-100 dark:hover:bg-gray-700",l=r?"text-amber-700 dark:text-amber-300":"text-gray-600 dark:text-gray-400",u=r?"text-amber-800 dark:text-amber-200 italic":"text-gray-700 dark:text-gray-300",p=r?"border-amber-200 dark:border-amber-700":"border-gray-200 dark:border-gray-700";return jsxRuntime.jsxs("div",{className:`my-2 border rounded-lg ${i} ${e||""}`,children:[jsxRuntime.jsxs("button",{onClick:()=>a(!n),className:`w-full px-3 py-2 flex items-center gap-2 text-left transition-colors rounded-lg ${s}`,children:[n?jsxRuntime.jsx(lucideReact.ChevronDown,{className:"h-4 w-4 text-gray-500"}):jsxRuntime.jsx(lucideReact.ChevronRight,{className:"h-4 w-4 text-gray-500"}),jsxRuntime.jsx("span",{className:`text-sm font-medium ${l}`,children:r?"Encrypted Thinking...":"Thinking..."}),!n&&jsxRuntime.jsx("span",{className:"text-xs text-gray-500 dark:text-gray-500 ml-auto",children:"Click to expand"})]}),n&&jsxRuntime.jsx("div",{className:`px-3 pb-3 border-t ${p}`,children:jsxRuntime.jsx("div",{className:`mt-2 text-sm whitespace-pre-wrap ${u}`,children:o})})]})}function Mn(t){try{return JSON.parse(t)}catch{return t}}function Ta(t){if(!t)return "";try{return new Date(t).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return ""}}function We({log:t}){let e=typeof t.message=="string"?Mn(t.message):t.message,n=Ta(t.timestamp),a="text-xs font-mono py-0.5 px-1.5 rounded flex items-start",r="";switch(t.level){case "error":a+=" 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":a+=" 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:a+=" 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:a,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 ue({item:t,className:e}){let n=typeof t.content=="string"?t.content:JSON.stringify(t.content),a=Mn(n),r={level:a.level||"info",message:a.message||n,timestamp:a.timestamp};return jsxRuntime.jsx("div",{className:e,children:jsxRuntime.jsx(We,{log:r})})}function de({item:t,className:e}){let n=t.content;return n?.results?.length?jsxRuntime.jsx("div",{className:`max-w-2xl ${e||""}`,children:jsxRuntime.jsx("div",{className:"space-y-1",children:n.results.map((a,r)=>jsxRuntime.jsx("div",{className:"group hover:shadow-sm transition-shadow rounded-sm py-2 border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-900",children:jsxRuntime.jsx("div",{className:"px-4",children:jsxRuntime.jsx("div",{className:"flex items-start justify-between gap-2",children:jsxRuntime.jsxs("div",{className:"flex-1 min-w-0",children:[jsxRuntime.jsxs("a",{href:a.url,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1 font-medium text-xs leading-tight truncate text-gray-900 dark:text-gray-100 hover:text-blue-600 dark:hover:text-blue-400 hover:underline",children:[jsxRuntime.jsx("span",{children:a.title}),jsxRuntime.jsxs("span",{className:"text-xs text-gray-500/60 dark:text-gray-400/60 flex-shrink-0",children:["(",new URL(a.url).hostname,")"]})]}),jsxRuntime.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400 truncate leading-tight mt-0.5",children:a.description})]})})})},r))})}):null}function me({item:t,className:e}){let n=t.content;return n?.content?.length?jsxRuntime.jsxs("div",{className:`max-w-4xl border border-gray-200 dark:border-gray-700 rounded-lg bg-white dark:bg-gray-900 ${e||""}`,children:[jsxRuntime.jsx("div",{className:"p-4 border-b border-gray-200 dark:border-gray-700",children:jsxRuntime.jsxs("div",{className:"flex items-start justify-between",children:[jsxRuntime.jsxs("div",{className:"space-y-2",children:[jsxRuntime.jsxs("h3",{className:"flex items-center gap-2 text-lg font-semibold text-gray-900 dark:text-gray-100",children:[jsxRuntime.jsx(lucideReact.Globe,{className:"h-5 w-5 text-blue-600 dark:text-blue-400"}),n.title||"Parsed Website Content"]}),n.description&&jsxRuntime.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400 leading-relaxed",children:n.description})]}),n.url&&jsxRuntime.jsxs("a",{href:n.url,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1 text-xs text-blue-600 dark:text-blue-400 hover:text-blue-500 dark:hover:text-blue-300 transition-colors font-medium",children:[jsxRuntime.jsx(lucideReact.ExternalLink,{className:"h-3 w-3"}),"Visit"]})]})}),jsxRuntime.jsx("div",{className:"p-4",children:jsxRuntime.jsx(G,{content:n.content,className:"prose dark:prose-invert max-w-none leading-relaxed prose-sm"})})]}):null}var Ua=reactSyntaxHighlighter.Prism;function It({language:t,value:e,defaultOpen:n=false,title:a="View code",closeTitle:r="Hide code",className:o,theme:i="auto"}){let[s,l]=tt.useState(n),[u,p]=tt.useState(false),d=tt.useMemo(()=>i!=="auto"?i:typeof window>"u"?"light":document.documentElement.classList.contains("dark")||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",[i]),c=tt.useMemo(()=>d==="dark"?prism.oneDark:prism.oneLight,[d]),m=async()=>{try{await navigator.clipboard.writeText(e),p(!0),setTimeout(()=>p(!1),2e3);}catch{let b=document.createElement("textarea");b.value=e,document.body.appendChild(b),b.select(),document.execCommand("copy"),document.body.removeChild(b),p(true),setTimeout(()=>p(false),2e3);}},f=tt.useMemo(()=>({margin:0,width:"100%",background:"transparent",padding:"1rem 0.5rem",fontSize:"0.825rem",maxWidth:"100vw",overflow:"auto"}),[]),y=tt.useMemo(()=>({userSelect:"none",minWidth:"2.5em",paddingRight:"1em",color:"rgb(161 161 170)",opacity:"0.5"}),[]),x=tt.useMemo(()=>({style:{fontFamily:"var(--font-mono, ui-monospace, monospace)",whiteSpace:"pre",wordBreak:"break-word"}}),[]);return jsxRuntime.jsx(Tt__namespace.Root,{open:s,onOpenChange:l,className:o,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:t}),jsxRuntime.jsx("button",{onClick:m,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",{className:`${s?"":"max-h-[200px] overflow-hidden"} relative`,children:[jsxRuntime.jsx("div",{className:"bg-zinc-50/50 dark:bg-zinc-950/70",children:jsxRuntime.jsx(Ua,{language:t,style:c,PreTag:"div",showLineNumbers:true,wrapLines:false,wrapLongLines:false,startingLineNumber:1,className:"not-prose",customStyle:f,lineNumberStyle:y,codeTagProps:x,children:e})}),!s&&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(Tt__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:s?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(lucideReact.ChevronUp,{className:"h-4 w-4"}),r]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(lucideReact.ChevronDown,{className:"h-4 w-4"}),a]})})]})})}var Nt=Symbol("parsing"),nt=class{result;stack;key;state;stringBuffer;numberBuffer;quoteBuffer;escapeNext;unicode;isInTripleQuotes;constructor(){this.result=void 0,this.stack=[],this.key=void 0,this.state="START",this.stringBuffer="",this.numberBuffer="",this.quoteBuffer="",this.escapeNext=false,this.unicode="",this.isInTripleQuotes=false;}reset(){this.result=void 0,this.stack=[],this.key=void 0,this.state="START",this.stringBuffer="",this.numberBuffer="",this.quoteBuffer="",this.escapeNext=false,this.unicode="",this.isInTripleQuotes=false;}parse(e){return this.reset(),this.add(e)}add(e){for(let n=0;n<e.length;n++){let a=e[n];this.processChar(a);}return this.result}processChar(e){switch(this.state){case "START":this.handleStartState(e);break;case "IN_OBJECT":this.handleObjectState(e);break;case "IN_ARRAY":this.handleArrayState(e);break;case "IN_OBJECT_KEY":this.handleObjectKeyState(e);break;case "AFTER_KEY":this.handleAfterKeyState(e);break;case "IN_OBJECT_VALUE":this.handleObjectValueState(e);break;case "IN_STRING":this.handleStringState(e);break;case "IN_NUMBER":this.handleNumberState(e);break;case "IN_TRUE":this.handleLiteralState(e,"true");break;case "IN_FALSE":this.handleLiteralState(e,"false");break;case "IN_NULL":this.handleLiteralState(e,"null");break;case "IN_UNICODE":this.handleUnicodeState(e);break}}handleStartState(e){if(e==="{")this.startObject();else if(e==="[")this.startArray();else if(!this.isWhitespace(e))throw this.error("must start with { or [","start")}error(e,n){return new Error(`Invalid JSON in ${n}: ${e}`)}handleObjectState(e){if(e==="}")this.endObject();else if(e==='"')this.state="IN_OBJECT_KEY",this.stringBuffer="",this.key=void 0,this.quoteBuffer="";else if(e===",")this.key=void 0;else if(!this.isWhitespace(e))throw this.error(`Invalid character in object: ${e}`,"object")}handleArrayState(e){e==="]"?this.endArray():e===","||this.isWhitespace(e)||this.startValue(e);}handleObjectKeyState(e){e==='"'?(this.state="AFTER_KEY",this.key=this.stringBuffer,this.stringBuffer=""):(this.stringBuffer+=e,this.updateValueInParent(this.stringBuffer));}handleAfterKeyState(e){e===":"?this.state="IN_OBJECT_VALUE":this.isWhitespace(e)||this.isWhitespace(e)||(this.key=this.key+e);}handleObjectValueState(e){this.isWhitespace(e)||this.startValue(e);}handleStringState(e){if(this.escapeNext)this.handleEscapeChar(e);else if(e==="\\")this.escapeNext=true;else if(e==='"'){if(this.quoteBuffer+='"',this.stringBuffer===""&&this.quoteBuffer==='""')this.quoteBuffer="",this.isInTripleQuotes=true;else if(this.stringBuffer&&this.quoteBuffer==='"""'){this.quoteBuffer="",this.isInTripleQuotes=false,this.stringBuffer=this.stringBuffer.replace(/^\n+/,"").replace(/\n+$/,"").trim(),this.endString();return}}else {if(this.quoteBuffer){if(this.quoteBuffer==='"'&&!this.isInTripleQuotes){this.quoteBuffer="",this.endString(),this.processChar(e);return}else if(this.quoteBuffer==='"""'&&this.isInTripleQuotes){this.quoteBuffer="",this.isInTripleQuotes=false,this.endString(),this.processChar(e);return}this.stringBuffer+=this.quoteBuffer,this.quoteBuffer="";}this.stringBuffer+=e,this.updateValueInParent(this.stringBuffer);}}handleNumberState(e){e.match(/[0-9.eE+-]/)?(this.numberBuffer+=e,this.updateValueInParent(parseFloat(this.numberBuffer))):(this.endNumber(),this.processChar(e));}handleLiteralState(e,n){let a=n[this.stringBuffer.length];if(e===a)this.stringBuffer+=e,this.stringBuffer===n?this.endLiteral(n):this.updateValueInParent(this.stringBuffer);else throw this.error(`Invalid literal: expected ${n}`,"literal")}handleUnicodeState(e){if(this.unicode+=e,this.unicode.length===4){let n=parseInt(this.unicode,16);this.stringBuffer+=String.fromCharCode(n),this.unicode="",this.state="IN_STRING";}}handleEscapeChar(e){switch(e){case '"':case "\\":case "/":this.stringBuffer+=e;break;case "b":this.stringBuffer+="\b";break;case "f":this.stringBuffer+="\f";break;case "n":this.stringBuffer+=`
24
24
  `;break;case "r":this.stringBuffer+="\r";break;case "t":this.stringBuffer+=" ";break;case "u":this.unicode="",this.state="IN_UNICODE";break;case "`":this.stringBuffer+="`";break;default:throw this.error("Invalid escape character","string")}this.escapeNext=false;}startObject(){let e={[Nt]:true};this.addValueToParent(e),this.stack.push({value:e,key:this.key}),this.key=void 0,this.state="IN_OBJECT";}endObject(){let{value:e,key:n,index:a}=this.stack.pop();if(delete e[Nt],this.stack.length===0)this.state="END",this.result={...e};else {let{value:r}=this.stack[this.stack.length-1];if(Array.isArray(r))a!==void 0?r[a]={...e}:r[r.length-1]={...e};else if(n!==void 0)r[n]={...e};else throw this.error("Key is undefined","object");this.state=this.getParentState();}}startArray(){let e=[];e[Nt]=true,this.addValueToParent(e),this.stack.push({value:e,key:this.key,index:0}),this.key=void 0,this.state="IN_ARRAY";}endArray(){let{value:e,key:n,index:a}=this.stack.pop();if(delete e[Nt],this.stack.length===0)if(this.state="END",Array.isArray(e))this.result=[...e];else throw this.error("Expected array at root level","array");else {let{value:r}=this.stack[this.stack.length-1];Array.isArray(r)?a!==void 0?r[a]=Array.isArray(e)?[...e]:e:r[r.length-1]=Array.isArray(e)?[...e]:e:n!==void 0&&(r[n]=Array.isArray(e)?[...e]:e),this.state=this.getParentState();}}startValue(e){if(e==='"')this.state="IN_STRING",this.stringBuffer="",this.quoteBuffer="",this.addValueToParent("");else if(e.match(/[0-9-]/))this.state="IN_NUMBER",this.numberBuffer=e,this.addValueToParent(parseFloat(e));else if(e==="t")this.state="IN_TRUE",this.stringBuffer="t",this.addValueToParent("t");else if(e==="f")this.state="IN_FALSE",this.stringBuffer="f",this.addValueToParent("f");else if(e==="n")this.state="IN_NULL",this.stringBuffer="n",this.addValueToParent("n");else if(e==="{")this.startObject();else if(e==="[")this.startArray();else throw this.error(`Invalid value start: ${e}`,"value")}endString(){let e=this.stringBuffer;this.stringBuffer="",this.updateValueInParent(e),this.state=this.getParentState();}endNumber(){let e=parseFloat(this.numberBuffer);this.updateValueInParent(e),this.numberBuffer="",this.state=this.getParentState();}endLiteral(e){let n;switch(e){case "true":n=true;break;case "false":n=false;break;case "null":n=null;break;default:throw this.error("Invalid literal","literal")}this.updateValueInParent(n),this.stringBuffer="",this.state=this.getParentState();}addValueToParent(e){if(this.stack.length===0)this.result=e;else {let n=this.stack[this.stack.length-1],{value:a}=n;if(Array.isArray(a))a.push(e),n.index!==void 0&&n.index++;else if(this.state==="IN_OBJECT_KEY")this.key=e,a[this.key]="";else {if(this.key===void 0)throw this.error("Key is undefined","object");a[this.key]=e;}}}updateValueInParent(e){if(this.stack.length===0)this.result=e;else {let n=this.stack[this.stack.length-1],{value:a}=n;if(Array.isArray(a))n.index!==void 0?a[n.index-1]=e:a[a.length-1]=e;else if(this.key!==void 0)a[this.key]=e;else if(this.state!=="IN_OBJECT_KEY")throw this.error("Key is undefined","object")}}isWhitespace(e){return e===" "||e===" "||e===`
25
25
  `||e==="\r"}getParentState(){return this.stack.length===0?"END":Array.isArray(this.stack[this.stack.length-1].value)?"IN_ARRAY":"IN_OBJECT"}};function Ja(t){let e=t.trim();try{return JSON.parse(e)}catch{try{return new nt().parse(e)}catch(a){return console.log("content",e),console.error("Error parsing JSON",a),null}}}function ye(t){return t===" "||t===`
26
- `||t===" "||t==="\r"}function Wa(t,e){if(e>=t.length-1)return "";for(let n=e+1;n<t.length;n++)if(!ye(t[n]))return t[n];return ""}function rt(t){if(typeof t!="string")return t;let e=[],n=/```json\s*\n([\s\S]*?)(?:(?:\n)?```|$)/g,a=n.test(t);if(n.lastIndex=0,a){let r=0,o;for(;(o=n.exec(t))!==null;){let s=t.substring(r,o.index).trim();s&&e.push({content:s,type:"text"});let l=o[1];try{let u=JSON.parse(l);e.push({content:u,type:"json"});}catch{try{let d=new nt().parse(l);d?e.push({content:d,type:"json"}):e.push({content:o[0],type:"text"});}catch{e.push({content:o[0],type:"text"});}}r=o.index+o[0].length;}let i=t.substring(r).trim();i&&e.push({content:i,type:"text"});}else {let r="",o=null,i=false,s=0;for(let l=0;l<t.length;l++){let u=t[l],p=Wa(t,l);if(!i&&(u==="{"&&p==='"'||u==="["&&p==="{")&&(r.trim()&&e.push({content:r.trim(),type:"text"}),i=true,o=new nt,r=""),i){let d;try{d=o.add(u);}catch(c){if(console.log("currentChunk",r),console.log("currentResult",o?.result),console.warn("Error parsing JSON",c),s>3)throw c;s++;continue}r+=u,o.state==="END"&&(e.push({content:d,type:"json"}),i=false,o=null,r="");}else r+=u;}r.trim()&&e.push({content:r.trim(),type:"text"});}return e}function ja(t){return t&&typeof t=="object"&&!t[Nt]}function qa(t){return t&&typeof t=="object"&&t[Nt]===true}function ge({item:t,className:e}){if(!t.content)return null;let n=typeof t.content=="string"?t.content:JSON.stringify(t.content),a=t.parsedJson||rt(n),r=Array.isArray(a)?a.find(l=>l.type==="json"):a?.[0];if(!r)return jsxRuntime.jsxs("div",{className:`text-destructive text-sm ${e||""}`,children:[jsxRuntime.jsx("div",{className:"font-medium",children:"Error"}),jsxRuntime.jsx("div",{children:n})]});let{thinking:o,sql_query:i,error:s}=r?.content||{};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})]}):i?jsxRuntime.jsxs("div",{className:`text-foreground whitespace-pre-wrap leading-normal ${e||""}`,children:[o&&jsxRuntime.jsx("div",{className:"mb-2",children:jsxRuntime.jsx(G,{content:o,className:"text-sm max-w-none"})}),i&&jsxRuntime.jsx("div",{className:"mb-2",children:jsxRuntime.jsx(It,{language:"sql",value:i,defaultOpen:false})})]}):null}function Dt({children:t,defaultOpen:e=false,wrapperType:n="standard",compact:a=false,className:r}){let[o,i]=tt.useState(e),[s,l]=tt.useState(false),u=tt.useRef(null);tt.useEffect(()=>{let c=u.current;c&&(o||(c.scrollTop=c.scrollHeight),l(c.scrollHeight>c.clientHeight));},[o,t]);let p={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 ${a?"":"mb-2"} ${r||""}`,children:jsxRuntime.jsx(Tt__namespace.Root,{open:o,onOpenChange:i,className:`border rounded-sm ${p[n]}`,children:jsxRuntime.jsxs("div",{ref:u,className:`overflow-y-auto ${o?"":"max-h-[200px]"}`,children:[s&&jsxRuntime.jsx(Tt__namespace.Trigger,{className:`sticky top-0 text-center text-xs py-1 transition-opacity w-full cursor-pointer ${d[n]}`,children:o?"Less \u2193":"More \u2191"}),jsxRuntime.jsx("div",{className:`${a?"px-2 py-1":"p-2"} m-0 overflow-x-auto break-words whitespace-pre-wrap`,children:t})]})})})}function He(t){return new Date(t).toLocaleTimeString("en-US",{hour12:false,hour:"2-digit",minute:"2-digit",second:"2-digit"})}function he({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:He(e)}),jsxRuntime.jsx("span",{className:"text-foreground/80",children:t})]})}function Bt({children:t,timestamp:e}){return jsxRuntime.jsxs("div",{className:"flex",children:[e&&jsxRuntime.jsx("span",{className:"text-info/60 mr-2 select-none",children:He(e)}),jsxRuntime.jsx("span",{className:"text-info/90",children:t})]})}function ke({children:t,timestamp:e}){return jsxRuntime.jsxs("div",{className:"flex",children:[e&&jsxRuntime.jsx("span",{className:"text-warning/60 mr-2 select-none",children:He(e)}),jsxRuntime.jsx("span",{className:"text-warning/90",children:t})]})}function ve({item:t,className:e}){if(!t.content)return null;let n=typeof t.content=="string"?t.content:JSON.stringify(t.content),a=t.parsedJson||rt(n),r=Array.isArray(a)?a.find(p=>p.type==="json"):a?.[0],{step_by_step:o,thinking:i,code:s,warnings:l,error:u}=r?.content||{};return u?jsxRuntime.jsx(Dt,{wrapperType:"info",className:e,children:jsxRuntime.jsx(Bt,{children:u})}):!o&&!s?null:jsxRuntime.jsxs("div",{className:`text-foreground whitespace-pre-wrap leading-normal ${e||""}`,children:[o&&jsxRuntime.jsx(G,{content:o,className:"text-sm max-w-none"}),i&&jsxRuntime.jsx("div",{className:"mb-2",children:jsxRuntime.jsx(G,{content:i,className:"text-sm max-w-none"})}),s&&jsxRuntime.jsx("div",{className:"mb-2",children:jsxRuntime.jsx(It,{language:"python",value:s,defaultOpen:false})}),l&&jsxRuntime.jsxs("div",{className:"text-sm text-warning",children:[jsxRuntime.jsx("div",{className:"font-medium",children:"Warnings"}),jsxRuntime.jsx(G,{content:l,className:"text-sm max-w-none"})]})]})}function Ce({item:t,className:e}){let n=t.parsedJson;if(!n?.length)return null;let a=n.map(s=>s.message?.trim()?{level:s.level,message:s.message,timestamp:s.timestamp,index:s.index}:null).filter(s=>s!==null);if(a.sort((s,l)=>s.index-l.index),a.length===0)return null;let r=a.some(s=>s.level==="error"),o=a.some(s=>s.level==="warning"),i=r?"info":o?"warning":"standard";return jsxRuntime.jsx("div",{className:`text-foreground leading-normal ${e||""}`,children:jsxRuntime.jsx(Dt,{wrapperType:i,compact:true,children:a.map((s,l)=>jsxRuntime.jsx(Ka,{output:s},`${s.level}-${l}`))})})}function Ka({output:t}){switch(t.level){case "output":return jsxRuntime.jsx(he,{timestamp:t.timestamp,children:t.message});case "error":return jsxRuntime.jsx(Bt,{timestamp:t.timestamp,children:t.message});case "warning":return jsxRuntime.jsx(ke,{timestamp:t.timestamp,children:t.message});default:return jsxRuntime.jsx("div",{className:"text-muted-foreground",children:t.message})}}var Xa={"websearch.search":{icon:lucideReact.Search,getLabel:(t,e)=>{let n=t?.query;return n?e?e==="success"?`Searched web for "${n}"`:`Failed to search web for "${n}"`:`Searching web for "${n}"...`:"Web search"}},"webparser.parse":{icon:lucideReact.Globe,getLabel:(t,e)=>{let n=t?.url;return n?e?e==="success"?`Read ${n}`:`Failed to read ${n}`:`Reading ${n}...`:"Parse site"}},"siteparser.parse":{icon:lucideReact.Globe,getLabel:(t,e)=>{let n=t?.url;return n?e?e==="success"?`Read ${n}`:`Failed to read ${n}`:`Reading ${n}...`:"Parse site"}},"resource_definitions.search":{icon:lucideReact.Search,getLabel:(t,e)=>{let n=t?.query;return n?e?e==="success"?`Searched resources for "${n}"`:`Failed to search resources for "${n}"`:`Searching resources for "${n}"...`:"Search resources"}},"memory.search":{icon:lucideReact.Search,getLabel:(t,e)=>{let n=t?.query;return n?e?e==="success"?`Searched memories for "${n}"`:`Failed to search memories for "${n}"`:`Searching memories for "${n}"...`:"Search memories"}}};function Jn(t){return t&&Xa[t]||null}function to(t){if(!t?.result||t.status==="error")return false;let e=t.result;if(typeof e=="string"){let n=e.trim();return n!==""&&n!=="{}"&&n!=="[]"}if(Array.isArray(e))return e.length>0;if(typeof e=="object"&&e!==null){let n=Object.keys(e);return n.length===0?false:n.some(a=>{let r=e[a];return r==null?false:typeof r=="string"?r.trim()!=="":Array.isArray(r)?r.length>0:typeof r=="object"?Object.keys(r).length>0:true})}return true}function eo({actionType:t}){let n=Jn(t)?.icon||lucideReact.Wrench;return jsxRuntime.jsx(n,{className:"h-4 w-4"})}function no({actionType:t,input:e,name:n,result:a}){if(a?.finished_message)return jsxRuntime.jsx("span",{children:a.finished_message});if(a?.running_message)return jsxRuntime.jsx("span",{children:a.running_message});let r=Jn(t);if(r)return jsxRuntime.jsx("span",{children:r.getLabel(e,a?.status)});let o=a?`Completed ${n}`:`Running ${n}...`;return jsxRuntime.jsx("span",{children:o})}function _e({toolGroup:t,ContentComponent:e,className:n}){let[a,r]=tt.useState(false),o=X(),i=e??o?.ContentComponent,s=t.invocation,l=t.result,u=to(l),p=s?.action_type||l?.action_type,d=s?.input||l?.input,c=s?.name||l?.name,m=l?.status==="error"?"text-gray-500/80 dark:text-gray-400/80":"text-gray-500 dark:text-gray-400";return jsxRuntime.jsxs(Tt__namespace.Root,{open:a,onOpenChange:r,className:`relative w-full max-w-4xl space-y-2 leading-normal ${n||""}`,children:[jsxRuntime.jsxs(Tt__namespace.Trigger,{className:`flex items-center gap-2 text-sm transition-colors w-full ${m} ${u?"hover:text-gray-900 dark:hover:text-gray-100 cursor-pointer":"cursor-default"}`,disabled:!u,children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(eo,{actionType:p}),jsxRuntime.jsx(no,{actionType:p,input:d,name:c,result:l})]}),u&&jsxRuntime.jsx(lucideReact.ChevronDown,{className:`h-4 w-4 transition-transform duration-200 ${a?"rotate-180":""}`})]}),u&&l&&jsxRuntime.jsx(Tt__namespace.Content,{children:jsxRuntime.jsx("div",{className:"pl-6 mt-2",children:i?jsxRuntime.jsx(i,{content:{content:l.result,content_type:"text",ui_content_type:"text"}}):jsxRuntime.jsx("pre",{className:"text-sm bg-gray-100 dark:bg-gray-800 p-2 rounded overflow-x-auto",children:JSON.stringify(l.result,null,2)})})})]})}var mt={Success:"success",Error:"error",RequiresInfo:"requires info"};function io(t){return t?t===mt.Success?"finished":t===mt.Error||t===mt.RequiresInfo?"failed":"loading":"loading"}function qn(t){return t?t!==mt.Success&&t!==mt.Error&&t!==mt.RequiresInfo:true}function lo(t,e){let n=e||"agent",a=t?.message,r=typeof a=="object"&&a?.Valid?a.String:typeof a=="string"?a:null;return r||(t?.status===mt.Success?`Finished ${n}`:`Running ${n}...`)}function Se({content:t,botInvocation:e,isLoading:n=false,defaultOpen:a,adminLinkHref:r,adminLinkText:o="Open in Agent Designer",showAdminLink:i=false,onAdminClick:s,onExpand:l,EventsComponent:u,ContentComponent:p,className:d}){let c=()=>a!==void 0?a:e?.currentStatus?qn(e.currentStatus.status):false,[m,f]=tt.useState(c),[y,x]=tt.useState(false),b=tt.useRef(null);if(tt.useEffect(()=>{if(e?.currentStatus){let T=e.currentStatus.status;if(b.current!==T&&(b.current=T,!y)){let D=qn(T);D&&!m?f(true):!D&&m&&f(false);}}},[e,y,m]),tt.useEffect(()=>{m&&e&&l&&l(t.invocation_id,t.bot_id,t.bot_name);},[m,e,l,t]),n&&!e)return jsxRuntime.jsxs("div",{className:`flex items-center gap-2 text-sm text-muted-foreground ${d||""}`,children:[jsxRuntime.jsx(lucideReact.Loader2,{className:"h-4 w-4 animate-spin"}),jsxRuntime.jsxs("span",{children:["Loading ",t.bot_name,"..."]})]});if(!e)return null;let I=io(e.currentStatus?.status),k=lo(e.currentStatus,t.bot_name),V=T=>{f(T),x(true);},P=T=>{s&&(T.preventDefault(),s(t.invocation_id,t.bot_id));},_=e.eventsByID&&Object.keys(e.eventsByID).length>0;return jsxRuntime.jsxs(Tt__namespace.Root,{open:m,onOpenChange:V,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(Tt__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(_t,{status:I}),k]}),jsxRuntime.jsx(lucideReact.ChevronDown,{className:`h-4 w-4 transition-transform duration-200 ${m?"transform rotate-180":""}`})]}),i&&(r||s)&&jsxRuntime.jsxs("a",{href:r||"#",onClick:s?P: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:[o,jsxRuntime.jsx(lucideReact.ArrowUpRight,{className:"h-3.5 w-3.5"})]})]}),jsxRuntime.jsx(Tt__namespace.Content,{children:jsxRuntime.jsx("div",{className:"space-y-2 max-w-3xl",children:_&&u?jsxRuntime.jsx(u,{eventsByID:e.eventsByID,defaultOpen:m}):_?jsxRuntime.jsx("pre",{className:"text-sm bg-gray-100 dark:bg-gray-800 p-2 rounded overflow-x-auto",children:JSON.stringify(e.eventsByID,null,2)}):jsxRuntime.jsx("span",{className:"text-sm text-muted-foreground",children:"No events to display"})})})]})}function Ye({content:t,className:e,components:n}){let a=typeof t.ui_content_type=="object"&&t.ui_content_type?.Valid?t.ui_content_type.String:typeof t.ui_content_type=="string"?t.ui_content_type:t.content_type,r=n?.[a];if(r)return jsxRuntime.jsx(r,{content:t,className:e});let o=i=>jsxRuntime.jsx(Ye,{...i,components:n});switch(a){case "text":return jsxRuntime.jsx(Jt,{content:Ze(t),className:e});case "markdown":return jsxRuntime.jsx(G,{content:Ze(t),className:e});case "thinking":case "redacted_thinking":return jsxRuntime.jsx(pe,{item:t,className:e});case "json":return jsxRuntime.jsx(St,{content:t.content,className:e});case "codegen_json":return jsxRuntime.jsx(ve,{item:t,className:e});case "sql_generation":return jsxRuntime.jsx(ge,{item:t,className:e});case "codeexec_output":return jsxRuntime.jsx(Ce,{item:t,className:e});case "log":return jsxRuntime.jsx(ue,{item:t,className:e});case "websearch":case "websearch_output":return jsxRuntime.jsx(de,{item:t,className:e});case "webparse":case "webparse_output":return jsxRuntime.jsx(me,{item:t,className:e});case "tool_group":return jsxRuntime.jsx(_e,{toolGroup:t.content,ContentComponent:o,className:e});case "bot_invocation":{let i=t.content,s=t.botInvocation;return jsxRuntime.jsx(Se,{content:i,botInvocation:s,ContentComponent:o,className:e})}case "chart":case "ui_generation":{if(t.chartConfig&&t.chartData)return jsxRuntime.jsx(Wt,{config:t.chartConfig,data:t.chartData,className:e});try{let i=typeof t.content=="string"?JSON.parse(t.content):t.content;if(i?.children)return jsxRuntime.jsx(jsxRuntime.Fragment,{children:co(i.children,e,o)})}catch{}return jsxRuntime.jsx(St,{content:t.content,className:e})}case "table":return t.tableColumns&&t.tableData?jsxRuntime.jsx(jt,{columns:t.tableColumns,data:t.tableData,className:e}):jsxRuntime.jsx(St,{content:t.content,className:e});case "bot_invocation_result":case "tool_invocation":case "tool_result":case "security_check_json":return null;default:return jsxRuntime.jsx(Jt,{content:Ze(t),className:e})}}function Ze(t){return typeof t.content=="string"?t.content:JSON.stringify(t.content)}function co(t,e,n){return !t||!Array.isArray(t)?null:t.map((a,r)=>{let o=a;if(!o?._type)return null;switch(o._type){case "Chart":{let i=o.content;return i?jsxRuntime.jsx("div",{className:"my-4",children:jsxRuntime.jsx(Wt,{config:{chart_type:i.chart_type,chart_title:i.chart_title,x_axis:i.x_axis,y_axes:i.y_axes,series:i.series,data_reduction:i.data_reduction,stacked:i.stacked,sort:i.sort},data:[],className:e})},`chart-${r}`):null}case "Table":{let i=o.content;return i?jsxRuntime.jsx("div",{className:"my-4",children:jsxRuntime.jsx(jt,{title:i.table_title,columns:i.columns,data:[],className:e})},`table-${r}`):null}case "TextMarkdown":{let i=o.content;return jsxRuntime.jsx("div",{className:"my-2",children:jsxRuntime.jsx(G,{content:i?.text||"",className:e})},`text-${r}`)}case "Suggestions":{let s=o.content?.suggestions||[];return s.length?jsxRuntime.jsx("div",{className:"flex flex-col gap-2 my-4",children:s.map((l,u)=>jsxRuntime.jsx("button",{className:"text-left px-3 py-2 bg-gray-100 dark:bg-gray-800 rounded hover:bg-gray-200 dark:hover:bg-gray-700 text-sm",children:l},u))},`suggestions-${r}`):null}default:return null}})}function zn(t){let e={success:true,messages:[],events:t,steps:[]},n=new Set;for(let a of t){let r=a.type,o=a.payload,i=a.metadata;switch(r){case "bot started":case "bot resumed":o&&typeof o=="object"&&(e.invocationId=o.invocation_id,e.botKey=o.bot_id);break;case "step started":if(o&&typeof o=="object"){let s=o.key;s&&!n.has(s)&&(n.add(s),e.steps.push({key:s,action:o.action_type||"",status:"running"}));}break;case "step finished":if(o&&typeof o=="object"){let s=e.steps.find(l=>l.status==="running");s&&(s.status="completed");}break;case "result":o&&typeof o=="object"&&i?.user_visibility==="visible"&&o.status==="success"&&o.output&&(e.result=o);break;case "error":e.success=false,o&&typeof o=="object"?e.error=o.message||o.error||"Unknown error":typeof o=="string"&&(e.error=o);break;}}return e}function Kn(t={}){let e=st(),[n,a]=tt.useState(null),[r,o]=tt.useState(false),[i,s]=tt.useState(null),l=tt.useRef(null),u=tt.useCallback(()=>{l.current&&(l.current.abort(),l.current=null);},[]),p=tt.useCallback(async(d,c)=>{if(!e.client)throw new Error("ErdoClient not configured in provider. Pass a client to ErdoProvider config to use useInvocation.");u(),l.current=new AbortController,o(true),s(null),a(null);try{let m=[];for await(let y of e.client.invokeStream(d,c)){if(l.current?.signal.aborted)break;m.push(y),t.onEvent?.(y);let x=zn(m);a(x);}let f=zn(m);return a(f),t.onFinish?.(f),f}catch(m){let f=m instanceof Error?m:new Error(String(m));throw s(f),t.onError?.(f),f}finally{o(false),l.current=null;}},[e.client,t,u]);return {result:n,isStreaming:r,error:i,invoke:p,cancel:u}}function A(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 mo(t){return t.contents.length===0?null:t.contents[t.contents.length-1]||null}function fo(t){return t.contents.length===0?null:t.contents[0]||null}function nn(t,e){let n=A(t);switch(n){case "message":return t;case "step":let a=t;if(e){let i=a.eventsByID[e]?.Message;return i||er({},"",e)}let o=Object.keys(a.eventsByID).reverse();for(let i of o){let s=a.eventsByID[i];if(s&&s.Message)return s.Message}throw new Error("Unable to find message for step");default:throw new Error(`Unable to have messages on entity type ${n}`)}}function yo(t,e){switch(A(t)){case "message_content":return t;case "output_content":return t;case "message":return Rt(t,e);case "output":return At(t,e);case "step":let a=we(t,e);return a?At(a,e):null;default:return null}}function Rt(t,e){let n=A(t);switch(n){case "message_content":return t;case "message":let a=nn(t);if(!a)throw new Error("Unable to find message to add content to");return e?a.contentsByID[e]:mo(a);default:throw new Error(`Unable to have message content on entity type ${n}`)}}function At(t,e){let n=A(t);switch(n){case "output_content":return t;case "output":let a=t;return e?a.contentsByID[e]||null:a.contents.length<=0?null:a.contents[a.contents.length-1]||null;case "step":let o=we(t,e);return o?At(o):null;case "invocation":if(!e)return null;let i=t.eventsByID[e];return !i||!i.Output?null:At(i.Output);default:throw new Error(`Unable to have output content on entity type ${n}`)}}function rn(t,e){let n=A(t),a=null;switch(n){case "invocation":return t;case "message_content":if(a=t.botInvocation||null,!a)throw new Error("Unable to find bot invocation for message content");if(e&&a.bot_invocation.id!==e)throw new Error("Unable to find bot invocation for message content - mismatched ID");return a;case "message":if(a=fo(t)?.botInvocation||null,!a)throw new Error("Unable to find bot invocation for message");if(e&&a.bot_invocation.id!==e)throw new Error("Unable to find bot invocation for message - mismatched ID");return a;case "output_content":return t.botInvocation||null;default:throw new Error(`Unable to have bot invocation on entity type ${n}`)}}function we(t,e){let n=A(t);switch(n){case "output":return t;case "step":let a=t;if(e){let s=a.eventsByID[e]?.Output;if(!s)throw new Error("Unable to find output with id "+e);return s}let o=Object.keys(a.eventsByID).reverse();for(let s of o){let l=a.eventsByID[s];if(l&&l.Output)return l.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 Xn(t,e){let n=A(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 a=t.eventsByID[e];if(!a||!a.type||a.type!=="result_handler"||!a.ResultHandler)throw new Error(`Unable to find result handler with id ${e} on step ${t.id}`);return a.ResultHandler;default:throw new Error(`Unable to have result handlers on entity type ${n}`)}}function tr(t,e){let n=A(t),a=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");a=t;let r=a.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 i=t.eventsByID[e];if(!i)throw new Error("Unable to find step on result handler with id "+e);if(!i.Step)throw new Error("Unable to find step on result handler with id "+e);return i.Step;default:throw new Error(`Unable to have steps on entity type ${n}`)}}var tn=class extends Error{};function go(t,e,n){let a=null,r=e[0],o=e[1];n[r]=o;try{switch(r){case "message":a=nn(t,o);break;case "content":a=Rt(t,o);break;case "step":a=tr(t,o);break;case "output":a=we(t,o);break;case "output_content":a=At(t,o);break;case "invocation":a=rn(t,o);break;case "result_handler":a=Xn(t,o);break}}catch(i){throw console.error("error finding next entity"),console.log("path",e),console.log("currentEntity",t),i}if(!a)throw console.log("path",e),console.log("currentEntity",t),console.log("nextEntity",a),new tn(`Unable to find next entity for path ${e.join("/")}`);return a}function er(t,e,n,a){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.svg"},state:"in_progress",contents:[],contentsByID:{},contentIDToIdx:{}}}function xo(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 ho(t,e){let n=t.metadata?.ui_content_type,a=typeof t.payload=="string"?t.payload:t.payload.content||t.payload,r=null;return Ut(t.metadata.content_type,n)&&(r=rt(a)),{_type:"message_content",id:t.metadata.message_content_id,message_id:e.message,content:a,content_type:t.metadata.content_type,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:n?{String:n,Valid:true}:{String:"",Valid:false},parsedJson:r}}function ko(t,e,n){let a=t.payload;return {_type:"step",id:e,invocation_id:n.invocation||"",step_id:a.step_id||"",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),current_status_id:"",path:{String:"",Valid:false},action_type:{String:a.action_type,Valid:true},key:{String:a.key,Valid:true},bot_id:a.bot_id,result_handler_id:"",step_order:{Int32:a.step_order,Valid:true},output_content_type:{String:a.content_type,Valid:true},execution_mode:{String:a.execution_mode,Valid:true},output_behaviour:{String:a.output_behaviour,Valid:true},user_output_visibility:{String:t.metadata.visibility||"visible",Valid:true},output_channels:a.output_channels||[],running_message:{String:"",Valid:false},finished_message:{String:"",Valid:false},depends_on:[],eventsByID:{},currentStatus:null}}function bo(t,e,n){let a=t.payload;return {_type:"result_handler",id:e,invocation_id:t.metadata.invocation_id||"",result_handler_id:a.result_handler_id||e,step_invocation_id:a.step_invocation_id||"",type:a.type||"",if_conditions:a.if_conditions||{},created_at:new Date().toISOString(),updated_at:new Date().toISOString(),output_content_type:a.output_content_type||"",result_handler_order:a.result_handler_order||0,eventsByID:{}}}function vo(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 Zn(t,e,n,a=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:a??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 Yn(t,e,n,a=null){let r=null,o=t.metadata?.ui_content_type;return Ut(t.metadata.content_type,o)&&(r=rt(t.payload)),{_type:"output_content",id:e,output_id:n.output,content:t.payload,content_type:t.metadata.content_type,state:"completed",invocation_id:t.metadata.invocation_id,parsedJson:r,user_visibility:a||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},output:null}}function Co(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 Xe(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 nr(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 an(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 on(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 _o(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 So(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}}function sn(t,e){if(t.content||(t.content=""),t.user_visibility!=="visible"||!Ut(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="");for(let n of e){if(t.content+=n,!t._isInJson&&n==="{"){t._charBuffer="{";continue}if(t._charBuffer&&ye(n)){t._charBuffer+=n;continue}if(!t._isInJson&&t._charBuffer?.match(/^\s*{\s*$/)&&n==='"'){t._isInJson=true,t._jsonParser=new nt;let r={content:t._jsonParser.add("{"),type:"json"};t._currentContent?.content?t._currentContent.content.match(/^\s*{$/)?(t._currentContent=r,t.parsedJson[t.parsedJson.length-1]=r):(t._currentContent.content=t._currentContent.content.replace(/{$/,""),t._currentContent=r,t.parsedJson=[...t.parsedJson,r]):(t._currentContent=r,t.parsedJson=[...t.parsedJson,r]);}if(t._isInJson)try{let a=t._jsonParser.add(n);t._currentContent.content=a,t._jsonParser.state==="END"&&(t._isInJson=!1,t._currentContent=void 0);}catch(a){console.log("content",e),console.log("currentContent",t.content),console.error("Error incrementally parsing JSON",a);}else t._currentContent||(t._currentContent={content:t._charBuffer||"",type:"text"},t.parsedJson=[...t.parsedJson,t._currentContent]),t._currentContent.content+=t._charBuffer+n;t._charBuffer="";}return {...t}}function wo(t,e){return sn(t,e)}function Qn(t,e){return sn(t,e)}function en(t,e){let n=A(t);switch(n){case "message":return ot(t,e);case "message_content":return ln(t,e);case "step":return Io(t,e);case "output":return No(t,e);case "output_content":return Do(t,e);case "invocation":return Ee(t,e);case "result_handler":return Bo(t,e);default:throw new Error(`Unable to add update entity for entity type ${n}`)}}function Eo(t,e){for(let n of e)t=en(t,n);return t}function ot(t,e){let n=nn(t);if(!n)throw new Error("Unable to find message to add content to");let a=A(e),r=null;switch(a){case "message_content":return r=e,n.contentsByID[r.id]?n.contents[n.contentIDToIdx[r.id]]=r:(n.contentIDToIdx={...n.contentIDToIdx,[r.id]:n.contents.length},n.contents=[...n.contents,r]),n.contentsByID={...n.contentsByID,[r.id]:r},{...n};case "invocation":let o=e;if(n.contents.length===0)throw new Error("Unable to find message content to add invocation to");return r=ln(n.contents[0],o),ot(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 i=rn(r);if(!i)throw new Error("Unable to find bot invocation to add content to");return r.botInvocation=Ee(i,e),ot(n,r);default:throw new Error(`Unable to add update message child for child type ${a}`)}}function ln(t,e){let n=Rt(t);if(!n)throw new Error("Unable to find message content to add content to");let a=A(e);switch(a){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=Ee(r,e),{...n};default:throw new Error(`Unable to add update message content child for child type ${a}`)}}function Io(t,e){let n=tr(t);if(!n)throw new Error("Unable to find bot invocation to add step to");let a=A(e),r=null;switch(a){case "output":let o=e;return r=an(o),n.eventsByID={...n.eventsByID,[o.output.id]:r},{...n};case "message":let i=e;return r=_o(i),n.eventsByID={...n.eventsByID,[i.message.id]:r},{...n};case "status":let s=e;return r=on(s),n.eventsByID={...n.eventsByID,[s.id]:r},{...n};case "result_handler":let l=e;return r=So(l),n.eventsByID={...n.eventsByID,[l.id]:r},{...n};default:throw new Error(`Unable to add update step for entity type ${a}`)}}function No(t,e){let n=we(t);if(!n)throw new Error("Unable to find step output to add content to");let a=A(e);switch(a){case "output_content":let r=e;return n.contentsByID[r.id]?n.contents[n.contentIDToIdx[r.id]]=r:(n.contentIDToIdx={...n.contentIDToIdx,[r.id]:n.contents.length},n.contents=[...n.contents,r]),n.contentsByID={...n.contentsByID,[r.id]:r},{...n};default:throw new Error(`Unable to add update output for entity type ${a}`)}}function Do(t,e){let n=At(t);if(!n)throw new Error("Unable to find step output content to add content to");let a=A(e);switch(a){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=Ee(r,e),{...n};default:throw new Error(`Unable to add update step output content for entity type ${a}`)}}function Ee(t,e){let n=rn(t);if(!n)throw new Error("Unable to find bot invocation to add content to");let a=A(e),r;switch(a){case "step":let o=e;return r=nr(o),n.eventsByID={...n.eventsByID,[o.id]:r},{...n};case "output":let i=e;return r=an(i),n.eventsByID={...n.eventsByID,[i.output.id]:r},{...n};case "status":let s=e;return r=on(s),n.eventsByID={...n.eventsByID,[s.id]:r},{...n};default:throw new Error(`Unable to add update invocation for entity type ${a}`)}}function Bo(t,e){let n=Xn(t);if(!n)throw new Error("Unable to find result handler to add content to");let a=A(e),r=null;switch(a){case "step":let o=e;return r=nr(o),n.eventsByID||(n.eventsByID={}),n.eventsByID={...n.eventsByID,[o.id]:r},{...n};case "output":let i=e;return r=an(i),n.eventsByID||(n.eventsByID={}),n.eventsByID={...n.eventsByID,[i.output.id]:r},{...n};case "status":let s=e;return r=on(s),n.eventsByID||(n.eventsByID={}),n.eventsByID={...n.eventsByID,[s.id]:r},{...n};default:throw new Error(`Unable to add update to result handler for entity type ${a}`)}}function To(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 rr(t,e,n,a,r,o=null,i=[],s={}){if(!o&&Object.keys(r).length>0){let d,c;if(n.length>=2&&n[0]==="message"?(c=n[1],d=r[c],d||(d=Object.values(r)[0],c=Object.keys(r)[0])):(d=Object.values(r)[Object.values(r).length-1],c=Object.keys(r)[Object.keys(r).length-1]),s.message=c,n.length<=2&&t==="message finished")return null;if(n[0]!=="content"&&Object.keys(d.contentsByID).length>0&&e.metadata.message_content_id){let m=e.metadata.message_content_id,f=d.contentsByID[m];f&&(o=f);}o?i=[d]:o=d;}if(n.length<=2&&To(t)){let d=n[1],c=[],m,f,y,x,b;switch(t){case "bot started":case "bot resumed":if(!o)throw new Error("Unable to find message to add content to");let I=Co(e);if(o._type==="message_content"){if(f=o,!f.id)throw new Error("Unable to find message content id");if(y=r[f.message_id],!y)throw new Error("Unable to find message to add content to");if(x=Rt(y,f.id),!x)throw new Error("Unable to find message content to add content to");let _=ln(x,I);r[f.message_id]={...ot(y,_)};}c.push(I);break;case "message created":return r[d]=er(e,a,d),null;case "create message content":if(!o)throw new Error("Unable to find message to add content to");if(b=xo(e,s),o._type==="output"){m=o,c.push(Zn(e,d,s,"hidden"));let _=e.payload.message_id;if(_||(_=i[0].message.id),y=r[_],!y)throw new Error("Unable to find message to add content to")}else if(o._type==="message_content"){if(m=o,y=r[m.message_id],!y)throw new Error("Unable to find message to add content to")}else {if(o._type!=="message")throw new Error(`Incorrect path? Cannot add content to non-message entity: ${o._type}`);if(m=o,y=r[m.message.id],!y)throw new Error("Unable to find message to add content to");c.push(b);}r[y.message.id]={...ot(y,b)};break;case "message content result":if(!o)throw new Error("Unable to find message to add content to");let k=null;if(o._type==="output"){c.push(Yn(e,d,s,"hidden"));let _=e.payload.message_id||s.message;if(_?k=i.find(T=>T.message.id===_):k=i[0],y=r[_],!y)throw new Error("Unable to find message to add content to")}else if(o._type==="message_content"){if(k=i[0],y=r[k.message.id],!y)throw new Error("Unable to find message to add content to")}else {if(o._type!=="message")throw new Error(`Incorrect path? Cannot add content to non-message entity: ${o._type}`);if(k=o,y=r[k.message.id],!y)throw new Error("Unable to find message to add content to")}let V=e.metadata.message_content_id;if(!V)throw new Error("Unable to find message content id");let P=Rt(k,V);if(P){P.state="completed";let _=typeof e.payload=="string"?e.payload:e.payload.content||e.payload;P.content=_,r[y.message.id]={...ot(y,P)},(o._type==="message"||o._type==="message_content")&&c.push(P);}else P=ho(e,s),r[y.message.id]={...ot(y,P)},(o._type==="message"||o._type==="message_content")&&c.push(P);break;case "step started":c.push(ko(e,d,s));break;case "result handler started":c.push(bo(e,d));break;case "step output created":c.push(vo(e,d,o));break;case "create step output content":c.push(Zn(e,d,s));break;case "step output content result":c.push(Yn(e,d,s));break;case "log":return null;default:throw new Error(`Unable to handle create event type ${t}`)}return c.length?!o||o._type==="message_content"&&c.length===1&&c[0]._type==="message_content"?c[0]:Eo(o,c):null}if(!o)throw new Error("No first message has been created, so cannot handle amend events");if(n.length<=1){let d=null;try{d=yo(o);}catch{}switch(t){case "message content delta":if(!d)throw new Error("Unable to find message content");let c=null,m=null,f=null;if(o._type==="output_content"){c=Qn(o,e.payload);let I=e.metadata.message_content_id;if(!I)throw new Error("Unable to find message content id from entity ids");let k=s.message;if(f=i.find(V=>V.message.id===k),!f)throw new Error("Unable to find message to add content to");m=Rt(f,I);}else {if(m=d,f=i[i.length-1],!f)throw new Error("Unable to find message to add content to");if(f._type!=="message")throw new Error("Unable to find message to add content to - not a message")}if(!m)throw new Error("Unable to find message content");let y=r[f.message.id];if(!y)throw new Error("Unable to find message to add content to");let x=wo(m,e.payload);return r[y.message.id]={...ot(y,x)},o._type==="message_content"&&(c=x),c;case "step output content delta":return Qn(d,e.payload);case "status":return o._type==="step"&&(o.currentStatus=Xe(e)),o._type==="invocation"&&(o.currentStatus=Xe(e)),en(o,Xe(e));case "result":return null;case "message finished":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 l=n.slice(2),u=go(o,n,s),p=rr(t,e,l,a,r,u,[...i,o],s);return p?en(o,{...p}):o}exports.BarChart=ct;exports.BotInvocationContent=Se;exports.Chart=j;exports.ChartContainer=Mt;exports.ChartContent=Wt;exports.ChartLegend=Ae;exports.ChartLegendContent=Ve;exports.ChartStyle=mn;exports.ChartTooltip=Pe;exports.ChartTooltipContent=Re;exports.CodeexecContent=Ce;exports.CodegenContent=ve;exports.CollapsibleCodeBlock=It;exports.Content=Ye;exports.DatasetChart=_n;exports.DatasetTable=wn;exports.ErdoProvider=pn;exports.ErrorBoundary=it;exports.ExecutionStatus=Fe;exports.ExpandableOutputContent=Dt;exports.HeatmapChart=bt;exports.InvocationEvent=ie;exports.InvocationEvents=se;exports.InvocationStatus=Bn;exports.JSONStreamParser=nt;exports.JsonContent=St;exports.LineChart=xt;exports.Log=We;exports.LogContent=ue;exports.MarkdownContent=G;exports.Output=ne;exports.PieChart=ht;exports.ScatterChart=kt;exports.SqlContent=ge;exports.StatusSpinner=_t;exports.StderrText=Bt;exports.StdoutText=he;exports.StdwarnText=ke;exports.StepInvocation=oe;exports.StepInvocationStatus=ae;exports.TableContent=jt;exports.TextContent=Jt;exports.ThinkingContent=pe;exports.ToolGroupContent=_e;exports.WebParseContent=me;exports.WebSearchContent=de;exports.cn=L;exports.formatValue=lt;exports.handleIncrementalMixedJsonParsing=sn;exports.handleSSEEvent=rr;exports.isJsonLike=Ut;exports.isParsingComplete=ja;exports.isParsingInProgress=qa;exports.isWhitespaceChar=ye;exports.parseCompleteJson=Ja;exports.parseMixedJson=rt;exports.parseToDate=fn;exports.resolveKeyFromData=vt;exports.toSnakeCase=bn;exports.useChartZoom=Zt;exports.useDatasetContents=Qt;exports.useErdoConfig=st;exports.useErdoConfigOptional=X;exports.useInvocation=Kn;exports.useMultipleDatasetContents=Xt;
26
+ `||t===" "||t==="\r"}function Wa(t,e){if(e>=t.length-1)return "";for(let n=e+1;n<t.length;n++)if(!ye(t[n]))return t[n];return ""}function rt(t){if(typeof t!="string")return t;let e=[],n=/```json\s*\n([\s\S]*?)(?:(?:\n)?```|$)/g,a=n.test(t);if(n.lastIndex=0,a){let r=0,o;for(;(o=n.exec(t))!==null;){let s=t.substring(r,o.index).trim();s&&e.push({content:s,type:"text"});let l=o[1];try{let u=JSON.parse(l);e.push({content:u,type:"json"});}catch{try{let d=new nt().parse(l);d?e.push({content:d,type:"json"}):e.push({content:o[0],type:"text"});}catch{e.push({content:o[0],type:"text"});}}r=o.index+o[0].length;}let i=t.substring(r).trim();i&&e.push({content:i,type:"text"});}else {let r="",o=null,i=false,s=0;for(let l=0;l<t.length;l++){let u=t[l],p=Wa(t,l);if(!i&&(u==="{"&&p==='"'||u==="["&&p==="{")&&(r.trim()&&e.push({content:r.trim(),type:"text"}),i=true,o=new nt,r=""),i){let d;try{d=o.add(u);}catch(c){if(console.log("currentChunk",r),console.log("currentResult",o?.result),console.warn("Error parsing JSON",c),s>3){i=false,o=null,s=0,r+=u;continue}s++;continue}r+=u,o.state==="END"&&(e.push({content:d,type:"json"}),i=false,o=null,r="");}else r+=u;}r.trim()&&e.push({content:r.trim(),type:"text"});}return e}function ja(t){return t&&typeof t=="object"&&!t[Nt]}function qa(t){return t&&typeof t=="object"&&t[Nt]===true}function ge({item:t,className:e}){if(!t.content)return null;let n=typeof t.content=="string"?t.content:JSON.stringify(t.content),a=t.parsedJson;if(!a)try{a=rt(n);}catch(l){console.error("Failed to parse SQL content:",l),a=[{content:n||"",type:"text"}];}let r=Array.isArray(a)?a.find(l=>l.type==="json"):a?.[0];if(!r)return jsxRuntime.jsxs("div",{className:`text-destructive text-sm ${e||""}`,children:[jsxRuntime.jsx("div",{className:"font-medium",children:"Error"}),jsxRuntime.jsx("div",{children:n})]});let{thinking:o,sql_query:i,error:s}=r?.content||{};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})]}):i?jsxRuntime.jsxs("div",{className:`text-foreground whitespace-pre-wrap leading-normal ${e||""}`,children:[o&&jsxRuntime.jsx("div",{className:"mb-2",children:jsxRuntime.jsx(G,{content:o,className:"text-sm max-w-none"})}),i&&jsxRuntime.jsx("div",{className:"mb-2",children:jsxRuntime.jsx(It,{language:"sql",value:i,defaultOpen:false})})]}):null}function Dt({children:t,defaultOpen:e=false,wrapperType:n="standard",compact:a=false,className:r}){let[o,i]=tt.useState(e),[s,l]=tt.useState(false),u=tt.useRef(null);tt.useEffect(()=>{let c=u.current;c&&(o||(c.scrollTop=c.scrollHeight),l(c.scrollHeight>c.clientHeight));},[o,t]);let p={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 ${a?"":"mb-2"} ${r||""}`,children:jsxRuntime.jsx(Tt__namespace.Root,{open:o,onOpenChange:i,className:`border rounded-sm ${p[n]}`,children:jsxRuntime.jsxs("div",{ref:u,className:`overflow-y-auto ${o?"":"max-h-[200px]"}`,children:[s&&jsxRuntime.jsx(Tt__namespace.Trigger,{className:`sticky top-0 text-center text-xs py-1 transition-opacity w-full cursor-pointer ${d[n]}`,children:o?"Less \u2193":"More \u2191"}),jsxRuntime.jsx("div",{className:`${a?"px-2 py-1":"p-2"} m-0 overflow-x-auto break-words whitespace-pre-wrap`,children:t})]})})})}function He(t){return new Date(t).toLocaleTimeString("en-US",{hour12:false,hour:"2-digit",minute:"2-digit",second:"2-digit"})}function he({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:He(e)}),jsxRuntime.jsx("span",{className:"text-foreground/80",children:t})]})}function Bt({children:t,timestamp:e}){return jsxRuntime.jsxs("div",{className:"flex",children:[e&&jsxRuntime.jsx("span",{className:"text-info/60 mr-2 select-none",children:He(e)}),jsxRuntime.jsx("span",{className:"text-info/90",children:t})]})}function ke({children:t,timestamp:e}){return jsxRuntime.jsxs("div",{className:"flex",children:[e&&jsxRuntime.jsx("span",{className:"text-warning/60 mr-2 select-none",children:He(e)}),jsxRuntime.jsx("span",{className:"text-warning/90",children:t})]})}function ve({item:t,className:e}){if(!t.content)return null;let n=typeof t.content=="string"?t.content:JSON.stringify(t.content),a=t.parsedJson;if(!a)try{a=rt(n);}catch(p){console.error("Failed to parse codegen content:",p),a=[{content:n||"",type:"text"}];}let r=Array.isArray(a)?a.find(p=>p.type==="json"):a?.[0],{step_by_step:o,thinking:i,code:s,warnings:l,error:u}=r?.content||{};return u?jsxRuntime.jsx(Dt,{wrapperType:"info",className:e,children:jsxRuntime.jsx(Bt,{children:u})}):!o&&!s?null:jsxRuntime.jsxs("div",{className:`text-foreground whitespace-pre-wrap leading-normal ${e||""}`,children:[o&&jsxRuntime.jsx(G,{content:o,className:"text-sm max-w-none"}),i&&jsxRuntime.jsx("div",{className:"mb-2",children:jsxRuntime.jsx(G,{content:i,className:"text-sm max-w-none"})}),s&&jsxRuntime.jsx("div",{className:"mb-2",children:jsxRuntime.jsx(It,{language:"python",value:s,defaultOpen:false})}),l&&jsxRuntime.jsxs("div",{className:"text-sm text-warning",children:[jsxRuntime.jsx("div",{className:"font-medium",children:"Warnings"}),jsxRuntime.jsx(G,{content:l,className:"text-sm max-w-none"})]})]})}function Ce({item:t,className:e}){let n=t.parsedJson;if(!n?.length)return null;let a=n.map(s=>s.message?.trim()?{level:s.level,message:s.message,timestamp:s.timestamp,index:s.index}:null).filter(s=>s!==null);if(a.sort((s,l)=>s.index-l.index),a.length===0)return null;let r=a.some(s=>s.level==="error"),o=a.some(s=>s.level==="warning"),i=r?"info":o?"warning":"standard";return jsxRuntime.jsx("div",{className:`text-foreground leading-normal ${e||""}`,children:jsxRuntime.jsx(Dt,{wrapperType:i,compact:true,children:a.map((s,l)=>jsxRuntime.jsx(Ka,{output:s},`${s.level}-${l}`))})})}function Ka({output:t}){switch(t.level){case "output":return jsxRuntime.jsx(he,{timestamp:t.timestamp,children:t.message});case "error":return jsxRuntime.jsx(Bt,{timestamp:t.timestamp,children:t.message});case "warning":return jsxRuntime.jsx(ke,{timestamp:t.timestamp,children:t.message});default:return jsxRuntime.jsx("div",{className:"text-muted-foreground",children:t.message})}}var Xa={"websearch.search":{icon:lucideReact.Search,getLabel:(t,e)=>{let n=t?.query;return n?e?e==="success"?`Searched web for "${n}"`:`Failed to search web for "${n}"`:`Searching web for "${n}"...`:"Web search"}},"webparser.parse":{icon:lucideReact.Globe,getLabel:(t,e)=>{let n=t?.url;return n?e?e==="success"?`Read ${n}`:`Failed to read ${n}`:`Reading ${n}...`:"Parse site"}},"siteparser.parse":{icon:lucideReact.Globe,getLabel:(t,e)=>{let n=t?.url;return n?e?e==="success"?`Read ${n}`:`Failed to read ${n}`:`Reading ${n}...`:"Parse site"}},"resource_definitions.search":{icon:lucideReact.Search,getLabel:(t,e)=>{let n=t?.query;return n?e?e==="success"?`Searched resources for "${n}"`:`Failed to search resources for "${n}"`:`Searching resources for "${n}"...`:"Search resources"}},"memory.search":{icon:lucideReact.Search,getLabel:(t,e)=>{let n=t?.query;return n?e?e==="success"?`Searched memories for "${n}"`:`Failed to search memories for "${n}"`:`Searching memories for "${n}"...`:"Search memories"}}};function Jn(t){return t&&Xa[t]||null}function to(t){if(!t?.result||t.status==="error")return false;let e=t.result;if(typeof e=="string"){let n=e.trim();return n!==""&&n!=="{}"&&n!=="[]"}if(Array.isArray(e))return e.length>0;if(typeof e=="object"&&e!==null){let n=Object.keys(e);return n.length===0?false:n.some(a=>{let r=e[a];return r==null?false:typeof r=="string"?r.trim()!=="":Array.isArray(r)?r.length>0:typeof r=="object"?Object.keys(r).length>0:true})}return true}function eo({actionType:t}){let n=Jn(t)?.icon||lucideReact.Wrench;return jsxRuntime.jsx(n,{className:"h-4 w-4"})}function no({actionType:t,input:e,name:n,result:a}){if(a?.finished_message)return jsxRuntime.jsx("span",{children:a.finished_message});if(a?.running_message)return jsxRuntime.jsx("span",{children:a.running_message});let r=Jn(t);if(r)return jsxRuntime.jsx("span",{children:r.getLabel(e,a?.status)});let o=a?`Completed ${n}`:`Running ${n}...`;return jsxRuntime.jsx("span",{children:o})}function _e({toolGroup:t,ContentComponent:e,className:n}){let[a,r]=tt.useState(false),o=X(),i=e??o?.ContentComponent,s=t.invocation,l=t.result,u=to(l),p=s?.action_type||l?.action_type,d=s?.input||l?.input,c=s?.name||l?.name,m=l?.status==="error"?"text-gray-500/80 dark:text-gray-400/80":"text-gray-500 dark:text-gray-400";return jsxRuntime.jsxs(Tt__namespace.Root,{open:a,onOpenChange:r,className:`relative w-full max-w-4xl space-y-2 leading-normal ${n||""}`,children:[jsxRuntime.jsxs(Tt__namespace.Trigger,{className:`flex items-center gap-2 text-sm transition-colors w-full ${m} ${u?"hover:text-gray-900 dark:hover:text-gray-100 cursor-pointer":"cursor-default"}`,disabled:!u,children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(eo,{actionType:p}),jsxRuntime.jsx(no,{actionType:p,input:d,name:c,result:l})]}),u&&jsxRuntime.jsx(lucideReact.ChevronDown,{className:`h-4 w-4 transition-transform duration-200 ${a?"rotate-180":""}`})]}),u&&l&&jsxRuntime.jsx(Tt__namespace.Content,{children:jsxRuntime.jsx("div",{className:"pl-6 mt-2",children:i?jsxRuntime.jsx(i,{content:{content:l.result,content_type:"text",ui_content_type:"text"}}):jsxRuntime.jsx("pre",{className:"text-sm bg-gray-100 dark:bg-gray-800 p-2 rounded overflow-x-auto",children:JSON.stringify(l.result,null,2)})})})]})}var mt={Success:"success",Error:"error",RequiresInfo:"requires info"};function io(t){return t?t===mt.Success?"finished":t===mt.Error||t===mt.RequiresInfo?"failed":"loading":"loading"}function qn(t){return t?t!==mt.Success&&t!==mt.Error&&t!==mt.RequiresInfo:true}function lo(t,e){let n=e||"agent",a=t?.message,r=typeof a=="object"&&a?.Valid?a.String:typeof a=="string"?a:null;return r||(t?.status===mt.Success?`Finished ${n}`:`Running ${n}...`)}function Se({content:t,botInvocation:e,isLoading:n=false,defaultOpen:a,adminLinkHref:r,adminLinkText:o="Open in Agent Designer",showAdminLink:i=false,onAdminClick:s,onExpand:l,EventsComponent:u,ContentComponent:p,className:d}){let c=()=>a!==void 0?a:e?.currentStatus?qn(e.currentStatus.status):false,[m,f]=tt.useState(c),[y,x]=tt.useState(false),b=tt.useRef(null);if(tt.useEffect(()=>{if(e?.currentStatus){let T=e.currentStatus.status;if(b.current!==T&&(b.current=T,!y)){let D=qn(T);D&&!m?f(true):!D&&m&&f(false);}}},[e,y,m]),tt.useEffect(()=>{m&&e&&l&&l(t.invocation_id,t.bot_id,t.bot_name);},[m,e,l,t]),n&&!e)return jsxRuntime.jsxs("div",{className:`flex items-center gap-2 text-sm text-muted-foreground ${d||""}`,children:[jsxRuntime.jsx(lucideReact.Loader2,{className:"h-4 w-4 animate-spin"}),jsxRuntime.jsxs("span",{children:["Loading ",t.bot_name,"..."]})]});if(!e)return null;let I=io(e.currentStatus?.status),k=lo(e.currentStatus,t.bot_name),V=T=>{f(T),x(true);},P=T=>{s&&(T.preventDefault(),s(t.invocation_id,t.bot_id));},_=e.eventsByID&&Object.keys(e.eventsByID).length>0;return jsxRuntime.jsxs(Tt__namespace.Root,{open:m,onOpenChange:V,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(Tt__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(_t,{status:I}),k]}),jsxRuntime.jsx(lucideReact.ChevronDown,{className:`h-4 w-4 transition-transform duration-200 ${m?"transform rotate-180":""}`})]}),i&&(r||s)&&jsxRuntime.jsxs("a",{href:r||"#",onClick:s?P: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:[o,jsxRuntime.jsx(lucideReact.ArrowUpRight,{className:"h-3.5 w-3.5"})]})]}),jsxRuntime.jsx(Tt__namespace.Content,{children:jsxRuntime.jsx("div",{className:"space-y-2 max-w-3xl",children:_&&u?jsxRuntime.jsx(u,{eventsByID:e.eventsByID,defaultOpen:m}):_?jsxRuntime.jsx("pre",{className:"text-sm bg-gray-100 dark:bg-gray-800 p-2 rounded overflow-x-auto",children:JSON.stringify(e.eventsByID,null,2)}):jsxRuntime.jsx("span",{className:"text-sm text-muted-foreground",children:"No events to display"})})})]})}function Ye({content:t,className:e,components:n}){let a=typeof t.ui_content_type=="object"&&t.ui_content_type?.Valid?t.ui_content_type.String:typeof t.ui_content_type=="string"?t.ui_content_type:t.content_type,r=n?.[a];if(r)return jsxRuntime.jsx(r,{content:t,className:e});let o=i=>jsxRuntime.jsx(Ye,{...i,components:n});switch(a){case "text":return jsxRuntime.jsx(Jt,{content:Ze(t),className:e});case "markdown":return jsxRuntime.jsx(G,{content:Ze(t),className:e});case "thinking":case "redacted_thinking":return jsxRuntime.jsx(pe,{item:t,className:e});case "json":return jsxRuntime.jsx(St,{content:t.content,className:e});case "codegen_json":return jsxRuntime.jsx(ve,{item:t,className:e});case "sql_generation":return jsxRuntime.jsx(ge,{item:t,className:e});case "codeexec_output":return jsxRuntime.jsx(Ce,{item:t,className:e});case "log":return jsxRuntime.jsx(ue,{item:t,className:e});case "websearch":case "websearch_output":return jsxRuntime.jsx(de,{item:t,className:e});case "webparse":case "webparse_output":return jsxRuntime.jsx(me,{item:t,className:e});case "tool_group":return jsxRuntime.jsx(_e,{toolGroup:t.content,ContentComponent:o,className:e});case "bot_invocation":{let i=t.content,s=t.botInvocation;return jsxRuntime.jsx(Se,{content:i,botInvocation:s,ContentComponent:o,className:e})}case "chart":case "ui_generation":{if(t.chartConfig&&t.chartData)return jsxRuntime.jsx(Wt,{config:t.chartConfig,data:t.chartData,className:e});try{let i=typeof t.content=="string"?JSON.parse(t.content):t.content;if(i?.children)return jsxRuntime.jsx(jsxRuntime.Fragment,{children:co(i.children,e,o)})}catch{}return jsxRuntime.jsx(St,{content:t.content,className:e})}case "table":return t.tableColumns&&t.tableData?jsxRuntime.jsx(jt,{columns:t.tableColumns,data:t.tableData,className:e}):jsxRuntime.jsx(St,{content:t.content,className:e});case "bot_invocation_result":case "tool_invocation":case "tool_result":case "security_check_json":return null;default:return jsxRuntime.jsx(Jt,{content:Ze(t),className:e})}}function Ze(t){return typeof t.content=="string"?t.content:JSON.stringify(t.content)}function co(t,e,n){return !t||!Array.isArray(t)?null:t.map((a,r)=>{let o=a;if(!o?._type)return null;switch(o._type){case "Chart":{let i=o.content;return i?jsxRuntime.jsx("div",{className:"my-4",children:jsxRuntime.jsx(Wt,{config:{chart_type:i.chart_type,chart_title:i.chart_title,x_axis:i.x_axis,y_axes:i.y_axes,series:i.series,data_reduction:i.data_reduction,stacked:i.stacked,sort:i.sort},data:[],className:e})},`chart-${r}`):null}case "Table":{let i=o.content;return i?jsxRuntime.jsx("div",{className:"my-4",children:jsxRuntime.jsx(jt,{title:i.table_title,columns:i.columns,data:[],className:e})},`table-${r}`):null}case "TextMarkdown":{let i=o.content;return jsxRuntime.jsx("div",{className:"my-2",children:jsxRuntime.jsx(G,{content:i?.text||"",className:e})},`text-${r}`)}case "Suggestions":{let s=o.content?.suggestions||[];return s.length?jsxRuntime.jsx("div",{className:"flex flex-col gap-2 my-4",children:s.map((l,u)=>jsxRuntime.jsx("button",{className:"text-left px-3 py-2 bg-gray-100 dark:bg-gray-800 rounded hover:bg-gray-200 dark:hover:bg-gray-700 text-sm",children:l},u))},`suggestions-${r}`):null}default:return null}})}function zn(t){let e={success:true,messages:[],events:t,steps:[]},n=new Set;for(let a of t){let r=a.type,o=a.payload,i=a.metadata;switch(r){case "bot started":case "bot resumed":o&&typeof o=="object"&&(e.invocationId=o.invocation_id,e.botKey=o.bot_id);break;case "step started":if(o&&typeof o=="object"){let s=o.key;s&&!n.has(s)&&(n.add(s),e.steps.push({key:s,action:o.action_type||"",status:"running"}));}break;case "step finished":if(o&&typeof o=="object"){let s=e.steps.find(l=>l.status==="running");s&&(s.status="completed");}break;case "result":o&&typeof o=="object"&&i?.user_visibility==="visible"&&o.status==="success"&&o.output&&(e.result=o);break;case "error":e.success=false,o&&typeof o=="object"?e.error=o.message||o.error||"Unknown error":typeof o=="string"&&(e.error=o);break;}}return e}function Kn(t={}){let e=st(),[n,a]=tt.useState(null),[r,o]=tt.useState(false),[i,s]=tt.useState(null),l=tt.useRef(null),u=tt.useCallback(()=>{l.current&&(l.current.abort(),l.current=null);},[]),p=tt.useCallback(async(d,c)=>{if(!e.client)throw new Error("ErdoClient not configured in provider. Pass a client to ErdoProvider config to use useInvocation.");u(),l.current=new AbortController,o(true),s(null),a(null);try{let m=[];for await(let y of e.client.invokeStream(d,c)){if(l.current?.signal.aborted)break;m.push(y),t.onEvent?.(y);let x=zn(m);a(x);}let f=zn(m);return a(f),t.onFinish?.(f),f}catch(m){let f=m instanceof Error?m:new Error(String(m));throw s(f),t.onError?.(f),f}finally{o(false),l.current=null;}},[e.client,t,u]);return {result:n,isStreaming:r,error:i,invoke:p,cancel:u}}function A(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 mo(t){return t.contents.length===0?null:t.contents[t.contents.length-1]||null}function fo(t){return t.contents.length===0?null:t.contents[0]||null}function nn(t,e){let n=A(t);switch(n){case "message":return t;case "step":let a=t;if(e){let i=a.eventsByID[e]?.Message;return i||er({},"",e)}let o=Object.keys(a.eventsByID).reverse();for(let i of o){let s=a.eventsByID[i];if(s&&s.Message)return s.Message}throw new Error("Unable to find message for step");default:throw new Error(`Unable to have messages on entity type ${n}`)}}function yo(t,e){switch(A(t)){case "message_content":return t;case "output_content":return t;case "message":return Rt(t,e);case "output":return At(t,e);case "step":let a=we(t,e);return a?At(a,e):null;default:return null}}function Rt(t,e){let n=A(t);switch(n){case "message_content":return t;case "message":let a=nn(t);if(!a)throw new Error("Unable to find message to add content to");return e?a.contentsByID[e]:mo(a);default:throw new Error(`Unable to have message content on entity type ${n}`)}}function At(t,e){let n=A(t);switch(n){case "output_content":return t;case "output":let a=t;return e?a.contentsByID[e]||null:a.contents.length<=0?null:a.contents[a.contents.length-1]||null;case "step":let o=we(t,e);return o?At(o):null;case "invocation":if(!e)return null;let i=t.eventsByID[e];return !i||!i.Output?null:At(i.Output);default:throw new Error(`Unable to have output content on entity type ${n}`)}}function rn(t,e){let n=A(t),a=null;switch(n){case "invocation":return t;case "message_content":if(a=t.botInvocation||null,!a)throw new Error("Unable to find bot invocation for message content");if(e&&a.bot_invocation.id!==e)throw new Error("Unable to find bot invocation for message content - mismatched ID");return a;case "message":if(a=fo(t)?.botInvocation||null,!a)throw new Error("Unable to find bot invocation for message");if(e&&a.bot_invocation.id!==e)throw new Error("Unable to find bot invocation for message - mismatched ID");return a;case "output_content":return t.botInvocation||null;default:throw new Error(`Unable to have bot invocation on entity type ${n}`)}}function we(t,e){let n=A(t);switch(n){case "output":return t;case "step":let a=t;if(e){let s=a.eventsByID[e]?.Output;if(!s)throw new Error("Unable to find output with id "+e);return s}let o=Object.keys(a.eventsByID).reverse();for(let s of o){let l=a.eventsByID[s];if(l&&l.Output)return l.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 Xn(t,e){let n=A(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 a=t.eventsByID[e];if(!a||!a.type||a.type!=="result_handler"||!a.ResultHandler)throw new Error(`Unable to find result handler with id ${e} on step ${t.id}`);return a.ResultHandler;default:throw new Error(`Unable to have result handlers on entity type ${n}`)}}function tr(t,e){let n=A(t),a=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");a=t;let r=a.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 i=t.eventsByID[e];if(!i)throw new Error("Unable to find step on result handler with id "+e);if(!i.Step)throw new Error("Unable to find step on result handler with id "+e);return i.Step;default:throw new Error(`Unable to have steps on entity type ${n}`)}}var tn=class extends Error{};function go(t,e,n){let a=null,r=e[0],o=e[1];n[r]=o;try{switch(r){case "message":a=nn(t,o);break;case "content":a=Rt(t,o);break;case "step":a=tr(t,o);break;case "output":a=we(t,o);break;case "output_content":a=At(t,o);break;case "invocation":a=rn(t,o);break;case "result_handler":a=Xn(t,o);break}}catch(i){throw console.error("error finding next entity"),console.log("path",e),console.log("currentEntity",t),i}if(!a)throw console.log("path",e),console.log("currentEntity",t),console.log("nextEntity",a),new tn(`Unable to find next entity for path ${e.join("/")}`);return a}function er(t,e,n,a){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.svg"},state:"in_progress",contents:[],contentsByID:{},contentIDToIdx:{}}}function xo(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 ho(t,e){let n=t.metadata?.ui_content_type,a=typeof t.payload=="string"?t.payload:t.payload.content||t.payload,r=null;if(Ut(t.metadata.content_type,n))try{r=rt(a);}catch(o){console.error("Failed to parse message content as JSON:",o),r=[{content:a,type:"text"}];}return {_type:"message_content",id:t.metadata.message_content_id,message_id:e.message,content:a,content_type:t.metadata.content_type,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:n?{String:n,Valid:true}:{String:"",Valid:false},parsedJson:r}}function ko(t,e,n){let a=t.payload;return {_type:"step",id:e,invocation_id:n.invocation||"",step_id:a.step_id||"",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),current_status_id:"",path:{String:"",Valid:false},action_type:{String:a.action_type,Valid:true},key:{String:a.key,Valid:true},bot_id:a.bot_id,result_handler_id:"",step_order:{Int32:a.step_order,Valid:true},output_content_type:{String:a.content_type,Valid:true},execution_mode:{String:a.execution_mode,Valid:true},output_behaviour:{String:a.output_behaviour,Valid:true},user_output_visibility:{String:t.metadata.visibility||"visible",Valid:true},output_channels:a.output_channels||[],running_message:{String:"",Valid:false},finished_message:{String:"",Valid:false},depends_on:[],eventsByID:{},currentStatus:null}}function bo(t,e,n){let a=t.payload;return {_type:"result_handler",id:e,invocation_id:t.metadata.invocation_id||"",result_handler_id:a.result_handler_id||e,step_invocation_id:a.step_invocation_id||"",type:a.type||"",if_conditions:a.if_conditions||{},created_at:new Date().toISOString(),updated_at:new Date().toISOString(),output_content_type:a.output_content_type||"",result_handler_order:a.result_handler_order||0,eventsByID:{}}}function vo(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 Zn(t,e,n,a=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:a??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 Yn(t,e,n,a=null){let r=null,o=t.metadata?.ui_content_type;if(Ut(t.metadata.content_type,o))try{r=rt(t.payload);}catch(i){console.error("Failed to parse step output content as JSON:",i),r=[{content:t.payload,type:"text"}];}return {_type:"output_content",id:e,output_id:n.output,content:t.payload,content_type:t.metadata.content_type,state:"completed",invocation_id:t.metadata.invocation_id,parsedJson:r,user_visibility:a||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},output:null}}function Co(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 Xe(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 nr(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 an(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 on(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 _o(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 So(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}}function sn(t,e){if(t.content||(t.content=""),t.user_visibility!=="visible"||!Ut(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="");for(let n of e){if(t.content+=n,!t._isInJson&&n==="{"){t._charBuffer="{";continue}if(t._charBuffer&&ye(n)){t._charBuffer+=n;continue}if(!t._isInJson&&t._charBuffer?.match(/^\s*{\s*$/)&&n==='"'){t._isInJson=true,t._jsonParser=new nt;let r={content:t._jsonParser.add("{"),type:"json"};t._currentContent?.content?t._currentContent.content.match(/^\s*{$/)?(t._currentContent=r,t.parsedJson[t.parsedJson.length-1]=r):(t._currentContent.content=t._currentContent.content.replace(/{$/,""),t._currentContent=r,t.parsedJson=[...t.parsedJson,r]):(t._currentContent=r,t.parsedJson=[...t.parsedJson,r]);}if(t._isInJson)try{let a=t._jsonParser.add(n);t._currentContent.content=a,t._jsonParser.state==="END"&&(t._isInJson=!1,t._currentContent=void 0);}catch(a){console.log("content",e),console.log("currentContent",t.content),console.error("Error incrementally parsing JSON",a);}else t._currentContent||(t._currentContent={content:t._charBuffer||"",type:"text"},t.parsedJson=[...t.parsedJson,t._currentContent]),t._currentContent.content+=t._charBuffer+n;t._charBuffer="";}return {...t}}function wo(t,e){return sn(t,e)}function Qn(t,e){return sn(t,e)}function en(t,e){let n=A(t);switch(n){case "message":return ot(t,e);case "message_content":return ln(t,e);case "step":return Io(t,e);case "output":return No(t,e);case "output_content":return Do(t,e);case "invocation":return Ee(t,e);case "result_handler":return Bo(t,e);default:throw new Error(`Unable to add update entity for entity type ${n}`)}}function Eo(t,e){for(let n of e)t=en(t,n);return t}function ot(t,e){let n=nn(t);if(!n)throw new Error("Unable to find message to add content to");let a=A(e),r=null;switch(a){case "message_content":return r=e,n.contentsByID[r.id]?n.contents[n.contentIDToIdx[r.id]]=r:(n.contentIDToIdx={...n.contentIDToIdx,[r.id]:n.contents.length},n.contents=[...n.contents,r]),n.contentsByID={...n.contentsByID,[r.id]:r},{...n};case "invocation":let o=e;if(n.contents.length===0)throw new Error("Unable to find message content to add invocation to");return r=ln(n.contents[0],o),ot(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 i=rn(r);if(!i)throw new Error("Unable to find bot invocation to add content to");return r.botInvocation=Ee(i,e),ot(n,r);default:throw new Error(`Unable to add update message child for child type ${a}`)}}function ln(t,e){let n=Rt(t);if(!n)throw new Error("Unable to find message content to add content to");let a=A(e);switch(a){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=Ee(r,e),{...n};default:throw new Error(`Unable to add update message content child for child type ${a}`)}}function Io(t,e){let n=tr(t);if(!n)throw new Error("Unable to find bot invocation to add step to");let a=A(e),r=null;switch(a){case "output":let o=e;return r=an(o),n.eventsByID={...n.eventsByID,[o.output.id]:r},{...n};case "message":let i=e;return r=_o(i),n.eventsByID={...n.eventsByID,[i.message.id]:r},{...n};case "status":let s=e;return r=on(s),n.eventsByID={...n.eventsByID,[s.id]:r},{...n};case "result_handler":let l=e;return r=So(l),n.eventsByID={...n.eventsByID,[l.id]:r},{...n};default:throw new Error(`Unable to add update step for entity type ${a}`)}}function No(t,e){let n=we(t);if(!n)throw new Error("Unable to find step output to add content to");let a=A(e);switch(a){case "output_content":let r=e;return n.contentsByID[r.id]?n.contents[n.contentIDToIdx[r.id]]=r:(n.contentIDToIdx={...n.contentIDToIdx,[r.id]:n.contents.length},n.contents=[...n.contents,r]),n.contentsByID={...n.contentsByID,[r.id]:r},{...n};default:throw new Error(`Unable to add update output for entity type ${a}`)}}function Do(t,e){let n=At(t);if(!n)throw new Error("Unable to find step output content to add content to");let a=A(e);switch(a){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=Ee(r,e),{...n};default:throw new Error(`Unable to add update step output content for entity type ${a}`)}}function Ee(t,e){let n=rn(t);if(!n)throw new Error("Unable to find bot invocation to add content to");let a=A(e),r;switch(a){case "step":let o=e;return r=nr(o),n.eventsByID={...n.eventsByID,[o.id]:r},{...n};case "output":let i=e;return r=an(i),n.eventsByID={...n.eventsByID,[i.output.id]:r},{...n};case "status":let s=e;return r=on(s),n.eventsByID={...n.eventsByID,[s.id]:r},{...n};default:throw new Error(`Unable to add update invocation for entity type ${a}`)}}function Bo(t,e){let n=Xn(t);if(!n)throw new Error("Unable to find result handler to add content to");let a=A(e),r=null;switch(a){case "step":let o=e;return r=nr(o),n.eventsByID||(n.eventsByID={}),n.eventsByID={...n.eventsByID,[o.id]:r},{...n};case "output":let i=e;return r=an(i),n.eventsByID||(n.eventsByID={}),n.eventsByID={...n.eventsByID,[i.output.id]:r},{...n};case "status":let s=e;return r=on(s),n.eventsByID||(n.eventsByID={}),n.eventsByID={...n.eventsByID,[s.id]:r},{...n};default:throw new Error(`Unable to add update to result handler for entity type ${a}`)}}function To(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 rr(t,e,n,a,r,o=null,i=[],s={}){if(!o&&Object.keys(r).length>0){let d,c;if(n.length>=2&&n[0]==="message"?(c=n[1],d=r[c],d||(d=Object.values(r)[0],c=Object.keys(r)[0])):(d=Object.values(r)[Object.values(r).length-1],c=Object.keys(r)[Object.keys(r).length-1]),s.message=c,n.length<=2&&t==="message finished")return null;if(n[0]!=="content"&&Object.keys(d.contentsByID).length>0&&e.metadata.message_content_id){let m=e.metadata.message_content_id,f=d.contentsByID[m];f&&(o=f);}o?i=[d]:o=d;}if(n.length<=2&&To(t)){let d=n[1],c=[],m,f,y,x,b;switch(t){case "bot started":case "bot resumed":if(!o)throw new Error("Unable to find message to add content to");let I=Co(e);if(o._type==="message_content"){if(f=o,!f.id)throw new Error("Unable to find message content id");if(y=r[f.message_id],!y)throw new Error("Unable to find message to add content to");if(x=Rt(y,f.id),!x)throw new Error("Unable to find message content to add content to");let _=ln(x,I);r[f.message_id]={...ot(y,_)};}c.push(I);break;case "message created":return r[d]=er(e,a,d),null;case "create message content":if(!o)throw new Error("Unable to find message to add content to");if(b=xo(e,s),o._type==="output"){m=o,c.push(Zn(e,d,s,"hidden"));let _=e.payload.message_id;if(_||(_=i[0].message.id),y=r[_],!y)throw new Error("Unable to find message to add content to")}else if(o._type==="message_content"){if(m=o,y=r[m.message_id],!y)throw new Error("Unable to find message to add content to")}else {if(o._type!=="message")throw new Error(`Incorrect path? Cannot add content to non-message entity: ${o._type}`);if(m=o,y=r[m.message.id],!y)throw new Error("Unable to find message to add content to");c.push(b);}r[y.message.id]={...ot(y,b)};break;case "message content result":if(!o)throw new Error("Unable to find message to add content to");let k=null;if(o._type==="output"){c.push(Yn(e,d,s,"hidden"));let _=e.payload.message_id||s.message;if(_?k=i.find(T=>T.message.id===_):k=i[0],y=r[_],!y)throw new Error("Unable to find message to add content to")}else if(o._type==="message_content"){if(k=i[0],y=r[k.message.id],!y)throw new Error("Unable to find message to add content to")}else {if(o._type!=="message")throw new Error(`Incorrect path? Cannot add content to non-message entity: ${o._type}`);if(k=o,y=r[k.message.id],!y)throw new Error("Unable to find message to add content to")}let V=e.metadata.message_content_id;if(!V)throw new Error("Unable to find message content id");let P=Rt(k,V);if(P){P.state="completed";let _=typeof e.payload=="string"?e.payload:e.payload.content||e.payload;P.content=_,r[y.message.id]={...ot(y,P)},(o._type==="message"||o._type==="message_content")&&c.push(P);}else P=ho(e,s),r[y.message.id]={...ot(y,P)},(o._type==="message"||o._type==="message_content")&&c.push(P);break;case "step started":c.push(ko(e,d,s));break;case "result handler started":c.push(bo(e,d));break;case "step output created":c.push(vo(e,d,o));break;case "create step output content":c.push(Zn(e,d,s));break;case "step output content result":c.push(Yn(e,d,s));break;case "log":return null;default:throw new Error(`Unable to handle create event type ${t}`)}return c.length?!o||o._type==="message_content"&&c.length===1&&c[0]._type==="message_content"?c[0]:Eo(o,c):null}if(!o)throw new Error("No first message has been created, so cannot handle amend events");if(n.length<=1){let d=null;try{d=yo(o);}catch{}switch(t){case "message content delta":if(!d)throw new Error("Unable to find message content");let c=null,m=null,f=null;if(o._type==="output_content"){c=Qn(o,e.payload);let I=e.metadata.message_content_id;if(!I)throw new Error("Unable to find message content id from entity ids");let k=s.message;if(f=i.find(V=>V.message.id===k),!f)throw new Error("Unable to find message to add content to");m=Rt(f,I);}else {if(m=d,f=i[i.length-1],!f)throw new Error("Unable to find message to add content to");if(f._type!=="message")throw new Error("Unable to find message to add content to - not a message")}if(!m)throw new Error("Unable to find message content");let y=r[f.message.id];if(!y)throw new Error("Unable to find message to add content to");let x=wo(m,e.payload);return r[y.message.id]={...ot(y,x)},o._type==="message_content"&&(c=x),c;case "step output content delta":return Qn(d,e.payload);case "status":return o._type==="step"&&(o.currentStatus=Xe(e)),o._type==="invocation"&&(o.currentStatus=Xe(e)),en(o,Xe(e));case "result":return null;case "message finished":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 l=n.slice(2),u=go(o,n,s),p=rr(t,e,l,a,r,u,[...i,o],s);return p?en(o,{...p}):o}exports.BarChart=ct;exports.BotInvocationContent=Se;exports.Chart=j;exports.ChartContainer=Mt;exports.ChartContent=Wt;exports.ChartLegend=Ae;exports.ChartLegendContent=Ve;exports.ChartStyle=mn;exports.ChartTooltip=Pe;exports.ChartTooltipContent=Re;exports.CodeexecContent=Ce;exports.CodegenContent=ve;exports.CollapsibleCodeBlock=It;exports.Content=Ye;exports.DatasetChart=_n;exports.DatasetTable=wn;exports.ErdoProvider=pn;exports.ErrorBoundary=it;exports.ExecutionStatus=Fe;exports.ExpandableOutputContent=Dt;exports.HeatmapChart=bt;exports.InvocationEvent=ie;exports.InvocationEvents=se;exports.InvocationStatus=Bn;exports.JSONStreamParser=nt;exports.JsonContent=St;exports.LineChart=xt;exports.Log=We;exports.LogContent=ue;exports.MarkdownContent=G;exports.Output=ne;exports.PieChart=ht;exports.ScatterChart=kt;exports.SqlContent=ge;exports.StatusSpinner=_t;exports.StderrText=Bt;exports.StdoutText=he;exports.StdwarnText=ke;exports.StepInvocation=oe;exports.StepInvocationStatus=ae;exports.TableContent=jt;exports.TextContent=Jt;exports.ThinkingContent=pe;exports.ToolGroupContent=_e;exports.WebParseContent=me;exports.WebSearchContent=de;exports.cn=L;exports.formatValue=lt;exports.handleIncrementalMixedJsonParsing=sn;exports.handleSSEEvent=rr;exports.isJsonLike=Ut;exports.isParsingComplete=ja;exports.isParsingInProgress=qa;exports.isWhitespaceChar=ye;exports.parseCompleteJson=Ja;exports.parseMixedJson=rt;exports.parseToDate=fn;exports.resolveKeyFromData=vt;exports.toSnakeCase=bn;exports.useChartZoom=Zt;exports.useDatasetContents=Qt;exports.useErdoConfig=st;exports.useErdoConfigOptional=X;exports.useInvocation=Kn;exports.useMultipleDatasetContents=Xt;
package/dist/index.js CHANGED
@@ -23,4 +23,4 @@ $bm_rt = comp('system-solid-56-warning').layer('control').effect('primary')('Col
23
23
  $bm_rt = comp('system-solid-56-warning').layer('control').effect('primary')('Color');`},o:{a:0,k:100,ix:5},r:1,bm:0,nm:".primary",mn:"ADBE Vector Graphic - Fill",hd:false,cl:"primary"}],ip:1,op:54,st:0,ct:1,bm:0}]},{id:"comp_3",nm:"mask-1",fr:60,layers:[{ddd:0,ind:1,ty:3,nm:"NULL 2",sr:1,ks:{o:{a:0,k:0,ix:11},r:{a:1,k:[{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:11,s:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:17.25,s:[-30]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:23.5,s:[30]},{i:{x:[.16],y:[1]},o:{x:[.333],y:[0]},t:31,s:[-30]},{t:46,s:[0]}],ix:10},p:{a:0,k:[250,284,0],ix:2,l:2},a:{a:0,k:[50,50,0],ix:1,l:2},s:{a:1,k:[{i:{x:[0,0,.2],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:0,s:[100,100,100]},{i:{x:[.3,.3,.3],y:[1,1,1]},o:{x:[1,1,.8],y:[0,0,0]},t:16,s:[180,180,100]},{i:{x:[.3,.3,.3],y:[1,1,1]},o:{x:[.7,.7,.7],y:[0,0,0]},t:35,s:[180,180,100]},{t:58,s:[100,100,100]}],ix:6,l:2}},ao:0,ip:0,op:53,st:0,bm:0},{ddd:0,ind:2,ty:4,nm:".primary.design",cl:"primary design",parent:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[50.005,120.173,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[0,0],[0,0]],c:false},ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:false},{ty:"st",c:{a:0,k:[1,1,1,1],ix:3},o:{a:0,k:100,ix:4},w:{a:1,k:[{i:{x:[0],y:[1]},o:{x:[.333],y:[0]},t:0,s:[52]},{i:{x:[0],y:[1]},o:{x:[1],y:[0]},t:10,s:[150]},{i:{x:[.833],y:[.833]},o:{x:[1],y:[0]},t:29,s:[150]},{t:53,s:[52]}],ix:5},lc:2,lj:1,ml:10,bm:0,nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:false},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Group 1",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false}],ip:0,op:53,st:-1,ct:1,bm:0},{ddd:0,ind:3,ty:4,nm:".primary.design",cl:"primary design",parent:1,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[50.004,10.799,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:1,k:[{i:{x:0,y:1},o:{x:.333,y:0},t:0,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[0,41.667],[0,-41.667]],c:false}]},{i:{x:0,y:1},o:{x:1,y:0},t:10,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[.004,142.667],[0,-41.667]],c:false}]},{i:{x:.833,y:.833},o:{x:1,y:0},t:29,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[.004,142.667],[0,-41.667]],c:false}]},{t:53,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[0,41.667],[0,-41.667]],c:false}]}],ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:false},{ty:"st",c:{a:0,k:[1,1,1,1],ix:3},o:{a:0,k:100,ix:4},w:{a:1,k:[{i:{x:[0],y:[1]},o:{x:[.333],y:[0]},t:0,s:[42]},{i:{x:[0],y:[1]},o:{x:[1],y:[0]},t:10,s:[150]},{i:{x:[.833],y:[.833]},o:{x:[1],y:[0]},t:29,s:[150]},{t:53,s:[42]}],ix:5},lc:2,lj:2,bm:0,nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:false},{ty:"tr",p:{a:0,k:[0,-14.5],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Group 1",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false}],ip:0,op:53,st:-1,ct:1,bm:0}]}],layers:[{ddd:0,ind:1,ty:3,nm:"control",sr:1,ks:{o:{a:0,k:0,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[0,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,ef:[{ty:5,nm:"primary",np:3,mn:"ADBE Color Control",ix:1,en:1,ef:[{ty:2,nm:"Color",mn:"ADBE Color Control-0001",ix:1,v:{a:0,k:[.071,.075,.192],ix:1}}]}],ip:0,op:131,st:0,bm:0},{ddd:0,ind:3,ty:0,nm:"hover-warning",refId:"comp_2",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[250,250,0],ix:2,l:2},a:{a:0,k:[250,250,0],ix:1,l:2},s:{a:0,k:[100,100,100],ix:6,l:2}},ao:0,w:500,h:500,ip:0,op:70,st:0,bm:0}],markers:[{tm:0,cm:"default:hover-warning",dr:60}],props:{}};function ma(){let[t,e]=useState("#000000");return useEffect(()=>{if(typeof window>"u")return;let n=()=>{let r=document.documentElement.classList.contains("dark");e(r?"#ffffff":"#000000");};n();let a=new MutationObserver(r=>{r.forEach(o=>{o.attributeName==="class"&&n();});});return a.observe(document.documentElement,{attributes:true}),()=>a.disconnect()},[]),t}function _t({status:t,color:e,size:n=16,className:a}){let r=useRef(null),o=useRef(null),i=useRef(null),s=useRef(null),[l,u]=useState(false),p=ma(),d=e||p;useEffect(()=>{typeof window<"u"&&!s.current&&import('@lordicon/react').then(m=>{s.current=m.Player,u(true);});},[]),useEffect(()=>{l&&(t==="loading"?r.current?.playFromBeginning?.():t==="finished"?(r.current?.pause?.(),o.current?.playFromBeginning?.()):t==="failed"&&(r.current?.pause?.(),i.current?.playFromBeginning?.()));},[t,l]);let c=s.current;return c?jsxs("div",{className:a,style:{width:n,height:n,position:"relative"},children:[jsx("div",{style:{position:"absolute",opacity:t==="loading"?1:0,transition:"opacity 0.3s ease-in-out"},children:jsx(c,{ref:r,size:n,icon:En,colorize:d,onComplete:()=>r.current?.playFromBeginning?.()})}),jsx("div",{style:{position:"absolute",opacity:t==="finished"?1:0,transition:"opacity 0.3s ease-in-out"},children:jsx(c,{ref:o,size:n,icon:In,colorize:d})}),jsx("div",{style:{position:"absolute",opacity:t==="failed"?1:0,transition:"opacity 0.3s ease-in-out"},children:jsx(c,{ref:i,size:n,icon:Nn,colorize:d})})]}):jsx("div",{className:a,style:{width:n,height:n,position:"relative"},children:t==="loading"&&jsx("div",{style:{width:n,height:n,border:"2px solid transparent",borderTopColor:d,borderRadius:"50%",animation:"spin 1s linear infinite"}})})}function Ut(t,e){return t==="json"||e==="json"}var Bn=(l=>(l.Pending="pending",l.Running="running",l.Success="success",l.Error="error",l.RequiresInfo="requires info",l.GoToStep="go to step",l.Skipped="skipped",l.Break="break",l))(Bn||{}),Fe=(o=>(o.Initializing="initializing",o.Running="running",o.ProcessingDatasets="processing datasets",o.Completed="completed",o.Failed="failed",o))(Fe||{});var Ue={Finished:"step finished",Failed:"step error"};function ae({step:t}){let e=t.action_type?.String||"step",n=t.currentStatus;if(!n)return null;let a="loading";n.status===Ue.Finished||n.status==="completed"?a="finished":(n.status===Ue.Failed||n.status==="failed")&&(a="failed");let r=n.message?.String?n.message.String:n.status===Ue.Finished?t.finished_message?.String||`Finished ${e}`:`Running ${e}...`;return jsxs("div",{className:"text-sm font-medium flex items-center gap-2",children:[jsx(_t,{status:a}),r]})}function oe({step:t,ContentComponent:e}){if(t.user_output_visibility?.String!=="visible")return null;let n=t.action_type?.String;return jsxs(Fragment,{children:[n!=="bot.invoke"&&n!=="invoke_bot"&&jsx(ae,{step:t}),jsx(se,{eventsByID:t.eventsByID,ContentComponent:e})]})}function ie({event:t,ContentComponent:e}){let n=X(),a=e??n?.ContentComponent;if(!t)return null;switch(t.type){case "output":return t.Output?jsx(ne,{output:t.Output,ContentComponent:a}):null;case "step":return t.Step?jsx(oe,{step:t.Step,ContentComponent:a}):null;default:return null}}function se({eventsByID:t,ContentComponent:e}){return jsx(Fragment,{children:Object.values(t).map(n=>jsx(ie,{event:n,ContentComponent:e},n.id))})}function Jt({content:t,className:e}){return t?.length?jsx("div",{className:e||"prose dark:prose-invert max-w-4xl w-full leading-normal",children:jsx("p",{style:{whiteSpace:"pre-wrap"},children:t})}):null}function va(t){let e=[],n=t;for(;n.length>0;){let a=n.indexOf("{"),r=n.indexOf("["),o=-1,i=true;if(a>=0&&(r<0||a<r)?(o=a,i=true):r>=0&&(o=r,i=false),o<0){n.trim()&&e.push({type:"text",content:n});break}if(o>0){let c=n.slice(0,o);c.trim()&&e.push({type:"text",content:c});}let s=0,l=o,u=i?"{":"[",p=i?"}":"]";for(let c=o;c<n.length;c++)if(n[c]===u&&s++,n[c]===p&&s--,s===0){l=c+1;break}let d=n.slice(o,l);try{let c=JSON.parse(d);e.push({type:"json",content:c});}catch{e.push({type:"text",content:d});}n=n.slice(l);}return e}function Ca(t){switch(t){case "muted":return "text-gray-500";case "error":return "text-red-500";case "warning":return "text-yellow-600";case "success":return "text-green-600";default:return ""}}function St({content:t,className:e}){if(t==null)return null;let n=typeof t=="string"?t:JSON.stringify(t,null,2),a=useMemo(()=>va(n),[n]);return n?.length?jsx("div",{className:e||"prose dark:prose-invert leading-normal",children:a.map((r,o)=>{if(r.type==="json"){let i=r.content;return i.message&&typeof i.message=="string"?jsx("p",{className:Ca(i.style),children:i.message},o):jsx("pre",{className:"bg-gray-100 dark:bg-gray-800 p-3 rounded overflow-x-auto text-sm",children:JSON.stringify(i,null,2)},o)}return jsx("p",{children:r.content},o)})}):null}function Wt({config:t,data:e,className:n}){let a=useMemo(()=>!t?.chart_type||!t?.chart_title||!t?.series?.length||!t?.y_axes?.length?null:{chartType:t.chart_type,title:t.chart_title,xAxis:{label:t.x_axis.axis_label,key:t.x_axis.key,maxValue:t.x_axis.max_value,minValue:t.x_axis.min_value,type:t.x_axis.value_type,format:t.x_axis.format},yAxes:t.y_axes.map(s=>({label:s.axis_label,key:s.key,maxValue:s.max_value,minValue:s.min_value,type:s.value_type,format:s.format})),series:t.series.map(s=>({key:s.key,name:s.series_name,color:s.color,axisIndex:s.axis_index,filters:s.filters})),dataReduction:t.data_reduction,stacked:t.stacked,sort:t.sort},[t]);if(!a)return jsx("div",{className:"text-red-500",children:"Invalid chart configuration"});if(!e||e.length===0)return jsx("div",{className:"text-gray-500",children:"No data available for chart"});let r=null;switch(a.chartType){case "bar":case "histogram":r=ct;break;case "line":r=xt;break;case "pie":r=ht;break;case "scatter":r=kt;break;case "heatmap":r=bt;break}if(!r)return jsxs("div",{className:"text-red-500",children:["Unsupported chart type: ",a.chartType]});let o={[a.xAxis.key]:{label:a.xAxis.label,format:a.xAxis.format,type:a.xAxis.type},...a.series.reduce((s,l)=>(s[l.key]={label:l.name,color:l.color},s),{})},i={chartType:a.chartType,xAxis:a.xAxis,yAxes:a.yAxes,series:a.series};return jsx("div",{className:n||"w-full max-w-3xl",children:jsx(r,{title:a.title,data:e,displayConfig:o,dataConfig:i,stacked:a.stacked,disableAnimation:e.length>100})})}function jt({title:t,columns:e,data:n,className:a,maxRows:r=100}){let o=useMemo(()=>!n||n.length===0?[]:r?n.slice(0,r):n,[n,r]);return !e||e.length===0?jsx("div",{className:"text-gray-500",children:"No columns defined"}):!n||n.length===0?jsx("div",{className:"text-gray-500",children:"No data available"}):jsxs("div",{className:a||"w-full max-w-4xl",children:[t&&jsx("h3",{className:"text-lg font-medium mb-2",children:t}),jsx("div",{className:"overflow-x-auto border rounded-md",children:jsxs("table",{className:"w-full text-sm",children:[jsx("thead",{children:jsx("tr",{className:"border-b bg-gray-50 dark:bg-gray-800",children:e.map(i=>jsx("th",{className:"px-4 py-2 text-left font-medium text-gray-700 dark:text-gray-300",children:i.column_name},i.key))})}),jsx("tbody",{children:o.map((i,s)=>jsx("tr",{className:"border-b last:border-b-0 hover:bg-gray-50 dark:hover:bg-gray-800/50",children:e.map(l=>jsx("td",{className:"px-4 py-2 text-gray-900 dark:text-gray-100",children:lt(i[l.key],l.format,l.value_type)},l.key))},s))})]})}),n.length>r&&jsxs("p",{className:"text-sm text-gray-500 mt-2",children:["Showing ",r," of ",n.length," rows"]})]})}function G({content:t,className:e}){return t?.length?jsx("div",{className:L("prose dark:prose-invert leading-tight",e),children:jsx(Ea,{remarkPlugins:[Ia],children:t})}):null}function pe({item:t,className:e}){let[n,a]=useState(false),r=t.content_type==="redacted_thinking",o="";typeof t.content=="string"?o=t.content:t.content&&typeof t.content=="object"&&(r?o=t.content.data||"Some of Claude's internal reasoning has been automatically encrypted for safety reasons. This doesn't affect the quality of responses.":o=t.content.thinking||"");let i=r?"border-amber-200 bg-amber-50 dark:bg-amber-900/20 dark:border-amber-700":"border-gray-200 bg-gray-50 dark:bg-gray-800 dark:border-gray-700",s=r?"hover:bg-amber-100 dark:hover:bg-amber-800/30":"hover:bg-gray-100 dark:hover:bg-gray-700",l=r?"text-amber-700 dark:text-amber-300":"text-gray-600 dark:text-gray-400",u=r?"text-amber-800 dark:text-amber-200 italic":"text-gray-700 dark:text-gray-300",p=r?"border-amber-200 dark:border-amber-700":"border-gray-200 dark:border-gray-700";return jsxs("div",{className:`my-2 border rounded-lg ${i} ${e||""}`,children:[jsxs("button",{onClick:()=>a(!n),className:`w-full px-3 py-2 flex items-center gap-2 text-left transition-colors rounded-lg ${s}`,children:[n?jsx(ChevronDown,{className:"h-4 w-4 text-gray-500"}):jsx(ChevronRight,{className:"h-4 w-4 text-gray-500"}),jsx("span",{className:`text-sm font-medium ${l}`,children:r?"Encrypted Thinking...":"Thinking..."}),!n&&jsx("span",{className:"text-xs text-gray-500 dark:text-gray-500 ml-auto",children:"Click to expand"})]}),n&&jsx("div",{className:`px-3 pb-3 border-t ${p}`,children:jsx("div",{className:`mt-2 text-sm whitespace-pre-wrap ${u}`,children:o})})]})}function Mn(t){try{return JSON.parse(t)}catch{return t}}function Ta(t){if(!t)return "";try{return new Date(t).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return ""}}function We({log:t}){let e=typeof t.message=="string"?Mn(t.message):t.message,n=Ta(t.timestamp),a="text-xs font-mono py-0.5 px-1.5 rounded flex items-start",r="";switch(t.level){case "error":a+=" 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":a+=" 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:a+=" bg-blue-50/40 dark:bg-blue-900/20 text-blue-500/90 dark:text-blue-300/80 border-l-2 border-blue-300 dark:border-blue-600/50",r="text-blue-400 dark:text-blue-400/70";}return jsx("div",{className:"my-0.5",children:jsx("div",{className:a,children:jsxs("div",{className:"flex items-start gap-2",children:[n&&jsx("span",{className:"text-[10px] opacity-60 whitespace-nowrap w-16 flex-shrink-0 pt-0.5",children:n}),t.level==="error"&&jsx("span",{className:"inline-block mr-1 flex-shrink-0",children:jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:`h-3 w-3 ${r}`,viewBox:"0 0 20 20",fill:"currentColor",children:jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.28 7.22a.75.75 0 00-1.06 1.06L8.94 10l-1.72 1.72a.75.75 0 101.06 1.06L10 11.06l1.72 1.72a.75.75 0 101.06-1.06L11.06 10l1.72-1.72a.75.75 0 00-1.06-1.06L10 8.94 8.28 7.22z",clipRule:"evenodd"})})}),t.level==="requires_info"&&jsx("span",{className:"inline-block mr-1 flex-shrink-0",children:jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:`h-3 w-3 ${r}`,viewBox:"0 0 20 20",fill:"currentColor",children:jsx("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})})}),t.level==="info"&&jsx("span",{className:"inline-block mr-1 flex-shrink-0",children:jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:`h-3 w-3 ${r}`,viewBox:"0 0 20 20",fill:"currentColor",children:jsx("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})})}),jsx("div",{className:"flex-1 break-words whitespace-pre-wrap",children:String(e)})]})})})}function ue({item:t,className:e}){let n=typeof t.content=="string"?t.content:JSON.stringify(t.content),a=Mn(n),r={level:a.level||"info",message:a.message||n,timestamp:a.timestamp};return jsx("div",{className:e,children:jsx(We,{log:r})})}function de({item:t,className:e}){let n=t.content;return n?.results?.length?jsx("div",{className:`max-w-2xl ${e||""}`,children:jsx("div",{className:"space-y-1",children:n.results.map((a,r)=>jsx("div",{className:"group hover:shadow-sm transition-shadow rounded-sm py-2 border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-900",children:jsx("div",{className:"px-4",children:jsx("div",{className:"flex items-start justify-between gap-2",children:jsxs("div",{className:"flex-1 min-w-0",children:[jsxs("a",{href:a.url,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1 font-medium text-xs leading-tight truncate text-gray-900 dark:text-gray-100 hover:text-blue-600 dark:hover:text-blue-400 hover:underline",children:[jsx("span",{children:a.title}),jsxs("span",{className:"text-xs text-gray-500/60 dark:text-gray-400/60 flex-shrink-0",children:["(",new URL(a.url).hostname,")"]})]}),jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400 truncate leading-tight mt-0.5",children:a.description})]})})})},r))})}):null}function me({item:t,className:e}){let n=t.content;return n?.content?.length?jsxs("div",{className:`max-w-4xl border border-gray-200 dark:border-gray-700 rounded-lg bg-white dark:bg-gray-900 ${e||""}`,children:[jsx("div",{className:"p-4 border-b border-gray-200 dark:border-gray-700",children:jsxs("div",{className:"flex items-start justify-between",children:[jsxs("div",{className:"space-y-2",children:[jsxs("h3",{className:"flex items-center gap-2 text-lg font-semibold text-gray-900 dark:text-gray-100",children:[jsx(Globe,{className:"h-5 w-5 text-blue-600 dark:text-blue-400"}),n.title||"Parsed Website Content"]}),n.description&&jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400 leading-relaxed",children:n.description})]}),n.url&&jsxs("a",{href:n.url,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1 text-xs text-blue-600 dark:text-blue-400 hover:text-blue-500 dark:hover:text-blue-300 transition-colors font-medium",children:[jsx(ExternalLink,{className:"h-3 w-3"}),"Visit"]})]})}),jsx("div",{className:"p-4",children:jsx(G,{content:n.content,className:"prose dark:prose-invert max-w-none leading-relaxed prose-sm"})})]}):null}var Ua=Prism;function It({language:t,value:e,defaultOpen:n=false,title:a="View code",closeTitle:r="Hide code",className:o,theme:i="auto"}){let[s,l]=useState(n),[u,p]=useState(false),d=useMemo(()=>i!=="auto"?i:typeof window>"u"?"light":document.documentElement.classList.contains("dark")||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",[i]),c=useMemo(()=>d==="dark"?oneDark:oneLight,[d]),m=async()=>{try{await navigator.clipboard.writeText(e),p(!0),setTimeout(()=>p(!1),2e3);}catch{let b=document.createElement("textarea");b.value=e,document.body.appendChild(b),b.select(),document.execCommand("copy"),document.body.removeChild(b),p(true),setTimeout(()=>p(false),2e3);}},f=useMemo(()=>({margin:0,width:"100%",background:"transparent",padding:"1rem 0.5rem",fontSize:"0.825rem",maxWidth:"100vw",overflow:"auto"}),[]),y=useMemo(()=>({userSelect:"none",minWidth:"2.5em",paddingRight:"1em",color:"rgb(161 161 170)",opacity:"0.5"}),[]),x=useMemo(()=>({style:{fontFamily:"var(--font-mono, ui-monospace, monospace)",whiteSpace:"pre",wordBreak:"break-word"}}),[]);return jsx(Tt.Root,{open:s,onOpenChange:l,className:o,children:jsxs("div",{className:"relative w-full font-sans rounded-lg overflow-hidden border border-zinc-200 dark:border-zinc-800",children:[jsxs("div",{className:"flex items-center justify-between w-full px-4 py-1.5 bg-white/80 dark:bg-zinc-800/80 text-zinc-600 dark:text-zinc-100 backdrop-blur-sm border-b border-zinc-200 dark:border-zinc-800",children:[jsx("span",{className:"text-xs font-medium lowercase text-zinc-400 dark:text-zinc-500",children:t}),jsx("button",{onClick:m,className:"h-6 w-6 flex items-center justify-center rounded-md hover:bg-zinc-100 dark:hover:bg-zinc-700 transition-colors",children:u?jsx(Check,{className:"h-3 w-3 text-green-500"}):jsx(Copy,{className:"h-3 w-3 text-zinc-400 dark:text-zinc-500"})})]}),jsxs("div",{className:`${s?"":"max-h-[200px] overflow-hidden"} relative`,children:[jsx("div",{className:"bg-zinc-50/50 dark:bg-zinc-950/70",children:jsx(Ua,{language:t,style:c,PreTag:"div",showLineNumbers:true,wrapLines:false,wrapLongLines:false,startingLineNumber:1,className:"not-prose",customStyle:f,lineNumberStyle:y,codeTagProps:x,children:e})}),!s&&jsx("div",{className:"absolute bottom-0 inset-x-0 h-24 pointer-events-none bg-gradient-to-t from-zinc-50 dark:from-zinc-950 to-transparent",style:{marginBottom:"1.5rem"}})]}),jsx(Tt.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:s?jsxs(Fragment,{children:[jsx(ChevronUp,{className:"h-4 w-4"}),r]}):jsxs(Fragment,{children:[jsx(ChevronDown,{className:"h-4 w-4"}),a]})})]})})}var Nt=Symbol("parsing"),nt=class{result;stack;key;state;stringBuffer;numberBuffer;quoteBuffer;escapeNext;unicode;isInTripleQuotes;constructor(){this.result=void 0,this.stack=[],this.key=void 0,this.state="START",this.stringBuffer="",this.numberBuffer="",this.quoteBuffer="",this.escapeNext=false,this.unicode="",this.isInTripleQuotes=false;}reset(){this.result=void 0,this.stack=[],this.key=void 0,this.state="START",this.stringBuffer="",this.numberBuffer="",this.quoteBuffer="",this.escapeNext=false,this.unicode="",this.isInTripleQuotes=false;}parse(e){return this.reset(),this.add(e)}add(e){for(let n=0;n<e.length;n++){let a=e[n];this.processChar(a);}return this.result}processChar(e){switch(this.state){case "START":this.handleStartState(e);break;case "IN_OBJECT":this.handleObjectState(e);break;case "IN_ARRAY":this.handleArrayState(e);break;case "IN_OBJECT_KEY":this.handleObjectKeyState(e);break;case "AFTER_KEY":this.handleAfterKeyState(e);break;case "IN_OBJECT_VALUE":this.handleObjectValueState(e);break;case "IN_STRING":this.handleStringState(e);break;case "IN_NUMBER":this.handleNumberState(e);break;case "IN_TRUE":this.handleLiteralState(e,"true");break;case "IN_FALSE":this.handleLiteralState(e,"false");break;case "IN_NULL":this.handleLiteralState(e,"null");break;case "IN_UNICODE":this.handleUnicodeState(e);break}}handleStartState(e){if(e==="{")this.startObject();else if(e==="[")this.startArray();else if(!this.isWhitespace(e))throw this.error("must start with { or [","start")}error(e,n){return new Error(`Invalid JSON in ${n}: ${e}`)}handleObjectState(e){if(e==="}")this.endObject();else if(e==='"')this.state="IN_OBJECT_KEY",this.stringBuffer="",this.key=void 0,this.quoteBuffer="";else if(e===",")this.key=void 0;else if(!this.isWhitespace(e))throw this.error(`Invalid character in object: ${e}`,"object")}handleArrayState(e){e==="]"?this.endArray():e===","||this.isWhitespace(e)||this.startValue(e);}handleObjectKeyState(e){e==='"'?(this.state="AFTER_KEY",this.key=this.stringBuffer,this.stringBuffer=""):(this.stringBuffer+=e,this.updateValueInParent(this.stringBuffer));}handleAfterKeyState(e){e===":"?this.state="IN_OBJECT_VALUE":this.isWhitespace(e)||this.isWhitespace(e)||(this.key=this.key+e);}handleObjectValueState(e){this.isWhitespace(e)||this.startValue(e);}handleStringState(e){if(this.escapeNext)this.handleEscapeChar(e);else if(e==="\\")this.escapeNext=true;else if(e==='"'){if(this.quoteBuffer+='"',this.stringBuffer===""&&this.quoteBuffer==='""')this.quoteBuffer="",this.isInTripleQuotes=true;else if(this.stringBuffer&&this.quoteBuffer==='"""'){this.quoteBuffer="",this.isInTripleQuotes=false,this.stringBuffer=this.stringBuffer.replace(/^\n+/,"").replace(/\n+$/,"").trim(),this.endString();return}}else {if(this.quoteBuffer){if(this.quoteBuffer==='"'&&!this.isInTripleQuotes){this.quoteBuffer="",this.endString(),this.processChar(e);return}else if(this.quoteBuffer==='"""'&&this.isInTripleQuotes){this.quoteBuffer="",this.isInTripleQuotes=false,this.endString(),this.processChar(e);return}this.stringBuffer+=this.quoteBuffer,this.quoteBuffer="";}this.stringBuffer+=e,this.updateValueInParent(this.stringBuffer);}}handleNumberState(e){e.match(/[0-9.eE+-]/)?(this.numberBuffer+=e,this.updateValueInParent(parseFloat(this.numberBuffer))):(this.endNumber(),this.processChar(e));}handleLiteralState(e,n){let a=n[this.stringBuffer.length];if(e===a)this.stringBuffer+=e,this.stringBuffer===n?this.endLiteral(n):this.updateValueInParent(this.stringBuffer);else throw this.error(`Invalid literal: expected ${n}`,"literal")}handleUnicodeState(e){if(this.unicode+=e,this.unicode.length===4){let n=parseInt(this.unicode,16);this.stringBuffer+=String.fromCharCode(n),this.unicode="",this.state="IN_STRING";}}handleEscapeChar(e){switch(e){case '"':case "\\":case "/":this.stringBuffer+=e;break;case "b":this.stringBuffer+="\b";break;case "f":this.stringBuffer+="\f";break;case "n":this.stringBuffer+=`
24
24
  `;break;case "r":this.stringBuffer+="\r";break;case "t":this.stringBuffer+=" ";break;case "u":this.unicode="",this.state="IN_UNICODE";break;case "`":this.stringBuffer+="`";break;default:throw this.error("Invalid escape character","string")}this.escapeNext=false;}startObject(){let e={[Nt]:true};this.addValueToParent(e),this.stack.push({value:e,key:this.key}),this.key=void 0,this.state="IN_OBJECT";}endObject(){let{value:e,key:n,index:a}=this.stack.pop();if(delete e[Nt],this.stack.length===0)this.state="END",this.result={...e};else {let{value:r}=this.stack[this.stack.length-1];if(Array.isArray(r))a!==void 0?r[a]={...e}:r[r.length-1]={...e};else if(n!==void 0)r[n]={...e};else throw this.error("Key is undefined","object");this.state=this.getParentState();}}startArray(){let e=[];e[Nt]=true,this.addValueToParent(e),this.stack.push({value:e,key:this.key,index:0}),this.key=void 0,this.state="IN_ARRAY";}endArray(){let{value:e,key:n,index:a}=this.stack.pop();if(delete e[Nt],this.stack.length===0)if(this.state="END",Array.isArray(e))this.result=[...e];else throw this.error("Expected array at root level","array");else {let{value:r}=this.stack[this.stack.length-1];Array.isArray(r)?a!==void 0?r[a]=Array.isArray(e)?[...e]:e:r[r.length-1]=Array.isArray(e)?[...e]:e:n!==void 0&&(r[n]=Array.isArray(e)?[...e]:e),this.state=this.getParentState();}}startValue(e){if(e==='"')this.state="IN_STRING",this.stringBuffer="",this.quoteBuffer="",this.addValueToParent("");else if(e.match(/[0-9-]/))this.state="IN_NUMBER",this.numberBuffer=e,this.addValueToParent(parseFloat(e));else if(e==="t")this.state="IN_TRUE",this.stringBuffer="t",this.addValueToParent("t");else if(e==="f")this.state="IN_FALSE",this.stringBuffer="f",this.addValueToParent("f");else if(e==="n")this.state="IN_NULL",this.stringBuffer="n",this.addValueToParent("n");else if(e==="{")this.startObject();else if(e==="[")this.startArray();else throw this.error(`Invalid value start: ${e}`,"value")}endString(){let e=this.stringBuffer;this.stringBuffer="",this.updateValueInParent(e),this.state=this.getParentState();}endNumber(){let e=parseFloat(this.numberBuffer);this.updateValueInParent(e),this.numberBuffer="",this.state=this.getParentState();}endLiteral(e){let n;switch(e){case "true":n=true;break;case "false":n=false;break;case "null":n=null;break;default:throw this.error("Invalid literal","literal")}this.updateValueInParent(n),this.stringBuffer="",this.state=this.getParentState();}addValueToParent(e){if(this.stack.length===0)this.result=e;else {let n=this.stack[this.stack.length-1],{value:a}=n;if(Array.isArray(a))a.push(e),n.index!==void 0&&n.index++;else if(this.state==="IN_OBJECT_KEY")this.key=e,a[this.key]="";else {if(this.key===void 0)throw this.error("Key is undefined","object");a[this.key]=e;}}}updateValueInParent(e){if(this.stack.length===0)this.result=e;else {let n=this.stack[this.stack.length-1],{value:a}=n;if(Array.isArray(a))n.index!==void 0?a[n.index-1]=e:a[a.length-1]=e;else if(this.key!==void 0)a[this.key]=e;else if(this.state!=="IN_OBJECT_KEY")throw this.error("Key is undefined","object")}}isWhitespace(e){return e===" "||e===" "||e===`
25
25
  `||e==="\r"}getParentState(){return this.stack.length===0?"END":Array.isArray(this.stack[this.stack.length-1].value)?"IN_ARRAY":"IN_OBJECT"}};function Ja(t){let e=t.trim();try{return JSON.parse(e)}catch{try{return new nt().parse(e)}catch(a){return console.log("content",e),console.error("Error parsing JSON",a),null}}}function ye(t){return t===" "||t===`
26
- `||t===" "||t==="\r"}function Wa(t,e){if(e>=t.length-1)return "";for(let n=e+1;n<t.length;n++)if(!ye(t[n]))return t[n];return ""}function rt(t){if(typeof t!="string")return t;let e=[],n=/```json\s*\n([\s\S]*?)(?:(?:\n)?```|$)/g,a=n.test(t);if(n.lastIndex=0,a){let r=0,o;for(;(o=n.exec(t))!==null;){let s=t.substring(r,o.index).trim();s&&e.push({content:s,type:"text"});let l=o[1];try{let u=JSON.parse(l);e.push({content:u,type:"json"});}catch{try{let d=new nt().parse(l);d?e.push({content:d,type:"json"}):e.push({content:o[0],type:"text"});}catch{e.push({content:o[0],type:"text"});}}r=o.index+o[0].length;}let i=t.substring(r).trim();i&&e.push({content:i,type:"text"});}else {let r="",o=null,i=false,s=0;for(let l=0;l<t.length;l++){let u=t[l],p=Wa(t,l);if(!i&&(u==="{"&&p==='"'||u==="["&&p==="{")&&(r.trim()&&e.push({content:r.trim(),type:"text"}),i=true,o=new nt,r=""),i){let d;try{d=o.add(u);}catch(c){if(console.log("currentChunk",r),console.log("currentResult",o?.result),console.warn("Error parsing JSON",c),s>3)throw c;s++;continue}r+=u,o.state==="END"&&(e.push({content:d,type:"json"}),i=false,o=null,r="");}else r+=u;}r.trim()&&e.push({content:r.trim(),type:"text"});}return e}function ja(t){return t&&typeof t=="object"&&!t[Nt]}function qa(t){return t&&typeof t=="object"&&t[Nt]===true}function ge({item:t,className:e}){if(!t.content)return null;let n=typeof t.content=="string"?t.content:JSON.stringify(t.content),a=t.parsedJson||rt(n),r=Array.isArray(a)?a.find(l=>l.type==="json"):a?.[0];if(!r)return jsxs("div",{className:`text-destructive text-sm ${e||""}`,children:[jsx("div",{className:"font-medium",children:"Error"}),jsx("div",{children:n})]});let{thinking:o,sql_query:i,error:s}=r?.content||{};return s?jsxs("div",{className:`text-destructive text-sm ${e||""}`,children:[jsx("div",{className:"font-medium",children:"Error"}),jsx("div",{children:s})]}):i?jsxs("div",{className:`text-foreground whitespace-pre-wrap leading-normal ${e||""}`,children:[o&&jsx("div",{className:"mb-2",children:jsx(G,{content:o,className:"text-sm max-w-none"})}),i&&jsx("div",{className:"mb-2",children:jsx(It,{language:"sql",value:i,defaultOpen:false})})]}):null}function Dt({children:t,defaultOpen:e=false,wrapperType:n="standard",compact:a=false,className:r}){let[o,i]=useState(e),[s,l]=useState(false),u=useRef(null);useEffect(()=>{let c=u.current;c&&(o||(c.scrollTop=c.scrollHeight),l(c.scrollHeight>c.clientHeight));},[o,t]);let p={standard:"bg-muted/30 border-border",info:"bg-info/10 border-info/30",warning:"bg-warning/10 border-warning/30"},d={standard:"text-muted-foreground hover:text-foreground",info:"text-info hover:text-info/80",warning:"text-warning hover:text-warning/80"};return jsx("div",{className:`relative text-sm ${a?"":"mb-2"} ${r||""}`,children:jsx(Tt.Root,{open:o,onOpenChange:i,className:`border rounded-sm ${p[n]}`,children:jsxs("div",{ref:u,className:`overflow-y-auto ${o?"":"max-h-[200px]"}`,children:[s&&jsx(Tt.Trigger,{className:`sticky top-0 text-center text-xs py-1 transition-opacity w-full cursor-pointer ${d[n]}`,children:o?"Less \u2193":"More \u2191"}),jsx("div",{className:`${a?"px-2 py-1":"p-2"} m-0 overflow-x-auto break-words whitespace-pre-wrap`,children:t})]})})})}function He(t){return new Date(t).toLocaleTimeString("en-US",{hour12:false,hour:"2-digit",minute:"2-digit",second:"2-digit"})}function he({children:t,timestamp:e}){return jsxs("div",{className:"flex",children:[e&&jsx("span",{className:"text-muted-foreground/60 mr-2 select-none",children:He(e)}),jsx("span",{className:"text-foreground/80",children:t})]})}function Bt({children:t,timestamp:e}){return jsxs("div",{className:"flex",children:[e&&jsx("span",{className:"text-info/60 mr-2 select-none",children:He(e)}),jsx("span",{className:"text-info/90",children:t})]})}function ke({children:t,timestamp:e}){return jsxs("div",{className:"flex",children:[e&&jsx("span",{className:"text-warning/60 mr-2 select-none",children:He(e)}),jsx("span",{className:"text-warning/90",children:t})]})}function ve({item:t,className:e}){if(!t.content)return null;let n=typeof t.content=="string"?t.content:JSON.stringify(t.content),a=t.parsedJson||rt(n),r=Array.isArray(a)?a.find(p=>p.type==="json"):a?.[0],{step_by_step:o,thinking:i,code:s,warnings:l,error:u}=r?.content||{};return u?jsx(Dt,{wrapperType:"info",className:e,children:jsx(Bt,{children:u})}):!o&&!s?null:jsxs("div",{className:`text-foreground whitespace-pre-wrap leading-normal ${e||""}`,children:[o&&jsx(G,{content:o,className:"text-sm max-w-none"}),i&&jsx("div",{className:"mb-2",children:jsx(G,{content:i,className:"text-sm max-w-none"})}),s&&jsx("div",{className:"mb-2",children:jsx(It,{language:"python",value:s,defaultOpen:false})}),l&&jsxs("div",{className:"text-sm text-warning",children:[jsx("div",{className:"font-medium",children:"Warnings"}),jsx(G,{content:l,className:"text-sm max-w-none"})]})]})}function Ce({item:t,className:e}){let n=t.parsedJson;if(!n?.length)return null;let a=n.map(s=>s.message?.trim()?{level:s.level,message:s.message,timestamp:s.timestamp,index:s.index}:null).filter(s=>s!==null);if(a.sort((s,l)=>s.index-l.index),a.length===0)return null;let r=a.some(s=>s.level==="error"),o=a.some(s=>s.level==="warning"),i=r?"info":o?"warning":"standard";return jsx("div",{className:`text-foreground leading-normal ${e||""}`,children:jsx(Dt,{wrapperType:i,compact:true,children:a.map((s,l)=>jsx(Ka,{output:s},`${s.level}-${l}`))})})}function Ka({output:t}){switch(t.level){case "output":return jsx(he,{timestamp:t.timestamp,children:t.message});case "error":return jsx(Bt,{timestamp:t.timestamp,children:t.message});case "warning":return jsx(ke,{timestamp:t.timestamp,children:t.message});default:return jsx("div",{className:"text-muted-foreground",children:t.message})}}var Xa={"websearch.search":{icon:Search,getLabel:(t,e)=>{let n=t?.query;return n?e?e==="success"?`Searched web for "${n}"`:`Failed to search web for "${n}"`:`Searching web for "${n}"...`:"Web search"}},"webparser.parse":{icon:Globe,getLabel:(t,e)=>{let n=t?.url;return n?e?e==="success"?`Read ${n}`:`Failed to read ${n}`:`Reading ${n}...`:"Parse site"}},"siteparser.parse":{icon:Globe,getLabel:(t,e)=>{let n=t?.url;return n?e?e==="success"?`Read ${n}`:`Failed to read ${n}`:`Reading ${n}...`:"Parse site"}},"resource_definitions.search":{icon:Search,getLabel:(t,e)=>{let n=t?.query;return n?e?e==="success"?`Searched resources for "${n}"`:`Failed to search resources for "${n}"`:`Searching resources for "${n}"...`:"Search resources"}},"memory.search":{icon:Search,getLabel:(t,e)=>{let n=t?.query;return n?e?e==="success"?`Searched memories for "${n}"`:`Failed to search memories for "${n}"`:`Searching memories for "${n}"...`:"Search memories"}}};function Jn(t){return t&&Xa[t]||null}function to(t){if(!t?.result||t.status==="error")return false;let e=t.result;if(typeof e=="string"){let n=e.trim();return n!==""&&n!=="{}"&&n!=="[]"}if(Array.isArray(e))return e.length>0;if(typeof e=="object"&&e!==null){let n=Object.keys(e);return n.length===0?false:n.some(a=>{let r=e[a];return r==null?false:typeof r=="string"?r.trim()!=="":Array.isArray(r)?r.length>0:typeof r=="object"?Object.keys(r).length>0:true})}return true}function eo({actionType:t}){let n=Jn(t)?.icon||Wrench;return jsx(n,{className:"h-4 w-4"})}function no({actionType:t,input:e,name:n,result:a}){if(a?.finished_message)return jsx("span",{children:a.finished_message});if(a?.running_message)return jsx("span",{children:a.running_message});let r=Jn(t);if(r)return jsx("span",{children:r.getLabel(e,a?.status)});let o=a?`Completed ${n}`:`Running ${n}...`;return jsx("span",{children:o})}function _e({toolGroup:t,ContentComponent:e,className:n}){let[a,r]=useState(false),o=X(),i=e??o?.ContentComponent,s=t.invocation,l=t.result,u=to(l),p=s?.action_type||l?.action_type,d=s?.input||l?.input,c=s?.name||l?.name,m=l?.status==="error"?"text-gray-500/80 dark:text-gray-400/80":"text-gray-500 dark:text-gray-400";return jsxs(Tt.Root,{open:a,onOpenChange:r,className:`relative w-full max-w-4xl space-y-2 leading-normal ${n||""}`,children:[jsxs(Tt.Trigger,{className:`flex items-center gap-2 text-sm transition-colors w-full ${m} ${u?"hover:text-gray-900 dark:hover:text-gray-100 cursor-pointer":"cursor-default"}`,disabled:!u,children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx(eo,{actionType:p}),jsx(no,{actionType:p,input:d,name:c,result:l})]}),u&&jsx(ChevronDown,{className:`h-4 w-4 transition-transform duration-200 ${a?"rotate-180":""}`})]}),u&&l&&jsx(Tt.Content,{children:jsx("div",{className:"pl-6 mt-2",children:i?jsx(i,{content:{content:l.result,content_type:"text",ui_content_type:"text"}}):jsx("pre",{className:"text-sm bg-gray-100 dark:bg-gray-800 p-2 rounded overflow-x-auto",children:JSON.stringify(l.result,null,2)})})})]})}var mt={Success:"success",Error:"error",RequiresInfo:"requires info"};function io(t){return t?t===mt.Success?"finished":t===mt.Error||t===mt.RequiresInfo?"failed":"loading":"loading"}function qn(t){return t?t!==mt.Success&&t!==mt.Error&&t!==mt.RequiresInfo:true}function lo(t,e){let n=e||"agent",a=t?.message,r=typeof a=="object"&&a?.Valid?a.String:typeof a=="string"?a:null;return r||(t?.status===mt.Success?`Finished ${n}`:`Running ${n}...`)}function Se({content:t,botInvocation:e,isLoading:n=false,defaultOpen:a,adminLinkHref:r,adminLinkText:o="Open in Agent Designer",showAdminLink:i=false,onAdminClick:s,onExpand:l,EventsComponent:u,ContentComponent:p,className:d}){let c=()=>a!==void 0?a:e?.currentStatus?qn(e.currentStatus.status):false,[m,f]=useState(c),[y,x]=useState(false),b=useRef(null);if(useEffect(()=>{if(e?.currentStatus){let T=e.currentStatus.status;if(b.current!==T&&(b.current=T,!y)){let D=qn(T);D&&!m?f(true):!D&&m&&f(false);}}},[e,y,m]),useEffect(()=>{m&&e&&l&&l(t.invocation_id,t.bot_id,t.bot_name);},[m,e,l,t]),n&&!e)return jsxs("div",{className:`flex items-center gap-2 text-sm text-muted-foreground ${d||""}`,children:[jsx(Loader2,{className:"h-4 w-4 animate-spin"}),jsxs("span",{children:["Loading ",t.bot_name,"..."]})]});if(!e)return null;let I=io(e.currentStatus?.status),k=lo(e.currentStatus,t.bot_name),V=T=>{f(T),x(true);},P=T=>{s&&(T.preventDefault(),s(t.invocation_id,t.bot_id));},_=e.eventsByID&&Object.keys(e.eventsByID).length>0;return jsxs(Tt.Root,{open:m,onOpenChange:V,className:`relative w-full max-w-4xl space-y-2 leading-normal bot-invocation-content ${d||""}`,children:[jsxs("div",{className:"flex items-center justify-between",children:[jsxs(Tt.Trigger,{className:"flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:[jsxs("div",{className:"text-sm font-medium flex items-center gap-2",children:[jsx(_t,{status:I}),k]}),jsx(ChevronDown,{className:`h-4 w-4 transition-transform duration-200 ${m?"transform rotate-180":""}`})]}),i&&(r||s)&&jsxs("a",{href:r||"#",onClick:s?P: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:[o,jsx(ArrowUpRight,{className:"h-3.5 w-3.5"})]})]}),jsx(Tt.Content,{children:jsx("div",{className:"space-y-2 max-w-3xl",children:_&&u?jsx(u,{eventsByID:e.eventsByID,defaultOpen:m}):_?jsx("pre",{className:"text-sm bg-gray-100 dark:bg-gray-800 p-2 rounded overflow-x-auto",children:JSON.stringify(e.eventsByID,null,2)}):jsx("span",{className:"text-sm text-muted-foreground",children:"No events to display"})})})]})}function Ye({content:t,className:e,components:n}){let a=typeof t.ui_content_type=="object"&&t.ui_content_type?.Valid?t.ui_content_type.String:typeof t.ui_content_type=="string"?t.ui_content_type:t.content_type,r=n?.[a];if(r)return jsx(r,{content:t,className:e});let o=i=>jsx(Ye,{...i,components:n});switch(a){case "text":return jsx(Jt,{content:Ze(t),className:e});case "markdown":return jsx(G,{content:Ze(t),className:e});case "thinking":case "redacted_thinking":return jsx(pe,{item:t,className:e});case "json":return jsx(St,{content:t.content,className:e});case "codegen_json":return jsx(ve,{item:t,className:e});case "sql_generation":return jsx(ge,{item:t,className:e});case "codeexec_output":return jsx(Ce,{item:t,className:e});case "log":return jsx(ue,{item:t,className:e});case "websearch":case "websearch_output":return jsx(de,{item:t,className:e});case "webparse":case "webparse_output":return jsx(me,{item:t,className:e});case "tool_group":return jsx(_e,{toolGroup:t.content,ContentComponent:o,className:e});case "bot_invocation":{let i=t.content,s=t.botInvocation;return jsx(Se,{content:i,botInvocation:s,ContentComponent:o,className:e})}case "chart":case "ui_generation":{if(t.chartConfig&&t.chartData)return jsx(Wt,{config:t.chartConfig,data:t.chartData,className:e});try{let i=typeof t.content=="string"?JSON.parse(t.content):t.content;if(i?.children)return jsx(Fragment,{children:co(i.children,e,o)})}catch{}return jsx(St,{content:t.content,className:e})}case "table":return t.tableColumns&&t.tableData?jsx(jt,{columns:t.tableColumns,data:t.tableData,className:e}):jsx(St,{content:t.content,className:e});case "bot_invocation_result":case "tool_invocation":case "tool_result":case "security_check_json":return null;default:return jsx(Jt,{content:Ze(t),className:e})}}function Ze(t){return typeof t.content=="string"?t.content:JSON.stringify(t.content)}function co(t,e,n){return !t||!Array.isArray(t)?null:t.map((a,r)=>{let o=a;if(!o?._type)return null;switch(o._type){case "Chart":{let i=o.content;return i?jsx("div",{className:"my-4",children:jsx(Wt,{config:{chart_type:i.chart_type,chart_title:i.chart_title,x_axis:i.x_axis,y_axes:i.y_axes,series:i.series,data_reduction:i.data_reduction,stacked:i.stacked,sort:i.sort},data:[],className:e})},`chart-${r}`):null}case "Table":{let i=o.content;return i?jsx("div",{className:"my-4",children:jsx(jt,{title:i.table_title,columns:i.columns,data:[],className:e})},`table-${r}`):null}case "TextMarkdown":{let i=o.content;return jsx("div",{className:"my-2",children:jsx(G,{content:i?.text||"",className:e})},`text-${r}`)}case "Suggestions":{let s=o.content?.suggestions||[];return s.length?jsx("div",{className:"flex flex-col gap-2 my-4",children:s.map((l,u)=>jsx("button",{className:"text-left px-3 py-2 bg-gray-100 dark:bg-gray-800 rounded hover:bg-gray-200 dark:hover:bg-gray-700 text-sm",children:l},u))},`suggestions-${r}`):null}default:return null}})}function zn(t){let e={success:true,messages:[],events:t,steps:[]},n=new Set;for(let a of t){let r=a.type,o=a.payload,i=a.metadata;switch(r){case "bot started":case "bot resumed":o&&typeof o=="object"&&(e.invocationId=o.invocation_id,e.botKey=o.bot_id);break;case "step started":if(o&&typeof o=="object"){let s=o.key;s&&!n.has(s)&&(n.add(s),e.steps.push({key:s,action:o.action_type||"",status:"running"}));}break;case "step finished":if(o&&typeof o=="object"){let s=e.steps.find(l=>l.status==="running");s&&(s.status="completed");}break;case "result":o&&typeof o=="object"&&i?.user_visibility==="visible"&&o.status==="success"&&o.output&&(e.result=o);break;case "error":e.success=false,o&&typeof o=="object"?e.error=o.message||o.error||"Unknown error":typeof o=="string"&&(e.error=o);break;}}return e}function Kn(t={}){let e=st(),[n,a]=useState(null),[r,o]=useState(false),[i,s]=useState(null),l=useRef(null),u=useCallback(()=>{l.current&&(l.current.abort(),l.current=null);},[]),p=useCallback(async(d,c)=>{if(!e.client)throw new Error("ErdoClient not configured in provider. Pass a client to ErdoProvider config to use useInvocation.");u(),l.current=new AbortController,o(true),s(null),a(null);try{let m=[];for await(let y of e.client.invokeStream(d,c)){if(l.current?.signal.aborted)break;m.push(y),t.onEvent?.(y);let x=zn(m);a(x);}let f=zn(m);return a(f),t.onFinish?.(f),f}catch(m){let f=m instanceof Error?m:new Error(String(m));throw s(f),t.onError?.(f),f}finally{o(false),l.current=null;}},[e.client,t,u]);return {result:n,isStreaming:r,error:i,invoke:p,cancel:u}}function A(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 mo(t){return t.contents.length===0?null:t.contents[t.contents.length-1]||null}function fo(t){return t.contents.length===0?null:t.contents[0]||null}function nn(t,e){let n=A(t);switch(n){case "message":return t;case "step":let a=t;if(e){let i=a.eventsByID[e]?.Message;return i||er({},"",e)}let o=Object.keys(a.eventsByID).reverse();for(let i of o){let s=a.eventsByID[i];if(s&&s.Message)return s.Message}throw new Error("Unable to find message for step");default:throw new Error(`Unable to have messages on entity type ${n}`)}}function yo(t,e){switch(A(t)){case "message_content":return t;case "output_content":return t;case "message":return Rt(t,e);case "output":return At(t,e);case "step":let a=we(t,e);return a?At(a,e):null;default:return null}}function Rt(t,e){let n=A(t);switch(n){case "message_content":return t;case "message":let a=nn(t);if(!a)throw new Error("Unable to find message to add content to");return e?a.contentsByID[e]:mo(a);default:throw new Error(`Unable to have message content on entity type ${n}`)}}function At(t,e){let n=A(t);switch(n){case "output_content":return t;case "output":let a=t;return e?a.contentsByID[e]||null:a.contents.length<=0?null:a.contents[a.contents.length-1]||null;case "step":let o=we(t,e);return o?At(o):null;case "invocation":if(!e)return null;let i=t.eventsByID[e];return !i||!i.Output?null:At(i.Output);default:throw new Error(`Unable to have output content on entity type ${n}`)}}function rn(t,e){let n=A(t),a=null;switch(n){case "invocation":return t;case "message_content":if(a=t.botInvocation||null,!a)throw new Error("Unable to find bot invocation for message content");if(e&&a.bot_invocation.id!==e)throw new Error("Unable to find bot invocation for message content - mismatched ID");return a;case "message":if(a=fo(t)?.botInvocation||null,!a)throw new Error("Unable to find bot invocation for message");if(e&&a.bot_invocation.id!==e)throw new Error("Unable to find bot invocation for message - mismatched ID");return a;case "output_content":return t.botInvocation||null;default:throw new Error(`Unable to have bot invocation on entity type ${n}`)}}function we(t,e){let n=A(t);switch(n){case "output":return t;case "step":let a=t;if(e){let s=a.eventsByID[e]?.Output;if(!s)throw new Error("Unable to find output with id "+e);return s}let o=Object.keys(a.eventsByID).reverse();for(let s of o){let l=a.eventsByID[s];if(l&&l.Output)return l.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 Xn(t,e){let n=A(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 a=t.eventsByID[e];if(!a||!a.type||a.type!=="result_handler"||!a.ResultHandler)throw new Error(`Unable to find result handler with id ${e} on step ${t.id}`);return a.ResultHandler;default:throw new Error(`Unable to have result handlers on entity type ${n}`)}}function tr(t,e){let n=A(t),a=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");a=t;let r=a.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 i=t.eventsByID[e];if(!i)throw new Error("Unable to find step on result handler with id "+e);if(!i.Step)throw new Error("Unable to find step on result handler with id "+e);return i.Step;default:throw new Error(`Unable to have steps on entity type ${n}`)}}var tn=class extends Error{};function go(t,e,n){let a=null,r=e[0],o=e[1];n[r]=o;try{switch(r){case "message":a=nn(t,o);break;case "content":a=Rt(t,o);break;case "step":a=tr(t,o);break;case "output":a=we(t,o);break;case "output_content":a=At(t,o);break;case "invocation":a=rn(t,o);break;case "result_handler":a=Xn(t,o);break}}catch(i){throw console.error("error finding next entity"),console.log("path",e),console.log("currentEntity",t),i}if(!a)throw console.log("path",e),console.log("currentEntity",t),console.log("nextEntity",a),new tn(`Unable to find next entity for path ${e.join("/")}`);return a}function er(t,e,n,a){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.svg"},state:"in_progress",contents:[],contentsByID:{},contentIDToIdx:{}}}function xo(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 ho(t,e){let n=t.metadata?.ui_content_type,a=typeof t.payload=="string"?t.payload:t.payload.content||t.payload,r=null;return Ut(t.metadata.content_type,n)&&(r=rt(a)),{_type:"message_content",id:t.metadata.message_content_id,message_id:e.message,content:a,content_type:t.metadata.content_type,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:n?{String:n,Valid:true}:{String:"",Valid:false},parsedJson:r}}function ko(t,e,n){let a=t.payload;return {_type:"step",id:e,invocation_id:n.invocation||"",step_id:a.step_id||"",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),current_status_id:"",path:{String:"",Valid:false},action_type:{String:a.action_type,Valid:true},key:{String:a.key,Valid:true},bot_id:a.bot_id,result_handler_id:"",step_order:{Int32:a.step_order,Valid:true},output_content_type:{String:a.content_type,Valid:true},execution_mode:{String:a.execution_mode,Valid:true},output_behaviour:{String:a.output_behaviour,Valid:true},user_output_visibility:{String:t.metadata.visibility||"visible",Valid:true},output_channels:a.output_channels||[],running_message:{String:"",Valid:false},finished_message:{String:"",Valid:false},depends_on:[],eventsByID:{},currentStatus:null}}function bo(t,e,n){let a=t.payload;return {_type:"result_handler",id:e,invocation_id:t.metadata.invocation_id||"",result_handler_id:a.result_handler_id||e,step_invocation_id:a.step_invocation_id||"",type:a.type||"",if_conditions:a.if_conditions||{},created_at:new Date().toISOString(),updated_at:new Date().toISOString(),output_content_type:a.output_content_type||"",result_handler_order:a.result_handler_order||0,eventsByID:{}}}function vo(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 Zn(t,e,n,a=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:a??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 Yn(t,e,n,a=null){let r=null,o=t.metadata?.ui_content_type;return Ut(t.metadata.content_type,o)&&(r=rt(t.payload)),{_type:"output_content",id:e,output_id:n.output,content:t.payload,content_type:t.metadata.content_type,state:"completed",invocation_id:t.metadata.invocation_id,parsedJson:r,user_visibility:a||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},output:null}}function Co(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 Xe(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 nr(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 an(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 on(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 _o(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 So(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}}function sn(t,e){if(t.content||(t.content=""),t.user_visibility!=="visible"||!Ut(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="");for(let n of e){if(t.content+=n,!t._isInJson&&n==="{"){t._charBuffer="{";continue}if(t._charBuffer&&ye(n)){t._charBuffer+=n;continue}if(!t._isInJson&&t._charBuffer?.match(/^\s*{\s*$/)&&n==='"'){t._isInJson=true,t._jsonParser=new nt;let r={content:t._jsonParser.add("{"),type:"json"};t._currentContent?.content?t._currentContent.content.match(/^\s*{$/)?(t._currentContent=r,t.parsedJson[t.parsedJson.length-1]=r):(t._currentContent.content=t._currentContent.content.replace(/{$/,""),t._currentContent=r,t.parsedJson=[...t.parsedJson,r]):(t._currentContent=r,t.parsedJson=[...t.parsedJson,r]);}if(t._isInJson)try{let a=t._jsonParser.add(n);t._currentContent.content=a,t._jsonParser.state==="END"&&(t._isInJson=!1,t._currentContent=void 0);}catch(a){console.log("content",e),console.log("currentContent",t.content),console.error("Error incrementally parsing JSON",a);}else t._currentContent||(t._currentContent={content:t._charBuffer||"",type:"text"},t.parsedJson=[...t.parsedJson,t._currentContent]),t._currentContent.content+=t._charBuffer+n;t._charBuffer="";}return {...t}}function wo(t,e){return sn(t,e)}function Qn(t,e){return sn(t,e)}function en(t,e){let n=A(t);switch(n){case "message":return ot(t,e);case "message_content":return ln(t,e);case "step":return Io(t,e);case "output":return No(t,e);case "output_content":return Do(t,e);case "invocation":return Ee(t,e);case "result_handler":return Bo(t,e);default:throw new Error(`Unable to add update entity for entity type ${n}`)}}function Eo(t,e){for(let n of e)t=en(t,n);return t}function ot(t,e){let n=nn(t);if(!n)throw new Error("Unable to find message to add content to");let a=A(e),r=null;switch(a){case "message_content":return r=e,n.contentsByID[r.id]?n.contents[n.contentIDToIdx[r.id]]=r:(n.contentIDToIdx={...n.contentIDToIdx,[r.id]:n.contents.length},n.contents=[...n.contents,r]),n.contentsByID={...n.contentsByID,[r.id]:r},{...n};case "invocation":let o=e;if(n.contents.length===0)throw new Error("Unable to find message content to add invocation to");return r=ln(n.contents[0],o),ot(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 i=rn(r);if(!i)throw new Error("Unable to find bot invocation to add content to");return r.botInvocation=Ee(i,e),ot(n,r);default:throw new Error(`Unable to add update message child for child type ${a}`)}}function ln(t,e){let n=Rt(t);if(!n)throw new Error("Unable to find message content to add content to");let a=A(e);switch(a){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=Ee(r,e),{...n};default:throw new Error(`Unable to add update message content child for child type ${a}`)}}function Io(t,e){let n=tr(t);if(!n)throw new Error("Unable to find bot invocation to add step to");let a=A(e),r=null;switch(a){case "output":let o=e;return r=an(o),n.eventsByID={...n.eventsByID,[o.output.id]:r},{...n};case "message":let i=e;return r=_o(i),n.eventsByID={...n.eventsByID,[i.message.id]:r},{...n};case "status":let s=e;return r=on(s),n.eventsByID={...n.eventsByID,[s.id]:r},{...n};case "result_handler":let l=e;return r=So(l),n.eventsByID={...n.eventsByID,[l.id]:r},{...n};default:throw new Error(`Unable to add update step for entity type ${a}`)}}function No(t,e){let n=we(t);if(!n)throw new Error("Unable to find step output to add content to");let a=A(e);switch(a){case "output_content":let r=e;return n.contentsByID[r.id]?n.contents[n.contentIDToIdx[r.id]]=r:(n.contentIDToIdx={...n.contentIDToIdx,[r.id]:n.contents.length},n.contents=[...n.contents,r]),n.contentsByID={...n.contentsByID,[r.id]:r},{...n};default:throw new Error(`Unable to add update output for entity type ${a}`)}}function Do(t,e){let n=At(t);if(!n)throw new Error("Unable to find step output content to add content to");let a=A(e);switch(a){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=Ee(r,e),{...n};default:throw new Error(`Unable to add update step output content for entity type ${a}`)}}function Ee(t,e){let n=rn(t);if(!n)throw new Error("Unable to find bot invocation to add content to");let a=A(e),r;switch(a){case "step":let o=e;return r=nr(o),n.eventsByID={...n.eventsByID,[o.id]:r},{...n};case "output":let i=e;return r=an(i),n.eventsByID={...n.eventsByID,[i.output.id]:r},{...n};case "status":let s=e;return r=on(s),n.eventsByID={...n.eventsByID,[s.id]:r},{...n};default:throw new Error(`Unable to add update invocation for entity type ${a}`)}}function Bo(t,e){let n=Xn(t);if(!n)throw new Error("Unable to find result handler to add content to");let a=A(e),r=null;switch(a){case "step":let o=e;return r=nr(o),n.eventsByID||(n.eventsByID={}),n.eventsByID={...n.eventsByID,[o.id]:r},{...n};case "output":let i=e;return r=an(i),n.eventsByID||(n.eventsByID={}),n.eventsByID={...n.eventsByID,[i.output.id]:r},{...n};case "status":let s=e;return r=on(s),n.eventsByID||(n.eventsByID={}),n.eventsByID={...n.eventsByID,[s.id]:r},{...n};default:throw new Error(`Unable to add update to result handler for entity type ${a}`)}}function To(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 rr(t,e,n,a,r,o=null,i=[],s={}){if(!o&&Object.keys(r).length>0){let d,c;if(n.length>=2&&n[0]==="message"?(c=n[1],d=r[c],d||(d=Object.values(r)[0],c=Object.keys(r)[0])):(d=Object.values(r)[Object.values(r).length-1],c=Object.keys(r)[Object.keys(r).length-1]),s.message=c,n.length<=2&&t==="message finished")return null;if(n[0]!=="content"&&Object.keys(d.contentsByID).length>0&&e.metadata.message_content_id){let m=e.metadata.message_content_id,f=d.contentsByID[m];f&&(o=f);}o?i=[d]:o=d;}if(n.length<=2&&To(t)){let d=n[1],c=[],m,f,y,x,b;switch(t){case "bot started":case "bot resumed":if(!o)throw new Error("Unable to find message to add content to");let I=Co(e);if(o._type==="message_content"){if(f=o,!f.id)throw new Error("Unable to find message content id");if(y=r[f.message_id],!y)throw new Error("Unable to find message to add content to");if(x=Rt(y,f.id),!x)throw new Error("Unable to find message content to add content to");let _=ln(x,I);r[f.message_id]={...ot(y,_)};}c.push(I);break;case "message created":return r[d]=er(e,a,d),null;case "create message content":if(!o)throw new Error("Unable to find message to add content to");if(b=xo(e,s),o._type==="output"){m=o,c.push(Zn(e,d,s,"hidden"));let _=e.payload.message_id;if(_||(_=i[0].message.id),y=r[_],!y)throw new Error("Unable to find message to add content to")}else if(o._type==="message_content"){if(m=o,y=r[m.message_id],!y)throw new Error("Unable to find message to add content to")}else {if(o._type!=="message")throw new Error(`Incorrect path? Cannot add content to non-message entity: ${o._type}`);if(m=o,y=r[m.message.id],!y)throw new Error("Unable to find message to add content to");c.push(b);}r[y.message.id]={...ot(y,b)};break;case "message content result":if(!o)throw new Error("Unable to find message to add content to");let k=null;if(o._type==="output"){c.push(Yn(e,d,s,"hidden"));let _=e.payload.message_id||s.message;if(_?k=i.find(T=>T.message.id===_):k=i[0],y=r[_],!y)throw new Error("Unable to find message to add content to")}else if(o._type==="message_content"){if(k=i[0],y=r[k.message.id],!y)throw new Error("Unable to find message to add content to")}else {if(o._type!=="message")throw new Error(`Incorrect path? Cannot add content to non-message entity: ${o._type}`);if(k=o,y=r[k.message.id],!y)throw new Error("Unable to find message to add content to")}let V=e.metadata.message_content_id;if(!V)throw new Error("Unable to find message content id");let P=Rt(k,V);if(P){P.state="completed";let _=typeof e.payload=="string"?e.payload:e.payload.content||e.payload;P.content=_,r[y.message.id]={...ot(y,P)},(o._type==="message"||o._type==="message_content")&&c.push(P);}else P=ho(e,s),r[y.message.id]={...ot(y,P)},(o._type==="message"||o._type==="message_content")&&c.push(P);break;case "step started":c.push(ko(e,d,s));break;case "result handler started":c.push(bo(e,d));break;case "step output created":c.push(vo(e,d,o));break;case "create step output content":c.push(Zn(e,d,s));break;case "step output content result":c.push(Yn(e,d,s));break;case "log":return null;default:throw new Error(`Unable to handle create event type ${t}`)}return c.length?!o||o._type==="message_content"&&c.length===1&&c[0]._type==="message_content"?c[0]:Eo(o,c):null}if(!o)throw new Error("No first message has been created, so cannot handle amend events");if(n.length<=1){let d=null;try{d=yo(o);}catch{}switch(t){case "message content delta":if(!d)throw new Error("Unable to find message content");let c=null,m=null,f=null;if(o._type==="output_content"){c=Qn(o,e.payload);let I=e.metadata.message_content_id;if(!I)throw new Error("Unable to find message content id from entity ids");let k=s.message;if(f=i.find(V=>V.message.id===k),!f)throw new Error("Unable to find message to add content to");m=Rt(f,I);}else {if(m=d,f=i[i.length-1],!f)throw new Error("Unable to find message to add content to");if(f._type!=="message")throw new Error("Unable to find message to add content to - not a message")}if(!m)throw new Error("Unable to find message content");let y=r[f.message.id];if(!y)throw new Error("Unable to find message to add content to");let x=wo(m,e.payload);return r[y.message.id]={...ot(y,x)},o._type==="message_content"&&(c=x),c;case "step output content delta":return Qn(d,e.payload);case "status":return o._type==="step"&&(o.currentStatus=Xe(e)),o._type==="invocation"&&(o.currentStatus=Xe(e)),en(o,Xe(e));case "result":return null;case "message finished":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 l=n.slice(2),u=go(o,n,s),p=rr(t,e,l,a,r,u,[...i,o],s);return p?en(o,{...p}):o}export{ct as BarChart,Se as BotInvocationContent,j as Chart,Mt as ChartContainer,Wt as ChartContent,Ae as ChartLegend,Ve as ChartLegendContent,mn as ChartStyle,Pe as ChartTooltip,Re as ChartTooltipContent,Ce as CodeexecContent,ve as CodegenContent,It as CollapsibleCodeBlock,Ye as Content,_n as DatasetChart,wn as DatasetTable,pn as ErdoProvider,it as ErrorBoundary,Fe as ExecutionStatus,Dt as ExpandableOutputContent,bt as HeatmapChart,ie as InvocationEvent,se as InvocationEvents,Bn as InvocationStatus,nt as JSONStreamParser,St as JsonContent,xt as LineChart,We as Log,ue as LogContent,G as MarkdownContent,ne as Output,ht as PieChart,kt as ScatterChart,ge as SqlContent,_t as StatusSpinner,Bt as StderrText,he as StdoutText,ke as StdwarnText,oe as StepInvocation,ae as StepInvocationStatus,jt as TableContent,Jt as TextContent,pe as ThinkingContent,_e as ToolGroupContent,me as WebParseContent,de as WebSearchContent,L as cn,lt as formatValue,sn as handleIncrementalMixedJsonParsing,rr as handleSSEEvent,Ut as isJsonLike,ja as isParsingComplete,qa as isParsingInProgress,ye as isWhitespaceChar,Ja as parseCompleteJson,rt as parseMixedJson,fn as parseToDate,vt as resolveKeyFromData,bn as toSnakeCase,Zt as useChartZoom,Qt as useDatasetContents,st as useErdoConfig,X as useErdoConfigOptional,Kn as useInvocation,Xt as useMultipleDatasetContents};
26
+ `||t===" "||t==="\r"}function Wa(t,e){if(e>=t.length-1)return "";for(let n=e+1;n<t.length;n++)if(!ye(t[n]))return t[n];return ""}function rt(t){if(typeof t!="string")return t;let e=[],n=/```json\s*\n([\s\S]*?)(?:(?:\n)?```|$)/g,a=n.test(t);if(n.lastIndex=0,a){let r=0,o;for(;(o=n.exec(t))!==null;){let s=t.substring(r,o.index).trim();s&&e.push({content:s,type:"text"});let l=o[1];try{let u=JSON.parse(l);e.push({content:u,type:"json"});}catch{try{let d=new nt().parse(l);d?e.push({content:d,type:"json"}):e.push({content:o[0],type:"text"});}catch{e.push({content:o[0],type:"text"});}}r=o.index+o[0].length;}let i=t.substring(r).trim();i&&e.push({content:i,type:"text"});}else {let r="",o=null,i=false,s=0;for(let l=0;l<t.length;l++){let u=t[l],p=Wa(t,l);if(!i&&(u==="{"&&p==='"'||u==="["&&p==="{")&&(r.trim()&&e.push({content:r.trim(),type:"text"}),i=true,o=new nt,r=""),i){let d;try{d=o.add(u);}catch(c){if(console.log("currentChunk",r),console.log("currentResult",o?.result),console.warn("Error parsing JSON",c),s>3){i=false,o=null,s=0,r+=u;continue}s++;continue}r+=u,o.state==="END"&&(e.push({content:d,type:"json"}),i=false,o=null,r="");}else r+=u;}r.trim()&&e.push({content:r.trim(),type:"text"});}return e}function ja(t){return t&&typeof t=="object"&&!t[Nt]}function qa(t){return t&&typeof t=="object"&&t[Nt]===true}function ge({item:t,className:e}){if(!t.content)return null;let n=typeof t.content=="string"?t.content:JSON.stringify(t.content),a=t.parsedJson;if(!a)try{a=rt(n);}catch(l){console.error("Failed to parse SQL content:",l),a=[{content:n||"",type:"text"}];}let r=Array.isArray(a)?a.find(l=>l.type==="json"):a?.[0];if(!r)return jsxs("div",{className:`text-destructive text-sm ${e||""}`,children:[jsx("div",{className:"font-medium",children:"Error"}),jsx("div",{children:n})]});let{thinking:o,sql_query:i,error:s}=r?.content||{};return s?jsxs("div",{className:`text-destructive text-sm ${e||""}`,children:[jsx("div",{className:"font-medium",children:"Error"}),jsx("div",{children:s})]}):i?jsxs("div",{className:`text-foreground whitespace-pre-wrap leading-normal ${e||""}`,children:[o&&jsx("div",{className:"mb-2",children:jsx(G,{content:o,className:"text-sm max-w-none"})}),i&&jsx("div",{className:"mb-2",children:jsx(It,{language:"sql",value:i,defaultOpen:false})})]}):null}function Dt({children:t,defaultOpen:e=false,wrapperType:n="standard",compact:a=false,className:r}){let[o,i]=useState(e),[s,l]=useState(false),u=useRef(null);useEffect(()=>{let c=u.current;c&&(o||(c.scrollTop=c.scrollHeight),l(c.scrollHeight>c.clientHeight));},[o,t]);let p={standard:"bg-muted/30 border-border",info:"bg-info/10 border-info/30",warning:"bg-warning/10 border-warning/30"},d={standard:"text-muted-foreground hover:text-foreground",info:"text-info hover:text-info/80",warning:"text-warning hover:text-warning/80"};return jsx("div",{className:`relative text-sm ${a?"":"mb-2"} ${r||""}`,children:jsx(Tt.Root,{open:o,onOpenChange:i,className:`border rounded-sm ${p[n]}`,children:jsxs("div",{ref:u,className:`overflow-y-auto ${o?"":"max-h-[200px]"}`,children:[s&&jsx(Tt.Trigger,{className:`sticky top-0 text-center text-xs py-1 transition-opacity w-full cursor-pointer ${d[n]}`,children:o?"Less \u2193":"More \u2191"}),jsx("div",{className:`${a?"px-2 py-1":"p-2"} m-0 overflow-x-auto break-words whitespace-pre-wrap`,children:t})]})})})}function He(t){return new Date(t).toLocaleTimeString("en-US",{hour12:false,hour:"2-digit",minute:"2-digit",second:"2-digit"})}function he({children:t,timestamp:e}){return jsxs("div",{className:"flex",children:[e&&jsx("span",{className:"text-muted-foreground/60 mr-2 select-none",children:He(e)}),jsx("span",{className:"text-foreground/80",children:t})]})}function Bt({children:t,timestamp:e}){return jsxs("div",{className:"flex",children:[e&&jsx("span",{className:"text-info/60 mr-2 select-none",children:He(e)}),jsx("span",{className:"text-info/90",children:t})]})}function ke({children:t,timestamp:e}){return jsxs("div",{className:"flex",children:[e&&jsx("span",{className:"text-warning/60 mr-2 select-none",children:He(e)}),jsx("span",{className:"text-warning/90",children:t})]})}function ve({item:t,className:e}){if(!t.content)return null;let n=typeof t.content=="string"?t.content:JSON.stringify(t.content),a=t.parsedJson;if(!a)try{a=rt(n);}catch(p){console.error("Failed to parse codegen content:",p),a=[{content:n||"",type:"text"}];}let r=Array.isArray(a)?a.find(p=>p.type==="json"):a?.[0],{step_by_step:o,thinking:i,code:s,warnings:l,error:u}=r?.content||{};return u?jsx(Dt,{wrapperType:"info",className:e,children:jsx(Bt,{children:u})}):!o&&!s?null:jsxs("div",{className:`text-foreground whitespace-pre-wrap leading-normal ${e||""}`,children:[o&&jsx(G,{content:o,className:"text-sm max-w-none"}),i&&jsx("div",{className:"mb-2",children:jsx(G,{content:i,className:"text-sm max-w-none"})}),s&&jsx("div",{className:"mb-2",children:jsx(It,{language:"python",value:s,defaultOpen:false})}),l&&jsxs("div",{className:"text-sm text-warning",children:[jsx("div",{className:"font-medium",children:"Warnings"}),jsx(G,{content:l,className:"text-sm max-w-none"})]})]})}function Ce({item:t,className:e}){let n=t.parsedJson;if(!n?.length)return null;let a=n.map(s=>s.message?.trim()?{level:s.level,message:s.message,timestamp:s.timestamp,index:s.index}:null).filter(s=>s!==null);if(a.sort((s,l)=>s.index-l.index),a.length===0)return null;let r=a.some(s=>s.level==="error"),o=a.some(s=>s.level==="warning"),i=r?"info":o?"warning":"standard";return jsx("div",{className:`text-foreground leading-normal ${e||""}`,children:jsx(Dt,{wrapperType:i,compact:true,children:a.map((s,l)=>jsx(Ka,{output:s},`${s.level}-${l}`))})})}function Ka({output:t}){switch(t.level){case "output":return jsx(he,{timestamp:t.timestamp,children:t.message});case "error":return jsx(Bt,{timestamp:t.timestamp,children:t.message});case "warning":return jsx(ke,{timestamp:t.timestamp,children:t.message});default:return jsx("div",{className:"text-muted-foreground",children:t.message})}}var Xa={"websearch.search":{icon:Search,getLabel:(t,e)=>{let n=t?.query;return n?e?e==="success"?`Searched web for "${n}"`:`Failed to search web for "${n}"`:`Searching web for "${n}"...`:"Web search"}},"webparser.parse":{icon:Globe,getLabel:(t,e)=>{let n=t?.url;return n?e?e==="success"?`Read ${n}`:`Failed to read ${n}`:`Reading ${n}...`:"Parse site"}},"siteparser.parse":{icon:Globe,getLabel:(t,e)=>{let n=t?.url;return n?e?e==="success"?`Read ${n}`:`Failed to read ${n}`:`Reading ${n}...`:"Parse site"}},"resource_definitions.search":{icon:Search,getLabel:(t,e)=>{let n=t?.query;return n?e?e==="success"?`Searched resources for "${n}"`:`Failed to search resources for "${n}"`:`Searching resources for "${n}"...`:"Search resources"}},"memory.search":{icon:Search,getLabel:(t,e)=>{let n=t?.query;return n?e?e==="success"?`Searched memories for "${n}"`:`Failed to search memories for "${n}"`:`Searching memories for "${n}"...`:"Search memories"}}};function Jn(t){return t&&Xa[t]||null}function to(t){if(!t?.result||t.status==="error")return false;let e=t.result;if(typeof e=="string"){let n=e.trim();return n!==""&&n!=="{}"&&n!=="[]"}if(Array.isArray(e))return e.length>0;if(typeof e=="object"&&e!==null){let n=Object.keys(e);return n.length===0?false:n.some(a=>{let r=e[a];return r==null?false:typeof r=="string"?r.trim()!=="":Array.isArray(r)?r.length>0:typeof r=="object"?Object.keys(r).length>0:true})}return true}function eo({actionType:t}){let n=Jn(t)?.icon||Wrench;return jsx(n,{className:"h-4 w-4"})}function no({actionType:t,input:e,name:n,result:a}){if(a?.finished_message)return jsx("span",{children:a.finished_message});if(a?.running_message)return jsx("span",{children:a.running_message});let r=Jn(t);if(r)return jsx("span",{children:r.getLabel(e,a?.status)});let o=a?`Completed ${n}`:`Running ${n}...`;return jsx("span",{children:o})}function _e({toolGroup:t,ContentComponent:e,className:n}){let[a,r]=useState(false),o=X(),i=e??o?.ContentComponent,s=t.invocation,l=t.result,u=to(l),p=s?.action_type||l?.action_type,d=s?.input||l?.input,c=s?.name||l?.name,m=l?.status==="error"?"text-gray-500/80 dark:text-gray-400/80":"text-gray-500 dark:text-gray-400";return jsxs(Tt.Root,{open:a,onOpenChange:r,className:`relative w-full max-w-4xl space-y-2 leading-normal ${n||""}`,children:[jsxs(Tt.Trigger,{className:`flex items-center gap-2 text-sm transition-colors w-full ${m} ${u?"hover:text-gray-900 dark:hover:text-gray-100 cursor-pointer":"cursor-default"}`,disabled:!u,children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx(eo,{actionType:p}),jsx(no,{actionType:p,input:d,name:c,result:l})]}),u&&jsx(ChevronDown,{className:`h-4 w-4 transition-transform duration-200 ${a?"rotate-180":""}`})]}),u&&l&&jsx(Tt.Content,{children:jsx("div",{className:"pl-6 mt-2",children:i?jsx(i,{content:{content:l.result,content_type:"text",ui_content_type:"text"}}):jsx("pre",{className:"text-sm bg-gray-100 dark:bg-gray-800 p-2 rounded overflow-x-auto",children:JSON.stringify(l.result,null,2)})})})]})}var mt={Success:"success",Error:"error",RequiresInfo:"requires info"};function io(t){return t?t===mt.Success?"finished":t===mt.Error||t===mt.RequiresInfo?"failed":"loading":"loading"}function qn(t){return t?t!==mt.Success&&t!==mt.Error&&t!==mt.RequiresInfo:true}function lo(t,e){let n=e||"agent",a=t?.message,r=typeof a=="object"&&a?.Valid?a.String:typeof a=="string"?a:null;return r||(t?.status===mt.Success?`Finished ${n}`:`Running ${n}...`)}function Se({content:t,botInvocation:e,isLoading:n=false,defaultOpen:a,adminLinkHref:r,adminLinkText:o="Open in Agent Designer",showAdminLink:i=false,onAdminClick:s,onExpand:l,EventsComponent:u,ContentComponent:p,className:d}){let c=()=>a!==void 0?a:e?.currentStatus?qn(e.currentStatus.status):false,[m,f]=useState(c),[y,x]=useState(false),b=useRef(null);if(useEffect(()=>{if(e?.currentStatus){let T=e.currentStatus.status;if(b.current!==T&&(b.current=T,!y)){let D=qn(T);D&&!m?f(true):!D&&m&&f(false);}}},[e,y,m]),useEffect(()=>{m&&e&&l&&l(t.invocation_id,t.bot_id,t.bot_name);},[m,e,l,t]),n&&!e)return jsxs("div",{className:`flex items-center gap-2 text-sm text-muted-foreground ${d||""}`,children:[jsx(Loader2,{className:"h-4 w-4 animate-spin"}),jsxs("span",{children:["Loading ",t.bot_name,"..."]})]});if(!e)return null;let I=io(e.currentStatus?.status),k=lo(e.currentStatus,t.bot_name),V=T=>{f(T),x(true);},P=T=>{s&&(T.preventDefault(),s(t.invocation_id,t.bot_id));},_=e.eventsByID&&Object.keys(e.eventsByID).length>0;return jsxs(Tt.Root,{open:m,onOpenChange:V,className:`relative w-full max-w-4xl space-y-2 leading-normal bot-invocation-content ${d||""}`,children:[jsxs("div",{className:"flex items-center justify-between",children:[jsxs(Tt.Trigger,{className:"flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:[jsxs("div",{className:"text-sm font-medium flex items-center gap-2",children:[jsx(_t,{status:I}),k]}),jsx(ChevronDown,{className:`h-4 w-4 transition-transform duration-200 ${m?"transform rotate-180":""}`})]}),i&&(r||s)&&jsxs("a",{href:r||"#",onClick:s?P: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:[o,jsx(ArrowUpRight,{className:"h-3.5 w-3.5"})]})]}),jsx(Tt.Content,{children:jsx("div",{className:"space-y-2 max-w-3xl",children:_&&u?jsx(u,{eventsByID:e.eventsByID,defaultOpen:m}):_?jsx("pre",{className:"text-sm bg-gray-100 dark:bg-gray-800 p-2 rounded overflow-x-auto",children:JSON.stringify(e.eventsByID,null,2)}):jsx("span",{className:"text-sm text-muted-foreground",children:"No events to display"})})})]})}function Ye({content:t,className:e,components:n}){let a=typeof t.ui_content_type=="object"&&t.ui_content_type?.Valid?t.ui_content_type.String:typeof t.ui_content_type=="string"?t.ui_content_type:t.content_type,r=n?.[a];if(r)return jsx(r,{content:t,className:e});let o=i=>jsx(Ye,{...i,components:n});switch(a){case "text":return jsx(Jt,{content:Ze(t),className:e});case "markdown":return jsx(G,{content:Ze(t),className:e});case "thinking":case "redacted_thinking":return jsx(pe,{item:t,className:e});case "json":return jsx(St,{content:t.content,className:e});case "codegen_json":return jsx(ve,{item:t,className:e});case "sql_generation":return jsx(ge,{item:t,className:e});case "codeexec_output":return jsx(Ce,{item:t,className:e});case "log":return jsx(ue,{item:t,className:e});case "websearch":case "websearch_output":return jsx(de,{item:t,className:e});case "webparse":case "webparse_output":return jsx(me,{item:t,className:e});case "tool_group":return jsx(_e,{toolGroup:t.content,ContentComponent:o,className:e});case "bot_invocation":{let i=t.content,s=t.botInvocation;return jsx(Se,{content:i,botInvocation:s,ContentComponent:o,className:e})}case "chart":case "ui_generation":{if(t.chartConfig&&t.chartData)return jsx(Wt,{config:t.chartConfig,data:t.chartData,className:e});try{let i=typeof t.content=="string"?JSON.parse(t.content):t.content;if(i?.children)return jsx(Fragment,{children:co(i.children,e,o)})}catch{}return jsx(St,{content:t.content,className:e})}case "table":return t.tableColumns&&t.tableData?jsx(jt,{columns:t.tableColumns,data:t.tableData,className:e}):jsx(St,{content:t.content,className:e});case "bot_invocation_result":case "tool_invocation":case "tool_result":case "security_check_json":return null;default:return jsx(Jt,{content:Ze(t),className:e})}}function Ze(t){return typeof t.content=="string"?t.content:JSON.stringify(t.content)}function co(t,e,n){return !t||!Array.isArray(t)?null:t.map((a,r)=>{let o=a;if(!o?._type)return null;switch(o._type){case "Chart":{let i=o.content;return i?jsx("div",{className:"my-4",children:jsx(Wt,{config:{chart_type:i.chart_type,chart_title:i.chart_title,x_axis:i.x_axis,y_axes:i.y_axes,series:i.series,data_reduction:i.data_reduction,stacked:i.stacked,sort:i.sort},data:[],className:e})},`chart-${r}`):null}case "Table":{let i=o.content;return i?jsx("div",{className:"my-4",children:jsx(jt,{title:i.table_title,columns:i.columns,data:[],className:e})},`table-${r}`):null}case "TextMarkdown":{let i=o.content;return jsx("div",{className:"my-2",children:jsx(G,{content:i?.text||"",className:e})},`text-${r}`)}case "Suggestions":{let s=o.content?.suggestions||[];return s.length?jsx("div",{className:"flex flex-col gap-2 my-4",children:s.map((l,u)=>jsx("button",{className:"text-left px-3 py-2 bg-gray-100 dark:bg-gray-800 rounded hover:bg-gray-200 dark:hover:bg-gray-700 text-sm",children:l},u))},`suggestions-${r}`):null}default:return null}})}function zn(t){let e={success:true,messages:[],events:t,steps:[]},n=new Set;for(let a of t){let r=a.type,o=a.payload,i=a.metadata;switch(r){case "bot started":case "bot resumed":o&&typeof o=="object"&&(e.invocationId=o.invocation_id,e.botKey=o.bot_id);break;case "step started":if(o&&typeof o=="object"){let s=o.key;s&&!n.has(s)&&(n.add(s),e.steps.push({key:s,action:o.action_type||"",status:"running"}));}break;case "step finished":if(o&&typeof o=="object"){let s=e.steps.find(l=>l.status==="running");s&&(s.status="completed");}break;case "result":o&&typeof o=="object"&&i?.user_visibility==="visible"&&o.status==="success"&&o.output&&(e.result=o);break;case "error":e.success=false,o&&typeof o=="object"?e.error=o.message||o.error||"Unknown error":typeof o=="string"&&(e.error=o);break;}}return e}function Kn(t={}){let e=st(),[n,a]=useState(null),[r,o]=useState(false),[i,s]=useState(null),l=useRef(null),u=useCallback(()=>{l.current&&(l.current.abort(),l.current=null);},[]),p=useCallback(async(d,c)=>{if(!e.client)throw new Error("ErdoClient not configured in provider. Pass a client to ErdoProvider config to use useInvocation.");u(),l.current=new AbortController,o(true),s(null),a(null);try{let m=[];for await(let y of e.client.invokeStream(d,c)){if(l.current?.signal.aborted)break;m.push(y),t.onEvent?.(y);let x=zn(m);a(x);}let f=zn(m);return a(f),t.onFinish?.(f),f}catch(m){let f=m instanceof Error?m:new Error(String(m));throw s(f),t.onError?.(f),f}finally{o(false),l.current=null;}},[e.client,t,u]);return {result:n,isStreaming:r,error:i,invoke:p,cancel:u}}function A(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 mo(t){return t.contents.length===0?null:t.contents[t.contents.length-1]||null}function fo(t){return t.contents.length===0?null:t.contents[0]||null}function nn(t,e){let n=A(t);switch(n){case "message":return t;case "step":let a=t;if(e){let i=a.eventsByID[e]?.Message;return i||er({},"",e)}let o=Object.keys(a.eventsByID).reverse();for(let i of o){let s=a.eventsByID[i];if(s&&s.Message)return s.Message}throw new Error("Unable to find message for step");default:throw new Error(`Unable to have messages on entity type ${n}`)}}function yo(t,e){switch(A(t)){case "message_content":return t;case "output_content":return t;case "message":return Rt(t,e);case "output":return At(t,e);case "step":let a=we(t,e);return a?At(a,e):null;default:return null}}function Rt(t,e){let n=A(t);switch(n){case "message_content":return t;case "message":let a=nn(t);if(!a)throw new Error("Unable to find message to add content to");return e?a.contentsByID[e]:mo(a);default:throw new Error(`Unable to have message content on entity type ${n}`)}}function At(t,e){let n=A(t);switch(n){case "output_content":return t;case "output":let a=t;return e?a.contentsByID[e]||null:a.contents.length<=0?null:a.contents[a.contents.length-1]||null;case "step":let o=we(t,e);return o?At(o):null;case "invocation":if(!e)return null;let i=t.eventsByID[e];return !i||!i.Output?null:At(i.Output);default:throw new Error(`Unable to have output content on entity type ${n}`)}}function rn(t,e){let n=A(t),a=null;switch(n){case "invocation":return t;case "message_content":if(a=t.botInvocation||null,!a)throw new Error("Unable to find bot invocation for message content");if(e&&a.bot_invocation.id!==e)throw new Error("Unable to find bot invocation for message content - mismatched ID");return a;case "message":if(a=fo(t)?.botInvocation||null,!a)throw new Error("Unable to find bot invocation for message");if(e&&a.bot_invocation.id!==e)throw new Error("Unable to find bot invocation for message - mismatched ID");return a;case "output_content":return t.botInvocation||null;default:throw new Error(`Unable to have bot invocation on entity type ${n}`)}}function we(t,e){let n=A(t);switch(n){case "output":return t;case "step":let a=t;if(e){let s=a.eventsByID[e]?.Output;if(!s)throw new Error("Unable to find output with id "+e);return s}let o=Object.keys(a.eventsByID).reverse();for(let s of o){let l=a.eventsByID[s];if(l&&l.Output)return l.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 Xn(t,e){let n=A(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 a=t.eventsByID[e];if(!a||!a.type||a.type!=="result_handler"||!a.ResultHandler)throw new Error(`Unable to find result handler with id ${e} on step ${t.id}`);return a.ResultHandler;default:throw new Error(`Unable to have result handlers on entity type ${n}`)}}function tr(t,e){let n=A(t),a=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");a=t;let r=a.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 i=t.eventsByID[e];if(!i)throw new Error("Unable to find step on result handler with id "+e);if(!i.Step)throw new Error("Unable to find step on result handler with id "+e);return i.Step;default:throw new Error(`Unable to have steps on entity type ${n}`)}}var tn=class extends Error{};function go(t,e,n){let a=null,r=e[0],o=e[1];n[r]=o;try{switch(r){case "message":a=nn(t,o);break;case "content":a=Rt(t,o);break;case "step":a=tr(t,o);break;case "output":a=we(t,o);break;case "output_content":a=At(t,o);break;case "invocation":a=rn(t,o);break;case "result_handler":a=Xn(t,o);break}}catch(i){throw console.error("error finding next entity"),console.log("path",e),console.log("currentEntity",t),i}if(!a)throw console.log("path",e),console.log("currentEntity",t),console.log("nextEntity",a),new tn(`Unable to find next entity for path ${e.join("/")}`);return a}function er(t,e,n,a){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.svg"},state:"in_progress",contents:[],contentsByID:{},contentIDToIdx:{}}}function xo(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 ho(t,e){let n=t.metadata?.ui_content_type,a=typeof t.payload=="string"?t.payload:t.payload.content||t.payload,r=null;if(Ut(t.metadata.content_type,n))try{r=rt(a);}catch(o){console.error("Failed to parse message content as JSON:",o),r=[{content:a,type:"text"}];}return {_type:"message_content",id:t.metadata.message_content_id,message_id:e.message,content:a,content_type:t.metadata.content_type,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:n?{String:n,Valid:true}:{String:"",Valid:false},parsedJson:r}}function ko(t,e,n){let a=t.payload;return {_type:"step",id:e,invocation_id:n.invocation||"",step_id:a.step_id||"",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),current_status_id:"",path:{String:"",Valid:false},action_type:{String:a.action_type,Valid:true},key:{String:a.key,Valid:true},bot_id:a.bot_id,result_handler_id:"",step_order:{Int32:a.step_order,Valid:true},output_content_type:{String:a.content_type,Valid:true},execution_mode:{String:a.execution_mode,Valid:true},output_behaviour:{String:a.output_behaviour,Valid:true},user_output_visibility:{String:t.metadata.visibility||"visible",Valid:true},output_channels:a.output_channels||[],running_message:{String:"",Valid:false},finished_message:{String:"",Valid:false},depends_on:[],eventsByID:{},currentStatus:null}}function bo(t,e,n){let a=t.payload;return {_type:"result_handler",id:e,invocation_id:t.metadata.invocation_id||"",result_handler_id:a.result_handler_id||e,step_invocation_id:a.step_invocation_id||"",type:a.type||"",if_conditions:a.if_conditions||{},created_at:new Date().toISOString(),updated_at:new Date().toISOString(),output_content_type:a.output_content_type||"",result_handler_order:a.result_handler_order||0,eventsByID:{}}}function vo(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 Zn(t,e,n,a=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:a??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 Yn(t,e,n,a=null){let r=null,o=t.metadata?.ui_content_type;if(Ut(t.metadata.content_type,o))try{r=rt(t.payload);}catch(i){console.error("Failed to parse step output content as JSON:",i),r=[{content:t.payload,type:"text"}];}return {_type:"output_content",id:e,output_id:n.output,content:t.payload,content_type:t.metadata.content_type,state:"completed",invocation_id:t.metadata.invocation_id,parsedJson:r,user_visibility:a||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},output:null}}function Co(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 Xe(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 nr(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 an(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 on(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 _o(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 So(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}}function sn(t,e){if(t.content||(t.content=""),t.user_visibility!=="visible"||!Ut(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="");for(let n of e){if(t.content+=n,!t._isInJson&&n==="{"){t._charBuffer="{";continue}if(t._charBuffer&&ye(n)){t._charBuffer+=n;continue}if(!t._isInJson&&t._charBuffer?.match(/^\s*{\s*$/)&&n==='"'){t._isInJson=true,t._jsonParser=new nt;let r={content:t._jsonParser.add("{"),type:"json"};t._currentContent?.content?t._currentContent.content.match(/^\s*{$/)?(t._currentContent=r,t.parsedJson[t.parsedJson.length-1]=r):(t._currentContent.content=t._currentContent.content.replace(/{$/,""),t._currentContent=r,t.parsedJson=[...t.parsedJson,r]):(t._currentContent=r,t.parsedJson=[...t.parsedJson,r]);}if(t._isInJson)try{let a=t._jsonParser.add(n);t._currentContent.content=a,t._jsonParser.state==="END"&&(t._isInJson=!1,t._currentContent=void 0);}catch(a){console.log("content",e),console.log("currentContent",t.content),console.error("Error incrementally parsing JSON",a);}else t._currentContent||(t._currentContent={content:t._charBuffer||"",type:"text"},t.parsedJson=[...t.parsedJson,t._currentContent]),t._currentContent.content+=t._charBuffer+n;t._charBuffer="";}return {...t}}function wo(t,e){return sn(t,e)}function Qn(t,e){return sn(t,e)}function en(t,e){let n=A(t);switch(n){case "message":return ot(t,e);case "message_content":return ln(t,e);case "step":return Io(t,e);case "output":return No(t,e);case "output_content":return Do(t,e);case "invocation":return Ee(t,e);case "result_handler":return Bo(t,e);default:throw new Error(`Unable to add update entity for entity type ${n}`)}}function Eo(t,e){for(let n of e)t=en(t,n);return t}function ot(t,e){let n=nn(t);if(!n)throw new Error("Unable to find message to add content to");let a=A(e),r=null;switch(a){case "message_content":return r=e,n.contentsByID[r.id]?n.contents[n.contentIDToIdx[r.id]]=r:(n.contentIDToIdx={...n.contentIDToIdx,[r.id]:n.contents.length},n.contents=[...n.contents,r]),n.contentsByID={...n.contentsByID,[r.id]:r},{...n};case "invocation":let o=e;if(n.contents.length===0)throw new Error("Unable to find message content to add invocation to");return r=ln(n.contents[0],o),ot(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 i=rn(r);if(!i)throw new Error("Unable to find bot invocation to add content to");return r.botInvocation=Ee(i,e),ot(n,r);default:throw new Error(`Unable to add update message child for child type ${a}`)}}function ln(t,e){let n=Rt(t);if(!n)throw new Error("Unable to find message content to add content to");let a=A(e);switch(a){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=Ee(r,e),{...n};default:throw new Error(`Unable to add update message content child for child type ${a}`)}}function Io(t,e){let n=tr(t);if(!n)throw new Error("Unable to find bot invocation to add step to");let a=A(e),r=null;switch(a){case "output":let o=e;return r=an(o),n.eventsByID={...n.eventsByID,[o.output.id]:r},{...n};case "message":let i=e;return r=_o(i),n.eventsByID={...n.eventsByID,[i.message.id]:r},{...n};case "status":let s=e;return r=on(s),n.eventsByID={...n.eventsByID,[s.id]:r},{...n};case "result_handler":let l=e;return r=So(l),n.eventsByID={...n.eventsByID,[l.id]:r},{...n};default:throw new Error(`Unable to add update step for entity type ${a}`)}}function No(t,e){let n=we(t);if(!n)throw new Error("Unable to find step output to add content to");let a=A(e);switch(a){case "output_content":let r=e;return n.contentsByID[r.id]?n.contents[n.contentIDToIdx[r.id]]=r:(n.contentIDToIdx={...n.contentIDToIdx,[r.id]:n.contents.length},n.contents=[...n.contents,r]),n.contentsByID={...n.contentsByID,[r.id]:r},{...n};default:throw new Error(`Unable to add update output for entity type ${a}`)}}function Do(t,e){let n=At(t);if(!n)throw new Error("Unable to find step output content to add content to");let a=A(e);switch(a){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=Ee(r,e),{...n};default:throw new Error(`Unable to add update step output content for entity type ${a}`)}}function Ee(t,e){let n=rn(t);if(!n)throw new Error("Unable to find bot invocation to add content to");let a=A(e),r;switch(a){case "step":let o=e;return r=nr(o),n.eventsByID={...n.eventsByID,[o.id]:r},{...n};case "output":let i=e;return r=an(i),n.eventsByID={...n.eventsByID,[i.output.id]:r},{...n};case "status":let s=e;return r=on(s),n.eventsByID={...n.eventsByID,[s.id]:r},{...n};default:throw new Error(`Unable to add update invocation for entity type ${a}`)}}function Bo(t,e){let n=Xn(t);if(!n)throw new Error("Unable to find result handler to add content to");let a=A(e),r=null;switch(a){case "step":let o=e;return r=nr(o),n.eventsByID||(n.eventsByID={}),n.eventsByID={...n.eventsByID,[o.id]:r},{...n};case "output":let i=e;return r=an(i),n.eventsByID||(n.eventsByID={}),n.eventsByID={...n.eventsByID,[i.output.id]:r},{...n};case "status":let s=e;return r=on(s),n.eventsByID||(n.eventsByID={}),n.eventsByID={...n.eventsByID,[s.id]:r},{...n};default:throw new Error(`Unable to add update to result handler for entity type ${a}`)}}function To(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 rr(t,e,n,a,r,o=null,i=[],s={}){if(!o&&Object.keys(r).length>0){let d,c;if(n.length>=2&&n[0]==="message"?(c=n[1],d=r[c],d||(d=Object.values(r)[0],c=Object.keys(r)[0])):(d=Object.values(r)[Object.values(r).length-1],c=Object.keys(r)[Object.keys(r).length-1]),s.message=c,n.length<=2&&t==="message finished")return null;if(n[0]!=="content"&&Object.keys(d.contentsByID).length>0&&e.metadata.message_content_id){let m=e.metadata.message_content_id,f=d.contentsByID[m];f&&(o=f);}o?i=[d]:o=d;}if(n.length<=2&&To(t)){let d=n[1],c=[],m,f,y,x,b;switch(t){case "bot started":case "bot resumed":if(!o)throw new Error("Unable to find message to add content to");let I=Co(e);if(o._type==="message_content"){if(f=o,!f.id)throw new Error("Unable to find message content id");if(y=r[f.message_id],!y)throw new Error("Unable to find message to add content to");if(x=Rt(y,f.id),!x)throw new Error("Unable to find message content to add content to");let _=ln(x,I);r[f.message_id]={...ot(y,_)};}c.push(I);break;case "message created":return r[d]=er(e,a,d),null;case "create message content":if(!o)throw new Error("Unable to find message to add content to");if(b=xo(e,s),o._type==="output"){m=o,c.push(Zn(e,d,s,"hidden"));let _=e.payload.message_id;if(_||(_=i[0].message.id),y=r[_],!y)throw new Error("Unable to find message to add content to")}else if(o._type==="message_content"){if(m=o,y=r[m.message_id],!y)throw new Error("Unable to find message to add content to")}else {if(o._type!=="message")throw new Error(`Incorrect path? Cannot add content to non-message entity: ${o._type}`);if(m=o,y=r[m.message.id],!y)throw new Error("Unable to find message to add content to");c.push(b);}r[y.message.id]={...ot(y,b)};break;case "message content result":if(!o)throw new Error("Unable to find message to add content to");let k=null;if(o._type==="output"){c.push(Yn(e,d,s,"hidden"));let _=e.payload.message_id||s.message;if(_?k=i.find(T=>T.message.id===_):k=i[0],y=r[_],!y)throw new Error("Unable to find message to add content to")}else if(o._type==="message_content"){if(k=i[0],y=r[k.message.id],!y)throw new Error("Unable to find message to add content to")}else {if(o._type!=="message")throw new Error(`Incorrect path? Cannot add content to non-message entity: ${o._type}`);if(k=o,y=r[k.message.id],!y)throw new Error("Unable to find message to add content to")}let V=e.metadata.message_content_id;if(!V)throw new Error("Unable to find message content id");let P=Rt(k,V);if(P){P.state="completed";let _=typeof e.payload=="string"?e.payload:e.payload.content||e.payload;P.content=_,r[y.message.id]={...ot(y,P)},(o._type==="message"||o._type==="message_content")&&c.push(P);}else P=ho(e,s),r[y.message.id]={...ot(y,P)},(o._type==="message"||o._type==="message_content")&&c.push(P);break;case "step started":c.push(ko(e,d,s));break;case "result handler started":c.push(bo(e,d));break;case "step output created":c.push(vo(e,d,o));break;case "create step output content":c.push(Zn(e,d,s));break;case "step output content result":c.push(Yn(e,d,s));break;case "log":return null;default:throw new Error(`Unable to handle create event type ${t}`)}return c.length?!o||o._type==="message_content"&&c.length===1&&c[0]._type==="message_content"?c[0]:Eo(o,c):null}if(!o)throw new Error("No first message has been created, so cannot handle amend events");if(n.length<=1){let d=null;try{d=yo(o);}catch{}switch(t){case "message content delta":if(!d)throw new Error("Unable to find message content");let c=null,m=null,f=null;if(o._type==="output_content"){c=Qn(o,e.payload);let I=e.metadata.message_content_id;if(!I)throw new Error("Unable to find message content id from entity ids");let k=s.message;if(f=i.find(V=>V.message.id===k),!f)throw new Error("Unable to find message to add content to");m=Rt(f,I);}else {if(m=d,f=i[i.length-1],!f)throw new Error("Unable to find message to add content to");if(f._type!=="message")throw new Error("Unable to find message to add content to - not a message")}if(!m)throw new Error("Unable to find message content");let y=r[f.message.id];if(!y)throw new Error("Unable to find message to add content to");let x=wo(m,e.payload);return r[y.message.id]={...ot(y,x)},o._type==="message_content"&&(c=x),c;case "step output content delta":return Qn(d,e.payload);case "status":return o._type==="step"&&(o.currentStatus=Xe(e)),o._type==="invocation"&&(o.currentStatus=Xe(e)),en(o,Xe(e));case "result":return null;case "message finished":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 l=n.slice(2),u=go(o,n,s),p=rr(t,e,l,a,r,u,[...i,o],s);return p?en(o,{...p}):o}export{ct as BarChart,Se as BotInvocationContent,j as Chart,Mt as ChartContainer,Wt as ChartContent,Ae as ChartLegend,Ve as ChartLegendContent,mn as ChartStyle,Pe as ChartTooltip,Re as ChartTooltipContent,Ce as CodeexecContent,ve as CodegenContent,It as CollapsibleCodeBlock,Ye as Content,_n as DatasetChart,wn as DatasetTable,pn as ErdoProvider,it as ErrorBoundary,Fe as ExecutionStatus,Dt as ExpandableOutputContent,bt as HeatmapChart,ie as InvocationEvent,se as InvocationEvents,Bn as InvocationStatus,nt as JSONStreamParser,St as JsonContent,xt as LineChart,We as Log,ue as LogContent,G as MarkdownContent,ne as Output,ht as PieChart,kt as ScatterChart,ge as SqlContent,_t as StatusSpinner,Bt as StderrText,he as StdoutText,ke as StdwarnText,oe as StepInvocation,ae as StepInvocationStatus,jt as TableContent,Jt as TextContent,pe as ThinkingContent,_e as ToolGroupContent,me as WebParseContent,de as WebSearchContent,L as cn,lt as formatValue,sn as handleIncrementalMixedJsonParsing,rr as handleSSEEvent,Ut as isJsonLike,ja as isParsingComplete,qa as isParsingInProgress,ye as isWhitespaceChar,Ja as parseCompleteJson,rt as parseMixedJson,fn as parseToDate,vt as resolveKeyFromData,bn as toSnakeCase,Zt as useChartZoom,Qt as useDatasetContents,st as useErdoConfig,X as useErdoConfigOptional,Kn as useInvocation,Xt as useMultipleDatasetContents};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@erdoai/ui",
3
- "version": "0.1.17",
3
+ "version": "0.1.18",
4
4
  "description": "Erdo UI components for rendering agent results",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",