solver-sdk
Version:
SDK для интеграции с Code Solver Backend API
196 lines • 7.92 kB
TypeScript
import { ProjectsApi } from './api/projects-api.js';
import { SearchApi } from './api/search-api.js';
import { ContextApi } from './api/context-api.js';
import { ReasoningApi } from './api/reasoning-api.js';
import { CodeModificationApi } from './api/code-modification-api.js';
import { AgentsApi } from './api/agents-api.js';
import { ChatApi } from './api/chat-api/index.js';
import { CodeSolverSDKOptions } from './interfaces/sdk-options.js';
import { ModelsApi } from './api/models-api.js';
import { DependenciesApi } from './api/dependencies-api.js';
import { ReasoningOptions } from './api/reasoning-api.js';
import { AnthropicStreamCallbacks } from './interfaces/websocket/callbacks.interfaces.js';
import { IndexingWebSocketClient } from './ws/indexing-ws-client.js';
import { ReasoningWebSocketClient } from './ws/reasoning-ws-client.js';
import { FileSystemWsClient, FileSystemWsClientOptions } from './ws/filesystem-ws-client.js';
import { DependenciesWsClient } from './ws/dependencies-ws-client.js';
/**
* Расширенный интерфейс для опций рассуждения
*/
export interface ExtendedReasoningOptions extends ReasoningOptions {
/**
* Включить режим мышления (planning)
*/
thinking?: boolean;
/**
* Модель для использования
*/
model?: string;
}
/**
* Основной класс SDK для работы с Code Solver API
* В версии 2.0 с современной архитектурой и без обратной совместимости
*/
export declare class CodeSolverSDK {
/** Опции SDK */
private readonly _options;
/** HTTP клиент для запросов к API */
private httpClient;
/** WebSocket клиенты для разных пространств имен */
private _indexingClient;
private _reasoningClient;
private _fileSystemClient;
private _dependenciesClient;
/** API для работы с агентами */
private _agents;
/** API для работы с контекстом */
private _context;
/** API для работы с проектами */
private readonly _projects;
/** API для поиска кода */
private readonly _search;
/** API для работы с рассуждениями */
private readonly _reasoning;
/** API для модификации кода */
private readonly _codeModification;
/** API для работы с чатом */
private readonly _chat;
/** API для работы с моделями */
private readonly _models;
/** API для работы с зависимостями */
private readonly _dependencies;
/** Среда выполнения */
private readonly environment;
/** Глобальный обработчик ошибок */
private static errorHandler;
/** Logger для внутреннего использования */
private readonly logger;
/**
* Создает новый экземпляр SDK
* @param {CodeSolverSDKOptions} options Опции SDK
*/
constructor(options: CodeSolverSDKOptions);
/**
* Проверяет доступность API
* @returns {Promise<boolean>} Доступен ли API
*/
checkHealth(): Promise<boolean>;
/**
* Получает WebSocket URL
* @private
*/
private get wsURL();
/**
* Получает конфигурацию WebSocket
* @private
*/
private get wsConfig();
/**
* Получает клиент для индексации
* @returns {IndexingWebSocketClient} Клиент для индексации
*/
getIndexingClient(): IndexingWebSocketClient;
/**
* Получает клиент для рассуждений
* @returns {ReasoningWebSocketClient} Клиент для рассуждений
*/
getReasoningClient(): ReasoningWebSocketClient;
/**
* Получает клиент для работы с файловой системой
* @param {Partial<FileSystemWsClientOptions>} options Опции клиента файловой системы
* @returns {FileSystemWsClient} Клиент для работы с файловой системой
*/
getFileSystemClient(options?: Partial<FileSystemWsClientOptions>): FileSystemWsClient;
/**
* Получает клиент для работы с зависимостями
* @returns {DependenciesWsClient} Клиент для работы с зависимостями
*/
getDependenciesClient(): DependenciesWsClient;
/**
* Закрывает все WebSocket соединения
*/
disconnectAll(): void;
/**
* API для работы с агентами
*/
get agents(): AgentsApi;
/**
* API для работы с контекстом
*/
get context(): ContextApi;
/**
* API для работы с проектами
*/
get projects(): ProjectsApi;
/**
* API для поиска кода
*/
get search(): SearchApi;
/**
* API для работы с рассуждениями
*/
get reasoning(): ReasoningApi;
/**
* API для модификации кода
*/
get codeModification(): CodeModificationApi;
/**
* Возвращает API для работы с чатом
* @returns {ChatApi} API для работы с чатом
*/
get chat(): ChatApi;
/**
* API для работы с моделями
*/
get models(): ModelsApi;
/**
* API для работы с зависимостями
*/
get dependencies(): DependenciesApi;
/**
* Настраивает обработчики событий Anthropic API
* @param {ReasoningWebSocketClient} reasoningClient WebSocket клиент для рассуждений
* @param {AnthropicStreamCallbacks} callbacks Коллбэки для обработки событий
* @private
*/
private setupAnthropicEventHandlers;
/**
* Выполняет запрос к API для генерации рассуждения с использованием Anthropic API
* с поддержкой потоковой передачи данных через WebSocket
*
* @param {ExtendedReasoningOptions} options Опции для рассуждения
* @param {AnthropicStreamCallbacks} callbacks Коллбэки для обработки событий
* @returns {Promise<void>} Promise без результата
*/
executeReasoning(options: ExtendedReasoningOptions, callbacks: AnthropicStreamCallbacks): Promise<void>;
/**
* Подключается к WebSocket серверу
* @returns {Promise<boolean>} Promise с результатом подключения
*/
connect(): Promise<boolean>;
/**
* Проверяет, подключен ли SDK к WebSocket серверу
* @returns {boolean} Статус подключения
*/
isConnected(): boolean;
/**
* Обрабатывает ошибку
* @param {Error} error Объект ошибки
*/
static handleError(error: Error): void;
/**
* Устанавливает глобальный обработчик ошибок
* @param {(error: Error) => void} handler Обработчик ошибок
*/
static setErrorHandler(handler: (error: Error) => void): void;
/**
* Очищает все ресурсы
*/
dispose(): void;
/**
* Устанавливает новый API ключ
* @param {string} apiKey Новый API ключ
*/
setApiKey(apiKey: string): void;
}
//# sourceMappingURL=code-solver-sdk.d.ts.map