mirror of
https://github.com/pchuan98/codex.git
synced 2026-07-01 00:31:56 +08:00
Add use_agent_identity feature flag (#17385)
This commit is contained in:
committed by
GitHub
Unverified
parent
51d58c56d5
commit
39cc85310f
@@ -45,7 +45,9 @@ use wiremock::ResponseTemplate;
|
||||
use wiremock::matchers::method;
|
||||
use wiremock::matchers::path;
|
||||
|
||||
const DEFAULT_READ_TIMEOUT: std::time::Duration = std::time::Duration::from_secs(10);
|
||||
// Account tests spin up fresh app-server processes repeatedly, which can take
|
||||
// longer on slower Bazel macOS runners once the suite is already warm.
|
||||
const DEFAULT_READ_TIMEOUT: std::time::Duration = std::time::Duration::from_secs(20);
|
||||
const LOGIN_ISSUER_ENV_VAR: &str = "CODEX_APP_SERVER_LOGIN_ISSUER";
|
||||
|
||||
// Helper to create a minimal config.toml for the app server
|
||||
|
||||
@@ -503,6 +503,9 @@
|
||||
"unified_exec": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"use_agent_identity": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"use_legacy_landlock": {
|
||||
"type": "boolean"
|
||||
},
|
||||
@@ -2349,6 +2352,9 @@
|
||||
"unified_exec": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"use_agent_identity": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"use_legacy_landlock": {
|
||||
"type": "boolean"
|
||||
},
|
||||
|
||||
@@ -275,7 +275,8 @@ async fn output_and_exit_are_retained_after_notification_receiver_closes() {
|
||||
process_id.as_str(),
|
||||
shell_argv(
|
||||
"sleep 0.05; printf 'first\\n'; sleep 0.05; printf 'second\\n'",
|
||||
"echo first&& ping -n 2 127.0.0.1 >NUL&& echo second",
|
||||
// `cmd.exe` retains the space before `&&` in `echo first && ...`.
|
||||
"(echo first) && ping -n 2 127.0.0.1 >NUL && (echo second)",
|
||||
),
|
||||
))
|
||||
.await
|
||||
|
||||
@@ -186,6 +186,8 @@ pub enum Feature {
|
||||
ResponsesWebsockets,
|
||||
/// Legacy rollout flag for Responses API WebSocket transport v2 experiments.
|
||||
ResponsesWebsocketsV2,
|
||||
/// Use the agent identity registration flow for ChatGPT-authenticated sessions.
|
||||
UseAgentIdentity,
|
||||
}
|
||||
|
||||
impl Feature {
|
||||
@@ -909,6 +911,12 @@ pub const FEATURES: &[FeatureSpec] = &[
|
||||
stage: Stage::Removed,
|
||||
default_enabled: false,
|
||||
},
|
||||
FeatureSpec {
|
||||
id: Feature::UseAgentIdentity,
|
||||
key: "use_agent_identity",
|
||||
stage: Stage::UnderDevelopment,
|
||||
default_enabled: false,
|
||||
},
|
||||
];
|
||||
|
||||
pub fn unstable_features_warning_event(
|
||||
|
||||
@@ -163,6 +163,24 @@ fn remote_control_is_under_development() {
|
||||
assert_eq!(Feature::RemoteControl.default_enabled(), false);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn use_agent_identity_is_under_development() {
|
||||
assert_eq!(Feature::UseAgentIdentity.stage(), Stage::UnderDevelopment);
|
||||
assert_eq!(Feature::UseAgentIdentity.default_enabled(), false);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn image_detail_original_feature_is_experimental_and_user_toggleable() {
|
||||
let stage = Feature::ImageDetailOriginal.stage();
|
||||
|
||||
assert!(matches!(stage, Stage::Experimental { .. }));
|
||||
assert_eq!(
|
||||
stage.experimental_menu_name(),
|
||||
Some("Original image detail")
|
||||
);
|
||||
assert_eq!(Feature::ImageDetailOriginal.default_enabled(), false);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn collab_is_legacy_alias_for_multi_agent() {
|
||||
assert_eq!(feature_for_key("multi_agent"), Some(Feature::Collab));
|
||||
|
||||
Reference in New Issue
Block a user