client

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: 7 Imported by: 0

Documentation

Overview

Package client provides gRPC clients for TokMan services.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AnalyticsClient

type AnalyticsClient interface {
	GetMetrics(ctx context.Context) (*MetricsResult, error)
	GetEconomics(ctx context.Context) (*EconomicsResult, error)
}

AnalyticsClient provides access to analytics service.

type Client

type Client struct {

	// Service clients
	Compression CompressionClient
	Analytics   AnalyticsClient
	// contains filtered or unexported fields
}

Client provides access to all TokMan services.

func New

func New(cfg *Config) (*Client, error)

New creates a new TokMan client.

func (*Client) Close

func (c *Client) Close() error

Close closes all gRPC connections.

type CompressResult

type CompressResult struct {
	Output           string
	OriginalTokens   int
	CompressedTokens int
	SavingsPercent   float64
	LayersApplied    []string
}

CompressResult holds compression results.

type CompressionClient

type CompressionClient interface {
	Compress(ctx context.Context, input string, mode string, budget int) (*CompressResult, error)
	GetLayers(ctx context.Context) ([]LayerInfo, error)
}

CompressionClient provides access to compression service.

type Config

type Config struct {
	CompressionAddr string // Compression service address (e.g., "localhost:50051")
	AnalyticsAddr   string // Analytics service address (e.g., "localhost:50053")
	Timeout         time.Duration
	DialOptions     []grpc.DialOption // Optional extra dial options, primarily for tests
}

Config holds client configuration.

func DefaultConfig

func DefaultConfig() *Config

DefaultConfig returns default client configuration.

type EconomicsResult

type EconomicsResult struct {
	TokensSaved        int64
	EstimatedCostSaved float64
	ModelUsed          string
}

EconomicsResult holds economics data.

type LayerInfo

type LayerInfo struct {
	Number      int
	Name        string
	Research    string
	Compression string
}

LayerInfo describes a compression layer.

type MetricsResult

type MetricsResult struct {
	TotalCommands    int64
	TotalTokensSaved int64
	AverageSavings   float64
	P99LatencyMs     float64
}

MetricsResult holds analytics metrics.

Jump to

Keyboard shortcuts

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