import { z, ZodRawShape } from 'zod'; import { BrutalistPromptType } from '../cli-agents.js'; /** * Configuration for a brutalist roast tool */ export interface ToolConfig { /** Tool name (e.g., "roast_codebase") */ name: string; /** Tool description shown to users */ description: string; /** Analysis type for CLI orchestrator */ analysisType: BrutalistPromptType; /** @deprecated System prompts now live in system-prompts.ts and are retrieved at execution time */ systemPrompt?: string; /** Tool-specific schema extensions beyond base parameters */ schemaExtensions: ZodRawShape; /** Fields to include in cache key generation */ cacheKeyFields: string[]; /** Optional custom context builder */ contextBuilder?: (args: any) => string; /** Primary argument field name (targetPath, idea, etc.) */ primaryArgField: string; } /** * Shared base schema for all roast tools */ export declare const BASE_ROAST_SCHEMA: { context: z.ZodOptional; workingDirectory: z.ZodOptional; clis: z.ZodOptional, "many">>; verbose: z.ZodOptional; models: z.ZodOptional; codex: z.ZodOptional; agy: z.ZodOptional; }, "strip", z.ZodTypeAny, { claude?: string | undefined; codex?: string | undefined; agy?: string | undefined; }, { claude?: string | undefined; codex?: string | undefined; agy?: string | undefined; }>>; clients: z.ZodOptional>; model: z.ZodOptional; smallFastModel: z.ZodOptional; baseUrl: z.ZodOptional>; authToken: z.ZodOptional; authTokenEnv: z.ZodOptional; configDir: z.ZodOptional; env: z.ZodOptional>; includeProcessAuth: z.ZodOptional; containment: z.ZodOptional>; workingDirectory: z.ZodOptional; timeout: z.ZodOptional; mcpServers: z.ZodOptional>; }, "strip", z.ZodTypeAny, { provider: "claude" | "codex" | "agy"; id: string; model?: string | undefined; smallFastModel?: string | undefined; baseUrl?: string | undefined; authToken?: string | undefined; authTokenEnv?: string | undefined; configDir?: string | undefined; env?: Record | undefined; includeProcessAuth?: boolean | undefined; containment?: "standard" | "hardened" | undefined; workingDirectory?: string | undefined; timeout?: number | undefined; mcpServers?: string[] | undefined; }, { id: string; model?: string | undefined; smallFastModel?: string | undefined; baseUrl?: string | undefined; authToken?: string | undefined; authTokenEnv?: string | undefined; configDir?: string | undefined; env?: Record | undefined; includeProcessAuth?: boolean | undefined; containment?: "standard" | "hardened" | undefined; provider?: "claude" | "codex" | "agy" | undefined; workingDirectory?: string | undefined; timeout?: number | undefined; mcpServers?: string[] | undefined; }>, { provider: "claude" | "codex" | "agy"; id: string; model?: string | undefined; smallFastModel?: string | undefined; baseUrl?: string | undefined; authToken?: string | undefined; authTokenEnv?: string | undefined; configDir?: string | undefined; env?: Record | undefined; includeProcessAuth?: boolean | undefined; containment?: "standard" | "hardened" | undefined; workingDirectory?: string | undefined; timeout?: number | undefined; mcpServers?: string[] | undefined; }, { id: string; model?: string | undefined; smallFastModel?: string | undefined; baseUrl?: string | undefined; authToken?: string | undefined; authTokenEnv?: string | undefined; configDir?: string | undefined; env?: Record | undefined; includeProcessAuth?: boolean | undefined; containment?: "standard" | "hardened" | undefined; provider?: "claude" | "codex" | "agy" | undefined; workingDirectory?: string | undefined; timeout?: number | undefined; mcpServers?: string[] | undefined; }>, "many">>; offset: z.ZodOptional; limit: z.ZodOptional; cursor: z.ZodOptional; context_id: z.ZodOptional; resume: z.ZodOptional; force_refresh: z.ZodOptional; }; //# sourceMappingURL=tool-config.d.ts.map