Documentation
¶
Index ¶
- Constants
- type CapData
- type Plugin
- func (p *Plugin) Execute(ctx context.Context, in appplugins.ExecInput) (*appplugins.Result, error)
- func (p *Plugin) MandatoryStages() []policy.Stage
- func (p *Plugin) MutatesMetadata() bool
- func (p *Plugin) MutatesRequestBody() bool
- func (p *Plugin) MutatesResponseBody() bool
- 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
Constants ¶
View Source
const PluginName = "cost_cap"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CapData ¶ added in v0.2.10
type CapData struct {
Stage string `json:"stage"`
Provider string `json:"provider,omitempty"`
Model string `json:"model,omitempty"`
Violation bool `json:"violation,omitempty"`
UnknownModel bool `json:"unknown_model,omitempty"`
Downgraded bool `json:"downgraded,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"`
}
CapData is the per-request telemetry emitted by the cost cap plugin.
type Plugin ¶
type Plugin struct {
// contains filtered or unexported fields
}
Plugin enforces a stateless per-request ceiling on model list price.
func New ¶
func New(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) MutatesMetadata ¶
func (*Plugin) MutatesRequestBody ¶
func (*Plugin) MutatesResponseBody ¶
func (*Plugin) SupportedModes ¶
func (*Plugin) SupportedStages ¶
Click to show internal directories.
Click to hide internal directories.