langgraph-api 0.1.1

Rust Client API of LangGraph
Documentation
/*
 * LangSmith Deployment
 *
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 0.1.0
 *
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ThreadState {
    #[serde(rename = "values")]
    pub values: Box<models::Values>,
    #[serde(rename = "next")]
    pub next: Vec<String>,
    #[serde(rename = "tasks", skip_serializing_if = "Option::is_none")]
    pub tasks: Option<Vec<models::ThreadStateTasksInner>>,
    #[serde(rename = "checkpoint")]
    pub checkpoint: Box<models::CheckpointConfig>,
    #[serde(rename = "metadata")]
    pub metadata: serde_json::Value,
    #[serde(rename = "created_at")]
    pub created_at: String,
    #[serde(rename = "parent_checkpoint", skip_serializing_if = "Option::is_none")]
    pub parent_checkpoint: Option<serde_json::Value>,
    #[serde(rename = "interrupts", skip_serializing_if = "Option::is_none")]
    pub interrupts: Option<Vec<models::Interrupt>>,
}

impl ThreadState {
    pub fn new(
        values: models::Values,
        next: Vec<String>,
        checkpoint: models::CheckpointConfig,
        metadata: serde_json::Value,
        created_at: String,
    ) -> ThreadState {
        ThreadState {
            values: Box::new(values),
            next,
            tasks: None,
            checkpoint: Box::new(checkpoint),
            metadata,
            created_at,
            parent_checkpoint: None,
            interrupts: None,
        }
    }
}