mirror of
https://github.com/openai/codex.git
synced 2026-11-14 14:49:31 +00:00
Honor thread-level plugin exclusions across runtime capabilities (#44655)
## What changed - Apply `disabled_plugin_ids` to plugin skills, recommendations, hooks, and MCP servers without modifying shared plugin state. - Activate selection changes when the next task starts, keeping pending settings from changing the active runtime. - Hide app tools contributed only by disabled plugins from model tool catalogs and search. Preserve connectors shared with enabled plugins and existing direct Apps RPC behavior. - Include plugin identity in MCP approval keys and use that identity when persisting plugin tool approvals. ## Testing Add regression coverage for disabling and re-enabling plugin skills and tools, deferred activation of settings, shared connector ownership, selected plugin servers, executor hooks, and plugin-specific approval keys and persistence. GitOrigin-RevId: 1153ff6aa7ab6953d50e838da05203904ecd2956
This commit is contained in:
1 parent
5c94936b56
commit
8570091e14
27 files changed
+565
-171
No files matched your search
@@ -1039,18 +1039,8 @@ impl Session {
|
||||
.services
|
||||
.plugins_manager
|
||||
.plugins_for_config(&plugins_input)
|
||||
.await;
|
||||
// Cache changes from another process do not notify this session's hook runtime.
|
||||
if !self.hooks().matches_plugin_hooks(
|
||||
plugin_outcome.iter_effective_plugin_hook_sources(),
|
||||
plugin_outcome.iter_effective_plugin_hook_warnings(),
|
||||
) {
|
||||
// Keep the refresh state out of the enclosing turn-construction future.
|
||||
Box::pin(self.refresh_hooks(Arc::clone(
|
||||
&session_configuration.original_config_do_not_use,
|
||||
)))
|
||||
.await;
|
||||
}
|
||||
.await
|
||||
.without_plugins(&session_configuration.disabled_plugin_ids);
|
||||
let trusted_plugin_roots = TrustedPluginRoots::from_plugin_load_outcome(
|
||||
&plugin_outcome,
|
||||
per_turn_config.codex_home.as_path(),
|
||||
|
||||
Reference in new issue
Block a user