/** * `r.diagnostics` — anonymous reachability probes, owned by the Node SDK. * * `probeOrigin(url)` makes one bounded, unauthenticated `GET` that never * follows a redirect and never reads more of the body than it must, and * CLASSIFIES the outcome, so a caller can tell a DNS failure from a TLS * failure from a redirect from an HTTP error from success — distinctions an * SDK request (which retries, authenticates, and parses) deliberately * erases. `r.buzz.doctor()` measures the Run402 API and console origins with * it; nothing else needs a raw `fetch` of its own for this. */ /** How a probe ended. `ok` is a 2xx; `redirect` a 3xx (never followed); `http` any other status. */ export type OriginClassification = "ok" | "dns" | "tls" | "redirect" | "http" | "timeout" | "network"; export interface OriginProbeResult { /** True exactly for a 2xx. */ reachable: boolean; classification: OriginClassification; /** The HTTP status, when a response arrived. */ status?: number; /** The `Location` of a redirect, when one was answered. */ redirect_to?: string; /** The failure, classified and bounded (never the raw transport message). */ error?: string; elapsed_ms: number; } export interface ProbeOriginOptions { /** Abort after this many milliseconds. Default 3000. */ timeoutMs?: number; /** The `Accept` header sent. */ accept?: string; } /** Classify a transport failure from its message, code, and cause. */ export declare function classifyTransportFailure(error: unknown): { classification: Exclude; error: string; }; export declare class Diagnostics { /** * One anonymous `GET` of `url`, bounded by `timeoutMs`, redirects never * followed, the body discarded. Never throws for a network outcome: every * failure is a classification. */ probeOrigin(url: string | URL, opts?: ProbeOriginOptions): Promise; } //# sourceMappingURL=diagnostics.d.ts.map