UNPKG

eve

Version:

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

1 lines 1.15 kB
import{expectFunction,expectObjectRecord}from"#internal/authored-module.js";import{toErrorMessage}from"#shared/errors.js";import{ResolveAgentError,loadResolvedModuleExport}from"#runtime/resolve-helpers.js";async function resolveDynamicSkillDefinition(e,t,n){try{let r=await loadResolvedModuleExport({definition:e,kindLabel:`dynamic-skill`,moduleMap:t,nodeId:n}),i=expectObjectRecord(r,describe(e,`to return an object`)),a=expectObjectRecord(i.events,describe(e,`to provide an events object`)),o={};for(let t of e.eventNames)o[t]=expectFunction(a[t],describe(e,`to provide a handler for event "${t}"`));return{eventNames:[...e.eventNames],events:o,exportName:e.exportName,extensionNamespace:e.extensionNamespace,logicalPath:e.logicalPath,slug:e.slug,sourceId:e.sourceId,sourceKind:`module`}}catch(t){throw t instanceof ResolveAgentError?t:new ResolveAgentError(`Failed to resolve dynamic skill from "${e.logicalPath}": ${toErrorMessage(t)}`,{logicalPath:e.logicalPath,sourceId:e.sourceId})}}function describe(e,t){return`Expected the dynamic skill export "${e.exportName??`default`}" from "${e.logicalPath}" ${t}.`}export{resolveDynamicSkillDefinition};