registry

package
v0.7.1 Latest Latest
Warning

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

Go to latest
Published: Dec 26, 2025 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsEntityNotFound

func IsEntityNotFound(err error) bool

IsEntityNotFound checks if the error indicates entity not found.

func NewLocalPluginAdapter

func NewLocalPluginAdapter(local sdkclient.LocalPluginProvider) provider.ModelServiceProvider

NewLocalPluginAdapter creates a local plugin adapter.

func NewRemotePluginAdapter

func NewRemotePluginAdapter(remote sdkclient.RemotePluginProvider) provider.ModelServiceProvider

NewRemotePluginAdapter creates a remote plugin adapter

func SetGlobalPluginRegistry

func SetGlobalPluginRegistry(registry *PluginRegistry)

SetGlobalPluginRegistry sets the global plugin registry (should be called once at startup).

Types

type FlavorRegistrar

type FlavorRegistrar func(*sdktypes.PluginManifest) error

FlavorRegistrar is a callback function type for registering APIFlavors. Used for dependency injection to avoid circular dependencies.

type PluginManifestWrapper

type PluginManifestWrapper struct {
	Manifest *sdktypes.PluginManifest
	Path     string
}

PluginManifestWrapper wraps plugin manifest with path information.

type PluginRegistry

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

PluginRegistry manages plugin discovery, loading, caching, and lifecycle.

func GetGlobalPluginRegistry

func GetGlobalPluginRegistry() *PluginRegistry

GetGlobalPluginRegistry returns the global plugin registry. Returns nil if not initialized.

func NewPluginRegistry

func NewPluginRegistry(pluginDir string, ds datastore.Datastore) *PluginRegistry

NewPluginRegistry creates a new plugin registry.

func (*PluginRegistry) CheckNewPluginAndLoaded added in v0.7.1

func (r *PluginRegistry) CheckNewPluginAndLoaded() error

func (*PluginRegistry) DiscoverPlugins

func (r *PluginRegistry) DiscoverPlugins() error

DiscoverPlugins discovers all plugins in the plugin directory. Scans the pluginDir directory and loads plugin.yaml from each subdirectory.

func (*PluginRegistry) DownloadPlugin added in v0.7.1

func (r *PluginRegistry) DownloadPlugin(pluginName string) (string, error)

func (*PluginRegistry) GetAllManifests

func (r *PluginRegistry) GetAllManifests() map[string]*PluginManifestWrapper

GetAllManifests returns all discovered plugin manifests (for CLI display).

func (*PluginRegistry) GetLocalPluginProvider

func (r *PluginRegistry) GetLocalPluginProvider(name string) (sdkclient.LocalPluginProvider, error)

GetLocalPluginProvider returns the Local plugin interface.

func (*PluginRegistry) GetPluginDir added in v0.7.1

func (r *PluginRegistry) GetPluginDir() string

func (*PluginRegistry) GetPluginManifest

func (r *PluginRegistry) GetPluginManifest(name string) (*sdktypes.PluginManifest, error)

GetPluginManifest returns the plugin's manifest.

func (*PluginRegistry) GetPluginProvider

func (r *PluginRegistry) GetPluginProvider(name string) (sdkclient.PluginProvider, error)

GetPluginProvider returns the plugin's base interface. All plugins implement the PluginProvider interface.

func (*PluginRegistry) GetPluginStatus added in v0.7.1

func (r *PluginRegistry) GetPluginStatus(name string) int

func (*PluginRegistry) GetProvider

func (r *PluginRegistry) GetProvider(name string) (provider.ModelServiceProvider, error)

GetProvider returns the plugin Provider (implements ProviderFactory interface). Uses lazy loading with singleton pattern. Kept for backward compatibility; use GetPluginProvider() instead.

func (*PluginRegistry) GetRemotePluginProvider

func (r *PluginRegistry) GetRemotePluginProvider(name string) (sdkclient.RemotePluginProvider, error)

GetRemotePluginProvider returns the Remote plugin interface.

func (*PluginRegistry) ListAvailableProviders

func (r *PluginRegistry) ListAvailableProviders() []string

ListAvailableProviders lists all available plugins.

func (*PluginRegistry) RegisterPlugin added in v0.7.1

func (r *PluginRegistry) RegisterPlugin(pluginName string, pluginPath string) error

func (*PluginRegistry) ScheduleLoadPlugin added in v0.7.1

func (r *PluginRegistry) ScheduleLoadPlugin(ctx context.Context)

func (*PluginRegistry) SetFlavorRegistrar

func (r *PluginRegistry) SetFlavorRegistrar(registrar FlavorRegistrar)

SetFlavorRegistrar sets the Flavor registration callback function. Uses dependency injection to avoid circular dependencies.

func (*PluginRegistry) Shutdown

func (r *PluginRegistry) Shutdown()

Shutdown closes all plugins and cleans up registry state.

func (*PluginRegistry) StopPluginProcess added in v0.7.1

func (r *PluginRegistry) StopPluginProcess(name string) error

func (*PluginRegistry) UninstallPlugin added in v0.7.1

func (r *PluginRegistry) UninstallPlugin(name string) error

Jump to

Keyboard shortcuts

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