Zahan Malkani
536f86e5cc
Support attaching to existing realtime calls ( #39876 )
...
## Why
Clients that create and negotiate realtime calls themselves need Codex to join
those calls without creating another call or overwriting the client-owned
session configuration.
## What changed
- Add the `existingCall` transport to `thread/realtime/start`, accepting a
client-provided `callId` and optional `realtimeSessionId`.
- Attach Codex over the call's sideband WebSocket without SDP negotiation or a
session update, and reconnect that sideband while preserving transcript
state.
- Default existing calls to realtime v1, support v1 and v3, and reject v2 or
options that would reconfigure the client-owned session.
- Encode call IDs as a single URL path segment for v3 sideband connections.
## Testing
Add protocol, app-server, core, reconnection, authentication-header, and URL
encoding coverage for existing-call attachments.
GitOrigin-RevId: 2046b70566f98efa55381bb1e461ea3cc68256c5
2026-08-21 06:41:28 +00:00
..
2026-08-21 03:31:56 +00:00
2026-08-20 17:46:05 +00:00
2026-08-13 00:00:16 +00:00
2026-08-20 18:29:35 +00:00
2026-08-20 17:46:05 +00:00
2026-08-21 02:33:50 +00:00
2026-08-20 17:46:05 +00:00
2026-08-20 17:46:05 +00:00
2026-08-20 17:46:05 +00:00
2026-08-13 00:00:16 +00:00
2026-08-20 17:46:05 +00:00
2026-08-17 11:44:56 +00:00
2026-07-09 03:40:08 +00:00
2026-08-13 00:00:16 +00:00
2026-08-20 19:19:41 +00:00
2026-08-17 13:16:05 +00:00
2026-08-13 00:00:16 +00:00
2026-08-20 17:46:05 +00:00
2026-08-20 08:10:08 +00:00
2026-08-18 07:32:03 +00:00
2026-08-20 17:46:05 +00:00
2026-08-21 03:31:56 +00:00
2026-08-13 00:00:16 +00:00
2026-08-20 17:46:05 +00:00
2026-08-20 17:46:05 +00:00
2026-08-20 18:29:35 +00:00
2026-08-20 18:29:35 +00:00
2026-08-20 17:46:05 +00:00
2026-06-18 14:09:38 +02:00
2026-08-17 21:49:30 +00:00
2026-08-19 04:46:58 +00:00
2026-08-20 05:29:12 +00:00
2026-08-13 00:00:16 +00:00
2026-08-20 16:52:16 +00:00
2026-08-18 22:10:43 +00:00
2026-08-20 18:29:35 +00:00
2026-08-13 00:00:16 +00:00
2026-08-13 00:00:16 +00:00
2026-08-13 00:00:16 +00:00
2026-08-13 00:00:16 +00:00
2026-08-13 00:00:16 +00:00
2026-08-19 01:15:10 +00:00
2026-08-04 15:23:43 +00:00
2026-08-20 08:10:08 +00:00
2026-08-20 08:10:08 +00:00
2026-08-19 01:26:16 +00:00
2026-08-20 18:17:28 +00:00
2026-08-20 17:46:05 +00:00
2026-08-13 00:00:16 +00:00
2026-08-20 17:46:05 +00:00
2026-08-17 10:01:59 +00:00
2026-08-20 17:46:05 +00:00
2026-08-20 17:46:05 +00:00
2026-08-14 18:26:20 +00:00
2026-08-20 11:57:32 +00:00
2026-08-20 18:29:35 +00:00
2026-08-20 18:29:35 +00:00
2026-08-20 08:10:08 +00:00
2026-08-20 19:09:04 +00:00
2026-08-20 17:46:05 +00:00
2026-08-17 11:44:56 +00:00
2026-08-17 11:44:56 +00:00
2026-08-20 17:46:05 +00:00
2026-07-14 10:37:23 +00:00
2026-08-14 19:07:15 +00:00
2026-07-22 20:23:35 +00:00
2026-08-13 00:00:16 +00:00
2026-08-21 06:41:28 +00:00
2026-08-01 01:17:26 +00:00
2026-08-21 03:47:37 +00:00
2026-08-20 17:46:05 +00:00
2026-08-13 00:00:16 +00:00
2026-08-13 00:00:16 +00:00
2026-08-20 18:29:35 +00:00
2026-08-20 17:54:42 +00:00
2026-08-13 00:00:16 +00:00
2026-08-13 00:00:16 +00:00
2026-08-14 05:49:33 +00:00
2026-07-22 00:50:28 +00:00
2026-08-18 05:46:08 +00:00
2026-08-13 00:00:16 +00:00
2026-08-13 23:13:37 +00:00
2026-08-20 08:10:08 +00:00
2026-08-20 18:29:35 +00:00
2026-08-13 00:00:16 +00:00
2026-07-23 19:19:35 +00:00
2026-08-13 00:00:16 +00:00
2026-08-20 17:46:05 +00:00
2026-08-13 00:00:16 +00:00
2026-08-20 05:42:20 +00:00
2026-08-20 18:29:35 +00:00
2026-08-20 17:46:05 +00:00
2026-08-20 18:29:35 +00:00
2026-08-20 08:10:08 +00:00
2026-08-20 17:46:05 +00:00
2026-08-20 17:46:05 +00:00
2026-08-13 00:00:16 +00:00
2026-08-13 00:00:16 +00:00
2026-08-20 07:29:43 +00:00
2026-08-21 03:31:56 +00:00
2026-08-20 17:46:05 +00:00
2026-08-20 19:19:41 +00:00
2026-08-20 17:46:05 +00:00
2026-08-20 17:46:05 +00:00
2026-08-20 17:46:05 +00:00
2026-08-13 19:25:05 +00:00
2026-08-20 17:46:05 +00:00
2026-08-20 18:29:35 +00:00
2026-08-20 19:43:54 +00:00
2026-08-20 19:19:41 +00:00
2026-08-10 19:26:52 +00:00
2026-08-13 00:00:16 +00:00
2026-08-20 17:46:05 +00:00
2026-08-20 17:46:05 +00:00
2026-08-14 01:23:59 +00:00
2026-08-13 00:00:16 +00:00
2026-08-21 03:31:56 +00:00
2026-08-20 17:46:05 +00:00
2026-08-20 18:29:35 +00:00
2026-08-20 06:29:32 +00:00