UNPKG

solver-sdk

Version:

SDK для интеграции с Code Solver Backend API (совместимо с браузером и Node.js), с поддержкой функциональности мышления (Thinking Mode)

92 lines 3.36 kB
/** * Опции для SSE клиента */ export interface SseClientOptions { /** * HTTP заголовки для SSE соединения */ headers?: Record<string, string>; /** * Таймаут подключения в миллисекундах */ connectionTimeout?: number; /** * Максимальное количество попыток переподключения */ maxRetries?: number; /** * Задержка перед попыткой переподключения в миллисекундах */ retryDelay?: number; /** * Максимальная задержка перед попыткой переподключения */ maxRetryDelay?: number; } /** * Интерфейс для обработчика события SSE */ export interface SseEventHandler { (event: any): void; } /** * Клиент для работы с Server-Sent Events (SSE) * Поддерживает работу как в браузере, так и в Node.js */ export declare class SseClient { /** URL для подключения */ private readonly url; /** Опции клиента */ private readonly options; /** Экземпляр EventSource */ private eventSource; /** Счетчик попыток переподключения */ private retryCount; /** Флаг, указывающий, что соединение было закрыто намеренно */ private intentionallyClosed; /** Таймер переподключения */ private reconnectTimer; /** Таймер таймаута соединения */ private connectionTimeoutTimer; /** Обработчики событий */ private eventHandlers; /** * Создает новый SSE клиент * @param {string} url URL для подключения * @param {SseClientOptions} [options] Опции клиента */ constructor(url: string, options?: SseClientOptions); /** * Подключается к SSE эндпоинту * @returns {Promise<void>} */ connect(): Promise<void>; /** * Закрывает SSE соединение */ close(): void; /** * Добавляет обработчик события * @param {string} eventType Тип события * @param {SseEventHandler} handler Обработчик события */ on(eventType: string, handler: SseEventHandler): void; /** * Удаляет обработчик события * @param {string} eventType Тип события * @param {SseEventHandler} [handler] Обработчик события (если не указан, удаляются все обработчики) */ off(eventType: string, handler?: SseEventHandler): void; /** * Вызывает обработчики для указанного события * @param {string} eventType Тип события * @param {any} data Данные события */ private dispatchEvent; /** * Переподключается к SSE эндпоинту с экспоненциальной задержкой * @private */ private reconnect; } //# sourceMappingURL=sse-client.d.ts.map