because I got bored of customising my CV for every job
1/**
2 * Storage backend abstraction for file persistence.
3 * Implementations: DiskFileStorage (local dev), R2FileStorage (prod).
4 */
5export interface FileStorage {
6 write(key: string, data: Buffer): Promise<void>;
7 read(key: string): Promise<Buffer>;
8 delete(key: string): Promise<void>;
9 exists(key: string): Promise<boolean>;
10}
11
12export const FILE_STORAGE = Symbol("FILE_STORAGE");