Skip to main content

Crate deck_core

Crate deck_core 

Source
Expand description

deck-core — shared domain types, traits and configuration.

Every other deck-* crate depends on this one. We deliberately keep it free of heavy runtime deps (no tokio, no rusqlite, no ratatui) so that cargo check -p deck-core stays under a second.

Re-exports§

pub use config::Config;
pub use error::DeckError;
pub use error::Result;
pub use message::Message;
pub use message::Role;
pub use message::SessionId;
pub use message::ToolCall;
pub use message::ToolResult;
pub use traits::LlmBackend;
pub use traits::McpClient;
pub use traits::Sandbox;
pub use traits::Store;

Modules§

config
User-facing configuration. Resolved from (precedence high → low):
error
Crate-wide error type. Libraries use thiserror for typed errors; the binary crate uses anyhow for application-level chaining.
message
Core message / session types that the orchestrator and TUI agree on.
traits
Backend-agnostic trait surface. Each deck-* crate is a concrete implementation of one or more of these traits; the orchestrator depends only on these abstractions.