UNPKG

contextual-agent-sdk

Version:

SDK for building AI agents with seamless voice-text context switching

58 lines 1.79 kB
import { SessionState } from './index'; export interface StorageProvider { createSession(sessionId: string, session: SessionState): Promise<void>; getSession(sessionId: string): Promise<SessionState | null>; updateSession(sessionId: string, session: SessionState): Promise<void>; deleteSession(sessionId: string): Promise<boolean>; getSessions(filter?: SessionFilter): Promise<SessionState[]>; deleteSessions(filter?: SessionFilter): Promise<number>; cleanup(maxAge: number): Promise<void>; healthCheck(): Promise<boolean>; getStats(): Promise<StorageStats>; shutdown(): Promise<void>; } export interface SessionFilter { userId?: string; modality?: 'text' | 'voice'; startTime?: { from?: Date; to?: Date; }; lastActivity?: { from?: Date; to?: Date; }; } export interface StorageStats { totalSessions: number; activeSessionsLast24h: number; averageSessionDuration: number; modalityDistribution: { text: number; voice: number; }; storageSize: number; } export interface StorageConfig { url?: string; maxConnections?: number; timeout?: number; retryAttempts?: number; username?: string; password?: string; ssl?: boolean; certPath?: string; cacheSize?: number; compressionEnabled?: boolean; maxAge?: number; cleanupInterval?: number; } export type StorageEventType = 'session_created' | 'session_updated' | 'session_deleted' | 'cleanup_started' | 'cleanup_completed' | 'error'; export type StorageEvent = { type: StorageEventType; sessionId?: string; deletedCount?: number; error?: Error; }; export type StorageEventHandler = (event: StorageEvent) => void; //# sourceMappingURL=storage.d.ts.map