import { BaseToolOptions, Tool, JSONToolOutput, BaseToolRunOptions, ToolEmitter, ToolInput } from './base.js'; import { z } from 'zod'; import { RunContext } from '../context.js'; import 'ajv'; import '../errors.js'; import '../internals/types.js'; import '../internals/helpers/guards.js'; import '../internals/serializable.js'; import 'promise-based-task'; import '../cache/base.js'; import '../internals/helpers/schema.js'; import 'zod-to-json-schema'; import '../emitter-l0W9gC1A.js'; import '../internals/helpers/promise.js'; /** * Copyright 2025 IBM Corp. * * 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. */ 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 };