Documentation
¶
Index ¶
- func SyncRegistry(ctx context.Context, logger *slog.Logger, queries dbstore.Queries, ...) error
- type ConfigSchema
- type FieldSchema
- type ImportModelsResponse
- type ModelInfo
- type ModelResponse
- type ProviderDefinition
- type ProviderFactory
- type ProviderMetaResponse
- type ProviderResponse
- type Registry
- type Service
- func (s *Service) FetchRemoteModels(ctx context.Context, providerID string) ([]ModelInfo, error)
- func (s *Service) GetModel(ctx context.Context, id string) (ModelResponse, error)
- func (s *Service) GetProvider(ctx context.Context, id string) (ProviderResponse, error)
- func (s *Service) ListMeta(_ context.Context) []ProviderMetaResponse
- func (s *Service) ListModels(ctx context.Context) ([]ModelResponse, error)
- func (s *Service) ListModelsByProvider(ctx context.Context, providerID string) ([]ModelResponse, error)
- func (s *Service) ListProviders(ctx context.Context) ([]ProviderResponse, error)
- func (s *Service) Registry() *Registry
- func (s *Service) ResolveVideoModel(ctx context.Context, modelID string) (*sdk.VideoModel, map[string]any, error)
- func (s *Service) UpdateModel(ctx context.Context, id string, req UpdateModelRequest) (ModelResponse, error)
- type UpdateModelRequest
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type ConfigSchema ¶
type ConfigSchema struct {
Fields []FieldSchema `json:"fields"`
}
type FieldSchema ¶
type FieldSchema struct {
Key string `json:"key"`
Type string `json:"type"`
Title string `json:"title,omitempty"`
Description string `json:"description,omitempty"`
Required bool `json:"required,omitempty"`
Advanced bool `json:"advanced,omitempty"`
Enum []string `json:"enum,omitempty"`
Example any `json:"example,omitempty"`
Order int `json:"order"`
}
type ImportModelsResponse ¶
type ModelInfo ¶
type ModelInfo struct {
ID string `json:"id"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
ConfigSchema ConfigSchema `json:"config_schema,omitempty"`
}
type ModelResponse ¶
type ModelResponse struct {
ID string `json:"id"`
ModelID string `json:"model_id"`
Name string `json:"name"`
ProviderID string `json:"provider_id"`
ProviderType string `json:"provider_type,omitempty"`
Config map[string]any `json:"config,omitempty"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
type ProviderDefinition ¶
type ProviderDefinition struct {
ClientType models.ClientType
DisplayName string
Icon string
Description string
ConfigSchema ConfigSchema
DefaultModel string
SupportsList bool
Models []ModelInfo
Factory ProviderFactory
Order int
}
type ProviderFactory ¶
type ProviderFactory func(config map[string]any) (sdk.VideoProvider, error)
type ProviderMetaResponse ¶
type ProviderMetaResponse struct {
Provider string `json:"provider"`
DisplayName string `json:"display_name"`
Description string `json:"description"`
ConfigSchema ConfigSchema `json:"config_schema,omitempty"`
DefaultModel string `json:"default_model,omitempty"`
Models []ModelInfo `json:"models,omitempty"`
SupportsList bool `json:"supports_list,omitempty"`
}
type ProviderResponse ¶
type ProviderResponse struct {
ID string `json:"id"`
Name string `json:"name"`
ClientType string `json:"client_type"`
Icon string `json:"icon,omitempty"`
Enable bool `json:"enable"`
Config map[string]any `json:"config,omitempty"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
type Registry ¶
type Registry struct {
// contains filtered or unexported fields
}
func NewRegistry ¶
func NewRegistry() *Registry
func (*Registry) Get ¶
func (r *Registry) Get(clientType models.ClientType) (ProviderDefinition, error)
func (*Registry) List ¶
func (r *Registry) List() []ProviderDefinition
func (*Registry) ListMeta ¶
func (r *Registry) ListMeta() []ProviderMetaResponse
func (*Registry) Register ¶
func (r *Registry) Register(def ProviderDefinition)
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
func NewService ¶
func (*Service) FetchRemoteModels ¶
func (*Service) GetProvider ¶
func (*Service) ListModels ¶
func (s *Service) ListModels(ctx context.Context) ([]ModelResponse, error)
func (*Service) ListModelsByProvider ¶
func (*Service) ListProviders ¶
func (s *Service) ListProviders(ctx context.Context) ([]ProviderResponse, error)
func (*Service) ResolveVideoModel ¶
func (*Service) UpdateModel ¶
func (s *Service) UpdateModel(ctx context.Context, id string, req UpdateModelRequest) (ModelResponse, error)
type UpdateModelRequest ¶
Click to show internal directories.
Click to hide internal directories.