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