Documentation
¶
Overview ¶
Package digest provides weekly digest generation for TokMan
Index ¶
- type AnomalyEvent
- type BudgetStatus
- type DailyCost
- type DigestGenerator
- type ModelUsage
- type TeamUsage
- type WeeklyDigest
- type WeeklyDigestBuilder
- func (b *WeeklyDigestBuilder) AddDailyCost(date time.Time, cost float64, tokens int64) *WeeklyDigestBuilder
- func (b *WeeklyDigestBuilder) AddModel(model ModelUsage) *WeeklyDigestBuilder
- func (b *WeeklyDigestBuilder) AddRecommendation(rec string) *WeeklyDigestBuilder
- func (b *WeeklyDigestBuilder) Build() *WeeklyDigest
- func (b *WeeklyDigestBuilder) WithBudgetStatus(status BudgetStatus) *WeeklyDigestBuilder
- func (b *WeeklyDigestBuilder) WithTotalCost(cost float64) *WeeklyDigestBuilder
- func (b *WeeklyDigestBuilder) WithTotalRequests(requests int64) *WeeklyDigestBuilder
- func (b *WeeklyDigestBuilder) WithTotalTokens(tokens int64) *WeeklyDigestBuilder
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AnomalyEvent ¶
AnomalyEvent represents an anomaly in digest
type BudgetStatus ¶
type BudgetStatus struct {
MonthlyBudget float64
MonthlySpend float64
UsagePercent float64
ProjectedSpend float64
DaysRemaining int
IsAtRisk bool
}
BudgetStatus represents budget status
type DigestGenerator ¶
type DigestGenerator struct {
// contains filtered or unexported fields
}
DigestGenerator generates weekly digests
func NewDigestGenerator ¶
func NewDigestGenerator() *DigestGenerator
NewDigestGenerator creates a new digest generator
func (*DigestGenerator) GenerateHTML ¶
func (dg *DigestGenerator) GenerateHTML(digest *WeeklyDigest) (string, error)
GenerateHTML generates an HTML digest
func (*DigestGenerator) GenerateJSON ¶
func (dg *DigestGenerator) GenerateJSON(digest *WeeklyDigest) ([]byte, error)
GenerateJSON generates a JSON digest
func (*DigestGenerator) GenerateMarkdown ¶
func (dg *DigestGenerator) GenerateMarkdown(digest *WeeklyDigest) string
GenerateMarkdown generates a markdown digest
type ModelUsage ¶
ModelUsage represents model usage in digest
type WeeklyDigest ¶
type WeeklyDigest struct {
WeekStart time.Time
WeekEnd time.Time
TotalCost float64
TotalTokens int64
TotalRequests int64
AvgCostPerReq float64
CostChangePct float64
TokenChangePct float64
TopModels []ModelUsage
TopTeams []TeamUsage
DailyBreakdown []DailyCost
Anomalies []AnomalyEvent
Recommendations []string
BudgetStatus BudgetStatus
}
WeeklyDigest represents a weekly cost digest
type WeeklyDigestBuilder ¶
type WeeklyDigestBuilder struct {
// contains filtered or unexported fields
}
WeeklyDigestBuilder helps build weekly digests
func NewWeeklyDigestBuilder ¶
func NewWeeklyDigestBuilder(weekStart time.Time) *WeeklyDigestBuilder
NewWeeklyDigestBuilder creates a new builder
func (*WeeklyDigestBuilder) AddDailyCost ¶
func (b *WeeklyDigestBuilder) AddDailyCost(date time.Time, cost float64, tokens int64) *WeeklyDigestBuilder
AddDailyCost adds a daily cost entry
func (*WeeklyDigestBuilder) AddModel ¶
func (b *WeeklyDigestBuilder) AddModel(model ModelUsage) *WeeklyDigestBuilder
AddModel adds a model to top models
func (*WeeklyDigestBuilder) AddRecommendation ¶
func (b *WeeklyDigestBuilder) AddRecommendation(rec string) *WeeklyDigestBuilder
AddRecommendation adds a recommendation
func (*WeeklyDigestBuilder) Build ¶
func (b *WeeklyDigestBuilder) Build() *WeeklyDigest
Build returns the completed digest
func (*WeeklyDigestBuilder) WithBudgetStatus ¶
func (b *WeeklyDigestBuilder) WithBudgetStatus(status BudgetStatus) *WeeklyDigestBuilder
WithBudgetStatus sets budget status
func (*WeeklyDigestBuilder) WithTotalCost ¶
func (b *WeeklyDigestBuilder) WithTotalCost(cost float64) *WeeklyDigestBuilder
WithTotalCost sets total cost
func (*WeeklyDigestBuilder) WithTotalRequests ¶
func (b *WeeklyDigestBuilder) WithTotalRequests(requests int64) *WeeklyDigestBuilder
WithTotalRequests sets total requests
func (*WeeklyDigestBuilder) WithTotalTokens ¶
func (b *WeeklyDigestBuilder) WithTotalTokens(tokens int64) *WeeklyDigestBuilder
WithTotalTokens sets total tokens