Versions in this module Expand all Collapse all v0 v0.3.0 May 26, 2026 v0.2.1 May 26, 2026 Changes in this version + func FormatCostDisplay(totalUSD float64) string + func LoadCostHistory() ([]analytics.CostEntry, error) + func ModelPricing(modelName string) (inputPricePerM, outputPricePerM float64) + type Cost struct + CacheReadTokens int + CacheWriteTokens int + CompletionTokens int + Model string + PromptTokens int + TotalCostUSD float64 + func (c *Cost) Add(prompt, completion int) + func (c *Cost) AddCacheTokens(read, write int) + func (c *Cost) Summary() string + func (c *Cost) Total() float64 + func (c *Cost) TotalUSD() float64 + type CostOptimizer struct + History []RequestCost + ModelPricing map[string]ModelPrice + Recommendations []Recommendation + func NewCostOptimizer() *CostOptimizer + func (co *CostOptimizer) Analyze() []Recommendation + func (co *CostOptimizer) CostByModel() map[string]float64 + func (co *CostOptimizer) CostByTaskType() map[string]float64 + func (co *CostOptimizer) DailyCost() float64 + func (co *CostOptimizer) FormatReport() string + func (co *CostOptimizer) ProjectSavings(recommendations []Recommendation) float64 + func (co *CostOptimizer) Record(cost RequestCost) + func (co *CostOptimizer) WeeklyCost() float64 + func (co *CostOptimizer) WhatIf(model string) float64 + type CostTracker struct + func NewCostTracker(sessionID string) *CostTracker + func (ct *CostTracker) Entries() []analytics.CostEntry + func (ct *CostTracker) Record(entry analytics.CostEntry) error + func (ct *CostTracker) SessionTotal() float64 + type ModelPrice struct + CacheReadPerMillion float64 + CacheWritePerMillion float64 + InputPerMillion float64 + OutputPerMillion float64 + type Recommendation struct + Action string + Description string + EstimatedSavings float64 + Priority string + Type string + type RequestCost struct + CacheHit bool + CostUSD float64 + Duration time.Duration + InputTokens int + Model string + OutputTokens int + Provider string + TaskType string + Timestamp time.Time