@aichatkit/localstorage-adapter
Version:
LocalStorage adapter for Hypermode ChatKit
38 lines (35 loc) • 1.6 kB
text/typescript
import { StorageAdapter } from '@aichatkit/storage-adapter';
import { Conversation, Message } from '@aichatkit/types';
interface LocalStorageAdapterOptions {
conversationPrefix?: string;
conversationIdsKey?: string;
activeConversationKey?: string;
agentMappingKey?: string;
}
declare class LocalStorageAdapter extends StorageAdapter {
private conversationPrefix;
private conversationIdsKey;
private activeConversationKey;
private agentMappingKey;
constructor(options?: LocalStorageAdapterOptions);
initialize(): Promise<void>;
getActiveConversationId(): string;
setActiveConversationId(id: string): void;
saveConversation(conversation: Conversation): Promise<void>;
getConversation(id: string): Promise<Conversation | null>;
getAllConversations(): Promise<Conversation[]>;
deleteConversation(id: string): Promise<boolean>;
addMessage(conversationId: string, message: Message): Promise<Conversation | null>;
getConversationHistory(conversationId: string): Promise<Message[]>;
/**
* Sync all conversations with backend on app reload/initialization
*/
syncAllConversationsWithBackend(): Promise<void>;
clearConversationHistory(conversationId: string): Promise<void>;
setConversationAgent(conversationId: string, agentId: string): Promise<void>;
getConversationAgent(conversationId: string): Promise<string | null>;
clearAllConversations(): Promise<boolean>;
private getConversationIds;
private removeConversationAgent;
}
export { LocalStorageAdapter, type LocalStorageAdapterOptions };