mirror of
https://github.com/openai/codex.git
synced 2026-10-31 19:28:49 +00:00
Enrich V2 capability discovery with resolved plugin and skill metadata (#53763)
## What changed - Return qualified skill names such as `team:deploy` and parsed `dependencies` and `policy` instead of a separate namespace and raw metadata file. Share `agents/openai.yaml` parsing and validation between skill loaders and executor discovery. - Include each standalone skill's search-root ID and path in `discoveryRoot`, while accepting responses from older executors that omit it. - Add plugin `displayName`, falling back to the manifest name or installation directory. - Materialize inline MCP declarations in `mcpConfig` with the manifest as their source path, and report incomplete discovery when declared MCP or Apps configuration files have no returned contents. ## Testing Add coverage for JSON round trips, omitted `discoveryRoot`, optional and invalid skill metadata, qualified names, display-name fallbacks, and inline MCP configuration. Verify standalone search roots survive cached discovery and sandboxed RPC responses. GitOrigin-RevId: 4124972444ad7c2fb8c6418acbf9a589d797fad2
This commit is contained in:
committed by
copyberry
parent
21c1616119
commit
20b4ff2f35
@@ -966,7 +966,8 @@ pub struct CapabilityRootsDiscoverResponse {
|
||||
pub roots: Vec<CapabilityRootDiscovery>,
|
||||
}
|
||||
|
||||
/// Recognized UTF-8 capability file materialized by the exec-server.
|
||||
/// UTF-8 capability contents materialized by the exec-server.
|
||||
/// `path` identifies the source file; V2 inline MCP contents are extracted from its manifest.
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct CapabilityTextFile {
|
||||
@@ -979,7 +980,9 @@ pub struct CapabilityTextFile {
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct DiscoveredPluginFiles {
|
||||
pub manifest: CapabilityTextFile,
|
||||
/// File-backed MCP declarations, including the conventional `.mcp.json` fallback.
|
||||
/// MCP declarations from a selected file, including the conventional `.mcp.json` fallback.
|
||||
/// V2 also materializes inline declarations, using the manifest as the source path.
|
||||
/// V1 leaves inline declarations only in `manifest`.
|
||||
#[serde(default)]
|
||||
pub mcp_config: Option<CapabilityTextFile>,
|
||||
/// File-backed connector declarations.
|
||||
|
||||
Reference in New Issue
Block a user