import type { ImageMode } from './media.js'; /** * JSON Schema definition for the `read` tool. * * The read tool accepts a list of files and returns their content (or a * transformed view of it) in one batched response. */ export declare const READ_TOOL_SCHEMA: { readonly type: "object"; readonly properties: { readonly files: { readonly type: "array"; readonly description: "Files to read. Processed as a batch in one call."; readonly items: { readonly type: "object"; readonly properties: { readonly path: { readonly type: "string"; readonly description: "Relative or absolute path to the file."; }; readonly extract: { readonly type: "string"; readonly enum: readonly ["content", "outline", "symbols", "ast", "lines"]; readonly description: string; }; readonly range: { readonly type: "object"; readonly description: "Line range to read (1-based, inclusive). Used with extract=lines."; readonly properties: { readonly start: { readonly type: "integer"; readonly minimum: 1; }; readonly end: { readonly type: "integer"; readonly minimum: 1; }; }; readonly required: readonly ["start", "end"]; }; readonly force: { readonly type: "boolean"; readonly description: "Bypass cache and re-read the file from disk."; }; readonly pages: { readonly type: "string"; readonly description: "Page range for PDF files (e.g. '1-5', '3', '10-20'). Max 20 pages per request."; }; readonly image_mode: { readonly type: "string"; readonly enum: readonly ["default", "unoptimized", "metadata-only", "thumbnail-only"]; readonly description: string; }; }; readonly required: readonly ["path"]; }; readonly minItems: 1; readonly maxItems: 50; }; readonly extract: { readonly type: "string"; readonly enum: readonly ["content", "outline", "symbols", "ast", "lines"]; readonly description: string; }; readonly output: { readonly type: "object"; readonly description: "Output formatting options."; readonly properties: { readonly format: { readonly type: "string"; readonly enum: readonly ["count_only", "minimal", "standard", "verbose"]; readonly description: string; }; readonly include_line_numbers: { readonly type: "boolean"; readonly description: "Include line numbers in content output. Default true."; }; readonly max_per_item: { readonly type: "integer"; readonly minimum: 1; readonly description: "Maximum lines to return per file."; }; readonly max_tokens: { readonly type: "integer"; readonly minimum: 1; readonly description: "Hard token cap across the entire response."; }; }; }; readonly token_budget: { readonly type: "integer"; readonly minimum: 1; readonly description: string; }; readonly page: { readonly type: "integer"; readonly minimum: 1; readonly description: "Page number to return when using token_budget pagination. Default 1."; }; readonly image_mode: { readonly type: "string"; readonly enum: readonly ["default", "unoptimized", "metadata-only", "thumbnail-only"]; readonly description: "Global image handling mode. Per-file image_mode overrides this. Default: default."; }; readonly max_image_size: { readonly type: "integer"; readonly minimum: 1; readonly description: string; }; }; readonly required: readonly ["files"]; }; /** Extract mode for a single file or globally. */ export type ExtractMode = 'content' | 'outline' | 'symbols' | 'ast' | 'lines'; /** Output verbosity format. */ export type OutputFormat = 'count_only' | 'minimal' | 'standard' | 'verbose'; /** Input shape for a single file entry in the read tool. */ export interface ReadFileInput { path: string; extract?: ExtractMode | undefined; range?: { start: number; end: number; }; force?: boolean | undefined; /** Page range for PDF files (e.g. '1-5', '3', '10-20'). Max 20 pages. */ pages?: string | undefined; image_mode?: ImageMode | undefined; } /** Full input shape for the read tool. */ export interface ReadInput { files: ReadFileInput[]; extract?: ExtractMode | undefined; output?: { format?: OutputFormat | undefined; include_line_numbers?: boolean | undefined; max_per_item?: number | undefined; max_tokens?: number | undefined; }; token_budget?: number | undefined; page?: number | undefined; image_mode?: ImageMode | undefined; max_image_size?: number | undefined; } //# sourceMappingURL=schema.d.ts.map