aiwrapper
Version:
A Universal AI Wrapper for JavaScript & TypeScript
32 lines (31 loc) • 1.44 kB
TypeScript
import { LangMessage, LangMessageItemTool, LangMessages } from "../messages.ts";
/**
* Handles streaming deltas from OpenAI-compatible chat completions APIs
* and keeps the LangMessages collection in sync with streamed content.
*/
export declare class OpenAIChatCompletionsStreamHandler {
newMessage: LangMessage;
messages: LangMessages;
onResult?: (result: LangMessage) => void;
toolCallItems: Map<string, LangMessageItemTool>;
toolArgBuffers: Map<string, string>;
reasoningSummaryIndex: Map<string, number>;
toolCallIndexToId: Map<number, string>;
constructor(messages: LangMessages, onResult?: (result: LangMessage) => void);
setOnResult(onResult?: (result: LangMessage) => void): void;
handleEvent(data: any): void;
handleNewMessage(): void;
private getOrCreateTextItem;
private getOrCreateReasoningItem;
applyContentDelta(contentDelta: any): void;
applyTextDelta(delta: string): void;
applyReasoningDelta(reasoningDelta?: string, reasoningDetails?: any[]): void;
applyReasoningContentDelta(reasoningContentDelta: any): void;
applyReasoningTextDelta(delta: string): void;
applyImageFromUrl(url: string): void;
applyImageFromBase64(base64: string, mimeType?: string): void;
applyToolCallsDelta(toolCalls: any[]): void;
applyToolArgsDelta(toolCallId: string, delta: string): void;
private getOrCreateToolItem;
private finalizeToolArguments;
}