mirror of
https://github.com/openai/codex.git
synced 2026-05-01 03:42:05 +03:00
This PR adds a dedicated `turn/steer` API for appending user input to an in-flight turn. ## Motivation Currently, steering in the app is implemented by just calling `turn/start` while a turn is running. This has some really weird quirks: - Client gets back a new `turn.id`, even though streamed events/approvals remained tied to the original active turn ID. - All the various turn-level override params on `turn/start` do not apply to the "steer", and would only apply to the next real turn. - There can also be a race condition where the client thinks the turn is active but the server has already completed it, so there might be bugs if the client has baked in some client-specific behavior thinking it's a steer when in fact the server kicked off a new turn. This is particularly possible when running a client against a remote app-server. Having a dedicated `turn/steer` API eliminates all those quirks. `turn/steer` behavior: - Requires an active turn on threadId. Returns a JSON-RPC error if there is no active turn. - If expectedTurnId is provided, it must match the active turn (more useful when connecting to a remote app-server). - Does not emit `turn/started`. - Does not accept turn overrides (`cwd`, `model`, `sandbox`, etc.) or `outputSchema` to accurately reflect that these are not applied when steering.
30 lines
556 B
Rust
30 lines
556 B
Rust
mod account;
|
|
mod analytics;
|
|
mod app_list;
|
|
mod collaboration_mode_list;
|
|
mod compaction;
|
|
mod config_rpc;
|
|
mod connection_handling_websocket;
|
|
mod dynamic_tools;
|
|
mod experimental_api;
|
|
mod experimental_feature_list;
|
|
mod initialize;
|
|
mod model_list;
|
|
mod output_schema;
|
|
mod plan_item;
|
|
mod rate_limits;
|
|
mod request_user_input;
|
|
mod review;
|
|
mod thread_archive;
|
|
mod thread_fork;
|
|
mod thread_list;
|
|
mod thread_loaded_list;
|
|
mod thread_read;
|
|
mod thread_resume;
|
|
mod thread_rollback;
|
|
mod thread_start;
|
|
mod thread_unarchive;
|
|
mod turn_interrupt;
|
|
mod turn_start;
|
|
mod turn_steer;
|