/** * In-memory session provider for development. * * WARNING: Sessions are lost on server restart. Not for production use. */ import type { Session, ISessionProvider } from '../../interfaces/index.js'; /** * Options for MemorySessionProvider. */ export interface MemorySessionProviderOptions { /** Session TTL in milliseconds (default: 7 days) */ ttl?: number; /** Cookie name (default: 'mastra_session') */ cookieName?: string; /** Cookie path (default: '/') */ cookiePath?: string; /** Cleanup interval in milliseconds (default: 60000) */ cleanupInterval?: number; } /** * In-memory session provider. * * Stores sessions in a Map. Useful for development but not suitable * for production as sessions are lost on restart. * * @example * ```typescript * const sessionProvider = new MemorySessionProvider({ * ttl: 24 * 60 * 60 * 1000, // 24 hours * }); * ``` */ export declare class MemorySessionProvider implements ISessionProvider { private sessions; private ttl; private cookieName; private cookiePath; private cleanupTimer; constructor(options?: MemorySessionProviderOptions); createSession(userId: string, metadata?: Record): Promise; validateSession(sessionId: string): Promise; destroySession(sessionId: string): Promise; refreshSession(sessionId: string): Promise; getSessionIdFromRequest(request: Request): string | null; getSessionHeaders(session: Session): Record; getClearSessionHeaders(): Record; /** * Clean up expired sessions. */ private cleanup; /** * Stop the cleanup timer. */ dispose(): void; /** * Get the number of active sessions (for debugging). */ getSessionCount(): number; } //# sourceMappingURL=memory.d.ts.map