solver-sdk
Version:
SDK for WorkAI API - AI-powered code analysis with WorkCoins billing system
69 lines • 2.81 kB
TypeScript
/**
* 🚀 Delta-Chunking API клиент
* Интеграция с backend endpoints
*/
import { HttpClient } from '../utils/http-client.js';
import { SyncInitRequest, DeltaChunksBatchRequest, SyncStatus, EncryptedChunk, SyncResult, ActiveFile, FileCleanupResult, InvalidateFileOptions, FileInvalidationResult, BatchInvalidationResult } from '../types/delta-chunking.js';
/**
* API клиент для delta-chunking операций
*/
export declare class DeltaChunkingApi {
private readonly httpClient;
constructor(httpClient: HttpClient);
/**
* Инициализация синхронизации проекта
*/
initSync(projectId: string, request: SyncInitRequest): Promise<{
needsSync: boolean;
sessionId?: string;
lastSyncHash?: string;
}>;
/**
* Отправка батча зашифрованных чанков
*/
uploadChunkBatch(projectId: string, batchRequest: DeltaChunksBatchRequest): Promise<{
processed: number;
failed: number;
errors?: string[];
}>;
/**
* Получение статуса синхронизации
*/
getSyncStatus(projectId: string): Promise<SyncStatus>;
/**
* Завершение синхронизации
*/
finalizeSync(projectId: string): Promise<SyncResult>;
/**
* Отмена синхронизации
*/
cancelSync(projectId: string): Promise<{
success: boolean;
message?: string;
}>;
/**
* Batch upload с retry логикой
*/
uploadChunksWithRetry(projectId: string, chunks: EncryptedChunk[], options?: {
batchSize?: number;
maxRetries?: number;
onProgress?: (current: number, total: number) => void;
}): Promise<SyncResult>;
/**
* Очистка удаленных файлов из векторной базы
* @param projectId ID проекта
* @param activeFiles Список активных файлов (оставшихся после удаления)
* @param deletedFiles ОПЦИОНАЛЬНО: Явно удаленные файлы (пути)
*/
cleanupFiles(projectId: string, activeFiles: ActiveFile[], deletedFiles?: string[]): Promise<FileCleanupResult>;
/**
* Инвалидировать chunks измененного файла
*/
invalidateFile(projectId: string, options: InvalidateFileOptions): Promise<FileInvalidationResult>;
/**
* Batch инвалидация chunks для нескольких файлов
* (для предотвращения rate limiting)
*/
invalidateFiles(projectId: string, files: InvalidateFileOptions[]): Promise<BatchInvalidationResult>;
}
//# sourceMappingURL=delta-chunking-api.d.ts.map