import { z } from "zod"; /** * `static` (default) — tools are prepended once after the system message and * shared across the chat session. * `dynamic` — tools are anchored after the last user message and trimmed * from the kv-cache once the tool-call chain resolves, so each user prompt * can carry its own tool set without poisoning the cache. * * Implementation detail: maps to the addon's `tools_compact` boolean. The * SDK uses the higher-level `static`/`dynamic` naming so the addon-side * mapping can change without breaking the public API. */ export declare const TOOLS_MODE: { readonly static: "static"; readonly dynamic: "dynamic"; }; export type ToolsMode = (typeof TOOLS_MODE)[keyof typeof TOOLS_MODE]; export declare const toolSchema: z.ZodObject<{ type: z.ZodLiteral<"function">; name: z.ZodString; description: z.ZodString; parameters: z.ZodObject<{ type: z.ZodLiteral<"object">; properties: z.ZodRecord; description: z.ZodOptional; enum: z.ZodOptional>; }, z.core.$strip>>; required: z.ZodOptional>; }, z.core.$strip>; }, z.core.$strip>; export declare const toolCallSchema: z.ZodObject<{ id: z.ZodString; name: z.ZodString; arguments: z.ZodRecord; raw: z.ZodOptional; }, z.core.$strip>; export declare const toolCallErrorSchema: z.ZodObject<{ code: z.ZodEnum<{ PARSE_ERROR: "PARSE_ERROR"; VALIDATION_ERROR: "VALIDATION_ERROR"; UNKNOWN_TOOL: "UNKNOWN_TOOL"; }>; message: z.ZodString; raw: z.ZodOptional; }, z.core.$strip>; export declare const toolCallEventSchema: z.ZodUnion; call: z.ZodObject<{ id: z.ZodString; name: z.ZodString; arguments: z.ZodRecord; raw: z.ZodOptional; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"toolCallError">; error: z.ZodObject<{ code: z.ZodEnum<{ PARSE_ERROR: "PARSE_ERROR"; VALIDATION_ERROR: "VALIDATION_ERROR"; UNKNOWN_TOOL: "UNKNOWN_TOOL"; }>; message: z.ZodString; raw: z.ZodOptional; }, z.core.$strip>; }, z.core.$strip>]>; export type Tool = z.infer; export type ToolCall = z.infer; export type ToolCallError = z.infer; export type ToolCallEvent = z.infer; export type ToolCallWithCall = ToolCall & { invoke?: () => Promise; }; //# sourceMappingURL=tools.d.ts.map