arcan-core 0.3.0

Core traits, protocol types, and state management for the Arcan agent runtime
Documentation
use thiserror::Error;

#[derive(Debug, Error)]
pub enum CoreError {
    #[error("provider error: {0}")]
    Provider(String),
    #[error("tool not found: {tool_name}")]
    ToolNotFound { tool_name: String },
    #[error("tool execution failed ({tool_name}): {message}")]
    ToolExecution { tool_name: String, message: String },
    #[error("middleware rejected request: {0}")]
    Middleware(String),
    #[error("state patch failed: {0}")]
    State(String),
    #[error("auth error: {0}")]
    Auth(String),
    #[error("internal lock poisoned: {0}")]
    LockPoisoned(String),
}