ai-agent 0.13.4

Idiomatic agent sdk inspired by the claude code source leak
Documentation
// Source: /data/home/swei/claudecode/openclaudecode/src/tools/MonitorTool/MonitorTool.ts
//! Monitor tool - placeholder for unimplemented functionality

use crate::types::*;

/// Monitor tool name
pub const MONITOR_TOOL_NAME: &str = "Monitor";

/// Monitor tool - placeholder for system monitoring functionality
/// Returns null in TypeScript (feature-gated)
pub struct MonitorTool;

impl MonitorTool {
    pub fn new() -> Self {
        Self
    }

    pub fn name(&self) -> &str {
        MONITOR_TOOL_NAME
    }

    pub fn description(&self) -> &str {
        "Monitor system resources and performance (not implemented)"
    }

    pub fn input_schema(&self) -> ToolInputSchema {
        ToolInputSchema {
            schema_type: "object".to_string(),
            properties: serde_json::json!({}),
            required: None,
        }
    }

    pub async fn execute(
        &self,
        _input: serde_json::Value,
        _context: &ToolContext,
    ) -> Result<ToolResult, crate::error::AgentError> {
        Err(crate::error::AgentError::ToolNotImplemented(
            "Monitor tool is not implemented".to_string(),
        ))
    }
}

impl Default for MonitorTool {
    fn default() -> Self {
        Self::new()
    }
}