opencrabs 0.3.47

The autonomous, self-improving AI agent. Single Rust binary. Every channel. Install with: cargo install opencrabs
Documentation
//! Tool Execution Framework
//!
//! Provides an abstraction for tools that can be called by LLM agents,
//! including file operations, shell commands, and more.

pub mod brain_file_safety;
pub mod catalog;
pub mod error;
pub mod registry;
mod r#trait;

pub mod fuzzy;
pub mod tool_name_heal;
// Tool implementations - Phase 1: Essential File Operations
pub mod bash;
pub mod edit;
pub mod glob;
pub mod grep;
pub mod hashline;
pub mod ls;
pub mod read;
pub mod write;

// Tool implementations - Phase 2: Advanced Features
pub mod brave_search;
pub mod code_exec;
pub mod doc_parser;
pub mod exa_search;
pub mod notebook;
pub mod pdf_to_images;
pub mod web_search;

// Tool implementations - Phase 3: Workflow & Integration
pub mod a2a_send;
pub mod analyze_image;
pub mod analyze_video;
pub mod mission_control_report;

// Tool implementations - Recursive Self-Improvement
pub mod channel_search;
pub mod config_tool;
pub mod context;
pub mod cron_manage;
pub mod evolve;
pub mod feedback_analyze;
pub mod feedback_record;
pub mod follow_up_question;
pub mod generate_image;
pub mod http;
pub mod load_brain_file;
pub mod memory_search;
pub mod plan_tool;
pub mod provider_vision;
pub mod rebuild;
pub mod rename_session;
pub mod rsi_proposals;
pub mod rsi_propose;
pub mod self_improve;
pub mod session_search;
pub mod slash_command;
pub mod slash_onboard;
pub mod task;
pub mod tool_search;
pub mod write_opencrabs_file;

// Tool implementations - Phase 5: Multi-Agent Orchestration
pub mod subagent;

// Dynamic tools — runtime-defined via tools.toml
pub mod dynamic;
pub mod tool_manage;

// Browser automation — headless Chrome via CDP
#[cfg(feature = "browser")]
pub mod browser;

// Tool implementations - Phase 4: Channel Integrations
#[cfg(feature = "telegram")]
pub mod cowork_connect;
#[cfg(feature = "discord")]
pub mod discord_connect;
#[cfg(feature = "discord")]
pub mod discord_send;
#[cfg(feature = "slack")]
pub mod slack_connect;
#[cfg(feature = "slack")]
pub mod slack_send;
#[cfg(feature = "telegram")]
pub mod telegram_connect;
#[cfg(feature = "telegram")]
pub mod telegram_send;
#[cfg(feature = "trello")]
pub mod trello_connect;
#[cfg(feature = "trello")]
pub mod trello_send;
#[cfg(feature = "whatsapp")]
pub mod whatsapp_connect;
#[cfg(feature = "whatsapp")]
pub mod whatsapp_send;

// Re-exports
pub use error::{Result, ToolError};
pub use registry::ToolRegistry;
pub use r#trait::{Tool, ToolCapability, ToolExecutionContext, ToolResult};