mirror of
https://github.com/openai/codex.git
synced 2026-04-29 00:55:38 +00:00
add fast mode toggle (#13212)
- add a local Fast mode setting in codex-core (similar to how model id is currently stored on disk locally) - send `service_tier=priority` on requests when Fast is enabled - add `/fast` in the TUI and persist it locally - feature flag
This commit is contained in:
@@ -16,6 +16,7 @@ use codex_otel::metrics::MetricsConfig;
|
||||
use codex_protocol::ThreadId;
|
||||
use codex_protocol::account::PlanType;
|
||||
use codex_protocol::config_types::ReasoningSummary;
|
||||
use codex_protocol::config_types::ServiceTier;
|
||||
use codex_protocol::models::BaseInstructions;
|
||||
use codex_protocol::models::ContentItem;
|
||||
use codex_protocol::models::ResponseItem;
|
||||
@@ -140,6 +141,7 @@ async fn responses_websocket_request_prewarm_reuses_connection() {
|
||||
harness.effort,
|
||||
harness.summary,
|
||||
None,
|
||||
None,
|
||||
)
|
||||
.await
|
||||
.expect("websocket prewarm failed");
|
||||
@@ -220,6 +222,7 @@ async fn responses_websocket_preconnect_is_reused_even_with_header_changes() {
|
||||
harness.effort,
|
||||
harness.summary,
|
||||
None,
|
||||
None,
|
||||
)
|
||||
.await
|
||||
.expect("websocket stream failed");
|
||||
@@ -257,6 +260,7 @@ async fn responses_websocket_request_prewarm_is_reused_even_with_header_changes(
|
||||
harness.effort,
|
||||
harness.summary,
|
||||
None,
|
||||
None,
|
||||
)
|
||||
.await
|
||||
.expect("websocket prewarm failed");
|
||||
@@ -268,6 +272,7 @@ async fn responses_websocket_request_prewarm_is_reused_even_with_header_changes(
|
||||
harness.effort,
|
||||
harness.summary,
|
||||
None,
|
||||
None,
|
||||
)
|
||||
.await
|
||||
.expect("websocket stream failed");
|
||||
@@ -320,6 +325,7 @@ async fn responses_websocket_prewarm_uses_v2_when_model_prefers_websockets_and_f
|
||||
harness.effort,
|
||||
harness.summary,
|
||||
None,
|
||||
None,
|
||||
)
|
||||
.await
|
||||
.expect("websocket prewarm failed");
|
||||
@@ -693,6 +699,7 @@ async fn responses_websocket_emits_reasoning_included_event() {
|
||||
harness.effort,
|
||||
harness.summary,
|
||||
None,
|
||||
None,
|
||||
)
|
||||
.await
|
||||
.expect("websocket stream failed");
|
||||
@@ -764,6 +771,7 @@ async fn responses_websocket_emits_rate_limit_events() {
|
||||
harness.effort,
|
||||
harness.summary,
|
||||
None,
|
||||
None,
|
||||
)
|
||||
.await
|
||||
.expect("websocket stream failed");
|
||||
@@ -1054,6 +1062,7 @@ async fn responses_websocket_forwards_turn_metadata_on_create_and_append() {
|
||||
&mut client_session,
|
||||
&harness,
|
||||
&prompt_one,
|
||||
None,
|
||||
Some(first_turn_metadata),
|
||||
)
|
||||
.await;
|
||||
@@ -1061,6 +1070,7 @@ async fn responses_websocket_forwards_turn_metadata_on_create_and_append() {
|
||||
&mut client_session,
|
||||
&harness,
|
||||
&prompt_two,
|
||||
None,
|
||||
Some(enriched_turn_metadata),
|
||||
)
|
||||
.await;
|
||||
@@ -1324,6 +1334,7 @@ async fn responses_websocket_v2_after_error_uses_full_create_without_previous_re
|
||||
harness.effort,
|
||||
harness.summary,
|
||||
None,
|
||||
None,
|
||||
)
|
||||
.await
|
||||
.expect("websocket stream failed");
|
||||
@@ -1555,13 +1566,24 @@ async fn stream_until_complete(
|
||||
harness: &WebsocketTestHarness,
|
||||
prompt: &Prompt,
|
||||
) {
|
||||
stream_until_complete_with_turn_metadata(client_session, harness, prompt, None).await;
|
||||
stream_until_complete_with_service_tier(client_session, harness, prompt, None).await;
|
||||
}
|
||||
|
||||
async fn stream_until_complete_with_service_tier(
|
||||
client_session: &mut ModelClientSession,
|
||||
harness: &WebsocketTestHarness,
|
||||
prompt: &Prompt,
|
||||
service_tier: Option<ServiceTier>,
|
||||
) {
|
||||
stream_until_complete_with_turn_metadata(client_session, harness, prompt, service_tier, None)
|
||||
.await;
|
||||
}
|
||||
|
||||
async fn stream_until_complete_with_turn_metadata(
|
||||
client_session: &mut ModelClientSession,
|
||||
harness: &WebsocketTestHarness,
|
||||
prompt: &Prompt,
|
||||
service_tier: Option<ServiceTier>,
|
||||
turn_metadata_header: Option<&str>,
|
||||
) {
|
||||
let mut stream = client_session
|
||||
@@ -1571,6 +1593,7 @@ async fn stream_until_complete_with_turn_metadata(
|
||||
&harness.otel_manager,
|
||||
harness.effort,
|
||||
harness.summary,
|
||||
service_tier,
|
||||
turn_metadata_header,
|
||||
)
|
||||
.await
|
||||
|
||||
Reference in New Issue
Block a user