UNPKG

solver-sdk

Version:

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

75 lines 3.48 kB
/** * 🔧 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