How can I get detailed initiator data from CDP in Puppeteer?

Puppeteer

Use the capability to retrieve detailed initiator data from CDP when available, and filter out goog: data from events by enabling bidi mode.

# enable filtering of goog: data in bidi only mode
export PUPPETEER_WEBDRIVER_BIDI_ONLY=1
const puppeteer = require('puppeteer');
(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  // access detailed initiator data via CDP when CDP data is available
  const client = await page.target().createCDPSession();
  await client.send('Network.enable');
  client.on('Network.requestWillBeSent', (params) => {
    // detailed initiator information is available here
    console.log(params.initiator);
  });
  await page.goto('https://example.com');
  await browser.close();
})();

Notes: This approach uses CDP data for initiator details when available and filters out internal goog: data when PUPPETEER_WEBDRIVER_BIDI_ONLY is enabled.