UNPKG

eve

Version:

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

1 lines 1.32 kB
import{expectFunction,expectObjectRecord}from"#internal/authored-module.js";import{toErrorMessage}from"#shared/errors.js";import{isDynamicSentinel}from"#dynamic/definition.js";import{ResolveAgentError,loadResolvedModuleExport}from"#runtime/resolve-helpers.js";async function resolveDynamicConnectionDefinition(e,t,n){try{let r=await loadResolvedModuleExport({definition:e,kindLabel:`dynamic connection`,moduleMap:t,nodeId:n}),i=expectObjectRecord(r,describe(e,`to return an object`));if(!isDynamicSentinel(i))throw Error(describe(e,`to be created by defineDynamic()`));let 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 connection from "${e.logicalPath}": ${toErrorMessage(t)}`,{logicalPath:e.logicalPath,sourceId:e.sourceId})}}function describe(e,t){return`Expected the dynamic connection export "${e.exportName??`default`}" from "${e.logicalPath}" ${t}.`}export{resolveDynamicConnectionDefinition};