From d3021b459067cb1f122acec6598309924c68ec2d Mon Sep 17 00:00:00 2001 From: Mark Backman Date: Tue, 31 Mar 2026 22:06:01 -0400 Subject: [PATCH] Rename example files to prepend parent folder name, preventing package shadowing Example files like openai.py shadow installed packages when Python adds the script directory to sys.path. Prepend the parent folder name to each example file (e.g. openai.py -> function-calling-openai.py). Also split thinking-and-mcp/ into separate mcp/ and thinking/ directories. --- README.md | 2 +- .../{bot-background-sound.py => audio-bot-background-sound.py} | 0 examples/audio/{sound-effects.py => audio-sound-effects.py} | 0 ...{dedicated-llm.py => context-summarization-dedicated-llm.py} | 0 .../{google.py => context-summarization-google.py} | 0 ...{manual-openai.py => context-summarization-manual-openai.py} | 0 .../{openai.py => context-summarization-openai.py} | 0 ...-and-after-events.py => features-before-and-after-events.py} | 0 ...-llm-evaluation.py => features-concurrent-llm-evaluation.py} | 0 ...urces.py => features-concurrent-llm-rtvi-ignored-sources.py} | 0 ...om-frame-processor.py => features-custom-frame-processor.py} | 0 ...ntainer-local-bot.py => features-gpu-container-local-bot.py} | 0 .../{live-translation.py => features-live-translation.py} | 0 ...ce-switching.py => features-pattern-pair-voice-switching.py} | 0 .../{service-switcher.py => features-service-switcher.py} | 0 .../{switch-languages.py => features-switch-languages.py} | 0 .../features/{switch-voices.py => features-switch-voices.py} | 0 ...user-email-gathering.py => features-user-email-gathering.py} | 0 .../{voicemail-detection.py => features-voicemail-detection.py} | 0 examples/features/{wake-phrase.py => features-wake-phrase.py} | 0 .../{anthropic-video.py => function-calling-anthropic-video.py} | 0 .../{anthropic.py => function-calling-anthropic.py} | 0 .../{aws-video.py => function-calling-aws-video.py} | 0 examples/function-calling/{aws.py => function-calling-aws.py} | 0 .../function-calling/{azure.py => function-calling-azure.py} | 0 .../{cerebras.py => function-calling-cerebras.py} | 0 .../{deepseek.py => function-calling-deepseek.py} | 0 .../function-calling/{direct.py => function-calling-direct.py} | 0 .../{fireworks.py => function-calling-fireworks.py} | 0 .../{google-vertex.py => function-calling-google-vertex.py} | 0 .../{google-video.py => function-calling-google-video.py} | 0 .../function-calling/{google.py => function-calling-google.py} | 0 examples/function-calling/{grok.py => function-calling-grok.py} | 0 examples/function-calling/{groq.py => function-calling-groq.py} | 0 .../{mistral.py => function-calling-mistral.py} | 0 .../{moondream-video.py => function-calling-moondream-video.py} | 0 .../function-calling/{nebius.py => function-calling-nebius.py} | 0 .../function-calling/{novita.py => function-calling-novita.py} | 0 .../function-calling/{nvidia.py => function-calling-nvidia.py} | 0 .../function-calling/{ollama.py => function-calling-ollama.py} | 0 ...ponses-http.py => function-calling-openai-responses-http.py} | 0 ...-http.py => function-calling-openai-responses-video-http.py} | 0 ...nses-video.py => function-calling-openai-responses-video.py} | 0 ...openai-responses.py => function-calling-openai-responses.py} | 0 .../{openai-video.py => function-calling-openai-video.py} | 0 .../function-calling/{openai.py => function-calling-openai.py} | 0 .../{openrouter.py => function-calling-openrouter.py} | 0 .../{perplexity.py => function-calling-perplexity.py} | 0 examples/function-calling/{qwen.py => function-calling-qwen.py} | 0 .../{sambanova.py => function-calling-sambanova.py} | 0 .../function-calling/{sarvam.py => function-calling-sarvam.py} | 0 .../{together.py => function-calling-together.py} | 0 .../multiple-mcp.py => mcp/mcp-multiple-mcp.py} | 0 examples/{thinking-and-mcp => mcp}/mcp-stdio.py | 0 .../mcp-streamable-http-gemini-live.py | 0 examples/{thinking-and-mcp => mcp}/mcp-streamable-http.py | 0 .../{heartbeats.py => observability-heartbeats.py} | 0 .../observability/{observer.py => observability-observer.py} | 0 .../{sentry-metrics.py => observability-sentry-metrics.py} | 0 .../{anthropic.py => persistent-context-anthropic.py} | 0 .../{aws-nova-sonic.py => persistent-context-aws-nova-sonic.py} | 0 .../{gemini.py => persistent-context-gemini.py} | 0 .../{grok-realtime.py => persistent-context-grok-realtime.py} | 0 ...openai-realtime.py => persistent-context-openai-realtime.py} | 0 ...nses-http.py => persistent-context-openai-responses-http.py} | 0 ...enai-responses.py => persistent-context-openai-responses.py} | 0 .../{openai.py => persistent-context-openai.py} | 0 ...i-grounding-metadata.py => rag-gemini-grounding-metadata.py} | 0 examples/rag/{gemini-rag.py => rag-gemini.py} | 0 examples/rag/{mem0.py => rag-mem0.py} | 0 .../realtime/{aws-nova-sonic.py => realtime-aws-nova-sonic.py} | 0 examples/realtime/{azure.py => realtime-azure.py} | 0 ...mini-live-files-api.py => realtime-gemini-live-files-api.py} | 0 ...tion-calling.py => realtime-gemini-live-function-calling.py} | 0 ...e-google-search.py => realtime-gemini-live-google-search.py} | 0 ...ive-graceful-end.py => realtime-gemini-live-graceful-end.py} | 0 ...g-metadata.py => realtime-gemini-live-grounding-metadata.py} | 0 ...mini-live-local-vad.py => realtime-gemini-live-local-vad.py} | 0 ...lling.py => realtime-gemini-live-vertex-function-calling.py} | 0 .../{gemini-live-video.py => realtime-gemini-live-video.py} | 0 examples/realtime/{gemini-live.py => realtime-gemini-live.py} | 0 examples/realtime/{grok.py => realtime-grok.py} | 0 .../{openai-live-video.py => realtime-openai-live-video.py} | 0 examples/realtime/{openai-text.py => realtime-openai-text.py} | 0 examples/realtime/{openai.py => realtime-openai.py} | 0 .../realtime/{ultravox-text.py => realtime-ultravox-text.py} | 0 examples/realtime/{ultravox.py => realtime-ultravox.py} | 0 examples/{thinking-and-mcp => thinking}/thinking-anthropic.py | 0 .../thinking-functions-anthropic.py | 0 .../{thinking-and-mcp => thinking}/thinking-functions-google.py | 0 examples/{thinking-and-mcp => thinking}/thinking-google.py | 0 .../{assemblyai.py => transcription-assemblyai.py} | 0 examples/transcription/{azure.py => transcription-azure.py} | 0 .../transcription/{cartesia.py => transcription-cartesia.py} | 0 .../transcription/{deepgram.py => transcription-deepgram.py} | 0 .../{elevenlabs.py => transcription-elevenlabs.py} | 0 ...ladia-translation.py => transcription-gladia-translation.py} | 0 .../{gladia-transcription.py => transcription-gladia.py} | 0 .../{google-llm.py => transcription-google-llm.py} | 0 examples/transcription/{gradium.py => transcription-gradium.py} | 0 examples/transcription/{openai.py => transcription-openai.py} | 0 examples/transcription/{soniox.py => transcription-soniox.py} | 0 .../{speechmatics.py => transcription-speechmatics.py} | 0 .../{whisper-local.py => transcription-whisper-local.py} | 0 .../{whisper-mlx.py => transcription-whisper-mlx.py} | 0 examples/transcription/{whisper.py => transcription-whisper.py} | 0 examples/transports/{daily.py => transports-daily.py} | 0 examples/transports/{livekit.py => transports-livekit.py} | 0 .../transports/{small-webrtc.py => transports-small-webrtc.py} | 0 ...{detect-user-idle.py => turn-management-detect-user-idle.py} | 0 ...lete-turns.py => turn-management-filter-incomplete-turns.py} | 0 ...ruption-config.py => turn-management-interruption-config.py} | 0 ...cal-coreml.py => turn-management-smart-turn-local-coreml.py} | 0 ...{smart-turn-local.py => turn-management-smart-turn-local.py} | 0 ...ng-observer.py => turn-management-turn-tracking-observer.py} | 0 ...sistant-turns.py => turn-management-user-assistant-turns.py} | 0 ...r-mute-strategy.py => turn-management-user-mute-strategy.py} | 0 examples/update-settings/llm/{anthropic.py => llm-anthropic.py} | 0 .../update-settings/llm/{aws-bedrock.py => llm-aws-bedrock.py} | 0 .../llm/{aws-nova-sonic.py => llm-aws-nova-sonic.py} | 0 .../llm/{azure-realtime.py => llm-azure-realtime.py} | 0 examples/update-settings/llm/{azure.py => llm-azure.py} | 0 examples/update-settings/llm/{cerebras.py => llm-cerebras.py} | 0 examples/update-settings/llm/{deepseek.py => llm-deepseek.py} | 0 examples/update-settings/llm/{fireworks.py => llm-fireworks.py} | 0 .../llm/{gemini-live-vertex.py => llm-gemini-live-vertex.py} | 0 .../update-settings/llm/{gemini-live.py => llm-gemini-live.py} | 0 .../llm/{google-vertex.py => llm-google-vertex.py} | 0 examples/update-settings/llm/{google.py => llm-google.py} | 0 .../llm/{grok-realtime.py => llm-grok-realtime.py} | 0 examples/update-settings/llm/{grok.py => llm-grok.py} | 0 examples/update-settings/llm/{groq.py => llm-groq.py} | 0 examples/update-settings/llm/{mistral.py => llm-mistral.py} | 0 examples/update-settings/llm/{nvidia.py => llm-nvidia.py} | 0 examples/update-settings/llm/{ollama.py => llm-ollama.py} | 0 .../llm/{openai-realtime.py => llm-openai-realtime.py} | 0 .../{openai-responses-http.py => llm-openai-responses-http.py} | 0 .../llm/{openai-responses.py => llm-openai-responses.py} | 0 examples/update-settings/llm/{openai.py => llm-openai.py} | 0 .../update-settings/llm/{openrouter.py => llm-openrouter.py} | 0 .../update-settings/llm/{perplexity.py => llm-perplexity.py} | 0 examples/update-settings/llm/{qwen.py => llm-qwen.py} | 0 examples/update-settings/llm/{sambanova.py => llm-sambanova.py} | 0 examples/update-settings/llm/{sarvam.py => llm-sarvam.py} | 0 examples/update-settings/llm/{together.py => llm-together.py} | 0 .../llm/{ultravox-realtime.py => llm-ultravox-realtime.py} | 0 .../update-settings/stt/{assemblyai.py => stt-assemblyai.py} | 0 .../stt/{aws-transcribe.py => stt-aws-transcribe.py} | 0 examples/update-settings/stt/{azure.py => stt-azure.py} | 0 examples/update-settings/stt/{cartesia.py => stt-cartesia.py} | 0 .../stt/{deepgram-flux.py => stt-deepgram-flux.py} | 0 .../stt/{deepgram-sagemaker.py => stt-deepgram-sagemaker.py} | 0 examples/update-settings/stt/{deepgram.py => stt-deepgram.py} | 0 .../stt/{elevenlabs-realtime.py => stt-elevenlabs-realtime.py} | 0 .../update-settings/stt/{elevenlabs.py => stt-elevenlabs.py} | 0 examples/update-settings/stt/{fal.py => stt-fal.py} | 0 examples/update-settings/stt/{gladia.py => stt-gladia.py} | 0 examples/update-settings/stt/{google.py => stt-google.py} | 0 examples/update-settings/stt/{gradium.py => stt-gradium.py} | 0 examples/update-settings/stt/{groq.py => stt-groq.py} | 0 .../stt/{nvidia-segmented.py => stt-nvidia-segmented.py} | 0 examples/update-settings/stt/{nvidia.py => stt-nvidia.py} | 0 .../stt/{openai-realtime.py => stt-openai-realtime.py} | 0 examples/update-settings/stt/{sarvam.py => stt-sarvam.py} | 0 examples/update-settings/stt/{soniox.py => stt-soniox.py} | 0 .../stt/{speechmatics.py => stt-speechmatics.py} | 0 .../update-settings/stt/{whisper-api.py => stt-whisper-api.py} | 0 .../update-settings/stt/{whisper-mlx.py => stt-whisper-mlx.py} | 0 examples/update-settings/stt/{whisper.py => stt-whisper.py} | 0 .../tts/{asyncai-http.py => tts-asyncai-http.py} | 0 examples/update-settings/tts/{asyncai.py => tts-asyncai.py} | 0 examples/update-settings/tts/{aws-polly.py => tts-aws-polly.py} | 0 .../update-settings/tts/{azure-http.py => tts-azure-http.py} | 0 examples/update-settings/tts/{azure.py => tts-azure.py} | 0 examples/update-settings/tts/{camb.py => tts-camb.py} | 0 .../tts/{cartesia-http.py => tts-cartesia-http.py} | 0 examples/update-settings/tts/{cartesia.py => tts-cartesia.py} | 0 .../tts/{deepgram-http.py => tts-deepgram-http.py} | 0 .../tts/{deepgram-sagemaker.py => tts-deepgram-sagemaker.py} | 0 examples/update-settings/tts/{deepgram.py => tts-deepgram.py} | 0 .../tts/{elevenlabs-http.py => tts-elevenlabs-http.py} | 0 .../update-settings/tts/{elevenlabs.py => tts-elevenlabs.py} | 0 examples/update-settings/tts/{fish.py => tts-fish.py} | 0 examples/update-settings/tts/{gemini.py => tts-gemini.py} | 0 .../update-settings/tts/{google-http.py => tts-google-http.py} | 0 .../tts/{google-stream.py => tts-google-stream.py} | 0 examples/update-settings/tts/{gradium.py => tts-gradium.py} | 0 examples/update-settings/tts/{groq.py => tts-groq.py} | 0 examples/update-settings/tts/{hume.py => tts-hume.py} | 0 .../tts/{inworld-http.py => tts-inworld-http.py} | 0 examples/update-settings/tts/{inworld.py => tts-inworld.py} | 0 examples/update-settings/tts/{kokoro.py => tts-kokoro.py} | 0 examples/update-settings/tts/{lmnt.py => tts-lmnt.py} | 0 examples/update-settings/tts/{minimax.py => tts-minimax.py} | 0 .../tts/{neuphonic-http.py => tts-neuphonic-http.py} | 0 examples/update-settings/tts/{neuphonic.py => tts-neuphonic.py} | 0 examples/update-settings/tts/{nvidia.py => tts-nvidia.py} | 0 examples/update-settings/tts/{openai.py => tts-openai.py} | 0 .../update-settings/tts/{piper-http.py => tts-piper-http.py} | 0 examples/update-settings/tts/{piper.py => tts-piper.py} | 0 .../update-settings/tts/{resembleai.py => tts-resembleai.py} | 0 examples/update-settings/tts/{rime-http.py => tts-rime-http.py} | 0 examples/update-settings/tts/{rime.py => tts-rime.py} | 0 .../update-settings/tts/{sarvam-http.py => tts-sarvam-http.py} | 0 examples/update-settings/tts/{sarvam.py => tts-sarvam.py} | 0 .../tts/{speechmatics.py => tts-speechmatics.py} | 0 examples/update-settings/tts/{xtts.py => tts-xtts.py} | 0 .../{heygen-transport.py => video-avatar-heygen-transport.py} | 0 ...en-video-service.py => video-avatar-heygen-video-service.py} | 0 ...nslice-transport.py => video-avatar-lemonslice-transport.py} | 0 .../{simli-layer.py => video-avatar-simli-layer.py} | 0 .../{tavus-transport.py => video-avatar-tavus-transport.py} | 0 ...vus-video-service.py => video-avatar-tavus-video-service.py} | 0 ...om-video-track.py => video-processing-custom-video-track.py} | 0 ...treamer-filesrc.py => video-processing-gstreamer-filesrc.py} | 0 ...deotestsrc.py => video-processing-gstreamer-videotestsrc.py} | 0 .../{local-mirror.py => video-processing-local-mirror.py} | 0 .../video-processing/{mirror.py => video-processing-mirror.py} | 0 examples/vision/{anthropic.py => vision-anthropic.py} | 0 examples/vision/{aws.py => vision-aws.py} | 0 examples/vision/{gemini-flash.py => vision-gemini-flash.py} | 0 examples/vision/{moondream.py => vision-moondream.py} | 0 ...openai-responses-http.py => vision-openai-responses-http.py} | 0 .../vision/{openai-responses.py => vision-openai-responses.py} | 0 examples/vision/{openai.py => vision-openai.py} | 0 examples/voice/{aicoustics.py => voice-aicoustics.py} | 0 ...yai-turn-detection.py => voice-assemblyai-turn-detection.py} | 0 examples/voice/{assemblyai.py => voice-assemblyai.py} | 0 examples/voice/{asyncai-http.py => voice-asyncai-http.py} | 0 examples/voice/{asyncai.py => voice-asyncai.py} | 0 examples/voice/{aws-strands.py => voice-aws-strands.py} | 0 examples/voice/{aws.py => voice-aws.py} | 0 examples/voice/{azure-http.py => voice-azure-http.py} | 0 examples/voice/{azure.py => voice-azure.py} | 0 examples/voice/{camb.py => voice-camb.py} | 0 examples/voice/{cartesia-http.py => voice-cartesia-http.py} | 0 examples/voice/{cartesia.py => voice-cartesia.py} | 0 ...pgram-flux-sagemaker.py => voice-deepgram-flux-sagemaker.py} | 0 examples/voice/{deepgram-flux.py => voice-deepgram-flux.py} | 0 examples/voice/{deepgram-http.py => voice-deepgram-http.py} | 0 .../{deepgram-sagemaker.py => voice-deepgram-sagemaker.py} | 0 examples/voice/{deepgram-vad.py => voice-deepgram-vad.py} | 0 examples/voice/{deepgram.py => voice-deepgram.py} | 0 examples/voice/{elevenlabs-http.py => voice-elevenlabs-http.py} | 0 examples/voice/{elevenlabs.py => voice-elevenlabs.py} | 0 examples/voice/{fal.py => voice-fal.py} | 0 examples/voice/{fish.py => voice-fish.py} | 0 examples/voice/{gladia-vad.py => voice-gladia-vad.py} | 0 examples/voice/{gladia.py => voice-gladia.py} | 0 examples/voice/{google-audio-in.py => voice-google-audio-in.py} | 0 .../voice/{google-gemini-tts.py => voice-google-gemini-tts.py} | 0 examples/voice/{google-http.py => voice-google-http.py} | 0 examples/voice/{google-image.py => voice-google-image.py} | 0 examples/voice/{google.py => voice-google.py} | 0 examples/voice/{gradium.py => voice-gradium.py} | 0 examples/voice/{groq.py => voice-groq.py} | 0 examples/voice/{hume.py => voice-hume.py} | 0 examples/voice/{inworld-http.py => voice-inworld-http.py} | 0 examples/voice/{inworld.py => voice-inworld.py} | 0 examples/voice/{kokoro.py => voice-kokoro.py} | 0 examples/voice/{krisp-viva.py => voice-krisp-viva.py} | 0 examples/voice/{langchain.py => voice-langchain.py} | 0 examples/voice/{lmnt.py => voice-lmnt.py} | 0 examples/voice/{minimax.py => voice-minimax.py} | 0 examples/voice/{neuphonic-http.py => voice-neuphonic-http.py} | 0 examples/voice/{neuphonic.py => voice-neuphonic.py} | 0 examples/voice/{nvidia.py => voice-nvidia.py} | 0 examples/voice/{openai-http.py => voice-openai-http.py} | 0 ...{openai-responses-http.py => voice-openai-responses-http.py} | 0 .../voice/{openai-responses.py => voice-openai-responses.py} | 0 examples/voice/{openai.py => voice-openai.py} | 0 examples/voice/{piper.py => voice-piper.py} | 0 examples/voice/{resemble.py => voice-resemble.py} | 0 examples/voice/{rime-http.py => voice-rime-http.py} | 0 examples/voice/{rime.py => voice-rime.py} | 0 examples/voice/{sarvam-http.py => voice-sarvam-http.py} | 0 examples/voice/{sarvam.py => voice-sarvam.py} | 0 examples/voice/{smallest.py => voice-smallest.py} | 0 examples/voice/{soniox.py => voice-soniox.py} | 0 .../voice/{speechmatics-vad.py => voice-speechmatics-vad.py} | 0 examples/voice/{speechmatics.py => voice-speechmatics.py} | 0 examples/voice/{xai.py => voice-xai.py} | 0 examples/voice/{xtts.py => voice-xtts.py} | 0 283 files changed, 1 insertion(+), 1 deletion(-) rename examples/audio/{bot-background-sound.py => audio-bot-background-sound.py} (100%) rename examples/audio/{sound-effects.py => audio-sound-effects.py} (100%) rename examples/context-summarization/{dedicated-llm.py => context-summarization-dedicated-llm.py} (100%) rename examples/context-summarization/{google.py => context-summarization-google.py} (100%) rename examples/context-summarization/{manual-openai.py => context-summarization-manual-openai.py} (100%) rename examples/context-summarization/{openai.py => context-summarization-openai.py} (100%) rename examples/features/{before-and-after-events.py => features-before-and-after-events.py} (100%) rename examples/features/{concurrent-llm-evaluation.py => features-concurrent-llm-evaluation.py} (100%) rename examples/features/{concurrent-llm-rtvi-ignored-sources.py => features-concurrent-llm-rtvi-ignored-sources.py} (100%) rename examples/features/{custom-frame-processor.py => features-custom-frame-processor.py} (100%) rename examples/features/{gpu-container-local-bot.py => features-gpu-container-local-bot.py} (100%) rename examples/features/{live-translation.py => features-live-translation.py} (100%) rename examples/features/{pattern-pair-voice-switching.py => features-pattern-pair-voice-switching.py} (100%) rename examples/features/{service-switcher.py => features-service-switcher.py} (100%) rename examples/features/{switch-languages.py => features-switch-languages.py} (100%) rename examples/features/{switch-voices.py => features-switch-voices.py} (100%) rename examples/features/{user-email-gathering.py => features-user-email-gathering.py} (100%) rename examples/features/{voicemail-detection.py => features-voicemail-detection.py} (100%) rename examples/features/{wake-phrase.py => features-wake-phrase.py} (100%) rename examples/function-calling/{anthropic-video.py => function-calling-anthropic-video.py} (100%) rename examples/function-calling/{anthropic.py => function-calling-anthropic.py} (100%) rename examples/function-calling/{aws-video.py => function-calling-aws-video.py} (100%) rename examples/function-calling/{aws.py => function-calling-aws.py} (100%) rename examples/function-calling/{azure.py => function-calling-azure.py} (100%) rename examples/function-calling/{cerebras.py => function-calling-cerebras.py} (100%) rename examples/function-calling/{deepseek.py => function-calling-deepseek.py} (100%) rename examples/function-calling/{direct.py => function-calling-direct.py} (100%) rename examples/function-calling/{fireworks.py => function-calling-fireworks.py} (100%) rename examples/function-calling/{google-vertex.py => function-calling-google-vertex.py} (100%) rename examples/function-calling/{google-video.py => function-calling-google-video.py} (100%) rename examples/function-calling/{google.py => function-calling-google.py} (100%) rename examples/function-calling/{grok.py => function-calling-grok.py} (100%) rename examples/function-calling/{groq.py => function-calling-groq.py} (100%) rename examples/function-calling/{mistral.py => function-calling-mistral.py} (100%) rename examples/function-calling/{moondream-video.py => function-calling-moondream-video.py} (100%) rename examples/function-calling/{nebius.py => function-calling-nebius.py} (100%) rename examples/function-calling/{novita.py => function-calling-novita.py} (100%) rename examples/function-calling/{nvidia.py => function-calling-nvidia.py} (100%) rename examples/function-calling/{ollama.py => function-calling-ollama.py} (100%) rename examples/function-calling/{openai-responses-http.py => function-calling-openai-responses-http.py} (100%) rename examples/function-calling/{openai-responses-video-http.py => function-calling-openai-responses-video-http.py} (100%) rename examples/function-calling/{openai-responses-video.py => function-calling-openai-responses-video.py} (100%) rename examples/function-calling/{openai-responses.py => function-calling-openai-responses.py} (100%) rename examples/function-calling/{openai-video.py => function-calling-openai-video.py} (100%) rename examples/function-calling/{openai.py => function-calling-openai.py} (100%) rename examples/function-calling/{openrouter.py => function-calling-openrouter.py} (100%) rename examples/function-calling/{perplexity.py => function-calling-perplexity.py} (100%) rename examples/function-calling/{qwen.py => function-calling-qwen.py} (100%) rename examples/function-calling/{sambanova.py => function-calling-sambanova.py} (100%) rename examples/function-calling/{sarvam.py => function-calling-sarvam.py} (100%) rename examples/function-calling/{together.py => function-calling-together.py} (100%) rename examples/{thinking-and-mcp/multiple-mcp.py => mcp/mcp-multiple-mcp.py} (100%) rename examples/{thinking-and-mcp => mcp}/mcp-stdio.py (100%) rename examples/{thinking-and-mcp => mcp}/mcp-streamable-http-gemini-live.py (100%) rename examples/{thinking-and-mcp => mcp}/mcp-streamable-http.py (100%) rename examples/observability/{heartbeats.py => observability-heartbeats.py} (100%) rename examples/observability/{observer.py => observability-observer.py} (100%) rename examples/observability/{sentry-metrics.py => observability-sentry-metrics.py} (100%) rename examples/persistent-context/{anthropic.py => persistent-context-anthropic.py} (100%) rename examples/persistent-context/{aws-nova-sonic.py => persistent-context-aws-nova-sonic.py} (100%) rename examples/persistent-context/{gemini.py => persistent-context-gemini.py} (100%) rename examples/persistent-context/{grok-realtime.py => persistent-context-grok-realtime.py} (100%) rename examples/persistent-context/{openai-realtime.py => persistent-context-openai-realtime.py} (100%) rename examples/persistent-context/{openai-responses-http.py => persistent-context-openai-responses-http.py} (100%) rename examples/persistent-context/{openai-responses.py => persistent-context-openai-responses.py} (100%) rename examples/persistent-context/{openai.py => persistent-context-openai.py} (100%) rename examples/rag/{gemini-grounding-metadata.py => rag-gemini-grounding-metadata.py} (100%) rename examples/rag/{gemini-rag.py => rag-gemini.py} (100%) rename examples/rag/{mem0.py => rag-mem0.py} (100%) rename examples/realtime/{aws-nova-sonic.py => realtime-aws-nova-sonic.py} (100%) rename examples/realtime/{azure.py => realtime-azure.py} (100%) rename examples/realtime/{gemini-live-files-api.py => realtime-gemini-live-files-api.py} (100%) rename examples/realtime/{gemini-live-function-calling.py => realtime-gemini-live-function-calling.py} (100%) rename examples/realtime/{gemini-live-google-search.py => realtime-gemini-live-google-search.py} (100%) rename examples/realtime/{gemini-live-graceful-end.py => realtime-gemini-live-graceful-end.py} (100%) rename examples/realtime/{gemini-live-grounding-metadata.py => realtime-gemini-live-grounding-metadata.py} (100%) rename examples/realtime/{gemini-live-local-vad.py => realtime-gemini-live-local-vad.py} (100%) rename examples/realtime/{gemini-live-vertex-function-calling.py => realtime-gemini-live-vertex-function-calling.py} (100%) rename examples/realtime/{gemini-live-video.py => realtime-gemini-live-video.py} (100%) rename examples/realtime/{gemini-live.py => realtime-gemini-live.py} (100%) rename examples/realtime/{grok.py => realtime-grok.py} (100%) rename examples/realtime/{openai-live-video.py => realtime-openai-live-video.py} (100%) rename examples/realtime/{openai-text.py => realtime-openai-text.py} (100%) rename examples/realtime/{openai.py => realtime-openai.py} (100%) rename examples/realtime/{ultravox-text.py => realtime-ultravox-text.py} (100%) rename examples/realtime/{ultravox.py => realtime-ultravox.py} (100%) rename examples/{thinking-and-mcp => thinking}/thinking-anthropic.py (100%) rename examples/{thinking-and-mcp => thinking}/thinking-functions-anthropic.py (100%) rename examples/{thinking-and-mcp => thinking}/thinking-functions-google.py (100%) rename examples/{thinking-and-mcp => thinking}/thinking-google.py (100%) rename examples/transcription/{assemblyai.py => transcription-assemblyai.py} (100%) rename examples/transcription/{azure.py => transcription-azure.py} (100%) rename examples/transcription/{cartesia.py => transcription-cartesia.py} (100%) rename examples/transcription/{deepgram.py => transcription-deepgram.py} (100%) rename examples/transcription/{elevenlabs.py => transcription-elevenlabs.py} (100%) rename examples/transcription/{gladia-translation.py => transcription-gladia-translation.py} (100%) rename examples/transcription/{gladia-transcription.py => transcription-gladia.py} (100%) rename examples/transcription/{google-llm.py => transcription-google-llm.py} (100%) rename examples/transcription/{gradium.py => transcription-gradium.py} (100%) rename examples/transcription/{openai.py => transcription-openai.py} (100%) rename examples/transcription/{soniox.py => transcription-soniox.py} (100%) rename examples/transcription/{speechmatics.py => transcription-speechmatics.py} (100%) rename examples/transcription/{whisper-local.py => transcription-whisper-local.py} (100%) rename examples/transcription/{whisper-mlx.py => transcription-whisper-mlx.py} (100%) rename examples/transcription/{whisper.py => transcription-whisper.py} (100%) rename examples/transports/{daily.py => transports-daily.py} (100%) rename examples/transports/{livekit.py => transports-livekit.py} (100%) rename examples/transports/{small-webrtc.py => transports-small-webrtc.py} (100%) rename examples/turn-management/{detect-user-idle.py => turn-management-detect-user-idle.py} (100%) rename examples/turn-management/{filter-incomplete-turns.py => turn-management-filter-incomplete-turns.py} (100%) rename examples/turn-management/{interruption-config.py => turn-management-interruption-config.py} (100%) rename examples/turn-management/{smart-turn-local-coreml.py => turn-management-smart-turn-local-coreml.py} (100%) rename examples/turn-management/{smart-turn-local.py => turn-management-smart-turn-local.py} (100%) rename examples/turn-management/{turn-tracking-observer.py => turn-management-turn-tracking-observer.py} (100%) rename examples/turn-management/{user-assistant-turns.py => turn-management-user-assistant-turns.py} (100%) rename examples/turn-management/{user-mute-strategy.py => turn-management-user-mute-strategy.py} (100%) rename examples/update-settings/llm/{anthropic.py => llm-anthropic.py} (100%) rename examples/update-settings/llm/{aws-bedrock.py => llm-aws-bedrock.py} (100%) rename examples/update-settings/llm/{aws-nova-sonic.py => llm-aws-nova-sonic.py} (100%) rename examples/update-settings/llm/{azure-realtime.py => llm-azure-realtime.py} (100%) rename examples/update-settings/llm/{azure.py => llm-azure.py} (100%) rename examples/update-settings/llm/{cerebras.py => llm-cerebras.py} (100%) rename examples/update-settings/llm/{deepseek.py => llm-deepseek.py} (100%) rename examples/update-settings/llm/{fireworks.py => llm-fireworks.py} (100%) rename examples/update-settings/llm/{gemini-live-vertex.py => llm-gemini-live-vertex.py} (100%) rename examples/update-settings/llm/{gemini-live.py => llm-gemini-live.py} (100%) rename examples/update-settings/llm/{google-vertex.py => llm-google-vertex.py} (100%) rename examples/update-settings/llm/{google.py => llm-google.py} (100%) rename examples/update-settings/llm/{grok-realtime.py => llm-grok-realtime.py} (100%) rename examples/update-settings/llm/{grok.py => llm-grok.py} (100%) rename examples/update-settings/llm/{groq.py => llm-groq.py} (100%) rename examples/update-settings/llm/{mistral.py => llm-mistral.py} (100%) rename examples/update-settings/llm/{nvidia.py => llm-nvidia.py} (100%) rename examples/update-settings/llm/{ollama.py => llm-ollama.py} (100%) rename examples/update-settings/llm/{openai-realtime.py => llm-openai-realtime.py} (100%) rename examples/update-settings/llm/{openai-responses-http.py => llm-openai-responses-http.py} (100%) rename examples/update-settings/llm/{openai-responses.py => llm-openai-responses.py} (100%) rename examples/update-settings/llm/{openai.py => llm-openai.py} (100%) rename examples/update-settings/llm/{openrouter.py => llm-openrouter.py} (100%) rename examples/update-settings/llm/{perplexity.py => llm-perplexity.py} (100%) rename examples/update-settings/llm/{qwen.py => llm-qwen.py} (100%) rename examples/update-settings/llm/{sambanova.py => llm-sambanova.py} (100%) rename examples/update-settings/llm/{sarvam.py => llm-sarvam.py} (100%) rename examples/update-settings/llm/{together.py => llm-together.py} (100%) rename examples/update-settings/llm/{ultravox-realtime.py => llm-ultravox-realtime.py} (100%) rename examples/update-settings/stt/{assemblyai.py => stt-assemblyai.py} (100%) rename examples/update-settings/stt/{aws-transcribe.py => stt-aws-transcribe.py} (100%) rename examples/update-settings/stt/{azure.py => stt-azure.py} (100%) rename examples/update-settings/stt/{cartesia.py => stt-cartesia.py} (100%) rename examples/update-settings/stt/{deepgram-flux.py => stt-deepgram-flux.py} (100%) rename examples/update-settings/stt/{deepgram-sagemaker.py => stt-deepgram-sagemaker.py} (100%) rename examples/update-settings/stt/{deepgram.py => stt-deepgram.py} (100%) rename examples/update-settings/stt/{elevenlabs-realtime.py => stt-elevenlabs-realtime.py} (100%) rename examples/update-settings/stt/{elevenlabs.py => stt-elevenlabs.py} (100%) rename examples/update-settings/stt/{fal.py => stt-fal.py} (100%) rename examples/update-settings/stt/{gladia.py => stt-gladia.py} (100%) rename examples/update-settings/stt/{google.py => stt-google.py} (100%) rename examples/update-settings/stt/{gradium.py => stt-gradium.py} (100%) rename examples/update-settings/stt/{groq.py => stt-groq.py} (100%) rename examples/update-settings/stt/{nvidia-segmented.py => stt-nvidia-segmented.py} (100%) rename examples/update-settings/stt/{nvidia.py => stt-nvidia.py} (100%) rename examples/update-settings/stt/{openai-realtime.py => stt-openai-realtime.py} (100%) rename examples/update-settings/stt/{sarvam.py => stt-sarvam.py} (100%) rename examples/update-settings/stt/{soniox.py => stt-soniox.py} (100%) rename examples/update-settings/stt/{speechmatics.py => stt-speechmatics.py} (100%) rename examples/update-settings/stt/{whisper-api.py => stt-whisper-api.py} (100%) rename examples/update-settings/stt/{whisper-mlx.py => stt-whisper-mlx.py} (100%) rename examples/update-settings/stt/{whisper.py => stt-whisper.py} (100%) rename examples/update-settings/tts/{asyncai-http.py => tts-asyncai-http.py} (100%) rename examples/update-settings/tts/{asyncai.py => tts-asyncai.py} (100%) rename examples/update-settings/tts/{aws-polly.py => tts-aws-polly.py} (100%) rename examples/update-settings/tts/{azure-http.py => tts-azure-http.py} (100%) rename examples/update-settings/tts/{azure.py => tts-azure.py} (100%) rename examples/update-settings/tts/{camb.py => tts-camb.py} (100%) rename examples/update-settings/tts/{cartesia-http.py => tts-cartesia-http.py} (100%) rename examples/update-settings/tts/{cartesia.py => tts-cartesia.py} (100%) rename examples/update-settings/tts/{deepgram-http.py => tts-deepgram-http.py} (100%) rename examples/update-settings/tts/{deepgram-sagemaker.py => tts-deepgram-sagemaker.py} (100%) rename examples/update-settings/tts/{deepgram.py => tts-deepgram.py} (100%) rename examples/update-settings/tts/{elevenlabs-http.py => tts-elevenlabs-http.py} (100%) rename examples/update-settings/tts/{elevenlabs.py => tts-elevenlabs.py} (100%) rename examples/update-settings/tts/{fish.py => tts-fish.py} (100%) rename examples/update-settings/tts/{gemini.py => tts-gemini.py} (100%) rename examples/update-settings/tts/{google-http.py => tts-google-http.py} (100%) rename examples/update-settings/tts/{google-stream.py => tts-google-stream.py} (100%) rename examples/update-settings/tts/{gradium.py => tts-gradium.py} (100%) rename examples/update-settings/tts/{groq.py => tts-groq.py} (100%) rename examples/update-settings/tts/{hume.py => tts-hume.py} (100%) rename examples/update-settings/tts/{inworld-http.py => tts-inworld-http.py} (100%) rename examples/update-settings/tts/{inworld.py => tts-inworld.py} (100%) rename examples/update-settings/tts/{kokoro.py => tts-kokoro.py} (100%) rename examples/update-settings/tts/{lmnt.py => tts-lmnt.py} (100%) rename examples/update-settings/tts/{minimax.py => tts-minimax.py} (100%) rename examples/update-settings/tts/{neuphonic-http.py => tts-neuphonic-http.py} (100%) rename examples/update-settings/tts/{neuphonic.py => tts-neuphonic.py} (100%) rename examples/update-settings/tts/{nvidia.py => tts-nvidia.py} (100%) rename examples/update-settings/tts/{openai.py => tts-openai.py} (100%) rename examples/update-settings/tts/{piper-http.py => tts-piper-http.py} (100%) rename examples/update-settings/tts/{piper.py => tts-piper.py} (100%) rename examples/update-settings/tts/{resembleai.py => tts-resembleai.py} (100%) rename examples/update-settings/tts/{rime-http.py => tts-rime-http.py} (100%) rename examples/update-settings/tts/{rime.py => tts-rime.py} (100%) rename examples/update-settings/tts/{sarvam-http.py => tts-sarvam-http.py} (100%) rename examples/update-settings/tts/{sarvam.py => tts-sarvam.py} (100%) rename examples/update-settings/tts/{speechmatics.py => tts-speechmatics.py} (100%) rename examples/update-settings/tts/{xtts.py => tts-xtts.py} (100%) rename examples/video-avatar/{heygen-transport.py => video-avatar-heygen-transport.py} (100%) rename examples/video-avatar/{heygen-video-service.py => video-avatar-heygen-video-service.py} (100%) rename examples/video-avatar/{lemonslice-transport.py => video-avatar-lemonslice-transport.py} (100%) rename examples/video-avatar/{simli-layer.py => video-avatar-simli-layer.py} (100%) rename examples/video-avatar/{tavus-transport.py => video-avatar-tavus-transport.py} (100%) rename examples/video-avatar/{tavus-video-service.py => video-avatar-tavus-video-service.py} (100%) rename examples/video-processing/{custom-video-track.py => video-processing-custom-video-track.py} (100%) rename examples/video-processing/{gstreamer-filesrc.py => video-processing-gstreamer-filesrc.py} (100%) rename examples/video-processing/{gstreamer-videotestsrc.py => video-processing-gstreamer-videotestsrc.py} (100%) rename examples/video-processing/{local-mirror.py => video-processing-local-mirror.py} (100%) rename examples/video-processing/{mirror.py => video-processing-mirror.py} (100%) rename examples/vision/{anthropic.py => vision-anthropic.py} (100%) rename examples/vision/{aws.py => vision-aws.py} (100%) rename examples/vision/{gemini-flash.py => vision-gemini-flash.py} (100%) rename examples/vision/{moondream.py => vision-moondream.py} (100%) rename examples/vision/{openai-responses-http.py => vision-openai-responses-http.py} (100%) rename examples/vision/{openai-responses.py => vision-openai-responses.py} (100%) rename examples/vision/{openai.py => vision-openai.py} (100%) rename examples/voice/{aicoustics.py => voice-aicoustics.py} (100%) rename examples/voice/{assemblyai-turn-detection.py => voice-assemblyai-turn-detection.py} (100%) rename examples/voice/{assemblyai.py => voice-assemblyai.py} (100%) rename examples/voice/{asyncai-http.py => voice-asyncai-http.py} (100%) rename examples/voice/{asyncai.py => voice-asyncai.py} (100%) rename examples/voice/{aws-strands.py => voice-aws-strands.py} (100%) rename examples/voice/{aws.py => voice-aws.py} (100%) rename examples/voice/{azure-http.py => voice-azure-http.py} (100%) rename examples/voice/{azure.py => voice-azure.py} (100%) rename examples/voice/{camb.py => voice-camb.py} (100%) rename examples/voice/{cartesia-http.py => voice-cartesia-http.py} (100%) rename examples/voice/{cartesia.py => voice-cartesia.py} (100%) rename examples/voice/{deepgram-flux-sagemaker.py => voice-deepgram-flux-sagemaker.py} (100%) rename examples/voice/{deepgram-flux.py => voice-deepgram-flux.py} (100%) rename examples/voice/{deepgram-http.py => voice-deepgram-http.py} (100%) rename examples/voice/{deepgram-sagemaker.py => voice-deepgram-sagemaker.py} (100%) rename examples/voice/{deepgram-vad.py => voice-deepgram-vad.py} (100%) rename examples/voice/{deepgram.py => voice-deepgram.py} (100%) rename examples/voice/{elevenlabs-http.py => voice-elevenlabs-http.py} (100%) rename examples/voice/{elevenlabs.py => voice-elevenlabs.py} (100%) rename examples/voice/{fal.py => voice-fal.py} (100%) rename examples/voice/{fish.py => voice-fish.py} (100%) rename examples/voice/{gladia-vad.py => voice-gladia-vad.py} (100%) rename examples/voice/{gladia.py => voice-gladia.py} (100%) rename examples/voice/{google-audio-in.py => voice-google-audio-in.py} (100%) rename examples/voice/{google-gemini-tts.py => voice-google-gemini-tts.py} (100%) rename examples/voice/{google-http.py => voice-google-http.py} (100%) rename examples/voice/{google-image.py => voice-google-image.py} (100%) rename examples/voice/{google.py => voice-google.py} (100%) rename examples/voice/{gradium.py => voice-gradium.py} (100%) rename examples/voice/{groq.py => voice-groq.py} (100%) rename examples/voice/{hume.py => voice-hume.py} (100%) rename examples/voice/{inworld-http.py => voice-inworld-http.py} (100%) rename examples/voice/{inworld.py => voice-inworld.py} (100%) rename examples/voice/{kokoro.py => voice-kokoro.py} (100%) rename examples/voice/{krisp-viva.py => voice-krisp-viva.py} (100%) rename examples/voice/{langchain.py => voice-langchain.py} (100%) rename examples/voice/{lmnt.py => voice-lmnt.py} (100%) rename examples/voice/{minimax.py => voice-minimax.py} (100%) rename examples/voice/{neuphonic-http.py => voice-neuphonic-http.py} (100%) rename examples/voice/{neuphonic.py => voice-neuphonic.py} (100%) rename examples/voice/{nvidia.py => voice-nvidia.py} (100%) rename examples/voice/{openai-http.py => voice-openai-http.py} (100%) rename examples/voice/{openai-responses-http.py => voice-openai-responses-http.py} (100%) rename examples/voice/{openai-responses.py => voice-openai-responses.py} (100%) rename examples/voice/{openai.py => voice-openai.py} (100%) rename examples/voice/{piper.py => voice-piper.py} (100%) rename examples/voice/{resemble.py => voice-resemble.py} (100%) rename examples/voice/{rime-http.py => voice-rime-http.py} (100%) rename examples/voice/{rime.py => voice-rime.py} (100%) rename examples/voice/{sarvam-http.py => voice-sarvam-http.py} (100%) rename examples/voice/{sarvam.py => voice-sarvam.py} (100%) rename examples/voice/{smallest.py => voice-smallest.py} (100%) rename examples/voice/{soniox.py => voice-soniox.py} (100%) rename examples/voice/{speechmatics-vad.py => voice-speechmatics-vad.py} (100%) rename examples/voice/{speechmatics.py => voice-speechmatics.py} (100%) rename examples/voice/{xai.py => voice-xai.py} (100%) rename examples/voice/{xtts.py => voice-xtts.py} (100%) diff --git a/README.md b/README.md index af165a94f..f900ff5d4 100644 --- a/README.md +++ b/README.md @@ -80,7 +80,7 @@ Catch new features, interviews, and how-tos on our [Pipecat TV](https://www.yout
  - +

## 🧩 Available services diff --git a/examples/audio/bot-background-sound.py b/examples/audio/audio-bot-background-sound.py similarity index 100% rename from examples/audio/bot-background-sound.py rename to examples/audio/audio-bot-background-sound.py diff --git a/examples/audio/sound-effects.py b/examples/audio/audio-sound-effects.py similarity index 100% rename from examples/audio/sound-effects.py rename to examples/audio/audio-sound-effects.py diff --git a/examples/context-summarization/dedicated-llm.py b/examples/context-summarization/context-summarization-dedicated-llm.py similarity index 100% rename from examples/context-summarization/dedicated-llm.py rename to examples/context-summarization/context-summarization-dedicated-llm.py diff --git a/examples/context-summarization/google.py b/examples/context-summarization/context-summarization-google.py similarity index 100% rename from examples/context-summarization/google.py rename to examples/context-summarization/context-summarization-google.py diff --git a/examples/context-summarization/manual-openai.py b/examples/context-summarization/context-summarization-manual-openai.py similarity index 100% rename from examples/context-summarization/manual-openai.py rename to examples/context-summarization/context-summarization-manual-openai.py diff --git a/examples/context-summarization/openai.py b/examples/context-summarization/context-summarization-openai.py similarity index 100% rename from examples/context-summarization/openai.py rename to examples/context-summarization/context-summarization-openai.py diff --git a/examples/features/before-and-after-events.py b/examples/features/features-before-and-after-events.py similarity index 100% rename from examples/features/before-and-after-events.py rename to examples/features/features-before-and-after-events.py diff --git a/examples/features/concurrent-llm-evaluation.py b/examples/features/features-concurrent-llm-evaluation.py similarity index 100% rename from examples/features/concurrent-llm-evaluation.py rename to examples/features/features-concurrent-llm-evaluation.py diff --git a/examples/features/concurrent-llm-rtvi-ignored-sources.py b/examples/features/features-concurrent-llm-rtvi-ignored-sources.py similarity index 100% rename from examples/features/concurrent-llm-rtvi-ignored-sources.py rename to examples/features/features-concurrent-llm-rtvi-ignored-sources.py diff --git a/examples/features/custom-frame-processor.py b/examples/features/features-custom-frame-processor.py similarity index 100% rename from examples/features/custom-frame-processor.py rename to examples/features/features-custom-frame-processor.py diff --git a/examples/features/gpu-container-local-bot.py b/examples/features/features-gpu-container-local-bot.py similarity index 100% rename from examples/features/gpu-container-local-bot.py rename to examples/features/features-gpu-container-local-bot.py diff --git a/examples/features/live-translation.py b/examples/features/features-live-translation.py similarity index 100% rename from examples/features/live-translation.py rename to examples/features/features-live-translation.py diff --git a/examples/features/pattern-pair-voice-switching.py b/examples/features/features-pattern-pair-voice-switching.py similarity index 100% rename from examples/features/pattern-pair-voice-switching.py rename to examples/features/features-pattern-pair-voice-switching.py diff --git a/examples/features/service-switcher.py b/examples/features/features-service-switcher.py similarity index 100% rename from examples/features/service-switcher.py rename to examples/features/features-service-switcher.py diff --git a/examples/features/switch-languages.py b/examples/features/features-switch-languages.py similarity index 100% rename from examples/features/switch-languages.py rename to examples/features/features-switch-languages.py diff --git a/examples/features/switch-voices.py b/examples/features/features-switch-voices.py similarity index 100% rename from examples/features/switch-voices.py rename to examples/features/features-switch-voices.py diff --git a/examples/features/user-email-gathering.py b/examples/features/features-user-email-gathering.py similarity index 100% rename from examples/features/user-email-gathering.py rename to examples/features/features-user-email-gathering.py diff --git a/examples/features/voicemail-detection.py b/examples/features/features-voicemail-detection.py similarity index 100% rename from examples/features/voicemail-detection.py rename to examples/features/features-voicemail-detection.py diff --git a/examples/features/wake-phrase.py b/examples/features/features-wake-phrase.py similarity index 100% rename from examples/features/wake-phrase.py rename to examples/features/features-wake-phrase.py diff --git a/examples/function-calling/anthropic-video.py b/examples/function-calling/function-calling-anthropic-video.py similarity index 100% rename from examples/function-calling/anthropic-video.py rename to examples/function-calling/function-calling-anthropic-video.py diff --git a/examples/function-calling/anthropic.py b/examples/function-calling/function-calling-anthropic.py similarity index 100% rename from examples/function-calling/anthropic.py rename to examples/function-calling/function-calling-anthropic.py diff --git a/examples/function-calling/aws-video.py b/examples/function-calling/function-calling-aws-video.py similarity index 100% rename from examples/function-calling/aws-video.py rename to examples/function-calling/function-calling-aws-video.py diff --git a/examples/function-calling/aws.py b/examples/function-calling/function-calling-aws.py similarity index 100% rename from examples/function-calling/aws.py rename to examples/function-calling/function-calling-aws.py diff --git a/examples/function-calling/azure.py b/examples/function-calling/function-calling-azure.py similarity index 100% rename from examples/function-calling/azure.py rename to examples/function-calling/function-calling-azure.py diff --git a/examples/function-calling/cerebras.py b/examples/function-calling/function-calling-cerebras.py similarity index 100% rename from examples/function-calling/cerebras.py rename to examples/function-calling/function-calling-cerebras.py diff --git a/examples/function-calling/deepseek.py b/examples/function-calling/function-calling-deepseek.py similarity index 100% rename from examples/function-calling/deepseek.py rename to examples/function-calling/function-calling-deepseek.py diff --git a/examples/function-calling/direct.py b/examples/function-calling/function-calling-direct.py similarity index 100% rename from examples/function-calling/direct.py rename to examples/function-calling/function-calling-direct.py diff --git a/examples/function-calling/fireworks.py b/examples/function-calling/function-calling-fireworks.py similarity index 100% rename from examples/function-calling/fireworks.py rename to examples/function-calling/function-calling-fireworks.py diff --git a/examples/function-calling/google-vertex.py b/examples/function-calling/function-calling-google-vertex.py similarity index 100% rename from examples/function-calling/google-vertex.py rename to examples/function-calling/function-calling-google-vertex.py diff --git a/examples/function-calling/google-video.py b/examples/function-calling/function-calling-google-video.py similarity index 100% rename from examples/function-calling/google-video.py rename to examples/function-calling/function-calling-google-video.py diff --git a/examples/function-calling/google.py b/examples/function-calling/function-calling-google.py similarity index 100% rename from examples/function-calling/google.py rename to examples/function-calling/function-calling-google.py diff --git a/examples/function-calling/grok.py b/examples/function-calling/function-calling-grok.py similarity index 100% rename from examples/function-calling/grok.py rename to examples/function-calling/function-calling-grok.py diff --git a/examples/function-calling/groq.py b/examples/function-calling/function-calling-groq.py similarity index 100% rename from examples/function-calling/groq.py rename to examples/function-calling/function-calling-groq.py diff --git a/examples/function-calling/mistral.py b/examples/function-calling/function-calling-mistral.py similarity index 100% rename from examples/function-calling/mistral.py rename to examples/function-calling/function-calling-mistral.py diff --git a/examples/function-calling/moondream-video.py b/examples/function-calling/function-calling-moondream-video.py similarity index 100% rename from examples/function-calling/moondream-video.py rename to examples/function-calling/function-calling-moondream-video.py diff --git a/examples/function-calling/nebius.py b/examples/function-calling/function-calling-nebius.py similarity index 100% rename from examples/function-calling/nebius.py rename to examples/function-calling/function-calling-nebius.py diff --git a/examples/function-calling/novita.py b/examples/function-calling/function-calling-novita.py similarity index 100% rename from examples/function-calling/novita.py rename to examples/function-calling/function-calling-novita.py diff --git a/examples/function-calling/nvidia.py b/examples/function-calling/function-calling-nvidia.py similarity index 100% rename from examples/function-calling/nvidia.py rename to examples/function-calling/function-calling-nvidia.py diff --git a/examples/function-calling/ollama.py b/examples/function-calling/function-calling-ollama.py similarity index 100% rename from examples/function-calling/ollama.py rename to examples/function-calling/function-calling-ollama.py diff --git a/examples/function-calling/openai-responses-http.py b/examples/function-calling/function-calling-openai-responses-http.py similarity index 100% rename from examples/function-calling/openai-responses-http.py rename to examples/function-calling/function-calling-openai-responses-http.py diff --git a/examples/function-calling/openai-responses-video-http.py b/examples/function-calling/function-calling-openai-responses-video-http.py similarity index 100% rename from examples/function-calling/openai-responses-video-http.py rename to examples/function-calling/function-calling-openai-responses-video-http.py diff --git a/examples/function-calling/openai-responses-video.py b/examples/function-calling/function-calling-openai-responses-video.py similarity index 100% rename from examples/function-calling/openai-responses-video.py rename to examples/function-calling/function-calling-openai-responses-video.py diff --git a/examples/function-calling/openai-responses.py b/examples/function-calling/function-calling-openai-responses.py similarity index 100% rename from examples/function-calling/openai-responses.py rename to examples/function-calling/function-calling-openai-responses.py diff --git a/examples/function-calling/openai-video.py b/examples/function-calling/function-calling-openai-video.py similarity index 100% rename from examples/function-calling/openai-video.py rename to examples/function-calling/function-calling-openai-video.py diff --git a/examples/function-calling/openai.py b/examples/function-calling/function-calling-openai.py similarity index 100% rename from examples/function-calling/openai.py rename to examples/function-calling/function-calling-openai.py diff --git a/examples/function-calling/openrouter.py b/examples/function-calling/function-calling-openrouter.py similarity index 100% rename from examples/function-calling/openrouter.py rename to examples/function-calling/function-calling-openrouter.py diff --git a/examples/function-calling/perplexity.py b/examples/function-calling/function-calling-perplexity.py similarity index 100% rename from examples/function-calling/perplexity.py rename to examples/function-calling/function-calling-perplexity.py diff --git a/examples/function-calling/qwen.py b/examples/function-calling/function-calling-qwen.py similarity index 100% rename from examples/function-calling/qwen.py rename to examples/function-calling/function-calling-qwen.py diff --git a/examples/function-calling/sambanova.py b/examples/function-calling/function-calling-sambanova.py similarity index 100% rename from examples/function-calling/sambanova.py rename to examples/function-calling/function-calling-sambanova.py diff --git a/examples/function-calling/sarvam.py b/examples/function-calling/function-calling-sarvam.py similarity index 100% rename from examples/function-calling/sarvam.py rename to examples/function-calling/function-calling-sarvam.py diff --git a/examples/function-calling/together.py b/examples/function-calling/function-calling-together.py similarity index 100% rename from examples/function-calling/together.py rename to examples/function-calling/function-calling-together.py diff --git a/examples/thinking-and-mcp/multiple-mcp.py b/examples/mcp/mcp-multiple-mcp.py similarity index 100% rename from examples/thinking-and-mcp/multiple-mcp.py rename to examples/mcp/mcp-multiple-mcp.py diff --git a/examples/thinking-and-mcp/mcp-stdio.py b/examples/mcp/mcp-stdio.py similarity index 100% rename from examples/thinking-and-mcp/mcp-stdio.py rename to examples/mcp/mcp-stdio.py diff --git a/examples/thinking-and-mcp/mcp-streamable-http-gemini-live.py b/examples/mcp/mcp-streamable-http-gemini-live.py similarity index 100% rename from examples/thinking-and-mcp/mcp-streamable-http-gemini-live.py rename to examples/mcp/mcp-streamable-http-gemini-live.py diff --git a/examples/thinking-and-mcp/mcp-streamable-http.py b/examples/mcp/mcp-streamable-http.py similarity index 100% rename from examples/thinking-and-mcp/mcp-streamable-http.py rename to examples/mcp/mcp-streamable-http.py diff --git a/examples/observability/heartbeats.py b/examples/observability/observability-heartbeats.py similarity index 100% rename from examples/observability/heartbeats.py rename to examples/observability/observability-heartbeats.py diff --git a/examples/observability/observer.py b/examples/observability/observability-observer.py similarity index 100% rename from examples/observability/observer.py rename to examples/observability/observability-observer.py diff --git a/examples/observability/sentry-metrics.py b/examples/observability/observability-sentry-metrics.py similarity index 100% rename from examples/observability/sentry-metrics.py rename to examples/observability/observability-sentry-metrics.py diff --git a/examples/persistent-context/anthropic.py b/examples/persistent-context/persistent-context-anthropic.py similarity index 100% rename from examples/persistent-context/anthropic.py rename to examples/persistent-context/persistent-context-anthropic.py diff --git a/examples/persistent-context/aws-nova-sonic.py b/examples/persistent-context/persistent-context-aws-nova-sonic.py similarity index 100% rename from examples/persistent-context/aws-nova-sonic.py rename to examples/persistent-context/persistent-context-aws-nova-sonic.py diff --git a/examples/persistent-context/gemini.py b/examples/persistent-context/persistent-context-gemini.py similarity index 100% rename from examples/persistent-context/gemini.py rename to examples/persistent-context/persistent-context-gemini.py diff --git a/examples/persistent-context/grok-realtime.py b/examples/persistent-context/persistent-context-grok-realtime.py similarity index 100% rename from examples/persistent-context/grok-realtime.py rename to examples/persistent-context/persistent-context-grok-realtime.py diff --git a/examples/persistent-context/openai-realtime.py b/examples/persistent-context/persistent-context-openai-realtime.py similarity index 100% rename from examples/persistent-context/openai-realtime.py rename to examples/persistent-context/persistent-context-openai-realtime.py diff --git a/examples/persistent-context/openai-responses-http.py b/examples/persistent-context/persistent-context-openai-responses-http.py similarity index 100% rename from examples/persistent-context/openai-responses-http.py rename to examples/persistent-context/persistent-context-openai-responses-http.py diff --git a/examples/persistent-context/openai-responses.py b/examples/persistent-context/persistent-context-openai-responses.py similarity index 100% rename from examples/persistent-context/openai-responses.py rename to examples/persistent-context/persistent-context-openai-responses.py diff --git a/examples/persistent-context/openai.py b/examples/persistent-context/persistent-context-openai.py similarity index 100% rename from examples/persistent-context/openai.py rename to examples/persistent-context/persistent-context-openai.py diff --git a/examples/rag/gemini-grounding-metadata.py b/examples/rag/rag-gemini-grounding-metadata.py similarity index 100% rename from examples/rag/gemini-grounding-metadata.py rename to examples/rag/rag-gemini-grounding-metadata.py diff --git a/examples/rag/gemini-rag.py b/examples/rag/rag-gemini.py similarity index 100% rename from examples/rag/gemini-rag.py rename to examples/rag/rag-gemini.py diff --git a/examples/rag/mem0.py b/examples/rag/rag-mem0.py similarity index 100% rename from examples/rag/mem0.py rename to examples/rag/rag-mem0.py diff --git a/examples/realtime/aws-nova-sonic.py b/examples/realtime/realtime-aws-nova-sonic.py similarity index 100% rename from examples/realtime/aws-nova-sonic.py rename to examples/realtime/realtime-aws-nova-sonic.py diff --git a/examples/realtime/azure.py b/examples/realtime/realtime-azure.py similarity index 100% rename from examples/realtime/azure.py rename to examples/realtime/realtime-azure.py diff --git a/examples/realtime/gemini-live-files-api.py b/examples/realtime/realtime-gemini-live-files-api.py similarity index 100% rename from examples/realtime/gemini-live-files-api.py rename to examples/realtime/realtime-gemini-live-files-api.py diff --git a/examples/realtime/gemini-live-function-calling.py b/examples/realtime/realtime-gemini-live-function-calling.py similarity index 100% rename from examples/realtime/gemini-live-function-calling.py rename to examples/realtime/realtime-gemini-live-function-calling.py diff --git a/examples/realtime/gemini-live-google-search.py b/examples/realtime/realtime-gemini-live-google-search.py similarity index 100% rename from examples/realtime/gemini-live-google-search.py rename to examples/realtime/realtime-gemini-live-google-search.py diff --git a/examples/realtime/gemini-live-graceful-end.py b/examples/realtime/realtime-gemini-live-graceful-end.py similarity index 100% rename from examples/realtime/gemini-live-graceful-end.py rename to examples/realtime/realtime-gemini-live-graceful-end.py diff --git a/examples/realtime/gemini-live-grounding-metadata.py b/examples/realtime/realtime-gemini-live-grounding-metadata.py similarity index 100% rename from examples/realtime/gemini-live-grounding-metadata.py rename to examples/realtime/realtime-gemini-live-grounding-metadata.py diff --git a/examples/realtime/gemini-live-local-vad.py b/examples/realtime/realtime-gemini-live-local-vad.py similarity index 100% rename from examples/realtime/gemini-live-local-vad.py rename to examples/realtime/realtime-gemini-live-local-vad.py diff --git a/examples/realtime/gemini-live-vertex-function-calling.py b/examples/realtime/realtime-gemini-live-vertex-function-calling.py similarity index 100% rename from examples/realtime/gemini-live-vertex-function-calling.py rename to examples/realtime/realtime-gemini-live-vertex-function-calling.py diff --git a/examples/realtime/gemini-live-video.py b/examples/realtime/realtime-gemini-live-video.py similarity index 100% rename from examples/realtime/gemini-live-video.py rename to examples/realtime/realtime-gemini-live-video.py diff --git a/examples/realtime/gemini-live.py b/examples/realtime/realtime-gemini-live.py similarity index 100% rename from examples/realtime/gemini-live.py rename to examples/realtime/realtime-gemini-live.py diff --git a/examples/realtime/grok.py b/examples/realtime/realtime-grok.py similarity index 100% rename from examples/realtime/grok.py rename to examples/realtime/realtime-grok.py diff --git a/examples/realtime/openai-live-video.py b/examples/realtime/realtime-openai-live-video.py similarity index 100% rename from examples/realtime/openai-live-video.py rename to examples/realtime/realtime-openai-live-video.py diff --git a/examples/realtime/openai-text.py b/examples/realtime/realtime-openai-text.py similarity index 100% rename from examples/realtime/openai-text.py rename to examples/realtime/realtime-openai-text.py diff --git a/examples/realtime/openai.py b/examples/realtime/realtime-openai.py similarity index 100% rename from examples/realtime/openai.py rename to examples/realtime/realtime-openai.py diff --git a/examples/realtime/ultravox-text.py b/examples/realtime/realtime-ultravox-text.py similarity index 100% rename from examples/realtime/ultravox-text.py rename to examples/realtime/realtime-ultravox-text.py diff --git a/examples/realtime/ultravox.py b/examples/realtime/realtime-ultravox.py similarity index 100% rename from examples/realtime/ultravox.py rename to examples/realtime/realtime-ultravox.py diff --git a/examples/thinking-and-mcp/thinking-anthropic.py b/examples/thinking/thinking-anthropic.py similarity index 100% rename from examples/thinking-and-mcp/thinking-anthropic.py rename to examples/thinking/thinking-anthropic.py diff --git a/examples/thinking-and-mcp/thinking-functions-anthropic.py b/examples/thinking/thinking-functions-anthropic.py similarity index 100% rename from examples/thinking-and-mcp/thinking-functions-anthropic.py rename to examples/thinking/thinking-functions-anthropic.py diff --git a/examples/thinking-and-mcp/thinking-functions-google.py b/examples/thinking/thinking-functions-google.py similarity index 100% rename from examples/thinking-and-mcp/thinking-functions-google.py rename to examples/thinking/thinking-functions-google.py diff --git a/examples/thinking-and-mcp/thinking-google.py b/examples/thinking/thinking-google.py similarity index 100% rename from examples/thinking-and-mcp/thinking-google.py rename to examples/thinking/thinking-google.py diff --git a/examples/transcription/assemblyai.py b/examples/transcription/transcription-assemblyai.py similarity index 100% rename from examples/transcription/assemblyai.py rename to examples/transcription/transcription-assemblyai.py diff --git a/examples/transcription/azure.py b/examples/transcription/transcription-azure.py similarity index 100% rename from examples/transcription/azure.py rename to examples/transcription/transcription-azure.py diff --git a/examples/transcription/cartesia.py b/examples/transcription/transcription-cartesia.py similarity index 100% rename from examples/transcription/cartesia.py rename to examples/transcription/transcription-cartesia.py diff --git a/examples/transcription/deepgram.py b/examples/transcription/transcription-deepgram.py similarity index 100% rename from examples/transcription/deepgram.py rename to examples/transcription/transcription-deepgram.py diff --git a/examples/transcription/elevenlabs.py b/examples/transcription/transcription-elevenlabs.py similarity index 100% rename from examples/transcription/elevenlabs.py rename to examples/transcription/transcription-elevenlabs.py diff --git a/examples/transcription/gladia-translation.py b/examples/transcription/transcription-gladia-translation.py similarity index 100% rename from examples/transcription/gladia-translation.py rename to examples/transcription/transcription-gladia-translation.py diff --git a/examples/transcription/gladia-transcription.py b/examples/transcription/transcription-gladia.py similarity index 100% rename from examples/transcription/gladia-transcription.py rename to examples/transcription/transcription-gladia.py diff --git a/examples/transcription/google-llm.py b/examples/transcription/transcription-google-llm.py similarity index 100% rename from examples/transcription/google-llm.py rename to examples/transcription/transcription-google-llm.py diff --git a/examples/transcription/gradium.py b/examples/transcription/transcription-gradium.py similarity index 100% rename from examples/transcription/gradium.py rename to examples/transcription/transcription-gradium.py diff --git a/examples/transcription/openai.py b/examples/transcription/transcription-openai.py similarity index 100% rename from examples/transcription/openai.py rename to examples/transcription/transcription-openai.py diff --git a/examples/transcription/soniox.py b/examples/transcription/transcription-soniox.py similarity index 100% rename from examples/transcription/soniox.py rename to examples/transcription/transcription-soniox.py diff --git a/examples/transcription/speechmatics.py b/examples/transcription/transcription-speechmatics.py similarity index 100% rename from examples/transcription/speechmatics.py rename to examples/transcription/transcription-speechmatics.py diff --git a/examples/transcription/whisper-local.py b/examples/transcription/transcription-whisper-local.py similarity index 100% rename from examples/transcription/whisper-local.py rename to examples/transcription/transcription-whisper-local.py diff --git a/examples/transcription/whisper-mlx.py b/examples/transcription/transcription-whisper-mlx.py similarity index 100% rename from examples/transcription/whisper-mlx.py rename to examples/transcription/transcription-whisper-mlx.py diff --git a/examples/transcription/whisper.py b/examples/transcription/transcription-whisper.py similarity index 100% rename from examples/transcription/whisper.py rename to examples/transcription/transcription-whisper.py diff --git a/examples/transports/daily.py b/examples/transports/transports-daily.py similarity index 100% rename from examples/transports/daily.py rename to examples/transports/transports-daily.py diff --git a/examples/transports/livekit.py b/examples/transports/transports-livekit.py similarity index 100% rename from examples/transports/livekit.py rename to examples/transports/transports-livekit.py diff --git a/examples/transports/small-webrtc.py b/examples/transports/transports-small-webrtc.py similarity index 100% rename from examples/transports/small-webrtc.py rename to examples/transports/transports-small-webrtc.py diff --git a/examples/turn-management/detect-user-idle.py b/examples/turn-management/turn-management-detect-user-idle.py similarity index 100% rename from examples/turn-management/detect-user-idle.py rename to examples/turn-management/turn-management-detect-user-idle.py diff --git a/examples/turn-management/filter-incomplete-turns.py b/examples/turn-management/turn-management-filter-incomplete-turns.py similarity index 100% rename from examples/turn-management/filter-incomplete-turns.py rename to examples/turn-management/turn-management-filter-incomplete-turns.py diff --git a/examples/turn-management/interruption-config.py b/examples/turn-management/turn-management-interruption-config.py similarity index 100% rename from examples/turn-management/interruption-config.py rename to examples/turn-management/turn-management-interruption-config.py diff --git a/examples/turn-management/smart-turn-local-coreml.py b/examples/turn-management/turn-management-smart-turn-local-coreml.py similarity index 100% rename from examples/turn-management/smart-turn-local-coreml.py rename to examples/turn-management/turn-management-smart-turn-local-coreml.py diff --git a/examples/turn-management/smart-turn-local.py b/examples/turn-management/turn-management-smart-turn-local.py similarity index 100% rename from examples/turn-management/smart-turn-local.py rename to examples/turn-management/turn-management-smart-turn-local.py diff --git a/examples/turn-management/turn-tracking-observer.py b/examples/turn-management/turn-management-turn-tracking-observer.py similarity index 100% rename from examples/turn-management/turn-tracking-observer.py rename to examples/turn-management/turn-management-turn-tracking-observer.py diff --git a/examples/turn-management/user-assistant-turns.py b/examples/turn-management/turn-management-user-assistant-turns.py similarity index 100% rename from examples/turn-management/user-assistant-turns.py rename to examples/turn-management/turn-management-user-assistant-turns.py diff --git a/examples/turn-management/user-mute-strategy.py b/examples/turn-management/turn-management-user-mute-strategy.py similarity index 100% rename from examples/turn-management/user-mute-strategy.py rename to examples/turn-management/turn-management-user-mute-strategy.py diff --git a/examples/update-settings/llm/anthropic.py b/examples/update-settings/llm/llm-anthropic.py similarity index 100% rename from examples/update-settings/llm/anthropic.py rename to examples/update-settings/llm/llm-anthropic.py diff --git a/examples/update-settings/llm/aws-bedrock.py b/examples/update-settings/llm/llm-aws-bedrock.py similarity index 100% rename from examples/update-settings/llm/aws-bedrock.py rename to examples/update-settings/llm/llm-aws-bedrock.py diff --git a/examples/update-settings/llm/aws-nova-sonic.py b/examples/update-settings/llm/llm-aws-nova-sonic.py similarity index 100% rename from examples/update-settings/llm/aws-nova-sonic.py rename to examples/update-settings/llm/llm-aws-nova-sonic.py diff --git a/examples/update-settings/llm/azure-realtime.py b/examples/update-settings/llm/llm-azure-realtime.py similarity index 100% rename from examples/update-settings/llm/azure-realtime.py rename to examples/update-settings/llm/llm-azure-realtime.py diff --git a/examples/update-settings/llm/azure.py b/examples/update-settings/llm/llm-azure.py similarity index 100% rename from examples/update-settings/llm/azure.py rename to examples/update-settings/llm/llm-azure.py diff --git a/examples/update-settings/llm/cerebras.py b/examples/update-settings/llm/llm-cerebras.py similarity index 100% rename from examples/update-settings/llm/cerebras.py rename to examples/update-settings/llm/llm-cerebras.py diff --git a/examples/update-settings/llm/deepseek.py b/examples/update-settings/llm/llm-deepseek.py similarity index 100% rename from examples/update-settings/llm/deepseek.py rename to examples/update-settings/llm/llm-deepseek.py diff --git a/examples/update-settings/llm/fireworks.py b/examples/update-settings/llm/llm-fireworks.py similarity index 100% rename from examples/update-settings/llm/fireworks.py rename to examples/update-settings/llm/llm-fireworks.py diff --git a/examples/update-settings/llm/gemini-live-vertex.py b/examples/update-settings/llm/llm-gemini-live-vertex.py similarity index 100% rename from examples/update-settings/llm/gemini-live-vertex.py rename to examples/update-settings/llm/llm-gemini-live-vertex.py diff --git a/examples/update-settings/llm/gemini-live.py b/examples/update-settings/llm/llm-gemini-live.py similarity index 100% rename from examples/update-settings/llm/gemini-live.py rename to examples/update-settings/llm/llm-gemini-live.py diff --git a/examples/update-settings/llm/google-vertex.py b/examples/update-settings/llm/llm-google-vertex.py similarity index 100% rename from examples/update-settings/llm/google-vertex.py rename to examples/update-settings/llm/llm-google-vertex.py diff --git a/examples/update-settings/llm/google.py b/examples/update-settings/llm/llm-google.py similarity index 100% rename from examples/update-settings/llm/google.py rename to examples/update-settings/llm/llm-google.py diff --git a/examples/update-settings/llm/grok-realtime.py b/examples/update-settings/llm/llm-grok-realtime.py similarity index 100% rename from examples/update-settings/llm/grok-realtime.py rename to examples/update-settings/llm/llm-grok-realtime.py diff --git a/examples/update-settings/llm/grok.py b/examples/update-settings/llm/llm-grok.py similarity index 100% rename from examples/update-settings/llm/grok.py rename to examples/update-settings/llm/llm-grok.py diff --git a/examples/update-settings/llm/groq.py b/examples/update-settings/llm/llm-groq.py similarity index 100% rename from examples/update-settings/llm/groq.py rename to examples/update-settings/llm/llm-groq.py diff --git a/examples/update-settings/llm/mistral.py b/examples/update-settings/llm/llm-mistral.py similarity index 100% rename from examples/update-settings/llm/mistral.py rename to examples/update-settings/llm/llm-mistral.py diff --git a/examples/update-settings/llm/nvidia.py b/examples/update-settings/llm/llm-nvidia.py similarity index 100% rename from examples/update-settings/llm/nvidia.py rename to examples/update-settings/llm/llm-nvidia.py diff --git a/examples/update-settings/llm/ollama.py b/examples/update-settings/llm/llm-ollama.py similarity index 100% rename from examples/update-settings/llm/ollama.py rename to examples/update-settings/llm/llm-ollama.py diff --git a/examples/update-settings/llm/openai-realtime.py b/examples/update-settings/llm/llm-openai-realtime.py similarity index 100% rename from examples/update-settings/llm/openai-realtime.py rename to examples/update-settings/llm/llm-openai-realtime.py diff --git a/examples/update-settings/llm/openai-responses-http.py b/examples/update-settings/llm/llm-openai-responses-http.py similarity index 100% rename from examples/update-settings/llm/openai-responses-http.py rename to examples/update-settings/llm/llm-openai-responses-http.py diff --git a/examples/update-settings/llm/openai-responses.py b/examples/update-settings/llm/llm-openai-responses.py similarity index 100% rename from examples/update-settings/llm/openai-responses.py rename to examples/update-settings/llm/llm-openai-responses.py diff --git a/examples/update-settings/llm/openai.py b/examples/update-settings/llm/llm-openai.py similarity index 100% rename from examples/update-settings/llm/openai.py rename to examples/update-settings/llm/llm-openai.py diff --git a/examples/update-settings/llm/openrouter.py b/examples/update-settings/llm/llm-openrouter.py similarity index 100% rename from examples/update-settings/llm/openrouter.py rename to examples/update-settings/llm/llm-openrouter.py diff --git a/examples/update-settings/llm/perplexity.py b/examples/update-settings/llm/llm-perplexity.py similarity index 100% rename from examples/update-settings/llm/perplexity.py rename to examples/update-settings/llm/llm-perplexity.py diff --git a/examples/update-settings/llm/qwen.py b/examples/update-settings/llm/llm-qwen.py similarity index 100% rename from examples/update-settings/llm/qwen.py rename to examples/update-settings/llm/llm-qwen.py diff --git a/examples/update-settings/llm/sambanova.py b/examples/update-settings/llm/llm-sambanova.py similarity index 100% rename from examples/update-settings/llm/sambanova.py rename to examples/update-settings/llm/llm-sambanova.py diff --git a/examples/update-settings/llm/sarvam.py b/examples/update-settings/llm/llm-sarvam.py similarity index 100% rename from examples/update-settings/llm/sarvam.py rename to examples/update-settings/llm/llm-sarvam.py diff --git a/examples/update-settings/llm/together.py b/examples/update-settings/llm/llm-together.py similarity index 100% rename from examples/update-settings/llm/together.py rename to examples/update-settings/llm/llm-together.py diff --git a/examples/update-settings/llm/ultravox-realtime.py b/examples/update-settings/llm/llm-ultravox-realtime.py similarity index 100% rename from examples/update-settings/llm/ultravox-realtime.py rename to examples/update-settings/llm/llm-ultravox-realtime.py diff --git a/examples/update-settings/stt/assemblyai.py b/examples/update-settings/stt/stt-assemblyai.py similarity index 100% rename from examples/update-settings/stt/assemblyai.py rename to examples/update-settings/stt/stt-assemblyai.py diff --git a/examples/update-settings/stt/aws-transcribe.py b/examples/update-settings/stt/stt-aws-transcribe.py similarity index 100% rename from examples/update-settings/stt/aws-transcribe.py rename to examples/update-settings/stt/stt-aws-transcribe.py diff --git a/examples/update-settings/stt/azure.py b/examples/update-settings/stt/stt-azure.py similarity index 100% rename from examples/update-settings/stt/azure.py rename to examples/update-settings/stt/stt-azure.py diff --git a/examples/update-settings/stt/cartesia.py b/examples/update-settings/stt/stt-cartesia.py similarity index 100% rename from examples/update-settings/stt/cartesia.py rename to examples/update-settings/stt/stt-cartesia.py diff --git a/examples/update-settings/stt/deepgram-flux.py b/examples/update-settings/stt/stt-deepgram-flux.py similarity index 100% rename from examples/update-settings/stt/deepgram-flux.py rename to examples/update-settings/stt/stt-deepgram-flux.py diff --git a/examples/update-settings/stt/deepgram-sagemaker.py b/examples/update-settings/stt/stt-deepgram-sagemaker.py similarity index 100% rename from examples/update-settings/stt/deepgram-sagemaker.py rename to examples/update-settings/stt/stt-deepgram-sagemaker.py diff --git a/examples/update-settings/stt/deepgram.py b/examples/update-settings/stt/stt-deepgram.py similarity index 100% rename from examples/update-settings/stt/deepgram.py rename to examples/update-settings/stt/stt-deepgram.py diff --git a/examples/update-settings/stt/elevenlabs-realtime.py b/examples/update-settings/stt/stt-elevenlabs-realtime.py similarity index 100% rename from examples/update-settings/stt/elevenlabs-realtime.py rename to examples/update-settings/stt/stt-elevenlabs-realtime.py diff --git a/examples/update-settings/stt/elevenlabs.py b/examples/update-settings/stt/stt-elevenlabs.py similarity index 100% rename from examples/update-settings/stt/elevenlabs.py rename to examples/update-settings/stt/stt-elevenlabs.py diff --git a/examples/update-settings/stt/fal.py b/examples/update-settings/stt/stt-fal.py similarity index 100% rename from examples/update-settings/stt/fal.py rename to examples/update-settings/stt/stt-fal.py diff --git a/examples/update-settings/stt/gladia.py b/examples/update-settings/stt/stt-gladia.py similarity index 100% rename from examples/update-settings/stt/gladia.py rename to examples/update-settings/stt/stt-gladia.py diff --git a/examples/update-settings/stt/google.py b/examples/update-settings/stt/stt-google.py similarity index 100% rename from examples/update-settings/stt/google.py rename to examples/update-settings/stt/stt-google.py diff --git a/examples/update-settings/stt/gradium.py b/examples/update-settings/stt/stt-gradium.py similarity index 100% rename from examples/update-settings/stt/gradium.py rename to examples/update-settings/stt/stt-gradium.py diff --git a/examples/update-settings/stt/groq.py b/examples/update-settings/stt/stt-groq.py similarity index 100% rename from examples/update-settings/stt/groq.py rename to examples/update-settings/stt/stt-groq.py diff --git a/examples/update-settings/stt/nvidia-segmented.py b/examples/update-settings/stt/stt-nvidia-segmented.py similarity index 100% rename from examples/update-settings/stt/nvidia-segmented.py rename to examples/update-settings/stt/stt-nvidia-segmented.py diff --git a/examples/update-settings/stt/nvidia.py b/examples/update-settings/stt/stt-nvidia.py similarity index 100% rename from examples/update-settings/stt/nvidia.py rename to examples/update-settings/stt/stt-nvidia.py diff --git a/examples/update-settings/stt/openai-realtime.py b/examples/update-settings/stt/stt-openai-realtime.py similarity index 100% rename from examples/update-settings/stt/openai-realtime.py rename to examples/update-settings/stt/stt-openai-realtime.py diff --git a/examples/update-settings/stt/sarvam.py b/examples/update-settings/stt/stt-sarvam.py similarity index 100% rename from examples/update-settings/stt/sarvam.py rename to examples/update-settings/stt/stt-sarvam.py diff --git a/examples/update-settings/stt/soniox.py b/examples/update-settings/stt/stt-soniox.py similarity index 100% rename from examples/update-settings/stt/soniox.py rename to examples/update-settings/stt/stt-soniox.py diff --git a/examples/update-settings/stt/speechmatics.py b/examples/update-settings/stt/stt-speechmatics.py similarity index 100% rename from examples/update-settings/stt/speechmatics.py rename to examples/update-settings/stt/stt-speechmatics.py diff --git a/examples/update-settings/stt/whisper-api.py b/examples/update-settings/stt/stt-whisper-api.py similarity index 100% rename from examples/update-settings/stt/whisper-api.py rename to examples/update-settings/stt/stt-whisper-api.py diff --git a/examples/update-settings/stt/whisper-mlx.py b/examples/update-settings/stt/stt-whisper-mlx.py similarity index 100% rename from examples/update-settings/stt/whisper-mlx.py rename to examples/update-settings/stt/stt-whisper-mlx.py diff --git a/examples/update-settings/stt/whisper.py b/examples/update-settings/stt/stt-whisper.py similarity index 100% rename from examples/update-settings/stt/whisper.py rename to examples/update-settings/stt/stt-whisper.py diff --git a/examples/update-settings/tts/asyncai-http.py b/examples/update-settings/tts/tts-asyncai-http.py similarity index 100% rename from examples/update-settings/tts/asyncai-http.py rename to examples/update-settings/tts/tts-asyncai-http.py diff --git a/examples/update-settings/tts/asyncai.py b/examples/update-settings/tts/tts-asyncai.py similarity index 100% rename from examples/update-settings/tts/asyncai.py rename to examples/update-settings/tts/tts-asyncai.py diff --git a/examples/update-settings/tts/aws-polly.py b/examples/update-settings/tts/tts-aws-polly.py similarity index 100% rename from examples/update-settings/tts/aws-polly.py rename to examples/update-settings/tts/tts-aws-polly.py diff --git a/examples/update-settings/tts/azure-http.py b/examples/update-settings/tts/tts-azure-http.py similarity index 100% rename from examples/update-settings/tts/azure-http.py rename to examples/update-settings/tts/tts-azure-http.py diff --git a/examples/update-settings/tts/azure.py b/examples/update-settings/tts/tts-azure.py similarity index 100% rename from examples/update-settings/tts/azure.py rename to examples/update-settings/tts/tts-azure.py diff --git a/examples/update-settings/tts/camb.py b/examples/update-settings/tts/tts-camb.py similarity index 100% rename from examples/update-settings/tts/camb.py rename to examples/update-settings/tts/tts-camb.py diff --git a/examples/update-settings/tts/cartesia-http.py b/examples/update-settings/tts/tts-cartesia-http.py similarity index 100% rename from examples/update-settings/tts/cartesia-http.py rename to examples/update-settings/tts/tts-cartesia-http.py diff --git a/examples/update-settings/tts/cartesia.py b/examples/update-settings/tts/tts-cartesia.py similarity index 100% rename from examples/update-settings/tts/cartesia.py rename to examples/update-settings/tts/tts-cartesia.py diff --git a/examples/update-settings/tts/deepgram-http.py b/examples/update-settings/tts/tts-deepgram-http.py similarity index 100% rename from examples/update-settings/tts/deepgram-http.py rename to examples/update-settings/tts/tts-deepgram-http.py diff --git a/examples/update-settings/tts/deepgram-sagemaker.py b/examples/update-settings/tts/tts-deepgram-sagemaker.py similarity index 100% rename from examples/update-settings/tts/deepgram-sagemaker.py rename to examples/update-settings/tts/tts-deepgram-sagemaker.py diff --git a/examples/update-settings/tts/deepgram.py b/examples/update-settings/tts/tts-deepgram.py similarity index 100% rename from examples/update-settings/tts/deepgram.py rename to examples/update-settings/tts/tts-deepgram.py diff --git a/examples/update-settings/tts/elevenlabs-http.py b/examples/update-settings/tts/tts-elevenlabs-http.py similarity index 100% rename from examples/update-settings/tts/elevenlabs-http.py rename to examples/update-settings/tts/tts-elevenlabs-http.py diff --git a/examples/update-settings/tts/elevenlabs.py b/examples/update-settings/tts/tts-elevenlabs.py similarity index 100% rename from examples/update-settings/tts/elevenlabs.py rename to examples/update-settings/tts/tts-elevenlabs.py diff --git a/examples/update-settings/tts/fish.py b/examples/update-settings/tts/tts-fish.py similarity index 100% rename from examples/update-settings/tts/fish.py rename to examples/update-settings/tts/tts-fish.py diff --git a/examples/update-settings/tts/gemini.py b/examples/update-settings/tts/tts-gemini.py similarity index 100% rename from examples/update-settings/tts/gemini.py rename to examples/update-settings/tts/tts-gemini.py diff --git a/examples/update-settings/tts/google-http.py b/examples/update-settings/tts/tts-google-http.py similarity index 100% rename from examples/update-settings/tts/google-http.py rename to examples/update-settings/tts/tts-google-http.py diff --git a/examples/update-settings/tts/google-stream.py b/examples/update-settings/tts/tts-google-stream.py similarity index 100% rename from examples/update-settings/tts/google-stream.py rename to examples/update-settings/tts/tts-google-stream.py diff --git a/examples/update-settings/tts/gradium.py b/examples/update-settings/tts/tts-gradium.py similarity index 100% rename from examples/update-settings/tts/gradium.py rename to examples/update-settings/tts/tts-gradium.py diff --git a/examples/update-settings/tts/groq.py b/examples/update-settings/tts/tts-groq.py similarity index 100% rename from examples/update-settings/tts/groq.py rename to examples/update-settings/tts/tts-groq.py diff --git a/examples/update-settings/tts/hume.py b/examples/update-settings/tts/tts-hume.py similarity index 100% rename from examples/update-settings/tts/hume.py rename to examples/update-settings/tts/tts-hume.py diff --git a/examples/update-settings/tts/inworld-http.py b/examples/update-settings/tts/tts-inworld-http.py similarity index 100% rename from examples/update-settings/tts/inworld-http.py rename to examples/update-settings/tts/tts-inworld-http.py diff --git a/examples/update-settings/tts/inworld.py b/examples/update-settings/tts/tts-inworld.py similarity index 100% rename from examples/update-settings/tts/inworld.py rename to examples/update-settings/tts/tts-inworld.py diff --git a/examples/update-settings/tts/kokoro.py b/examples/update-settings/tts/tts-kokoro.py similarity index 100% rename from examples/update-settings/tts/kokoro.py rename to examples/update-settings/tts/tts-kokoro.py diff --git a/examples/update-settings/tts/lmnt.py b/examples/update-settings/tts/tts-lmnt.py similarity index 100% rename from examples/update-settings/tts/lmnt.py rename to examples/update-settings/tts/tts-lmnt.py diff --git a/examples/update-settings/tts/minimax.py b/examples/update-settings/tts/tts-minimax.py similarity index 100% rename from examples/update-settings/tts/minimax.py rename to examples/update-settings/tts/tts-minimax.py diff --git a/examples/update-settings/tts/neuphonic-http.py b/examples/update-settings/tts/tts-neuphonic-http.py similarity index 100% rename from examples/update-settings/tts/neuphonic-http.py rename to examples/update-settings/tts/tts-neuphonic-http.py diff --git a/examples/update-settings/tts/neuphonic.py b/examples/update-settings/tts/tts-neuphonic.py similarity index 100% rename from examples/update-settings/tts/neuphonic.py rename to examples/update-settings/tts/tts-neuphonic.py diff --git a/examples/update-settings/tts/nvidia.py b/examples/update-settings/tts/tts-nvidia.py similarity index 100% rename from examples/update-settings/tts/nvidia.py rename to examples/update-settings/tts/tts-nvidia.py diff --git a/examples/update-settings/tts/openai.py b/examples/update-settings/tts/tts-openai.py similarity index 100% rename from examples/update-settings/tts/openai.py rename to examples/update-settings/tts/tts-openai.py diff --git a/examples/update-settings/tts/piper-http.py b/examples/update-settings/tts/tts-piper-http.py similarity index 100% rename from examples/update-settings/tts/piper-http.py rename to examples/update-settings/tts/tts-piper-http.py diff --git a/examples/update-settings/tts/piper.py b/examples/update-settings/tts/tts-piper.py similarity index 100% rename from examples/update-settings/tts/piper.py rename to examples/update-settings/tts/tts-piper.py diff --git a/examples/update-settings/tts/resembleai.py b/examples/update-settings/tts/tts-resembleai.py similarity index 100% rename from examples/update-settings/tts/resembleai.py rename to examples/update-settings/tts/tts-resembleai.py diff --git a/examples/update-settings/tts/rime-http.py b/examples/update-settings/tts/tts-rime-http.py similarity index 100% rename from examples/update-settings/tts/rime-http.py rename to examples/update-settings/tts/tts-rime-http.py diff --git a/examples/update-settings/tts/rime.py b/examples/update-settings/tts/tts-rime.py similarity index 100% rename from examples/update-settings/tts/rime.py rename to examples/update-settings/tts/tts-rime.py diff --git a/examples/update-settings/tts/sarvam-http.py b/examples/update-settings/tts/tts-sarvam-http.py similarity index 100% rename from examples/update-settings/tts/sarvam-http.py rename to examples/update-settings/tts/tts-sarvam-http.py diff --git a/examples/update-settings/tts/sarvam.py b/examples/update-settings/tts/tts-sarvam.py similarity index 100% rename from examples/update-settings/tts/sarvam.py rename to examples/update-settings/tts/tts-sarvam.py diff --git a/examples/update-settings/tts/speechmatics.py b/examples/update-settings/tts/tts-speechmatics.py similarity index 100% rename from examples/update-settings/tts/speechmatics.py rename to examples/update-settings/tts/tts-speechmatics.py diff --git a/examples/update-settings/tts/xtts.py b/examples/update-settings/tts/tts-xtts.py similarity index 100% rename from examples/update-settings/tts/xtts.py rename to examples/update-settings/tts/tts-xtts.py diff --git a/examples/video-avatar/heygen-transport.py b/examples/video-avatar/video-avatar-heygen-transport.py similarity index 100% rename from examples/video-avatar/heygen-transport.py rename to examples/video-avatar/video-avatar-heygen-transport.py diff --git a/examples/video-avatar/heygen-video-service.py b/examples/video-avatar/video-avatar-heygen-video-service.py similarity index 100% rename from examples/video-avatar/heygen-video-service.py rename to examples/video-avatar/video-avatar-heygen-video-service.py diff --git a/examples/video-avatar/lemonslice-transport.py b/examples/video-avatar/video-avatar-lemonslice-transport.py similarity index 100% rename from examples/video-avatar/lemonslice-transport.py rename to examples/video-avatar/video-avatar-lemonslice-transport.py diff --git a/examples/video-avatar/simli-layer.py b/examples/video-avatar/video-avatar-simli-layer.py similarity index 100% rename from examples/video-avatar/simli-layer.py rename to examples/video-avatar/video-avatar-simli-layer.py diff --git a/examples/video-avatar/tavus-transport.py b/examples/video-avatar/video-avatar-tavus-transport.py similarity index 100% rename from examples/video-avatar/tavus-transport.py rename to examples/video-avatar/video-avatar-tavus-transport.py diff --git a/examples/video-avatar/tavus-video-service.py b/examples/video-avatar/video-avatar-tavus-video-service.py similarity index 100% rename from examples/video-avatar/tavus-video-service.py rename to examples/video-avatar/video-avatar-tavus-video-service.py diff --git a/examples/video-processing/custom-video-track.py b/examples/video-processing/video-processing-custom-video-track.py similarity index 100% rename from examples/video-processing/custom-video-track.py rename to examples/video-processing/video-processing-custom-video-track.py diff --git a/examples/video-processing/gstreamer-filesrc.py b/examples/video-processing/video-processing-gstreamer-filesrc.py similarity index 100% rename from examples/video-processing/gstreamer-filesrc.py rename to examples/video-processing/video-processing-gstreamer-filesrc.py diff --git a/examples/video-processing/gstreamer-videotestsrc.py b/examples/video-processing/video-processing-gstreamer-videotestsrc.py similarity index 100% rename from examples/video-processing/gstreamer-videotestsrc.py rename to examples/video-processing/video-processing-gstreamer-videotestsrc.py diff --git a/examples/video-processing/local-mirror.py b/examples/video-processing/video-processing-local-mirror.py similarity index 100% rename from examples/video-processing/local-mirror.py rename to examples/video-processing/video-processing-local-mirror.py diff --git a/examples/video-processing/mirror.py b/examples/video-processing/video-processing-mirror.py similarity index 100% rename from examples/video-processing/mirror.py rename to examples/video-processing/video-processing-mirror.py diff --git a/examples/vision/anthropic.py b/examples/vision/vision-anthropic.py similarity index 100% rename from examples/vision/anthropic.py rename to examples/vision/vision-anthropic.py diff --git a/examples/vision/aws.py b/examples/vision/vision-aws.py similarity index 100% rename from examples/vision/aws.py rename to examples/vision/vision-aws.py diff --git a/examples/vision/gemini-flash.py b/examples/vision/vision-gemini-flash.py similarity index 100% rename from examples/vision/gemini-flash.py rename to examples/vision/vision-gemini-flash.py diff --git a/examples/vision/moondream.py b/examples/vision/vision-moondream.py similarity index 100% rename from examples/vision/moondream.py rename to examples/vision/vision-moondream.py diff --git a/examples/vision/openai-responses-http.py b/examples/vision/vision-openai-responses-http.py similarity index 100% rename from examples/vision/openai-responses-http.py rename to examples/vision/vision-openai-responses-http.py diff --git a/examples/vision/openai-responses.py b/examples/vision/vision-openai-responses.py similarity index 100% rename from examples/vision/openai-responses.py rename to examples/vision/vision-openai-responses.py diff --git a/examples/vision/openai.py b/examples/vision/vision-openai.py similarity index 100% rename from examples/vision/openai.py rename to examples/vision/vision-openai.py diff --git a/examples/voice/aicoustics.py b/examples/voice/voice-aicoustics.py similarity index 100% rename from examples/voice/aicoustics.py rename to examples/voice/voice-aicoustics.py diff --git a/examples/voice/assemblyai-turn-detection.py b/examples/voice/voice-assemblyai-turn-detection.py similarity index 100% rename from examples/voice/assemblyai-turn-detection.py rename to examples/voice/voice-assemblyai-turn-detection.py diff --git a/examples/voice/assemblyai.py b/examples/voice/voice-assemblyai.py similarity index 100% rename from examples/voice/assemblyai.py rename to examples/voice/voice-assemblyai.py diff --git a/examples/voice/asyncai-http.py b/examples/voice/voice-asyncai-http.py similarity index 100% rename from examples/voice/asyncai-http.py rename to examples/voice/voice-asyncai-http.py diff --git a/examples/voice/asyncai.py b/examples/voice/voice-asyncai.py similarity index 100% rename from examples/voice/asyncai.py rename to examples/voice/voice-asyncai.py diff --git a/examples/voice/aws-strands.py b/examples/voice/voice-aws-strands.py similarity index 100% rename from examples/voice/aws-strands.py rename to examples/voice/voice-aws-strands.py diff --git a/examples/voice/aws.py b/examples/voice/voice-aws.py similarity index 100% rename from examples/voice/aws.py rename to examples/voice/voice-aws.py diff --git a/examples/voice/azure-http.py b/examples/voice/voice-azure-http.py similarity index 100% rename from examples/voice/azure-http.py rename to examples/voice/voice-azure-http.py diff --git a/examples/voice/azure.py b/examples/voice/voice-azure.py similarity index 100% rename from examples/voice/azure.py rename to examples/voice/voice-azure.py diff --git a/examples/voice/camb.py b/examples/voice/voice-camb.py similarity index 100% rename from examples/voice/camb.py rename to examples/voice/voice-camb.py diff --git a/examples/voice/cartesia-http.py b/examples/voice/voice-cartesia-http.py similarity index 100% rename from examples/voice/cartesia-http.py rename to examples/voice/voice-cartesia-http.py diff --git a/examples/voice/cartesia.py b/examples/voice/voice-cartesia.py similarity index 100% rename from examples/voice/cartesia.py rename to examples/voice/voice-cartesia.py diff --git a/examples/voice/deepgram-flux-sagemaker.py b/examples/voice/voice-deepgram-flux-sagemaker.py similarity index 100% rename from examples/voice/deepgram-flux-sagemaker.py rename to examples/voice/voice-deepgram-flux-sagemaker.py diff --git a/examples/voice/deepgram-flux.py b/examples/voice/voice-deepgram-flux.py similarity index 100% rename from examples/voice/deepgram-flux.py rename to examples/voice/voice-deepgram-flux.py diff --git a/examples/voice/deepgram-http.py b/examples/voice/voice-deepgram-http.py similarity index 100% rename from examples/voice/deepgram-http.py rename to examples/voice/voice-deepgram-http.py diff --git a/examples/voice/deepgram-sagemaker.py b/examples/voice/voice-deepgram-sagemaker.py similarity index 100% rename from examples/voice/deepgram-sagemaker.py rename to examples/voice/voice-deepgram-sagemaker.py diff --git a/examples/voice/deepgram-vad.py b/examples/voice/voice-deepgram-vad.py similarity index 100% rename from examples/voice/deepgram-vad.py rename to examples/voice/voice-deepgram-vad.py diff --git a/examples/voice/deepgram.py b/examples/voice/voice-deepgram.py similarity index 100% rename from examples/voice/deepgram.py rename to examples/voice/voice-deepgram.py diff --git a/examples/voice/elevenlabs-http.py b/examples/voice/voice-elevenlabs-http.py similarity index 100% rename from examples/voice/elevenlabs-http.py rename to examples/voice/voice-elevenlabs-http.py diff --git a/examples/voice/elevenlabs.py b/examples/voice/voice-elevenlabs.py similarity index 100% rename from examples/voice/elevenlabs.py rename to examples/voice/voice-elevenlabs.py diff --git a/examples/voice/fal.py b/examples/voice/voice-fal.py similarity index 100% rename from examples/voice/fal.py rename to examples/voice/voice-fal.py diff --git a/examples/voice/fish.py b/examples/voice/voice-fish.py similarity index 100% rename from examples/voice/fish.py rename to examples/voice/voice-fish.py diff --git a/examples/voice/gladia-vad.py b/examples/voice/voice-gladia-vad.py similarity index 100% rename from examples/voice/gladia-vad.py rename to examples/voice/voice-gladia-vad.py diff --git a/examples/voice/gladia.py b/examples/voice/voice-gladia.py similarity index 100% rename from examples/voice/gladia.py rename to examples/voice/voice-gladia.py diff --git a/examples/voice/google-audio-in.py b/examples/voice/voice-google-audio-in.py similarity index 100% rename from examples/voice/google-audio-in.py rename to examples/voice/voice-google-audio-in.py diff --git a/examples/voice/google-gemini-tts.py b/examples/voice/voice-google-gemini-tts.py similarity index 100% rename from examples/voice/google-gemini-tts.py rename to examples/voice/voice-google-gemini-tts.py diff --git a/examples/voice/google-http.py b/examples/voice/voice-google-http.py similarity index 100% rename from examples/voice/google-http.py rename to examples/voice/voice-google-http.py diff --git a/examples/voice/google-image.py b/examples/voice/voice-google-image.py similarity index 100% rename from examples/voice/google-image.py rename to examples/voice/voice-google-image.py diff --git a/examples/voice/google.py b/examples/voice/voice-google.py similarity index 100% rename from examples/voice/google.py rename to examples/voice/voice-google.py diff --git a/examples/voice/gradium.py b/examples/voice/voice-gradium.py similarity index 100% rename from examples/voice/gradium.py rename to examples/voice/voice-gradium.py diff --git a/examples/voice/groq.py b/examples/voice/voice-groq.py similarity index 100% rename from examples/voice/groq.py rename to examples/voice/voice-groq.py diff --git a/examples/voice/hume.py b/examples/voice/voice-hume.py similarity index 100% rename from examples/voice/hume.py rename to examples/voice/voice-hume.py diff --git a/examples/voice/inworld-http.py b/examples/voice/voice-inworld-http.py similarity index 100% rename from examples/voice/inworld-http.py rename to examples/voice/voice-inworld-http.py diff --git a/examples/voice/inworld.py b/examples/voice/voice-inworld.py similarity index 100% rename from examples/voice/inworld.py rename to examples/voice/voice-inworld.py diff --git a/examples/voice/kokoro.py b/examples/voice/voice-kokoro.py similarity index 100% rename from examples/voice/kokoro.py rename to examples/voice/voice-kokoro.py diff --git a/examples/voice/krisp-viva.py b/examples/voice/voice-krisp-viva.py similarity index 100% rename from examples/voice/krisp-viva.py rename to examples/voice/voice-krisp-viva.py diff --git a/examples/voice/langchain.py b/examples/voice/voice-langchain.py similarity index 100% rename from examples/voice/langchain.py rename to examples/voice/voice-langchain.py diff --git a/examples/voice/lmnt.py b/examples/voice/voice-lmnt.py similarity index 100% rename from examples/voice/lmnt.py rename to examples/voice/voice-lmnt.py diff --git a/examples/voice/minimax.py b/examples/voice/voice-minimax.py similarity index 100% rename from examples/voice/minimax.py rename to examples/voice/voice-minimax.py diff --git a/examples/voice/neuphonic-http.py b/examples/voice/voice-neuphonic-http.py similarity index 100% rename from examples/voice/neuphonic-http.py rename to examples/voice/voice-neuphonic-http.py diff --git a/examples/voice/neuphonic.py b/examples/voice/voice-neuphonic.py similarity index 100% rename from examples/voice/neuphonic.py rename to examples/voice/voice-neuphonic.py diff --git a/examples/voice/nvidia.py b/examples/voice/voice-nvidia.py similarity index 100% rename from examples/voice/nvidia.py rename to examples/voice/voice-nvidia.py diff --git a/examples/voice/openai-http.py b/examples/voice/voice-openai-http.py similarity index 100% rename from examples/voice/openai-http.py rename to examples/voice/voice-openai-http.py diff --git a/examples/voice/openai-responses-http.py b/examples/voice/voice-openai-responses-http.py similarity index 100% rename from examples/voice/openai-responses-http.py rename to examples/voice/voice-openai-responses-http.py diff --git a/examples/voice/openai-responses.py b/examples/voice/voice-openai-responses.py similarity index 100% rename from examples/voice/openai-responses.py rename to examples/voice/voice-openai-responses.py diff --git a/examples/voice/openai.py b/examples/voice/voice-openai.py similarity index 100% rename from examples/voice/openai.py rename to examples/voice/voice-openai.py diff --git a/examples/voice/piper.py b/examples/voice/voice-piper.py similarity index 100% rename from examples/voice/piper.py rename to examples/voice/voice-piper.py diff --git a/examples/voice/resemble.py b/examples/voice/voice-resemble.py similarity index 100% rename from examples/voice/resemble.py rename to examples/voice/voice-resemble.py diff --git a/examples/voice/rime-http.py b/examples/voice/voice-rime-http.py similarity index 100% rename from examples/voice/rime-http.py rename to examples/voice/voice-rime-http.py diff --git a/examples/voice/rime.py b/examples/voice/voice-rime.py similarity index 100% rename from examples/voice/rime.py rename to examples/voice/voice-rime.py diff --git a/examples/voice/sarvam-http.py b/examples/voice/voice-sarvam-http.py similarity index 100% rename from examples/voice/sarvam-http.py rename to examples/voice/voice-sarvam-http.py diff --git a/examples/voice/sarvam.py b/examples/voice/voice-sarvam.py similarity index 100% rename from examples/voice/sarvam.py rename to examples/voice/voice-sarvam.py diff --git a/examples/voice/smallest.py b/examples/voice/voice-smallest.py similarity index 100% rename from examples/voice/smallest.py rename to examples/voice/voice-smallest.py diff --git a/examples/voice/soniox.py b/examples/voice/voice-soniox.py similarity index 100% rename from examples/voice/soniox.py rename to examples/voice/voice-soniox.py diff --git a/examples/voice/speechmatics-vad.py b/examples/voice/voice-speechmatics-vad.py similarity index 100% rename from examples/voice/speechmatics-vad.py rename to examples/voice/voice-speechmatics-vad.py diff --git a/examples/voice/speechmatics.py b/examples/voice/voice-speechmatics.py similarity index 100% rename from examples/voice/speechmatics.py rename to examples/voice/voice-speechmatics.py diff --git a/examples/voice/xai.py b/examples/voice/voice-xai.py similarity index 100% rename from examples/voice/xai.py rename to examples/voice/voice-xai.py diff --git a/examples/voice/xtts.py b/examples/voice/voice-xtts.py similarity index 100% rename from examples/voice/xtts.py rename to examples/voice/voice-xtts.py