Documentation
¶
Index ¶
- Constants
- Variables
- func CheckInteractiveAndInitWorkspace(cmd *cli.Command, projectName string)
- func ColorizeJSON(input string, w io.Writer) string
- func ConfigDir() (string, error)
- func GetFormKeyMap() *huh.KeyMap
- func GetFormTheme() *huh.Theme
- func GetProjectName(cmd *cli.Command, flagName string) string
- func SaveAuthConfig(config *AuthConfig) error
- func Spacer()
- type AuthConfig
- type Group
- func (g Group) Error(format string, args ...any) Group
- func (g Group) Info(format string, args ...any) Group
- func (g Group) Progress(format string, args ...any) Group
- func (g Group) Property(key, msg string) Group
- func (g Group) Success(format string, args ...any) Group
- func (g Group) Warn(format string, args ...any) Group
- type WorkspaceConfig
Constants ¶
const Version = "0.0.1-alpha.0" // x-release-please-version
Variables ¶
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", }, }, Commands: []*cli.Command{ { Name: "auth", Commands: []*cli.Command{ &authLogin, &authLogout, &authStatus, }, }, { Name: "workspace", Commands: []*cli.Command{ &workspaceInit, &workspaceStatus, }, }, { Name: "projects", Commands: []*cli.Command{ &projectsCreate, &projectsRetrieve, &projectsUpdate, &projectsList, }, }, { Name: "projects:branches", Commands: []*cli.Command{ &projectsBranchesCreate, &projectsBranchesRetrieve, }, }, { Name: "projects:configs", Commands: []*cli.Command{ &projectsConfigsRetrieve, &projectsConfigsGuess, }, }, { Name: "builds", Commands: []*cli.Command{ &buildsCreate, &buildsRetrieve, &buildsList, &buildsCompare, }, }, { Name: "builds:diagnostics", Commands: []*cli.Command{ &buildsDiagnosticsList, }, }, { Name: "builds:target_outputs", Commands: []*cli.Command{ &buildsTargetOutputsRetrieve, }, }, { Name: "orgs", Commands: []*cli.Command{ &orgsRetrieve, &orgsList, }, }, }, EnableShellCompletion: true, HideHelpCommand: true, }
Functions ¶
func CheckInteractiveAndInitWorkspace ¶
CheckInteractiveAndInitWorkspace checks if running in interactive mode and prompts to init workspace if needed
func GetFormKeyMap ¶
GetFormKeyMap returns the standard huh keymap used across all forms
func GetFormTheme ¶
GetFormTheme returns the standard huh theme used across all forms
func GetProjectName ¶
GetProjectName returns the project name from the command line flag or workspace config
func SaveAuthConfig ¶
func SaveAuthConfig(config *AuthConfig) error
SaveAuthConfig saves the auth config to disk
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
func StartDeviceFlow ¶
func StartDeviceFlow(clientID, scope string) (*AuthConfig, error)
StartDeviceFlow initiates the OAuth 2.0 device flow
type Group ¶
type Group struct {
// contains filtered or unexported fields
}
Group represents a nested logging group
type WorkspaceConfig ¶
type WorkspaceConfig struct {
Project string `json:"project"`
OpenAPISpec string `json:"openapi_spec,omitempty"`
StainlessConfig string `json:"stainless_config,omitempty"`
ConfigPath string `json:"-"`
}
WorkspaceConfig stores workspace-level configuration
func NewWorkspaceConfig ¶
func NewWorkspaceConfig(projectName, openAPISpec, stainlessConfig string) (*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