Public declaration syntax from forge-rs/crates/forge-toolbelt/src/config.rs Original source SHA-256: 54faac2a8ca61f87f21a32c5cab2b05f02cdc716724c14475d8b3f7f7e311cc2 Function bodies and constant values are omitted. This is not the complete implementation. Source line 42 #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)] #[serde(rename_all = "snake_case")] pub enum ToolGroup { /// Search tools (OneSearch integration): search, search_images, extract_content, /// crawl_site, map_site, summarize_text. Search, /// Web substrate tools: web_fetch, web_parse, web_extract, etc. Web, /// Codebase intelligence: repo_structure, dependency_graph, rank_files, /// predict_impact, assemble_context. Codebase, /// File operations: file_read, file_stat, file_type. FileOps, /// Shell execution (policy-gated): shell_exec. Shell, /// Utility tools: current_time, uuid_generate. Utility, } Source line 61 pub fn as_str(&self) -> &'static str; Source line 73 pub fn all() -> &'static [ToolGroup]; Source line 106 #[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)] #[serde(rename_all = "snake_case")] pub enum ShellPolicy { /// Shell execution is completely disabled. Disabled, /// Only read-only commands are allowed (ls, cat, find, grep, etc.). #[default] ReadOnly, /// Read and write commands are allowed, but destructive operations /// (rm, chmod, chown, etc.) require approval. ReadWrite, /// All commands are allowed. Use with extreme caution. Unrestricted, } Source line 121 pub fn allows_reads(&self) -> bool; Source line 126 pub fn allows_writes(&self) -> bool; Source line 131 pub fn allows_destructive(&self) -> bool; Source line 149 #[derive(Debug, Clone)] pub struct ToolbeltConfig { } Source line 179 pub fn builder() -> ToolbeltConfigBuilder; Source line 188 pub fn is_enabled(&self, group: ToolGroup) -> bool; Source line 193 pub fn search_config(&self) -> &SearchConfig; Source line 198 pub fn shell_policy(&self) -> &ShellPolicy; Source line 203 pub fn enabled_groups(&self) -> Vec; Source line 225 pub struct ToolbeltConfigBuilder { } Source line 233 pub fn enable(mut self, group: ToolGroup) -> Self; Source line 239 pub fn enable_all(mut self) -> Self; Source line 247 pub fn search_config(mut self, config: SearchConfig) -> Self; Source line 253 pub fn shell_policy(mut self, policy: ShellPolicy) -> Self; Source line 259 pub fn build(self) -> ToolbeltConfig;