UNPKG

eve

Version:

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

1 lines 1.44 kB
import{stripLogicalPathExtension}from"#discover/filesystem.js";import{normalizeScheduleDefinition}from"#internal/authored-definition/core.js";import{loadModuleBackedDefinition,requireModuleBackedDefinitionLoadOptions}from"#compiler/normalize-helpers.js";import{readWorkflowFunctionId}from"#internal/workflow/reference.js";import{workflowCallbackErrorMessage}from"#shared/workflow-tool-context.js";async function compileScheduleDefinition(e,t,n){let r=t.sourceKind===`markdown`?normalizeScheduleDefinition(t.definition,`Expected the compiled schedule definition at "${t.logicalPath}" to match the public eve shape.`):normalizeScheduleDefinition(await loadModuleBackedDefinition({...requireModuleBackedDefinitionLoadOptions(n,t.logicalPath),kind:`schedule`,source:t}),`Expected the schedule export "${t.exportName??`default`}" from "${t.logicalPath}" to match the public eve shape.`);if(readWorkflowFunctionId(r.run)!==void 0)throw Error(`${t.logicalPath}: ${workflowCallbackErrorMessage(`schedule`)}`);let i={cron:r.cron,hasRun:r.run!==void 0,logicalPath:t.logicalPath,name:deriveScheduleName(t.logicalPath),sourceId:t.sourceId,sourceKind:t.sourceKind},a=r.markdown===void 0?i:{...i,markdown:r.markdown.trim()};return t.sourceKind===`module`?{...a,sourceKind:`module`}:{...a,owner:n.owner,sourceKind:`markdown`}}function deriveScheduleName(e){return stripLogicalPathExtension(e).replace(/^schedules\//,``)}export{compileScheduleDefinition};