Files

65 lines
1.2 KiB
Go

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
}