decthings_api/client/rpc/terminal/
response.rs

1use 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    /// A unique identifier which you should use in subsequent API calls.
41    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}