feat: Agent Orchestrator — multi-project agent dashboard
Tauri + Svelte 5 + Rust application for orchestrating multiple AI coding agents. Includes Claude, Aider, Codex, and Ollama provider support, multi-agent communication (btmsg/bttask), session anchors, plugin sandbox, FTS5 search, Landlock sandboxing, and 507 vitest + 110 cargo tests.
This commit is contained in:
commit
3672e92b7e
272 changed files with 68600 additions and 0 deletions
31
src-tauri/src/notifications.rs
Normal file
31
src-tauri/src/notifications.rs
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
// Desktop notification support via notify-rust
|
||||
|
||||
use notify_rust::{Notification, Urgency};
|
||||
|
||||
/// Send an OS desktop notification.
|
||||
/// Fails gracefully if the notification daemon is unavailable.
|
||||
pub fn send_desktop_notification(
|
||||
title: &str,
|
||||
body: &str,
|
||||
urgency: &str,
|
||||
) -> Result<(), String> {
|
||||
let urgency_level = match urgency {
|
||||
"critical" => Urgency::Critical,
|
||||
"low" => Urgency::Low,
|
||||
_ => Urgency::Normal,
|
||||
};
|
||||
|
||||
match Notification::new()
|
||||
.summary(title)
|
||||
.body(body)
|
||||
.appname("BTerminal")
|
||||
.urgency(urgency_level)
|
||||
.show()
|
||||
{
|
||||
Ok(_) => Ok(()),
|
||||
Err(e) => {
|
||||
tracing::warn!("Desktop notification failed (daemon unavailable?): {e}");
|
||||
Ok(()) // Graceful — don't propagate to frontend
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue