import { z } from '@frontmcp/lazy-zod'; import { type JSONRPCError, type JSONRPCMessage, type RequestId } from '@frontmcp/protocol'; /** * Constants */ export declare const JSON_RPC: "2.0"; export declare const REDIRECTS: readonly [301, 302, 303, 307, 308]; export declare const NO_BODY_STATUSES: readonly [204, 304]; export declare const HttpStatus: import("@frontmcp/lazy-zod").ZodNumber; export declare const HttpRedirectStatus: z.ZodType<301 | 302 | 303 | 307 | 308, unknown>; export declare const HttpEmptyStatus: z.ZodType<204 | 304, unknown>; export declare const HttpHeaders: import("@frontmcp/lazy-zod").ZodDefault]>]>>>; export declare const HttpCookieSchema: import("@frontmcp/lazy-zod").ZodObject<{ name: import("@frontmcp/lazy-zod").ZodString; value: import("@frontmcp/lazy-zod").ZodString; path: import("@frontmcp/lazy-zod").ZodDefault; domain: import("@frontmcp/lazy-zod").ZodOptional; httpOnly: import("@frontmcp/lazy-zod").ZodDefault; secure: import("@frontmcp/lazy-zod").ZodOptional; sameSite: import("@frontmcp/lazy-zod").ZodOptional>; maxAge: import("@frontmcp/lazy-zod").ZodOptional; expires: import("@frontmcp/lazy-zod").ZodOptional; }, import("zod/v4/core").$strip>; export type HttpCookie = z.infer; export declare const HttpCookies: import("@frontmcp/lazy-zod").ZodDefault; domain: import("@frontmcp/lazy-zod").ZodOptional; httpOnly: import("@frontmcp/lazy-zod").ZodDefault; secure: import("@frontmcp/lazy-zod").ZodOptional; sameSite: import("@frontmcp/lazy-zod").ZodOptional>; maxAge: import("@frontmcp/lazy-zod").ZodOptional; expires: import("@frontmcp/lazy-zod").ZodOptional; }, import("zod/v4/core").$strip>>>; /** * Redirect (3xx) */ export declare const HttpRedirectSchema: import("@frontmcp/lazy-zod").ZodObject<{ kind: import("@frontmcp/lazy-zod").ZodLiteral<"redirect">; status: import("@frontmcp/lazy-zod").ZodDefault>; location: import("@frontmcp/lazy-zod").ZodString; headers: import("@frontmcp/lazy-zod").ZodOptional]>]>>>>; cookies: import("@frontmcp/lazy-zod").ZodOptional; domain: import("@frontmcp/lazy-zod").ZodOptional; httpOnly: import("@frontmcp/lazy-zod").ZodDefault; secure: import("@frontmcp/lazy-zod").ZodOptional; sameSite: import("@frontmcp/lazy-zod").ZodOptional>; maxAge: import("@frontmcp/lazy-zod").ZodOptional; expires: import("@frontmcp/lazy-zod").ZodOptional; }, import("zod/v4/core").$strip>>>>; }, import("zod/v4/core").$strip>; /** * JSON (application/json) */ export declare const HttpJsonSchema: import("@frontmcp/lazy-zod").ZodObject<{ kind: import("@frontmcp/lazy-zod").ZodLiteral<"json">; status: import("@frontmcp/lazy-zod").ZodNumber; body: import("@frontmcp/lazy-zod").ZodUnion, import("@frontmcp/lazy-zod").ZodArray, import("@frontmcp/lazy-zod").ZodRecord]>; contentType: import("@frontmcp/lazy-zod").ZodDefault; headers: import("@frontmcp/lazy-zod").ZodOptional]>]>>>>; cookies: import("@frontmcp/lazy-zod").ZodOptional; domain: import("@frontmcp/lazy-zod").ZodOptional; httpOnly: import("@frontmcp/lazy-zod").ZodDefault; secure: import("@frontmcp/lazy-zod").ZodOptional; sameSite: import("@frontmcp/lazy-zod").ZodOptional>; maxAge: import("@frontmcp/lazy-zod").ZodOptional; expires: import("@frontmcp/lazy-zod").ZodOptional; }, import("zod/v4/core").$strip>>>>; }, import("zod/v4/core").$strip>; /** * unknown — plain text, HTML, etc. */ export declare const HttpNextSchema: import("@frontmcp/lazy-zod").ZodObject<{ kind: import("@frontmcp/lazy-zod").ZodLiteral<"next">; }, import("zod/v4/core").$loose>; export declare const HttpConsumedSchema: import("@frontmcp/lazy-zod").ZodObject<{ kind: import("@frontmcp/lazy-zod").ZodLiteral<"consumed">; }, import("zod/v4/core").$strip>; /** * A pre-built Web `Response` (kind='web-response'), produced by the * `handleWebFetch` execute stage when the `http:request` flow runs on a * V8-isolate (Cloudflare Worker). The MCP `WebStandardStreamableHTTPServerTransport` * natively returns a Web `Response` (JSON or an SSE stream); rather than * lossily down-convert it to a `stream`/`jsonrpc` variant, the flow carries it * verbatim and the web-fetch adapter returns it as-is. The Node renderer * (`writeHttpResponse`) never normally sees this — it's a web-mode-only output. */ export declare const HttpWebResponseSchema: import("@frontmcp/lazy-zod").ZodObject<{ kind: import("@frontmcp/lazy-zod").ZodLiteral<"web-response">; response: import("zod").ZodCustom; }, import("zod/v4/core").$strip>; /** * Text (text/*) — plain text, HTML, etc. */ export declare const HttpTextSchema: import("@frontmcp/lazy-zod").ZodObject<{ kind: import("@frontmcp/lazy-zod").ZodLiteral<"text">; status: import("@frontmcp/lazy-zod").ZodNumber; body: import("@frontmcp/lazy-zod").ZodString; contentType: import("@frontmcp/lazy-zod").ZodDefault; headers: import("@frontmcp/lazy-zod").ZodOptional]>]>>>>; cookies: import("@frontmcp/lazy-zod").ZodOptional; domain: import("@frontmcp/lazy-zod").ZodOptional; httpOnly: import("@frontmcp/lazy-zod").ZodDefault; secure: import("@frontmcp/lazy-zod").ZodOptional; sameSite: import("@frontmcp/lazy-zod").ZodOptional>; maxAge: import("@frontmcp/lazy-zod").ZodOptional; expires: import("@frontmcp/lazy-zod").ZodOptional; }, import("zod/v4/core").$strip>>>>; }, import("zod/v4/core").$strip>; /** * HTML (text/html) — convenience specialization of Text */ export declare const HttpHtmlSchema: import("@frontmcp/lazy-zod").ZodObject<{ status: import("@frontmcp/lazy-zod").ZodNumber; body: import("@frontmcp/lazy-zod").ZodString; headers: import("@frontmcp/lazy-zod").ZodOptional]>]>>>>; cookies: import("@frontmcp/lazy-zod").ZodOptional; domain: import("@frontmcp/lazy-zod").ZodOptional; httpOnly: import("@frontmcp/lazy-zod").ZodDefault; secure: import("@frontmcp/lazy-zod").ZodOptional; sameSite: import("@frontmcp/lazy-zod").ZodOptional>; maxAge: import("@frontmcp/lazy-zod").ZodOptional; expires: import("@frontmcp/lazy-zod").ZodOptional; }, import("zod/v4/core").$strip>>>>; kind: import("@frontmcp/lazy-zod").ZodLiteral<"html">; contentType: import("@frontmcp/lazy-zod").ZodDefault>; }, import("zod/v4/core").$strip>; /** * Binary/file (Uint8Array or string with encoding) * Works for PDFs, archives, audio, video, etc. */ export declare const HttpBinarySchema: import("@frontmcp/lazy-zod").ZodObject<{ kind: import("@frontmcp/lazy-zod").ZodLiteral<"binary">; status: import("@frontmcp/lazy-zod").ZodNumber; body: import("@frontmcp/lazy-zod").ZodUnion, Uint8Array>, import("@frontmcp/lazy-zod").ZodString]>; encoding: import("@frontmcp/lazy-zod").ZodDefault>; contentType: import("@frontmcp/lazy-zod").ZodString; disposition: import("@frontmcp/lazy-zod").ZodDefault>; filename: import("@frontmcp/lazy-zod").ZodOptional; headers: import("@frontmcp/lazy-zod").ZodOptional]>]>>>>; cookies: import("@frontmcp/lazy-zod").ZodOptional; domain: import("@frontmcp/lazy-zod").ZodOptional; httpOnly: import("@frontmcp/lazy-zod").ZodDefault; secure: import("@frontmcp/lazy-zod").ZodOptional; sameSite: import("@frontmcp/lazy-zod").ZodOptional>; maxAge: import("@frontmcp/lazy-zod").ZodOptional; expires: import("@frontmcp/lazy-zod").ZodOptional; }, import("zod/v4/core").$strip>>>>; }, import("zod/v4/core").$strip>; /** * Images — narrowed binary with common image types */ export declare const HttpImageSchema: import("@frontmcp/lazy-zod").ZodObject<{ status: import("@frontmcp/lazy-zod").ZodNumber; body: import("@frontmcp/lazy-zod").ZodUnion, Uint8Array>, import("@frontmcp/lazy-zod").ZodString]>; encoding: import("@frontmcp/lazy-zod").ZodDefault>; disposition: import("@frontmcp/lazy-zod").ZodDefault>; filename: import("@frontmcp/lazy-zod").ZodOptional; headers: import("@frontmcp/lazy-zod").ZodOptional]>]>>>>; cookies: import("@frontmcp/lazy-zod").ZodOptional; domain: import("@frontmcp/lazy-zod").ZodOptional; httpOnly: import("@frontmcp/lazy-zod").ZodDefault; secure: import("@frontmcp/lazy-zod").ZodOptional; sameSite: import("@frontmcp/lazy-zod").ZodOptional>; maxAge: import("@frontmcp/lazy-zod").ZodOptional; expires: import("@frontmcp/lazy-zod").ZodOptional; }, import("zod/v4/core").$strip>>>>; kind: import("@frontmcp/lazy-zod").ZodLiteral<"image">; contentType: import("@frontmcp/lazy-zod").ZodEnum<{ "image/png": "image/png"; "image/jpeg": "image/jpeg"; "image/webp": "image/webp"; "image/gif": "image/gif"; "image/svg+xml": "image/svg+xml"; "image/avif": "image/avif"; "image/apng": "image/apng"; "image/bmp": "image/bmp"; "image/x-icon": "image/x-icon"; }>; }, import("zod/v4/core").$strip>; /** * Stream (Readable-like or AsyncIterable) — runtime-agnostic */ export type HttpReadableLike = { pipe?: (dest: unknown) => unknown; } | AsyncIterable; export declare const HttpStreamSchema: import("@frontmcp/lazy-zod").ZodObject<{ kind: import("@frontmcp/lazy-zod").ZodLiteral<"stream">; status: import("@frontmcp/lazy-zod").ZodNumber; stream: import("zod").ZodCustom; contentType: import("@frontmcp/lazy-zod").ZodString; disposition: import("@frontmcp/lazy-zod").ZodDefault>; filename: import("@frontmcp/lazy-zod").ZodOptional; headers: import("@frontmcp/lazy-zod").ZodOptional]>]>>>>; cookies: import("@frontmcp/lazy-zod").ZodOptional; domain: import("@frontmcp/lazy-zod").ZodOptional; httpOnly: import("@frontmcp/lazy-zod").ZodDefault; secure: import("@frontmcp/lazy-zod").ZodOptional; sameSite: import("@frontmcp/lazy-zod").ZodOptional>; maxAge: import("@frontmcp/lazy-zod").ZodOptional; expires: import("@frontmcp/lazy-zod").ZodOptional; }, import("zod/v4/core").$strip>>>>; }, import("zod/v4/core").$strip>; /** * Server-Sent Events (specialized stream) */ export declare const HttpSseSchema: import("@frontmcp/lazy-zod").ZodObject<{ status: import("@frontmcp/lazy-zod").ZodNumber; stream: import("zod").ZodCustom; disposition: import("@frontmcp/lazy-zod").ZodDefault>; filename: import("@frontmcp/lazy-zod").ZodOptional; headers: import("@frontmcp/lazy-zod").ZodOptional]>]>>>>; cookies: import("@frontmcp/lazy-zod").ZodOptional; domain: import("@frontmcp/lazy-zod").ZodOptional; httpOnly: import("@frontmcp/lazy-zod").ZodDefault; secure: import("@frontmcp/lazy-zod").ZodOptional; sameSite: import("@frontmcp/lazy-zod").ZodOptional>; maxAge: import("@frontmcp/lazy-zod").ZodOptional; expires: import("@frontmcp/lazy-zod").ZodOptional; }, import("zod/v4/core").$strip>>>>; kind: import("@frontmcp/lazy-zod").ZodLiteral<"sse">; contentType: import("@frontmcp/lazy-zod").ZodDefault>; }, import("zod/v4/core").$strip>; /** * JSON-RPC 2.0 wrapped for HTTP union (kind='jsonrpc') */ export declare const HttpJsonRpcSchema: import("@frontmcp/lazy-zod").ZodObject<{ kind: import("@frontmcp/lazy-zod").ZodLiteral<"jsonrpc">; status: import("@frontmcp/lazy-zod").ZodNumber; contentType: import("@frontmcp/lazy-zod").ZodDefault; body: import("@frontmcp/lazy-zod").ZodUnion; id: import("@frontmcp/lazy-zod").ZodUnion; result: import("@frontmcp/lazy-zod").ZodObject<{ _meta: import("@frontmcp/lazy-zod").ZodOptional>; "io.modelcontextprotocol/related-task": import("@frontmcp/lazy-zod").ZodOptional>; }, import("zod/v4/core").$loose>>; }, import("zod/v4/core").$loose>; }, import("zod/v4/core").$strict>, import("@frontmcp/lazy-zod").ZodObject<{ jsonrpc: import("@frontmcp/lazy-zod").ZodLiteral<"2.0">; id: import("@frontmcp/lazy-zod").ZodOptional>; error: import("@frontmcp/lazy-zod").ZodObject<{ code: import("@frontmcp/lazy-zod").ZodNumber; message: import("@frontmcp/lazy-zod").ZodString; data: import("@frontmcp/lazy-zod").ZodOptional; }, import("zod/v4/core").$strip>; }, import("zod/v4/core").$strict>]>, import("@frontmcp/lazy-zod").ZodObject<{ jsonrpc: import("@frontmcp/lazy-zod").ZodLiteral<"2.0">; id: import("@frontmcp/lazy-zod").ZodOptional>; error: import("@frontmcp/lazy-zod").ZodObject<{ code: import("@frontmcp/lazy-zod").ZodNumber; message: import("@frontmcp/lazy-zod").ZodString; data: import("@frontmcp/lazy-zod").ZodOptional; }, import("zod/v4/core").$strip>; }, import("zod/v4/core").$strict>]>; headers: import("@frontmcp/lazy-zod").ZodOptional]>]>>>>; cookies: import("@frontmcp/lazy-zod").ZodOptional; domain: import("@frontmcp/lazy-zod").ZodOptional; httpOnly: import("@frontmcp/lazy-zod").ZodDefault; secure: import("@frontmcp/lazy-zod").ZodOptional; sameSite: import("@frontmcp/lazy-zod").ZodOptional>; maxAge: import("@frontmcp/lazy-zod").ZodOptional; expires: import("@frontmcp/lazy-zod").ZodOptional; }, import("zod/v4/core").$strip>>>>; }, import("zod/v4/core").$strip>; /** * RFC 7807 Problem Details (application/problem+json) */ export declare const HttpProblemSchema: import("@frontmcp/lazy-zod").ZodObject<{ kind: import("@frontmcp/lazy-zod").ZodLiteral<"problem">; status: import("@frontmcp/lazy-zod").ZodNumber; contentType: import("@frontmcp/lazy-zod").ZodDefault>; body: import("@frontmcp/lazy-zod").ZodObject<{ error: import("@frontmcp/lazy-zod").ZodString; }, import("zod/v4/core").$loose>; headers: import("@frontmcp/lazy-zod").ZodOptional]>]>>>>; cookies: import("@frontmcp/lazy-zod").ZodOptional; domain: import("@frontmcp/lazy-zod").ZodOptional; httpOnly: import("@frontmcp/lazy-zod").ZodDefault; secure: import("@frontmcp/lazy-zod").ZodOptional; sameSite: import("@frontmcp/lazy-zod").ZodOptional>; maxAge: import("@frontmcp/lazy-zod").ZodOptional; expires: import("@frontmcp/lazy-zod").ZodOptional; }, import("zod/v4/core").$strip>>>>; }, import("zod/v4/core").$strip>; /** * Empty responses (204/304) — MUST NOT include a body */ export declare const HttpEmptySchema: import("@frontmcp/lazy-zod").ZodObject<{ kind: import("@frontmcp/lazy-zod").ZodLiteral<"empty">; status: z.ZodType<204 | 304, unknown>; headers: import("@frontmcp/lazy-zod").ZodOptional]>]>>>>; cookies: import("@frontmcp/lazy-zod").ZodOptional; domain: import("@frontmcp/lazy-zod").ZodOptional; httpOnly: import("@frontmcp/lazy-zod").ZodDefault; secure: import("@frontmcp/lazy-zod").ZodOptional; sameSite: import("@frontmcp/lazy-zod").ZodOptional>; maxAge: import("@frontmcp/lazy-zod").ZodOptional; expires: import("@frontmcp/lazy-zod").ZodOptional; }, import("zod/v4/core").$strip>>>>; }, import("zod/v4/core").$strip>; /** * Master union — validate all server outputs with this */ export declare const httpOutputSchema: import("@frontmcp/lazy-zod").ZodDiscriminatedUnion<[import("@frontmcp/lazy-zod").ZodObject<{ kind: import("@frontmcp/lazy-zod").ZodLiteral<"redirect">; status: import("@frontmcp/lazy-zod").ZodDefault>; location: import("@frontmcp/lazy-zod").ZodString; headers: import("@frontmcp/lazy-zod").ZodOptional]>]>>>>; cookies: import("@frontmcp/lazy-zod").ZodOptional; domain: import("@frontmcp/lazy-zod").ZodOptional; httpOnly: import("@frontmcp/lazy-zod").ZodDefault; secure: import("@frontmcp/lazy-zod").ZodOptional; sameSite: import("@frontmcp/lazy-zod").ZodOptional>; maxAge: import("@frontmcp/lazy-zod").ZodOptional; expires: import("@frontmcp/lazy-zod").ZodOptional; }, import("zod/v4/core").$strip>>>>; }, import("zod/v4/core").$strip>, import("@frontmcp/lazy-zod").ZodObject<{ kind: import("@frontmcp/lazy-zod").ZodLiteral<"json">; status: import("@frontmcp/lazy-zod").ZodNumber; body: import("@frontmcp/lazy-zod").ZodUnion, import("@frontmcp/lazy-zod").ZodArray, import("@frontmcp/lazy-zod").ZodRecord]>; contentType: import("@frontmcp/lazy-zod").ZodDefault; headers: import("@frontmcp/lazy-zod").ZodOptional]>]>>>>; cookies: import("@frontmcp/lazy-zod").ZodOptional; domain: import("@frontmcp/lazy-zod").ZodOptional; httpOnly: import("@frontmcp/lazy-zod").ZodDefault; secure: import("@frontmcp/lazy-zod").ZodOptional; sameSite: import("@frontmcp/lazy-zod").ZodOptional>; maxAge: import("@frontmcp/lazy-zod").ZodOptional; expires: import("@frontmcp/lazy-zod").ZodOptional; }, import("zod/v4/core").$strip>>>>; }, import("zod/v4/core").$strip>, import("@frontmcp/lazy-zod").ZodObject<{ kind: import("@frontmcp/lazy-zod").ZodLiteral<"text">; status: import("@frontmcp/lazy-zod").ZodNumber; body: import("@frontmcp/lazy-zod").ZodString; contentType: import("@frontmcp/lazy-zod").ZodDefault; headers: import("@frontmcp/lazy-zod").ZodOptional]>]>>>>; cookies: import("@frontmcp/lazy-zod").ZodOptional; domain: import("@frontmcp/lazy-zod").ZodOptional; httpOnly: import("@frontmcp/lazy-zod").ZodDefault; secure: import("@frontmcp/lazy-zod").ZodOptional; sameSite: import("@frontmcp/lazy-zod").ZodOptional>; maxAge: import("@frontmcp/lazy-zod").ZodOptional; expires: import("@frontmcp/lazy-zod").ZodOptional; }, import("zod/v4/core").$strip>>>>; }, import("zod/v4/core").$strip>, import("@frontmcp/lazy-zod").ZodObject<{ status: import("@frontmcp/lazy-zod").ZodNumber; body: import("@frontmcp/lazy-zod").ZodString; headers: import("@frontmcp/lazy-zod").ZodOptional]>]>>>>; cookies: import("@frontmcp/lazy-zod").ZodOptional; domain: import("@frontmcp/lazy-zod").ZodOptional; httpOnly: import("@frontmcp/lazy-zod").ZodDefault; secure: import("@frontmcp/lazy-zod").ZodOptional; sameSite: import("@frontmcp/lazy-zod").ZodOptional>; maxAge: import("@frontmcp/lazy-zod").ZodOptional; expires: import("@frontmcp/lazy-zod").ZodOptional; }, import("zod/v4/core").$strip>>>>; kind: import("@frontmcp/lazy-zod").ZodLiteral<"html">; contentType: import("@frontmcp/lazy-zod").ZodDefault>; }, import("zod/v4/core").$strip>, import("@frontmcp/lazy-zod").ZodObject<{ kind: import("@frontmcp/lazy-zod").ZodLiteral<"binary">; status: import("@frontmcp/lazy-zod").ZodNumber; body: import("@frontmcp/lazy-zod").ZodUnion, Uint8Array>, import("@frontmcp/lazy-zod").ZodString]>; encoding: import("@frontmcp/lazy-zod").ZodDefault>; contentType: import("@frontmcp/lazy-zod").ZodString; disposition: import("@frontmcp/lazy-zod").ZodDefault>; filename: import("@frontmcp/lazy-zod").ZodOptional; headers: import("@frontmcp/lazy-zod").ZodOptional]>]>>>>; cookies: import("@frontmcp/lazy-zod").ZodOptional; domain: import("@frontmcp/lazy-zod").ZodOptional; httpOnly: import("@frontmcp/lazy-zod").ZodDefault; secure: import("@frontmcp/lazy-zod").ZodOptional; sameSite: import("@frontmcp/lazy-zod").ZodOptional>; maxAge: import("@frontmcp/lazy-zod").ZodOptional; expires: import("@frontmcp/lazy-zod").ZodOptional; }, import("zod/v4/core").$strip>>>>; }, import("zod/v4/core").$strip>, import("@frontmcp/lazy-zod").ZodObject<{ status: import("@frontmcp/lazy-zod").ZodNumber; body: import("@frontmcp/lazy-zod").ZodUnion, Uint8Array>, import("@frontmcp/lazy-zod").ZodString]>; encoding: import("@frontmcp/lazy-zod").ZodDefault>; disposition: import("@frontmcp/lazy-zod").ZodDefault>; filename: import("@frontmcp/lazy-zod").ZodOptional; headers: import("@frontmcp/lazy-zod").ZodOptional]>]>>>>; cookies: import("@frontmcp/lazy-zod").ZodOptional; domain: import("@frontmcp/lazy-zod").ZodOptional; httpOnly: import("@frontmcp/lazy-zod").ZodDefault; secure: import("@frontmcp/lazy-zod").ZodOptional; sameSite: import("@frontmcp/lazy-zod").ZodOptional>; maxAge: import("@frontmcp/lazy-zod").ZodOptional; expires: import("@frontmcp/lazy-zod").ZodOptional; }, import("zod/v4/core").$strip>>>>; kind: import("@frontmcp/lazy-zod").ZodLiteral<"image">; contentType: import("@frontmcp/lazy-zod").ZodEnum<{ "image/png": "image/png"; "image/jpeg": "image/jpeg"; "image/webp": "image/webp"; "image/gif": "image/gif"; "image/svg+xml": "image/svg+xml"; "image/avif": "image/avif"; "image/apng": "image/apng"; "image/bmp": "image/bmp"; "image/x-icon": "image/x-icon"; }>; }, import("zod/v4/core").$strip>, import("@frontmcp/lazy-zod").ZodObject<{ kind: import("@frontmcp/lazy-zod").ZodLiteral<"stream">; status: import("@frontmcp/lazy-zod").ZodNumber; stream: import("zod").ZodCustom; contentType: import("@frontmcp/lazy-zod").ZodString; disposition: import("@frontmcp/lazy-zod").ZodDefault>; filename: import("@frontmcp/lazy-zod").ZodOptional; headers: import("@frontmcp/lazy-zod").ZodOptional]>]>>>>; cookies: import("@frontmcp/lazy-zod").ZodOptional; domain: import("@frontmcp/lazy-zod").ZodOptional; httpOnly: import("@frontmcp/lazy-zod").ZodDefault; secure: import("@frontmcp/lazy-zod").ZodOptional; sameSite: import("@frontmcp/lazy-zod").ZodOptional>; maxAge: import("@frontmcp/lazy-zod").ZodOptional; expires: import("@frontmcp/lazy-zod").ZodOptional; }, import("zod/v4/core").$strip>>>>; }, import("zod/v4/core").$strip>, import("@frontmcp/lazy-zod").ZodObject<{ status: import("@frontmcp/lazy-zod").ZodNumber; stream: import("zod").ZodCustom; disposition: import("@frontmcp/lazy-zod").ZodDefault>; filename: import("@frontmcp/lazy-zod").ZodOptional; headers: import("@frontmcp/lazy-zod").ZodOptional]>]>>>>; cookies: import("@frontmcp/lazy-zod").ZodOptional; domain: import("@frontmcp/lazy-zod").ZodOptional; httpOnly: import("@frontmcp/lazy-zod").ZodDefault; secure: import("@frontmcp/lazy-zod").ZodOptional; sameSite: import("@frontmcp/lazy-zod").ZodOptional>; maxAge: import("@frontmcp/lazy-zod").ZodOptional; expires: import("@frontmcp/lazy-zod").ZodOptional; }, import("zod/v4/core").$strip>>>>; kind: import("@frontmcp/lazy-zod").ZodLiteral<"sse">; contentType: import("@frontmcp/lazy-zod").ZodDefault>; }, import("zod/v4/core").$strip>, import("@frontmcp/lazy-zod").ZodObject<{ kind: import("@frontmcp/lazy-zod").ZodLiteral<"jsonrpc">; status: import("@frontmcp/lazy-zod").ZodNumber; contentType: import("@frontmcp/lazy-zod").ZodDefault; body: import("@frontmcp/lazy-zod").ZodUnion; id: import("@frontmcp/lazy-zod").ZodUnion; result: import("@frontmcp/lazy-zod").ZodObject<{ _meta: import("@frontmcp/lazy-zod").ZodOptional>; "io.modelcontextprotocol/related-task": import("@frontmcp/lazy-zod").ZodOptional>; }, import("zod/v4/core").$loose>>; }, import("zod/v4/core").$loose>; }, import("zod/v4/core").$strict>, import("@frontmcp/lazy-zod").ZodObject<{ jsonrpc: import("@frontmcp/lazy-zod").ZodLiteral<"2.0">; id: import("@frontmcp/lazy-zod").ZodOptional>; error: import("@frontmcp/lazy-zod").ZodObject<{ code: import("@frontmcp/lazy-zod").ZodNumber; message: import("@frontmcp/lazy-zod").ZodString; data: import("@frontmcp/lazy-zod").ZodOptional; }, import("zod/v4/core").$strip>; }, import("zod/v4/core").$strict>]>, import("@frontmcp/lazy-zod").ZodObject<{ jsonrpc: import("@frontmcp/lazy-zod").ZodLiteral<"2.0">; id: import("@frontmcp/lazy-zod").ZodOptional>; error: import("@frontmcp/lazy-zod").ZodObject<{ code: import("@frontmcp/lazy-zod").ZodNumber; message: import("@frontmcp/lazy-zod").ZodString; data: import("@frontmcp/lazy-zod").ZodOptional; }, import("zod/v4/core").$strip>; }, import("zod/v4/core").$strict>]>; headers: import("@frontmcp/lazy-zod").ZodOptional]>]>>>>; cookies: import("@frontmcp/lazy-zod").ZodOptional; domain: import("@frontmcp/lazy-zod").ZodOptional; httpOnly: import("@frontmcp/lazy-zod").ZodDefault; secure: import("@frontmcp/lazy-zod").ZodOptional; sameSite: import("@frontmcp/lazy-zod").ZodOptional>; maxAge: import("@frontmcp/lazy-zod").ZodOptional; expires: import("@frontmcp/lazy-zod").ZodOptional; }, import("zod/v4/core").$strip>>>>; }, import("zod/v4/core").$strip>, import("@frontmcp/lazy-zod").ZodObject<{ kind: import("@frontmcp/lazy-zod").ZodLiteral<"problem">; status: import("@frontmcp/lazy-zod").ZodNumber; contentType: import("@frontmcp/lazy-zod").ZodDefault>; body: import("@frontmcp/lazy-zod").ZodObject<{ error: import("@frontmcp/lazy-zod").ZodString; }, import("zod/v4/core").$loose>; headers: import("@frontmcp/lazy-zod").ZodOptional]>]>>>>; cookies: import("@frontmcp/lazy-zod").ZodOptional; domain: import("@frontmcp/lazy-zod").ZodOptional; httpOnly: import("@frontmcp/lazy-zod").ZodDefault; secure: import("@frontmcp/lazy-zod").ZodOptional; sameSite: import("@frontmcp/lazy-zod").ZodOptional>; maxAge: import("@frontmcp/lazy-zod").ZodOptional; expires: import("@frontmcp/lazy-zod").ZodOptional; }, import("zod/v4/core").$strip>>>>; }, import("zod/v4/core").$strip>, import("@frontmcp/lazy-zod").ZodObject<{ kind: import("@frontmcp/lazy-zod").ZodLiteral<"empty">; status: z.ZodType<204 | 304, unknown>; headers: import("@frontmcp/lazy-zod").ZodOptional]>]>>>>; cookies: import("@frontmcp/lazy-zod").ZodOptional; domain: import("@frontmcp/lazy-zod").ZodOptional; httpOnly: import("@frontmcp/lazy-zod").ZodDefault; secure: import("@frontmcp/lazy-zod").ZodOptional; sameSite: import("@frontmcp/lazy-zod").ZodOptional>; maxAge: import("@frontmcp/lazy-zod").ZodOptional; expires: import("@frontmcp/lazy-zod").ZodOptional; }, import("zod/v4/core").$strip>>>>; }, import("zod/v4/core").$strip>, import("@frontmcp/lazy-zod").ZodObject<{ kind: import("@frontmcp/lazy-zod").ZodLiteral<"next">; }, import("zod/v4/core").$loose>, import("@frontmcp/lazy-zod").ZodObject<{ kind: import("@frontmcp/lazy-zod").ZodLiteral<"consumed">; }, import("zod/v4/core").$strip>, import("@frontmcp/lazy-zod").ZodObject<{ kind: import("@frontmcp/lazy-zod").ZodLiteral<"web-response">; response: import("zod").ZodCustom; }, import("zod/v4/core").$strip>], "kind">; export type HttpOutput = z.infer; /** * Convenience factories */ export declare const httpRespond: { json: >(body: T, extra?: Partial>) => z.infer; ok: (body: string | Record) => z.infer | z.infer; unauthorized: (options?: { headers?: Record; body?: Record; status?: number; }) => z.infer; forbidden: (options?: { headers?: Record; body?: Record; }) => z.infer; html: (markup: string, status?: number, headers?: Record) => z.infer; notFound: (message?: string) => z.infer; noValidSessionError: () => JSONRPCError; rpcError: (message: string, requestId?: RequestId | null) => z.infer; /** * Session expired error (HTTP 404). * Per MCP Spec 2025-11-25: When server terminates session, respond with HTTP 404. * This signals to clients that they should start a new session with InitializeRequest. */ sessionExpired: (message: string, requestId?: RequestId | null) => z.infer; /** * Session not found/not initialized error (HTTP 404). * Per user requirement: Invalid or missing session should return HTTP 404 (not 400). * This signals to clients that they should start a new session with InitializeRequest. */ sessionNotFound: (message: string, requestId?: RequestId | null) => z.infer; rpcRequest: (requestId: RequestId, method: string, params?: Record) => JSONRPCMessage; redirect(location: string): z.infer; next(extra?: Record): z.infer; consumed(): z.infer; webResponse(response: Response): z.infer; empty(status?: 204 | 304, headers?: Record): z.infer; noContent(headers?: Record): z.infer; }; //# sourceMappingURL=http-output.schema.d.ts.map