Skip to main content

langgraph_checkpoint_rs/
error.rs

1use thiserror::Error;
2
3#[derive(Error, Debug)]
4pub enum CheckpointError {
5    #[error("serialization error: {0}")]
6    Serde(#[from] SerdeError),
7    #[error("checkpoint not found")]
8    NotFound,
9    #[error("storage error: {0}")]
10    Storage(String),
11    #[error("config error: {0}")]
12    Config(String),
13}
14
15#[derive(Error, Debug)]
16pub enum SerdeError {
17    #[error("msgpack error: {0}")]
18    Msgpack(String),
19    #[error("json error: {0}")]
20    Json(#[from] serde_json::Error),
21    #[error("unknown serialization tag: {0}")]
22    UnknownTag(String),
23    #[error("type mismatch: expected {expected}, got {actual}")]
24    TypeMismatch { expected: String, actual: String },
25    #[error("not serializable: {0}")]
26    NotSerializable(String),
27    #[error("io error: {0}")]
28    Io(#[from] std::io::Error),
29}
30
31#[derive(Error, Debug)]
32pub enum StoreError {
33    #[error("store error: {0}")]
34    Storage(String),
35    #[error("invalid namespace: {0}")]
36    InvalidNamespace(String),
37}
38
39#[derive(Error, Debug)]
40pub enum ChannelError {
41    #[error("channel is empty")]
42    EmptyChannel,
43    #[error("invalid update: {0}")]
44    InvalidUpdate(String),
45}