import { Tool } from '../../tool.js'; import { ExecutionContext } from '../../types.js'; import { BM25Engine } from '../search/bm25.engine.js'; import { WorkerPool } from './worker-pool.js'; import { ExecutionLimits } from './types.js'; export interface CodeModeSyntheticToolNames { searchToolName?: string; getSchemaToolName?: string; executeToolName?: string; searchToolDescription?: string; getSchemaToolDescription?: string; executeToolDescription?: string; } export declare const DEFAULT_CODE_MODE_SEARCH_DESCRIPTION: string; export declare const DEFAULT_CODE_MODE_GET_SCHEMA_DESCRIPTION = "Returns parameter schemas, types, and required fields for specified tools, plus ES2020 scripting constraints. Call this before writing code in execute."; export declare const DEFAULT_CODE_MODE_EXECUTE_DESCRIPTION = "Executes a JavaScript (ES2020) script within an isolated QuickJS WebAssembly sandbox with async callTool() access to orchestrate discovered tools."; /** * Narrows a set of tool names to those the caller is authorized to see. */ export type AuthorizedToolFilter = (names: string[], context?: ExecutionContext, maxCount?: number) => Promise; /** * Builds the 3 synthetic meta-tools (search, get_schema, execute) for Code Mode. */ export declare function buildCodeModeTools(bm25Engine: BM25Engine, rawTools: Map, workerPool: WorkerPool, limits: ExecutionLimits, customNames?: CodeModeSyntheticToolNames, filterAuthorized?: AuthorizedToolFilter): { searchTool: Tool; getSchemaTool: Tool; executeTool: Tool; }; //# sourceMappingURL=synthetic-tools.d.ts.map