use anyhow::Result; use goose::agents::Agent; use std::sync::Arc; use tokio::sync::Mutex; /// Shared application state #[allow(dead_code)] #[derive(Clone)] pub struct AppState { pub agent: Arc>>>, pub secret_key: String, } impl AppState { pub async fn new(secret_key: String) -> Result { Ok(Self { agent: Arc::new(Mutex::new(None)), secret_key, }) } }