feat: drop wire_api from clients (#10498)

This commit is contained in:
jif-oai
2026-02-03 12:43:09 +00:00
committed by GitHub
parent d2394a2494
commit 88598b9402
10 changed files with 19 additions and 85 deletions

View File

@@ -3,7 +3,6 @@ use crate::auth::add_auth_headers;
use crate::common::CompactionInput;
use crate::error::ApiError;
use crate::provider::Provider;
use crate::provider::WireApi;
use crate::telemetry::run_with_request_telemetry;
use codex_client::HttpTransport;
use codex_client::RequestTelemetry;
@@ -37,9 +36,7 @@ impl<T: HttpTransport, A: AuthProvider> CompactClient<T, A> {
}
fn path(&self) -> &'static str {
match self.provider.wire {
WireApi::Compact | WireApi::Responses => "responses/compact",
}
"responses/compact"
}
pub async fn compact(
@@ -118,12 +115,11 @@ mod tests {
}
}
fn provider(wire: WireApi) -> Provider {
fn provider() -> Provider {
Provider {
name: "test".to_string(),
base_url: "https://example.com/v1".to_string(),
query_params: None,
wire,
headers: HeaderMap::new(),
retry: RetryConfig {
max_attempts: 1,
@@ -137,13 +133,8 @@ mod tests {
}
#[test]
fn path_is_responses_compact_for_supported_wire_apis() {
let responses_client =
CompactClient::new(DummyTransport, provider(WireApi::Responses), DummyAuth);
assert_eq!(responses_client.path(), "responses/compact");
let compact_client =
CompactClient::new(DummyTransport, provider(WireApi::Compact), DummyAuth);
assert_eq!(compact_client.path(), "responses/compact");
fn path_is_responses_compact() {
let client = CompactClient::new(DummyTransport, provider(), DummyAuth);
assert_eq!(client.path(), "responses/compact");
}
}

View File

@@ -83,7 +83,6 @@ impl<T: HttpTransport, A: AuthProvider> ModelsClient<T, A> {
mod tests {
use super::*;
use crate::provider::RetryConfig;
use crate::provider::WireApi;
use async_trait::async_trait;
use codex_client::Request;
use codex_client::Response;
@@ -149,7 +148,6 @@ mod tests {
name: "test".to_string(),
base_url: base_url.to_string(),
query_params: None,
wire: WireApi::Responses,
headers: HeaderMap::new(),
retry: RetryConfig {
max_attempts: 1,

View File

@@ -6,7 +6,6 @@ use crate::common::TextControls;
use crate::endpoint::streaming::StreamingClient;
use crate::error::ApiError;
use crate::provider::Provider;
use crate::provider::WireApi;
use crate::requests::ResponsesRequest;
use crate::requests::ResponsesRequestBuilder;
use crate::requests::responses::Compression;
@@ -109,9 +108,7 @@ impl<T: HttpTransport, A: AuthProvider> ResponsesClient<T, A> {
}
fn path(&self) -> &'static str {
match self.streaming.provider().wire {
WireApi::Responses | WireApi::Compact => "responses",
}
"responses"
}
pub async fn stream(

View File

@@ -31,7 +31,6 @@ pub use crate::endpoint::responses_websocket::ResponsesWebsocketClient;
pub use crate::endpoint::responses_websocket::ResponsesWebsocketConnection;
pub use crate::error::ApiError;
pub use crate::provider::Provider;
pub use crate::provider::WireApi;
pub use crate::provider::is_azure_responses_wire_base_url;
pub use crate::requests::ResponsesRequest;
pub use crate::requests::ResponsesRequestBuilder;

View File

@@ -8,13 +8,6 @@ use std::collections::HashMap;
use std::time::Duration;
use url::Url;
/// Wire-level APIs supported by a `Provider`.
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum WireApi {
Responses,
Compact,
}
/// High-level retry configuration for a provider.
///
/// This is converted into a `RetryPolicy` used by `codex-client` to drive
@@ -51,7 +44,6 @@ pub struct Provider {
pub name: String,
pub base_url: String,
pub query_params: Option<HashMap<String, String>>,
pub wire: WireApi,
pub headers: HeaderMap,
pub retry: RetryConfig,
pub stream_idle_timeout: Duration,
@@ -94,7 +86,7 @@ impl Provider {
}
pub fn is_azure_responses_endpoint(&self) -> bool {
is_azure_responses_wire_base_url(self.wire.clone(), &self.name, Some(&self.base_url))
is_azure_responses_wire_base_url(&self.name, Some(&self.base_url))
}
pub fn websocket_url_for_path(&self, path: &str) -> Result<Url, url::ParseError> {
@@ -111,11 +103,7 @@ impl Provider {
}
}
pub fn is_azure_responses_wire_base_url(wire: WireApi, name: &str, base_url: Option<&str>) -> bool {
if wire != WireApi::Responses {
return false;
}
pub fn is_azure_responses_wire_base_url(name: &str, base_url: Option<&str>) -> bool {
if name.eq_ignore_ascii_case("azure") {
return true;
}
@@ -156,13 +144,12 @@ mod tests {
for base_url in positive_cases {
assert!(
is_azure_responses_wire_base_url(WireApi::Responses, "test", Some(base_url)),
is_azure_responses_wire_base_url("test", Some(base_url)),
"expected {base_url} to be detected as Azure"
);
}
assert!(is_azure_responses_wire_base_url(
WireApi::Responses,
"Azure",
Some("https://example.com")
));
@@ -175,15 +162,9 @@ mod tests {
for base_url in negative_cases {
assert!(
!is_azure_responses_wire_base_url(WireApi::Responses, "test", Some(base_url)),
!is_azure_responses_wire_base_url("test", Some(base_url)),
"expected {base_url} not to be detected as Azure"
);
}
assert!(!is_azure_responses_wire_base_url(
WireApi::Compact,
"Azure",
Some("https://foo.openai.azure.com/openai")
));
}
}

View File

@@ -191,7 +191,6 @@ fn attach_item_ids(payload_json: &mut Value, original_items: &[ResponseItem]) {
mod tests {
use super::*;
use crate::provider::RetryConfig;
use crate::provider::WireApi;
use codex_protocol::protocol::SubAgentSource;
use http::HeaderValue;
use pretty_assertions::assert_eq;
@@ -202,7 +201,6 @@ mod tests {
name: name.to_string(),
base_url: base_url.to_string(),
query_params: None,
wire: WireApi::Responses,
headers: HeaderMap::new(),
retry: RetryConfig {
max_attempts: 1,