/** * visus_read_gsheet MCP Tool * * Reads and sanitizes a public Google Sheet. Accepts any standard Google Sheets * URL format and converts it to a CSV export endpoint. All cell content passes * through the IPI injection scanner before being returned. * * CRITICAL: ALL content MUST pass through the sanitizer. This cannot be bypassed. * * Pipeline order: * 1. Normalize Google Sheets URL to CSV export endpoint * 2. Fetch CSV from export endpoint * 3. Parse with papaparse (reuses visus_read_csv logic) * 4. IPI threat detection on flattened cell content * 5. Sanitization (injection detection + PII redaction) * 6. Token metrics header */ import type { VisusReadGsheetInput, VisusReadGsheetOutput, Result } from '../types.js'; /** * Extract spreadsheet ID and GID from various Google Sheets URL formats * * Supported formats: * - https://docs.google.com/spreadsheets/d/{ID}/edit#gid={GID} * - https://docs.google.com/spreadsheets/d/{ID}/edit * - https://docs.google.com/spreadsheets/d/{ID} * * @returns Object with spreadsheetId and gid, or error */ export declare function parseGsheetUrl(url: string): Result<{ spreadsheetId: string; gid: number; }, Error>; /** * visus_read_gsheet tool implementation * * @param input Tool input parameters * @returns Sanitized Google Sheet content with metadata */ export declare function visusReadGsheet(input: VisusReadGsheetInput): Promise>; export declare const visusReadGsheetToolDefinition: { name: string; title: string; description: string; inputSchema: { type: "object"; properties: { url: { type: string; description: string; }; sheet_id: { type: string; description: string; default: number; }; format: { type: string; enum: string[]; description: string; default: string; }; }; required: readonly ["url"]; }; readOnlyHint: boolean; destructiveHint: boolean; idempotentHint: boolean; openWorldHint: boolean; }; //# sourceMappingURL=visus_read_gsheet.d.ts.map