UNPKG

solver-sdk

Version:

SDK для интеграции с Code Solver Backend API

196 lines 7.92 kB
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