Skip to main content

codex_mobile_bridge/bridge_protocol/
requests.rs

1use serde::Deserialize;
2use serde_json::Value;
3
4use super::management::BridgeManagementOperation;
5
6#[derive(Debug, Deserialize)]
7#[serde(rename_all = "camelCase")]
8pub struct GetRuntimeStatusRequest {
9    pub runtime_id: Option<String>,
10}
11
12#[derive(Debug, Deserialize)]
13#[serde(rename_all = "camelCase")]
14pub struct StartBridgeManagementRequest {
15    pub operation: BridgeManagementOperation,
16}
17
18#[derive(Debug, Deserialize, Default)]
19#[serde(rename_all = "camelCase")]
20pub struct ReadBridgeManagementRequest {
21    pub task_id: Option<String>,
22}
23
24#[derive(Debug, Deserialize)]
25#[serde(rename_all = "camelCase")]
26pub struct StartRuntimeRequest {
27    pub runtime_id: Option<String>,
28    pub display_name: Option<String>,
29    pub codex_home: Option<String>,
30    pub codex_binary: Option<String>,
31    pub auto_start: Option<bool>,
32}
33
34#[derive(Debug, Deserialize)]
35#[serde(rename_all = "camelCase")]
36pub struct StopRuntimeRequest {
37    pub runtime_id: String,
38}
39
40#[derive(Debug, Deserialize)]
41#[serde(rename_all = "camelCase")]
42pub struct RestartRuntimeRequest {
43    pub runtime_id: String,
44}
45
46#[derive(Debug, Deserialize)]
47#[serde(rename_all = "camelCase")]
48pub struct PruneRuntimeRequest {
49    pub runtime_id: String,
50}
51
52#[derive(Debug, Deserialize)]
53#[serde(rename_all = "camelCase")]
54pub struct CreateDirectoryBookmarkRequest {
55    pub path: String,
56    pub display_name: Option<String>,
57}
58
59#[derive(Debug, Deserialize)]
60#[serde(rename_all = "camelCase")]
61pub struct RemoveDirectoryBookmarkRequest {
62    pub path: String,
63}
64
65#[derive(Debug, Deserialize)]
66#[serde(rename_all = "camelCase")]
67pub struct ReadDirectoryRequest {
68    pub runtime_id: Option<String>,
69    pub path: String,
70}
71
72#[derive(Debug, Deserialize)]
73#[serde(rename_all = "camelCase")]
74pub struct ListThreadsRequest {
75    pub directory_prefix: Option<String>,
76    pub runtime_id: Option<String>,
77    pub limit: Option<usize>,
78    pub cursor: Option<String>,
79    pub archived: Option<bool>,
80    pub search_term: Option<String>,
81}
82
83#[derive(Debug, Deserialize)]
84#[serde(rename_all = "camelCase")]
85pub struct StartThreadRequest {
86    pub runtime_id: Option<String>,
87    pub cwd: String,
88    pub model: Option<String>,
89    pub name: Option<String>,
90    pub note: Option<String>,
91}
92
93#[derive(Debug, Deserialize)]
94#[serde(rename_all = "camelCase")]
95pub struct ResumeThreadRequest {
96    pub thread_id: String,
97}
98
99#[derive(Debug, Deserialize)]
100#[serde(rename_all = "camelCase")]
101pub struct ReadThreadRequest {
102    pub thread_id: String,
103}
104
105#[derive(Debug, Deserialize)]
106#[serde(rename_all = "camelCase")]
107pub struct StageInputImageRequest {
108    pub file_name: Option<String>,
109    pub mime_type: Option<String>,
110    pub base64_data: String,
111}
112
113#[derive(Debug, Clone, serde::Serialize, Deserialize)]
114#[serde(rename_all = "camelCase")]
115pub struct StagedInputImage {
116    pub local_path: String,
117    pub display_name: Option<String>,
118    pub mime_type: Option<String>,
119    pub size_bytes: i64,
120}
121
122#[derive(Debug, Clone, serde::Serialize, Deserialize)]
123#[serde(tag = "type", rename_all = "camelCase")]
124pub enum SendTurnInputItem {
125    Text { text: String },
126    LocalImage { path: String },
127}
128
129#[derive(Debug, Deserialize)]
130#[serde(rename_all = "camelCase")]
131pub struct SendTurnRequest {
132    pub thread_id: String,
133    #[serde(default)]
134    pub text: String,
135    pub input_items: Option<Vec<SendTurnInputItem>>,
136}
137
138#[derive(Debug, Deserialize)]
139#[serde(rename_all = "camelCase")]
140pub struct InterruptTurnRequest {
141    pub thread_id: String,
142    pub turn_id: String,
143}
144
145#[derive(Debug, Deserialize)]
146#[serde(rename_all = "camelCase")]
147pub struct UpdateThreadRequest {
148    pub thread_id: String,
149    pub name: Option<String>,
150    pub note: Option<String>,
151}
152
153#[derive(Debug, Deserialize)]
154#[serde(rename_all = "camelCase")]
155pub struct ArchiveThreadRequest {
156    pub thread_id: String,
157}
158
159#[derive(Debug, Deserialize)]
160#[serde(rename_all = "camelCase")]
161pub struct UnarchiveThreadRequest {
162    pub thread_id: String,
163}
164
165#[derive(Debug, Deserialize)]
166#[serde(rename_all = "camelCase")]
167pub struct RespondPendingRequestRequest {
168    pub request_id: String,
169    pub response: Value,
170}