// Copyright (c) 2026 Lark Technologies Pte. Ltd. // SPDX-License-Identifier: MIT package cmd import ( "errors" "io" "github.com/larksuite/cli/internal/cmdutil" "github.com/spf13/pflag" ) // BootstrapInvocationContext extracts global invocation options before // the real command tree is built, so provider-backed config resolution sees // the correct profile from the start. func BootstrapInvocationContext(args []string) (cmdutil.InvocationContext, error) { var globals GlobalOptions fs := pflag.NewFlagSet("bootstrap", pflag.ContinueOnError) fs.ParseErrorsAllowlist.UnknownFlags = true fs.SetInterspersed(true) fs.SetOutput(io.Discard) RegisterGlobalFlags(fs, &globals) if err := fs.Parse(args); err != nil && !errors.Is(err, pflag.ErrHelp) { return cmdutil.InvocationContext{}, err } return cmdutil.InvocationContext{Profile: globals.Profile}, nil }