Skip to content

examples: Rooms (nested listen, move listen/s2s into a Room, room say/play)#14

Merged
davehorton merged 5 commits into
mainfrom
feat/room-examples
Jun 19, 2026
Merged

examples: Rooms (nested listen, move listen/s2s into a Room, room say/play)#14
davehorton merged 5 commits into
mainfrom
feat/room-examples

Conversation

@davehorton

Copy link
Copy Markdown
Contributor

Five WebSocket examples under examples/ for the Rooms features, all Rooms-native (no 'conference' anywhere — they use the room verb and a move-to-room LCC command):

  • room-with-listen-stream — a Room with a nested bidirectional listen stream (the room audio is forked to a WS endpoint; audio streamed back is mixed for everyone).
  • listen-then-room — answer into a 1:1 listen, then move the caller and the live stream into a Room (WebSocket preserved).
  • s2s-move-to-room — connect the caller to an Ultravox s2s agent, then move both into a Room (vendor WebSocket preserved).
  • room-sayinjectSay a one-shot TTS announcement heard by the whole Room (say-start/say-done on the statusHook).
  • room-play-toneinjectPlay a tone heard by the whole Room (play-start/play-done).

Bumps @jambonz/schema ^0.3.8^0.3.14 so the room verb validates (the examples use .room()). llm-vendors.generated.ts header re-stamped to 0.3.14 (vendor list unchanged).

Depends on a matching feature-server change: the two move examples send a room-native LCC command (move-to-room value, room name field) — a synonym for the existing move-to-conference/conference. (Companion feature-server commit on the mediajam branch.)

🤖 Generated with Claude Code

davehorton and others added 5 commits June 19, 2026 10:57
…y/play

Add five WebSocket examples under examples/ demonstrating Rooms:
- room-with-listen-stream: a Room with a nested bidirectional listen stream
- listen-then-room: 1:1 listen, then move caller + stream into a Room
- s2s-move-to-room: Ultravox s2s, then move caller + agent into a Room
- room-say: injectSay a one-shot announcement heard by the whole Room
- room-play-tone: injectPlay a tone heard by the whole Room

Bump @jambonz/schema ^0.3.8 -> ^0.3.14 so the `room` verb validates (the
examples use .room(); 0.3.14 adds the room verb). llm-vendors.generated.ts header
re-stamped to 0.3.14 (vendor list unchanged).

The move examples issue a room-native LCC command (move-to-room / room field),
supported by the matching feature-server change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Promote the room and stream verbs everywhere (both kept for back-compat):
- rename listen-then-room -> stream-then-room and switch to .stream() +
  stream:status / move-to-room
- rename listen-record -> stream-record and switch .listen() -> .stream()
- README + AGENTS verb catalog: add .room(), lead with room/stream, note that
  conference/listen remain supported synonyms
- README + AGENTS audio section + example lists: use stream (not listen), list
  the new Rooms examples

The room verb's nested audio-fork property stays `listen` (room-with-listen-stream)
— that's the actual property name; there is no stream synonym at the property level.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Bump @jambonz/schema ^0.3.14 -> ^0.3.15 (adds the conference/room 'stream' nested
property). Add ConferenceVerb.stream?: Omit<StreamVerb,'verb'> (RoomVerb inherits)
as the preferred synonym for the nested 'listen' fork. Rename the example
room-with-listen-stream -> room-with-stream and use the nested stream: property,
so it's fully stream-native. README/AGENTS refs updated.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…dor list unchanged)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…oded

Replace the hardcoded tvly-dev-... API key with session.data.env_vars.TAVILY_API_KEY
and declare TAVILY_API_KEY (obscure: true) as an application env var.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@davehorton davehorton merged commit db1da74 into main Jun 19, 2026
1 check passed
@davehorton davehorton deleted the feat/room-examples branch June 19, 2026 16:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant