pub struct ResolvedRegistry { /* private fields */ }Expand description
The post-resolution skill set. Consumed by serve_prompts
(Phase 1c) to wire prompts/list and prompts/get on the
MCP server.
Implementations§
Source§impl ResolvedRegistry
impl ResolvedRegistry
Sourcepub fn skill_names(&self) -> Vec<String>
pub fn skill_names(&self) -> Vec<String>
All resolved skill names, sorted alphabetically for stable
output in prompts/list.
Sourcepub fn get(&self, name: &str) -> Option<&Skill>
pub fn get(&self, name: &str) -> Option<&Skill>
Look up a skill by name. Used by prompts/get to fetch the
full body when the agent requests it.
Sourcepub fn iter(&self) -> impl Iterator<Item = (&String, &Skill)>
pub fn iter(&self) -> impl Iterator<Item = (&String, &Skill)>
Iterate all resolved skills. Order is unspecified — use
skill_names() first if a deterministic iteration is needed.
Sourcepub fn parse_warnings(&self) -> &[ParseWarning]
pub fn parse_warnings(&self) -> &[ParseWarning]
Per-file load failures that were silently skipped. Empty in the happy path. Each entry names the path and the error so downstream binaries can render them in their boot summary — the durable channel for visibility into “this file was silently dropped” failures that previously cost a 25-minute debug session per operator.
Sourcepub fn activation_for(
&self,
skill: &Skill,
registered_tools: &HashSet<String>,
extensions: &Map<String, Value>,
) -> SkillActivation
pub fn activation_for( &self, skill: &Skill, registered_tools: &HashSet<String>, extensions: &Map<String, Value>, ) -> SkillActivation
Evaluate the applies_when: block on skill against this
registry’s evaluator plus the supplied runtime state. Returns
the per-clause outcomes plus whether the skill should be
considered active.
registered_tools and extensions carry the runtime state
the framework-internal predicates check against.
serve_prompts calls this for every skill at boot;
skills-list calls it (with placeholder empty state) for
the operator-facing summary.
A skill without an applies_when: block is always active.