/** * Environment Resolution Module * * Handles resolution of the runtime environment (preview vs production) * and validates release ID requirements. * * @module server/runtime-handler/environment-resolution */ import type { ProxyEnvironment } from "./proxy-environment.js"; interface EnvironmentResolutionResult { /** Resolved environment (preview/production) */ resolvedEnvironment: "preview" | "production" | undefined; /** Resolved release ID (may be synthetic for standalone mode) */ releaseId: string | undefined; /** Error response if validation fails */ errorResponse: Response | undefined; } interface EnvironmentResolutionOptions { /** Environment from proxy headers */ proxyEnv: ProxyEnvironment | undefined; /** Mode from request context */ reqCtxMode: "preview" | "production" | undefined; /** Release ID from headers */ releaseId: string | undefined; /** Project slug */ projectSlug: string | undefined; /** Project ID */ projectId: string | undefined; /** Environment name */ environmentName: string | undefined; /** Host header */ host: string; /** Whether this is a local project */ isLocalProject: boolean; /** Whether running in proxy mode */ isProxyMode: boolean; /** Pathname (for WS/HMR skip) */ pathname: string; /** Default environment for standalone mode */ defaultEnvironment: "preview" | "production" | undefined; } /** * Resolve the runtime environment and validate release ID requirements. * * Returns an error response if validation fails (e.g., missing releaseId in production). */ export declare function resolveEnvironment(opts: EnvironmentResolutionOptions): EnvironmentResolutionResult; export {}; //# sourceMappingURL=environment-resolution.d.ts.map