import type { z } from "zod"; import type { ToolNames } from "../index.js"; import { type ToolCategory, type ToolDefinition } from "../toolDefinitions.js"; export type { ToolCategory }; export interface ToolParameterMetadata { name: string; type: string; required: boolean; description?: string; } export interface ToolMetadata { tool: ToolNames; modulePath: string; functionName: string; description: string; category: ToolCategory; parameters: ToolParameterMetadata[]; returns: string; example: string; notes?: string; } /** * Builds the `describe_td_tools` manifest from the tool table. Parameter * metadata is introspected from each tool's Zod schema, so it always reflects * the schema that is actually registered (sourced from the OpenAPI spec). */ export declare function buildToolMetadata(definitions?: readonly ToolDefinition[]): ToolMetadata[]; /** Introspects a Zod object schema into flat parameter metadata. */ export declare function deriveParameters(schema: z.ZodObject): ToolParameterMetadata[];