codex_mobile_bridge/bridge_protocol/
requests.rs1use 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}