UNPKG

eve

Version:

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

1 lines • 1.66 kB
import{emitSubagentEventStep}from"#execution/tools/subagent/emit-event-step.js";import{dispatchTaskAgentInvocationStep,settleTaskAgentInvocationStep}from"#execution/tools/subagent/invoke-step.js";import{resumeHookStep}from"#execution/tools/workflow/resume-hook-step.js";async function applyTaskAgentRequest(e,t){let{request:n}=e;switch(n.kind){case`agent-settled`:{let r=await settleTaskAgentInvocationStep({ownerId:e.ownerId,result:n.result,serializedContext:t.serializedContext,sessionState:t.sessionState,taskId:e.taskId}),i=r.serializedContext;return r.completion!==void 0&&(i=(await emitSubagentEventStep({event:r.completion,sessionWritable:t.sessionWritable,serializedContext:i,sessionState:r.sessionState})).serializedContext),await resumeHookStep(e.replyTo,{kind:`agent-settled`,callId:n.result.callId},{ifPresent:!0}),{serializedContext:i,sessionState:r.sessionState}}case`agent-invoke`:{let r=await dispatchTaskAgentInvocationStep({ownerId:e.ownerId,replyTo:e.replyTo,request:n,serializedContext:t.serializedContext,sessionState:t.sessionState,taskId:e.taskId});switch(r.kind){case`dispatched`:return{serializedContext:(await emitSubagentEventStep({event:r.event,sessionWritable:t.sessionWritable,serializedContext:r.serializedContext??t.serializedContext,sessionState:r.sessionState})).serializedContext,sessionState:r.sessionState};case`failed`:return await resumeHookStep(e.replyTo,{kind:`runtime-action-result`,results:[r.result]}),{serializedContext:r.serializedContext??t.serializedContext,sessionState:r.sessionState};case`not-admitted`:return{serializedContext:t.serializedContext,sessionState:r.sessionState}}}}}export{applyTaskAgentRequest};