gateway

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 22, 2026 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrProviderNotConfigured  = errors.New("provider is not configured")
	ErrProviderDisabled       = errors.New("provider is disabled")
	ErrStaticProviderReadOnly = errors.New("static provider is read-only")
)

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 (*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 (*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

type ProviderResolverFunc func(ctx context.Context, providerID string) (provider.Provider, error)

ProviderResolverFunc adapts a function into ProviderResolver.

func (ProviderResolverFunc) ResolveProvider

func (f ProviderResolverFunc) ResolveProvider(ctx context.Context, providerID string) (provider.Provider, error)

type RoutedProvider

type RoutedProvider struct {
	// contains filtered or unexported fields
}

func (*RoutedProvider) Capabilities

func (p *RoutedProvider) Capabilities() provider.ProviderCapabilities

func (*RoutedProvider) Chat

func (*RoutedProvider) Config

func (*RoutedProvider) CreateResponses

func (*RoutedProvider) ListModels

func (p *RoutedProvider) ListModels(ctx context.Context) ([]provider.ModelInfo, error)

func (*RoutedProvider) StreamChat

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL