import type { ToolSchemaSummary } from './types.js'; export interface ToolSignature { name: string; camelName: string; signature: string; shortDescription: string; hiddenParamCount: number; } export interface ParameterDoc { name: string; type: string; required: boolean; description?: string; enumValues?: string[]; } export interface Example { description: string; code: string; } export interface ToolDetailedHelp { name: string; camelName: string; description: string; parameters: ParameterDoc[]; examples: Example[]; } /** * Generates tool descriptions with progressive disclosure for LLM agents. * Layer 1: Overview tree - compact tool listing * Layer 2: Signatures - typed function signatures * Layer 3: On-demand help via getToolHelp() */ export declare class ToolDescriptionBuilder { private readonly maxSignatureParams; constructor(options?: { maxSignatureParams?: number; }); /** * Layer 1: Compact tree overview of all tools */ buildOverviewTree(tools: ToolSchemaSummary[]): string; /** * Layer 2: Generate compact signatures for specified tools */ buildSignatures(tools: ToolSchemaSummary[]): ToolSignature[]; /** * Layer 2: Format signatures as readable string block */ formatSignaturesBlock(tools: ToolSchemaSummary[], indent?: string): string; /** * Layer 3: Full documentation for a tool (used by getToolHelp runtime) */ buildDetailedHelp(tool: ToolSchemaSummary): ToolDetailedHelp; /** * Build all help data for runtime injection */ buildAllHelpData(tools: ToolSchemaSummary[]): ToolDetailedHelp[]; private buildToolSignature; private extractParameters; private compactType; private schemaToTypeString; private generateExamples; private groupByServer; private truncate; } //# sourceMappingURL=ToolDescriptionBuilder.d.ts.map