@gacua/backend
Version:
GACUA Backend
22 lines (21 loc) • 951 B
TypeScript
/**
* @license
* Copyright 2025 MuleRun
* SPDX-License-Identifier: Apache-2.0
*/
import type { PersistentMessage, SessionMetadata } from '@gacua/shared';
export declare class SessionRepository {
private readonly baseDir;
constructor();
private getMetadataFilePath;
private getMessagesFilePath;
private getImagesFilePath;
createSession(metadata: SessionMetadata): Promise<void>;
updateSession(sessionId: string, updates: Omit<Partial<SessionMetadata>, 'id'>): Promise<void>;
getSession(sessionId: string): Promise<SessionMetadata>;
getAllSessions(): Promise<SessionMetadata[]>;
appendMessages(sessionId: string, messages: PersistentMessage[]): Promise<void>;
getMessages(sessionId: string, includeHidden?: boolean): Promise<PersistentMessage[]>;
saveImage(imageBuffer: Buffer, sessionId: string, fileName: string): Promise<void>;
getImage(sessionId: string, fileName: string): Promise<Buffer>;
}