DreamDB

TypeScript SDK

@dreamlake/dreamdb is the TypeScript-first client for the DreamDB protocol. It runs in Node 20+ and the browser, with zero runtime dependencies, and talks directly to any S3-compatible backend — no application server in the middle.

What's in the package

ConceptDescription
SchemaDeclarative builder for dataset fields (image, video, audio, embedding, scalar).
DatasetVersioned multimodal collection. Create, open, append, query, snapshot, branch, merge, compact, delete.
SpaceRead-side view of a Manifest + its Tracks. Designed for browsers, SSR, and CLIs that only consume.
BackendPluggable storage. Two built-in: S3Backend (any S3-compatible HTTP endpoint) and MemoryBackend (tests).
Query primitivesnormalizeL2, dotL2Normalized, RaBitQ + PQ decoders, LSH + IMI helpers — for code that drops below the high-level API.

Read the docs

Architecture

┌──────────────────┐    ┌──────────────────────┐    ┌──────────────────┐
│  Your code       │───▶│  @dreamlake/dreamdb  │───▶│  Object store    │
│  (Node/Browser)  │    │  (zero-dep client)   │    │  S3 / MinIO / R2 │
└──────────────────┘    └──────────────────────┘    └──────────────────┘
            HTTP only · content-addressed · spec-driven

Compatible with any backend that speaks S3-style HTTP GET/PUT (MinIO, AWS S3, Cloudflare R2, Wasabi, Backblaze B2). AWS SigV4 is auto-detected from the standard AWS_* env vars.

Source

dreamdb-ts/ in this workspace. The package is also published standalone at dreamlake-ai/dreamdb-ts.