use auths_core::storage::keychain::{IdentityDID, KeyAlias};
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct IdentityStatus {
pub controller_did: IdentityDID,
pub key_aliases: Vec<KeyAlias>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AgentStatus {
pub running: bool,
pub pid: Option<u32>,
pub socket_path: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct NextStep {
pub summary: String,
pub command: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct StatusReport {
pub identity: Option<IdentityStatus>,
pub devices: Vec<crate::domains::device::types::DeviceStatus>,
pub agent: AgentStatus,
pub next_steps: Vec<NextStep>,
}