@erdoai/ui 0.1.111 → 0.1.112
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 +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -47,6 +47,6 @@ $bm_rt = comp('system-solid-56-warning').layer('control').effect('primary')('Col
|
|
|
47
47
|
background-clip: text;
|
|
48
48
|
color: transparent;
|
|
49
49
|
}
|
|
50
|
-
`,document.head.appendChild(t);}function oe({item:t,className:e}){let[n,o]=kt.useState(false);kt.useEffect(()=>{Qe();},[]);let r=t.content_type==="redacted_thinking",s="",a=false;if(typeof t.content=="string")s=t.content;else if(t.content&&typeof t.content=="object")if(r)s=t.content.data||"Some of Claude's internal reasoning has been automatically encrypted for safety reasons. This doesn't affect the quality of responses.";else {let d=t.content;s=d.thinking||"",a=typeof d.signature=="string"&&d.signature.length>0;}let i=typeof t.state=="string"?t.state:"",l=(i==="in_progress"||i==="streaming"||i==="running")&&!a;return jsxRuntime.jsxs("div",{className:e,children:[jsxRuntime.jsxs("button",{onClick:()=>o(!n),className:"inline-flex items-center gap-1.5 text-left",children:[n?jsxRuntime.jsx(lucideReact.ChevronDown,{className:"h-3.5 w-3.5 text-muted-foreground/70"}):jsxRuntime.jsx(lucideReact.ChevronRight,{className:"h-3.5 w-3.5 text-muted-foreground/70"}),jsxRuntime.jsx("span",{className:`text-sm ${l?"erdo-shimmer":"text-muted-foreground hover:text-foreground/70 transition-colors"}`,children:r?"Encrypted thinking":"Thinking"})]}),n&&jsxRuntime.jsx("div",{className:"mt-1 pl-5 text-sm text-muted-foreground",children:s?jsxRuntime.jsx(R,{content:s,className:"text-sm text-muted-foreground [&_*]:text-muted-foreground"}):l?"Thinking...":""})]})}function fi(t){try{return JSON.parse(t)}catch{return t}}function gi(t){if(!t)return "";try{return new Date(t).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return ""}}function ar({log:t}){let e=typeof t.message=="string"?fi(t.message):t.message,n=gi(t.timestamp),o="text-xs font-mono py-0.5 px-1.5 rounded flex items-start",r="";switch(t.level){case "error":o+=" bg-red-50/50 dark:bg-red-950/30 text-red-600 dark:text-red-400 border-l-2 border-red-400 dark:border-red-600",r="text-red-500 dark:text-red-400";break;case "requires_info":o+=" bg-yellow-50/50 dark:bg-yellow-950/30 text-yellow-600 dark:text-yellow-400 border-l-2 border-yellow-400 dark:border-yellow-600",r="text-yellow-500 dark:text-yellow-400";break;default:o+=" bg-blue-50/40 dark:bg-blue-900/20 text-blue-500/90 dark:text-blue-300/80 border-l-2 border-blue-300 dark:border-blue-600/50",r="text-blue-400 dark:text-blue-400/70";}return jsxRuntime.jsx("div",{className:"my-0.5",children:jsxRuntime.jsx("div",{className:o,children:jsxRuntime.jsxs("div",{className:"flex items-start gap-2",children:[n&&jsxRuntime.jsx("span",{className:"text-[10px] opacity-60 whitespace-nowrap w-16 flex-shrink-0 pt-0.5",children:n}),t.level==="error"&&jsxRuntime.jsx("span",{className:"inline-block mr-1 flex-shrink-0",children:jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:`h-3 w-3 ${r}`,viewBox:"0 0 20 20",fill:"currentColor",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.28 7.22a.75.75 0 00-1.06 1.06L8.94 10l-1.72 1.72a.75.75 0 101.06 1.06L10 11.06l1.72 1.72a.75.75 0 101.06-1.06L11.06 10l1.72-1.72a.75.75 0 00-1.06-1.06L10 8.94 8.28 7.22z",clipRule:"evenodd"})})}),t.level==="requires_info"&&jsxRuntime.jsx("span",{className:"inline-block mr-1 flex-shrink-0",children:jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:`h-3 w-3 ${r}`,viewBox:"0 0 20 20",fill:"currentColor",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})})}),t.level==="info"&&jsxRuntime.jsx("span",{className:"inline-block mr-1 flex-shrink-0",children:jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:`h-3 w-3 ${r}`,viewBox:"0 0 20 20",fill:"currentColor",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})})}),jsxRuntime.jsx("div",{className:"flex-1 break-words whitespace-pre-wrap",children:String(e)})]})})})}function Ze({item:t,className:e}){let n=typeof t.content=="object"&&t.content!==null?t.content:{message:String(t.content)},o={level:n.level||"info",message:n.message||String(t.content),timestamp:n.timestamp};return jsxRuntime.jsx("div",{className:e,children:jsxRuntime.jsx(ar,{log:o})})}function xi(t){if(!t||typeof t!="object")return null;let e=t;if(Array.isArray(e.results))return e;if(e.result&&typeof e.result=="object"){let n=e.result;if(Array.isArray(n.results))return n}return null}function Ye({item:t,className:e}){let n=xi(t.content);return n?.results?.length?jsxRuntime.jsx("div",{className:`rounded-lg border border-border/50 overflow-hidden ${e||""}`,children:jsxRuntime.jsx("div",{className:"divide-y divide-border/30",children:n.results.map(o=>{let r="";try{r=new URL(o.url).hostname.replace(/^www\./,"");}catch{}return jsxRuntime.jsxs("a",{href:o.url,target:"_blank",rel:"noopener noreferrer",className:"flex items-start gap-3 px-3 py-2 hover:bg-muted/50 transition-colors group",children:[jsxRuntime.jsxs("div",{className:"flex-1 min-w-0",children:[jsxRuntime.jsx("div",{className:"text-sm text-foreground/90 group-hover:text-foreground group-hover:underline truncate",children:o.title}),o.description&&jsxRuntime.jsx("div",{className:"text-xs text-muted-foreground mt-0.5 line-clamp-1",children:o.description})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1 shrink-0 mt-0.5",children:[jsxRuntime.jsx("span",{className:"text-[10px] text-muted-foreground/60",children:r}),jsxRuntime.jsx(lucideReact.ExternalLink,{className:"h-3 w-3 text-muted-foreground/40 group-hover:text-muted-foreground"})]})]},o.url)})})}):null}function bi(t){if(!t||typeof t!="object")return null;let e=t;if(typeof e.content=="string")return e;if(e.result&&typeof e.result=="object"){let n=e.result;if(typeof n.content=="string")return n}return null}function Ci(t){if(!t||typeof t!="object")return null;let n=t.input;return typeof n?.url=="string"?n.url:null}function Xe({item:t,className:e}){let n=bi(t.content),o=Ci(t.content),r=n?.url||o,s=n?.title,a=n?.content,i="";try{r&&(i=new URL(r).hostname.replace(/^www\./,""));}catch{}return !a&&!r?null:jsxRuntime.jsxs("div",{className:`rounded-lg border border-border/50 overflow-hidden ${e||""}`,children:[r&&jsxRuntime.jsxs("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-2 px-3 py-2 border-b border-border/30 hover:bg-muted/50 transition-colors group",children:[jsxRuntime.jsxs("div",{className:"flex-1 min-w-0",children:[jsxRuntime.jsx("div",{className:"text-sm text-foreground/90 group-hover:text-foreground truncate",children:s?.trim()||i||r}),s&&i&&jsxRuntime.jsx("div",{className:"text-[10px] text-muted-foreground/60 mt-0.5",children:i})]}),jsxRuntime.jsx(lucideReact.ExternalLink,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground/40 group-hover:text-muted-foreground"})]}),a&&jsxRuntime.jsx("div",{className:"max-h-64 overflow-y-auto px-3 py-2 bg-muted/20",children:jsxRuntime.jsx(R,{content:a,className:"text-xs"})})]})}var Pi=reactSyntaxHighlighter.Prism,vt=kt.memo(function({language:e,value:n,defaultOpen:o=false,title:r="View code",closeTitle:s="Hide code",className:a,theme:i="auto"}){let[c,l]=kt.useState(o),[u,d]=kt.useState(false),p=kt.useRef(null);kt.useEffect(()=>{if(!c){let y=p.current;y&&(y.scrollTop=y.scrollHeight);}},[c,n]);let m=kt.useMemo(()=>i!=="auto"?i:typeof window>"u"?"light":document.documentElement.classList.contains("dark")||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",[i]),g=kt.useMemo(()=>m==="dark"?prism.oneDark:prism.oneLight,[m]),f=kt.useCallback(async()=>{try{await navigator.clipboard.writeText(n),d(!0),setTimeout(()=>d(!1),2e3);}catch{let y=document.createElement("textarea");y.value=n,document.body.appendChild(y),y.select(),document.execCommand("copy"),document.body.removeChild(y),d(true),setTimeout(()=>d(false),2e3);}},[n]),h=kt.useMemo(()=>({margin:0,width:"100%",background:"transparent",padding:"1rem 0.5rem",fontSize:"0.825rem",maxWidth:"100vw",overflow:"auto"}),[]),b=kt.useMemo(()=>({userSelect:"none",minWidth:"2.5em",paddingRight:"1em",color:"rgb(161 161 170)",opacity:"0.5"}),[]),x=kt.useMemo(()=>({style:{fontFamily:"var(--font-mono, ui-monospace, monospace)",whiteSpace:"pre",wordBreak:"break-word"}}),[]);return jsxRuntime.jsx(de__namespace.Root,{open:c,onOpenChange:l,className:a,children:jsxRuntime.jsxs("div",{className:"relative w-full font-sans rounded-lg overflow-hidden border border-zinc-200 dark:border-zinc-800",children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between w-full px-4 py-1.5 bg-white/80 dark:bg-zinc-800/80 text-zinc-600 dark:text-zinc-100 backdrop-blur-sm border-b border-zinc-200 dark:border-zinc-800",children:[jsxRuntime.jsx("span",{className:"text-xs font-medium lowercase text-zinc-400 dark:text-zinc-500",children:e}),jsxRuntime.jsx("button",{onClick:f,className:"h-6 w-6 flex items-center justify-center rounded-md hover:bg-zinc-100 dark:hover:bg-zinc-700 transition-colors",children:u?jsxRuntime.jsx(lucideReact.Check,{className:"h-3 w-3 text-green-500"}):jsxRuntime.jsx(lucideReact.Copy,{className:"h-3 w-3 text-zinc-400 dark:text-zinc-500"})})]}),jsxRuntime.jsxs("div",{ref:p,className:`${c?"max-h-96":"max-h-[200px]"} overflow-auto relative`,children:[jsxRuntime.jsx("div",{className:"bg-zinc-50/50 dark:bg-zinc-950/70",children:jsxRuntime.jsx(Pi,{language:e,style:g,PreTag:"div",showLineNumbers:true,wrapLines:false,wrapLongLines:false,startingLineNumber:1,className:"not-prose",customStyle:h,lineNumberStyle:b,codeTagProps:x,children:n})}),!c&&jsxRuntime.jsx("div",{className:"absolute bottom-0 inset-x-0 h-24 pointer-events-none bg-gradient-to-t from-zinc-50 dark:from-zinc-950 to-transparent",style:{marginBottom:"1.5rem"}})]}),jsxRuntime.jsx(de__namespace.Trigger,{className:"absolute bottom-0 inset-x-0 flex items-center gap-2 text-sm text-zinc-400 dark:text-zinc-500 hover:text-zinc-600 dark:hover:text-zinc-300 p-2 justify-start bg-zinc-50/80 dark:bg-zinc-950/80 backdrop-blur-sm border-t border-zinc-200 dark:border-zinc-800 cursor-pointer",children:c?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(lucideReact.ChevronUp,{className:"h-4 w-4"}),s]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(lucideReact.ChevronDown,{className:"h-4 w-4"}),r]})})]})})});function Bi(t){if(typeof t!="object"||t===null||Array.isArray(t))return null;let e=t;return "sql_query"in e||"thinking"in e||"error"in e?{thinking:typeof e.thinking=="string"?e.thinking:void 0,sql_query:typeof e.sql_query=="string"?e.sql_query:void 0,resource_key:typeof e.resource_key=="string"?e.resource_key:void 0,error:typeof e.error=="string"?e.error:void 0}:null}function Oi(t){return Bi(t.content)}function en({item:t,className:e}){let n=Oi(t);if(!n)return null;let{thinking:o,sql_query:r,error:s}=n;return s?jsxRuntime.jsxs("div",{className:`text-destructive text-sm ${e||""}`,children:[jsxRuntime.jsx("div",{className:"font-medium",children:"Error"}),jsxRuntime.jsx("div",{children:s})]}):!r&&!o?null:jsxRuntime.jsxs("div",{className:`text-foreground whitespace-pre-wrap leading-normal ${e||""}`,children:[o&&jsxRuntime.jsx("div",{className:"mb-2",children:jsxRuntime.jsx(R,{content:o,className:"text-sm max-w-none"})}),r&&jsxRuntime.jsx("div",{className:"mb-2",children:jsxRuntime.jsx(vt,{language:"sql",value:r,defaultOpen:false})})]})}var Vi=500,Li=300;function ie({content:t,className:e}){let[n,o]=kt.useState(false);if(!t||typeof t!="string"||!t.trim())return null;if(t.length<=Vi)return jsxRuntime.jsx("div",{className:`text-sm text-muted-foreground ${e||""}`,children:jsxRuntime.jsx(R,{content:t,className:"text-sm max-w-none"})});let s=t.slice(0,Li).trimEnd()+"...";return jsxRuntime.jsx("div",{className:`text-sm text-muted-foreground ${e||""}`,children:n?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(R,{content:t,className:"text-sm max-w-none"}),jsxRuntime.jsx("button",{onClick:()=>o(false),className:"text-xs text-muted-foreground/70 hover:text-muted-foreground mt-1",children:"Show less"})]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("span",{className:"text-sm",children:s}),jsxRuntime.jsx("button",{onClick:()=>o(true),className:"text-xs text-muted-foreground/70 hover:text-muted-foreground ml-1",children:"Show more"})]})})}function wt({children:t,defaultOpen:e=false,wrapperType:n="standard",compact:o=false,className:r}){let[s,a]=kt.useState(e),[i,c]=kt.useState(false),l=kt.useRef(null);kt.useEffect(()=>{let p=l.current;!s&&p&&(p.scrollTop=p.scrollHeight);},[s]),kt.useEffect(()=>{let p=l.current;if(!p)return;let m=()=>{c(p.scrollHeight>p.clientHeight);};m();let g=new ResizeObserver(m);return g.observe(p),()=>g.disconnect()},[s]);let u={standard:"bg-muted/30 border-border",info:"bg-info/10 border-info/30",warning:"bg-warning/10 border-warning/30"},d={standard:"text-muted-foreground hover:text-foreground",info:"text-info hover:text-info/80",warning:"text-warning hover:text-warning/80"};return jsxRuntime.jsx("div",{className:`relative text-sm ${o?"":"mb-2"} ${r||""}`,children:jsxRuntime.jsx(de__namespace.Root,{open:s,onOpenChange:a,className:`border rounded-sm ${u[n]}`,children:jsxRuntime.jsxs("div",{ref:l,className:`overflow-y-auto ${s?"":"max-h-[200px]"}`,children:[i&&jsxRuntime.jsx(de__namespace.Trigger,{className:`sticky top-0 text-center text-xs py-1 transition-opacity w-full cursor-pointer ${d[n]}`,children:s?"Less \u2193":"More \u2191"}),jsxRuntime.jsx("div",{className:`${o?"px-2 py-1":"p-2"} m-0 overflow-x-auto break-words whitespace-pre-wrap`,children:t})]})})})}function cr(t){return new Date(t).toLocaleTimeString("en-US",{hour12:false,hour:"2-digit",minute:"2-digit",second:"2-digit"})}function le({children:t,timestamp:e}){return jsxRuntime.jsxs("div",{className:"flex",children:[e&&jsxRuntime.jsx("span",{className:"text-muted-foreground/60 mr-2 select-none",children:cr(e)}),jsxRuntime.jsx("span",{className:"text-foreground/80",children:t})]})}function ce({children:t,timestamp:e}){return jsxRuntime.jsxs("div",{className:"flex",children:[e&&jsxRuntime.jsx("span",{className:"text-info/60 mr-2 select-none",children:cr(e)}),jsxRuntime.jsx("span",{className:"text-info/90",children:t})]})}function rn({children:t,timestamp:e}){return jsxRuntime.jsxs("div",{className:"flex",children:[e&&jsxRuntime.jsx("span",{className:"text-warning/60 mr-2 select-none",children:cr(e)}),jsxRuntime.jsx("span",{className:"text-warning/90",children:t})]})}function sn({item:t,className:e}){if(!t.content)return null;let n=ji(t.content)??Ui(t.parsedJson);if(!n)return null;let{step_by_step:o,thinking:r,code:s,warnings:a,error:i}=n;return i?jsxRuntime.jsx(wt,{wrapperType:"info",className:e,children:jsxRuntime.jsx(ce,{children:i})}):!o&&!r&&!s&&!a?null:jsxRuntime.jsxs("div",{className:`text-foreground whitespace-pre-wrap leading-normal ${e||""}`,children:[o&&jsxRuntime.jsx(R,{content:o,className:"text-sm max-w-none"}),r&&jsxRuntime.jsx(ie,{content:r,state:typeof t.state=="string"?t.state:void 0}),s&&jsxRuntime.jsx("div",{className:"mb-2",children:jsxRuntime.jsx(vt,{language:"python",value:s,defaultOpen:false})}),a&&jsxRuntime.jsxs("div",{className:"text-sm text-warning",children:[jsxRuntime.jsx("div",{className:"font-medium",children:"Warnings"}),jsxRuntime.jsx(R,{content:a,className:"text-sm max-w-none"})]})]})}function ji(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)?t:null}function Ui(t){if(!Array.isArray(t))return null;let n=t.find(o=>o.type==="json");return n&&typeof n.content=="object"&&n.content!==null?n.content:null}function Io({item:t,className:e}){if(!t.content)return null;let n=Fi(t.content,t.parsedJson);if(!n)return null;let o=t.ui_content_type==="code_fix_diagnosis",r=n.thinking||n.diagnosis,s=t.state==="in_progress",a=n.edits?.length??0,i=o?"Diagnosing code issues\u2026":"Rewriting code\u2026",c=o?`Applied ${a} fix${a!==1?"es":""}`:`Rewrote code${n.code?` (${n.code.split(`
|
|
50
|
+
`,document.head.appendChild(t);}function oe({item:t,className:e}){let[n,o]=kt.useState(false);kt.useEffect(()=>{Qe();},[]);let r=t.content_type==="redacted_thinking",s="",a=false;if(typeof t.content=="string")s=t.content;else if(t.content&&typeof t.content=="object")if(r)s=t.content.data||"Some of Claude's internal reasoning has been automatically encrypted for safety reasons. This doesn't affect the quality of responses.";else {let d=t.content;s=d.thinking||"",a=typeof d.signature=="string"&&d.signature.length>0;}let i=typeof t.state=="string"?t.state:"",l=(i==="in_progress"||i==="streaming"||i==="running")&&!a;return jsxRuntime.jsxs("div",{className:e,children:[jsxRuntime.jsxs("button",{onClick:()=>o(!n),className:"inline-flex items-center gap-1.5 text-left",children:[n?jsxRuntime.jsx(lucideReact.ChevronDown,{className:"h-3.5 w-3.5 text-muted-foreground/70"}):jsxRuntime.jsx(lucideReact.ChevronRight,{className:"h-3.5 w-3.5 text-muted-foreground/70"}),jsxRuntime.jsx("span",{className:`text-sm ${l?"erdo-shimmer":"text-muted-foreground hover:text-foreground/70 transition-colors"}`,children:r?"Encrypted thinking":"Thinking"})]}),n&&jsxRuntime.jsx("div",{className:"mt-1 pl-5 text-sm text-muted-foreground",children:s?jsxRuntime.jsx(R,{content:s,className:"text-sm text-muted-foreground [&_*]:text-muted-foreground"}):l?"Thinking...":""})]})}function fi(t){try{return JSON.parse(t)}catch{return t}}function gi(t){if(!t)return "";try{return new Date(t).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return ""}}function ar({log:t}){let e=typeof t.message=="string"?fi(t.message):t.message,n=gi(t.timestamp),o="text-xs font-mono py-0.5 px-1.5 rounded flex items-start",r="";switch(t.level){case "error":o+=" bg-red-50/50 dark:bg-red-950/30 text-red-600 dark:text-red-400 border-l-2 border-red-400 dark:border-red-600",r="text-red-500 dark:text-red-400";break;case "requires_info":o+=" bg-yellow-50/50 dark:bg-yellow-950/30 text-yellow-600 dark:text-yellow-400 border-l-2 border-yellow-400 dark:border-yellow-600",r="text-yellow-500 dark:text-yellow-400";break;default:o+=" bg-blue-50/40 dark:bg-blue-900/20 text-blue-500/90 dark:text-blue-300/80 border-l-2 border-blue-300 dark:border-blue-600/50",r="text-blue-400 dark:text-blue-400/70";}return jsxRuntime.jsx("div",{className:"my-0.5",children:jsxRuntime.jsx("div",{className:o,children:jsxRuntime.jsxs("div",{className:"flex items-start gap-2",children:[n&&jsxRuntime.jsx("span",{className:"text-[10px] opacity-60 whitespace-nowrap w-16 flex-shrink-0 pt-0.5",children:n}),t.level==="error"&&jsxRuntime.jsx("span",{className:"inline-block mr-1 flex-shrink-0",children:jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:`h-3 w-3 ${r}`,viewBox:"0 0 20 20",fill:"currentColor",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.28 7.22a.75.75 0 00-1.06 1.06L8.94 10l-1.72 1.72a.75.75 0 101.06 1.06L10 11.06l1.72 1.72a.75.75 0 101.06-1.06L11.06 10l1.72-1.72a.75.75 0 00-1.06-1.06L10 8.94 8.28 7.22z",clipRule:"evenodd"})})}),t.level==="requires_info"&&jsxRuntime.jsx("span",{className:"inline-block mr-1 flex-shrink-0",children:jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:`h-3 w-3 ${r}`,viewBox:"0 0 20 20",fill:"currentColor",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})})}),t.level==="info"&&jsxRuntime.jsx("span",{className:"inline-block mr-1 flex-shrink-0",children:jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:`h-3 w-3 ${r}`,viewBox:"0 0 20 20",fill:"currentColor",children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})})}),jsxRuntime.jsx("div",{className:"flex-1 break-words whitespace-pre-wrap",children:String(e)})]})})})}function Ze({item:t,className:e}){let n=typeof t.content=="object"&&t.content!==null?t.content:{message:String(t.content)},o={level:n.level||"info",message:n.message||String(t.content),timestamp:n.timestamp};return jsxRuntime.jsx("div",{className:e,children:jsxRuntime.jsx(ar,{log:o})})}function xi(t){if(!t||typeof t!="object")return null;let e=t;if(Array.isArray(e.results))return e;if(e.result&&typeof e.result=="object"){let n=e.result;if(Array.isArray(n.results))return n}return null}function Ye({item:t,className:e}){let n=xi(t.content);return n?.results?.length?jsxRuntime.jsx("div",{className:`rounded-lg border border-border/50 overflow-hidden ${e||""}`,children:jsxRuntime.jsx("div",{className:"divide-y divide-border/30",children:n.results.map(o=>{let r="";try{r=new URL(o.url).hostname.replace(/^www\./,"");}catch{}return jsxRuntime.jsxs("a",{href:o.url,target:"_blank",rel:"noopener noreferrer",className:"flex items-start gap-3 px-3 py-2 hover:bg-muted/50 transition-colors group",children:[jsxRuntime.jsxs("div",{className:"flex-1 min-w-0",children:[jsxRuntime.jsx("div",{className:"text-sm text-foreground/90 group-hover:text-foreground group-hover:underline truncate",children:o.title}),o.description&&jsxRuntime.jsx("div",{className:"text-xs text-muted-foreground mt-0.5 line-clamp-1",children:o.description})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1 shrink-0 mt-0.5",children:[jsxRuntime.jsx("span",{className:"text-[10px] text-muted-foreground/60",children:r}),jsxRuntime.jsx(lucideReact.ExternalLink,{className:"h-3 w-3 text-muted-foreground/40 group-hover:text-muted-foreground"})]})]},o.url)})})}):null}function bi(t){if(!t||typeof t!="object")return null;let e=t;if(typeof e.content=="string")return e;if(e.result&&typeof e.result=="object"){let n=e.result;if(typeof n.content=="string")return n}return null}function Ci(t){if(!t||typeof t!="object")return null;let n=t.input;return typeof n?.url=="string"?n.url:null}function Xe({item:t,className:e}){let n=bi(t.content),o=Ci(t.content),r=n?.url||o,s=n?.title,a=n?.content,i="";try{r&&(i=new URL(r).hostname.replace(/^www\./,""));}catch{}return !a&&!r?null:jsxRuntime.jsxs("div",{className:`rounded-lg border border-border/50 overflow-hidden ${e||""}`,children:[r&&jsxRuntime.jsxs("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-2 px-3 py-2 border-b border-border/30 hover:bg-muted/50 transition-colors group",children:[jsxRuntime.jsxs("div",{className:"flex-1 min-w-0",children:[jsxRuntime.jsx("div",{className:"text-sm text-foreground/90 group-hover:text-foreground truncate",children:s?.trim()||i||r}),s&&i&&jsxRuntime.jsx("div",{className:"text-[10px] text-muted-foreground/60 mt-0.5",children:i})]}),jsxRuntime.jsx(lucideReact.ExternalLink,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground/40 group-hover:text-muted-foreground"})]}),a&&jsxRuntime.jsx("div",{className:"max-h-64 overflow-y-auto px-3 py-2 bg-muted/20",children:jsxRuntime.jsx(R,{content:a,className:"text-xs"})})]})}var Pi=reactSyntaxHighlighter.Prism,vt=kt.memo(function({language:e,value:n,defaultOpen:o=false,title:r="View code",closeTitle:s="Hide code",className:a,theme:i="auto"}){let[c,l]=kt.useState(o),[u,d]=kt.useState(false),p=kt.useRef(null);kt.useEffect(()=>{if(!c){let y=p.current;y&&(y.scrollTop=y.scrollHeight);}},[c,n]);let m=kt.useMemo(()=>i!=="auto"?i:typeof window>"u"?"light":document.documentElement.classList.contains("dark")||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",[i]),g=kt.useMemo(()=>m==="dark"?prism.oneDark:prism.oneLight,[m]),f=kt.useCallback(async()=>{try{await navigator.clipboard.writeText(n),d(!0),setTimeout(()=>d(!1),2e3);}catch{let y=document.createElement("textarea");y.value=n,document.body.appendChild(y),y.select(),document.execCommand("copy"),document.body.removeChild(y),d(true),setTimeout(()=>d(false),2e3);}},[n]),h=kt.useMemo(()=>({margin:0,width:"100%",background:"transparent",padding:"1rem 0.5rem",fontSize:"0.825rem",maxWidth:"100vw",overflow:"auto"}),[]),b=kt.useMemo(()=>({userSelect:"none",minWidth:"2.5em",paddingRight:"1em",color:"rgb(161 161 170)",opacity:"0.5"}),[]),x=kt.useMemo(()=>({style:{fontFamily:"var(--font-mono, ui-monospace, monospace)",whiteSpace:"pre",wordBreak:"break-word"}}),[]);return jsxRuntime.jsx(de__namespace.Root,{open:c,onOpenChange:l,className:a,children:jsxRuntime.jsxs("div",{className:"relative w-full font-sans rounded-lg overflow-hidden border border-zinc-200 dark:border-zinc-800",children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between w-full px-4 py-1.5 bg-white/80 dark:bg-zinc-800/80 text-zinc-600 dark:text-zinc-100 backdrop-blur-sm border-b border-zinc-200 dark:border-zinc-800",children:[jsxRuntime.jsx("span",{className:"text-xs font-medium lowercase text-zinc-400 dark:text-zinc-500",children:e}),jsxRuntime.jsx("button",{onClick:f,className:"h-6 w-6 flex items-center justify-center rounded-md hover:bg-zinc-100 dark:hover:bg-zinc-700 transition-colors",children:u?jsxRuntime.jsx(lucideReact.Check,{className:"h-3 w-3 text-green-500"}):jsxRuntime.jsx(lucideReact.Copy,{className:"h-3 w-3 text-zinc-400 dark:text-zinc-500"})})]}),jsxRuntime.jsxs("div",{ref:p,className:`${c?"max-h-96":"max-h-[200px]"} overflow-auto relative`,children:[jsxRuntime.jsx("div",{className:"bg-zinc-50/50 dark:bg-zinc-950/70",children:jsxRuntime.jsx(Pi,{language:e,style:g,PreTag:"div",showLineNumbers:true,wrapLines:false,wrapLongLines:false,startingLineNumber:1,className:"not-prose",customStyle:h,lineNumberStyle:b,codeTagProps:x,children:n})}),!c&&jsxRuntime.jsx("div",{className:"absolute bottom-0 inset-x-0 h-24 pointer-events-none bg-gradient-to-t from-zinc-50 dark:from-zinc-950 to-transparent",style:{marginBottom:"1.5rem"}})]}),jsxRuntime.jsx(de__namespace.Trigger,{className:"absolute bottom-0 inset-x-0 flex items-center gap-2 text-sm text-zinc-400 dark:text-zinc-500 hover:text-zinc-600 dark:hover:text-zinc-300 p-2 justify-start bg-zinc-50/80 dark:bg-zinc-950/80 backdrop-blur-sm border-t border-zinc-200 dark:border-zinc-800 cursor-pointer",children:c?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(lucideReact.ChevronUp,{className:"h-4 w-4"}),s]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(lucideReact.ChevronDown,{className:"h-4 w-4"}),r]})})]})})});function Bi(t){if(typeof t!="object"||t===null||Array.isArray(t))return null;let e=t;return "sql_query"in e||"thinking"in e||"error"in e?{thinking:typeof e.thinking=="string"?e.thinking:void 0,sql_query:typeof e.sql_query=="string"?e.sql_query:void 0,resource_key:typeof e.resource_key=="string"?e.resource_key:void 0,error:typeof e.error=="string"?e.error:void 0}:null}function Oi(t){return Bi(t.content)}function en({item:t,className:e}){let n=Oi(t);if(!n)return null;let{thinking:o,sql_query:r,error:s}=n;return s?jsxRuntime.jsxs("div",{className:`text-destructive text-sm ${e||""}`,children:[jsxRuntime.jsx("div",{className:"font-medium",children:"Error"}),jsxRuntime.jsx("div",{children:s})]}):!r&&!o?null:jsxRuntime.jsxs("div",{className:`text-foreground whitespace-pre-wrap leading-normal ${e||""}`,children:[o&&jsxRuntime.jsx("div",{className:"mb-2",children:jsxRuntime.jsx(R,{content:o,className:"text-sm max-w-none"})}),r&&jsxRuntime.jsx("div",{className:"mb-2",children:jsxRuntime.jsx(vt,{language:"sql",value:r,defaultOpen:false})})]})}var Vi=500,Li=300;function ie({content:t,className:e}){let[n,o]=kt.useState(false);if(!t||typeof t!="string"||!t.trim())return null;if(t.length<=Vi)return jsxRuntime.jsx("div",{className:`text-sm text-muted-foreground ${e||""}`,children:jsxRuntime.jsx(R,{content:t,className:"text-sm max-w-none"})});let s=t.slice(0,Li).trimEnd()+"...";return jsxRuntime.jsx("div",{className:`text-sm text-muted-foreground ${e||""}`,children:n?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(R,{content:t,className:"text-sm max-w-none"}),jsxRuntime.jsx("button",{onClick:()=>o(false),className:"text-xs text-muted-foreground/70 hover:text-muted-foreground mt-1",children:"Show less"})]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("span",{className:"text-sm",children:s}),jsxRuntime.jsx("button",{onClick:()=>o(true),className:"text-xs text-muted-foreground/70 hover:text-muted-foreground ml-1",children:"Show more"})]})})}function wt({children:t,defaultOpen:e=false,wrapperType:n="standard",compact:o=false,className:r}){let[s,a]=kt.useState(e),[i,c]=kt.useState(false),l=kt.useRef(null);kt.useEffect(()=>{let p=l.current;!s&&p&&(p.scrollTop=p.scrollHeight);},[s]),kt.useEffect(()=>{let p=l.current;if(!p)return;let m=()=>{c(p.scrollHeight>p.clientHeight);};m();let g=new ResizeObserver(m);return g.observe(p),()=>g.disconnect()},[s]);let u={standard:"bg-muted/30 border-border",info:"bg-info/10 border-info/30",warning:"bg-warning/10 border-warning/30"},d={standard:"text-muted-foreground hover:text-foreground",info:"text-info hover:text-info/80",warning:"text-warning hover:text-warning/80"};return jsxRuntime.jsx("div",{className:`relative text-sm ${o?"":"mb-2"} ${r||""}`,children:jsxRuntime.jsx(de__namespace.Root,{open:s,onOpenChange:a,className:`border rounded-sm ${u[n]}`,children:jsxRuntime.jsxs("div",{ref:l,className:`overflow-y-auto ${s?"":"max-h-[200px]"}`,children:[i&&jsxRuntime.jsx(de__namespace.Trigger,{className:`sticky top-0 text-center text-xs py-1 transition-opacity w-full cursor-pointer ${d[n]}`,children:s?"Less \u2193":"More \u2191"}),jsxRuntime.jsx("div",{className:`${o?"px-2 py-1":"p-2"} m-0 overflow-x-auto break-words whitespace-pre-wrap`,children:t})]})})})}function cr(t){return new Date(t).toLocaleTimeString("en-US",{hour12:false,hour:"2-digit",minute:"2-digit",second:"2-digit"})}function le({children:t,timestamp:e}){return jsxRuntime.jsxs("div",{className:"flex",children:[e&&jsxRuntime.jsx("span",{className:"text-muted-foreground/60 mr-2 select-none",children:cr(e)}),jsxRuntime.jsx("span",{className:"text-foreground/80",children:t})]})}function ce({children:t,timestamp:e}){return jsxRuntime.jsxs("div",{className:"flex",children:[e&&jsxRuntime.jsx("span",{className:"text-info/60 mr-2 select-none",children:cr(e)}),jsxRuntime.jsx("span",{className:"text-info/90",children:t})]})}function rn({children:t,timestamp:e}){return jsxRuntime.jsxs("div",{className:"flex",children:[e&&jsxRuntime.jsx("span",{className:"text-warning/60 mr-2 select-none",children:cr(e)}),jsxRuntime.jsx("span",{className:"text-warning/90",children:t})]})}function sn({item:t,className:e}){if(!t.content)return null;let n=ji(t.content)??Ui(t.parsedJson);if(!n)return null;let{step_by_step:o,thinking:r,code:s,language:a,warnings:i,error:c}=n,l=typeof a=="string"&&a.length>0?a:"python";return c?jsxRuntime.jsx(wt,{wrapperType:"info",className:e,children:jsxRuntime.jsx(ce,{children:c})}):!o&&!r&&!s&&!i?null:jsxRuntime.jsxs("div",{className:`text-foreground whitespace-pre-wrap leading-normal ${e||""}`,children:[o&&jsxRuntime.jsx(R,{content:o,className:"text-sm max-w-none"}),r&&jsxRuntime.jsx(ie,{content:r,state:typeof t.state=="string"?t.state:void 0}),s&&jsxRuntime.jsx("div",{className:"mb-2",children:jsxRuntime.jsx(vt,{language:l,value:s,defaultOpen:false})}),i&&jsxRuntime.jsxs("div",{className:"text-sm text-warning",children:[jsxRuntime.jsx("div",{className:"font-medium",children:"Warnings"}),jsxRuntime.jsx(R,{content:i,className:"text-sm max-w-none"})]})]})}function ji(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)?t:null}function Ui(t){if(!Array.isArray(t))return null;let n=t.find(o=>o.type==="json");return n&&typeof n.content=="object"&&n.content!==null?n.content:null}function Io({item:t,className:e}){if(!t.content)return null;let n=Fi(t.content,t.parsedJson);if(!n)return null;let o=t.ui_content_type==="code_fix_diagnosis",r=n.thinking||n.diagnosis,s=t.state==="in_progress",a=n.edits?.length??0,i=o?"Diagnosing code issues\u2026":"Rewriting code\u2026",c=o?`Applied ${a} fix${a!==1?"es":""}`:`Rewrote code${n.code?` (${n.code.split(`
|
|
51
51
|
`).length} lines)`:""}`;return jsxRuntime.jsxs("div",{className:`text-sm text-muted-foreground ${e||""}`,children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(it,{status:s?"loading":"finished",size:14}),jsxRuntime.jsx("span",{children:s?i:c})]}),r&&jsxRuntime.jsx("div",{className:"mt-1",children:jsxRuntime.jsx(ie,{content:r,state:t.state})})]})}function Fi(t,e){if(typeof t=="object"&&t!==null&&!Array.isArray(t))return t;if(Array.isArray(e)){let n=e.find(o=>o.type==="json");if(n&&typeof n.content=="object"&&n.content!==null)return n.content}return null}function cn({item:t,className:e}){let n=Gi(t);if(n.sort((a,i)=>a.index-i.index),n.length===0)return null;let o=n.some(a=>a.level==="error"),r=n.some(a=>a.level==="warning"),s=o?"info":r?"warning":"standard";return jsxRuntime.jsx("div",{className:`text-foreground leading-normal ${e||""}`,children:jsxRuntime.jsx(wt,{wrapperType:s,compact:true,children:n.map((a,i)=>jsxRuntime.jsx(Ji,{output:a},`${a.level}-${i}`))})})}function Ji({output:t}){switch(t.level){case "output":return jsxRuntime.jsx(le,{timestamp:t.timestamp,children:t.message});case "error":return jsxRuntime.jsx(ce,{timestamp:t.timestamp,children:t.message});case "warning":return jsxRuntime.jsx(rn,{timestamp:t.timestamp,children:t.message});default:return jsxRuntime.jsx("div",{className:"text-muted-foreground",children:t.message})}}function Gi(t){let e=No(t.content);return e.length>0?e:No(t.parsedJson)}function No(t){return ln(t).map((n,o)=>Wi(n,o)).filter(n=>n!==null)}function ln(t){if(Array.isArray(t))return t.every(qi)?t.flatMap(e=>ln(e.content)):t;if(typeof t=="string"){let e=$(t);return e!=null?ln(e):ln(xt(t))}if(t&&typeof t=="object"){let e=t;if(Array.isArray(e.outputs))return e.outputs;if(typeof e.message=="string"||typeof e.stdout=="string"||typeof e.stderr=="string"||typeof e.content=="string")return [e]}return []}function Wi(t,e){if(!t||typeof t!="object")return null;let n=t,o=typeof n.message=="string"?n.message:typeof n.stdout=="string"?n.stdout:typeof n.stderr=="string"?n.stderr:typeof n.content=="string"?n.content:"";if(!o.trim())return null;let r=typeof n.level=="string"?n.level:n.stderr?"error":n.warning?"warning":"output";return {level:r==="error"||r==="warning"||r==="output"?r:"output",message:o,timestamp:typeof n.timestamp=="string"?n.timestamp:void 0,index:typeof n.index=="number"?n.index:e}}function qi(t){return !!(t&&typeof t=="object"&&"type"in t&&"content"in t)}function Ki(t){if(!t?.result||t.status==="error")return false;let e=t.result;return typeof e=="string"?e.trim()!=="":Array.isArray(e)?e.length>0:typeof e=="object"&&e!==null?Object.keys(e).length>0:true}function Qi(t,e,n){if(e?.finished_message)return e.finished_message;if(e?.running_message)return e.running_message;if(!e&&n?.running_message)return n.running_message;let o=t||"tool";return e?`Completed ${o}`:`Running ${o}...`}function ue({toolGroup:t,ContentComponent:e,className:n,fallbackClassName:o}){let[r,s]=kt.useState(false),a=Q(),i=e??a?.ContentComponent;kt.useEffect(()=>{Qe();},[]);let c=t.invocation,l=t.result,u=Ki(l),d=c?.name||l?.name,p=Qi(d,l,c),m=!l,g=u&&!m;return jsxRuntime.jsxs("div",{className:n,children:[jsxRuntime.jsx("span",{role:g?"button":void 0,tabIndex:g?0:void 0,onClick:()=>g&&s(!r),onKeyDown:f=>{g&&(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),s(!r));},className:`text-sm ${m?"erdo-shimmer":g?"text-muted-foreground hover:text-foreground/70 cursor-pointer transition-colors":"text-muted-foreground"}`,children:p}),r&&u&&l&&jsxRuntime.jsx("div",{className:"mt-1",children:i?jsxRuntime.jsx(i,{content:{content:l.result,content_type:l.ui_content_type||"json"}}):jsxRuntime.jsx("pre",{className:o||"text-sm bg-gray-100 dark:bg-gray-800 p-2 rounded overflow-x-auto",children:JSON.stringify(l.result,null,2)})})]})}var Lt={Success:"success",Error:"error",RequiresInfo:"requires info"};function el(t){return t?t===Lt.Success?"finished":t===Lt.Error||t===Lt.RequiresInfo?"failed":"loading":"loading"}function Do(t){return t?t!==Lt.Success&&t!==Lt.Error&&t!==Lt.RequiresInfo:true}function nl(t,e){let n=e||"agent",o=M(t?.message);return o||(t?.status===Lt.Success?`Finished ${n}`:`Running ${n}...`)}function dn({content:t,botInvocation:e,isLoading:n=false,defaultOpen:o,adminLinkHref:r,adminLinkText:s="Open in Agent Designer",showAdminLink:a=false,onAdminClick:i,onExpand:c,EventsComponent:l,ContentComponent:u,className:d}){let p=()=>o!==void 0?o:Do(e?.currentStatus?.status),[m,g]=kt.useState(p),[f,h]=kt.useState(false),b=kt.useRef(null);if(kt.useEffect(()=>{if(e?.currentStatus){let v=e.currentStatus.status;if(b.current!==v&&(b.current=v,!f)){let N=Do(v);N&&!m?g(true):!N&&m&&g(false);}}},[e,f,m]),kt.useEffect(()=>{m&&e&&c&&c(t.invocation_id,t.bot_id,t.bot_name);},[m,e,c,t]),n&&!e&&!t.transparent)return jsxRuntime.jsxs("div",{className:`flex items-center gap-2 text-sm text-muted-foreground ${d||""}`,children:[jsxRuntime.jsx(it,{status:"loading"}),jsxRuntime.jsxs("span",{children:["Loading ",t.bot_name,"..."]})]});if(!e)return null;let x=e.eventsByID&&Object.keys(e.eventsByID).length>0;if(t.transparent)return x?l?jsxRuntime.jsx(l,{eventsByID:e.eventsByID,defaultOpen:true}):jsxRuntime.jsx(Pt,{eventsByID:e.eventsByID,ContentComponent:u}):null;let y=el(e.currentStatus?.status),k=nl(e.currentStatus,t.bot_name),S=v=>{g(v),h(true);},_=v=>{i&&(v.preventDefault(),i(t.invocation_id,t.bot_id));};return jsxRuntime.jsxs(de__namespace.Root,{open:m,onOpenChange:S,className:`relative w-full max-w-4xl space-y-2 leading-normal bot-invocation-content ${d||""}`,children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntime.jsxs(de__namespace.Trigger,{className:"flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:[jsxRuntime.jsxs("div",{className:"text-sm font-medium flex items-center gap-2",children:[jsxRuntime.jsx(it,{status:y}),k]}),jsxRuntime.jsx(lucideReact.ChevronDown,{className:`h-4 w-4 transition-transform duration-200 ${m?"transform rotate-180":""}`})]}),a&&(r||i)&&jsxRuntime.jsxs("a",{href:r||"#",onClick:i?_:void 0,target:r?"_blank":void 0,rel:r?"noopener noreferrer":void 0,className:"flex items-center gap-1 text-sm text-muted-foreground hover:text-foreground transition-colors",children:[s,jsxRuntime.jsx(lucideReact.ArrowUpRight,{className:"h-3.5 w-3.5"})]})]}),jsxRuntime.jsx(de__namespace.Content,{children:jsxRuntime.jsx("div",{className:"space-y-2 max-w-3xl",children:x?l?jsxRuntime.jsx(l,{eventsByID:e.eventsByID,defaultOpen:m}):jsxRuntime.jsx(Pt,{eventsByID:e.eventsByID,ContentComponent:u}):jsxRuntime.jsx("span",{className:"text-sm text-muted-foreground",children:"No events to display"})})})]})}function Ro({content:t,isSearching:e=false,className:n}){let o=[];Array.isArray(t)?o=t:typeof t=="object"&&t!==null&&"q"in t?o=t.q:typeof t=="string"&&(o=[t]);let r=o.filter(s=>s&&typeof s=="string"&&s.trim()!=="");return r.length===0?null:jsxRuntime.jsx("div",{className:`flex flex-wrap gap-2 ${n||""}`,children:r.map(s=>jsxRuntime.jsxs("div",{className:"inline-flex items-center px-3 py-1.5 rounded-lg text-sm bg-muted/50 text-foreground border border-border/30",children:[e?jsxRuntime.jsx(lucideReact.Loader2,{className:"h-3 w-3 mr-2 text-muted-foreground flex-shrink-0 animate-spin"}):jsxRuntime.jsx(lucideReact.Search,{className:"h-3 w-3 mr-2 text-muted-foreground flex-shrink-0"}),jsxRuntime.jsx("span",{className:"line-clamp-1",children:s})]},s))})}function Ao({content:t,isSearching:e=false,className:n}){let o=[];if(Array.isArray(t))o=t;else if(typeof t=="object"&&t!==null&&"integration_queries"in t)o=t.integration_queries;else if(typeof t=="string")return null;let r=o.filter(s=>s&&s.query&&typeof s.query=="string"&&s.query.trim()!=="");return r.length===0?null:jsxRuntime.jsx("div",{className:`flex flex-wrap gap-2 ${n||""}`,children:r.map(s=>jsxRuntime.jsxs("div",{className:"inline-flex items-center px-3 py-1.5 rounded-lg text-sm bg-muted/50 text-foreground border border-border/30",children:[e?jsxRuntime.jsx(lucideReact.Loader2,{className:"h-3 w-3 mr-2 text-muted-foreground flex-shrink-0 animate-spin"}):jsxRuntime.jsx(lucideReact.Search,{className:"h-3 w-3 mr-2 text-muted-foreground flex-shrink-0"}),jsxRuntime.jsx("span",{className:"line-clamp-1",children:s.query})]},`${s.integration_config_id}-${s.resource_id}-${s.query}`))})}var gl=120;function yl(t,e){return !t||t.length<=e?t:t.slice(0,e).trimEnd()+"..."}function hl(t){switch(t){case "snippet":return lucideReact.Code;case "learning":return lucideReact.Brain;case "error":return lucideReact.AlertCircle;case "limitation":return lucideReact.AlertCircle;case "optimization":return lucideReact.Zap;default:return lucideReact.Lightbulb}}function xl(t){switch(t){case "snippet":return "Snippet";case "learning":return "Learning";case "error":return "Error";case "limitation":return "Limitation";case "optimization":return "Optimization";default:return t}}function kl({memory:t}){let[e,n]=kt.useState(false),o=hl(t.type),r=xl(t.type),s=t.type==="snippet",a=yl(t.description||"",gl),i=t.content&&typeof t.content=="string"&&t.content.trim()!=="",c=s&&i;return jsxRuntime.jsxs(de__namespace.Root,{open:e,onOpenChange:n,className:"border border-border/50 rounded-lg overflow-hidden",children:[jsxRuntime.jsxs(de__namespace.Trigger,{className:`w-full text-left p-3 flex items-start gap-3 ${c?"hover:bg-muted/50 cursor-pointer":"cursor-default"}`,disabled:!c,children:[jsxRuntime.jsx("div",{className:"flex-shrink-0 mt-0.5",children:jsxRuntime.jsx(o,{className:"h-4 w-4 text-muted-foreground"})}),jsxRuntime.jsxs("div",{className:"flex-1 min-w-0",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[jsxRuntime.jsx("span",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide",children:r}),t.tags&&t.tags.length>0&&jsxRuntime.jsxs("div",{className:"flex gap-1 flex-wrap",children:[t.tags.slice(0,3).map((l,u)=>jsxRuntime.jsx("span",{className:"text-xs px-1.5 py-0.5 bg-muted rounded text-muted-foreground",children:l},u)),t.tags.length>3&&jsxRuntime.jsxs("span",{className:"text-xs text-muted-foreground",children:["+",t.tags.length-3]})]})]}),jsxRuntime.jsx("p",{className:"text-sm text-foreground",children:s?a:t.description||t.content})]}),c&&jsxRuntime.jsx(lucideReact.ChevronDown,{className:`h-4 w-4 text-muted-foreground flex-shrink-0 transition-transform duration-200 ${e?"rotate-180":""}`})]}),c&&jsxRuntime.jsx(de__namespace.Content,{children:jsxRuntime.jsx("div",{className:"border-t border-border/50 bg-muted/30",children:jsxRuntime.jsx("pre",{className:"p-3 text-sm overflow-x-auto whitespace-pre-wrap break-words font-mono",children:t.content})})})]})}function fn({content:t,className:e}){let n=Array.isArray(t)?t:t?.memories;return !n||n.length===0?jsxRuntime.jsx("p",{className:"text-sm text-muted-foreground",children:"No memories found."}):jsxRuntime.jsx("div",{className:`space-y-2 ${e||""}`,children:n.map(o=>jsxRuntime.jsx(kl,{memory:o},o.id))})}function ur(){return jsxRuntime.jsxs("span",{className:"inline-flex gap-1 text-muted-foreground",children:[jsxRuntime.jsx("span",{className:"animate-bounce",style:{animationDelay:"0ms"},children:"\u25CF"}),jsxRuntime.jsx("span",{className:"animate-bounce",style:{animationDelay:"150ms"},children:"\u25CF"}),jsxRuntime.jsx("span",{className:"animate-bounce",style:{animationDelay:"300ms"},children:"\u25CF"})]})}function Vo(){return jsxRuntime.jsx("div",{className:"flex items-center justify-center py-8",children:jsxRuntime.jsx(lucideReact.Loader2,{className:"animate-spin text-muted-foreground",size:24})})}function Sl(t){if(t.content_type==="bot_invocation"||t.content_type==="bot_invocation_result")return null;if(t.content&&typeof t.content=="object"){let n=t.content,o=n.tool_invocation_content;if(n.action_type==="bot.invoke"||o?.action_type==="bot.invoke")return null}if(t.content_type==="tool_invocation")return "tool_invocation";if(t.content_type==="tool_result")return "tool_result";if(!t.content||typeof t.content!="object")return null;let e=t.content;return "action_type"in e&&"name"in e&&"input"in e&&e.action_type!=="bot.invoke"?"result"in e?"tool_result":"tool_invocation":null}function $t({content:t,className:e,components:n}){let r=Q()?.onSuggestionClick,s=kt.useMemo(()=>l=>jsxRuntime.jsx($t,{...l,components:n}),[n]);if(!t.content||t.content==="")return null;if(t.content&&typeof t.content=="object"){let l=t.content,u=l.tool_invocation_content;if(l.action_type==="bot.invoke"||u?.action_type==="bot.invoke")return null}let a=Sl(t),i;a?i=a:i=M(t.ui_content_type)||t.content_type;let c=n?.[i];if(c)return jsxRuntime.jsx(c,{content:t,className:e});switch(i){case "text":return jsxRuntime.jsx(we,{content:Bo(t),className:e});case "markdown":return jsxRuntime.jsx(R,{content:Bo(t),className:e});case "thinking":case "redacted_thinking":return jsxRuntime.jsx(oe,{item:t,className:e});case "json":return jsxRuntime.jsx(ht,{content:t.content,className:e});case "codegen_json":return jsxRuntime.jsx(sn,{item:t,className:e});case "code_rewrite":case "code_fix_diagnosis":return jsxRuntime.jsx(Io,{item:t,className:e});case "sql_generation":return jsxRuntime.jsx(en,{item:t,className:e});case "codeexec_output":return jsxRuntime.jsx(cn,{item:t,className:e});case "log":return jsxRuntime.jsx(Ze,{item:t,className:e});case "websearch":case "websearch_output":case "web_search":return jsxRuntime.jsx(Ye,{item:t,className:e});case "search_queries":return jsxRuntime.jsx(Ro,{content:t.content,className:e});case "integration_queries":return jsxRuntime.jsx(Ao,{content:t.content,className:e});case "memory":return jsxRuntime.jsx(fn,{content:t.content,className:e});case "webparse":case "webparse_output":case "web_parse":return jsxRuntime.jsx(Xe,{item:t,className:e});case "tool_group":return jsxRuntime.jsx(ue,{toolGroup:t.content,ContentComponent:s,className:e});case "bot_invocation":{let l=t.content,u=t.botInvocation;return jsxRuntime.jsx(dn,{content:l,botInvocation:u,ContentComponent:s,className:e})}case "chart":case "ui_generation":{let l=t.invocation_id||t.created_by_invocation_id;if(t.chartConfig&&t.chartData)return jsxRuntime.jsx(He,{config:t.chartConfig,data:t.chartData,className:e});let u=De(t.content);if(u&&Oo(u))return Mo(u,e,l,r);let d=De(t.parsedJson);return d&&Oo(d)?Mo(d,e,l,r):u&&u.length>0||d&&d.length>0?jsxRuntime.jsx("p",{className:"w-full max-w-4xl text-sm text-muted-foreground",children:"The LLM generated an invalid response. Please try again."}):null}case "table":return t.tableColumns&&t.tableData?jsxRuntime.jsx(Ke,{columns:t.tableColumns,data:t.tableData,className:e}):jsxRuntime.jsx(ht,{content:t.content,className:e});case "tool_invocation":{let l=t.content,u={invocation:{invocation_id:l.id||"",action:l.action_type||"",params:l.input||{},id:l.id||"",name:l.name||"",input:l.input||{},description:l.description,action_type:l.action_type,running_message:l.running_message}};return jsxRuntime.jsx(ue,{toolGroup:u,ContentComponent:s,className:e})}case "tool_result":{let l=t.content,u={invocation:{invocation_id:l.id||"",action:l.action_type||"",params:l.input||{}},result:{invocation_id:l.id||"",result:l.result}},d={...u,invocation:{...u.invocation,id:l.id||"",name:l.name||"",input:l.input||{},action_type:l.action_type,description:l.description},result:{...u.result,id:l.id||"",name:l.name||"",input:l.input||{},result:l.result,status:l.status||"success",action_type:l.action_type,description:l.description,ui_content_type:l.ui_content_type||M(t.ui_content_type),running_message:l.running_message||l.running_status,finished_message:l.finished_message||l.finished_status}};return jsxRuntime.jsx(ue,{toolGroup:d,ContentComponent:s,className:e})}default:return typeof t.content=="string"?jsxRuntime.jsx(we,{content:t.content,className:e}):null}}function Bo(t){return typeof t.content=="string"?t.content:""}function Oo(t){return t.some(e=>{if(e.type==="text"){if(typeof e.content!="string")return false;let n=e.content.trim();return !(!n||n.startsWith("{")||n.startsWith("["))}if(e.type==="json"){let n=e.content,o=Lo(n);return o!==void 0&&o.length>0||te(n)}return false})}function Lo(t){let e=t?.children??t?.blocks;return Array.isArray(e)?e:void 0}function De(t){if(t==null)return null;if(Array.isArray(t))return t.every(o=>o&&typeof o=="object"&&"type"in o&&"content"in o)?t:t.every(o=>o&&typeof o=="object"&&"_type"in o)?[{type:"json",content:{children:t}}]:null;if(typeof t=="object")return [{type:"json",content:t}];if(typeof t=="string"){let e=xt(t);return De(e)}return null}function Mo(t,e,n,o){return jsxRuntime.jsx(jsxRuntime.Fragment,{children:t.map((r,s)=>{if(r.type==="text"){let a=typeof r.content=="string"?r.content:String(r.content);return jsxRuntime.jsx(R,{content:a,className:e},`${s}-${a.length}`)}if(r.type==="json"){let a=r.content,i=Lo(a);return i?jsxRuntime.jsx(kt__namespace.default.Fragment,{children:jsxRuntime.jsx(re,{nodes:i,className:e,invocationId:n,onSuggestionClick:o})},`${s}-${i.length}`):te(a)?jsxRuntime.jsx(ur,{},s):null}return null})})}function Il({result:t,isStreaming:e,className:n,components:o,streamingText:r}){let s=t?$o(t):[];return r&&s.length===0?jsxRuntime.jsxs("div",{className:n?`erdo-ui ${n}`:"erdo-ui space-y-4",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("div",{className:"animate-pulse w-2 h-2 bg-blue-500 rounded-full"}),jsxRuntime.jsx("span",{className:"text-sm text-gray-500",children:"Streaming response..."})]}),jsxRuntime.jsx("div",{className:"border rounded-lg p-4 whitespace-pre-wrap",children:r})]}):s.length===0&&!e?null:jsxRuntime.jsxs("div",{className:n?`erdo-ui ${n}`:"erdo-ui space-y-4",children:[s.map((a,i)=>jsxRuntime.jsx("div",{children:jsxRuntime.jsx($t,{content:a,components:o})},a.id||i)),e&&s.length===0&&!r&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("div",{className:"animate-pulse w-2 h-2 bg-blue-500 rounded-full"}),jsxRuntime.jsx("span",{className:"text-sm text-gray-500",children:"Processing..."})]})]})}function $o(t){let e=[],n=new Set;if(t.events)for(let o of t.events){let r=o.metadata,s=o.payload;if(r?.user_visibility==="visible"&&s?.status==="success"&&s?.output){let a=s.output;if(a.content&&Array.isArray(a.content))for(let i=0;i<a.content.length;i++){let c=a.content[i],l=c.id||`event-result-${i}`;if(n.has(l))continue;n.add(l);let u=r?.ui_content_type;e.push({id:l,content_type:c.content_type||"text",ui_content_type:u,content:c.content,data:c.data,chartConfig:c.chartConfig,chartData:c.chartData,tableColumns:c.tableColumns,tableData:c.tableData});}}}if(e.length===0&&t.result?.output?.content){let o=t.result.output.content;if(Array.isArray(o))for(let r=0;r<o.length;r++){let s=o[r],a=s.id||`result-${r}`;if(n.has(a))continue;n.add(a);let i=s.ui_content_type;e.push({...s,id:a,ui_content_type:i});}}return e}function Nl(t){if(t.length===0)return t;let e=false;for(let o=0;o<t.length-1;o++){let r=t[o].type,s=t[o+1].type;if(r==="text"&&s==="json"||r==="json"&&s==="text"){e=true;break}}if(!e)return t;let n=[];for(let o=0;o<t.length;o++){let r=t[o],s=o>0?t[o-1]:null,a=o<t.length-1?t[o+1]:null;if(r.type==="text"&&typeof r.content=="string"){let i=r.content,c=false;if(a?.type==="json"){let l=i;i=i.replace(/```(?:json)?\s*$/,""),l!==i&&(c=true);}if(s?.type==="json"){let l=i;i=i.replace(/^\s*```/,""),l!==i&&(c=true);}(!c||i.trim())&&n.push({...r,content:i});}else n.push(r);}return n}var Tl=new Set(["=","("]);function El(t){if(!t||t.length===0)return true;let e=t[t.length-1];return !Tl.has(e)}function dr(t,e){if(t.user_visibility!=="visible"||!ve(t.content_type,t.ui_content_type.String))return typeof t.content=="object"?t:{...t,content:(t.content||"")+e};if(typeof t.content=="object"&&t.content!==null)return t;let n=t.parsedJson?[...t.parsedJson]:[];n.length>0&&(n[n.length-1]={...n[n.length-1]});let o=(t.content||"")+e,r=t._isInJson??false,s=t._charBuffer??"",a=t._jsonParser,i=n.length>0&&t._currentContent?n[n.length-1]:void 0;if(typeof e=="object")return {...t,content:(t.content||"")+JSON.stringify(e),parsedJson:[...n,e],_isInJson:r,_charBuffer:s,_jsonParser:a,_currentContent:void 0};let c=o.length-e.length,l="",u=()=>{l&&(!i||i.type!=="text"?(i={content:l,type:"text"},n.push(i)):i.content=i.content+l,l="");};for(let m=0;m<e.length;m++){let g=e[m];if(!r&&g==="{"){let f=o.slice(0,c+m);if(El(f)){u(),s="{";continue}}if(s&&Bt(g)){s+=g;continue}if(!r&&s?.match(/^\s*{\s*$/)&&g==='"'){r=true,a=new nt;let h={content:a.add("{"),type:"json"};i?.content?typeof i.content=="string"&&i.content.match(/^\s*{$/)?(i=h,n[n.length-1]=h):(typeof i.content=="string"&&(i.content=i.content.replace(/{$/,"")),i=h,n.push(h)):(i=h,n.push(h));}if(r)try{let f=a.add(g);i.content=f,a.state==="END"&&(r=!1,i=void 0);}catch{if(r=false,a=void 0,i&&i.type==="json"){let h=o.lastIndexOf("{"),b=o.slice(h,c+m+1);i.type="text",i.content=b;}continue}else l+=s+g;s="";}u();let d=i,p=Nl(n);return {...t,content:o,parsedJson:p,_isInJson:r,_charBuffer:s,_jsonParser:a,_currentContent:d}}function Re(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Dl(t){if(!Re(t)||!("content"in t))return t;let e=t.content;return e===void 0?t:e}function fe(t,e){let n=Dl(e);if((t==="thinking"||t==="redacted_thinking")&&typeof n=="string"){let o=$(n);return Re(o)?{content:o}:{content:n}}if(t==="json"&&typeof n=="string"){let o;try{let s=xt(n);Array.isArray(s)&&(o=s);}catch{}let r=$(n);return r!=null?{content:r,parsedJson:o}:{content:n,parsedJson:o}}return {content:n}}function Rl(t,e){return typeof e=="string"?e:Re(e)?t==="redacted_thinking"?typeof e.data=="string"?e.data:"":typeof e.thinking=="string"?e.thinking:"":""}function yn(t,e,n){let o=fe(t,n);if(t!=="thinking"&&t!=="redacted_thinking")return o;let r=Rl(t,e);return r?t==="redacted_thinking"?Re(o.content)&&typeof o.content.data!="string"?{...o,content:{...o.content,data:r}}:o:Re(o.content)&&typeof o.content.thinking!="string"?{...o,content:{...o.content,thinking:r}}:o:o}function hn(t){let e=t.metadata?.step_id??t.payload?.step_id;return typeof e=="string"?e:""}function pr(t){let e=t.metadata?.message_content_id??t.payload?.message_content_id;return typeof e=="string"?e:""}function Al(t){let e=t.metadata?.message_id;return typeof e=="string"?e:""}function mr(t,e){if(e.metadata?.content_type==="agent_invocation")return true;let n=Al(e);return !!(n&&n!==t.messageId)}function Pl(t){return typeof t=="string"?t:typeof t=="object"&&t!==null&&"content"in t?String(t.content??""):""}function xn(){return {nodes:[],byStepId:{},byContentId:{},childrenByParentId:{},rootStepId:null,messageId:null,isStreaming:false}}function fr(t,e){switch(e.type){case "message created":return Bl(t,e);case "message finished":return jo(t);case "step_started":return Ol(t,e);case "step_finished":return Ml(t,e);case "create message content":return Vl(t,e);case "message content delta":return Ll(t,e);case "message content result":return $l(t,e);case "status":return Ul(t,e);default:return t}}function Bl(t,e){let n=e.metadata?.message_id??e.payload?.message_id;if(!n)return t;let o=e.payload?.role,r=!!e.metadata?.invocation_id;return o==="assistant"||!o&&r?{...t,messageId:n}:t}function Ol(t,e){let n=e.payload;if(!n?.step_id)return t;let o=t.byStepId[n.step_id],r=n.parent_step_id??null,s={kind:"step",id:n.step_id,parentId:r,type:n.type||o?.type||"agent",name:n.name||o?.name||"",key:n.key??o?.key,status:"running",contentType:n.content_type??o?.contentType,runningStatus:n.running_status??o?.runningStatus,finishedStatus:n.finished_status??o?.finishedStatus,hidden:n.hidden??o?.hidden},i=!r&&!t.rootStepId?n.step_id:t.rootStepId,c=r??"__root__",l=t.childrenByParentId[c]??[],u=l.includes(n.step_id)?t.childrenByParentId:{...t.childrenByParentId,[c]:[...l,n.step_id]},d=o?t.nodes.map(p=>p.kind==="step"&&p.id===n.step_id?s:p):[...t.nodes,s];return {...t,nodes:d,byStepId:{...t.byStepId,[n.step_id]:s},childrenByParentId:u,rootStepId:i,isStreaming:true}}function Ml(t,e){let n=e.payload;if(!n?.step_id)return t;let o=t.byStepId[n.step_id];if(!o){let c={kind:"step",id:n.step_id,parentId:null,type:"agent",name:"",status:n.status==="error"?"error":"completed",error:n.error,finishedStatus:n.finished_status};return {...t,nodes:[...t.nodes,c],byStepId:{...t.byStepId,[n.step_id]:c}}}let r={...o,status:n.status==="error"?"error":"completed",error:n.error??o.error,...n.finished_status?{finishedStatus:n.finished_status}:{}},s=n.step_id===t.rootStepId,a=t.nodes.map(c=>c.kind==="step"&&c.id===n.step_id?r:c.kind==="content"&&c.stepId===n.step_id?{...c,state:"completed"}:c),i={...t.byContentId};for(let[c,l]of Object.entries(i))l.stepId===n.step_id&&(i[c]={...l,state:"completed"});return {...t,nodes:a,byStepId:{...t.byStepId,[n.step_id]:r},byContentId:i,isStreaming:s?false:t.isStreaming}}function Vl(t,e){if(mr(t,e))return t;let n=pr(e);if(!n)return t;let o=hn(e)||null,r=typeof e.metadata?.content_type=="string"&&e.metadata.content_type||"text",s=typeof e.metadata?.ui_content_type=="string"&&e.metadata.ui_content_type||r,a=t.byContentId[n];if(a){let c={...a,stepId:a.stepId??o,contentType:a.contentType==="text"?r:a.contentType,uiContentType:a.uiContentType==="text"?s:a.uiContentType};return {...t,nodes:t.nodes.map(l=>l.kind==="content"&&l.id===n?c:l),byContentId:{...t.byContentId,[n]:c}}}let i={kind:"content",id:n,stepId:o,contentType:r,uiContentType:s,text:"",state:"streaming"};return {...t,nodes:[...t.nodes,i],byContentId:{...t.byContentId,[n]:i}}}function Ll(t,e){if(mr(t,e))return t;let n=pr(e),o=Pl(e.payload);if(!n||!o)return t;let r=t.byContentId[n],s=t;if(!r){let u=hn(e)||null,d=typeof e.metadata?.content_type=="string"&&e.metadata.content_type||"text",p=typeof e.metadata?.ui_content_type=="string"&&e.metadata.ui_content_type||d;r={kind:"content",id:n,stepId:u,contentType:d,uiContentType:p,text:"",state:"streaming"},s={...t,nodes:[...t.nodes,r],byContentId:{...t.byContentId,[n]:r}};}let a=r.text+o,i={},c=r.parsedContent;if(r.contentType==="json"){let u=Gl(r,o);c=u.parsedContent,i=u._parserFields;}let l={...r,text:a,...c!==void 0?{parsedContent:c}:{},...i};return {...s,nodes:s.nodes.map(u=>u.kind==="content"&&u.id===n?l:u),byContentId:{...s.byContentId,[n]:l}}}function $l(t,e){if(mr(t,e))return t;let n=pr(e);if(!n)return t;let o=hn(e)||null,r=typeof e.metadata?.content_type=="string"&&e.metadata.content_type||"text",s=typeof e.metadata?.ui_content_type=="string"&&e.metadata.ui_content_type||r,a=t.byContentId[n],i=a?yn(r,a.result??a.text,e.payload):fe(r,e.payload);if(!a){let l={kind:"content",id:n,stepId:o,contentType:r,uiContentType:s,text:"",result:i.content,...i.parsedJson?{parsedContent:i.parsedJson}:{},state:"completed"};return {...t,nodes:[...t.nodes,l],byContentId:{...t.byContentId,[n]:l}}}let c={...a,result:i.content,...i.parsedJson?{parsedContent:i.parsedJson}:{},state:"completed"};return {...t,nodes:t.nodes.map(l=>l.kind==="content"&&l.id===n?c:l),byContentId:{...t.byContentId,[n]:c}}}function jo(t){let e=t.nodes.map(o=>o.kind==="content"&&o.state==="streaming"?{...o,state:"completed"}:o),n={...t.byContentId};for(let[o,r]of Object.entries(n))r.state==="streaming"&&(n[o]={...r,state:"completed"});return {...t,nodes:e,byContentId:n,isStreaming:false}}function jl(t){let e=t.payload;return typeof e=="string"?e:e?.message||e?.status_message||e?.status||""}function Ul(t,e){let n=hn(e)||null,o=jl(e);if(!o)return t;if(n){let s=t.byStepId[n];return s?Fl(t,s,n,o):Jl(t,n,o)}let r={kind:"status",stepId:null,message:o};return {...t,nodes:[...t.nodes,r]}}function Fl(t,e,n,o){let r=e.status==="completed"||e.status==="error"?{...e,finishedStatus:o}:{...e,runningStatus:o};return {...t,nodes:t.nodes.map(s=>s.kind==="step"&&s.id===n?r:s),byStepId:{...t.byStepId,[n]:r}}}function Jl(t,e,n){let o=false,r=t.nodes.map(a=>{if(a.kind!=="content"||a.stepId!==e||a.contentType!=="tool_invocation"&&a.contentType!=="tool_result"||!a.result||typeof a.result!="object")return a;o=true;let i=a.state==="completed"?"finished_message":"running_message";return {...a,result:{...a.result,[i]:n}}});if(!o)return t;let s={...t.byContentId};for(let a of r)a.kind==="content"&&a.stepId===e&&t.byContentId[a.id]!==a&&(s[a.id]=a);return {...t,nodes:r,byContentId:s}}function Gl(t,e){let n=t,o={content:n._rawText??t.text,user_visibility:"visible",content_type:"json",ui_content_type:{String:t.uiContentType||"json",Valid:true},parsedJson:t.parsedContent??[],_jsonParser:n._jsonParser,_isInJson:n._isInJson,_charBuffer:n._charBuffer??"",_currentContent:n._currentContent},r=dr(o,e);return {parsedContent:r.parsedJson,_parserFields:{_rawText:r.content,_jsonParser:r._jsonParser,_isInJson:r._isInJson,_charBuffer:r._charBuffer,_currentContent:r._currentContent}}}function Wl(t){for(let e of t.nodes){if(e.kind==="step"){let o=t.byStepId[e.id];if(o&&o.type==="tool_call"&&!o.hidden)return true;continue}if(e.kind!=="content")continue;let n=t.byContentId[e.id];if(n&&!(n.contentType==="tool_invocation"||n.contentType==="agent_invocation")&&(n.contentType==="tool_result"&&n.result||n.text||n.parsedContent?.length||n.result))return true}return false}function kn(t,e,n){return e.type!=="llm_call"?false:!(e.parentId===t.rootStepId)&&n.contentType==="text"}function bn(t){if(!t.rootStepId)return [];let e=[],n={};function o(s){if(!s)return false;if(s in n)return n[s];let a=s,i=false,c=[];for(;a;){if(a in n){i=i||n[a];break}c.push(a);let l=t.byStepId[a];if(!l)return false;if(l.hidden){i=true;break}a=l.parentId;}for(let l of c)n[l]=i;return i}function r(s){let a=false;if(s.contentType==="thinking"||s.contentType==="redacted_thinking"){let c=s.result??s.text;e.push({id:s.id,content_type:s.contentType,ui_content_type:s.uiContentType||s.contentType,content:c,state:s.state==="streaming"?"in_progress":"completed"}),a=true;}else if(s.contentType==="json"){if(s.parsedContent)for(let c=0;c<s.parsedContent.length;c++){let l=s.parsedContent[c];if(l.type==="text"&&l.content)e.push({id:`${s.id}-text-${c}`,content_type:"text",ui_content_type:"markdown",content:String(l.content)}),a=true;else if(l.type==="json"&&typeof l.content=="object"){let u=l.content;typeof u.output=="string"?e.push({id:`${s.id}-text-${c}`,content_type:"text",ui_content_type:"markdown",content:u.output}):typeof u.markdown=="string"?e.push({id:`${s.id}-text-${c}`,content_type:"text",ui_content_type:"markdown",content:u.markdown}):e.push({id:`${s.id}-json-${c}`,content_type:"json",ui_content_type:s.uiContentType||"ui_generation",content:u,state:s.state==="streaming"?"in_progress":"completed"}),a=true;}}else if(s.result){let c=typeof s.result=="string"?ql(s.result):s.result;c&&typeof c=="object"&&(e.push({id:s.id,content_type:"json",ui_content_type:s.uiContentType||"json",content:c,state:s.state==="streaming"?"in_progress":"completed"}),a=true);}}if(a)return;let i=s.result??s.text;i&&e.push({id:s.id,content_type:s.contentType||"text",ui_content_type:s.uiContentType||"markdown",content:i,state:s.state==="streaming"?"in_progress":"completed"});}for(let s of t.nodes){if(s.kind!=="content")continue;let a=t.byContentId[s.id];if(!a||a.contentType==="tool_invocation")continue;if(a.contentType==="tool_result"){a.result&&a.result.action_type!=="bot.invoke"&&e.push({id:a.id,content_type:"tool_result",ui_content_type:a.uiContentType||"tool_result",content:a.result});continue}if(a.stepId===null){r(a);continue}let i=t.byStepId[a.stepId];if(!i){r(a);continue}o(i.id)||i.type!=="tool_call"&&(i.type==="llm_call"&&kn(t,i,a)||r(a));}return e}function ql(t){return t?$(t):null}function Yl(t){return (t.status==="completed"||t.status==="error")&&t.finishedStatus?t.finishedStatus:t.runningStatus?t.runningStatus:t.name.replace(/_/g," ")}function Xl(t){return t==="running"?"loading":t==="error"?"failed":"finished"}function tc(t,e){let n=t.byStepId[e];if(!n||n.type!=="agent"||(t.childrenByParentId[e]||[]).some(s=>{let a=t.byStepId[s];return !!a&&a.type==="agent"&&!a.hidden}))return false;for(let s of t.nodes){if(s.kind!=="step")continue;let a=t.byStepId[s.id];if(!a||a.type!=="agent"||a.hidden||a.id===e)continue;let i=a.id;for(;i;){if(i===e)return true;i=t.byStepId[i]?.parentId??null;}}return false}function ec(t){return t==="info"?"info":t==="warning"?"warning":"standard"}function nc(t){let e=t.trim();if(!e)return null;let n=new Set;n.add(e);let o=e.match(/^```[a-zA-Z0-9_-]*\n([\s\S]*?)\n```$/);o?.[1]&&n.add(o[1].trim());let r=e.indexOf("{"),s=e.lastIndexOf("}");r>=0&&s>r&&n.add(e.slice(r,s+1).trim());let a=e.indexOf("["),i=e.lastIndexOf("]");a>=0&&i>a&&n.add(e.slice(a,i+1).trim());for(let c of n){if(!c)continue;let l=$(c);if(l!=null)return typeof l=="string"?$(l)??l:l}return null}function Uo(t,e){let n=[],o="",r=[],s=0;function a(){r.length>0&&(n.push({id:`${e}-exec-${s}`,type:"codeexec",content:r.join(`
|
|
52
52
|
`),wrapperType:ec(o)}),s++,r=[]);}for(let i of t){let c=typeof i.message=="string"?i.message:"";if(!c)continue;let l=typeof i.level=="string"?i.level:"output";l!==o&&r.length>0&&a(),o=l,r.push(c);}return a(),n}function Fo(t,e,n){let o=[];for(let r of t){if(r.contentType==="tool_invocation"||r.contentType==="tool_result")continue;let s=`${e}-content-${r.id}`,a=r.state==="streaming"?"running":"completed";if(r.contentType==="thinking"||r.contentType==="redacted_thinking"){let i=r.result??r.text;if(!i)continue;o.push({id:s,type:"thinking",contentItem:{id:s,content_type:r.contentType,ui_content_type:r.uiContentType||r.contentType,content:i,state:r.state==="streaming"?"in_progress":"completed"},status:a});continue}if(r.result){let i=r.result;if(typeof r.result=="string")if(r.contentType==="json"){let c=$(r.result);if(c!=null)i=c;else {let l=nc(r.result);if(l!==null)i=l;else if(!(r.parsedContent&&r.parsedContent.length>0))if(n){o.push({id:s,type:"content",contentItem:{id:s,content_type:r.contentType,ui_content_type:r.uiContentType||"ui_generation",content:r.result,state:r.state==="streaming"?"in_progress":"completed"}});continue}else {o.push({id:s,type:"text",content:r.result});continue}}}else {o.push({id:s,type:"text",content:r.result});continue}if(Array.isArray(i)&&i.length>0){o.push(...Uo(i,s));continue}if(typeof i=="object"&&i!==null){let c=i;if(typeof c.code=="string"){o.push({id:s,type:"codegen",contentData:c,status:a});continue}if(n){o.push({id:s,type:"content",contentItem:{id:s,content_type:r.contentType,ui_content_type:r.uiContentType,content:i,state:r.state==="streaming"?"in_progress":"completed"}});continue}}}if(r.contentType==="json"&&r.parsedContent){if(r.uiContentType==="codeexec_output"){let i=[];for(let c of r.parsedContent)c.type==="json"&&typeof c.content=="object"&&i.push(c.content);o.push(...Uo(i,s));continue}for(let i=0;i<r.parsedContent.length;i++){let c=r.parsedContent[i];if(c.type==="text"&&c.content)o.push({id:`${s}-text-${i}`,type:"text",content:String(c.content)});else if(c.type==="json"&&typeof c.content=="object"){let l=c.content;typeof l.code=="string"?o.push({id:`${s}-codegen-${i}`,type:"codegen",contentData:l,status:a}):typeof l.markdown=="string"?o.push({id:`${s}-text-${i}`,type:"text",content:l.markdown}):typeof l.output=="string"?o.push({id:`${s}-text-${i}`,type:"text",content:l.output}):n&&o.push({id:`${s}-content-${i}`,type:"content",contentItem:{id:`${s}-content-${i}`,content_type:"json",ui_content_type:r.uiContentType||"ui_generation",content:l,state:r.state==="streaming"?"in_progress":"completed"}});}}continue}r.text&&r.contentType!=="json"&&o.push({id:s,type:"text",content:r.text});}return o}function rc(t,e){if(!t.rootStepId)return [];let n=[],o={},r={},s=new Set,a={},i={},c={},l={};function u(y){if(y!==t.rootStepId)return false;if(y in a)return a[y];let k=tc(t,y);return a[y]=k,k}function d(y){return r[y]||(r[y]=[]),r[y]}function p(y){if(y)return t.byStepId[y]}function m(y){if(!y)return false;if(y in l)return l[y];let k=y,S=[],_=false;for(;k;){if(k in l){_=_||l[k];break}S.push(k);let v=p(k);if(!v)break;if(v.hidden){_=true;break}k=v.parentId;}for(let v of S)l[v]=_;return _}function g(y){return m(y.id)}for(let y of t.nodes){if(y.kind!=="content")continue;let k=t.byContentId[y.id];if(!k||!k.stepId||k.contentType==="tool_invocation"||k.contentType==="tool_result"||k.contentType==="agent_invocation"||!k.text&&!k.result&&!k.parsedContent?.length)continue;let S=p(k.stepId);if(!S||g(S)||S.type==="llm_call"&&kn(t,S,k))continue;let _=k.stepId;for(;_;){c[_]=true;let v=p(_);if(!v)break;_=v.parentId;}}function f(y){return !!c[y]}function h(y){if(!y)return null;if(y in i)return i[y];let k=y;for(;k;){let S=p(k);if(!S)break;let _=k===t.rootStepId,v=S.type==="agent"&&!S.hidden&&(!_||!u(S.id)),N=S.type==="tool_call"&&!S.hidden;if(v||N)return i[y]=k,k;k=S.parentId;}return i[y]=null,null}function b(y,k){if(k.length===0)return;let S=h(y);if(!S){n.push(...k);return}let _=o[S];if(!_){d(S).push(...k);return}_.children||(_.children=[]),_.children.push(...k);}function x(y,k,S){if(!S||typeof S!="object")return [];let _=S,v=typeof _.result=="object"&&_.result!==null?_.result:_,N=[];typeof v.code=="string"&&v.code.trim()&&N.push({id:`${y}-${k}-codegen`,type:"codegen",contentData:v});let U=typeof v.output=="string"?v.output.trim():"";return U&&N.push({id:`${y}-${k}-output`,type:"codeexec",content:U}),N}for(let y of t.nodes){if(y.kind==="step"){let _=t.byStepId[y.id];if(!_||_.hidden||_.type==="llm_call"||_.id===t.rootStepId&&u(_.id)||s.has(_.id))continue;s.add(_.id);let v={id:_.id,type:"step",label:Yl(_),status:_.status},N=r[_.id];N&&N.length>0&&(v.children=N,delete r[_.id]),o[_.id]=v,b(_.parentId,[v]);continue}if(y.kind!=="content")continue;let k=t.byContentId[y.id];if(!k||k.contentType==="tool_invocation")continue;if(k.stepId===null){n.push(...Fo([k],"root",e));continue}let S=t.byStepId[k.stepId];if(S&&!g(S)&&!(S.type==="llm_call"&&kn(t,S,k))){if(S.type==="tool_call"&&k.contentType==="tool_result"){if(f(S.id))continue;b(S.id,x(S.id,k.id,k.result));continue}b(S.id,Fo([k],S.id,e));}}return n}function Jo({node:t,ContentComponent:e}){let[n,o]=kt.useState(t.status==="running"),r=kt.useRef(t.status==="running");if(kt.useEffect(()=>{r.current&&t.status!=="running"&&o(false),r.current=t.status==="running";},[t.status]),t.type==="text")return jsxRuntime.jsx(R,{content:t.content||"",className:"max-w-none"});if(t.type==="codegen"&&t.contentData){let{code:i,step_by_step:c,thinking:l}=t.contentData;return jsxRuntime.jsxs("div",{className:"space-y-2",children:[c&&jsxRuntime.jsx(R,{content:c,className:"text-sm max-w-none"}),l&&jsxRuntime.jsx(ie,{content:l,state:t.status==="running"?"in_progress":"completed"}),i&&jsxRuntime.jsx(vt,{language:"python",value:i,defaultOpen:false})]})}if(t.type==="codeexec"&&t.content){let i=t.wrapperType||"standard";return jsxRuntime.jsx(wt,{wrapperType:i,compact:true,children:jsxRuntime.jsx(le,{children:t.content})})}if(t.type==="thinking"&&t.contentItem)return jsxRuntime.jsx(oe,{item:t.contentItem});if(t.type==="content"&&t.contentItem&&e)return jsxRuntime.jsx(e,{content:t.contentItem});if(t.type==="content"&&t.contentItem)return jsxRuntime.jsx($t,{content:t.contentItem});let s=!!t.children?.length,a=t.status==="running"?"text-foreground":"text-muted-foreground";return jsxRuntime.jsxs(de__namespace.Root,{open:n,onOpenChange:o,className:"w-full",children:[jsxRuntime.jsxs(de__namespace.Trigger,{className:`flex items-center justify-between w-full text-sm py-0.5 ${a} ${s?"hover:text-foreground cursor-pointer":"cursor-default"}`,disabled:!s,children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(it,{status:Xl(t.status),size:14}),jsxRuntime.jsx("span",{children:t.label})]}),s&&jsxRuntime.jsx(lucideReact.ChevronDown,{className:`h-4 w-4 shrink-0 text-muted-foreground/50 transition-transform duration-200 ${n?"rotate-180":""}`})]}),s&&jsxRuntime.jsx(de__namespace.Content,{children:jsxRuntime.jsx("div",{className:"ml-5 mt-1 flex flex-col gap-1",children:t.children?.map(i=>jsxRuntime.jsx(Jo,{node:i,ContentComponent:e},i.id))})})]})}function Go({agentState:t,ContentComponent:e,className:n}){if(!t.rootStepId)return null;let o=kt.useMemo(()=>rc(t,e),[t,e]);return o.length===0?null:jsxRuntime.jsx("div",{className:`flex flex-col gap-1 ${n||""}`,children:o.map(r=>jsxRuntime.jsx(Jo,{node:r,ContentComponent:e},r.id))})}function _n(t){if(t.type==="dynamic-tool"&&t.toolName?.startsWith("erdo_"))return t.toolName;if(t.type.startsWith("tool-erdo_"))return t.type.slice(5)}function oc(t){return _n(t)!==void 0}var sc={erdo_render_chart:"ui",erdo_render_table:"ui",erdo_ask_data_question:"markdown",erdo_list_datasets:"data",erdo_search_datasets:"data",erdo_get_dataset_schema:"data",erdo_gather_dataset_context:"data",erdo_query_data:"data",erdo_run_query:"data",erdo_fetch_dataset_contents:"data",erdo_list_threads:"data",erdo_get_thread_messages:"data"};function gr(t){return sc[t]??"data"}function Wo({part:t,className:e,onSuggestionClick:n}){let o=_n(t);if(!o)return null;if(["partial-call","call","input-streaming","input-available"].includes(t.state))return jsxRuntime.jsxs("div",{className:e||"flex items-center gap-2 py-4 text-muted-foreground",children:[jsxRuntime.jsx(lucideReact.Loader2,{className:"h-4 w-4 animate-spin"}),jsxRuntime.jsxs("span",{className:"text-sm",children:["Running ",ic(o),"..."]})]});if(t.state==="result"||t.state==="output-available"){let s=t.output??t.result;if(t.errorText)return jsxRuntime.jsxs("div",{className:e||"flex items-center gap-2 py-2 text-sm text-destructive",children:[jsxRuntime.jsx(lucideReact.AlertCircle,{className:"h-4 w-4 shrink-0"}),jsxRuntime.jsx("span",{children:t.errorText})]});if(s&&typeof s=="object"&&"error"in s&&s.error)return jsxRuntime.jsxs("div",{className:e||"flex items-center gap-2 py-2 text-sm text-destructive",children:[jsxRuntime.jsx(lucideReact.AlertCircle,{className:"h-4 w-4 shrink-0"}),jsxRuntime.jsx("span",{children:String(s.error)})]});switch(gr(o)){case "ui":{let i=s?.children;return i&&Array.isArray(i)&&i.length>0?jsxRuntime.jsx("div",{className:e,children:jsxRuntime.jsx(re,{nodes:i,invocationId:t.toolCallId,onSuggestionClick:n})}):s?jsxRuntime.jsx("div",{className:e,children:jsxRuntime.jsx(ht,{content:s})}):null}case "markdown":{let i=s?.answer;if(i)return jsxRuntime.jsx("div",{className:e,children:jsxRuntime.jsx(R,{content:i})});let c=s?.output;return c?jsxRuntime.jsx("div",{className:e,children:jsxRuntime.jsx(R,{content:c})}):s?jsxRuntime.jsx("div",{className:e,children:jsxRuntime.jsx(ht,{content:s})}):null}case "data":return s!=null?jsxRuntime.jsx("div",{className:e,children:jsxRuntime.jsx(ht,{content:s})}):null}}return t.state==="output-error"?jsxRuntime.jsxs("div",{className:e||"flex items-center gap-2 py-2 text-sm text-destructive",children:[jsxRuntime.jsx(lucideReact.AlertCircle,{className:"h-4 w-4 shrink-0"}),jsxRuntime.jsx("span",{children:t.errorText||"Tool execution failed"})]}):null}function ic(t){return t.replace(/^erdo_/,"").split("_").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ")}function J(t){if(!t)throw new Error("Entity is null");if(!("_type"in t))throw new Error(`Entity ${JSON.stringify(t)} is missing _type`);return t._type}function lc(t){return t.contents.length===0?null:t.contents[t.contents.length-1]||null}function Qo(t){return t.contents.length===0?null:t.contents[0]||null}function qo(t){let e=false,n=t.contents.map(r=>r.state!=="in_progress"?r:(e=true,{...r,state:"completed",updated_at:new Date().toISOString()}));if(!e&&t.state==="completed")return t;let o={...t.contentsByID};for(let r of n)o[r.id]=r;return {...t,state:"completed",contents:n,contentsByID:o}}function kr(t,e){let n=J(t);switch(n){case "message":return t;case "step":let o=t;if(e){let a=o.eventsByID[e]?.Message;return a||Xo({},"",e)}let s=Object.keys(o.eventsByID).reverse();for(let a of s){let i=o.eventsByID[a];if(i&&i.Message)return i.Message}throw new Error("Unable to find message for step");default:throw new Error(`Unable to have messages on entity type ${n}`)}}function cc(t,e){switch(J(t)){case "message_content":return t;case "output_content":return t;case "message":return ye(t,e);case "output":return he(t,e);case "step":let o=vn(t,e);return o?he(o,e):null;default:return null}}function ye(t,e){let n=J(t);switch(n){case "message_content":return t;case "message":let o=kr(t);if(!o)throw new Error("Unable to find message to add content to");return e?o.contentsByID[e]:lc(o);default:throw new Error(`Unable to have message content on entity type ${n}`)}}function he(t,e){let n=J(t);switch(n){case "output_content":return t;case "output":let o=t;return e?o.contentsByID[e]||null:o.contents.length<=0?null:o.contents[o.contents.length-1]||null;case "step":let s=vn(t,e);return s?he(s):null;case "invocation":if(!e)return null;let a=t.eventsByID[e];return !a||!a.Output?null:he(a.Output);default:throw new Error(`Unable to have output content on entity type ${n}`)}}function br(t,e){let n=J(t),o=null;switch(n){case "invocation":return t;case "message_content":if(o=t.botInvocation||null,!o)throw new Error("Unable to find bot invocation for message content");if(e&&o.bot_invocation.id!==e)throw new Error("Unable to find bot invocation for message content - mismatched ID");return o;case "message":if(o=Qo(t)?.botInvocation||null,!o)throw new Error("Unable to find bot invocation for message");if(e&&o.bot_invocation.id!==e)throw new Error("Unable to find bot invocation for message - mismatched ID");return o;case "output_content":return t.botInvocation||null;default:throw new Error(`Unable to have bot invocation on entity type ${n}`)}}function vn(t,e){let n=J(t);switch(n){case "output":return t;case "step":let o=t;if(e){let i=o.eventsByID[e]?.Output;if(!i)throw new Error("Unable to find output with id "+e);return i}let s=Object.keys(o.eventsByID).reverse();for(let i of s){let c=o.eventsByID[i];if(c&&c.Output)return c.Output}throw new Error("Unable to find output for step");case "invocation":if(!e)throw new Error("Unable to find output for invocation without ID");return t.eventsByID[e]?.Output||null;default:throw new Error(`Unable to have step outputs on entity type ${n}`)}}function Zo(t,e){let n=J(t);switch(n){case "result_handler":return t;case "step":if(!e)throw new Error("Unable to have result handlers on step without ID");let o=t.eventsByID[e];if(!o||!o.type||o.type!=="result_handler"||!o.ResultHandler)throw new Error(`Unable to find result handler with id ${e} on step ${t.id}`);return o.ResultHandler;default:throw new Error(`Unable to have result handlers on entity type ${n}`)}}function Yo(t,e){let n=J(t),o=null;switch(n){case "step":if(t.id===e||!e)return t;throw new Error("Unable to find step on step with id "+e);case "invocation":if(!e)throw new Error("Unable to have steps on bot invocation without ID");o=t;let r=o.eventsByID[e];if(!r)throw new Error("Unable to find step on invocation with id "+e);if(!r.Step)throw new Error("Unable to find step on invocation with id "+e);return r.Step;case "result_handler":if(!e)throw new Error("Unable to have steps on result handler without ID");let a=t.eventsByID[e];if(!a)throw new Error("Unable to find step on result handler with id "+e);if(!a.Step)throw new Error("Unable to find step on result handler with id "+e);return a.Step;default:throw new Error(`Unable to have steps on entity type ${n}`)}}var hr=class extends Error{};function uc(t,e,n){let o=null,r=e[0],s=e[1];n[r]=s;try{switch(r){case "message":o=kr(t,s);break;case "content":o=ye(t,s);break;case "step":o=Yo(t,s);break;case "output":o=vn(t,s);break;case "output_content":o=he(t,s);break;case "invocation":o=br(t,s);break;case "result_handler":o=Zo(t,s);break}}catch(a){throw console.error("error finding next entity"),console.log("path",e),console.log("currentEntity",t),a}if(!o)throw console.log("path",e),console.log("currentEntity",t),console.log("nextEntity",o),new hr(`Unable to find next entity for path ${e.join("/")}`);return o}function Xo(t,e,n,o){let r=t.payload;return {_type:"message",message:{id:n,thread_id:e,author_id:r.author_id||"app",author_entity_type:r.author_entity_type||"app",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),role:r.role||"assistant",avatar:"/teams/erdo-icon.png"},state:"in_progress",contents:[],contentsByID:{},contentIDToIdx:{}}}function dc(t,e){return {_type:"message_content",id:t.metadata.message_content_id,message_id:e.message,content_type:t.metadata.content_type,created_by_invocation_id:t.metadata.invocation_id,invocation_id:t.metadata.invocation_id,state:"in_progress",user_visibility:t.metadata.user_visibility??"visible",bot_visibility:t.metadata.bot_visibility??"visible",content:"",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),content_params:{RawMessage:null,Valid:false},history_content_type:t.metadata?.history_content_type?{String:t.metadata.history_content_type,Valid:true}:{String:"",Valid:false},ui_content_type:t.metadata?.ui_content_type?{String:t.metadata.ui_content_type,Valid:true}:{String:"",Valid:false}}}function pc(t,e){let n=t.metadata.content_type||"text",o=t.metadata?.ui_content_type,r=fe(n,t.payload);return {_type:"message_content",id:t.metadata.message_content_id,message_id:e.message,content:r.content,content_type:n,created_by_invocation_id:t.metadata.invocation_id,invocation_id:t.metadata.invocation_id,state:"completed",user_visibility:t.metadata.visibility||"visible",bot_visibility:"visible",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),content_params:{RawMessage:null,Valid:false},history_content_type:t.metadata?.history_content_type?{String:t.metadata.history_content_type,Valid:true}:{String:"",Valid:false},ui_content_type:o?{String:o,Valid:true}:{String:"",Valid:false},parsedJson:r.parsedJson??null}}function mc(t,e,n){let o=t.payload;return {_type:"step",id:e,invocation_id:n.invocation||"",step_id:o.step_id||"",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),current_status_id:"",path:{String:"",Valid:false},action_type:{String:o.action_type,Valid:true},key:{String:o.key,Valid:true},bot_id:o.bot_id,result_handler_id:"",step_order:{Int32:o.step_order,Valid:true},output_content_type:{String:o.content_type,Valid:true},execution_mode:{String:o.execution_mode,Valid:true},output_behaviour:{String:o.output_behaviour,Valid:true},user_output_visibility:{String:t.metadata.visibility||"visible",Valid:true},output_channels:o.output_channels||[],running_message:{String:o.running_message||"",Valid:!!o.running_message},finished_message:{String:o.finished_message||"",Valid:!!o.finished_message},depends_on:[],eventsByID:{},currentStatus:null}}function fc(t,e,n){let o=t.payload;return {_type:"result_handler",id:e,invocation_id:t.metadata.invocation_id||"",result_handler_id:o.result_handler_id||e,step_invocation_id:o.step_invocation_id||"",type:o.type||"",if_conditions:o.if_conditions||{},created_at:new Date().toISOString(),updated_at:new Date().toISOString(),output_content_type:o.output_content_type||"",result_handler_order:o.result_handler_order||0,eventsByID:{}}}function gc(t,e,n){return {_type:"output",id:e,step_id:n.step_id,output:{id:e,invocation_id:t.metadata?.invocation_id,path:t.metadata.path,created_at:new Date().toISOString(),updated_at:new Date().toISOString()},state:"in_progress",contents:[],contentsByID:{},contentIDToIdx:{}}}function zo(t,e,n,o=null){return {_type:"output_content",id:e,output_id:n.output,content:"",content_type:t.metadata.content_type,state:"in_progress",invocation_id:t.metadata.invocation_id,user_visibility:o??t.metadata.user_visibility??"visible",bot_visibility:t.metadata.bot_visibility??"visible",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),content_params:{RawMessage:null,Valid:false},history_content_type:t.metadata.history_content_type?{String:t.metadata.history_content_type,Valid:true}:{String:"",Valid:false},ui_content_type:t.metadata.ui_content_type?{String:t.metadata.ui_content_type,Valid:true}:{String:"",Valid:false},output:null}}function Ho(t,e,n,o=null){let r=t.metadata.content_type||"text",s=fe(r,t.payload),a=t.metadata?.ui_content_type;return {_type:"output_content",id:e,output_id:n.output,content:s.content,content_type:r,state:"completed",invocation_id:t.metadata.invocation_id,parsedJson:s.parsedJson??null,user_visibility:o||t.metadata.visibility||"visible",bot_visibility:"visible",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),content_params:{RawMessage:null,Valid:false},history_content_type:t.metadata?.history_content_type?{String:t.metadata.history_content_type,Valid:true}:{String:"",Valid:false},ui_content_type:a?{String:a,Valid:true}:{String:"",Valid:false},output:null}}function yc(t,e,n){return {_type:"invocation",bot_invocation:{id:t.payload.invocation_id,bot_id:t.payload.bot_id,bot_name:t.payload.bot_name,created_by_user_id:t.payload.created_by_user_id,current_state_id:"",parent_invocation_id:"",branch_init_state_id:"",current_status_id:"",organization_id:"",created_at:new Date().toISOString(),updated_at:new Date().toISOString()},eventsByID:{},currentStatus:null,current_status:null,step_invocations:[],step_invocation_states:[],resources:[],outputs:[],statuses:[]}}function Pe(t,e){let n=t.payload;return {_type:"status",id:new Date().toISOString(),status:n.status,message:{String:n.message,Valid:true},Details:n}}function ts(t){return {id:t.id,type:"step",created_at:t.created_at,_type:"invocation_event",Output:null,Message:null,Status:null,ResultHandler:null,Step:t}}function Cr(t){return {id:t.output.id,type:"output",created_at:t.output.created_at,_type:"invocation_event",Output:t,Message:null,Status:null,ResultHandler:null,Step:null}}function _r(t){return {id:t.id,type:"status",created_at:t.created_at,_type:"invocation_event",Status:t,Output:null,Message:null,ResultHandler:null,Step:null}}function hc(t){return {id:t.message.id,type:"message",created_at:t.message.created_at,_type:"invocation_event",Output:null,Message:t,Status:null,ResultHandler:null,Step:null}}function xc(t){return {id:t.id,type:"result_handler",created_at:t.created_at,_type:"invocation_event",Output:null,Message:null,Status:null,ResultHandler:t,Step:null}}var kc=new Set(["=","("]);function bc(t){if(!t||t.length===0)return true;let e=t[t.length-1];return !kc.has(e)}function es(t,e){if(t.content||(t.content=""),t.user_visibility!=="visible"||!ve(t.content_type,t.ui_content_type.String))return t.content+=e,{...t};if(t.parsedJson||(t.parsedJson=[]),typeof e=="object")return t.content+=JSON.stringify(e),t.parsedJson=[...t.parsedJson,e],{...t};t._jsonParser||(t._isInJson=false),t._charBuffer||(t._charBuffer="");let n=t.content_type,o=t.ui_content_type.String;for(let r of e){t.content+=r;let s=n==="json"||o==="json";if(!t._isInJson&&s&&!Bt(r)){t._isInJson=true,t._jsonParser=new nt;let a={content:{},type:"json"};t.parsedJson=[...t.parsedJson||[],a],t._currentContent=a,t._charBuffer="";}if(!t._isInJson&&!s&&o==="ui_generation"&&r==="{"){let a=t.content.slice(0,-1);if(bc(a)){t._charBuffer="{";continue}}if(t._charBuffer&&Bt(r)){t._charBuffer+=r;continue}if(!t._isInJson&&!s&&o==="ui_generation"&&t._charBuffer?.match(/^\s*{\s*$/)&&r==='"'){t._isInJson=true,t._jsonParser=new nt;let i={content:t._jsonParser.add("{"),type:"json"};t._currentContent?.content?t._currentContent.content.match(/^\s*{$/)?(t._currentContent=i,t.parsedJson=[...t.parsedJson.slice(0,-1),i]):(t._currentContent.content=t._currentContent.content.replace(/{$/,""),t._currentContent=i,t.parsedJson=[...t.parsedJson,i]):(t._currentContent=i,t.parsedJson=[...t.parsedJson,i]);}if(t._isInJson)try{let a=t._jsonParser.add(r);t._currentContent.content=a,t._jsonParser.state==="END"&&(t._isInJson=!1,t._currentContent=void 0);}catch(a){if(console.log("handleIncrementalMixedJsonParsing: content chunk",e),console.log("handleIncrementalMixedJsonParsing: accumulated content",t.content),console.warn("handleIncrementalMixedJsonParsing: JSON parse error, recovering as text",a),t._isInJson=false,t._jsonParser=void 0,t.parsedJson&&t.parsedJson.length>0){let i=t.parsedJson[t.parsedJson.length-1];if(i.type==="json"){let c=t.content.lastIndexOf("{"),l=t.content.slice(c);i.type="text",i.content=l,t._currentContent=i;}}continue}else t._currentContent||(t._currentContent={content:t._charBuffer||"",type:"text"},t.parsedJson=[...t.parsedJson,t._currentContent]),t._currentContent.content+=t._charBuffer+r;t._charBuffer="";}return {...t}}function Cc(t,e){return es(t,e)}function Ko(t,e){return es(t,e)}function xr(t,e){let n=J(t);switch(n){case "message":return ft(t,e);case "message_content":return Sn(t,e);case "step":return Sc(t,e);case "output":return vc(t,e);case "output_content":return wc(t,e);case "invocation":return Be(t,e);case "result_handler":return Ic(t,e);default:throw new Error(`Unable to add update entity for entity type ${n}`)}}function _c(t,e){for(let n of e)t=xr(t,n);return t}function ft(t,e){let n=kr(t);if(!n)throw new Error("Unable to find message to add content to");let o=J(e),r=null;switch(o){case "message_content":if(r=e,!n.contentsByID[r.id])n.contentIDToIdx={...n.contentIDToIdx,[r.id]:n.contents.length},n.contents=[...n.contents,r];else {let i=n.contentIDToIdx[r.id];n.contents=[...n.contents.slice(0,i),r,...n.contents.slice(i+1)];}return n.contentsByID={...n.contentsByID,[r.id]:r},{...n};case "invocation":let s=e;if(n.contents.length===0)throw new Error("Unable to find message content to add invocation to");return r=Sn(n.contents[0],s),ft(n,r);case "step":if(n.contents.length===0)throw new Error("Unable to find message content to add content to");if(r=n.contents[0],!r)throw new Error("Unable to find message content to add content to");let a=br(r);if(!a)throw new Error("Unable to find bot invocation to add content to");return r.botInvocation=Be(a,e),ft(n,r);case "status":if(n.contents.length>0){let i=n.contents[0];if(i?.botInvocation){let c=Sn(i,e);return ft(n,c)}}return {...n};default:throw new Error(`Unable to add update message child for child type ${o}`)}}function Sn(t,e){let n=ye(t);if(!n)throw new Error("Unable to find message content to add content to");let o=J(e);switch(o){case "invocation":return n.botInvocation=e,{...n};case "step":let r=n.botInvocation;if(!r)throw new Error("Unable to find bot invocation to add content to");return n.botInvocation=Be(r,e),{...n};case "status":return n.botInvocation&&(n.botInvocation=Be(n.botInvocation,e)),{...n};default:throw new Error(`Unable to add update message content child for child type ${o}`)}}function Sc(t,e){let n=Yo(t);if(!n)throw new Error("Unable to find bot invocation to add step to");let o=J(e),r=null;switch(o){case "output":let s=e;return r=Cr(s),n.eventsByID={...n.eventsByID,[s.output.id]:r},{...n};case "message":let a=e;return r=hc(a),n.eventsByID={...n.eventsByID,[a.message.id]:r},{...n};case "status":let i=e;return r=_r(i),n.eventsByID={...n.eventsByID,[i.id]:r},{...n};case "result_handler":let c=e;return r=xc(c),n.eventsByID={...n.eventsByID,[c.id]:r},{...n};default:throw new Error(`Unable to add update step for entity type ${o}`)}}function vc(t,e){let n=vn(t);if(!n)throw new Error("Unable to find step output to add content to");let o=J(e);switch(o){case "output_content":let r=e;if(!n.contentsByID[r.id])n.contentIDToIdx={...n.contentIDToIdx,[r.id]:n.contents.length},n.contents=[...n.contents,r];else {let s=n.contentIDToIdx[r.id];n.contents=[...n.contents.slice(0,s),r,...n.contents.slice(s+1)];}return n.contentsByID={...n.contentsByID,[r.id]:r},{...n};default:throw new Error(`Unable to add update output for entity type ${o}`)}}function wc(t,e){let n=he(t);if(!n)throw new Error("Unable to find step output content to add content to");let o=J(e);switch(o){case "invocation":return n.botInvocation=e,{...n};case "step":let r=n.botInvocation;if(!r)throw new Error("Unable to find bot invocation to add content to");return n.botInvocation=Be(r,e),{...n};default:throw new Error(`Unable to add update step output content for entity type ${o}`)}}function Be(t,e){let n=br(t);if(!n)throw new Error("Unable to find bot invocation to add content to");let o=J(e),r;switch(o){case "step":let s=e;return r=ts(s),n.eventsByID={...n.eventsByID,[s.id]:r},{...n};case "output":let a=e;return r=Cr(a),n.eventsByID={...n.eventsByID,[a.output.id]:r},{...n};case "status":let i=e;return r=_r(i),n.eventsByID={...n.eventsByID,[i.id]:r},n.currentStatus=i,{...n};default:throw new Error(`Unable to add update invocation for entity type ${o}`)}}function Ic(t,e){let n=Zo(t);if(!n)throw new Error("Unable to find result handler to add content to");let o=J(e),r=null;switch(o){case "step":let s=e;return r=ts(s),n.eventsByID||(n.eventsByID={}),n.eventsByID={...n.eventsByID,[s.id]:r},{...n};case "output":let a=e;return r=Cr(a),n.eventsByID||(n.eventsByID={}),n.eventsByID={...n.eventsByID,[a.output.id]:r},{...n};case "status":let i=e;return r=_r(i),n.eventsByID||(n.eventsByID={}),n.eventsByID={...n.eventsByID,[i.id]:r},{...n};default:throw new Error(`Unable to add update to result handler for entity type ${o}`)}}function Nc(t){return t==="bot started"||t==="bot resumed"||t==="message created"||t==="create message content"||t==="message content result"||t==="step started"||t==="result handler started"||t==="state created"||t==="step output created"||t==="create step output content"||t==="step output content result"||t==="log"}function wn(t,e,n,o,r,s=null,a=[],i={}){if(!s&&Object.keys(r).length>0){let d,p;if(n.length>=2&&n[0]==="message"?(p=n[1],d=r[p],d||(d=Object.values(r)[0],p=Object.keys(r)[0])):(d=Object.values(r)[Object.values(r).length-1],p=Object.keys(r)[Object.keys(r).length-1]),i.message=p,n.length<=2&&t==="message finished")return r[p]=qo(d),null;if(n[0]!=="content"&&Object.keys(d.contentsByID).length>0&&e.metadata.message_content_id){let m=e.metadata.message_content_id,g=d.contentsByID[m];g&&(s=g);}s?a=[d]:s=d;}if(n.length<=2&&Nc(t)){let d=n[1],p=[],m,g,f,h,b;switch(t){case "bot started":case "bot resumed":if(!s)throw new Error("Unable to find message to add content to");let x=yc(e);if(s._type==="message_content"){if(g=s,!g.id)throw new Error("Unable to find message content id");if(f=r[g.message_id],!f)throw new Error("Unable to find message to add content to");if(h=ye(f,g.id),!h)throw new Error("Unable to find message content to add content to");let _=Sn(h,x);r[g.message_id]={...ft(f,_)};}p.push(x);break;case "message created":return r[d]=Xo(e,o,d),null;case "create message content":if(!s)throw new Error("Unable to find message to add content to");if(b=dc(e,i),s._type==="output"){m=s,p.push(zo(e,d,i,"hidden"));let _=e.payload.message_id;if(_||(_=a[0].message.id),f=r[_],!f)throw new Error("Unable to find message to add content to")}else if(s._type==="message_content"){if(m=s,f=r[m.message_id],!f)throw new Error("Unable to find message to add content to")}else {if(s._type!=="message")throw new Error(`Incorrect path? Cannot add content to non-message entity: ${s._type}`);if(m=s,f=r[m.message.id],!f)throw new Error("Unable to find message to add content to");p.push(b);}r[f.message.id]={...ft(f,b)};break;case "message content result":if(!s)throw new Error("Unable to find message to add content to");let y=null;if(s._type==="output"){p.push(Ho(e,d,i,"hidden"));let _=e.payload.message_id||i.message;if(_?y=a.find(v=>v.message.id===_):y=a[0],f=r[_],!f)throw new Error("Unable to find message to add content to")}else if(s._type==="message_content"){if(y=a[0],f=r[y.message.id],!f)throw new Error("Unable to find message to add content to")}else {if(s._type!=="message")throw new Error(`Incorrect path? Cannot add content to non-message entity: ${s._type}`);if(y=s,f=r[y.message.id],!f)throw new Error("Unable to find message to add content to")}let k=e.metadata.message_content_id;if(!k)throw new Error("Unable to find message content id");let S=ye(y,k);if(S){S.state="completed";let _=S.content_type||"text",v=yn(_,S.content,e.payload);S.content=v.content,v.parsedJson&&(S.parsedJson=v.parsedJson),r[f.message.id]={...ft(f,S)},(s._type==="message"||s._type==="message_content")&&p.push(S);}else S=pc(e,i),r[f.message.id]={...ft(f,S)},(s._type==="message"||s._type==="message_content")&&p.push(S);break;case "step started":p.push(mc(e,d,i));break;case "result handler started":p.push(fc(e,d));break;case "step output created":p.push(gc(e,d,s));break;case "create step output content":p.push(zo(e,d,i));break;case "step output content result":p.push(Ho(e,d,i));break;case "log":return null;default:throw new Error(`Unable to handle create event type ${t}`)}return p.length?!s||s._type==="message_content"&&p.length===1&&p[0]._type==="message_content"?p[0]:_c(s,p):null}if(!s)throw new Error("No first message has been created, so cannot handle amend events");if(n.length<=1){let d=null;try{d=cc(s);}catch{}switch(t){case "message content delta":if(!d)throw new Error("Unable to find message content");let p=null,m=null,g=null;if(s._type==="output_content"){p=Ko(s,e.payload);let x=e.metadata.message_content_id;if(!x)throw new Error("Unable to find message content id from entity ids");let y=i.message;if(g=a.find(k=>k.message.id===y),!g)throw new Error("Unable to find message to add content to");m=ye(g,x);}else {if(m=d,g=a[a.length-1],!g)throw new Error("Unable to find message to add content to");if(g._type!=="message")throw new Error("Unable to find message to add content to - not a message")}if(!m)throw new Error("Unable to find message content");let f=r[g.message.id];if(!f)throw new Error("Unable to find message to add content to");let h=Cc(m,e.payload);return r[f.message.id]={...ft(f,h)},s._type==="message_content"&&(p=h),p;case "step output content delta":return Ko(d,e.payload);case "status":if(s._type==="step"&&(s.currentStatus=Pe(e)),s._type==="invocation"&&(s.currentStatus=Pe(e)),s._type==="message_content"){let b=s;if(b.botInvocation)return b.botInvocation.currentStatus=Pe(e),{...b}}if(s._type==="message"){let b=s,x=Qo(b);if(x?.botInvocation)return x.botInvocation.currentStatus=Pe(e),ft(b,x)}return xr(s,Pe(e));case "result":return null;case "message finished":if(s._type==="message"){let x=qo(s);r[x.message.id]=x;}return null;case "step output finished":return null;case "step result":return null;case "error":return null;case "dataset created":return null;case "log":return null;default:throw new Error(`Unable to handle event type ${t}`)}}let c=n.slice(2),l=uc(s,n,i),u=wn(t,e,c,o,r,l,[...a,s],i);return u?xr(s,{...u}):s}function Sr(t){if(!t.content)return null;if(typeof t.content=="object")return t.content;if(typeof t.content=="string"){let e=$(t.content);return e&&typeof e=="object"&&!Array.isArray(e)?e:null}return null}function ns(t){let e=t.content_type;if(e==="tool_result")return "result";if(e==="tool_invocation")return "invocation";let n=Sr(t);return n&&"action_type"in n&&"name"in n&&"input"in n&&n.action_type!=="bot.invoke"?"result"in n?"result":"invocation":null}function rs(t){return Sr(t)?.id}function os(t){let e=Sr(t);if(!e?.action_type)return null;let o=e.input?.query;return `${e.action_type}:${o||""}`}function ss(t){let e=t.filter(r=>ns(r)==="result"),n=new Set(e.map(r=>rs(r)).filter(Boolean)),o=new Set(e.map(r=>os(r)).filter(Boolean));return t.filter(r=>{if(ns(r)==="invocation"){let s=rs(r),a=os(r);if(s&&n.has(s)||a&&o.has(a))return false}return true})}function as(t,e,n){let o=e;for(;o;){if(o===n)return true;o=t.byStepId[o]?.parentId??null;}return false}function In(t,e){if(!e||!t.byStepId[e])return t;let n=new Set;for(let i of t.nodes)i.kind==="step"&&as(t,i.id,e)&&n.add(i.id);let o=t.nodes.filter(i=>i.kind==="step"?n.has(i.id):i.kind==="content"||i.kind==="status"?!!i.stepId&&n.has(i.stepId):false),r={},s={},a={};for(let i of n){let c=t.byStepId[i];c&&(r[i]=c);}for(let i of o){if(i.kind==="content"){s[i.id]=i;continue}if(i.kind!=="step")continue;let l=(i.parentId&&n.has(i.parentId)?i.parentId:null)??"__root__";a[l]=[...a[l]||[],i.id];}return {...t,nodes:o,byStepId:r,byContentId:s,childrenByParentId:a,rootStepId:e}}function Nn(){return zustand.createStore((t,e)=>({globalState:xn(),invocationStates:{},invocationRootSteps:{},pendingInvocationQueue:[],pushEvent:(n,o)=>{let r=e(),s=r.pendingInvocationQueue,a=r.invocationRootSteps,i=r.invocationStates,c=false;if(n.type==="message content result"&&n.metadata?.content_type==="agent_invocation"){let g=n.payload,f=(g&&typeof g=="object"&&typeof g.invocation_id=="string"?g.invocation_id:"")||(typeof n.metadata?.invocation_id=="string"?n.metadata.invocation_id:"");f&&!a[f]&&!s.includes(f)&&(s=[...s,f],c=true);}let l=fr(r.globalState,n);if(o&&(l=o(l)),n.type==="step_started"&&s.length>0){let m=n.payload,g=m&&typeof m.step_id=="string"?m.step_id:"",f=m&&typeof m.type=="string"?m.type:"";if(g&&f==="agent"){let h=s[0],b=In(l,g);a={...a,[h]:g},i={...i,[h]:b},s=s.filter(x=>x!==h),c=true;}}if(l===r.globalState&&!c)return;let u=n.metadata?.step_id??n.payload?.step_id??"",d={...i},p=c;for(let[m,g]of Object.entries(a)){if(c&&!r.invocationRootSteps[m])continue;let f=r.invocationStates[m];if(u&&!as(l,u,g)&&u)continue;let h=In(l,g);if(!(n.type==="step_finished"||n.type==="step_started"||n.type==="status")&&f&&f.nodes.length===h.nodes.length){let x=f.nodes[f.nodes.length-1],y=h.nodes[h.nodes.length-1];if(x===y&&f.isStreaming===h.isStreaming)continue}d[m]=h,p=true;}t({globalState:l,...p?{invocationStates:d}:{},...c?{pendingInvocationQueue:s,invocationRootSteps:a}:{}});},reset:()=>{t({globalState:xn(),invocationStates:{},invocationRootSteps:{},pendingInvocationQueue:[]});}}))}function Rc(t){return t.split("/").filter(Boolean)}function is(t={}){let e=Ft(),[n,o]=kt.useState(null),[r,s]=kt.useState(false),[a,i]=kt.useState(null),[c,l]=kt.useState([]),u=kt.useRef(Nn()),d=zustand.useStore(u.current,x=>x.globalState),p=kt.useRef(null),m=kt.useRef(t.threadId);t.threadId!==m.current&&(m.current=t.threadId);let g=kt.useCallback(()=>{p.current&&(p.current.abort(),p.current=null);},[]),f=kt.useCallback(x=>{o(x),m.current=x.id;},[]),h=kt.useCallback(async x=>{if(!e.client)throw new Error("ErdoClient not configured in provider. Pass a client to ErdoProvider config to use useThread.");if(!e.client.sendMessage)throw new Error("ErdoClient does not support sendMessage. Make sure you are using @erdoai/server client.");if(!e.client.createThread)throw new Error("ErdoClient does not support createThread. Make sure you are using @erdoai/server client.");g(),p.current=new AbortController,s(true),i(null),l([]),u.current.getState().reset();let y={};try{let k=m.current;if(!k){let N=await e.client.createThread();o(N),m.current=N.id,k=N.id;}for await(let N of e.client.sendMessage(k,{content:x,botKey:t.botKey})){if(p.current?.signal.aborted)break;if(t.onEvent?.(N),e.useAgentEvents)u.current.getState().pushEvent(N);else {let U=N.type||"",tt=N.metadata||{},O=Rc(tt.path||""),H={payload:N.payload,metadata:{path:tt.path||"",...tt}};try{wn(U,H,O,k,y);}catch(G){console.error("Error handling SSE event:",G,U);}l(Object.values(y));}}let S=Object.values(y);l(S);let _=u.current.getState().globalState,v;_.rootStepId?v=bn(_):v=S.flatMap(N=>N.contents||[]).filter(N=>N.user_visibility==="visible").map(N=>({id:N.id,content_type:N.content_type,ui_content_type:M(N.ui_content_type),content:N.content,parsedJson:N.parsedJson,botInvocation:N.botInvocation})),t.onFinish?.(v);}catch(k){let S=k instanceof Error?k:new Error(String(k));throw i(S),t.onError?.(S),S}finally{s(false),p.current=null;}},[e.client,e.useAgentEvents,t,g]),b=kt.useMemo(()=>{if(d.rootStepId)return bn(d);let x=c.flatMap(k=>k.contents||[]).filter(k=>k.user_visibility==="visible");return ss(x).map(k=>({id:k.id,content_type:k.content_type,ui_content_type:M(k.ui_content_type),content:k.content,parsedJson:k.parsedJson,botInvocation:k.botInvocation}))},[c,d]);return {thread:n,isStreaming:r,error:a,activeMessages:c,agentState:d,streamingContents:b,sendMessage:h,cancel:g,setThread:f,agentStreamStore:u.current}}function Ac(t){return t?typeof t=="string"?t:typeof t=="object"&&t!==null&&"String"in t&&t.String||"":""}function ls(t){let e=Ac(t.ui_content_type),n=t.content_type,o={id:t.id,content_type:t.content_type,ui_content_type:e,content:t.content,invocation_id:t.created_by_invocation_id};if(typeof t.content=="string"){if(e==="ui_generation")try{o.parsedJson=xt(t.content);}catch(r){console.error("Error parsing UI generation content:",r);}else if((n==="json"||e==="json")&&t.content.trim()){let r=$(t.content);r!=null&&(o.parsedJson=[{type:"json",content:r}]);}}if((t.content_type==="thinking"||t.content_type==="redacted_thinking")&&typeof t.content=="string"){let r=$(t.content);r&&typeof r=="object"&&(o.content=r);}return o}function Pc(t){return t.filter(e=>e.user_visibility!=="hidden").map(ls)}var En=kt.createContext(null);function us({store:t,children:e}){return jsxRuntime.jsx(En.Provider,{value:t,children:e})}function ds(){return kt.useContext(En)}function ps(t){let e=kt.useContext(En);return zustand.useStore(e,n=>t?n.invocationStates[t]:void 0)}function ms(){let t=kt.useContext(En);return zustand.useStore(t,e=>e.globalState)}exports.AgentStreamStoreProvider=us;exports.BarChart=Dt;exports.BotInvocationContent=dn;exports.Chart=ut;exports.ChartContainer=Se;exports.ChartContent=He;exports.ChartLegend=Ln;exports.ChartLegendContent=$n;exports.ChartNode=Xn;exports.ChartStyle=Lr;exports.ChartTooltip=Mn;exports.ChartTooltipContent=Vn;exports.CodeexecContent=cn;exports.CodegenContent=sn;exports.CollapsibleCodeBlock=vt;exports.Content=$t;exports.DatasetChart=je;exports.DatasetDownload=ee;exports.DatasetMetric=Or;exports.DatasetTable=Ue;exports.DownloadButtonNode=nr;exports.ErdoProvider=Tr;exports.ErdoToolResult=Wo;exports.ErdoUI=Il;exports.ErrorBoundary=Et;exports.ExecutionStatus=to;exports.ExpandableOutputContent=wt;exports.FileDownloadsNode=or;exports.HeatmapChart=Qt;exports.InvocationEvent=qe;exports.InvocationEvents=Pt;exports.InvocationStatus=Xr;exports.JSONStreamParser=nt;exports.JsonContent=ht;exports.LineChart=zt;exports.Loader=Vo;exports.Log=ar;exports.LogContent=Ze;exports.MarkdownContent=R;exports.MemoryContent=fn;exports.Output=Fe;exports.PieChart=Ht;exports.ScatterChart=Kt;exports.SqlContent=en;exports.StatusSpinner=it;exports.StderrText=ce;exports.StdoutText=le;exports.StdwarnText=rn;exports.StepInvocation=We;exports.StepInvocationStatus=Ge;exports.StepTreeContent=Go;exports.SuggestionsNode=rr;exports.TableContent=Ke;exports.TableNode=tr;exports.TextContent=we;exports.TextMarkdownNode=er;exports.ThinkingContent=oe;exports.ToolGroupContent=ue;exports.UIGenerationNodes=re;exports.WebParseContent=Xe;exports.WebSearchContent=Ye;exports.WritingLoader=ur;exports.agentStateToContents=bn;exports.cn=X;exports.completeStreamingContent=jo;exports.createAgentStreamStore=Nn;exports.createInitialAgentState=xn;exports.extractContentItems=$o;exports.formatValue=et;exports.getErdoToolName=_n;exports.getErdoToolRenderType=gr;exports.handleAgentEvent=fr;exports.handleIncrementalMixedJsonParsing=dr;exports.handleSSEEvent=wn;exports.hasRenderableAssistantOutput=Wl;exports.isErdoTool=oc;exports.isJsonLike=ve;exports.isNullString=zr;exports.isParsingComplete=Wa;exports.isParsingInProgress=te;exports.isWhitespaceChar=Bt;exports.nodeComponents=sr;exports.normalizeContent=ls;exports.normalizeContents=Pc;exports.normalizeUIGenerationChunks=De;exports.normalizeUINodes=Qn;exports.parseCompleteJson=$;exports.parseMixedJson=xt;exports.parseToDate=Br;exports.resolveKeyFromData=Zt;exports.sliceAgentStateToRoot=In;exports.toSnakeCase=Jr;exports.unwrapNullString=M;exports.unwrapNullStringOr=xa;exports.useAgentStreamGlobalState=ms;exports.useAgentStreamStoreOptional=ds;exports.useChartZoom=Ve;exports.useDatasetContents=Gt;exports.useErdoConfig=Ft;exports.useErdoConfigOptional=Q;exports.useInvocationState=ps;exports.useMultipleDatasetContents=Pr;exports.useMultipleDatasetRequests=be;exports.useThread=is;
|
package/dist/index.js
CHANGED
|
@@ -47,6 +47,6 @@ $bm_rt = comp('system-solid-56-warning').layer('control').effect('primary')('Col
|
|
|
47
47
|
background-clip: text;
|
|
48
48
|
color: transparent;
|
|
49
49
|
}
|
|
50
|
-
`,document.head.appendChild(t);}function oe({item:t,className:e}){let[n,o]=useState(false);useEffect(()=>{Qe();},[]);let r=t.content_type==="redacted_thinking",s="",a=false;if(typeof t.content=="string")s=t.content;else if(t.content&&typeof t.content=="object")if(r)s=t.content.data||"Some of Claude's internal reasoning has been automatically encrypted for safety reasons. This doesn't affect the quality of responses.";else {let d=t.content;s=d.thinking||"",a=typeof d.signature=="string"&&d.signature.length>0;}let i=typeof t.state=="string"?t.state:"",l=(i==="in_progress"||i==="streaming"||i==="running")&&!a;return jsxs("div",{className:e,children:[jsxs("button",{onClick:()=>o(!n),className:"inline-flex items-center gap-1.5 text-left",children:[n?jsx(ChevronDown,{className:"h-3.5 w-3.5 text-muted-foreground/70"}):jsx(ChevronRight,{className:"h-3.5 w-3.5 text-muted-foreground/70"}),jsx("span",{className:`text-sm ${l?"erdo-shimmer":"text-muted-foreground hover:text-foreground/70 transition-colors"}`,children:r?"Encrypted thinking":"Thinking"})]}),n&&jsx("div",{className:"mt-1 pl-5 text-sm text-muted-foreground",children:s?jsx(R,{content:s,className:"text-sm text-muted-foreground [&_*]:text-muted-foreground"}):l?"Thinking...":""})]})}function fi(t){try{return JSON.parse(t)}catch{return t}}function gi(t){if(!t)return "";try{return new Date(t).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return ""}}function ar({log:t}){let e=typeof t.message=="string"?fi(t.message):t.message,n=gi(t.timestamp),o="text-xs font-mono py-0.5 px-1.5 rounded flex items-start",r="";switch(t.level){case "error":o+=" bg-red-50/50 dark:bg-red-950/30 text-red-600 dark:text-red-400 border-l-2 border-red-400 dark:border-red-600",r="text-red-500 dark:text-red-400";break;case "requires_info":o+=" bg-yellow-50/50 dark:bg-yellow-950/30 text-yellow-600 dark:text-yellow-400 border-l-2 border-yellow-400 dark:border-yellow-600",r="text-yellow-500 dark:text-yellow-400";break;default:o+=" bg-blue-50/40 dark:bg-blue-900/20 text-blue-500/90 dark:text-blue-300/80 border-l-2 border-blue-300 dark:border-blue-600/50",r="text-blue-400 dark:text-blue-400/70";}return jsx("div",{className:"my-0.5",children:jsx("div",{className:o,children:jsxs("div",{className:"flex items-start gap-2",children:[n&&jsx("span",{className:"text-[10px] opacity-60 whitespace-nowrap w-16 flex-shrink-0 pt-0.5",children:n}),t.level==="error"&&jsx("span",{className:"inline-block mr-1 flex-shrink-0",children:jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:`h-3 w-3 ${r}`,viewBox:"0 0 20 20",fill:"currentColor",children:jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.28 7.22a.75.75 0 00-1.06 1.06L8.94 10l-1.72 1.72a.75.75 0 101.06 1.06L10 11.06l1.72 1.72a.75.75 0 101.06-1.06L11.06 10l1.72-1.72a.75.75 0 00-1.06-1.06L10 8.94 8.28 7.22z",clipRule:"evenodd"})})}),t.level==="requires_info"&&jsx("span",{className:"inline-block mr-1 flex-shrink-0",children:jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:`h-3 w-3 ${r}`,viewBox:"0 0 20 20",fill:"currentColor",children:jsx("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})})}),t.level==="info"&&jsx("span",{className:"inline-block mr-1 flex-shrink-0",children:jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:`h-3 w-3 ${r}`,viewBox:"0 0 20 20",fill:"currentColor",children:jsx("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})})}),jsx("div",{className:"flex-1 break-words whitespace-pre-wrap",children:String(e)})]})})})}function Ze({item:t,className:e}){let n=typeof t.content=="object"&&t.content!==null?t.content:{message:String(t.content)},o={level:n.level||"info",message:n.message||String(t.content),timestamp:n.timestamp};return jsx("div",{className:e,children:jsx(ar,{log:o})})}function xi(t){if(!t||typeof t!="object")return null;let e=t;if(Array.isArray(e.results))return e;if(e.result&&typeof e.result=="object"){let n=e.result;if(Array.isArray(n.results))return n}return null}function Ye({item:t,className:e}){let n=xi(t.content);return n?.results?.length?jsx("div",{className:`rounded-lg border border-border/50 overflow-hidden ${e||""}`,children:jsx("div",{className:"divide-y divide-border/30",children:n.results.map(o=>{let r="";try{r=new URL(o.url).hostname.replace(/^www\./,"");}catch{}return jsxs("a",{href:o.url,target:"_blank",rel:"noopener noreferrer",className:"flex items-start gap-3 px-3 py-2 hover:bg-muted/50 transition-colors group",children:[jsxs("div",{className:"flex-1 min-w-0",children:[jsx("div",{className:"text-sm text-foreground/90 group-hover:text-foreground group-hover:underline truncate",children:o.title}),o.description&&jsx("div",{className:"text-xs text-muted-foreground mt-0.5 line-clamp-1",children:o.description})]}),jsxs("div",{className:"flex items-center gap-1 shrink-0 mt-0.5",children:[jsx("span",{className:"text-[10px] text-muted-foreground/60",children:r}),jsx(ExternalLink,{className:"h-3 w-3 text-muted-foreground/40 group-hover:text-muted-foreground"})]})]},o.url)})})}):null}function bi(t){if(!t||typeof t!="object")return null;let e=t;if(typeof e.content=="string")return e;if(e.result&&typeof e.result=="object"){let n=e.result;if(typeof n.content=="string")return n}return null}function Ci(t){if(!t||typeof t!="object")return null;let n=t.input;return typeof n?.url=="string"?n.url:null}function Xe({item:t,className:e}){let n=bi(t.content),o=Ci(t.content),r=n?.url||o,s=n?.title,a=n?.content,i="";try{r&&(i=new URL(r).hostname.replace(/^www\./,""));}catch{}return !a&&!r?null:jsxs("div",{className:`rounded-lg border border-border/50 overflow-hidden ${e||""}`,children:[r&&jsxs("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-2 px-3 py-2 border-b border-border/30 hover:bg-muted/50 transition-colors group",children:[jsxs("div",{className:"flex-1 min-w-0",children:[jsx("div",{className:"text-sm text-foreground/90 group-hover:text-foreground truncate",children:s?.trim()||i||r}),s&&i&&jsx("div",{className:"text-[10px] text-muted-foreground/60 mt-0.5",children:i})]}),jsx(ExternalLink,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground/40 group-hover:text-muted-foreground"})]}),a&&jsx("div",{className:"max-h-64 overflow-y-auto px-3 py-2 bg-muted/20",children:jsx(R,{content:a,className:"text-xs"})})]})}var Pi=Prism,vt=memo(function({language:e,value:n,defaultOpen:o=false,title:r="View code",closeTitle:s="Hide code",className:a,theme:i="auto"}){let[c,l]=useState(o),[u,d]=useState(false),p=useRef(null);useEffect(()=>{if(!c){let y=p.current;y&&(y.scrollTop=y.scrollHeight);}},[c,n]);let m=useMemo(()=>i!=="auto"?i:typeof window>"u"?"light":document.documentElement.classList.contains("dark")||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",[i]),g=useMemo(()=>m==="dark"?oneDark:oneLight,[m]),f=useCallback(async()=>{try{await navigator.clipboard.writeText(n),d(!0),setTimeout(()=>d(!1),2e3);}catch{let y=document.createElement("textarea");y.value=n,document.body.appendChild(y),y.select(),document.execCommand("copy"),document.body.removeChild(y),d(true),setTimeout(()=>d(false),2e3);}},[n]),h=useMemo(()=>({margin:0,width:"100%",background:"transparent",padding:"1rem 0.5rem",fontSize:"0.825rem",maxWidth:"100vw",overflow:"auto"}),[]),b=useMemo(()=>({userSelect:"none",minWidth:"2.5em",paddingRight:"1em",color:"rgb(161 161 170)",opacity:"0.5"}),[]),x=useMemo(()=>({style:{fontFamily:"var(--font-mono, ui-monospace, monospace)",whiteSpace:"pre",wordBreak:"break-word"}}),[]);return jsx(de.Root,{open:c,onOpenChange:l,className:a,children:jsxs("div",{className:"relative w-full font-sans rounded-lg overflow-hidden border border-zinc-200 dark:border-zinc-800",children:[jsxs("div",{className:"flex items-center justify-between w-full px-4 py-1.5 bg-white/80 dark:bg-zinc-800/80 text-zinc-600 dark:text-zinc-100 backdrop-blur-sm border-b border-zinc-200 dark:border-zinc-800",children:[jsx("span",{className:"text-xs font-medium lowercase text-zinc-400 dark:text-zinc-500",children:e}),jsx("button",{onClick:f,className:"h-6 w-6 flex items-center justify-center rounded-md hover:bg-zinc-100 dark:hover:bg-zinc-700 transition-colors",children:u?jsx(Check,{className:"h-3 w-3 text-green-500"}):jsx(Copy,{className:"h-3 w-3 text-zinc-400 dark:text-zinc-500"})})]}),jsxs("div",{ref:p,className:`${c?"max-h-96":"max-h-[200px]"} overflow-auto relative`,children:[jsx("div",{className:"bg-zinc-50/50 dark:bg-zinc-950/70",children:jsx(Pi,{language:e,style:g,PreTag:"div",showLineNumbers:true,wrapLines:false,wrapLongLines:false,startingLineNumber:1,className:"not-prose",customStyle:h,lineNumberStyle:b,codeTagProps:x,children:n})}),!c&&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(de.Trigger,{className:"absolute bottom-0 inset-x-0 flex items-center gap-2 text-sm text-zinc-400 dark:text-zinc-500 hover:text-zinc-600 dark:hover:text-zinc-300 p-2 justify-start bg-zinc-50/80 dark:bg-zinc-950/80 backdrop-blur-sm border-t border-zinc-200 dark:border-zinc-800 cursor-pointer",children:c?jsxs(Fragment,{children:[jsx(ChevronUp,{className:"h-4 w-4"}),s]}):jsxs(Fragment,{children:[jsx(ChevronDown,{className:"h-4 w-4"}),r]})})]})})});function Bi(t){if(typeof t!="object"||t===null||Array.isArray(t))return null;let e=t;return "sql_query"in e||"thinking"in e||"error"in e?{thinking:typeof e.thinking=="string"?e.thinking:void 0,sql_query:typeof e.sql_query=="string"?e.sql_query:void 0,resource_key:typeof e.resource_key=="string"?e.resource_key:void 0,error:typeof e.error=="string"?e.error:void 0}:null}function Oi(t){return Bi(t.content)}function en({item:t,className:e}){let n=Oi(t);if(!n)return null;let{thinking:o,sql_query:r,error:s}=n;return s?jsxs("div",{className:`text-destructive text-sm ${e||""}`,children:[jsx("div",{className:"font-medium",children:"Error"}),jsx("div",{children:s})]}):!r&&!o?null:jsxs("div",{className:`text-foreground whitespace-pre-wrap leading-normal ${e||""}`,children:[o&&jsx("div",{className:"mb-2",children:jsx(R,{content:o,className:"text-sm max-w-none"})}),r&&jsx("div",{className:"mb-2",children:jsx(vt,{language:"sql",value:r,defaultOpen:false})})]})}var Vi=500,Li=300;function ie({content:t,className:e}){let[n,o]=useState(false);if(!t||typeof t!="string"||!t.trim())return null;if(t.length<=Vi)return jsx("div",{className:`text-sm text-muted-foreground ${e||""}`,children:jsx(R,{content:t,className:"text-sm max-w-none"})});let s=t.slice(0,Li).trimEnd()+"...";return jsx("div",{className:`text-sm text-muted-foreground ${e||""}`,children:n?jsxs(Fragment,{children:[jsx(R,{content:t,className:"text-sm max-w-none"}),jsx("button",{onClick:()=>o(false),className:"text-xs text-muted-foreground/70 hover:text-muted-foreground mt-1",children:"Show less"})]}):jsxs(Fragment,{children:[jsx("span",{className:"text-sm",children:s}),jsx("button",{onClick:()=>o(true),className:"text-xs text-muted-foreground/70 hover:text-muted-foreground ml-1",children:"Show more"})]})})}function wt({children:t,defaultOpen:e=false,wrapperType:n="standard",compact:o=false,className:r}){let[s,a]=useState(e),[i,c]=useState(false),l=useRef(null);useEffect(()=>{let p=l.current;!s&&p&&(p.scrollTop=p.scrollHeight);},[s]),useEffect(()=>{let p=l.current;if(!p)return;let m=()=>{c(p.scrollHeight>p.clientHeight);};m();let g=new ResizeObserver(m);return g.observe(p),()=>g.disconnect()},[s]);let u={standard:"bg-muted/30 border-border",info:"bg-info/10 border-info/30",warning:"bg-warning/10 border-warning/30"},d={standard:"text-muted-foreground hover:text-foreground",info:"text-info hover:text-info/80",warning:"text-warning hover:text-warning/80"};return jsx("div",{className:`relative text-sm ${o?"":"mb-2"} ${r||""}`,children:jsx(de.Root,{open:s,onOpenChange:a,className:`border rounded-sm ${u[n]}`,children:jsxs("div",{ref:l,className:`overflow-y-auto ${s?"":"max-h-[200px]"}`,children:[i&&jsx(de.Trigger,{className:`sticky top-0 text-center text-xs py-1 transition-opacity w-full cursor-pointer ${d[n]}`,children:s?"Less \u2193":"More \u2191"}),jsx("div",{className:`${o?"px-2 py-1":"p-2"} m-0 overflow-x-auto break-words whitespace-pre-wrap`,children:t})]})})})}function cr(t){return new Date(t).toLocaleTimeString("en-US",{hour12:false,hour:"2-digit",minute:"2-digit",second:"2-digit"})}function le({children:t,timestamp:e}){return jsxs("div",{className:"flex",children:[e&&jsx("span",{className:"text-muted-foreground/60 mr-2 select-none",children:cr(e)}),jsx("span",{className:"text-foreground/80",children:t})]})}function ce({children:t,timestamp:e}){return jsxs("div",{className:"flex",children:[e&&jsx("span",{className:"text-info/60 mr-2 select-none",children:cr(e)}),jsx("span",{className:"text-info/90",children:t})]})}function rn({children:t,timestamp:e}){return jsxs("div",{className:"flex",children:[e&&jsx("span",{className:"text-warning/60 mr-2 select-none",children:cr(e)}),jsx("span",{className:"text-warning/90",children:t})]})}function sn({item:t,className:e}){if(!t.content)return null;let n=ji(t.content)??Ui(t.parsedJson);if(!n)return null;let{step_by_step:o,thinking:r,code:s,warnings:a,error:i}=n;return i?jsx(wt,{wrapperType:"info",className:e,children:jsx(ce,{children:i})}):!o&&!r&&!s&&!a?null:jsxs("div",{className:`text-foreground whitespace-pre-wrap leading-normal ${e||""}`,children:[o&&jsx(R,{content:o,className:"text-sm max-w-none"}),r&&jsx(ie,{content:r,state:typeof t.state=="string"?t.state:void 0}),s&&jsx("div",{className:"mb-2",children:jsx(vt,{language:"python",value:s,defaultOpen:false})}),a&&jsxs("div",{className:"text-sm text-warning",children:[jsx("div",{className:"font-medium",children:"Warnings"}),jsx(R,{content:a,className:"text-sm max-w-none"})]})]})}function ji(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)?t:null}function Ui(t){if(!Array.isArray(t))return null;let n=t.find(o=>o.type==="json");return n&&typeof n.content=="object"&&n.content!==null?n.content:null}function Io({item:t,className:e}){if(!t.content)return null;let n=Fi(t.content,t.parsedJson);if(!n)return null;let o=t.ui_content_type==="code_fix_diagnosis",r=n.thinking||n.diagnosis,s=t.state==="in_progress",a=n.edits?.length??0,i=o?"Diagnosing code issues\u2026":"Rewriting code\u2026",c=o?`Applied ${a} fix${a!==1?"es":""}`:`Rewrote code${n.code?` (${n.code.split(`
|
|
50
|
+
`,document.head.appendChild(t);}function oe({item:t,className:e}){let[n,o]=useState(false);useEffect(()=>{Qe();},[]);let r=t.content_type==="redacted_thinking",s="",a=false;if(typeof t.content=="string")s=t.content;else if(t.content&&typeof t.content=="object")if(r)s=t.content.data||"Some of Claude's internal reasoning has been automatically encrypted for safety reasons. This doesn't affect the quality of responses.";else {let d=t.content;s=d.thinking||"",a=typeof d.signature=="string"&&d.signature.length>0;}let i=typeof t.state=="string"?t.state:"",l=(i==="in_progress"||i==="streaming"||i==="running")&&!a;return jsxs("div",{className:e,children:[jsxs("button",{onClick:()=>o(!n),className:"inline-flex items-center gap-1.5 text-left",children:[n?jsx(ChevronDown,{className:"h-3.5 w-3.5 text-muted-foreground/70"}):jsx(ChevronRight,{className:"h-3.5 w-3.5 text-muted-foreground/70"}),jsx("span",{className:`text-sm ${l?"erdo-shimmer":"text-muted-foreground hover:text-foreground/70 transition-colors"}`,children:r?"Encrypted thinking":"Thinking"})]}),n&&jsx("div",{className:"mt-1 pl-5 text-sm text-muted-foreground",children:s?jsx(R,{content:s,className:"text-sm text-muted-foreground [&_*]:text-muted-foreground"}):l?"Thinking...":""})]})}function fi(t){try{return JSON.parse(t)}catch{return t}}function gi(t){if(!t)return "";try{return new Date(t).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return ""}}function ar({log:t}){let e=typeof t.message=="string"?fi(t.message):t.message,n=gi(t.timestamp),o="text-xs font-mono py-0.5 px-1.5 rounded flex items-start",r="";switch(t.level){case "error":o+=" bg-red-50/50 dark:bg-red-950/30 text-red-600 dark:text-red-400 border-l-2 border-red-400 dark:border-red-600",r="text-red-500 dark:text-red-400";break;case "requires_info":o+=" bg-yellow-50/50 dark:bg-yellow-950/30 text-yellow-600 dark:text-yellow-400 border-l-2 border-yellow-400 dark:border-yellow-600",r="text-yellow-500 dark:text-yellow-400";break;default:o+=" bg-blue-50/40 dark:bg-blue-900/20 text-blue-500/90 dark:text-blue-300/80 border-l-2 border-blue-300 dark:border-blue-600/50",r="text-blue-400 dark:text-blue-400/70";}return jsx("div",{className:"my-0.5",children:jsx("div",{className:o,children:jsxs("div",{className:"flex items-start gap-2",children:[n&&jsx("span",{className:"text-[10px] opacity-60 whitespace-nowrap w-16 flex-shrink-0 pt-0.5",children:n}),t.level==="error"&&jsx("span",{className:"inline-block mr-1 flex-shrink-0",children:jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:`h-3 w-3 ${r}`,viewBox:"0 0 20 20",fill:"currentColor",children:jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.28 7.22a.75.75 0 00-1.06 1.06L8.94 10l-1.72 1.72a.75.75 0 101.06 1.06L10 11.06l1.72 1.72a.75.75 0 101.06-1.06L11.06 10l1.72-1.72a.75.75 0 00-1.06-1.06L10 8.94 8.28 7.22z",clipRule:"evenodd"})})}),t.level==="requires_info"&&jsx("span",{className:"inline-block mr-1 flex-shrink-0",children:jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:`h-3 w-3 ${r}`,viewBox:"0 0 20 20",fill:"currentColor",children:jsx("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})})}),t.level==="info"&&jsx("span",{className:"inline-block mr-1 flex-shrink-0",children:jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:`h-3 w-3 ${r}`,viewBox:"0 0 20 20",fill:"currentColor",children:jsx("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})})}),jsx("div",{className:"flex-1 break-words whitespace-pre-wrap",children:String(e)})]})})})}function Ze({item:t,className:e}){let n=typeof t.content=="object"&&t.content!==null?t.content:{message:String(t.content)},o={level:n.level||"info",message:n.message||String(t.content),timestamp:n.timestamp};return jsx("div",{className:e,children:jsx(ar,{log:o})})}function xi(t){if(!t||typeof t!="object")return null;let e=t;if(Array.isArray(e.results))return e;if(e.result&&typeof e.result=="object"){let n=e.result;if(Array.isArray(n.results))return n}return null}function Ye({item:t,className:e}){let n=xi(t.content);return n?.results?.length?jsx("div",{className:`rounded-lg border border-border/50 overflow-hidden ${e||""}`,children:jsx("div",{className:"divide-y divide-border/30",children:n.results.map(o=>{let r="";try{r=new URL(o.url).hostname.replace(/^www\./,"");}catch{}return jsxs("a",{href:o.url,target:"_blank",rel:"noopener noreferrer",className:"flex items-start gap-3 px-3 py-2 hover:bg-muted/50 transition-colors group",children:[jsxs("div",{className:"flex-1 min-w-0",children:[jsx("div",{className:"text-sm text-foreground/90 group-hover:text-foreground group-hover:underline truncate",children:o.title}),o.description&&jsx("div",{className:"text-xs text-muted-foreground mt-0.5 line-clamp-1",children:o.description})]}),jsxs("div",{className:"flex items-center gap-1 shrink-0 mt-0.5",children:[jsx("span",{className:"text-[10px] text-muted-foreground/60",children:r}),jsx(ExternalLink,{className:"h-3 w-3 text-muted-foreground/40 group-hover:text-muted-foreground"})]})]},o.url)})})}):null}function bi(t){if(!t||typeof t!="object")return null;let e=t;if(typeof e.content=="string")return e;if(e.result&&typeof e.result=="object"){let n=e.result;if(typeof n.content=="string")return n}return null}function Ci(t){if(!t||typeof t!="object")return null;let n=t.input;return typeof n?.url=="string"?n.url:null}function Xe({item:t,className:e}){let n=bi(t.content),o=Ci(t.content),r=n?.url||o,s=n?.title,a=n?.content,i="";try{r&&(i=new URL(r).hostname.replace(/^www\./,""));}catch{}return !a&&!r?null:jsxs("div",{className:`rounded-lg border border-border/50 overflow-hidden ${e||""}`,children:[r&&jsxs("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-2 px-3 py-2 border-b border-border/30 hover:bg-muted/50 transition-colors group",children:[jsxs("div",{className:"flex-1 min-w-0",children:[jsx("div",{className:"text-sm text-foreground/90 group-hover:text-foreground truncate",children:s?.trim()||i||r}),s&&i&&jsx("div",{className:"text-[10px] text-muted-foreground/60 mt-0.5",children:i})]}),jsx(ExternalLink,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground/40 group-hover:text-muted-foreground"})]}),a&&jsx("div",{className:"max-h-64 overflow-y-auto px-3 py-2 bg-muted/20",children:jsx(R,{content:a,className:"text-xs"})})]})}var Pi=Prism,vt=memo(function({language:e,value:n,defaultOpen:o=false,title:r="View code",closeTitle:s="Hide code",className:a,theme:i="auto"}){let[c,l]=useState(o),[u,d]=useState(false),p=useRef(null);useEffect(()=>{if(!c){let y=p.current;y&&(y.scrollTop=y.scrollHeight);}},[c,n]);let m=useMemo(()=>i!=="auto"?i:typeof window>"u"?"light":document.documentElement.classList.contains("dark")||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",[i]),g=useMemo(()=>m==="dark"?oneDark:oneLight,[m]),f=useCallback(async()=>{try{await navigator.clipboard.writeText(n),d(!0),setTimeout(()=>d(!1),2e3);}catch{let y=document.createElement("textarea");y.value=n,document.body.appendChild(y),y.select(),document.execCommand("copy"),document.body.removeChild(y),d(true),setTimeout(()=>d(false),2e3);}},[n]),h=useMemo(()=>({margin:0,width:"100%",background:"transparent",padding:"1rem 0.5rem",fontSize:"0.825rem",maxWidth:"100vw",overflow:"auto"}),[]),b=useMemo(()=>({userSelect:"none",minWidth:"2.5em",paddingRight:"1em",color:"rgb(161 161 170)",opacity:"0.5"}),[]),x=useMemo(()=>({style:{fontFamily:"var(--font-mono, ui-monospace, monospace)",whiteSpace:"pre",wordBreak:"break-word"}}),[]);return jsx(de.Root,{open:c,onOpenChange:l,className:a,children:jsxs("div",{className:"relative w-full font-sans rounded-lg overflow-hidden border border-zinc-200 dark:border-zinc-800",children:[jsxs("div",{className:"flex items-center justify-between w-full px-4 py-1.5 bg-white/80 dark:bg-zinc-800/80 text-zinc-600 dark:text-zinc-100 backdrop-blur-sm border-b border-zinc-200 dark:border-zinc-800",children:[jsx("span",{className:"text-xs font-medium lowercase text-zinc-400 dark:text-zinc-500",children:e}),jsx("button",{onClick:f,className:"h-6 w-6 flex items-center justify-center rounded-md hover:bg-zinc-100 dark:hover:bg-zinc-700 transition-colors",children:u?jsx(Check,{className:"h-3 w-3 text-green-500"}):jsx(Copy,{className:"h-3 w-3 text-zinc-400 dark:text-zinc-500"})})]}),jsxs("div",{ref:p,className:`${c?"max-h-96":"max-h-[200px]"} overflow-auto relative`,children:[jsx("div",{className:"bg-zinc-50/50 dark:bg-zinc-950/70",children:jsx(Pi,{language:e,style:g,PreTag:"div",showLineNumbers:true,wrapLines:false,wrapLongLines:false,startingLineNumber:1,className:"not-prose",customStyle:h,lineNumberStyle:b,codeTagProps:x,children:n})}),!c&&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(de.Trigger,{className:"absolute bottom-0 inset-x-0 flex items-center gap-2 text-sm text-zinc-400 dark:text-zinc-500 hover:text-zinc-600 dark:hover:text-zinc-300 p-2 justify-start bg-zinc-50/80 dark:bg-zinc-950/80 backdrop-blur-sm border-t border-zinc-200 dark:border-zinc-800 cursor-pointer",children:c?jsxs(Fragment,{children:[jsx(ChevronUp,{className:"h-4 w-4"}),s]}):jsxs(Fragment,{children:[jsx(ChevronDown,{className:"h-4 w-4"}),r]})})]})})});function Bi(t){if(typeof t!="object"||t===null||Array.isArray(t))return null;let e=t;return "sql_query"in e||"thinking"in e||"error"in e?{thinking:typeof e.thinking=="string"?e.thinking:void 0,sql_query:typeof e.sql_query=="string"?e.sql_query:void 0,resource_key:typeof e.resource_key=="string"?e.resource_key:void 0,error:typeof e.error=="string"?e.error:void 0}:null}function Oi(t){return Bi(t.content)}function en({item:t,className:e}){let n=Oi(t);if(!n)return null;let{thinking:o,sql_query:r,error:s}=n;return s?jsxs("div",{className:`text-destructive text-sm ${e||""}`,children:[jsx("div",{className:"font-medium",children:"Error"}),jsx("div",{children:s})]}):!r&&!o?null:jsxs("div",{className:`text-foreground whitespace-pre-wrap leading-normal ${e||""}`,children:[o&&jsx("div",{className:"mb-2",children:jsx(R,{content:o,className:"text-sm max-w-none"})}),r&&jsx("div",{className:"mb-2",children:jsx(vt,{language:"sql",value:r,defaultOpen:false})})]})}var Vi=500,Li=300;function ie({content:t,className:e}){let[n,o]=useState(false);if(!t||typeof t!="string"||!t.trim())return null;if(t.length<=Vi)return jsx("div",{className:`text-sm text-muted-foreground ${e||""}`,children:jsx(R,{content:t,className:"text-sm max-w-none"})});let s=t.slice(0,Li).trimEnd()+"...";return jsx("div",{className:`text-sm text-muted-foreground ${e||""}`,children:n?jsxs(Fragment,{children:[jsx(R,{content:t,className:"text-sm max-w-none"}),jsx("button",{onClick:()=>o(false),className:"text-xs text-muted-foreground/70 hover:text-muted-foreground mt-1",children:"Show less"})]}):jsxs(Fragment,{children:[jsx("span",{className:"text-sm",children:s}),jsx("button",{onClick:()=>o(true),className:"text-xs text-muted-foreground/70 hover:text-muted-foreground ml-1",children:"Show more"})]})})}function wt({children:t,defaultOpen:e=false,wrapperType:n="standard",compact:o=false,className:r}){let[s,a]=useState(e),[i,c]=useState(false),l=useRef(null);useEffect(()=>{let p=l.current;!s&&p&&(p.scrollTop=p.scrollHeight);},[s]),useEffect(()=>{let p=l.current;if(!p)return;let m=()=>{c(p.scrollHeight>p.clientHeight);};m();let g=new ResizeObserver(m);return g.observe(p),()=>g.disconnect()},[s]);let u={standard:"bg-muted/30 border-border",info:"bg-info/10 border-info/30",warning:"bg-warning/10 border-warning/30"},d={standard:"text-muted-foreground hover:text-foreground",info:"text-info hover:text-info/80",warning:"text-warning hover:text-warning/80"};return jsx("div",{className:`relative text-sm ${o?"":"mb-2"} ${r||""}`,children:jsx(de.Root,{open:s,onOpenChange:a,className:`border rounded-sm ${u[n]}`,children:jsxs("div",{ref:l,className:`overflow-y-auto ${s?"":"max-h-[200px]"}`,children:[i&&jsx(de.Trigger,{className:`sticky top-0 text-center text-xs py-1 transition-opacity w-full cursor-pointer ${d[n]}`,children:s?"Less \u2193":"More \u2191"}),jsx("div",{className:`${o?"px-2 py-1":"p-2"} m-0 overflow-x-auto break-words whitespace-pre-wrap`,children:t})]})})})}function cr(t){return new Date(t).toLocaleTimeString("en-US",{hour12:false,hour:"2-digit",minute:"2-digit",second:"2-digit"})}function le({children:t,timestamp:e}){return jsxs("div",{className:"flex",children:[e&&jsx("span",{className:"text-muted-foreground/60 mr-2 select-none",children:cr(e)}),jsx("span",{className:"text-foreground/80",children:t})]})}function ce({children:t,timestamp:e}){return jsxs("div",{className:"flex",children:[e&&jsx("span",{className:"text-info/60 mr-2 select-none",children:cr(e)}),jsx("span",{className:"text-info/90",children:t})]})}function rn({children:t,timestamp:e}){return jsxs("div",{className:"flex",children:[e&&jsx("span",{className:"text-warning/60 mr-2 select-none",children:cr(e)}),jsx("span",{className:"text-warning/90",children:t})]})}function sn({item:t,className:e}){if(!t.content)return null;let n=ji(t.content)??Ui(t.parsedJson);if(!n)return null;let{step_by_step:o,thinking:r,code:s,language:a,warnings:i,error:c}=n,l=typeof a=="string"&&a.length>0?a:"python";return c?jsx(wt,{wrapperType:"info",className:e,children:jsx(ce,{children:c})}):!o&&!r&&!s&&!i?null:jsxs("div",{className:`text-foreground whitespace-pre-wrap leading-normal ${e||""}`,children:[o&&jsx(R,{content:o,className:"text-sm max-w-none"}),r&&jsx(ie,{content:r,state:typeof t.state=="string"?t.state:void 0}),s&&jsx("div",{className:"mb-2",children:jsx(vt,{language:l,value:s,defaultOpen:false})}),i&&jsxs("div",{className:"text-sm text-warning",children:[jsx("div",{className:"font-medium",children:"Warnings"}),jsx(R,{content:i,className:"text-sm max-w-none"})]})]})}function ji(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)?t:null}function Ui(t){if(!Array.isArray(t))return null;let n=t.find(o=>o.type==="json");return n&&typeof n.content=="object"&&n.content!==null?n.content:null}function Io({item:t,className:e}){if(!t.content)return null;let n=Fi(t.content,t.parsedJson);if(!n)return null;let o=t.ui_content_type==="code_fix_diagnosis",r=n.thinking||n.diagnosis,s=t.state==="in_progress",a=n.edits?.length??0,i=o?"Diagnosing code issues\u2026":"Rewriting code\u2026",c=o?`Applied ${a} fix${a!==1?"es":""}`:`Rewrote code${n.code?` (${n.code.split(`
|
|
51
51
|
`).length} lines)`:""}`;return jsxs("div",{className:`text-sm text-muted-foreground ${e||""}`,children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx(it,{status:s?"loading":"finished",size:14}),jsx("span",{children:s?i:c})]}),r&&jsx("div",{className:"mt-1",children:jsx(ie,{content:r,state:t.state})})]})}function Fi(t,e){if(typeof t=="object"&&t!==null&&!Array.isArray(t))return t;if(Array.isArray(e)){let n=e.find(o=>o.type==="json");if(n&&typeof n.content=="object"&&n.content!==null)return n.content}return null}function cn({item:t,className:e}){let n=Gi(t);if(n.sort((a,i)=>a.index-i.index),n.length===0)return null;let o=n.some(a=>a.level==="error"),r=n.some(a=>a.level==="warning"),s=o?"info":r?"warning":"standard";return jsx("div",{className:`text-foreground leading-normal ${e||""}`,children:jsx(wt,{wrapperType:s,compact:true,children:n.map((a,i)=>jsx(Ji,{output:a},`${a.level}-${i}`))})})}function Ji({output:t}){switch(t.level){case "output":return jsx(le,{timestamp:t.timestamp,children:t.message});case "error":return jsx(ce,{timestamp:t.timestamp,children:t.message});case "warning":return jsx(rn,{timestamp:t.timestamp,children:t.message});default:return jsx("div",{className:"text-muted-foreground",children:t.message})}}function Gi(t){let e=No(t.content);return e.length>0?e:No(t.parsedJson)}function No(t){return ln(t).map((n,o)=>Wi(n,o)).filter(n=>n!==null)}function ln(t){if(Array.isArray(t))return t.every(qi)?t.flatMap(e=>ln(e.content)):t;if(typeof t=="string"){let e=$(t);return e!=null?ln(e):ln(xt(t))}if(t&&typeof t=="object"){let e=t;if(Array.isArray(e.outputs))return e.outputs;if(typeof e.message=="string"||typeof e.stdout=="string"||typeof e.stderr=="string"||typeof e.content=="string")return [e]}return []}function Wi(t,e){if(!t||typeof t!="object")return null;let n=t,o=typeof n.message=="string"?n.message:typeof n.stdout=="string"?n.stdout:typeof n.stderr=="string"?n.stderr:typeof n.content=="string"?n.content:"";if(!o.trim())return null;let r=typeof n.level=="string"?n.level:n.stderr?"error":n.warning?"warning":"output";return {level:r==="error"||r==="warning"||r==="output"?r:"output",message:o,timestamp:typeof n.timestamp=="string"?n.timestamp:void 0,index:typeof n.index=="number"?n.index:e}}function qi(t){return !!(t&&typeof t=="object"&&"type"in t&&"content"in t)}function Ki(t){if(!t?.result||t.status==="error")return false;let e=t.result;return typeof e=="string"?e.trim()!=="":Array.isArray(e)?e.length>0:typeof e=="object"&&e!==null?Object.keys(e).length>0:true}function Qi(t,e,n){if(e?.finished_message)return e.finished_message;if(e?.running_message)return e.running_message;if(!e&&n?.running_message)return n.running_message;let o=t||"tool";return e?`Completed ${o}`:`Running ${o}...`}function ue({toolGroup:t,ContentComponent:e,className:n,fallbackClassName:o}){let[r,s]=useState(false),a=Q(),i=e??a?.ContentComponent;useEffect(()=>{Qe();},[]);let c=t.invocation,l=t.result,u=Ki(l),d=c?.name||l?.name,p=Qi(d,l,c),m=!l,g=u&&!m;return jsxs("div",{className:n,children:[jsx("span",{role:g?"button":void 0,tabIndex:g?0:void 0,onClick:()=>g&&s(!r),onKeyDown:f=>{g&&(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),s(!r));},className:`text-sm ${m?"erdo-shimmer":g?"text-muted-foreground hover:text-foreground/70 cursor-pointer transition-colors":"text-muted-foreground"}`,children:p}),r&&u&&l&&jsx("div",{className:"mt-1",children:i?jsx(i,{content:{content:l.result,content_type:l.ui_content_type||"json"}}):jsx("pre",{className:o||"text-sm bg-gray-100 dark:bg-gray-800 p-2 rounded overflow-x-auto",children:JSON.stringify(l.result,null,2)})})]})}var Lt={Success:"success",Error:"error",RequiresInfo:"requires info"};function el(t){return t?t===Lt.Success?"finished":t===Lt.Error||t===Lt.RequiresInfo?"failed":"loading":"loading"}function Do(t){return t?t!==Lt.Success&&t!==Lt.Error&&t!==Lt.RequiresInfo:true}function nl(t,e){let n=e||"agent",o=M(t?.message);return o||(t?.status===Lt.Success?`Finished ${n}`:`Running ${n}...`)}function dn({content:t,botInvocation:e,isLoading:n=false,defaultOpen:o,adminLinkHref:r,adminLinkText:s="Open in Agent Designer",showAdminLink:a=false,onAdminClick:i,onExpand:c,EventsComponent:l,ContentComponent:u,className:d}){let p=()=>o!==void 0?o:Do(e?.currentStatus?.status),[m,g]=useState(p),[f,h]=useState(false),b=useRef(null);if(useEffect(()=>{if(e?.currentStatus){let v=e.currentStatus.status;if(b.current!==v&&(b.current=v,!f)){let N=Do(v);N&&!m?g(true):!N&&m&&g(false);}}},[e,f,m]),useEffect(()=>{m&&e&&c&&c(t.invocation_id,t.bot_id,t.bot_name);},[m,e,c,t]),n&&!e&&!t.transparent)return jsxs("div",{className:`flex items-center gap-2 text-sm text-muted-foreground ${d||""}`,children:[jsx(it,{status:"loading"}),jsxs("span",{children:["Loading ",t.bot_name,"..."]})]});if(!e)return null;let x=e.eventsByID&&Object.keys(e.eventsByID).length>0;if(t.transparent)return x?l?jsx(l,{eventsByID:e.eventsByID,defaultOpen:true}):jsx(Pt,{eventsByID:e.eventsByID,ContentComponent:u}):null;let y=el(e.currentStatus?.status),k=nl(e.currentStatus,t.bot_name),S=v=>{g(v),h(true);},_=v=>{i&&(v.preventDefault(),i(t.invocation_id,t.bot_id));};return jsxs(de.Root,{open:m,onOpenChange:S,className:`relative w-full max-w-4xl space-y-2 leading-normal bot-invocation-content ${d||""}`,children:[jsxs("div",{className:"flex items-center justify-between",children:[jsxs(de.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(it,{status:y}),k]}),jsx(ChevronDown,{className:`h-4 w-4 transition-transform duration-200 ${m?"transform rotate-180":""}`})]}),a&&(r||i)&&jsxs("a",{href:r||"#",onClick:i?_:void 0,target:r?"_blank":void 0,rel:r?"noopener noreferrer":void 0,className:"flex items-center gap-1 text-sm text-muted-foreground hover:text-foreground transition-colors",children:[s,jsx(ArrowUpRight,{className:"h-3.5 w-3.5"})]})]}),jsx(de.Content,{children:jsx("div",{className:"space-y-2 max-w-3xl",children:x?l?jsx(l,{eventsByID:e.eventsByID,defaultOpen:m}):jsx(Pt,{eventsByID:e.eventsByID,ContentComponent:u}):jsx("span",{className:"text-sm text-muted-foreground",children:"No events to display"})})})]})}function Ro({content:t,isSearching:e=false,className:n}){let o=[];Array.isArray(t)?o=t:typeof t=="object"&&t!==null&&"q"in t?o=t.q:typeof t=="string"&&(o=[t]);let r=o.filter(s=>s&&typeof s=="string"&&s.trim()!=="");return r.length===0?null:jsx("div",{className:`flex flex-wrap gap-2 ${n||""}`,children:r.map(s=>jsxs("div",{className:"inline-flex items-center px-3 py-1.5 rounded-lg text-sm bg-muted/50 text-foreground border border-border/30",children:[e?jsx(Loader2,{className:"h-3 w-3 mr-2 text-muted-foreground flex-shrink-0 animate-spin"}):jsx(Search,{className:"h-3 w-3 mr-2 text-muted-foreground flex-shrink-0"}),jsx("span",{className:"line-clamp-1",children:s})]},s))})}function Ao({content:t,isSearching:e=false,className:n}){let o=[];if(Array.isArray(t))o=t;else if(typeof t=="object"&&t!==null&&"integration_queries"in t)o=t.integration_queries;else if(typeof t=="string")return null;let r=o.filter(s=>s&&s.query&&typeof s.query=="string"&&s.query.trim()!=="");return r.length===0?null:jsx("div",{className:`flex flex-wrap gap-2 ${n||""}`,children:r.map(s=>jsxs("div",{className:"inline-flex items-center px-3 py-1.5 rounded-lg text-sm bg-muted/50 text-foreground border border-border/30",children:[e?jsx(Loader2,{className:"h-3 w-3 mr-2 text-muted-foreground flex-shrink-0 animate-spin"}):jsx(Search,{className:"h-3 w-3 mr-2 text-muted-foreground flex-shrink-0"}),jsx("span",{className:"line-clamp-1",children:s.query})]},`${s.integration_config_id}-${s.resource_id}-${s.query}`))})}var gl=120;function yl(t,e){return !t||t.length<=e?t:t.slice(0,e).trimEnd()+"..."}function hl(t){switch(t){case "snippet":return Code;case "learning":return Brain;case "error":return AlertCircle;case "limitation":return AlertCircle;case "optimization":return Zap;default:return Lightbulb}}function xl(t){switch(t){case "snippet":return "Snippet";case "learning":return "Learning";case "error":return "Error";case "limitation":return "Limitation";case "optimization":return "Optimization";default:return t}}function kl({memory:t}){let[e,n]=useState(false),o=hl(t.type),r=xl(t.type),s=t.type==="snippet",a=yl(t.description||"",gl),i=t.content&&typeof t.content=="string"&&t.content.trim()!=="",c=s&&i;return jsxs(de.Root,{open:e,onOpenChange:n,className:"border border-border/50 rounded-lg overflow-hidden",children:[jsxs(de.Trigger,{className:`w-full text-left p-3 flex items-start gap-3 ${c?"hover:bg-muted/50 cursor-pointer":"cursor-default"}`,disabled:!c,children:[jsx("div",{className:"flex-shrink-0 mt-0.5",children:jsx(o,{className:"h-4 w-4 text-muted-foreground"})}),jsxs("div",{className:"flex-1 min-w-0",children:[jsxs("div",{className:"flex items-center gap-2 mb-1",children:[jsx("span",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide",children:r}),t.tags&&t.tags.length>0&&jsxs("div",{className:"flex gap-1 flex-wrap",children:[t.tags.slice(0,3).map((l,u)=>jsx("span",{className:"text-xs px-1.5 py-0.5 bg-muted rounded text-muted-foreground",children:l},u)),t.tags.length>3&&jsxs("span",{className:"text-xs text-muted-foreground",children:["+",t.tags.length-3]})]})]}),jsx("p",{className:"text-sm text-foreground",children:s?a:t.description||t.content})]}),c&&jsx(ChevronDown,{className:`h-4 w-4 text-muted-foreground flex-shrink-0 transition-transform duration-200 ${e?"rotate-180":""}`})]}),c&&jsx(de.Content,{children:jsx("div",{className:"border-t border-border/50 bg-muted/30",children:jsx("pre",{className:"p-3 text-sm overflow-x-auto whitespace-pre-wrap break-words font-mono",children:t.content})})})]})}function fn({content:t,className:e}){let n=Array.isArray(t)?t:t?.memories;return !n||n.length===0?jsx("p",{className:"text-sm text-muted-foreground",children:"No memories found."}):jsx("div",{className:`space-y-2 ${e||""}`,children:n.map(o=>jsx(kl,{memory:o},o.id))})}function ur(){return jsxs("span",{className:"inline-flex gap-1 text-muted-foreground",children:[jsx("span",{className:"animate-bounce",style:{animationDelay:"0ms"},children:"\u25CF"}),jsx("span",{className:"animate-bounce",style:{animationDelay:"150ms"},children:"\u25CF"}),jsx("span",{className:"animate-bounce",style:{animationDelay:"300ms"},children:"\u25CF"})]})}function Vo(){return jsx("div",{className:"flex items-center justify-center py-8",children:jsx(Loader2,{className:"animate-spin text-muted-foreground",size:24})})}function Sl(t){if(t.content_type==="bot_invocation"||t.content_type==="bot_invocation_result")return null;if(t.content&&typeof t.content=="object"){let n=t.content,o=n.tool_invocation_content;if(n.action_type==="bot.invoke"||o?.action_type==="bot.invoke")return null}if(t.content_type==="tool_invocation")return "tool_invocation";if(t.content_type==="tool_result")return "tool_result";if(!t.content||typeof t.content!="object")return null;let e=t.content;return "action_type"in e&&"name"in e&&"input"in e&&e.action_type!=="bot.invoke"?"result"in e?"tool_result":"tool_invocation":null}function $t({content:t,className:e,components:n}){let r=Q()?.onSuggestionClick,s=useMemo(()=>l=>jsx($t,{...l,components:n}),[n]);if(!t.content||t.content==="")return null;if(t.content&&typeof t.content=="object"){let l=t.content,u=l.tool_invocation_content;if(l.action_type==="bot.invoke"||u?.action_type==="bot.invoke")return null}let a=Sl(t),i;a?i=a:i=M(t.ui_content_type)||t.content_type;let c=n?.[i];if(c)return jsx(c,{content:t,className:e});switch(i){case "text":return jsx(we,{content:Bo(t),className:e});case "markdown":return jsx(R,{content:Bo(t),className:e});case "thinking":case "redacted_thinking":return jsx(oe,{item:t,className:e});case "json":return jsx(ht,{content:t.content,className:e});case "codegen_json":return jsx(sn,{item:t,className:e});case "code_rewrite":case "code_fix_diagnosis":return jsx(Io,{item:t,className:e});case "sql_generation":return jsx(en,{item:t,className:e});case "codeexec_output":return jsx(cn,{item:t,className:e});case "log":return jsx(Ze,{item:t,className:e});case "websearch":case "websearch_output":case "web_search":return jsx(Ye,{item:t,className:e});case "search_queries":return jsx(Ro,{content:t.content,className:e});case "integration_queries":return jsx(Ao,{content:t.content,className:e});case "memory":return jsx(fn,{content:t.content,className:e});case "webparse":case "webparse_output":case "web_parse":return jsx(Xe,{item:t,className:e});case "tool_group":return jsx(ue,{toolGroup:t.content,ContentComponent:s,className:e});case "bot_invocation":{let l=t.content,u=t.botInvocation;return jsx(dn,{content:l,botInvocation:u,ContentComponent:s,className:e})}case "chart":case "ui_generation":{let l=t.invocation_id||t.created_by_invocation_id;if(t.chartConfig&&t.chartData)return jsx(He,{config:t.chartConfig,data:t.chartData,className:e});let u=De(t.content);if(u&&Oo(u))return Mo(u,e,l,r);let d=De(t.parsedJson);return d&&Oo(d)?Mo(d,e,l,r):u&&u.length>0||d&&d.length>0?jsx("p",{className:"w-full max-w-4xl text-sm text-muted-foreground",children:"The LLM generated an invalid response. Please try again."}):null}case "table":return t.tableColumns&&t.tableData?jsx(Ke,{columns:t.tableColumns,data:t.tableData,className:e}):jsx(ht,{content:t.content,className:e});case "tool_invocation":{let l=t.content,u={invocation:{invocation_id:l.id||"",action:l.action_type||"",params:l.input||{},id:l.id||"",name:l.name||"",input:l.input||{},description:l.description,action_type:l.action_type,running_message:l.running_message}};return jsx(ue,{toolGroup:u,ContentComponent:s,className:e})}case "tool_result":{let l=t.content,u={invocation:{invocation_id:l.id||"",action:l.action_type||"",params:l.input||{}},result:{invocation_id:l.id||"",result:l.result}},d={...u,invocation:{...u.invocation,id:l.id||"",name:l.name||"",input:l.input||{},action_type:l.action_type,description:l.description},result:{...u.result,id:l.id||"",name:l.name||"",input:l.input||{},result:l.result,status:l.status||"success",action_type:l.action_type,description:l.description,ui_content_type:l.ui_content_type||M(t.ui_content_type),running_message:l.running_message||l.running_status,finished_message:l.finished_message||l.finished_status}};return jsx(ue,{toolGroup:d,ContentComponent:s,className:e})}default:return typeof t.content=="string"?jsx(we,{content:t.content,className:e}):null}}function Bo(t){return typeof t.content=="string"?t.content:""}function Oo(t){return t.some(e=>{if(e.type==="text"){if(typeof e.content!="string")return false;let n=e.content.trim();return !(!n||n.startsWith("{")||n.startsWith("["))}if(e.type==="json"){let n=e.content,o=Lo(n);return o!==void 0&&o.length>0||te(n)}return false})}function Lo(t){let e=t?.children??t?.blocks;return Array.isArray(e)?e:void 0}function De(t){if(t==null)return null;if(Array.isArray(t))return t.every(o=>o&&typeof o=="object"&&"type"in o&&"content"in o)?t:t.every(o=>o&&typeof o=="object"&&"_type"in o)?[{type:"json",content:{children:t}}]:null;if(typeof t=="object")return [{type:"json",content:t}];if(typeof t=="string"){let e=xt(t);return De(e)}return null}function Mo(t,e,n,o){return jsx(Fragment,{children:t.map((r,s)=>{if(r.type==="text"){let a=typeof r.content=="string"?r.content:String(r.content);return jsx(R,{content:a,className:e},`${s}-${a.length}`)}if(r.type==="json"){let a=r.content,i=Lo(a);return i?jsx(kt__default.Fragment,{children:jsx(re,{nodes:i,className:e,invocationId:n,onSuggestionClick:o})},`${s}-${i.length}`):te(a)?jsx(ur,{},s):null}return null})})}function Il({result:t,isStreaming:e,className:n,components:o,streamingText:r}){let s=t?$o(t):[];return r&&s.length===0?jsxs("div",{className:n?`erdo-ui ${n}`:"erdo-ui space-y-4",children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx("div",{className:"animate-pulse w-2 h-2 bg-blue-500 rounded-full"}),jsx("span",{className:"text-sm text-gray-500",children:"Streaming response..."})]}),jsx("div",{className:"border rounded-lg p-4 whitespace-pre-wrap",children:r})]}):s.length===0&&!e?null:jsxs("div",{className:n?`erdo-ui ${n}`:"erdo-ui space-y-4",children:[s.map((a,i)=>jsx("div",{children:jsx($t,{content:a,components:o})},a.id||i)),e&&s.length===0&&!r&&jsxs("div",{className:"flex items-center gap-2",children:[jsx("div",{className:"animate-pulse w-2 h-2 bg-blue-500 rounded-full"}),jsx("span",{className:"text-sm text-gray-500",children:"Processing..."})]})]})}function $o(t){let e=[],n=new Set;if(t.events)for(let o of t.events){let r=o.metadata,s=o.payload;if(r?.user_visibility==="visible"&&s?.status==="success"&&s?.output){let a=s.output;if(a.content&&Array.isArray(a.content))for(let i=0;i<a.content.length;i++){let c=a.content[i],l=c.id||`event-result-${i}`;if(n.has(l))continue;n.add(l);let u=r?.ui_content_type;e.push({id:l,content_type:c.content_type||"text",ui_content_type:u,content:c.content,data:c.data,chartConfig:c.chartConfig,chartData:c.chartData,tableColumns:c.tableColumns,tableData:c.tableData});}}}if(e.length===0&&t.result?.output?.content){let o=t.result.output.content;if(Array.isArray(o))for(let r=0;r<o.length;r++){let s=o[r],a=s.id||`result-${r}`;if(n.has(a))continue;n.add(a);let i=s.ui_content_type;e.push({...s,id:a,ui_content_type:i});}}return e}function Nl(t){if(t.length===0)return t;let e=false;for(let o=0;o<t.length-1;o++){let r=t[o].type,s=t[o+1].type;if(r==="text"&&s==="json"||r==="json"&&s==="text"){e=true;break}}if(!e)return t;let n=[];for(let o=0;o<t.length;o++){let r=t[o],s=o>0?t[o-1]:null,a=o<t.length-1?t[o+1]:null;if(r.type==="text"&&typeof r.content=="string"){let i=r.content,c=false;if(a?.type==="json"){let l=i;i=i.replace(/```(?:json)?\s*$/,""),l!==i&&(c=true);}if(s?.type==="json"){let l=i;i=i.replace(/^\s*```/,""),l!==i&&(c=true);}(!c||i.trim())&&n.push({...r,content:i});}else n.push(r);}return n}var Tl=new Set(["=","("]);function El(t){if(!t||t.length===0)return true;let e=t[t.length-1];return !Tl.has(e)}function dr(t,e){if(t.user_visibility!=="visible"||!ve(t.content_type,t.ui_content_type.String))return typeof t.content=="object"?t:{...t,content:(t.content||"")+e};if(typeof t.content=="object"&&t.content!==null)return t;let n=t.parsedJson?[...t.parsedJson]:[];n.length>0&&(n[n.length-1]={...n[n.length-1]});let o=(t.content||"")+e,r=t._isInJson??false,s=t._charBuffer??"",a=t._jsonParser,i=n.length>0&&t._currentContent?n[n.length-1]:void 0;if(typeof e=="object")return {...t,content:(t.content||"")+JSON.stringify(e),parsedJson:[...n,e],_isInJson:r,_charBuffer:s,_jsonParser:a,_currentContent:void 0};let c=o.length-e.length,l="",u=()=>{l&&(!i||i.type!=="text"?(i={content:l,type:"text"},n.push(i)):i.content=i.content+l,l="");};for(let m=0;m<e.length;m++){let g=e[m];if(!r&&g==="{"){let f=o.slice(0,c+m);if(El(f)){u(),s="{";continue}}if(s&&Bt(g)){s+=g;continue}if(!r&&s?.match(/^\s*{\s*$/)&&g==='"'){r=true,a=new nt;let h={content:a.add("{"),type:"json"};i?.content?typeof i.content=="string"&&i.content.match(/^\s*{$/)?(i=h,n[n.length-1]=h):(typeof i.content=="string"&&(i.content=i.content.replace(/{$/,"")),i=h,n.push(h)):(i=h,n.push(h));}if(r)try{let f=a.add(g);i.content=f,a.state==="END"&&(r=!1,i=void 0);}catch{if(r=false,a=void 0,i&&i.type==="json"){let h=o.lastIndexOf("{"),b=o.slice(h,c+m+1);i.type="text",i.content=b;}continue}else l+=s+g;s="";}u();let d=i,p=Nl(n);return {...t,content:o,parsedJson:p,_isInJson:r,_charBuffer:s,_jsonParser:a,_currentContent:d}}function Re(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Dl(t){if(!Re(t)||!("content"in t))return t;let e=t.content;return e===void 0?t:e}function fe(t,e){let n=Dl(e);if((t==="thinking"||t==="redacted_thinking")&&typeof n=="string"){let o=$(n);return Re(o)?{content:o}:{content:n}}if(t==="json"&&typeof n=="string"){let o;try{let s=xt(n);Array.isArray(s)&&(o=s);}catch{}let r=$(n);return r!=null?{content:r,parsedJson:o}:{content:n,parsedJson:o}}return {content:n}}function Rl(t,e){return typeof e=="string"?e:Re(e)?t==="redacted_thinking"?typeof e.data=="string"?e.data:"":typeof e.thinking=="string"?e.thinking:"":""}function yn(t,e,n){let o=fe(t,n);if(t!=="thinking"&&t!=="redacted_thinking")return o;let r=Rl(t,e);return r?t==="redacted_thinking"?Re(o.content)&&typeof o.content.data!="string"?{...o,content:{...o.content,data:r}}:o:Re(o.content)&&typeof o.content.thinking!="string"?{...o,content:{...o.content,thinking:r}}:o:o}function hn(t){let e=t.metadata?.step_id??t.payload?.step_id;return typeof e=="string"?e:""}function pr(t){let e=t.metadata?.message_content_id??t.payload?.message_content_id;return typeof e=="string"?e:""}function Al(t){let e=t.metadata?.message_id;return typeof e=="string"?e:""}function mr(t,e){if(e.metadata?.content_type==="agent_invocation")return true;let n=Al(e);return !!(n&&n!==t.messageId)}function Pl(t){return typeof t=="string"?t:typeof t=="object"&&t!==null&&"content"in t?String(t.content??""):""}function xn(){return {nodes:[],byStepId:{},byContentId:{},childrenByParentId:{},rootStepId:null,messageId:null,isStreaming:false}}function fr(t,e){switch(e.type){case "message created":return Bl(t,e);case "message finished":return jo(t);case "step_started":return Ol(t,e);case "step_finished":return Ml(t,e);case "create message content":return Vl(t,e);case "message content delta":return Ll(t,e);case "message content result":return $l(t,e);case "status":return Ul(t,e);default:return t}}function Bl(t,e){let n=e.metadata?.message_id??e.payload?.message_id;if(!n)return t;let o=e.payload?.role,r=!!e.metadata?.invocation_id;return o==="assistant"||!o&&r?{...t,messageId:n}:t}function Ol(t,e){let n=e.payload;if(!n?.step_id)return t;let o=t.byStepId[n.step_id],r=n.parent_step_id??null,s={kind:"step",id:n.step_id,parentId:r,type:n.type||o?.type||"agent",name:n.name||o?.name||"",key:n.key??o?.key,status:"running",contentType:n.content_type??o?.contentType,runningStatus:n.running_status??o?.runningStatus,finishedStatus:n.finished_status??o?.finishedStatus,hidden:n.hidden??o?.hidden},i=!r&&!t.rootStepId?n.step_id:t.rootStepId,c=r??"__root__",l=t.childrenByParentId[c]??[],u=l.includes(n.step_id)?t.childrenByParentId:{...t.childrenByParentId,[c]:[...l,n.step_id]},d=o?t.nodes.map(p=>p.kind==="step"&&p.id===n.step_id?s:p):[...t.nodes,s];return {...t,nodes:d,byStepId:{...t.byStepId,[n.step_id]:s},childrenByParentId:u,rootStepId:i,isStreaming:true}}function Ml(t,e){let n=e.payload;if(!n?.step_id)return t;let o=t.byStepId[n.step_id];if(!o){let c={kind:"step",id:n.step_id,parentId:null,type:"agent",name:"",status:n.status==="error"?"error":"completed",error:n.error,finishedStatus:n.finished_status};return {...t,nodes:[...t.nodes,c],byStepId:{...t.byStepId,[n.step_id]:c}}}let r={...o,status:n.status==="error"?"error":"completed",error:n.error??o.error,...n.finished_status?{finishedStatus:n.finished_status}:{}},s=n.step_id===t.rootStepId,a=t.nodes.map(c=>c.kind==="step"&&c.id===n.step_id?r:c.kind==="content"&&c.stepId===n.step_id?{...c,state:"completed"}:c),i={...t.byContentId};for(let[c,l]of Object.entries(i))l.stepId===n.step_id&&(i[c]={...l,state:"completed"});return {...t,nodes:a,byStepId:{...t.byStepId,[n.step_id]:r},byContentId:i,isStreaming:s?false:t.isStreaming}}function Vl(t,e){if(mr(t,e))return t;let n=pr(e);if(!n)return t;let o=hn(e)||null,r=typeof e.metadata?.content_type=="string"&&e.metadata.content_type||"text",s=typeof e.metadata?.ui_content_type=="string"&&e.metadata.ui_content_type||r,a=t.byContentId[n];if(a){let c={...a,stepId:a.stepId??o,contentType:a.contentType==="text"?r:a.contentType,uiContentType:a.uiContentType==="text"?s:a.uiContentType};return {...t,nodes:t.nodes.map(l=>l.kind==="content"&&l.id===n?c:l),byContentId:{...t.byContentId,[n]:c}}}let i={kind:"content",id:n,stepId:o,contentType:r,uiContentType:s,text:"",state:"streaming"};return {...t,nodes:[...t.nodes,i],byContentId:{...t.byContentId,[n]:i}}}function Ll(t,e){if(mr(t,e))return t;let n=pr(e),o=Pl(e.payload);if(!n||!o)return t;let r=t.byContentId[n],s=t;if(!r){let u=hn(e)||null,d=typeof e.metadata?.content_type=="string"&&e.metadata.content_type||"text",p=typeof e.metadata?.ui_content_type=="string"&&e.metadata.ui_content_type||d;r={kind:"content",id:n,stepId:u,contentType:d,uiContentType:p,text:"",state:"streaming"},s={...t,nodes:[...t.nodes,r],byContentId:{...t.byContentId,[n]:r}};}let a=r.text+o,i={},c=r.parsedContent;if(r.contentType==="json"){let u=Gl(r,o);c=u.parsedContent,i=u._parserFields;}let l={...r,text:a,...c!==void 0?{parsedContent:c}:{},...i};return {...s,nodes:s.nodes.map(u=>u.kind==="content"&&u.id===n?l:u),byContentId:{...s.byContentId,[n]:l}}}function $l(t,e){if(mr(t,e))return t;let n=pr(e);if(!n)return t;let o=hn(e)||null,r=typeof e.metadata?.content_type=="string"&&e.metadata.content_type||"text",s=typeof e.metadata?.ui_content_type=="string"&&e.metadata.ui_content_type||r,a=t.byContentId[n],i=a?yn(r,a.result??a.text,e.payload):fe(r,e.payload);if(!a){let l={kind:"content",id:n,stepId:o,contentType:r,uiContentType:s,text:"",result:i.content,...i.parsedJson?{parsedContent:i.parsedJson}:{},state:"completed"};return {...t,nodes:[...t.nodes,l],byContentId:{...t.byContentId,[n]:l}}}let c={...a,result:i.content,...i.parsedJson?{parsedContent:i.parsedJson}:{},state:"completed"};return {...t,nodes:t.nodes.map(l=>l.kind==="content"&&l.id===n?c:l),byContentId:{...t.byContentId,[n]:c}}}function jo(t){let e=t.nodes.map(o=>o.kind==="content"&&o.state==="streaming"?{...o,state:"completed"}:o),n={...t.byContentId};for(let[o,r]of Object.entries(n))r.state==="streaming"&&(n[o]={...r,state:"completed"});return {...t,nodes:e,byContentId:n,isStreaming:false}}function jl(t){let e=t.payload;return typeof e=="string"?e:e?.message||e?.status_message||e?.status||""}function Ul(t,e){let n=hn(e)||null,o=jl(e);if(!o)return t;if(n){let s=t.byStepId[n];return s?Fl(t,s,n,o):Jl(t,n,o)}let r={kind:"status",stepId:null,message:o};return {...t,nodes:[...t.nodes,r]}}function Fl(t,e,n,o){let r=e.status==="completed"||e.status==="error"?{...e,finishedStatus:o}:{...e,runningStatus:o};return {...t,nodes:t.nodes.map(s=>s.kind==="step"&&s.id===n?r:s),byStepId:{...t.byStepId,[n]:r}}}function Jl(t,e,n){let o=false,r=t.nodes.map(a=>{if(a.kind!=="content"||a.stepId!==e||a.contentType!=="tool_invocation"&&a.contentType!=="tool_result"||!a.result||typeof a.result!="object")return a;o=true;let i=a.state==="completed"?"finished_message":"running_message";return {...a,result:{...a.result,[i]:n}}});if(!o)return t;let s={...t.byContentId};for(let a of r)a.kind==="content"&&a.stepId===e&&t.byContentId[a.id]!==a&&(s[a.id]=a);return {...t,nodes:r,byContentId:s}}function Gl(t,e){let n=t,o={content:n._rawText??t.text,user_visibility:"visible",content_type:"json",ui_content_type:{String:t.uiContentType||"json",Valid:true},parsedJson:t.parsedContent??[],_jsonParser:n._jsonParser,_isInJson:n._isInJson,_charBuffer:n._charBuffer??"",_currentContent:n._currentContent},r=dr(o,e);return {parsedContent:r.parsedJson,_parserFields:{_rawText:r.content,_jsonParser:r._jsonParser,_isInJson:r._isInJson,_charBuffer:r._charBuffer,_currentContent:r._currentContent}}}function Wl(t){for(let e of t.nodes){if(e.kind==="step"){let o=t.byStepId[e.id];if(o&&o.type==="tool_call"&&!o.hidden)return true;continue}if(e.kind!=="content")continue;let n=t.byContentId[e.id];if(n&&!(n.contentType==="tool_invocation"||n.contentType==="agent_invocation")&&(n.contentType==="tool_result"&&n.result||n.text||n.parsedContent?.length||n.result))return true}return false}function kn(t,e,n){return e.type!=="llm_call"?false:!(e.parentId===t.rootStepId)&&n.contentType==="text"}function bn(t){if(!t.rootStepId)return [];let e=[],n={};function o(s){if(!s)return false;if(s in n)return n[s];let a=s,i=false,c=[];for(;a;){if(a in n){i=i||n[a];break}c.push(a);let l=t.byStepId[a];if(!l)return false;if(l.hidden){i=true;break}a=l.parentId;}for(let l of c)n[l]=i;return i}function r(s){let a=false;if(s.contentType==="thinking"||s.contentType==="redacted_thinking"){let c=s.result??s.text;e.push({id:s.id,content_type:s.contentType,ui_content_type:s.uiContentType||s.contentType,content:c,state:s.state==="streaming"?"in_progress":"completed"}),a=true;}else if(s.contentType==="json"){if(s.parsedContent)for(let c=0;c<s.parsedContent.length;c++){let l=s.parsedContent[c];if(l.type==="text"&&l.content)e.push({id:`${s.id}-text-${c}`,content_type:"text",ui_content_type:"markdown",content:String(l.content)}),a=true;else if(l.type==="json"&&typeof l.content=="object"){let u=l.content;typeof u.output=="string"?e.push({id:`${s.id}-text-${c}`,content_type:"text",ui_content_type:"markdown",content:u.output}):typeof u.markdown=="string"?e.push({id:`${s.id}-text-${c}`,content_type:"text",ui_content_type:"markdown",content:u.markdown}):e.push({id:`${s.id}-json-${c}`,content_type:"json",ui_content_type:s.uiContentType||"ui_generation",content:u,state:s.state==="streaming"?"in_progress":"completed"}),a=true;}}else if(s.result){let c=typeof s.result=="string"?ql(s.result):s.result;c&&typeof c=="object"&&(e.push({id:s.id,content_type:"json",ui_content_type:s.uiContentType||"json",content:c,state:s.state==="streaming"?"in_progress":"completed"}),a=true);}}if(a)return;let i=s.result??s.text;i&&e.push({id:s.id,content_type:s.contentType||"text",ui_content_type:s.uiContentType||"markdown",content:i,state:s.state==="streaming"?"in_progress":"completed"});}for(let s of t.nodes){if(s.kind!=="content")continue;let a=t.byContentId[s.id];if(!a||a.contentType==="tool_invocation")continue;if(a.contentType==="tool_result"){a.result&&a.result.action_type!=="bot.invoke"&&e.push({id:a.id,content_type:"tool_result",ui_content_type:a.uiContentType||"tool_result",content:a.result});continue}if(a.stepId===null){r(a);continue}let i=t.byStepId[a.stepId];if(!i){r(a);continue}o(i.id)||i.type!=="tool_call"&&(i.type==="llm_call"&&kn(t,i,a)||r(a));}return e}function ql(t){return t?$(t):null}function Yl(t){return (t.status==="completed"||t.status==="error")&&t.finishedStatus?t.finishedStatus:t.runningStatus?t.runningStatus:t.name.replace(/_/g," ")}function Xl(t){return t==="running"?"loading":t==="error"?"failed":"finished"}function tc(t,e){let n=t.byStepId[e];if(!n||n.type!=="agent"||(t.childrenByParentId[e]||[]).some(s=>{let a=t.byStepId[s];return !!a&&a.type==="agent"&&!a.hidden}))return false;for(let s of t.nodes){if(s.kind!=="step")continue;let a=t.byStepId[s.id];if(!a||a.type!=="agent"||a.hidden||a.id===e)continue;let i=a.id;for(;i;){if(i===e)return true;i=t.byStepId[i]?.parentId??null;}}return false}function ec(t){return t==="info"?"info":t==="warning"?"warning":"standard"}function nc(t){let e=t.trim();if(!e)return null;let n=new Set;n.add(e);let o=e.match(/^```[a-zA-Z0-9_-]*\n([\s\S]*?)\n```$/);o?.[1]&&n.add(o[1].trim());let r=e.indexOf("{"),s=e.lastIndexOf("}");r>=0&&s>r&&n.add(e.slice(r,s+1).trim());let a=e.indexOf("["),i=e.lastIndexOf("]");a>=0&&i>a&&n.add(e.slice(a,i+1).trim());for(let c of n){if(!c)continue;let l=$(c);if(l!=null)return typeof l=="string"?$(l)??l:l}return null}function Uo(t,e){let n=[],o="",r=[],s=0;function a(){r.length>0&&(n.push({id:`${e}-exec-${s}`,type:"codeexec",content:r.join(`
|
|
52
52
|
`),wrapperType:ec(o)}),s++,r=[]);}for(let i of t){let c=typeof i.message=="string"?i.message:"";if(!c)continue;let l=typeof i.level=="string"?i.level:"output";l!==o&&r.length>0&&a(),o=l,r.push(c);}return a(),n}function Fo(t,e,n){let o=[];for(let r of t){if(r.contentType==="tool_invocation"||r.contentType==="tool_result")continue;let s=`${e}-content-${r.id}`,a=r.state==="streaming"?"running":"completed";if(r.contentType==="thinking"||r.contentType==="redacted_thinking"){let i=r.result??r.text;if(!i)continue;o.push({id:s,type:"thinking",contentItem:{id:s,content_type:r.contentType,ui_content_type:r.uiContentType||r.contentType,content:i,state:r.state==="streaming"?"in_progress":"completed"},status:a});continue}if(r.result){let i=r.result;if(typeof r.result=="string")if(r.contentType==="json"){let c=$(r.result);if(c!=null)i=c;else {let l=nc(r.result);if(l!==null)i=l;else if(!(r.parsedContent&&r.parsedContent.length>0))if(n){o.push({id:s,type:"content",contentItem:{id:s,content_type:r.contentType,ui_content_type:r.uiContentType||"ui_generation",content:r.result,state:r.state==="streaming"?"in_progress":"completed"}});continue}else {o.push({id:s,type:"text",content:r.result});continue}}}else {o.push({id:s,type:"text",content:r.result});continue}if(Array.isArray(i)&&i.length>0){o.push(...Uo(i,s));continue}if(typeof i=="object"&&i!==null){let c=i;if(typeof c.code=="string"){o.push({id:s,type:"codegen",contentData:c,status:a});continue}if(n){o.push({id:s,type:"content",contentItem:{id:s,content_type:r.contentType,ui_content_type:r.uiContentType,content:i,state:r.state==="streaming"?"in_progress":"completed"}});continue}}}if(r.contentType==="json"&&r.parsedContent){if(r.uiContentType==="codeexec_output"){let i=[];for(let c of r.parsedContent)c.type==="json"&&typeof c.content=="object"&&i.push(c.content);o.push(...Uo(i,s));continue}for(let i=0;i<r.parsedContent.length;i++){let c=r.parsedContent[i];if(c.type==="text"&&c.content)o.push({id:`${s}-text-${i}`,type:"text",content:String(c.content)});else if(c.type==="json"&&typeof c.content=="object"){let l=c.content;typeof l.code=="string"?o.push({id:`${s}-codegen-${i}`,type:"codegen",contentData:l,status:a}):typeof l.markdown=="string"?o.push({id:`${s}-text-${i}`,type:"text",content:l.markdown}):typeof l.output=="string"?o.push({id:`${s}-text-${i}`,type:"text",content:l.output}):n&&o.push({id:`${s}-content-${i}`,type:"content",contentItem:{id:`${s}-content-${i}`,content_type:"json",ui_content_type:r.uiContentType||"ui_generation",content:l,state:r.state==="streaming"?"in_progress":"completed"}});}}continue}r.text&&r.contentType!=="json"&&o.push({id:s,type:"text",content:r.text});}return o}function rc(t,e){if(!t.rootStepId)return [];let n=[],o={},r={},s=new Set,a={},i={},c={},l={};function u(y){if(y!==t.rootStepId)return false;if(y in a)return a[y];let k=tc(t,y);return a[y]=k,k}function d(y){return r[y]||(r[y]=[]),r[y]}function p(y){if(y)return t.byStepId[y]}function m(y){if(!y)return false;if(y in l)return l[y];let k=y,S=[],_=false;for(;k;){if(k in l){_=_||l[k];break}S.push(k);let v=p(k);if(!v)break;if(v.hidden){_=true;break}k=v.parentId;}for(let v of S)l[v]=_;return _}function g(y){return m(y.id)}for(let y of t.nodes){if(y.kind!=="content")continue;let k=t.byContentId[y.id];if(!k||!k.stepId||k.contentType==="tool_invocation"||k.contentType==="tool_result"||k.contentType==="agent_invocation"||!k.text&&!k.result&&!k.parsedContent?.length)continue;let S=p(k.stepId);if(!S||g(S)||S.type==="llm_call"&&kn(t,S,k))continue;let _=k.stepId;for(;_;){c[_]=true;let v=p(_);if(!v)break;_=v.parentId;}}function f(y){return !!c[y]}function h(y){if(!y)return null;if(y in i)return i[y];let k=y;for(;k;){let S=p(k);if(!S)break;let _=k===t.rootStepId,v=S.type==="agent"&&!S.hidden&&(!_||!u(S.id)),N=S.type==="tool_call"&&!S.hidden;if(v||N)return i[y]=k,k;k=S.parentId;}return i[y]=null,null}function b(y,k){if(k.length===0)return;let S=h(y);if(!S){n.push(...k);return}let _=o[S];if(!_){d(S).push(...k);return}_.children||(_.children=[]),_.children.push(...k);}function x(y,k,S){if(!S||typeof S!="object")return [];let _=S,v=typeof _.result=="object"&&_.result!==null?_.result:_,N=[];typeof v.code=="string"&&v.code.trim()&&N.push({id:`${y}-${k}-codegen`,type:"codegen",contentData:v});let U=typeof v.output=="string"?v.output.trim():"";return U&&N.push({id:`${y}-${k}-output`,type:"codeexec",content:U}),N}for(let y of t.nodes){if(y.kind==="step"){let _=t.byStepId[y.id];if(!_||_.hidden||_.type==="llm_call"||_.id===t.rootStepId&&u(_.id)||s.has(_.id))continue;s.add(_.id);let v={id:_.id,type:"step",label:Yl(_),status:_.status},N=r[_.id];N&&N.length>0&&(v.children=N,delete r[_.id]),o[_.id]=v,b(_.parentId,[v]);continue}if(y.kind!=="content")continue;let k=t.byContentId[y.id];if(!k||k.contentType==="tool_invocation")continue;if(k.stepId===null){n.push(...Fo([k],"root",e));continue}let S=t.byStepId[k.stepId];if(S&&!g(S)&&!(S.type==="llm_call"&&kn(t,S,k))){if(S.type==="tool_call"&&k.contentType==="tool_result"){if(f(S.id))continue;b(S.id,x(S.id,k.id,k.result));continue}b(S.id,Fo([k],S.id,e));}}return n}function Jo({node:t,ContentComponent:e}){let[n,o]=useState(t.status==="running"),r=useRef(t.status==="running");if(useEffect(()=>{r.current&&t.status!=="running"&&o(false),r.current=t.status==="running";},[t.status]),t.type==="text")return jsx(R,{content:t.content||"",className:"max-w-none"});if(t.type==="codegen"&&t.contentData){let{code:i,step_by_step:c,thinking:l}=t.contentData;return jsxs("div",{className:"space-y-2",children:[c&&jsx(R,{content:c,className:"text-sm max-w-none"}),l&&jsx(ie,{content:l,state:t.status==="running"?"in_progress":"completed"}),i&&jsx(vt,{language:"python",value:i,defaultOpen:false})]})}if(t.type==="codeexec"&&t.content){let i=t.wrapperType||"standard";return jsx(wt,{wrapperType:i,compact:true,children:jsx(le,{children:t.content})})}if(t.type==="thinking"&&t.contentItem)return jsx(oe,{item:t.contentItem});if(t.type==="content"&&t.contentItem&&e)return jsx(e,{content:t.contentItem});if(t.type==="content"&&t.contentItem)return jsx($t,{content:t.contentItem});let s=!!t.children?.length,a=t.status==="running"?"text-foreground":"text-muted-foreground";return jsxs(de.Root,{open:n,onOpenChange:o,className:"w-full",children:[jsxs(de.Trigger,{className:`flex items-center justify-between w-full text-sm py-0.5 ${a} ${s?"hover:text-foreground cursor-pointer":"cursor-default"}`,disabled:!s,children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx(it,{status:Xl(t.status),size:14}),jsx("span",{children:t.label})]}),s&&jsx(ChevronDown,{className:`h-4 w-4 shrink-0 text-muted-foreground/50 transition-transform duration-200 ${n?"rotate-180":""}`})]}),s&&jsx(de.Content,{children:jsx("div",{className:"ml-5 mt-1 flex flex-col gap-1",children:t.children?.map(i=>jsx(Jo,{node:i,ContentComponent:e},i.id))})})]})}function Go({agentState:t,ContentComponent:e,className:n}){if(!t.rootStepId)return null;let o=useMemo(()=>rc(t,e),[t,e]);return o.length===0?null:jsx("div",{className:`flex flex-col gap-1 ${n||""}`,children:o.map(r=>jsx(Jo,{node:r,ContentComponent:e},r.id))})}function _n(t){if(t.type==="dynamic-tool"&&t.toolName?.startsWith("erdo_"))return t.toolName;if(t.type.startsWith("tool-erdo_"))return t.type.slice(5)}function oc(t){return _n(t)!==void 0}var sc={erdo_render_chart:"ui",erdo_render_table:"ui",erdo_ask_data_question:"markdown",erdo_list_datasets:"data",erdo_search_datasets:"data",erdo_get_dataset_schema:"data",erdo_gather_dataset_context:"data",erdo_query_data:"data",erdo_run_query:"data",erdo_fetch_dataset_contents:"data",erdo_list_threads:"data",erdo_get_thread_messages:"data"};function gr(t){return sc[t]??"data"}function Wo({part:t,className:e,onSuggestionClick:n}){let o=_n(t);if(!o)return null;if(["partial-call","call","input-streaming","input-available"].includes(t.state))return jsxs("div",{className:e||"flex items-center gap-2 py-4 text-muted-foreground",children:[jsx(Loader2,{className:"h-4 w-4 animate-spin"}),jsxs("span",{className:"text-sm",children:["Running ",ic(o),"..."]})]});if(t.state==="result"||t.state==="output-available"){let s=t.output??t.result;if(t.errorText)return jsxs("div",{className:e||"flex items-center gap-2 py-2 text-sm text-destructive",children:[jsx(AlertCircle,{className:"h-4 w-4 shrink-0"}),jsx("span",{children:t.errorText})]});if(s&&typeof s=="object"&&"error"in s&&s.error)return jsxs("div",{className:e||"flex items-center gap-2 py-2 text-sm text-destructive",children:[jsx(AlertCircle,{className:"h-4 w-4 shrink-0"}),jsx("span",{children:String(s.error)})]});switch(gr(o)){case "ui":{let i=s?.children;return i&&Array.isArray(i)&&i.length>0?jsx("div",{className:e,children:jsx(re,{nodes:i,invocationId:t.toolCallId,onSuggestionClick:n})}):s?jsx("div",{className:e,children:jsx(ht,{content:s})}):null}case "markdown":{let i=s?.answer;if(i)return jsx("div",{className:e,children:jsx(R,{content:i})});let c=s?.output;return c?jsx("div",{className:e,children:jsx(R,{content:c})}):s?jsx("div",{className:e,children:jsx(ht,{content:s})}):null}case "data":return s!=null?jsx("div",{className:e,children:jsx(ht,{content:s})}):null}}return t.state==="output-error"?jsxs("div",{className:e||"flex items-center gap-2 py-2 text-sm text-destructive",children:[jsx(AlertCircle,{className:"h-4 w-4 shrink-0"}),jsx("span",{children:t.errorText||"Tool execution failed"})]}):null}function ic(t){return t.replace(/^erdo_/,"").split("_").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ")}function J(t){if(!t)throw new Error("Entity is null");if(!("_type"in t))throw new Error(`Entity ${JSON.stringify(t)} is missing _type`);return t._type}function lc(t){return t.contents.length===0?null:t.contents[t.contents.length-1]||null}function Qo(t){return t.contents.length===0?null:t.contents[0]||null}function qo(t){let e=false,n=t.contents.map(r=>r.state!=="in_progress"?r:(e=true,{...r,state:"completed",updated_at:new Date().toISOString()}));if(!e&&t.state==="completed")return t;let o={...t.contentsByID};for(let r of n)o[r.id]=r;return {...t,state:"completed",contents:n,contentsByID:o}}function kr(t,e){let n=J(t);switch(n){case "message":return t;case "step":let o=t;if(e){let a=o.eventsByID[e]?.Message;return a||Xo({},"",e)}let s=Object.keys(o.eventsByID).reverse();for(let a of s){let i=o.eventsByID[a];if(i&&i.Message)return i.Message}throw new Error("Unable to find message for step");default:throw new Error(`Unable to have messages on entity type ${n}`)}}function cc(t,e){switch(J(t)){case "message_content":return t;case "output_content":return t;case "message":return ye(t,e);case "output":return he(t,e);case "step":let o=vn(t,e);return o?he(o,e):null;default:return null}}function ye(t,e){let n=J(t);switch(n){case "message_content":return t;case "message":let o=kr(t);if(!o)throw new Error("Unable to find message to add content to");return e?o.contentsByID[e]:lc(o);default:throw new Error(`Unable to have message content on entity type ${n}`)}}function he(t,e){let n=J(t);switch(n){case "output_content":return t;case "output":let o=t;return e?o.contentsByID[e]||null:o.contents.length<=0?null:o.contents[o.contents.length-1]||null;case "step":let s=vn(t,e);return s?he(s):null;case "invocation":if(!e)return null;let a=t.eventsByID[e];return !a||!a.Output?null:he(a.Output);default:throw new Error(`Unable to have output content on entity type ${n}`)}}function br(t,e){let n=J(t),o=null;switch(n){case "invocation":return t;case "message_content":if(o=t.botInvocation||null,!o)throw new Error("Unable to find bot invocation for message content");if(e&&o.bot_invocation.id!==e)throw new Error("Unable to find bot invocation for message content - mismatched ID");return o;case "message":if(o=Qo(t)?.botInvocation||null,!o)throw new Error("Unable to find bot invocation for message");if(e&&o.bot_invocation.id!==e)throw new Error("Unable to find bot invocation for message - mismatched ID");return o;case "output_content":return t.botInvocation||null;default:throw new Error(`Unable to have bot invocation on entity type ${n}`)}}function vn(t,e){let n=J(t);switch(n){case "output":return t;case "step":let o=t;if(e){let i=o.eventsByID[e]?.Output;if(!i)throw new Error("Unable to find output with id "+e);return i}let s=Object.keys(o.eventsByID).reverse();for(let i of s){let c=o.eventsByID[i];if(c&&c.Output)return c.Output}throw new Error("Unable to find output for step");case "invocation":if(!e)throw new Error("Unable to find output for invocation without ID");return t.eventsByID[e]?.Output||null;default:throw new Error(`Unable to have step outputs on entity type ${n}`)}}function Zo(t,e){let n=J(t);switch(n){case "result_handler":return t;case "step":if(!e)throw new Error("Unable to have result handlers on step without ID");let o=t.eventsByID[e];if(!o||!o.type||o.type!=="result_handler"||!o.ResultHandler)throw new Error(`Unable to find result handler with id ${e} on step ${t.id}`);return o.ResultHandler;default:throw new Error(`Unable to have result handlers on entity type ${n}`)}}function Yo(t,e){let n=J(t),o=null;switch(n){case "step":if(t.id===e||!e)return t;throw new Error("Unable to find step on step with id "+e);case "invocation":if(!e)throw new Error("Unable to have steps on bot invocation without ID");o=t;let r=o.eventsByID[e];if(!r)throw new Error("Unable to find step on invocation with id "+e);if(!r.Step)throw new Error("Unable to find step on invocation with id "+e);return r.Step;case "result_handler":if(!e)throw new Error("Unable to have steps on result handler without ID");let a=t.eventsByID[e];if(!a)throw new Error("Unable to find step on result handler with id "+e);if(!a.Step)throw new Error("Unable to find step on result handler with id "+e);return a.Step;default:throw new Error(`Unable to have steps on entity type ${n}`)}}var hr=class extends Error{};function uc(t,e,n){let o=null,r=e[0],s=e[1];n[r]=s;try{switch(r){case "message":o=kr(t,s);break;case "content":o=ye(t,s);break;case "step":o=Yo(t,s);break;case "output":o=vn(t,s);break;case "output_content":o=he(t,s);break;case "invocation":o=br(t,s);break;case "result_handler":o=Zo(t,s);break}}catch(a){throw console.error("error finding next entity"),console.log("path",e),console.log("currentEntity",t),a}if(!o)throw console.log("path",e),console.log("currentEntity",t),console.log("nextEntity",o),new hr(`Unable to find next entity for path ${e.join("/")}`);return o}function Xo(t,e,n,o){let r=t.payload;return {_type:"message",message:{id:n,thread_id:e,author_id:r.author_id||"app",author_entity_type:r.author_entity_type||"app",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),role:r.role||"assistant",avatar:"/teams/erdo-icon.png"},state:"in_progress",contents:[],contentsByID:{},contentIDToIdx:{}}}function dc(t,e){return {_type:"message_content",id:t.metadata.message_content_id,message_id:e.message,content_type:t.metadata.content_type,created_by_invocation_id:t.metadata.invocation_id,invocation_id:t.metadata.invocation_id,state:"in_progress",user_visibility:t.metadata.user_visibility??"visible",bot_visibility:t.metadata.bot_visibility??"visible",content:"",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),content_params:{RawMessage:null,Valid:false},history_content_type:t.metadata?.history_content_type?{String:t.metadata.history_content_type,Valid:true}:{String:"",Valid:false},ui_content_type:t.metadata?.ui_content_type?{String:t.metadata.ui_content_type,Valid:true}:{String:"",Valid:false}}}function pc(t,e){let n=t.metadata.content_type||"text",o=t.metadata?.ui_content_type,r=fe(n,t.payload);return {_type:"message_content",id:t.metadata.message_content_id,message_id:e.message,content:r.content,content_type:n,created_by_invocation_id:t.metadata.invocation_id,invocation_id:t.metadata.invocation_id,state:"completed",user_visibility:t.metadata.visibility||"visible",bot_visibility:"visible",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),content_params:{RawMessage:null,Valid:false},history_content_type:t.metadata?.history_content_type?{String:t.metadata.history_content_type,Valid:true}:{String:"",Valid:false},ui_content_type:o?{String:o,Valid:true}:{String:"",Valid:false},parsedJson:r.parsedJson??null}}function mc(t,e,n){let o=t.payload;return {_type:"step",id:e,invocation_id:n.invocation||"",step_id:o.step_id||"",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),current_status_id:"",path:{String:"",Valid:false},action_type:{String:o.action_type,Valid:true},key:{String:o.key,Valid:true},bot_id:o.bot_id,result_handler_id:"",step_order:{Int32:o.step_order,Valid:true},output_content_type:{String:o.content_type,Valid:true},execution_mode:{String:o.execution_mode,Valid:true},output_behaviour:{String:o.output_behaviour,Valid:true},user_output_visibility:{String:t.metadata.visibility||"visible",Valid:true},output_channels:o.output_channels||[],running_message:{String:o.running_message||"",Valid:!!o.running_message},finished_message:{String:o.finished_message||"",Valid:!!o.finished_message},depends_on:[],eventsByID:{},currentStatus:null}}function fc(t,e,n){let o=t.payload;return {_type:"result_handler",id:e,invocation_id:t.metadata.invocation_id||"",result_handler_id:o.result_handler_id||e,step_invocation_id:o.step_invocation_id||"",type:o.type||"",if_conditions:o.if_conditions||{},created_at:new Date().toISOString(),updated_at:new Date().toISOString(),output_content_type:o.output_content_type||"",result_handler_order:o.result_handler_order||0,eventsByID:{}}}function gc(t,e,n){return {_type:"output",id:e,step_id:n.step_id,output:{id:e,invocation_id:t.metadata?.invocation_id,path:t.metadata.path,created_at:new Date().toISOString(),updated_at:new Date().toISOString()},state:"in_progress",contents:[],contentsByID:{},contentIDToIdx:{}}}function zo(t,e,n,o=null){return {_type:"output_content",id:e,output_id:n.output,content:"",content_type:t.metadata.content_type,state:"in_progress",invocation_id:t.metadata.invocation_id,user_visibility:o??t.metadata.user_visibility??"visible",bot_visibility:t.metadata.bot_visibility??"visible",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),content_params:{RawMessage:null,Valid:false},history_content_type:t.metadata.history_content_type?{String:t.metadata.history_content_type,Valid:true}:{String:"",Valid:false},ui_content_type:t.metadata.ui_content_type?{String:t.metadata.ui_content_type,Valid:true}:{String:"",Valid:false},output:null}}function Ho(t,e,n,o=null){let r=t.metadata.content_type||"text",s=fe(r,t.payload),a=t.metadata?.ui_content_type;return {_type:"output_content",id:e,output_id:n.output,content:s.content,content_type:r,state:"completed",invocation_id:t.metadata.invocation_id,parsedJson:s.parsedJson??null,user_visibility:o||t.metadata.visibility||"visible",bot_visibility:"visible",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),content_params:{RawMessage:null,Valid:false},history_content_type:t.metadata?.history_content_type?{String:t.metadata.history_content_type,Valid:true}:{String:"",Valid:false},ui_content_type:a?{String:a,Valid:true}:{String:"",Valid:false},output:null}}function yc(t,e,n){return {_type:"invocation",bot_invocation:{id:t.payload.invocation_id,bot_id:t.payload.bot_id,bot_name:t.payload.bot_name,created_by_user_id:t.payload.created_by_user_id,current_state_id:"",parent_invocation_id:"",branch_init_state_id:"",current_status_id:"",organization_id:"",created_at:new Date().toISOString(),updated_at:new Date().toISOString()},eventsByID:{},currentStatus:null,current_status:null,step_invocations:[],step_invocation_states:[],resources:[],outputs:[],statuses:[]}}function Pe(t,e){let n=t.payload;return {_type:"status",id:new Date().toISOString(),status:n.status,message:{String:n.message,Valid:true},Details:n}}function ts(t){return {id:t.id,type:"step",created_at:t.created_at,_type:"invocation_event",Output:null,Message:null,Status:null,ResultHandler:null,Step:t}}function Cr(t){return {id:t.output.id,type:"output",created_at:t.output.created_at,_type:"invocation_event",Output:t,Message:null,Status:null,ResultHandler:null,Step:null}}function _r(t){return {id:t.id,type:"status",created_at:t.created_at,_type:"invocation_event",Status:t,Output:null,Message:null,ResultHandler:null,Step:null}}function hc(t){return {id:t.message.id,type:"message",created_at:t.message.created_at,_type:"invocation_event",Output:null,Message:t,Status:null,ResultHandler:null,Step:null}}function xc(t){return {id:t.id,type:"result_handler",created_at:t.created_at,_type:"invocation_event",Output:null,Message:null,Status:null,ResultHandler:t,Step:null}}var kc=new Set(["=","("]);function bc(t){if(!t||t.length===0)return true;let e=t[t.length-1];return !kc.has(e)}function es(t,e){if(t.content||(t.content=""),t.user_visibility!=="visible"||!ve(t.content_type,t.ui_content_type.String))return t.content+=e,{...t};if(t.parsedJson||(t.parsedJson=[]),typeof e=="object")return t.content+=JSON.stringify(e),t.parsedJson=[...t.parsedJson,e],{...t};t._jsonParser||(t._isInJson=false),t._charBuffer||(t._charBuffer="");let n=t.content_type,o=t.ui_content_type.String;for(let r of e){t.content+=r;let s=n==="json"||o==="json";if(!t._isInJson&&s&&!Bt(r)){t._isInJson=true,t._jsonParser=new nt;let a={content:{},type:"json"};t.parsedJson=[...t.parsedJson||[],a],t._currentContent=a,t._charBuffer="";}if(!t._isInJson&&!s&&o==="ui_generation"&&r==="{"){let a=t.content.slice(0,-1);if(bc(a)){t._charBuffer="{";continue}}if(t._charBuffer&&Bt(r)){t._charBuffer+=r;continue}if(!t._isInJson&&!s&&o==="ui_generation"&&t._charBuffer?.match(/^\s*{\s*$/)&&r==='"'){t._isInJson=true,t._jsonParser=new nt;let i={content:t._jsonParser.add("{"),type:"json"};t._currentContent?.content?t._currentContent.content.match(/^\s*{$/)?(t._currentContent=i,t.parsedJson=[...t.parsedJson.slice(0,-1),i]):(t._currentContent.content=t._currentContent.content.replace(/{$/,""),t._currentContent=i,t.parsedJson=[...t.parsedJson,i]):(t._currentContent=i,t.parsedJson=[...t.parsedJson,i]);}if(t._isInJson)try{let a=t._jsonParser.add(r);t._currentContent.content=a,t._jsonParser.state==="END"&&(t._isInJson=!1,t._currentContent=void 0);}catch(a){if(console.log("handleIncrementalMixedJsonParsing: content chunk",e),console.log("handleIncrementalMixedJsonParsing: accumulated content",t.content),console.warn("handleIncrementalMixedJsonParsing: JSON parse error, recovering as text",a),t._isInJson=false,t._jsonParser=void 0,t.parsedJson&&t.parsedJson.length>0){let i=t.parsedJson[t.parsedJson.length-1];if(i.type==="json"){let c=t.content.lastIndexOf("{"),l=t.content.slice(c);i.type="text",i.content=l,t._currentContent=i;}}continue}else t._currentContent||(t._currentContent={content:t._charBuffer||"",type:"text"},t.parsedJson=[...t.parsedJson,t._currentContent]),t._currentContent.content+=t._charBuffer+r;t._charBuffer="";}return {...t}}function Cc(t,e){return es(t,e)}function Ko(t,e){return es(t,e)}function xr(t,e){let n=J(t);switch(n){case "message":return ft(t,e);case "message_content":return Sn(t,e);case "step":return Sc(t,e);case "output":return vc(t,e);case "output_content":return wc(t,e);case "invocation":return Be(t,e);case "result_handler":return Ic(t,e);default:throw new Error(`Unable to add update entity for entity type ${n}`)}}function _c(t,e){for(let n of e)t=xr(t,n);return t}function ft(t,e){let n=kr(t);if(!n)throw new Error("Unable to find message to add content to");let o=J(e),r=null;switch(o){case "message_content":if(r=e,!n.contentsByID[r.id])n.contentIDToIdx={...n.contentIDToIdx,[r.id]:n.contents.length},n.contents=[...n.contents,r];else {let i=n.contentIDToIdx[r.id];n.contents=[...n.contents.slice(0,i),r,...n.contents.slice(i+1)];}return n.contentsByID={...n.contentsByID,[r.id]:r},{...n};case "invocation":let s=e;if(n.contents.length===0)throw new Error("Unable to find message content to add invocation to");return r=Sn(n.contents[0],s),ft(n,r);case "step":if(n.contents.length===0)throw new Error("Unable to find message content to add content to");if(r=n.contents[0],!r)throw new Error("Unable to find message content to add content to");let a=br(r);if(!a)throw new Error("Unable to find bot invocation to add content to");return r.botInvocation=Be(a,e),ft(n,r);case "status":if(n.contents.length>0){let i=n.contents[0];if(i?.botInvocation){let c=Sn(i,e);return ft(n,c)}}return {...n};default:throw new Error(`Unable to add update message child for child type ${o}`)}}function Sn(t,e){let n=ye(t);if(!n)throw new Error("Unable to find message content to add content to");let o=J(e);switch(o){case "invocation":return n.botInvocation=e,{...n};case "step":let r=n.botInvocation;if(!r)throw new Error("Unable to find bot invocation to add content to");return n.botInvocation=Be(r,e),{...n};case "status":return n.botInvocation&&(n.botInvocation=Be(n.botInvocation,e)),{...n};default:throw new Error(`Unable to add update message content child for child type ${o}`)}}function Sc(t,e){let n=Yo(t);if(!n)throw new Error("Unable to find bot invocation to add step to");let o=J(e),r=null;switch(o){case "output":let s=e;return r=Cr(s),n.eventsByID={...n.eventsByID,[s.output.id]:r},{...n};case "message":let a=e;return r=hc(a),n.eventsByID={...n.eventsByID,[a.message.id]:r},{...n};case "status":let i=e;return r=_r(i),n.eventsByID={...n.eventsByID,[i.id]:r},{...n};case "result_handler":let c=e;return r=xc(c),n.eventsByID={...n.eventsByID,[c.id]:r},{...n};default:throw new Error(`Unable to add update step for entity type ${o}`)}}function vc(t,e){let n=vn(t);if(!n)throw new Error("Unable to find step output to add content to");let o=J(e);switch(o){case "output_content":let r=e;if(!n.contentsByID[r.id])n.contentIDToIdx={...n.contentIDToIdx,[r.id]:n.contents.length},n.contents=[...n.contents,r];else {let s=n.contentIDToIdx[r.id];n.contents=[...n.contents.slice(0,s),r,...n.contents.slice(s+1)];}return n.contentsByID={...n.contentsByID,[r.id]:r},{...n};default:throw new Error(`Unable to add update output for entity type ${o}`)}}function wc(t,e){let n=he(t);if(!n)throw new Error("Unable to find step output content to add content to");let o=J(e);switch(o){case "invocation":return n.botInvocation=e,{...n};case "step":let r=n.botInvocation;if(!r)throw new Error("Unable to find bot invocation to add content to");return n.botInvocation=Be(r,e),{...n};default:throw new Error(`Unable to add update step output content for entity type ${o}`)}}function Be(t,e){let n=br(t);if(!n)throw new Error("Unable to find bot invocation to add content to");let o=J(e),r;switch(o){case "step":let s=e;return r=ts(s),n.eventsByID={...n.eventsByID,[s.id]:r},{...n};case "output":let a=e;return r=Cr(a),n.eventsByID={...n.eventsByID,[a.output.id]:r},{...n};case "status":let i=e;return r=_r(i),n.eventsByID={...n.eventsByID,[i.id]:r},n.currentStatus=i,{...n};default:throw new Error(`Unable to add update invocation for entity type ${o}`)}}function Ic(t,e){let n=Zo(t);if(!n)throw new Error("Unable to find result handler to add content to");let o=J(e),r=null;switch(o){case "step":let s=e;return r=ts(s),n.eventsByID||(n.eventsByID={}),n.eventsByID={...n.eventsByID,[s.id]:r},{...n};case "output":let a=e;return r=Cr(a),n.eventsByID||(n.eventsByID={}),n.eventsByID={...n.eventsByID,[a.output.id]:r},{...n};case "status":let i=e;return r=_r(i),n.eventsByID||(n.eventsByID={}),n.eventsByID={...n.eventsByID,[i.id]:r},{...n};default:throw new Error(`Unable to add update to result handler for entity type ${o}`)}}function Nc(t){return t==="bot started"||t==="bot resumed"||t==="message created"||t==="create message content"||t==="message content result"||t==="step started"||t==="result handler started"||t==="state created"||t==="step output created"||t==="create step output content"||t==="step output content result"||t==="log"}function wn(t,e,n,o,r,s=null,a=[],i={}){if(!s&&Object.keys(r).length>0){let d,p;if(n.length>=2&&n[0]==="message"?(p=n[1],d=r[p],d||(d=Object.values(r)[0],p=Object.keys(r)[0])):(d=Object.values(r)[Object.values(r).length-1],p=Object.keys(r)[Object.keys(r).length-1]),i.message=p,n.length<=2&&t==="message finished")return r[p]=qo(d),null;if(n[0]!=="content"&&Object.keys(d.contentsByID).length>0&&e.metadata.message_content_id){let m=e.metadata.message_content_id,g=d.contentsByID[m];g&&(s=g);}s?a=[d]:s=d;}if(n.length<=2&&Nc(t)){let d=n[1],p=[],m,g,f,h,b;switch(t){case "bot started":case "bot resumed":if(!s)throw new Error("Unable to find message to add content to");let x=yc(e);if(s._type==="message_content"){if(g=s,!g.id)throw new Error("Unable to find message content id");if(f=r[g.message_id],!f)throw new Error("Unable to find message to add content to");if(h=ye(f,g.id),!h)throw new Error("Unable to find message content to add content to");let _=Sn(h,x);r[g.message_id]={...ft(f,_)};}p.push(x);break;case "message created":return r[d]=Xo(e,o,d),null;case "create message content":if(!s)throw new Error("Unable to find message to add content to");if(b=dc(e,i),s._type==="output"){m=s,p.push(zo(e,d,i,"hidden"));let _=e.payload.message_id;if(_||(_=a[0].message.id),f=r[_],!f)throw new Error("Unable to find message to add content to")}else if(s._type==="message_content"){if(m=s,f=r[m.message_id],!f)throw new Error("Unable to find message to add content to")}else {if(s._type!=="message")throw new Error(`Incorrect path? Cannot add content to non-message entity: ${s._type}`);if(m=s,f=r[m.message.id],!f)throw new Error("Unable to find message to add content to");p.push(b);}r[f.message.id]={...ft(f,b)};break;case "message content result":if(!s)throw new Error("Unable to find message to add content to");let y=null;if(s._type==="output"){p.push(Ho(e,d,i,"hidden"));let _=e.payload.message_id||i.message;if(_?y=a.find(v=>v.message.id===_):y=a[0],f=r[_],!f)throw new Error("Unable to find message to add content to")}else if(s._type==="message_content"){if(y=a[0],f=r[y.message.id],!f)throw new Error("Unable to find message to add content to")}else {if(s._type!=="message")throw new Error(`Incorrect path? Cannot add content to non-message entity: ${s._type}`);if(y=s,f=r[y.message.id],!f)throw new Error("Unable to find message to add content to")}let k=e.metadata.message_content_id;if(!k)throw new Error("Unable to find message content id");let S=ye(y,k);if(S){S.state="completed";let _=S.content_type||"text",v=yn(_,S.content,e.payload);S.content=v.content,v.parsedJson&&(S.parsedJson=v.parsedJson),r[f.message.id]={...ft(f,S)},(s._type==="message"||s._type==="message_content")&&p.push(S);}else S=pc(e,i),r[f.message.id]={...ft(f,S)},(s._type==="message"||s._type==="message_content")&&p.push(S);break;case "step started":p.push(mc(e,d,i));break;case "result handler started":p.push(fc(e,d));break;case "step output created":p.push(gc(e,d,s));break;case "create step output content":p.push(zo(e,d,i));break;case "step output content result":p.push(Ho(e,d,i));break;case "log":return null;default:throw new Error(`Unable to handle create event type ${t}`)}return p.length?!s||s._type==="message_content"&&p.length===1&&p[0]._type==="message_content"?p[0]:_c(s,p):null}if(!s)throw new Error("No first message has been created, so cannot handle amend events");if(n.length<=1){let d=null;try{d=cc(s);}catch{}switch(t){case "message content delta":if(!d)throw new Error("Unable to find message content");let p=null,m=null,g=null;if(s._type==="output_content"){p=Ko(s,e.payload);let x=e.metadata.message_content_id;if(!x)throw new Error("Unable to find message content id from entity ids");let y=i.message;if(g=a.find(k=>k.message.id===y),!g)throw new Error("Unable to find message to add content to");m=ye(g,x);}else {if(m=d,g=a[a.length-1],!g)throw new Error("Unable to find message to add content to");if(g._type!=="message")throw new Error("Unable to find message to add content to - not a message")}if(!m)throw new Error("Unable to find message content");let f=r[g.message.id];if(!f)throw new Error("Unable to find message to add content to");let h=Cc(m,e.payload);return r[f.message.id]={...ft(f,h)},s._type==="message_content"&&(p=h),p;case "step output content delta":return Ko(d,e.payload);case "status":if(s._type==="step"&&(s.currentStatus=Pe(e)),s._type==="invocation"&&(s.currentStatus=Pe(e)),s._type==="message_content"){let b=s;if(b.botInvocation)return b.botInvocation.currentStatus=Pe(e),{...b}}if(s._type==="message"){let b=s,x=Qo(b);if(x?.botInvocation)return x.botInvocation.currentStatus=Pe(e),ft(b,x)}return xr(s,Pe(e));case "result":return null;case "message finished":if(s._type==="message"){let x=qo(s);r[x.message.id]=x;}return null;case "step output finished":return null;case "step result":return null;case "error":return null;case "dataset created":return null;case "log":return null;default:throw new Error(`Unable to handle event type ${t}`)}}let c=n.slice(2),l=uc(s,n,i),u=wn(t,e,c,o,r,l,[...a,s],i);return u?xr(s,{...u}):s}function Sr(t){if(!t.content)return null;if(typeof t.content=="object")return t.content;if(typeof t.content=="string"){let e=$(t.content);return e&&typeof e=="object"&&!Array.isArray(e)?e:null}return null}function ns(t){let e=t.content_type;if(e==="tool_result")return "result";if(e==="tool_invocation")return "invocation";let n=Sr(t);return n&&"action_type"in n&&"name"in n&&"input"in n&&n.action_type!=="bot.invoke"?"result"in n?"result":"invocation":null}function rs(t){return Sr(t)?.id}function os(t){let e=Sr(t);if(!e?.action_type)return null;let o=e.input?.query;return `${e.action_type}:${o||""}`}function ss(t){let e=t.filter(r=>ns(r)==="result"),n=new Set(e.map(r=>rs(r)).filter(Boolean)),o=new Set(e.map(r=>os(r)).filter(Boolean));return t.filter(r=>{if(ns(r)==="invocation"){let s=rs(r),a=os(r);if(s&&n.has(s)||a&&o.has(a))return false}return true})}function as(t,e,n){let o=e;for(;o;){if(o===n)return true;o=t.byStepId[o]?.parentId??null;}return false}function In(t,e){if(!e||!t.byStepId[e])return t;let n=new Set;for(let i of t.nodes)i.kind==="step"&&as(t,i.id,e)&&n.add(i.id);let o=t.nodes.filter(i=>i.kind==="step"?n.has(i.id):i.kind==="content"||i.kind==="status"?!!i.stepId&&n.has(i.stepId):false),r={},s={},a={};for(let i of n){let c=t.byStepId[i];c&&(r[i]=c);}for(let i of o){if(i.kind==="content"){s[i.id]=i;continue}if(i.kind!=="step")continue;let l=(i.parentId&&n.has(i.parentId)?i.parentId:null)??"__root__";a[l]=[...a[l]||[],i.id];}return {...t,nodes:o,byStepId:r,byContentId:s,childrenByParentId:a,rootStepId:e}}function Nn(){return createStore((t,e)=>({globalState:xn(),invocationStates:{},invocationRootSteps:{},pendingInvocationQueue:[],pushEvent:(n,o)=>{let r=e(),s=r.pendingInvocationQueue,a=r.invocationRootSteps,i=r.invocationStates,c=false;if(n.type==="message content result"&&n.metadata?.content_type==="agent_invocation"){let g=n.payload,f=(g&&typeof g=="object"&&typeof g.invocation_id=="string"?g.invocation_id:"")||(typeof n.metadata?.invocation_id=="string"?n.metadata.invocation_id:"");f&&!a[f]&&!s.includes(f)&&(s=[...s,f],c=true);}let l=fr(r.globalState,n);if(o&&(l=o(l)),n.type==="step_started"&&s.length>0){let m=n.payload,g=m&&typeof m.step_id=="string"?m.step_id:"",f=m&&typeof m.type=="string"?m.type:"";if(g&&f==="agent"){let h=s[0],b=In(l,g);a={...a,[h]:g},i={...i,[h]:b},s=s.filter(x=>x!==h),c=true;}}if(l===r.globalState&&!c)return;let u=n.metadata?.step_id??n.payload?.step_id??"",d={...i},p=c;for(let[m,g]of Object.entries(a)){if(c&&!r.invocationRootSteps[m])continue;let f=r.invocationStates[m];if(u&&!as(l,u,g)&&u)continue;let h=In(l,g);if(!(n.type==="step_finished"||n.type==="step_started"||n.type==="status")&&f&&f.nodes.length===h.nodes.length){let x=f.nodes[f.nodes.length-1],y=h.nodes[h.nodes.length-1];if(x===y&&f.isStreaming===h.isStreaming)continue}d[m]=h,p=true;}t({globalState:l,...p?{invocationStates:d}:{},...c?{pendingInvocationQueue:s,invocationRootSteps:a}:{}});},reset:()=>{t({globalState:xn(),invocationStates:{},invocationRootSteps:{},pendingInvocationQueue:[]});}}))}function Rc(t){return t.split("/").filter(Boolean)}function is(t={}){let e=Ft(),[n,o]=useState(null),[r,s]=useState(false),[a,i]=useState(null),[c,l]=useState([]),u=useRef(Nn()),d=useStore(u.current,x=>x.globalState),p=useRef(null),m=useRef(t.threadId);t.threadId!==m.current&&(m.current=t.threadId);let g=useCallback(()=>{p.current&&(p.current.abort(),p.current=null);},[]),f=useCallback(x=>{o(x),m.current=x.id;},[]),h=useCallback(async x=>{if(!e.client)throw new Error("ErdoClient not configured in provider. Pass a client to ErdoProvider config to use useThread.");if(!e.client.sendMessage)throw new Error("ErdoClient does not support sendMessage. Make sure you are using @erdoai/server client.");if(!e.client.createThread)throw new Error("ErdoClient does not support createThread. Make sure you are using @erdoai/server client.");g(),p.current=new AbortController,s(true),i(null),l([]),u.current.getState().reset();let y={};try{let k=m.current;if(!k){let N=await e.client.createThread();o(N),m.current=N.id,k=N.id;}for await(let N of e.client.sendMessage(k,{content:x,botKey:t.botKey})){if(p.current?.signal.aborted)break;if(t.onEvent?.(N),e.useAgentEvents)u.current.getState().pushEvent(N);else {let U=N.type||"",tt=N.metadata||{},O=Rc(tt.path||""),H={payload:N.payload,metadata:{path:tt.path||"",...tt}};try{wn(U,H,O,k,y);}catch(G){console.error("Error handling SSE event:",G,U);}l(Object.values(y));}}let S=Object.values(y);l(S);let _=u.current.getState().globalState,v;_.rootStepId?v=bn(_):v=S.flatMap(N=>N.contents||[]).filter(N=>N.user_visibility==="visible").map(N=>({id:N.id,content_type:N.content_type,ui_content_type:M(N.ui_content_type),content:N.content,parsedJson:N.parsedJson,botInvocation:N.botInvocation})),t.onFinish?.(v);}catch(k){let S=k instanceof Error?k:new Error(String(k));throw i(S),t.onError?.(S),S}finally{s(false),p.current=null;}},[e.client,e.useAgentEvents,t,g]),b=useMemo(()=>{if(d.rootStepId)return bn(d);let x=c.flatMap(k=>k.contents||[]).filter(k=>k.user_visibility==="visible");return ss(x).map(k=>({id:k.id,content_type:k.content_type,ui_content_type:M(k.ui_content_type),content:k.content,parsedJson:k.parsedJson,botInvocation:k.botInvocation}))},[c,d]);return {thread:n,isStreaming:r,error:a,activeMessages:c,agentState:d,streamingContents:b,sendMessage:h,cancel:g,setThread:f,agentStreamStore:u.current}}function Ac(t){return t?typeof t=="string"?t:typeof t=="object"&&t!==null&&"String"in t&&t.String||"":""}function ls(t){let e=Ac(t.ui_content_type),n=t.content_type,o={id:t.id,content_type:t.content_type,ui_content_type:e,content:t.content,invocation_id:t.created_by_invocation_id};if(typeof t.content=="string"){if(e==="ui_generation")try{o.parsedJson=xt(t.content);}catch(r){console.error("Error parsing UI generation content:",r);}else if((n==="json"||e==="json")&&t.content.trim()){let r=$(t.content);r!=null&&(o.parsedJson=[{type:"json",content:r}]);}}if((t.content_type==="thinking"||t.content_type==="redacted_thinking")&&typeof t.content=="string"){let r=$(t.content);r&&typeof r=="object"&&(o.content=r);}return o}function Pc(t){return t.filter(e=>e.user_visibility!=="hidden").map(ls)}var En=createContext(null);function us({store:t,children:e}){return jsx(En.Provider,{value:t,children:e})}function ds(){return useContext(En)}function ps(t){let e=useContext(En);return useStore(e,n=>t?n.invocationStates[t]:void 0)}function ms(){let t=useContext(En);return useStore(t,e=>e.globalState)}export{us as AgentStreamStoreProvider,Dt as BarChart,dn as BotInvocationContent,ut as Chart,Se as ChartContainer,He as ChartContent,Ln as ChartLegend,$n as ChartLegendContent,Xn as ChartNode,Lr as ChartStyle,Mn as ChartTooltip,Vn as ChartTooltipContent,cn as CodeexecContent,sn as CodegenContent,vt as CollapsibleCodeBlock,$t as Content,je as DatasetChart,ee as DatasetDownload,Or as DatasetMetric,Ue as DatasetTable,nr as DownloadButtonNode,Tr as ErdoProvider,Wo as ErdoToolResult,Il as ErdoUI,Et as ErrorBoundary,to as ExecutionStatus,wt as ExpandableOutputContent,or as FileDownloadsNode,Qt as HeatmapChart,qe as InvocationEvent,Pt as InvocationEvents,Xr as InvocationStatus,nt as JSONStreamParser,ht as JsonContent,zt as LineChart,Vo as Loader,ar as Log,Ze as LogContent,R as MarkdownContent,fn as MemoryContent,Fe as Output,Ht as PieChart,Kt as ScatterChart,en as SqlContent,it as StatusSpinner,ce as StderrText,le as StdoutText,rn as StdwarnText,We as StepInvocation,Ge as StepInvocationStatus,Go as StepTreeContent,rr as SuggestionsNode,Ke as TableContent,tr as TableNode,we as TextContent,er as TextMarkdownNode,oe as ThinkingContent,ue as ToolGroupContent,re as UIGenerationNodes,Xe as WebParseContent,Ye as WebSearchContent,ur as WritingLoader,bn as agentStateToContents,X as cn,jo as completeStreamingContent,Nn as createAgentStreamStore,xn as createInitialAgentState,$o as extractContentItems,et as formatValue,_n as getErdoToolName,gr as getErdoToolRenderType,fr as handleAgentEvent,dr as handleIncrementalMixedJsonParsing,wn as handleSSEEvent,Wl as hasRenderableAssistantOutput,oc as isErdoTool,ve as isJsonLike,zr as isNullString,Wa as isParsingComplete,te as isParsingInProgress,Bt as isWhitespaceChar,sr as nodeComponents,ls as normalizeContent,Pc as normalizeContents,De as normalizeUIGenerationChunks,Qn as normalizeUINodes,$ as parseCompleteJson,xt as parseMixedJson,Br as parseToDate,Zt as resolveKeyFromData,In as sliceAgentStateToRoot,Jr as toSnakeCase,M as unwrapNullString,xa as unwrapNullStringOr,ms as useAgentStreamGlobalState,ds as useAgentStreamStoreOptional,Ve as useChartZoom,Gt as useDatasetContents,Ft as useErdoConfig,Q as useErdoConfigOptional,ps as useInvocationState,Pr as useMultipleDatasetContents,be as useMultipleDatasetRequests,is as useThread};
|