claw10-domain 0.2.3

Domain models and types for Claw10 OS
Documentation
use chrono::{DateTime, Utc};
use serde::{Deserialize, Serialize};
use uuid::Uuid;

use crate::agent::AgentId;
use crate::task::TaskId;

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ArtifactId(pub Uuid);

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Artifact {
    pub id: ArtifactId,
    pub task_id: TaskId,
    pub agent_id: AgentId,
    pub name: String,
    pub mime_type: String,
    pub size_bytes: u64,
    pub storage_path: String,
    pub content_hash: String,
    pub created_at: DateTime<Utc>,
}