You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: make audio_interface optional for text-only chat mode (#749)
* fix: make audio_interface optional for text-only chat mode
When using chat-only (text_only) mode, requiring an AudioInterface is
unnecessary. This makes audio_interface default to None in both
Conversation and AsyncConversation, with None-guards around all audio
operations (start, stop, output, interrupt).
Fixes#632
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: auto-set text_only in config when audio_interface is omitted
When audio_interface is None (text-only chat mode), automatically set
text_only: True in conversation_config_override so the server skips
audio generation. Uses setdefault to preserve explicit user overrides.
Applied to both Conversation and AsyncConversation.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: avoid mutating shared config dict when setting text_only
Replace setdefault (which mutates the caller's dict in-place) with a
new dict spread. Prevents a reused ConversationInitiationData from
inheriting text_only: True when creating a second Conversation with
an audio_interface.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* test: add text-only mode tests for Conversation
Verifies that:
- text_only is auto-set when audio_interface is None
- explicit text_only=False override is preserved
- original config dict is not mutated (dict spread fix)
* refactor: move text_only auto-set to BaseConversation, deep-copy config
Move the text_only auto-set logic from both Conversation and
AsyncConversation into BaseConversation to eliminate duplication.
Deep-copy the ConversationInitiationData so the caller's original
object is never mutated.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
0 commit comments