Commit Graph

146 Commits

Author SHA1 Message Date
Peter Steinberger 7c2790cec4 test: isolate voice-call temp stores 2026-03-25 11:39:47 +00:00
Peter Steinberger 23a4ae4759 refactor: dedupe test helpers and harnesses 2026-03-24 21:41:46 +00:00
Vincent Koc b0ce53a79c fix(voice-call): stabilize plivo v2 replay keys 2026-03-23 09:31:40 -07:00
Peter Steinberger 47186c50a2 fix(ci): restore stale guardrails and baselines 2026-03-23 06:50:23 +00:00
Peter Steinberger ed614938d7 test(voice-call): accept oversize webhook socket resets 2026-03-23 06:37:57 +00:00
Peter Steinberger 651dc7450b
fix(voice-call): harden webhook pre-auth guards 2026-03-22 23:33:30 -07:00
Vincent Koc 06ddfb7e5f fix(ci): satisfy voice-call typing and extension boundaries 2026-03-22 20:26:15 -07:00
Vincent Koc 04cd389ef8 fix(ci): repair voice-call typing and provider contracts 2026-03-22 20:17:01 -07:00
Vincent Koc d949dffc6e fix(ci): repair tts and matrix refactor fallout 2026-03-22 20:12:01 -07:00
Vincent Koc 5f3753c9ab test(voice-call): cover outbound call flow helpers 2026-03-22 20:04:48 -07:00
Vincent Koc 59105fd614 fix(ci): restore plugin manifests and boundary tests 2026-03-22 20:01:25 -07:00
Vincent Koc ac0fd26e16 fix(ci): resync generated baselines and line runtime seam 2026-03-22 19:53:26 -07:00
Vincent Koc dbeac0763c test(voice-call): cover utility and tailscale helpers 2026-03-22 19:52:17 -07:00
Vincent Koc f1bff0b9d6 test(voice-call): cover twilio and reaper helpers 2026-03-22 19:49:22 -07:00
Vincent Koc feea4763fb test(voice-call): cover manager and api helpers 2026-03-22 19:47:34 -07:00
Vincent Koc bbd4b39afb test(voice-call): cover helper utilities 2026-03-22 19:44:48 -07:00
Vincent Koc 75ab4db87d fix(test): repair extensions lane regressions 2026-03-22 18:07:45 -07:00
Peter Steinberger 2a66eaf473 test: harden voice call regression assertions 2026-03-22 17:23:01 +00:00
Peter Steinberger af90ddd8d3 test: harden voice call manager regressions 2026-03-22 17:07:20 +00:00
Peter Steinberger 36c951769c test: harden voice call provider regressions 2026-03-22 17:07:20 +00:00
Josh Avant 3f7f2c8dc9
Voice Call: enforce spoken-output contract and fix stream TTS silence regression (#51500)
* voice-call: harden streaming startup and fallback behavior

* voice-call: suppress barge-in during intro

* voice-call: skip first-turn auto-response while greeting plays

* Voice-call: improve telephony audio fidelity and pacing

* voice-call: enforce spoken JSON and first-message barge skip

* voice-call: fix silent stream TTS regression

* voice-call: remove TTS timing diagnostics and document stream behavior

* voice-call: fail stream playback when stream sends are dropped

* voice-call: harden spoken contract and initial stream replay

* voice-call: suppress barge transcripts during initial greeting

* voice-call: harden stream fallback and media safety
2026-03-21 04:15:16 -05:00
Tak Hoffman 73e08775d7
test: add voice-call hangup-once lifecycle regression 2026-03-19 16:50:36 -05:00
Vincent Koc 4b2aec622b Plugins: add local extension API barrels 2026-03-17 10:36:48 -07:00
Tak Hoffman 2de28379dd
Plugins: remove public extension-api surface (#48462)
* Plugins: remove public extension-api surface

* Plugins: fix loader setup routing follow-ups

* CI: ignore non-extension helper dirs in extension-fast

* Docs: note extension-api removal as breaking
2026-03-16 15:51:08 -05:00
Peter Steinberger b5010719d6 test: dedupe telnyx webhook test fixtures 2026-03-13 21:40:53 +00:00
Peter Steinberger a8508f2b31 test: share voice webhook reaper harness 2026-03-13 21:40:53 +00:00
Peter Steinberger b84c7037de fix: repair ci audit and type drift 2026-03-13 21:02:19 +00:00
Peter Steinberger bf631b5872 refactor: share voice restore test setup 2026-03-13 20:37:53 +00:00
Peter Steinberger 48853f875b refactor: share test request helpers 2026-03-13 20:37:53 +00:00
ademczuk 8618a711ff
fix(voice-call): add speed and instructions to OpenAI TTS config schema (#39226)
Merged via squash.

Prepared head SHA: 775e3063b5
Co-authored-by: ademczuk <5212682+ademczuk@users.noreply.github.com>
Co-authored-by: obviyus <22031114+obviyus@users.noreply.github.com>
Reviewed-by: @obviyus
2026-03-11 23:15:48 +05:30
Peter Steinberger ed437434af refactor(voice-call): share tts deep merge 2026-03-08 03:22:55 +00:00
Peter Steinberger f72114173c fix(ci): resolve type regressions on main 2026-03-08 03:11:24 +00:00
Peter Steinberger f6c7ff3e0e refactor: preserve explicit mock voice-call values 2026-03-08 03:02:25 +00:00
Peter Steinberger 3087893ef9 refactor: normalize voice-call runtime defaults 2026-03-08 03:02:25 +00:00
Peter Steinberger 56cd0084d9 test: fix gate regressions 2026-03-08 02:45:08 +00:00
Vincent Koc 244aabb0cb Voice Call: read realtime STT internals in tests 2026-03-07 18:42:17 -08:00
Vincent Koc b1f7cf46d8 Voice Call: read TTS internals in tests 2026-03-07 18:42:15 -08:00
Vincent Koc b8b65692c0 Voice Call: allowlist realtime STT api key fixtures 2026-03-07 18:39:39 -08:00
Peter Steinberger 442f2c36b3 fix: honor explicit OpenAI TTS speed values
Landed from contributor PR #39318 by @ql-wade.

Co-authored-by: ql-wade <wade@openclaw.ai>
2026-03-08 02:38:44 +00:00
Peter Steinberger 28b72e5cb0 fix: honor zero-valued voice-call STT settings
Landed from contributor PR #39196 by @scoootscooob.

Co-authored-by: scoootscooob <zhentongfan@gmail.com>
2026-03-08 02:36:41 +00:00
Peter Steinberger 1aa77e4603 refactor(extensions): reuse shared helper primitives 2026-03-07 10:41:05 +00:00
Gustavo Madeira Santana bbf29201b8 Plugins/voice-call: migrate to scoped plugin-sdk imports 2026-03-04 02:35:13 -05:00
Gustavo Madeira Santana b361cac753 Extensions: migrate voice-call plugin-sdk imports 2026-03-04 01:21:30 -05:00
Peter Steinberger ac318be405 refactor(voice-call): unify runtime cleanup lifecycle 2026-03-03 02:51:17 +00:00
Peter Steinberger 9f691099db fix(voice-call): harden webhook lifecycle cleanup and retries (#32395) (thanks @scoootscooob) 2026-03-03 02:39:50 +00:00
scoootscooob e707c97ca6 fix(voice-call): prevent EADDRINUSE by guarding webhook server lifecycle
Three issues caused the port to remain bound after partial failures:

1. VoiceCallWebhookServer.start() had no idempotency guard — calling it
   while the server was already listening would create a second server on
   the same port.

2. createVoiceCallRuntime() did not clean up the webhook server if a step
   after webhookServer.start() failed (e.g. manager.initialize). The
   server kept the port bound while the runtime promise rejected.

3. ensureRuntime() cached the rejected promise forever, so subsequent
   calls would re-throw the same error without ever retrying. Combined
   with (2), the port stayed orphaned until gateway restart.

Fixes #32387

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 02:39:50 +00:00
Peter Steinberger 16fd604219 fix(security): pin tlon api source and secure hold music url 2026-03-03 01:45:24 +00:00
Peter Steinberger 82101b152a test(voice-call): split call manager tests by scenario 2026-03-03 00:29:20 +00:00
Peter Steinberger 439a7732f4 refactor(voice-call): split webhook server and tailscale helpers 2026-03-03 00:29:20 +00:00
Peter Steinberger a96b3b406a refactor(voice-call): extract twilio twiml policy and status mapping 2026-03-03 00:29:20 +00:00