UNPKG

@general-analysis/mcp-guard

Version:

An MCP guardrail with built-in AI-powered moderation that aggregates multiple MCP servers into one secure interface

523 lines 61.7 kB
import { Client } from "@modelcontextprotocol/sdk/client/index.js"; import { z } from "zod"; /** * Creates a tool handler that wraps the original tool with moderation */ export declare function createToolHandler(client: Client, originalToolName: string, apiKey?: string, enableGuardApi?: boolean): Promise<(args: any) => Promise<any>>; /** * Creates a prompt handler (no moderation for prompts) */ export declare function createPromptHandler(client: Client, originalPromptName: string, serverName: string): Promise<(args: any) => Promise<z.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; _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">>>; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ type: import("zod").ZodLiteral<"text">; text: import("zod").ZodString; _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">>>; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ type: import("zod").ZodLiteral<"text">; text: import("zod").ZodString; _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">>>; }, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<{ type: import("zod").ZodLiteral<"image">; data: import("zod").ZodString; mimeType: import("zod").ZodString; _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">>>; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ type: import("zod").ZodLiteral<"image">; data: import("zod").ZodString; mimeType: import("zod").ZodString; _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">>>; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ type: import("zod").ZodLiteral<"image">; data: import("zod").ZodString; mimeType: import("zod").ZodString; _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">>>; }, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<{ type: import("zod").ZodLiteral<"audio">; data: import("zod").ZodString; mimeType: import("zod").ZodString; _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">>>; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ type: import("zod").ZodLiteral<"audio">; data: import("zod").ZodString; mimeType: import("zod").ZodString; _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">>>; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ type: import("zod").ZodLiteral<"audio">; data: import("zod").ZodString; mimeType: import("zod").ZodString; _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">>>; }, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<{ name: import("zod").ZodString; title: import("zod").ZodOptional<import("zod").ZodString>; }, { uri: import("zod").ZodString; description: import("zod").ZodOptional<import("zod").ZodString>; mimeType: import("zod").ZodOptional<import("zod").ZodString>; _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">>>; }>, { type: import("zod").ZodLiteral<"resource_link">; }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<{ name: import("zod").ZodString; title: import("zod").ZodOptional<import("zod").ZodString>; }, { uri: import("zod").ZodString; description: import("zod").ZodOptional<import("zod").ZodString>; mimeType: import("zod").ZodOptional<import("zod").ZodString>; _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">>>; }>, { type: import("zod").ZodLiteral<"resource_link">; }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<{ name: import("zod").ZodString; title: import("zod").ZodOptional<import("zod").ZodString>; }, { uri: import("zod").ZodString; description: import("zod").ZodOptional<import("zod").ZodString>; mimeType: import("zod").ZodOptional<import("zod").ZodString>; _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">>>; }>, { type: import("zod").ZodLiteral<"resource_link">; }>, 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>; _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">>>; }, { 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>; _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">>>; }, { 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>; _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">>>; }, { 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>; _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">>>; }, { 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>; _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">>>; }, { 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>; _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">>>; }, { blob: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">>]>; _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">>>; }, "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>; _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">>>; }, { 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>; _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">>>; }, { 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>; _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">>>; }, { 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>; _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">>>; }, { 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>; _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">>>; }, { 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>; _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">>>; }, { blob: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">>]>; _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">>>; }, 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>; _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">>>; }, { 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>; _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">>>; }, { 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>; _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">>>; }, { 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>; _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">>>; }, { 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>; _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">>>; }, { 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>; _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">>>; }, { blob: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">>]>; _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">>>; }, 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; _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">>>; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ type: import("zod").ZodLiteral<"text">; text: import("zod").ZodString; _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">>>; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ type: import("zod").ZodLiteral<"text">; text: import("zod").ZodString; _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">>>; }, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<{ type: import("zod").ZodLiteral<"image">; data: import("zod").ZodString; mimeType: import("zod").ZodString; _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">>>; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ type: import("zod").ZodLiteral<"image">; data: import("zod").ZodString; mimeType: import("zod").ZodString; _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">>>; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ type: import("zod").ZodLiteral<"image">; data: import("zod").ZodString; mimeType: import("zod").ZodString; _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">>>; }, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<{ type: import("zod").ZodLiteral<"audio">; data: import("zod").ZodString; mimeType: import("zod").ZodString; _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">>>; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ type: import("zod").ZodLiteral<"audio">; data: import("zod").ZodString; mimeType: import("zod").ZodString; _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">>>; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ type: import("zod").ZodLiteral<"audio">; data: import("zod").ZodString; mimeType: import("zod").ZodString; _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">>>; }, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<{ name: import("zod").ZodString; title: import("zod").ZodOptional<import("zod").ZodString>; }, { uri: import("zod").ZodString; description: import("zod").ZodOptional<import("zod").ZodString>; mimeType: import("zod").ZodOptional<import("zod").ZodString>; _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">>>; }>, { type: import("zod").ZodLiteral<"resource_link">; }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<{ name: import("zod").ZodString; title: import("zod").ZodOptional<import("zod").ZodString>; }, { uri: import("zod").ZodString; description: import("zod").ZodOptional<import("zod").ZodString>; mimeType: import("zod").ZodOptional<import("zod").ZodString>; _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">>>; }>, { type: import("zod").ZodLiteral<"resource_link">; }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<{ name: import("zod").ZodString; title: import("zod").ZodOptional<import("zod").ZodString>; }, { uri: import("zod").ZodString; description: import("zod").ZodOptional<import("zod").ZodString>; mimeType: import("zod").ZodOptional<import("zod").ZodString>; _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">>>; }>, { type: import("zod").ZodLiteral<"resource_link">; }>, 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>; _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">>>; }, { 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>; _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">>>; }, { 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>; _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">>>; }, { 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>; _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">>>; }, { 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>; _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">>>; }, { 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>; _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">>>; }, { blob: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">>]>; _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">>>; }, "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>; _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">>>; }, { 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>; _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">>>; }, { 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>; _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">>>; }, { 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>; _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">>>; }, { 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>; _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">>>; }, { 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>; _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">>>; }, { blob: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">>]>; _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">>>; }, 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>; _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">>>; }, { 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>; _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">>>; }, { 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>; _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">>>; }, { 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>; _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">>>; }, { 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>; _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">>>; }, { 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>; _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">>>; }, { blob: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">>]>; _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">>>; }, 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; _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">>>; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ type: import("zod").ZodLiteral<"text">; text: import("zod").ZodString; _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">>>; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ type: import("zod").ZodLiteral<"text">; text: import("zod").ZodString; _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">>>; }, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<{ type: import("zod").ZodLiteral<"image">; data: import("zod").ZodString; mimeType: import("zod").ZodString; _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">>>; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ type: import("zod").ZodLiteral<"image">; data: import("zod").ZodString; mimeType: import("zod").ZodString; _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">>>; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ type: import("zod").ZodLiteral<"image">; data: import("zod").ZodString; mimeType: import("zod").ZodString; _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">>>; }, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<{ type: import("zod").ZodLiteral<"audio">; data: import("zod").ZodString; mimeType: import("zod").ZodString; _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">>>; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ type: import("zod").ZodLiteral<"audio">; data: import("zod").ZodString; mimeType: import("zod").ZodString; _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">>>; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ type: import("zod").ZodLiteral<"audio">; data: import("zod").ZodString; mimeType: import("zod").ZodString; _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">>>; }, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<{ name: import("zod").ZodString; title: import("zod").ZodOptional<import("zod").ZodString>; }, { uri: import("zod").ZodString; description: import("zod").ZodOptional<import("zod").ZodString>; mimeType: import("zod").ZodOptional<import("zod").ZodString>; _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">>>; }>, { type: import("zod").ZodLiteral<"resource_link">; }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<{ name: import("zod").ZodString; title: import("zod").ZodOptional<import("zod").ZodString>; }, { uri: import("zod").ZodString; description: import("zod").ZodOptional<import("zod").ZodString>; mimeType: import("zod").ZodOptional<import("zod").ZodString>; _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">>>; }>, { type: import("zod").ZodLiteral<"resource_link">; }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<{ name: import("zod").ZodString; title: import("zod").ZodOptional<import("zod").ZodString>; }, { uri: import("zod").ZodString; description: import("zod").ZodOptional<import("zod").ZodString>; mimeType: import("zod").ZodOptional<import("zod").ZodString>; _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">>>; }>, { type: import("zod").ZodLiteral<"resource_link">; }>, 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>; _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">>>; }, { 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>; _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">>>; }, { 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>; _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">>>; }, { 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>; _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">>>; }, { 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>; _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">>>; }, { 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>; _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">>>; }, { blob: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">>]>; _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">>>; }, "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>; _meta: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough