token

package
v0.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 17, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AggregateResult

type AggregateResult struct {
	TotalInput  int64
	TotalOutput int64
	TotalTokens int64
	RecordCount int
}

AggregateResult holds aggregated token usage data.

type EntTokenStore

type EntTokenStore struct {
	// contains filtered or unexported fields
}

EntTokenStore persists token usage data via Ent.

func NewEntTokenStore

func NewEntTokenStore(client *ent.Client) *EntTokenStore

NewEntTokenStore creates a new EntTokenStore.

func (*EntTokenStore) Aggregate

func (s *EntTokenStore) Aggregate(ctx context.Context) (*AggregateResult, error)

Aggregate returns aggregated stats for all records.

func (*EntTokenStore) Cleanup

func (s *EntTokenStore) Cleanup(ctx context.Context, retentionDays int) (int, error)

Cleanup deletes records older than retentionDays.

func (*EntTokenStore) QueryByAgent

func (s *EntTokenStore) QueryByAgent(ctx context.Context, agentName string) ([]observability.TokenUsage, error)

QueryByAgent returns all token usage records for an agent.

func (*EntTokenStore) QueryBySession

func (s *EntTokenStore) QueryBySession(ctx context.Context, sessionKey string) ([]observability.TokenUsage, error)

QueryBySession returns all token usage records for a session.

func (*EntTokenStore) QueryByTimeRange

func (s *EntTokenStore) QueryByTimeRange(ctx context.Context, from, to time.Time) ([]observability.TokenUsage, error)

QueryByTimeRange returns all token usage records within a time range.

func (*EntTokenStore) Save

Save persists a token usage record.

type TokenStore

type TokenStore interface {
	Save(usage observability.TokenUsage) error
}

TokenStore is the interface for persistent token usage storage.

type Tracker

type Tracker struct {
	// contains filtered or unexported fields
}

Tracker subscribes to TokenUsageEvent and forwards data to the MetricsCollector and optional persistent store.

func NewTracker

func NewTracker(collector *observability.MetricsCollector, store TokenStore) *Tracker

NewTracker creates a new Tracker that records token usage.

func (*Tracker) Subscribe

func (t *Tracker) Subscribe(bus *eventbus.Bus)

Subscribe registers the tracker on the event bus.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL