huskies: merge 1163 story Replace perm_rx lock-as-presence-signal with a permission router

This commit is contained in:
Huskies Agent
2026-07-16 13:19:20 +00:00
parent 6f8a8ffd87
commit 18b065f77a
26 changed files with 823 additions and 293 deletions
+4 -3
View File
@@ -224,7 +224,8 @@ async fn main() -> Result<(), std::io::Error> {
let watcher_rx_for_discord = watcher_tx.subscribe();
let watcher_rx_for_events = watcher_tx.subscribe();
let perm_rx = Arc::new(tokio::sync::Mutex::new(perm_rx));
let permission_registry = service::permission_router::ResponderRegistry::new();
service::permission_router::spawn_permission_router(perm_rx, Arc::clone(&permission_registry));
let startup_root: Option<PathBuf> = app_state.project_root.lock().unwrap().clone();
let startup_agents = Arc::clone(&agents);
let startup_reconciliation_tx = reconciliation_tx.clone();
@@ -248,8 +249,8 @@ async fn main() -> Result<(), std::io::Error> {
.map(|c| c.ambient_rooms.iter().cloned().collect())
.unwrap_or_default(),
)),
perm_rx: Arc::clone(&perm_rx),
pending_perm_replies: Arc::new(tokio::sync::Mutex::new(std::collections::HashMap::new())),
permission_registry: Arc::clone(&permission_registry),
pending_perm_replies: service::permission_router::PendingPermReplies::new(),
permission_timeout_secs: bot_cfg
.as_ref()
.map(|c| c.permission_timeout_secs)