mirror of
https://github.com/openai/codex.git
synced 2026-10-20 17:38:45 +00:00
Acquire and cache opt-in executor capability inventories via V2 (#53736)
## What changed - Add the disabled-by-default `executor_capability_discovery_v2` feature to acquire `capabilities/discoverV2` inventories from supporting remote executors using each selected environment's working directory and sandbox. - Share snapshots with MCP and world-state contributors and skill providers without activating discovered plugins or publishing discovered skills to the model. - Cache inventories by environment instance, executor session, working directory, and sandbox. Coalesce concurrent requests, refresh the cache at turn start, retry transient failures, and refresh MCP projections after recovery. - Resolve the system skills root in the executor and pass it explicitly to capability location discovery. ## Testing Add coverage for feature gating, unsupported executors, inert inventories, cache reuse and eviction, turn refreshes, failure recovery, executor replacement, and system skill locations. GitOrigin-RevId: 1bdca28fa7f17622b27e2713ab3dcc0c13426889
This commit is contained in:
committed by
copyberry
parent
4d82d36ccf
commit
cf0ed4c600
@@ -5,13 +5,21 @@ use codex_utils_path_uri::PathUri;
|
||||
use serde::Deserialize;
|
||||
use serde::Serialize;
|
||||
use std::fmt;
|
||||
use std::sync::Arc;
|
||||
|
||||
use crate::CapabilityTextFile;
|
||||
use crate::DiscoveredPluginFiles;
|
||||
|
||||
pub const CAPABILITIES_DISCOVER_V2_METHOD: &str = "capabilities/discoverV2";
|
||||
|
||||
/// Discovers installed capabilities on the executor.
|
||||
/// Caller-bound discovery result shared by capability consumers within a model step.
|
||||
#[derive(Clone, Debug, PartialEq, Eq)]
|
||||
pub struct ExecutorCapabilityDiscoveryV2Snapshot {
|
||||
pub environment_id: String,
|
||||
pub result: Result<Arc<DiscoverV2CapabilitiesResponse>, String>,
|
||||
}
|
||||
|
||||
/// Discover installed capabilities for a thread, without client-supplied installation paths.
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct DiscoverV2CapabilitiesRequest {
|
||||
|
||||
Reference in New Issue
Block a user