LICENSE
MANIFEST.in
README.md
pyproject.toml
src/liveai/__init__.py
src/liveai/version.py
src/liveai.egg-info/PKG-INFO
src/liveai.egg-info/SOURCES.txt
src/liveai.egg-info/dependency_links.txt
src/liveai.egg-info/not-zip-safe
src/liveai.egg-info/requires.txt
src/liveai.egg-info/top_level.txt
src/liveai/agents/__init__.py
src/liveai/agents/_exceptions.py
src/liveai/agents/inference_runner.py
src/liveai/agents/job.py
src/liveai/agents/jupyter.py
src/liveai/agents/log.py
src/liveai/agents/plugin.py
src/liveai/agents/py.typed
src/liveai/agents/types.py
src/liveai/agents/vad.py
src/liveai/agents/version.py
src/liveai/agents/worker.py
src/liveai/agents/beta/__init__.py
src/liveai/agents/beta/workflows/__init__.py
src/liveai/agents/beta/workflows/email_address.py
src/liveai/agents/cli/__init__.py
src/liveai/agents/cli/_run.py
src/liveai/agents/cli/cli.py
src/liveai/agents/cli/log.py
src/liveai/agents/cli/proto.py
src/liveai/agents/cli/watcher.py
src/liveai/agents/inference/__init__.py
src/liveai/agents/inference/_utils.py
src/liveai/agents/inference/llm.py
src/liveai/agents/inference/stt.py
src/liveai/agents/inference/tts.py
src/liveai/agents/ipc/__init__.py
src/liveai/agents/ipc/channel.py
src/liveai/agents/ipc/inference_executor.py
src/liveai/agents/ipc/inference_proc_executor.py
src/liveai/agents/ipc/inference_proc_lazy_main.py
src/liveai/agents/ipc/job_executor.py
src/liveai/agents/ipc/job_proc_executor.py
src/liveai/agents/ipc/job_proc_lazy_main.py
src/liveai/agents/ipc/job_thread_executor.py
src/liveai/agents/ipc/log_queue.py
src/liveai/agents/ipc/mock_room.py
src/liveai/agents/ipc/proc_client.py
src/liveai/agents/ipc/proc_pool.py
src/liveai/agents/ipc/proto.py
src/liveai/agents/ipc/supervised_proc.py
src/liveai/agents/llm/__init__.py
src/liveai/agents/llm/_strict.py
src/liveai/agents/llm/chat_context.py
src/liveai/agents/llm/fallback_adapter.py
src/liveai/agents/llm/llm.py
src/liveai/agents/llm/mcp.py
src/liveai/agents/llm/realtime.py
src/liveai/agents/llm/remote_chat_context.py
src/liveai/agents/llm/tool_context.py
src/liveai/agents/llm/utils.py
src/liveai/agents/llm/_provider_format/__init__.py
src/liveai/agents/llm/_provider_format/anthropic.py
src/liveai/agents/llm/_provider_format/aws.py
src/liveai/agents/llm/_provider_format/google.py
src/liveai/agents/llm/_provider_format/mistralai.py
src/liveai/agents/llm/_provider_format/openai.py
src/liveai/agents/llm/_provider_format/utils.py
src/liveai/agents/metrics/__init__.py
src/liveai/agents/metrics/base.py
src/liveai/agents/metrics/usage_collector.py
src/liveai/agents/metrics/utils.py
src/liveai/agents/resources/__init__.py
src/liveai/agents/stt/__init__.py
src/liveai/agents/stt/fallback_adapter.py
src/liveai/agents/stt/multi_speaker_adapter.py
src/liveai/agents/stt/stream_adapter.py
src/liveai/agents/stt/stt.py
src/liveai/agents/telemetry/__init__.py
src/liveai/agents/telemetry/http_server.py
src/liveai/agents/telemetry/metrics.py
src/liveai/agents/telemetry/trace_types.py
src/liveai/agents/telemetry/traces.py
src/liveai/agents/telemetry/utils.py
src/liveai/agents/tokenize/__init__.py
src/liveai/agents/tokenize/_basic_hyphenator.py
src/liveai/agents/tokenize/_basic_paragraph.py
src/liveai/agents/tokenize/_basic_sent.py
src/liveai/agents/tokenize/_basic_word.py
src/liveai/agents/tokenize/basic.py
src/liveai/agents/tokenize/blingfire.py
src/liveai/agents/tokenize/token_stream.py
src/liveai/agents/tokenize/tokenizer.py
src/liveai/agents/tokenize/utils.py
src/liveai/agents/tts/__init__.py
src/liveai/agents/tts/fallback_adapter.py
src/liveai/agents/tts/stream_adapter.py
src/liveai/agents/tts/stream_pacer.py
src/liveai/agents/tts/tts.py
src/liveai/agents/utils/__init__.py
src/liveai/agents/utils/audio.py
src/liveai/agents/utils/bounded_dict.py
src/liveai/agents/utils/connection_pool.py
src/liveai/agents/utils/exp_filter.py
src/liveai/agents/utils/http_context.py
src/liveai/agents/utils/http_server.py
src/liveai/agents/utils/log.py
src/liveai/agents/utils/misc.py
src/liveai/agents/utils/moving_average.py
src/liveai/agents/utils/participant.py
src/liveai/agents/utils/aio/__init__.py
src/liveai/agents/utils/aio/channel.py
src/liveai/agents/utils/aio/debug.py
src/liveai/agents/utils/aio/duplex_unix.py
src/liveai/agents/utils/aio/interval.py
src/liveai/agents/utils/aio/itertools.py
src/liveai/agents/utils/aio/sleep.py
src/liveai/agents/utils/aio/task_set.py
src/liveai/agents/utils/aio/utils.py
src/liveai/agents/utils/aio/wait_group.py
src/liveai/agents/utils/codecs/__init__.py
src/liveai/agents/utils/codecs/decoder.py
src/liveai/agents/utils/hw/__init__.py
src/liveai/agents/utils/hw/cpu.py
src/liveai/agents/utils/images/__init__.py
src/liveai/agents/utils/images/image.py
src/liveai/agents/voice/__init__.py
src/liveai/agents/voice/agent.py
src/liveai/agents/voice/agent_activity.py
src/liveai/agents/voice/agent_session.py
src/liveai/agents/voice/audio_recognition.py
src/liveai/agents/voice/background_audio.py
src/liveai/agents/voice/chat_cli.py
src/liveai/agents/voice/events.py
src/liveai/agents/voice/generation.py
src/liveai/agents/voice/io.py
src/liveai/agents/voice/run_result.py
src/liveai/agents/voice/speech_handle.py
src/liveai/agents/voice/avatar/__init__.py
src/liveai/agents/voice/avatar/_datastream_io.py
src/liveai/agents/voice/avatar/_queue_io.py
src/liveai/agents/voice/avatar/_runner.py
src/liveai/agents/voice/avatar/_types.py
src/liveai/agents/voice/recorder_io/__init__.py
src/liveai/agents/voice/recorder_io/recorder_io.py
src/liveai/agents/voice/room_io/__init__.py
src/liveai/agents/voice/room_io/_input.py
src/liveai/agents/voice/room_io/_output.py
src/liveai/agents/voice/room_io/_pre_connect_audio.py
src/liveai/agents/voice/room_io/room_io.py
src/liveai/agents/voice/transcription/__init__.py
src/liveai/agents/voice/transcription/_speaking_rate.py
src/liveai/agents/voice/transcription/_utils.py
src/liveai/agents/voice/transcription/filters.py
src/liveai/agents/voice/transcription/synchronizer.py
src/liveai/api/__init__.py
src/liveai/api/_service.py
src/liveai/api/access_token.py
src/liveai/api/agent_dispatch_service.py
src/liveai/api/egress_service.py
src/liveai/api/ingress_service.py
src/liveai/api/liveai_api.py
src/liveai/api/py.typed
src/liveai/api/room_service.py
src/liveai/api/sip_service.py
src/liveai/api/twirp_client.py
src/liveai/api/version.py
src/liveai/api/webhook.py
src/liveai/blingfire/__init__.py
src/liveai/blingfire/py.typed
src/liveai/blingfire/version.py
src/liveai/plugins/openai/__init__.py
src/liveai/plugins/openai/embeddings.py
src/liveai/plugins/openai/llm.py
src/liveai/plugins/openai/log.py
src/liveai/plugins/openai/models.py
src/liveai/plugins/openai/py.typed
src/liveai/plugins/openai/stt.py
src/liveai/plugins/openai/tts.py
src/liveai/plugins/openai/utils.py
src/liveai/plugins/openai/version.py
src/liveai/plugins/openai/realtime/__init__.py
src/liveai/plugins/openai/realtime/realtime_model.py
src/liveai/plugins/openai/realtime/realtime_model_beta.py
src/liveai/plugins/openai/realtime/utils.py
src/liveai/protocol/__init__.py
src/liveai/protocol/agent.py
src/liveai/protocol/agent.pyi
src/liveai/protocol/agent_dispatch.py
src/liveai/protocol/agent_dispatch.pyi
src/liveai/protocol/analytics.py
src/liveai/protocol/analytics.pyi
src/liveai/protocol/egress.py
src/liveai/protocol/egress.pyi
src/liveai/protocol/ingress.py
src/liveai/protocol/ingress.pyi
src/liveai/protocol/metrics.py
src/liveai/protocol/metrics.pyi
src/liveai/protocol/models.py
src/liveai/protocol/models.pyi
src/liveai/protocol/py.typed
src/liveai/protocol/room.py
src/liveai/protocol/room.pyi
src/liveai/protocol/sip.py
src/liveai/protocol/sip.pyi
src/liveai/protocol/version.py
src/liveai/protocol/webhook.py
src/liveai/protocol/webhook.pyi
src/liveai/protocol/agent_pb/__init__.py
src/liveai/protocol/agent_pb/agent_session.py
src/liveai/protocol/agent_pb/agent_session.pyi
src/liveai/rtc/__init__.py
src/liveai/rtc/_ffi_client.py
src/liveai/rtc/_utils.py
src/liveai/rtc/apm.py
src/liveai/rtc/audio_filter.py
src/liveai/rtc/audio_frame.py
src/liveai/rtc/audio_mixer.py
src/liveai/rtc/audio_resampler.py
src/liveai/rtc/audio_source.py
src/liveai/rtc/audio_stream.py
src/liveai/rtc/data_stream.py
src/liveai/rtc/e2ee.py
src/liveai/rtc/event_emitter.py
src/liveai/rtc/jupyter.py
src/liveai/rtc/log.py
src/liveai/rtc/participant.py
src/liveai/rtc/py.typed
src/liveai/rtc/room.py
src/liveai/rtc/rpc.py
src/liveai/rtc/synchronizer.py
src/liveai/rtc/track.py
src/liveai/rtc/track_publication.py
src/liveai/rtc/transcription.py
src/liveai/rtc/utils.py
src/liveai/rtc/version.py
src/liveai/rtc/video_frame.py
src/liveai/rtc/video_source.py
src/liveai/rtc/video_stream.py
src/liveai/rtc/_proto/__init__.py
src/liveai/rtc/_proto/audio_frame_pb2.py
src/liveai/rtc/_proto/audio_frame_pb2.pyi
src/liveai/rtc/_proto/data_stream_pb2.py
src/liveai/rtc/_proto/data_stream_pb2.pyi
src/liveai/rtc/_proto/e2ee_pb2.py
src/liveai/rtc/_proto/e2ee_pb2.pyi
src/liveai/rtc/_proto/ffi_pb2.py
src/liveai/rtc/_proto/ffi_pb2.pyi
src/liveai/rtc/_proto/handle_pb2.py
src/liveai/rtc/_proto/handle_pb2.pyi
src/liveai/rtc/_proto/participant_pb2.py
src/liveai/rtc/_proto/participant_pb2.pyi
src/liveai/rtc/_proto/room_pb2.py
src/liveai/rtc/_proto/room_pb2.pyi
src/liveai/rtc/_proto/rpc_pb2.py
src/liveai/rtc/_proto/rpc_pb2.pyi
src/liveai/rtc/_proto/stats_pb2.py
src/liveai/rtc/_proto/stats_pb2.pyi
src/liveai/rtc/_proto/track_pb2.py
src/liveai/rtc/_proto/track_pb2.pyi
src/liveai/rtc/_proto/track_publication_pb2.py
src/liveai/rtc/_proto/track_publication_pb2.pyi
src/liveai/rtc/_proto/video_frame_pb2.py
src/liveai/rtc/_proto/video_frame_pb2.pyi
src/liveai/rtc/resources/LICENSE.md
src/liveai/rtc/resources/__init__.py
src/liveai/rtc/resources/libliveai_ffi.dylib
src/liveai/rtc/resources/liblivekit_ffi.dylib
src/liveai/rtc/resources/livekit_ffi.h
src/liveai/rtc/resources/__pycache__/__init__.cpython-312.pyc
src/liveai/rtc/resources/jupyter-html/index.html