/** * Provider-side client wrapper for MCP tool calls. * Adds retries, timeout, and structured logging with optional debug envelope dumps. */ export type ProviderLogLevel = "error" | "warn" | "info" | "debug"; /** Minimal logger contract used by providers. */ export interface ProviderLogger { error: (message: string, meta?: Record) => void; warn: (message: string, meta?: Record) => void; info: (message: string, meta?: Record) => void; debug: (message: string, meta?: Record) => void; } /** Base tool client expected by scanner providers. */ export interface SenpiToolClient { callTool(name: string, args: Record): Promise; } /** Optional metadata included in tool-call logs. */ export interface ToolCallContext { address?: string; scannerId?: string; } /** Per-call overrides for retry/timeout behavior. */ export interface ToolCallOptions extends ToolCallContext { retries?: number; timeoutMs?: number; } /** Provider client wrapper options. */ export interface ProviderClientOptions { logger?: ProviderLogger; logLevel?: ProviderLogLevel; retries?: number; timeoutMs?: number; redactKeys?: string[]; } /** Provider tool client with instrumentation and guardrails. */ export interface ProviderToolClient { callTool(name: string, args: Record, options?: ToolCallOptions): Promise; } /** Creates a provider client wrapper around a raw MCP tool client. */ export declare function createProviderClient(client: SenpiToolClient, options?: ProviderClientOptions): ProviderToolClient; /** Console-backed provider logger used when no custom logger is supplied. */ export declare function createConsoleProviderLogger(): ProviderLogger; /** * Wraps a winston-style logger (`debug/info/warn/error` methods) so providers * can use it without importing winston types directly. */ export declare function createWinstonProviderLogger(logger: { debug: (message: string, meta?: Record) => void; info: (message: string, meta?: Record) => void; warn: (message: string, meta?: Record) => void; error: (message: string, meta?: Record) => void; }): ProviderLogger; //# sourceMappingURL=client.d.ts.map