mirror of
https://github.com/fawney19/Aether.git
synced 2026-10-06 17:37:47 +08:00
feat: expose upstream response model in usage records
This commit is contained in:
@@ -17,9 +17,10 @@ use crate::body_capture::{
|
||||
};
|
||||
use crate::request_metadata::{
|
||||
attach_client_request_body_metadata, attach_provider_actual_service_tier_metadata,
|
||||
attach_provider_request_body_metadata, build_usage_request_metadata_seed,
|
||||
merge_usage_request_metadata, merge_usage_request_metadata_owned,
|
||||
refresh_provider_response_body_metadata, sanitize_usage_request_metadata,
|
||||
attach_provider_request_body_metadata, attach_provider_response_model_metadata,
|
||||
build_usage_request_metadata_seed, merge_usage_request_metadata,
|
||||
merge_usage_request_metadata_owned, refresh_provider_response_body_metadata,
|
||||
refresh_provider_response_model_metadata, sanitize_usage_request_metadata,
|
||||
sanitize_usage_request_metadata_ref,
|
||||
};
|
||||
use crate::{
|
||||
@@ -724,6 +725,13 @@ fn build_terminal_usage_event_from_seed_impl(
|
||||
Some(model.as_str()),
|
||||
provider_request.as_ref(),
|
||||
);
|
||||
let request_metadata = attach_provider_response_model_metadata(
|
||||
request_metadata,
|
||||
request_body.as_ref(),
|
||||
body_states.request_body_state,
|
||||
provider_response.as_ref(),
|
||||
body_states.response_body_state,
|
||||
);
|
||||
|
||||
let mut data = UsageEventData {
|
||||
user_id,
|
||||
@@ -1047,6 +1055,13 @@ pub fn build_sync_terminal_usage_seed(
|
||||
context_seed.request_metadata,
|
||||
provider_response_full.as_ref(),
|
||||
);
|
||||
let request_metadata = refresh_provider_response_model_metadata(
|
||||
request_metadata,
|
||||
context_seed.request_body.as_ref(),
|
||||
context_seed.body_states.request_body_state,
|
||||
provider_response_full.as_ref(),
|
||||
provider_response_body_state,
|
||||
);
|
||||
|
||||
TerminalUsageSeed {
|
||||
terminal_state,
|
||||
@@ -1225,6 +1240,13 @@ pub fn build_stream_terminal_usage_seed(
|
||||
context_seed.request_metadata,
|
||||
provider_response_full.as_ref(),
|
||||
);
|
||||
let request_metadata = refresh_provider_response_model_metadata(
|
||||
request_metadata,
|
||||
context_seed.request_body.as_ref(),
|
||||
context_seed.body_states.request_body_state,
|
||||
provider_response_full.as_ref(),
|
||||
provider_response_body_state,
|
||||
);
|
||||
// The parser's terminal summary is authoritative when a response body is truncated or the
|
||||
// body and summary disagree; attach it after the body refresh so it wins.
|
||||
let request_metadata = attach_provider_actual_service_tier_metadata(
|
||||
|
||||
Reference in New Issue
Block a user