Skip to main content

module

Function module 

Source
pub fn module() -> ModuleDescriptor
Expand description

The canonical declaration of the reasoning module: its six capabilities with every projection each is exposed through. The MCP tools and resources, HTTP routes, CLI paths and the generated OpenAPI are read from here and nowhere else (ADR 0004).

use majordomus_cli::capability::builtin::reasoning::{module, REASONING_URI};

let m = module();
let ids: Vec<&str> = m.capabilities.iter().map(|e| e.capability.id.as_str()).collect();
assert_eq!(ids, [
    "reasoning.advisors", "reasoning.plan", "reasoning.record",
    "reasoning.status", "reasoning.explain", "reasoning.check",
]);
let status = &m.capabilities[3].capability.exposure;
let resource = status.mcp.as_ref().and_then(|m| m.resource.as_ref()).unwrap();
assert_eq!(resource.uri, REASONING_URI);