xls-rs 0.1.7

Rust spreadsheet CLI, library, and MCP server for reading, writing, converting, and analyzing XLSX, XLS, CSV, ODS, Parquet, and Avro with pandas-style operations.
Documentation
//! Core capability definitions

use anyhow::Result;
use serde_json::Value;

/// Metadata for a capability
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct CapabilityMetadata {
    pub name: String,
    pub description: String,
    pub parameters: Value, // JSON Schema
}

/// A capability that can be executed
pub trait Capability: Send + Sync {
    /// Get capability metadata
    fn metadata(&self) -> CapabilityMetadata;

    /// Execute the capability with arguments
    fn execute(&self, args: Value) -> Result<Value>;
}