UNPKG

eve

Version:

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

54 lines (53 loc) 1.96 kB
import { captureVercel, type VercelCaptureFailure } from "#setup/primitives/index.js"; import { readProjectLink, type VercelProjectReference } from "#setup/project-resolution.js"; declare const verifiedVercelTargetBrand: unique symbol; export interface ResolvedVercelDeployment { readonly provider: "vercel"; readonly ownerId: string; readonly projectId: string; readonly projectName: string; readonly environment: string; } /** Proof that Vercel resolved one exact HTTPS origin under an authenticated scope. */ export interface VerifiedVercelTarget { readonly [verifiedVercelTargetBrand]: true; readonly origin: `https://${string}`; readonly deployment: ResolvedVercelDeployment; } export type VercelDeploymentResolutionFailure = { readonly cause: "vercel"; readonly failure: VercelCaptureFailure; } | { readonly cause: "invalid-json" | "invalid-shape"; readonly message: string; }; export type VercelDeploymentResolution = { readonly kind: "resolved"; readonly target: VerifiedVercelTarget; } | { readonly kind: "not-found"; } | { readonly kind: "unscoped"; } | { readonly kind: "project-mismatch"; readonly expectedProjectId: string; readonly actualProjectId: string; } | { readonly kind: "cancelled"; } | { readonly kind: "failed"; readonly failure: VercelDeploymentResolutionFailure; }; export interface VercelDeploymentResolutionDeps { readonly captureVercel: typeof captureVercel; readonly readProjectLink: typeof readProjectLink; } /** Resolves a Vercel deployment URL to its project and target environment. */ export declare function resolveVercelDeployment(input: { readonly workspaceRoot: string; readonly host: string; readonly source?: Pick<VercelProjectReference, "orgId" | "projectId">; readonly signal?: AbortSignal; readonly deps?: Partial<VercelDeploymentResolutionDeps>; }): Promise<VercelDeploymentResolution>; export {};