#[non_exhaustive]pub struct Toolset {
pub name: String,
pub description: String,
pub license: Option<String>,
pub compatibility: Option<String>,
pub metadata: HashMap<String, String>,
pub allowed_tools: Vec<String>,
pub capabilities: CapabilitySet,
pub instructions: String,
}Expand description
A parsed and validated toolset.
Produced by parse_toolset when TOOLSET.md passes all format and validation
rules.
#[non_exhaustive] so that future releases can add fields (e.g. publisher
hash, install path, attestation token) without a breaking change to downstream
consumers that destructure the struct.
§Note on metadata
The full metadata map is retained VERBATIM, including the
stellar-agent-capabilities key. The Toolset::capabilities field is the
typed view derived from it; future consumers may read other metadata keys
directly.
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.name: StringThe toolset name. ASCII [a-z0-9-], 1–64 chars.
description: StringHuman-readable description of what the toolset does and when to use it.
license: Option<String>SPDX license identifier or reference to a bundled license file.
compatibility: Option<String>Environment requirements (intended product, required packages, etc.).
metadata: HashMap<String, String>Verbatim metadata map from the frontmatter (string → string).
Includes the stellar-agent-capabilities key if present.
allowed_tools: Vec<String>Whitespace-tokenised list of pre-approved tools from allowed-tools.
Captured verbatim; runtime enforcement is performed by the capability enforcement layer.
capabilities: CapabilitySetTyped capability set parsed from stellar-agent-capabilities.
Empty if the key is absent or the value is empty / whitespace-only.
instructions: StringMarkdown body after the frontmatter fence.
Contains the toolset instructions.