solver-sdk
Version:
SDK для интеграции с Code Solver Backend API (совместимо с браузером и Node.js), с поддержкой функциональности мышления (Thinking Mode)
123 lines • 4.94 kB
TypeScript
import { WebSocketClient, WebSocketClientOptions } from './websocket-client.js';
/**
* События индексации
*/
export declare enum IndexingEvent {
/** Начало индексации */
START = "indexing_start",
/** Прогресс индексации */
PROGRESS = "indexing_progress",
/** Завершение индексации */
COMPLETE = "indexing_complete",
/** Ошибка индексации */
ERROR = "indexing_error"
}
/**
* Данные о прогрессе индексации
*/
export interface IndexingProgressData {
/** Идентификатор проекта */
projectId: string;
/** Общее количество файлов */
totalFiles: number;
/** Количество проиндексированных файлов */
indexedFiles: number;
/** Процент завершения индексации */
progress: number;
/** Время начала индексации */
startTime: string;
/** Прошедшее время в секундах */
elapsedTime: number;
/** Оставшееся время в секундах (приблизительно) */
estimatedTimeRemaining?: number;
}
/**
* Данные о завершении индексации
*/
export interface IndexingCompleteData {
/** Идентификатор проекта */
projectId: string;
/** Общее количество файлов */
totalFiles: number;
/** Количество проиндексированных файлов */
indexedFiles: number;
/** Количество пропущенных файлов */
skippedFiles: number;
/** Время начала индексации */
startTime: string;
/** Время завершения индексации */
endTime: string;
/** Общее время индексации в секундах */
totalTime: number;
}
/**
* Данные об ошибке индексации
*/
export interface IndexingErrorData {
/** Идентификатор проекта */
projectId: string;
/** Сообщение об ошибке */
message: string;
/** Код ошибки */
code?: string;
/** Детали ошибки */
details?: any;
}
/**
* Опции для WebSocket клиента индексации
*/
export interface IndexingWebSocketOptions extends WebSocketClientOptions {
/** Идентификатор проекта */
projectId?: string;
/** API ключ для авторизации */
apiKey?: string;
}
/**
* WebSocket клиент для работы с индексацией
*/
export declare class IndexingWebSocketClient extends WebSocketClient {
/** Идентификатор проекта */
private projectId;
/** Базовый URL без параметров */
private baseUrl;
/**
* Создает новый WebSocket клиент для индексации
* @param {string} url URL для подключения
* @param {IndexingWebSocketOptions} [options] Опции клиента
*/
constructor(url: string, options?: IndexingWebSocketOptions);
/**
* Устанавливает идентификатор проекта
* @param {string} projectId Идентификатор проекта
*/
setProjectId(projectId: string): void;
/**
* Подключается к WebSocket для отслеживания индексации
* @param {string} [projectId] Идентификатор проекта (если не был указан в конструкторе)
* @returns {Promise<void>}
*/
connect(projectId?: string): Promise<void>;
/**
* Подписывается на события начала индексации
* @param {(data: {projectId: string}) => void} handler Обработчик события
*/
onStart(handler: (data: {
projectId: string;
}) => void): void;
/**
* Подписывается на события прогресса индексации
* @param {(data: IndexingProgressData) => void} handler Обработчик события
*/
onProgress(handler: (data: IndexingProgressData) => void): void;
/**
* Подписывается на события завершения индексации
* @param {(data: IndexingCompleteData) => void} handler Обработчик события
*/
onComplete(handler: (data: IndexingCompleteData) => void): void;
/**
* Подписывается на события ошибок индексации
* @param {(data: IndexingErrorData) => void} handler Обработчик события
*/
onError(handler: (data: IndexingErrorData) => void): void;
}
//# sourceMappingURL=indexing-websocket-client.d.ts.map