import { AgentEventStream } from '@agent-tars/core'; export type { ServerStorageOptions } from '../types'; /** * Session metadata interface */ export interface SessionMetadata { id: string; createdAt: number; updatedAt: number; name?: string; workingDirectory: string; tags?: string[]; } /** * Abstract storage provider interface * Provides methods for storing and retrieving session data */ export interface StorageProvider { /** * DB path. */ dbPath?: string; /** * Initialize the storage provider */ initialize(): Promise; /** * Create a new session with metadata * @param metadata Session metadata */ createSession(metadata: SessionMetadata): Promise; /** * Update session metadata * @param sessionId Session ID * @param metadata Partial metadata to update */ updateSessionMetadata(sessionId: string, metadata: Partial>): Promise; /** * Get session metadata * @param sessionId Session ID */ getSessionMetadata(sessionId: string): Promise; /** * Get all sessions metadata */ getAllSessions(): Promise; /** * Delete a session and all its events * @param sessionId Session ID */ deleteSession(sessionId: string): Promise; /** * Save an event to a session * @param sessionId Session ID * @param event Event to save */ saveEvent(sessionId: string, event: AgentEventStream.Event): Promise; /** * Get all events for a session * @param sessionId Session ID */ getSessionEvents(sessionId: string): Promise; /** * Close the storage provider */ close(): Promise; } //# sourceMappingURL=types.d.ts.map