cmd

package
v0.1.0-alpha.33 Latest Latest
Warning

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

Go to latest
Published: Jul 30, 2025 License: Apache-2.0 Imports: 33 Imported by: 0

Documentation

Index

Constants

View Source
const Version = "0.1.0-alpha.33" // x-release-please-version

Variables

View Source
var Command = cli.Command{
	Name:    "stl",
	Usage:   "CLI for the stainless API",
	Version: Version,
	Flags: []cli.Flag{
		&cli.BoolFlag{
			Name:  "debug",
			Usage: "Enable debug logging",
		},
		&cli.StringFlag{
			Name:  "base-url",
			Usage: "Override the base URL for API requests",
		},
		&cli.StringFlag{
			Name:  "environment",
			Usage: "Set the environment for API requests",
		},
	},
	Commands: []*cli.Command{
		{
			Name: "auth",
			Commands: []*cli.Command{
				&authLogin,
				&authLogout,
				&authStatus,
			},
		},

		{
			Name: "workspace",
			Commands: []*cli.Command{
				&workspaceInit,
				&workspaceStatus,
			},
		},

		{
			Name:     "projects",
			Category: "API RESOURCE",
			Commands: []*cli.Command{
				&projectsCreate,
				&projectsRetrieve,
				&projectsUpdate,
				&projectsList,
			},
		},

		{
			Name:     "projects:branches",
			Category: "API RESOURCE",
			Commands: []*cli.Command{
				&projectsBranchesCreate,
				&projectsBranchesRetrieve,
				&projectsBranchesList,
				&projectsBranchesDelete,
			},
		},

		{
			Name:     "projects:configs",
			Category: "API RESOURCE",
			Commands: []*cli.Command{
				&projectsConfigsRetrieve,
				&projectsConfigsGuess,
			},
		},

		{
			Name:     "builds",
			Category: "API RESOURCE",
			Commands: []*cli.Command{
				&buildsCreate,
				&buildsRetrieve,
				&buildsList,
				&buildsCompare,
			},
		},

		{
			Name:     "builds:diagnostics",
			Category: "API RESOURCE",
			Commands: []*cli.Command{
				&buildsDiagnosticsList,
			},
		},

		{
			Name:     "builds:target_outputs",
			Category: "API RESOURCE",
			Commands: []*cli.Command{
				&buildsTargetOutputsRetrieve,
			},
		},

		{
			Name:     "orgs",
			Category: "API RESOURCE",
			Commands: []*cli.Command{
				&orgsRetrieve,
				&orgsList,
			},
		},

		&initCommand,
		&mcpCommand,
		&devCommand,
	},
	EnableShellCompletion: true,
	HideHelpCommand:       true,
}
View Source
var ErrUserCancelled = errors.New("user cancelled")

Functions

func ColorizeJSON

func ColorizeJSON(input string, w io.Writer) string

func ConfigDir

func ConfigDir() (string, error)

ConfigDir returns the directory where config files are stored

func Confirm

func Confirm(cmd *cli.Command, flagName, title, description string, defaultValue bool) (bool, error)

Confirm prompts the user with a yes/no question if the flag wasn't explicitly set

func GetFormKeyMap

func GetFormKeyMap() *huh.KeyMap

GetFormKeyMap returns the standard huh keymap used across all forms

func GetFormTheme

func GetFormTheme(indent int) *huh.Theme

GetFormTheme returns the standard huh theme used across all forms

func Hyperlink(url, text string) string

func SError

func SError(indent int, format string, args ...any) string

func SHeader

func SHeader(format string, args ...any) string

func SInfo

func SInfo(indent int, format string, args ...any) string

func SProgress

func SProgress(indent int, format string, args ...any) string

func SProperty

func SProperty(indent int, key, msg string) string

func SSuccess

func SSuccess(indent int, format string, args ...any) string

func SWarn

func SWarn(indent int, format string, args ...any) string

func SaveAuthConfig

func SaveAuthConfig(config *AuthConfig) error

SaveAuthConfig saves the auth config to disk

func Spacer

func Spacer()

func ViewBuildPipeline

func ViewBuildPipeline(build *stainless.BuildObject, target stainless.Target, downloads map[stainless.Target]struct {
	status string
	path   string
}) string

func ViewDiagnosticsPrint

func ViewDiagnosticsPrint(diagnostics []stainless.BuildDiagnosticListResponse) string

func ViewHelpMenu

func ViewHelpMenu() string

ViewHelpMenu creates a styled help menu inspired by huh help component

func ViewStepSymbol

func ViewStepSymbol(status, conclusion string) string

Types

type AuthConfig

type AuthConfig struct {
	AccessToken  string `json:"access_token"`
	RefreshToken string `json:"refresh_token,omitempty"`
	TokenType    string `json:"token_type"`
}

AuthConfig stores the OAuth credentials

func LoadAuthConfig

func LoadAuthConfig() (*AuthConfig, error)

LoadAuthConfig loads the auth config from disk

type BuildModel

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

BuildModel represents the bubbletea model for build monitoring

func NewBuildModel

func NewBuildModel(cc *apiCommandContext, ctx context.Context, branch string, fn func() (*stainless.BuildObject, error)) BuildModel

func (BuildModel) Init

func (m BuildModel) Init() tea.Cmd

func (BuildModel) Update

func (m BuildModel) Update(msg tea.Msg) (tea.Model, tea.Cmd)

func (BuildModel) View

func (m BuildModel) View() string

type BuildTargetInfo

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

BuildTargetInfo holds information about a build target

type Group

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

Group represents a nested logging group

func Error

func Error(format string, args ...any) Group
func Header(format string, args ...any) Group

func Info

func Info(format string, args ...any) Group

func Progress

func Progress(format string, args ...any) Group

func Property

func Property(key, msg string) Group

func Success

func Success(format string, args ...any) Group

func Warn

func Warn(format string, args ...any) Group

func (Group) Error

func (g Group) Error(format string, args ...any) Group

func (Group) Info

func (g Group) Info(format string, args ...any) Group

func (Group) Progress

func (g Group) Progress(format string, args ...any) Group

func (Group) Property

func (g Group) Property(key, msg string) Group

func (Group) Success

func (g Group) Success(format string, args ...any) Group

func (Group) Warn

func (g Group) Warn(format string, args ...any) Group

type TargetConfig

type TargetConfig struct {
	OutputPath string `json:"output_path"`
}

TargetConfig stores configuration for a specific SDK target

type TargetInfo

type TargetInfo struct {
	DisplayName     string
	Name            string
	DefaultSelected bool
}

TargetInfo represents a target with its display name and default selection

type WorkspaceConfig

type WorkspaceConfig struct {
	Project         string                   `json:"project"`
	OpenAPISpec     string                   `json:"openapi_spec,omitempty"`
	StainlessConfig string                   `json:"stainless_config,omitempty"`
	Targets         map[string]*TargetConfig `json:"targets,omitempty"`

	ConfigPath string `json:"-"`
}

WorkspaceConfig stores workspace-level configuration

func NewWorkspaceConfig

func NewWorkspaceConfig(projectName, openAPISpec, stainlessConfig string) (WorkspaceConfig, error)

func NewWorkspaceConfigWithTargets

func NewWorkspaceConfigWithTargets(projectName, openAPISpec, stainlessConfig string, targets map[string]*TargetConfig) (WorkspaceConfig, error)

func (*WorkspaceConfig) Find

func (config *WorkspaceConfig) Find() (bool, error)

Find searches for a stainless-workspace.json file starting from the current directory and moving up to parent directories until found or root is reached

func (*WorkspaceConfig) Load

func (config *WorkspaceConfig) Load(configPath string) error

func (*WorkspaceConfig) Save

func (config *WorkspaceConfig) Save() error

Jump to

Keyboard shortcuts

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