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};

/// RunCreateStateless : Payload for creating a run.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct RunCreateStateless {
    #[serde(rename = "assistant_id")]
    pub assistant_id: Box<models::RunCreateStatefulAssistantId>,
    #[serde(
        rename = "input",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub input: Option<Option<Box<models::Input1>>>,
    #[serde(
        rename = "command",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub command: Option<Option<Box<models::Command>>>,
    /// Metadata to assign to the run.
    #[serde(rename = "metadata", skip_serializing_if = "Option::is_none")]
    pub metadata: Option<serde_json::Value>,
    #[serde(rename = "config", skip_serializing_if = "Option::is_none")]
    pub config: Option<Box<models::Config3>>,
    /// Static context added to the assistant.
    #[serde(rename = "context", skip_serializing_if = "Option::is_none")]
    pub context: Option<serde_json::Value>,
    /// Webhook to call after LangGraph API call is done.
    #[serde(rename = "webhook", skip_serializing_if = "Option::is_none")]
    pub webhook: Option<String>,
    #[serde(rename = "stream_mode", skip_serializing_if = "Option::is_none")]
    pub stream_mode: Option<Box<models::StreamMode>>,
    /// Feedback keys to assign to run.
    #[serde(rename = "feedback_keys", skip_serializing_if = "Option::is_none")]
    pub feedback_keys: Option<Vec<String>>,
    /// Whether to stream output from subgraphs.
    #[serde(rename = "stream_subgraphs", skip_serializing_if = "Option::is_none")]
    pub stream_subgraphs: Option<bool>,
    /// Whether to persist the stream chunks in order to resume the stream later.
    #[serde(rename = "stream_resumable", skip_serializing_if = "Option::is_none")]
    pub stream_resumable: Option<bool>,
    /// Whether to delete or keep the thread created for a stateless run. Must be one of 'delete' or 'keep'.
    #[serde(rename = "on_completion", skip_serializing_if = "Option::is_none")]
    pub on_completion: Option<OnCompletion>,
    /// The disconnect mode to use. Must be one of 'cancel' or 'continue'.
    #[serde(rename = "on_disconnect", skip_serializing_if = "Option::is_none")]
    pub on_disconnect: Option<OnDisconnect>,
    /// The number of seconds to wait before starting the run. Use to schedule future runs.
    #[serde(rename = "after_seconds", skip_serializing_if = "Option::is_none")]
    pub after_seconds: Option<f64>,
    /// Whether to checkpoint during the run.
    #[serde(rename = "checkpoint_during", skip_serializing_if = "Option::is_none")]
    pub checkpoint_during: Option<bool>,
    /// Durability level for the run. Must be one of 'sync', 'async', or 'exit'.
    #[serde(rename = "durability", skip_serializing_if = "Option::is_none")]
    pub durability: Option<Durability>,
}

impl RunCreateStateless {
    /// Payload for creating a run.
    pub fn new(assistant_id: models::RunCreateStatefulAssistantId) -> RunCreateStateless {
        RunCreateStateless {
            assistant_id: Box::new(assistant_id),
            input: None,
            command: None,
            metadata: None,
            config: None,
            context: None,
            webhook: None,
            stream_mode: None,
            feedback_keys: None,
            stream_subgraphs: None,
            stream_resumable: None,
            on_completion: None,
            on_disconnect: None,
            after_seconds: None,
            checkpoint_during: None,
            durability: None,
        }
    }
}
/// Whether to delete or keep the thread created for a stateless run. Must be one of 'delete' or 'keep'.
#[derive(
    Clone, Copy, Debug, Default, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize,
)]
pub enum OnCompletion {
    #[serde(rename = "delete")]
    #[default]
    Delete,
    #[serde(rename = "keep")]
    Keep,
}
/// The disconnect mode to use. Must be one of 'cancel' or 'continue'.
#[derive(
    Clone, Copy, Debug, Default, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize,
)]
pub enum OnDisconnect {
    #[serde(rename = "cancel")]
    #[default]
    Cancel,
    #[serde(rename = "continue")]
    Continue,
}
/// Durability level for the run. Must be one of 'sync', 'async', or 'exit'.
#[derive(
    Clone, Copy, Debug, Default, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize,
)]
pub enum Durability {
    #[serde(rename = "sync")]
    #[default]
    Sync,
    #[serde(rename = "async")]
    Async,
    #[serde(rename = "exit")]
    Exit,
}