agentic-receipts 0.1.0

Signed, tamper-evident execution receipts for AI agents, tool calls, GPU workloads, and distributed jobs.
Documentation
use chrono::{DateTime, Utc};
use serde::{Deserialize, Serialize};
use uuid::Uuid;

#[derive(Debug, Clone, Serialize, Deserialize)]
pub enum ActionType {
    ToolCall,
    ModelInference,
    GpuWorkload,
    RagRetrieval,
    ApiCall,
    DistributedJob,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AgenticReceipt {
    pub version: String,
    pub receipt_id: Uuid,

    pub agent_id: String,
    pub task_id: String,
    pub action_type: ActionType,

    pub tool_name: Option<String>,
    pub model_id: Option<String>,

    pub input_hash: String,
    pub output_hash: String,

    pub started_at: DateTime<Utc>,
    pub completed_at: DateTime<Utc>,
    pub latency_ms: u64,

    pub nonce: String,
    pub previous_receipt_hash: Option<String>,

    pub signature_algorithm: String,
    pub public_key_hex: String,
    pub signature_hex: Option<String>,
}