eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
20 lines (19 loc) • 1.15 kB
TypeScript
import type { VerifiedVercelTarget } from "#setup/vercel-deployment.js";
import { type DevelopmentOidcTokenFailure, type DevelopmentOidcTokenResolution } from "./request-headers.js";
export interface DevelopmentCredentialGrant {
readonly target: VerifiedVercelTarget;
readonly resolveToken: () => Promise<DevelopmentOidcTokenResolution>;
}
/** Per-client authority for resolving and emitting remote Vercel credentials. */
export interface DevelopmentCredentialGate {
/** The origin this gate is permanently bound to. */
readonly serverOrigin: string;
/** Installs authority after Vercel verifies the exact origin. */
authorize(grant: DevelopmentCredentialGrant): void;
/** Resolves headers for one request. */
resolveHeaders(): Promise<Readonly<Record<string, string>>>;
/** Token failure from the most recent {@link resolveHeaders}, or `undefined` if it resolved one. */
lastTokenFailure(): DevelopmentOidcTokenFailure | undefined;
}
/** Creates an anonymous credential gate bound to one client origin. */
export declare function createDevelopmentCredentialGate(serverUrl: string): DevelopmentCredentialGate;