eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
1 lines • 1.18 kB
JavaScript
import{loadCompiledManifest}from"#runtime/loaders/manifest.js";import{createScheduleRegistrations}from"#runtime/schedules/register.js";var ResolveScheduleError=class extends Error{taskName;constructor(e,t={}){super(e),this.name=`ResolveScheduleError`,t.taskName!==void 0&&(this.taskName=t.taskName)}};async function resolveSchedules(e){return[...e.manifest.schedules].map(e=>{let t={cron:e.cron,hasRun:e.hasRun,logicalPath:e.logicalPath,name:e.name,sourceId:e.sourceId,sourceKind:e.sourceKind};return e.markdown===void 0?t:{...t,markdown:e.markdown}})}async function loadResolvedCompiledSchedules(e){return await resolveSchedules({manifest:await loadCompiledManifest({compiledArtifactsSource:e.compiledArtifactsSource})})}async function loadResolvedCompiledScheduleByTaskName(e,t){let n=await loadResolvedCompiledSchedules(t),r=new Map(n.map(e=>[e.sourceId,e]));for(let t of createScheduleRegistrations(n))if(t.taskName===e){let e=r.get(t.sourceId);if(e!==void 0)return e}throw new ResolveScheduleError(`No compiled authored schedule is registered for Nitro task "${e}".`,{taskName:e})}export{loadResolvedCompiledScheduleByTaskName,loadResolvedCompiledSchedules,resolveSchedules};