Documentation
¶
Index ¶
- Variables
- func DecodeStoredAgentRouteConfig(data []byte) (any, error)
- type AgentRouteConfig
- type AgentRouteConfigManager
- func (m *AgentRouteConfigManager) Create(ctx context.Context, route AgentRouteConfig, tag string) error
- func (m *AgentRouteConfigManager) Delete(ctx context.Context, routeID string) error
- func (m *AgentRouteConfigManager) Get(ctx context.Context, routeID string) (AgentRouteConfig, error)
- func (m *AgentRouteConfigManager) InitStaticRoutes(routes []AgentRouteConfig)
- func (m *AgentRouteConfigManager) IsStatic(routeID string) bool
- func (m *AgentRouteConfigManager) List(ctx context.Context, opts RouteListOptions) ([]AgentRouteConfig, error)
- func (m *AgentRouteConfigManager) Match(ctx context.Context, r *http.Request) (AgentRouteConfig, bool, error)
- func (m *AgentRouteConfigManager) Reset()
- func (m *AgentRouteConfigManager) Update(ctx context.Context, routeID string, route AgentRouteConfig) error
- type RouteAuthPolicy
- type RouteKind
- type RouteListOptions
- type RouteMatchPolicy
- type RouteProtocol
- type RouteTargetPolicyKind
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrRouteNotConfigured = errors.New("route is not configured") ErrStaticRouteReadOnly = errors.New("static route is read-only") )
Functions ¶
Types ¶
type AgentRouteConfig ¶
type AgentRouteConfig struct {
ID string `json:"id"`
Kind RouteKind `json:"kind"`
Protocol RouteProtocol `json:"protocol"`
Description string `json:"description,omitempty"`
Disabled bool `json:"disabled"`
AuthPolicy RouteAuthPolicy `json:"auth_policy"`
MatchPolicy RouteMatchPolicy `json:"match_policy"`
TargetPolicy json.RawMessage `json:"target_policy"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
func MatchManagers ¶
func MatchManagers(ctx context.Context, r *http.Request, managers ...*AgentRouteConfigManager) (AgentRouteConfig, bool, error)
func MatchRouteConfigs ¶
func MatchRouteConfigs(routes []AgentRouteConfig, r *http.Request) (AgentRouteConfig, bool)
type AgentRouteConfigManager ¶
type AgentRouteConfigManager struct {
// contains filtered or unexported fields
}
func NewAgentRouteConfigManager ¶
func NewAgentRouteConfigManager(store configstore.ConfigStore) *AgentRouteConfigManager
func (*AgentRouteConfigManager) Create ¶
func (m *AgentRouteConfigManager) Create(ctx context.Context, route AgentRouteConfig, tag string) error
func (*AgentRouteConfigManager) Delete ¶
func (m *AgentRouteConfigManager) Delete(ctx context.Context, routeID string) error
func (*AgentRouteConfigManager) Get ¶
func (m *AgentRouteConfigManager) Get(ctx context.Context, routeID string) (AgentRouteConfig, error)
func (*AgentRouteConfigManager) InitStaticRoutes ¶
func (m *AgentRouteConfigManager) InitStaticRoutes(routes []AgentRouteConfig)
func (*AgentRouteConfigManager) IsStatic ¶
func (m *AgentRouteConfigManager) IsStatic(routeID string) bool
func (*AgentRouteConfigManager) List ¶
func (m *AgentRouteConfigManager) List(ctx context.Context, opts RouteListOptions) ([]AgentRouteConfig, error)
func (*AgentRouteConfigManager) Match ¶
func (m *AgentRouteConfigManager) Match(ctx context.Context, r *http.Request) (AgentRouteConfig, bool, error)
Match resolves the most specific route config whose MatchPolicy accepts the request.
func (*AgentRouteConfigManager) Reset ¶
func (m *AgentRouteConfigManager) Reset()
func (*AgentRouteConfigManager) Update ¶
func (m *AgentRouteConfigManager) Update(ctx context.Context, routeID string, route AgentRouteConfig) error
type RouteAuthPolicy ¶
type RouteAuthPolicy struct {
RequireVirtualKey bool `json:"require_virtual_key"`
}
type RouteListOptions ¶
type RouteMatchPolicy ¶
type RouteMatchPolicy struct {
Host string `json:"host,omitempty"`
PathPrefix string `json:"path_prefix,omitempty"`
Methods []string `json:"methods,omitempty"`
}
RouteMatchPolicy contains transport-facing match fields for binding requests to a route.
type RouteProtocol ¶
type RouteProtocol string
const ( RouteProtocolOpenAI RouteProtocol = "openai" RouteProtocolAnthropic RouteProtocol = "anthropic" RouteProtocolCC RouteProtocol = "cc" RouteProtocolMCP RouteProtocol = "mcp" )
type RouteTargetPolicyKind ¶
type RouteTargetPolicyKind string
const ( RouteTargetPolicyKindDirectProvider RouteTargetPolicyKind = "direct-provider" RouteTargetPolicyKindLogicalModel RouteTargetPolicyKind = "logical-model" RouteTargetPolicyKindMCPService RouteTargetPolicyKind = "mcp-service" )
Click to show internal directories.
Click to hide internal directories.