mirror of
https://github.com/openai/codex.git
synced 2026-06-01 19:02:59 +00:00
fix: support network proxy feature materialization
Co-authored-by: Codex noreply@openai.com
This commit is contained in:
@@ -89,6 +89,10 @@ impl FeatureConfig for NetworkProxyConfigToml {
|
||||
fn enabled(&self) -> Option<bool> {
|
||||
self.enabled
|
||||
}
|
||||
|
||||
fn set_enabled(&mut self, enabled: bool) {
|
||||
self.enabled = Some(enabled);
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize, Debug, Clone, Copy, PartialEq, Eq, JsonSchema)]
|
||||
|
||||
@@ -632,6 +632,7 @@ impl FeaturesToml {
|
||||
let Self {
|
||||
multi_agent_v2,
|
||||
apps_mcp_path_override,
|
||||
network_proxy,
|
||||
entries,
|
||||
} = self;
|
||||
for key in legacy::legacy_feature_keys() {
|
||||
@@ -643,6 +644,8 @@ impl FeaturesToml {
|
||||
materialize_resolved_feature_enabled(multi_agent_v2, enabled);
|
||||
} else if spec.id == Feature::AppsMcpPathOverride {
|
||||
materialize_resolved_feature_enabled(apps_mcp_path_override, enabled);
|
||||
} else if spec.id == Feature::NetworkProxy {
|
||||
materialize_resolved_feature_enabled(network_proxy, enabled);
|
||||
} else {
|
||||
entries.insert(spec.key.to_string(), enabled);
|
||||
}
|
||||
|
||||
@@ -551,6 +551,7 @@ fn materialize_resolved_enabled_writes_all_features_and_preserves_custom_config(
|
||||
let mut features = Features::with_defaults();
|
||||
features.enable(Feature::CodeMode);
|
||||
features.enable(Feature::MultiAgentV2);
|
||||
features.enable(Feature::NetworkProxy);
|
||||
features.disable(Feature::ToolSearch);
|
||||
|
||||
let mut features_toml = FeaturesToml {
|
||||
@@ -559,6 +560,11 @@ fn materialize_resolved_enabled_writes_all_features_and_preserves_custom_config(
|
||||
min_wait_timeout_ms: Some(2500),
|
||||
..Default::default()
|
||||
})),
|
||||
network_proxy: Some(FeatureToml::Config(crate::NetworkProxyConfigToml {
|
||||
enabled: Some(false),
|
||||
proxy_url: Some("http://127.0.0.1:43128".to_string()),
|
||||
..Default::default()
|
||||
})),
|
||||
entries: BTreeMap::from([("include_apply_patch_tool".to_string(), true)]),
|
||||
..Default::default()
|
||||
};
|
||||
@@ -583,6 +589,14 @@ fn materialize_resolved_enabled_writes_all_features_and_preserves_custom_config(
|
||||
..Default::default()
|
||||
}))
|
||||
);
|
||||
assert_eq!(
|
||||
features_toml.network_proxy,
|
||||
Some(FeatureToml::Config(crate::NetworkProxyConfigToml {
|
||||
enabled: Some(true),
|
||||
proxy_url: Some("http://127.0.0.1:43128".to_string()),
|
||||
..Default::default()
|
||||
}))
|
||||
);
|
||||
let replayed = Features::from_sources(
|
||||
FeatureConfigSource {
|
||||
features: Some(&features_toml),
|
||||
|
||||
Reference in New Issue
Block a user