import { z } from "zod"; export interface ToolDefinition { name: string; description: string; parameters: z.ZodTypeAny; execute: (args: any) => Promise; category?: string; concurrent?: boolean; requirePermission?: boolean; } export declare class ToolRegistry { private tools; register(tool: ToolDefinition): void; unregister(name: string): void; get(name: string): ToolDefinition | undefined; getAll(): ToolDefinition[]; getByCategory(category: string): ToolDefinition[]; isConcurrent(name: string): boolean; requiresPermission(name: string): boolean; getNames(): string[]; execute(name: string, args: any): Promise; getToolDescriptions(): Array<{ name: string; description: string; parameters: any; }>; /** * zod schema → JSON schema 推断。 * 用 instanceof 判定类型(zod v4 的 _def.typeName 已不可靠,instanceof 跨版本稳健)。 * 支持 string/number/boolean/array/object 及 optional/nullable 解包。 */ private zodToJsonSchema; } //# sourceMappingURL=registry.d.ts.map