package collection import "time" const ( UsageResultSucceeded = "succeeded" UsageResultFailed = "failed" UsageResultRejected = "rejected" UsageResultCanceled = "canceled" ) // UsageQuery describes one stable page of request details. Cursor is opaque to // callers and is bound to every filter in the query. type UsageQuery struct { Page int PageSize int Cursor string From *time.Time To *time.Time KeyID string Model string Result string AuthID string Endpoint string RequestID string } type UsagePage struct { Records []Record Page int PageSize int Total int64 TotalPages int PreviousCursor string NextCursor string } type UsageDashboard struct { Today UsageSummary Users []UserUsageSummary Days []DailyUsageSummary } type UsageSummary struct { Requests int64 InputTokens int64 OutputTokens int64 TotalTokens int64 CostMicros int64 } type UserUsageSummary struct { KeyID string KeyAlias string Today UsageSummary Days []DailyUsageSummary LastUsedAt *time.Time } type DailyUsageSummary struct { Date time.Time TotalTokens int64 CostMicros int64 }