//! 编排层错误类型(中文) use std::fmt; #[derive(Debug)] pub enum EngineError { /// 未找到指定 CLI NotFound(String), /// 适配器层错误 Adapter(String), /// 配置层错误 Config(String), /// 进程执行错误 Exec(String), /// 密钥库错误 Secrets(String), /// 能力本波未实现 NotSupported(String), } impl fmt::Display for EngineError { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match self { EngineError::NotFound(m) => write!(f, "未找到: {m}"), EngineError::Adapter(m) => write!(f, "适配器: {m}"), EngineError::Config(m) => write!(f, "配置: {m}"), EngineError::Exec(m) => write!(f, "执行: {m}"), EngineError::Secrets(m) => write!(f, "密钥库: {m}"), EngineError::NotSupported(m) => write!(f, "未支持: {m}"), } } } impl std::error::Error for EngineError {} impl From for EngineError { fn from(e: agentdock_config::ConfigError) -> Self { EngineError::Config(e.to_string()) } } impl From for EngineError { fn from(e: agentdock_exec::ExecError) -> Self { EngineError::Exec(e.to_string()) } } impl From for EngineError { fn from(e: std::io::Error) -> Self { EngineError::Exec(e.to_string()) } }