Skip to content

Conversation

@DexterStorey
Copy link
Contributor

Motivation

  • Provide a text-only workflow and typed-input flow for realtime sessions to support speech-off / TTS-free use cases.
  • Let users toggle spoken replies on/off without changing the rest of the realtime session flow.
  • Allow sending typed messages into the same realtime conversation so text-to-text / text-to-speech use cases are supported.

Description

  • Expose updateSpeechEnabled and sendText on the realtime context (src/realtime/provider.tsx) and add input_text as a transcript source.
  • Wire session updates to switch modalities between ['audio','text'] and ['text'] and conditionally include voice when speech is enabled.
  • Add a compact UI block in src/app/(app)/ToggleRealtime.tsx with a speech output toggle, a text composer, and a Send button that calls sendText and clears the draft.
  • Persist speechEnabled to localStorage, stop connecting audio playback when speech is disabled, and surface typed messages into the transcript timeline.

Testing

  • Ran formatting with bun run format which completed and fixed issues where necessary.
  • Type-checked with bun x tsc --noEmit which passed after fixes to optional properties.
  • Built the app with bun run build which completed successfully (noting Next.js metadata/themeColor warnings only).

Codex Task

@vercel
Copy link
Contributor

vercel bot commented Dec 25, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
lilac Ready Ready Preview, Comment Dec 26, 2025 1:21am

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant