import { Tool } from '../../tool.js'; import { ExecutionContext } from '../../types.js'; import { DetailLevel } from './tool-serializer.js'; import { validateToolArguments } from '../validate-tool-arguments.js'; /** One search call cannot dump the whole catalog. */ export declare const MAX_SEARCH_RESULTS = 20; export declare function clampSearchLimit(requested: unknown, fallback: number): number; /** * True when the query names no task: empty, punctuation, stop words only * ("what can you do?"), or catalog words only ("show tools"). * * When the query is a regular expression, any regex syntax makes it a search: * tokenizing `(a+)+$` leaves nothing, but it is still a pattern to match. */ export declare function isBrowseQuery(query: string, queryIsPattern?: boolean): boolean; export { validateToolArguments }; export declare const DEFAULT_SEARCH_TOOL_DESCRIPTION = "Searches available tools by natural language query or keywords. CRITICAL: You only have a minimal initial tool catalog loaded. Whenever the user requests any task, calculation, inventory action, ticket, or domain operation not in your immediate catalog, you MUST call this tool first with task keywords to discover and inspect the required tool before answering. Never decline a user request without searching first. If the user asks what you can do or wants to see the available tools, call it with no query to get a brief index of the catalog. Returns matching tool names, descriptions, and parameter schemas."; export declare const DEFAULT_CALL_TOOL_DESCRIPTION = "Executes a discovered tool by name with the specified arguments object."; export declare function buildSearchTool(name: string, searchFn: (query: string, limit: number, context?: ExecutionContext) => Promise, defaultLimit?: number, defaultDetail?: DetailLevel, customDescription?: string, queryIsPattern?: boolean): Tool; export declare function buildCallTool(name: string, resolveFn: (name: string, context?: ExecutionContext) => Promise, searchToolName?: string, customDescription?: string): Tool; //# sourceMappingURL=synthetic-tools.d.ts.map