MCPcopy Create free account
hub / github.com/compozy/agh / resolveOutputFormat

Function resolveOutputFormat

internal/cli/format.go:96–127  ·  view source on GitHub ↗
(cmd *cobra.Command)

Source from the content-addressed store, hash-verified

94}
95
96func resolveOutputFormat(cmd *cobra.Command) (OutputFormat, error) {
97 if cmd == nil {
98 return "", errors.New("cli: command is required")
99 }
100
101 value, err := cmd.Flags().GetString(outputFlagName)
102 if err != nil {
103 return "", fmt.Errorf("cli: read output flag: %w", err)
104 }
105 jsonEnabled, err := cmd.Flags().GetBool(jsonFlagName)
106 if err == nil && jsonEnabled {
107 outputFlag := cmd.Flag(outputFlagName)
108 normalized := OutputFormat(strings.ToLower(strings.TrimSpace(value)))
109 if outputFlag != nil && outputFlag.Changed && normalized != "" && normalized != OutputJSON {
110 return "", errors.New("cli: --json cannot be combined with a non-json output format")
111 }
112 return OutputJSON, nil
113 }
114
115 switch OutputFormat(strings.ToLower(strings.TrimSpace(value))) {
116 case "", OutputHuman:
117 return OutputHuman, nil
118 case OutputJSON:
119 return OutputJSON, nil
120 case OutputJSONL:
121 return OutputJSONL, nil
122 case OutputToon:
123 return OutputToon, nil
124 default:
125 return "", fmt.Errorf("cli: invalid output format %q", value)
126 }
127}
128
129func writeCommandOutput(cmd *cobra.Command, bundle outputBundle) error {
130 mode, err := resolveOutputFormat(cmd)

Callers 14

writeLogsOutputFunction · 0.85
streamLogsFunction · 0.85
writeToolCommandErrorFunction · 0.85
resolveInstallSelectionFunction · 0.85
newSessionPromptCommandFunction · 0.85
writeSessionEventsOutputFunction · 0.85
streamSessionEventsFunction · 0.85
writeCommandOutputFunction · 0.85
writeVaultRecordsOutputFunction · 0.85
writeVaultRecordOutputFunction · 0.85

Calls 1

OutputFormatTypeAlias · 0.85

Tested by

no test coverage detected