| 14 | }; |
| 15 | |
| 16 | export interface RecordingSpoolBackend { |
| 17 | initialize(): Promise<void>; |
| 18 | createSession(session: RecordingSpoolSessionRecord): Promise<void>; |
| 19 | appendChunk( |
| 20 | session: RecordingSpoolSessionRecord, |
| 21 | index: number, |
| 22 | chunk: Blob, |
| 23 | ): Promise<void>; |
| 24 | readChunks(sessionId: string): Promise<Blob[]>; |
| 25 | listSessions(): Promise<RecordingSpoolSessionRecord[]>; |
| 26 | deleteSession(sessionId: string): Promise<void>; |
| 27 | /** Keyed lookup; backends without it fall back to listSessions(). */ |
| 28 | getSession?(sessionId: string): Promise<RecordingSpoolSessionRecord | null>; |
| 29 | } |
| 30 | |
| 31 | export type RecoveredRecordingSpool = RecordingSpoolSessionRecord & { |
| 32 | blob: Blob; |
no outgoing calls
no test coverage detected