@mencraft/lore-headless
Version:
A headless library for chat streaming functionality
66 lines (65 loc) • 2.27 kB
TypeScript
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>;
}