27 lines
1.0 KiB
Go
27 lines
1.0 KiB
Go
package textgen
|
|
|
|
import "git.threesix.ai/jordan/persona-community-2/pkg/routing"
|
|
|
|
// Strategy defines how the manager routes requests to providers.
|
|
//
|
|
// IMPORTANT: This is an alias for routing.Strategy. All routing strategies
|
|
// are defined in pkg/routing. Do NOT define new strategies here.
|
|
type Strategy = routing.Strategy
|
|
|
|
// Strategy constants - aliases for backward compatibility.
|
|
// New code should use routing.Strategy* directly.
|
|
const (
|
|
// StrategyPrimaryOnly uses only the first provider in the list.
|
|
// Fast, deterministic, but no fault tolerance.
|
|
StrategyPrimaryOnly Strategy = routing.StrategyPrimaryOnly
|
|
|
|
// StrategyFallback tries providers in order until one succeeds.
|
|
// IMPORTANT: The last provider (terminus) is ALWAYS tried regardless
|
|
// of cooldown state. This is the fallback of last resort.
|
|
StrategyFallback Strategy = routing.StrategyFallback
|
|
|
|
// StrategyRoundRobin distributes requests evenly across providers.
|
|
// Balances load but requires state management.
|
|
StrategyRoundRobin Strategy = routing.StrategyRoundRobin
|
|
)
|