The dishwasher drain hose will take a week to arrive. So... I duct-taped the old one and reinstalled it. No drips after two loads. Whew, that reduces labor.
The async/await code fell into harmony about 15 minutes after my last post. Well, aside from why console.log on a JS Promise prints as an empty object instead of the class name. There are still complexity-gremlins to work through, between the Twilio API and the Express.js web server being used by netlify-lambda. (Why are Twilio's POSTs getting 301-redirected to GETs by some layer outside my handler?)