UNPKG

@juspay/neurolink

Version:

Universal AI Development Platform with working MCP integration, multi-provider support, voice (TTS/STT/realtime), and professional CLI. 58+ external MCP servers discoverable, multimodal file processing, RAG pipelines. Build, test, and deploy AI applicatio

34 lines (33 loc) 1.87 kB
/** * Shared type for conversation memory managers. * Both ConversationMemoryManager and RedisConversationMemoryManager * should implement this type. */ import type { ChatMessage, ConversationMemoryConfig, ConversationMemoryStats, SessionMemory, StoreConversationTurnOptions } from "./conversation.js"; /** * Common type for all conversation memory manager implementations. * Provides a consistent API for storing, retrieving, and managing conversation history. */ export type IConversationMemoryManager = { config: ConversationMemoryConfig; /** Initialize the memory manager */ initialize(): Promise<void> | void; /** Store a conversation turn */ storeConversationTurn(options: StoreConversationTurnOptions): Promise<void>; /** Get session by ID */ getSession(sessionId: string, userId?: string): SessionMemory | undefined | Promise<SessionMemory | undefined>; /** Build context messages for AI prompt injection */ buildContextMessages(sessionId: string, userId?: string, enableSummarization?: boolean, requestId?: string): Promise<ChatMessage[]> | ChatMessage[]; /** Clear a specific session */ clearSession(sessionId: string, userId?: string): Promise<boolean> | boolean; /** Clear all sessions */ clearAllSessions(): Promise<void> | void; /** Get memory statistics */ getStats(): Promise<ConversationMemoryStats> | ConversationMemoryStats; /** Get raw messages array for a session (no context filtering or summarization) */ getSessionMessages(sessionId: string, userId?: string): Promise<ChatMessage[]>; /** Replace the entire messages array for a session */ setSessionMessages(sessionId: string, messages: ChatMessage[], userId?: string): Promise<void>; /** Close/shutdown the memory manager and release resources (e.g., Redis connections) */ close?(): Promise<void>; };