Skip to main content

Crates

Riverbeam is one Cargo workspace of fifteen library crates. They share one version, 0.1.0. The repository README asks for Rust 1.78 or newer. See Installation for how to add them.

Which crates do I need?​

BuildingAdd
The pipeline in one processbeam_core, beam_types
Custom agents and tools+ beam_agents
A worker process behind NATS+ beam_worker, beam_stream, beam_store, riverbase_task
An API processbeam_domain, beam_stream, beam_types
Retrieval with pgvector+ beam_knowledge with feature postgres
Voice turns+ beam_audio

beam_core depends on most of the other crates, so adding it brings them in. Add a crate directly when you need to name its types.

The crates​

CratePurposeDepends on
beam_typesWire types: InvokeRequest, AgentResult, StreamChunk, ContentPart, actions, modelsnone
beam_coreRiverBeam invoke pipeline, BeamConfig, and the BEM-* error cataloguemost beam_* crates, riverbase_core
beam_agentsAgent trait and registry, RigAgentRunner, completion clients, tools, sandbox tools, skillsbeam_sandbox, beam_types, riverbase_core
beam_sandboxSandboxRoot path jail and WorkingTree git (libgit2, vendored)riverbase_core
beam_routingModelRouter, routing strategies, model list loaderbeam_types, riverbase_core
beam_memoryMemory scopes, MemoryManager, backends, context trimmingbeam_types, riverbase_core
beam_knowledgeEmbedders, vector stores, chunking, ingest, retrieval, the knowledge factorybeam_types, riverbase_core
beam_storeBeamStore trait, InMemoryStore, PgBeamStorebeam_types, riverbase_core
beam_usageUsage plans, UsageGuard, UsageTracker, usage storesbeam_types
beam_auditAuditEvent, AuditLogger, sinksbeam_types
beam_securitySecurityManager and GRL rules on river_reedriver_reed
beam_streamBeamStream, delta merging, in-memory, broadcast and NATS transportsbeam_types, riverbase_core
beam_audioAudio session state, WebSocket message types, WAV utilities, the audio turnriverbase_core
beam_workerBeamWorker task dispatch and NatsWorkerServerbeam_core, beam_types, riverbase_core, riverbase_task
beam_domainBeamDomain, the Riverbase Domain bundle, worker clients, authorization, catalogbeam_core, beam_types, beam_worker, riverbase_core

Feature flags​

Only two crates have features. All are off by default.

CrateFeatureEffect
beam_knowledgepostgresPgVectorStore and ensure_knowledge_schema (Diesel and pgvector). Without it, the factory falls back to the in-memory store.
beam_knowledgepolars-ingestCompute ingest statistics with Polars instead of plain Rust. Same values; heavier build.
beam_audioaudio-http-sttHttpStt, an OpenAI-compatible speech-to-text client
beam_audioaudio-whisperAlias for audio-http-stt
beam_audioaudio-decodeMarks WebM input as recognized (BEM-352 instead of BEM-353); no decoder ships

The workspace builds riverbase_core with nats-io, riverbase_task with postgres and nats-io, and river_reed with grl-rule-engine.

Similar names​

NameCrateWhat it stores
InMemoryStorebeam_storeSessions, runs, messages, actions
InMemoryVectorStorebeam_knowledgeKnowledge chunks and vectors
InMemoryBackendbeam_memoryMemory turns and facts
InMemoryUsageStorebeam_usageUsage counters
InMemoryTransportbeam_streamPublished stream frames
InMemorySinkbeam_auditAudit events