Commit Graph

48244 Commits

Author SHA1 Message Date
Peter Steinberger
6cfb532afd test: dedupe feishu drive mock calls 2026-05-12 17:19:17 +01:00
Shakker
0c5e33480e test: honor wildcard raw redaction 2026-05-12 17:18:20 +01:00
Shakker
3589827635 test: disclose raw redaction state 2026-05-12 17:17:48 +01:00
Shakker
c630aa3488 test: prove config reveal reset 2026-05-12 17:17:08 +01:00
Shakker
16f2b22b33 test: mask config raw secrets 2026-05-12 17:14:49 +01:00
Shakker
b5f8e4c18a test: notice raw mode lockout 2026-05-12 17:13:34 +01:00
Peter Steinberger
72d9ea3b76 test: dedupe matrix send mock calls 2026-05-12 17:13:20 +01:00
Shakker
628eeda84a test: limit scoped config labels 2026-05-12 17:12:41 +01:00
Shakker
ae773272ac test: clear config diff panel 2026-05-12 17:12:00 +01:00
Shakker
0918f3823b test: open config diff rows 2026-05-12 17:11:07 +01:00
Shakker
1f1a5c205c test: quote theme importer hints 2026-05-12 17:09:59 +01:00
Shakker
adb8d553e4 test: mark imported theme metadata 2026-05-12 17:09:19 +01:00
Peter Steinberger
3598938458 test: dedupe openresponses mock calls 2026-05-12 17:09:07 +01:00
Shakker
c5574eb796 test: redact secret ref input 2026-05-12 17:08:23 +01:00
Shakker
c967410bed test: unpack device pairing rows 2026-05-12 17:07:34 +01:00
Shakker
87a4da89e3 test: badge agent tool provenance 2026-05-12 17:05:43 +01:00
Shakker
9be8d38f95 test: freeze exec approval expiry 2026-05-12 17:04:46 +01:00
Peter Steinberger
c0e287f3c1 test: dedupe embedded attempt mock calls 2026-05-12 17:04:11 +01:00
Shakker
e15bb302e0 test: translate exec approval chrome 2026-05-12 17:03:22 +01:00
Shakker
4fe36dc608 test: inventory cron filter options 2026-05-12 17:02:20 +01:00
Shakker
9808fd6802 test: localize talk button title 2026-05-12 17:01:21 +01:00
Shakker
a230aefb40 test: itemize login failure panel 2026-05-12 17:00:24 +01:00
Peter Steinberger
8c6dd5bddc test: dedupe outbound delivery mock calls 2026-05-12 16:59:51 +01:00
Shakker
9076ce0a7d test: outline cron advanced controls 2026-05-12 16:56:32 +01:00
Shakker
24fa9ba6a4 test: expose cron edit controls 2026-05-12 16:55:20 +01:00
Shakker
a5557d1fb5 test: index cron validation status 2026-05-12 16:54:47 +01:00
Peter Steinberger
4f1bee9f8b test: dedupe telegram send mock calls 2026-05-12 16:54:31 +01:00
Ayaan Zaidi
4272ce1597 chore(voice-call): note Telnyx realtime PR (#81024) (thanks @dynamite-bud) 2026-05-12 21:23:50 +05:30
Ayaan Zaidi
665c29d4dc fix(voice-call): bind Telnyx realtime streams to issued calls 2026-05-12 21:23:50 +05:30
Rudra
148e5467b5 fix: align Telnyx stream lifecycle parsing with carrier docs
Two parsing bugs caught by Codex review on the Telnyx Media Streaming
PR:

Lifecycle webhook event names had a stray `call.` prefix that never
matched Telnyx's documented event types. Telnyx surfaces stream
lifecycle as `streaming.started` and `streaming.stopped` (no prefix);
stream errors arrive as `{event:"error"}` JSON frames over the
WebSocket, not as carrier webhooks. Drop the bogus
`call.streaming.failed` case from the webhook parser and add a new
`error` frame kind to the StreamFrameAdapter union so the realtime
handler can log failures instead of silently dropping them.

Telnyx WebSocket frames carry `stream_id` at the top level of the
envelope and `call_control_id` inside the `start` object; the
Telnyx adapter was reading `start.stream_id` (always undefined) and
defaulting `providerCallId` to the constructor-supplied value
regardless of what the carrier sent. Read both fields from the
documented locations and fall back to the constructor providerCallId
only when the carrier frame omits them.

Tests updated to reflect the carrier-documented frame shapes; new
fixture covers `{event:"error"}` round-trip through the adapter.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 21:23:50 +05:30
Rudra
b28e3b378e test: cover Telnyx Media Streaming for voice-call realtime
Adds tests across the touched surface: StreamFrameAdapter for both
Twilio (with streamSid) and Telnyx (without), the generalized
RealtimeAudioPacer carrying both envelopes, Telnyx provider
dial-time and answer-action streaming params with the
call.streaming.failed -> call.error mapping, manager
streamSessionIssuer wiring for Telnyx outbound, and the widened
realtime + telnyx config gate.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 21:23:50 +05:30
Rudra
bb1b075118 feat: add Telnyx Media Streaming for voice-call realtime
Wires bidirectional PCMU WebSocket audio for Telnyx so realtime
providers (OpenAI Realtime, etc.) can drive Telnyx calls the same
way they drive Twilio. Telnyx attaches Media Streaming at dial
time and answer-action time per the documented canonical patterns
(no actions/streaming_start call needed).

New StreamFrameAdapter abstraction owns provider-shaped frame
parsing and outbound serialization, so realtime-handler.ts stays
carrier-agnostic. RealtimeAudioPacer is generalized to accept any
serializer. The provider-twilio realtime gate widens to accept
telnyx.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 21:23:50 +05:30
Shakker
a517434261 test: read cron error bodies 2026-05-12 16:52:13 +01:00
Shakker
a665c004c1 test: scope cron history subtitle 2026-05-12 16:51:12 +01:00
Shakker
f1569b4afd test: read cron due metadata 2026-05-12 16:50:21 +01:00
Shakker
d0c2cce07e test: name stale cron job 2026-05-12 16:49:13 +01:00
Shakker
d6a65e928b test: tabulate cron delivery fields 2026-05-12 16:48:10 +01:00
Shakker
0aed7c5090 test: select localized welcome copy 2026-05-12 16:47:04 +01:00
Shakker
80c615daee test: bind pairing hint commands 2026-05-12 16:45:47 +01:00
Peter Steinberger
cb957fe0d2 test: dedupe telegram delivery mock calls 2026-05-12 16:44:58 +01:00
Shakker
4b4b8d9305 test: rely on context detail text 2026-05-12 16:43:54 +01:00
Shakker
23a4d5298d test: target chat detail labels 2026-05-12 16:42:57 +01:00
Shakker
ec082a7790 test: route chat loading assertions 2026-05-12 16:41:42 +01:00
Peter Steinberger
fcd1073b72 test: dedupe auto-reply dispatch mock calls 2026-05-12 16:41:33 +01:00
Shakker
7d208f3a5d test: scope localized agent refresh 2026-05-12 16:39:47 +01:00
Shakker
678cd504e8 test: order advanced review controls 2026-05-12 16:38:36 +01:00
Shakker
aef22e659b test: pin wiki preview truncation 2026-05-12 16:37:09 +01:00
Shakker
34e69362d9 test: read parsed dream entry 2026-05-12 16:36:21 +01:00
Shakker
aac9c9bc96 test: specify diary empty states 2026-05-12 16:35:32 +01:00
Shakker
4941c919d9 test: detail wiki enablement cta 2026-05-12 16:34:42 +01:00