video

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Nov 1, 2026 License: AGPL-3.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SyncRegistry

func SyncRegistry(ctx context.Context, logger *slog.Logger, queries dbstore.Queries, registry *Registry) error

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 ImportModelsResponse struct {
	Created int      `json:"created"`
	Skipped int      `json:"skipped"`
	Models  []string `json:"models"`
}

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 NewService(log *slog.Logger, queries dbstore.Queries, registry *Registry) *Service

func (*Service) FetchRemoteModels

func (s *Service) FetchRemoteModels(ctx context.Context, providerID string) ([]ModelInfo, error)

func (*Service) GetModel

func (s *Service) GetModel(ctx context.Context, id string) (ModelResponse, error)

func (*Service) GetProvider

func (s *Service) GetProvider(ctx context.Context, id string) (ProviderResponse, error)

func (*Service) ListMeta

func (s *Service) ListMeta(_ context.Context) []ProviderMetaResponse

func (*Service) ListModels

func (s *Service) ListModels(ctx context.Context) ([]ModelResponse, error)

func (*Service) ListModelsByProvider

func (s *Service) ListModelsByProvider(ctx context.Context, providerID string) ([]ModelResponse, error)

func (*Service) ListProviders

func (s *Service) ListProviders(ctx context.Context) ([]ProviderResponse, error)

func (*Service) Registry

func (s *Service) Registry() *Registry

func (*Service) ResolveVideoModel

func (s *Service) ResolveVideoModel(ctx context.Context, modelID string) (*sdk.VideoModel, map[string]any, error)

func (*Service) UpdateModel

func (s *Service) UpdateModel(ctx context.Context, id string, req UpdateModelRequest) (ModelResponse, error)

type UpdateModelRequest

type UpdateModelRequest struct {
	Name   *string        `json:"name,omitempty"`
	Config map[string]any `json:"config,omitempty"`
}

Jump to

Keyboard shortcuts

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