tawasuyu

tawasuyu/brahman

Rust 463TOML 180Markdown 49JSON 176353 Sutichaykuna

⎇ main crates/runtime/sandokan-core/src/error.rs Rust · 32 siq'ikuna · 1021 B Ñawpa willay Pi imata llamkarqan ch'uya

feat(sandokan-daemon): B1.3 — DaemonEngine + protocolo wire b7d9d7abd · sergio ·

1//! Errores del orquestador.
2
3use serde::{Deserialize, Serialize};
4use ulid::Ulid;
5
6/// Falla de una operación del `Engine`. Las impls concretas mapean sus
7/// errores internos (encarnación, IPC, SSH) a estas variantes.
8///
9/// Es `Serialize`/`Deserialize` porque viaja por el wire del
10/// `DaemonEngine` (postcard sobre Unix socket).
11#[derive(Debug, Clone, thiserror::Error, Serialize, Deserialize)]
12pub enum EngineError {
13    /// No existe ninguna entidad activa con ese `card_id`.
14    #[error("card `{0}` no encontrada")]
15    NotFound(Ulid),
16
17    /// La encarnación falló (clone/namespaces/exec).
18    #[error("encarnación falló: {0}")]
19    Incarnate(String),
20
21    /// Falla de transporte (Unix socket del daemon, túnel SSH).
22    #[error("transporte: {0}")]
23    Transport(String),
24
25    /// La intención es inconsistente (Card inválida, contexto imposible).
26    #[error("intención inválida: {0}")]
27    InvalidIntent(String),
28
29    /// La operación excedió su deadline.
30    #[error("timeout")]
31    Timeout,
32}