1/** 2 * @factory/storage — storage layer for AI Software Factory (ARCHITECTURE.md §8). 3 * 4 * Source-first package: `main`/`types` point at `src/index.ts` — apps import 5 * this package without a build step (a build is a Phase-0-completion item). 6 * 7 * Subpath exports: `@factory/storage/client` · `/keys` · `/mime` · 8 * `/thumbnails` · `/presign` (see package.json `exports`). 9 * 10 * Contents: 11 * - {@link ./types} — FileMeta, StorageError (thin ApiError subclass), 12 * S3Config, FetchLike seam 13 * - {@link ./keys} — object key layout (build/parse/sanitize) — PURE 14 * - {@link ./mime} — magic-byte MIME detection + upload policy — PURE 15 * - {@link ./presign} — AWS SigV4 signer + presignPut/presignGet — PURE 16 * - {@link ./client} — thin S3 client over injectable fetch (the only I/O) 17 * - {@link ./thumbnails} — artifact planning + real dependency-free PNG 18 * encoder + metadata extraction — PURE 19 */ 20 21export * from "./types.js"; 22export * from "./keys.js"; 23export * from "./mime.js"; 24export * from "./presign.js"; 25export * from "./client.js"; 26export * from "./thumbnails.js"; 27