solver-sdk
Version:
SDK для интеграции с Code Solver Backend API (совместимо с браузером и Node.js), с поддержкой функциональности мышления (Thinking Mode)
92 lines • 3.36 kB
TypeScript
/**
* Опции для 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