solver-sdk
Version:
SDK for WorkAI API - AI-powered code analysis with WorkCoins billing system
75 lines • 3.48 kB
TypeScript
/**
* 🔧 Delta-Chunking Utilities
* Утилиты для обработки файлов, чанков и шифрования
*/
import { FileContent } from '../types/delta-chunking.js';
import { ProjectsApi } from '../api/projects-api.js';
import { CodeSolverSDKOptions } from '../interfaces/sdk-options.js';
/**
* Утилиты для Delta-Chunking операций
*/
export declare class DeltaChunkingUtils {
private readonly projects;
private readonly options;
private readonly environment;
private readonly logger;
constructor(projects: ProjectsApi, options: CodeSolverSDKOptions, environment: 'browser' | 'node' | 'unknown', logger: {
log: (message: string) => void;
warn: (message: string) => void;
error: (message: string) => void;
});
/**
* Валидация проекта через Projects API
*/
validateProject(projectId: string): Promise<void>;
/**
* Создание чанков из готовых файлов (полученных от клиента)
*
* ✅ ПРАВИЛЬНОЕ ИСПОЛЬЗОВАНИЕ:
* Client Extension подготавливает массив FileContent и передает в Backend SDK
* Backend SDK обрабатывает готовые данные и создает чанки для отправки на сервер
*/
createChunksFromFiles(files: FileContent[]): Promise<any[]>;
/**
* Разбиение файла на чанки
*
* ✅ АРХИТЕКТУРА 2025: Используем размер в символах вместо неточной токенизации
*
* ПОЧЕМУ ИЗМЕНИЛИ:
* - SDK не должен принимать решения о токенах - он не имеет точной информации
* - На Backend есть точный подсчет токенов через Anthropic API
* - Backend может делать перечанковку с точной токенизацией
* - SDK создает чанки по символам, Backend оптимизирует по токенам
*/
chunkFile(file: FileContent): Promise<any[]>;
/**
* Шифрование чанков
*/
encryptChunks(chunks: any[]): Promise<any[]>;
/**
* Кросс-платформенная хеш-функция
*
* ✅ ПРАВИЛЬНОЕ ИСПОЛЬЗОВАНИЕ:
* Для хеширования контента чанков и вспомогательных вычислений
* НЕ для вычисления clientRootHash - это делает клиент!
*/
calculateHash(content: string): string;
/**
* Обфускация пути файла
*/
private obfuscatePath;
/**
* Определение типа чанка по содержимому
*/
private detectChunkType;
/**
* Определение языка программирования по расширению файла
*/
private detectLanguage;
/**
* Вычисляет хэш файла для отслеживания изменений
* ✅ ИСПРАВЛЕНО: Унифицировано с основной hash функцией для кросс-платформенности
*/
calculateFileHash(content: string): string;
}
//# sourceMappingURL=delta-chunking-utils.d.ts.map