#[derive(Copy, Clone, Debug, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum ComputerUseAction {
Status,
ListApps,
RequestApp,
Snapshot,
WindowSnapshot,
Click,
RightClick,
DoubleClick,
Drag,
TypeText,
PressKey,
Scroll,
BringToFront,
WaitMs,
Stop,
}
#[derive(Clone, Debug, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
pub struct ComputerUseInput {
pub action: ComputerUseAction,
#[serde(default)]
pub app: Option<String>,
#[serde(default)]
pub window_title_contains: Option<String>,
#[serde(default)]
pub text: Option<String>,
#[serde(default)]
pub key: Option<String>,
#[serde(default)]
pub scroll_amount: Option<i32>,
#[serde(default)]
pub hwnd: Option<i64>,
#[serde(default)]
pub x: Option<f64>,
#[serde(default)]
pub y: Option<f64>,
#[serde(default)]
pub x2: Option<f64>,
#[serde(default)]
pub y2: Option<f64>,
#[serde(default)]
pub ms: Option<u64>,
}