swiftide_agents/
errors.rs

1use swiftide_core::chat_completion::{
2    ChatCompletionRequestBuilderError,
3    errors::{LanguageModelError, ToolError},
4};
5use thiserror::Error;
6use tokio::task::JoinError;
7
8#[derive(Error, Debug)]
9pub enum AgentError {
10    #[error("Agent is already running")]
11    AlreadyRunning,
12
13    #[error("Failed to render system prompt {0:#}")]
14    FailedToRenderSystemPrompt(anyhow::Error),
15
16    #[error("Failed to build chat completion request {0:#}")]
17    FailedToBuildRequest(ChatCompletionRequestBuilderError),
18
19    #[error("Error from LLM when running completions {0:#}")]
20    CompletionsFailed(LanguageModelError),
21
22    #[error(transparent)]
23    ToolError(#[from] ToolError),
24
25    #[error("Failed waiting for tool to finish {0:?}")]
26    ToolFailedToJoin(String, JoinError),
27
28    #[error("Failed to load tools from toolbox {0:#}")]
29    ToolBoxFailedToLoad(anyhow::Error),
30
31    #[error("Chat completion stream was empty")]
32    EmptyStream,
33
34    #[error("Failed to render prompt {0:#}")]
35    FailedToRenderPrompt(anyhow::Error),
36
37    #[error("Error with message history {0:#}")]
38    MessageHistoryError(anyhow::Error),
39}