swiftide_core/chat_completion/
errors.rs1use thiserror::Error;
2
3use crate::CommandError;
4
5#[derive(Error, Debug)]
6pub enum ToolError {
7 #[error("arguments for tool failed to parse: {0:#}")]
9 WrongArguments(#[from] serde_json::Error),
10
11 #[error("arguments missing for tool {0:#}")]
13 MissingArguments(String),
14
15 #[error("tool execution failed: {0:#}")]
17 ExecutionFailed(#[from] CommandError),
18
19 #[error(transparent)]
20 Unknown(#[from] anyhow::Error),
21}
22
23#[derive(Error, Debug)]
24pub enum ChatCompletionError {
25 #[error("llm returned an error: {0}")]
27 LLM(Box<dyn std::error::Error + Send + Sync>),
28
29 #[error(transparent)]
30 Unknown(#[from] anyhow::Error),
31}