first step

This commit is contained in:
Ruslan Nigmatullin
2026-03-16 16:37:58 -07:00
committed by Anton Panasenko
parent 6f05d8d735
commit c8e2b46acd
11 changed files with 1002 additions and 50 deletions
+4
View File
@@ -1850,6 +1850,10 @@
"description": "When true, disables burst-paste detection for typed input entirely. All characters are inserted as they are received, and no buffering or placeholder replacement will occur for fast keypress bursts.",
"type": "boolean"
},
"experimental_app_server_remote_control_url": {
"description": "Experimental / do not use. Provides the app-server remote control URL. The app-server uses the presence of this field to opt into remote mode.",
"type": "string"
},
"experimental_compact_prompt_file": {
"$ref": "#/definitions/AbsolutePathBuf"
},
+32
View File
@@ -4252,6 +4252,7 @@ fn test_precedence_fixture_with_o3_profile() -> std::io::Result<()> {
realtime: RealtimeConfig::default(),
experimental_realtime_ws_backend_prompt: None,
experimental_realtime_ws_startup_context: None,
experimental_app_server_remote_control_url: None,
base_instructions: None,
developer_instructions: None,
compact_prompt: None,
@@ -4391,6 +4392,7 @@ fn test_precedence_fixture_with_gpt3_profile() -> std::io::Result<()> {
realtime: RealtimeConfig::default(),
experimental_realtime_ws_backend_prompt: None,
experimental_realtime_ws_startup_context: None,
experimental_app_server_remote_control_url: None,
base_instructions: None,
developer_instructions: None,
compact_prompt: None,
@@ -4528,6 +4530,7 @@ fn test_precedence_fixture_with_zdr_profile() -> std::io::Result<()> {
realtime: RealtimeConfig::default(),
experimental_realtime_ws_backend_prompt: None,
experimental_realtime_ws_startup_context: None,
experimental_app_server_remote_control_url: None,
base_instructions: None,
developer_instructions: None,
compact_prompt: None,
@@ -4651,6 +4654,7 @@ fn test_precedence_fixture_with_gpt5_profile() -> std::io::Result<()> {
realtime: RealtimeConfig::default(),
experimental_realtime_ws_backend_prompt: None,
experimental_realtime_ws_startup_context: None,
experimental_app_server_remote_control_url: None,
base_instructions: None,
developer_instructions: None,
compact_prompt: None,
@@ -5912,6 +5916,34 @@ experimental_realtime_ws_startup_context = "startup context from config"
Ok(())
}
#[test]
fn experimental_app_server_remote_control_url_loads_from_config_toml() -> std::io::Result<()> {
let cfg: ConfigToml = toml::from_str(
r#"
experimental_app_server_remote_control_url = "https://example.com/remote-control"
"#,
)
.expect("TOML deserialization should succeed");
assert_eq!(
cfg.experimental_app_server_remote_control_url.as_deref(),
Some("https://example.com/remote-control")
);
let codex_home = TempDir::new()?;
let config = Config::load_from_base_config_with_overrides(
cfg,
ConfigOverrides::default(),
codex_home.path().to_path_buf(),
)?;
assert_eq!(
config.experimental_app_server_remote_control_url.as_deref(),
Some("https://example.com/remote-control")
);
Ok(())
}
#[test]
fn experimental_realtime_ws_model_loads_from_config_toml() -> std::io::Result<()> {
let cfg: ConfigToml = toml::from_str(
+8
View File
@@ -495,6 +495,9 @@ pub struct Config {
/// instructions inserted into developer messages when realtime becomes
/// active.
pub experimental_realtime_start_instructions: Option<String>,
/// Experimental / do not use. Provides the app-server remote control URL.
/// The app-server uses the presence of this field to opt into remote mode.
pub experimental_app_server_remote_control_url: Option<String>,
/// When set, restricts ChatGPT login to a specific workspace identifier.
pub forced_chatgpt_workspace_id: Option<String>,
@@ -1394,6 +1397,9 @@ pub struct ConfigToml {
/// instructions inserted into developer messages when realtime becomes
/// active.
pub experimental_realtime_start_instructions: Option<String>,
/// Experimental / do not use. Provides the app-server remote control URL.
/// The app-server uses the presence of this field to opt into remote mode.
pub experimental_app_server_remote_control_url: Option<String>,
pub projects: Option<HashMap<String, ProjectConfig>>,
/// Controls the web search tool mode: disabled, cached, or live.
@@ -2711,6 +2717,8 @@ impl Config {
experimental_realtime_ws_backend_prompt: cfg.experimental_realtime_ws_backend_prompt,
experimental_realtime_ws_startup_context: cfg.experimental_realtime_ws_startup_context,
experimental_realtime_start_instructions: cfg.experimental_realtime_start_instructions,
experimental_app_server_remote_control_url: cfg
.experimental_app_server_remote_control_url,
forced_chatgpt_workspace_id,
forced_login_method,
include_apply_patch_tool: include_apply_patch_tool_flag,