Documentation
¶
Index ¶
- Variables
- type AgentGateway
- func (g *AgentGateway) AgentRouteConfigManager() *routecore.AgentRouteConfigManager
- func (g *AgentGateway) Bootstrap(ctx context.Context, opts BootstrapOptions) error
- func (g *AgentGateway) CLIAuthManager() *cliauth.Manager
- func (g *AgentGateway) CLIAuthRefresher() *cliauth.AutoRefresher
- func (g *AgentGateway) ConfigStoreBackend() configstore.ConfigStoreBackend
- func (g *AgentGateway) CredentialManager() *credentialmgr.Manager
- func (g *AgentGateway) CredentialScheduler() credentialmgrscheduler.CredentialScheduler
- func (g *AgentGateway) LLMRouteResolver() *llmroutepkg.LLMRouteResolver
- func (g *AgentGateway) MCPRouteConfigManager() *routecore.AgentRouteConfigManager
- func (g *AgentGateway) MCPRouteResolver() *mcproutepkg.MCPRouteResolver
- func (g *AgentGateway) MCPRuntimeRegistry() *mcpruntime.Registry
- func (g *AgentGateway) MCPServiceManager() *mcpservice.Manager
- func (g *AgentGateway) Match(ctx context.Context, r *http.Request) (routecore.AgentRouteConfig, error)
- func (g *AgentGateway) ModelCatalog() modelcatalog.Service
- func (g *AgentGateway) NewRoutedProvider(route *llmroutepkg.LLMRoute, ...) (*RoutedProvider, error)
- func (g *AgentGateway) ProviderManager() *ProviderManager
- func (g *AgentGateway) Reset()
- func (g *AgentGateway) ResolveRoute(ctx context.Context, r *http.Request) (*llmroutepkg.LLMRoute, error)
- func (g *AgentGateway) ResolveVirtualKey(ctx context.Context, httpReq *http.Request, r routecore.AgentRouteConfig) (*virtualkeypkg.VirtualKey, error)
- func (g *AgentGateway) VirtualKeyManager() *virtualkeypkg.VirtualKeyManager
- type BootstrapOptions
- type ProviderListOptions
- type ProviderManager
- func (m *ProviderManager) CreateConfig(ctx context.Context, cfg provider.ProviderConfig) error
- func (m *ProviderManager) DeleteConfig(ctx context.Context, providerID string) error
- func (m *ProviderManager) GetConfig(ctx context.Context, providerID string) (provider.ProviderConfig, error)
- func (m *ProviderManager) InitStaticProviders(providers map[string]provider.Provider) error
- func (m *ProviderManager) IsStatic(providerID string) bool
- func (m *ProviderManager) ListConfigs(ctx context.Context, opts ProviderListOptions) ([]provider.ProviderConfig, error)
- func (m *ProviderManager) Reset()
- func (m *ProviderManager) ResolveProvider(ctx context.Context, providerID string) (provider.Provider, error)
- func (m *ProviderManager) UpdateConfig(ctx context.Context, providerID string, cfg provider.ProviderConfig) error
- type ProviderResolver
- type ProviderResolverFunc
- type RoutedProvider
- func (p *RoutedProvider) Capabilities() provider.ProviderCapabilities
- func (p *RoutedProvider) Chat(ctx context.Context, req *provider.ChatRequest) (*provider.ChatResponse, error)
- func (p *RoutedProvider) Config() provider.ProviderConfig
- func (p *RoutedProvider) CreateResponses(ctx context.Context, req *provider.ResponsesRequest) (*provider.ResponsesResponse, error)
- func (p *RoutedProvider) ListModels(ctx context.Context) ([]provider.ModelInfo, error)
- func (p *RoutedProvider) StreamChat(ctx context.Context, req *provider.ChatRequest) (*schema.StreamReader[*schema.Message], error)
- func (p *RoutedProvider) StreamResponses(ctx context.Context, req *provider.ResponsesRequest) (*schema.StreamReader[*provider.ResponsesStreamEvent], error)
Constants ¶
This section is empty.
Variables ¶
Functions ¶
This section is empty.
Types ¶
type AgentGateway ¶
type AgentGateway struct {
// contains filtered or unexported fields
}
func NewAgentGateway ¶
func NewAgentGateway() *AgentGateway
func (*AgentGateway) AgentRouteConfigManager ¶ added in v0.1.0
func (g *AgentGateway) AgentRouteConfigManager() *routecore.AgentRouteConfigManager
func (*AgentGateway) Bootstrap ¶
func (g *AgentGateway) Bootstrap(ctx context.Context, opts BootstrapOptions) error
func (*AgentGateway) CLIAuthManager ¶
func (g *AgentGateway) CLIAuthManager() *cliauth.Manager
func (*AgentGateway) CLIAuthRefresher ¶
func (g *AgentGateway) CLIAuthRefresher() *cliauth.AutoRefresher
func (*AgentGateway) ConfigStoreBackend ¶
func (g *AgentGateway) ConfigStoreBackend() configstore.ConfigStoreBackend
func (*AgentGateway) CredentialManager ¶
func (g *AgentGateway) CredentialManager() *credentialmgr.Manager
func (*AgentGateway) CredentialScheduler ¶
func (g *AgentGateway) CredentialScheduler() credentialmgrscheduler.CredentialScheduler
func (*AgentGateway) LLMRouteResolver ¶ added in v0.1.0
func (g *AgentGateway) LLMRouteResolver() *llmroutepkg.LLMRouteResolver
func (*AgentGateway) MCPRouteConfigManager ¶ added in v0.1.0
func (g *AgentGateway) MCPRouteConfigManager() *routecore.AgentRouteConfigManager
func (*AgentGateway) MCPRouteResolver ¶ added in v0.1.0
func (g *AgentGateway) MCPRouteResolver() *mcproutepkg.MCPRouteResolver
func (*AgentGateway) MCPRuntimeRegistry ¶ added in v0.1.0
func (g *AgentGateway) MCPRuntimeRegistry() *mcpruntime.Registry
func (*AgentGateway) MCPServiceManager ¶ added in v0.1.0
func (g *AgentGateway) MCPServiceManager() *mcpservice.Manager
func (*AgentGateway) Match ¶ added in v0.1.0
func (g *AgentGateway) Match(ctx context.Context, r *http.Request) (routecore.AgentRouteConfig, error)
func (*AgentGateway) ModelCatalog ¶
func (g *AgentGateway) ModelCatalog() modelcatalog.Service
func (*AgentGateway) NewRoutedProvider ¶
func (g *AgentGateway) NewRoutedProvider(route *llmroutepkg.LLMRoute, requestRequirements llmroutepkg.RequestRequirements) (*RoutedProvider, error)
func (*AgentGateway) ProviderManager ¶
func (g *AgentGateway) ProviderManager() *ProviderManager
func (*AgentGateway) Reset ¶
func (g *AgentGateway) Reset()
func (*AgentGateway) ResolveRoute ¶
func (g *AgentGateway) ResolveRoute(ctx context.Context, r *http.Request) (*llmroutepkg.LLMRoute, error)
func (*AgentGateway) ResolveVirtualKey ¶
func (g *AgentGateway) ResolveVirtualKey(ctx context.Context, httpReq *http.Request, r routecore.AgentRouteConfig) (*virtualkeypkg.VirtualKey, error)
func (*AgentGateway) VirtualKeyManager ¶
func (g *AgentGateway) VirtualKeyManager() *virtualkeypkg.VirtualKeyManager
type BootstrapOptions ¶
type BootstrapOptions struct {
StaticLLMRoutes []routecore.AgentRouteConfig
StaticMCPRoutes []routecore.AgentRouteConfig
StaticProviders map[string]provider.Provider
ConfigStoreBackend configstore.ConfigStoreBackend
CLIAuthManager *cliauth.Manager
CLIAuthRefresher *cliauth.AutoRefresher
CredentialManager *credentialmgr.Manager
CredentialScheduler credentialmgrscheduler.CredentialScheduler
Logger *zap.Logger
}
type ProviderListOptions ¶
type ProviderListOptions struct {
ProviderType string
}
type ProviderManager ¶
type ProviderManager struct {
// contains filtered or unexported fields
}
func NewProviderManager ¶
func NewProviderManager(store configstore.ConfigStore) *ProviderManager
func (*ProviderManager) CreateConfig ¶
func (m *ProviderManager) CreateConfig(ctx context.Context, cfg provider.ProviderConfig) error
func (*ProviderManager) DeleteConfig ¶
func (m *ProviderManager) DeleteConfig(ctx context.Context, providerID string) error
func (*ProviderManager) GetConfig ¶
func (m *ProviderManager) GetConfig(ctx context.Context, providerID string) (provider.ProviderConfig, error)
func (*ProviderManager) InitStaticProviders ¶
func (m *ProviderManager) InitStaticProviders(providers map[string]provider.Provider) error
func (*ProviderManager) IsStatic ¶
func (m *ProviderManager) IsStatic(providerID string) bool
func (*ProviderManager) ListConfigs ¶
func (m *ProviderManager) ListConfigs(ctx context.Context, opts ProviderListOptions) ([]provider.ProviderConfig, error)
func (*ProviderManager) Reset ¶
func (m *ProviderManager) Reset()
func (*ProviderManager) ResolveProvider ¶
func (m *ProviderManager) ResolveProvider(ctx context.Context, providerID string) (provider.Provider, error)
ResolveProvider resolves a provider ID to a live provider instance.
For dynamic (store-backed) providers, the store is consulted on every call to detect config changes at runtime. If the config fingerprint has not changed since the last call, the cached provider instance is reused to avoid re-establishing connections. This is intentionally different from the route config manager and virtual key manager, which skip the store on cache hit, because provider config changes (API keys, base URLs) must take effect without a gateway restart.
func (*ProviderManager) UpdateConfig ¶
func (m *ProviderManager) UpdateConfig(ctx context.Context, providerID string, cfg provider.ProviderConfig) error
type ProviderResolver ¶
type ProviderResolver interface {
ResolveProvider(ctx context.Context, providerID string) (provider.Provider, error)
}
ProviderResolver resolves a provider ID into an executable provider instance.
type ProviderResolverFunc ¶
ProviderResolverFunc adapts a function into ProviderResolver.
func (ProviderResolverFunc) ResolveProvider ¶
type RoutedProvider ¶
type RoutedProvider struct {
// contains filtered or unexported fields
}
func (*RoutedProvider) Capabilities ¶
func (p *RoutedProvider) Capabilities() provider.ProviderCapabilities
func (*RoutedProvider) Chat ¶
func (p *RoutedProvider) Chat(ctx context.Context, req *provider.ChatRequest) (*provider.ChatResponse, error)
func (*RoutedProvider) Config ¶
func (p *RoutedProvider) Config() provider.ProviderConfig
func (*RoutedProvider) CreateResponses ¶
func (p *RoutedProvider) CreateResponses(ctx context.Context, req *provider.ResponsesRequest) (*provider.ResponsesResponse, error)
func (*RoutedProvider) ListModels ¶
func (*RoutedProvider) StreamChat ¶
func (p *RoutedProvider) StreamChat(ctx context.Context, req *provider.ChatRequest) (*schema.StreamReader[*schema.Message], error)
func (*RoutedProvider) StreamResponses ¶
func (p *RoutedProvider) StreamResponses(ctx context.Context, req *provider.ResponsesRequest) (*schema.StreamReader[*provider.ResponsesStreamEvent], error)