pkg

package
v0.1.0-dev.20260217191500 Latest Latest
Warning

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

Go to latest
Published: Feb 17, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Register

func Register(reg *execution.ActionRegistry)

Register registers all package actions with the given registry.

Types

type Install

type Install struct{ Impl *Provider }

Install installs packages using the platform's package manager.

func (*Install) Do

func (*Install) Name

func (o *Install) Name() string

func (*Install) Undo

func (o *Install) Undo(_ *execution.Context, _ map[string]any, state execution.UndoState) error

type Provider

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

Provider provides platform-independent package management. The package manager is resolved at runtime via host.PackageManager().

Compensable Forward methods return (map[string]any, error). The map is the compensation receipt — opaque to the executor, meaningful only to the corresponding Compensate* Backward method.

func (*Provider) CompensateInstall

func (p *Provider) CompensateInstall(state map[string]any) error

CompensateInstall undoes an Install by removing packages that weren't already installed before the operation.

func (*Provider) CompensateRemove

func (p *Provider) CompensateRemove(state map[string]any) error

CompensateRemove undoes a Remove by reinstalling the removed packages.

func (*Provider) CompensateUpgrade

func (p *Provider) CompensateUpgrade(_ map[string]any) error

CompensateUpgrade is a diagnostic no-op. Previous versions are captured in state for manual recovery, but automatic downgrade is not reliable across package managers.

func (*Provider) Install

func (p *Provider) Install(packages []string, manager string, cask bool) (map[string]any, error)

Install installs packages using the platform's package manager. Returns compensation state with pre-install status per package.

func (*Provider) Remove

func (p *Provider) Remove(packages []string, manager string, cask bool) (map[string]any, error)

Remove removes packages using the platform's package manager. Returns compensation state for reinstallation.

func (*Provider) Update

func (p *Provider) Update(manager string) error

Update refreshes the package manager index.

func (*Provider) Upgrade

func (p *Provider) Upgrade(packages []string, manager string, cask bool) (map[string]any, error)

Upgrade upgrades packages using the platform's package manager. Returns compensation state with pre-upgrade versions per package.

type Remove

type Remove struct{ Impl *Provider }

Remove removes packages using the platform's package manager.

func (*Remove) Do

func (*Remove) Name

func (o *Remove) Name() string

func (*Remove) Undo

func (o *Remove) Undo(_ *execution.Context, _ map[string]any, state execution.UndoState) error

type Update

type Update struct{ Impl *Provider }

Update refreshes the package manager index.

func (*Update) Do

func (*Update) Name

func (o *Update) Name() string

func (*Update) Undo

func (o *Update) Undo(_ *execution.Context, _ map[string]any, _ execution.UndoState) error

type Upgrade

type Upgrade struct{ Impl *Provider }

Upgrade upgrades packages using the platform's package manager.

func (*Upgrade) Do

func (*Upgrade) Name

func (o *Upgrade) Name() string

func (*Upgrade) Undo

func (o *Upgrade) Undo(_ *execution.Context, _ map[string]any, state execution.UndoState) error

Jump to

Keyboard shortcuts

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