Skip to main content

awaken_runtime/registry/resolve/
error.rs

1//! Resolution errors.
2
3/// Errors from the resolution process.
4#[derive(Debug, thiserror::Error)]
5pub enum ResolveError {
6    #[error("agent not found: {0}")]
7    AgentNotFound(String),
8    #[error("model not found: {0}")]
9    ModelNotFound(String),
10    #[error("provider not found: {0}")]
11    ProviderNotFound(String),
12    #[error("plugin not found: {0}")]
13    PluginNotFound(String),
14    #[error("invalid config for plugin {plugin}: section \"{key}\" — {message}")]
15    InvalidPluginConfig {
16        plugin: String,
17        key: String,
18        message: String,
19    },
20    #[error("unsupported remote backend `{backend}` for delegate `{agent_id}`")]
21    UnsupportedRemoteBackend { agent_id: String, backend: String },
22    #[error(
23        "invalid remote endpoint config for delegate `{agent_id}` backend `{backend}` — {message}"
24    )]
25    InvalidRemoteEndpointConfig {
26        agent_id: String,
27        backend: String,
28        message: String,
29    },
30    #[error("remote agent `{0}` cannot be resolved locally — use it as a delegate instead")]
31    RemoteAgentNotDirectlyRunnable(String),
32    #[error("tool ID conflict: \"{tool_id}\" registered by both {source_a} and {source_b}")]
33    ToolIdConflict {
34        tool_id: String,
35        source_a: String,
36        source_b: String,
37    },
38    #[error("env build error: {0}")]
39    EnvBuild(#[from] awaken_contract::StateError),
40}