UNPKG

eve

Version:

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

1 lines 1.65 kB
import{createWorkflowRuntime}from"#execution/workflow-runtime.js";import{getCompiledRuntimeAgentBundle}from"#runtime/sessions/compiled-agent-cache.js";import{resolveNitroCompiledArtifactsSource}from"#internal/nitro/routes/runtime-artifacts.js";import{loadResolvedCompiledScheduleByTaskName}from"#runtime/schedules/resolve-schedule.js";import{ScheduleDispatcher,expectScheduleRun}from"#channel/schedule.js";import{loadResolvedModuleExport}from"#runtime/resolve-helpers.js";async function dispatchScheduleTask(e,t){return await dispatchScheduleTaskFromArtifacts(e,resolveNitroCompiledArtifactsSource(t))}async function dispatchScheduleTaskFromArtifacts(e,t){let n=await loadResolvedCompiledScheduleByTaskName(e,{compiledArtifactsSource:t}),r=await getCompiledRuntimeAgentBundle({compiledArtifactsSource:t}),i=createWorkflowRuntime({compiledArtifactsSource:t}),a=new ScheduleDispatcher({runtime:i,channels:r.graph.root.channels}),o={scheduleId:n.name};n.hasRun&&(o.run=await loadScheduleRun(n,r.moduleMap)),n.markdown!==void 0&&(o.markdown=n.markdown);let s=await a.trigger(o);return s.waitUntilTasks.length>0&&await Promise.allSettled(s.waitUntilTasks),{scheduleId:n.name,sessionIds:s.sessions.map(e=>e.id)}}async function loadScheduleRun(e,t){if(e.sourceKind!==`module`)throw Error(`Schedule "${e.name}" claims hasRun but is not a module-backed schedule.`);let n=e,r=await loadResolvedModuleExport({definition:{exportName:n.exportName,logicalPath:n.logicalPath,sourceId:n.sourceId},kindLabel:`schedule`,moduleMap:t,nodeId:void 0});return expectScheduleRun(r,n.logicalPath,n.exportName)}export{dispatchScheduleTask,dispatchScheduleTaskFromArtifacts};