/** * Zod schemas for custom tool definitions — migrated from tool-definition.schema.ts in Phase 19. */ import { z } from "zod"; /** * Validates a tool name: 1–64 characters, lowercase kebab-case * (letters, digits, hyphens; must start with a letter). */ export declare const ToolNameSchema: z.ZodString; export type ToolName = z.infer; /** * Structural representation of an OpenCode custom tool as defined in a * `.opencode/tools/*.ts` file. Argument schemas are opaque (`z.unknown()`) * at this level — actual Zod schema objects are not serialisable. */ export declare const ToolDefinitionSchema: z.ZodObject<{ name: z.ZodString; description: z.ZodString; args: z.ZodRecord; hasExecute: z.ZodBoolean; filePath: z.ZodString; exports: z.ZodArray; }, z.core.$strict>; export type ToolDefinition = z.infer; /** Lenient variant that strips unknown fields instead of rejecting them. */ export declare const ToolDefinitionSchemaLenient: z.ZodObject<{ name: z.ZodString; description: z.ZodString; args: z.ZodRecord; hasExecute: z.ZodBoolean; filePath: z.ZodString; exports: z.ZodArray; }, z.core.$strip>; export type ToolDefinitionLenient = z.infer; /** * Complete tool file representation: the parsed definition plus the * resolved filesystem path to the TypeScript source. */ export declare const ToolFileSchema: z.ZodObject<{ definition: z.ZodObject<{ name: z.ZodString; description: z.ZodString; args: z.ZodRecord; hasExecute: z.ZodBoolean; filePath: z.ZodString; exports: z.ZodArray; }, z.core.$strict>; sourcePath: z.ZodString; }, z.core.$strict>; export type ToolFile = z.infer; /** Lenient variant that strips unknown fields instead of rejecting them. */ export declare const ToolFileSchemaLenient: z.ZodObject<{ definition: z.ZodObject<{ name: z.ZodString; description: z.ZodString; args: z.ZodRecord; hasExecute: z.ZodBoolean; filePath: z.ZodString; exports: z.ZodArray; }, z.core.$strip>; sourcePath: z.ZodString; }, z.core.$strip>; export type ToolFileLenient = z.infer; //# sourceMappingURL=tool.schema.d.ts.map