langgraph_api/generated/models/
thread_search_request.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/// ThreadSearchRequest : Payload for listing threads.
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct ThreadSearchRequest {
17    /// List of thread IDs to include. Others are excluded.
18    #[serde(rename = "ids", skip_serializing_if = "Option::is_none")]
19    pub ids: Option<Vec<uuid::Uuid>>,
20    /// Thread metadata to filter on.
21    #[serde(rename = "metadata", skip_serializing_if = "Option::is_none")]
22    pub metadata: Option<serde_json::Value>,
23    /// State values to filter on.
24    #[serde(rename = "values", skip_serializing_if = "Option::is_none")]
25    pub values: Option<serde_json::Value>,
26    /// Thread status to filter on.
27    #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
28    pub status: Option<Status>,
29    /// Maximum number to return.
30    #[serde(rename = "limit", skip_serializing_if = "Option::is_none")]
31    pub limit: Option<i32>,
32    /// Offset to start from.
33    #[serde(rename = "offset", skip_serializing_if = "Option::is_none")]
34    pub offset: Option<i32>,
35    /// Sort by field.
36    #[serde(rename = "sort_by", skip_serializing_if = "Option::is_none")]
37    pub sort_by: Option<SortBy>,
38    /// Sort order.
39    #[serde(rename = "sort_order", skip_serializing_if = "Option::is_none")]
40    pub sort_order: Option<SortOrder>,
41    /// Specify which fields to return. If not provided, all fields are returned.
42    #[serde(rename = "select", skip_serializing_if = "Option::is_none")]
43    pub select: Option<Vec<Select>>,
44}
45
46impl ThreadSearchRequest {
47    /// Payload for listing threads.
48    pub fn new() -> ThreadSearchRequest {
49        ThreadSearchRequest {
50            ids: None,
51            metadata: None,
52            values: None,
53            status: None,
54            limit: None,
55            offset: None,
56            sort_by: None,
57            sort_order: None,
58            select: None,
59        }
60    }
61}
62/// Thread status to filter on.
63#[derive(
64    Clone, Copy, Debug, Default, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize,
65)]
66pub enum Status {
67    #[serde(rename = "idle")]
68    #[default]
69    Idle,
70    #[serde(rename = "busy")]
71    Busy,
72    #[serde(rename = "interrupted")]
73    Interrupted,
74    #[serde(rename = "error")]
75    Error,
76}
77/// Sort by field.
78#[derive(
79    Clone, Copy, Debug, Default, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize,
80)]
81pub enum SortBy {
82    #[serde(rename = "thread_id")]
83    #[default]
84    ThreadId,
85    #[serde(rename = "status")]
86    Status,
87    #[serde(rename = "created_at")]
88    CreatedAt,
89    #[serde(rename = "updated_at")]
90    UpdatedAt,
91}
92/// Sort order.
93#[derive(
94    Clone, Copy, Debug, Default, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize,
95)]
96pub enum SortOrder {
97    #[serde(rename = "asc")]
98    #[default]
99    Asc,
100    #[serde(rename = "desc")]
101    Desc,
102}
103/// Specify which fields to return. If not provided, all fields are returned.
104#[derive(
105    Clone, Copy, Debug, Default, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize,
106)]
107pub enum Select {
108    #[serde(rename = "thread_id")]
109    #[default]
110    ThreadId,
111    #[serde(rename = "created_at")]
112    CreatedAt,
113    #[serde(rename = "updated_at")]
114    UpdatedAt,
115    #[serde(rename = "metadata")]
116    Metadata,
117    #[serde(rename = "config")]
118    Config,
119    #[serde(rename = "context")]
120    Context,
121    #[serde(rename = "status")]
122    Status,
123    #[serde(rename = "values")]
124    Values,
125    #[serde(rename = "interrupts")]
126    Interrupts,
127}