langgraph_api/generated/models/
thread_search_request.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct ThreadSearchRequest {
17 #[serde(rename = "ids", skip_serializing_if = "Option::is_none")]
19 pub ids: Option<Vec<uuid::Uuid>>,
20 #[serde(rename = "metadata", skip_serializing_if = "Option::is_none")]
22 pub metadata: Option<serde_json::Value>,
23 #[serde(rename = "values", skip_serializing_if = "Option::is_none")]
25 pub values: Option<serde_json::Value>,
26 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
28 pub status: Option<Status>,
29 #[serde(rename = "limit", skip_serializing_if = "Option::is_none")]
31 pub limit: Option<i32>,
32 #[serde(rename = "offset", skip_serializing_if = "Option::is_none")]
34 pub offset: Option<i32>,
35 #[serde(rename = "sort_by", skip_serializing_if = "Option::is_none")]
37 pub sort_by: Option<SortBy>,
38 #[serde(rename = "sort_order", skip_serializing_if = "Option::is_none")]
40 pub sort_order: Option<SortOrder>,
41 #[serde(rename = "select", skip_serializing_if = "Option::is_none")]
43 pub select: Option<Vec<Select>>,
44}
45
46impl ThreadSearchRequest {
47 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#[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#[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#[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#[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}