use schemars::JsonSchema;
use serde::Deserialize;
#[derive(Debug, Deserialize, JsonSchema)]
pub struct RegistryParams {
pub query: Option<String>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct InvokeCommandParams {
pub command: String,
pub args: Option<serde_json::Value>,
pub webview_label: Option<String>,
}
#[derive(Debug, Deserialize, JsonSchema, Clone, Copy)]
#[serde(rename_all = "snake_case")]
pub enum AppDir {
Data,
Config,
Log,
LocalData,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct ListAppDirParams {
pub directory: Option<AppDir>,
pub path: Option<String>,
pub pattern: Option<String>,
pub max_depth: Option<u32>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct ReadAppFileParams {
pub directory: Option<AppDir>,
pub path: String,
pub max_bytes: Option<usize>,
pub binary: Option<bool>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct QueryDbParams {
pub path: Option<String>,
pub query: String,
pub params: Option<Vec<serde_json::Value>>,
pub max_rows: Option<usize>,
}