UNPKG

eve

Version:

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

1 lines • 844 B
import{createHook}from"#compiled/@workflow/core/index.js";import{resumeHookStep}from"#execution/tools/workflow/resume-hook-step.js";import{isWorkflowToolRunControlMessage}from"#execution/tools/workflow/messages.js";import{createChannelReader}from"#execution/tools/workflow/owner-channels.js";function createBlockingWorkflow(e){let t=new AbortController,n=createHook({token:e.hookToken});return{kind:`turn`,commands:createChannelReader(`control`,n),signal:t.signal,handleCommand(e){isWorkflowToolRunControlMessage(e)&&t.abort(new WorkflowToolRunCancelledError(e.reason))},handleMessage(t){return resumeHookStep(e.owner.inbox,t,{ifPresent:t.kind===`outcome`&&t.result.status===`cancelled`})}}}var WorkflowToolRunCancelledError=class extends Error{constructor(e){super(e),this.name=`WorkflowToolRunCancelledError`}};export{createBlockingWorkflow};