use serde::{Deserialize, Serialize};
use std::collections::HashMap;
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub struct HardwareMetadata {
pub device_type: String, pub device_name: String, pub vram_gb: f32,
pub compute_units: u32,
pub provider: String, #[serde(default)]
pub metadata: HashMap<String, serde_json::Value>,
}
impl HardwareMetadata {
pub fn new(device_type: impl Into<String>, device_name: impl Into<String>) -> Self {
Self {
device_type: device_type.into(),
device_name: device_name.into(),
vram_gb: 0.0,
compute_units: 0,
provider: "unknown".into(),
metadata: HashMap::new(),
}
}
}