eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
1 lines • 1.96 kB
JavaScript
import{createLogger,logError}from"#internal/logging.js";import{BundleKey}from"#runtime/sessions/runtime-context-keys.js";import{deserializeContext}from"#context/serialize.js";import{readDurableSession}from"#execution/durable-session-store.js";import{getBackgroundWorkflowToolRuns}from"#harness/workflow-tool-runs.js";import{recordTerminalTaskViewsStep}from"#execution/tasks/parent/hitl-proxy-steps.js";import{resolveEffectiveAgentRuntime}from"#execution/effective-agent-config.js";import{hydrateDurableSession}from"#execution/session.js";import{cancelOwnedTask}from"#execution/tasks/parent/dispatch.js";import{cancelBackgroundAgentTask}from"#execution/tools/subagent/task-cancel.js";const log=createLogger(`execution.cancel-indexed-session-tasks`);async function cancelAllIndexedSessionTasksStep(e){"use step";let t;try{t=readDurableSession(e.sessionState)}catch(t){return logError(log,`failed to read the session for indexed task cancellation`,t,{parentSessionId:e.sessionState.sessionId}),{sessionState:e.sessionState}}let n;try{n=getBackgroundWorkflowToolRuns(t.state)}catch(n){return logError(log,`failed to read the task index`,n,{parentSessionId:t.sessionId}),{sessionState:e.sessionState}}if(n.length===0)return{sessionState:e.sessionState};if(e.serializedContext===void 0)throw Error(`Indexed task cancellation requires serialized runtime context.`);let r=await deserializeContext(e.serializedContext),i=r.require(BundleKey),a=resolveEffectiveAgentRuntime(i,r),o=hydrateDurableSession({durable:t,turnAgent:a.turnAgent}),s=[];for(let r of n)try{let t=await cancelOwnedTask({cancelOwnedWork:cancelBackgroundAgentTask,entry:r,serializedContext:e.serializedContext,session:o});s.push(t)}catch(e){logError(log,`failed to cancel indexed task`,e,{parentSessionId:t.sessionId,taskId:r.task.taskId})}return await recordTerminalTaskViewsStep({serializedContext:e.serializedContext,sessionState:e.sessionState,views:s})}export{cancelAllIndexedSessionTasksStep};