feat: implemented the skills policy to track available skills per context

This commit is contained in:
2026-06-01 12:26:30 -06:00
parent 3359c62429
commit aa2e627a5f
6 changed files with 450 additions and 0 deletions
+20
View File
@@ -35,6 +35,10 @@ pub struct AppConfig {
pub enabled_tools: Option<String>,
pub visible_tools: Option<Vec<String>>,
pub skills_enabled: bool,
pub enabled_skills: Option<String>,
pub visible_skills: Option<Vec<String>>,
pub mcp_server_support: bool,
pub mapping_mcp_servers: IndexMap<String, String>,
pub enabled_mcp_servers: Option<String>,
@@ -96,6 +100,10 @@ impl Default for AppConfig {
enabled_tools: None,
visible_tools: None,
skills_enabled: true,
enabled_skills: None,
visible_skills: None,
mcp_server_support: true,
mapping_mcp_servers: Default::default(),
enabled_mcp_servers: None,
@@ -158,6 +166,10 @@ impl AppConfig {
enabled_tools: config.enabled_tools,
visible_tools: config.visible_tools,
skills_enabled: config.skills_enabled,
enabled_skills: config.enabled_skills,
visible_skills: config.visible_skills,
mcp_server_support: config.mcp_server_support,
mapping_mcp_servers: config.mapping_mcp_servers,
enabled_mcp_servers: config.enabled_mcp_servers,
@@ -379,6 +391,14 @@ impl AppConfig {
self.enabled_tools = v;
}
if let Some(Some(v)) = super::read_env_bool(&get_env_name("skills_enabled")) {
self.skills_enabled = v;
}
if let Some(v) = super::read_env_value::<String>(&get_env_name("enabled_skills")) {
self.enabled_skills = v;
}
if let Some(Some(v)) = super::read_env_bool(&get_env_name("mcp_server_support")) {
self.mcp_server_support = v;
}