Skip to main content

codetether_agent/tool/computer_use/input/
request.rs

1//! Computer use request payload.
2
3use super::ComputerUseAction;
4
5#[derive(Clone, Debug, serde::Deserialize)]
6#[serde(rename_all = "snake_case")]
7pub struct ComputerUseInput {
8    pub action: ComputerUseAction,
9    #[serde(default)]
10    pub app: Option<String>,
11    #[serde(default)]
12    pub window_title_contains: Option<String>,
13    #[serde(default)]
14    pub text: Option<String>,
15    #[serde(default)]
16    pub key: Option<String>,
17    #[serde(default)]
18    pub button: Option<String>,
19    #[serde(default)]
20    pub modifiers: Vec<String>,
21    #[serde(default)]
22    pub scroll_amount: Option<i32>,
23    #[serde(default)]
24    pub hwnd: Option<i64>,
25    #[serde(default)]
26    pub client_area: bool,
27    #[serde(default)]
28    pub x: Option<f64>,
29    #[serde(default)]
30    pub y: Option<f64>,
31    #[serde(default)]
32    pub x2: Option<f64>,
33    #[serde(default)]
34    pub y2: Option<f64>,
35    #[serde(default)]
36    pub steps: Option<u32>,
37    #[serde(default)]
38    pub duration_ms: Option<u64>,
39    #[serde(default)]
40    pub ms: Option<u64>,
41}