sdaas-rs 0.1.0

Official Rust SDK for SDaaS — Semantic Delta as a Service
Documentation
use serde::{Deserialize, Serialize};

/// Request for delta computation
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct DeltaRequest {
    /// Source text
    pub source: String,
    /// Target text
    pub target: String,
}

/// Response containing computed delta
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct DeltaResponse {
    /// The computed delta operations
    pub delta: Vec<DeltaOp>,
    /// Size of the delta in bytes
    pub size_bytes: usize,
    /// Compression ratio (0.0 to 1.0)
    pub compression_ratio: f32,
}

/// Individual delta operation
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(tag = "op")]
pub enum DeltaOp {
    #[serde(rename = "insert")]
    Insert { text: String },
    #[serde(rename = "delete")]
    Delete { count: usize },
}

/// API key validation response
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct ValidationResponse {
    pub valid: bool,
    #[serde(flatten)]
    pub key: KeyValidation,
}

/// Key validation details
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct KeyValidation {
    pub tier: String,
    pub quota_limit: u64,
    pub quota_remaining: u64,
    pub rate_limit: u32,
    pub rate_limit_remaining: u32,
}