Documentation
¶
Index ¶
- Variables
- type AgentGateway
- func (g *AgentGateway) AgentRouteManager() *routepkg.AgentRouteManager
- 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) ModelCatalog() modelcatalog.Service
- func (g *AgentGateway) NewRoutedProvider(route routepkg.AgentRoute, requestRequirements routepkg.RequestRequirements) (*RoutedProvider, error)
- func (g *AgentGateway) ProviderManager() *ProviderManager
- func (g *AgentGateway) Reset()
- func (g *AgentGateway) ResolveRoute(ctx context.Context, r *http.Request) (routepkg.AgentRoute, error)
- func (g *AgentGateway) ResolveVirtualKey(ctx context.Context, httpReq *http.Request, r routepkg.AgentRoute) (*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) IsConfigured() bool
- 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) AgentRouteManager ¶
func (g *AgentGateway) AgentRouteManager() *routepkg.AgentRouteManager
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) ModelCatalog ¶
func (g *AgentGateway) ModelCatalog() modelcatalog.Service
func (*AgentGateway) NewRoutedProvider ¶
func (g *AgentGateway) NewRoutedProvider(route routepkg.AgentRoute, requestRequirements routepkg.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) (routepkg.AgentRoute, error)
func (*AgentGateway) ResolveVirtualKey ¶
func (g *AgentGateway) ResolveVirtualKey(ctx context.Context, httpReq *http.Request, r routepkg.AgentRoute) (*virtualkeypkg.VirtualKey, error)
func (*AgentGateway) VirtualKeyManager ¶
func (g *AgentGateway) VirtualKeyManager() *virtualkeypkg.VirtualKeyManager
type BootstrapOptions ¶
type BootstrapOptions struct {
StaticRoutes []routepkg.AgentRoute
StaticVirtualKeys []virtualkeypkg.VirtualKey
StaticProviders map[string]provider.Provider
ConfigStoreBackend configstore.ConfigStoreBackend
CLIAuthManager *cliauth.Manager
CLIAuthRefresher *cliauth.AutoRefresher
CredentialManager *credentialmgr.Manager
CredentialScheduler credentialmgrscheduler.CredentialScheduler
StaticModels []modelcatalog.ManagedModel
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) IsConfigured ¶
func (m *ProviderManager) IsConfigured() bool
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 AgentRouteManager/VirtualKeyManager, 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)