pub struct SkillManager { /* private fields */ }Implementations§
Source§impl SkillManager
impl SkillManager
pub fn new( tool_registry: Arc<ToolRegistry>, capability_registry: Arc<CapabilityRegistry>, ) -> Self
Sourcepub fn new_with_tool_registry(tool_registry: Arc<ToolRegistry>) -> Self
pub fn new_with_tool_registry(tool_registry: Arc<ToolRegistry>) -> Self
创建仅支持工具的 SkillManager(用于向后兼容)
Sourcepub fn new_with_registries(
tool_registry: Arc<ToolRegistry>,
capability_registry: Arc<CapabilityRegistry>,
) -> Self
pub fn new_with_registries( tool_registry: Arc<ToolRegistry>, capability_registry: Arc<CapabilityRegistry>, ) -> Self
创建支持工具和功能的 SkillManager
Sourcepub fn new_with_capability_registry(
capability_registry: Arc<CapabilityRegistry>,
) -> Self
pub fn new_with_capability_registry( capability_registry: Arc<CapabilityRegistry>, ) -> Self
创建仅支持功能的 SkillManager(用于仅能力场景)
Sourcepub fn register_skill(&self, skill: Skill) -> Result<()>
pub fn register_skill(&self, skill: Skill) -> Result<()>
注册技能
Sourcepub fn set_tool_access(
&self,
tool_id: &str,
access_type: ToolAccessType,
) -> Result<()>
pub fn set_tool_access( &self, tool_id: &str, access_type: ToolAccessType, ) -> Result<()>
设置工具访问类型
Sourcepub fn set_capability_access(
&self,
capability_id: &str,
access_type: CapabilityAccessType,
) -> Result<()>
pub fn set_capability_access( &self, capability_id: &str, access_type: CapabilityAccessType, ) -> Result<()>
设置功能访问类型
Sourcepub fn bind_skill_tool(&self, binding: SkillToolBinding) -> Result<()>
pub fn bind_skill_tool(&self, binding: SkillToolBinding) -> Result<()>
绑定技能和工具
Sourcepub fn bind_skill_capability(
&self,
binding: SkillCapabilityBinding,
) -> Result<()>
pub fn bind_skill_capability( &self, binding: SkillCapabilityBinding, ) -> Result<()>
绑定技能和功能
Sourcepub fn get_skill_tools(&self, skill_id: &str) -> Vec<Tool>
pub fn get_skill_tools(&self, skill_id: &str) -> Vec<Tool>
获取技能可用的工具列表
Sourcepub fn get_skill_capabilities(&self, skill_id: &str) -> Vec<Capability>
pub fn get_skill_capabilities(&self, skill_id: &str) -> Vec<Capability>
获取技能可用的功能列表
Sourcepub fn can_call_tool(&self, tool_id: &str, caller_skills: &[String]) -> bool
pub fn can_call_tool(&self, tool_id: &str, caller_skills: &[String]) -> bool
检查工具是否可以被调用(基于技能绑定)
Sourcepub fn can_call_capability(
&self,
capability_id: &str,
caller_skills: &[String],
) -> bool
pub fn can_call_capability( &self, capability_id: &str, caller_skills: &[String], ) -> bool
检查功能是否可以被调用(基于技能绑定)
Sourcepub fn get_skills(&self) -> Vec<Skill>
pub fn get_skills(&self) -> Vec<Skill>
获取技能列表
Sourcepub fn get_tool_bound_skills(&self, tool_id: &str) -> Vec<String>
pub fn get_tool_bound_skills(&self, tool_id: &str) -> Vec<String>
获取工具的绑定技能
Sourcepub fn get_capability_bound_skills(&self, capability_id: &str) -> Vec<String>
pub fn get_capability_bound_skills(&self, capability_id: &str) -> Vec<String>
获取功能的绑定技能
Sourcepub fn get_skill_bound_tools(&self, skill_id: &str) -> Vec<String>
pub fn get_skill_bound_tools(&self, skill_id: &str) -> Vec<String>
获取技能的绑定工具
Sourcepub fn get_skill_bound_capabilities(&self, skill_id: &str) -> Vec<String>
pub fn get_skill_bound_capabilities(&self, skill_id: &str) -> Vec<String>
获取技能的绑定功能
Sourcepub fn get_skill_ids(&self) -> Vec<String>
pub fn get_skill_ids(&self) -> Vec<String>
获取所有技能ID
Sourcepub fn get_tool_ids(&self) -> Vec<String>
pub fn get_tool_ids(&self) -> Vec<String>
获取所有工具ID
Sourcepub fn get_capability_ids(&self) -> Vec<String>
pub fn get_capability_ids(&self) -> Vec<String>
获取所有功能ID
Auto Trait Implementations§
impl Freeze for SkillManager
impl !RefUnwindSafe for SkillManager
impl Send for SkillManager
impl Sync for SkillManager
impl Unpin for SkillManager
impl UnsafeUnpin for SkillManager
impl !UnwindSafe for SkillManager
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more