mirror of
https://github.com/larksuite/cli.git
synced 2026-07-08 10:08:02 +08:00
Replace the embedded bootstrap manifest with a typed OAPI call to GET /open-apis/security_plugin/v1/sec_cli/manifest, resolving the download URL per-platform/per-arch against the live release set. TAT auth flows through the existing credential chain; an x-tt-env header is injected when LARKSUITE_CLI_X_TT_ENV is set, for BOE routing. Drop the standalone `sec install` verb — `sec run --auto-install` (default on) makes it redundant. Add a persistent --verbose / -v flag on the sec parent, inherited by every subcommand, that emits step-by-step trace output on stderr. bootstrap.json and bootstrap.go remain in-tree as dead code; they will be removed in a follow-up cleanup.
33 lines
928 B
Go
33 lines
928 B
Go
// Copyright (c) 2026 Lark Technologies Pte. Ltd.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package sec
|
|
|
|
import (
|
|
"fmt"
|
|
"io"
|
|
|
|
"github.com/spf13/cobra"
|
|
)
|
|
|
|
// verboseOut returns the trace destination for a sec subcommand: the given
|
|
// stderr writer when the inherited --verbose / -v flag is set, otherwise nil.
|
|
// Pair with tracef — a nil destination silently drops traces, so callers can
|
|
// emit unconditionally.
|
|
func verboseOut(cmd *cobra.Command, errOut io.Writer) io.Writer {
|
|
if v, _ := cmd.Flags().GetBool("verbose"); v {
|
|
return errOut
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// tracef writes one trace line to w when w is non-nil. The prefix names the
|
|
// emitting subcommand (e.g. "sec run") so layered output from the install
|
|
// pipeline + the command itself stays distinguishable.
|
|
func tracef(w io.Writer, prefix, format string, args ...any) {
|
|
if w == nil {
|
|
return
|
|
}
|
|
fmt.Fprintf(w, "[%s] "+format+"\n", append([]any{prefix}, args...)...)
|
|
}
|