use crate::filesystem::tools::ManifestWithNameAndSource;
use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize, Debug, Clone, JsonSchema)]
#[schemars(rename = "cli.output.notification.Tools")]
pub struct Tools {
pub tools: Vec<ManifestWithNameAndSource>,
}
#[derive(Serialize, Deserialize, Debug, Clone, JsonSchema)]
#[schemars(rename = "cli.output.notification.Tool")]
pub struct Tool {
pub tool: Option<ManifestWithNameAndSource>,
}
#[derive(Serialize, Deserialize, Debug, Clone, JsonSchema)]
#[schemars(rename = "cli.output.notification.ToolLine")]
pub struct ToolLine {
pub line: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[schemars(extend("omitempty" = true))]
pub stdout: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[schemars(extend("omitempty" = true))]
pub stderr: Option<bool>,
}