refactor(providers): define typed usage contract

This commit is contained in:
chengyongru
2026-08-25 01:04:25 +08:00
committed by chengyongru
parent 89c94d8744
commit 9895c23cb5
84 changed files with 1643 additions and 726 deletions
+16 -10
View File
@@ -712,26 +712,32 @@ export interface SettingsPayload {
usage?: {
days: Array<{
date: string;
prompt_tokens: number;
completion_tokens: number;
cached_tokens: number;
input_tokens: number;
output_tokens: number;
cache_read_tokens: number;
cache_write_tokens: number;
cache_read_observed_input_tokens: number;
cache_write_observed_input_tokens: number;
total_tokens: number;
provider_tokens?: number;
reported_tokens?: number;
estimated_tokens?: number;
requests: number;
provider_requests?: number;
reported_requests?: number;
estimated_requests?: number;
sources?: Record<
"user" | "api" | "cron" | "dream" | "system" | string,
{
prompt_tokens: number;
completion_tokens: number;
cached_tokens: number;
input_tokens: number;
output_tokens: number;
cache_read_tokens: number;
cache_write_tokens: number;
cache_read_observed_input_tokens: number;
cache_write_observed_input_tokens: number;
total_tokens: number;
provider_tokens?: number;
reported_tokens?: number;
estimated_tokens?: number;
requests: number;
provider_requests?: number;
reported_requests?: number;
estimated_requests?: number;
}
>;
+12 -6
View File
@@ -111,9 +111,12 @@ describe("Settings overview and appearance", () => {
days: [
{
date: "2026-06-03",
prompt_tokens: 1200,
completion_tokens: 300,
cached_tokens: 500,
input_tokens: 1200,
output_tokens: 300,
cache_read_tokens: 500,
cache_write_tokens: 0,
cache_read_observed_input_tokens: 1200,
cache_write_observed_input_tokens: 1200,
total_tokens: 1500,
requests: 2,
},
@@ -214,9 +217,12 @@ describe("Settings overview and appearance", () => {
days: [
{
date: "2026-06-03",
prompt_tokens: 1200,
completion_tokens: 300,
cached_tokens: 500,
input_tokens: 1200,
output_tokens: 300,
cache_read_tokens: 500,
cache_write_tokens: 0,
cache_read_observed_input_tokens: 1200,
cache_write_observed_input_tokens: 1200,
total_tokens: 1500,
requests: 2,
},