use anyhow::Result; use clap::Parser; use memory::{MemoryUserService, MemoryProductService}; use cli::Cli; use utils::HubConfig; #[tokio::main] async fn main() -> Result<()> { // Load and validate hub universe DID from environment file let hub_universe_did = HubConfig::read_default_hub_universe_did_from_file("config/cli-memory.env")?; let user_service = MemoryUserService::new(memory::InMemoryUserRepository::new()); let product_service = MemoryProductService::new(memory::InMemoryProductRepository::new()); let cli = Cli::try_parse()?; cli.run(user_service, product_service, hub_universe_did.did().to_string()).await }