import { Tool, JSONToolOutput, BaseToolOptions, BaseToolRunOptions, ToolEmitter, ToolInput } from './base.cjs'; import { z } from 'zod'; import { RunContext } from '../context.cjs'; import 'ajv'; import '../errors.cjs'; import '../internals/types.cjs'; import '../internals/helpers/guards.cjs'; import '../internals/serializable.cjs'; import 'promise-based-task'; import '../cache/base.cjs'; import '../internals/helpers/schema.cjs'; import 'zod-to-json-schema'; import '../emitter-D4OcelZ9.cjs'; import '../internals/helpers/promise.cjs'; /** * Copyright 2025 © BeeAI a Series of LF Projects, LLC * SPDX-License-Identifier: Apache-2.0 */ declare const documentSchema: z.ZodObject<{ text: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ text: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ text: z.ZodString; }, z.ZodTypeAny, "passthrough">>; type Document = z.infer; interface ProviderInput { query: string; documents: Document[]; } type Provider = (input: ProviderInput, options: TProviderOptions | undefined, run: RunContext>) => Promise<{ score: number; }[]>; interface SimilarityToolOptions extends BaseToolOptions { provider: Provider; maxResults?: number; } interface SimilarityToolRunOptions extends BaseToolRunOptions { provider?: TProviderOptions; maxResults?: number; minScore?: number; } interface SimilarityToolResult { document: Document; index: number; score: number; } declare class SimilarityToolOutput extends JSONToolOutput { } declare class SimilarityTool extends Tool, SimilarityToolRunOptions> { name: string; description: string; readonly emitter: ToolEmitter, SimilarityToolOutput>; inputSchema(): z.ZodObject<{ query: z.ZodString; documents: z.ZodArray, z.objectInputType<{ text: z.ZodString; }, z.ZodTypeAny, "passthrough">>, "many">; }, "strip", z.ZodTypeAny, { query: string; documents: z.objectOutputType<{ text: z.ZodString; }, z.ZodTypeAny, "passthrough">[]; }, { query: string; documents: z.objectInputType<{ text: z.ZodString; }, z.ZodTypeAny, "passthrough">[]; }>; protected _run({ query, documents }: ToolInput, options: Partial>, run: RunContext): Promise; } export { SimilarityTool, type SimilarityToolOptions, SimilarityToolOutput, type SimilarityToolResult, type SimilarityToolRunOptions };