package commands import ( "git.hangman-lab.top/zhi/HarborForge.Cli/internal/mode" "git.hangman-lab.top/zhi/HarborForge.Cli/internal/output" "git.hangman-lab.top/zhi/HarborForge.Cli/internal/passmgr" ) // ResolveToken resolves the auth token based on runtime mode. // In padded-cell mode, tokenFlag must be empty (enforced). // In manual mode, tokenFlag is required. func ResolveToken(tokenFlag string) string { if mode.IsPaddedCell() { if tokenFlag != "" { output.Error("padded-cell installed, --token flag disabled, use command directly") } tok, err := passmgr.GetToken() if err != nil { output.Errorf("cannot resolve token: %v", err) } return tok } // manual mode if tokenFlag == "" { output.Error("--token required or execute this with pcexec") } return tokenFlag } // RejectTokenInPaddedCell checks if --token was passed in padded-cell mode // and terminates with the standard error message. func RejectTokenInPaddedCell(tokenFlag string) { if mode.IsPaddedCell() && tokenFlag != "" { output.Error("padded-cell installed, --token flag disabled, use command directly") } }