UNPKG

@genkit-ai/ai

Version:

Genkit AI framework generative AI APIs.

1,404 lines (1,402 loc) 52.6 kB
import { ToolResponse, Part } from './parts.js'; import { z, Action, ActionFnArg, ActionMetadata } from '@genkit-ai/core'; import { Registry } from '@genkit-ai/core/registry'; /** * A batch (array) of embeddings. */ type EmbeddingBatch = { embedding: number[]; }[]; /** * EmbeddingSchema includes the embedding and also metadata so you know * which of multiple embeddings corresponds to which part of a document. */ declare const EmbeddingSchema: z.ZodObject<{ embedding: z.ZodArray<z.ZodNumber, "many">; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; }, "strip", z.ZodTypeAny, { embedding: number[]; metadata?: Record<string, unknown> | undefined; }, { embedding: number[]; metadata?: Record<string, unknown> | undefined; }>; /** A single embedding vector with optional metadata. */ type Embedding = z.infer<typeof EmbeddingSchema>; /** * A function used for embedder definition, encapsulates embedder implementation. */ type EmbedderFn<EmbedderOptions extends z.ZodTypeAny> = (input: Document[], embedderOpts?: z.infer<EmbedderOptions>) => Promise<EmbedResponse>; /** * Zod schema of an embed request. */ declare const EmbedRequestSchema: z.ZodObject<{ input: z.ZodArray<z.ZodObject<{ content: z.ZodArray<z.ZodUnion<[z.ZodObject<{ media: z.ZodOptional<z.ZodNever>; toolRequest: z.ZodOptional<z.ZodNever>; toolResponse: z.ZodOptional<z.ZodNever>; data: z.ZodOptional<z.ZodUnknown>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; reasoning: z.ZodOptional<z.ZodNever>; resource: z.ZodOptional<z.ZodNever>; } & { text: z.ZodString; }, "strip", z.ZodTypeAny, { text: string; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }, { text: string; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }>, z.ZodObject<{ text: z.ZodOptional<z.ZodNever>; toolRequest: z.ZodOptional<z.ZodNever>; toolResponse: z.ZodOptional<z.ZodNever>; data: z.ZodOptional<z.ZodUnknown>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; reasoning: z.ZodOptional<z.ZodNever>; resource: z.ZodOptional<z.ZodNever>; } & { media: z.ZodObject<{ contentType: z.ZodOptional<z.ZodString>; url: z.ZodString; }, "strip", z.ZodTypeAny, { url: string; contentType?: string | undefined; }, { url: string; contentType?: string | undefined; }>; }, "strip", z.ZodTypeAny, { media: { url: string; contentType?: string | undefined; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }, { media: { url: string; contentType?: string | undefined; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }>, z.ZodObject<{ text: z.ZodOptional<z.ZodNever>; media: z.ZodOptional<z.ZodNever>; toolResponse: z.ZodOptional<z.ZodNever>; data: z.ZodOptional<z.ZodUnknown>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; reasoning: z.ZodOptional<z.ZodNever>; resource: z.ZodOptional<z.ZodNever>; } & { toolRequest: z.ZodObject<{ ref: z.ZodOptional<z.ZodString>; name: z.ZodString; input: z.ZodOptional<z.ZodUnknown>; partial: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { name: string; ref?: string | undefined; input?: unknown; partial?: boolean | undefined; }, { name: string; ref?: string | undefined; input?: unknown; partial?: boolean | undefined; }>; }, "strip", z.ZodTypeAny, { toolRequest: { name: string; ref?: string | undefined; input?: unknown; partial?: boolean | undefined; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }, { toolRequest: { name: string; ref?: string | undefined; input?: unknown; partial?: boolean | undefined; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }>, z.ZodObject<{ text: z.ZodOptional<z.ZodNever>; media: z.ZodOptional<z.ZodNever>; toolRequest: z.ZodOptional<z.ZodNever>; data: z.ZodOptional<z.ZodUnknown>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; reasoning: z.ZodOptional<z.ZodNever>; resource: z.ZodOptional<z.ZodNever>; } & { toolResponse: z.ZodType<ToolResponse, z.ZodTypeDef, ToolResponse>; }, "strip", z.ZodTypeAny, { toolResponse: { name: string; output?: unknown; ref?: string | undefined; } & { content?: Part[]; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }, { toolResponse: { name: string; output?: unknown; ref?: string | undefined; } & { content?: Part[]; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }>, z.ZodObject<{ text: z.ZodOptional<z.ZodNever>; media: z.ZodOptional<z.ZodNever>; toolRequest: z.ZodOptional<z.ZodNever>; toolResponse: z.ZodOptional<z.ZodNever>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; reasoning: z.ZodOptional<z.ZodNever>; resource: z.ZodOptional<z.ZodNever>; } & { data: z.ZodUnknown; }, "strip", z.ZodTypeAny, { metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }, { metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }>, z.ZodObject<{ text: z.ZodOptional<z.ZodNever>; media: z.ZodOptional<z.ZodNever>; toolRequest: z.ZodOptional<z.ZodNever>; toolResponse: z.ZodOptional<z.ZodNever>; data: z.ZodOptional<z.ZodUnknown>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; reasoning: z.ZodOptional<z.ZodNever>; resource: z.ZodOptional<z.ZodNever>; } & { custom: z.ZodRecord<z.ZodString, z.ZodAny>; }, "strip", z.ZodTypeAny, { custom: Record<string, any>; metadata?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }, { custom: Record<string, any>; metadata?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }>, z.ZodObject<{ text: z.ZodOptional<z.ZodNever>; media: z.ZodOptional<z.ZodNever>; toolRequest: z.ZodOptional<z.ZodNever>; toolResponse: z.ZodOptional<z.ZodNever>; data: z.ZodOptional<z.ZodUnknown>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; resource: z.ZodOptional<z.ZodNever>; } & { reasoning: z.ZodString; }, "strip", z.ZodTypeAny, { reasoning: string; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; resource?: undefined; }, { reasoning: string; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; resource?: undefined; }>, z.ZodObject<{ text: z.ZodOptional<z.ZodNever>; media: z.ZodOptional<z.ZodNever>; toolRequest: z.ZodOptional<z.ZodNever>; toolResponse: z.ZodOptional<z.ZodNever>; data: z.ZodOptional<z.ZodUnknown>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; reasoning: z.ZodOptional<z.ZodNever>; } & { resource: z.ZodObject<{ uri: z.ZodString; }, "strip", z.ZodTypeAny, { uri: string; }, { uri: string; }>; }, "strip", z.ZodTypeAny, { resource: { uri: string; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; }, { resource: { uri: string; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; }>]>, "many">; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>; }, "strip", z.ZodTypeAny, { content: ({ text: string; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { media: { url: string; contentType?: string | undefined; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { toolRequest: { name: string; ref?: string | undefined; input?: unknown; partial?: boolean | undefined; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { toolResponse: { name: string; output?: unknown; ref?: string | undefined; } & { content?: Part[]; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { custom: Record<string, any>; metadata?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { reasoning: string; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; resource?: undefined; } | { resource: { uri: string; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; })[]; metadata?: Record<string, any> | undefined; }, { content: ({ text: string; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { media: { url: string; contentType?: string | undefined; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { toolRequest: { name: string; ref?: string | undefined; input?: unknown; partial?: boolean | undefined; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { toolResponse: { name: string; output?: unknown; ref?: string | undefined; } & { content?: Part[]; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { custom: Record<string, any>; metadata?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { reasoning: string; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; resource?: undefined; } | { resource: { uri: string; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; })[]; metadata?: Record<string, any> | undefined; }>, "many">; options: z.ZodOptional<z.ZodAny>; }, "strip", z.ZodTypeAny, { input: { content: ({ text: string; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { media: { url: string; contentType?: string | undefined; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { toolRequest: { name: string; ref?: string | undefined; input?: unknown; partial?: boolean | undefined; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { toolResponse: { name: string; output?: unknown; ref?: string | undefined; } & { content?: Part[]; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { custom: Record<string, any>; metadata?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { reasoning: string; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; resource?: undefined; } | { resource: { uri: string; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; })[]; metadata?: Record<string, any> | undefined; }[]; options?: any; }, { input: { content: ({ text: string; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { media: { url: string; contentType?: string | undefined; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { toolRequest: { name: string; ref?: string | undefined; input?: unknown; partial?: boolean | undefined; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { toolResponse: { name: string; output?: unknown; ref?: string | undefined; } & { content?: Part[]; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { custom: Record<string, any>; metadata?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { reasoning: string; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; resource?: undefined; } | { resource: { uri: string; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; })[]; metadata?: Record<string, any> | undefined; }[]; options?: any; }>; /** An embed request containing documents to embed and optional configuration. */ interface EmbedRequest<O = any> { input: Document[]; options?: O; } /** * Zod schema of an embed response. */ declare const EmbedResponseSchema: z.ZodObject<{ embeddings: z.ZodArray<z.ZodObject<{ embedding: z.ZodArray<z.ZodNumber, "many">; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; }, "strip", z.ZodTypeAny, { embedding: number[]; metadata?: Record<string, unknown> | undefined; }, { embedding: number[]; metadata?: Record<string, unknown> | undefined; }>, "many">; }, "strip", z.ZodTypeAny, { embeddings: { embedding: number[]; metadata?: Record<string, unknown> | undefined; }[]; }, { embeddings: { embedding: number[]; metadata?: Record<string, unknown> | undefined; }[]; }>; type EmbedResponse = z.infer<typeof EmbedResponseSchema>; /** * Embedder action -- a subtype of {@link Action} with input/output types for embedders. */ type EmbedderAction<CustomOptions extends z.ZodTypeAny = z.ZodTypeAny> = Action<typeof EmbedRequestSchema, typeof EmbedResponseSchema> & { __configSchema?: CustomOptions; }; /** * Options of an `embed` function. */ interface EmbedderParams<CustomOptions extends z.ZodTypeAny = z.ZodTypeAny> { embedder: EmbedderArgument<CustomOptions>; content: string | DocumentData; metadata?: Record<string, unknown>; options?: z.infer<CustomOptions>; } /** Configuration options for defining an embedder via {@link defineEmbedder} or {@link embedder}. */ interface EmbedderOptions<ConfigSchema extends z.ZodTypeAny> { name: string; configSchema?: ConfigSchema; info?: EmbedderInfo; } /** * Creates embedder model for the provided {@link EmbedderFn} model implementation. * * Unlike `defineEmbedder` this function does not register the embedder in the reigistry. */ declare function embedder<ConfigSchema extends z.ZodTypeAny = z.ZodTypeAny>(options: EmbedderOptions<ConfigSchema>, runner: (input: EmbedRequest<z.infer<ConfigSchema>>, opts: ActionFnArg<any>) => Promise<EmbedResponse>): EmbedderAction<ConfigSchema>; /** * Creates embedder model for the provided {@link EmbedderFn} model implementation. */ declare function defineEmbedder<ConfigSchema extends z.ZodTypeAny = z.ZodTypeAny>(registry: Registry, options: EmbedderOptions<ConfigSchema>, runner: EmbedderFn<ConfigSchema>): EmbedderAction<ConfigSchema>; /** * A union type representing all the types that can refer to an embedder. */ type EmbedderArgument<CustomOptions extends z.ZodTypeAny = z.ZodTypeAny> = string | EmbedderAction<CustomOptions> | EmbedderReference<CustomOptions>; /** * A veneer for interacting with embedder models. */ declare function embed<CustomOptions extends z.ZodTypeAny = z.ZodTypeAny>(registry: Registry, params: EmbedderParams<CustomOptions>): Promise<Embedding[]>; /** * A veneer for interacting with embedder models in bulk. */ declare function embedMany<ConfigSchema extends z.ZodTypeAny = z.ZodTypeAny>(registry: Registry, params: { embedder: EmbedderArgument<ConfigSchema>; content: string[] | DocumentData[]; metadata?: Record<string, unknown>; options?: z.infer<ConfigSchema>; }): Promise<EmbeddingBatch>; /** * Zod schema of embedder info object. */ declare const EmbedderInfoSchema: z.ZodObject<{ /** Friendly label for this model (e.g. "Google AI - Gemini Pro") */ label: z.ZodOptional<z.ZodString>; /** Supported model capabilities. */ supports: z.ZodOptional<z.ZodObject<{ /** Model can input this type of data. */ input: z.ZodOptional<z.ZodArray<z.ZodEnum<["text", "image", "video"]>, "many">>; /** Model can support multiple languages */ multilingual: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { input?: ("text" | "image" | "video")[] | undefined; multilingual?: boolean | undefined; }, { input?: ("text" | "image" | "video")[] | undefined; multilingual?: boolean | undefined; }>>; /** Embedding dimension */ dimensions: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { label?: string | undefined; supports?: { input?: ("text" | "image" | "video")[] | undefined; multilingual?: boolean | undefined; } | undefined; dimensions?: number | undefined; }, { label?: string | undefined; supports?: { input?: ("text" | "image" | "video")[] | undefined; multilingual?: boolean | undefined; } | undefined; dimensions?: number | undefined; }>; /** Embedder metadata information including label, capabilities, and dimensions. */ type EmbedderInfo = z.infer<typeof EmbedderInfoSchema>; /** * A reference object that can used to resolve an embedder instance. Include additional type information * about the specific embedder, e.g. custom config options schema. */ interface EmbedderReference<CustomOptions extends z.ZodTypeAny = z.ZodTypeAny> { name: string; configSchema?: CustomOptions; info?: EmbedderInfo; config?: z.infer<CustomOptions>; version?: string; } /** * Helper method to configure a {@link EmbedderReference} to a plugin. */ declare function embedderRef<CustomOptionsSchema extends z.ZodTypeAny = z.ZodTypeAny>(options: EmbedderReference<CustomOptionsSchema> & { namespace?: string; }): EmbedderReference<CustomOptionsSchema>; /** * Packages embedder information into ActionMetadata object. */ declare function embedderActionMetadata({ name, info, configSchema, }: { name: string; info?: EmbedderInfo; configSchema?: z.ZodTypeAny; }): ActionMetadata; /** * Zod schema for the serializable data representation of a {@link Document}. * Contains an array of content parts and optional metadata. */ declare const DocumentDataSchema: z.ZodObject<{ content: z.ZodArray<z.ZodUnion<[z.ZodObject<{ media: z.ZodOptional<z.ZodNever>; toolRequest: z.ZodOptional<z.ZodNever>; toolResponse: z.ZodOptional<z.ZodNever>; data: z.ZodOptional<z.ZodUnknown>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; reasoning: z.ZodOptional<z.ZodNever>; resource: z.ZodOptional<z.ZodNever>; } & { text: z.ZodString; }, "strip", z.ZodTypeAny, { text: string; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }, { text: string; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }>, z.ZodObject<{ text: z.ZodOptional<z.ZodNever>; toolRequest: z.ZodOptional<z.ZodNever>; toolResponse: z.ZodOptional<z.ZodNever>; data: z.ZodOptional<z.ZodUnknown>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; reasoning: z.ZodOptional<z.ZodNever>; resource: z.ZodOptional<z.ZodNever>; } & { media: z.ZodObject<{ contentType: z.ZodOptional<z.ZodString>; url: z.ZodString; }, "strip", z.ZodTypeAny, { url: string; contentType?: string | undefined; }, { url: string; contentType?: string | undefined; }>; }, "strip", z.ZodTypeAny, { media: { url: string; contentType?: string | undefined; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }, { media: { url: string; contentType?: string | undefined; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }>, z.ZodObject<{ text: z.ZodOptional<z.ZodNever>; media: z.ZodOptional<z.ZodNever>; toolResponse: z.ZodOptional<z.ZodNever>; data: z.ZodOptional<z.ZodUnknown>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; reasoning: z.ZodOptional<z.ZodNever>; resource: z.ZodOptional<z.ZodNever>; } & { toolRequest: z.ZodObject<{ ref: z.ZodOptional<z.ZodString>; name: z.ZodString; input: z.ZodOptional<z.ZodUnknown>; partial: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { name: string; ref?: string | undefined; input?: unknown; partial?: boolean | undefined; }, { name: string; ref?: string | undefined; input?: unknown; partial?: boolean | undefined; }>; }, "strip", z.ZodTypeAny, { toolRequest: { name: string; ref?: string | undefined; input?: unknown; partial?: boolean | undefined; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }, { toolRequest: { name: string; ref?: string | undefined; input?: unknown; partial?: boolean | undefined; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }>, z.ZodObject<{ text: z.ZodOptional<z.ZodNever>; media: z.ZodOptional<z.ZodNever>; toolRequest: z.ZodOptional<z.ZodNever>; data: z.ZodOptional<z.ZodUnknown>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; reasoning: z.ZodOptional<z.ZodNever>; resource: z.ZodOptional<z.ZodNever>; } & { toolResponse: z.ZodType<ToolResponse, z.ZodTypeDef, ToolResponse>; }, "strip", z.ZodTypeAny, { toolResponse: { name: string; output?: unknown; ref?: string | undefined; } & { content?: Part[]; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }, { toolResponse: { name: string; output?: unknown; ref?: string | undefined; } & { content?: Part[]; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }>, z.ZodObject<{ text: z.ZodOptional<z.ZodNever>; media: z.ZodOptional<z.ZodNever>; toolRequest: z.ZodOptional<z.ZodNever>; toolResponse: z.ZodOptional<z.ZodNever>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; reasoning: z.ZodOptional<z.ZodNever>; resource: z.ZodOptional<z.ZodNever>; } & { data: z.ZodUnknown; }, "strip", z.ZodTypeAny, { metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }, { metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }>, z.ZodObject<{ text: z.ZodOptional<z.ZodNever>; media: z.ZodOptional<z.ZodNever>; toolRequest: z.ZodOptional<z.ZodNever>; toolResponse: z.ZodOptional<z.ZodNever>; data: z.ZodOptional<z.ZodUnknown>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; reasoning: z.ZodOptional<z.ZodNever>; resource: z.ZodOptional<z.ZodNever>; } & { custom: z.ZodRecord<z.ZodString, z.ZodAny>; }, "strip", z.ZodTypeAny, { custom: Record<string, any>; metadata?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }, { custom: Record<string, any>; metadata?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }>, z.ZodObject<{ text: z.ZodOptional<z.ZodNever>; media: z.ZodOptional<z.ZodNever>; toolRequest: z.ZodOptional<z.ZodNever>; toolResponse: z.ZodOptional<z.ZodNever>; data: z.ZodOptional<z.ZodUnknown>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; resource: z.ZodOptional<z.ZodNever>; } & { reasoning: z.ZodString; }, "strip", z.ZodTypeAny, { reasoning: string; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; resource?: undefined; }, { reasoning: string; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; resource?: undefined; }>, z.ZodObject<{ text: z.ZodOptional<z.ZodNever>; media: z.ZodOptional<z.ZodNever>; toolRequest: z.ZodOptional<z.ZodNever>; toolResponse: z.ZodOptional<z.ZodNever>; data: z.ZodOptional<z.ZodUnknown>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; reasoning: z.ZodOptional<z.ZodNever>; } & { resource: z.ZodObject<{ uri: z.ZodString; }, "strip", z.ZodTypeAny, { uri: string; }, { uri: string; }>; }, "strip", z.ZodTypeAny, { resource: { uri: string; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; }, { resource: { uri: string; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; }>]>, "many">; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>; }, "strip", z.ZodTypeAny, { content: ({ text: string; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { media: { url: string; contentType?: string | undefined; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { toolRequest: { name: string; ref?: string | undefined; input?: unknown; partial?: boolean | undefined; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { toolResponse: { name: string; output?: unknown; ref?: string | undefined; } & { content?: Part[]; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { custom: Record<string, any>; metadata?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { reasoning: string; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; resource?: undefined; } | { resource: { uri: string; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; })[]; metadata?: Record<string, any> | undefined; }, { content: ({ text: string; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { media: { url: string; contentType?: string | undefined; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { toolRequest: { name: string; ref?: string | undefined; input?: unknown; partial?: boolean | undefined; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { toolResponse: { name: string; output?: unknown; ref?: string | undefined; } & { content?: Part[]; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { custom: Record<string, any>; metadata?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { reasoning: string; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; resource?: undefined; } | { resource: { uri: string; }; metadata?: Record<string, unknown> | undefined; custom?: Record<string, unknown> | undefined; text?: undefined; media?