Options for the .sse() method

interface SSEOptions {
    headers?: HeadersInit;
    signal?: AbortSignal;
    credentials?: RequestCredentials;
    mode?: RequestMode;
    params?: Record<string, string | number | boolean>;
    method?: string;
    body?: unknown;
    reconnect?: boolean;
    maxRetries?: number;
    retryDelay?: number;
    maxRetryDelay?: number;
    jitter?: boolean;
    terminators?: string[];
    onOpen?: ((response) => void);
}

Hierarchy (view full)

Properties

headers?: HeadersInit

Request headers

signal?: AbortSignal

AbortSignal for request cancellation

credentials?: RequestCredentials

Credentials mode

mode?: RequestMode

Request mode (cors, no-cors, same-origin)

params?: Record<string, string | number | boolean>

Query parameters — appended to the URL

method?: string

HTTP method (default: 'GET')

body?: unknown

Request body — objects/arrays auto-JSON-stringified, same as .post()

reconnect?: boolean

Auto-reconnect on disconnect (default: true, like native EventSource)

maxRetries?: number

Max reconnection attempts (default: 5, -1 for infinite)

retryDelay?: number

Initial retry delay in ms (default: 1000) — exponential backoff with jitter

maxRetryDelay?: number

Max retry delay cap in ms (default: 30000)

jitter?: boolean

Add ±20% jitter to reconnection delay to prevent storms (default: true)

terminators?: string[]

Raw data strings that signal stream end — matched events are consumed, not yielded (default: ['[DONE]'] for OpenAI/Mistral compat; set [] to disable)

onOpen?: ((response) => void)

Called when connection opens/reopens — receives the raw Response. Useful for inspecting rate-limit headers.

Type declaration

    • (response): void
    • Parameters

      • response: Response

      Returns void