You should be able to programmatically create a link that uses a data url with your text, add a download
attribute so the browser downloads instead of navigating (and to specify a filename), and click it.
This doesn't run as a SO snippet, presumably for security reasons, but it should work out in the world (and you can copy/paste this in your dev tools console to test it):
const generatedText = 'some generated blob of text';
// create an anchor element that we can programmatically click
const a = document.createElement('a');
// set up a data uri with the text
a.href = `data:text/plain,${generatedText}`;
// set the download attribute so it downloads and uses this as a filename
a.download = 'the-name-of-the-file.txt';
// stick it in the document
document.body.appendChild(a);
// click it
a.click();