Adapter architecture

Zero opinions.
Infinite flexibility.

The platform follows the L1fe open-core adapter architecture: a small, sharp core; pluggable adapters for every provider; and a commercial shell that never forks the engine.

OSS

Layer 1 — Core

The open-source Rust engine: domain types, signal router, agent runtime, and the API. Apache-2.0.

Pluggable

Layer 2 — Adapters

Pluggable implementations of every trait — LLM, voice, KMS, storage, search, CRM, billing.

Commercial

Layer 3 — Shell

The commercial multi-tenant shell wraps Layer 1 without forking it. Open-core, done right.

Why it matters

No lock-in is the feature.

When the platform has no opinions about your providers, you keep every option open — including the option to leave.

Hot-swappable

Change your LLM, voice, or KMS provider in a line of config. The engine never notices the difference.

Fallback-ready

The adapter registry supports fallback chains, so a provider outage degrades gracefully instead of breaking.

Truly agnostic

The core has zero imports of any specific vendor. Providers are configuration, never assumptions.

Build your own

Implement a trait, register it, ship it. Any HTTP API can become a Chimes adapter.

A trait, not a vendor

The engine talks to interfaces.

Here's the whole idea in one screen. The router calls a trait; the registry resolves the implementation from config. That's the entire dependency.

adapter.rs
#[async_trait]
pub trait LlmAdapter: Send + Sync {
    async fn complete(&self, req: Prompt)
        -> Result<Completion, AdapterError>;
}

// the engine depends on the trait —
// never on anthropic, openai, or anyone else
registry.register("anthropic", AnthropicAdapter::new(cfg));
We swapped our LLM provider on a Friday afternoon. One config line. Nothing else moved.
Platform engineer · Chimes self-host

Questions

The short answers.

Billing, IAM, KMS, voice, LLM, CRM sync, storage, search — each is defined by a trait in the adapter SDK, and the platform only ever talks to the trait. The core has zero opinions about what's behind it, so you can run best-of-breed providers or your own.

Adapter architecture

Own your stack, end to end.

No credit card to start · Open-source core · Deploy in hours, not quarters