1use thiserror::Error;
2
3#[derive(Error, Debug)]
4pub enum RuntimeError {
5 #[error("Component loading failed: {0}")]
6 ComponentLoadError(String),
7
8 #[error("Component validation failed: {0}")]
9 ValidationError(String),
10
11 #[error("Sandbox initialization failed: {0}")]
12 SandboxError(String),
13
14 #[error("Tool execution failed: {0}")]
15 ExecutionError(String),
16
17 #[error("Configuration error: {0}")]
18 ConfigError(String),
19
20 #[error("Instance not found: {skill}/{instance}")]
21 InstanceNotFound {
22 skill: String,
23 instance: String,
24 },
25
26 #[error("WASM runtime error: {0}")]
27 WasmError(#[from] wasmtime::Error),
28
29 #[error("IO error: {0}")]
30 IoError(#[from] std::io::Error),
31
32 #[error("TOML deserialization error: {0}")]
33 TomlError(#[from] toml::de::Error),
34}
35
36pub type Result<T> = std::result::Result<T, RuntimeError>;