UNPKG

eve

Version:

Filesystem-first framework for durable backend AI agents that run anywhere.

1 lines 1.39 kB
const WORKFLOW_TOOL_RUNS_STATE_KEY=`eve.runtime.workflowToolRuns`;function getWorkflowToolRuns(e){let t=e?.[WORKFLOW_TOOL_RUNS_STATE_KEY];return Array.isArray(t)?t:[]}function findWorkflowToolRun(e,t){return getWorkflowToolRuns(e).find(e=>e.callId===t)}function recordWorkflowToolRun(e,t){return writeWorkflowToolRuns(e,[...getWorkflowToolRuns(e.state).filter(e=>e.callId!==t.callId),t])}function removeWorkflowToolRun(e,t){let n=getWorkflowToolRuns(e.state),r=n.filter(e=>e.callId!==t);return r.length===n.length?e:writeWorkflowToolRuns(e,r)}function clearWorkflowToolRuns(e){return getWorkflowToolRuns(e.state).length===0?e:writeWorkflowToolRuns(e,[])}function isInboxToolResultFromRecordedWorkflowToolRun(e,t){let n=findWorkflowToolRun(e,t.callId);return n!==void 0&&n.resultKind!==`subagent`&&n.toolName===t.toolName}function isInboxSubagentResultFromRecordedWorkflowToolRun(e,t){let n=findWorkflowToolRun(e,t.callId);return n?.resultKind===`subagent`&&n.toolName===t.subagentName}function writeWorkflowToolRuns(e,t){let n={...e.state};return t.length===0?delete n[WORKFLOW_TOOL_RUNS_STATE_KEY]:n[WORKFLOW_TOOL_RUNS_STATE_KEY]=t,{...e,state:Object.keys(n).length>0?n:void 0}}export{clearWorkflowToolRuns,findWorkflowToolRun,getWorkflowToolRuns,isInboxSubagentResultFromRecordedWorkflowToolRun,isInboxToolResultFromRecordedWorkflowToolRun,recordWorkflowToolRun,removeWorkflowToolRun};