bamboo_engine/session_app/
errors.rs1#[derive(Debug, thiserror::Error)]
5pub enum SessionLoadError {
6 #[error("session not found: {0}")]
7 NotFound(String),
8 #[error("storage error: {0}")]
9 StorageError(String),
10}
11
12#[derive(Debug, thiserror::Error)]
14pub enum SessionSaveError {
15 #[error("storage error: {0}")]
16 StorageError(String),
17}
18
19#[derive(Debug, thiserror::Error)]
21pub enum ChatError {
22 #[error("session load failed: {0}")]
23 LoadFailed(#[from] SessionLoadError),
24 #[error("session save failed: {0}")]
25 SaveFailed(#[from] SessionSaveError),
26 #[error("invalid model: {0}")]
27 InvalidModel(String),
28 #[error("invalid workflow selection: {0}")]
29 InvalidWorkflowSelection(String),
30 #[error("session carries an invalid Project identity '{raw}': {message}")]
31 InvalidProjectIdentity { raw: String, message: String },
32 #[error(
33 "session Project membership changed while preparing chat (expected {expected:?}, actual {actual:?})"
34 )]
35 ProjectIdentityConflict {
36 expected: Option<bamboo_domain::ProjectId>,
37 actual: Option<bamboo_domain::ProjectId>,
38 },
39}
40
41#[derive(Debug, thiserror::Error)]
43pub enum ExecutePreparationError {
44 #[error("session not found: {0}")]
45 NotFound(String),
46 #[error("session load failed: {0}")]
47 LoadFailed(#[from] SessionLoadError),
48 #[error("session save failed: {0}")]
49 SaveFailed(#[from] SessionSaveError),
50 #[error("invalid model: model is required")]
51 ModelRequired,
52 #[error("invalid image fallback configuration: {0}")]
53 ImageFallbackError(String),
54}
55
56#[derive(Debug, thiserror::Error)]
58pub enum RespondError {
59 #[error("session not found: {0}")]
60 NotFound(String),
61 #[error("session load failed: {0}")]
62 LoadFailed(#[from] SessionLoadError),
63 #[error("session save failed: {0}")]
64 SaveFailed(#[from] SessionSaveError),
65 #[error("no pending question waiting for response")]
66 NoPendingQuestion,
67 #[error("invalid response: {0}")]
68 InvalidResponse(String),
69}