pub mod agent;
mod agent_output;
mod coding;
pub(crate) mod process;
pub mod rho;
mod sdk_features;
pub mod sdk_registry;
pub mod skill;
#[cfg(debug_assertions)]
pub(crate) mod tui_fixture;
pub mod web;
pub(crate) mod workflow;
pub(crate) mod workflow_tracker;
pub(crate) const CANONICAL_TOOL_NAMES: &[&str] = &[
"agent",
"agents",
"apply_patch",
"bash",
"edit_file",
"fetch_content",
"get_search_content",
"glob",
"grep",
"list_dir",
"powershell",
"process",
"questionnaire",
"read_file",
"rho",
"skill",
"web_search",
"workflow",
"workflow_command",
"write_file",
];
pub(crate) fn canonical_tool_is_mutating(name: &str) -> Option<bool> {
match name {
"agent" | "agents" | "apply_patch" | "bash" | "edit_file" | "powershell" | "process"
| "rho" | "workflow" | "workflow_command" | "write_file" => Some(true),
"fetch_content" | "get_search_content" | "glob" | "grep" | "list_dir" | "questionnaire"
| "read_file" | "skill" | "web_search" => Some(false),
_ => None,
}
}
#[cfg(test)]
pub(crate) const HOST_ONLY_TOOL_NAMES: &[&str] = &["workflow_command"];
#[cfg(test)]
#[path = "app_owned_opt_in_tests.rs"]
mod app_owned_opt_in_tests;