langgraph_api/generated/models/
run_create_stateful.rs

1/*
2 * LangSmith Deployment
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: 0.1.0
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// RunCreateStateful : Payload for creating a run.
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct RunCreateStateful {
17    #[serde(rename = "assistant_id")]
18    pub assistant_id: Box<models::RunCreateStatefulAssistantId>,
19    /// The checkpoint to resume from.
20    #[serde(rename = "checkpoint", skip_serializing_if = "Option::is_none")]
21    pub checkpoint: Option<models::CheckpointConfig>,
22    #[serde(
23        rename = "input",
24        default,
25        with = "::serde_with::rust::double_option",
26        skip_serializing_if = "Option::is_none"
27    )]
28    pub input: Option<Option<Box<models::Input1>>>,
29    #[serde(
30        rename = "command",
31        default,
32        with = "::serde_with::rust::double_option",
33        skip_serializing_if = "Option::is_none"
34    )]
35    pub command: Option<Option<Box<models::Command>>>,
36    /// Metadata to assign to the run.
37    #[serde(rename = "metadata", skip_serializing_if = "Option::is_none")]
38    pub metadata: Option<serde_json::Value>,
39    #[serde(rename = "config", skip_serializing_if = "Option::is_none")]
40    pub config: Option<Box<models::Config3>>,
41    /// Static context added to the assistant.
42    #[serde(rename = "context", skip_serializing_if = "Option::is_none")]
43    pub context: Option<serde_json::Value>,
44    /// Webhook to call after LangGraph API call is done.
45    #[serde(rename = "webhook", skip_serializing_if = "Option::is_none")]
46    pub webhook: Option<String>,
47    #[serde(rename = "interrupt_before", skip_serializing_if = "Option::is_none")]
48    pub interrupt_before: Option<Box<models::InterruptBefore1>>,
49    #[serde(rename = "interrupt_after", skip_serializing_if = "Option::is_none")]
50    pub interrupt_after: Option<Box<models::InterruptAfter1>>,
51    #[serde(rename = "stream_mode", skip_serializing_if = "Option::is_none")]
52    pub stream_mode: Option<Box<models::StreamMode>>,
53    /// Whether to stream output from subgraphs.
54    #[serde(rename = "stream_subgraphs", skip_serializing_if = "Option::is_none")]
55    pub stream_subgraphs: Option<bool>,
56    /// Whether to persist the stream chunks in order to resume the stream later.
57    #[serde(rename = "stream_resumable", skip_serializing_if = "Option::is_none")]
58    pub stream_resumable: Option<bool>,
59    /// The disconnect mode to use. Must be one of 'cancel' or 'continue'.
60    #[serde(rename = "on_disconnect", skip_serializing_if = "Option::is_none")]
61    pub on_disconnect: Option<OnDisconnect>,
62    /// Feedback keys to assign to run.
63    #[serde(rename = "feedback_keys", skip_serializing_if = "Option::is_none")]
64    pub feedback_keys: Option<Vec<String>>,
65    /// Multitask strategy to use. Must be one of 'reject', 'interrupt', 'rollback', or 'enqueue'.
66    #[serde(rename = "multitask_strategy", skip_serializing_if = "Option::is_none")]
67    pub multitask_strategy: Option<MultitaskStrategy>,
68    /// How to handle missing thread. Must be either 'reject' (raise error if missing), or 'create' (create new thread).
69    #[serde(rename = "if_not_exists", skip_serializing_if = "Option::is_none")]
70    pub if_not_exists: Option<IfNotExists>,
71    /// The number of seconds to wait before starting the run. Use to schedule future runs.
72    #[serde(rename = "after_seconds", skip_serializing_if = "Option::is_none")]
73    pub after_seconds: Option<f64>,
74    /// Whether to checkpoint during the run.
75    #[serde(rename = "checkpoint_during", skip_serializing_if = "Option::is_none")]
76    pub checkpoint_during: Option<bool>,
77    /// Durability level for the run. Must be one of 'sync', 'async', or 'exit'.
78    #[serde(rename = "durability", skip_serializing_if = "Option::is_none")]
79    pub durability: Option<Durability>,
80}
81
82impl RunCreateStateful {
83    /// Payload for creating a run.
84    pub fn new(assistant_id: models::RunCreateStatefulAssistantId) -> RunCreateStateful {
85        RunCreateStateful {
86            assistant_id: Box::new(assistant_id),
87            checkpoint: None,
88            input: None,
89            command: None,
90            metadata: None,
91            config: None,
92            context: None,
93            webhook: None,
94            interrupt_before: None,
95            interrupt_after: None,
96            stream_mode: None,
97            stream_subgraphs: None,
98            stream_resumable: None,
99            on_disconnect: None,
100            feedback_keys: None,
101            multitask_strategy: None,
102            if_not_exists: None,
103            after_seconds: None,
104            checkpoint_during: None,
105            durability: None,
106        }
107    }
108}
109/// The disconnect mode to use. Must be one of 'cancel' or 'continue'.
110#[derive(
111    Clone, Copy, Debug, Default, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize,
112)]
113pub enum OnDisconnect {
114    #[serde(rename = "cancel")]
115    #[default]
116    Cancel,
117    #[serde(rename = "continue")]
118    Continue,
119}
120/// Multitask strategy to use. Must be one of 'reject', 'interrupt', 'rollback', or 'enqueue'.
121#[derive(
122    Clone, Copy, Debug, Default, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize,
123)]
124pub enum MultitaskStrategy {
125    #[serde(rename = "reject")]
126    #[default]
127    Reject,
128    #[serde(rename = "rollback")]
129    Rollback,
130    #[serde(rename = "interrupt")]
131    Interrupt,
132    #[serde(rename = "enqueue")]
133    Enqueue,
134}
135/// How to handle missing thread. Must be either 'reject' (raise error if missing), or 'create' (create new thread).
136#[derive(
137    Clone, Copy, Debug, Default, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize,
138)]
139pub enum IfNotExists {
140    #[serde(rename = "create")]
141    #[default]
142    Create,
143    #[serde(rename = "reject")]
144    Reject,
145}
146/// Durability level for the run. Must be one of 'sync', 'async', or 'exit'.
147#[derive(
148    Clone, Copy, Debug, Default, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize,
149)]
150pub enum Durability {
151    #[serde(rename = "sync")]
152    #[default]
153    Sync,
154    #[serde(rename = "async")]
155    Async,
156    #[serde(rename = "exit")]
157    Exit,
158}