UNPKG

@voxket-ai/voxket-live

Version:

A React widget for embedding Voxket-powered audio/video/chat experiences.

92 lines (91 loc) 2.67 kB
import { Room } from 'livekit-client'; import { VoxketEventEmitter } from './event-emitter'; import { ChatManager } from './chat-manager'; import { AgentManager } from './agent-manager'; import { VoxketEvents } from '../types/core'; /** * StreamHandlerManager * * Manages all text and byte stream handlers including: * - Chat message streams (lk.chat) * - Transcription streams (lk.transcription) * - Agent state change streams * - Tool execution streams * - Image attachment streams * - Custom event emitter streams * - Suggested response streams */ export declare class StreamHandlerManager { private room; private eventEmitter; private chatManager; private agentManager; private textStreamHandlersRegistered; private _eventEmitters; constructor(eventEmitter: VoxketEventEmitter<VoxketEvents>, chatManager: ChatManager, agentManager: AgentManager); /** * Set the room instance for stream handling * Automatically registers handlers when room is set and not already registered */ setRoom(room: Room | null): void; /** * Check if stream handlers are registered */ areHandlersRegistered(): boolean; /** * Reset handlers registration flag */ resetHandlersFlag(): void; /** * Setup all text stream handlers */ setupTextStreamHandlers(): void; /** * Register chat message handler (lk.chat) */ private registerChatHandler; /** * Register transcription handler (lk.transcription) */ private registerTranscriptionHandler; /** * Register suggested response handler */ private registerSuggestedResponseHandler; /** * Register agent state change handler */ private registerAgentStateHandler; /** * Register function tools execution handler */ private registerFunctionToolsHandler; /** * Register image text stream handler */ private registerImageTextStreamHandler; /** * Register image byte stream handler */ private registerImageByteStreamHandler; /** * Register handlers for common topics */ private registerCommonTopicHandlers; /** * Register wildcard handler for unhandled topics */ private registerWildcardHandler; /** * Register a custom event emitter for a specific topic */ registerEventEmitter(topic: string, handler: (data: string) => void): void; /** * Get all registered event emitters */ getRegisteredEventEmitters(): string[]; /** * Check if an event emitter is registered for a topic */ hasEventEmitter(topic: string): boolean; }