task-graph-mcp 0.1.1

MCP server for atomic, token-efficient task management for multi-agent coordination
Documentation
//! Worker resource handlers.

use crate::db::Database;
use anyhow::Result;
use serde_json::{json, Value};

pub fn get_all_workers(db: &Database) -> Result<Value> {
    let workers = db.list_workers()?;

    Ok(json!({
        "workers": workers.iter().map(|w| {
            let claim_count = db.get_claim_count(&w.id).unwrap_or(0);
            json!({
                "id": &w.id,
                "tags": w.tags,
                "max_claims": w.max_claims,
                "current_claims": claim_count,
                "registered_at": w.registered_at,
                "last_heartbeat": w.last_heartbeat
            })
        }).collect::<Vec<_>>()
    }))
}