decthings_api/client/rpc/terminal/
response.rs1use crate::client::rpc::ExecutionLocation;
2use serde::Deserialize;
3
4#[cfg(feature = "events")]
5#[derive(Debug, Clone, Deserialize)]
6#[serde(rename_all = "snake_case", tag = "code")]
7pub enum TerminalSessionTerminatedReason {
8 TerminatedOnRequest,
9 LauncherTerminated,
10 InactiveTimeout,
11 Unknown,
12 #[serde(rename_all = "camelCase")]
13 ProcessExit {
14 exit_code: Option<i32>,
15 signal: Option<String>,
16 oom: bool,
17 },
18}
19
20#[cfg(feature = "events")]
21#[derive(Debug, Clone, Deserialize)]
22#[serde(rename_all = "camelCase", tag = "event", content = "params")]
23pub enum TerminalEvent {
24 #[serde(rename_all = "camelCase")]
25 Exit {
26 terminal_session_id: String,
27 reason: TerminalSessionTerminatedReason,
28 },
29 #[serde(rename_all = "camelCase")]
30 Data {
31 terminal_session_id: String,
32 #[serde(skip_deserializing)]
33 data: bytes::Bytes,
34 },
35}
36
37#[derive(Debug, Clone, Deserialize)]
38#[serde(rename_all = "camelCase")]
39pub struct LaunchTerminalSessionResult {
40 pub terminal_session_id: String,
42}
43
44#[derive(Debug, Clone, Deserialize)]
45#[serde(rename_all = "snake_case", tag = "code")]
46pub enum LaunchTerminalSessionError {
47 ModelNotFound,
48 PersistentLauncherNotFound,
49 QuotaExceeded,
50 ServerOverloaded,
51 BadCredentials,
52 TooManyRequests,
53 PaymentRequired,
54 Unknown,
55 #[serde(rename_all = "camelCase")]
56 InvalidParameter {
57 parameter_name: String,
58 reason: String,
59 },
60}
61
62#[derive(Debug, Clone, Deserialize)]
63#[serde(rename_all = "camelCase")]
64pub struct TerminateTerminalSessionResult {}
65
66#[derive(Debug, Clone, Deserialize)]
67#[serde(rename_all = "snake_case", tag = "code")]
68pub enum TerminateTerminalSessionError {
69 TerminalSessionNotFound,
70 BadCredentials,
71 TooManyRequests,
72 PaymentRequired,
73 Unknown,
74 #[serde(rename_all = "camelCase")]
75 InvalidParameter {
76 parameter_name: String,
77 reason: String,
78 },
79}
80
81#[derive(Debug, Clone, Deserialize)]
82#[serde(rename_all = "camelCase")]
83pub struct TerminalSession {
84 pub id: String,
85 pub started_at: i64,
86 pub model_id: String,
87 pub execution_location: ExecutionLocation,
88}
89
90#[derive(Debug, Clone, Deserialize)]
91#[serde(rename_all = "camelCase")]
92pub struct GetTerminalSessionsResult {
93 pub terminal_sessions: Vec<TerminalSession>,
94}
95
96#[derive(Debug, Clone, Deserialize)]
97#[serde(rename_all = "snake_case", tag = "code")]
98pub enum GetTerminalSessionsError {
99 BadCredentials,
100 TooManyRequests,
101 PaymentRequired,
102 Unknown,
103 #[serde(rename_all = "camelCase")]
104 InvalidParameter {
105 parameter_name: String,
106 reason: String,
107 },
108}
109
110#[derive(Debug, Clone, Deserialize)]
111#[serde(rename_all = "camelCase")]
112pub struct WriteToTerminalSessionResult {}
113
114#[derive(Debug, Clone, Deserialize)]
115#[serde(rename_all = "snake_case", tag = "code")]
116pub enum WriteToTerminalSessionError {
117 TerminalSessionNotFound,
118 BadCredentials,
119 TooManyRequests,
120 PaymentRequired,
121 Unknown,
122 #[serde(rename_all = "camelCase")]
123 InvalidParameter {
124 parameter_name: String,
125 reason: String,
126 },
127}
128
129#[derive(Debug, Clone, Deserialize)]
130#[serde(rename_all = "camelCase")]
131pub struct ResizeTerminalSessionResult {}
132
133#[derive(Debug, Clone, Deserialize)]
134#[serde(rename_all = "snake_case", tag = "code")]
135pub enum ResizeTerminalSessionError {
136 TerminalSessionNotFound,
137 BadCredentials,
138 TooManyRequests,
139 PaymentRequired,
140 Unknown,
141 #[serde(rename_all = "camelCase")]
142 InvalidParameter {
143 parameter_name: String,
144 reason: String,
145 },
146}
147
148#[derive(Debug, Clone, Deserialize)]
149#[serde(rename_all = "camelCase")]
150pub struct AddFilesystemAccessForTerminalSessionResult {}
151
152#[derive(Debug, Clone, Deserialize)]
153#[serde(rename_all = "snake_case", tag = "code")]
154pub enum AddFilesystemAccessForTerminalSessionError {
155 TerminalSessionNotFound,
156 ModelNotFound,
157 BadCredentials,
158 TooManyRequests,
159 PaymentRequired,
160 Unknown,
161 #[serde(rename_all = "camelCase")]
162 InvalidParameter {
163 parameter_name: String,
164 reason: String,
165 },
166}
167
168#[cfg(feature = "events")]
169#[derive(Debug, Clone, Deserialize)]
170#[serde(rename_all = "camelCase")]
171pub struct TerminalSubscribeToEventsResult {}
172
173#[cfg(feature = "events")]
174#[derive(Debug, Clone, Deserialize)]
175#[serde(rename_all = "snake_case", tag = "code")]
176pub enum TerminalSubscribeToEventsError {
177 TerminalSessionNotFound,
178 BadCredentials,
179 TooManyRequests,
180 PaymentRequired,
181 Unknown,
182 #[serde(rename_all = "camelCase")]
183 InvalidParameter {
184 parameter_name: String,
185 reason: String,
186 },
187}
188
189#[cfg(feature = "events")]
190#[derive(Debug, Clone, Deserialize)]
191#[serde(rename_all = "camelCase")]
192pub struct TerminalUnsubscribeFromEventsResult {}
193
194#[cfg(feature = "events")]
195#[derive(Debug, Clone, Deserialize)]
196#[serde(rename_all = "snake_case", tag = "code")]
197pub enum TerminalUnsubscribeFromEventsError {
198 NotSubscribed,
199 TooManyRequests,
200 Unknown,
201 #[serde(rename_all = "camelCase")]
202 InvalidParameter {
203 parameter_name: String,
204 reason: String,
205 },
206}