UNPKG

solver-sdk

Version:

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

104 lines 4.59 kB
import { HttpClient } from '../utils/http-client.js'; /** * Параметры для модификации кода */ export interface CodeModificationParams { /** Идентификатор проекта */ projectId: string; /** Инструкция для модификации кода */ instruction: string; /** Путь к файлу для модификации */ filePath: string; /** Содержимое файла (если файл не существует) */ fileContent?: string; /** Начальная строка для модификации */ startLine?: number; /** Конечная строка для модификации */ endLine?: number; /** Дополнительный контекст для модификации */ context?: { /** Дополнительные фрагменты кода */ codeSnippets?: Array<{ /** Путь к файлу */ filePath: string; /** Начальная строка */ startLine: number; /** Конечная строка */ endLine: number; /** Содержимое */ content: string; }>; }; } /** * Результат модификации кода */ export interface CodeModificationResult { /** Идентификатор модификации */ id: string; /** Идентификатор проекта */ projectId: string; /** Путь к файлу */ filePath: string; /** Исходное содержимое */ originalContent?: string; /** Модифицированное содержимое */ modifiedContent: string; /** Патч (diff) для применения изменений */ patch?: string; /** Статус модификации */ status: 'pending' | 'completed' | 'error'; /** Дата создания */ createdAt: string; /** Сообщение об ошибке (если есть) */ error?: string; } /** * API для модификации кода */ export declare class CodeModificationApi { /** HTTP клиент */ private readonly httpClient; /** * Создает новый экземпляр API для модификации кода * @param {HttpClient} httpClient HTTP клиент */ constructor(httpClient: HttpClient); /** * Выполняет модификацию кода * @param {CodeModificationParams} params Параметры модификации * @returns {Promise<CodeModificationResult>} Результат модификации */ modifyCode(params: CodeModificationParams): Promise<CodeModificationResult>; /** * Применяет результат модификации к файлу * @param {string} modificationId Идентификатор модификации * @returns {Promise<CodeModificationResult>} Обновленный результат модификации */ applyModification(modificationId: string): Promise<CodeModificationResult>; /** * Отменяет применение модификации * @param {string} modificationId Идентификатор модификации * @returns {Promise<CodeModificationResult>} Обновленный результат модификации */ revertModification(modificationId: string): Promise<CodeModificationResult>; /** * Получает модификацию по идентификатору * @param {string} modificationId Идентификатор модификации * @returns {Promise<CodeModificationResult>} Результат модификации */ getModification(modificationId: string): Promise<CodeModificationResult>; /** * Получает список модификаций для проекта * @param {string} projectId Идентификатор проекта * @param {object} [params] Параметры запроса * @param {number} [params.limit] Лимит результатов * @param {number} [params.offset] Смещение для пагинации * @returns {Promise<CodeModificationResult[]>} Список результатов модификации */ getModifications(projectId: string, params?: { limit?: number; offset?: number; }): Promise<CodeModificationResult[]>; } //# sourceMappingURL=code-modification-api.d.ts.map