import { z, Action } from '@genkit-ai/core'; import { Registry } from '@genkit-ai/core/registry'; import { b as DocumentData, D as Document, P as Part } from './document-Batw8a-E.js'; /** * Copyright 2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ type RerankerFn = (query: Document, documents: Document[], queryOpts: z.infer) => Promise; /** * Zod schema for a reranked document metadata. */ declare const RankedDocumentMetadataSchema: z.ZodObject<{ score: z.ZodNumber; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ score: z.ZodNumber; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ score: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>; declare const RankedDocumentDataSchema: z.ZodObject<{ content: z.ZodArray; toolRequest: z.ZodOptional; toolResponse: z.ZodOptional; data: z.ZodOptional; metadata: z.ZodOptional>; custom: z.ZodOptional>; reasoning: z.ZodOptional; resource: z.ZodOptional; } & { text: z.ZodString; }, "strip", z.ZodTypeAny, { text: string; custom?: Record | undefined; metadata?: Record | undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }, { text: string; custom?: Record | undefined; metadata?: Record | undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }>, z.ZodObject<{ text: z.ZodOptional; toolRequest: z.ZodOptional; toolResponse: z.ZodOptional; data: z.ZodOptional; metadata: z.ZodOptional>; custom: z.ZodOptional>; reasoning: z.ZodOptional; resource: z.ZodOptional; } & { media: z.ZodObject<{ contentType: z.ZodOptional; 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; }; custom?: Record | undefined; metadata?: Record | undefined; text?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }, { media: { url: string; contentType?: string | undefined; }; custom?: Record | undefined; metadata?: Record | undefined; text?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }>]>, "many">; metadata: z.ZodObject<{ score: z.ZodNumber; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ score: z.ZodNumber; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ score: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>; }, "strip", z.ZodTypeAny, { metadata: { score: number; } & { [k: string]: unknown; }; content: ({ text: string; custom?: Record | undefined; metadata?: Record | undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { media: { url: string; contentType?: string | undefined; }; custom?: Record | undefined; metadata?: Record | undefined; text?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; })[]; }, { metadata: { score: number; } & { [k: string]: unknown; }; content: ({ text: string; custom?: Record | undefined; metadata?: Record | undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { media: { url: string; contentType?: string | undefined; }; custom?: Record | undefined; metadata?: Record | undefined; text?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; })[]; }>; type RankedDocumentData = z.infer; declare class RankedDocument extends Document implements RankedDocumentData { content: Part[]; metadata: { score: number; } & Record; constructor(data: RankedDocumentData); /** * Returns the score of the document. * @returns The score of the document. */ score(): number; } declare const RerankerRequestSchema: z.ZodObject<{ query: z.ZodObject<{ content: z.ZodArray; toolRequest: z.ZodOptional; toolResponse: z.ZodOptional; data: z.ZodOptional; metadata: z.ZodOptional>; custom: z.ZodOptional>; reasoning: z.ZodOptional; resource: z.ZodOptional; } & { text: z.ZodString; }, "strip", z.ZodTypeAny, { text: string; custom?: Record | undefined; metadata?: Record | undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }, { text: string; custom?: Record | undefined; metadata?: Record | undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }>, z.ZodObject<{ text: z.ZodOptional; toolRequest: z.ZodOptional; toolResponse: z.ZodOptional; data: z.ZodOptional; metadata: z.ZodOptional>; custom: z.ZodOptional>; reasoning: z.ZodOptional; resource: z.ZodOptional; } & { media: z.ZodObject<{ contentType: z.ZodOptional; 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; }; custom?: Record | undefined; metadata?: Record | undefined; text?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }, { media: { url: string; contentType?: string | undefined; }; custom?: Record | undefined; metadata?: Record | undefined; text?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }>]>, "many">; metadata: z.ZodOptional>; }, "strip", z.ZodTypeAny, { content: ({ text: string; custom?: Record | undefined; metadata?: Record | undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { media: { url: string; contentType?: string | undefined; }; custom?: Record | undefined; metadata?: Record | undefined; text?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; })[]; metadata?: Record | undefined; }, { content: ({ text: string; custom?: Record | undefined; metadata?: Record | undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { media: { url: string; contentType?: string | undefined; }; custom?: Record | undefined; metadata?: Record | undefined; text?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; })[]; metadata?: Record | undefined; }>; documents: z.ZodArray; toolRequest: z.ZodOptional; toolResponse: z.ZodOptional; data: z.ZodOptional; metadata: z.ZodOptional>; custom: z.ZodOptional>; reasoning: z.ZodOptional; resource: z.ZodOptional; } & { text: z.ZodString; }, "strip", z.ZodTypeAny, { text: string; custom?: Record | undefined; metadata?: Record | undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }, { text: string; custom?: Record | undefined; metadata?: Record | undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }>, z.ZodObject<{ text: z.ZodOptional; toolRequest: z.ZodOptional; toolResponse: z.ZodOptional; data: z.ZodOptional; metadata: z.ZodOptional>; custom: z.ZodOptional>; reasoning: z.ZodOptional; resource: z.ZodOptional; } & { media: z.ZodObject<{ contentType: z.ZodOptional; 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; }; custom?: Record | undefined; metadata?: Record | undefined; text?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }, { media: { url: string; contentType?: string | undefined; }; custom?: Record | undefined; metadata?: Record | undefined; text?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }>]>, "many">; metadata: z.ZodOptional>; }, "strip", z.ZodTypeAny, { content: ({ text: string; custom?: Record | undefined; metadata?: Record | undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { media: { url: string; contentType?: string | undefined; }; custom?: Record | undefined; metadata?: Record | undefined; text?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; })[]; metadata?: Record | undefined; }, { content: ({ text: string; custom?: Record | undefined; metadata?: Record | undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { media: { url: string; contentType?: string | undefined; }; custom?: Record | undefined; metadata?: Record | undefined; text?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; })[]; metadata?: Record | undefined; }>, "many">; options: z.ZodOptional; }, "strip", z.ZodTypeAny, { documents: { content: ({ text: string; custom?: Record | undefined; metadata?: Record | undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { media: { url: string; contentType?: string | undefined; }; custom?: Record | undefined; metadata?: Record | undefined; text?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; })[]; metadata?: Record | undefined; }[]; query: { content: ({ text: string; custom?: Record | undefined; metadata?: Record | undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { media: { url: string; contentType?: string | undefined; }; custom?: Record | undefined; metadata?: Record | undefined; text?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; })[]; metadata?: Record | undefined; }; options?: any; }, { documents: { content: ({ text: string; custom?: Record | undefined; metadata?: Record | undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { media: { url: string; contentType?: string | undefined; }; custom?: Record | undefined; metadata?: Record | undefined; text?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; })[]; metadata?: Record | undefined; }[]; query: { content: ({ text: string; custom?: Record | undefined; metadata?: Record | undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { media: { url: string; contentType?: string | undefined; }; custom?: Record | undefined; metadata?: Record | undefined; text?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; })[]; metadata?: Record | undefined; }; options?: any; }>; declare const RerankerResponseSchema: z.ZodObject<{ documents: z.ZodArray; toolRequest: z.ZodOptional; toolResponse: z.ZodOptional; data: z.ZodOptional; metadata: z.ZodOptional>; custom: z.ZodOptional>; reasoning: z.ZodOptional; resource: z.ZodOptional; } & { text: z.ZodString; }, "strip", z.ZodTypeAny, { text: string; custom?: Record | undefined; metadata?: Record | undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }, { text: string; custom?: Record | undefined; metadata?: Record | undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }>, z.ZodObject<{ text: z.ZodOptional; toolRequest: z.ZodOptional; toolResponse: z.ZodOptional; data: z.ZodOptional; metadata: z.ZodOptional>; custom: z.ZodOptional>; reasoning: z.ZodOptional; resource: z.ZodOptional; } & { media: z.ZodObject<{ contentType: z.ZodOptional; 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; }; custom?: Record | undefined; metadata?: Record | undefined; text?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }, { media: { url: string; contentType?: string | undefined; }; custom?: Record | undefined; metadata?: Record | undefined; text?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; }>]>, "many">; metadata: z.ZodObject<{ score: z.ZodNumber; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ score: z.ZodNumber; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ score: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>; }, "strip", z.ZodTypeAny, { metadata: { score: number; } & { [k: string]: unknown; }; content: ({ text: string; custom?: Record | undefined; metadata?: Record | undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { media: { url: string; contentType?: string | undefined; }; custom?: Record | undefined; metadata?: Record | undefined; text?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; })[]; }, { metadata: { score: number; } & { [k: string]: unknown; }; content: ({ text: string; custom?: Record | undefined; metadata?: Record | undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { media: { url: string; contentType?: string | undefined; }; custom?: Record | undefined; metadata?: Record | undefined; text?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; })[]; }>, "many">; }, "strip", z.ZodTypeAny, { documents: { metadata: { score: number; } & { [k: string]: unknown; }; content: ({ text: string; custom?: Record | undefined; metadata?: Record | undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { media: { url: string; contentType?: string | undefined; }; custom?: Record | undefined; metadata?: Record | undefined; text?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; })[]; }[]; }, { documents: { metadata: { score: number; } & { [k: string]: unknown; }; content: ({ text: string; custom?: Record | undefined; metadata?: Record | undefined; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; } | { media: { url: string; contentType?: string | undefined; }; custom?: Record | undefined; metadata?: Record | undefined; text?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; reasoning?: undefined; resource?: undefined; })[]; }[]; }>; type RerankerResponse = z.infer; declare const RerankerInfoSchema: z.ZodObject<{ label: z.ZodOptional; /** Supported model capabilities. */ supports: z.ZodOptional; }, "strip", z.ZodTypeAny, { media?: boolean | undefined; }, { media?: boolean | undefined; }>>; }, "strip", z.ZodTypeAny, { label?: string | undefined; supports?: { media?: boolean | undefined; } | undefined; }, { label?: string | undefined; supports?: { media?: boolean | undefined; } | undefined; }>; type RerankerInfo = z.infer; type RerankerAction = Action & { __configSchema?: CustomOptions; }; /** * Creates a reranker action for the provided {@link RerankerFn} implementation. */ declare function defineReranker(registry: Registry, options: { name: string; configSchema?: OptionsType; info?: RerankerInfo; }, runner: RerankerFn): RerankerAction; interface RerankerParams { reranker: RerankerArgument; query: string | DocumentData; documents: DocumentData[]; options?: z.infer; } type RerankerArgument = RerankerAction | RerankerReference | string; /** * Reranks documents from a {@link RerankerArgument} based on the provided query. */ declare function rerank(registry: Registry, params: RerankerParams): Promise>; declare const CommonRerankerOptionsSchema: z.ZodObject<{ k: z.ZodOptional; }, "strip", z.ZodTypeAny, { k?: number | undefined; }, { k?: number | undefined; }>; interface RerankerReference { name: string; configSchema?: CustomOptions; info?: RerankerInfo; } /** * Helper method to configure a {@link RerankerReference} to a plugin. */ declare function rerankerRef(options: RerankerReference): RerankerReference; export { CommonRerankerOptionsSchema, RankedDocument, type RankedDocumentData, RankedDocumentDataSchema, RankedDocumentMetadataSchema, type RerankerAction, type RerankerArgument, type RerankerFn, type RerankerInfo, RerankerInfoSchema, type RerankerParams, type RerankerReference, defineReranker, rerank, rerankerRef };