65 lines
1.2 KiB
Go
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
|
|
}
|