eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
56 lines (55 loc) • 2.35 kB
TypeScript
/**
* Private route namespace used when a Vercel deployment hosts eve as a
* separate experimental service behind the Nuxt app.
*/
export declare const EVE_NUXT_SERVICE_PREFIX = "/_eve_internal/eve";
/**
* Normalize a user-supplied service prefix into a leading-slash, no-trailing-
* slash route. Throws when the prefix resolves to the root route, which would
* collide with the Nuxt web service.
*/
export declare function normalizeRoutePrefix(prefix: string): string;
/**
* Join a route prefix and a path with exactly one separating slash.
*/
export declare function joinRoutePrefix(prefix: string, path: string): string;
/**
* Reduce an origin string to its canonical `protocol://host[:port]` form.
*/
export declare function normalizeOrigin(origin: string): string;
/**
* Resolve the local production port the module proxies to when an eve service
* runs alongside a non-Vercel Nuxt deployment. Defaults to
* {@link DEFAULT_EVE_NUXT_PRODUCTION_PORT}.
*/
export declare function readLocalProductionPort(): number;
/**
* An edge-level Vercel rewrite expressed in Build Output API v3 form.
*/
export interface EveVercelRewriteRoute {
readonly src: string;
readonly dest: string;
/**
* Re-run route matching against the rewritten `dest`. Required so the
* rewritten eve service path is routed to the sibling eve service instead of
* being resolved inside the host service's own filesystem (which 404s).
*/
readonly check: true;
}
/**
* Build the edge-level Vercel rewrite that forwards eve transport requests
* (`/eve/v1/**`) to the eve service prefix (`/_eve_internal/eve/eve/v1/**`).
*
* Mirrors the Next.js integration's `beforeFiles` rewrite. A Nitro runtime
* `proxy` route rule cannot reach a sibling Vercel service — the proxied
* request loops back into the Nuxt function and 404s — so production routing
* must happen at the edge via the build output config instead.
*/
export declare function createEveVercelRewriteRoute(servicePrefix: string): EveVercelRewriteRoute;
/**
* Resolve the proxy destination for eve routes in production.
*
* On Vercel the destination is the private service prefix. Off Vercel it is an
* explicit origin override (`EVE_NUXT_PRODUCTION_ORIGIN`) or a local port.
*/
export declare function resolveProductionTarget(servicePrefix: string): string;