/** * Whether a failed MCP call is worth one transport reconnect and retry. * * Qualifying failures are a detached SDK client, an HTTP 400/401/403/404 from * the endpoint (a gateway or auth layer answering while the backend behind it * is unhealthy or the credentials went stale), or a dropped/refused connection. * The caller reconnects and retries once. Tool execution errors and JSON-RPC * protocol errors are never reconnectable. */ export declare function isReconnectableMCPError(error: unknown): boolean; /** Structured transport metadata for a failed aggregate MCP discovery. */ export interface MCPDiscoveryErrorDetails { /** Human-readable failure message. Includes `(HTTP nnn)` when an HTTP status is available. */ message: string; /** HTTP response status reported by the MCP transport. */ httpStatus?: number; /** Deepest error code in the cause chain, such as an MCP SDK, network, or application error code. */ code?: string | number; } /** * Preserve machine-readable transport metadata before aggregate discovery turns * a thrown error into its legacy per-server string. * * MCP SDK 2 keeps an HTTP response status on `SdkHttpError.status` while * `code` is a string SDK code. Older transports and wrappers have also used * `statusCode`; only explicit status fields are treated as HTTP metadata so a * numeric SDK or application `code` is not mislabeled. The walk is bounded and * cycle-safe because application errors may wrap arbitrary third-party causes. */ export declare function getMCPDiscoveryErrorDetails(error: unknown): MCPDiscoveryErrorDetails; //# sourceMappingURL=error-utils.d.ts.map