//! The `consult` tool: `brokerd` decides it and POSTs an allowlisted body (M6 spec, section 4). //! It is not core; the parent finds it with `find_tool` and calls it through `call_tool`. pub const CONSULT: &str = "consult"; pub fn schema() -> crate::llama::ToolSchema { crate::llama::ToolSchema { name: CONSULT.to_string(), description: "Ask a remote model a question. The session history is not sent. Needs a grant from the owner.".to_string(), parameters: serde_json::json!({ "type": "object", "properties": { "question": { "type": "string", "description": "The question to send. Nothing else of the session is included." } }, "required": ["question"] }), } }