pub struct CapabilityDiscoveryIndex { /* private fields */ }Expand description
Immutable searchable projection. Constructing and querying it performs no filesystem, network, model, execution, authorization, or persistence work.
Implementations§
Source§impl CapabilityDiscoveryIndex
impl CapabilityDiscoveryIndex
Sourcepub async fn from_resolved_classified_store(
tool_catalog: &[ClassifiedToolSchema],
store: &SkillStore,
eligibility: &CapabilityDiscoveryEligibility,
) -> CapabilityDiscoveryIndex
pub async fn from_resolved_classified_store( tool_catalog: &[ClassifiedToolSchema], store: &SkillStore, eligibility: &CapabilityDiscoveryEligibility, ) -> CapabilityDiscoveryIndex
Build discovery from the exact classified catalog already resolved for the current session/round, while capturing both command catalogs under the store’s publication read lock. Tool allow/disable references are not applied twice; Skill/Workflow eligibility is still resolved here.
Sourcepub async fn from_store(
tool_schemas: &[ToolSchema],
store: &SkillStore,
eligibility: &CapabilityDiscoveryEligibility,
) -> CapabilityDiscoveryIndex
pub async fn from_store( tool_schemas: &[ToolSchema], store: &SkillStore, eligibility: &CapabilityDiscoveryEligibility, ) -> CapabilityDiscoveryIndex
Legacy compatibility facade for callers that do not yet have a
session-resolved classified catalog. New agent-loop code must use
Self::from_resolved_classified_store so goal/Skill/disabled eligibility
and provider projection cannot drift from discovery.
pub fn from_snapshots( tools: impl IntoIterator<Item = ToolCapabilityMetadata>, skill_catalog: &WorkflowCatalogSnapshot, workflow_catalog: &WorkflowCatalogSnapshot, eligibility: &CapabilityDiscoveryEligibility, ) -> CapabilityDiscoveryIndex
pub fn discover( &self, request: &DiscoverCapabilitiesRequest, ) -> Result<DiscoverCapabilitiesResult, CapabilityDiscoveryError>
Sourcepub fn discover_unambiguous_automatic_skill(
&self,
query: &str,
) -> Option<CapabilityMatch>
pub fn discover_unambiguous_automatic_skill( &self, query: &str, ) -> Option<CapabilityMatch>
Select one automatic Skill only when the best match is both strong and semantically unambiguous. Deterministic source/reference tie-breakers remain useful for generic discovery, but must never turn an ambiguous automatic activation into an arbitrary choice.
pub fn explain_automatic_skill(&self, query: &str) -> AutomaticSkillDecision
Trait Implementations§
Source§impl Clone for CapabilityDiscoveryIndex
impl Clone for CapabilityDiscoveryIndex
Source§fn clone(&self) -> CapabilityDiscoveryIndex
fn clone(&self) -> CapabilityDiscoveryIndex
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more