gproxy_protocol/transform/claude/model_list/openai/
utils.rs1use http::StatusCode;
2use time::OffsetDateTime;
3
4use crate::claude::types::{BetaErrorResponse, BetaModelInfo, BetaModelType};
5use crate::openai::types::{OpenAiApiErrorResponse, OpenAiModel};
6use crate::transform::claude::utils::beta_error_response_from_status_message;
7
8pub fn beta_model_info_from_openai_model(model: OpenAiModel) -> BetaModelInfo {
9 let id = model.id;
10 BetaModelInfo {
11 id: id.clone(),
12 created_at: OffsetDateTime::from_unix_timestamp(model.created as i64)
13 .unwrap_or(OffsetDateTime::UNIX_EPOCH),
14 display_name: id,
15 max_input_tokens: None,
16 max_tokens: None,
17 capabilities: None,
18 type_: BetaModelType::Model,
19 }
20}
21
22pub fn beta_error_response_from_openai(
23 status_code: StatusCode,
24 body: OpenAiApiErrorResponse,
25) -> BetaErrorResponse {
26 beta_error_response_from_status_message(status_code, body.error.message)
27}