PageSourceSearch

https://www.007icu.top/assets/selectors-IDJ5-Ts8.js

js 007icu.top collected 2026-10-09 04:33:14 UTC 112,251 bytes, 117 lines download raw bytes

1import{n as e,o as t,r as n}from"./rolldown-runtime-CMxvf4Kt.js";import{Bt as r}from"../i18n/i18n-ar-O-z3xW8i.js";import{G as i,U as a,dt as o,ut as s}from"../vendor/vendor-data-runtime-nLFaCKB0.js";import{Gr as c,H as l,Oi as u,V as d,Wr as f,Xt as p,Zt as m,ft as h,ii as g,mn as _,pt as v}from"../vendor/vendor-ai-runtime-DrDK77gy.js";import{I as y,L as ee,U as b,W as te,et as ne,g as re}from"./app-const-BzFqCjOv.js";import{a as x,n as ie,o as S,s as C}from"./agent-Dh3-_0ai.js";import{n as w,t as ae}from"./p-map-D5Ha-P-7.js";import{c as oe,o as T}from"./agentDocument-GhemY2N0.js";var se,ce,E,D=e((()=>{se=e=>{let{agentId:t,topicId:n,threadId:r,isNew:i,groupId:a,subAgentId:o,scope:s,documentId:c}=e;return s===`page`&&c?{isNew:i,scope:`page`,scopeId:t,subTopicId:c,topicId:n}:r&&s===`thread`?{scope:`thread`,scopeId:t,subTopicId:r,topicId:n}:a?s===`group_agent`&&o?{isNew:i,scope:`group_agent`,scopeId:a,subTopicId:o,topicId:n}:{isNew:i,scope:s??`group`,scopeId:a,topicId:n}:r?{scope:s??`thread`,scopeId:t,subTopicId:r,topicId:n}:{isNew:i,scope:s===`sub_agent`?`main`:s??`main`,scopeId:t,topicId:n}},ce=e=>{let{scope:t=`main`,scopeId:n,topicId:r,subTopicId:i,isNew:a}=e,o=`${t}_${n}`;return i?r?`${o}_${r}_${i}`:`${o}_${i}`:a&&r?`${o}_${r}_new`:r?`${o}_${r}`:`${o}_new`},E=e=>ce(se(e))})),O,le=e((()=>{O=e=>{let{agentId:t,groupId:n,scope:r}=e,i;switch(i=r||(n&&t?`group_agent`:n?`group`:`agent`),i){case`group_agent`:return`group_agent_${n}_${t}`;case`group`:return`group_${n}`;default:return`agent_${t}`}}})),ue,de,fe,pe,me,he,ge,k,_e,ve,ye,be=e((()=>{ue=e=>e.map(e=>({id:e.id,file:new File([],e.name,{type:e.mimeType}),fileUrl:e.url||void 0,previewUrl:e.url||void 0,status:`success`})),de=e=>({detail:0,format:0,mode:`normal`,style:``,text:e,type:`text`,version:1}),fe=(e=``)=>({children:e?[de(e)]:[],direction:`ltr`,format:``,indent:0,type:`paragraph`,version:1}),pe=e=>{if(e)return{root:{children:e.split(`
2`).map(e=>fe(e)),direction:`ltr`,format:``,indent:0,type:`root`,version:1}}},me=e=>e.editorData?.root?e.editorData:pe(e.content),he=e=>{let t=[],n;for(let r of e){let e=me(r)?.root,i=e?.children;!Array.isArray(i)||i.length===0||(n||=structuredClone(e),t.length>0&&t.push(fe()),t.push(...structuredClone(i)))}if(t.length!==0)return{root:{...n,children:t,type:`root`,version:n?.version??1}}},ge=e=>{let t=[...e].sort((e,t)=>e.createdAt-t.createdAt),n=t.reduce((e,t)=>{if(!t.metadata)return e;let n=[...e?.localSystemToolSnapshots??[],...t.metadata.localSystemToolSnapshots??[]],r=[...e?.pageSelections??[],...t.metadata.pageSelections??[]],i=[...e?.contextSelections??[],...t.metadata.contextSelections??[]];return{...e,...t.metadata,...n.length?{localSystemToolSnapshots:n}:void 0,...i.length?{contextSelections:i}:void 0,...r.length?{pageSelections:r}:void 0}},void 0),r=t.find(e=>e.forceRuntime)?.forceRuntime;return{content:t.map(e=>e.content).join(`
3
4`),editorData:he(t),files:t.flatMap(e=>e.files??[]),filesPreview:t.flatMap(e=>e.filesPreview??[]),...r?{forceRuntime:r}:{},metadata:n}},k=[`execAgentRuntime`,`execHeterogeneousAgent`,`execServerAgentRuntime`],_e=[`approveToolCalling`,`submitToolInteraction`,`skipToolInteraction`,`regenerate`],ve=[...k,`sendMessage`,`autoRetryPending`,..._e],ye=[...k,`sendMessage`,..._e]})),xe,A,Se,j,M,Ce,we,Te,N,Ee,De,P,Oe,ke,Ae,je,Me,F,Ne,Pe,Fe,Ie,Le,Re,ze,Be,Ve,He,Ue,We,Ge,Ke,qe,Je,Ye,Xe,Ze,Qe,$e,et,tt,nt,rt,it,at,ot,st,ct,lt,ut,dt,ft,pt,mt,ht,I,gt=e((()=>{D(),le(),be(),xe=e=>Object.values(e.operations),A=e=>{let{activeAgentId:t,activeGroupId:n,activeThreadId:r,activeTopicId:i}=e;if(!t)return[];let a=E({agentId:t,groupId:n,threadId:r,topicId:i});return(e.operationsByContext[a]||[]).map(t=>e.operations[t]).filter(Boolean)},Se=e=>Object.values(e.operations).filter(e=>e.status===`running`),j=e=>e.status===`running`&&!e.metadata.isAborting,M=e=>j(e)&&!e.metadata.visibleLoadingDone,Ce=e=>t=>t.operations[e],we=e=>t=>{let n=t.messageOperationMap[e];if(n)return t.operations[n]?.context},Te=e=>t=>{let n=t.operations[e];for(;n;){if(k.includes(n.type))return n;let e=n.parentOperationId;n=e?t.operations[e]:void 0}},N=e=>t=>(t.operationsByMessage[e]||[]).map(e=>
4t.operations[e]).filter(Boolean),Ee=e=>t=>(t.operationsByType[e]||[]).map(e=>t.operations[e]).filter(Boolean),De=e=>Object.values(e.operations).some(e=>e.status===`running`),P=e=>t=>(t.operationsByType[e]||[]).some(e=>{let n=t.operations[e];return n&&n.status===`running`}),Oe=e=>A(e).some(e=>e.status===`running`),ke=e=>!A(e).some(e=>e.status===`running`),Ae=e=>{let t=Se(e),n=new Set(t.map(e=>e.type));return Array.from(n)},je=e=>{let t=A(e).filter(e=>e.status===`running`);if(t.length===0)return``;let n=t.reduce((e,t)=>t.metadata.startTime>e.metadata.startTime?t:e);return n.label||n.type},Me=e=>{let t=A(e).filter(e=>e.status===`running`);if(t.length===0)return;let n=t.filter(e=>e.metadata.progress);if(n.length!==0)return n.reduce((e,t)=>t.metadata.startTime>e.metadata.startTime?t:e).metadata.progress?.percentage},F=e=>t=>{let n=E(e);return(t.operationsByContext[n]||[]).map(e=>t.operations[e]).filter(t=>t?(t.context.threadId??null)===(e.threadId??null):!1)},Ne=e=>t=>F(e)(t).some(e=>e.status===`running`&&!e.metadata.isAborting),Pe=e=>t=>e.agentId?F(e)(t).some(e=>k.includes(e.type)&&e.status===`running`&&!e.metadata.isAborting):!1,Fe=e=>t=>e.agentId?F(e)(t).some(e=>k.includes(e.type)&&M(e)):!1,Ie=e=>t=>e.agentId?F(e)(t).filter(e=>ye.includes(e.type)&&e.status===`running`).map(e=>e.id):[],Le=e=>t=>{if(!e.agentId)return;let n=F(e)(t),r;for(let e of n)e.status!==`running`||e.metadata.isAborting||!k.includes(e.type)||(r=r===void 0?e.metadata.startTime:Math.min(r,e.metadata.startTime));return r},Re=e=>t=>{if(!e.agentId)return;let n=F(e)(t),r;for(let e of n)!k.includes(e.type)||!M(e)||(r=r===void 0?e.metadata.startTime:Math.min(r,e.metadata.startTime));return r},ze=e=>t=>e.agentId?F(e)(t).some(e=>ve.includes(e.type)&&e.status===`running`&&!e.metadata.isAborting):!1,Be=e=>t=>{if(!e.agentId)return!1;let n=F(e)(t);return n.some(e=>ve.includes(e.type)&&M(e))?!0:n.some(e=>ve.includes(e.type)&&j(e))&&ht(e)(t).length>0},Ve=e=>t=>{for(let n of k)if((t.operationsByType[n]||[]).some(n=>{let r=t.operations[n];return r&&j(r)&&r.context.agentId===e}))return!0;return!1},He=e=>t=>{for(let n of k)if((t.operationsByType[n]||[]).some(n=>{let r=t.operations[n];return r&&M(r)&&r.context.agentId===e}))return!0;return!1},Ue=e=>{for(let t of k)if((e.operationsByType[t]||[]).some(t=>{let n=e.operations[t];return n&&j(n)}))return!0;return!1},We=e=>{for(let t of k)if((e.operationsByType[t]||[]).some(t=>{let n=e.operations[t];return n&&M(n)}))return!0;return!1},Ge=e=>{for(let t of k)if((e.operationsByType[t]||[]).some(t=>{let n=e.operations[t];return!n||!j(n)||n.metadata.inThread?!1:n.context.groupId?e.activeGroupId===n.context.groupId:e.activeAgentId===n.context.agentId?(e.activeTopicId??null)===(n.context.topicId??null):!1}))return!0;return!1},Ke=e=>{for(let t of k)if((e.operationsByType[t]||[]).some(t=>{let n=e.operations[t];return!n||!M(n)||n.metadata.inThread?!1:n.context.groupId?e.activeGroupId===n.context.groupId:e.activeAgentId===n.context.agentId?(e.activeTopicId??null)===(n.context.topicId??null):!1}))return!0;return!1},qe=e=>P(`continue`)(e),Je=e=>P(`searchWorkflow`)(e),Ye=e=>t=>N(e)(t).some(e=>e.status===`running`),Xe=e=>t=>N(e)(t).some(e=>k.includes(e.type)&&e.status===`running`),Ze=e=>t=>N(e)(t).some(e=>(e.type===`sendMessage`||e.type===`createAssistantMessage`)&&e.status===`running`),Qe=e=>t=>e.some(e=>Ye(e)(t)),$e=e=>t=>{let n=N(e)(t).filter(e=>e.status===`running`);if(n.length===0)return;let r=new Set(n.map(e=>e.id));return n.find(e=>!(e.childOperationIds||[]).some(e=>r.has(e)))},et=e=>t=>N(e)(t).some(e=>e.type===`regenerate`&&e.status===`running`),tt=e=>t=>N(e)(t).some(e=>e.type===`continue`&&e.status===`running`),nt=e=>t=>N(e)(t).some(e=>e.type===`reasoning`&&e.status===`running`),rt=e=>t=>N(e)(t).some(e=>
4e.type===`toolCalling`&&e.status===`running`),it=(e,t,n)=>{let r=n.operationsByType[e]??[],i;for(let e of r){let r=n.operations[e];!r||r.status!==`running`||r.metadata.tool_call_id!==t||(i=i===void 0?r.metadata.startTime:Math.min(i,r.metadata.startTime))}return i},at=e=>t=>it(`executeToolCall`,e,t)??it(`toolCalling`,e,t),ot=e=>A(e).some(e=>e.status===`running`&&e.metadata.isAborting),st=e=>t=>N(e)(t).some(e=>e.status===`running`&&e.metadata.isAborting),ct=e=>P(`regenerate`)(e),lt=e=>P(`sendMessage`)(e),ut=e=>t=>{let n=t.topicDataMap[O({agentId:e})]?.items;if(!n)return 0;let r=0;for(let e of n)e.status===`unread`&&(r+=1);return r},dt=e=>t=>ut(e)(t)>0,ft=e=>t=>{for(let n of Object.values(t.topicDataMap)){let t=n.items?.find(t=>t.id===e);if(t)return t.status===`unread`}return!1},pt=e=>t=>{if(e.length===0)return 0;let n=new Set(e),r=0;for(let e of Object.values(t.topicDataMap))if(e.items)for(let t of e.items)n.has(t.id)&&t.status===`unread`&&(r+=1);return r},mt=e=>t=>ht(e)(t).length,ht=e=>t=>e.agentId?t.queuedMessages[E(e)]??[]:[],I={canInterrupt:Oe,canSendMessage:ke,findRootRuntimeOperation:Te,getActiveOperationTypes:Ae,getAllOperations:xe,getCurrentContextOperations:A,getCurrentOperationLabel:je,getCurrentOperationProgress:Me,getDeepestRunningOperationByMessage:$e,getVisibleAgentRuntimeStartTimeByContext:Re,getOperationById:Ce,getOperationContextFromMessage:we,getAgentRuntimeStartTimeByContext:Le,getOperationsByContext:F,getOperationsByMessage:N,getOperationsByType:Ee,getRunningOperations:Se,getRunningQueueBlockingOperationIds:Ie,getRunningToolCallStartTime:at,hasAnyRunningOperation:De,hasRunningOperationByContext:Ne,hasRunningOperationType:P,isAIGenerating:Ue,agentUnreadCount:ut,isAborting:ot,isAgentRunning:Ve,isAgentVisiblyRunning:He,isAgentRuntimeRunning:Ue,isAgentRuntimeVisiblyRunning:We,isAgentUnreadCompleted:dt,isAgentRuntimeRunningByContext:Pe,isAgentRuntimeVisiblyRunningByContext:Fe,isInputLoadingByContext:ze,isInputVisiblyLoadingByContext:Be,isAnyMessageLoading:Qe,isContinuing:qe,isInSearchWorkflow:Je,isMainWindowAgentRuntimeRunning:Ge,isMainWindowAgentRuntimeVisiblyRunning:Ke,isMessageAborting:st,isMessageContinuing:tt,isMessageCreating:Ze,isMessageGenerating:Xe,isMessageInReasoning:nt,isMessageInToolCalling:rt,isMessageProcessing:Ye,isMessageRegenerating:et,isRegenerating:ct,isSendingMessage:lt,isTopicUnreadCompleted:ft,unreadCompletedCountForTopics:pt,getQueuedMessages:ht,queuedMessageCount:mt}})),_t,vt,yt,bt,xt,St,Ct,wt=e((()=>{D(),gt(),_t=e=>t=>I.isMessageInReasoning(e)(t),vt=e=>t=>t.searchWorkflowLoadingIds.includes(e),yt=e=>t=>vt(e)(t),bt=e=>{let t=E({agentId:e.activeAgentId,groupId:e.activeGroupId,threadId:e.activeThreadId,topicId:e.activeTopicId});return(e.operationsByContext[t]||[]).some(t=>{let n=e.operations[t];return n&&n.type===`sendMessage`&&n.status===`running`})},xt=e=>{let t=E({agentId:e.activeAgentId,groupId:e.activeGroupId,threadId:e.activeThreadId,topicId:e.activeTopicId}),n=e.operationsByContext[t]||[];for(let t of[...n].reverse()){let n=e.operations[t];if(n&&n.type===`sendMessage`&&n.metadata.inputSendErrorMsg)return n.metadata.inputSendErrorMsg}},St=e=>t=>(t.operationsByContext[e]||[]).some(e=>{let n=t.operations[e];return n&&n.type===`sendMessage`&&n.status===`running`}),Ct={isCurrentSendMessageError:xt,isCurrentSendMessageLoading:bt,isIntentUnderstanding:yt,isMessageInReasoning:_t,isMessageInSearchWorkflow:vt,isSendMessageLoadingForTopic:St}})),Tt,Et,Dt,Ot,kt=e((()=>{Tt=e=>t=>{let n=t.messageOperationMap[e];if(!n)return!1;let r=t.operations[n];return r?.type===`builtinToolInterpreter`&&r?.status===`running`},Et=e=>t=>{let n=t.messageOperationMap[e];if(!n)return!1;let r=t.operations[n];return r?.type===`builtinToolSearch`&&r?.status===`running`},Dt=e=>t=>{let n=t.messageOperationMap[e];if(!n)return!1;let r=t.operations[n];return r?.type===`builtinToolLocalSystem`&&r?.status===`running`},Ot={isInterpreterExecuting:Tt,isSearXNGSearching:Et,isSearchingLocalFiles:Dt}})),At,jt=e((()=>{At=[{description:`securityBlacklist.rmHomeDir`,match:{command:{pattern:`rm.*-r.*(~|\\$HOME|/Users/[^/]+|/home/[^/]+)/?\\s*$`,type:`regex`}}},{description:`securityBlacklist.rmRootDir`,match:{command:{pattern:`rm.*-r.*/\\s*$`,type:`regex`}}},{description:`securityBlacklist.rmForceRecursive`,match:{command:{pattern:`rm\\s+-rf\\s+[~./]\\s*$`,type:`regex`}}},{description:`securityBlacklist.etcPasswd`,match:{command:{pattern:`.*(/etc/passwd|/etc/sh
4adow).*`,type:`regex`}}},{description:`securityBlacklist.sudoers`,match:{command:{pattern:`.*/etc/sudoers.*`,type:`regex`}}},{description:`securityBlacklist.forkBomb`,match:{command:{pattern:`.*:\\(\\).*\\{.*\\|.*&.*\\};.*:.*`,type:`regex`}}},{description:`securityBlacklist.ddDiskWrite`,match:{command:{pattern:`dd.*of=/dev/(sd|hd|nvme).*`,type:`regex`}}},{description:`securityBlacklist.formatPartition`,match:{command:{pattern:`(mkfs|fdisk|parted).*(/dev/(sd|hd|nvme)|/)`,type:`regex`}}},{description:`securityBlacklist.disableFirewall`,match:{command:{pattern:`(ufw\\s+disable|iptables\\s+-F|systemctl\\s+stop\\s+firewalld)`,type:`regex`}},policy:`required`},{description:`securityBlacklist.sshConfig`,match:{command:{pattern:`.*(/etc/ssh/sshd_config).*`,type:`regex`}},policy:`required`},{description:`securityBlacklist.removeSystemPackages`,match:{command:{pattern:`(apt|yum|dnf|pacman)\\s+(remove|purge|erase).*(systemd|kernel|glibc|bash|sudo)`,type:`regex`}},policy:`required`},{description:`securityBlacklist.kernelParams`,match:{command:{pattern:`echo.*>/proc/sys/.*`,type:`regex`}}},{description:`securityBlacklist.directMemoryAccess`,match:{command:{pattern:`.*(/dev/(mem|kmem|port)).*`,type:`regex`}}},{description:`securityBlacklist.chownSystemDirs`,match:{command:{pattern:`chown.*-R.*(/(etc|bin|sbin|usr|var|sys|proc)|~).*`,type:`regex`}}},{description:`securityBlacklist.suidShells`,match:{command:{pattern:`chmod.*(4755|u\\+s).*(sh|bash|python|perl|ruby|node)`,type:`regex`}}},{description:`securityBlacklist.envFiles`,match:{command:{pattern:`(cat|less|more|head|tail|vim|nano|vi|emacs|code).*\\.env.*`,type:`regex`}},policy:`required`},{description:`securityBlacklist.envFiles`,match:{path:{pattern:`.*\\.env.*`,type:`regex`}},policy:`required`},{description:`securityBlacklist.sshPrivateKeys`,match:{command:{pattern:`(cat|less|more|head|tail|vim|nano|vi|emacs|code).*(id_rsa|id_ed25519|id_ecdsa)(?!\\.pub).*`,type:`regex`}},policy:`required`},{description:`securityBlacklist.sshPrivateKeys`,match:{path:{pattern:`.*/\\.ssh/(id_rsa|id_ed25519|id_ecdsa)$`,type:`regex`}},policy:`required`},{description:`securityBlacklist.awsCredentials`,match:{command:{pattern:`(cat|less|more|head|tail|vim|nano|vi|emacs|code).*/\\.aws/credentials.*`,type:`regex`}},policy:`required`},{description:`securityBlacklist.awsCredentials`,match:{path:{pattern:`.*/\\.aws/credentials.*`,type:`regex`}},policy:`required`},{description:`securityBlacklist.dockerConfig`,match:{command:{pattern:`(cat|less|more|head|tail|vim|nano|vi|emacs|code).*/\\.docker/config\\.json.*`,type:`regex`}},policy:`required`},{description:`securityBlacklist.dockerConfig`,match:{path:{pattern:`.*/\\.docker/config\\.json$`,type:`regex`}},policy:`required`},{description:`securityBlacklist.kubeConfig`,match:{command:{pattern:`(cat|less|more|head|tail|vim|nano|vi|emacs|code).*/\\.kube/config.*`,type:`regex`}},policy:`required`},{description:`securityBlacklist.kubeConfig`,match:{path:{pattern:`.*/\\.kube/config$`,type:`regex`}},policy:`required`},{description:`securityBlacklist.gitCredentials`,match:{command:{pattern:`(cat|less|more|head|tail|vim|nano|vi|emacs|code).*/\\.git-credentials.*`,type:`regex`}},policy:`required`},{description:`securityBlacklist.gitCredentials`,match:{path:{pattern:`.*/\\.git-credentials$`,type:`regex`}},policy:`required`},{description:`securityBlacklist.npmrc`,match:{command:{pattern:`(cat|less|more|head|tail|vim|nano|vi|emacs|code).*/\\.npmrc.*`,type:`regex`}},policy:`required`},{description:`securityBlacklist.npmrc`,match:{path:{pattern:`.*/\\.npmrc$`,type:`regex`}},policy:`required`},{description:`securityBlacklist.historyFiles`,match:{command:{pattern:`(cat|less|more|head|tail|vim|nano|vi|emacs|code).*/\\.(bash_history|zsh_history|history).*`,type:`regex`}},policy:`required`},{description:`securityBlacklist.historyFiles`,match:{path:{pattern:`.*/\\.(bash_history|zsh_history|history)$`,type:`regex`}},policy:`required`},{description:`securityBlacklist.browserCredentials`,match:{command:{pattern:`(cat|less|more|head|tail|vim|nano|vi|emacs|code).*(Cookies|Login Data|Web Data).*`,type:`regex`}},policy:`required`},{description:`securityBlacklist.gcpCredentials`,match:{command:{pattern:`(cat|less|more|head|tail|vim|nano|vi|emacs|code).*/\\.config/gcloud/.*\\.json.*`,type:`regex`}},policy:`required`},{description:`securityBlacklist.gcpCredentials`,match:{path:{pattern:`.*/\\.config/gcloud/.*\\.json$`,type:`regex`}},policy:`required`}]})),Mt,Nt=e((()=>{jt(),Mt=class{static checkSecurityBlacklist(e=[],t={}){for(let n of e)if(this.matchesSecurityRule(n,t))return{blocked:!0,reason:n.description};return{blocked:!1}}
4static shouldIntervene(e){let{config:t,toolArgs:n={}}=e,r=e.securityBlacklist===void 0?At:e.securityBlacklist;if(this.checkSecurityBlacklist(r,n).blocked)return`required`;if(!t)return`never`;if(typeof t==`string`)return t;for(let e of t)if(this.matchesRule(e,n))return e.policy;return`required`}static matchesSecurityRule(e,t){if(!e.match)return!1;for(let[n,r]of Object.entries(e.match)){let e=t[n];if(e===void 0||!this.matchesArgument(r,e))return!1}return!0}static matchesRule(e,t){if(!e.match)return!0;for(let[n,r]of Object.entries(e.match)){let e=t[n];if(e===void 0||!this.matchesArgument(r,e))return!1}return!0}static matchesArgument(e,t){let n=String(t);if(typeof e==`string`)return this.matchPattern(e,n);let{pattern:r,type:i}=e;switch(i){case`exact`:return n===r;case`prefix`:return n.startsWith(r);case`wildcard`:return this.matchPattern(r,n);case`regex`:return new RegExp(r).test(n);default:return!1}}static matchPattern(e,t){if(e.includes(`:`)){let[n,r]=e.split(`:`);if(r===`*`)return t.startsWith(n+`:`)||t===n}let n=e.replaceAll(/[$()+.?[\\\]^{|}]/g,`\\$&`).replaceAll(`*`,`.*`);return RegExp(`^${n}$`).test(t)}static generateToolKey(e,t,n){let r=`${e}/${t}`;return n?`${r}#${n}`:r}static hashArguments(e){let t=Object.keys(e).sort().map(t=>`${t}=${JSON.stringify(e[t])}`).join(`&`),n=0;for(let e=0;e<t.length;e++){let r=t.charCodeAt(e);n=(n<<5)-n+r,n&=n}return Math.abs(n).toString(36)}}})),Pt,Ft,It,Lt=e((()=>{Nt(),jt(),Pt=`securityBlacklist`,Ft=(e=`always`)=>async(t,n)=>{let r=(n?.securityBlacklist??At).filter(t=>(t.policy??`always`)===e);return Mt.checkSecurityBlacklist(r,t).blocked},It=(e=`always`)=>({policy:e,resolver:Ft(e),type:Pt})})),Rt,zt=e((()=>{Lt(),Rt=()=>[It(),It(`required`)]})),Bt=e((()=>{Lt(),jt(),zt()})),Vt,Ht,Ut=e((()=>{Vt=e=>e===`waiting_for_human`||e===`waiting_for_async_tool`,Ht=e=>Vt(e)||e===`interrupted`})),Wt,Gt=e((()=>{ae(),Ut(),Wt=class e{agent;config;executors;operationId;getOperation;constructor(e,t={}){this.agent=e,this.config=t,this.operationId=t.operationId,this.getOperation=t.getOperation,this.executors={call_llm:this.createCallLLMExecutor(),call_tool:this.createCallToolExecutor(),finish:this.createFinishExecutor(),request_human_approve:this.createHumanApproveExecutor(),request_human_prompt:this.createHumanPromptExecutor(),request_human_select:this.createHumanSelectExecutor(),resolve_blocked_tools:this.createResolveBlockedToolsExecutor(),...t.executors,...e.executors}}getContext(){if(!(!this.operationId||!this.getOperation))return this.getOperation(this.operationId).context}getAbortController(){if(!(!this.operationId||!this.getOperation))return this.getOperation(this.operationId).abortController}async step(e,t){try{let n=structuredClone(e);n.stepCount+=1,n.lastModified=new Date().toISOString(),n.maxSteps&&n.stepCount>n.maxSteps&&(n.forceFinish||=!0);let r=t||this.createInitialContext(n),i;if(r.phase===`human_approved_tool`){let e=r.payload,t=e.approvedToolCall;e.assistantMessageId&&(n.pendingAssistantMessageId=e.assistantMessageId),i={payload:{parentMessageId:e.parentMessageId,skipCreateToolMessage:e.skipCreateToolMessage,toolCalling:t},type:`call_tool`}}else{if(r.phase===`tool_result`){let e=r.payload;e?.assistantMessageId&&(n.pendingAssistantMessageId=e.assistantMessageId)}i=await this.agent.runner(r,n)}let a=(Array.isArray(i)?i:[i]).map(e=>e.type===`call_tools_batch`&&Array.isArray(e.payload)?{payload:{parentMessageId:``,toolsCalling:e.payload.map(e=>({apiName:e.function.name,arguments:e.function.arguments,id:e.id,identifier:e.function.name,thoughtSignature:e.thoughtSignature,type:`default`}))},type:`call_tools_batch`}:e),o=n,s=[],c,l=!1;for(let e of a){e.type===`finish`&&(l=!0);let t;if(e.type===`call_tools_batch`){let n=this.executors.call_tools_batch;t=n?await n(e,o,r):await this.executeToolsBatch(e,o,r)}else{let n=this.executors[e.type];if(!n)throw Error(`No executor found for instruction type: ${e.type}`);t=await n(e,o,r)}if(s.push(...t.events),o=t.newState,e.type===`call_llm`&&o.pendingAssistantMessageId&&(o.pendingAssistantMessageId=void 0),t.nextContext&&(c=t.nextContext),Ht(o.status))break}return o.stepCount=n.stepCount,o.lastModified=n.lastModified,l&&(o.stepCount=Math.max(o.stepCount-1,0)),{events:s,newState:o,nextContext:Ht(o.status)?void 0:c}}catch(t){let n=structuredClone(e);return n.stepCount+=1,n.lastModified=new Date().toISOString(),this.createErrorResult(n,t)}}async approveToolCall(e,t){let n={operationId:this.operationId,payload:{approvedToolCall:t},phase:`human_approved_tool`,session:this.createSessionContext(e)};return this.step(e,n)}interrupt(e,t,n=!0,r){let i=structuredClone(e),a=new Date().toISOString();return i.status=`interrupted`,i.lastModified=a,i.interruption={canResume:n,interruptedAt:a,interruptedInstruction:void 0,reason:t},{events:[{canResume:n,interruptedAt:a,metadata:r,reason:t,type:`interrupted`}],newState:i}}async resume(e,t=`User resumed execution`,n){if(e.status!==`interrupted`)throw Error(`Cannot resume: state is not interrupted`);if(e.interruption&&!e.interruption.canResume)throw Error(`Cannot resume: interruption is not resumable`);let r=structuredClone(e),i=new Date().toISOString(),a=e.stepCount;r.status=`running`,r.lastModified=i,r.interruption=void 0;let o={reason:t,resumedAt:i,resumedFromStep:a,type:`resumed`};if(n){let e=await this.step(r,n);return{events:[o,...e.events],newState:e.newState,nextContext:e.nextContext}}let s=this.createInitialContext(r);return{events:[o],newState:r,nextContext:s}}static createDefaultUsage(){return{humanInteraction:{approvalRequests:0,promptRequests:0,selectRequests:0,totalWaitingTimeMs:0},llm:{apiCalls:0,processingTimeMs:0,tokens:{input:0,output:0,total:0}},tools:{byTool:[],totalCalls:0,totalTimeMs:0}}}static createDefaultCost(){return{calculatedAt:new Date().toISOString(),currency:`USD`,llm:{byModel:[],currency:`USD`,total:0},tools:{byTool:[],currency:`USD`,total:0},total:0}}static createInitialState(t){let n=new Date().toISOString();return{cost:e.createDefaultCost(),createdAt:n,lastModified:n,messages:[],status:`idle`,stepCount:0,toolManifestMap:{},usage:e.createDefaultUsage(),...t||{operationId:``}}}createCallLLMExecutor(){return async(e,t)=>{let{payload:n}=e,r=structuredClone(t),i=[];r.status=`running`,r.lastModified=new Date().toISOString(),i.push({payload:n,type:`llm_start`});let a=this.agent.modelRuntime;if(!a)throw Error(`Model Runtime is required for call_llm instruction. Provide it via Agent.modelRuntime or RuntimeConfig.modelRuntime`);let o=``,s=[];try{for await(let e of a(n))i.push({chunk:e,type:`llm_stream`}),e.content&&(o+=e.content),e.tool_calls&&(s=e.tool_calls);return i.push({result:{content:o,tool_calls:s},type:`llm_result`}),this.agent.calculateUsage&&(r.usage=this.agent.calculateUsage(`llm`,{content:o,tool_calls:s},r.usage)),this.agent.calculateCost&&(r.cost=this.agent.calculateCost({costLimit:r.costLimit,previousCost:r.cost,usage:r.usage})),r.costLimit&&r.cost.total>r.costLimit.maxTotalCost?this.handleCostLimitExceeded(r):{events:i,newState:r,nextContext:{o
4perationId:this.operationId,payload:{hasToolCalls:s.length>0,result:{content:o,tool_calls:s},toolCalls:s},phase:`llm_result`,session:this.createSessionContext(r)}}}catch(e){return this.createErrorResult(t,e)}}}createCallToolExecutor(){return async(e,t)=>{let{payload:n}=e,r=structuredClone(t),i=[];r.lastModified=new Date().toISOString(),r.status=`running`;let a=this.agent.tools||{},o=n.toolCalling,s=o.apiName,c=o.arguments,l=o.id,u=a[s];if(!u)throw Error(`Tool not found: ${s}`);let d=await u(JSON.parse(c));return r.messages.push({content:JSON.stringify(d),role:`tool`,tool_call_id:l}),i.push({id:l,result:d,type:`tool_result`}),this.agent.calculateUsage&&(r.usage=this.agent.calculateUsage(`tool`,{executionTime:0,result:d,toolCall:o},r.usage)),this.agent.calculateCost&&(r.cost=this.agent.calculateCost({costLimit:r.costLimit,previousCost:r.cost,usage:r.usage})),r.costLimit&&r.cost.total>r.costLimit.maxTotalCost?this.handleCostLimitExceeded(r):{events:i,newState:r,nextContext:{operationId:this.operationId,payload:{result:d,toolCall:o,toolCallId:o.id},phase:`tool_result`,session:this.createSessionContext(r)}}}}createResolveBlockedToolsExecutor(){return async(e,t)=>{let{payload:n}=e,r=structuredClone(t),i=[];for(let e of n.toolsCalling){let t={content:`Blocked by security/privacy.`,success:!1};r.messages.push({content:t.content,role:`tool`,tool_call_id:e.id}),i.push({id:e.id,result:t,type:`tool_result`})}return r.lastModified=new Date().toISOString(),r.status=`running`,{events:i,newState:r,nextContext:{operationId:this.operationId,payload:{parentMessageId:n.parentMessageId,toolCount:n.toolsCalling.length},phase:`tools_batch_result`,session:this.createSessionContext(r)}}}}createHumanApproveExecutor(){return async(e,t)=>{let{pendingToolsCalling:n}=e,r=structuredClone(t);return r.lastModified=new Date().toISOString(),r.status=`waiting_for_human`,r.pendingToolsCalling=n,{events:[{operationId:r.operationId,pendingToolsCalling:n,type:`human_approve_required`}],newState:r}}}createHumanPromptExecutor(){return async(e,t)=>{let{metadata:n,prompt:r}=e,i=structuredClone(t);return i.lastModified=new Date().toISOString(),i.status=`waiting_for_human`,i.pendingHumanPrompt={metadata:n,prompt:r},{events:[{metadata:n,operationId:i.operationId,prompt:r,type:`human_prompt_required`}],newState:i}}}createHumanSelectExecutor(){return async(e,t)=>{let{metadata:n,multi:r,options:i,prompt:a}=e,o=structuredClone(t);return o.lastModified=new Date().toISOString(),o.status=`waiting_for_human`,o.pendingHumanSelect={metadata:n,multi:r,options:i,prompt:a},{events:[{metadata:n,multi:r,operationId:o.operationId,options:i,prompt:a,type:`human_select_required`}],newState:o}}}createFinishExecutor(){return async(e,t)=>{let{reason:n,reasonDetail:r}=e,i=structuredClone(t);return i.lastModified=new Date().toISOString(),i.status=`done`,{events:[{finalState:i,reason:n,reasonDetail:r,type:`done`}],newState:i}}}async executeToolsBatch(e,t,n){let{payload:r}=e,i=await w(e.payload.toolsCalling,e=>this.executors.call_tool({payload:{parentMessageId:r.parentMessageId,toolCalling:e},type:`call_tool`},structuredClone(t),n)),a=i.at(-1).nextContext?.payload?.parentMessageId;return this.mergeToolResults(i,t,a)}mergeToolResults(e,t,n){let r=structuredClone(t),i=[],a=new Set(t.messages.filter(e=>e.role===`tool`).map(e=>e.tool_call_id));for(let t of e){let e=t.newState.messages.filter(e=>e.role===`tool`&&!a.has(e.tool_call_id));r.messages.push(...e),i.push(...t.events),t.newState.usage&&r.usage&&(r.usage.tools.totalCalls+=t.newState.usage.tools.totalCalls,r.usage.tools.totalTimeMs+=t.newState.usage.tools.totalTimeMs,t.newState.usage.tools.byTool.forEach(e=>{let t=r.usage.tools.byTool.find(t=>t.name===e.name);t?(t.calls+=e.calls,t.totalTimeMs+=e.totalTimeMs,t.errors+=e.errors||0):r.usage.tools.byTool.push({...e})})),t.newState.cost&&r.cost&&(r.cost.tools.total+=t.newState.cost.tools.total,r.cost.total+=t.newState.cost.tools.total,t.newState.cost.tools.byTool.forEach(e=>{let t=r.cost.tools.byTool.find(t=>t.name===e.name);t?(t.calls+=e.calls,t.totalCost+=e.totalCost):r.cost.tools.byTool.push({...e})}))}return r.lastModified=new Date().toISOString(),{events:i,newState:r,nextContext:{o
4perationId:this.operationId,payload:{parentMessageId:n,toolCount:e.length,toolResults:e.map(e=>e.nextContext?.payload)},phase:`tools_batch_result`,session:this.createSessionContext(r)}}}handleCostLimitExceeded(e){let t=structuredClone(e),n=t.costLimit;switch(n.onExceeded){case`stop`:return t.status=`done`,{events:[{finalState:t,reason:`cost_limit_exceeded`,reasonDetail:`Cost limit exceeded: ${t.cost.total} ${t.cost.currency} > ${n.maxTotalCost} ${n.currency}`,type:`done`}],newState:t,nextContext:void 0};case`interrupt`:return{...this.interrupt(t,`Cost limit exceeded: ${t.cost.total} ${t.cost.currency}`,!0,{costExceeded:!0,currentCost:t.cost.total,limitCost:n.maxTotalCost}),nextContext:void 0};default:{let e={error:Error(`Warning: Cost limit exceeded: ${t.cost.total} ${t.cost.currency}`),type:`error`};return{events:[e],newState:t,nextContext:{operationId:this.operationId,payload:{error:e.error,isCostWarning:!0},phase:`error`,session:this.createSessionContext(t)}}}}}createSessionContext(e){return{messageCount:e.messages.length,sessionId:e.operationId,status:e.status,stepCount:e.stepCount}}createInitialContext(e){let t=e.messages.at(-1);return t?.role===`user`?{operationId:this.operationId,payload:{isFirstMessage:e.messages.length===1,message:t},phase:`user_input`,session:this.createSessionContext(e)}:{operationId:this.operationId,payload:void 0,phase:`init`,session:this.createSessionContext(e)}}createErrorResult(e,t){let n=structuredClone(e);return n.status=`error`,n.error=t,n.lastModified=new Date().toISOString(),{events:[{error:t,type:`error`}],newState:n}}}})),Kt,qt=e((()=>{Kt=class e{static createDefaultUsage(){return{humanInteraction:{approvalRequests:0,promptRequests:0,selectRequests:0,totalWaitingTimeMs:0},llm:{apiCalls:0,processingTimeMs:0,tokens:{input:0,output:0,total:0}},tools:{byTool:[],totalCalls:0,totalTimeMs:0}}}static createDefaultCost(){return{calculatedAt:new Date().toISOString(),currency:`USD`,llm:{byModel:[],currency:`USD`,total:0},tools:{byTool:[],currency:`USD`,total:0},total:0}}static mergeModelUsage(e,t){if(!e)return t;let n={...t};for(let r of[`inputCachedTokens`,`inputCacheMissTokens`,`inputWriteCacheTokens`,`inputTextTokens`,`inputImageTokens`,`inputAudioTokens`,`inputVideoTokens`,`inputCitationTokens`,`inputToolTokens`,`outputTextTokens`,`outputImageTokens`,`outputAudioTokens`,`outputReasoningTokens`,`acceptedPredictionTokens`,`rejectedPredictionTokens`,`totalInputTokens`,`totalOutputTokens`,`totalTokens`]){let i=e[r],a=t[r];(i!==void 0||a!==void 0)&&(n[r]=(i||0)+(a||0))}return(e.cost!==void 0||t.cost!==void 0)&&(n.cost=(e.cost||0)+(t.cost||0)),n}static accumulateLLM(t){let{usage:n,cost:r,provider:i,model:a,modelUsage:o}=t,s=n?structuredClone(n):this.createDefaultUsage();s.llm.tokens.input+=o.totalInputTokens??0,s.llm.tokens.output+=o.totalOutputTokens??0,s.llm.tokens.total+=o.totalTokens??0,s.llm.apiCalls+=1;let c=r?structuredClone(r):o.cost?this.createDefaultCost():void 0;if(o.cost&&c){let t=`${i}/${a}`,n=c.llm.byModel.find(e=>e.id===t);n||(n={id:t,model:a,provider:i,totalCost:0,usage:{}},c.llm.byModel.push(n)),n.usage=e.mergeModelUsage(n.usage,o),n.totalCost+=o.cost,c.llm.total+=o.cost,c.total+=o.cost,c.calculatedAt=new Date().toISOString()}return{cost:c,usage:s}}static accumulateTool(e){let{usage:t,cost:n,toolName:r,executionTime:i,success:a,toolCost:o}=e,s=t?structuredClone(t):this.createDefaultUsage(),c=s.tools.byTool.find(e=>e.name===r);c||(c={calls:0,errors:0,name:r,totalTimeMs:0},s.tools.byTool.push(c)),c.calls+=1,c.totalTimeMs+=i,a||(c.errors+=1),s.tools.totalCalls+=1,s.tools.totalTimeMs+=i;let l=n?structuredClone(n):o?this.createDefaultCost():void 0;if(o&&l){let e=l.tools.byTool.find(e=>e.name===r);e||(e={calls:0,currency:`USD`,name:r,totalCost:0},l.tools.byTool.push(e)),e.calls+=1,e.totalCost+=o,l.tools.total+=o,l.total+=o,l.calculatedAt=new Date().toISOString()}return{cost:l,usage:s}}}})),Jt=e((()=>{Nt(),Gt(),qt()}));function Yt(e={}){let t=e.maxWindowToken??128e3,n=e.thresholdRatio??.5;return Math.floor(t*n)}function Xt(e,t={}){let n=oe({messages:e,options:{driftMultiplier:t.driftMultiplier??1.25},tools:t.tools}),r=Yt(t);return{currentTokenCount:n.rawTotal,needsCompression:n.adjustedTotal>r,threshold:r}}var Zt=e((()=>{T()})),Qt,$t=e((()=>{Bt(),Jt(),Zt(),Qt=class{config;constructor(e){this.config=e}getTools(e,t){return this.config.tools??e.tools??e.operationToolSet?.tools??t}getAllowedToolNamesPayload(){return this.config.allowedToolNames===void 0?{}:{allowedToolNames:this.config.allowedToolNames}}getToolInterventionConfig(e,t){let{identifier:n,apiName:r}=e,i=t.toolManifestMap[n];if(i)return i.api?.find(e=>e.name===r)?.humanIntervention??i.humanIntervention}isDynamicInterventionConfig(e){return!!e&&typeof e==`object`&&!Array.isArray(e)&&`dynamic`in e}matchesAlwaysPolicy(e,t){return e?e===`always`?!0:Array.isArray(e)?e.some(e=>e.policy===`always`?e.match?Object.entries(e.match).every(([e,n])=>{let r=t[e];return r===void 0?!1:typeof n==`string`?String(r).includes(n)||n.includes(`*`):!0}):!0:!1):!1:!1}resolveDynamicPolicy(e,t,n){if(!this.isDynamicInterventionConfig(e))return Promise.resolve(void 0);let{dynamic:r}=e,i=this.config.dynamicInterventionAudits?.[r.type];return i?Promise.resolve(i(t,n)).then(e=>
4e?r.policy??`always`:r.default??`never`):Promise.resolve(r.default??`never`)}async checkInterventionNeeded(e,t){let n=[],r=[],i=t.securityBlacklist??At,a={...t.metadata,securityBlacklist:i},{approvalMode:o,allowList:s=[]}=t.userInterventionConfig||{approvalMode:`manual`},c=this.config.globalInterventionAudits??Rt();for(let l of e){let{identifier:e,apiName:u}=l,d=`${e}/${u}`,f={};try{f=JSON.parse(l.arguments||`{}`)}catch{}let p=!1,m=`always`;for(let e of c)if(await e.resolver(f,a)){p=!0,m=e.policy??`always`;break}if(p&&m===`always`){n.push(l);continue}let h=t.toolManifestMap?.[e],g=this.getToolInterventionConfig(l,t),_=this.isDynamicInterventionConfig(g),v=await this.resolveDynamicPolicy(g,f,t.metadata),y=_?void 0:g;if(v!==void 0){v===`never`||(o===`auto-run`||o===`headless`)&&v!==`always`?r.push(l):n.push(l);continue}if(o===`headless`&&p&&m!==`always`){r.push(l);continue}if(p&&m!==`always`){n.push(l);continue}if(this.matchesAlwaysPolicy(y,f)){n.push(l);continue}if(o===`headless`){r.push(l);continue}if(o===`auto-run`){r.push(l);continue}if(!h){console.warn(`[InterventionGuard] Unknown tool "${e}/${u}" not found in toolManifestMap (keys: ${Object.keys(t.toolManifestMap??{}).join(`, `)}), requiring intervention`),n.push(l);continue}if(o===`allow-list`){s.includes(d)?r.push(l):n.push(l);continue}Mt.shouldIntervene({config:y,securityBlacklist:i,toolArgs:f})===`never`?r.push(l):n.push(l)}return[n,r]}extractAbortInfo(e,t){let n=!1,r=[],i=``;switch(e.phase){case`llm_result`:{let t=e.payload;n=t.hasToolsCalling||!1,r=t.toolsCalling||[],i=t.parentMessageId;break}case`human_abort`:{let t=e.payload;n=t.hasToolsCalling||!1,r=t.toolsCalling||[],i=t.parentMessageId;break}case`tool_result`:case`tools_batch_result`:{i=e.payload.parentMessageId;let a=t.messages.filter(e=>e.role===`tool`&&e.pluginIntervention?.status===`pending`);a.length>0&&(n=!0,r=a.map(e=>e.plugin).filter(Boolean));break}}return{hasToolsCalling:n,parentMessageId:i,toolsCalling:r}}getCurrentTurnPendingToolMessages(e){let t;for(let n=e.messages.length-1;n>=0;n--){let r=e.messages[n];if(r.role===`assistant`&&(r.tool_calls?.length>0||r.tools?.length>0)){t=r.id;break}}return t?e.messages.filter(e=>e.role===`tool`&&e.pluginIntervention?.status===`pending`&&e.parentId===t):[]}findExistingSummary(e){let t=e.filter(e=>(e.role===`compressedGroup`||e.messageGroupType===`compression`)&&e.content).map(e=>e.content);if(t.length>0)return t.join(`
5
6`);for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.role===`system`&&n.metadata?.compressionSummary)return n.content}}toLLMCall(e,t){let n={...e,...this.getAllowedToolNamesPayload()},r=this.config.compressionConfig?.enabled??!0,i={maxWindowToken:this.config.compressionConfig?.maxWindowToken,thresholdRatio:this.config.compressionConfig?.thresholdRatio,tools:t.forceFinish?void 0:n.tools};if(r){let e=n.messages,t=Xt(e,i);if(t.needsCompression)return{payload:{currentTokenCount:t.currentTokenCount,existingSummary:this.findExistingSummary(e),messages:e},type:`compress_context`}}return{payload:n,type:`call_llm`}}handleAbort(e,t){let{hasToolsCalling:n,parentMessageId:r,toolsCalling:i}=this.extractAbortInfo(e,t);return n&&i.length>0?{payload:{parentMessageId:r,toolsCalling:i},type:`resolve_aborted_tools`}:{reason:`user_requested`,reasonDetail:`Operation cancelled by user`,type:`finish`}}async runner(e,t){if(t.status===`interrupted`)return this.handleAbort(e,t);switch(e.phase){case`init`:case`user_input`:{let n=this.config.compressionConfig?.enabled??!0,r={maxWindowToken:this.config.compressionConfig?.maxWindowToken,thresholdRatio:this.config.compressionConfig?.thresholdRatio,tools:t.forceFinish?void 0:this.getTools(t)};if(n){let e=Xt(t.messages,r);if(e.needsCompression)return{payload:{currentTokenCount:e.currentTokenCount,existingSummary:this.findExistingSummary(t.messages),messages:t.messages},type:`compress_context`}}let i=e.payload,a=this.getTools(t,i?.tools);return{payload:{...i,...this.getAllowedToolNamesPayload(),messages:t.messages,tools:a},type:`call_llm`}}case`llm_result`:{let{hasToolsCalling:n,toolsCalling:r,parentMessageId:i,result:a}=e.payload;if(n&&r&&r.length>0){let[e,n]=await this.checkInterventionNeeded(r,t),a=[];return n.length>0&&(n.length>1?a.push({payload:{parentMessageId:i,toolsCalling:n},type:`call_tools_batch`}):a.push({payload:{parentMessageId:i,toolCalling:n[0]},type:`call_tool`})),e.length>0&&(t.userInterventionConfig?.approvalMode===`headless`?a.push({payload:{parentMessageId:i,toolsCalling:e},type:`resolve_blocked_tools`}):a.push({pendingToolsCalling:e,reason:`human_intervention_required`,type:`request_human_approve`})),a}let o=a?.tool_calls?.length??0,s=o>0;return{reason:t.forceFinish?`max_steps_completed`:`completed`,reasonDetail:s?`LLM returned ${o} unresolvable tool_calls: ${(a?.tool_calls??[]).map(e=>
6e.function?.name).filter(Boolean).join(`, `)}`:t.forceFinish?`Force finish: LLM produced final text response after max steps`:`LLM response completed without tool calls`,type:`finish`}}case`tool_result`:{let{data:n,parentMessageId:r,stop:i}=e.payload;if(i&&n?.state){let e=n.state.type;if(e===`execSubAgent`){let{parentMessageId:e,task:t}=n.state;return{payload:{parentMessageId:e,task:t},type:`exec_sub_agent`}}if(e===`execSubAgents`){let{parentMessageId:e,tasks:t}=n.state;return{payload:{parentMessageId:e,tasks:t},type:`exec_sub_agents`}}}let a=this.getCurrentTurnPendingToolMessages(t);return a.length>0?{pendingToolsCalling:a.map(e=>e.plugin).filter(Boolean),reason:`Some tools still pending approval`,skipCreateToolMessage:!0,type:`request_human_approve`}:e.stepContext?.hasQueuedMessages?{reason:`queued_message_interrupt`,type:`finish`}:this.toLLMCall({assistantMessageId:t.pendingAssistantMessageId,messages:t.messages,model:this.config.modelRuntimeConfig?.model,parentMessageId:r,provider:this.config.modelRuntimeConfig?.provider,tools:this.getTools(t)},t)}case`tools_batch_result`:{let{parentMessageId:n}=e.payload,r=this.getCurrentTurnPendingToolMessages(t);return r.length>0?{pendingToolsCalling:r.map(e=>e.plugin).filter(Boolean),reason:`Some tools still pending approval`,skipCreateToolMessage:!0,type:`request_human_approve`}:e.stepContext?.hasQueuedMessages?{reason:`queued_message_interrupt`,type:`finish`}:this.toLLMCall({assistantMessageId:t.pendingAssistantMessageId,messages:t.messages,model:this.config.modelRuntimeConfig?.model,parentMessageId:n,provider:this.config.modelRuntimeConfig?.provider,tools:this.getTools(t)},t)}case`sub_agent_result`:{let{parentMessageId:n}=e.payload;return this.toLLMCall({messages:t.messages,model:this.config.modelRuntimeConfig?.model,parentMessageId:n,provider:this.config.modelRuntimeConfig?.provider,tools:this.getTools(t)},t)}case`sub_agents_batch_result`:{let{parentMessageId:n}=e.payload;if(e.stepContext?.hasQueuedMessages)return{reason:`queued_message_interrupt`,type:`finish`};let r=[...t.messages,{content:`All tasks above have been completed. Please summarize the results or continue with your response following user query language.`,role:`user`}];return this.toLLMCall({messages:r,model:this.config.modelRuntimeConfig?.model,parentMessageId:n,provider:this.config.modelRuntimeConfig?.provider,tools:this.getTools(t)},t)}case`compression_result`:{let n=e.payload,r=this.getTools(t),i=t.pendingAssistantMessageId;return{payload:{...i?{assistantMessageId:i}:{createAssistantMessage:!0},messages:n.compressedMessages,model:this.config.modelRuntimeConfig?.model,parentMessageId:n.parentMessageId,provider:this.config.modelRuntimeConfig?.provider,tools:r,...this.getAllowedToolNamesPayload()},type:`call_llm`}}case`human_abort`:{let{hasToolsCalling:t,parentMessageId:n,toolsCalling:r,reason:i}=e.payload;return t&&r&&r.length>0?{payload:{parentMessageId:n,toolsCalling:r},type:`resolve_aborted_tools`}:{reason:`user_requested`,reasonDetail:i,type:`finish`}}case`error`:{let{error:t}=e.payload;return{reason:`error_recovery`,reasonDetail:t?.message||`Unknown error occurred`,type:`finish`}}default:return{reason:`agent_decision`,reasonDetail:`Unknown phase: ${e.phase}`,type:`finish`}}}}})),en,tn=e((()=>{T(),_(),en=t(u()),$t(),new en.default({allErrors:!0,strict:!1}),new en.default({allErrors:!1,strict:!0})})),nn=e((()=>{$t(),tn()})),rn,an,on,sn,cn,ln,un,dn,fn=e((()=>{rn=5,an=1e3,on=3e4,sn=(e,t={})=>t.noRetryProviders?.includes(e)?0:t.maxRetries??rn,cn=(e,t,n)=>e===`retry`&&t<=n,ln=(e,t={})=>sn(e,t),un=(e,t={})=>sn(e,t)+1,dn=(e,t={})=>Math.min((t.retryBaseDelayMs??an)*2**Math.max(e-1,0),t.retryMaxDelayMs??on)})),pn,mn,hn,gn,_n,vn,yn,bn,xn,Sn,Cn=e((()=>{h(),d(),qt(),pn=`visibleOutputEndPublishedStepIndex`,mn=({answerSalvagedFromReasoning:e,currentStepSpeed:t,currentStepUsage:n,finishType:r,hasContentImages:i,interruptedMidStream:a})=>{let o={...n&&{...n,usage:n},...t&&{...t,performance:t},...r&&{finishType:r},...i&&{isMultimodal:!0},...e&&{answerSalvagedFromReasoning:!0},...a&&{interruptedMidStream:!0}};return Object.keys(o).length>0?o:void 0}
6,hn=e=>e.hasReasoningImages?{content:v(e.reasoningParts),isMultimodal:!0}:e.reasoning?{...e.reasoning,content:e.thinkingContent||e.reasoning.content}:e.thinkingContent?{content:e.thinkingContent}:void 0,gn=e=>e.length>0?e.map(e=>({...e,arguments:l(e.arguments)})):void 0,_n=e=>{let t=e.filter(e=>!!e.function.name).map(e=>({...e,function:{...e.function,arguments:l(e.function.arguments)}}));return t.length>0?t:void 0},vn=({operationId:e,output:t,state:n})=>{if(t.toolsCalling.length>0||t.toolCalls.length>0)return;let r=n.metadata?.sourceMessageId,i=typeof r==`string`?n.messages.findIndex(e=>e.id===r):-1;if((i>=0?n.messages.slice(i+1):[]).some(e=>e.role===`tool`||Array.isArray(e.tool_calls)&&e.tool_calls.length>0))return{rootOperationId:e,...typeof r==`string`&&{userMessageId:r}}},yn=async({assistantMessageId:e,host:t,output:n,state:r})=>{let i=n.hasContentImages?v(n.contentParts):n.content,a=hn(n),o=mn({answerSalvagedFromReasoning:n.answerSalvagedFromReasoning,currentStepSpeed:n.speed,currentStepUsage:n.usage,finishType:n.finishReason,hasContentImages:n.hasContentImages}),s=vn({operationId:t.operation.operationId,output:n,state:r});try{await t.transports.messages.update(e,{content:i,imageList:n.imageList.length>0?n.imageList:void 0,metadata:s?{...o,work:s}:o,observationId:n.observationId,reasoning:a,search:n.grounding,tools:gn(n.toolsCalling),traceId:n.traceId})}catch(e){console.error(`[call_llm] Failed to update message:`,e)}return a},bn=({assistantMessageId:e,model:t,output:n,provider:r,shouldReplayAssistantReasoning:i,state:a,stepLabel:o,visibleOutputEndPublishedStepIndex:s,finalReasoning:c})=>{let l=structuredClone(a);if(l.messages.push({content:n.content,id:e,reasoning:i?c:void 0,role:`assistant`,tool_calls:_n(n.toolCalls)}),n.usage){let{usage:e,cost:i}=Kt.accumulateLLM({cost:l.cost,model:t,modelUsage:n.usage,provider:r,usage:l.usage});l.usage=e,i&&(l.cost=i)}if(o||s!==void 0){let e={...l.metadata};o&&(e._stepLabel=o),s!==void 0&&(e[pn]=s),l.metadata=e}return l},xn=async({assistantMessageId:e,events:t,host:n,model:r,output:i,provider:a,recordResult:o,shouldReplayAssistantReasoning:s,state:c,stepLabel:l})=>{let{operation:u,transports:d}=n;t.push({result:{content:i.content,finishReason:i.finishReason,reasoning:i.thinkingContent,tool_calls:i.toolCalls,usage:i.usage},type:`llm_result`}),await d.stream.publishEvent({data:{finalContent:i.content,grounding:i.grounding,...l&&{stepLabel:l},imageList:i.imageList.length>0?i.imageList:void 0,reasoning:i.thinkingContent||void 0,toolsCalling:i.toolsCalling,usage:i.usage},stepIndex:u.stepIndex,type:`stream_end`});let f;if((u.allowEarlyFinalAnswerVisibleOutputEnd??!0)&&i.finishReason!==`abort`&&i.toolsCalling.length===0&&i.toolCalls.length===0)try{await d.stream.publishEvent({data:{reason:`final_answer`},stepIndex:u.stepIndex,type:`visible_output_end`}),f=u.stepIndex}catch(e){console.error(`Failed to publish visible_output_end:`,e)}let p=bn({assistantMessageId:e,finalReasoning:await yn({assistantMessageId:e,host:n,output:i,state:c}),model:r,output:i,provider:a,shouldReplayAssistantReasoning:s,state:c,stepLabel:l,visibleOutputEndPublishedStepIndex:f});return await o?.(i),i.finishReason===`abort`?{events:t,newState:p,nextContext:{payload:{hasToolsCalling:i.toolsCalling.length>0,parentMessageId:e,reason:`user_cancelled`,result:{content:i.content,tool_calls:i.toolCalls},toolsCalling:i.toolsCalling},phase:`human_abort`,session:{eventCount:t.length,messageCount:p.messages.length,sessionId:u.operationId,status:`running`,stepCount:c.stepCount+1},stepUsage:i.usage}}:{events:t,newState:p,nextContext:{payload:{hasToolsCalling:i.toolsCalling.length>0,parentMessageId:e,result:{content:i.content,tool_calls:i.toolCalls},toolsCalling:i.toolsCalling},phase:`llm_result`,session:{eventCount:t.length,messageCount:p.messages.length,sessionId:u.operationId,status:`running`,stepCount:c.stepCount+1},stepUsage:i.usage}}},Sn=async({assistantMessageId:e,host:t,output:n})=>{if(!(!n.content&&!n.thinkingContent&&n.toolsCalling.length===0))try{await t.transports.messages.update(e,{content:n.content,metadata:mn({currentStepSpeed:n.speed,currentStepUsage:n.usage,interruptedMidStream:!0}),reasoning:n.thinkingContent?{content:n.thinkingContent}:void 0,tools:gn(n.toolsCalling)})}catch(e){console.error(`[call_llm] Failed to persist interrupted output:`,e)}
6}})),wn,Tn,En,Dn,On,kn,An,jn,Mn,Nn,L,Pn,Fn,In=e((()=>{fn(),Cn(),wn=`ConversationParentMissing`,Tn=e=>{let t=e.transports.llm;if(!t?.runAttempt)throw Error(`LLMTransport.runAttempt is required for call_llm executor`);if(!t.retryPolicy)throw Error(`LLMTransport.retryPolicy is required for call_llm executor`);return t},En=e=>new Promise(t=>{setTimeout(t,e)}),Dn=async e=>{let t=e.transports.operationStore;if(!t?.loadState)return!1;try{return(await t.loadState(e.operation.operationId))?.status===`interrupted`}catch(e){return console.error(`[call_llm] Failed to load operation state for retry guard:`,e),!1}},On=(e,t)=>e?e.run(t):t(),kn=async(e,t,n,r)=>{let i=[],{retryPolicy:a}=t,o=a.maxAttempts(n.provider),s=!1,c,l;try{for(let l=1;l<=o;l++){let u=await On(r,()=>t.runAttempt({attempt:l,context:n.context,events:i,maxAttempts:o,model:n.model,onFirstChunk:r?.onFirstChunk.bind(r),provider:n.provider,state:n.state}));if(c=u.output,u.ok)return await xn({assistantMessageId:n.assistantMessageId,events:i,host:e,model:n.model,output:u.output,provider:n.provider,recordResult:r?.recordResult?.bind(r),shouldReplayAssistantReasoning:n.context.replayAssistantReasoning,state:n.state,stepLabel:n.stepLabel});let{error:d}=u,f=a.classifyError(d),p=a.resolveRetryBudget(n.provider,d),m=await Dn(e);if(!m&&cn(f.kind,l,p)){let t=dn(l),n={data:{attempt:l+1,delayMs:t,errorType:f.code,kind:f.kind,maxAttempts:o},type:`stream_retry`};if(i.push(n),await a.onRetry?.({attempt:l,delayMs:t,error:f,maxAttempts:o}),await e.transports.stream.publishEvent({data:n.data,stepIndex:e.operation.stepIndex,type:`stream_retry`}),await(a.waitForRetry??En)(t),m=await Dn(e),!m)continue}throw s=!0,m&&await Sn({assistantMessageId:n.assistantMessageId,host:e,output:u.output}),await On(r,async()=>{await a.onError?.({error:d,events:i,interrupted:m,output:u.output,retryBudget:p})}),d}throw Error(`LLM execution retry loop exited unexpectedly`)}catch(t){if(l=t,!s){let o=await Dn(e);o&&c&&await Sn({assistantMessageId:n.assistantMessageId,host:e,output:c}),await On(r,async()=>{await a.onError?.({error:t,events:i,interrupted:o,output:c})})}throw t}finally{await r?.close(l)}},An=e=>{let t=e.transports.context;if(!t)throw Error(`ContextBuilder is required for call_llm executor`);return t},jn=(e,t)=>{if(!e.context.resolvedTools)throw Error(`Resolved tools are required for call_llm`);if(!e.context.messages.some(e=>e.role!==`system`))throw Error(`call_llm produced no non-system messages for ${e.provider}/${e.model} (topic=${e.state.metadata?.topicId??`n/a`}, step=${t}); refusing to dispatch`)},Mn=e=>{let t=Error(`Conversation parent message ${e} no longer exists. It was likely deleted while the operation was running.`);return Object.assign(t,{errorType:wn,parentId:e}),t},Nn=(e,t)=>({error:e.message,errorType:typeof e.errorType==`string`?e.errorType:e.name,phase:t}),L=(e,t)=>{let n=e[t];return n===void 0?void 0:n},Pn=(e,t=e)=>({id:e.id,...L(t,`agentId`)!==void 0&&{agentId:L(t,`agentId`)},...L(t,`groupId`)!==void 0&&{groupId:L(t,`groupId`)},...L(t,`model`)!==void 0&&{model:L(t,`model`)},...L(t,`parentId`)!==void 0&&{parentId:L(t,`parentId`)},...L(t,`provider`)!==void 0&&{provider:L(t,`provider`)},...L(t,`role`)!==void 0&&{role:L(t,`role`)},...L(t,`threadId`)!==void 0&&{threadId:L(t,`threadId`)},...L(t,`topicId`)!==void 0&&{topicId:L(t,`topicId`)}}),Fn=e=>async(t,n)=>{let{operation:r,transports:i}=e,a=An(e),o=Tn(e),{payload:s}=t,c=s,l=c.model||n.modelRuntimeConfig?.model,u=c.provider||n.modelRuntimeConfig?.provider;if(!l||!u)throw Error(`Model and provider are required for call_llm instruction`);let d=c.parentId||c.parentMessageId;if(d&&!await i.messages.findById(d)){let e=Mn(d);throw await i.stream.publishEvent({data:Nn(e,`parent_message_preflight`),stepIndex:r.stepIndex,type:`error`}),e}let f=c.assistantMessageId,p=f?{id:f}:await i.messages.createAssistantMessage({agentId:n.metadata.agentId,content:``,groupId:n.metadata?.groupId??void 0,model:l,parentId:d,provider:u,role:`assistant`,threadId:n.metadata?.threadId,topicId:n.metadata?.topicId}),m=f?await i.messages.findById(f)??p:p,h=t.stepLabel;await i.stream.publishEvent({data:{assistantMessage:Pn(p,m),model:l,provider:u,...h&&{stepLabel:h}},stepIndex:r.stepIndex,type:`stream_start`});let g=await a.build({model:l,payload:c,provider:u,state:n}
6).catch(async e=>{throw await i.stream.publishError?.({error:e,phase:`llm_execution`,stepIndex:r.stepIndex}),e});try{let t={assistantMessageId:p.id,context:g,model:l,provider:u,state:n,stepLabel:h};jn(t,r.stepIndex);let i=o.createTrace?.({assistantMessageId:p.id,conversationId:n.metadata?.topicId,model:l,provider:u});return await kn(e,o,t,i)}catch(e){throw await i.stream.publishError?.({error:e,phase:`llm_execution`,stepIndex:r.stepIndex}),e}}})),Ln,Rn,zn,Bn=e((()=>{Jt(),Ln=e=>{if(e instanceof Error&&e.message)return e.message;if(typeof e==`string`&&e)return e;if(e&&typeof e==`object`){let t=e.message;if(typeof t==`string`&&t)return t}return String(e)},Rn=(e,t,n,r)=>{e.lifecycle?.dispatch({event:n,serializedHooks:r,type:t}).catch(()=>{})},zn=e=>async(t,n)=>{let{payload:r}=t,{messages:i,currentTokenCount:a,existingSummary:o}=r,{operation:s,transports:c}=e,{operationId:l,stepIndex:u,userId:d}=s,f=[],p=structuredClone(n),m=n.metadata?.topicId??s.topicId,h=n.metadata?.workspaceId??s.workspaceId,g=s.agentId??n.metadata?.agentId,_=s.groupId??n.metadata?.groupId,v=s.threadId??n.metadata?.threadId,y=c.compression,ee=c.llm,b=i.at(-1),te=i.length>1&&b?.role===`user`?[b]:[],ne=new Set(te.map(e=>e.id).filter(e=>!!e)),re=te.length>0?i.slice(0,-1):i,x=[...re,...te],ie=({compressedMessages:e,groupId:t,parentMessageId:r,skipped:i})=>({payload:{compressedMessages:e,groupId:t,parentMessageId:r,skipped:i},phase:`compression_result`,session:{messageCount:p.messages.length,sessionId:l,status:`running`,stepCount:n.stepCount+1}}),S=e=>({events:f,newState:p,nextContext:ie({compressedMessages:x,groupId:``,parentMessageId:e,skipped:!0})});if(!m||!g||!y||!ee)return S();Rn(e,`beforeCompact`,{messageCount:re.length,operationId:l,stepIndex:u,tokenCount:a,userId:d},n.metadata?._hooks);let C;try{let t=await c.messages.query({agentId:g,groupId:_,threadId:v,topicId:m},{resolveAssetUrls:!0}),r=t.filter(e=>e.role===`compressedGroup`&&!!e.id),i=r.map(e=>e.id).filter(e=>!!e),a=r.map(e=>typeof e.content==`string`?e.content.trim():``).filter(Boolean).join(`
7
8`),s=t.filter(e=>e.role!==`compressedGroup`&&!!e.id&&!ne.has(e.id)).map(e=>e.id);if(s.length===0&&i.length===0||re.length===0)return S();let b=t.findLast(e=>e.role===`assistant`)?.id??r.at(-1)?.lastMessageId,x=p.modelRuntimeConfig?.compressionModel||p.modelRuntimeConfig;if(!x?.model||!x?.provider)return S(b);let w=await y.createGroup({agentId:g,groupId:_,messageIds:s,threadId:v,topicId:m,workspaceId:h});C=w.messageGroupId;let ae=await y.buildPrompt({existingSummary:a||o,messages:w.messagesToSummarize}),oe=``,T=await ee.stream({messages:ae.messages,model:x.model,provider:x.provider,stream:!0},{onText:e=>{oe+=e,y.updateGroup?.({content:oe,messageGroupId:w.messageGroupId})}},w.signal);if(w.signal?.aborted){let e=Error(`Context compression cancelled`);throw e.name=`AbortError`,e}let se=await y.finalizeGroup({agentId:g,content:T.content,groupId:_,messageGroupId:w.messageGroupId,sourceGroupIds:i,threadId:v,topicId:m,workspaceId:h}),ce=new Set(i),E=w.messages?.filter(e=>!ce.has(e.id)).map(e=>e.id===w.messageGroupId?{...e,content:T.content}:e),D=[...se.messages??E??w.messagesToSummarize];for(let e of te)D.some(t=>t===e||!!t.id&&!!e.id&&t.id===e.id)||D.push(e);if(p.messages=D,T.usage){let{usage:e,cost:t}=Kt.accumulateLLM({cost:p.cost,model:x.model,modelUsage:T.usage,provider:x.provider,usage:p.usage});p.usage=e,t&&(p.cost=t)}return f.push({groupId:w.messageGroupId,parentMessageId:b,type:`compression_complete`}),Rn(e,`afterCompact`,{groupId:w.messageGroupId,messagesAfter:D.length,messagesBefore:re.length,operationId:l,stepIndex:u,summary:T.content.slice(0,500),userId:d},n.metadata?._hooks),{events:f,newState:p,nextContext:{...ie({compressedMessages:D,groupId:w.messageGroupId,parentMessageId:b}),session:{messageCount:D.length,sessionId:l,status:`running`,stepCount:n.stepCount+1}}}}catch(t){if(C&&y.rollbackGroup)try{await y.rollbackGroup({agentId:g,error:t,groupId:_,messageGroupId:C,threadId:v,topicId:m,workspaceId:h})}catch(e){console.error(`Failed to rollback context compression`,e)}return Rn(e,`onCompactError`,{error:Ln(t),operationId:l,stepIndex:u,tokenCount:a,userId:d},n.metadata?._hooks),f.push({error:t,type:`compression_error`}),S()}}})),Vn,Hn=e((()=>{Vn=e=>async(t,n)=>{let{reason:r,reasonDetail:i}=t,{operation:a,transports:o}=e;await o.operationStore?.clearRunningMark(),await o.stream.publishEvent({data:{finalState:{...n,status:`done`},phase:`execution_complete`,reason:r,reasonDetail:i},stepIndex:a.stepIndex,type:`step_complete`});let s=structuredClone(n);return s.lastModified=new Date().toISOString(),s.status=`done`,{events:[{finalState:s,reason:r,reasonDetail:i,t
8ype:`done`}],newState:s}}})),Un,Wn=e((()=>{Un=e=>async(t,n)=>{let{pendingToolsCalling:r,skipCreateToolMessage:i}=t,{operation:a,transports:o,lifecycle:s}=e,{operationId:c,stepIndex:l,userId:u}=a,d=a.agentId??n.metadata?.agentId,f=a.groupId??n.metadata?.groupId,p=a.threadId??n.metadata?.threadId,m=a.topicId??n.metadata?.topicId;await o.stream.publishEvent({data:{pendingToolsCalling:r,phase:`human_approval`,requiresApproval:!0},stepIndex:l,type:`step_start`}),s?.dispatch({event:{operationId:c,pendingTools:r.map(e=>({apiName:e.apiName,identifier:e.identifier})),stepIndex:l,userId:u},serializedHooks:n.metadata?._hooks,type:`beforeHumanIntervention`}).catch(()=>{});let h=structuredClone(n);h.lastModified=new Date().toISOString(),h.status=`waiting_for_human`,h.pendingToolsCalling=r;let g={};if(i)try{let e=await o.messages.query({agentId:d,groupId:f,threadId:p,topicId:m});for(let t of r){let n=e.find(e=>e.role===`tool`&&e.tool_call_id===t.id);n&&(g[t.id]=n.id)}}catch{}else{let e=(n.messages??[]).slice().reverse().find(e=>e.role===`assistant`&&e.id);if(!e)try{e=(await o.messages.query({agentId:d,groupId:f,threadId:p,topicId:m})).slice().reverse().find(e=>e.role===`assistant`)}catch{}if(!e)throw Error(`[request_human_approve] No assistant message found for intervention (op=${c})`);if(!d)throw Error(`[request_human_approve] Missing agentId for pending tool messages (op=${c})`);for(let t of r){let n=await o.messages.createToolMessage({agentId:d,content:``,groupId:f??e.groupId??void 0,parentId:e.id,plugin:t,pluginIntervention:{status:`pending`},role:`tool`,threadId:p,tool_call_id:t.id,topicId:m});g[t.id]=n.id}}return await o.stream.publishChunk({chunkType:`tools_calling`,stepIndex:l,toolMessageIds:g,toolsCalling:r}),{events:[{operationId:c,pendingToolsCalling:r,type:`human_approve_required`},{toolCalls:r,type:`tool_pending`}],newState:h}}})),Gn,Kn,qn,Jn,Yn,Xn,Zn,Qn,$n,er,tr,nr,rr=e((()=>{Gn=`Blocked by security/privacy.`,Kn=`blocked_by_security_privacy`,qn=`Tool execution was aborted by user.`,Jn=`user_aborted`,Yn=`User aborted operation with pending tool calls`,Xn=`tool_message_persist`,Zn=e=>{if(!e||typeof e!=`object`)return;let t=e.errorType;if(typeof t==`string`||typeof t==`number`)return String(t);let n=e.type;return typeof n==`string`||typeof n==`number`?String(n):(e instanceof Error?e.name:void 0)||void 0},Qn=e=>{if(e instanceof Error&&e.message)return e.message;if(typeof e==`string`&&e)return e;if(e&&typeof e==`object`){let t=e.message;if(typeof t==`string`&&t)return t}return`Unknown error`},$n=async(e,t)=>{let{stepIndex:n}=e.operation;if(e.transports.stream.publishError){await e.transports.stream.publishError({error:t,phase:Xn,stepIndex:n});return}await e.transports.stream.publishEvent({data:{error:Qn(t),errorType:Zn(t),phase:Xn},stepIndex:n,type:`error`})},er=(e,t)=>({messageCount:e.messages.length,sessionId:t,status:e.status,stepCount:e.stepCount+1}),tr=e=>async(t,n)=>{let{payload:r}=t,{operation:i,transports:a}=e,o=i.agentId??n.metadata?.agentId,s=i.groupId??n.metadata?.groupId,c=i.threadId??n.metadata?.threadId,l=i.topicId??n.metadata?.topicId,u=[],d=structuredClone(n),f=[],p=[];if(!o)throw Error(`[resolve_blocked_tools] Missing agentId for tool messages (op=${i.operationId})`);for(let t of r.toolsCalling){let n={content:Gn,error:Kn,executionTime:0,state:{type:`blocked`},success:!1};await a.stream.publishEvent({data:{executionTime:0,isSuccess:!1,attempts:0,maxAttempts:0,payload:{parentMessageId:r.parentMessageId,toolCalling:t},phase:`tool_execution`,result:n},stepIndex:i.stepIndex,type:`tool_end`});try{let e=await a.messages.createToolMessage({agentId:o,content:n.content,groupId:s,metadata:{toolExecutionTimeMs:0},parentId:r.parentMessageId,plugin:t,pluginError:n.error,pluginIntervention:{rejectedReason:Kn,status:`rejected`},pluginState:n.state,role:`tool`,threadId:c,tool_call_id:t.id,topicId:l});p.push(e.id)}catch(t){throw await $n(e,t),t}d.messages.push({content:n.content,role:`tool`,tool_call_id:t.id}),u.push({id:t.id,result:n,type:`tool_result`}),f.push({data:n,toolCallId:t.id})}return d.lastModified=new Date().toISOString(),{events:u,newState:d,nextContext:{payload:{parentMessageId:p.at(-1)??r.parentMessageId,toolCount:r.toolsCalling.length,toolResults:f},phase:`tools_batch_result`,session:{...er(d,i.operationId),eventCount:u.length}}}},nr=e=>async(t,n)=>{let{payload:r}=t,{operation:i,transports:a}=e,o=i.agentId??n.metadata?.agentId,s=i.groupId??n.metadata?.groupId,c=i.threadId??n.metadata?.threadId,l=i.topicId??n.metadata?.topicId,u=[];
8if(!o)throw Error(`[resolve_aborted_tools] Missing agentId for tool messages (op=${i.operationId})`);await a.stream.publishEvent({data:{parentMessageId:r.parentMessageId,phase:`tools_aborted`,toolsCalling:r.toolsCalling},stepIndex:i.stepIndex,type:`step_start`});let d=structuredClone(n);for(let t of r.toolsCalling){try{await a.messages.createToolMessage({agentId:o,content:qn,groupId:s,parentId:r.parentMessageId,plugin:t,pluginIntervention:{status:`aborted`},role:`tool`,threadId:c,tool_call_id:t.id,topicId:l})}catch(t){throw await $n(e,t),t}d.messages.push({content:qn,role:`tool`,tool_call_id:t.id})}return d.lastModified=new Date().toISOString(),d.status=`done`,await a.stream.publishEvent({data:{finalState:d,phase:`execution_complete`,reason:Jn,reasonDetail:Yn},stepIndex:i.stepIndex,type:`step_complete`}),u.push({finalState:d,reason:Jn,reasonDetail:Yn,type:`done`}),{events:u,newState:d}}})),ir,ar,or,sr,cr,lr,ur,dr,fr,pr,mr,hr=e((()=>{ae(),ir=(e,t)=>({messageCount:e.messages.length,sessionId:t,status:`running`,stepCount:e.stepCount+1}),ar=(e,t,n)=>({payload:{parentMessageId:n,result:{error:`Sub-agent calls cannot be triggered from within another sub-agent.`,success:!1,threadId:``}},phase:`sub_agent_result`,session:ir(e,t)}),or=(e,t,n,r)=>({payload:{parentMessageId:n,results:r.map(e=>({description:e.description,error:`Sub-agent calls cannot be triggered from within another sub-agent.`,success:!1,threadId:``}))},phase:`sub_agents_batch_result`,session:ir(e,t)}),sr=e=>e instanceof Error?e.message:typeof e==`string`?e:`Unknown error`,cr=async(e,t,n,r)=>{let i=e.operation.agentId??t.metadata?.agentId,a=r.targetAgentId??i,o=e.operation.topicId??t.metadata?.topicId;if(!i||!a||!o)return{error:`No valid context available`,success:!1,threadId:``};if(!e.transports.subAgent)return{error:`Sub-agent dispatch is not available.`,success:!1,threadId:``};try{let i=await e.transports.subAgent.execSubAgent({agentId:a,groupId:e.operation.groupId??t.metadata?.groupId??void 0,instruction:r.instruction,parentMessageId:n,parentOperationId:e.operation.operationId,timeout:r.timeout,title:r.description,topicId:o});return{...i.error&&{error:i.error},...i.result!==void 0&&{result:i.result},...i.status&&{status:i.status},success:i.success,threadId:i.threadId??``}}catch(e){return{error:sr(e),success:!1,threadId:``}}},lr=e=>{let{status:t,...n}=e;return n},ur=e=>{if(!e.status)return;if(e.success)return e.result??`Completed successfully.`;if(e.status===`cancelled`)return e.error===`Operation cancelled`?`Task was cancelled by user.`:`Task was cancelled`;if(e.status===`timed_out`)return e.error??`Task timed out`;let t=e.error??`Unknown error`;return e.threadId?`Task failed: ${t}`:`Task creation failed: ${t}`},dr=(e,t)=>t.map((t,n)=>{let r=e[n]?.description??`Task ${n+1}`,i=t.success?t.result??`Completed successfully.`:`Failed: ${t.error??`Unknown error`}`;return`${n+1}. ${r}\n${i}`}).join(`
9
10`),fr=(e,t)=>e.transports.messages.query({agentId:e.operation.agentId??t.metadata?.agentId,groupId:e.operation.groupId??t.metadata?.groupId??void 0,threadId:e.operation.threadId??t.metadata?.threadId,topicId:e.operation.topicId??t.metadata?.topicId}),pr=e=>async(t,n)=>{let{payload:r}=t,{parentMessageId:i,task:a}=r,o=[],{operationId:s}=e.operation;if(n.metadata?.isSubAgent===!0)return{events:o,newState:n,nextContext:ar(n,s,i)};let c=await cr(e,n,i,a),l=n;if(c.status){let t=ur(c);t!==void 0&&await e.transports.messages.update(i,{content:t}),l={...n,messages:await fr(e,n)}}return{events:o,newState:l,nextContext:{payload:{parentMessageId:i,result:lr(c)},phase:`sub_agent_result`,session:ir(l,s)}}},mr=e=>async(t,n)=>{let{payload:r}=t,{parentMessageId:i,tasks:a}=r,o=[],{operationId:s}=e.operation;if(n.metadata?.isSubAgent===!0)return{events:o,newState:n,nextContext:or(n,s,i,a)};let c=await w(a,t=>cr(e,n,i,t),{concurrency:15}),l=c.map(lr),u=c.length>0&&c.every(e=>e.status),d=n;return u&&(await e.transports.messages.update(i,{content:dr(a,l)}),d={...n,messages:await fr(e,n)}),{events:o,newState:d,nextContext:{payload:{parentMessageId:i,results:l},phase:`sub_agents_batch_result`,session:ir(d,s)}}}})),gr,_r,vr,yr,br,xr,Sr,Cr,wr,Tr,Er,Dr,Or,kr,Ar=e((()=>{gr=[`AgentRuntimeError`,`OllamaServiceUnavailable`,`ProviderBizError`,`StreamChunkError`],_r=[`Unauthorized`],vr=[`429`,`connection`,`econn`,`network`,`rate limit`,`timeout`,`timed out`,`temporarily unavailable`],yr=[`403`,`context window`,`api key`,`billing`,`forbidden`,`insufficient quota`,`invalid request`,`maximum context length`,`model not found`,`permission denied`,`payload`,`too many tokens`,`unauthorized`],br=(e,t)=>t.some(t=>e.includes(t)),xr=e=>{if(!(typeof e!=`string`||!e))return e.trim().toUpperCase().replaceAll(/[\s-]+/g,`_`)},Sr=e=>{if(typeof e==`string`)return e.trim()||void 0},Cr=e=>{let t=e.match(/\b([45]\d{2})\b/);if(!t)return;let n=Number(t[1]);return Number.isNaN(n)?void 0:n},wr=(...e)=>{for(let t of e)if(typeof t==`number`&&Number.isFinite(t))return t},Tr=e=>{if(typeof e==`string`){let t=e.toLowerCase();return{message:t,status:Cr(t)}}if(e instanceof Error){let t=e,n=(t.message||t.name||`unknown error`).toLowerCase();return{code:xr(t.code),errorType:Sr(t.errorType||t.type),message:n,status:typeof t.status==`number`?t.status:typeof t.statusCode==`number`?t.statusCode:wr(t.code)??Cr(n)}}if(e&&typeof e==`object`){let t=e,n=t.error,r=n?.error,i=(t.message||n?.message||r?.message||`unknown error`).toLowerCase();return{code:xr(t.code||n?.code||r?.code),errorType:Sr(t.errorType||t.type||n?.errorType||n?.type||r?.type),message:i,status:typeof t.status==`number`?t.status:typeof t.statusCode==`number`?t.statusCode:typeof n?.status==`number`?n.status:typeof r?.status==`number`?r.status:wr(t.code,n?.code,r?.code)??Cr(i)}}return{message:`unknown error`}},Er=e=>{let t=new Set(e.retryOverrides??gr),n=new Set,r=new Set(t);for(let i of e.errorCodeSpecs??[])i&&(t.has(i.code)||(i.retryable?r.add(i.co
10de):n.add(i.code)));for(let t of e.legacyStopErrorTypes??_r)n.add(t);return{retry:r,retryOverrides:t,stop:n}},Dr=(e={})=>{let{retry:t,stop:n}=Er(e);return({code:r,errorType:i,message:a,status:o})=>{if(i===`ProviderBizError`&&(o===400||o===422||a.includes(`invalid_request_error`)||a.includes(`invalid request`)||a.includes(`input_schema`)||a.includes(`field required`)||a.includes(`missing required`)))return`stop`;if(i){let r=e.getErrorCodeSpec?.(i)?.code??i;if(n.has(r))return`stop`;if(t.has(r))return`retry`}if(r){if(r.includes(`UNAUTHORIZED`)||r.includes(`FORBIDDEN`)||r.includes(`MODEL_NOT_FOUND`))return`stop`;if(r.includes(`RATE_LIMIT`)||r.includes(`TIMEOUT`))return`retry`}if(o!==void 0){if(o===401||o===403||o===400||o===404||o===409||o===422)return`stop`;if(o===408||o===425||o===429||o>=500)return`retry`}return br(a,yr)?`stop`:(br(a,vr),`retry`)}},Or=e=>{try{if(e instanceof Error&&typeof e.message==`string`&&e.message.length>0)return e.message;if(typeof e==`string`&&e.length>0)return e;if(e&&typeof e==`object`){let t=e;if(typeof t.message==`string`&&t.message.length>0)return t.message;let n=t.error?.message;if(typeof n==`string`&&n.length>0)return n}}catch{}return`unknown error`},kr=(e={})=>{let t=Dr(e);return e=>{try{let n=Tr(e);return{code:n.code||n.errorType,kind:t(n),message:n.message}}catch{return{kind:`stop`,message:Or(e)}}}},kr()})),jr,Mr,Nr,Pr,Fr=e((()=>{jr=`lobe-skills`,Mr=`lobe-activator`,Nr=e=>{if(e.role===`tool`)return[{apiName:e.plugin?.apiName,identifier:e.plugin?.identifier,state:e.pluginState}];let t=[],{children:n}=e;if(Array.isArray(n)){for(let e of n)if(Array.isArray(e?.tools))for(let n of e.tools)t.push({apiName:n?.apiName,identifier:n?.identifier,state:n?.result?.state})}let{compressedMessages:r}=e;if(Array.isArray(r))for(let e of r)t.push(...Nr(e));return t},Pr=e=>{let t=new Map;for(let n of e)for(let e of Nr(n))if(e.identifier===jr||e.identifier===Mr){if(e.apiName===`activateSkill`&&e.state?.name){let n=e.state.id,r=e.state.name,i=n??r;t.delete(i),t.set(i,{description:e.state.description,...n&&{id:n},name:r})}if(e.apiName===`activateTools`&&Array.isArray(e.state?.activatedSkills)){for(let n of e.state.activatedSkills)if(n.name){let e=n.id??n.name;t.delete(e),t.set(e,{description:n.description,...n.id&&{id:n.id},name:n.name})}}}return t.size>0?[...t.values()]:void 0}})),Ir=e((()=>{})),Lr,Rr=e((()=>{Lr=({activatedSkills:e,activatedToolIds:t,hasQueuedMessages:n,todos:r})=>({...e?.length&&{activatedSkills:e},...t?.length&&{activatedToolIds:t},...n&&{hasQueuedMessages:n},...r&&{todos:r}})})),zr=e((()=>{Ar(),Fr(),Ir(),fn(),Ut(),Rr(),Zt()})),Br,Vr,Hr,Ur,Wr,Gr,Kr,qr,Jr,Yr,Xr,Zr,Qr,$r,ei,ti,ni,ri,ii,ai,oi,si,ci,li,ui,di=e((()=>{Jt(),zr(),Br=`tool_execution`,Vr=`tool_message_persist`,Hr=2,Ur=new WeakSet,Wr=()=>new Date().toISOString(),Gr=e=>e.workRegistration?.type===`skill`?{...e,workRegistration:{...e.workRegistration,args:void 0,data:null}}:e,Kr=e=>(e&&typeof e==`object`&&Ur.add(e),e),qr=e=>!!e&&typeof e==`object`&&Ur.has(e),Jr=e=>{if(!e||typeof e!=`object`)return;let t=e.errorType;if(typeof t==`string`||typeof t==`number`)return String(t);let n=e.type;return typeof n==`string`||typeof n==`number`?String(n):(e instanceof Error?e.name:void 0)||void 0},Yr=e=>{if(e instanceof Error&&e.message)return e.message;if(typeof e==`string`&&e)return e;if(e&&typeof e==`object`){let t=e.message;if(typeof t==`string`&&t)return t}return`Unknown error`},Xr=e=>{let t=e.transports.tools;if(!t)throw Error(`ToolTransport is required for tool executors`);return t},Zr=e=>`${e.identifier}/${e.apiName}`,Qr=(e,t)=>e.operationToolSet?.sourceMap?.[t.identifier]??e.toolSourceMap?.[t.identifier],$r=e=>{try{if(typeof e.arguments==`string`){let t=JSON.parse(e.arguments);return t&&typeof t==`object`&&!Array.isArray(t)?t:{}}return e.arguments&&typeof e.arguments==`object`?e.arguments:{}}catch{return{}}},ei=e=>({...e.operationToolSet?.manifestMap??e.toolManifestMap,...Object.fromEntries((e.activatedStepTools??[]).filter(e=>e.manifest).map(e=>[e.id,e.manifest]))}),ti=(e,t)=>(e.usage?.tools?.byTool?.find(e=>e.name===t)?.calls??0)+1,ni=({host:e,mode:t,parentMessageId:n,reuseExistingMessage:r,state:i,stepContext:a,tool:o,toolMessageId:s})=>{let c=Zr(o),l=Qr(i,o),u=i.metadata?.agentConfig;return{activatedSkills:Pr(i.messages),agentId:e.operation.agentId??i.metadata?.agentId,assistantMessageId:n,callIndex:ti(i,c),effectiveManifestMap:ei(i),groupId:e.operation.groupId??i.metadata?.groupId,messageId:i.metadata?.sourceMessageId,mode:t,operationId:e.operation.operationId,parentMessageId:n,parsedArgs:$r(o),reuseExistingMessage:r,state:i,stepIndex:e.operation.stepIndex,stepContext:a,threadId:e.operation.threadId??i.metadata?.threadId,toolMessageId:s,toolName:c,toolResultMaxLength:u?.chatConfig?.toolResultMaxLength,toolSource:l,topicId:e.operation.topicId??i.metadata?.topicId,workspaceId:i.metadata?.workspaceId??e.operation.workspaceId}},ri=async(e,t,n)=>{let{stepIndex:r}=e.operation;if(e.transports.stream.publishError){await e.transports.stream.publishError({error:t,phase:n,stepIndex:r});return}await e.transports.stream.publishEvent({data:{error:Yr(t),errorType:Jr(t),phase:n},stepIndex:r,type:`error`})},ii=e=>{let t=e.state;return typeof t?.toolMessageId==`string`?t.toolMessageId:void 0},ai=async({host:e,instruction:t,reason:n,state:r,toolMessageIds:i,toolsCalling:a})=>{await e.transports.stream.publishChunk({chunkType:`tools_calling`,stepIndex:e.operation.stepIndex,...i&&Object.keys(i).length>0&&{toolMessageIds:i},toolsCalling:a});let o=Wr(),s=structuredClone(r);return s.lastModified=o,s.status=`waiting_for_async_tool`,s.interruption={canResume:!0,interruptedAt:o,...t&&{interruptedInstruction:t},reason:n},s.pendingToolsCalling=a,{events:[{canResume:!0,interruptedAt:o,reason:n,type:`interrupted`}],newState:s}},oi=async({host:e,parentMessageId:t,result:n,state:r,tool:i})=>{try{let a=e.operation.agentId??r.metadata?.agentId;if(!a)throw Error(`[call_tool] Missing agentId for tool message (op=${e.operation.operationId})`);return await e.transports.messages.createToolMessage({agentId:a,content:n.content,groupId:e.operation.groupId??r.metadata?.groupId??void 0,metadata:{toolExecutionTimeMs:n.executionTime??0},parentId:t,plugin:i,pluginError:n.error,pluginState:n.state,role:`tool`,threadId:e.operation.threadId??r.metadata?.threadId,tool_call_id:i.id,topicId:e.operation.topicId??r.metadata?.topicId})}catch(t){throw await ri(e,t,Vr),Kr(t)}
10},si=async({host:e,result:t,toolMessageId:n})=>{try{await e.transports.messages.updateToolMessage(n,{content:t.content,metadata:{toolExecutionTimeMs:t.executionTime??0},pluginError:t.error,pluginState:t.state})}catch(t){throw await ri(e,t,Vr),Kr(t)}},ci=({effectiveManifestMap:e,newState:t,results:n,stepCount:r})=>{let i=new Set((t.activatedStepTools??[]).map(e=>e.id));for(let a of n){let n=a.data.state?.activatedTools;if(!n?.length)continue;let o=n.filter(e=>!i.has(e.identifier)).map(t=>({activatedAtStep:r,id:t.identifier,manifest:e[t.identifier],source:`discovery`}));for(let e of o)i.add(e.id);o.length>0&&(t.activatedStepTools=[...t.activatedStepTools??[],...o])}},li=e=>async(t,n,r)=>{let{payload:i}=t,a=Xr(e),o=i.toolCalling,s=[],c=ni({host:e,mode:`single`,parentMessageId:i.parentMessageId,reuseExistingMessage:i.skipCreateToolMessage,state:n,stepContext:r?.stepContext,tool:o,toolMessageId:i.skipCreateToolMessage?i.parentMessageId:void 0});if(await e.transports.stream.publishEvent({data:i,stepIndex:e.operation.stepIndex,type:`tool_start`}),c.toolSource===`client`&&!a.canRunClientTools)return ai({host:e,instruction:t,reason:`client_tool_execution`,state:n,toolsCalling:[o]});try{let t=await a.run(o,c);if(t.interrupted)return{events:s,newState:n};if(t.result.deferred){let r=ii(t.result);return ai({host:e,reason:`async_tool`,state:n,toolMessageIds:r?{[o.id]:r}:void 0,toolsCalling:[o]})}let r=t.result,l=r.executionTime??0,u=r.success;await e.transports.stream.publishEvent({data:{executionTime:l,isSuccess:u,attempts:t.attempts,maxAttempts:(a.maxRetries??Hr)+1,payload:i,phase:Br,result:Gr(r)},stepIndex:e.operation.stepIndex,type:`tool_end`});let d;t.toolMessageId?(d=t.toolMessageId,t.resultPersisted||await si({host:e,result:r,toolMessageId:d})):i.skipCreateToolMessage?(d=i.parentMessageId,await si({host:e,result:r,toolMessageId:d})):d=(await oi({host:e,parentMessageId:i.parentMessageId,result:r,state:n,tool:o})).id;let f=structuredClone(n);t.resultPersisted?f.messages=await e.transports.messages.query({agentId:c.agentId,groupId:c.groupId,threadId:c.threadId,topicId:c.topicId}):f.messages.push({content:r.content,plugin:o,pluginState:r.state,role:`tool`,tool_call_id:o.id}),f.lastModified=Wr(),s.push({id:o.id,result:Gr(r),type:`tool_result`});let p=a.getCost?.(c.toolName)??0,{usage:m,cost:h}=Kt.accumulateTool({cost:f.cost,executionTime:l,success:u,toolCost:p,toolName:c.toolName,usage:f.usage});f.usage=m,h&&(f.cost=h),r.workRegistration&&await a.registerWork?.({intent:r.workRegistration,sourceMessageId:d,sourceToolCallId:o.id,sourceToolIdentifier:o.identifier,sourceToolName:o.apiName,state:{cost:f.cost,usage:f.usage}},f),ci({effectiveManifestMap:c.effectiveManifestMap,newState:f,results:[{data:r,executionTime:l,isSuccess:u,toolCall:o,toolCallId:o.id}],stepCount:n.stepCount});let g=r.state?.type,_=g===`execSubAgent`||g===`execSubAgents`;return r.stop&&!_?(f.status=`done`,{events:s,newState:f}):{events:s,newState:f,nextContext:{payload:{data:r,executionTime:l,isSuccess:u,parentMessageId:d,..._&&{stop:!0},toolCall:o,toolCallId:o.id},phase:`tool_result`,session:{eventCount:s.length,messageCount:f.messages.length,sessionId:e.operation.operationId,status:`running`,stepCount:n.stepCount+1},stepUsage:{cost:p,toolName:c.toolName,unitPrice:p,usageCount:1}}}}catch(t){if(qr(t))throw t;return await a.handleError?.(o,t,c),await ri(e,t,Br),s.push({error:t,type:`error`}),{events:s,newState:n}}},ui=e=>async(t,n,r)=>{let{payload:i}=t,a=i.parentMessageId,o=i.toolsCalling,s=Xr(e),c=[],l=[],u=[];for(let e of o)Qr(n,e)===`client`&&!s.canRunClientTools?l.push(e):u.push(e);if(l.length>0&&u.length===0)return ai({host:e,reason:`client_tool_execution`,state:n,toolsCalling:l});let d=[],f=[],p=[],m={},h=u.length>0?u:o;await Promise.all(h.map(async t=>{let i=ni({host:e,mode:`batch`,parentMessageId:a,state:n,stepContext:r?.stepContext,tool:t});await e.transports.stream.publishEvent({data:{parentMessageId:a,toolCalling:t},stepIndex:e.operation.stepIndex,type:`tool_start`});try{let r=await s.run(t,i);if(r.result.deferred){p.push(t);let e=ii(r.result);e&&(m[t.id]=e);return}let o=r.result,l=o.executionTime??0,u=o.success;await e.transports.stream.publishEvent({data:{executionTime:l,isSuccess:u,attempts:r.attempts,maxAttempts:(s.maxRetries??Hr)+1,payload:{parentMessageId:a,toolCalling:t},phase:Br,result:Gr(o)},stepIndex:e.operation.stepIndex,type:`tool_end`});let h;r.toolMessageId?(h=r.toolMessageId,r.resultPersisted||await si({host:e,result:o,toolMessageId:h})):h=(await oi({host:e,parentMessageId:a,result:o,state:n,tool:t})).id,d.push(h);let g={data:o,executionTime:l,isSuccess:u,sourceMessageId:h,toolCall:t,toolCallId:t.id,workRegistration:o.workRegistration};c.push({id:t.id,result:Gr(o),type:`tool_result`}),g.usageParams={executionTime:l,success:u,toolCost:s.getCost?.(i.toolName)??0,toolName:i.toolName},f.push(g)}catch(n){if(qr(n))throw n;await s.handleError?.(t,n,i),await ri(e,n,Br),c.push({error:n,type:`error`})}}));let g=structuredClone(n),_=[];for(let e of f){if(!e.usageParams)continue;let{usage:t,cost:n}=Kt.accumulateTool({...e.usageParams,cost:g.cost,usage:g.usage});
10g.usage=t,n&&(g.cost=n),e.workRegistration&&_.push({intent:e.workRegistration,sourceMessageId:e.sourceMessageId,sourceToolCallId:e.toolCallId,sourceToolIdentifier:e.toolCall.identifier,sourceToolName:e.toolCall.apiName,state:{cost:g.cost,usage:g.usage}})}_.length>0&&s.registerWork&&await Promise.all(_.map(e=>s.registerWork(e,g))),ci({effectiveManifestMap:ei(n),newState:g,results:f,stepCount:n.stepCount}),g.messages=await e.transports.messages.query({agentId:n.metadata?.agentId,groupId:n.metadata?.groupId,threadId:n.metadata?.threadId,topicId:n.metadata?.topicId},{flatten:!0,resolveAssetUrls:!0}),g.lastModified=Wr();let v=[...p,...l];if(v.length>0){let t=await ai({host:e,reason:p.length>0?`async_tool`:`client_tool_execution`,state:g,toolMessageIds:m,toolsCalling:v});return{events:[...c,...t.events],newState:t.newState}}return{events:c,newState:g,nextContext:{payload:{parentMessageId:d.at(-1)??a,toolCount:o.length,toolResults:f},phase:`tools_batch_result`,session:{eventCount:c.length,messageCount:g.messages.length,sessionId:e.operation.operationId,status:`running`,stepCount:n.stepCount+1}}}}})),fi,pi,mi=e((()=>{In(),Bn(),Hn(),Wn(),rr(),hr(),di(),fi={call_llm:Fn,call_tool:li,call_tools_batch:ui,compress_context:zn,exec_sub_agent:pr,exec_sub_agents:mr,finish:Vn,request_human_approve:Un,resolve_aborted_tools:nr,resolve_blocked_tools:tr},pi=e=>{let t=typeof e==`function`?e:()=>e;return Object.fromEntries(Object.entries(fi).map(([e,n])=>[e,(e,r,i)=>n(t(e,r,i))(e,r,i)]))}})),hi=e((()=>{In(),Cn(),Bn(),Hn(),Wn(),mi(),rr(),hr(),di()})),gi,_i=e((()=>{gi=class{supervisor;config;executors;operationId;getOperation;constructor(e,t){this.supervisor=e,this.config=t,this.operationId=t.operationId,this.getOperation=t.getOperation,this.executors=t.executors}async step(e,t){let n=structuredClone(e);if(n.stepCount=(n.stepCount||0)+1,n.lastModified=new Date().toISOString(),n.maxSteps&&n.stepCount>n.maxSteps)return n.status=`done`,{events:[{reason:`Maximum steps exceeded: ${n.maxSteps}`,type:`done`}],newState:n,result:void 0};let r=await this.supervisor.decide(t,n);if(r.type===`finish`)return n.status=`done`,{events:[{reason:r.reason,type:`done`}],newState:n,result:void 0};let i=this.executors[r.type];if(!i)throw Error(`No executor found for instruction type: ${r.type}`);let a=await i(r,n);return a.newState.stepCount=n.stepCount,a.newState.lastModified=n.lastModified,a}async run(e,t){let n=e,r={payload:{groupId:t},type:`init`};for(;r;){let e=await this.step(n,r);if(n=e.newState,r=e.result,this.getAbortController()?.signal.aborted){n.status=`done`;break}}return n}getContext(){if(!(!this.operationId||!this.getOperation))return this.getOperation(this.operationId).context}getAbortController(){if(!(!this.operationId||!this.getOperation))return this.getOperation(this.operationId).abortController}static createInitialState(e){let t=new Date().toISOString();return{cost:{calculatedAt:t,currency:`USD`,llm:{byModel:[],currency:`USD`,total:0},tools:{byTool:[],currency:`USD`,total:0},total:0},createdAt:t,lastModified:t,messages:[],status:`idle`,stepCount:0,toolManifestMap:{},usage:{humanInteraction:{approvalRequests:0,promptRequests:0,selectRequests:0,totalWaitingTimeMs:0},llm:{apiCalls:0,processingTimeMs:0,tokens:{input:0,output:0,total:0}},tools:{byTool:[],totalCalls:0,totalTimeMs:0}},...e||{operationId:``}}}}})),vi,yi=e((()=>{vi=class{config;round=0;skipCallSupervisor=!1;constructor(e){this.config=e}async decide(e,t){switch(e.type){case`init`:return this.round=0,this.skipCallSupervisor=!1,{payload:{groupId:e.payload.groupId,round:this.round,supervisorAgentId:this.config.supervisorAgentId},type:`call_supervisor`};case`supervisor_decided`:{let{decision:t,params:n,skipCallSupervisor:r}=e.payload;switch(this.skipCallSupervisor=r??!1,t){case`speak`:return{payload:{agentId:n.agentId,instruction:n.instruction},type:`call_agent`};case`broadcast`:return{payload:{agentIds:n.agentIds,disableTools:!0,instruction:n.instruction,toolMessageId:n.toolMessageId},type:`parallel_call_agents`};case`delegate`:return{payload:{agentId:n.agentId,reason:n.reason},type:`delegate`};case`execute_task`:{let e={agentId:n.agentId,instruction:n.instruction,timeout:n.timeout,title:n.title,toolMessageId:n.toolMessageId};return n.runInClient?{payload:e,type:`exec_client_async_task`}:{payload:e,type:`exec_async_task`}}case`execute_tasks`:return{payload:{tasks:n.tasks,toolMessageId:n.toolMessageId},type:`batch_exec_async_tasks`};case`finish`:return{reason:n.reason||`supervisor_finished`,type:`finish`};default:return{reason:`unknown_decision: ${t}`,type:`finish`}}}case`agent_spoke`:case`agents_broadcasted`:case`task_completed`:case`tasks_completed`:return this.skipCallSupervisor?{reason:`skip_call_supervisor`,type:`finish`}:(this.round++,this.round>=this.config.maxRounds?{reason:`max_rounds_exceeded`,type:`finish`}:{payload:{round:this.round,supervisorAgentId:this.config.supervisorAgentId},type:`call_supervisor`});case`delegated`:return{reason:`delegated_to_${e.payload.agentId}`,type:`finish`};default:return{reason:`unknown_result_type`,type:`finish`}}}}})),bi=e((()=>{})),xi=e((()=>{_i(),yi(),bi()})),Si=e((()=>{})),Ci=e((()=>{})),wi=e((()=>{})),Ti=e((()=>{})),Ei=e((()=>{})),Di=e((()=>{})),Oi=e((()=>{})),ki=e((()=>{})),Ai=e((()=>{})),ji=e((()=>{})),Mi=e((()=>{})),Ni=e((()=>{Si(),Ci(),wi(),Ti(),Ei(),Di(),Oi(),ki(),Ai(),ji(),Mi()})),Pi=e((()=>{})),Fi=e((()=>{})),Ii=e((()=>{})),Li=e((()=>{})),Ri=e((()=>{})),zi=e((()=>{})),Bi=e((()=>{})),Vi=e((()=>{Pi(),Fi(),Ii(),Li(),Ri(),zi(),Bi()})),Hi=e((()=>{nn(),Bt(),Jt(),hi(),xi(),Ni(),Vi(),zr()})),Ui,Wi=e((()=>{Ui=`You have access to a Tools Activator that allows you to dynamically activate tools on demand. Not all tools are loaded by default — you must activate them before use.
11
12<how_it_works>
131. Available tools are listed in the \`<available_tools>\` section of your system prompt
142. Each entry shows the tool's identifier, name, and description
153. To use a tool, first call \`activateTools\` with the tool identifiers you need
164. After activation, the tool's full API schemas become available as native function calls in subsequent turns
175. You can activate multiple tools at once by passing multiple identifiers
186. Include the required concise \`reason\` field when calling \`activateTools\` so the user understands why activation is needed
197. To activate a skill, use the \`activateSkill\` tool from lobe-skills — it returns instructions to follow
20</how_it_works>
21
22<tool_selection_guidelines>
23- **activateTools**: Call this when you need to use a tool that isn't yet activated
24  - Review the \`<available_tools>\` list to find relevant tools for the user's task
25  - Provide an array of tool identifiers to activate
26  - Provide the required concise \`reason\` field explaining why those tools are needed for the current task
27  - After activation, the tools' APIs will be available for you to call directly
28  - Tools that are already active will be noted in the response
29  - If an identifier is not found, it will be reported in the response
30- **activateSkill** (provided by lobe-skills): Use this when the user's task matches one of the available skills
31  - **IMPORTANT**: If a skill's content is already provided in \`<selected_skill_context>\` within the user message, do NOT call activateSkill for that skill — its instructions are already loaded and ready to use
32</tool_selection_guidelines>
33
34<skill_store_discovery>
35**CRITICAL: Always activate \`lobe-skill-store\` FIRST when ANY of the following conditions are met:**
36
37**Trigger keywords/patterns (MUST activate lobe-skill-store immediately):**
38- User mentions: "SKILL.md", "LobeHub Skills", "skill store", "install skill", "search skill"
39- User provides a GitHub link to install a skill (e.g., github.com/xxx/xxx containing SKILL.md)
40- User mentions installing from LobeHub marketplace
41- User provides LobeHub skill URLs like: \`https://lobehub.com/skills/{identifier}/skill.md\` → extract identifier and use \`importFromMarket\`
42- User provides instructions like: "curl https://lobehub.com/skills/..." → extract identifier from URL, use \`importFromMarket\`
43- User asks to "follow instructions to set up/install a skill"
44- User's task involves a specialized domain (e.g., creating presentations/PPT, generating PDFs, charts, diagrams) and no matching tool exists
45
46**Decision flow:**
471. **If ANY trigger condition above is met** → Immediately activate \`lobe-skill-store\`
482. **For LobeHub skill URLs** (e.g., \`https://lobehub.com/skills/{identifier}/skill.md\`):
49   - Extract the identifier from the URL path (the part between \`/skills/\` and \`/skill.md\`)
50   - Use \`importFromMarket\` with that identifier directly (NOT \`importSkill\`)
51   - Example: \`lobehub.com/skills/openclaw-openclaw-github/skill.md\` → identifier is \`openclaw-openclaw-github\`
523. For GitHub repository URLs → use \`importSkill\` with type "url"
534. For marketplace searches → use \`searchSkill\` then \`importFromMarket\`
545. Check \`<available_tools>\` for other relevant tools → if found, use \`activateTools\`
556. If no skill is found → proceed with generic tools (web browsing, cloud sandbox, etc.)
56
57**Important:**
58- Do NOT manually curl/fetch SKILL.md files or try to parse them yourself
59- For \`lobehub.com/skills/xxx/skill.md\` URLs, ALWAYS extract the identifier and use \`importFromMarket\`, NOT \`importSkill\`
60- \`importSkill\` is only for GitHub repository URLs or ZIP packages, not for lobehub.com skill URLs
61</skill_store_discovery>
62
63<credentials_management>
64**CRITICAL: Activate \`lobe-creds\` when ANY of the following conditions are met:**
65
66**Trigger conditions (MUST activate lobe-creds immediately):**
67- User needs to authenticate with a third-party service (OAuth, API keys, tokens)
68- User mentions: "API key", "access token", "credentials", "authenticate", "login to service"
69- Task requires environment variables (e.g., \`OPENAI_API_KEY\`, \`GITHUB_TOKEN\`)
70- User wants to store or manage sensitive information securely
71- Sandbox code execution requires credentials/secrets to be injected
72- User asks to connect to services like GitHub, Linear, Microsoft, Notion, Twitter, etc.
73- User wants to use, open, connect, or interact with a third-party integration service
74  (e.g., Notion, Slack, Google Drive, Gmail, Airtable, Jira, Figma, HubSpot,
75   Salesforce, Dropbox, ClickUp, Confluence, Supabase, WhatsApp, YouTube,
76   Zendesk, Cal.com, OneDrive, Outlook Mail, Google Sheets, Google Docs)
77- User says things like "help me use Notion", "connect my Slack", "open Google Drive",
78  "I want to use Jira", "set up Airtable" — these are third-party OAuth services
79
80**Decision flow:**
811. **If ANY trigger condition above is met** → Immediately activate \`lobe-creds\`
822. Check if the required credential already exists using the credentials list in context
833. If credential exists → use \`getPlaintextCred\` or \`injectCredsToSandbox\` (for sandbox execution)
844. If credential doesn't exist:
85   - For LobeHub OAuth services (GitHub, Linear, Microsoft, Notion, Twitter) → use \`initiateOAuthConnect\`
86   - For Composio-managed services (Slack, Google Drive, Airtable, Jira, etc.)
87     → use \`connectComposioService\` after activating \`lobe-creds\`. The full list of
88     available Composio services is shown in \`<composio_integrations>\` inside the
89     lobe-creds system prompt.
90   - For API keys/tokens → guide user to save with \`saveCreds\`
915. For sandbox code that needs credentials → use \`injectCredsToSandbox\` to inject them as environment variables
92
93**Important:**
94- Never ask users to paste API keys directly in chat — always use \`lobe-creds\` to store them securely
95
96**Credential Usage by Runtime (sandbox mode: {{sandbox_enabled}}):**
97
98When sandbox mode is true (\`lobe-cloud-sandbox\` present, \`injectCredsToSandbox\` available):
99- Environment-based credentials (oauth, kv-env, kv-header) → \`~/.creds/env\` — use \`runCommand\` with \`bash -c "source ~/.creds/env && your_command"\`
100- File-based credentials → \`~/.creds/files/{key}/{filename}\` — use file path directly in your code
101
102When sandbox mode is false (\`lobe-cloud-sandbox\` does not exist in this session — do not look for it or offer to activate it):
103- Use \`getPlaintextCred\` to retrieve values, then pass as inline env vars in \`runCommand\`
104- Example: \`runCommand({ command: "GITHUB_TOKEN='xxx' gh repo list" })\`
105- File credentials: use \`getPlaintextCred\` to get the file path from the response state
106</credentials_management>
107
108<best_practices>
109- **IMPORTANT: Plan ahead and activate all needed tools upfront in a single call.** Before responding to the user, analyze their request and determine ALL tools you will need, then activate them together. Do NOT activate tools incrementally during a multi-step task.
110- **SKILL-FIRST: Any mention of skills, SKILL.md, GitHub skill links, or LobeHub marketplace → activate \`lobe-skill-store\` FIRST, no exceptions.**
111- **CREDS-FIRST: Any need for authentication, API keys, OAuth, tokens, or env variables → activate \`lobe-creds\` FIRST to manage credentials securely.**
112- Check the \`<available_tools>\` list before activating tools
113- For specialized tasks, search the Skill Marketplace first — a dedicated skill is almost always better than a generic approach
114- Only activate tools that are relevant to the user's current request
115- After activation, use the tools' APIs directly — no need to call activateTools again for the same tools
116</best_practices>
117`})),Gi,Ki,qi=e((()=>{Gi=`lobe-activator`,Ki={activateSkill:`activateSkill`,activateTools:`activateTools`}})),Ji,Yi=e((()=>{Wi(),qi(),Ji={api:[{description:`Activate tools from the <available_tools> list so their full API schemas become available for use. Call this before using any tool that is not yet activated. You can activate multiple tools at once.`,humanIntervention:`required`,name:Ki.activateTools,parameters:{properties:{identifiers:{description:`Array of tool identifiers to activate. Use the identifiers from the <available_tools> list.`,items:{type:`string`},type:`array`},reason:{description:`A concise explanation shown to the user for why these tools need to be activated.`,type:`string`}},required:[`identifiers`,`reason`],type:`object`}}],identifier:Gi,meta:{avatar:`🔧`,description:`Discover and activate tools`,title:`Tools Activator`},systemRole:Ui,type:`builtin`}})),Xi=e((()=>{Yi(),Wi(),qi()})),Zi,Qi,$i,R,ea=e((()=>{m(),Zi=async e=>p(e.map(e=>e.content).join(``)),Qi=(e,t)=>{let n=e.find(e=>e.id===t);if(n)return n;for(let n of e)if(n.role===`agentCouncil`&&n.members){let e=n.members.find(e=>e.id===t);if(e)return e}},$i=(e,t)=>{if(!t.enableHistoryCount||t.historyCount===void 0)return e;let n=t.includeNewUserMessage?t.historyCount+1:t.historyCount;return n<=0?[]:e.slice(-n)},R={getMessageById:Qi,getMessagesTokenCount:Zi,getSlicedMessages:$i}})),ta,na,z,ra,ia,aa,oa,sa,ca,la,ua,da,fa,pa,ma,ha,ga,_a,va,B,ya=e((()=>{Hi(),Xi(),ea(),D(),ta=e=>E({agentId:e.activeAgentId,groupId:e.activeGroupId,threadId:e.activeThreadI
117d,topicId:e.activeTopicId}),na=e=>t=>t.dbMessagesMap[e]||[],z=e=>e.activeAgentId?na(ta(e))(e):[],ra=e=>t=>{for(let n of Object.values(t.dbMessagesMap)){let t=R.getMessageById(n,e);if(t)return t}},ia=e=>t=>z(t).find(t=>t.tool_call_id===e),aa=e=>t=>ra(e)(t)?.traceId,oa=e=>z(e).at(-1),sa=e=>{let t=z(e);for(let e=t.length-1;e>=0;--e){let n=t[e];if(n.role===`user`)return n}},ca=e=>z(e).filter(e=>e.role===`tool`),la=e=>z(e).filter(e=>e.role===`user`),ua=e=>la(e).filter(e=>e.fileList&&e.fileList.length>0).flatMap(e=>e.fileList).filter(e=>!!e&&!e.inaccessible),da=e=>t=>z(t).filter(t=>t.threadId===e).length,fa=e=>!!e.dbMessagesMap[ta(e)],pa=e=>{let t=e.activeTopicId,n=E({agentId:`inbox`,topicId:t});return e.dbMessagesMap[n]||[]},ma=e=>{let t=new Set;for(let n of e)if(n.role===`tool`&&n.plugin?.identifier===`lobe-activator`&&n.pluginState?.activatedTools){let e=n.pluginState.activatedTools;if(Array.isArray(e))for(let n of e)n.identifier&&t.add(n.identifier)}return t.size>0?[...t]:void 0},ha=e=>Pr(e),ga=e=>{for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.role===`tool`&&n.pluginState?.todos){let e=n.pluginState.todos;if(typeof e==`object`&&`items`in e&&Array.isArray(e.items))return{items:e.items,updatedAt:e.updatedAt||new Date().toISOString()};if(Array.isArray(e))return{items:e,updatedAt:new Date().toISOString()}}}},_a=e=>{let t=-1;for(let n=e.length-1;n>=0;n--)if(e[n].role===`user`){t=n;break}return ga(t>=0?e.slice(t+1):e)},va=e=>ga(z(e)),B={activeDbMessages:z,countDbMessagesByThreadId:da,currentDbChatKey:ta,dbToolMessages:ca,dbUserFiles:ua,dbUserMessages:la,getActiveTodos:va,getDbMessageById:ra,getDbMessageByToolCallId:ia,getDbMessagesByKey:na,getTraceIdByDbMessageId:aa,inboxActiveTopicDbMessages:pa,isCurrentDbChatLoaded:fa,latestDbMessage:oa,latestUserMessage:sa,selectActivatedSkillsFromMessages:ha,selectActivatedToolIdsFromMessages:ma,selectCurrentTurnTodosFromMessages:_a,selectTodosFromMessages:ga}})),ba,xa,V,Sa,Ca,wa,Ta,Ea,Da,Oa,ka,Aa,ja,Ma,Na,Pa,Fa,Ia,La,Ra,za,Ba,H,Va=e((()=>{ee(),ie(),S(),ea(),D(),ba=e=>E({agentId:e.activeAgentId,groupId:e.activeGroupId,threadId:e.activeThreadId,topicId:e.activeTopicId}),xa=e=>t=>t.messagesMap[e]||[],V=e=>e.activeAgentId?xa(ba(e))(e):[],Sa=e=>t=>R.getMessageById(V(t),e),Ca=e=>{let t=V(e);if(t.length!==0)return t.at(-1)?.id},wa=(e,t)=>{if(!e.activeThreadId)return t.filter(e=>!e.threadId);let n=e.threadMaps[e.activeTopicId]?.find(t=>t.id===e.activeThreadId);if(!n)return t.filter(e=>!e.threadId);let r=t.findIndex(e=>e.id===n.sourceMessageId);return[...t.slice(0,r+1),...t.filter(t=>t.threadId===e.activeThreadId)]},Ta=e=>wa(e,V(e)),Ea=e=>Ta(e).map(e=>e.id),Da=e=>wa(e,V(e)),Oa=e=>{let t=Da(e),n=C.enableHistoryCount(x.getState()),r=C.historyCount(x.getState());return R.getSlicedMessages(t,{enableHistoryCount:n,historyCount:r})},ka=e=>Oa(e).map(e=>e.content).join(``),Aa=e=>Da(e).at(-1)?.reasoning?.content,ja=e=>!e.messagesInit,Ma=e=>!!e.messagesMap[ba(e)],Na=e=>e.activeAgentId===`inbox`?V(e).length===0:!1,Pa=e=>t=>e?V(t).filter(t=>t.role===`user`&&t.targetId===e||t.role===`assistant`&&t.agentId===e&&t.targetId===`user`):[],Fa=e=>t=>Pa(e)(t).map(e=>e.id),Ia=e=>t=>{let n=Sa(e)(t);if(!n||n.role!==`assistantGroup`||!n.children||n.children.length===0)return;let r=n.children.at(-1);if(r&&(!r.tools||r.tools.length===0))return r.content?r:void 0},La=e=>{if(e)return e.id},Ra=e=>{if(e)return e.children&&e.children.length>0?La(e.children.at(-1)):e.tools&&e.tools.length>0?e.tools.at(-1)?.result_msg_id:e.role===`compressedGroup`&&`lastMessageId`in e?e.lastMessageId:e.id},za=e=>t=>Ra(Sa(e)(t)),Ba=e=>{let t=e.activeTopicId,n=E({agentId:y,topicId:t});return e.messagesMap[n]||[]},H={activeDisplayMessages:V,currentChatLoadingState:ja,currentDisplayChatKey:ba,findLastMessageId:za,getDisplayMessageById:Sa,getDisplayMessagesByKey:xa,getGroupLatestMessageWithoutTools:Ia,getThreadMessageIDs:Fa,getThreadMessages:Pa,inboxActiveTopicDisplayMessages:Ba,isCurrentDisplayChatLoaded:Ma,lastDisplayMessageId:Ca,mainAIChats:Da,mainAIChatsMessageString:ka,mainAIChatsWithHistoryConfig:Oa,mainAILatestMessageReasoningContent:Aa,mainDisplayChatIDs:Ea,mainDisplayChats:Ta,showInboxWelcome:Na}})),Ha,Ua,Wa,Ga=e((()=>{ya(),Va(),Ha=H.currentDisplayChatKey,Ua=H.mainDisplayChatIDs,Wa={activeBaseChats:H.activeDisplayMessages,countMessagesByThreadId:B.countDbMessagesByThreadId,currentChatKey:H.currentDisplayChatKey,currentChatLoadingState:H.currentChatLoadingState,currentToolMessages:B.dbToolMessages,currentUserFiles:e=>B.dbUserFiles(e),getBaseChatsByKey:H.getDisplayMessagesByKey,getMessageById:H.getDisplayMessageById,getThreadMessageIDs:H.getThreadMessageIDs,getThreadMessages:H.getThreadMessages,getTraceIdByMessageId:B.getTraceIdByDbMessageId,inboxActiveTopicMessages:H.inboxActiveTopicDisplayMessages,isCurrentChatLoaded:H.isCurrentDisplayChatLoaded,latestMessage:B.latestDbMessage,mainAIChats:H.mainAIChats,mainAIChatsMessageString:H.mainAIChatsMessageString,mainAIChatsWithHistoryConfig:H.mainAIChatsWithHistoryConfig,mainAILatestMessageReasoningContent:H.mainAILatestMessageReasoningContent,mainDisplayChatIDs:H.mainDisplayChatIDs,mainDisplayChats:H.mainDisplayChats,showInboxWelcome:H.showInboxWelcome}})),Ka,qa,Ja,Ya,Xa,Za,Qa,$a,eo,to,no,ro,io,ao,oo=e((()=>{gt(),ya(),Va(),Ka=e=>t=>t.messageEditingIds.includes(e),qa=e=>t=>I.isMessageProcessing(e)(t),Ja=e=>t=>I.isMessageRegenerating(e)(t),Ya=e=>t=>I.isMessageContinuing(e)(t),Xa=e=>t=>I.isMessageGenerating(e)(t),Za=e=>t=>I.isMessageInReasoning(e)(t),Qa=e=>t=>I.isMessageCreating(e)(t),$a=e=>t=>Sa(e)(t)?.metadata?.collapsed??!1,eo=e=>t=>I.isMessageInToolCalling(e)(t),to=(e,t)=>n=>{let r=n.toolCallingStreamIds[e];return r?r[t]:!1},no=(e,t)=>n=>{let r=to(e,t)(n),i=I.isMessageInToolCalling(e)(n);return r||i},ro=(e,t,n)=>r=>{let i=ia(n)(r)?.id,a=to(e,t)(r),o=i?eo(i)(r):!0;return a||o},io=e=>e.isCreatingMessage,ao={isCreatingMessage:io,isInToolsCalling:no,isMessageCollapsed:$a,isMessageContinuing:Ya,isMessageCreating:Qa,isMessageEditing:Ka,isMessageGenerating:Xa,isMessageInChatReasoning:Za,isMessageLoading:qa,isMessageRegenerating:Ja,isPluginApiInvoking:eo,isToolApiNameShining:ro,isToolCallStreaming:to}})),so=e((()=>{Ga(),oo()})),co,lo,uo,fo,po,U,mo,ho,go,_o,vo,yo,bo,xo,So,Co,wo,To,Eo,Do,Oo,ko,Ao=e((()=>{_(),co=t(r()),lo=t(o()),uo=t(s()),co.default.extend(lo.default),co.default.extend(uo.default),fo=e=>{let t=(0,co.default)(e),n=(0,co.default)();if(t.isToday())return`today`;if(t.isYesterday())return`yesterday`;let r=n.subtract(7,`day`);return t.isAfter(r)&&!t.isToday()&&!t.isYesterday()?`week`:t.month()===n.month()&&t.year()===n.year()?`month`:t.year()===n.year()?`${t.year()}-${(t.month()+1).toString().padStart(2,`0`)}`:`${t.year()}`},po=e=>{let t=new Map([[`today`,0],[`yesterday`,1],[`week`,2],[`month`,3]]);return e.sort((e,n)=>{let r=t.get(e.id)??2**53-1,i=t.get(n.id)??2**53-1;return r!==2**53-1||i!==2**53-1?r-i:n.id.localeCompare(e.id)})},U=(e,t)=>t===`updatedAt`?e.sortUpdatedAt??e.updatedAt:e.createdAt,mo=(e,t)=>{if(!e.length)return[];let n=[...e].sort((e,n)=>U(n,t)-U(e,t)),r=new Map;for(let e of n){let n=fo(U(e,t)),i=r.get(n);i?i.push(e):r.set(n,[e])}return po(Array.from(r.entries()).map(([e,t])=>({children:t,id:e})))},ho=e=>mo(e,`createdAt`),go=e=>
117mo(e,`updatedAt`),_o=`no-project`,vo=`project:`,yo=e=>e.split(/[/\\]+/).filter(Boolean).at(-1)||e,bo=e=>e.trim().replace(/[/\\]+$/,``),xo=e=>{if(e)return bo(e)||void 0},So=e=>xo(c(e?.workingDirectoryConfig??e?.workingDirectory)),Co=e=>xo(f(e?.workingDirectoryConfig??e?.workingDirectory)),wo=e=>So(e.metadata),To=e=>Co(e.metadata),Eo=(e,t)=>{if(!e.length)return[];let n=new Map;for(let t of e){let e=wo(t)??``,r=e?`${vo}${e}`:_o,i=n.get(r);i?i.children.push(t):n.set(r,{children:[t],path:e})}for(let e of n.values())e.children.sort((e,n)=>U(n,t)-U(e,t));return Array.from(n.entries()).map(([e,{children:t,path:n}])=>({children:t,id:e,title:e===_o?void 0:yo(n)})).sort((e,n)=>{if(e.id===_o)return 1;if(n.id===_o)return-1;let r=e.children[0]?U(e.children[0],t):0;return(n.children[0]?U(n.children[0],t):0)-r})},Do=[`pending`,`running`,`scheduled`,`active`,`paused`,`completed`,`archived`],Oo=(e,t)=>{if(e.status===`waitingForHuman`||e.status===`failed`||e.status===`unread`)return`pending`;if(t?.has(e.id)||e.status===`running`)return`running`;if(e.status===`scheduled`)return`scheduled`;let n=e.status??`active`;return n===`paused`||n===`completed`||n===`archived`?n:`active`},ko=(e,t,n)=>{if(!e.length)return[];let r=new Map;for(let t of e){let e=Oo(t,n),i=r.get(e);i?i.push(t):r.set(e,[t])}for(let e of r.values())e.sort((e,n)=>U(n,t)-U(e,t));return Do.filter(e=>r.has(e)).map(e=>({children:r.get(e),id:e}))}})),W,G,K,q,jo,Mo,No,Po,Fo,Io,Lo,Ro,zo,Bo,Vo,Ho,Uo,Wo,Go,Ko,qo,Jo,Yo,Xo,Zo,Qo,$o,es,ts,ns,rs,is,as,os,ss,cs,ls,us,ds=e((()=>{re(),_(),a(),Ao(),le(),gt(),W=e=>{let t=O({agentId:e.activeAgentId,groupId:e.activeGroupId});return e.topicDataMap[t]},G=e=>W(e)?.items,K=e=>{let t=G(e);if(t)return t.filter(e=>e.trigger!==`cron`)},q=e=>G(e)?.find(t=>t.id===e.activeTopicId),jo=e=>e.searchTopics,Mo=e=>K(e),No=e=>K(e)?.filter(e=>!e.favorite)||[],Po=e=>K(e)?.length||0,Fo=e=>W(e)?.total||0,Io=e=>t=>G(t)?.find(t=>t.id===e),Lo=e=>t=>{let n=O({agentId:e});return t.topicDataMap[n]?.items},Ro=e=>{let t=q(e);if(t)return{content:t.historySummary||``,model:t.metadata?.model||``,provider:t.metadata?.provider||``}},zo=e=>q(e)?.metadata,Bo=e=>{if(!e)return;let t=e.metadata;return t?.repos?.[0]??f(t?.workingDirectoryConfig??t?.workingDirectory)},Vo=e=>t=>Bo(e?Io(e)(t):q(t)),Ho=e=>Bo(q(e)),Uo=e=>e.creatingTopic,Wo=e=>!e.activeTopicId&&I.isInputLoadingByContext({agentId:e.activeAgentId,groupId:e.activeGroupId,threadId:e.activeThreadId,topicId:e.activeTopicId})(e),Go=e=>!G(e),Ko=e=>e.inSearchingMode,qo=e=>e.isSearchingTopic,Jo=(e,t)=>{let n=t===`createdAt`?`createdAt`:`updatedAt`;return[...e].sort((e,t)=>U(t,n)-U(e,n))},Yo=(e,t=`updatedAt`,n=!0)=>r=>{let i=K(r);if(!i)return;let a=n?i:i.filter(e=>e.status!==`completed`),o=a.filter(e=>e.favorite),s=a.filter(e=>!e.favorite);return[...Jo(o,t),...Jo(s,t)].slice(0,e)},Xo=(e,t,n)=>{let r=t===`createdAt`?`createdAt`:`updatedAt`;return e===`byProject`?e=>Eo(e,r).map(e=>e.id===`no-project`?{...e,title:i(`groupTitle.byProject.noProject`,{ns:`topic`})}:e):e===`byStatus`?e=>ko(e,r,n).map(e=>({...e,title:i(`groupTitle.byStatus.${e.id}`,{ns:`topic`})})):t===`updatedAt`?go:ho},Zo=(e,t)=>{let n=e.filter(e=>e.favorite),r=e.filter(e=>!e.favorite);return n.length>0?[{children:n,id:`favorite`,title:i(`favorite`,{ns:`topic`})},...t(r)]:t(e)},Qo=(e=ho)=>t=>{let n=Mo(t);return n?Zo(n,e):[]},$o=(e,t=`updatedAt`,n=`byTime`,r=!0)=>i=>{let a=Yo(e,t,r)(i);return a?Zo(a,Xo(n,t,n===`byStatus`?new Set(i.topicLoadingIds):void 0)):[]},es=e=>{let t=W(e);return t?t.hasMore:!1},ts=e=>{let t=W(e);return t?t.hasMore||t.total>t.pageSize:!1},ns=e=>W(e)?.isLoadingMore??!1,rs=e=>W(e)?.loadMoreError,is=e=>W(e)?.isExpandingPageSize??!1,as=e=>{if(e.activeAgentId)return e.agentTopicsViewMap[O({agentId:e.activeAgentId})]},os=e=>as(e)?.items??[],ss=e=>as(e)?.hasMore??!1,cs=e=>as(e)?.isLoadingMore??!1,ls=e=>as(e)?.loadMoreError,us={agentTopicsViewHasMore:ss,agentTopicsViewIsLoadingMore:cs,agentTopicsViewLoadMoreError:ls,agentTopicsViewTopics:os,currentActiveTopic:q,currentActiveTopicSummary:Ro,currentTopicCount:Fo,currentTopicData:W,currentTopicLength:Po,currentTopicMetadata:zo,currentTopicWorkingDirectory:Ho,currentTopics:G,currentTopicsWithoutCron:K,currentUnFavTopics:No,displayTo
117pics:Mo,displayTopicsForSidebar:Yo,getTopicById:Io,getTopicWorkingDirectory:Vo,getTopicsByAgentId:Lo,groupedTopicsForSidebar:$o,groupedTopicsSelector:Qo,hasMoreTopics:es,hasMoreTopicsForSidebar:ts,isCreatingTopic:Uo,isExpandingPageSize:is,isInSearchMode:Ko,isLoadingMoreTopics:ns,isNewTopicSendInFlight:Wo,isSearchingTopic:qo,isUndefinedTopics:Go,loadMoreTopicsError:rs,searchTopics:jo}})),fs,ps,ms,hs,J,gs=e((()=>{fs=`local`,ps=`__global__`,ms=e=>e||ps,hs=({deviceId:e,filePath:t,workingDirectory:n})=>[e?`device:${e}`:fs,n,t].map(encodeURIComponent).join(`|`),J=e=>e.id??hs(e)})),_s,Y,vs,ys=e((()=>{_s=function(e){return e.Code=`code`,e.Preview=`preview`,e}({}),Y=function(e){return e.Acceptance=`acceptance`,e.AgentDetail=`agentDetail`,e.Artifact=`artifact`,e.Document=`document`,e.FilePreview=`filePreview`,e.GroupThread=`groupThread`,e.Home=`home`,e.LocalFile=`localFile`,e.MessageDetail=`messageDetail`,e.Notebook=`notebook`,e.TaskDetail=`taskDetail`,e.Thread=`thread`,e.ToolUI=`toolUI`,e.VerifyReport=`verifyReport`,e.VerifyResult=`verifyResult`,e}({}),vs={activeLocalFileIdsByScope:{},dirtyLocalFileContents:{},openLocalFiles:[],portalArtifactDisplayMode:`preview`,portalStack:[],showPortal:!1}})),bs,xs,Ss,Cs,ws,Ts,Es,Ds,Os=e((()=>{ys(),bs=e=>{let{portalStack:t}=e;return t.at(-1)??null},xs=e=>bs(e)?.type===Y.Thread?!0:!!e.threadStartMessageId,Ss=e=>e.newThreadMode,Cs=e=>{let t=bs(e);return t?.type===Y.Thread?t:null},ws=e=>Cs(e)?.threadId??e.portalThreadId,Ts=e=>Cs(e)?.startMessageId??e.threadStartMessageId??void 0,Es=e=>{let t=ws(e);if(!(!t||!e.activeTopicId))return(e.threadMaps[e.activeTopicId]||[]).find(e=>e.id===t)},Ds={currentThreadView:Cs,newThreadMode:Ss,portalCurrentThread:Es,portalThreadId:ws,showThread:xs,threadStartMessageId:Ts}})),ks,X,As,js,Ms,Ns,Ps,Fs,Is,Ls,Rs,zs,Bs,Vs,Z,Hs,Q,Us,Ws,Gs,Ks,qs,Js,Ys,Xs,Zs,Qs,$s,ec,tc,nc,rc,ic,ac,oc,sc,cc,lc,uc,dc,fc,pc,mc,hc,gc,_c,vc,yc,bc,xc,Sc,Cc,wc,Tc,Ec,Dc,Oc,kc,Ac,jc=e((()=>{ne(),so(),ds(),gs(),ys(),Os(),ks=e=>{let{portalStack:t}=e;return t.at(-1)??null},X=e=>ks(e)?.type??null,As=e=>e.portalStack.length>1,js=e=>e.portalStack.length,Ms=e=>e.showPortal,Ns=e=>X(e)===Y.Artifact,Ps=e=>X(e)===Y.AgentDetail,Fs=e=>X(e)===Y.Document,Is=e=>X(e)===Y.Notebook,Ls=e=>X(e)===Y.FilePreview,Rs=e=>X(e)===Y.LocalFile,zs=e=>X(e)===Y.MessageDetail,Bs=e=>X(e)===Y.ToolUI,Vs=e=>X(e)===Y.TaskDetail,Z=(e,t)=>{let n=ks(e);return n?.type===t?n:null},Hs=e=>Z(e,Y.AgentDetail)?.agentId,Q=e=>Z(e,Y.Artifact)?.artifact,Us=e=>Q(e)?.title,Ws=e=>Q(e)?.identifier||``,Gs=e=>Q(e)?.id,Ks=e=>Q(e)?.type,qs=e=>Q(e)?.language,Js=e=>e.replaceAll(/[$()*+.?[\\\]^{|}]/g,`\\$&`),Ys=/^\s*```[^\n]*(?:\n|$)/,Xs=/\n```\s*$/,Zs=e=>Ys.test(e)?e.replace(Ys,``).replace(Xs,``):e,Qs=e=>t=>B.getDbMessageById(e)(t)?.content||``,$s=(e,t)=>n=>{let r=Qs(e)(n),i=t?RegExp(`<lobeArtifact\\b[^>]*identifier="${Js(t)}"[^>]*>(?<content>[\\S\\s]*?)(?:<\\/lobeArtifact>|$)`):te,a=r.match(i)?.groups?.content||``;return a=Zs(a),a},ec=(e,t)=>n=>{let r=Qs(e)(n);return t?RegExp(`<lobeArtifact\\b[^>]*identifier="${Js(t)}"[^>]*>[\\S\\s]*?<\\/lobeArtifact>`).test(r||``):b.test(r||``)},tc=e=>Z(e,Y.Document)?.documentId,nc=e=>Z(e,Y.Document)?.agentDocumentId,rc=e=>Z(e,Y.FilePreview)?.file,ic=e=>rc(e)?.fileId,ac=e=>rc(e)?.chunkText,oc=e=>e.topicDataMap?us.currentTopicWorkingDirectory(e):void 0,sc=e=>{let t=oc(e);return t?ms(t):void 0},cc=(e,t)=>{if(t.allowExternalFilePreview)return!0;let n=oc(e);return n?t.workingDirectory===n:!0},lc=e=>(e.openLocalFiles??[]).filter(t=>cc(e,t)),uc=e=>{let t=lc(e),n=sc(e),r=n?e.activeLocalFileIdsByScope?.[n]:e.activeLocalFileId;if(r&&t.some(e=>J(e)===r))return r;let i=e.activeLocalFilePath;if(!i)return;let a=t.find(e=>e.filePath===i);return a?J(a):n&&t[0]?J(t[0]):void 0},dc=e=>fc(e)?.filePath??(oc(e)?void 0:e.activeLocalFilePath),fc=e=>{let t=uc(e);if(!t)return;let n=lc(e);return n.find(e=>J(e)===t)??n.find(e=>e.filePath===t)},pc=e=>fc(e)?.filePath,mc=e=>fc(e)?.workingDirectory,hc=e=>t=>e?t.dirtyLocalFileContents[e]:void 0,gc=e=>t=>!!e&&e in t.dirtyLocalFileContents,_c=e=>e.dirtyLocalFileContents,vc=e=>Z(e,Y.MessageDetail)?.messageId,yc=e=>Z(e,Y.TaskDetail)?.taskId,bc=e=>{let t=Z(e,Y.ToolUI);if(t)return{identifier:t.identifier,messageId:t.messageId,params:t.params}},xc=e=>bc(e)?.messageId,Sc=e=>
117bc(e)?.identifier,Cc=e=>bc(e)?.params,wc=e=>Z(e,Y.VerifyResult),Tc=e=>wc(e)?.operationId,Ec=e=>wc(e)?.checkItemId,Dc=e=>Z(e,Y.VerifyReport)?.runId,Oc=e=>Z(e,Y.Acceptance)?.acceptanceId,kc=e=>t=>xc(t)===e&&Ms(t),Ac={currentView:ks,currentViewType:X,canGoBack:As,stackDepth:js,showPortal:Ms,showArtifactUI:Ns,showAgentDetail:Ps,showDocument:Fs,showNotebook:Is,showFilePreview:Ls,showLocalFile:Rs,showMessageDetail:zs,showPluginUI:Bs,showTaskDetail:Vs,agentDetailId:Hs,currentArtifact:Q,artifactTitle:Us,artifactIdentifier:Ws,artifactMessageId:Gs,artifactType:Ks,artifactCodeLanguage:qs,artifactCode:$s,artifactMessageContent:Qs,isArtifactTagClosed:ec,portalAgentDocumentId:nc,portalDocumentId:tc,currentFile:rc,previewFileId:ic,chunkText:ac,activeLocalFileId:uc,activeLocalFilePath:dc,currentLocalFile:fc,dirtyLocalFileContents:_c,isLocalFileDirty:gc,localFileBuffer:hc,localFilePath:pc,localFileWorkingDirectory:mc,openLocalFiles:lc,messageDetailId:vc,taskDetailId:yc,currentToolUI:bc,toolMessageId:xc,toolUIIdentifier:Sc,toolUIParams:Cc,isPluginUIOpen:kc,verifyResultOperationId:Tc,verifyResultCheckItemId:Ec,verifyReportRunId:Dc,acceptancePortalId:Oc}})),Mc,Nc=e((()=>{_(),Mc=(e,t,n)=>{if(!t)return[];if(n===g.Standalone)return e.filter(e=>e.id===t);let r=e.findIndex(e=>e.id===t);return r<0?[]:e.slice(0,r+1)}})),$,Pc,Fc,Ic,Lc,Rc,zc,Bc,Vc,Hc,Uc,Wc,Gc,Kc,qc,Jc=e((()=>{_(),ie(),S(),ea(),D(),Nc(),$=e=>e.activeTopicId&&e.threadMaps[e.activeTopicId]||[],Pc=e=>{if(e.portalThreadId)return $(e).find(t=>t.id===e.portalThreadId)},Fc=e=>{if(e.activeThreadId)return $(e).find(t=>t.id===e.activeThreadId)},Ic=e=>Fc(e)?.type===g.Isolation,Lc=e=>t=>{if(e)return t.threadMaps[e]},Rc=e=>t=>$(t).filter(t=>t.sourceMessageId===e),zc=e=>t=>$(t).some(t=>t.sourceMessageId===e),Bc=e=>{if(!e.activeAgentId)return[];let t=E({agentId:e.activeAgentId,groupId:e.activeGroupId,topicId:e.activeTopicId});return e.messagesMap[t]||[]},Vc=(e,t)=>{if(e.startToForkThread){let n=e.threadStartMessageId;return Mc(t.filter(e=>!e.threadId),n,e.newThreadMode)}let n=Pc(e);return Mc(t,n?.sourceMessageId,n?.type)},Hc=e=>t=>Bc(t).filter(t=>!!e&&t.threadId===e),Uc=e=>t=>{if(!e||!t.activeAgentId)return[];let n=E({agentId:t.activeAgentId,groupId:t.activeGroupId,threadId:e,topicId:t.activeTopicId});return t.dbMessagesMap?.[n]||[]},Wc=e=>{let t=Vc(e,Bc(e)),n=Hc(e.portalThreadId)(e);return[...t,...n].filter(Boolean)},Gc=e=>{let t=Wc(e),n=C.enableHistoryCount(x.getState()),r=C.historyCount(x.getState());return R.getSlicedMessages(t,{enableHistoryCount:n,historyCount:r})},Kc=e=>Wc(e).map(e=>e.content).join(``),qc={currentActiveThread:Fc,currentPortalThread:Pc,currentTopicThreads:$,getThreadChildMessages:Hc,getThreadDbMessages:Uc,getThreadsBySourceMsgId:Rc,getThreadsByTopic:Lc,hasThreadBySourceMsgId:zc,isActiveThreadSubagent:Ic,portalAIChats:Wc,portalAIChatsWithHistoryConfig:Gc,portalDisplayChatsString:Kc}})),Yc=n({agentRunSelectors:()=>Ct,chatPortalSelectors:()=>Ac,chatSelectors:()=>Wa,chatToolSelectors:()=>Ot,currentChatKey:()=>Ha,dbMessageSelectors:()=>B,displayMessageSelectors:()=>H,mainDisplayChatIDs:()=>Ua,messageStateSelectors:()=>ao,operationSelectors:()=>I,portalThreadSelectors:()=>Ds,threadSelectors:()=>qc,topicSelectors:()=>us}),Xc=e((()=>{wt(),kt(),so(),gt(),jc(),Jc(),ds()}));export{_i as $,ao as A,O as At,ga as B,To as C,k as Ct,Ao as D,ge as Dt,go as E,be as Et,B as F,Yi as G,ea as H,ya as I,qi as J,Ki as K,ha as L,Ga as M,E as Mt,H as N,so as O,ue as Ot,Va as P,gi as Q,ma as R,So as S,I as St,Eo as T,ye as Tt,Xi as U,R as V,Ji as W,vi as X,Hi as Y,yi as Z,J as _,At as _t,Mc as a,Ar as at,us as b,kt as bt,jc as c,ln as ct,_s as d,Wt as dt,pi as et,Y as f,Gt as ft,hs as g,Nt as gt,ms as h,Mt as ht,qc as i,kr as it,Wa as j,D as jt,oo as k,le as kt,Os as l,Qt as lt,vs as m,Vt as mt,Yc as n,Lr as nt,Nc as o,fn as ot,ys as p,Ut as pt,Gi as q,Jc as r,Rr as rt,Ac as s,un as st,Xc as t,mi as tt,Ds as u,$t as ut,gs as v,jt as vt,wo as w,ve as wt,Co as x,gt as xt,ds as y,Ot as yt,_a as z};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.