Expand description
el-core — the shared, dependency-free domain vocabulary for the
Edge-Native LLM SDK.
Everything here is the ubiquitous language made into Rust types
(docs/ddd/ubiquitous-language.md). It has no external dependencies so
it compiles offline on any target, including wasm32 (ADR-008).
Cross-cutting invariants encoded here:
- Content-free events (ADR-007):
events::DomainEventderivesCopy, which makes the compiler reject anyString/Vec/heap field — so no prompt or response content can ever ride on an event. - Air-gap by default (ADR-004):
config::SessionConfig::hybrid_modedefaults tofalse; the only network seam is an explicit opt-in. - Unified LLM provider (ADR-010):
provider::LlmProvidercovers both local Candle and cloud frontier backends behind one trait.
Re-exports§
pub use config::SessionConfig;pub use error::EdgeError;pub use error::Result;pub use events::DegradeReason;pub use events::DomainEvent;pub use events::EventEnvelope;pub use ids::ModelId;pub use ids::ModelVersion;pub use ids::SessionId;pub use provider::ChatMessage;pub use provider::ChatRequest;pub use provider::ChatResponse;pub use provider::ChatRole;pub use provider::ChatToken;pub use provider::CredentialRef;pub use provider::LlmProvider;pub use value_objects::DeviceTarget;pub use value_objects::ModelFormat;pub use value_objects::Phase;pub use value_objects::RuntimeKind;pub use value_objects::SafetyMode;pub use value_objects::SpeculationMode;pub use value_objects::StopReason;pub use value_objects::Token;