starweaver_session/
error.rs1use thiserror::Error;
4
5#[derive(Debug, Error)]
7pub enum SessionStoreError {
8 #[error("session record not found: {0}")]
10 NotFound(String),
11 #[error("session record already exists: {0}")]
13 AlreadyExists(String),
14 #[error("session record conflict: {0}")]
16 Conflict(String),
17 #[error("session stale fence: {0}")]
19 StaleFence(String),
20 #[error("session idempotency conflict: {0}")]
22 IdempotencyConflict(String),
23 #[error("session quota exceeded: {0}")]
25 QuotaExceeded(String),
26 #[error("session run conflict: {0}")]
28 RunConflict(String),
29 #[error("session store temporarily unavailable: {0}")]
31 RetryableStorage(String),
32 #[error("session store failed: {0}")]
34 Failed(String),
35}
36
37pub type SessionStoreResult<T> = Result<T, SessionStoreError>;
39
40impl From<SessionStoreError> for starweaver_context::AgentExecutorError {
41 fn from(error: SessionStoreError) -> Self {
42 Self::Failed(error.to_string())
43 }
44}