Repository navigation
Say the plugin asks for text, and why replies match by order - #11
Merged
Merged
Conversation
Dialog-RSN-1 on prod now defaults to audio output and echoes response metadata. The README's "Audio output: Not supported" now reads as a service limit, so say the plugin asks for text. The module docstring said response.created carries no metadata; it does now, and order matching still holds. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 14, 2026
One name for the endpoint override across every Dialog-RSN-1 companion repo, matching the browser repo and the realtime-dev-kit examples. It holds the full realtime URL (wss://<host>/v1/realtime). No fallback to the old name, as with the DIALOG_API_KEY rename. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What I tested
All live tests ran against
api.us.poly.ai(viaDIALOGUE_BASE_URL=https://api.us.poly.ai/v1), because the demo key is refused onapi.studio.poly.ai(401 on both X-API-KEY and Bearer). The docs and repos still point atapi.studio.poly.ai; that host question is Peter's.livekit-plugins-polyai:uv sync && uv run pytest: 34 passed.ruff check,ruff format --checkandmypyclean.uv sync, thenuv run agent.py devagainstlivekit-server --dev(1.13.9). Onmainthe agent fails at once withDialog-RSN-1 needs an API key ... DIALOGUE_API_KEY:uv.lockpinned the plugin at its first commit (db64214), from before theDIALOG_API_KEYrename and theapi.studio.poly.aihost. After re-locking on plugin main (ebde908),uv run caller.pyran the whole call: greeting,look_up_reservation(GM40912), barge-in cut at "checking", fee confirmed,change_checkout_time(14:00),call.wavsaved. No errors in the agent log.session_config: sessions now start withoutput_modalities: ["audio"]. The plugin's firstsession.updateswitches to["text"], and replies arrive asresponse.output_text.deltaonly, with nooutput_audio.delta. So there's no server audio on top of ElevenLabs.livekit-plugins-openai1.8.3: I captured its real firstsession.updateand replayed it on prod, and it's now accepted (semantic_vadbecomesserver_vad, voice dropped).response.creatednow echoesresponse.metadata. Call ids are now 32 characters. A scratch copy ofagent.pyonopenai.realtime.RealtimeModel(base_url=..., modalities=["text"])ran the whole scripted call, tools and barge-in included. With default modalities it asks for audio, and LiveKit then plays the model's audio instead of running the TTS (agent_activity.py).reasoning,turn_detection.interrupt_response: false, and MCP tools.lk agent dev agent.py(whichagent.py devnow suggests in a deprecation warning) fails with "api-key is required" because it doesn't read.env, so the guide keepsuv run agent.py dev.What changed
Docs only, no behaviour change. The plugin already asks for text and matches replies by order, and both still work on prod after 13 Oct.
README.md: "Audio output: Not supported" now read like a service limit. Dialog-RSN-1 can speak now, so the row says the plugin asks for text.realtime_model.pydocstring: it saidresponse.createdcarries no metadata. Prod echoes it now. Order matching still holds.Left open
response.metadataas well as by order. I left that alone: it's a design choice.session.updatewere ever rejected, the session would stay on the new["audio"]default. The plugin only readsoutput_textdeltas, so the agent would go silent. It sends only fields prod accepts today, so this can't happen now.Paired PRs: demo PolyAI-LDN/dialog-rsn-1-livekit#3, docs PolyAI-LDN/polyai-mintlify-doc#657.
Also: URL override renamed to
DIALOG_REALTIME_URLPeter picked one name for the endpoint override across every Dialog-RSN-1 companion repo and guide:
DIALOG_REALTIME_URL, holding the full realtime URL (wss://<host>/v1/realtime). It matches the browser repo and the realtime-dev-kit LiveKit and Pipecat examples. No fallback to the old name, as with theDIALOG_API_KEYrename.Plugin: reads
DIALOG_REALTIME_URLinstead ofDIALOGUE_BASE_URL.protocol.realtime_url()already passes a fullwss://…/realtimeURL through unchanged, so only the env lookup, docstring and README change.uv run pytest34 passed; ruff, format and mypy clean; withDIALOG_REALTIME_URL=wss://api.us.poly.ai/v1/realtimethe model resolves that URL.Merge this before PolyAI-LDN/dialog-rsn-1-livekit#3, which then needs a re-lock so the demo picks the rename up.
🤖 Generated with Claude Code