import { BaseCache } from '../../cache/base.js'; import * as promise_based_task from 'promise-based-task'; import { searchOptions, pageFunctions, Page } from 'wikipedia'; import { SearchToolOptions, SearchToolRunOptions, SearchToolResult, SearchToolOutput } from './base.js'; import { z } from 'zod'; import { Tool, ToolEmitter, ToolInput } from '../base.js'; import { pageResult } from 'wikipedia/dist/resultTypes.js'; import { E as Emitter } from '../../emitter-l0W9gC1A.js'; import '../../internals/serializable.js'; import '../../internals/types.js'; import '../../internals/helpers/guards.js'; import 'ajv'; import '../../context.js'; import '../../internals/helpers/promise.js'; import '../../errors.js'; import '../../internals/helpers/schema.js'; import 'zod-to-json-schema'; interface SearchOptions extends searchOptions { } interface FilterOptions { excludeOthersOnExactMatch?: boolean; minPageNameSimilarity?: number; } type PageFunctions = Record(output: T) => T; }> & { markdown: { transform?: (output: string) => string; filter?: (node: HTMLElement) => boolean; }; }; interface ExtractionOptions { fields?: Partial; } interface OutputOptions { maxSerializedLength?: number; maxDescriptionLength?: number; } interface WikipediaToolOptions extends SearchToolOptions { filters?: FilterOptions; search?: SearchOptions; extraction?: ExtractionOptions; output?: OutputOptions; } interface WikipediaToolRunOptions extends SearchToolRunOptions { filters?: FilterOptions; search?: SearchOptions; extraction?: ExtractionOptions; output?: OutputOptions; } type PageWithMarkdown = Page & { markdown: () => Promise; }; type ResultFields = { [K in keyof PageFunctions]: Awaited>; }; interface WikipediaToolResult extends SearchToolResult { fields: Partial; } declare class WikipediaToolOutput extends SearchToolOutput { readonly results: WikipediaToolResult[]; protected readonly maxSerializedLength: number; constructor(results: WikipediaToolResult[], maxSerializedLength: number); getTextContent(): string; createSnapshot(): { results: WikipediaToolResult[]; maxSerializedLength: number; }; loadSnapshot(snapshot: ReturnType): void; } interface SearchResponse { results: Pick[]; suggestion: string; } declare class WikipediaTool extends Tool { readonly config: WikipediaToolOptions; name: string; description: string; readonly emitter: ToolEmitter, WikipediaToolOutput>; inputSchema(): z.ZodObject<{ query: z.ZodString; }, "strip", z.ZodTypeAny, { query: string; }, { query: string; }>; constructor(config?: WikipediaToolOptions); protected get _mappers(): Record Promise>; protected get _defaultRunOptions(): WikipediaToolRunOptions; protected _createRunOptions(overrides?: WikipediaToolRunOptions): WikipediaToolRunOptions; protected _run({ query: input }: ToolInput, _options?: WikipediaToolRunOptions): Promise; protected extractBestCandidates(query: string, candidates: SearchResponse["results"], options: FilterOptions): { pageId: number; score: number; }[]; createSnapshot(): { config: WikipediaToolOptions; name: string; description: string; options: WikipediaToolOptions; cache: BaseCache>; emitter: Emitter; }; loadSnapshot(snapshot: ReturnType): void; } export { type ExtractionOptions, type FilterOptions, type OutputOptions, type PageFunctions, type SearchOptions, WikipediaTool, type WikipediaToolOptions, WikipediaToolOutput, type WikipediaToolResult, type WikipediaToolRunOptions };