Versions in this module Expand all Collapse all v0 v0.2.0 May 15, 2026 Changes in this version + func MatchScore(rule TagRule, tags map[string]string) int + type FallbackChain struct + ActiveProvider string + HealthStatus map[string]*FallbackProviderHealth + Providers []ProviderConfig + func NewFallbackChain(providers []ProviderConfig) *FallbackChain + func (fc *FallbackChain) AllDown() bool + func (fc *FallbackChain) BestLatency() *ProviderConfig + func (fc *FallbackChain) FormatStatus() string + func (fc *FallbackChain) GetFallback(currentProvider string) (*ProviderConfig, error) + func (fc *FallbackChain) IsHealthy(provider string) bool + func (fc *FallbackChain) RecordFailure(provider string, err error) + func (fc *FallbackChain) RecordSuccess(provider string, latency time.Duration) + func (fc *FallbackChain) RecoverProvider(provider string) + func (fc *FallbackChain) SelectProvider() (*ProviderConfig, error) + type FallbackProviderHealth struct + ConsecutiveFailures int + CooldownUntil *time.Time + LastFailure time.Time + LastSuccess time.Time + Latency time.Duration + Name string + Status string + type FallbackResult struct + Attempts int + Duration time.Duration + Fallbacks []string + Model string + Provider string + type ProviderConfig struct + CooldownDuration time.Duration + MaxRetries int + Model string + Name string + Priority int + Weight float64 + type RoutingDecision struct + MatchedRule *TagRule + Model string + Provider string + Reason string + type TagRouter struct + DefaultModel string + Rules []TagRule + func NewTagRouter(defaultModel string) *TagRouter + func (tr *TagRouter) AddRule(rule TagRule) + func (tr *TagRouter) FormatRules() string + func (tr *TagRouter) Load(path string) error + func (tr *TagRouter) Route(tags map[string]string) *RoutingDecision + func (tr *TagRouter) RouteByContext(task, language, complexity string) *RoutingDecision + func (tr *TagRouter) Save(path string) error + type TagRule struct + Description string + Model string + Priority int + Provider string + Tags map[string]string v0.1.0 May 12, 2026 Changes in this version + func AllProviders() []string + func CheapestForProvider(provider, fallback string) string + func DefaultModel(provider string) string + func RegisterDynamic(info ModelInfo) + type Capabilities struct + FunctionCalling bool + JSON bool + Streaming bool + Thinking bool + Vision bool + type CascadeRouter struct + func NewCascadeRouter(roles ModelRoles) *CascadeRouter + func (cr *CascadeRouter) ModelForTask(task TaskType) string + func (cr *CascadeRouter) Route(message string, hint TaskType) string + type CircuitState int + const CircuitClosed + const CircuitHalfOpen + const CircuitOpen + type CodeHealth struct + Complexity float64 + Dependencies int + FileSize int + Language string + TestCoverage float64 + type HealthRouter struct + func NewHealthRouter() *HealthRouter + func (hr *HealthRouter) ComputeHealth(path string) CodeHealth + func (hr *HealthRouter) ModelForTask(path string, primaryModel string) string + func (hr *HealthRouter) SelectTier(health CodeHealth) string + type LatencyClass string + const LatencyFast + const LatencyMedium + const LatencySlow + type ModelInfo struct + ContextSize int + Description string + InputPrice float64 + Name string + OutputPrice float64 + Provider string + Recommended bool + func ByProvider(provider string) []ModelInfo + func Find(name string) (ModelInfo, bool) + func Recommended(provider string) (ModelInfo, bool) + type ModelRoles struct + Coder string + Commit string + Planner string + Reviewer string + func DefaultRoles(primaryModel string) ModelRoles + func (r ModelRoles) ModelForRole(role Role) string + type ModelTier struct + MaxComplexity float64 + Models []string + Name string + func DefaultTiers() []ModelTier + type ProviderHealth struct + Available bool + AvgLatencyMs float64 + ConsecutiveFails int + LastCheck time.Time + LastSuccess time.Time + type Role string + const RoleCoder + const RoleCommit + const RolePlanner + const RoleReviewer + type Router struct + func NewRouter(strategy RoutingStrategy) *Router + func (r *Router) HealthStatus() map[string]*ProviderHealth + func (r *Router) RecordFailure(provider string, err error) + func (r *Router) RecordSuccess(provider string, latency time.Duration) + func (r *Router) Score(provider string) float64 + func (r *Router) SelectProvider(preferred string) (string, error) + func (r *Router) SelectProviderForModel(modelName string) (string, ModelInfo, error) + func (r *Router) SetFallbackChain(chain []string) + type RoutingStrategy string + const StrategyBalanced + const StrategyCost + const StrategyLatency + type TaskType string + const TaskCoding + const TaskGeneral + const TaskPlanning + const TaskReview + const TaskSummary + func ClassifyTask(message string) TaskType