UNPKG

graphlit-client

Version:
59 lines (58 loc) 1.77 kB
import { AgentStreamEvent } from "../types/ui-events.js"; import { StreamEvent } from "../types/internal.js"; import { ChunkingStrategy } from "./chunk-buffer.js"; /** * Adapter that transforms low-level streaming events into high-level UI events * using GraphQL types for type safety */ export declare class UIEventAdapter { private onEvent; private conversationId; private model?; private modelService?; private tokenCount; private currentMessage; private isStreaming; private conversationStartTime; private streamStartTime; private firstTokenTime; private lastTokenTime; private tokenDelays; private activeToolCalls; private lastUpdateTime; private updateTimer?; private chunkBuffer?; private smoothingDelay; private chunkQueue; private contextWindowUsage?; constructor(onEvent: (event: AgentStreamEvent) => void, conversationId: string, options?: { smoothingEnabled?: boolean; chunkingStrategy?: ChunkingStrategy; smoothingDelay?: number; model?: string; modelService?: string; }); /** * Process a raw streaming event and emit appropriate UI events */ handleEvent(event: StreamEvent): void; private handleStart; private handleToken; private handleMessage; private handleToolCallStart; private handleToolCallDelta; private handleToolCallParsed; private handleToolCallComplete; private handleComplete; private handleError; private scheduleMessageUpdate; private scheduleChunkEmission; private emitNextChunk; private emitMessageUpdate; private emitUIEvent; private handleContextWindow; /** * Clean up any pending timers */ dispose(): void; }