UNPKG

solver-sdk

Version:

SDK for WorkAI API - AI-powered code analysis with WorkCoins billing system

69 lines 2.81 kB
/** * 🚀 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