UNPKG

solver-sdk

Version:

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

109 lines 4.94 kB
import { HttpClient } from '../utils/http-client.js'; import { DependencyGraph, DependencyGraphAnalysis, DependencyStatistics, FileDependenciesRequest, FileDependenciesResponse, FileDetails, RelatedComponentsRequest, RelatedComponentsResponse } from '../models/types.js'; /** * API для работы с зависимостями файлов в проектах */ export declare class DependenciesApi { private readonly client; private readonly baseUrl; /** WebSocket клиент */ private wsClient; /** Родительский SDK */ private parentSdk; /** * Создает новый экземпляр API для работы с зависимостями * @param httpClient HTTP клиент для запросов к API */ constructor(httpClient: HttpClient); /** * Получает зависимости конкретного файла * @param projectId ID проекта * @param params Параметры запроса зависимостей файла * @returns Зависимости файла */ getFileDependencies(projectId: string, params: FileDependenciesRequest): Promise<FileDependenciesResponse>; /** * Получает граф зависимостей проекта * @param projectId ID проекта * @returns Граф зависимостей */ getDependencyGraph(projectId: string): Promise<DependencyGraph>; /** * Получает статистику зависимостей проекта * @param projectId ID проекта * @returns Статистика зависимостей */ getDependencyStatistics(projectId: string): Promise<DependencyStatistics>; /** * Получает детальную информацию о файле * @param projectId ID проекта * @param filePath Путь к файлу * @returns Информация о файле */ getFileDetails(projectId: string, filePath: string): Promise<FileDetails>; /** * Получает связанные компоненты для файла * @param projectId ID проекта * @param params Параметры запроса связанных компонентов * @returns Связанные компоненты */ getRelatedComponents(projectId: string, params: RelatedComponentsRequest): Promise<RelatedComponentsResponse>; /** * Анализирует граф зависимостей проекта * @param projectId ID проекта * @returns Результат анализа */ analyzeDependencyGraph(projectId: string): Promise<DependencyGraphAnalysis>; /** * Присоединяется к проекту через WebSocket * @param projectId ID проекта * @param wsClient WebSocket клиент (опционально) * @returns {Promise<{success: boolean, projectId: string, error?: string}>} Результат операции */ joinProject(projectId: string, wsClient?: any): Promise<{ success: boolean; projectId: string; error?: string; }>; /** * Подключается к WebSocket для событий зависимостей * @returns {Promise<boolean>} Результат подключения */ connectWebSocket(): Promise<boolean>; /** * Отключается от WebSocket для событий зависимостей * @returns {Promise<void>} */ disconnectWebSocket(): Promise<void>; /** * Проверяет, подключен ли WebSocket * @returns {boolean} Состояние подключения */ isWebSocketConnected(): boolean; /** * Устанавливает родительский SDK * @param sdk Родительский SDK */ setParent(sdk: any): void; /** * Подписывается на событие через WebSocket * @param event Название события * @param callback Функция обратного вызова */ on(event: string, callback: Function): void; /** * Отправляет событие через WebSocket * @param event Название события * @param data Данные для отправки */ emitSocketEvent(event: string, data: any): void; /** * Отправляет событие через WebSocket с ожиданием ответа * @param event Имя события * @param data Данные для отправки * @param timeout Таймаут ожидания ответа * @returns {Promise<any>} Ответ от сервера */ sendSocketEventWithResponse(event: string, data: any, timeout?: number): Promise<any>; } //# sourceMappingURL=dependencies-api.d.ts.map