UNPKG

@mencraft/lore-headless

Version:
66 lines (65 loc) 2.27 kB
import { LoreClient, AuthCredentials } from './api'; import { ChatRequest, ChatStreamCallbacks, FeedbackRequest, GraphChatRequest } from './types'; /** * Chat stream manager for handling chat streams */ export declare class ChatStreamManager { private loreClient; private readerRef; private callbacks; private auth; /** * Create a new chat stream manager * @param loreClient Lore client * @param auth Authentication credentials * @param callbacks Callbacks for stream events */ constructor(loreClient: LoreClient, auth: AuthCredentials, callbacks?: ChatStreamCallbacks); /** * Set callbacks for stream events * @param callbacks Callbacks for stream events */ setCallbacks(callbacks: ChatStreamCallbacks): void; /** * Process a chat stream * @param stream Readable stream */ private processChatStream; /** * Handle graph validation errors * @param response Graph structure error response * @returns boolean indicating if validation passed (true) or failed (false) */ private handleGraphValidationErrors; /** * Process a stream event * @param event Stream event */ private processEvent; /** * Start a chat stream * @param request Chat request * @param graphId Graph ID * @param skipValidation Skip graph validation * @deprecated since version 0.1.10 - Use startChatStream instead. */ startGraphChatStream(request: ChatRequest, graphId: string, skipValidation?: boolean): Promise<void>; startChatStream(request: GraphChatRequest | ChatRequest, graphId: string, useAdminServer?: boolean): Promise<void>; /** * Cancel the current stream */ cancelStream(): void; /** * Send feedback for a chat * @param feedback Feedback request * @param graphId Graph ID */ sendFeedback(feedback: FeedbackRequest, graphId?: string): Promise<any>; /** * Validate a graph structure with a test query * @param query Test query to validate with * @param graphId Graph ID to validate * @returns Promise<boolean> True if validation passed, false otherwise */ validateGraph(request: ChatRequest, graphId: string): Promise<boolean>; }