25 lines
738 B
Go
25 lines
738 B
Go
package reporting
|
|
|
|
// TokenMetric distinguishes measured zero from unavailable provider usage.
|
|
type TokenMetric struct {
|
|
Value int `json:"value"`
|
|
Known bool `json:"known"`
|
|
Complete bool `json:"complete"`
|
|
}
|
|
|
|
type LLMUsage struct {
|
|
Prompt TokenMetric `json:"prompt"`
|
|
Completion TokenMetric `json:"completion"`
|
|
Total TokenMetric `json:"total"`
|
|
Cached TokenMetric `json:"cached"`
|
|
CacheWrite TokenMetric `json:"cache_write"`
|
|
}
|
|
|
|
type LLMSummary struct {
|
|
LogicalCalls uint64 `json:"logical_calls"`
|
|
ProviderAttempts uint64 `json:"provider_attempts"`
|
|
TransientRetries uint64 `json:"transient_retries"`
|
|
StructuralRepairs uint64 `json:"structural_repairs"`
|
|
Usage LLMUsage `json:"usage"`
|
|
}
|