- 五个适配器 YAML 全字段补齐(codex/claude-code/gemini/kimi/opencode) - agentdock-config:TOML/JSON 编解码 + 原子写 + 自动备份 - agentdock-diag:PATH/依赖版本/版本冲突/配置损坏四类规则 - agentdock-core:detectCli/previewAction/runAction 流式/readConfig/writeConfig/authStatus/diagnose - Tauri IPC 命令 + CLI 详情页/安装确认弹窗/配置表单/诊断页 - cargo test 75 项通过(含 4 项真机 ignored 自测),前端 build 通过
53 lines
1.4 KiB
Rust
53 lines
1.4 KiB
Rust
//! 编排层错误类型(中文)
|
|
|
|
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<agentdock_config::ConfigError> for EngineError {
|
|
fn from(e: agentdock_config::ConfigError) -> Self {
|
|
EngineError::Config(e.to_string())
|
|
}
|
|
}
|
|
|
|
impl From<agentdock_exec::ExecError> for EngineError {
|
|
fn from(e: agentdock_exec::ExecError) -> Self {
|
|
EngineError::Exec(e.to_string())
|
|
}
|
|
}
|
|
|
|
impl From<std::io::Error> for EngineError {
|
|
fn from(e: std::io::Error) -> Self {
|
|
EngineError::Exec(e.to_string())
|
|
}
|
|
}
|