feat(server): completely overhaul dashboard into interactive memory hub
Added interactive knowledge graph visualization, omni-search, kanban task board, and real-time live agent activity stream.
This commit is contained in:
1 parent
02bafa5db1
commit
36674df176
3 files changed
+234
-112
No files matched your search
@@ -426,6 +426,24 @@ async fn message_handler(
|
||||
let session_id = query.session_id.clone();
|
||||
let clients = Arc::clone(&state);
|
||||
|
||||
let activity_msg = if let Some(method) = payload.get("method").and_then(|m| m.as_str()) {
|
||||
if method == "tools/call" {
|
||||
let name = payload.get("params").and_then(|p| p.get("name")).and_then(|n| n.as_str()).unwrap_or("unknown_tool");
|
||||
Some(format!("Agent executed tool: {}", name))
|
||||
} else {
|
||||
None
|
||||
}
|
||||
} else {
|
||||
None
|
||||
};
|
||||
|
||||
if let Some(msg) = activity_msg {
|
||||
let clients_map = clients.clients.read().unwrap().clone();
|
||||
for tx in clients_map.values() {
|
||||
let _ = tx.send(Ok(Event::default().event("activity").data(msg.clone())));
|
||||
}
|
||||
}
|
||||
|
||||
tokio::spawn(async move {
|
||||
if let Some(response) = handler.handle_request(payload).await {
|
||||
let tx_opt = clients.clients.read().unwrap().get(&session_id).cloned();
|
||||
|
||||
Reference in new issue
Block a user