dispatch

package
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: Feb 8, 2026 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EnvCacheDir        = "AL_CACHE_DIR"
	EnvNoNetwork       = "AL_NO_NETWORK"
	EnvVersionOverride = "AL_VERSION"
	EnvShimActive      = "AL_SHIM_ACTIVE"
)

EnvCacheDir, EnvNoNetwork, EnvVersionOverride, and EnvShimActive define dispatch environment keys.

Variables

ErrDispatched signals that execution has been handed off to another binary.

Functions

func MaybeExec

func MaybeExec(args []string, currentVersion string, cwd string, exit func(int)) error

MaybeExec checks for a pinned version and dispatches to it when needed. It returns ErrDispatched if execution was handed off.

func MaybeExecWithSystem added in v0.5.7

func MaybeExecWithSystem(sys System, args []string, currentVersion string, cwd string, exit func(int)) error

MaybeExecWithSystem checks for a pinned version and dispatches to it when needed. It returns ErrDispatched if execution was handed off.

Types

type RealSystem added in v0.5.7

type RealSystem struct{}

RealSystem implements System using the OS and root finder.

func (RealSystem) Environ added in v0.5.7

func (RealSystem) Environ() []string

Environ returns a copy of strings representing the environment.

func (RealSystem) ExecBinary added in v0.5.7

func (RealSystem) ExecBinary(path string, args []string, env []string, exit func(int)) error

ExecBinary replaces the current process with the provided binary.

func (RealSystem) FindAgentLayerRoot added in v0.5.7

func (RealSystem) FindAgentLayerRoot(start string) (string, bool, error)

FindAgentLayerRoot searches upwards from start for an .agent-layer directory.

func (RealSystem) Getenv added in v0.5.7

func (RealSystem) Getenv(key string) string

Getenv returns the value of the environment variable named by key.

func (RealSystem) ReadFile added in v0.5.7

func (RealSystem) ReadFile(name string) ([]byte, error)

ReadFile reads the named file and returns the contents.

func (RealSystem) Stderr added in v0.7.0

func (RealSystem) Stderr() io.Writer

Stderr returns the standard error writer.

func (RealSystem) UserCacheDir added in v0.5.7

func (RealSystem) UserCacheDir() (string, error)

UserCacheDir returns the default user cache directory.

type System added in v0.5.7

type System interface {
	UserCacheDir() (string, error)
	ReadFile(name string) ([]byte, error)
	Getenv(key string) string
	Environ() []string
	ExecBinary(path string, args []string, env []string, exit func(int)) error
	FindAgentLayerRoot(start string) (string, bool, error)
	Stderr() io.Writer
}

System abstracts OS operations needed by version dispatch. This interface is intentionally package-local per Decision edefea6 to enable parallel-safe unit tests without shared global state. Other packages (install, sync) define their own System interfaces with operations specific to their needs.

Jump to

Keyboard shortcuts

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