Peter Steinberger
304126ad79
refactor(realtime-voice): centralize consult policy helpers
2026-04-24 23:45:49 +01:00
Peter Steinberger
e2f13959d4
feat(voice-call): share realtime agent consult tool
...
Centralize the shared realtime agent consult tool for browser Talk, Google Meet, and Voice Call.
2026-04-24 23:11:18 +01:00
Peter Steinberger
8a9d02dd82
fix(voice-call): keep outbound realtime streams attached ( #71266 )
...
Fixes outbound Twilio realtime conversations so the TwiML fetch returns the realtime <Connect><Stream> path for outbound directions and the answered-call path does not overwrite it with legacy <Say> TwiML.
Local proof:
- pnpm test extensions/voice-call/src/manager.notify.test.ts extensions/voice-call/src/webhook.test.ts
- pnpm check:changed
- pnpm check
- pnpm build
- local VoiceCallWebhookServer + CallManager smoke for Direction=outbound-api
Closes #68713 .
2026-04-24 22:35:26 +01:00
Peter Steinberger
27c61ed0d4
chore(deps): update workspace dependencies
2026-04-24 16:55:08 +01:00
Peter Steinberger
b5e5f2cede
feat(google): add realtime voice provider
2026-04-24 09:36:20 +01:00
Peter Steinberger
fa139b4fca
fix(voice-call): handle Telnyx callback payloads
2026-04-24 07:25:44 +01:00
Peter Steinberger
b164bb3717
refactor: centralize realtime voice resolution
2026-04-24 01:50:43 +01:00
Peter Steinberger
57e139100b
refactor: share realtime voice bridge sessions
2026-04-24 01:50:43 +01:00
Peter Steinberger
958afeb397
refactor: share provider selection runtime helper
2026-04-24 01:50:43 +01:00
Peter Steinberger
7c19c31144
feat: support DTMF for voice-call
2026-04-24 01:50:42 +01:00
Peter Steinberger
61c25704e6
fix: harden realtime voice setup ( #70764 )
2026-04-23 21:54:50 +01:00
Peter Steinberger
e88d8512a7
perf(discord): narrow monitor runtime imports
2026-04-23 08:21:01 +01:00
Peter Steinberger
e3caacd530
lint: enforce exhaustive switches
2026-04-23 06:02:12 +01:00
Peter Steinberger
4aa35d85fa
test: clean up voice-call event timers
2026-04-23 06:02:12 +01:00
Peter Steinberger
0b0662b1c9
chore: apply extension lint cleanups
2026-04-23 05:30:49 +01:00
Peter Steinberger
b2472d6560
build: migrate schema deps to typebox
2026-04-23 04:59:42 +01:00
Peter Steinberger
66576f3355
test(extensions): fix lint-clean test assertions
2026-04-22 01:43:18 +01:00
Peter Steinberger
78ae7bbd90
test: share voice call notify fixtures
2026-04-20 17:05:16 +01:00
Peter Steinberger
8116e638f3
chore: release 2026.4.20
2026-04-20 13:16:40 +01:00
Peter Steinberger
ac8f0c9c0d
chore: prepare 2026.4.19-beta.1 release
2026-04-19 02:09:43 +01:00
Peter Steinberger
a5d6330f87
refactor: cache remaining runtime imports
2026-04-18 20:08:04 +01:00
Peter Steinberger
66385670e4
refactor: reduce unnecessary dynamic imports
2026-04-18 16:15:33 +01:00
Peter Steinberger
3f2e73b723
chore(release): bump version to 2026.4.18
2026-04-18 15:46:33 +01:00
Ayaan Zaidi
2a283e87a7
fix(plugins): enforce synchronous registration
2026-04-17 10:14:00 +05:30
Peter Steinberger
0dc4c4076c
chore: bump version to 2026.4.16
2026-04-17 00:45:04 +01:00
Peter Steinberger
b3fa5880dd
build(extensions): bump bundled plugin versions to 2026.4.15-beta.1
2026-04-15 15:06:13 +01:00
Agustin Rivera
692438cbb2
fix(stream): tighten voice stream ingress guards ( #66027 )
...
* fix(stream): tighten voice stream ingress guards
* fix(stream): address review follow-ups
* fix(stream): normalize trusted proxy ip matching
* changelog: note voice-call media-stream ingress guard tightening (#66027 )
* fix(stream): require non-empty trusted proxy list before honoring forwarding headers
Without an explicit trusted proxy list, the prior gate treated every
remote as 'from a trusted proxy', so enabling trustForwardingHeaders
let any direct caller spoof X-Forwarded-For / X-Real-IP and rotate the
resolved IP per request to evade maxPendingConnectionsPerIp. Require
trustedProxyIPs to be non-empty AND match the remote before trusting
forwarding headers.
---------
Co-authored-by: Devin Robison <drobison@nvidia.com >
2026-04-13 16:51:16 -06:00
Vincent Koc
20248c475f
fix(voice-call): keep retryable errors replayable
2026-04-13 17:50:27 +01:00
Vincent Koc
0369bd75c1
fix(voice-call): keep unknown-call replays retryable
2026-04-13 17:04:53 +01:00
Vincent Koc
2c3871b4b1
fix(voice-call): retry rejected inbound hangups
2026-04-13 17:00:08 +01:00
pashpashpash
383c854313
CI: fix mainline regression blockers ( #65269 )
...
* MSTeams: align logger test expectations
* Gateway: fix CI follow-up regressions
* Config: refresh generated schema baseline
* VoiceCall: type webhook test doubles
* CI: retrigger blocker workflow
* CI: retrigger retry workflow
* Agents: fix current mainline agentic regressions
* Agents: type auth controller test mock
* CI: retrigger blocker validation
* Agents: repair OpenAI replay pairing order
2026-04-13 06:18:37 +09:00
Peter Steinberger
a8e140e395
chore: bump version to 2026.4.12
2026-04-12 10:37:18 -07:00
Vincent Koc
0c0170b7fb
test(voice-call): share websocket test helpers
2026-04-12 09:33:12 +01:00
Vincent Koc
bde62fcf82
test(ci): fix discord and voice-call type fixtures
2026-04-12 09:26:01 +01:00
Vincent Koc
0d2fcd3bbf
test(voice-call): type twilio webhook helpers
2026-04-12 09:15:50 +01:00
Vincent Koc
52623e033f
test(voice-call): share active call context helper
2026-04-12 08:41:30 +01:00
Vincent Koc
6259064f93
test(voice-call): share twilio webhook fixtures
2026-04-12 08:29:03 +01:00
Vincent Koc
97aa6e0815
test(voice-call): share signed telnyx request helper
2026-04-12 05:31:25 +01:00
Peter Steinberger
0e3f9657da
fix(plugins): preserve bundled host compatibility floor
2026-04-12 00:22:32 +01:00
Peter Steinberger
eb7bdbf980
docs: remove extension changelogs
2026-04-11 14:05:07 +01:00
Peter Steinberger
564f64666b
docs: remove plugin version-only changelog entries
2026-04-11 14:01:40 +01:00
Peter Steinberger
88be9b525c
docs: update 2026.4.11 changelog
2026-04-11 14:00:42 +01:00
Peter Steinberger
1ab6e5dbf0
chore(release): bump version to 2026.4.11
2026-04-11 04:51:17 +01:00
Peter Steinberger
3e80bd33e4
refactor: simplify extension conversions
2026-04-11 01:37:23 +01:00
Tak Hoffman
6504087b97
fix: restore voice call replay dedupe keys
2026-04-10 19:09:00 -05:00
Peter Steinberger
a94b926944
refactor: simplify messaging conversions
2026-04-11 01:04:46 +01:00
Peter Steinberger
d236cb4680
chore: enable redundant type constituent checks
2026-04-10 21:23:40 +01:00
Peter Steinberger
cc6c5f3edb
style: simplify lint-safe test helpers
2026-04-10 20:20:33 +01:00
Peter Steinberger
2786ed0f67
chore: enable no-base-to-string
2026-04-10 20:14:49 +01:00
Michael Appel
afadb7dae6
fix(voice-call): reject oversized realtime WebSocket frames
...
Reject realtime voice WebSocket frames above 256 KB before JSON parsing or bridge setup, and absorb ws error events so oversized frames close the connection instead of crashing the gateway.
Local verification:
- pnpm test extensions/voice-call/src/webhook/realtime-handler.test.ts
- pnpm check
Thanks @mmaps.
Co-authored-by: mmaps <3399869+mmaps@users.noreply.github.com >
2026-04-10 17:58:44 +01:00