feat: migrate SMS/voice to Telnyx (TeXML), keep browser dial pad on Twilio

Twilio now handles only the in-browser dial pad (Access Token + browser-Device
outbound TwiML); Telnyx takes over SMS, inbound voicemail, the AI voice
conversation loop, and staff-triggered outbound calls via TeXML. Adds
TelnyxSettings model, Communication.provider discriminator, new comms/routes
modules, and a real Telnyx Settings page.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-03 15:39:43 -04:00
co-authored by Claude Sonnet 5
parent b899659e13
commit 79ac6aaa31
463 changed files with 7823 additions and 3397 deletions
+15
View File
@@ -59,6 +59,7 @@
"pdfkit": "^0.17.2",
"sharp": "^0.35.3",
"socket.io": "^4.8.1",
"telnyx": "^7.20.0",
"twilio": "^6.0.0",
"ws": "^8.18.0",
"zod": "^3.24.2",
@@ -14003,6 +14004,20 @@
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"license": "ISC"
},
"node_modules/telnyx": {
"version": "7.20.0",
"resolved": "https://registry.npmjs.org/telnyx/-/telnyx-7.20.0.tgz",
"integrity": "sha512-Y+M9h8I9cvd/Zv/RzgrWnQX22VJx8+oClwGtsxvwr3lfkA+Gl0XutwuDmKhuIzTcyrpkf/qCdC2kjPYARqXrqw==",
"license": "MIT",
"peerDependencies": {
"ws": "^8.18.0"
},
"peerDependenciesMeta": {
"ws": {
"optional": true
}
}
},
"node_modules/text-decoder": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.7.tgz",