Two services were reading `_settings.model` (typed `str | _NotGiven | None` because NOT_GIVEN is the default) and coercing it with `or ""` or similar. `_NotGiven.__bool__` returns False, so the runtime behavior happened to work, but the type was a lie — pyright saw `str | _NotGiven` flowing into APIs that required `str` or `str | None`. - `AIService._sync_model_name_to_metrics`: use `isinstance(model, str)` narrowing with an empty-string fallback. Equivalent runtime behavior, honest type, no truthiness dependency on a sentinel. - `SarvamLLMService.__init__`: validate the model is a real string before handing it to `_validate_model(str)`. A non-string model at this point is a configuration bug; raise `ValueError` so the error is clear and survives `python -O` (unlike an assert).
134 lines
6.0 KiB
JSON
134 lines
6.0 KiB
JSON
{
|
|
"typeCheckingMode": "basic",
|
|
"pythonVersion": "3.11",
|
|
"pythonPlatform": "All",
|
|
"include": ["scripts", "src/pipecat"],
|
|
"exclude": ["**/*_pb2.py", "**/__pycache__"],
|
|
"ignore": [
|
|
"tests",
|
|
"src/pipecat/adapters/base_llm_adapter.py",
|
|
"src/pipecat/adapters/schemas/direct_function.py",
|
|
"src/pipecat/adapters/schemas/tools_schema.py",
|
|
"src/pipecat/adapters/services/anthropic_adapter.py",
|
|
"src/pipecat/adapters/services/aws_nova_sonic_adapter.py",
|
|
"src/pipecat/adapters/services/bedrock_adapter.py",
|
|
"src/pipecat/adapters/services/gemini_adapter.py",
|
|
"src/pipecat/adapters/services/grok_realtime_adapter.py",
|
|
"src/pipecat/adapters/services/inworld_realtime_adapter.py",
|
|
"src/pipecat/adapters/services/open_ai_adapter.py",
|
|
"src/pipecat/adapters/services/open_ai_realtime_adapter.py",
|
|
"src/pipecat/adapters/services/open_ai_responses_adapter.py",
|
|
"src/pipecat/adapters/services/perplexity_adapter.py",
|
|
"src/pipecat/audio/dtmf/utils.py",
|
|
"src/pipecat/audio/filters/aic_filter.py",
|
|
"src/pipecat/audio/filters/krisp_viva_filter.py",
|
|
"src/pipecat/audio/filters/rnnoise_filter.py",
|
|
"src/pipecat/audio/turn/smart_turn/local_smart_turn_v2.py",
|
|
"src/pipecat/audio/turn/smart_turn/local_smart_turn_v3.py",
|
|
"src/pipecat/audio/vad/silero.py",
|
|
"src/pipecat/processors/aggregators/llm_context.py",
|
|
"src/pipecat/processors/aggregators/llm_response_universal.py",
|
|
"src/pipecat/processors/frame_processor.py",
|
|
"src/pipecat/processors/frameworks/langchain.py",
|
|
"src/pipecat/processors/frameworks/rtvi/observer.py",
|
|
"src/pipecat/processors/frameworks/rtvi/processor.py",
|
|
"src/pipecat/processors/frameworks/strands_agents.py",
|
|
"src/pipecat/processors/gstreamer/pipeline_source.py",
|
|
"src/pipecat/services/anthropic/llm.py",
|
|
"src/pipecat/services/assemblyai/stt.py",
|
|
"src/pipecat/services/asyncai/tts.py",
|
|
"src/pipecat/services/aws/agent_core.py",
|
|
"src/pipecat/services/aws/llm.py",
|
|
"src/pipecat/services/aws/nova_sonic/llm.py",
|
|
"src/pipecat/services/aws/sagemaker/bidi_client.py",
|
|
"src/pipecat/services/aws/stt.py",
|
|
"src/pipecat/services/aws/tts.py",
|
|
"src/pipecat/services/aws/utils.py",
|
|
"src/pipecat/services/azure/stt.py",
|
|
"src/pipecat/services/azure/tts.py",
|
|
"src/pipecat/services/camb/tts.py",
|
|
"src/pipecat/services/cartesia/stt.py",
|
|
"src/pipecat/services/cartesia/tts.py",
|
|
"src/pipecat/services/deepgram/flux/base.py",
|
|
"src/pipecat/services/deepgram/flux/sagemaker/stt.py",
|
|
"src/pipecat/services/deepgram/flux/stt.py",
|
|
"src/pipecat/services/deepgram/sagemaker/stt.py",
|
|
"src/pipecat/services/deepgram/sagemaker/tts.py",
|
|
"src/pipecat/services/deepgram/tts.py",
|
|
"src/pipecat/services/elevenlabs/stt.py",
|
|
"src/pipecat/services/elevenlabs/tts.py",
|
|
"src/pipecat/services/fish/tts.py",
|
|
"src/pipecat/services/gladia/stt.py",
|
|
"src/pipecat/services/google/gemini_live/llm.py",
|
|
"src/pipecat/services/google/gemini_live/vertex/llm.py",
|
|
"src/pipecat/services/google/image.py",
|
|
"src/pipecat/services/google/llm.py",
|
|
"src/pipecat/services/google/stt.py",
|
|
"src/pipecat/services/google/tts.py",
|
|
"src/pipecat/services/google/vertex/llm.py",
|
|
"src/pipecat/services/gradium/stt.py",
|
|
"src/pipecat/services/groq/tts.py",
|
|
"src/pipecat/services/heygen/api_interactive_avatar.py",
|
|
"src/pipecat/services/heygen/base_api.py",
|
|
"src/pipecat/services/heygen/client.py",
|
|
"src/pipecat/services/heygen/video.py",
|
|
"src/pipecat/services/hume/tts.py",
|
|
"src/pipecat/services/inworld/realtime/llm.py",
|
|
"src/pipecat/services/inworld/tts.py",
|
|
"src/pipecat/services/kokoro/tts.py",
|
|
"src/pipecat/services/llm_service.py",
|
|
"src/pipecat/services/lmnt/tts.py",
|
|
"src/pipecat/services/mcp_service.py",
|
|
"src/pipecat/services/mem0/memory.py",
|
|
"src/pipecat/services/mistral/llm.py",
|
|
"src/pipecat/services/mistral/stt.py",
|
|
"src/pipecat/services/mistral/tts.py",
|
|
"src/pipecat/services/moondream/vision.py",
|
|
"src/pipecat/services/neuphonic/tts.py",
|
|
"src/pipecat/services/nvidia/stt.py",
|
|
"src/pipecat/services/nvidia/tts.py",
|
|
"src/pipecat/services/openai/base_llm.py",
|
|
"src/pipecat/services/openai/image.py",
|
|
"src/pipecat/services/openai/llm.py",
|
|
"src/pipecat/services/openai/realtime/llm.py",
|
|
"src/pipecat/services/openai/responses/llm.py",
|
|
"src/pipecat/services/openai/stt.py",
|
|
"src/pipecat/services/openai/tts.py",
|
|
"src/pipecat/services/openrouter/llm.py",
|
|
"src/pipecat/services/piper/tts.py",
|
|
"src/pipecat/services/resembleai/tts.py",
|
|
"src/pipecat/services/rime/tts.py",
|
|
"src/pipecat/services/sambanova/llm.py",
|
|
"src/pipecat/services/sarvam/stt.py",
|
|
"src/pipecat/services/sarvam/tts.py",
|
|
"src/pipecat/services/simli/video.py",
|
|
"src/pipecat/services/smallest/tts.py",
|
|
"src/pipecat/services/soniox/stt.py",
|
|
"src/pipecat/services/speechmatics/stt.py",
|
|
"src/pipecat/services/speechmatics/tts.py",
|
|
"src/pipecat/services/stt_service.py",
|
|
"src/pipecat/services/tavus/video.py",
|
|
"src/pipecat/services/tts_service.py",
|
|
"src/pipecat/services/ultravox/llm.py",
|
|
"src/pipecat/services/websocket_service.py",
|
|
"src/pipecat/services/whisper/stt.py",
|
|
"src/pipecat/services/xai/realtime/events.py",
|
|
"src/pipecat/services/xai/realtime/llm.py",
|
|
"src/pipecat/services/xtts/tts.py",
|
|
"src/pipecat/transports/base_output.py",
|
|
"src/pipecat/transports/daily/transport.py",
|
|
"src/pipecat/transports/heygen/transport.py",
|
|
"src/pipecat/transports/lemonslice/transport.py",
|
|
"src/pipecat/transports/livekit/transport.py",
|
|
"src/pipecat/transports/local/tk.py",
|
|
"src/pipecat/transports/smallwebrtc/connection.py",
|
|
"src/pipecat/transports/smallwebrtc/request_handler.py",
|
|
"src/pipecat/transports/smallwebrtc/transport.py",
|
|
"src/pipecat/transports/tavus/transport.py",
|
|
"src/pipecat/transports/websocket/client.py",
|
|
"src/pipecat/transports/websocket/server.py",
|
|
"src/pipecat/transports/whatsapp/client.py"
|
|
],
|
|
"reportMissingImports": false
|
|
}
|