Skip to main content

codex_mobile_wire/
requests.rs

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