store

package
v0.3.0-beta.1 Latest Latest
Warning

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

Go to latest
Published: Aug 14, 2025 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Store

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

Store represents the plugin store

func NewStore

func NewStore(registryURL, cacheDir string) *Store

NewStore creates a new plugin store

func (*Store) FilterPlugins

func (s *Store) FilterPlugins(category, search string, tags []string) []StorePlugin

FilterPlugins filters plugins by category, tags, or search term

func (*Store) GetCategories

func (s *Store) GetCategories() []string

GetCategories returns all available categories

func (*Store) GetPlugin

func (s *Store) GetPlugin(name string) *StorePlugin

GetPlugin returns a specific plugin

func (*Store) GetPlugins

func (s *Store) GetPlugins() []StorePlugin

GetPlugins returns all plugins

func (*Store) GetTags

func (s *Store) GetTags() []string

GetTags returns all available tags

func (*Store) LoadFromCache

func (s *Store) LoadFromCache() error

LoadFromCache loads plugins from cache

func (*Store) Refresh

func (s *Store) Refresh() error

Refresh fetches the latest plugin registry

func (*Store) UpdateInstalledStatus

func (s *Store) UpdateInstalledStatus(installedPlugins map[string]bool, enabledPlugins map[string]bool)

UpdateInstalledStatus updates the installed/enabled status of plugins

type StorePlugin

type StorePlugin struct {
	Name        string              `json:"name"`
	Version     string              `json:"version"`
	Description string              `json:"description"`
	Author      string              `json:"author"`
	License     string              `json:"license"`
	Repository  string              `json:"repository,omitempty"`
	Homepage    string              `json:"homepage,omitempty"`
	DownloadURL string              `json:"download_url"`
	Checksum    string              `json:"checksum,omitempty"`
	Category    string              `json:"category"`
	Tags        []string            `json:"tags"`
	Installed   bool                `json:"-"`
	Enabled     bool                `json:"-"`
	Commands    []sdk.PluginCommand `json:"commands"`
}

StorePlugin represents a plugin in the store

type StoreUI

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

StoreUI represents the terminal UI for the plugin store

func NewStoreUI

func NewStoreUI(store *Store) *StoreUI

NewStoreUI creates a new store UI

func (*StoreUI) Init

func (s *StoreUI) Init() tea.Cmd

Init initializes the store UI

func (*StoreUI) Update

func (s *StoreUI) Update(msg tea.Msg) (tea.Model, tea.Cmd)

Update handles UI updates

func (*StoreUI) View

func (s *StoreUI) View() string

View renders the store UI

Jump to

Keyboard shortcuts

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