/** * Audit middleware: wraps the sanitization pipeline to produce audit records * for every MCP tool call. * * Integration pattern: * import { audited_sanitize } from './audit/middleware.js'; * const { content, audit } = await audited_sanitize(requestId, url, rawContent, toolName); */ import { type SanitizationResult } from '../sanitizer/index.js'; import type { AuditLogRecord, LawfulBasis } from './schema.js'; /** * Result of audited sanitization */ export interface AuditedSanitizationResult { content: string; audit_record: AuditLogRecord; sanitization_metadata: SanitizationResult['sanitization']; proof_hash: string; injections_blocked: number; } /** * Wraps the sanitization pipeline with full audit logging. * * Returns both sanitized_content and audit_record. The audit_record is written * to DynamoDB and also returned so callers can include the proof_hash in MCP tool responses. * * Usage in MCP tool handler: * const { content, audit_record, proof_hash, injections_blocked } = await audited_sanitize({ * request_id: ctx.request_id, * url: url, * raw_content: fetched_html, * tool_name: "visus_fetch", * }); * // Include proof in response * return { * content: content, * audit_proof: proof_hash, * request_id: request_id, * injections_blocked, * }; */ export declare function audited_sanitize(params: { request_id?: string; url: string; raw_content: string; tool_name: string; tool_version?: string; lawful_basis?: LawfulBasis; user_id?: string; }): Promise; //# sourceMappingURL=middleware.d.ts.map