From 0a944f8ce2b46f27890d5aa1c2b44917211b1fb8 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Wed, 4 Nov 2026 00:59:01 +0000 Subject: [PATCH] Enable unified image budgeting by default (#59282) ## What changed Mark `unified_image_budget` stable and enable it by default. Supported models now use unified image preparation with `original` detail, and `view_image` omits the `detail` parameter from its advertised schema. ## Testing Update image input, MCP output, history replay, and tool schema expectations for the new default. Keep explicit coverage of the disabled feature and models that do not support original image detail. GitOrigin-RevId: 2d6fc8019149fcf18b5813db2d2082ba95de2241 --- .../app-server/tests/suite/v2/turn_start.rs | 4 +-- ...ardian_followup_review_request_layout.snap | 4 +-- ...tests__guardian_review_request_layout.snap | 4 +-- codex-rs/core/tests/suite/code_mode.rs | 15 ++++------ codex-rs/core/tests/suite/image_rollout.rs | 15 +++++----- codex-rs/core/tests/suite/rmcp_client.rs | 6 ++-- ...catalog_plugin_recommendations_absent.snap | 4 +-- ..._catalog_plugin_recommendations_blank.snap | 4 +-- ...catalog_plugin_recommendations_custom.snap | 4 +-- ...talog_plugin_recommendations_disabled.snap | 4 +-- ..._catalog_plugin_recommendations_empty.snap | 4 +-- ...__catalog_plugin_recommendations_null.snap | 4 +-- ...alog_plugin_recommendations_oversized.snap | 4 +-- ...gent_eviction__idle_eviction_followup.snap | 8 +++--- ...mote__remote_board_permissions_direct.snap | 4 +-- ...arios__app_tool_exposure_CodeModeOnly.snap | 4 +-- ...s__astra_active_environment_selection.snap | 4 +-- ...tra_async_compaction_with_live_suffix.snap | 12 ++++---- ...rios__astra_async_question_and_answer.snap | 4 +-- ...cenarios__astra_code_mode_call_timing.snap | 4 +-- ...arios__astra_disabled_executor_skills.snap | 4 +-- ..._astra_executor_plugin_policy_refresh.snap | 4 +-- ...rios__astra_input_interrupts_response.snap | 4 +-- ...os__astra_input_yields_code_mode_cell.snap | 4 +-- ...tra_kickoff_remote_compaction_windows.snap | 8 +++--- ...a_plugin_policy_limits_visible_skills.snap | 4 +-- ...gin_policy_without_skill_descriptions.snap | 4 +-- ...efresh_simplified_selection_hints_off.snap | 4 +-- ...refresh_simplified_selection_hints_on.snap | 4 +-- ...ra_settings_release_check_tool_shapes.snap | 4 +-- ..._host_budget_context_after_compaction.snap | 8 +++--- ...nce_follows_model_and_survives_resume.snap | 6 ++-- ..._omission_bounds_runtime_capabilities.snap | 4 +-- ...n_wording_apps_false_simplified_false.snap | 4 +-- ...in_wording_apps_true_simplified_false.snap | 4 +-- ...gin_wording_apps_true_simplified_true.snap | 4 +-- ...etion_wakes_parent_after_final_answer.snap | 8 +++--- ...scenarios__code_mode_catalog_messages.snap | 4 +-- ...e_mode_catalog_messages_ranked_search.snap | 4 +-- ...cenarios__code_mode_mcp_schema_limits.snap | 4 +-- ...ed_helpers__code_mode_settled_helpers.snap | 4 +-- ...ios__compaction__remote_slash_compact.snap | 12 ++++---- ...ol_definitions_follow_captured_models.snap | 6 ++-- ...ves_pending_calls_and_survives_resume.snap | 8 +++--- ...s_with_named_executor_request_history.snap | 4 +-- ...animation_and_replays_a_still_preview.snap | 14 ++++++---- ...ypted_native_history_custom_namespace.snap | 8 +++--- ...pted_native_history_default_namespace.snap | 8 +++--- ...survives_incremental_guardian_reviews.snap | 8 +++--- ...narios__guardian_checkpoint_migration.snap | 28 +++++++++---------- ...enarios__guardian_code_mode_messaging.snap | 8 +++--- ...n_direct_review__guardian_direct_exec.snap | 4 +-- ...ct_review__guardian_direct_exec_patch.snap | 8 +++--- ..._direct_review__guardian_direct_patch.snap | 8 +++--- ...t_review__guardian_direct_permissions.snap | 8 +++--- ..._guardian_direct_pre_tool_use_rewrite.snap | 4 +-- ..._extra_policy_reaches_guardian_review.snap | 8 +++--- ..._handoff__guardian_handoff_delegation.snap | 4 +-- ...f__guardian_handoff_delegation_native.snap | 4 +-- ...itions_keep_later_human_authorization.snap | 4 +-- ...tion__guardian_denial_reconsideration.snap | 8 +++--- ...er_context__cross_host_sender_context.snap | 8 +++--- ...ntal_tools__incremental_tool_removals.snap | 4 +-- ..._incremental_tools__incremental_tools.snap | 12 ++++---- ...s__incremental_tools_catalog_messages.snap | 4 +-- ...ools__incremental_tools_responses_api.snap | 8 +++--- ...mental_tools_suppressed_announcements.snap | 12 ++++---- ...ools__prediction_fork_inherited_tools.snap | 8 +++--- ...ols_resume__disable_incremental_tools.snap | 8 +++--- ...sume__legacy_resume_remote_compaction.snap | 8 +++--- ...ls_resume__legacy_resume_window_reset.snap | 8 +++--- ...__catalog_indirect_namespace_prefixes.snap | 14 +++++----- ...ailure_preserves_ordinary_mcp_history.snap | 4 +-- ..._preserves_history_and_ordinary_tools.snap | 6 ++-- ...ource_messages__mcp_resource_messages.snap | 4 +-- ...ls_and_model_requested_input_per_chat.snap | 6 ++-- ...rios__mcp_tool_discovery_CodeModeOnly.snap | 8 +++--- ..._scenarios__mcp_tool_discovery_Direct.snap | 6 ++-- ...arios__multi_agent_catalog_parameters.snap | 4 +-- ...rios__multi_agent_native_tools_hidden.snap | 4 +-- ...artial_answers__preserved_answer_fork.snap | 8 +++--- ...ediction_fork_inherits_parent_context.snap | 8 +++--- ...es_context_above_compaction_threshold.snap | 4 +-- ...ilities__custom_provider_capabilities.snap | 4 +-- ...tained_tool_output_retention_disabled.snap | 12 ++++---- ...output_survives_compaction_and_resume.snap | 8 +++--- ...catalog_dedup__dedup_before_budgeting.snap | 4 +-- ...log_dedup__dedup_without_descriptions.snap | 4 +-- ...l_catalog_dedup__skill_catalog_deltas.snap | 16 +++++------ ...installation_recovery_request_history.snap | 4 +-- ...ite__scenarios__subagent_browser_auth.snap | 4 +-- ...e_rechecked_without_rewriting_history.snap | 8 +++--- ...s__unshared_apps_catalog_across_turns.snap | 6 ++-- ...eb_search__literature_search_and_open.snap | 4 +-- ..._preserves_discovery_and_call_history.snap | 6 ++-- ...prefix__extension_window_prefix_local.snap | 12 ++++---- ...refix__extension_window_prefix_remote.snap | 12 ++++---- ...loud_skills_across_executor_readiness.snap | 4 +-- ...lls_across_executor_readiness_windows.snap | 6 ++-- codex-rs/core/tests/suite/truncation.rs | 2 +- codex-rs/core/tests/suite/view_image.rs | 25 ++++++++++------- .../history-notes/tests/image_model_input.rs | 4 +-- ...y_images_reach_the_next_model_request.snap | 4 +-- ...suite__transfers__multi_env_copy_file.snap | 4 +-- codex-rs/features/src/lib.rs | 4 +-- 105 files changed, 349 insertions(+), 342 deletions(-) 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