pub(crate) const FLEET_BROADCAST_TOOL: &str = r#"{
"name": "FleetBroadcast",
"description": "Send the SAME message to many agents at once (get targets from FleetList). Delivers each one individually and signed, exactly like SendMessage would — this is a convenience loop, not a new delivery mechanism. Targets reach every tier FleetList/DiscoverAgents can see: a host or cross-channel target is its block_id; a LAN or WAN target (no block_id exists for those — they're not local blocks) is its agent NAME instead — pass whichever FleetList gave you for that entry. Returns JSON {succeeded: [target...], failed: [{id, error}...]} — always check `failed`, a partial failure is common (e.g. one target went offline) and is never silently dropped.",
"inputSchema": {
"type": "object",
"properties": {
"targets": { "type": "array", "items": { "type": "string" }, "description": "block_id (host/cross-channel) or agent name (LAN/WAN) values to send to — from FleetList" },
"message": { "type": "string", "description": "Message text to inject into each target's conversation" }
},
"required": ["targets", "message"]
}
}"#;