diff --git a/codex-rs/app-server/tests/suite/v2/turn_start.rs b/codex-rs/app-server/tests/suite/v2/turn_start.rs index fdc181e85a..dfa244926f 100644 --- a/codex-rs/app-server/tests/suite/v2/turn_start.rs +++ b/codex-rs/app-server/tests/suite/v2/turn_start.rs @@ -3022,13 +3022,13 @@ async fn turn_start_reports_personality_overrides_v2( } #[tokio::test] -async fn turn_start_defaults_local_image_detail_to_high() -> Result<()> { +async fn turn_start_defaults_local_image_detail_to_original() -> Result<()> { let input_images = run_local_image_turn(/*detail*/ None).await?; assert_eq!(input_images.len(), 1); assert_eq!( input_images[0].get("detail").and_then(Value::as_str), - Some("high") + Some("original") ); Ok(()) diff --git a/codex-rs/core/src/guardian/snapshots/codex_core__guardian__tests__guardian_followup_review_request_layout.snap b/codex-rs/core/src/guardian/snapshots/codex_core__guardian__tests__guardian_followup_review_request_layout.snap index a759fc36ac..6e158cf7f4 100644 --- a/codex-rs/core/src/guardian/snapshots/codex_core__guardian__tests__guardian_followup_review_request_layout.snap +++ b/codex-rs/core/src/guardian/snapshots/codex_core__guardian__tests__guardian_followup_review_request_layout.snap @@ -6,8 +6,8 @@ Scenario: Guardian follow-up review request layout ## Window 1 -- request 1 (request; Initial Guardian Review Request) -- -00:additional_tools/developer (1; hash=65a86311792f6c71): - - namespace/functions; hash=dcfbcf0da1c2d607 +00:additional_tools/developer (1; hash=7758f662cd124827): + - namespace/functions; hash=70d14ec929ba5cd7 - custom/exec - function/wait 01:message/developer: diff --git a/codex-rs/core/src/guardian/snapshots/codex_core__guardian__tests__guardian_review_request_layout.snap b/codex-rs/core/src/guardian/snapshots/codex_core__guardian__tests__guardian_review_request_layout.snap index 3a624e4f67..8f7c2f2df4 100644 --- a/codex-rs/core/src/guardian/snapshots/codex_core__guardian__tests__guardian_review_request_layout.snap +++ b/codex-rs/core/src/guardian/snapshots/codex_core__guardian__tests__guardian_review_request_layout.snap @@ -6,8 +6,8 @@ Scenario: Guardian review request layout ## Window 1 -- request 1 (request; Guardian Review Request) -- -00:additional_tools/developer (1; hash=65a86311792f6c71): - - namespace/functions; hash=dcfbcf0da1c2d607 +00:additional_tools/developer (1; hash=7758f662cd124827): + - namespace/functions; hash=70d14ec929ba5cd7 - custom/exec - function/wait 01:message/developer: diff --git a/codex-rs/core/tests/suite/code_mode.rs b/codex-rs/core/tests/suite/code_mode.rs index 57499b1f43..272f68fcd2 100644 --- a/codex-rs/core/tests/suite/code_mode.rs +++ b/codex-rs/core/tests/suite/code_mode.rs @@ -6807,9 +6807,7 @@ image({{ "emit images with legacy detail arguments and MCP metadata", &code, "gpt-5.5", - |config| { - let _ = config.features.enable(Feature::UnifiedImageBudget); - }, + |_| {}, ) .await?; @@ -6859,7 +6857,6 @@ async fn code_mode_unified_image_budget_preserves_legacy_contract_for_unsupporte .with_config(|config| { let _ = config.features.enable(Feature::CodeMode); let _ = config.features.enable(Feature::ExecutedToolCallMetadata); - let _ = config.features.enable(Feature::UnifiedImageBudget); }); let (_test, second_mock) = run_code_mode_turn_with_builder( &server, @@ -6946,8 +6943,8 @@ async fn code_mode_can_use_view_image_result_with_image_helper( .with_model("gpt-5.5") .with_config(move |config| { let _ = config.features.enable(Feature::CodeMode); - if unified_image_budget { - let _ = config.features.enable(Feature::UnifiedImageBudget); + if !unified_image_budget { + let _ = config.features.disable(Feature::UnifiedImageBudget); } }); let test = builder.build(&server).await?; @@ -7454,7 +7451,7 @@ async fn code_mode_node_repl_text_evidence_is_visible_only_to_guardian( let check_detail = enhanced_transcripts && transcript_images && reviewer_constraint.is_none(); let mut large_image = Cursor::new(Vec::new()); if check_detail { - DynamicImage::new_rgba8(/*w*/ 2049, /*h*/ 32) + DynamicImage::new_rgba8(/*w*/ 6001, /*h*/ 32) .write_to(&mut large_image, ImageFormat::Png)?; } let mut builder = test_codex() @@ -7679,11 +7676,11 @@ await tools.exec_command({ cmd: "printf second", sandbox_permissions: "require_e .position(|item| item.get("image_url").and_then(Value::as_str) == Some(PRIVATE_IMAGE)) .expect("private reviewer image should be present"); if check_detail { - assert_eq!(reviewer_user_content[image_index]["detail"], "high"); + assert_eq!(reviewer_user_content[image_index]["detail"], "original"); let payload = reviewer_image_urls[1].split_once(',').unwrap().1; let dimensions = image::load_from_memory(&BASE64_STANDARD.decode(payload)?)?.dimensions(); - assert_eq!(dimensions, (2048, 32)); + assert_eq!(dimensions, (6000, 32)); } for (index, marker) in [(image_index - 1, "before"), (image_index + 1, "after")] { let text = reviewer_user_content[index]["text"].as_str().unwrap(); diff --git a/codex-rs/core/tests/suite/image_rollout.rs b/codex-rs/core/tests/suite/image_rollout.rs index b22bccbf26..cc2330bce5 100644 --- a/codex-rs/core/tests/suite/image_rollout.rs +++ b/codex-rs/core/tests/suite/image_rollout.rs @@ -265,7 +265,7 @@ async fn copy_paste_local_image_persists_rollout_request_shape() -> anyhow::Resu }, ContentItem::InputImage { image: ImageReference::Inline { image_url }, - detail: Some(DEFAULT_IMAGE_DETAIL), + detail: Some(ImageDetail::Original), }, ContentItem::InputText { text: codex_protocol::models::image_close_tag_text(), @@ -360,7 +360,7 @@ async fn drag_drop_image_persists_rollout_request_shape() -> anyhow::Result<()> content: vec![ ContentItem::InputImage { image: ImageReference::Inline { image_url }, - detail: Some(DEFAULT_IMAGE_DETAIL), + detail: Some(ImageDetail::Original), }, ContentItem::InputText { text: "dropped image".to_string(), @@ -640,8 +640,8 @@ async fn resumed_history_only_emits_resize_notices_for_new_images() -> anyhow::R let image_path = initial.cwd.path().join("large-image.png"); ImageBuffer::from_pixel( - /*width*/ 2304, - /*height*/ 864, + /*width*/ 6400, + /*height*/ 256, Rgba([12u8, 34, 56, 255]), ) .save(&image_path)?; @@ -728,7 +728,7 @@ async fn resumed_history_only_emits_resize_notices_for_new_images() -> anyhow::R ); assert_eq!( image::load_from_memory(&upload.data)?.dimensions(), - (2048, 768) + (6000, 240) ); } @@ -769,7 +769,8 @@ async fn resumed_history_only_emits_resize_notices_for_new_images() -> anyhow::R .split_once(',') .context("historical image data URL")?; let historical_image = image::load_from_memory(&BASE64_STANDARD.decode(encoded_image)?)?; - assert_eq!(historical_image.dimensions(), (2048, 768)); + // Replay honors the high detail recorded with the historical image. + assert_eq!(historical_image.dimensions(), (2048, 82)); assert_eq!( input[image_message_indices[1]] .get("content") @@ -782,7 +783,7 @@ async fn resumed_history_only_emits_resize_notices_for_new_images() -> anyhow::R let expected_notice = concat!( "\n", - "Image 1 of 1 in the preceding user message was resized from 2304x864 to 2048x768 pixels.\n", + "Image 1 of 1 in the preceding user message was resized from 6400x256 to 6000x240 pixels.\n", "" ); let resize_notices = request diff --git a/codex-rs/core/tests/suite/rmcp_client.rs b/codex-rs/core/tests/suite/rmcp_client.rs index fa2cf80c94..a657c25b6f 100644 --- a/codex-rs/core/tests/suite/rmcp_client.rs +++ b/codex-rs/core/tests/suite/rmcp_client.rs @@ -3435,7 +3435,7 @@ async fn stdio_image_responses_resize_large_image() -> anyhow::Result<()> { let server_name = "rmcp"; let namespace = format!("mcp__{server_name}"); - let original_dimensions = (3000, 2000); + let original_dimensions = (6400, 320); let image = ImageBuffer::from_pixel( original_dimensions.0, original_dimensions.1, @@ -3509,14 +3509,14 @@ async fn stdio_image_responses_resize_large_image() -> anyhow::Result<()> { let resized_url = output[1]["image_url"] .as_str() .expect("MCP image output should contain a data URL"); - assert_eq!(output[1]["detail"], "high"); + assert_eq!(output[1]["detail"], "original"); let (_, resized_base64) = resized_url .split_once(',') .expect("resized image should contain a data URL prefix"); let resized_bytes = BASE64_STANDARD.decode(resized_base64)?; let resized = image::load_from_memory(&resized_bytes)?; let resized_dimensions = resized.dimensions(); - assert_eq!(resized_dimensions, (1920, 1280)); + assert_eq!(resized_dimensions, (6000, 300)); server.verify().await; Ok(()) diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__request_plugin_install__catalog_plugin_recommendations_absent.snap b/codex-rs/core/tests/suite/snapshots/all__suite__request_plugin_install__catalog_plugin_recommendations_absent.snap index fd3de969ef..a4cd79db63 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__request_plugin_install__catalog_plugin_recommendations_absent.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__request_plugin_install__catalog_plugin_recommendations_absent.snap @@ -15,7 +15,7 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (11; hash=62414ae13aabdb67): + tools (11; hash=147c1017bfad1ffd): - function/exec_command: Runs a command in a PTY, returning output or a session ID for ongoing interaction.; args=[cmd, justification, login, max_output_tokens, prefix_rule, sandbox_permissions, shell, tty, workdir, yield_time_ms]; hash=c04108e51a8548c5 - function/write_stdin: Writes characters to an existing unified exec session and returns recent output.; args=[chars, max_output_tokens, session_id, yield_time_ms]; hash=7fb62d8a3e2df4e2 - function/list_mcp_resources: Lists resources provided by MCP servers. Resources allow servers to share data that provides cont...; args=[cursor, server]; hash=6792edaff13561bd @@ -23,7 +23,7 @@ Settings: - function/read_mcp_resource: Read a specific resource from an MCP server given the server name and resource URI.; args=[server, uri]; hash=24246896b39008ae - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - custom/apply_patch: The `apply_patch` tool can be used to edit files. This is a FREEFORM tool, so do not wrap the pat...; hash=dea9f12b0111a4ba - - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[detail, path]; hash=3b766d5bdec5d50e + - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[path]; hash=1908de9c0be7118a - namespace/multi_agent_v1: Tools for spawning and managing sub-agents.; hash=2327142bda177c50 - function/close_agent - function/resume_agent diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__request_plugin_install__catalog_plugin_recommendations_blank.snap b/codex-rs/core/tests/suite/snapshots/all__suite__request_plugin_install__catalog_plugin_recommendations_blank.snap index fd3de969ef..a4cd79db63 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__request_plugin_install__catalog_plugin_recommendations_blank.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__request_plugin_install__catalog_plugin_recommendations_blank.snap @@ -15,7 +15,7 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (11; hash=62414ae13aabdb67): + tools (11; hash=147c1017bfad1ffd): - function/exec_command: Runs a command in a PTY, returning output or a session ID for ongoing interaction.; args=[cmd, justification, login, max_output_tokens, prefix_rule, sandbox_permissions, shell, tty, workdir, yield_time_ms]; hash=c04108e51a8548c5 - function/write_stdin: Writes characters to an existing unified exec session and returns recent output.; args=[chars, max_output_tokens, session_id, yield_time_ms]; hash=7fb62d8a3e2df4e2 - function/list_mcp_resources: Lists resources provided by MCP servers. Resources allow servers to share data that provides cont...; args=[cursor, server]; hash=6792edaff13561bd @@ -23,7 +23,7 @@ Settings: - function/read_mcp_resource: Read a specific resource from an MCP server given the server name and resource URI.; args=[server, uri]; hash=24246896b39008ae - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - custom/apply_patch: The `apply_patch` tool can be used to edit files. This is a FREEFORM tool, so do not wrap the pat...; hash=dea9f12b0111a4ba - - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[detail, path]; hash=3b766d5bdec5d50e + - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[path]; hash=1908de9c0be7118a - namespace/multi_agent_v1: Tools for spawning and managing sub-agents.; hash=2327142bda177c50 - function/close_agent - function/resume_agent diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__request_plugin_install__catalog_plugin_recommendations_custom.snap b/codex-rs/core/tests/suite/snapshots/all__suite__request_plugin_install__catalog_plugin_recommendations_custom.snap index d9fef113ce..61280910b7 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__request_plugin_install__catalog_plugin_recommendations_custom.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__request_plugin_install__catalog_plugin_recommendations_custom.snap @@ -15,7 +15,7 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (11; hash=62414ae13aabdb67): + tools (11; hash=147c1017bfad1ffd): - function/exec_command: Runs a command in a PTY, returning output or a session ID for ongoing interaction.; args=[cmd, justification, login, max_output_tokens, prefix_rule, sandbox_permissions, shell, tty, workdir, yield_time_ms]; hash=c04108e51a8548c5 - function/write_stdin: Writes characters to an existing unified exec session and returns recent output.; args=[chars, max_output_tokens, session_id, yield_time_ms]; hash=7fb62d8a3e2df4e2 - function/list_mcp_resources: Lists resources provided by MCP servers. Resources allow servers to share data that provides cont...; args=[cursor, server]; hash=6792edaff13561bd @@ -23,7 +23,7 @@ Settings: - function/read_mcp_resource: Read a specific resource from an MCP server given the server name and resource URI.; args=[server, uri]; hash=24246896b39008ae - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - custom/apply_patch: The `apply_patch` tool can be used to edit files. This is a FREEFORM tool, so do not wrap the pat...; hash=dea9f12b0111a4ba - - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[detail, path]; hash=3b766d5bdec5d50e + - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[path]; hash=1908de9c0be7118a - namespace/multi_agent_v1: Tools for spawning and managing sub-agents.; hash=2327142bda177c50 - function/close_agent - function/resume_agent diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__request_plugin_install__catalog_plugin_recommendations_disabled.snap b/codex-rs/core/tests/suite/snapshots/all__suite__request_plugin_install__catalog_plugin_recommendations_disabled.snap index 7ae8e27f5b..dbec1e55cd 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__request_plugin_install__catalog_plugin_recommendations_disabled.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__request_plugin_install__catalog_plugin_recommendations_disabled.snap @@ -15,7 +15,7 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (11; hash=62414ae13aabdb67): + tools (11; hash=147c1017bfad1ffd): - function/exec_command: Runs a command in a PTY, returning output or a session ID for ongoing interaction.; args=[cmd, justification, login, max_output_tokens, prefix_rule, sandbox_permissions, shell, tty, workdir, yield_time_ms]; hash=c04108e51a8548c5 - function/write_stdin: Writes characters to an existing unified exec session and returns recent output.; args=[chars, max_output_tokens, session_id, yield_time_ms]; hash=7fb62d8a3e2df4e2 - function/list_mcp_resources: Lists resources provided by MCP servers. Resources allow servers to share data that provides cont...; args=[cursor, server]; hash=6792edaff13561bd @@ -23,7 +23,7 @@ Settings: - function/read_mcp_resource: Read a specific resource from an MCP server given the server name and resource URI.; args=[server, uri]; hash=24246896b39008ae - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - custom/apply_patch: The `apply_patch` tool can be used to edit files. This is a FREEFORM tool, so do not wrap the pat...; hash=dea9f12b0111a4ba - - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[detail, path]; hash=3b766d5bdec5d50e + - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[path]; hash=1908de9c0be7118a - namespace/multi_agent_v1: Tools for spawning and managing sub-agents.; hash=2327142bda177c50 - function/close_agent - function/resume_agent diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__request_plugin_install__catalog_plugin_recommendations_empty.snap b/codex-rs/core/tests/suite/snapshots/all__suite__request_plugin_install__catalog_plugin_recommendations_empty.snap index fd3de969ef..a4cd79db63 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__request_plugin_install__catalog_plugin_recommendations_empty.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__request_plugin_install__catalog_plugin_recommendations_empty.snap @@ -15,7 +15,7 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (11; hash=62414ae13aabdb67): + tools (11; hash=147c1017bfad1ffd): - function/exec_command: Runs a command in a PTY, returning output or a session ID for ongoing interaction.; args=[cmd, justification, login, max_output_tokens, prefix_rule, sandbox_permissions, shell, tty, workdir, yield_time_ms]; hash=c04108e51a8548c5 - function/write_stdin: Writes characters to an existing unified exec session and returns recent output.; args=[chars, max_output_tokens, session_id, yield_time_ms]; hash=7fb62d8a3e2df4e2 - function/list_mcp_resources: Lists resources provided by MCP servers. Resources allow servers to share data that provides cont...; args=[cursor, server]; hash=6792edaff13561bd @@ -23,7 +23,7 @@ Settings: - function/read_mcp_resource: Read a specific resource from an MCP server given the server name and resource URI.; args=[server, uri]; hash=24246896b39008ae - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - custom/apply_patch: The `apply_patch` tool can be used to edit files. This is a FREEFORM tool, so do not wrap the pat...; hash=dea9f12b0111a4ba - - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[detail, path]; hash=3b766d5bdec5d50e + - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[path]; hash=1908de9c0be7118a - namespace/multi_agent_v1: Tools for spawning and managing sub-agents.; hash=2327142bda177c50 - function/close_agent - function/resume_agent diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__request_plugin_install__catalog_plugin_recommendations_null.snap b/codex-rs/core/tests/suite/snapshots/all__suite__request_plugin_install__catalog_plugin_recommendations_null.snap index fd3de969ef..a4cd79db63 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__request_plugin_install__catalog_plugin_recommendations_null.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__request_plugin_install__catalog_plugin_recommendations_null.snap @@ -15,7 +15,7 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (11; hash=62414ae13aabdb67): + tools (11; hash=147c1017bfad1ffd): - function/exec_command: Runs a command in a PTY, returning output or a session ID for ongoing interaction.; args=[cmd, justification, login, max_output_tokens, prefix_rule, sandbox_permissions, shell, tty, workdir, yield_time_ms]; hash=c04108e51a8548c5 - function/write_stdin: Writes characters to an existing unified exec session and returns recent output.; args=[chars, max_output_tokens, session_id, yield_time_ms]; hash=7fb62d8a3e2df4e2 - function/list_mcp_resources: Lists resources provided by MCP servers. Resources allow servers to share data that provides cont...; args=[cursor, server]; hash=6792edaff13561bd @@ -23,7 +23,7 @@ Settings: - function/read_mcp_resource: Read a specific resource from an MCP server given the server name and resource URI.; args=[server, uri]; hash=24246896b39008ae - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - custom/apply_patch: The `apply_patch` tool can be used to edit files. This is a FREEFORM tool, so do not wrap the pat...; hash=dea9f12b0111a4ba - - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[detail, path]; hash=3b766d5bdec5d50e + - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[path]; hash=1908de9c0be7118a - namespace/multi_agent_v1: Tools for spawning and managing sub-agents.; hash=2327142bda177c50 - function/close_agent - function/resume_agent diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__request_plugin_install__catalog_plugin_recommendations_oversized.snap b/codex-rs/core/tests/suite/snapshots/all__suite__request_plugin_install__catalog_plugin_recommendations_oversized.snap index fd3de969ef..a4cd79db63 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__request_plugin_install__catalog_plugin_recommendations_oversized.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__request_plugin_install__catalog_plugin_recommendations_oversized.snap @@ -15,7 +15,7 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (11; hash=62414ae13aabdb67): + tools (11; hash=147c1017bfad1ffd): - function/exec_command: Runs a command in a PTY, returning output or a session ID for ongoing interaction.; args=[cmd, justification, login, max_output_tokens, prefix_rule, sandbox_permissions, shell, tty, workdir, yield_time_ms]; hash=c04108e51a8548c5 - function/write_stdin: Writes characters to an existing unified exec session and returns recent output.; args=[chars, max_output_tokens, session_id, yield_time_ms]; hash=7fb62d8a3e2df4e2 - function/list_mcp_resources: Lists resources provided by MCP servers. Resources allow servers to share data that provides cont...; args=[cursor, server]; hash=6792edaff13561bd @@ -23,7 +23,7 @@ Settings: - function/read_mcp_resource: Read a specific resource from an MCP server given the server name and resource URI.; args=[server, uri]; hash=24246896b39008ae - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - custom/apply_patch: The `apply_patch` tool can be used to edit files. This is a FREEFORM tool, so do not wrap the pat...; hash=dea9f12b0111a4ba - - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[detail, path]; hash=3b766d5bdec5d50e + - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[path]; hash=1908de9c0be7118a - namespace/multi_agent_v1: Tools for spawning and managing sub-agents.; hash=2327142bda177c50 - function/close_agent - function/resume_agent diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__agent_eviction__idle_eviction_followup.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__agent_eviction__idle_eviction_followup.snap index b32892eaa7..95675c3489 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__agent_eviction__idle_eviction_followup.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__agent_eviction__idle_eviction_followup.snap @@ -7,8 +7,8 @@ Scenario: A parent with no configured environment delegates an API migration, qu ## Window 1 -- request 1 (turn) -- -00:additional_tools/developer (2; hash=7958a01e34d95ac2): - - namespace/functions; hash=30a5fc1fcffb1c04 +00:additional_tools/developer (2; hash=736be7a0054c7ff6): + - namespace/functions; hash=f33f647fee88e25e - custom/exec - function/wait - function/request_user_input @@ -66,8 +66,8 @@ Scenario: A parent with no configured environment delegates an API migration, qu ## Window 2 (after request 6: input diverged at item 03) -- request 7 (turn) -- -00:additional_tools/developer (2; hash=7958a01e34d95ac2): - - namespace/functions; hash=30a5fc1fcffb1c04 +00:additional_tools/developer (2; hash=736be7a0054c7ff6): + - namespace/functions; hash=f33f647fee88e25e - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__agent_message_board__remote__remote_board_permissions_direct.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__agent_message_board__remote__remote_board_permissions_direct.snap index 041aeed072..d1f018403e 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__agent_message_board__remote__remote_board_permissions_direct.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__agent_message_board__remote__remote_board_permissions_direct.snap @@ -6,8 +6,8 @@ Scenario: Permission discovery preserves legacy output, exposes reply-only acces ## Window 1 -- request 1 (request) -- -00:additional_tools/developer (3; hash=788c4a5014dcfe4f): - - namespace/functions; hash=c8b8fa91706a7620 +00:additional_tools/developer (3; hash=ffbbdab1ef8f8687): + - namespace/functions; hash=5fe7992d16964702 - function/exec_command - function/write_stdin - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__app_tool_exposure_CodeModeOnly.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__app_tool_exposure_CodeModeOnly.snap index 2044f7b8b1..1dfe5fe722 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__app_tool_exposure_CodeModeOnly.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__app_tool_exposure_CodeModeOnly.snap @@ -15,8 +15,8 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (4; hash=aa7c4090dac68d7b): - - custom/exec: Run JavaScript code to orchestrate/compose tool calls - Evaluates the provided JavaScript code in...; hash=9c848ebf633880a2 + tools (4; hash=1f8fea8211b3c63d): + - custom/exec: Run JavaScript code to orchestrate/compose tool calls - Evaluates the provided JavaScript code in...; hash=7f56c3b386ed268e - function/wait: Waits on a yielded `exec` cell and returns new output or completion. - Use `wait` only after `exe...; args=[cell_id, max_tokens, terminate, yield_time_ms]; hash=6692d8f6c55be489 - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - web_search; hash=e214d4db1bc49e89 diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_active_environment_selection.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_active_environment_selection.snap index 204f376cbb..5c9f8abab1 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_active_environment_selection.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_active_environment_selection.snap @@ -6,8 +6,8 @@ Scenario: Astra starts in one workspace, switches for the next step of the activ ## Window 1 -- request 1 (turn) -- -00:additional_tools/developer (3; hash=62160ed28e692c35): - - namespace/functions; hash=4261ffb241688b3d +00:additional_tools/developer (3; hash=73b17e628bb8aee1): + - namespace/functions; hash=7c1b7203dcaa5b6f - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_async_compaction_with_live_suffix.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_async_compaction_with_live_suffix.snap index 6d5fb853a3..b3f25a69f6 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_async_compaction_with_live_suffix.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_async_compaction_with_live_suffix.snap @@ -6,8 +6,8 @@ Scenario: Astra compacts a completed launch-notes turn in the background. The us ## Window 1 -- request 1 (request) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input @@ -45,8 +45,8 @@ Scenario: Astra compacts a completed launch-notes turn in the background. The us ## Window 2 (after request 2: input diverged at item 10) -- request 3 (request) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input @@ -88,8 +88,8 @@ Scenario: Astra compacts a completed launch-notes turn in the background. The us ## Window 3 (after request 3: input diverged at item 02) -- request 4 (request) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_async_question_and_answer.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_async_question_and_answer.snap index db1dc03756..1a79bb1772 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_async_question_and_answer.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_async_question_and_answer.snap @@ -6,8 +6,8 @@ Scenario: Astra uses the catalog question schema to ask who a launch update is f ## Window 1 -- request 1 (request) -- -00:additional_tools/developer (3; hash=f181967456befa67): - - namespace/functions; hash=7e611b8ddd5621cf +00:additional_tools/developer (3; hash=42141f5d3211bed3): + - namespace/functions; hash=80c4fbeb0cbc76f5 - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_code_mode_call_timing.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_code_mode_call_timing.snap index 5fdeedba16..2b098dfb6e 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_code_mode_call_timing.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_code_mode_call_timing.snap @@ -6,8 +6,8 @@ Scenario: Astra reads code-mode timings and the collector notice even at zero to ## Window 1 -- request 1 (turn) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_disabled_executor_skills.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_disabled_executor_skills.snap index b816688098..2c004aa21f 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_disabled_executor_skills.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_disabled_executor_skills.snap @@ -16,8 +16,8 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (request) -- -00:additional_tools/developer (3; hash=5e8370540461db70): - - namespace/functions; hash=7d26e086c1dbba28 +00:additional_tools/developer (3; hash=90063690a488dd0c): + - namespace/functions; hash=596780ea93468a82 - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_executor_plugin_policy_refresh.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_executor_plugin_policy_refresh.snap index 54484ae94a..09d3aa91fb 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_executor_plugin_policy_refresh.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_executor_plugin_policy_refresh.snap @@ -16,8 +16,8 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (request) -- -00:additional_tools/developer (3; hash=5e8370540461db70): - - namespace/functions; hash=7d26e086c1dbba28 +00:additional_tools/developer (3; hash=90063690a488dd0c): + - namespace/functions; hash=596780ea93468a82 - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_input_interrupts_response.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_input_interrupts_response.snap index e1b9e897e6..5123b1b7bf 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_input_interrupts_response.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_input_interrupts_response.snap @@ -6,8 +6,8 @@ Scenario: Astra receives new user input after its unfinished response is interru ## Window 1 -- request 1 (request) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_input_yields_code_mode_cell.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_input_yields_code_mode_cell.snap index 11c9cb6017..0fe57423f4 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_input_yields_code_mode_cell.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_input_yields_code_mode_cell.snap @@ -6,8 +6,8 @@ Scenario: Astra continues after new user input yields a running code cell, then ## Window 1 -- request 1 (turn) -- -00:additional_tools/developer (3; hash=69c8f596545517aa): - - namespace/functions; hash=13a36c9bc9ada856 +00:additional_tools/developer (3; hash=77f06b6af2d274e6): + - namespace/functions; hash=9babd62cd00098f4 - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_kickoff_remote_compaction_windows.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_kickoff_remote_compaction_windows.snap index 7d5e5a10c1..c115a49119 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_kickoff_remote_compaction_windows.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_kickoff_remote_compaction_windows.snap @@ -16,8 +16,8 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (turn) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input @@ -188,8 +188,8 @@ Settings: ## Window 2 (after request 3: input diverged at item 02) Settings: same as window 1 -- request 4 (turn) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_plugin_policy_limits_visible_skills.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_plugin_policy_limits_visible_skills.snap index f44283dae9..6de6df45ac 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_plugin_policy_limits_visible_skills.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_plugin_policy_limits_visible_skills.snap @@ -16,8 +16,8 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (turn) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_plugin_policy_without_skill_descriptions.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_plugin_policy_without_skill_descriptions.snap index 8a81d583ff..7a46a6d253 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_plugin_policy_without_skill_descriptions.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_plugin_policy_without_skill_descriptions.snap @@ -16,8 +16,8 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (turn) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_plugin_refresh_simplified_selection_hints_off.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_plugin_refresh_simplified_selection_hints_off.snap index e5fd89c09f..8287bb6961 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_plugin_refresh_simplified_selection_hints_off.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_plugin_refresh_simplified_selection_hints_off.snap @@ -16,8 +16,8 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (turn) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_plugin_refresh_simplified_selection_hints_on.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_plugin_refresh_simplified_selection_hints_on.snap index 0d9ca37714..6250f1a91d 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_plugin_refresh_simplified_selection_hints_on.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_plugin_refresh_simplified_selection_hints_on.snap @@ -16,8 +16,8 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (turn) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_settings_release_check_tool_shapes.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_settings_release_check_tool_shapes.snap index 82fc3fd517..27d03855f4 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_settings_release_check_tool_shapes.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_settings_release_check_tool_shapes.snap @@ -16,8 +16,8 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (turn) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__budget_context__host_budget_context_after_compaction.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__budget_context__host_budget_context_after_compaction.snap index 90fc2118ea..01869797f8 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__budget_context__host_budget_context_after_compaction.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__budget_context__host_budget_context_after_compaction.snap @@ -6,8 +6,8 @@ Scenario: A host contributes budget reminders at thresholds. Remote compaction s ## Window 1 -- request 1 (turn) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input @@ -54,8 +54,8 @@ Scenario: A host contributes budget reminders at thresholds. Remote compaction s ## Window 2 (after request 4: input diverged at item 02) -- request 5 (turn) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__catalog_plugin_guidance_follows_model_and_survives_resume.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__catalog_plugin_guidance_follows_model_and_survives_resume.snap index 3303e02413..38ac9480d3 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__catalog_plugin_guidance_follows_model_and_survives_resume.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__catalog_plugin_guidance_follows_model_and_survives_resume.snap @@ -15,12 +15,12 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (7; hash=994c9baf5d9a36a0): + tools (7; hash=4bc85f667bb09668): - function/exec_command: Runs a command in a PTY, returning output or a session ID for ongoing interaction.; args=[cmd, justification, login, max_output_tokens, prefix_rule, sandbox_permissions, shell, tty, workdir, yield_time_ms]; hash=c04108e51a8548c5 - function/write_stdin: Writes characters to an existing unified exec session and returns recent output.; args=[chars, max_output_tokens, session_id, yield_time_ms]; hash=7fb62d8a3e2df4e2 - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - custom/apply_patch: The `apply_patch` tool can be used to edit files. This is a FREEFORM tool, so do not wrap the pat...; hash=dea9f12b0111a4ba - - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[detail, path]; hash=3b766d5bdec5d50e + - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[path]; hash=1908de9c0be7118a - tool_search: # Tool discovery Searches over deferred tool metadata with BM25 and exposes matching tools for t...; args=[limit, query]; hash=b573ed69c0b0e6c7 - web_search; hash=f103e327c6870a46 -- request 1 (turn; Initial bundled guidance) -- @@ -88,7 +88,7 @@ Settings: ## Window 2 (after request 1) Settings: relative to window 1 model: "plugins-a" - tools (10; hash=df5c5997ff843305): + tools (10; hash=9f8074d045f3bd93): + function/list_mcp_resources: Lists resources provided by MCP servers. Resources allow servers to share data that provides cont...; args=[cursor, server]; hash=6792edaff13561bd + function/list_mcp_resource_templates: Lists resource templates provided by MCP servers. Parameterized resource templates allow servers ...; args=[cursor, server]; hash=60f17c90ef7a4ebb + function/read_mcp_resource: Read a specific resource from an MCP server given the server name and resource URI.; args=[server, uri]; hash=24246896b39008ae diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__catalog_selected_plugin_omission_bounds_runtime_capabilities.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__catalog_selected_plugin_omission_bounds_runtime_capabilities.snap index d76357726f..c11c650633 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__catalog_selected_plugin_omission_bounds_runtime_capabilities.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__catalog_selected_plugin_omission_bounds_runtime_capabilities.snap @@ -15,7 +15,7 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (10; hash=df5c5997ff843305): + tools (10; hash=9f8074d045f3bd93): - function/exec_command: Runs a command in a PTY, returning output or a session ID for ongoing interaction.; args=[cmd, justification, login, max_output_tokens, prefix_rule, sandbox_permissions, shell, tty, workdir, yield_time_ms]; hash=c04108e51a8548c5 - function/write_stdin: Writes characters to an existing unified exec session and returns recent output.; args=[chars, max_output_tokens, session_id, yield_time_ms]; hash=7fb62d8a3e2df4e2 - function/list_mcp_resources: Lists resources provided by MCP servers. Resources allow servers to share data that provides cont...; args=[cursor, server]; hash=6792edaff13561bd @@ -23,7 +23,7 @@ Settings: - function/read_mcp_resource: Read a specific resource from an MCP server given the server name and resource URI.; args=[server, uri]; hash=24246896b39008ae - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - custom/apply_patch: The `apply_patch` tool can be used to edit files. This is a FREEFORM tool, so do not wrap the pat...; hash=dea9f12b0111a4ba - - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[detail, path]; hash=3b766d5bdec5d50e + - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[path]; hash=1908de9c0be7118a - tool_search: # Tool discovery Searches over deferred tool metadata with BM25 and exposes matching tools for t...; args=[limit, query]; hash=b573ed69c0b0e6c7 - web_search; hash=f103e327c6870a46 -- request 1 (turn) -- diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__catalog_selected_plugin_wording_apps_false_simplified_false.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__catalog_selected_plugin_wording_apps_false_simplified_false.snap index 0f1dc063c9..0427794028 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__catalog_selected_plugin_wording_apps_false_simplified_false.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__catalog_selected_plugin_wording_apps_false_simplified_false.snap @@ -15,7 +15,7 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (11; hash=70f020489861129c): + tools (11; hash=2123887d18ce7e32): - function/exec_command: Runs a command in a PTY, returning output or a session ID for ongoing interaction.; args=[cmd, justification, login, max_output_tokens, prefix_rule, sandbox_permissions, shell, tty, workdir, yield_time_ms]; hash=c04108e51a8548c5 - function/write_stdin: Writes characters to an existing unified exec session and returns recent output.; args=[chars, max_output_tokens, session_id, yield_time_ms]; hash=7fb62d8a3e2df4e2 - function/list_mcp_resources: Lists resources provided by MCP servers. Resources allow servers to share data that provides cont...; args=[cursor, server]; hash=6792edaff13561bd @@ -23,7 +23,7 @@ Settings: - function/read_mcp_resource: Read a specific resource from an MCP server given the server name and resource URI.; args=[server, uri]; hash=24246896b39008ae - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - custom/apply_patch: The `apply_patch` tool can be used to edit files. This is a FREEFORM tool, so do not wrap the pat...; hash=dea9f12b0111a4ba - - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[detail, path]; hash=3b766d5bdec5d50e + - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[path]; hash=1908de9c0be7118a - namespace/multi_agent_v1: Tools for spawning and managing sub-agents.; hash=2327142bda177c50 - function/close_agent - function/resume_agent diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__catalog_selected_plugin_wording_apps_true_simplified_false.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__catalog_selected_plugin_wording_apps_true_simplified_false.snap index c924bff461..160a9d225f 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__catalog_selected_plugin_wording_apps_true_simplified_false.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__catalog_selected_plugin_wording_apps_true_simplified_false.snap @@ -15,7 +15,7 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (12; hash=222ce6d65d94fe37): + tools (12; hash=2a0c7daad939067d): - function/exec_command: Runs a command in a PTY, returning output or a session ID for ongoing interaction.; args=[cmd, justification, login, max_output_tokens, prefix_rule, sandbox_permissions, shell, tty, workdir, yield_time_ms]; hash=c04108e51a8548c5 - function/write_stdin: Writes characters to an existing unified exec session and returns recent output.; args=[chars, max_output_tokens, session_id, yield_time_ms]; hash=7fb62d8a3e2df4e2 - function/list_mcp_resources: Lists resources provided by MCP servers. Resources allow servers to share data that provides cont...; args=[cursor, server]; hash=6792edaff13561bd @@ -23,7 +23,7 @@ Settings: - function/read_mcp_resource: Read a specific resource from an MCP server given the server name and resource URI.; args=[server, uri]; hash=24246896b39008ae - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - custom/apply_patch: The `apply_patch` tool can be used to edit files. This is a FREEFORM tool, so do not wrap the pat...; hash=dea9f12b0111a4ba - - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[detail, path]; hash=3b766d5bdec5d50e + - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[path]; hash=1908de9c0be7118a - namespace/multi_agent_v1: Tools for spawning and managing sub-agents.; hash=2327142bda177c50 - function/close_agent - function/resume_agent diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__catalog_selected_plugin_wording_apps_true_simplified_true.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__catalog_selected_plugin_wording_apps_true_simplified_true.snap index 0a6fd8ca66..41c3515d86 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__catalog_selected_plugin_wording_apps_true_simplified_true.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__catalog_selected_plugin_wording_apps_true_simplified_true.snap @@ -15,7 +15,7 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (12; hash=222ce6d65d94fe37): + tools (12; hash=2a0c7daad939067d): - function/exec_command: Runs a command in a PTY, returning output or a session ID for ongoing interaction.; args=[cmd, justification, login, max_output_tokens, prefix_rule, sandbox_permissions, shell, tty, workdir, yield_time_ms]; hash=c04108e51a8548c5 - function/write_stdin: Writes characters to an existing unified exec session and returns recent output.; args=[chars, max_output_tokens, session_id, yield_time_ms]; hash=7fb62d8a3e2df4e2 - function/list_mcp_resources: Lists resources provided by MCP servers. Resources allow servers to share data that provides cont...; args=[cursor, server]; hash=6792edaff13561bd @@ -23,7 +23,7 @@ Settings: - function/read_mcp_resource: Read a specific resource from an MCP server given the server name and resource URI.; args=[server, uri]; hash=24246896b39008ae - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - custom/apply_patch: The `apply_patch` tool can be used to edit files. This is a FREEFORM tool, so do not wrap the pat...; hash=dea9f12b0111a4ba - - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[detail, path]; hash=3b766d5bdec5d50e + - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[path]; hash=1908de9c0be7118a - namespace/multi_agent_v1: Tools for spawning and managing sub-agents.; hash=2327142bda177c50 - function/close_agent - function/resume_agent diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__child_completion_wakes_parent_after_final_answer.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__child_completion_wakes_parent_after_final_answer.snap index d1bead8bc0..112543aa9d 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__child_completion_wakes_parent_after_final_answer.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__child_completion_wakes_parent_after_final_answer.snap @@ -16,8 +16,8 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (turn) -- -00:additional_tools/developer (3; hash=37af7b347b5c1eb7): - - namespace/functions; hash=a3c60999d0288751 +00:additional_tools/developer (3; hash=72a6498aa4648fdf): + - namespace/functions; hash=6fcc6902881b24af - custom/exec - function/wait - function/request_user_input @@ -54,8 +54,8 @@ Settings: ## Window 2 (after request 3: input diverged at item 00) Settings: same as window 1 -- request 4 (turn) -- -00:additional_tools/developer (3; hash=ce2de39d992cd930): - - namespace/functions; hash=fa0731964313a476 +00:additional_tools/developer (3; hash=cc5960827562f0c8): + - namespace/functions; hash=9865166c733563f0 - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__code_mode_catalog_messages.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__code_mode_catalog_messages.snap index 0fbd4c3121..67582f4610 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__code_mode_catalog_messages.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__code_mode_catalog_messages.snap @@ -15,8 +15,8 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (7; hash=7916dd640b46ec6e): - - custom/exec: Catalog exec instructions. Default yield: 1234 ms. `image(imageUrlOrItem: string | { image_url: s...; hash=a49b91fd82908e18 + tools (7; hash=3eab8d5a4c823294): + - custom/exec: Catalog exec instructions. Default yield: 1234 ms. `image(imageUrlOrItem: string | { image_url: s...; hash=2e2d9d0d2c0430f0 - function/wait: Catalog wait instructions: resume the yielded cell.; args=[cell_id, max_tokens, terminate, yield_time_ms]; hash=67bc0f04da3505b3 - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - function/request_user_input_async: Ask the user one or more questions during ongoing work. Use this tool only to request missing inf...; args=[questions]; hash=d6d74f33db330162 diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__code_mode_catalog_messages_ranked_search.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__code_mode_catalog_messages_ranked_search.snap index 6b4a4634a1..4a1f259f68 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__code_mode_catalog_messages_ranked_search.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__code_mode_catalog_messages_ranked_search.snap @@ -15,8 +15,8 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (7; hash=40e072f613a5e3eb): - - custom/exec: Catalog exec instructions. Default yield: 1234 ms. `image(imageUrlOrItem: string | { image_url: s...; hash=1b186fc5b7e14af3 + tools (7; hash=833e88d9ec8967f7): + - custom/exec: Catalog exec instructions. Default yield: 1234 ms. `image(imageUrlOrItem: string | { image_url: s...; hash=42b537270d73a5d1 - function/wait: Catalog wait instructions: resume the yielded cell.; args=[cell_id, max_tokens, terminate, yield_time_ms]; hash=67bc0f04da3505b3 - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - function/request_user_input_async: Ask the user one or more questions during ongoing work. Use this tool only to request missing inf...; args=[questions]; hash=d6d74f33db330162 diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__code_mode_mcp_schema_limits.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__code_mode_mcp_schema_limits.snap index 5f527de147..38473d8447 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__code_mode_mcp_schema_limits.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__code_mode_mcp_schema_limits.snap @@ -15,8 +15,8 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (4; hash=95b65d00fe586b7d): - - custom/exec: Run JavaScript code to orchestrate/compose tool calls - Evaluates the provided JavaScript code in...; hash=e02c9856c9cd8430 + tools (4; hash=5e7a9f3f74e9553f): + - custom/exec: Run JavaScript code to orchestrate/compose tool calls - Evaluates the provided JavaScript code in...; hash=f38c8248ec696414 - function/wait: Waits on a yielded `exec` cell and returns new output or completion. - Use `wait` only after `exe...; args=[cell_id, max_tokens, terminate, yield_time_ms]; hash=6692d8f6c55be489 - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - web_search; hash=e214d4db1bc49e89 diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__code_mode_settled_helpers__code_mode_settled_helpers.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__code_mode_settled_helpers__code_mode_settled_helpers.snap index 2fd6ca1ffb..e69ee87d15 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__code_mode_settled_helpers__code_mode_settled_helpers.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__code_mode_settled_helpers__code_mode_settled_helpers.snap @@ -6,8 +6,8 @@ Scenario: Settlement helpers deliver fulfilled and rejected records with input i ## Window 1 -- request 1 (turn) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__compaction__remote_slash_compact.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__compaction__remote_slash_compact.snap index b0d713e588..9fc3765404 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__compaction__remote_slash_compact.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__compaction__remote_slash_compact.snap @@ -16,8 +16,8 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (turn; Before /compact) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input @@ -109,8 +109,8 @@ Settings: ## Window 2 (after request 2: input diverged at item 07) Settings: unavailable (items only) -- request 3 (items; Stored replacement before next turn) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input @@ -198,8 +198,8 @@ Settings: unavailable (items only) ## Window 3 (after request 3) Settings: same as window 1 -- request 4 (turn; First turn after /compact) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__context_management_tools__catalog_context_tool_definitions_follow_captured_models.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__context_management_tools__catalog_context_tool_definitions_follow_captured_models.snap index f3abe1873e..a5761d545a 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__context_management_tools__catalog_context_tool_definitions_follow_captured_models.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__context_management_tools__catalog_context_tool_definitions_follow_captured_models.snap @@ -15,14 +15,14 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (9; hash=351b20e3aa629305): + tools (9; hash=5edab7fdbfe2dd93): - function/exec_command: Runs a command in a PTY, returning output or a session ID for ongoing interaction.; args=[cmd, justification, login, max_output_tokens, prefix_rule, sandbox_permissions, shell, tty, workdir, yield_time_ms]; hash=c04108e51a8548c5 - function/write_stdin: Writes characters to an existing unified exec session and returns recent output.; args=[chars, max_output_tokens, session_id, yield_time_ms]; hash=7fb62d8a3e2df4e2 - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - function/new_context: Catalog context guidance.; args=[]; hash=8d300f346fb11d84 - function/get_context_remaining: Catalog context guidance.; args=[]; hash=802b1cf4a796b439 - custom/apply_patch: The `apply_patch` tool can be used to edit files. This is a FREEFORM tool, so do not wrap the pat...; hash=dea9f12b0111a4ba - - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[detail, path]; hash=3b766d5bdec5d50e + - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[path]; hash=1908de9c0be7118a - tool_search: # Tool discovery Searches over deferred tool metadata with BM25 and exposes matching tools for t...; args=[limit, query]; hash=b573ed69c0b0e6c7 - web_search; hash=f103e327c6870a46 -- request 1 (turn) -- @@ -50,7 +50,7 @@ Settings: ## Window 2 (after request 1) Settings: relative to window 1 model: "context-tools-updated" - tools (9; hash=6f6db580112d2227): + tools (9; hash=829060c0abfc8021): ~ function/new_context; args=[]; hash=b9263827b0adbb78 ~ function/get_context_remaining; args=[]; hash=3e96d66806c56bdd -- request 2 (turn) -- diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__dynamic_tools__dynamic_tools_update_preserves_pending_calls_and_survives_resume.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__dynamic_tools__dynamic_tools_update_preserves_pending_calls_and_survives_resume.snap index cdbd3f8b2e..24e08baef4 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__dynamic_tools__dynamic_tools_update_preserves_pending_calls_and_survives_resume.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__dynamic_tools__dynamic_tools_update_preserves_pending_calls_and_survives_resume.snap @@ -16,7 +16,7 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (10; hash=39aa00a8736bb135): + tools (10; hash=b0582dd610604bdb): - function/exec_command: Runs a command in a PTY, returning output or a session ID for ongoing interaction.; args=[cmd, justification, login, max_output_tokens, prefix_rule, sandbox_permissions, shell, tty, workdir, yield_time_ms]; hash=c04108e51a8548c5 - function/write_stdin: Writes characters to an existing unified exec session and returns recent output.; args=[chars, max_output_tokens, session_id, yield_time_ms]; hash=7fb62d8a3e2df4e2 - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 @@ -25,7 +25,7 @@ Settings: - function/curr_time - function/sleep - custom/apply_patch: The `apply_patch` tool can be used to edit files. This is a FREEFORM tool, so do not wrap the pat...; hash=dea9f12b0111a4ba - - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[detail, path]; hash=3b766d5bdec5d50e + - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[path]; hash=1908de9c0be7118a - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=2c8d6295978dbe63 - function/followup_task - function/interrupt_agent @@ -51,7 +51,7 @@ Settings: ## Window 2 (after request 1) Settings: relative to window 1 - tools (10; hash=f9e31c2361b9bc7d): + tools (10; hash=d346da81584ec2d3): - removed function/release + function/deployment: Check deployment.; args=[]; hash=2e9a71e9a20e43ad -- request 2 (turn) -- @@ -81,7 +81,7 @@ Settings: relative to window 1 ## Window 3 (after request 4) Settings: relative to window 2 - tools (9; hash=4f2e62909d4cf2eb): + tools (9; hash=79c1c8bb10577e35): - removed function/deployment -- request 5 (turn) -- 00:message/developer: diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__frozen_cloud_skills__frozen_cloud_skills_with_named_executor_request_history.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__frozen_cloud_skills__frozen_cloud_skills_with_named_executor_request_history.snap index 892cb6f40a..226970d3d5 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__frozen_cloud_skills__frozen_cloud_skills_with_named_executor_request_history.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__frozen_cloud_skills__frozen_cloud_skills_with_named_executor_request_history.snap @@ -16,8 +16,8 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (request) -- -00:additional_tools/developer (3; hash=e075a43448be3246): - - namespace/functions; hash=bbcd688349ca7e12 +00:additional_tools/developer (3; hash=c989fc4f95fb6f22): + - namespace/functions; hash=80f0e6670cf933cc - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__gif_generation_preserves_animation_and_replays_a_still_preview.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__gif_generation_preserves_animation_and_replays_a_still_preview.snap index 8deea76cbf..92a7f74f3c 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__gif_generation_preserves_animation_and_replays_a_still_preview.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__gif_generation_preserves_animation_and_replays_a_still_preview.snap @@ -16,8 +16,8 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (turn) -- -00:additional_tools/developer (3; hash=650d9374d11dab9f): - - namespace/functions; hash=101d32aa59ea258b +00:additional_tools/developer (3; hash=cec010d63fda60d5): + - namespace/functions; hash=106dd1b983efd2f7 - function/exec_command - function/write_stdin - function/request_user_input @@ -25,11 +25,15 @@ Settings: - function/view_image - namespace/image_gen: Tools in the image_gen namespace.; hash=7f9a214246396279 - function/imagegen - - tool_search: # Tool discovery Searches over deferred tool metadata with BM25 and exposes matching tools for t...; args=[limit, query]; hash=400cd6ac61d524a9 + - tool_search: # Tool discovery Searches over deferred tool metadata with BM25 and exposes matching tools for t...; args=[limit, query]; hash=b573ed69c0b0e6c7 01:message/developer: -02:message/developer: - +02:message/developer[2]: + [01] + [02] + Deferred tool namespaces: + - multi_agent_v1: Tools for spawning and managing sub-agents. + 03:message/user: 04:message/user: diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_agent_messages__encrypted_native_history_custom_namespace.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_agent_messages__encrypted_native_history_custom_namespace.snap index a4457f84ca..67b5885ace 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_agent_messages__encrypted_native_history_custom_namespace.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_agent_messages__encrypted_native_history_custom_namespace.snap @@ -80,8 +80,8 @@ Scenario: A historical MAv2 send_message call and an encrypted parent reply reac ## Window 3 (after request 3: input diverged at item 00, settings changed (model, parallel_tool_calls, prompt_cache_key, reasoning, text, tools)) -- request 4 (turn) -- -00:additional_tools/developer (1; hash=65a86311792f6c71): - - namespace/functions; hash=dcfbcf0da1c2d607 +00:additional_tools/developer (1; hash=7758f662cd124827): + - namespace/functions; hash=70d14ec929ba5cd7 - custom/exec - function/wait 01:message/developer: @@ -200,8 +200,8 @@ Scenario: A historical MAv2 send_message call and an encrypted parent reply reac ## Window 5 (after request 5: input diverged at item 00, settings changed (model, parallel_tool_calls, prompt_cache_key, reasoning, text, tools)) -- request 6 (turn) -- -00:additional_tools/developer (1; hash=65a86311792f6c71): - - namespace/functions; hash=dcfbcf0da1c2d607 +00:additional_tools/developer (1; hash=7758f662cd124827): + - namespace/functions; hash=70d14ec929ba5cd7 - custom/exec - function/wait 01:message/developer: diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_agent_messages__encrypted_native_history_default_namespace.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_agent_messages__encrypted_native_history_default_namespace.snap index 3d96112d2f..99c8466c12 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_agent_messages__encrypted_native_history_default_namespace.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_agent_messages__encrypted_native_history_default_namespace.snap @@ -80,8 +80,8 @@ Scenario: A historical MAv2 send_message call and an encrypted parent reply reac ## Window 3 (after request 3: input diverged at item 00, settings changed (model, parallel_tool_calls, prompt_cache_key, reasoning, text, tools)) -- request 4 (turn) -- -00:additional_tools/developer (1; hash=65a86311792f6c71): - - namespace/functions; hash=dcfbcf0da1c2d607 +00:additional_tools/developer (1; hash=7758f662cd124827): + - namespace/functions; hash=70d14ec929ba5cd7 - custom/exec - function/wait 01:message/developer: @@ -200,8 +200,8 @@ Scenario: A historical MAv2 send_message call and an encrypted parent reply reac ## Window 5 (after request 5: input diverged at item 00, settings changed (model, parallel_tool_calls, prompt_cache_key, reasoning, text, tools)) -- request 6 (turn) -- -00:additional_tools/developer (1; hash=65a86311792f6c71): - - namespace/functions; hash=dcfbcf0da1c2d607 +00:additional_tools/developer (1; hash=7758f662cd124827): + - namespace/functions; hash=70d14ec929ba5cd7 - custom/exec - function/wait 01:message/developer: diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_agent_messages__encrypted_parent_reply_survives_incremental_guardian_reviews.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_agent_messages__encrypted_parent_reply_survives_incremental_guardian_reviews.snap index 1cc6862bb5..57f0c117f1 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_agent_messages__encrypted_parent_reply_survives_incremental_guardian_reviews.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_agent_messages__encrypted_parent_reply_survives_incremental_guardian_reviews.snap @@ -41,8 +41,8 @@ Scenario: An encrypted parent reply is delivered as a native agent message. Both ## Window 2 (after request 2: input diverged at item 00, settings changed (model, parallel_tool_calls, prompt_cache_key, reasoning, text, tools)) -- request 3 (turn) -- -00:additional_tools/developer (1; hash=65a86311792f6c71): - - namespace/functions; hash=dcfbcf0da1c2d607 +00:additional_tools/developer (1; hash=7758f662cd124827): + - namespace/functions; hash=70d14ec929ba5cd7 - custom/exec - function/wait 01:message/developer: @@ -149,8 +149,8 @@ Scenario: An encrypted parent reply is delivered as a native agent message. Both ## Window 4 (after request 4: input diverged at item 00, settings changed (model, parallel_tool_calls, prompt_cache_key, reasoning, text, tools)) -- request 5 (turn) -- -00:additional_tools/developer (1; hash=65a86311792f6c71): - - namespace/functions; hash=dcfbcf0da1c2d607 +00:additional_tools/developer (1; hash=7758f662cd124827): + - namespace/functions; hash=70d14ec929ba5cd7 - custom/exec - function/wait 01:message/developer: diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_checkpoint_migration.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_checkpoint_migration.snap index 6eb2f12c77..b239c40c3e 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_checkpoint_migration.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_checkpoint_migration.snap @@ -15,12 +15,12 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (7; hash=f47d2e65b8d3bd06): + tools (7; hash=c8fad8866d479502): - function/exec_command: Runs a command in a PTY, returning output or a session ID for ongoing interaction.; args=[cmd, justification, login, max_output_tokens, prefix_rule, sandbox_permissions, shell, tty, workdir, yield_time_ms]; hash=c04108e51a8548c5 - function/write_stdin: Writes characters to an existing unified exec session and returns recent output.; args=[chars, max_output_tokens, session_id, yield_time_ms]; hash=7fb62d8a3e2df4e2 - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=7c8f464569dbaa9c - custom/apply_patch: The `apply_patch` tool can be used to edit files. This is a FREEFORM tool, so do not wrap the pat...; hash=dea9f12b0111a4ba - - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[detail, path]; hash=3b766d5bdec5d50e + - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[path]; hash=1908de9c0be7118a - tool_search: # Tool discovery Searches over deferred tool metadata with BM25 and exposes matching tools for t...; args=[limit, query]; hash=b573ed69c0b0e6c7 - web_search; hash=f103e327c6870a46 -- request 1 (turn) -- @@ -54,8 +54,8 @@ Settings: relative to window 1 reasoning: {"context":"all_turns","effort":"medium"} tools: -- request 4 (turn) -- -00:additional_tools/developer (1; hash=1ea3c73f7e3c8b33): - - namespace/functions; hash=2a9848b19a516663 +00:additional_tools/developer (1; hash=4c5eea94c78f0b7f): + - namespace/functions; hash=13ba6f301e19dc45 - custom/exec - function/wait - function/request_user_input @@ -87,8 +87,8 @@ Settings: relative to window 2 text: {"format":{"name":"codex_output_schema","schema":{"additionalProperties":false,"properties":{"outcome":{"enum":["allow","deny"],"type":"string"},"rationale":{"type":"string"},"risk_level":{"enum":["low","medium","high","critical"],"type":"string"},"user_authorization":{"enum":["unknown","low","medium","high"],"type":"string"}},"required":["outcome"],"type":"object"},"strict":false,"type":"json_schema"},"verbosity":"low"} -- request 6 (turn) -- 00:compaction:encrypted=true; chars=39; hash=4010be12538dbedf -01:additional_tools/developer (1; hash=65a86311792f6c71): - - namespace/functions; hash=dcfbcf0da1c2d607 +01:additional_tools/developer (1; hash=7758f662cd124827): + - namespace/functions; hash=70d14ec929ba5cd7 - custom/exec - function/wait 02:message/developer: @@ -185,8 +185,8 @@ Settings: relative to window 2 ## Window 4 (after request 6: input diverged at item 00) Settings: same as window 2 -- request 7 (turn) -- -00:additional_tools/developer (1; hash=1ea3c73f7e3c8b33): - - namespace/functions; hash=2a9848b19a516663 +00:additional_tools/developer (1; hash=4c5eea94c78f0b7f): + - namespace/functions; hash=13ba6f301e19dc45 - custom/exec - function/wait - function/request_user_input @@ -217,8 +217,8 @@ Settings: same as window 2 ## Window 5 (after request 8: input diverged at item 03) Settings: same as window 2 -- request 9 (turn) -- -00:additional_tools/developer (1; hash=1ea3c73f7e3c8b33): - - namespace/functions; hash=2a9848b19a516663 +00:additional_tools/developer (1; hash=4c5eea94c78f0b7f): + - namespace/functions; hash=13ba6f301e19dc45 - custom/exec - function/wait - function/request_user_input @@ -248,8 +248,8 @@ Settings: same as window 2 Settings: same as window 3 -- request 10 (turn) -- 00:compaction:encrypted=true; chars=33; hash=5c07b4383c427607 -01:additional_tools/developer (1; hash=65a86311792f6c71): - - namespace/functions; hash=dcfbcf0da1c2d607 +01:additional_tools/developer (1; hash=7758f662cd124827): + - namespace/functions; hash=70d14ec929ba5cd7 - custom/exec - function/wait 02:message/developer: @@ -345,8 +345,8 @@ Settings: same as window 3 ## Window 7 (after request 10: input diverged at item 00) Settings: same as window 2 -- request 11 (turn) -- -00:additional_tools/developer (1; hash=1ea3c73f7e3c8b33): - - namespace/functions; hash=2a9848b19a516663 +00:additional_tools/developer (1; hash=4c5eea94c78f0b7f): + - namespace/functions; hash=13ba6f301e19dc45 - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_code_mode_messaging.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_code_mode_messaging.snap index 2a8ddef117..f2671f2ad2 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_code_mode_messaging.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_code_mode_messaging.snap @@ -118,8 +118,8 @@ Scenario: A root uses Code Mode to send a confirmation and receives a real user ## Window 3 (after request 6: input diverged at item 00, settings changed (model, parallel_tool_calls, prompt_cache_key, reasoning, text, tools)) -- request 7 (turn) -- -00:additional_tools/developer (1; hash=65a86311792f6c71): - - namespace/functions; hash=dcfbcf0da1c2d607 +00:additional_tools/developer (1; hash=7758f662cd124827): + - namespace/functions; hash=70d14ec929ba5cd7 - custom/exec - function/wait 01:message/developer: @@ -188,8 +188,8 @@ Scenario: A root uses Code Mode to send a confirmation and receives a real user ## Window 4 (after request 7: input diverged at item 04, settings changed (prompt_cache_key)) -- request 8 (turn) -- -00:additional_tools/developer (1; hash=65a86311792f6c71): - - namespace/functions; hash=dcfbcf0da1c2d607 +00:additional_tools/developer (1; hash=7758f662cd124827): + - namespace/functions; hash=70d14ec929ba5cd7 - custom/exec - function/wait 01:message/developer: diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_direct_review__guardian_direct_exec.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_direct_review__guardian_direct_exec.snap index c4d9605ba1..2fa8c4c7e9 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_direct_review__guardian_direct_exec.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_direct_review__guardian_direct_exec.snap @@ -7,8 +7,8 @@ Scenario: Direct Guardian review of an injected exec call; an allow assessment d ## Window 1 -- request 1 (turn) -- -00:additional_tools/developer (1; hash=65a86311792f6c71): - - namespace/functions; hash=dcfbcf0da1c2d607 +00:additional_tools/developer (1; hash=7758f662cd124827): + - namespace/functions; hash=70d14ec929ba5cd7 - custom/exec - function/wait 01:message/developer: diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_direct_review__guardian_direct_exec_patch.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_direct_review__guardian_direct_exec_patch.snap index 2696c8499a..2d1077fffa 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_direct_review__guardian_direct_exec_patch.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_direct_review__guardian_direct_exec_patch.snap @@ -21,8 +21,8 @@ Scenario: Live and direct Guardian review of a patch; direct approval leaves the ## Window 2 (after request 1: input diverged at item 00, settings changed (model, parallel_tool_calls, prompt_cache_key, reasoning, text, tools)) -- request 2 (turn) -- -00:additional_tools/developer (1; hash=65a86311792f6c71): - - namespace/functions; hash=dcfbcf0da1c2d607 +00:additional_tools/developer (1; hash=7758f662cd124827): + - namespace/functions; hash=70d14ec929ba5cd7 - custom/exec - function/wait 01:message/developer: @@ -103,8 +103,8 @@ Scenario: Live and direct Guardian review of a patch; direct approval leaves the ## Window 4 (after request 3: input diverged at item 00, settings changed (model, parallel_tool_calls, prompt_cache_key, reasoning, text, tools)) -- request 4 (turn) -- -00:additional_tools/developer (1; hash=65a86311792f6c71): - - namespace/functions; hash=dcfbcf0da1c2d607 +00:additional_tools/developer (1; hash=7758f662cd124827): + - namespace/functions; hash=70d14ec929ba5cd7 - custom/exec - function/wait 01:message/developer: diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_direct_review__guardian_direct_patch.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_direct_review__guardian_direct_patch.snap index 84c6a86319..e017c79d4e 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_direct_review__guardian_direct_patch.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_direct_review__guardian_direct_patch.snap @@ -21,8 +21,8 @@ Scenario: Live and direct Guardian review of a patch; direct approval leaves the ## Window 2 (after request 1: input diverged at item 00, settings changed (model, parallel_tool_calls, prompt_cache_key, reasoning, text, tools)) -- request 2 (turn) -- -00:additional_tools/developer (1; hash=65a86311792f6c71): - - namespace/functions; hash=dcfbcf0da1c2d607 +00:additional_tools/developer (1; hash=7758f662cd124827): + - namespace/functions; hash=70d14ec929ba5cd7 - custom/exec - function/wait 01:message/developer: @@ -113,8 +113,8 @@ Scenario: Live and direct Guardian review of a patch; direct approval leaves the ## Window 4 (after request 3: input diverged at item 00, settings changed (model, parallel_tool_calls, prompt_cache_key, reasoning, text, tools)) -- request 4 (turn) -- -00:additional_tools/developer (1; hash=65a86311792f6c71): - - namespace/functions; hash=dcfbcf0da1c2d607 +00:additional_tools/developer (1; hash=7758f662cd124827): + - namespace/functions; hash=70d14ec929ba5cd7 - custom/exec - function/wait 01:message/developer: diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_direct_review__guardian_direct_permissions.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_direct_review__guardian_direct_permissions.snap index 72b7b9e0cb..7b86958e40 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_direct_review__guardian_direct_permissions.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_direct_review__guardian_direct_permissions.snap @@ -22,8 +22,8 @@ Scenario: Live and direct Guardian review receive the same permission request. ## Window 2 (after request 1: input diverged at item 00, settings changed (model, parallel_tool_calls, prompt_cache_key, reasoning, text, tools)) -- request 2 (turn) -- -00:additional_tools/developer (1; hash=65a86311792f6c71): - - namespace/functions; hash=dcfbcf0da1c2d607 +00:additional_tools/developer (1; hash=7758f662cd124827): + - namespace/functions; hash=70d14ec929ba5cd7 - custom/exec - function/wait 01:message/developer: @@ -107,8 +107,8 @@ Scenario: Live and direct Guardian review receive the same permission request. ## Window 4 (after request 3: input diverged at item 00, settings changed (model, parallel_tool_calls, prompt_cache_key, reasoning, text, tools)) -- request 4 (turn) -- -00:additional_tools/developer (1; hash=65a86311792f6c71): - - namespace/functions; hash=dcfbcf0da1c2d607 +00:additional_tools/developer (1; hash=7758f662cd124827): + - namespace/functions; hash=70d14ec929ba5cd7 - custom/exec - function/wait 01:message/developer: diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_direct_review__guardian_direct_pre_tool_use_rewrite.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_direct_review__guardian_direct_pre_tool_use_rewrite.snap index ec1c2b0ade..ba1a7df34e 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_direct_review__guardian_direct_pre_tool_use_rewrite.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_direct_review__guardian_direct_pre_tool_use_rewrite.snap @@ -6,8 +6,8 @@ Scenario: Direct Guardian review applies the PreToolUse rewrite before checking ## Window 1 -- request 1 (turn) -- -00:additional_tools/developer (1; hash=65a86311792f6c71): - - namespace/functions; hash=dcfbcf0da1c2d607 +00:additional_tools/developer (1; hash=7758f662cd124827): + - namespace/functions; hash=70d14ec929ba5cd7 - custom/exec - function/wait 01:message/developer: diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_extra_policy__extra_policy_reaches_guardian_review.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_extra_policy__extra_policy_reaches_guardian_review.snap index a42476eddd..c06a0ff3c1 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_extra_policy__extra_policy_reaches_guardian_review.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_extra_policy__extra_policy_reaches_guardian_review.snap @@ -15,12 +15,12 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (7; hash=994c9baf5d9a36a0): + tools (7; hash=4bc85f667bb09668): - function/exec_command: Runs a command in a PTY, returning output or a session ID for ongoing interaction.; args=[cmd, justification, login, max_output_tokens, prefix_rule, sandbox_permissions, shell, tty, workdir, yield_time_ms]; hash=c04108e51a8548c5 - function/write_stdin: Writes characters to an existing unified exec session and returns recent output.; args=[chars, max_output_tokens, session_id, yield_time_ms]; hash=7fb62d8a3e2df4e2 - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - custom/apply_patch: The `apply_patch` tool can be used to edit files. This is a FREEFORM tool, so do not wrap the pat...; hash=dea9f12b0111a4ba - - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[detail, path]; hash=3b766d5bdec5d50e + - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[path]; hash=1908de9c0be7118a - tool_search: # Tool discovery Searches over deferred tool metadata with BM25 and exposes matching tools for t...; args=[limit, query]; hash=b573ed69c0b0e6c7 - web_search; hash=f103e327c6870a46 -- request 1 (turn) -- @@ -88,8 +88,8 @@ Settings: relative to window 1 text: {"format":{"name":"codex_output_schema","schema":{"additionalProperties":false,"properties":{"outcome":{"enum":["allow","deny"],"type":"string"},"rationale":{"type":"string"},"risk_level":{"enum":["low","medium","high","critical"],"type":"string"},"user_authorization":{"enum":["unknown","low","medium","high"],"type":"string"}},"required":["outcome"],"type":"object"},"strict":false,"type":"json_schema"},"verbosity":"low"} tools: -- request 2 (turn) -- -00:additional_tools/developer (1; hash=65a86311792f6c71): - - namespace/functions; hash=dcfbcf0da1c2d607 +00:additional_tools/developer (1; hash=7758f662cd124827): + - namespace/functions; hash=70d14ec929ba5cd7 - custom/exec - function/wait 01:message/developer: diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_handoff__guardian_handoff_delegation.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_handoff__guardian_handoff_delegation.snap index 72166903bb..d772be39b6 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_handoff__guardian_handoff_delegation.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_handoff__guardian_handoff_delegation.snap @@ -7,8 +7,8 @@ Scenario: Complete Guardian request history: root delegates through alpha to lea ## Window 1 -- request 1 (turn) -- -00:additional_tools/developer (1; hash=65a86311792f6c71): - - namespace/functions; hash=dcfbcf0da1c2d607 +00:additional_tools/developer (1; hash=7758f662cd124827): + - namespace/functions; hash=70d14ec929ba5cd7 - custom/exec - function/wait 01:message/developer: diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_handoff__guardian_handoff_delegation_native.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_handoff__guardian_handoff_delegation_native.snap index da8ab959fc..a51e679e6e 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_handoff__guardian_handoff_delegation_native.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_handoff__guardian_handoff_delegation_native.snap @@ -7,8 +7,8 @@ Scenario: Complete Guardian request history: root delegates through alpha to lea ## Window 1 -- request 1 (turn) -- -00:additional_tools/developer (1; hash=65a86311792f6c71): - - namespace/functions; hash=dcfbcf0da1c2d607 +00:additional_tools/developer (1; hash=7758f662cd124827): + - namespace/functions; hash=70d14ec929ba5cd7 - custom/exec - function/wait 01:message/developer: diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_heartbeat__heartbeat_repetitions_keep_later_human_authorization.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_heartbeat__heartbeat_repetitions_keep_later_human_authorization.snap index bdd2d6d2b0..bc559f2648 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_heartbeat__heartbeat_repetitions_keep_later_human_authorization.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_heartbeat__heartbeat_repetitions_keep_later_human_authorization.snap @@ -62,8 +62,8 @@ Scenario: Three scheduled runs share one instruction body, a human overrides its ## Window 2 (after request 5: input diverged at item 00, settings changed (model, parallel_tool_calls, prompt_cache_key, reasoning, text, tools)) -- request 6 (request) -- -00:additional_tools/developer (1; hash=65a86311792f6c71): - - namespace/functions; hash=dcfbcf0da1c2d607 +00:additional_tools/developer (1; hash=7758f662cd124827): + - namespace/functions; hash=70d14ec929ba5cd7 - custom/exec - function/wait 01:message/developer: diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_reconsideration__guardian_denial_reconsideration.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_reconsideration__guardian_denial_reconsideration.snap index 9e59232a66..c58cef7e95 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_reconsideration__guardian_denial_reconsideration.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_reconsideration__guardian_denial_reconsideration.snap @@ -15,12 +15,12 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (7; hash=994c9baf5d9a36a0): + tools (7; hash=4bc85f667bb09668): - function/exec_command: Runs a command in a PTY, returning output or a session ID for ongoing interaction.; args=[cmd, justification, login, max_output_tokens, prefix_rule, sandbox_permissions, shell, tty, workdir, yield_time_ms]; hash=c04108e51a8548c5 - function/write_stdin: Writes characters to an existing unified exec session and returns recent output.; args=[chars, max_output_tokens, session_id, yield_time_ms]; hash=7fb62d8a3e2df4e2 - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - custom/apply_patch: The `apply_patch` tool can be used to edit files. This is a FREEFORM tool, so do not wrap the pat...; hash=dea9f12b0111a4ba - - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[detail, path]; hash=3b766d5bdec5d50e + - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[path]; hash=1908de9c0be7118a - tool_search: # Tool discovery Searches over deferred tool metadata with BM25 and exposes matching tools for t...; args=[limit, query]; hash=b573ed69c0b0e6c7 - web_search; hash=f103e327c6870a46 -- request 1 (turn) -- @@ -46,8 +46,8 @@ Settings: relative to window 1 text: {"format":{"name":"codex_output_schema","schema":{"additionalProperties":false,"properties":{"outcome":{"enum":["allow","deny"],"type":"string"},"rationale":{"type":"string"},"risk_level":{"enum":["low","medium","high","critical"],"type":"string"},"user_authorization":{"enum":["unknown","low","medium","high"],"type":"string"}},"required":["outcome"],"type":"object"},"strict":false,"type":"json_schema"},"verbosity":"low"} tools: -- request 2 (turn) -- -00:additional_tools/developer (1; hash=65a86311792f6c71): - - namespace/functions; hash=dcfbcf0da1c2d607 +00:additional_tools/developer (1; hash=7758f662cd124827): + - namespace/functions; hash=70d14ec929ba5cd7 - custom/exec - function/wait 01:message/developer: diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_sender_context__cross_host_sender_context.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_sender_context__cross_host_sender_context.snap index ad9c24e1f7..7f988b150e 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_sender_context__cross_host_sender_context.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_sender_context__cross_host_sender_context.snap @@ -15,12 +15,12 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (7; hash=994c9baf5d9a36a0): + tools (7; hash=4bc85f667bb09668): - function/exec_command: Runs a command in a PTY, returning output or a session ID for ongoing interaction.; args=[cmd, justification, login, max_output_tokens, prefix_rule, sandbox_permissions, shell, tty, workdir, yield_time_ms]; hash=c04108e51a8548c5 - function/write_stdin: Writes characters to an existing unified exec session and returns recent output.; args=[chars, max_output_tokens, session_id, yield_time_ms]; hash=7fb62d8a3e2df4e2 - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - custom/apply_patch: The `apply_patch` tool can be used to edit files. This is a FREEFORM tool, so do not wrap the pat...; hash=dea9f12b0111a4ba - - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[detail, path]; hash=3b766d5bdec5d50e + - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[path]; hash=1908de9c0be7118a - tool_search: # Tool discovery Searches over deferred tool metadata with BM25 and exposes matching tools for t...; args=[limit, query]; hash=b573ed69c0b0e6c7 - web_search; hash=f103e327c6870a46 -- request 1 (turn) -- @@ -92,8 +92,8 @@ Settings: relative to window 3 text: {"format":{"name":"codex_output_schema","schema":{"additionalProperties":false,"properties":{"outcome":{"enum":["allow","deny"],"type":"string"},"rationale":{"type":"string"},"risk_level":{"enum":["low","medium","high","critical"],"type":"string"},"user_authorization":{"enum":["unknown","low","medium","high"],"type":"string"}},"required":["outcome"],"type":"object"},"strict":false,"type":"json_schema"},"verbosity":"low"} tools: -- request 6 (turn) -- -00:additional_tools/developer (1; hash=65a86311792f6c71): - - namespace/functions; hash=dcfbcf0da1c2d607 +00:additional_tools/developer (1; hash=7758f662cd124827): + - namespace/functions; hash=70d14ec929ba5cd7 - custom/exec - function/wait 01:message/developer: diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools__incremental_tool_removals.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools__incremental_tool_removals.snap index 6353959e7e..55ca6957a1 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools__incremental_tool_removals.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools__incremental_tool_removals.snap @@ -16,8 +16,8 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (turn) -- -00:additional_tools/developer (3; hash=7748a53142f449b7): - - namespace/functions; hash=124fee69a69ed6b2 +00:additional_tools/developer (3; hash=c6476125e1d67bb3): + - namespace/functions; hash=6475578c7f948d18 - function/exec_command - function/write_stdin - function/list_mcp_resources diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools__incremental_tools.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools__incremental_tools.snap index 0a5e7cbacf..9f00c80302 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools__incremental_tools.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools__incremental_tools.snap @@ -16,8 +16,8 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (turn) -- -00:additional_tools/developer (2; hash=b07492b5514a41d0): - - namespace/functions; hash=cc6e8cf0e5405f3a +00:additional_tools/developer (2; hash=019c865b71a05fec): + - namespace/functions; hash=f3355f5705e28592 - custom/exec - function/wait - function/exec_command @@ -46,8 +46,8 @@ Settings: Settings: relative to window 1 model: "updated-tools-model" -- request 3 (turn) -- -00:additional_tools/developer (2; hash=b07492b5514a41d0): - - namespace/functions; hash=cc6e8cf0e5405f3a +00:additional_tools/developer (2; hash=019c865b71a05fec): + - namespace/functions; hash=f3355f5705e28592 - custom/exec - function/wait - function/exec_command @@ -93,8 +93,8 @@ Settings: relative to window 1 ## Window 3 (after request 5: input diverged at item 00) Settings: same as window 2 -- request 6 (turn) -- -00:additional_tools/developer (2; hash=f9f0840b2e42f7f5): - - namespace/functions; hash=9d5d7a0adab05fef +00:additional_tools/developer (2; hash=7df544e43dd38360): + - namespace/functions; hash=1e51a9a9273be2f8 - custom/exec - function/wait - function/exec_command diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools__incremental_tools_catalog_messages.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools__incremental_tools_catalog_messages.snap index 655768d1ab..7b24f95cef 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools__incremental_tools_catalog_messages.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools__incremental_tools_catalog_messages.snap @@ -16,8 +16,8 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (turn) -- -00:additional_tools/developer (3; hash=7748a53142f449b7): - - namespace/functions; hash=124fee69a69ed6b2 +00:additional_tools/developer (3; hash=c6476125e1d67bb3): + - namespace/functions; hash=6475578c7f948d18 - function/exec_command - function/write_stdin - function/list_mcp_resources diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools__incremental_tools_responses_api.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools__incremental_tools_responses_api.snap index 89fc6a472f..31fd1540ff 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools__incremental_tools_responses_api.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools__incremental_tools_responses_api.snap @@ -15,14 +15,14 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (9; hash=7ebf49dda2901fbc): - - custom/exec: Run JavaScript code to orchestrate/compose tool calls - Evaluates the provided JavaScript code in...; hash=3b60611486072e76 + tools (9; hash=c36c84db667eb4c8): + - custom/exec: Run JavaScript code to orchestrate/compose tool calls - Evaluates the provided JavaScript code in...; hash=9226aa5c0caf3b05 - function/wait: Waits on a yielded `exec` cell and returns new output or completion. - Use `wait` only after `exe...; args=[cell_id, max_tokens, terminate, yield_time_ms]; hash=6692d8f6c55be489 - function/exec_command: Runs a command in a PTY, returning output or a session ID for ongoing interaction. exec tool dec...; args=[cmd, justification, login, max_output_tokens, prefix_rule, sandbox_permissions, shell, tty, workdir, yield_time_ms]; hash=759843fc2a7d41a0 - function/write_stdin: Writes characters to an existing unified exec session and returns recent output. exec tool decla...; args=[chars, max_output_tokens, session_id, yield_time_ms]; hash=e6405481b30a43c1 - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - custom/apply_patch: The `apply_patch` tool can be used to edit files. This is a FREEFORM tool, so do not wrap the pat...; hash=11c5b5ed4fb972e8 - - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[detail, path]; hash=1b87dd8874f6fa10 + - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[path]; hash=0e7abbd0a5b17fb9 - tool_search: # Tool discovery Searches over deferred tool metadata with BM25 and exposes matching tools for t...; args=[limit, query]; hash=b573ed69c0b0e6c7 - web_search; hash=e214d4db1bc49e89 -- request 1 (turn) -- @@ -45,7 +45,7 @@ Settings: ## Window 2 (after request 2) Settings: relative to window 1 model: "updated-tools-model" - tools (9; hash=6531bfd30ee7d343): + tools (9; hash=adb28e07b75745e2): ~ custom/exec: Updated execution instructions. Some deferred nested tools may be omitted from this description....; hash=7af6961848c10849 -- request 3 (turn) -- 00:message/developer: diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools__incremental_tools_suppressed_announcements.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools__incremental_tools_suppressed_announcements.snap index 03410da1f7..32ca64827f 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools__incremental_tools_suppressed_announcements.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools__incremental_tools_suppressed_announcements.snap @@ -16,8 +16,8 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (turn) -- -00:additional_tools/developer (2; hash=b07492b5514a41d0): - - namespace/functions; hash=cc6e8cf0e5405f3a +00:additional_tools/developer (2; hash=019c865b71a05fec): + - namespace/functions; hash=f3355f5705e28592 - custom/exec - function/wait - function/exec_command @@ -46,8 +46,8 @@ Settings: Settings: relative to window 1 model: "updated-tools-model" -- request 3 (turn) -- -00:additional_tools/developer (2; hash=b07492b5514a41d0): - - namespace/functions; hash=cc6e8cf0e5405f3a +00:additional_tools/developer (2; hash=019c865b71a05fec): + - namespace/functions; hash=f3355f5705e28592 - custom/exec - function/wait - function/exec_command @@ -92,8 +92,8 @@ Settings: relative to window 1 ## Window 3 (after request 5: input diverged at item 00) Settings: same as window 2 -- request 6 (turn) -- -00:additional_tools/developer (2; hash=f9f0840b2e42f7f5): - - namespace/functions; hash=9d5d7a0adab05fef +00:additional_tools/developer (2; hash=7df544e43dd38360): + - namespace/functions; hash=1e51a9a9273be2f8 - custom/exec - function/wait - function/exec_command diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools__prediction_fork_inherited_tools.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools__prediction_fork_inherited_tools.snap index c2e8f9c579..a8cc66211c 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools__prediction_fork_inherited_tools.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools__prediction_fork_inherited_tools.snap @@ -16,8 +16,8 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (turn) -- -00:additional_tools/developer (1; hash=a523a0cf594329a1): - - namespace/functions; hash=d3e1dde6718dc7a3 +00:additional_tools/developer (1; hash=638dc23247f41f35): + - namespace/functions; hash=f730aa90585570c5 - custom/exec - function/wait - function/request_user_input @@ -40,8 +40,8 @@ Settings: ## Window 2 (after request 2: input diverged at item 05) Settings: same as window 1 -- request 3 (turn) -- -00:additional_tools/developer (1; hash=a523a0cf594329a1): - - namespace/functions; hash=d3e1dde6718dc7a3 +00:additional_tools/developer (1; hash=638dc23247f41f35): + - namespace/functions; hash=f730aa90585570c5 - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools_resume__disable_incremental_tools.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools_resume__disable_incremental_tools.snap index b774f42d52..1596f4cd60 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools_resume__disable_incremental_tools.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools_resume__disable_incremental_tools.snap @@ -16,8 +16,8 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (turn) -- -00:additional_tools/developer (2; hash=7b4c6a992fd91f91): - - namespace/functions; hash=101d32aa59ea258b +00:additional_tools/developer (2; hash=ba36cb129fbde5df): + - namespace/functions; hash=106dd1b983efd2f7 - function/exec_command - function/write_stdin - function/request_user_input @@ -56,8 +56,8 @@ Settings: ## Window 2 (after request 3: input diverged at item 00) Settings: same as window 1 -- request 4 (turn) -- -00:additional_tools/developer (2; hash=3b0da5c6c5e4fd8e): - - namespace/functions; hash=36c9912d971c5be8 +00:additional_tools/developer (2; hash=4f95a0a93c66dfca): + - namespace/functions; hash=e61b39bab731172a - function/update_plan - function/request_user_input - custom/apply_patch diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools_resume__legacy_resume_remote_compaction.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools_resume__legacy_resume_remote_compaction.snap index 96ac689242..9c58cb35b9 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools_resume__legacy_resume_remote_compaction.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools_resume__legacy_resume_remote_compaction.snap @@ -16,8 +16,8 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (turn) -- -00:additional_tools/developer (2; hash=b07492b5514a41d0): - - namespace/functions; hash=cc6e8cf0e5405f3a +00:additional_tools/developer (2; hash=019c865b71a05fec): + - namespace/functions; hash=f3355f5705e28592 - custom/exec - function/wait - function/exec_command @@ -49,8 +49,8 @@ Settings: ## Window 2 (after request 3: input diverged at item 02) Settings: same as window 1 -- request 4 (turn) -- -00:additional_tools/developer (2; hash=b07492b5514a41d0): - - namespace/functions; hash=cc6e8cf0e5405f3a +00:additional_tools/developer (2; hash=019c865b71a05fec): + - namespace/functions; hash=f3355f5705e28592 - custom/exec - function/wait - function/exec_command diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools_resume__legacy_resume_window_reset.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools_resume__legacy_resume_window_reset.snap index 167399454c..c60620106b 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools_resume__legacy_resume_window_reset.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools_resume__legacy_resume_window_reset.snap @@ -16,8 +16,8 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (turn) -- -00:additional_tools/developer (2; hash=f1d0adb3566d1b59): - - namespace/functions; hash=dfb4b8684addc20d +00:additional_tools/developer (2; hash=64bcbde2bd6a71cd): + - namespace/functions; hash=bf2bbed4b1e4d23d - custom/exec - function/wait - function/exec_command @@ -57,8 +57,8 @@ Settings: ## Window 2 (after request 2: input diverged at item 03) Settings: same as window 1 -- request 3 (turn) -- -00:additional_tools/developer (2; hash=f1d0adb3566d1b59): - - namespace/functions; hash=dfb4b8684addc20d +00:additional_tools/developer (2; hash=64bcbde2bd6a71cd): + - namespace/functions; hash=bf2bbed4b1e4d23d - custom/exec - function/wait - function/exec_command diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__indirect_namespace_prefixes__catalog_indirect_namespace_prefixes.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__indirect_namespace_prefixes__catalog_indirect_namespace_prefixes.snap index 9628a97860..3b42b56059 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__indirect_namespace_prefixes__catalog_indirect_namespace_prefixes.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__indirect_namespace_prefixes__catalog_indirect_namespace_prefixes.snap @@ -15,8 +15,8 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (4; hash=1261f9f79ad97cee): - - custom/exec: Exec guidance. Run JavaScript code to orchestrate/compose tool calls - Evaluates the provided Ja...; hash=db96605f80dbbdd7 + tools (4; hash=1873c769e1ecc1e6): + - custom/exec: Exec guidance. Run JavaScript code to orchestrate/compose tool calls - Evaluates the provided Ja...; hash=4b18b0a399fb90e1 - function/wait: Waits on a yielded `exec` cell and returns new output or completion. - Use `wait` only after `exe...; args=[cell_id, max_tokens, terminate, yield_time_ms]; hash=6692d8f6c55be489 - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - web_search; hash=e214d4db1bc49e89 @@ -44,13 +44,13 @@ Settings: 07:custom_tool_call_output:Script completed Wall time seconds Output: - | {"descriptions":["Functions context.\\n\\nImage guidance.\\n\\nView a local image file from the filesystem w...>>; };\\n```"],"echo":"ECHOING: ping","agent":"/root"} [hash=4bd42f2e71ce15d7] + | {"descriptions":["Functions context.\\n\\nImage guidance.\\n\\nView a local image file from the filesystem w...>>; };\\n```"],"echo":"ECHOING: ping","agent":"/root"} [hash=e3b76c8d361418c6] ## Window 2 (after request 2) Settings: relative to window 1 model: "prefixes-cleared" - tools (4; hash=d878b195101dccae): - ~ custom/exec: Run JavaScript code to orchestrate/compose tool calls - Evaluates the provided JavaScript code in...; hash=881b443f5068d3fb + tools (4; hash=7831e6ce06adc804): + ~ custom/exec: Run JavaScript code to orchestrate/compose tool calls - Evaluates the provided JavaScript code in...; hash=b2642100ba673aff -- request 3 (turn) -- 00:message/developer: @@ -74,7 +74,7 @@ Settings: relative to window 1 07:custom_tool_call_output:Script completed Wall time seconds Output: - | {"descriptions":["Functions context.\\n\\nImage guidance.\\n\\nView a local image file from the filesystem w...>>; };\\n```"],"echo":"ECHOING: ping","agent":"/root"} [hash=4bd42f2e71ce15d7] + | {"descriptions":["Functions context.\\n\\nImage guidance.\\n\\nView a local image file from the filesystem w...>>; };\\n```"],"echo":"ECHOING: ping","agent":"/root"} [hash=e3b76c8d361418c6] 08:message/assistant: Done. 09:message/developer: @@ -92,4 +92,4 @@ Settings: relative to window 1 12:custom_tool_call_output:Script completed Wall time seconds Output: - | {"descriptions":["View a local image file from the filesystem when visual inspection is needed. Use this...>>; };\\n```"],"echo":"ECHOING: ping","agent":"/root"} [hash=6f5fd573af132df1] + | {"descriptions":["View a local image file from the filesystem when visual inspection is needed. Use this...>>; };\\n```"],"echo":"ECHOING: ping","agent":"/root"} [hash=dafcf2a1f1aff990] diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__mcp_ema__enterprise_failure_preserves_ordinary_mcp_history.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__mcp_ema__enterprise_failure_preserves_ordinary_mcp_history.snap index ee1f3b26b2..72012f9547 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__mcp_ema__enterprise_failure_preserves_ordinary_mcp_history.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__mcp_ema__enterprise_failure_preserves_ordinary_mcp_history.snap @@ -15,7 +15,7 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (13; hash=75ef17d8adc1b3db): + tools (13; hash=90319af6484fda67): - function/exec_command: Runs a command in a PTY, returning output or a session ID for ongoing interaction.; args=[cmd, justification, login, max_output_tokens, prefix_rule, sandbox_permissions, shell, tty, workdir, yield_time_ms]; hash=c04108e51a8548c5 - function/write_stdin: Writes characters to an existing unified exec session and returns recent output.; args=[chars, max_output_tokens, session_id, yield_time_ms]; hash=7fb62d8a3e2df4e2 - function/list_mcp_resources: Lists resources provided by MCP servers. Resources allow servers to share data that provides cont...; args=[cursor, server]; hash=6792edaff13561bd @@ -27,7 +27,7 @@ Settings: - function/curr_time - function/sleep - custom/apply_patch: The `apply_patch` tool can be used to edit files. This is a FREEFORM tool, so do not wrap the pat...; hash=dea9f12b0111a4ba - - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[detail, path]; hash=3b766d5bdec5d50e + - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[path]; hash=1908de9c0be7118a - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=2c8d6295978dbe63 - function/followup_task - function/interrupt_agent diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__mcp_ema__enterprise_revocation_preserves_history_and_ordinary_tools.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__mcp_ema__enterprise_revocation_preserves_history_and_ordinary_tools.snap index 6dc7a4af88..8721efc4fc 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__mcp_ema__enterprise_revocation_preserves_history_and_ordinary_tools.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__mcp_ema__enterprise_revocation_preserves_history_and_ordinary_tools.snap @@ -15,7 +15,7 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (14; hash=c23674e45d0ff686): + tools (14; hash=e60a1a331b573432): - function/exec_command: Runs a command in a PTY, returning output or a session ID for ongoing interaction.; args=[cmd, justification, login, max_output_tokens, prefix_rule, sandbox_permissions, shell, tty, workdir, yield_time_ms]; hash=c04108e51a8548c5 - function/write_stdin: Writes characters to an existing unified exec session and returns recent output.; args=[chars, max_output_tokens, session_id, yield_time_ms]; hash=7fb62d8a3e2df4e2 - function/list_mcp_resources: Lists resources provided by MCP servers. Resources allow servers to share data that provides cont...; args=[cursor, server]; hash=6792edaff13561bd @@ -27,7 +27,7 @@ Settings: - function/curr_time - function/sleep - custom/apply_patch: The `apply_patch` tool can be used to edit files. This is a FREEFORM tool, so do not wrap the pat...; hash=dea9f12b0111a4ba - - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[detail, path]; hash=3b766d5bdec5d50e + - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[path]; hash=1908de9c0be7118a - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=2c8d6295978dbe63 - function/followup_task - function/interrupt_agent @@ -67,7 +67,7 @@ Settings: ## Window 2 (after request 2) Settings: relative to window 1 - tools (13; hash=75ef17d8adc1b3db): + tools (13; hash=90319af6484fda67): - removed namespace/mcp__enterprise -- request 3 (turn) -- 00:message/developer: diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__mcp_resource_messages__mcp_resource_messages.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__mcp_resource_messages__mcp_resource_messages.snap index 196308756b..d1a7f3a7cb 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__mcp_resource_messages__mcp_resource_messages.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__mcp_resource_messages__mcp_resource_messages.snap @@ -15,8 +15,8 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (7; hash=dac6a853a6177003): - - custom/exec: Run JavaScript code to orchestrate/compose tool calls - Evaluates the provided JavaScript code in...; hash=9ad48dbb5eac1f9b + tools (7; hash=83df59b286cda93b): + - custom/exec: Run JavaScript code to orchestrate/compose tool calls - Evaluates the provided JavaScript code in...; hash=2051847a9a5d026d - function/wait: Waits on a yielded `exec` cell and returns new output or completion. - Use `wait` only after `exe...; args=[cell_id, max_tokens, terminate, yield_time_ms]; hash=6692d8f6c55be489 - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - function/request_user_input_async: Ask the user one or more questions during ongoing work. Use this tool only to request missing inf...; args=[questions]; hash=d6d74f33db330162 diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__mcp_sharing__shared_mcp_keeps_tools_and_model_requested_input_per_chat.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__mcp_sharing__shared_mcp_keeps_tools_and_model_requested_input_per_chat.snap index b007c48c77..9785fd7098 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__mcp_sharing__shared_mcp_keeps_tools_and_model_requested_input_per_chat.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__mcp_sharing__shared_mcp_keeps_tools_and_model_requested_input_per_chat.snap @@ -15,7 +15,7 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (11; hash=e4ad6947d6c88cac): + tools (11; hash=a079637661e48f3a): - function/exec_command: Runs a command in a PTY, returning output or a session ID for ongoing interaction.; args=[cmd, justification, login, max_output_tokens, prefix_rule, sandbox_permissions, shell, tty, workdir, yield_time_ms]; hash=c04108e51a8548c5 - function/write_stdin: Writes characters to an existing unified exec session and returns recent output.; args=[chars, max_output_tokens, session_id, yield_time_ms]; hash=7fb62d8a3e2df4e2 - function/list_mcp_resources: Lists resources provided by MCP servers. Resources allow servers to share data that provides cont...; args=[cursor, server]; hash=6792edaff13561bd @@ -23,7 +23,7 @@ Settings: - function/read_mcp_resource: Read a specific resource from an MCP server given the server name and resource URI.; args=[server, uri]; hash=24246896b39008ae - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - custom/apply_patch: The `apply_patch` tool can be used to edit files. This is a FREEFORM tool, so do not wrap the pat...; hash=dea9f12b0111a4ba - - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[detail, path]; hash=3b766d5bdec5d50e + - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[path]; hash=1908de9c0be7118a - namespace/multi_agent_v1: Tools for spawning and managing sub-agents.; hash=2327142bda177c50 - function/close_agent - function/resume_agent @@ -50,7 +50,7 @@ Settings: ## Window 2 (after request 2: input diverged at item 03) Settings: relative to window 1 prompt_cache_key: "" - tools (11; hash=b0f271ad4e160a41): + tools (11; hash=ab95a443abed962b): ~ namespace/mcp__shared: Use these tools to exercise the rmcp test server.; hash=a9e155b340098fac - function/echo_tool -- request 3 (turn; joiner) -- diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__mcp_tool_discovery_CodeModeOnly.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__mcp_tool_discovery_CodeModeOnly.snap index 33f69ec0bf..5c7bfbcb81 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__mcp_tool_discovery_CodeModeOnly.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__mcp_tool_discovery_CodeModeOnly.snap @@ -15,8 +15,8 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (4; hash=c0d891b72dfe19c6): - - custom/exec: Run JavaScript code to orchestrate/compose tool calls - Evaluates the provided JavaScript code in...; hash=5f9adb37c23e2085 + tools (4; hash=d137abed31032f6c): + - custom/exec: Run JavaScript code to orchestrate/compose tool calls - Evaluates the provided JavaScript code in...; hash=8f357b6218c02911 - function/wait: Waits on a yielded `exec` cell and returns new output or completion. - Use `wait` only after `exe...; args=[cell_id, max_tokens, terminate, yield_time_ms]; hash=6692d8f6c55be489 - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - web_search; hash=e214d4db1bc49e89 @@ -32,8 +32,8 @@ Settings: ## Window 2 (after request 1) Settings: relative to window 1 - tools (4; hash=f74ded0dd31e19a8): - ~ custom/exec: Run JavaScript code to orchestrate/compose tool calls - Evaluates the provided JavaScript code in...; hash=f36b0269278fcd9d + tools (4; hash=f5a01fb2c9761a26): + ~ custom/exec: Run JavaScript code to orchestrate/compose tool calls - Evaluates the provided JavaScript code in...; hash=dfbda3722b16bdf9 -- request 2 (request) -- 00:message/developer: diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__mcp_tool_discovery_Direct.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__mcp_tool_discovery_Direct.snap index e91e191f32..4d11431a56 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__mcp_tool_discovery_Direct.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__mcp_tool_discovery_Direct.snap @@ -15,7 +15,7 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (11; hash=d2c3940ebd5ac02b): + tools (11; hash=2b93aeb57ddb3eb5): - function/exec_command: Runs a command in a PTY, returning output or a session ID for ongoing interaction.; args=[cmd, justification, login, max_output_tokens, prefix_rule, sandbox_permissions, shell, tty, workdir, yield_time_ms]; hash=c04108e51a8548c5 - function/write_stdin: Writes characters to an existing unified exec session and returns recent output.; args=[chars, max_output_tokens, session_id, yield_time_ms]; hash=7fb62d8a3e2df4e2 - function/list_mcp_resources: Lists resources provided by MCP servers. Resources allow servers to share data that provides cont...; args=[cursor, server]; hash=6792edaff13561bd @@ -23,7 +23,7 @@ Settings: - function/read_mcp_resource: Read a specific resource from an MCP server given the server name and resource URI.; args=[server, uri]; hash=24246896b39008ae - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - custom/apply_patch: The `apply_patch` tool can be used to edit files. This is a FREEFORM tool, so do not wrap the pat...; hash=dea9f12b0111a4ba - - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[detail, path]; hash=3b766d5bdec5d50e + - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[path]; hash=1908de9c0be7118a - namespace/multi_agent_v1: Tools for spawning and managing sub-agents.; hash=2327142bda177c50 - function/close_agent - function/resume_agent @@ -45,7 +45,7 @@ Settings: ## Window 2 (after request 1) Settings: relative to window 1 - tools (11; hash=21579d54e22ad527): + tools (11; hash=8f2ae06e5a29e3e1): ~ namespace/mcp__discovery: Use these tools to exercise the rmcp test server.; hash=66db79539eaf6be3 - function/echo - function/search_tools diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__multi_agent_catalog_parameters.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__multi_agent_catalog_parameters.snap index 3ffa10d0fa..842c204f8a 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__multi_agent_catalog_parameters.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__multi_agent_catalog_parameters.snap @@ -16,8 +16,8 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (turn) -- -00:additional_tools/developer (3; hash=2b84850bc279e5ed): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=83697a0118230669): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__multi_agent_native_tools_hidden.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__multi_agent_native_tools_hidden.snap index 9b031028e3..66820c3e51 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__multi_agent_native_tools_hidden.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__multi_agent_native_tools_hidden.snap @@ -16,8 +16,8 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (turn) -- -00:additional_tools/developer (2; hash=d56ea226c3637559): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (2; hash=5ea7a55416afee55): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__partial_answers__preserved_answer_fork.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__partial_answers__preserved_answer_fork.snap index cfc2708279..ed680bef91 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__partial_answers__preserved_answer_fork.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__partial_answers__preserved_answer_fork.snap @@ -6,8 +6,8 @@ Scenario: A worker inherits the parent prefix unchanged and receives its own ins ## Window 1 -- request 1 (turn) -- -00:additional_tools/developer (2; hash=cefa72e421dc276f): - - namespace/functions; hash=125a3a92f05f72e9 +00:additional_tools/developer (2; hash=855bf977570202a9): + - namespace/functions; hash=2e61665749f6eed1 - custom/exec - function/wait - function/request_user_input @@ -46,8 +46,8 @@ Scenario: A worker inherits the parent prefix unchanged and receives its own ins ## Window 2 (after request 3: input diverged at item 12) -- request 4 (turn) -- -00:additional_tools/developer (2; hash=cefa72e421dc276f): - - namespace/functions; hash=125a3a92f05f72e9 +00:additional_tools/developer (2; hash=855bf977570202a9): + - namespace/functions; hash=2e61665749f6eed1 - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__prediction_fork_inherits_parent_context.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__prediction_fork_inherits_parent_context.snap index c125d36503..a9a68e846e 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__prediction_fork_inherits_parent_context.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__prediction_fork_inherits_parent_context.snap @@ -16,8 +16,8 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (turn) -- -00:additional_tools/developer (2; hash=7b4c6a992fd91f91): - - namespace/functions; hash=101d32aa59ea258b +00:additional_tools/developer (2; hash=ba36cb129fbde5df): + - namespace/functions; hash=106dd1b983efd2f7 - function/exec_command - function/write_stdin - function/request_user_input @@ -93,8 +93,8 @@ Settings: ## Window 2 (after request 3: input repeated) Settings: same as window 1 -- request 4 (turn) -- -00:additional_tools/developer (2; hash=7b4c6a992fd91f91): - - namespace/functions; hash=101d32aa59ea258b +00:additional_tools/developer (2; hash=ba36cb129fbde5df): + - namespace/functions; hash=106dd1b983efd2f7 - function/exec_command - function/write_stdin - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__prediction_fork_preserves_context_above_compaction_threshold.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__prediction_fork_preserves_context_above_compaction_threshold.snap index bcf34856f0..d3a702107c 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__prediction_fork_preserves_context_above_compaction_threshold.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__prediction_fork_preserves_context_above_compaction_threshold.snap @@ -16,8 +16,8 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (turn) -- -00:additional_tools/developer (3; hash=696793f2090ba3e3): - - namespace/functions; hash=eb439da1f745d8d5 +00:additional_tools/developer (3; hash=ff4c5c6769e3f0a3): + - namespace/functions; hash=d81b6bdfabfd18f7 - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__provider_capabilities__custom_provider_capabilities.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__provider_capabilities__custom_provider_capabilities.snap index ade1be5bcf..4388ca6d6f 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__provider_capabilities__custom_provider_capabilities.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__provider_capabilities__custom_provider_capabilities.snap @@ -15,11 +15,11 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (6; hash=dde875513b2c7cff): + tools (6; hash=9a4caaeb38e57991): - function/exec_command: Runs a command in a PTY, returning output or a session ID for ongoing interaction.; args=[cmd, justification, login, max_output_tokens, prefix_rule, sandbox_permissions, shell, tty, workdir, yield_time_ms]; hash=c04108e51a8548c5 - function/write_stdin: Writes characters to an existing unified exec session and returns recent output.; args=[chars, max_output_tokens, session_id, yield_time_ms]; hash=7fb62d8a3e2df4e2 - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[detail, path]; hash=3b766d5bdec5d50e + - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[path]; hash=1908de9c0be7118a - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=3cbf715dc154e1b7 - function/followup_task - function/interrupt_agent diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__retained_tool_outputs__retained_tool_output_retention_disabled.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__retained_tool_outputs__retained_tool_output_retention_disabled.snap index 576e8fd3a1..44b7ccdab4 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__retained_tool_outputs__retained_tool_output_retention_disabled.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__retained_tool_outputs__retained_tool_output_retention_disabled.snap @@ -6,8 +6,8 @@ Scenario: With retention disabled, the client can still send retain=true. Tool o ## Window 1 -- request 1 (turn) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input @@ -45,8 +45,8 @@ Scenario: With retention disabled, the client can still send retain=true. Tool o ## Window 2 (after request 3: input diverged at item 11) -- request 4 (compaction) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input @@ -84,8 +84,8 @@ Scenario: With retention disabled, the client can still send retain=true. Tool o ## Window 3 (after request 4: input diverged at item 06) -- request 5 (turn) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__retained_tool_outputs__retained_tool_output_survives_compaction_and_resume.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__retained_tool_outputs__retained_tool_output_survives_compaction_and_resume.snap index 7f21eb9e2d..0151a453d1 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__retained_tool_outputs__retained_tool_output_survives_compaction_and_resume.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__retained_tool_outputs__retained_tool_output_survives_compaction_and_resume.snap @@ -6,8 +6,8 @@ Scenario: Retained thread instructions stop emergency tool-output trimming. Comp ## Window 1 -- request 1 (turn) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input @@ -48,8 +48,8 @@ Scenario: Retained thread instructions stop emergency tool-output trimming. Comp ## Window 2 (after request 4: input diverged at item 06) -- request 5 (turn) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__skill_catalog_dedup__dedup_before_budgeting.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__skill_catalog_dedup__dedup_before_budgeting.snap index e260a8aff9..3f32fad9b7 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__skill_catalog_dedup__dedup_before_budgeting.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__skill_catalog_dedup__dedup_before_budgeting.snap @@ -16,8 +16,8 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (turn) -- -00:additional_tools/developer (3; hash=5e8370540461db70): - - namespace/functions; hash=7d26e086c1dbba28 +00:additional_tools/developer (3; hash=90063690a488dd0c): + - namespace/functions; hash=596780ea93468a82 - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__skill_catalog_dedup__dedup_without_descriptions.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__skill_catalog_dedup__dedup_without_descriptions.snap index 9bb1897a43..59f8ebebf9 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__skill_catalog_dedup__dedup_without_descriptions.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__skill_catalog_dedup__dedup_without_descriptions.snap @@ -16,8 +16,8 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (turn) -- -00:additional_tools/developer (3; hash=5e8370540461db70): - - namespace/functions; hash=7d26e086c1dbba28 +00:additional_tools/developer (3; hash=90063690a488dd0c): + - namespace/functions; hash=596780ea93468a82 - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__skill_catalog_dedup__skill_catalog_deltas.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__skill_catalog_dedup__skill_catalog_deltas.snap index c951770857..6c05b077b3 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__skill_catalog_dedup__skill_catalog_deltas.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__skill_catalog_dedup__skill_catalog_deltas.snap @@ -16,8 +16,8 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (turn) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input @@ -160,8 +160,8 @@ Settings: ## Window 2 (after request 7: input diverged at item 02) Settings: same as window 1 -- request 8 (turn) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input @@ -295,8 +295,8 @@ Settings: same as window 1 ## Window 3 (after request 11: input diverged at item 07) Settings: same as window 1 -- request 12 (turn) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input @@ -436,8 +436,8 @@ Settings: same as window 1 ## Window 4 (after request 18: input diverged at item 10) Settings: same as window 1 -- request 19 (turn) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__skill_read_installation_recovery_request_history.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__skill_read_installation_recovery_request_history.snap index 18eb321292..a1c90bbc2c 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__skill_read_installation_recovery_request_history.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__skill_read_installation_recovery_request_history.snap @@ -6,8 +6,8 @@ Scenario: Astra reads Cloud instructions, discovers an omitted deployment instal ## Window 1 -- request 1 (request) -- -00:additional_tools/developer (3; hash=e075a43448be3246): - - namespace/functions; hash=bbcd688349ca7e12 +00:additional_tools/developer (3; hash=c989fc4f95fb6f22): + - namespace/functions; hash=80f0e6670cf933cc - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__subagent_browser_auth.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__subagent_browser_auth.snap index fa81cf35e6..abd084ce87 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__subagent_browser_auth.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__subagent_browser_auth.snap @@ -15,7 +15,7 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (10; hash=df5c5997ff843305): + tools (10; hash=9f8074d045f3bd93): - function/exec_command: Runs a command in a PTY, returning output or a session ID for ongoing interaction.; args=[cmd, justification, login, max_output_tokens, prefix_rule, sandbox_permissions, shell, tty, workdir, yield_time_ms]; hash=c04108e51a8548c5 - function/write_stdin: Writes characters to an existing unified exec session and returns recent output.; args=[chars, max_output_tokens, session_id, yield_time_ms]; hash=7fb62d8a3e2df4e2 - function/list_mcp_resources: Lists resources provided by MCP servers. Resources allow servers to share data that provides cont...; args=[cursor, server]; hash=6792edaff13561bd @@ -23,7 +23,7 @@ Settings: - function/read_mcp_resource: Read a specific resource from an MCP server given the server name and resource URI.; args=[server, uri]; hash=24246896b39008ae - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - custom/apply_patch: The `apply_patch` tool can be used to edit files. This is a FREEFORM tool, so do not wrap the pat...; hash=dea9f12b0111a4ba - - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[detail, path]; hash=3b766d5bdec5d50e + - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[path]; hash=1908de9c0be7118a - tool_search: # Tool discovery Searches over deferred tool metadata with BM25 and exposes matching tools for t...; args=[limit, query]; hash=b573ed69c0b0e6c7 - web_search; hash=f103e327c6870a46 -- request 1 (turn) -- diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__unavailable_images_are_rechecked_without_rewriting_history.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__unavailable_images_are_rechecked_without_rewriting_history.snap index 09ae45e9d8..c55f0737c2 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__unavailable_images_are_rechecked_without_rewriting_history.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__unavailable_images_are_rechecked_without_rewriting_history.snap @@ -7,8 +7,8 @@ Scenario: Available file references pass through. A later request replaces missi ## Window 1 -- request 1 (turn) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input @@ -43,8 +43,8 @@ Scenario: Available file references pass through. A later request replaces missi ## Window 2 (after request 1: input diverged at item 06) -- request 2 (turn) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__unshared_apps_catalog_across_turns.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__unshared_apps_catalog_across_turns.snap index 94c29bb1ad..6996391d04 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__unshared_apps_catalog_across_turns.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__unshared_apps_catalog_across_turns.snap @@ -15,7 +15,7 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (11; hash=b18d58517f1e1d66): + tools (11; hash=f0e5643a27e61b18): - function/exec_command: Runs a command in a PTY, returning output or a session ID for ongoing interaction.; args=[cmd, justification, login, max_output_tokens, prefix_rule, sandbox_permissions, shell, tty, workdir, yield_time_ms]; hash=c04108e51a8548c5 - function/write_stdin: Writes characters to an existing unified exec session and returns recent output.; args=[chars, max_output_tokens, session_id, yield_time_ms]; hash=7fb62d8a3e2df4e2 - function/list_mcp_resources: Lists resources provided by MCP servers. Resources allow servers to share data that provides cont...; args=[cursor, server]; hash=6792edaff13561bd @@ -23,7 +23,7 @@ Settings: - function/read_mcp_resource: Read a specific resource from an MCP server given the server name and resource URI.; args=[server, uri]; hash=24246896b39008ae - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - custom/apply_patch: The `apply_patch` tool can be used to edit files. This is a FREEFORM tool, so do not wrap the pat...; hash=dea9f12b0111a4ba - - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[detail, path]; hash=3b766d5bdec5d50e + - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[path]; hash=1908de9c0be7118a - namespace/mcp__cached_rmcp: Tools in the mcp__cached_rmcp namespace.; hash=fa6836ec918ed91a - function/calendar_list_events - namespace/mcp__codex_apps__calendar: Plan events and manage your calendar.; hash=78fbd295e219be87 @@ -141,7 +141,7 @@ Settings: ## Window 2 (after request 1) Settings: relative to window 1 - tools (11; hash=ab44f83a0745a3ed): + tools (11; hash=4235ff36fba52467): ~ web_search; hash=e214d4db1bc49e89 -- request 2 (turn) -- 00:message/developer: diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__web_search__literature_search_and_open.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__web_search__literature_search_and_open.snap index 45e9cc1a0a..ef2af11bb8 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__web_search__literature_search_and_open.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__web_search__literature_search_and_open.snap @@ -15,12 +15,12 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (7; hash=dba1108606ea8676): + tools (7; hash=0dea9012dd51867e): - function/exec_command: Runs a command in a PTY, returning output or a session ID for ongoing interaction.; args=[cmd, justification, login, max_output_tokens, prefix_rule, sandbox_permissions, shell, tty, workdir, yield_time_ms]; hash=c04108e51a8548c5 - function/write_stdin: Writes characters to an existing unified exec session and returns recent output.; args=[chars, max_output_tokens, session_id, yield_time_ms]; hash=7fb62d8a3e2df4e2 - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - custom/apply_patch: The `apply_patch` tool can be used to edit files. This is a FREEFORM tool, so do not wrap the pat...; hash=dea9f12b0111a4ba - - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[detail, path]; hash=3b766d5bdec5d50e + - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[path]; hash=1908de9c0be7118a - namespace/web: Tools in the web namespace.; hash=c60e4db83b9fd6b0 - function/run - tool_search: # Tool discovery Searches over deferred tool metadata with BM25 and exposes matching tools for t...; args=[limit, query]; hash=b573ed69c0b0e6c7 diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__web_search__model_selected_search_preserves_discovery_and_call_history.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__web_search__model_selected_search_preserves_discovery_and_call_history.snap index 7fca2edd40..b20334b37b 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__web_search__model_selected_search_preserves_discovery_and_call_history.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__web_search__model_selected_search_preserves_discovery_and_call_history.snap @@ -15,7 +15,7 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (9; hash=5429df93e52f82a6): + tools (9; hash=1439533a92960b54): - function/exec_command: Runs a command in a PTY, returning output or a session ID for ongoing interaction.; args=[cmd, justification, login, max_output_tokens, prefix_rule, sandbox_permissions, shell, tty, workdir, yield_time_ms]; hash=c04108e51a8548c5 - function/write_stdin: Writes characters to an existing unified exec session and returns recent output.; args=[chars, max_output_tokens, session_id, yield_time_ms]; hash=7fb62d8a3e2df4e2 - function/list_mcp_resources: Lists resources provided by MCP servers. Resources allow servers to share data that provides cont...; args=[cursor, server]; hash=6792edaff13561bd @@ -23,7 +23,7 @@ Settings: - function/read_mcp_resource: Read a specific resource from an MCP server given the server name and resource URI.; args=[server, uri]; hash=24246896b39008ae - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - custom/apply_patch: The `apply_patch` tool can be used to edit files. This is a FREEFORM tool, so do not wrap the pat...; hash=dea9f12b0111a4ba - - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[detail, path]; hash=3b766d5bdec5d50e + - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[path]; hash=1908de9c0be7118a - tool_search: # Tool discovery Searches over deferred tool metadata with BM25 and exposes matching tools for t...; args=[limit, query]; hash=b573ed69c0b0e6c7 -- request 1 (turn) -- 00:message/developer: @@ -78,7 +78,7 @@ Settings: ## Window 2 (after request 7) Settings: relative to window 1 model: "native-paper" - tools (10; hash=89fc167132311088): + tools (10; hash=29176ecf1284679a): + namespace/web: Tools in the web namespace.; hash=0037b1ed8d50fab5 - function/run -- request 8 (turn) -- diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__world_state_prefix__extension_window_prefix_local.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__world_state_prefix__extension_window_prefix_local.snap index 102fe57c7c..9891cc8f9e 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__world_state_prefix__extension_window_prefix_local.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__world_state_prefix__extension_window_prefix_local.snap @@ -16,8 +16,8 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (turn; Initial policy A) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input @@ -132,8 +132,8 @@ Settings: ## Window 2 (after request 4: input diverged at item 02) Settings: unavailable (items only) -- request 5 (items; Stored replacement before next turn) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input @@ -229,8 +229,8 @@ Settings: unavailable (items only) ## Window 3 (after request 5) Settings: same as window 1 -- request 6 (turn; Unchanged policy C after compaction) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__world_state_prefix__extension_window_prefix_remote.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__world_state_prefix__extension_window_prefix_remote.snap index 5c750ea812..0d8aee46b4 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__world_state_prefix__extension_window_prefix_remote.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__world_state_prefix__extension_window_prefix_remote.snap @@ -16,8 +16,8 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (turn; Initial policy A) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input @@ -123,8 +123,8 @@ Settings: ## Window 2 (after request 4: input diverged at item 02) Settings: unavailable (items only) -- request 5 (items; Stored replacement before next turn) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input @@ -218,8 +218,8 @@ Settings: unavailable (items only) ## Window 3 (after request 5) Settings: same as window 1 -- request 6 (turn; Unchanged policy C after compaction) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): - - namespace/functions; hash=fada4a476a3754dd +00:additional_tools/developer (3; hash=e019c949fc483f83): + - namespace/functions; hash=03340277aa23936f - custom/exec - function/wait - function/request_user_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__skills_extension__cloud_skills_across_executor_readiness.snap b/codex-rs/core/tests/suite/snapshots/all__suite__skills_extension__cloud_skills_across_executor_readiness.snap index 6e80f50f16..0ae08ffca5 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__skills_extension__cloud_skills_across_executor_readiness.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__skills_extension__cloud_skills_across_executor_readiness.snap @@ -15,13 +15,13 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (9; hash=92200068832c7bdc): + tools (9; hash=8e4f89cf37119b4e): - function/exec_command: Runs a command in a PTY, returning output or a session ID for ongoing interaction.; args=[cmd, justification, login, max_output_tokens, prefix_rule, sandbox_permissions, shell, tty, workdir, yield_time_ms]; hash=c04108e51a8548c5 - function/write_stdin: Writes characters to an existing unified exec session and returns recent output.; args=[chars, max_output_tokens, session_id, yield_time_ms]; hash=7fb62d8a3e2df4e2 - function/wait_for_environment: Wait for the selected environment.; args=[environment_id]; hash=aac8552da86b3b20 - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - custom/apply_patch: The `apply_patch` tool can be used to edit files. This is a FREEFORM tool, so do not wrap the pat...; hash=dea9f12b0111a4ba - - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[detail, path]; hash=3b766d5bdec5d50e + - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[path]; hash=1908de9c0be7118a - namespace/skills: Tools in the skills namespace.; hash=998a720eb0f017bc - function/list - function/read diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__skills_extension__cloud_skills_across_executor_readiness_windows.snap b/codex-rs/core/tests/suite/snapshots/all__suite__skills_extension__cloud_skills_across_executor_readiness_windows.snap index a439024029..57c6ebe457 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__skills_extension__cloud_skills_across_executor_readiness_windows.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__skills_extension__cloud_skills_across_executor_readiness_windows.snap @@ -15,13 +15,13 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (9; hash=92200068832c7bdc): + tools (9; hash=8e4f89cf37119b4e): - function/exec_command: Runs a command in a PTY, returning output or a session ID for ongoing interaction.; args=[cmd, justification, login, max_output_tokens, prefix_rule, sandbox_permissions, shell, tty, workdir, yield_time_ms]; hash=c04108e51a8548c5 - function/write_stdin: Writes characters to an existing unified exec session and returns recent output.; args=[chars, max_output_tokens, session_id, yield_time_ms]; hash=7fb62d8a3e2df4e2 - function/wait_for_environment: Wait for the selected environment.; args=[environment_id]; hash=aac8552da86b3b20 - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - custom/apply_patch: The `apply_patch` tool can be used to edit files. This is a FREEFORM tool, so do not wrap the pat...; hash=dea9f12b0111a4ba - - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[detail, path]; hash=3b766d5bdec5d50e + - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[path]; hash=1908de9c0be7118a - namespace/skills: Tools in the skills namespace.; hash=998a720eb0f017bc - function/list - function/read @@ -52,7 +52,7 @@ Settings: ## Window 2 (after request 1) Settings: relative to window 1 - tools (9; hash=92200068832c7bdc): + tools (9; hash=8e4f89cf37119b4e): ~ function/exec_command: Runs a command in a PTY, returning output or a session ID for ongoing interaction.; args=[cmd, justification, login, max_output_tokens, prefix_rule, sandbox_permissions, shell, tty, workdir, yield_time_ms]; hash=c04108e51a8548c5 -- request 2 (turn) -- 00:message/developer: diff --git a/codex-rs/core/tests/suite/truncation.rs b/codex-rs/core/tests/suite/truncation.rs index 1924d8d4ac..836d9b531f 100644 --- a/codex-rs/core/tests/suite/truncation.rs +++ b/codex-rs/core/tests/suite/truncation.rs @@ -585,7 +585,7 @@ async fn mcp_image_output_preserves_image_and_no_text_summary() -> Result<()> { ); assert_eq!( arr[1], - json!({"type": "input_image", "image_url": openai_png, "detail": "high"}) + json!({"type": "input_image", "image_url": openai_png, "detail": "original"}) ); Ok(()) diff --git a/codex-rs/core/tests/suite/view_image.rs b/codex-rs/core/tests/suite/view_image.rs index 8f0c405a7a..12fd03f982 100644 --- a/codex-rs/core/tests/suite/view_image.rs +++ b/codex-rs/core/tests/suite/view_image.rs @@ -232,8 +232,8 @@ async fn assert_user_turn_local_image_resizes_to( }), }; let mut builder = builder.with_config(move |config| { - if image_budget_policy != ImageBudgetPolicy::DetailBased { - let _ = config.features.enable(Feature::UnifiedImageBudget); + if image_budget_policy == ImageBudgetPolicy::DetailBased { + let _ = config.features.disable(Feature::UnifiedImageBudget); } if matches!(resize_notice_expectation, ResizeNoticeExpectation::Enabled) { let _ = config.features.enable(Feature::ImageResizeNotice); @@ -423,6 +423,7 @@ async fn view_image_tool_attaches_local_image() -> anyhow::Result<()> { let server = start_mock_server().await; let mut builder = test_codex().with_config(|config| { let _ = config.features.enable(Feature::ImageResizeNotice); + let _ = config.features.disable(Feature::UnifiedImageBudget); }); let test = builder.build_with_auto_env(&server).await?; let TestCodex { @@ -936,9 +937,7 @@ async fn view_image_unified_budget_hides_detail_but_accepts_legacy_hints() -> an skip_if_no_network!(Ok(())); let server = start_mock_server().await; - let mut builder = test_codex().with_model("gpt-5.5").with_config(|config| { - let _ = config.features.enable(Feature::UnifiedImageBudget); - }); + let mut builder = test_codex().with_model("gpt-5.5"); let test = builder.build_with_auto_env(&server).await?; let rel_path = "assets/unified-example.png"; write_workspace_png( @@ -1012,7 +1011,9 @@ async fn view_image_tool_errors_clearly_for_unsupported_detail_values() -> anyho skip_if_no_network!(Ok(())); let server = start_mock_server().await; - let mut builder = test_codex().with_model("gpt-5.5"); + let mut builder = test_codex().with_model("gpt-5.5").with_config(|config| { + let _ = config.features.disable(Feature::UnifiedImageBudget); + }); let test = builder.build_with_auto_env(&server).await?; let TestCodex { codex, @@ -1090,7 +1091,9 @@ async fn view_image_tool_treats_null_detail_as_omitted() -> anyhow::Result<()> { skip_if_no_network!(Ok(())); let server = start_mock_server().await; - let mut builder = test_codex().with_model("gpt-5.5"); + let mut builder = test_codex().with_model("gpt-5.5").with_config(|config| { + let _ = config.features.disable(Feature::UnifiedImageBudget); + }); let test = builder.build_with_auto_env(&server).await?; let TestCodex { codex, @@ -1196,8 +1199,8 @@ async fn assert_view_image_tool_resizes_without_original_support( let mut builder = test_codex() .with_model("gpt-5.2") .with_config(move |config| { - if image_budget_policy == ImageBudgetPolicy::Unified { - let _ = config.features.enable(Feature::UnifiedImageBudget); + if image_budget_policy == ImageBudgetPolicy::DetailBased { + let _ = config.features.disable(Feature::UnifiedImageBudget); } }); let test = builder.build_with_auto_env(&server).await?; @@ -1293,7 +1296,9 @@ async fn view_image_tool_does_not_force_original_resolution_with_capability_only skip_if_no_network!(Ok(())); let server = start_mock_server().await; - let mut builder = test_codex().with_model("gpt-5.5"); + let mut builder = test_codex().with_model("gpt-5.5").with_config(|config| { + let _ = config.features.disable(Feature::UnifiedImageBudget); + }); let test = builder.build_with_auto_env(&server).await?; let TestCodex { codex, diff --git a/codex-rs/ext/history-notes/tests/image_model_input.rs b/codex-rs/ext/history-notes/tests/image_model_input.rs index 1f3105450b..d63212a516 100644 --- a/codex-rs/ext/history-notes/tests/image_model_input.rs +++ b/codex-rs/ext/history-notes/tests/image_model_input.rs @@ -160,8 +160,8 @@ async fn history_images_reach_the_next_model_request() -> Result<(), Box