function generateScreenData(includePreventAutoScaleFlag = false) {
  const assistantMarkupResponse = document.querySelector('.assistant-markup-response');

  if (includePreventAutoScaleFlag) {
    assistantMarkupResponse.lastElementChild.setAttribute(
      'data-flag',
      'prevent-auto-scale',
    );
  }

  const screenDataMainContent = `
    <div id="assistant-card-content">
      ${assistantMarkupResponse.innerHTML}
    </div>
  `;

  const suggestions = document.querySelector('.suggestion-parent').children;
  let suggestionsDOM = '';

  if (suggestions.length > 0 && suggestions[0].classList.contains('suggestion')) {
    for (let i = 0; i < suggestions.length; i++) {
      const flag = suggestions[i].getAttribute('data-flag');
      const flagAttrib = flag ? `data-flag="${flag}"` : '';
      const label = suggestions[i].innerHTML.trim();

      const followUpQuery = suggestions[i]
        .getAttribute('onclick')
        .replace(/assistantTextQuery\(`(.*)`\)/, '$1');

      suggestionsDOM += `
      <button data-follow-up-query="${followUpQuery}" ${flagAttrib}>
        ${label}
      </button>
      `;
    }
  }

  const screenDataSuggestionsHTML = `
    <div id="assistant-scroll-bar">
      ${suggestionsDOM}
    </div>
  `;

  const finalMarkup = [
    '<html><body>',
    screenDataMainContent,
    screenDataSuggestionsHTML,
    '</body></html>',
  ].join('');

  const screenData = { format: 'HTML', data: Buffer.from(finalMarkup, 'utf-8') };
  return screenData;
}
Generates a screen data object from current screen.

@param {boolean} includePreventAutoScaleFlag
Include "prevent-auto-scale" flag to the last element
of main content. _(Defaults to `false`)_

@returns Generated screen data