Add connector skills feature toggle

This commit is contained in:
William Yang
2026-06-19 11:01:45 +00:00
parent dac588f413
commit a9bd86f0c8
9 changed files with 174 additions and 1 deletions
+5 -1
View File
@@ -3127,6 +3127,10 @@ impl Session {
.plugins_manager
.plugins_for_config(&turn_context.config.plugins_config_input())
.await;
let model_visible_plugins = crate::plugins::apply_connector_skills_feature(
turn_context.config.as_ref(),
loaded_plugins.clone(),
);
let recommended_plugin_candidates =
if crate::tools::spec_plan::tool_suggest_enabled(turn_context) {
let auth = self.services.auth_manager.auth().await;
@@ -3151,7 +3155,7 @@ impl Session {
contextual_user_sections.push(recommended_plugins.render());
}
if let Some(plugin_instructions) =
AvailablePluginsInstructions::from_plugins(loaded_plugins.capability_summaries())
AvailablePluginsInstructions::from_plugins(model_visible_plugins.capability_summaries())
{
developer_sections.push(plugin_instructions.render());
}
+2
View File
@@ -450,6 +450,8 @@ async fn warm_plugins_and_skills_for_session_init(
let fs = turn_environments.primary_filesystem();
let plugins_input = config.plugins_config_input();
let plugin_outcome = plugins_manager.plugins_for_config(&plugins_input).await;
let plugin_outcome =
crate::plugins::apply_connector_skills_feature(config.as_ref(), plugin_outcome);
let effective_skill_roots = plugin_outcome.effective_plugin_skill_roots();
let plugin_skill_snapshots = plugins_manager.plugin_skill_snapshots_for_config(&plugins_input);
let skills_input = skills_load_input_from_config(config.as_ref(), effective_skill_roots)
+4
View File
@@ -524,6 +524,10 @@ async fn build_skills_and_plugins(
.plugins_manager
.plugins_for_config(&turn_context.config.plugins_config_input())
.await;
let loaded_plugins = crate::plugins::apply_connector_skills_feature(
turn_context.config.as_ref(),
loaded_plugins,
);
// Structured plugin:// mentions are resolved from the current session's
// enabled plugins, then converted into turn-scoped guidance below.
let mentioned_plugins =
@@ -738,6 +738,8 @@ impl Session {
.plugins_manager
.plugins_for_config(&plugins_input)
.await;
let plugin_outcome =
crate::plugins::apply_connector_skills_feature(&per_turn_config, plugin_outcome);
let effective_skill_roots = plugin_outcome.effective_plugin_skill_roots();
let plugin_skill_snapshots = self
.services