Files
KGStudio/src/util/chatUtil.ts
T

55 lines
1.4 KiB
TypeScript

import { AgentCore } from '../agent/core/AgentCore';
/**
* Clear chat history and reset chat state
* This utility can be used from various parts of the application
* to ensure consistent chat clearing behavior
*/
export const clearChatHistory = () => {
// Clear agent state
const agentCore = AgentCore.instance();
agentCore.clearConversation();
console.log('Chat history cleared programmatically');
};
/**
* Clear chat history with status message feedback
*/
export const clearChatHistoryWithStatus = (setStatus?: (message: string) => void) => {
clearChatHistory();
if (setStatus) {
setStatus('Chat history cleared');
}
};
// Global callback for clearing UI state
let globalClearChatUI: (() => void | Promise<void>) | null = null;
/**
* Register a callback to clear chat UI state
* This allows external components to clear the ChatBox UI
*/
export const registerClearChatUICallback = (callback: () => void | Promise<void>) => {
globalClearChatUI = callback;
};
/**
* Clear both chat history and UI state
* This is the main function that should be called when starting new/loading projects
*/
export const clearChatHistoryAndUI = (setStatus?: (statusMessage: string) => void) => {
// Clear the data model
clearChatHistory();
// Clear the UI state if callback is registered
if (globalClearChatUI) {
globalClearChatUI();
}
// Set status message
if (setStatus) {
setStatus('Chat history cleared');
}
};