Documentation
¶
Index ¶
- Constants
- func CandidateKey(providerID string, upstreamModel string) string
- func DecodeStoredRoute(data []byte) (any, error)
- type AgentRouteConfig
- type DirectProviderTarget
- type LLMRoute
- func (r LLMRoute) Config() LLMRouteConfig
- func (r LLMRoute) MarshalJSON() ([]byte, error)
- func (r *LLMRoute) Normalize()
- func (r *LLMRoute) NormalizeTimestamps(now time.Time)
- func (r LLMRoute) ProviderIDs() []string
- func (r LLMRoute) ResolveTarget(ctx context.Context, catalog ModelCatalogResolver, ...) (*ResolvedTarget, error)
- func (r LLMRoute) ToConfig() (AgentRouteConfig, error)
- func (r *LLMRoute) UnmarshalJSON(data []byte) error
- func (r LLMRoute) UsesLogicalModel() bool
- func (r LLMRoute) ValidateDefinition() error
- func (r LLMRoute) ValidateStaticDefinition() error
- type LLMRouteConfig
- func (r LLMRouteConfig) MarshalJSON() ([]byte, error)
- func (r *LLMRouteConfig) Normalize()
- func (r *LLMRouteConfig) NormalizeTimestamps(now time.Time)
- func (r LLMRouteConfig) ProviderIDs() []string
- func (r LLMRouteConfig) ResolveTarget(ctx context.Context, catalog ModelCatalogResolver, ...) (*ResolvedTarget, error)
- func (r LLMRouteConfig) ToConfig() (AgentRouteConfig, error)
- func (r *LLMRouteConfig) UnmarshalJSON(data []byte) error
- func (r LLMRouteConfig) UsesLogicalModel() bool
- func (r LLMRouteConfig) ValidateDefinition() error
- func (r LLMRouteConfig) ValidateStaticDefinition() error
- type LLMRouteResolver
- func (r *LLMRouteResolver) ConfigManager() *routecore.AgentRouteConfigManager
- func (r *LLMRouteResolver) CreateConfig(ctx context.Context, route routecore.AgentRouteConfig, tag string) error
- func (r *LLMRouteResolver) DeleteConfig(ctx context.Context, routeID string) error
- func (r *LLMRouteResolver) GetConfig(ctx context.Context, routeID string) (routecore.AgentRouteConfig, error)
- func (r *LLMRouteResolver) ListConfigs(ctx context.Context, opts routecore.RouteListOptions) ([]routecore.AgentRouteConfig, error)
- func (r *LLMRouteResolver) Resolve(ctx context.Context, cfg routecore.AgentRouteConfig) (*LLMRoute, error)
- func (r *LLMRouteResolver) ResolveByID(ctx context.Context, routeID string) (*LLMRoute, error)
- func (r *LLMRouteResolver) UpdateConfig(ctx context.Context, routeID string, route routecore.AgentRouteConfig) error
- func (r *LLMRouteResolver) Validate(ctx context.Context, routeID string, resolver ProviderResolver) error
- type LLMRouteState
- type ModelCatalogResolver
- type ProviderConfigResolver
- type ProviderResolver
- type RequestRequirements
- type ResolvedTarget
- type RouteAuthPolicy
- type RouteCredentialScope
- type RouteCredentialSelectStrategy
- type RouteCredentialType
- type RouteDirectProviderPolicy
- func (p *RouteDirectProviderPolicy) CredentialScopeOrder() []RouteCredentialScope
- func (p *RouteDirectProviderPolicy) CredentialSelector() RouteCredentialSelectStrategy
- func (p *RouteDirectProviderPolicy) CredentialTypeOrder() []RouteCredentialType
- func (p *RouteDirectProviderPolicy) FallbackPolicy() RouteFallbackPolicy
- func (p RouteDirectProviderPolicy) MarshalJSON() ([]byte, error)
- func (p *RouteDirectProviderPolicy) Normalize()
- func (p *RouteDirectProviderPolicy) PolicyKind() RouteTargetPolicyKind
- func (p *RouteDirectProviderPolicy) ProviderIDs() []string
- func (p *RouteDirectProviderPolicy) ResolveTarget(ctx context.Context, routeID string, _ ModelCatalogResolver, ...) (*ResolvedTarget, error)
- func (p *RouteDirectProviderPolicy) ValidateDefinition(routeID string) error
- type RouteFallbackPolicy
- type RouteKind
- type RouteLogicalModelTargetPolicy
- func (p *RouteLogicalModelTargetPolicy) CredentialScopeOrder() []RouteCredentialScope
- func (p *RouteLogicalModelTargetPolicy) CredentialSelector() RouteCredentialSelectStrategy
- func (p *RouteLogicalModelTargetPolicy) CredentialTypeOrder() []RouteCredentialType
- func (p *RouteLogicalModelTargetPolicy) FallbackPolicy() RouteFallbackPolicy
- func (p RouteLogicalModelTargetPolicy) MarshalJSON() ([]byte, error)
- func (p *RouteLogicalModelTargetPolicy) Normalize()
- func (p *RouteLogicalModelTargetPolicy) PolicyKind() RouteTargetPolicyKind
- func (p *RouteLogicalModelTargetPolicy) ProviderIDs() []string
- func (p *RouteLogicalModelTargetPolicy) ResolveTarget(ctx context.Context, routeID string, catalog ModelCatalogResolver, ...) (*ResolvedTarget, error)
- func (p *RouteLogicalModelTargetPolicy) ValidateDefinition(routeID string) error
- type RouteMatchPolicy
- type RouteModelCandidate
- type RouteModelTarget
- type RouteProtocol
- type RouteSelectionStrategy
- type RouteTargetPolicy
- type RouteTargetPolicyCommon
- type RouteTargetPolicyKind
Constants ¶
View Source
const ( RouteKindLLM = routecore.RouteKindLLM RouteKindMCP = routecore.RouteKindMCP )
View Source
const ( RouteProtocolOpenAI = routecore.RouteProtocolOpenAI RouteProtocolAnthropic = routecore.RouteProtocolAnthropic RouteProtocolMCP = routecore.RouteProtocolMCP )
Variables ¶
This section is empty.
Functions ¶
func CandidateKey ¶
func DecodeStoredRoute ¶
DecodeStoredRoute decodes a persisted route config and converts it to a runtime route.
Types ¶
type AgentRouteConfig ¶
type AgentRouteConfig = routecore.AgentRouteConfig
type DirectProviderTarget ¶
type DirectProviderTarget struct {
ProviderID string `json:"provider_id"`
}
type LLMRoute ¶
type LLMRoute struct {
AgentRouteConfig
TargetPolicy RouteTargetPolicy
State LLMRouteState
}
LLMRoute is the runtime gateway route instance used by dispatch and resolution.
func NewLLMRouteFromConfig ¶
func NewLLMRouteFromConfig(cfg AgentRouteConfig) (LLMRoute, error)
func NewRuntimeLLMRoute ¶
func NewRuntimeLLMRoute(cfg LLMRouteConfig) LLMRoute
func (LLMRoute) Config ¶
func (r LLMRoute) Config() LLMRouteConfig
func (LLMRoute) MarshalJSON ¶
func (*LLMRoute) NormalizeTimestamps ¶
func (LLMRoute) ProviderIDs ¶
func (LLMRoute) ResolveTarget ¶
func (r LLMRoute) ResolveTarget(ctx context.Context, catalog ModelCatalogResolver, providers ProviderConfigResolver, req RequestRequirements) (*ResolvedTarget, error)
func (LLMRoute) ToConfig ¶
func (r LLMRoute) ToConfig() (AgentRouteConfig, error)
func (*LLMRoute) UnmarshalJSON ¶
func (LLMRoute) UsesLogicalModel ¶
func (LLMRoute) ValidateDefinition ¶
func (LLMRoute) ValidateStaticDefinition ¶
type LLMRouteConfig ¶
type LLMRouteConfig struct {
AgentRouteConfig
TargetPolicy RouteTargetPolicy
}
LLMRouteConfig is the expanded configuration form of an LLM route.
func NewLLMRouteConfigFromConfig ¶
func NewLLMRouteConfigFromConfig(cfg AgentRouteConfig) (LLMRouteConfig, error)
func (LLMRouteConfig) MarshalJSON ¶
func (r LLMRouteConfig) MarshalJSON() ([]byte, error)
func (*LLMRouteConfig) Normalize ¶
func (r *LLMRouteConfig) Normalize()
Normalize fills defaults on a route config value before it is used.
func (*LLMRouteConfig) NormalizeTimestamps ¶
func (r *LLMRouteConfig) NormalizeTimestamps(now time.Time)
func (LLMRouteConfig) ProviderIDs ¶
func (r LLMRouteConfig) ProviderIDs() []string
func (LLMRouteConfig) ResolveTarget ¶
func (r LLMRouteConfig) ResolveTarget(ctx context.Context, catalog ModelCatalogResolver, providers ProviderConfigResolver, req RequestRequirements) (*ResolvedTarget, error)
func (LLMRouteConfig) ToConfig ¶
func (r LLMRouteConfig) ToConfig() (AgentRouteConfig, error)
func (*LLMRouteConfig) UnmarshalJSON ¶
func (r *LLMRouteConfig) UnmarshalJSON(data []byte) error
func (LLMRouteConfig) UsesLogicalModel ¶
func (r LLMRouteConfig) UsesLogicalModel() bool
func (LLMRouteConfig) ValidateDefinition ¶
func (r LLMRouteConfig) ValidateDefinition() error
func (LLMRouteConfig) ValidateStaticDefinition ¶
func (r LLMRouteConfig) ValidateStaticDefinition() error
type LLMRouteResolver ¶
type LLMRouteResolver struct {
// contains filtered or unexported fields
}
func NewLLMRouteResolver ¶
func NewLLMRouteResolver(configManager *routecore.AgentRouteConfigManager) *LLMRouteResolver
func (*LLMRouteResolver) ConfigManager ¶
func (r *LLMRouteResolver) ConfigManager() *routecore.AgentRouteConfigManager
func (*LLMRouteResolver) CreateConfig ¶
func (r *LLMRouteResolver) CreateConfig(ctx context.Context, route routecore.AgentRouteConfig, tag string) error
func (*LLMRouteResolver) DeleteConfig ¶
func (r *LLMRouteResolver) DeleteConfig(ctx context.Context, routeID string) error
func (*LLMRouteResolver) GetConfig ¶
func (r *LLMRouteResolver) GetConfig(ctx context.Context, routeID string) (routecore.AgentRouteConfig, error)
func (*LLMRouteResolver) ListConfigs ¶
func (r *LLMRouteResolver) ListConfigs(ctx context.Context, opts routecore.RouteListOptions) ([]routecore.AgentRouteConfig, error)
func (*LLMRouteResolver) Resolve ¶
func (r *LLMRouteResolver) Resolve(ctx context.Context, cfg routecore.AgentRouteConfig) (*LLMRoute, error)
func (*LLMRouteResolver) ResolveByID ¶
func (*LLMRouteResolver) UpdateConfig ¶
func (r *LLMRouteResolver) UpdateConfig(ctx context.Context, routeID string, route routecore.AgentRouteConfig) error
func (*LLMRouteResolver) Validate ¶
func (r *LLMRouteResolver) Validate(ctx context.Context, routeID string, resolver ProviderResolver) error
type LLMRouteState ¶
type LLMRouteState struct{}
LLMRouteState holds runtime-only state for a resolved route.
type ModelCatalogResolver ¶
type ModelCatalogResolver interface {
GetManagedModel(ctx context.Context, providerID string, upstreamModel string) (*modelcatalog.ManagedModel, bool, error)
GetResolvedManagedModel(ctx context.Context, providerID string, upstreamModel string) (*modelcatalog.ResolvedManagedModel, bool, error)
}
type ProviderConfigResolver ¶
type ProviderResolver ¶
type RequestRequirements ¶
type RequestRequirements struct {
Model string
RequireStreaming bool
RequireTools bool
RequireVision bool
RequireEmbeddings bool
ExcludedCandidates map[string]struct{}
}
RequestRequirements captures request attributes required for route resolution. Model means logical model ID in logical-model mode and upstream model in direct mode.
type ResolvedTarget ¶
type RouteAuthPolicy ¶
type RouteAuthPolicy = routecore.RouteAuthPolicy
type RouteCredentialScope ¶
type RouteCredentialScope string
const ( RouteCredentialScopeModelCustom RouteCredentialScope = "model_custom" RouteCredentialScopeProviderID RouteCredentialScope = "provider_id" )
type RouteCredentialSelectStrategy ¶
type RouteCredentialSelectStrategy string
const ( RouteCredentialSelectRoundRobin RouteCredentialSelectStrategy = "round_robin" RouteCredentialSelectFillFirst RouteCredentialSelectStrategy = "fill_first" )
type RouteCredentialType ¶
type RouteCredentialType string
const ( RouteCredentialTypeAPIKey RouteCredentialType = "api_key" RouteCredentialTypeCLIAuthToken RouteCredentialType = "cliauth_token" )
type RouteDirectProviderPolicy ¶
type RouteDirectProviderPolicy struct {
RouteTargetPolicyCommon
ProviderID string `json:"provider_id,omitempty"`
ProviderTarget DirectProviderTarget `json:"provider_target,omitempty"`
}
func DirectProviderPolicyOf ¶
func DirectProviderPolicyOf(policy RouteTargetPolicy) (*RouteDirectProviderPolicy, bool)
func (*RouteDirectProviderPolicy) CredentialScopeOrder ¶
func (p *RouteDirectProviderPolicy) CredentialScopeOrder() []RouteCredentialScope
func (*RouteDirectProviderPolicy) CredentialSelector ¶
func (p *RouteDirectProviderPolicy) CredentialSelector() RouteCredentialSelectStrategy
func (*RouteDirectProviderPolicy) CredentialTypeOrder ¶
func (p *RouteDirectProviderPolicy) CredentialTypeOrder() []RouteCredentialType
func (*RouteDirectProviderPolicy) FallbackPolicy ¶
func (p *RouteDirectProviderPolicy) FallbackPolicy() RouteFallbackPolicy
func (RouteDirectProviderPolicy) MarshalJSON ¶
func (p RouteDirectProviderPolicy) MarshalJSON() ([]byte, error)
func (*RouteDirectProviderPolicy) Normalize ¶
func (p *RouteDirectProviderPolicy) Normalize()
func (*RouteDirectProviderPolicy) PolicyKind ¶
func (p *RouteDirectProviderPolicy) PolicyKind() RouteTargetPolicyKind
func (*RouteDirectProviderPolicy) ProviderIDs ¶
func (p *RouteDirectProviderPolicy) ProviderIDs() []string
func (*RouteDirectProviderPolicy) ResolveTarget ¶
func (p *RouteDirectProviderPolicy) ResolveTarget(ctx context.Context, routeID string, _ ModelCatalogResolver, providers ProviderConfigResolver, req RequestRequirements) (*ResolvedTarget, error)
func (*RouteDirectProviderPolicy) ValidateDefinition ¶
func (p *RouteDirectProviderPolicy) ValidateDefinition(routeID string) error
type RouteFallbackPolicy ¶
type RouteLogicalModelTargetPolicy ¶
type RouteLogicalModelTargetPolicy struct {
RouteTargetPolicyCommon
DefaultModel string `json:"default_model,omitempty"`
ModelSelectorStrategy RouteSelectionStrategy `json:"model_selector_strategy,omitempty"`
Fallback RouteFallbackPolicy `json:"fallback,omitempty"`
ModelTargets []RouteModelTarget `json:"model_targets,omitempty"`
}
func LogicalModelTargetPolicyOf ¶
func LogicalModelTargetPolicyOf(policy RouteTargetPolicy) (*RouteLogicalModelTargetPolicy, bool)
func (*RouteLogicalModelTargetPolicy) CredentialScopeOrder ¶
func (p *RouteLogicalModelTargetPolicy) CredentialScopeOrder() []RouteCredentialScope
func (*RouteLogicalModelTargetPolicy) CredentialSelector ¶
func (p *RouteLogicalModelTargetPolicy) CredentialSelector() RouteCredentialSelectStrategy
func (*RouteLogicalModelTargetPolicy) CredentialTypeOrder ¶
func (p *RouteLogicalModelTargetPolicy) CredentialTypeOrder() []RouteCredentialType
func (*RouteLogicalModelTargetPolicy) FallbackPolicy ¶
func (p *RouteLogicalModelTargetPolicy) FallbackPolicy() RouteFallbackPolicy
func (RouteLogicalModelTargetPolicy) MarshalJSON ¶
func (p RouteLogicalModelTargetPolicy) MarshalJSON() ([]byte, error)
func (*RouteLogicalModelTargetPolicy) Normalize ¶
func (p *RouteLogicalModelTargetPolicy) Normalize()
func (*RouteLogicalModelTargetPolicy) PolicyKind ¶
func (p *RouteLogicalModelTargetPolicy) PolicyKind() RouteTargetPolicyKind
func (*RouteLogicalModelTargetPolicy) ProviderIDs ¶
func (p *RouteLogicalModelTargetPolicy) ProviderIDs() []string
func (*RouteLogicalModelTargetPolicy) ResolveTarget ¶
func (p *RouteLogicalModelTargetPolicy) ResolveTarget(ctx context.Context, routeID string, catalog ModelCatalogResolver, providers ProviderConfigResolver, req RequestRequirements) (*ResolvedTarget, error)
func (*RouteLogicalModelTargetPolicy) ValidateDefinition ¶
func (p *RouteLogicalModelTargetPolicy) ValidateDefinition(routeID string) error
type RouteMatchPolicy ¶
type RouteMatchPolicy = routecore.RouteMatchPolicy
type RouteModelCandidate ¶
type RouteModelTarget ¶
type RouteModelTarget struct {
Name string `json:"name"`
Strategy RouteSelectionStrategy `json:"strategy,omitempty"`
DefaultCandidate string `json:"default_candidate,omitempty"`
Candidates []RouteModelCandidate `json:"candidates,omitempty"`
}
type RouteProtocol ¶
type RouteProtocol = routecore.RouteProtocol
type RouteSelectionStrategy ¶
type RouteSelectionStrategy string
RouteSelectionStrategy controls how a route prefers model candidates.
const ( RouteSelectionStrategyAuto RouteSelectionStrategy = "auto" RouteSelectionStrategyWeighted RouteSelectionStrategy = "weighted" RouteSelectionStrategyPriority RouteSelectionStrategy = "priority" )
type RouteTargetPolicy ¶
type RouteTargetPolicy interface {
Normalize()
PolicyKind() RouteTargetPolicyKind
ValidateDefinition(routeID string) error
ResolveTarget(ctx context.Context, routeID string, catalog ModelCatalogResolver, providers ProviderConfigResolver, req RequestRequirements) (*ResolvedTarget, error)
ProviderIDs() []string
CredentialSelector() RouteCredentialSelectStrategy
CredentialScopeOrder() []RouteCredentialScope
CredentialTypeOrder() []RouteCredentialType
FallbackPolicy() RouteFallbackPolicy
}
type RouteTargetPolicyCommon ¶
type RouteTargetPolicyCommon struct {
CredentialSelectorValue RouteCredentialSelectStrategy `json:"credential_selector,omitempty"`
CredentialScopeOrderValue []RouteCredentialScope `json:"credential_scope_order,omitempty"`
CredentialTypeOrderValue []RouteCredentialType `json:"credential_type_order,omitempty"`
}
func (RouteTargetPolicyCommon) CredentialScopeOrder ¶
func (c RouteTargetPolicyCommon) CredentialScopeOrder() []RouteCredentialScope
func (RouteTargetPolicyCommon) CredentialSelector ¶
func (c RouteTargetPolicyCommon) CredentialSelector() RouteCredentialSelectStrategy
func (RouteTargetPolicyCommon) CredentialTypeOrder ¶
func (c RouteTargetPolicyCommon) CredentialTypeOrder() []RouteCredentialType
func (*RouteTargetPolicyCommon) Normalize ¶
func (c *RouteTargetPolicyCommon) Normalize()
type RouteTargetPolicyKind ¶
type RouteTargetPolicyKind string
const ( RouteTargetPolicyKindDirectProvider RouteTargetPolicyKind = "direct-provider" RouteTargetPolicyKindLogicalModel RouteTargetPolicyKind = "logical-model" )
Click to show internal directories.
Click to hide internal directories.