codetether_agent/tool/computer_use/
input.rs1#[derive(Copy, Clone, Debug, serde::Deserialize)]
4#[serde(rename_all = "snake_case")]
5pub enum ComputerUseAction {
6 Status,
8 ListApps,
10 RequestApp,
12 Snapshot,
14 WindowSnapshot,
16 Click,
18 RightClick,
20 DoubleClick,
22 Drag,
24 TypeText,
26 PressKey,
28 Scroll,
30 BringToFront,
32 WaitMs,
34 Stop,
36}
37
38#[derive(Clone, Debug, serde::Deserialize)]
39#[serde(rename_all = "snake_case")]
40pub struct ComputerUseInput {
41 pub action: ComputerUseAction,
42 #[serde(default)]
43 pub app: Option<String>,
44 #[serde(default)]
45 pub window_title_contains: Option<String>,
46 #[serde(default)]
47 pub text: Option<String>,
48 #[serde(default)]
49 pub key: Option<String>,
50 #[serde(default)]
51 pub scroll_amount: Option<i32>,
52 #[serde(default)]
54 pub hwnd: Option<i64>,
55 #[serde(default)]
56 pub x: Option<f64>,
57 #[serde(default)]
58 pub y: Option<f64>,
59 #[serde(default)]
61 pub x2: Option<f64>,
62 #[serde(default)]
64 pub y2: Option<f64>,
65 #[serde(default)]
67 pub ms: Option<u64>,
68}