cli

package
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: Aug 11, 2026 License: AGPL-3.0 Imports: 15 Imported by: 0

Documentation

Overview

Package cli owns Starport command contracts and process-independent execution.

Index

Constants

View Source
const (
	// ExitCodeRuntime reports an application or dependency failure.
	ExitCodeRuntime = 1
	// ExitCodeUsage reports invalid command syntax or arguments.
	ExitCodeUsage = 2
)

Variables

View Source
var (
	// ErrStdinRequired reports a missing command input stream.
	ErrStdinRequired = errors.New("command input is required")
	// ErrStdoutRequired reports a missing command output stream.
	ErrStdoutRequired = errors.New("command output is required")
	// ErrStderrRequired reports a missing command error stream.
	ErrStderrRequired = errors.New("command error output is required")
	// ErrServerRunnerRequired reports a missing server runtime boundary.
	ErrServerRunnerRequired = errors.New("server runner is required")
	// ErrInitializerRequired reports a missing setup runtime boundary.
	ErrInitializerRequired = errors.New("initializer is required")
	// ErrConfigLoaderRequired reports a missing configuration reader.
	ErrConfigLoaderRequired = errors.New("configuration loader is required")
	// ErrPathResolverRequired reports a missing platform-path reader.
	ErrPathResolverRequired = errors.New("configuration path resolver is required")
	// ErrDiagnoserRequired reports a missing diagnostic runtime boundary.
	ErrDiagnoserRequired = errors.New("diagnoser is required")
)
View Source
var ErrDiagnosisFailed = errors.New("diagnosis failed")

ErrDiagnosisFailed reports one or more failed diagnostic checks.

Functions

func ExitCode

func ExitCode(err error) int

ExitCode maps a command error to a process exit code.

func New

func New(deps Dependencies) (*urfavecli.Command, error)

New creates the Starport root command.

func Run

func Run(ctx context.Context, args []string, deps Dependencies) error

Run builds and executes the command for the supplied argument slice.

func WriteVersion

func WriteVersion(w io.Writer, info BuildInfo, asJSON bool) error

WriteVersion writes build information in text or JSON format.

Types

type BuildInfo

type BuildInfo struct {
	Version   string `json:"version"`
	BuildTime string `json:"build_time"`
	GitCommit string `json:"git_commit"`
	GitBranch string `json:"git_branch"`
	GoVersion string `json:"go_version"`
	OS        string `json:"os"`
	Arch      string `json:"arch"`
}

BuildInfo contains immutable binary build information.

type ConfigLoader

type ConfigLoader func(context.Context) (*config.Config, error)

ConfigLoader reads and validates effective configuration.

type Dependencies

type Dependencies struct {
	Stdin        io.Reader
	Stdout       io.Writer
	Stderr       io.Writer
	Build        BuildInfo
	RunServer    ServerRunner
	Initialize   Initializer
	LoadConfig   ConfigLoader
	ResolvePaths PathResolver
	Diagnose     Diagnoser
}

Dependencies contains all runtime boundaries used by commands.

type Diagnoser

Diagnoser runs read-only startup checks.

type InitOptions

type InitOptions struct {
	Provider          catalogs.ProviderID
	IdentityName      string
	ConfiguredStorage bool
}

InitOptions contains explicit local initialization choices.

type InitResult

type InitResult struct {
	Provider     catalogs.ProviderID         `json:"provider,omitempty"`
	IdentityName string                      `json:"identity_name"`
	ConfigFile   string                      `json:"config_file,omitempty"`
	DataDir      string                      `json:"data_dir,omitempty"`
	APIKey       string                      `json:"api_key"`
	Rollback     func(context.Context) error `json:"-"`
}

InitResult contains initialized paths and the one-time gateway credential.

type Initializer

type Initializer func(context.Context, InitOptions) (InitResult, error)

Initializer creates local state and returns the new gateway credential once.

type PathResolver

type PathResolver func() (config.Paths, error)

PathResolver resolves platform configuration and data paths.

type ServerRunner

type ServerRunner func(context.Context) error

ServerRunner starts the gateway and blocks until it stops.

Jump to

Keyboard shortcuts

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