Skip to main content

xz_skill/
error.rs

1use std::fmt::Debug;
2
3use crate::types::skill::SkillPermission;
4
5/// Skill system errors
6#[derive(Debug, thiserror::Error)]
7pub enum SkillError {
8    #[error("Skill not found: {0}")]
9    NotFound(String),
10
11    #[error("Execution timed out ({0}ms)")]
12    Timeout(u64),
13
14    #[error("Insufficient permissions: requires {required:?}")]
15    PermissionDenied {
16        required: Vec<SkillPermission>,
17    },
18
19    #[error("Tool execution failed: {0}")]
20    ToolExecution(String),
21
22    #[error("WASM error: {0}")]
23    Wasm(String),
24
25    #[error("Configuration validation failed: {0}")]
26    ConfigValidation(String),
27
28    #[error("Version mismatch: skill requires >= {required}")]
29    VersionMismatch { required: String },
30
31    #[error("Preflight check failed: {0}")]
32    PreflightFailed(String),
33
34    #[error("Skill is disabled: {0}")]
35    Disabled(String),
36
37    #[error("IO error: {0}")]
38    Io(#[from] std::io::Error),
39
40    #[error("YAML parse error: {0}")]
41    Yaml(String),
42
43    #[error("HTTP error: {0}")]
44    Http(String),
45}