mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-12 14:10:19 +08:00
Merge pull request #594 from AAEE86/main
feat(usage): support output_config effort badge source
This commit is contained in:
@@ -17,6 +17,13 @@ pub fn extract_provider_reasoning_effort_from_body(value: Option<&Value>) -> Opt
|
||||
.and_then(|reasoning| reasoning.get("effort"))
|
||||
.and_then(Value::as_str)
|
||||
})
|
||||
.or_else(|| {
|
||||
object
|
||||
.get("output_config")
|
||||
.and_then(Value::as_object)
|
||||
.and_then(|output_config| output_config.get("effort"))
|
||||
.and_then(Value::as_str)
|
||||
})
|
||||
.and_then(normalize_provider_reasoning_effort)
|
||||
}
|
||||
|
||||
@@ -2437,13 +2444,19 @@ mod tests {
|
||||
|
||||
usage.request_metadata = None;
|
||||
usage.provider_request_body = Some(json!({
|
||||
"reasoning_effort": "High",
|
||||
"output_config": { "effort": "High" },
|
||||
"service_tier": "priority"
|
||||
}));
|
||||
|
||||
assert_eq!(usage.provider_reasoning_effort().as_deref(), Some("high"));
|
||||
assert_eq!(usage.provider_service_tier().as_deref(), Some("priority"));
|
||||
|
||||
usage.provider_request_body = Some(json!({
|
||||
"reasoning_effort": "medium"
|
||||
}));
|
||||
|
||||
assert_eq!(usage.provider_reasoning_effort().as_deref(), Some("medium"));
|
||||
|
||||
usage.request_metadata = Some(json!({
|
||||
"provider_reasoning_effort": "max",
|
||||
"provider_service_tier": "standard"
|
||||
|
||||
+4
-2
@@ -117,7 +117,8 @@ SELECT
|
||||
OR CASE
|
||||
WHEN jsonb_typeof("usage".provider_request_body::jsonb) = 'object' THEN COALESCE(
|
||||
NULLIF(BTRIM("usage".provider_request_body->>'reasoning_effort'), ''),
|
||||
NULLIF(BTRIM("usage".provider_request_body->'reasoning'->>'effort'), '')
|
||||
NULLIF(BTRIM("usage".provider_request_body->'reasoning'->>'effort'), ''),
|
||||
NULLIF(BTRIM("usage".provider_request_body->'output_config'->>'effort'), '')
|
||||
)
|
||||
ELSE NULLIF(BTRIM("usage".request_metadata->>'provider_reasoning_effort'), '')
|
||||
END IS NOT NULL
|
||||
@@ -140,7 +141,8 @@ SELECT
|
||||
CASE
|
||||
WHEN jsonb_typeof("usage".provider_request_body::jsonb) = 'object' THEN COALESCE(
|
||||
NULLIF(BTRIM("usage".provider_request_body->>'reasoning_effort'), ''),
|
||||
NULLIF(BTRIM("usage".provider_request_body->'reasoning'->>'effort'), '')
|
||||
NULLIF(BTRIM("usage".provider_request_body->'reasoning'->>'effort'), ''),
|
||||
NULLIF(BTRIM("usage".provider_request_body->'output_config'->>'effort'), '')
|
||||
)
|
||||
ELSE NULLIF(BTRIM("usage".request_metadata->>'provider_reasoning_effort'), '')
|
||||
END,
|
||||
|
||||
+4
-2
@@ -117,7 +117,8 @@ SELECT
|
||||
OR CASE
|
||||
WHEN jsonb_typeof("usage".provider_request_body::jsonb) = 'object' THEN COALESCE(
|
||||
NULLIF(BTRIM("usage".provider_request_body->>'reasoning_effort'), ''),
|
||||
NULLIF(BTRIM("usage".provider_request_body->'reasoning'->>'effort'), '')
|
||||
NULLIF(BTRIM("usage".provider_request_body->'reasoning'->>'effort'), ''),
|
||||
NULLIF(BTRIM("usage".provider_request_body->'output_config'->>'effort'), '')
|
||||
)
|
||||
ELSE NULLIF(BTRIM("usage".request_metadata->>'provider_reasoning_effort'), '')
|
||||
END IS NOT NULL
|
||||
@@ -140,7 +141,8 @@ SELECT
|
||||
CASE
|
||||
WHEN jsonb_typeof("usage".provider_request_body::jsonb) = 'object' THEN COALESCE(
|
||||
NULLIF(BTRIM("usage".provider_request_body->>'reasoning_effort'), ''),
|
||||
NULLIF(BTRIM("usage".provider_request_body->'reasoning'->>'effort'), '')
|
||||
NULLIF(BTRIM("usage".provider_request_body->'reasoning'->>'effort'), ''),
|
||||
NULLIF(BTRIM("usage".provider_request_body->'output_config'->>'effort'), '')
|
||||
)
|
||||
ELSE NULLIF(BTRIM("usage".request_metadata->>'provider_reasoning_effort'), '')
|
||||
END,
|
||||
|
||||
Reference in New Issue
Block a user