UNPKG

genkitx-qdrant

Version:

Genkit AI framework plugin for the Qdrant vector database.

1,465 lines (1,463 loc) 159 kB
import * as _genkit_ai_ai_retriever from '@genkit-ai/ai/retriever'; import { EmbedderArgument } from '@genkit-ai/ai/embedder'; import { QdrantClientParams, Schemas } from '@qdrant/js-client-rest'; import { z, Genkit } from 'genkit'; import { GenkitPlugin } from 'genkit/plugin'; declare const QdrantIndexerOptionsSchema: z.ZodOptional<z.ZodNull>; /** * Parameters for the Qdrant plugin. */ interface QdrantPluginParams<E extends z.ZodTypeAny = z.ZodTypeAny> { /** * Parameters for instantiating `QdrantClient`. */ clientParams: QdrantClientParams; /** * Name of the Qdrant collection. */ collectionName: string; /** * Embedder to use for the retriever and indexer. */ embedder: EmbedderArgument<E>; /** * Addtional options for the embedder. */ embedderOptions?: z.infer<E>; /** * Document content key in the Qdrant payload. * Default is 'content'. */ contentPayloadKey?: string; /** * Document metadata key in the Qdrant payload. * Default is 'metadata'. */ metadataPayloadKey?: string; /** * Document data type key in the Qdrant payload. * Default is '_content_type'. * This is used to store the type of content. */ dataTypePayloadKey?: string; /** * Additional options when creating a collection. */ collectionCreateOptions?: Schemas['CreateCollection']; } /** * qdrantRetrieverRef function creates a retriever for Qdrant. * @param params The params for the new Qdrant retriever * @param params.collectionName The collection name for the Qdrant retriever * @param params.displayName A display name for the retriever. If not specified, the default label will be `Qdrant - <collectionName>` * @returns A reference to a Qdrant retriever. */ declare const qdrantRetrieverRef: (collectionName: string, displayName?: string | null) => _genkit_ai_ai_retriever.RetrieverReference<z.ZodObject<{} & { k: z.ZodDefault<z.ZodNumber>; filter: z.ZodOptional<z.ZodType<{ should?: any | Record<string, unknown> | { key: string; match?: Record<string, unknown> | { value: string | number | boolean; } | { text: string; } | { phrase: string; } | { any: number[] | string[]; } | { except: number[] | string[]; } | null | undefined; range?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | { lt?: string | null | undefined; gt?: string | null | undefined; gte?: string | null | undefined; lte?: string | null | undefined; } | null | undefined; geo_bounding_box?: Record<string, unknown> | { top_left: { lon: number; lat: number; }; bottom_right: { lon: number; lat: number; }; } | null | undefined; geo_radius?: Record<string, unknown> | { center: { lon: number; lat: number; }; radius: number; } | null | undefined; geo_polygon?: Record<string, unknown> | { exterior: { points: { lon: number; lat: number; }[]; }; interiors?: { points: { lon: number; lat: number; }[]; }[] | null | undefined; } | null | undefined; values_count?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | null | undefined; is_empty?: boolean | null | undefined; is_null?: boolean | null | undefined; } | { is_empty: { key: string; }; } | { is_null: { key: string; }; } | { has_id: (string | number)[]; } | { has_vector: string; } | { nested: { key: string; filter: any; }; } | (any | { key: string; match?: Record<string, unknown> | { value: string | number | boolean; } | { text: string; } | { phrase: string; } | { any: number[] | string[]; } | { except: number[] | string[]; } | null | undefined; range?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | { lt?: string | null | undefined; gt?: string | null | undefined; gte?: string | null | undefined; lte?: string | null | undefined; } | null | undefined; geo_bounding_box?: Record<string, unknown> | { top_left: { lon: number; lat: number; }; bottom_right: { lon: number; lat: number; }; } | null | undefined; geo_radius?: Record<string, unknown> | { center: { lon: number; lat: number; }; radius: number; } | null | undefined; geo_polygon?: Record<string, unknown> | { exterior: { points: { lon: number; lat: number; }[]; }; interiors?: { points: { lon: number; lat: number; }[]; }[] | null | undefined; } | null | undefined; values_count?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | null | undefined; is_empty?: boolean | null | undefined; is_null?: boolean | null | undefined; } | { is_empty: { key: string; }; } | { is_null: { key: string; }; } | { has_id: (string | number)[]; } | { has_vector: string; } | { nested: { key: string; filter: any; }; })[] | null | undefined; min_should?: Record<string, unknown> | { conditions: (any | { key: string; match?: Record<string, unknown> | { value: string | number | boolean; } | { text: string; } | { phrase: string; } | { any: number[] | string[]; } | { except: number[] | string[]; } | null | undefined; range?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | { lt?: string | null | undefined; gt?: string | null | undefined; gte?: string | null | undefined; lte?: string | null | undefined; } | null | undefined; geo_bounding_box?: Record<string, unknown> | { top_left: { lon: number; lat: number; }; bottom_right: { lon: number; lat: number; }; } | null | undefined; geo_radius?: Record<string, unknown> | { center: { lon: number; lat: number; }; radius: number; } | null | undefined; geo_polygon?: Record<string, unknown> | { exterior: { points: { lon: number; lat: number; }[]; }; interiors?: { points: { lon: number; lat: number; }[]; }[] | null | undefined; } | null | undefined; values_count?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | null | undefined; is_empty?: boolean | null | undefined; is_null?: boolean | null | undefined; } | { is_empty: { key: string; }; } | { is_null: { key: string; }; } | { has_id: (string | number)[]; } | { has_vector: string; } | { nested: { key: string; filter: any; }; })[]; min_count: number; } | null | undefined; must?: any | Record<string, unknown> | { key: string; match?: Record<string, unknown> | { value: string | number | boolean; } | { text: string; } | { phrase: string; } | { any: number[] | string[]; } | { except: number[] | string[]; } | null | undefined; range?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | { lt?: string | null | undefined; gt?: string | null | undefined; gte?: string | null | undefined; lte?: string | null | undefined; } | null | undefined; geo_bounding_box?: Record<string, unknown> | { top_left: { lon: number; lat: number; }; bottom_right: { lon: number; lat: number; }; } | null | undefined; geo_radius?: Record<string, unknown> | { center: { lon: number; lat: number; }; radius: number; } | null | undefined; geo_polygon?: Record<string, unknown> | { exterior: { points: { lon: number; lat: number; }[]; }; interiors?: { points: { lon: number; lat: number; }[]; }[] | null | undefined; } | null | undefined; values_count?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | null | undefined; is_empty?: boolean | null | undefined; is_null?: boolean | null | undefined; } | { is_empty: { key: string; }; } | { is_null: { key: string; }; } | { has_id: (string | number)[]; } | { has_vector: string; } | { nested: { key: string; filter: any; }; } | (any | { key: string; match?: Record<string, unknown> | { value: string | number | boolean; } | { text: string; } | { phrase: string; } | { any: number[] | string[]; } | { except: number[] | string[]; } | null | undefined; range?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | { lt?: string | null | undefined; gt?: string | null | undefined; gte?: string | null | undefined; lte?: string | null | undefined; } | null | undefined; geo_bounding_box?: Record<string, unknown> | { top_left: { lon: number; lat: number; }; bottom_right: { lon: number; lat: number; }; } | null | undefined; geo_radius?: Record<string, unknown> | { center: { lon: number; lat: number; }; radius: number; } | null | undefined; geo_polygon?: Record<string, unknown> | { exterior: { points: { lon: number; lat: number; }[]; }; interiors?: { points: { lon: number; lat: number; }[]; }[] | null | undefined; } | null | undefined; values_count?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | null | undefined; is_empty?: boolean | null | undefined; is_null?: boolean | null | undefined; } | { is_empty: { key: string; }; } | { is_null: { key: string; }; } | { has_id: (string | number)[]; } | { has_vector: string; } | { nested: { key: string; filter: any; }; })[] | null | undefined; must_not?: any | Record<string, unknown> | { key: string; match?: Record<string, unknown> | { value: string | number | boolean; } | { text: string; } | { phrase: string; } | { any: number[] | string[]; } | { except: number[] | string[]; } | null | undefined; range?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | { lt?: string | null | undefined; gt?: string | null | undefined; gte?: string | null | undefined; lte?: string | null | undefined; } | null | undefined; geo_bounding_box?: Record<string, unknown> | { top_left: { lon: number; lat: number; }; bottom_right: { lon: number; lat: number; }; } | null | undefined; geo_radius?: Record<string, unknown> | { center: { lon: number; lat: number; }; radius: number; } | null | undefined; geo_polygon?: Record<string, unknown> | { exterior: { points: { lon: number; lat: number; }[]; }; interiors?: { points: { lon: number; lat: number; }[]; }[] | null | undefined; } | null | undefined; values_count?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | null | undefined; is_empty?: boolean | null | undefined; is_null?: boolean | null | undefined; } | { is_empty: { key: string; }; } | { is_null: { key: string; }; } | { has_id: (string | number)[]; } | { has_vector: string; } | { nested: { key: string; filter: any; }; } | (any | { key: string; match?: Record<string, unknown> | { value: string | number | boolean; } | { text: string; } | { phrase: string; } | { any: number[] | string[]; } | { except: number[] | string[]; } | null | undefined; range?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | { lt?: string | null | undefined; gt?: string | null | undefined; gte?: string | null | undefined; lte?: string | null | undefined; } | null | undefined; geo_bounding_box?: Record<string, unknown> | { top_left: { lon: number; lat: number; }; bottom_right: { lon: number; lat: number; }; } | null | undefined; geo_radius?: Record<string, unknown> | { center: { lon: number; lat: number; }; radius: number; } | null | undefined; geo_polygon?: Record<string, unknown> | { exterior: { points: { lon: number; lat: number; }[]; }; interiors?: { points: { lon: number; lat: number; }[]; }[] | null | undefined; } | null | undefined; values_count?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | null | undefined; is_empty?: boolean | null | undefined; is_null?: boolean | null | undefined; } | { is_empty: { key: string; }; } | { is_null: { key: string; }; } | { has_id: (string | number)[]; } | { has_vector: string; } | { nested: { key: string; filter: any; }; })[] | null | undefined; }, z.ZodTypeDef, { should?: any | Record<string, unknown> | { key: string; match?: Record<string, unknown> | { value: string | number | boolean; } | { text: string; } | { phrase: string; } | { any: number[] | string[]; } | { except: number[] | string[]; } | null | undefined; range?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | { lt?: string | null | undefined; gt?: string | null | undefined; gte?: string | null | undefined; lte?: string | null | undefined; } | null | undefined; geo_bounding_box?: Record<string, unknown> | { top_left: { lon: number; lat: number; }; bottom_right: { lon: number; lat: number; }; } | null | undefined; geo_radius?: Record<string, unknown> | { center: { lon: number; lat: number; }; radius: number; } | null | undefined; geo_polygon?: Record<string, unknown> | { exterior: { points: { lon: number; lat: number; }[]; }; interiors?: { points: { lon: number; lat: number; }[]; }[] | null | undefined; } | null | undefined; values_count?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | null | undefined; is_empty?: boolean | null | undefined; is_null?: boolean | null | undefined; } | { is_empty: { key: string; }; } | { is_null: { key: string; }; } | { has_id: (string | number)[]; } | { has_vector: string; } | { nested: { key: string; filter: any; }; } | (any | { key: string; match?: Record<string, unknown> | { value: string | number | boolean; } | { text: string; } | { phrase: string; } | { any: number[] | string[]; } | { except: number[] | string[]; } | null | undefined; range?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | { lt?: string | null | undefined; gt?: string | null | undefined; gte?: string | null | undefined; lte?: string | null | undefined; } | null | undefined; geo_bounding_box?: Record<string, unknown> | { top_left: { lon: number; lat: number; }; bottom_right: { lon: number; lat: number; }; } | null | undefined; geo_radius?: Record<string, unknown> | { center: { lon: number; lat: number; }; radius: number; } | null | undefined; geo_polygon?: Record<string, unknown> | { exterior: { points: { lon: number; lat: number; }[]; }; interiors?: { points: { lon: number; lat: number; }[]; }[] | null | undefined; } | null | undefined; values_count?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | null | undefined; is_empty?: boolean | null | undefined; is_null?: boolean | null | undefined; } | { is_empty: { key: string; }; } | { is_null: { key: string; }; } | { has_id: (string | number)[]; } | { has_vector: string; } | { nested: { key: string; filter: any; }; })[] | null | undefined; min_should?: Record<string, unknown> | { conditions: (any | { key: string; match?: Record<string, unknown> | { value: string | number | boolean; } | { text: string; } | { phrase: string; } | { any: number[] | string[]; } | { except: number[] | string[]; } | null | undefined; range?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | { lt?: string | null | undefined; gt?: string | null | undefined; gte?: string | null | undefined; lte?: string | null | undefined; } | null | undefined; geo_bounding_box?: Record<string, unknown> | { top_left: { lon: number; lat: number; }; bottom_right: { lon: number; lat: number; }; } | null | undefined; geo_radius?: Record<string, unknown> | { center: { lon: number; lat: number; }; radius: number; } | null | undefined; geo_polygon?: Record<string, unknown> | { exterior: { points: { lon: number; lat: number; }[]; }; interiors?: { points: { lon: number; lat: number; }[]; }[] | null | undefined; } | null | undefined; values_count?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | null | undefined; is_empty?: boolean | null | undefined; is_null?: boolean | null | undefined; } | { is_empty: { key: string; }; } | { is_null: { key: string; }; } | { has_id: (string | number)[]; } | { has_vector: string; } | { nested: { key: string; filter: any; }; })[]; min_count: number; } | null | undefined; must?: any | Record<string, unknown> | { key: string; match?: Record<string, unknown> | { value: string | number | boolean; } | { text: string; } | { phrase: string; } | { any: number[] | string[]; } | { except: number[] | string[]; } | null | undefined; range?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | { lt?: string | null | undefined; gt?: string | null | undefined; gte?: string | null | undefined; lte?: string | null | undefined; } | null | undefined; geo_bounding_box?: Record<string, unknown> | { top_left: { lon: number; lat: number; }; bottom_right: { lon: number; lat: number; }; } | null | undefined; geo_radius?: Record<string, unknown> | { center: { lon: number; lat: number; }; radius: number; } | null | undefined; geo_polygon?: Record<string, unknown> | { exterior: { points: { lon: number; lat: number; }[]; }; interiors?: { points: { lon: number; lat: number; }[]; }[] | null | undefined; } | null | undefined; values_count?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | null | undefined; is_empty?: boolean | null | undefined; is_null?: boolean | null | undefined; } | { is_empty: { key: string; }; } | { is_null: { key: string; }; } | { has_id: (string | number)[]; } | { has_vector: string; } | { nested: { key: string; filter: any; }; } | (any | { key: string; match?: Record<string, unknown> | { value: string | number | boolean; } | { text: string; } | { phrase: string; } | { any: number[] | string[]; } | { except: number[] | string[]; } | null | undefined; range?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | { lt?: string | null | undefined; gt?: string | null | undefined; gte?: string | null | undefined; lte?: string | null | undefined; } | null | undefined; geo_bounding_box?: Record<string, unknown> | { top_left: { lon: number; lat: number; }; bottom_right: { lon: number; lat: number; }; } | null | undefined; geo_radius?: Record<string, unknown> | { center: { lon: number; lat: number; }; radius: number; } | null | undefined; geo_polygon?: Record<string, unknown> | { exterior: { points: { lon: number; lat: number; }[]; }; interiors?: { points: { lon: number; lat: number; }[]; }[] | null | undefined; } | null | undefined; values_count?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | null | undefined; is_empty?: boolean | null | undefined; is_null?: boolean | null | undefined; } | { is_empty: { key: string; }; } | { is_null: { key: string; }; } | { has_id: (string | number)[]; } | { has_vector: string; } | { nested: { key: string; filter: any; }; })[] | null | undefined; must_not?: any | Record<string, unknown> | { key: string; match?: Record<string, unknown> | { value: string | number | boolean; } | { text: string; } | { phrase: string; } | { any: number[] | string[]; } | { except: number[] | string[]; } | null | undefined; range?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | { lt?: string | null | undefined; gt?: string | null | undefined; gte?: string | null | undefined; lte?: string | null | undefined; } | null | undefined; geo_bounding_box?: Record<string, unknown> | { top_left: { lon: number; lat: number; }; bottom_right: { lon: number; lat: number; }; } | null | undefined; geo_radius?: Record<string, unknown> | { center: { lon: number; lat: number; }; radius: number; } | null | undefined; geo_polygon?: Record<string, unknown> | { exterior: { points: { lon: number; lat: number; }[]; }; interiors?: { points: { lon: number; lat: number; }[]; }[] | null | undefined; } | null | undefined; values_count?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | null | undefined; is_empty?: boolean | null | undefined; is_null?: boolean | null | undefined; } | { is_empty: { key: string; }; } | { is_null: { key: string; }; } | { has_id: (string | number)[]; } | { has_vector: string; } | { nested: { key: string; filter: any; }; } | (any | { key: string; match?: Record<string, unknown> | { value: string | number | boolean; } | { text: string; } | { phrase: string; } | { any: number[] | string[]; } | { except: number[] | string[]; } | null | undefined; range?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | { lt?: string | null | undefined; gt?: string | null | undefined; gte?: string | null | undefined; lte?: string | null | undefined; } | null | undefined; geo_bounding_box?: Record<string, unknown> | { top_left: { lon: number; lat: number; }; bottom_right: { lon: number; lat: number; }; } | null | undefined; geo_radius?: Record<string, unknown> | { center: { lon: number; lat: number; }; radius: number; } | null | undefined; geo_polygon?: Record<string, unknown> | { exterior: { points: { lon: number; lat: number; }[]; }; interiors?: { points: { lon: number; lat: number; }[]; }[] | null | undefined; } | null | undefined; values_count?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | null | undefined; is_empty?: boolean | null | undefined; is_null?: boolean | null | undefined; } | { is_empty: { key: string; }; } | { is_null: { key: string; }; } | { has_id: (string | number)[]; } | { has_vector: string; } | { nested: { key: string; filter: any; }; })[] | null | undefined; }>>; scoreThreshold: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { k: number; filter?: { should?: any | Record<string, unknown> | { key: string; match?: Record<string, unknown> | { value: string | number | boolean; } | { text: string; } | { phrase: string; } | { any: number[] | string[]; } | { except: number[] | string[]; } | null | undefined; range?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | { lt?: string | null | undefined; gt?: string | null | undefined; gte?: string | null | undefined; lte?: string | null | undefined; } | null | undefined; geo_bounding_box?: Record<string, unknown> | { top_left: { lon: number; lat: number; }; bottom_right: { lon: number; lat: number; }; } | null | undefined; geo_radius?: Record<string, unknown> | { center: { lon: number; lat: number; }; radius: number; } | null | undefined; geo_polygon?: Record<string, unknown> | { exterior: { points: { lon: number; lat: number; }[]; }; interiors?: { points: { lon: number; lat: number; }[]; }[] | null | undefined; } | null | undefined; values_count?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | null | undefined; is_empty?: boolean | null | undefined; is_null?: boolean | null | undefined; } | { is_empty: { key: string; }; } | { is_null: { key: string; }; } | { has_id: (string | number)[]; } | { has_vector: string; } | { nested: { key: string; filter: any; }; } | (any | { key: string; match?: Record<string, unknown> | { value: string | number | boolean; } | { text: string; } | { phrase: string; } | { any: number[] | string[]; } | { except: number[] | string[]; } | null | undefined; range?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | { lt?: string | null | undefined; gt?: string | null | undefined; gte?: string | null | undefined; lte?: string | null | undefined; } | null | undefined; geo_bounding_box?: Record<string, unknown> | { top_left: { lon: number; lat: number; }; bottom_right: { lon: number; lat: number; }; } | null | undefined; geo_radius?: Record<string, unknown> | { center: { lon: number; lat: number; }; radius: number; } | null | undefined; geo_polygon?: Record<string, unknown> | { exterior: { points: { lon: number; lat: number; }[]; }; interiors?: { points: { lon: number; lat: number; }[]; }[] | null | undefined; } | null | undefined; values_count?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | null | undefined; is_empty?: boolean | null | undefined; is_null?: boolean | null | undefined; } | { is_empty: { key: string; }; } | { is_null: { key: string; }; } | { has_id: (string | number)[]; } | { has_vector: string; } | { nested: { key: string; filter: any; }; })[] | null | undefined; min_should?: Record<string, unknown> | { conditions: (any | { key: string; match?: Record<string, unknown> | { value: string | number | boolean; } | { text: string; } | { phrase: string; } | { any: number[] | string[]; } | { except: number[] | string[]; } | null | undefined; range?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | { lt?: string | null | undefined; gt?: string | null | undefined; gte?: string | null | undefined; lte?: string | null | undefined; } | null | undefined; geo_bounding_box?: Record<string, unknown> | { top_left: { lon: number; lat: number; }; bottom_right: { lon: number; lat: number; }; } | null | undefined; geo_radius?: Record<string, unknown> | { center: { lon: number; lat: number; }; radius: number; } | null | undefined; geo_polygon?: Record<string, unknown> | { exterior: { points: { lon: number; lat: number; }[]; }; interiors?: { points: { lon: number; lat: number; }[]; }[] | null | undefined; } | null | undefined; values_count?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | null | undefined; is_empty?: boolean | null | undefined; is_null?: boolean | null | undefined; } | { is_empty: { key: string; }; } | { is_null: { key: string; }; } | { has_id: (string | number)[]; } | { has_vector: string; } | { nested: { key: string; filter: any; }; })[]; min_count: number; } | null | undefined; must?: any | Record<string, unknown> | { key: string; match?: Record<string, unknown> | { value: string | number | boolean; } | { text: string; } | { phrase: string; } | { any: number[] | string[]; } | { except: number[] | string[]; } | null | undefined; range?: Record<string, unknown> | { lt?: number | null | undefined; gt?: number | null | undefined; gte?: number | null | undefined; lte?: number | null | undefined; } | { lt?: string | null | undefined; gt?: string | null | undefined;