UNPKG

assistant-stream

Version:

Streaming utilities for AI assistants

35 lines (34 loc) • 998 B
import sjson from "secure-json-parse"; // src/core/serialization/data-stream/serialization.ts var DataStreamChunkEncoder = class extends TransformStream { constructor() { super({ transform: (chunk, controller) => { controller.enqueue(`${chunk.type}:${JSON.stringify(chunk.value)}\n`); } }); } }; var DataStreamChunkDecoder = class extends TransformStream { constructor() { super({ transform: (chunk, controller) => { const index = chunk.indexOf(":"); if (index === -1) { if (chunk.trim().length === 0) return; console.warn(`Dropped invalid data-stream chunk: ${chunk.slice(0, 200)}`); return; } let value; try { value = sjson.parse(chunk.slice(index + 1)); } catch { console.warn(`Dropped invalid data-stream chunk: ${chunk.slice(0, 200)}`); return; } controller.enqueue({ type: chunk.slice(0, index), value }); } }); } }; export { DataStreamChunkDecoder, DataStreamChunkEncoder }; //# sourceMappingURL=serialization.js.map