code: func (sf *jsonProgressFormatter) formatProgress(id, action string, progress *jsonmessage.JSONProgress, aux interface{}) []byte {
  	if progress == nil {
  		progress = &jsonmessage.JSONProgress{}
  	}
  	var auxJSON *json.RawMessage
  	if aux != nil {
  		auxJSONBytes, err := json.Marshal(aux)
  		if err != nil {
  			return nil
  		}
  		auxJSON = new(json.RawMessage)
  		*auxJSON = auxJSONBytes
  	}
  	b, err := json.Marshal(&jsonmessage.JSONMessage{
  		Status:          action,
  		ProgressMessage: progress.String(),
  		Progress:        progress,
  		ID:              id,
  		Aux:             auxJSON,
  	})
  	if err != nil {
  		return nil
  	}
  	return appendNewline(b)
  }
docs: // formatProgress formats the progress information for a specified action.