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