#[non_exhaustive]pub enum AdapterError {
ToolNotFound,
DetectionFailed(String),
SettingsGenerationFailed(String),
SettingsApplyFailed(Error),
LaunchFailed(String),
McpConfigFailed(String),
Io(Error),
Serde(String),
}Expand description
Error type returned from DevToolAdapter method failures.
Variants are kept narrow so the gateway and the aa run launcher can
match on them and respond differently (e.g. ToolNotFound is
surfaced as a friendly CLI error, while Io is logged and
retried). The #[from] attribute on Io lets adapter implementations
use the ? operator with std::io::Error without manual
.map_err(...) plumbing.
Gated on feature = "std" because AdapterError::SettingsApplyFailed
and AdapterError::Io wrap std::io::Error.
#[non_exhaustive] is kept so future variants can be added without
breaking downstream callers that match on this enum.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
ToolNotFound
The tool’s binary or installation marker could not be located on the host.
DetectionFailed(String)
Detection failed for a reason other than the tool simply not being installed (e.g. permission denied reading the install directory, version probe failed).
SettingsGenerationFailed(String)
The policy contained constructs the tool’s native managed-settings
format cannot express. Returned by
DevToolAdapter::generate_managed_settings.
SettingsApplyFailed(Error)
Writing rendered managed settings to the tool’s configuration
surface failed. Returned by DevToolAdapter::apply_settings.
LaunchFailed(String)
The tool’s binary could not be located, or its argument format
cannot accommodate the launcher’s governance wiring. Returned by
DevToolAdapter::build_launch_command.
McpConfigFailed(String)
The tool’s MCP configuration surface could not be read or written
(malformed file, permission denied, schema mismatch). Returned
by DevToolAdapter::list_mcp_servers and
DevToolAdapter::apply_mcp_governance.
Io(Error)
Generic I/O failure not covered by a more specific variant. The
#[from] attribute lets adapter implementations use ? to
propagate std::io::Error directly.
Serde(String)
Serialization or deserialization failure during managed-settings
or MCP-config rendering. Adapter implementations stringify their
underlying serde error (e.g. serde_json::Error::to_string())
and pass the message in. Keeps aa-core free of a runtime
serde_json dependency.
Trait Implementations§
Source§impl Debug for AdapterError
impl Debug for AdapterError
Source§impl Display for AdapterError
impl Display for AdapterError
Source§impl Error for AdapterError
impl Error for AdapterError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()