UNPKG

solver-sdk

Version:

SDK для интеграции с Code Solver Backend API (совместимо с браузером и Node.js), с поддержкой функциональности мышления (Thinking Mode)

100 lines 4.31 kB
import { HttpClient } from '../utils/http-client.js'; import { FileIndexResponse } from '../types/index.js'; import { ProjectsApi } from './projects-api.js'; /** * Фрагмент кода для контекста */ export interface CodeSnippet { /** Путь к файлу */ filePath: string; /** Относительный путь к файлу */ relativePath?: string; /** Начальная строка */ startLine: number; /** Конечная строка */ endLine: number; /** Содержимое фрагмента */ content: string; /** Язык программирования */ language?: string; } /** * Автоматически определенный контекст */ export interface AutoContext { /** Фрагменты кода */ codeSnippets: CodeSnippet[]; /** Релевантность к запросу (0-100) */ relevance: number; } /** * Параметры для определения контекста */ export interface DetectContextParams { /** Идентификатор проекта */ projectId: string; /** Запрос для определения контекста */ query: string; /** Максимальное количество фрагментов кода */ maxSnippets?: number; /** Минимальный порог релевантности (0-100) */ relevanceThreshold?: number; } /** * Класс для работы с контекстом */ export declare class ContextApi { /** HTTP клиент */ private readonly httpClient; /** API для работы с проектами */ private readonly projectsApi; /** * Создает новый экземпляр API для работы с контекстом * @param {HttpClient} httpClient HTTP клиент * @param {ProjectsApi} projectsApi API для работы с проектами */ constructor(httpClient: HttpClient, projectsApi: ProjectsApi); /** * Определяет контекст для запроса * @param {DetectContextParams} params Параметры определения контекста * @returns {Promise<AutoContext>} Определенный контекст */ detectContext(params: DetectContextParams): Promise<AutoContext>; /** * Получает содержимое файла * @param {string} projectId Идентификатор проекта * @param {string} filePath Путь к файлу * @returns {Promise<string>} Содержимое файла */ getFileContent(projectId: string, filePath: string): Promise<string>; /** * Получает содержимое фрагмента файла * @param {string} projectId Идентификатор проекта * @param {string} filePath Путь к файлу * @param {number} startLine Начальная строка * @param {number} endLine Конечная строка * @returns {Promise<CodeSnippet>} Фрагмент кода */ getFileSnippet(projectId: string, filePath: string, startLine: number, endLine: number): Promise<CodeSnippet>; /** * Получает структуру директории * @param {string} projectId Идентификатор проекта * @param {string} [dirPath='/'] Путь к директории * @returns {Promise<Array<{name: string, type: 'file' | 'directory', path: string}>>} Структура директории */ getDirectoryStructure(projectId: string, dirPath?: string): Promise<Array<{ name: string; type: 'file' | 'directory'; path: string; }>>; /** * Обновляет индекс файла * @param projectId ID проекта * @param filePath Путь к файлу * @param content Новое содержимое файла * @param force Принудительное обновление * @returns Информация об обновленном индексе файла */ updateFileIndex(projectId: string, filePath: string, content: string, force?: boolean): Promise<FileIndexResponse>; } //# sourceMappingURL=context-api.d.ts.map