mirror of
https://github.com/fawney19/Aether.git
synced 2026-10-08 02:17:46 +08:00
fix(codex): fence concurrent quota updates
This commit is contained in:
@@ -2,7 +2,10 @@ use std::collections::BTreeMap;
|
||||
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{ExecutionError, ExecutionStreamTerminalSummary, ExecutionTelemetry};
|
||||
use crate::{
|
||||
ExecutionError, ExecutionResponseObservation, ExecutionStreamTerminalSummary,
|
||||
ExecutionTelemetry,
|
||||
};
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
@@ -21,6 +24,8 @@ pub enum StreamFramePayload {
|
||||
status_code: u16,
|
||||
#[serde(default)]
|
||||
headers: BTreeMap<String, String>,
|
||||
#[serde(default, skip_serializing_if = "Option::is_none")]
|
||||
response_observation: Option<ExecutionResponseObservation>,
|
||||
},
|
||||
Data {
|
||||
#[serde(default, skip_serializing_if = "Option::is_none")]
|
||||
|
||||
@@ -19,7 +19,7 @@ pub use plan::{
|
||||
TRANSPORT_HTTP_MODE_H2C_PRIOR_KNOWLEDGE, TRANSPORT_HTTP_MODE_HTTP1_ONLY,
|
||||
TRANSPORT_POOL_SCOPE_KEY,
|
||||
};
|
||||
pub use result::{ExecutionResult, ExecutionTelemetry, ResponseBody};
|
||||
pub use result::{ExecutionResponseObservation, ExecutionResult, ExecutionTelemetry, ResponseBody};
|
||||
pub use usage::{
|
||||
ExecutionStreamTerminalSummary, StandardizedUsage, USAGE_SERVER_NOW_UNIX_MS_HEADER,
|
||||
};
|
||||
|
||||
@@ -5,6 +5,13 @@ use serde_json::Value;
|
||||
|
||||
use crate::ExecutionError;
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
|
||||
pub struct ExecutionResponseObservation {
|
||||
pub request_started_at_unix_ms: u64,
|
||||
pub response_headers_observed_at_unix_ms: u64,
|
||||
pub request_order_id: String,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
|
||||
pub struct ExecutionTelemetry {
|
||||
#[serde(default, skip_serializing_if = "Option::is_none")]
|
||||
@@ -32,6 +39,8 @@ pub struct ExecutionResult {
|
||||
#[serde(default)]
|
||||
pub headers: BTreeMap<String, String>,
|
||||
#[serde(default, skip_serializing_if = "Option::is_none")]
|
||||
pub response_observation: Option<ExecutionResponseObservation>,
|
||||
#[serde(default, skip_serializing_if = "Option::is_none")]
|
||||
pub body: Option<ResponseBody>,
|
||||
#[serde(default, skip_serializing_if = "Option::is_none")]
|
||||
pub telemetry: Option<ExecutionTelemetry>,
|
||||
|
||||
Reference in New Issue
Block a user