eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
1 lines • 1.33 kB
JavaScript
import{loadModuleBackedDefinition}from"#compiler/normalize-helpers.js";import{normalizeMcpClientConnectionDefinition,normalizeOpenApiConnectionDefinition}from"#internal/authored-definition/connection.js";import{readConnectionProtocol}from"#public/definitions/connections/protocol.js";async function compileConnectionDefinition(r,i,a={}){let o=await loadModuleBackedDefinition({agentRoot:r,externalDependencies:a.externalDependencies,kind:`connection`,source:i}),s=readConnectionProtocol(o),c=`Expected the connection export "${i.exportName??`default`}" from "${i.logicalPath}" to match the public eve shape.`,l={connectionName:i.connectionName,exportName:i.exportName,logicalPath:i.logicalPath,sourceId:i.sourceId,sourceKind:`module`},u,d;if(s===`openapi`){let e=normalizeOpenApiConnectionDefinition(o,c);u={...l,description:e.description,protocol:`openapi`,url:e.baseUrl??``},d=e.auth}else{let e=normalizeMcpClientConnectionDefinition(o,c);u={...l,description:e.description,protocol:`mcp`,url:e.url},d=e.auth}let f=extractVercelConnectMarker(d);return f!==void 0&&(u.vercelConnect=f),u}function extractVercelConnectMarker(e){if(typeof e!=`object`||!e)return;let t=e.vercelConnect;if(typeof t!=`object`||!t)return;let n=t.connector;if(!(typeof n!=`string`||n.length===0))return{connector:n}}export{compileConnectionDefinition};