Documentation
¶
Index ¶
- Constants
- type Plugin
- func (p *Plugin) Execute(ctx context.Context, in appplugins.ExecInput) (*appplugins.Result, error)
- func (p *Plugin) MandatoryStages() []policy.Stage
- func (p *Plugin) Name() string
- func (p *Plugin) SupportedModes() []policy.Mode
- func (p *Plugin) SupportedStages() []policy.Stage
- func (p *Plugin) ValidateConfig(settings map[string]any) error
- type TokenRateLimiterData
Constants ¶
View Source
const PluginName = "token_rate_limiter"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Plugin ¶
type Plugin struct {
// contains filtered or unexported fields
}
func New ¶
func New(redisClient *redis.Client, registry *adapter.Registry, pricing appcatalog.PricingResolver) *Plugin
func (*Plugin) Execute ¶
func (p *Plugin) Execute(ctx context.Context, in appplugins.ExecInput) (*appplugins.Result, error)
func (*Plugin) MandatoryStages ¶
func (*Plugin) SupportedModes ¶
func (*Plugin) SupportedStages ¶
type TokenRateLimiterData ¶
type TokenRateLimiterData struct {
Stage string `json:"stage"`
CounterKey string `json:"counter_key"`
Provider string `json:"provider,omitempty"`
Model string `json:"model,omitempty"`
WindowUnit string `json:"window_unit"`
WindowMax int `json:"window_max"`
TokensConsumed int `json:"tokens_consumed"`
TokensActual int `json:"tokens_actual,omitempty"`
TokensRemaining int `json:"tokens_remaining"`
LimitExceeded bool `json:"limit_exceeded"`
Unit string `json:"unit,omitempty"`
CostMicroUSD int64 `json:"cost_micro_usd,omitempty"`
ConsumedMicroUSD int64 `json:"consumed_micro_usd,omitempty"`
Unpriced bool `json:"unpriced,omitempty"`
CostCapViolation bool `json:"cost_cap_violation,omitempty"`
UnknownModel bool `json:"unknown_model,omitempty"`
InputPricePer1k float64 `json:"input_price_per_1k,omitempty"`
OutputPricePer1k float64 `json:"output_price_per_1k,omitempty"`
MaxInputPer1k float64 `json:"max_input_per_1k,omitempty"`
MaxOutputPer1k float64 `json:"max_output_per_1k,omitempty"`
}
Click to show internal directories.
Click to hide internal directories.