UNPKG

solver-sdk

Version:

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

72 lines 2.81 kB
/** * Утилиты для обработки потоковых данных от API чата */ import { ChatStreamChunk } from './models'; /** * Результат парсинга строки SSE согласно официальному Anthropic API */ export interface ParseResult { chunk?: ChatStreamChunk; } /** * Парсит строку SSE потока согласно официальному Anthropic API */ export declare function parseStreamLine(line: string): ParseResult; /** * Проверяет завершен ли поток согласно Anthropic API */ export declare function isStreamComplete(chunk: ChatStreamChunk): boolean; /** * Обрабатывает чанк потоковой передачи данных в формате Server-Sent Events * Работает только с официальными событиями Anthropic API * * @param line Строка из SSE потока * @param logger Логгер для отладки * @param options Опции обработки * @returns Результат обработки чанка */ export declare function processStreamChunk(line: string, logger?: any, options?: { onVSCodeCommand?: (command: any) => Promise<any> | any; ignoreInvalidCommands?: boolean; }): ParseResult; /** * Обрабатывает ошибки потоковой передачи * @param error Ошибка для обработки * @returns Обработанная ошибка */ export declare function handleStreamError(error: any): Error; /** * 🛡️ Безопасный парсинг partial JSON с восстановлением * Исправляет типичные проблемы чанкинга: * - Незакрытые кавычки * - Незакрытые скобки * - Обрезанные строки */ export declare function safeParsePartialJson(json: string, logger?: any): any | null; /** * 🔄 Accumulator для безопасного накопления partial JSON chunks * Использует умный парсинг с восстановлением */ export declare class PartialJsonAccumulator { private accumulated; private logger?; constructor(logger?: any); /** * Добавляет новый чанк */ add(chunk: string): void; /** * Пытается распарсить накопленный JSON * @returns Распарсенный объект или null если еще не готов */ tryParse(): any | null; /** * Возвращает накопленную строку */ getAccumulated(): string; /** * Сбрасывает накопленные данные */ reset(): void; } //# sourceMappingURL=stream-utils.d.ts.map