UNPKG

mcp-use

Version:

A utility library for integrating Model Context Protocol (MCP) with LangChain, Zod, and related tools. Provides helpers for schema conversion, event streaming, and SDK usage.

545 lines 35 kB
import type { Client, ClientOptions } from '@modelcontextprotocol/sdk/client/index.js'; import type { RequestOptions } from '@modelcontextprotocol/sdk/shared/protocol.js'; import type { CallToolResult, Tool } from '@modelcontextprotocol/sdk/types.js'; import type { ConnectionManager } from '../task_managers/base.js'; export interface ConnectorInitOptions { /** * Options forwarded to the underlying MCP `Client` instance. */ clientOptions?: ClientOptions; /** * Arbitrary request options (timeouts, cancellation, etc.) used by helper * methods when they issue SDK requests. Can be overridden per‑call. */ defaultRequestOptions?: RequestOptions; } /** * Base class for MCP connectors. */ export declare abstract class BaseConnector { protected client: Client | null; protected connectionManager: ConnectionManager<any> | null; protected toolsCache: Tool[] | null; protected connected: boolean; protected readonly opts: ConnectorInitOptions; constructor(opts?: ConnectorInitOptions); /** Establish the connection and create the SDK client. */ abstract connect(): Promise<void>; /** Disconnect and release resources. */ disconnect(): Promise<void>; /** Check if the client is connected */ get isClientConnected(): boolean; /** * Initialise the MCP session **after** `connect()` has succeeded. * * In the SDK, `Client.connect(transport)` automatically performs the * protocol‑level `initialize` handshake, so we only need to cache the list of * tools and expose some server info. */ initialize(defaultRequestOptions?: RequestOptions): Promise<ReturnType<Client['getServerCapabilities']>>; /** Lazily expose the cached tools list. */ get tools(): Tool[]; /** Call a tool on the server. */ callTool(name: string, args: Record<string, any>, options?: RequestOptions): Promise<CallToolResult>; /** List resources from the server. */ listResources(options?: RequestOptions): Promise<import("zod").objectOutputType<{ _meta: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>; } & { nextCursor: import("zod").ZodOptional<import("zod").ZodString>; } & { resources: import("zod").ZodArray<import("zod").ZodObject<{ uri: import("zod").ZodString; name: import("zod").ZodString; description: import("zod").ZodOptional<import("zod").ZodString>; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ uri: import("zod").ZodString; name: import("zod").ZodString; description: import("zod").ZodOptional<import("zod").ZodString>; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ uri: import("zod").ZodString; name: import("zod").ZodString; description: import("zod").ZodOptional<import("zod").ZodString>; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, import("zod").ZodTypeAny, "passthrough">>, "many">; }, import("zod").ZodTypeAny, "passthrough">>; /** Read a resource by URI. */ readResource(uri: string, options?: RequestOptions): Promise<{ content: unknown; mimeType: unknown; }>; listPrompts(): Promise<import("zod").objectOutputType<{ _meta: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>; } & { nextCursor: import("zod").ZodOptional<import("zod").ZodString>; } & { prompts: import("zod").ZodArray<import("zod").ZodObject<{ name: import("zod").ZodString; description: import("zod").ZodOptional<import("zod").ZodString>; arguments: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{ name: import("zod").ZodString; description: import("zod").ZodOptional<import("zod").ZodString>; required: import("zod").ZodOptional<import("zod").ZodBoolean>; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ name: import("zod").ZodString; description: import("zod").ZodOptional<import("zod").ZodString>; required: import("zod").ZodOptional<import("zod").ZodBoolean>; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ name: import("zod").ZodString; description: import("zod").ZodOptional<import("zod").ZodString>; required: import("zod").ZodOptional<import("zod").ZodBoolean>; }, import("zod").ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ name: import("zod").ZodString; description: import("zod").ZodOptional<import("zod").ZodString>; arguments: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{ name: import("zod").ZodString; description: import("zod").ZodOptional<import("zod").ZodString>; required: import("zod").ZodOptional<import("zod").ZodBoolean>; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ name: import("zod").ZodString; description: import("zod").ZodOptional<import("zod").ZodString>; required: import("zod").ZodOptional<import("zod").ZodBoolean>; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ name: import("zod").ZodString; description: import("zod").ZodOptional<import("zod").ZodString>; required: import("zod").ZodOptional<import("zod").ZodBoolean>; }, import("zod").ZodTypeAny, "passthrough">>, "many">>; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ name: import("zod").ZodString; description: import("zod").ZodOptional<import("zod").ZodString>; arguments: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{ name: import("zod").ZodString; description: import("zod").ZodOptional<import("zod").ZodString>; required: import("zod").ZodOptional<import("zod").ZodBoolean>; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ name: import("zod").ZodString; description: import("zod").ZodOptional<import("zod").ZodString>; required: import("zod").ZodOptional<import("zod").ZodBoolean>; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ name: import("zod").ZodString; description: import("zod").ZodOptional<import("zod").ZodString>; required: import("zod").ZodOptional<import("zod").ZodBoolean>; }, import("zod").ZodTypeAny, "passthrough">>, "many">>; }, import("zod").ZodTypeAny, "passthrough">>, "many">; }, import("zod").ZodTypeAny, "passthrough">>; getPrompt(name: string, args: Record<string, any>): Promise<import("zod").objectOutputType<{ _meta: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>; } & { description: import("zod").ZodOptional<import("zod").ZodString>; messages: import("zod").ZodArray<import("zod").ZodObject<{ role: import("zod").ZodEnum<["user", "assistant"]>; content: import("zod").ZodUnion<[import("zod").ZodObject<{ type: import("zod").ZodLiteral<"text">; text: import("zod").ZodString; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ type: import("zod").ZodLiteral<"text">; text: import("zod").ZodString; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ type: import("zod").ZodLiteral<"text">; text: import("zod").ZodString; }, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<{ type: import("zod").ZodLiteral<"image">; data: import("zod").ZodString; mimeType: import("zod").ZodString; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ type: import("zod").ZodLiteral<"image">; data: import("zod").ZodString; mimeType: import("zod").ZodString; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ type: import("zod").ZodLiteral<"image">; data: import("zod").ZodString; mimeType: import("zod").ZodString; }, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<{ type: import("zod").ZodLiteral<"audio">; data: import("zod").ZodString; mimeType: import("zod").ZodString; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ type: import("zod").ZodLiteral<"audio">; data: import("zod").ZodString; mimeType: import("zod").ZodString; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ type: import("zod").ZodLiteral<"audio">; data: import("zod").ZodString; mimeType: import("zod").ZodString; }, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<{ type: import("zod").ZodLiteral<"resource">; resource: import("zod").ZodUnion<[import("zod").ZodObject<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">>]>; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ type: import("zod").ZodLiteral<"resource">; resource: import("zod").ZodUnion<[import("zod").ZodObject<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">>]>; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ type: import("zod").ZodLiteral<"resource">; resource: import("zod").ZodUnion<[import("zod").ZodObject<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">>]>; }, import("zod").ZodTypeAny, "passthrough">>]>; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ role: import("zod").ZodEnum<["user", "assistant"]>; content: import("zod").ZodUnion<[import("zod").ZodObject<{ type: import("zod").ZodLiteral<"text">; text: import("zod").ZodString; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ type: import("zod").ZodLiteral<"text">; text: import("zod").ZodString; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ type: import("zod").ZodLiteral<"text">; text: import("zod").ZodString; }, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<{ type: import("zod").ZodLiteral<"image">; data: import("zod").ZodString; mimeType: import("zod").ZodString; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ type: import("zod").ZodLiteral<"image">; data: import("zod").ZodString; mimeType: import("zod").ZodString; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ type: import("zod").ZodLiteral<"image">; data: import("zod").ZodString; mimeType: import("zod").ZodString; }, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<{ type: import("zod").ZodLiteral<"audio">; data: import("zod").ZodString; mimeType: import("zod").ZodString; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ type: import("zod").ZodLiteral<"audio">; data: import("zod").ZodString; mimeType: import("zod").ZodString; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ type: import("zod").ZodLiteral<"audio">; data: import("zod").ZodString; mimeType: import("zod").ZodString; }, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<{ type: import("zod").ZodLiteral<"resource">; resource: import("zod").ZodUnion<[import("zod").ZodObject<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">>]>; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ type: import("zod").ZodLiteral<"resource">; resource: import("zod").ZodUnion<[import("zod").ZodObject<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">>]>; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ type: import("zod").ZodLiteral<"resource">; resource: import("zod").ZodUnion<[import("zod").ZodObject<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">>]>; }, import("zod").ZodTypeAny, "passthrough">>]>; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ role: import("zod").ZodEnum<["user", "assistant"]>; content: import("zod").ZodUnion<[import("zod").ZodObject<{ type: import("zod").ZodLiteral<"text">; text: import("zod").ZodString; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ type: import("zod").ZodLiteral<"text">; text: import("zod").ZodString; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ type: import("zod").ZodLiteral<"text">; text: import("zod").ZodString; }, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<{ type: import("zod").ZodLiteral<"image">; data: import("zod").ZodString; mimeType: import("zod").ZodString; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ type: import("zod").ZodLiteral<"image">; data: import("zod").ZodString; mimeType: import("zod").ZodString; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ type: import("zod").ZodLiteral<"image">; data: import("zod").ZodString; mimeType: import("zod").ZodString; }, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<{ type: import("zod").ZodLiteral<"audio">; data: import("zod").ZodString; mimeType: import("zod").ZodString; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ type: import("zod").ZodLiteral<"audio">; data: import("zod").ZodString; mimeType: import("zod").ZodString; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ type: import("zod").ZodLiteral<"audio">; data: import("zod").ZodString; mimeType: import("zod").ZodString; }, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<{ type: import("zod").ZodLiteral<"resource">; resource: import("zod").ZodUnion<[import("zod").ZodObject<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">>]>; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ type: import("zod").ZodLiteral<"resource">; resource: import("zod").ZodUnion<[import("zod").ZodObject<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">>]>; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ type: import("zod").ZodLiteral<"resource">; resource: import("zod").ZodUnion<[import("zod").ZodObject<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">>]>; }, import("zod").ZodTypeAny, "passthrough">>]>; }, import("zod").ZodTypeAny, "passthrough">>, "many">; }, import("zod").ZodTypeAny, "passthrough">>; /** Send a raw request through the client. */ request(method: string, params?: Record<string, any> | null, options?: RequestOptions): Promise<any>; /** * Helper to tear down the client & connection manager safely. */ protected cleanupResources(): Promise<void>; } //# sourceMappingURL=base.d.ts.map