Skip to content

Conversation

@toubatbrian
Copy link
Contributor

No description provided.

@changeset-bot
Copy link

changeset-bot bot commented Jan 7, 2026

🦋 Changeset detected

Latest commit: 5c1795c

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 17 packages
Name Type
@livekit/agents-plugin-openai Patch
@livekit/agents-plugin-anam Patch
@livekit/agents-plugin-cartesia Patch
@livekit/agents-plugin-elevenlabs Patch
@livekit/agents-plugin-google Patch
@livekit/agents-plugin-neuphonic Patch
@livekit/agents-plugin-resemble Patch
@livekit/agents-plugin-rime Patch
@livekit/agents-plugin-xai Patch
@livekit/agents Patch
@livekit/agents-plugin-baseten Patch
@livekit/agents-plugin-bey Patch
@livekit/agents-plugin-deepgram Patch
@livekit/agents-plugin-inworld Patch
@livekit/agents-plugin-livekit Patch
@livekit/agents-plugin-silero Patch
@livekit/agents-plugins-test Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@toubatbrian toubatbrian changed the base branch from main to brian/fix-realtime-otel-export January 7, 2026 10:00
@@ -0,0 +1,5 @@
---
'@livekit/agents-plugin-openai': patch
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

given that the now legacy AudioFormat was exposed to users and we're renaming it, I think this should be a minor version upgrade.

Copy link
Contributor Author

@toubatbrian toubatbrian Jan 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can make it backward competible tho. One thing makes it hard to do minor bump is that we recently sync all plugin packages, along with main agent package, to the same version on every release. Making a minor bump on one plugin would cause all packages to be minor bumped. Any idea on how we should properly handle this?

Copy link
Contributor Author

@toubatbrian toubatbrian Jan 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, while AudioFormat type changed from a string ('pcm16') to an interface ({ type: 'audio/pcm', rate: number }), users never interact with this type directly - it's only used internally for the WebSocket protocol.

The public API (constructor options) remains fully backward compatible:
Beta:

new RealtimeModel({  model: 'gpt-4o-realtime',  voice: 'alloy',  temperature: 0.8,  inputAudioTranscription: { model: 'whisper-1' },  turnDetection: { type: 'server_vad' },  // ... other options});

GA (same code still works):

new RealtimeModel({  model: 'gpt-4o-realtime',  voice: 'alloy',  temperature: 0.8,  // kept for compat, marked @deprecated  inputAudioTranscription: { model: 'whisper-1' },  turnDetection: { type: 'server_vad' },  // ... other options  // NEW optional: inputAudioNoiseReduction, tracing});

All existing constructor options are preserved, temperature is kept (just deprecated), and new options (inputAudioNoiseReduction, tracing) are additive. Keeping it as a patch should be fine since no user-facing breaking changes.

Let me know how you think @lukasIO

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just verified, both

llm: new openai.realtime.beta.RealtimeModel(),

and

llm: new openai.realtime.RealtimeModel(),

are working properly.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, while AudioFormat type changed from a string ('pcm16') to an interface ({ type: 'audio/pcm', rate: number }), users never interact with this type directly - it's only used internally for the WebSocket protocol.

if that's the case then we should think about not exporting it from index.ts in the first place going forward. Right now it's available for users to interact with as a type even if they don't directly use it.

One thing makes it hard to do minor bump is that we recently sync all plugin packages, along with main agent package, to the same version on every release. Making a minor bump on one plugin would cause all packages to be minor bumped.

yeah, this situation is less than ideal imo. Let's discuss this in our sync next week.

@toubatbrian toubatbrian requested a review from lukasIO January 8, 2026 13:21
Base automatically changed from brian/fix-realtime-otel-export to main January 8, 2026 13:28
@toubatbrian toubatbrian merged commit fad7080 into main Jan 8, 2026
8 checks passed
@toubatbrian toubatbrian deleted the brian/oai-realtime-ga branch January 8, 2026 18:27
@github-actions github-actions bot mentioned this pull request Jan 8, 2026
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.

3 participants