Compare commits
base: wx44wx:v0.0.97
wx44wx:main
wx44wx:aleix/port-subagents-to-pipecat
wx44wx:mb/ui-worker
wx44wx:pk/decouple-context-management-from-turn-frames-for-realtime-services
wx44wx:mb/update-inception-realtime-setting
wx44wx:filipi/tavus_faster_than_realtime.py
wx44wx:mark/missing-module-importerror
wx44wx:mb/fix-elevenlabs-tts-spacing
wx44wx:pk/optional-transcript-turn-stop
wx44wx:mb/openrouter-developer-role
wx44wx:vp-moq-vibe
wx44wx:filipi/smallwebrtc_prevent_silence
wx44wx:pk/nova-sonic-async-tool-support
wx44wx:vs/deepgram-tts-mip-opt-out
wx44wx:mb/test-ci
wx44wx:jh/aws-auth-fatal-errors
wx44wx:mb/fix-gemini-live-local-vad
wx44wx:aleix/modernize-typing
wx44wx:ac/daily-send-dtmf
wx44wx:demo/ttsspeakframe-timing
wx44wx:vp-fix/mcp-persistent-session
wx44wx:filipi/async_tools_structured_data
wx44wx:mb/dependabot-2026-03-29
wx44wx:aleix/parallel-evals
wx44wx:filipi/sync_clock_audio_queue
wx44wx:aleix/enable-direct-mode-filters
wx44wx:fix/gemini-vad-disabled-guard
wx44wx:xai-tts-service
wx44wx:mb/sarvam-llm-settings-refactor
wx44wx:add_together_stt_tts
wx44wx:mb/add-gradium-stt-sample-rates
wx44wx:rtvi-send-file-support
wx44wx:mb/wake-phrase-aggregator-filter
wx44wx:copilot/fix-append-to-context-issue
wx44wx:mb/together-stt-tts
wx44wx:markbackman/smallest-settings-cleanup
wx44wx:pk/use-service-settings-type-for-changed
wx44wx:pk/service-init-cleanup-backup
wx44wx:hush/contentFilterParallel
wx44wx:mb/remove-processing-metrics
wx44wx:fix/self-referential-dependency
wx44wx:mb/lazy-import-smart-turn-v3
wx44wx:mb/fix-rtvi-upstream
wx44wx:mb/fix-word-timestamps
wx44wx:fix/speech-timeout-early-trigger-race-condition
wx44wx:aleix/improve-user-stop-turn
wx44wx:mb/static-type-checking
wx44wx:pk/flows-gemini-live-support
wx44wx:fix/smallwebrtc-audio-chunk-size
wx44wx:pk/flows-realtime-service-support-with-deactivated-fn-warning
wx44wx:mb/gradium-tts-use-flush
wx44wx:mb/gradium-tts-flush
wx44wx:hush/claude
wx44wx:kompfner-patch-1
wx44wx:fix/event-handler-type-annotations
wx44wx:mb/tts-speak-frame-context
wx44wx:aleix/dont-use-interim-in-min-words
wx44wx:hush/nonInterruptible
wx44wx:filipi/adding_daily_params
wx44wx:pk/workaround-av-library-issue
wx44wx:aleix/frameprocessor-setup-pipeline-task
wx44wx:mb/voicemail-external-turn-strategies
wx44wx:aleix/rnnoisefilter-fix-empty-audio
wx44wx:aleix/timeout-bot-turn-start-strategy
wx44wx:mb/vonage-serializer
wx44wx:vp-pipecat-instrumentation-refactor
wx44wx:hush/spanish
wx44wx:hush/contentFilter
wx44wx:feat/cartesia-configurable-pause-frame-processing
wx44wx:vp-stt-llm-tts-observer
wx44wx:aleix/claude-thinking-frames
wx44wx:filipi/aws-agentcore-poc
wx44wx:hush/ttsBug-simple-fix
wx44wx:hush/ttsBug
wx44wx:mb/review-error-handler-2
wx44wx:filipi/high_quality_audio
wx44wx:hush/TurnTranscriptProcessor
wx44wx:fix/deepgram-flux-reconnection-race-condition
wx44wx:pk/aws-agentcore-exploration
wx44wx:pk/aws-agentcore-exploration-websocket-branch
wx44wx:hush/cartesiaWordstamps
wx44wx:mb/improve-simple-text-aggregation-updated
wx44wx:fix/elevenlabs-context-race-condition
wx44wx:vp-trace-clean
wx44wx:vp-minimax-2962
wx44wx:filipi/pushing_llm_end_frame
wx44wx:mb/impmrove-simple-text-aggregator
wx44wx:hush/endFrameTTS
wx44wx:jpt/smallwebrtc-requestdata-fix
wx44wx:bot-output
wx44wx:hush/openrouterDemo
wx44wx:mb/fix-pipeline-task-docstrings
wx44wx:mb/llm-tracing-context-fix
wx44wx:mb/otel-llm-context
wx44wx:pk/refactor-concatenate-aggregated-text
wx44wx:hush/realtimeMem0
wx44wx:aleix/introduce-pipeline-node
wx44wx:hush/TTSSpeakDemo
wx44wx:cb/test-serialization
wx44wx:mb/runner-telephony-proxy-warning
wx44wx:hush/backoffExaples
wx44wx:fix/openai-llm-error-frame-propagation
wx44wx:fix/openai-stream-cleanup-on-interruption
wx44wx:mb/cli
wx44wx:jpt/runner-smwebrtc-requestData
wx44wx:hush/usageTrackingExample
wx44wx:aleix/readme-ecosystem-table
wx44wx:hush/enableRecordingRunner
wx44wx:mb/unused-imports
wx44wx:mb/cleanup-unused-imports
wx44wx:hush/simpleGstreamer
wx44wx:hush/reset-closing-flag
wx44wx:pk/openai-realtime-universal-llmcontext
wx44wx:hush/prerecordedMessageExample
wx44wx:fix/fastapi-websocket-disconnect-event
wx44wx:hush/aggregateTranscripts
wx44wx:filipi/freeze_issue
wx44wx:mb/remove-duplicate-daily-events
wx44wx:cb/frame-processor-interrupt
wx44wx:aleix/pause-before-tts-speak-frame
wx44wx:mb/util-string-currency
wx44wx:hush/gladiaFixes
wx44wx:copilot/vscode1758090653709
wx44wx:hush/openAIagent
wx44wx:mb/remove-uv-lock
wx44wx:hush/AGENTSmd
wx44wx:hush/delayProcessorDemo
wx44wx:mb/break-time
wx44wx:hush/hedgeLLM
wx44wx:mb/fix-quickstart
wx44wx:aleix/pipelinetask-handle-botinterruption
wx44wx:mb/fix-sentry-asyncio
wx44wx:mb/quickstart-docker-buildx
wx44wx:filipi/heygen_observer
wx44wx:jpt/smallwebrtcprebuilt-config
wx44wx:cb/elevenlabs-debug
wx44wx:hush/interventionProcessor
wx44wx:hush/balboa
wx44wx:mb/update-python-compat-workflow
wx44wx:mb/pyproject-compatibility
wx44wx:aleix/example/quickstart-daily
wx44wx:mb/foundational-deps
wx44wx:khk/audio-glitch-test
wx44wx:mb/runner-body-arg
wx44wx:mb/fix-tavus-transport-callbacks
wx44wx:mb/new-quickstarts
wx44wx:pk/prototype-llm-failover-attempt-3
wx44wx:mb/use-new-local-runner
wx44wx:jpt/runner-module
wx44wx:pk/aws-strands-demo-prototype
wx44wx:hush/hiddenAssistant
wx44wx:aleix/pipeline-task-cancel-queue
wx44wx:hush/transfer-mute-demo
wx44wx:aleix/llm-watchdog-timers
wx44wx:vp-rtvi-error-tweak
wx44wx:aleix/audio-buffer-processor-min-sample-rate
wx44wx:mb/fix-11labs-settings
wx44wx:mb/fix-otel-examples
wx44wx:hush/11labsTagalog
wx44wx:hush/rtsp
wx44wx:aleix/cleanup-hailuo
wx44wx:hush/dailySessionId
wx44wx:hush/googleAudioInOpenAIout
wx44wx:hush/openAiAgentExample
wx44wx:aleix/queue-system-frames
wx44wx:add-bedrock-support
wx44wx:fixing_sound_mixer_small_webrtc
wx44wx:fixing_sound_mixer
wx44wx:aleix/observers-in-frame-processor
wx44wx:mb/stt-direct-mute
wx44wx:hush/defaultAfter4secDemo
wx44wx:hush/rtviSimpleExample
wx44wx:hush/muteTranscriptionExample
wx44wx:hush/smartTurnDetection
wx44wx:update-modal-example
wx44wx:hush/moderationFilterEx
wx44wx:vr000m-patch-1
wx44wx:hush/customProcessorDemo
wx44wx:hush/spellTagDemo
wx44wx:mrkb-add-rtvi-llm-helpers
wx44wx:hush/RTVIServerMessageDemo
wx44wx:cb/multi-transport-example
wx44wx:vp-mcp
wx44wx:hush/backgroundBlurExample
wx44wx:cb/pcc-transport
wx44wx:aleix/introduce-urgent-frames
wx44wx:hush/recordingDemo
wx44wx:khk/mem0
wx44wx:hush/transcriptionMuteBug
wx44wx:mb/db-rime-hotfix
wx44wx:aleix/smart-turn
wx44wx:mb/flush-audio-class
wx44wx:cb/storybot-again
wx44wx:hush/realtimeWithTranscriptsExample
wx44wx:cb/voicemail
wx44wx:aleix/openai-llm-service-retry-logic
wx44wx:aleix/llm-assistant-aggregator-bot-stopped
wx44wx:hush/fireworkFunction
wx44wx:hush/recordingIssueJan24
wx44wx:hush/nova3Example
wx44wx:mb/add-office-ambience
wx44wx:aleix/cartesia-reset-flush-audio-context-id
wx44wx:mb/fal-whizper
wx44wx:mb/README-openai-whisper
wx44wx:cb/extra-llm-end-frames
wx44wx:cb/frame-groups
wx44wx:meeting-token-fix
wx44wx:hush/callTransferOR
wx44wx:hush/callTransfer
wx44wx:aleix/remove-test-requirements
wx44wx:mb/user-idle-improvements
wx44wx:hush/muteDemo
wx44wx:aleix/playht-ignore-messages-from-differedent-request-id
wx44wx:mb/fully-deprecate-response-aggregators
wx44wx:hush/revelProfile
wx44wx:hush/roomCreationTest
wx44wx:aleix/edgar/llm-user-frame-processor
wx44wx:mb/update-for-audioop
wx44wx:pipecat-0.0.51
wx44wx:aleix/no-need-for-ai-services-super-start-stop-cancel
wx44wx:mb/fullstack-simple-chatbot
wx44wx:mb/nim-llm-service
wx44wx:aleix/dont-wait-for-bot-speaking-to-resume
wx44wx:hush/cartesiaCatch
wx44wx:hush/dialtone
wx44wx:hush/interruptErrors
wx44wx:mb/update-foundational-25
wx44wx:hush/bigly
wx44wx:mb/llm-as-judge-testing
wx44wx:mb/fix-missing-await
wx44wx:khk/anthropic-hackathon
wx44wx:khk/natural-conversation-anthropic.py
wx44wx:khk/load-json-workflow
wx44wx:aleix/background-sounds
wx44wx:hyypeman/load-json-workflow
wx44wx:khk/debugging-openai-realtime-item-creation
wx44wx:async-rebase-openai-multi-function-call
wx44wx:mb/google-llm-update
wx44wx:khk/aggregator-demo-updates
wx44wx:mb/llm-extra-params
wx44wx:khk/http
wx44wx:khk/together-function-parsing
wx44wx:jpt/11l-set_model
wx44wx:khk/together-llama-vision-rebased-9bbb824
wx44wx:khk/together-llama-vision
wx44wx:cbrianhill/allow-submodule-builds
wx44wx:aleix/stop-and-cancel-are-different
wx44wx:khk/gpu-demo-0725
wx44wx:khk-tuesday-launch
wx44wx:khk/tuesday-sqs-01
wx44wx:khk/tuesday-sqs
wx44wx:khk/groq-gemma-demo-old-working
wx44wx:khk/vad-gated-demo
wx44wx:jpt/fastbot-example
wx44wx:khk-deepgram-local
wx44wx:greedy-plus-241
wx44wx:khk-greedy-inference
wx44wx:cb/test-cleanup
wx44wx:aleix/websocket-transport-async
wx44wx:khk-gemini-144
wx44wx:jpt/pipecat-ui
wx44wx:jpt/pipecat-readme
wx44wx:cb/pax-id
wx44wx:cb/telestrator
wx44wx:khk/demos-08042024
wx44wx:docstrings-again
wx44wx:khk/queues-examples-tinkering
wx44wx:cb/valorant
wx44wx:khk-function-calling-hackathon
wx44wx:cb/golden-kitty-aws
wx44wx:cleanup
wx44wx:cb/golden-kitty
wx44wx:cb/09-bots-arguing
wx44wx:transcript-aggregation
wx44wx:khk/minimal-samples
wx44wx:khk/simple-sample-ctrl-c
wx44wx:v1.2.1
wx44wx:v1.2.0
wx44wx:v1.1.0
wx44wx:v1.0.0
wx44wx:v0.0.108
wx44wx:v0.0.107
wx44wx:v0.0.106
wx44wx:v0.0.105
wx44wx:v0.0.104
wx44wx:v0.0.103
wx44wx:v0.0.102
wx44wx:v0.0.101
wx44wx:v0.0.100
wx44wx:v0.0.99
wx44wx:v0.0.98
wx44wx:v0.0.97
wx44wx:v0.0.96
wx44wx:v0.0.95
wx44wx:v0.0.94
wx44wx:v0.0.93
wx44wx:v0.0.92
wx44wx:v0.0.91
wx44wx:v0.0.90
wx44wx:v0.0.89
wx44wx:v0.0.88
wx44wx:v0.0.87
wx44wx:v0.0.86
wx44wx:v0.0.85
wx44wx:v0.0.84
wx44wx:v0.0.83
wx44wx:v0.0.82
wx44wx:v0.0.81
wx44wx:v0.0.80
wx44wx:v0.0.79
wx44wx:v0.0.78
wx44wx:v0.0.77
wx44wx:v0.0.76
wx44wx:v0.0.75
wx44wx:v0.0.74
wx44wx:v0.0.73
wx44wx:v0.0.72
wx44wx:v0.0.71
wx44wx:v0.0.70
wx44wx:v0.0.69
wx44wx:v0.0.68
wx44wx:v0.0.67
wx44wx:v0.0.66
wx44wx:v0.0.65
wx44wx:v0.0.64
wx44wx:v0.0.63
wx44wx:v0.0.62
wx44wx:v0.0.61
wx44wx:v0.0.60
wx44wx:v0.0.59
wx44wx:v0.0.58
wx44wx:v0.0.57
wx44wx:v0.0.56
wx44wx:v0.0.55
wx44wx:v0.0.54
wx44wx:v0.0.53
wx44wx:v0.0.52
wx44wx:v0.0.51
wx44wx:v0.0.50
wx44wx:v0.0.49
wx44wx:v0.0.48
wx44wx:v0.0.47
wx44wx:v0.0.46
wx44wx:v0.0.45
wx44wx:v0.0.44
wx44wx:v0.0.43
wx44wx:v0.0.42
wx44wx:v0.0.41
wx44wx:v0.0.40
wx44wx:v0.0.39
wx44wx:v0.0.38
wx44wx:v0.0.37
wx44wx:v0.0.36
wx44wx:v0.0.35
wx44wx:v0.0.34
wx44wx:v0.0.33
wx44wx:v0.0.32
wx44wx:v0.0.31
wx44wx:v0.0.30
wx44wx:v0.0.29
wx44wx:v0.0.28
wx44wx:v0.0.27
wx44wx:v0.0.26
wx44wx:v0.0.25
wx44wx:v0.0.24
wx44wx:v0.0.23
wx44wx:v0.0.22
wx44wx:v0.0.21
wx44wx:v0.0.20
wx44wx:v0.0.19
wx44wx:v0.0.18
wx44wx:v0.0.17
wx44wx:v0.0.16
wx44wx:v0.0.15
wx44wx:v0.0.14
wx44wx:v0.0.13
wx44wx:v0.0.12
wx44wx:v0.0.11
wx44wx:v0.0.10
wx44wx:v0.0.9
wx44wx:v0.0.8
wx44wx:v0.0.7
wx44wx:v0.0.6
wx44wx:v0.0.5
wx44wx:v0.0.4
wx44wx:v0.0.3
wx44wx:v0.0.2
...
compare: wx44wx:hush/endFrameTTS
wx44wx:aleix/port-subagents-to-pipecat
wx44wx:mb/ui-worker
wx44wx:pk/decouple-context-management-from-turn-frames-for-realtime-services
wx44wx:mb/update-inception-realtime-setting
wx44wx:main
wx44wx:filipi/tavus_faster_than_realtime.py
wx44wx:mark/missing-module-importerror
wx44wx:mb/fix-elevenlabs-tts-spacing
wx44wx:pk/optional-transcript-turn-stop
wx44wx:mb/openrouter-developer-role
wx44wx:vp-moq-vibe
wx44wx:filipi/smallwebrtc_prevent_silence
wx44wx:pk/nova-sonic-async-tool-support
wx44wx:vs/deepgram-tts-mip-opt-out
wx44wx:mb/test-ci
wx44wx:jh/aws-auth-fatal-errors
wx44wx:mb/fix-gemini-live-local-vad
wx44wx:aleix/modernize-typing
wx44wx:ac/daily-send-dtmf
wx44wx:demo/ttsspeakframe-timing
wx44wx:vp-fix/mcp-persistent-session
wx44wx:filipi/async_tools_structured_data
wx44wx:mb/dependabot-2026-03-29
wx44wx:aleix/parallel-evals
wx44wx:filipi/sync_clock_audio_queue
wx44wx:aleix/enable-direct-mode-filters
wx44wx:fix/gemini-vad-disabled-guard
wx44wx:xai-tts-service
wx44wx:mb/sarvam-llm-settings-refactor
wx44wx:add_together_stt_tts
wx44wx:mb/add-gradium-stt-sample-rates
wx44wx:rtvi-send-file-support
wx44wx:mb/wake-phrase-aggregator-filter
wx44wx:copilot/fix-append-to-context-issue
wx44wx:mb/together-stt-tts
wx44wx:markbackman/smallest-settings-cleanup
wx44wx:pk/use-service-settings-type-for-changed
wx44wx:pk/service-init-cleanup-backup
wx44wx:hush/contentFilterParallel
wx44wx:mb/remove-processing-metrics
wx44wx:fix/self-referential-dependency
wx44wx:mb/lazy-import-smart-turn-v3
wx44wx:mb/fix-rtvi-upstream
wx44wx:mb/fix-word-timestamps
wx44wx:fix/speech-timeout-early-trigger-race-condition
wx44wx:aleix/improve-user-stop-turn
wx44wx:mb/static-type-checking
wx44wx:pk/flows-gemini-live-support
wx44wx:fix/smallwebrtc-audio-chunk-size
wx44wx:pk/flows-realtime-service-support-with-deactivated-fn-warning
wx44wx:mb/gradium-tts-use-flush
wx44wx:mb/gradium-tts-flush
wx44wx:hush/claude
wx44wx:kompfner-patch-1
wx44wx:fix/event-handler-type-annotations
wx44wx:mb/tts-speak-frame-context
wx44wx:aleix/dont-use-interim-in-min-words
wx44wx:hush/nonInterruptible
wx44wx:filipi/adding_daily_params
wx44wx:pk/workaround-av-library-issue
wx44wx:aleix/frameprocessor-setup-pipeline-task
wx44wx:mb/voicemail-external-turn-strategies
wx44wx:aleix/rnnoisefilter-fix-empty-audio
wx44wx:aleix/timeout-bot-turn-start-strategy
wx44wx:mb/vonage-serializer
wx44wx:vp-pipecat-instrumentation-refactor
wx44wx:hush/spanish
wx44wx:hush/contentFilter
wx44wx:feat/cartesia-configurable-pause-frame-processing
wx44wx:vp-stt-llm-tts-observer
wx44wx:aleix/claude-thinking-frames
wx44wx:filipi/aws-agentcore-poc
wx44wx:hush/ttsBug-simple-fix
wx44wx:hush/ttsBug
wx44wx:mb/review-error-handler-2
wx44wx:filipi/high_quality_audio
wx44wx:hush/TurnTranscriptProcessor
wx44wx:fix/deepgram-flux-reconnection-race-condition
wx44wx:pk/aws-agentcore-exploration
wx44wx:pk/aws-agentcore-exploration-websocket-branch
wx44wx:hush/cartesiaWordstamps
wx44wx:mb/improve-simple-text-aggregation-updated
wx44wx:fix/elevenlabs-context-race-condition
wx44wx:vp-trace-clean
wx44wx:vp-minimax-2962
wx44wx:filipi/pushing_llm_end_frame
wx44wx:mb/impmrove-simple-text-aggregator
wx44wx:hush/endFrameTTS
wx44wx:jpt/smallwebrtc-requestdata-fix
wx44wx:bot-output
wx44wx:hush/openrouterDemo
wx44wx:mb/fix-pipeline-task-docstrings
wx44wx:mb/llm-tracing-context-fix
wx44wx:mb/otel-llm-context
wx44wx:pk/refactor-concatenate-aggregated-text
wx44wx:hush/realtimeMem0
wx44wx:aleix/introduce-pipeline-node
wx44wx:hush/TTSSpeakDemo
wx44wx:cb/test-serialization
wx44wx:mb/runner-telephony-proxy-warning
wx44wx:hush/backoffExaples
wx44wx:fix/openai-llm-error-frame-propagation
wx44wx:fix/openai-stream-cleanup-on-interruption
wx44wx:mb/cli
wx44wx:jpt/runner-smwebrtc-requestData
wx44wx:hush/usageTrackingExample
wx44wx:aleix/readme-ecosystem-table
wx44wx:hush/enableRecordingRunner
wx44wx:mb/unused-imports
wx44wx:mb/cleanup-unused-imports
wx44wx:hush/simpleGstreamer
wx44wx:hush/reset-closing-flag
wx44wx:pk/openai-realtime-universal-llmcontext
wx44wx:hush/prerecordedMessageExample
wx44wx:fix/fastapi-websocket-disconnect-event
wx44wx:hush/aggregateTranscripts
wx44wx:filipi/freeze_issue
wx44wx:mb/remove-duplicate-daily-events
wx44wx:cb/frame-processor-interrupt
wx44wx:aleix/pause-before-tts-speak-frame
wx44wx:mb/util-string-currency
wx44wx:hush/gladiaFixes
wx44wx:copilot/vscode1758090653709
wx44wx:hush/openAIagent
wx44wx:mb/remove-uv-lock
wx44wx:hush/AGENTSmd
wx44wx:hush/delayProcessorDemo
wx44wx:mb/break-time
wx44wx:hush/hedgeLLM
wx44wx:mb/fix-quickstart
wx44wx:aleix/pipelinetask-handle-botinterruption
wx44wx:mb/fix-sentry-asyncio
wx44wx:mb/quickstart-docker-buildx
wx44wx:filipi/heygen_observer
wx44wx:jpt/smallwebrtcprebuilt-config
wx44wx:cb/elevenlabs-debug
wx44wx:hush/interventionProcessor
wx44wx:hush/balboa
wx44wx:mb/update-python-compat-workflow
wx44wx:mb/pyproject-compatibility
wx44wx:aleix/example/quickstart-daily
wx44wx:mb/foundational-deps
wx44wx:khk/audio-glitch-test
wx44wx:mb/runner-body-arg
wx44wx:mb/fix-tavus-transport-callbacks
wx44wx:mb/new-quickstarts
wx44wx:pk/prototype-llm-failover-attempt-3
wx44wx:mb/use-new-local-runner
wx44wx:jpt/runner-module
wx44wx:pk/aws-strands-demo-prototype
wx44wx:hush/hiddenAssistant
wx44wx:aleix/pipeline-task-cancel-queue
wx44wx:hush/transfer-mute-demo
wx44wx:aleix/llm-watchdog-timers
wx44wx:vp-rtvi-error-tweak
wx44wx:aleix/audio-buffer-processor-min-sample-rate
wx44wx:mb/fix-11labs-settings
wx44wx:mb/fix-otel-examples
wx44wx:hush/11labsTagalog
wx44wx:hush/rtsp
wx44wx:aleix/cleanup-hailuo
wx44wx:hush/dailySessionId
wx44wx:hush/googleAudioInOpenAIout
wx44wx:hush/openAiAgentExample
wx44wx:aleix/queue-system-frames
wx44wx:add-bedrock-support
wx44wx:fixing_sound_mixer_small_webrtc
wx44wx:fixing_sound_mixer
wx44wx:aleix/observers-in-frame-processor
wx44wx:mb/stt-direct-mute
wx44wx:hush/defaultAfter4secDemo
wx44wx:hush/rtviSimpleExample
wx44wx:hush/muteTranscriptionExample
wx44wx:hush/smartTurnDetection
wx44wx:update-modal-example
wx44wx:hush/moderationFilterEx
wx44wx:vr000m-patch-1
wx44wx:hush/customProcessorDemo
wx44wx:hush/spellTagDemo
wx44wx:mrkb-add-rtvi-llm-helpers
wx44wx:hush/RTVIServerMessageDemo
wx44wx:cb/multi-transport-example
wx44wx:vp-mcp
wx44wx:hush/backgroundBlurExample
wx44wx:cb/pcc-transport
wx44wx:aleix/introduce-urgent-frames
wx44wx:hush/recordingDemo
wx44wx:khk/mem0
wx44wx:hush/transcriptionMuteBug
wx44wx:mb/db-rime-hotfix
wx44wx:aleix/smart-turn
wx44wx:mb/flush-audio-class
wx44wx:cb/storybot-again
wx44wx:hush/realtimeWithTranscriptsExample
wx44wx:cb/voicemail
wx44wx:aleix/openai-llm-service-retry-logic
wx44wx:aleix/llm-assistant-aggregator-bot-stopped
wx44wx:hush/fireworkFunction
wx44wx:hush/recordingIssueJan24
wx44wx:hush/nova3Example
wx44wx:mb/add-office-ambience
wx44wx:aleix/cartesia-reset-flush-audio-context-id
wx44wx:mb/fal-whizper
wx44wx:mb/README-openai-whisper
wx44wx:cb/extra-llm-end-frames
wx44wx:cb/frame-groups
wx44wx:meeting-token-fix
wx44wx:hush/callTransferOR
wx44wx:hush/callTransfer
wx44wx:aleix/remove-test-requirements
wx44wx:mb/user-idle-improvements
wx44wx:hush/muteDemo
wx44wx:aleix/playht-ignore-messages-from-differedent-request-id
wx44wx:mb/fully-deprecate-response-aggregators
wx44wx:hush/revelProfile
wx44wx:hush/roomCreationTest
wx44wx:aleix/edgar/llm-user-frame-processor
wx44wx:mb/update-for-audioop
wx44wx:pipecat-0.0.51
wx44wx:aleix/no-need-for-ai-services-super-start-stop-cancel
wx44wx:mb/fullstack-simple-chatbot
wx44wx:mb/nim-llm-service
wx44wx:aleix/dont-wait-for-bot-speaking-to-resume
wx44wx:hush/cartesiaCatch
wx44wx:hush/dialtone
wx44wx:hush/interruptErrors
wx44wx:mb/update-foundational-25
wx44wx:hush/bigly
wx44wx:mb/llm-as-judge-testing
wx44wx:mb/fix-missing-await
wx44wx:khk/anthropic-hackathon
wx44wx:khk/natural-conversation-anthropic.py
wx44wx:khk/load-json-workflow
wx44wx:aleix/background-sounds
wx44wx:hyypeman/load-json-workflow
wx44wx:khk/debugging-openai-realtime-item-creation
wx44wx:async-rebase-openai-multi-function-call
wx44wx:mb/google-llm-update
wx44wx:khk/aggregator-demo-updates
wx44wx:mb/llm-extra-params
wx44wx:khk/http
wx44wx:khk/together-function-parsing
wx44wx:jpt/11l-set_model
wx44wx:khk/together-llama-vision-rebased-9bbb824
wx44wx:khk/together-llama-vision
wx44wx:cbrianhill/allow-submodule-builds
wx44wx:aleix/stop-and-cancel-are-different
wx44wx:khk/gpu-demo-0725
wx44wx:khk-tuesday-launch
wx44wx:khk/tuesday-sqs-01
wx44wx:khk/tuesday-sqs
wx44wx:khk/groq-gemma-demo-old-working
wx44wx:khk/vad-gated-demo
wx44wx:jpt/fastbot-example
wx44wx:khk-deepgram-local
wx44wx:greedy-plus-241
wx44wx:khk-greedy-inference
wx44wx:cb/test-cleanup
wx44wx:aleix/websocket-transport-async
wx44wx:khk-gemini-144
wx44wx:jpt/pipecat-ui
wx44wx:jpt/pipecat-readme
wx44wx:cb/pax-id
wx44wx:cb/telestrator
wx44wx:khk/demos-08042024
wx44wx:docstrings-again
wx44wx:khk/queues-examples-tinkering
wx44wx:cb/valorant
wx44wx:khk-function-calling-hackathon
wx44wx:cb/golden-kitty-aws
wx44wx:cleanup
wx44wx:cb/golden-kitty
wx44wx:cb/09-bots-arguing
wx44wx:transcript-aggregation
wx44wx:khk/minimal-samples
wx44wx:khk/simple-sample-ctrl-c
wx44wx:v1.2.1
wx44wx:v1.2.0
wx44wx:v1.1.0
wx44wx:v1.0.0
wx44wx:v0.0.108
wx44wx:v0.0.107
wx44wx:v0.0.106
wx44wx:v0.0.105
wx44wx:v0.0.104
wx44wx:v0.0.103
wx44wx:v0.0.102
wx44wx:v0.0.101
wx44wx:v0.0.100
wx44wx:v0.0.99
wx44wx:v0.0.98
wx44wx:v0.0.97
wx44wx:v0.0.96
wx44wx:v0.0.95
wx44wx:v0.0.94
wx44wx:v0.0.93
wx44wx:v0.0.92
wx44wx:v0.0.91
wx44wx:v0.0.90
wx44wx:v0.0.89
wx44wx:v0.0.88
wx44wx:v0.0.87
wx44wx:v0.0.86
wx44wx:v0.0.85
wx44wx:v0.0.84
wx44wx:v0.0.83
wx44wx:v0.0.82
wx44wx:v0.0.81
wx44wx:v0.0.80
wx44wx:v0.0.79
wx44wx:v0.0.78
wx44wx:v0.0.77
wx44wx:v0.0.76
wx44wx:v0.0.75
wx44wx:v0.0.74
wx44wx:v0.0.73
wx44wx:v0.0.72
wx44wx:v0.0.71
wx44wx:v0.0.70
wx44wx:v0.0.69
wx44wx:v0.0.68
wx44wx:v0.0.67
wx44wx:v0.0.66
wx44wx:v0.0.65
wx44wx:v0.0.64
wx44wx:v0.0.63
wx44wx:v0.0.62
wx44wx:v0.0.61
wx44wx:v0.0.60
wx44wx:v0.0.59
wx44wx:v0.0.58
wx44wx:v0.0.57
wx44wx:v0.0.56
wx44wx:v0.0.55
wx44wx:v0.0.54
wx44wx:v0.0.53
wx44wx:v0.0.52
wx44wx:v0.0.51
wx44wx:v0.0.50
wx44wx:v0.0.49
wx44wx:v0.0.48
wx44wx:v0.0.47
wx44wx:v0.0.46
wx44wx:v0.0.45
wx44wx:v0.0.44
wx44wx:v0.0.43
wx44wx:v0.0.42
wx44wx:v0.0.41
wx44wx:v0.0.40
wx44wx:v0.0.39
wx44wx:v0.0.38
wx44wx:v0.0.37
wx44wx:v0.0.36
wx44wx:v0.0.35
wx44wx:v0.0.34
wx44wx:v0.0.33
wx44wx:v0.0.32
wx44wx:v0.0.31
wx44wx:v0.0.30
wx44wx:v0.0.29
wx44wx:v0.0.28
wx44wx:v0.0.27
wx44wx:v0.0.26
wx44wx:v0.0.25
wx44wx:v0.0.24
wx44wx:v0.0.23
wx44wx:v0.0.22
wx44wx:v0.0.21
wx44wx:v0.0.20
wx44wx:v0.0.19
wx44wx:v0.0.18
wx44wx:v0.0.17
wx44wx:v0.0.16
wx44wx:v0.0.15
wx44wx:v0.0.14
wx44wx:v0.0.13
wx44wx:v0.0.12
wx44wx:v0.0.11
wx44wx:v0.0.10
wx44wx:v0.0.9
wx44wx:v0.0.8
wx44wx:v0.0.7
wx44wx:v0.0.6
wx44wx:v0.0.5
wx44wx:v0.0.4
wx44wx:v0.0.3
wx44wx:v0.0.2
1 Commits
v0.0.97
...
hush/endFr
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
1b28fc8e8e |
Fix: Ensure EndFrame propagates through AIService before stop()
This fix addresses a critical bug where EndFrame (and potentially other system frames) would trigger the stop() method in AIService but never be pushed downstream to subsequent processors, causing pipelines to hang. The issue occurred because AIService.process_frame() would call stop(frame) for EndFrame without first pushing it downstream. This meant that downstream processors never received the shutdown signal, leaving the pipeline in a waiting state. The fix ensures EndFrame is pushed downstream BEFORE calling stop(), following the same pattern used by RTVIProcessor and properly-implemented processors. This guarantees that: 1. Downstream processors receive the EndFrame for proper cleanup 2. The stop() method can then safely perform service-specific cleanup 3. The ordering prevents race conditions during shutdown This bug affected all AI services inheriting from AIService that didn't override process_frame() to explicitly handle EndFrame, including scenarios with TTS services, LLM services, and other AI service implementations. Fixes pipeline hangs during graceful shutdown when EndFrame is sent. |
1 changed files with 3 additions and 0 deletions
|
|
@@ -152,6 +152,9 @@ class AIService(FrameProcessor):
|
|||
elif isinstance(frame, CancelFrame):
|
||||
await self.cancel(frame)
|
||||
elif isinstance(frame, EndFrame):
|
||||
# Push EndFrame before stop(), because stop() may wait on tasks to
|
||||
# finish and downstream processors need to receive the EndFrame.
|
||||
await self.push_frame(frame, direction)
|
||||
await self.stop(frame)
|
||||
|
||||
async def process_generator(self, generator: AsyncGenerator[Frame | None, None]):
|
||||
|
|
|
|||
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.