solver-sdk
Version:
SDK для интеграции с Code Solver Backend API
109 lines • 4.94 kB
TypeScript
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