Skip to content

Add output_type to the RTVI bot-output message - #6351

Merged
aconchillo merged 2 commits into
mainfrom
aleix/rtvi-output-type
Oct 23, 2026
Merged

aconchillo merged 2 commits into
mainfrom
aleix/rtvi-output-type

Conversation

@aconchillo

@aconchillo aconchillo commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

The RTVI bot-output message says what kind of text it holds in text_type: a sentence, a word, a backchannel, or a custom type such as code. Its user-side counterpart, user-input, calls the same idea input_type. This adds output_type to bot-output so the two messages match, and deprecates text_type.

  • Wire format. The bot sends output_type, text_type and aggregated_by with the same value until 2.0.0, so existing clients keep working. There's no protocol bump, as when text_type was added.
  • BotOutputMessageData. output_type is the required field. Setting any of the three names fills in the other two.
  • Inside Pipecat. Only the RTVI field changes. Frames, TextType, skip_text_types and the text transforms keep text_type.
  • Evals. pipecat eval reads output_type to find bot backchannels, so it won't see them from a 1.13 bot.

output_type says what kind of text a bot-output message holds, the bot's
counterpart of input_type on user-input. text_type, which carries the same
value, is deprecated alongside aggregated_by. The bot sends all three until
2.0.0, and pipecat eval reads output_type to find bot backchannels.
@codecov

codecov Bot commented Oct 23, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

Files with missing lines Coverage Δ
src/pipecat/evals/events.py 95.09% <100.00%> (ø)
src/pipecat/processors/frameworks/rtvi/models.py 100.00% <100.00%> (ø)
src/pipecat/processors/frameworks/rtvi/observer.py 83.43% <ø> (ø)

... and 7 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@markbackman markbackman left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

It's a bummer to make this change after we just made it, but I think it's the right call.

@aconchillo

aconchillo commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor Author

It's a bummer to make this change after we just made it, but I think it's the right call.

Yep, I realized after I saw input_type again... which I initially proposed but then I didn't think about the output. 🤦

@aconchillo
aconchillo merged commit aaaaac4 into main Oct 23, 2026
6 checks passed
@aconchillo
aconchillo deleted the aleix/rtvi-output-type branch October 23, 2026 22:40
mattieruth pushed a commit to pipecat-ai/pipecat-client-web that referenced this pull request Oct 25, 2026
Pipecat's bot-output message now carries output_type, the counterpart of
user-input's input_type (pipecat-ai/pipecat#6351). Fill in output_type,
text_type and aggregated_by from whichever one the bot sends.
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.

2 participants