use std::collections::HashMap;
use uuid::Uuid;
use modkit::runtime::InstanceState;
use modkit_macros::domain_model;
#[domain_model]
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum DeploymentMode {
CompiledIn,
OutOfProcess,
}
#[domain_model]
#[derive(Debug, Clone)]
pub struct ModuleInfo {
pub name: String,
pub capabilities: Vec<String>,
pub dependencies: Vec<String>,
pub deployment_mode: DeploymentMode,
pub instances: Vec<InstanceInfo>,
}
#[domain_model]
#[derive(Debug, Clone)]
pub struct InstanceInfo {
pub instance_id: Uuid,
pub version: Option<String>,
pub state: InstanceState,
pub grpc_services: HashMap<String, String>,
}