distilled.cloud

Effect-native SDKs for cloud providers

Tagged errors. Retry policies. Streaming pagination.

SDKs

Effect-native clients for major cloud providers, with tagged errors and tree-shakeable imports.

AWS
npm

@distilled.cloud/aws v0.5.1

Complete AWS SDK with typed errors for S3, Lambda, DynamoDB, SQS, and 200+ services.

Azure
npm

@distilled.cloud/azure v0.5.1

Azure Resource Manager SDK for Compute, Storage, Network, SQL, and 200+ services with typed errors.

Cloudflare
npm

@distilled.cloud/cloudflare v0.5.1

Cloudflare API client for Workers, R2, KV, D1, Queues, and more with complete error coverage.

Coinbase
npm

@distilled.cloud/coinbase v0.5.1

Coinbase API client with typed errors for accounts, transactions, and exchange operations.

Fly.io
npm

@distilled.cloud/fly-io v0.5.1

Fly.io platform API client for apps, machines, volumes, and secrets management.

Google Cloud
npm

@distilled.cloud/gcp v0.5.1

Google Cloud Platform SDK for Cloud Storage, Functions, BigQuery, and Firestore with typed errors.

MongoDB Atlas
npm

@distilled.cloud/mongodb-atlas v0.5.1

MongoDB Atlas API client for clusters, databases, and project management with typed errors.

Neon
npm

@distilled.cloud/neon v0.5.1

Neon serverless Postgres client with branching, autoscaling, and complete error coverage.

PlanetScale
npm

@distilled.cloud/planetscale v0.5.1

PlanetScale MySQL serverless database client with type-safe queries and error handling.

Prisma Postgres
npm

@distilled.cloud/prisma-postgres v0.5.1

Prisma Postgres managed database client with typed operations and error handling.

Stripe
npm

@distilled.cloud/stripe v0.5.1

Stripe payments API client with typed errors for charges, subscriptions, and webhooks.

Supabase
npm

@distilled.cloud/supabase v0.5.1

Supabase platform API client for projects, databases, auth, and storage with typed errors.

Turso
npm

@distilled.cloud/turso v0.5.1

Turso edge SQLite database client for databases, groups, and organizations with typed errors.

The Problem

Cloud APIs are notoriously under-documented

Every cloud provider ships incomplete specs. Errors are discovered at runtime, not compile time.

Missing Error Codes

APIs return cryptic error codes that aren't in the documentation. You only discover them in production.

Incomplete Specs

OpenAPI and Smithy specs are missing properties, wrong types, or outdated. The docs lie.

Runtime Surprises

Errors you can't catch because they're not in the types. Your "exhaustive" switch statement isn't.

Bundle Bloat

Import one function, bundle hundreds. Class-based SDKs can't tree-shake.

Why distilled?

Effect-native cloud SDKs for modern TypeScript

Tagged Errors

Every API operation has properly typed, discriminated error unions. No more guessing what went wrong.

  • Specs patched to include undocumented errors
  • Exhaustive error handling with catchTag
  • IDE autocomplete for all error tags

Retry Policies

Declarative, composable retry logic with type-safe schedules. Handle transient failures without callback hell.

  • Exponential backoff, jitter, and more
  • Retry only on specific error tags
  • Compose schedules for complex policies

Streaming Pagination

Paginated APIs return Effect Streams. No manual token juggling—just iterate.

  • .pages() streams full response objects
  • .items() streams individual items
  • Lazy evaluation—fetch only what you need

Streaming I/O

Upload and download with Effect Streams. Process data as it flows without buffering entire payloads.

  • Stream<Uint8Array> for uploads and downloads
  • Composable with all Stream operators
  • Backpressure handled automatically

Tree-Shakeable

No monolithic client classes. Import only what you need—your bundle stays lean.

  • Module-scoped functions, not class methods
  • Config via Effect Layers, not constructors
  • Perfect for serverless and edge runtimes

The Mission

Documenting the world's APIs for AI

Type-safe, tagged error specs aren't just good for developers—they're essential for AI code generation.

distilled SDKs are built to power alchemy.run—next-generation Infrastructure-as-Code in native TypeScript. When AI generates infrastructure code, it needs to know every possible error and how to handle it.

Proper error tags mean sound, reliable tooling. No more hallucinated error handling. No more runtime surprises.

AI-Ready Specs
Exhaustive error unions
Typed request/response schemas
Patched and verified specs
Reliable code generation