import * as z from "zod/mini"; /** * Hints to use for model selection. * * Keys not declared here are currently left unspecified by the spec and are up * to the client to interpret. */ export declare const ModelHintSchema: z.ZodMiniObject<{ name: z.ZodMiniOptional>; }, z.core.$loose>; /** * The server's preferences for model selection, requested of the client during sampling. * * Because LLMs can vary along multiple dimensions, choosing the "best" model is * rarely straightforward. Different models excel in different areas—some are * faster but less capable, others are more capable but more expensive, and so * on. This interface allows servers to express their priorities across multiple * dimensions to help clients make an appropriate selection for their use case. * * These preferences are always advisory. The client MAY ignore them. It is also * up to the client to decide how to interpret these preferences and how to * balance them against other considerations. */ export declare const ModelPreferencesSchema: z.ZodMiniObject<{ hints: z.ZodMiniOptional>; }, z.core.$loose>>>; costPriority: z.ZodMiniOptional>; speedPriority: z.ZodMiniOptional>; intelligencePriority: z.ZodMiniOptional>; }, z.core.$loose>; /** * Describes a message issued to or received from an LLM API. */ export declare const SamplingMessageSchema: z.ZodMiniObject<{ role: z.ZodMiniEnum<{ user: "user"; assistant: "assistant"; }>; content: z.ZodMiniDiscriminatedUnion<[z.ZodMiniObject<{ type: z.ZodMiniLiteral<"text">; text: z.ZodMiniString; annotations: z.ZodMiniOptional>>; priority: z.ZodMiniOptional>; lastModified: z.ZodMiniOptional>; }, z.core.$loose>>; _meta: z.ZodMiniOptional>; }, z.core.$loose>, z.ZodMiniObject<{ type: z.ZodMiniLiteral<"image">; data: z.ZodMiniBase64; mimeType: z.ZodMiniString; annotations: z.ZodMiniOptional>>; priority: z.ZodMiniOptional>; lastModified: z.ZodMiniOptional>; }, z.core.$loose>>; _meta: z.ZodMiniOptional>; }, z.core.$loose>, z.ZodMiniObject<{ type: z.ZodMiniLiteral<"audio">; data: z.ZodMiniBase64; mimeType: z.ZodMiniString; annotations: z.ZodMiniOptional>>; priority: z.ZodMiniOptional>; lastModified: z.ZodMiniOptional>; }, z.core.$loose>>; _meta: z.ZodMiniOptional>; }, z.core.$loose>], "type">; }, z.core.$loose>; /** * A request from the server to sample an LLM via the client. The client has full * discretion over which model to select. The client should also inform the user * before beginning sampling, to allow them to inspect the request (human in the * loop) and decide whether to approve it. */ export declare const CreateMessageRequestSchema: z.ZodMiniObject<{ method: z.ZodMiniLiteral<"sampling/createMessage">; params: z.ZodMiniObject<{ _meta: z.ZodMiniOptional, z.ZodMiniNumberFormat]>>; }, z.core.$loose>>; messages: z.ZodMiniArray; content: z.ZodMiniDiscriminatedUnion<[z.ZodMiniObject<{ type: z.ZodMiniLiteral<"text">; text: z.ZodMiniString; annotations: z.ZodMiniOptional>>; priority: z.ZodMiniOptional>; lastModified: z.ZodMiniOptional>; }, z.core.$loose>>; _meta: z.ZodMiniOptional>; }, z.core.$loose>, z.ZodMiniObject<{ type: z.ZodMiniLiteral<"image">; data: z.ZodMiniBase64; mimeType: z.ZodMiniString; annotations: z.ZodMiniOptional>>; priority: z.ZodMiniOptional>; lastModified: z.ZodMiniOptional>; }, z.core.$loose>>; _meta: z.ZodMiniOptional>; }, z.core.$loose>, z.ZodMiniObject<{ type: z.ZodMiniLiteral<"audio">; data: z.ZodMiniBase64; mimeType: z.ZodMiniString; annotations: z.ZodMiniOptional>>; priority: z.ZodMiniOptional>; lastModified: z.ZodMiniOptional>; }, z.core.$loose>>; _meta: z.ZodMiniOptional>; }, z.core.$loose>], "type">; }, z.core.$loose>>; modelPreferences: z.ZodMiniOptional>; }, z.core.$loose>>>; costPriority: z.ZodMiniOptional>; speedPriority: z.ZodMiniOptional>; intelligencePriority: z.ZodMiniOptional>; }, z.core.$loose>>; systemPrompt: z.ZodMiniOptional>; includeContext: z.ZodMiniOptional>; temperature: z.ZodMiniOptional>; maxTokens: z.ZodMiniNumber; stopSequences: z.ZodMiniOptional>>; metadata: z.ZodMiniOptional>; }, z.core.$loose>; }, z.core.$strip>; /** * The client's response to a sampling/create_message request from the server. * The client should inform the user before returning the sampled message, to * allow them to inspect the response (human in the loop) and decide whether to * allow the server to see it. */ export declare const CreateMessageResultSchema: z.ZodMiniObject<{ _meta: z.ZodMiniOptional>; model: z.ZodMiniString; stopReason: z.ZodMiniOptional, z.ZodMiniString]>>; role: z.ZodMiniEnum<{ user: "user"; assistant: "assistant"; }>; content: z.ZodMiniDiscriminatedUnion<[z.ZodMiniObject<{ type: z.ZodMiniLiteral<"text">; text: z.ZodMiniString; annotations: z.ZodMiniOptional>>; priority: z.ZodMiniOptional>; lastModified: z.ZodMiniOptional>; }, z.core.$loose>>; _meta: z.ZodMiniOptional>; }, z.core.$loose>, z.ZodMiniObject<{ type: z.ZodMiniLiteral<"image">; data: z.ZodMiniBase64; mimeType: z.ZodMiniString; annotations: z.ZodMiniOptional>>; priority: z.ZodMiniOptional>; lastModified: z.ZodMiniOptional>; }, z.core.$loose>>; _meta: z.ZodMiniOptional>; }, z.core.$loose>, z.ZodMiniObject<{ type: z.ZodMiniLiteral<"audio">; data: z.ZodMiniBase64; mimeType: z.ZodMiniString; annotations: z.ZodMiniOptional>>; priority: z.ZodMiniOptional>; lastModified: z.ZodMiniOptional>; }, z.core.$loose>>; _meta: z.ZodMiniOptional>; }, z.core.$loose>], "type">; }, z.core.$loose>;