TwilioTunnel — wraps a local server with a publicly-reachable tunnel so
Twilio's webhooks can reach a dev machine.
Two providers, picked at runtime:
@ngrok/ngrok (preferred when NGROK_AUTHTOKEN is set) — stable URLs,
per-account quota, native binary ~20 MB.
localtunnel (fallback) — no auth required, less reliable, public
subdomain.
Both packages are optional peer dependencies. The tunnel is only used
by the env-gated e2e test; runtime callers who don't need a tunnel never
pull these into the bundle. We dynamic-import inside open() so the
module is importable on machines that don't have them installed.
TwilioTunnel — wraps a local server with a publicly-reachable tunnel so Twilio's webhooks can reach a dev machine.
Two providers, picked at runtime:
@ngrok/ngrok(preferred whenNGROK_AUTHTOKENis set) — stable URLs, per-account quota, native binary ~20 MB.localtunnel(fallback) — no auth required, less reliable, public subdomain.Both packages are optional peer dependencies. The tunnel is only used by the env-gated e2e test; runtime callers who don't need a tunnel never pull these into the bundle. We dynamic-import inside
open()so the module is importable on machines that don't have them installed.