mirror of
https://github.com/openai/codex.git
synced 2026-11-13 14:46:14 +00:00
Support Agent Plugins manifests (#35105)
## What changed - Recognize root `plugin.json` files using the Agent Plugins 1.0 schema and map their portable metadata, `skills/`, and `mcp.json` into Codex plugin manifests. - Apply Codex-specific apps, hooks, and interface settings from the inline `com.openai` extension, with `.codex-plugin/plugin.json` as a fallback overlay. - Preserve legacy manifest precedence when a root `plugin.json` is unrelated, and reject unsupported Agent Plugins schema versions. - Add a direct-child skill discovery mode that excludes nested skills and paths resolving outside the plugin root. ## Testing - Cover manifest metadata, validation, extension precedence, legacy fallback, and direct-child skill path boundaries. GitOrigin-RevId: eab24139f13a5cc5cb3ad3fb444d8e904511aca6
This commit is contained in:
1 parent
f61b51ddd9
commit
a28374e0db
16 files changed
+872
-43
No files matched your search
@@ -45,6 +45,7 @@ use codex_protocol::protocol::SkillScope;
|
||||
use codex_skills::SkillConfigRules;
|
||||
use codex_skills::SkillMetadata;
|
||||
use codex_utils_absolute_path::AbsolutePathBuf;
|
||||
use codex_utils_plugins::SkillDiscoveryMode;
|
||||
use codex_utils_plugins::find_plugin_manifest_path;
|
||||
use serde_json::Value as JsonValue;
|
||||
use std::collections::HashMap;
|
||||
@@ -955,6 +956,7 @@ pub(crate) async fn load_plugin_skill_inventory(
|
||||
plugin_id: Some(plugin_id.as_key()),
|
||||
plugin_namespace: Some(manifest.name.clone()),
|
||||
plugin_root: Some(plugin_root.clone()),
|
||||
discovery_mode: SkillDiscoveryMode::Recursive,
|
||||
})
|
||||
.collect::<Vec<_>>();
|
||||
let outcome = load_skills_from_roots(roots, plugin_skill_snapshots, root_scan_slots).await;
|
||||
|
||||
Reference in new issue
Block a user