UNPKG

@h-lumos/llm-sdk

Version:
40 lines (39 loc) 1.44 kB
/// <reference types="node" /> export type Bytes = string | ArrayBuffer | Uint8Array | Buffer | null | undefined; export type ServerSentEvent = { event: string | null; data: string; raw: string[]; }; export declare function iterMessages(response: Response, decoder: SSEDecoder, controller: AbortController): AsyncGenerator<ServerSentEvent, void, unknown>; export declare class SSEDecoder { private data; private event; private chunks; constructor(); decode(line: string): ServerSentEvent | null; } /** * A re-implementation of httpx's `LineDecoder` in Python that handles incrementally * reading lines from text. * * https://github.com/encode/httpx/blob/920333ea98118e9cf617f246905d7b202510941c/httpx/_decoders.py#L258 */ export declare class LineDecoder { static NEWLINE_CHARS: Set<string>; static NEWLINE_REGEXP: RegExp; buffer: string[]; trailingCR: boolean; textDecoder: any; constructor(); decode(chunk: Bytes): string[]; decodeText(bytes: Bytes): string; flush(): string[]; } /** * Most browsers don't yet have async iterable support for ReadableStream, * and Node has a very different way of reading bytes from its "ReadableStream". * * This polyfill was pulled from https://github.com/MattiasBuelens/web-streams-polyfill/pull/122#issuecomment-1627354490 */ export declare function readableStreamAsyncIterable<T>(stream: any): AsyncIterableIterator<T>;