multiclient

package
v1.5.0 Latest Latest
Warning

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

Go to latest
Published: Apr 2, 2026 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ClientSession

type ClientSession struct {
	Client    ClientType `json:"client"`
	SessionID string     `json:"session_id"`
	Tokens    int64      `json:"tokens"`
	Cost      float64    `json:"cost"`
}

type ClientType

type ClientType string
const (
	ClientOpenCode   ClientType = "opencode"
	ClientClaudeCode ClientType = "claude-code"
	ClientCodex      ClientType = "codex"
	ClientGemini     ClientType = "gemini"
	ClientCursor     ClientType = "cursor"
	ClientAmp        ClientType = "amp"
	ClientDroid      ClientType = "droid"
	ClientOpenClaw   ClientType = "openclaw"
	ClientPi         ClientType = "pi"
	ClientKimi       ClientType = "kimi"
	ClientQwen       ClientType = "qwen"
	ClientRooCode    ClientType = "roo-code"
	ClientKilo       ClientType = "kilo"
	ClientMux        ClientType = "mux"
	ClientCrush      ClientType = "crush"
	ClientSynthetic  ClientType = "synthetic"
)

func ParseClientType

func ParseClientType(s string) ClientType

type DateFilter

type DateFilter struct {
	Today bool
	Week  bool
	Month bool
	Since string
	Until string
}

type GroupByStrategy

type GroupByStrategy string
const (
	GroupByModel       GroupByStrategy = "model"
	GroupByClientModel GroupByStrategy = "client+model"
	GroupByClient      GroupByStrategy = "client"
	GroupByDate        GroupByStrategy = "date"
)

type Grouper

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

func NewGrouper

func NewGrouper(strategy GroupByStrategy) *Grouper

func (*Grouper) GetStrategy

func (g *Grouper) GetStrategy() GroupByStrategy

func (*Grouper) SetStrategy

func (g *Grouper) SetStrategy(strategy GroupByStrategy)

type MultiClientTracker

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

func NewMultiClientTracker

func NewMultiClientTracker() *MultiClientTracker

func (*MultiClientTracker) FilterByClient

func (t *MultiClientTracker) FilterByClient(clients []ClientType) []*ClientSession

func (*MultiClientTracker) GetAll

func (t *MultiClientTracker) GetAll() []*ClientSession

func (*MultiClientTracker) GetByClient

func (t *MultiClientTracker) GetByClient(client ClientType) []*ClientSession

func (*MultiClientTracker) GetClients

func (t *MultiClientTracker) GetClients() []ClientType

func (*MultiClientTracker) Record

func (t *MultiClientTracker) Record(client ClientType, sessionID string, tokens int64, cost float64)

Jump to

Keyboard shortcuts

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