Versions in this module Expand all Collapse all v0 v0.2.1 May 16, 2026 v0.2.0 May 16, 2026 Changes in this version + func BackoffDelay(attempt int, cfg RetryConfig) time.Duration + func IsTransient(err error) bool + type RetryConfig struct + BaseDelay time.Duration + MaxDelay time.Duration + MaxRetries int + OnRetry func(RetryEvent) + func DefaultRetryConfig() RetryConfig + type RetryEvent struct + Attempt int + Delay time.Duration + Err error + MaxRetries int + type RouteEntry struct + Provider client.Provider + Retry *RetryConfig + Weight int + type Router struct + func New(entries []RouteEntry, fallback []client.Provider, defaultRetry *RetryConfig) *Router + func (r *Router) Chat(ctx context.Context, messages []client.EyrieMessage, opts client.ChatOptions) (*client.EyrieResponse, error) + func (r *Router) Name() string + func (r *Router) Ping(ctx context.Context) error + func (r *Router) Stats() map[string]int64 + func (r *Router) StreamChat(ctx context.Context, messages []client.EyrieMessage, opts client.ChatOptions) (*client.StreamResult, error) + type ToolFilter struct + func NewToolFilter(modelTools map[string][]string) *ToolFilter + func (f *ToolFilter) FilterTools(model string, tools []client.EyrieTool) []client.EyrieTool