eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
1 lines • 1.15 kB
JavaScript
import{contextStorage}from"#context/container.js";import{BundleKey,ChannelKey}from"#runtime/sessions/runtime-context-keys.js";import{sessionProvider}from"#context/providers/session.js";import{deserializeContext,serializeContext}from"#context/serialize.js";import{readDurableSession}from"#execution/durable-session-store.js";import{resolveEffectiveAgentRuntime}from"#execution/effective-agent-config.js";import{createSessionEventSink}from"#execution/session/event-sink.js";async function emitSubagentEventStep(e){"use step";let t=await deserializeContext(e.serializedContext),n=t.require(BundleKey),r=readDurableSession(e.sessionState);t.setVirtualContext(sessionProvider.key,sessionProvider.create(t,r).value);let i=createSessionEventSink({abortSignal:void 0,adapter:t.require(ChannelKey),bundle:n,ctx:t,effectiveAgent:resolveEffectiveAgentRuntime(n,t),instrumentation:void 0,isFirstTurn:e.sessionState.emissionState.sequence===0,sessionWritable:e.sessionWritable,sessionId:r.sessionId});try{await contextStorage.run(t,()=>i.handleEvent(e.event,r.history))}finally{i.release()}return{serializedContext:serializeContext(t)}}export{emitSubagentEventStep};