feat(usage): support output_config effort badge source

- extract reasoning effort from provider request body output_config.effort
- include output_config.effort in usage list fallback SQL
- cover the new request body shape in usage metadata tests
This commit is contained in:
AAEE86
2026-05-28 16:14:37 +08:00
parent bb2fc2ec00
commit 60e3ffc402
3 changed files with 22 additions and 5 deletions
@@ -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,
@@ -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,