opencode_sdk/types/
pty.rs1use serde::{Deserialize, Serialize};
4use std::collections::HashMap;
5
6#[derive(Debug, Clone, Serialize, Deserialize)]
8#[serde(rename_all = "camelCase")]
9pub struct Pty {
10 pub id: String,
12 #[serde(default, skip_serializing_if = "Option::is_none")]
14 pub title: Option<String>,
15 #[serde(default, skip_serializing_if = "Option::is_none")]
17 pub command: Option<String>,
18 #[serde(default, skip_serializing_if = "Option::is_none")]
20 pub cwd: Option<String>,
21 #[serde(default, skip_serializing_if = "Option::is_none")]
23 pub env: Option<HashMap<String, String>>,
24 #[serde(default, skip_serializing_if = "Option::is_none")]
26 pub size: Option<PtySize>,
27 #[serde(default)]
29 pub exited: bool,
30 #[serde(default, skip_serializing_if = "Option::is_none")]
32 pub exit_code: Option<i32>,
33}
34
35#[derive(Debug, Clone, Serialize, Deserialize)]
37#[serde(rename_all = "camelCase")]
38pub struct PtySize {
39 pub cols: u16,
41 pub rows: u16,
43}
44
45#[derive(Debug, Clone, Default, Serialize, Deserialize)]
47#[serde(rename_all = "camelCase")]
48pub struct CreatePtyRequest {
49 #[serde(default, skip_serializing_if = "Option::is_none")]
51 pub command: Option<String>,
52 #[serde(default)]
54 pub args: Vec<String>,
55 #[serde(default, skip_serializing_if = "Option::is_none")]
57 pub cwd: Option<String>,
58 #[serde(default, skip_serializing_if = "Option::is_none")]
60 pub env: Option<HashMap<String, String>>,
61 #[serde(default, skip_serializing_if = "Option::is_none")]
63 pub size: Option<PtySize>,
64}
65
66#[derive(Debug, Clone, Default, Serialize, Deserialize)]
68#[serde(rename_all = "camelCase")]
69pub struct UpdatePtyRequest {
70 #[serde(default, skip_serializing_if = "Option::is_none")]
72 pub size: Option<PtySize>,
73 #[serde(default, skip_serializing_if = "Option::is_none")]
75 pub title: Option<String>,
76}