graphlit-client
Version:
Graphlit API Client for TypeScript
59 lines (58 loc) • 1.77 kB
TypeScript
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;
}