Versions in this module Expand all Collapse all v1 v1.5.0 Apr 2, 2026 Changes in this version + type InstrumentedProcessor struct + func NewInstrumentedProcessor(name string, processor func(string) (string, int), tracker *LayerTracker) *InstrumentedProcessor + func (ip *InstrumentedProcessor) Process(input string) (string, int) + type LayerReport struct + GeneratedAt time.Time + Layers map[string]LayerStat + MostUsed []*LayerStat + TopSavers []*LayerStat + Total LayerStat + func (r *LayerReport) String() string + type LayerStat struct + AvgTime time.Duration + Errors int64 + Invocations int64 + LastUsed time.Time + Name string + TokensIn int64 + TokensOut int64 + TokensSaved int64 + TotalTime time.Duration + func (ls *LayerStat) CompressionRatio() float64 + func (ls *LayerStat) SavingsPercent() float64 + type LayerTracker struct + func GetGlobalLayerTracker() *LayerTracker + func NewLayerTracker() *LayerTracker + func (lt *LayerTracker) Get(layerName string) (*LayerStat, bool) + func (lt *LayerTracker) GetAll() map[string]*LayerStat + func (lt *LayerTracker) GetMostUsed(n int) []*LayerStat + func (lt *LayerTracker) GetTopSavers(n int) []*LayerStat + func (lt *LayerTracker) Record(layerName string, tokensIn, tokensOut int, duration time.Duration) + func (lt *LayerTracker) RecordError(layerName string) + func (lt *LayerTracker) Report() *LayerReport + func (lt *LayerTracker) Reset() + func (lt *LayerTracker) SetUpdateCallback(cb func(string, *LayerStat)) + func (lt *LayerTracker) TotalStats() LayerStat v1.2.0 Mar 19, 2026 Changes in this version type TimedExecution + func (t *TimedExecution) TrackPassthrough(command, tokmanCmd string) type Tracker + func (t *Tracker) RecordFallback(command string, projectPath string, output string, execTimeMs int64) error v0 v0.28.0 Apr 16, 2026 Changes in this version + const CreateAuditLogsTable + const CreateCheckpointEventsTable + const CreateConfigVersionsTable + const CreateCostAggregationsTable + const CreateDevicesTable + const CreateFilterEffectivenessView + const CreateFilterMetricsTable + const CreateSyncLogsTable + const CreateTeamsTable + const CreateTrendAnalysisView + const CreateUserSessionsTable + const CreateUsersTable + type AuditLog struct + Action string + CreatedAt time.Time + ID int64 + IPAddress string + NewValue string + OldValue string + ResourceID string + ResourceType string + TeamID int64 + UserAgent string + UserID *int64 + type CheckpointEventRecord struct + CommandID int64 + CooldownSec int + CreatedAt time.Time + FillPct float64 + ID int64 + Quality float64 + Reason string + SessionID string + Trigger string + type CheckpointTelemetry struct + ByTrigger map[string]int64 + Days int + LastEvent *CheckpointEventRecord + TotalEvents int64 + type CommandBreakdown struct + Command string + Count int + InputTokens int + OutputTokens int + SavedTokens int + SavingsPct float64 + type CostAggregation struct + AvgReductionPercent float64 + CreatedAt time.Time + DateBucket string + EstimatedCostUSD float64 + EstimatedSavingsUSD float64 + ID int64 + Period string + TeamID int64 + TotalCommands int + TotalFilteredTokens int + TotalOriginalTokens int + TotalSavedTokens int + UpdatedAt time.Time + type FilterEffectiveness struct + AvgEffectiveness float64 + AvgProcessingTimeUs float64 + FilterName string + FirstUsed *time.Time + LastUsed *time.Time + TeamID *int64 + TotalSaved int + UsageCount int + type FilterMetric struct + CommandID *int64 + CreatedAt time.Time + EffectivenessScore float64 + FilterName string + ID int64 + IsActive bool + ProcessingTimeUs int64 + TeamID *int64 + TokensAfter int + TokensBefore int + TokensSaved int + type GainSummary struct + AvgExecTimeMs int64 + AvgSavingsPct float64 + ByCommand []CommandBreakdown + DailyStats []PeriodStats + MonthlyStats []PeriodStats + RecentCommands []CommandRecord + TotalCommands int + TotalExecTimeMs int64 + TotalInput int + TotalOutput int + TotalSaved int + WeeklyStats []PeriodStats + type GainSummaryOptions struct + IncludeDaily bool + IncludeHistory bool + IncludeMonthly bool + IncludeWeekly bool + ProjectPath string + type PeriodStats struct + Commands int + ExecTimeMs int64 + InputTokens int + OutputTokens int + Period string + SavedTokens int + SavingsPct float64 + type Team struct + CreatedAt time.Time + Description string + ID int64 + MonthlyTokenBudget int + Name string + OwnerID *int64 + Slug string + UpdatedAt time.Time type Tracker + func (t *Tracker) GetCheckpointTelemetry(days int) (*CheckpointTelemetry, error) + func (t *Tracker) GetCommandBreakdown(limit int, projectPath string) ([]CommandBreakdown, error) + func (t *Tracker) GetDailyStats(days int, projectPath string) ([]PeriodStats, error) + func (t *Tracker) GetFullGainSummary(opts GainSummaryOptions) (*GainSummary, error) + func (t *Tracker) GetMonthlyStats(months int, projectPath string) ([]PeriodStats, error) + func (t *Tracker) GetWeeklyStats(weeks int, projectPath string) ([]PeriodStats, error) + func (t *Tracker) RecordCheckpointEvent(event *CheckpointEventRecord) error + type TrendData struct + ActualReductionPercent float64 + AvgReductionPercent float64 + DateBucket string + EstimatedCostUSD float64 + EstimatedSavingsUSD float64 + TeamID int64 + TotalCommands int + TotalFilteredTokens int + TotalOriginalTokens int + TotalSavedTokens int + type User struct + AvatarURL string + CreatedAt time.Time + Email string + FullName string + ID int64 + IsActive bool + LastLogin *time.Time + Role string + TeamID int64 + UpdatedAt time.Time v0.1.0 Apr 6, 2026 Changes in this version + const AddAgentAttributionColumns + const AddCompositeIndexes + const AgentAttributionIndexes + const CreateAgentSummaryView + const CreateCommandsTable + const CreateLayerStatsTable + const CreateMigrationTable + const CreateParseFailuresTable + const CreateSummaryView + const HistoryRetentionDays + const SchemaVersion + var CommandColumnDefs = []struct{ ... } + var Migrations = []string + var ModelPricing = map[string]CostEstimator + func CloseGlobalTracker() error + func DatabasePath() string + func EstimateTokens(text string) int + func InitSchema() []string + type Alert struct + Message string + Severity string + Timestamp time.Time + Type string + type AlertThreshold struct + DailyCostLimit float64 + DailyTokenLimit int64 + WeeklyCostLimit float64 + WeeklyTokenLimit int64 + type CommandCost struct + Command string + CostSaved float64 + TimesRun int + TokensSaved int + type CommandFailureCount struct + Command string + Count int + type CommandRecord struct + AgentName string + Command string + ContextBundle bool + ContextKind string + ContextMode string + ContextRelatedFiles int + ContextResolvedMode string + ContextTarget string + ExecTimeMs int64 + FilteredOutput string + FilteredTokens int + ID int64 + ModelFamily string + ModelName string + OriginalOutput string + OriginalTokens int + ParseSuccess bool + ProjectPath string + Provider string + SavedTokens int + SessionID string + Timestamp time.Time + type CommandStats struct + Command string + ExecutionCount int + ReductionPct float64 + TotalOriginal int + TotalSaved int + type CostEstimate struct + CostPer1MTokens float64 + Currency string + EstimatedSavings float64 + TokensSaved int + func (ce CostEstimate) Format() string + type CostEstimator struct + func NewCostEstimator(model string) *CostEstimator + func (ce *CostEstimator) EstimateCost(tokens int) float64 + func (ce *CostEstimator) EstimateSavings(tokensSaved int) CostEstimate + type CostProjection struct + GrowthRate float64 + MonthlyEstimate float64 + YearlyEstimate float64 + type CostReport struct + Currency string + DailyBreakdown []DailyCost + EstimatedSavings float64 + GeneratedAt time.Time + Model string + Period string + Projections CostProjection + TopCommands []CommandCost + TotalTokensSaved int64 + func (cr *CostReport) ExportToCSV(path string) error + func (cr *CostReport) ExportToJSON(path string) error + func (cr *CostReport) Format() string + type DailyCost struct + CommandCount int + CostSaved float64 + Date string + TokensSaved int + type LayerStatRecord struct + DurationUs int64 + LayerName string + TokensSaved int + type ParseFailureRecord struct + ErrorMessage string + FallbackSucceeded bool + ID int64 + RawCommand string + Timestamp time.Time + type ParseFailureSummary struct + RecentFailures []ParseFailureRecord + RecoveryRate float64 + TopCommands []CommandFailureCount + Total int64 + type ReportFilter struct + Command string + EndTime *time.Time + ProjectPath string + SessionID string + StartTime *time.Time + type SavingsSummary struct + ReductionPct float64 + TotalCommands int + TotalFiltered int + TotalOriginal int + TotalSaved int + type SessionInfo struct + ProjectPath string + SessionID string + StartedAt time.Time + type TimedExecution struct + func Start() *TimedExecution + func (t *TimedExecution) Track(command, tokmanCmd string, originalTokens, filteredTokens int) + type Tracker struct + func GetGlobalTracker() *Tracker + func NewTracker(dbPath string) (*Tracker, error) + func (t *Tracker) CheckAlert(threshold AlertThreshold) ([]Alert, error) + func (t *Tracker) CleanupOld() (int64, error) + func (t *Tracker) CleanupWithRetention(days int) (int64, error) + func (t *Tracker) Close() error + func (t *Tracker) CountCommandsSince(since time.Time) (int64, error) + func (t *Tracker) DatabaseSize() (int64, error) + func (t *Tracker) ExportReport(format, outputPath string, days int) error + func (t *Tracker) GenerateCostReport(model string, days int) (*CostReport, error) + func (t *Tracker) GetCommandStats(projectPath string) ([]CommandStats, error) + func (t *Tracker) GetDailySavings(projectPath string, days int) ([]struct{ ... }, error) + func (t *Tracker) GetLayerStats(commandID int64) ([]LayerStatRecord, error) + func (t *Tracker) GetParseFailureSummary() (*ParseFailureSummary, error) + func (t *Tracker) GetRecentCommands(projectPath string, limit int) ([]CommandRecord, error) + func (t *Tracker) GetRecentCommandsForPatterns(projectPath string, limit int, commandPatterns []string) ([]CommandRecord, error) + func (t *Tracker) GetRecentContextReads(projectPath, kind, mode string, limit int) ([]CommandRecord, error) + func (t *Tracker) GetSavings(projectPath string) (*SavingsSummary, error) + func (t *Tracker) GetSavingsForCommands(projectPath string, commandPatterns []string) (*SavingsSummary, error) + func (t *Tracker) GetSavingsForContextReads(projectPath, kind, mode string) (*SavingsSummary, error) + func (t *Tracker) GetTopLayers(limit int) ([]struct{ ... }, error) + func (t *Tracker) OverallSavingsPct() (float64, error) + func (t *Tracker) Query(query string, args ...any) (*sql.Rows, error) + func (t *Tracker) QueryRow(query string, args ...any) *sql.Row + func (t *Tracker) Record(record *CommandRecord) error + func (t *Tracker) RecordContext(ctx context.Context, record *CommandRecord) error + func (t *Tracker) RecordLayerStats(commandID int64, stats []LayerStatRecord) error + func (t *Tracker) RecordParseFailure(rawCommand string, errorMessage string, fallbackSucceeded bool) error + func (t *Tracker) TokensSaved24h() (int64, error) + func (t *Tracker) TokensSavedTotal() (int64, error) + func (t *Tracker) TopCommands(limit int) ([]string, error) + func (t *Tracker) Vacuum() error + type TrackerInterface interface + Close func() error + GetRecentCommands func(projectPath string, limit int) ([]CommandRecord, error) + GetSavings func(projectPath string) (*SavingsSummary, error) + Query func(query string, args ...any) (*sql.Rows, error) + Record func(record *CommandRecord) error