#[non_exhaustive]pub struct Capabilities {
pub version: &'static str,
pub features: Vec<&'static str>,
pub modes: &'static [&'static str],
pub global_flags: Vec<FlagSpec>,
pub subcommands: Vec<SubcommandSpec>,
pub env_vars: &'static [EnvVar],
pub mcp_tools: &'static [McpTool],
pub docs: Docs,
pub user_extension_count: usize,
}Expand description
Top-level capability inventory. Serialised to stdout as one JSON
value. Field names are part of the public wire format: renaming
any field is a semver minor with a CHANGELOG \[BREAKING\] callout
(same discipline as EntryInfo / MigrationReport in #213).
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.version: &'static strCARGO_PKG_VERSION for this build.
features: Vec<&'static str>Cargo features compiled into this binary. Contains "oa-only"
in stock release builds (the default feature). Empty only when
the crate was built with --no-default-features and no
other features enabled; a build like
cargo build --no-default-features --features citation
yields ["citation"], not [].
modes: &'static [&'static str]All four super::output::OutputMode values; the parser accepts these for
--mode. Mirrors CONFIG.md §5 (CLI flags).
global_flags: Vec<FlagSpec>Global flags that apply to every subcommand.
subcommands: Vec<SubcommandSpec>One entry per CLI subcommand (clap-walked).
env_vars: &'static [EnvVar]DOIGET_* env vars from CONFIG.md §4.
mcp_tools: &'static [McpTool]MCP tools exposed by doiget serve (hand-coded; the source of
truth is docs/MCP_TOOLS.md §1).
docs: DocsCanonical doc paths an LLM can pull for deeper context.
user_extension_count: usizeNumber of user-extension allowlist hosts loaded from
<config_dir>/doiget/config.toml per ADR-0028 D2. 0 if the
config file is missing, contains no [[network.additional_hosts]],
or fails to parse — run doiget config doctor to diagnose parse
failures. Exposed so an LLM can confirm at cold-boot whether the
curated allowlist has been extended on this host.