@agentman/chat-widget
Version:
Agentman Chat Widget for easy integration with web applications
44 lines (43 loc) • 1.11 kB
TypeScript
import type { Message } from '../types/types';
import type { MessageRenderer, RendererConfig } from './MessageRenderer';
/**
* Streaming renderer that uses morphdom for efficient DOM updates
* Preserves images and other media elements during updates
*/
export declare class StreamingRenderer implements MessageRenderer {
private markdownRenderer;
private logger;
private config;
private imageCache;
private morphdom;
constructor(config?: RendererConfig);
private loadMorphdomAsync;
/**
* Render a new message
*/
render(message: Message, container: HTMLElement): Promise<void>;
/**
* Update an existing message efficiently
*/
update(message: Message, container: HTMLElement): void;
/**
* Clean up resources
*/
cleanup(): void;
/**
* Track images in the container
*/
private trackImages;
/**
* Render message attachments
*/
private renderAttachments;
/**
* Escape HTML characters
*/
private escapeHtml;
/**
* Format file size
*/
private formatFileSize;
}