mirror of
https://github.com/openai/codex.git
synced 2026-08-23 13:09:46 +00:00
Keep async user messages on the direct tool surface (#39601)
## What changed - Register `send_user_message_async` as `DirectModelOnly` so supported models can call it directly without exposing it through code mode. - Exercise the async message flow with a code-mode-only model configuration and verify that the tool remains directly visible. GitOrigin-RevId: ce22d5f63471ce90ac55ae2f3d0048f6cda57e01
This commit is contained in:
@@ -1069,7 +1069,7 @@ fn add_core_utility_tools(context: &CoreToolPlanContext<'_>, registry: &mut Tool
|
||||
.iter()
|
||||
.any(|tool| tool == "send_user_message_async")
|
||||
{
|
||||
registry.add(SendUserMessageAsyncHandler);
|
||||
registry.add_with_exposure(SendUserMessageAsyncHandler, ToolExposure::DirectModelOnly);
|
||||
}
|
||||
|
||||
if environment_mode.has_environment() && features.enabled(Feature::RequestPermissionsTool) {
|
||||
|
||||
@@ -5,6 +5,7 @@ use codex_protocol::items::AgentMessageDelivery;
|
||||
use codex_protocol::items::AgentMessageItem;
|
||||
use codex_protocol::items::TurnItem;
|
||||
use codex_protocol::models::MessagePhase;
|
||||
use codex_protocol::openai_models::ToolMode;
|
||||
use codex_protocol::protocol::EventMsg;
|
||||
use codex_protocol::user_input::UserInput;
|
||||
use core_test_support::responses::ev_assistant_message;
|
||||
@@ -52,6 +53,7 @@ async fn send_user_message_async_emits_item_and_does_not_end_the_turn() -> Resul
|
||||
.await;
|
||||
let test = test_codex()
|
||||
.with_model_info_override("gpt-5.2", |model| {
|
||||
model.tool_mode = Some(ToolMode::CodeModeOnly);
|
||||
model
|
||||
.experimental_supported_tools
|
||||
.push("send_user_message_async".to_string());
|
||||
|
||||
Reference in New Issue
Block a user