eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
1 lines • 762 B
JavaScript
import{EVE_ROUTE_PREFIX}from"#protocol/routes.js";const EVE_NAMED_AGENT_MOUNT_PATTERN=/^\/eve\/[a-z0-9][a-z0-9_-]*$/,EVE_NAMED_AGENT_PROTOCOL_PATTERN=/^\/eve\/[a-z0-9][a-z0-9_-]*\/v1$/;function joinEveRoutePath(e,t){let n=trimTrailingSlash(e),r=t.startsWith(`/`)?t:`/${t}`;if(r===EVE_ROUTE_PREFIX||r.startsWith(`${EVE_ROUTE_PREFIX}/`)){if(EVE_NAMED_AGENT_MOUNT_PATTERN.test(n))return`${n}${r.slice(4)}`;if(EVE_NAMED_AGENT_PROTOCOL_PATTERN.test(n))return`${n}${r.slice(EVE_ROUTE_PREFIX.length)}`}return`${n}${r}`}function normalizePublicEveRoutePath(e){return e.replace(/^\/eve\/[a-z0-9][a-z0-9_-]*\/v1(?=\/|$)/,EVE_ROUTE_PREFIX)}function trimTrailingSlash(e){return e===`/`?``:e.endsWith(`/`)?e.slice(0,-1):e}export{joinEveRoutePath,normalizePublicEveRoutePath};