@livekit/agents 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/audio.cjs +89 -3
- package/dist/audio.cjs.map +1 -1
- package/dist/audio.d.cts +36 -1
- package/dist/audio.d.ts +36 -1
- package/dist/audio.d.ts.map +1 -1
- package/dist/audio.js +76 -2
- package/dist/audio.js.map +1 -1
- package/dist/beta/index.cjs +29 -0
- package/dist/beta/index.cjs.map +1 -0
- package/dist/beta/index.d.cts +2 -0
- package/dist/beta/index.d.ts +2 -0
- package/dist/beta/index.d.ts.map +1 -0
- package/dist/beta/index.js +7 -0
- package/dist/beta/index.js.map +1 -0
- package/dist/beta/workflows/index.cjs +29 -0
- package/dist/beta/workflows/index.cjs.map +1 -0
- package/dist/beta/workflows/index.d.cts +2 -0
- package/dist/beta/workflows/index.d.ts +2 -0
- package/dist/beta/workflows/index.d.ts.map +1 -0
- package/dist/beta/workflows/index.js +7 -0
- package/dist/beta/workflows/index.js.map +1 -0
- package/dist/beta/workflows/task_group.cjs +162 -0
- package/dist/beta/workflows/task_group.cjs.map +1 -0
- package/dist/beta/workflows/task_group.d.cts +32 -0
- package/dist/beta/workflows/task_group.d.ts +32 -0
- package/dist/beta/workflows/task_group.d.ts.map +1 -0
- package/dist/beta/workflows/task_group.js +138 -0
- package/dist/beta/workflows/task_group.js.map +1 -0
- package/dist/cli.cjs +44 -46
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.d.cts +3 -3
- package/dist/cli.d.ts +3 -3
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +45 -47
- package/dist/cli.js.map +1 -1
- package/dist/connection_pool.cjs +242 -0
- package/dist/connection_pool.cjs.map +1 -0
- package/dist/connection_pool.d.cts +123 -0
- package/dist/connection_pool.d.ts +123 -0
- package/dist/connection_pool.d.ts.map +1 -0
- package/dist/connection_pool.js +218 -0
- package/dist/connection_pool.js.map +1 -0
- package/dist/connection_pool.test.cjs +256 -0
- package/dist/connection_pool.test.cjs.map +1 -0
- package/dist/connection_pool.test.js +255 -0
- package/dist/connection_pool.test.js.map +1 -0
- package/dist/constants.cjs +30 -0
- package/dist/constants.cjs.map +1 -1
- package/dist/constants.d.cts +10 -0
- package/dist/constants.d.ts +10 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +20 -0
- package/dist/constants.js.map +1 -1
- package/dist/cpu.cjs +189 -0
- package/dist/cpu.cjs.map +1 -0
- package/dist/cpu.d.cts +24 -0
- package/dist/cpu.d.ts +24 -0
- package/dist/cpu.d.ts.map +1 -0
- package/dist/cpu.js +152 -0
- package/dist/cpu.js.map +1 -0
- package/dist/cpu.test.cjs +227 -0
- package/dist/cpu.test.cjs.map +1 -0
- package/dist/cpu.test.js +204 -0
- package/dist/cpu.test.js.map +1 -0
- package/dist/http_server.cjs +9 -6
- package/dist/http_server.cjs.map +1 -1
- package/dist/http_server.d.cts +5 -1
- package/dist/http_server.d.ts +5 -1
- package/dist/http_server.d.ts.map +1 -1
- package/dist/http_server.js +9 -6
- package/dist/http_server.js.map +1 -1
- package/dist/index.cjs +24 -9
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +15 -11
- package/dist/index.d.ts +15 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -9
- package/dist/index.js.map +1 -1
- package/dist/inference/api_protos.cjs +70 -2
- package/dist/inference/api_protos.cjs.map +1 -1
- package/dist/inference/api_protos.d.cts +373 -32
- package/dist/inference/api_protos.d.ts +373 -32
- package/dist/inference/api_protos.d.ts.map +1 -1
- package/dist/inference/api_protos.js +62 -2
- package/dist/inference/api_protos.js.map +1 -1
- package/dist/inference/index.cjs +8 -0
- package/dist/inference/index.cjs.map +1 -1
- package/dist/inference/index.d.cts +3 -4
- package/dist/inference/index.d.ts +3 -4
- package/dist/inference/index.d.ts.map +1 -1
- package/dist/inference/index.js +18 -3
- package/dist/inference/index.js.map +1 -1
- package/dist/inference/interruption/defaults.cjs +81 -0
- package/dist/inference/interruption/defaults.cjs.map +1 -0
- package/dist/inference/interruption/defaults.d.cts +19 -0
- package/dist/inference/interruption/defaults.d.ts +19 -0
- package/dist/inference/interruption/defaults.d.ts.map +1 -0
- package/dist/inference/interruption/defaults.js +46 -0
- package/dist/inference/interruption/defaults.js.map +1 -0
- package/dist/inference/interruption/errors.cjs +44 -0
- package/dist/inference/interruption/errors.cjs.map +1 -0
- package/dist/inference/interruption/errors.d.cts +12 -0
- package/dist/inference/interruption/errors.d.ts +12 -0
- package/dist/inference/interruption/errors.d.ts.map +1 -0
- package/dist/inference/interruption/errors.js +20 -0
- package/dist/inference/interruption/errors.js.map +1 -0
- package/dist/inference/interruption/http_transport.cjs +163 -0
- package/dist/inference/interruption/http_transport.cjs.map +1 -0
- package/dist/inference/interruption/http_transport.d.cts +63 -0
- package/dist/inference/interruption/http_transport.d.ts +63 -0
- package/dist/inference/interruption/http_transport.d.ts.map +1 -0
- package/dist/inference/interruption/http_transport.js +137 -0
- package/dist/inference/interruption/http_transport.js.map +1 -0
- package/dist/inference/interruption/interruption_cache_entry.cjs +58 -0
- package/dist/inference/interruption/interruption_cache_entry.cjs.map +1 -0
- package/dist/inference/interruption/interruption_cache_entry.d.cts +30 -0
- package/dist/inference/interruption/interruption_cache_entry.d.ts +30 -0
- package/dist/inference/interruption/interruption_cache_entry.d.ts.map +1 -0
- package/dist/inference/interruption/interruption_cache_entry.js +34 -0
- package/dist/inference/interruption/interruption_cache_entry.js.map +1 -0
- package/dist/inference/interruption/interruption_detector.cjs +198 -0
- package/dist/inference/interruption/interruption_detector.cjs.map +1 -0
- package/dist/inference/interruption/interruption_detector.d.cts +59 -0
- package/dist/inference/interruption/interruption_detector.d.ts +59 -0
- package/dist/inference/interruption/interruption_detector.d.ts.map +1 -0
- package/dist/inference/interruption/interruption_detector.js +164 -0
- package/dist/inference/interruption/interruption_detector.js.map +1 -0
- package/dist/inference/interruption/interruption_stream.cjs +368 -0
- package/dist/inference/interruption/interruption_stream.cjs.map +1 -0
- package/dist/inference/interruption/interruption_stream.d.cts +46 -0
- package/dist/inference/interruption/interruption_stream.d.ts +46 -0
- package/dist/inference/interruption/interruption_stream.d.ts.map +1 -0
- package/dist/inference/interruption/interruption_stream.js +344 -0
- package/dist/inference/interruption/interruption_stream.js.map +1 -0
- package/dist/inference/interruption/types.cjs +17 -0
- package/dist/inference/interruption/types.cjs.map +1 -0
- package/dist/inference/interruption/types.d.cts +66 -0
- package/dist/inference/interruption/types.d.ts +66 -0
- package/dist/inference/interruption/types.d.ts.map +1 -0
- package/dist/inference/interruption/types.js +1 -0
- package/dist/inference/interruption/types.js.map +1 -0
- package/dist/inference/interruption/utils.cjs +130 -0
- package/dist/inference/interruption/utils.cjs.map +1 -0
- package/dist/inference/interruption/utils.d.cts +41 -0
- package/dist/inference/interruption/utils.d.ts +41 -0
- package/dist/inference/interruption/utils.d.ts.map +1 -0
- package/dist/inference/interruption/utils.js +105 -0
- package/dist/inference/interruption/utils.js.map +1 -0
- package/dist/inference/interruption/utils.test.cjs +105 -0
- package/dist/inference/interruption/utils.test.cjs.map +1 -0
- package/dist/inference/interruption/utils.test.js +104 -0
- package/dist/inference/interruption/utils.test.js.map +1 -0
- package/dist/inference/interruption/ws_transport.cjs +342 -0
- package/dist/inference/interruption/ws_transport.cjs.map +1 -0
- package/dist/inference/interruption/ws_transport.d.cts +33 -0
- package/dist/inference/interruption/ws_transport.d.ts +33 -0
- package/dist/inference/interruption/ws_transport.d.ts.map +1 -0
- package/dist/inference/interruption/ws_transport.js +308 -0
- package/dist/inference/interruption/ws_transport.js.map +1 -0
- package/dist/inference/llm.cjs +106 -66
- package/dist/inference/llm.cjs.map +1 -1
- package/dist/inference/llm.d.cts +65 -43
- package/dist/inference/llm.d.ts +65 -43
- package/dist/inference/llm.d.ts.map +1 -1
- package/dist/inference/llm.js +100 -66
- package/dist/inference/llm.js.map +1 -1
- package/dist/inference/stt.cjs +319 -170
- package/dist/inference/stt.cjs.map +1 -1
- package/dist/inference/stt.d.cts +64 -15
- package/dist/inference/stt.d.ts +64 -15
- package/dist/inference/stt.d.ts.map +1 -1
- package/dist/inference/stt.js +319 -170
- package/dist/inference/stt.js.map +1 -1
- package/dist/inference/stt.test.cjs +218 -0
- package/dist/inference/stt.test.cjs.map +1 -0
- package/dist/inference/stt.test.js +217 -0
- package/dist/inference/stt.test.js.map +1 -0
- package/dist/inference/tts.cjs +249 -71
- package/dist/inference/tts.cjs.map +1 -1
- package/dist/inference/tts.d.cts +55 -16
- package/dist/inference/tts.d.ts +55 -16
- package/dist/inference/tts.d.ts.map +1 -1
- package/dist/inference/tts.js +249 -77
- package/dist/inference/tts.js.map +1 -1
- package/dist/inference/tts.test.cjs +233 -0
- package/dist/inference/tts.test.cjs.map +1 -0
- package/dist/inference/tts.test.js +232 -0
- package/dist/inference/tts.test.js.map +1 -0
- package/dist/inference/utils.cjs +26 -7
- package/dist/inference/utils.cjs.map +1 -1
- package/dist/inference/utils.d.cts +14 -1
- package/dist/inference/utils.d.ts +14 -1
- package/dist/inference/utils.d.ts.map +1 -1
- package/dist/inference/utils.js +18 -2
- package/dist/inference/utils.js.map +1 -1
- package/dist/ipc/inference_proc_executor.cjs +6 -3
- package/dist/ipc/inference_proc_executor.cjs.map +1 -1
- package/dist/ipc/inference_proc_executor.d.ts.map +1 -1
- package/dist/ipc/inference_proc_executor.js +6 -3
- package/dist/ipc/inference_proc_executor.js.map +1 -1
- package/dist/ipc/inference_proc_lazy_main.cjs +13 -1
- package/dist/ipc/inference_proc_lazy_main.cjs.map +1 -1
- package/dist/ipc/inference_proc_lazy_main.js +13 -1
- package/dist/ipc/inference_proc_lazy_main.js.map +1 -1
- package/dist/ipc/job_proc_executor.cjs +6 -1
- package/dist/ipc/job_proc_executor.cjs.map +1 -1
- package/dist/ipc/job_proc_executor.d.ts.map +1 -1
- package/dist/ipc/job_proc_executor.js +6 -1
- package/dist/ipc/job_proc_executor.js.map +1 -1
- package/dist/ipc/job_proc_lazy_main.cjs +89 -17
- package/dist/ipc/job_proc_lazy_main.cjs.map +1 -1
- package/dist/ipc/job_proc_lazy_main.js +68 -18
- package/dist/ipc/job_proc_lazy_main.js.map +1 -1
- package/dist/ipc/supervised_proc.cjs +34 -8
- package/dist/ipc/supervised_proc.cjs.map +1 -1
- package/dist/ipc/supervised_proc.d.cts +8 -0
- package/dist/ipc/supervised_proc.d.ts +8 -0
- package/dist/ipc/supervised_proc.d.ts.map +1 -1
- package/dist/ipc/supervised_proc.js +34 -8
- package/dist/ipc/supervised_proc.js.map +1 -1
- package/dist/ipc/supervised_proc.test.cjs +145 -0
- package/dist/ipc/supervised_proc.test.cjs.map +1 -0
- package/dist/ipc/supervised_proc.test.js +122 -0
- package/dist/ipc/supervised_proc.test.js.map +1 -0
- package/dist/job.cjs +109 -1
- package/dist/job.cjs.map +1 -1
- package/dist/job.d.cts +14 -0
- package/dist/job.d.ts +14 -0
- package/dist/job.d.ts.map +1 -1
- package/dist/job.js +99 -1
- package/dist/job.js.map +1 -1
- package/dist/language.cjs +394 -0
- package/dist/language.cjs.map +1 -0
- package/dist/language.d.cts +15 -0
- package/dist/language.d.ts +15 -0
- package/dist/language.d.ts.map +1 -0
- package/dist/language.js +363 -0
- package/dist/language.js.map +1 -0
- package/dist/language.test.cjs +43 -0
- package/dist/language.test.cjs.map +1 -0
- package/dist/language.test.js +49 -0
- package/dist/language.test.js.map +1 -0
- package/dist/llm/chat_context.cjs +274 -3
- package/dist/llm/chat_context.cjs.map +1 -1
- package/dist/llm/chat_context.d.cts +86 -2
- package/dist/llm/chat_context.d.ts +86 -2
- package/dist/llm/chat_context.d.ts.map +1 -1
- package/dist/llm/chat_context.js +273 -3
- package/dist/llm/chat_context.js.map +1 -1
- package/dist/llm/chat_context.test.cjs +574 -0
- package/dist/llm/chat_context.test.cjs.map +1 -1
- package/dist/llm/chat_context.test.js +574 -0
- package/dist/llm/chat_context.test.js.map +1 -1
- package/dist/llm/fallback_adapter.cjs +278 -0
- package/dist/llm/fallback_adapter.cjs.map +1 -0
- package/dist/llm/fallback_adapter.d.cts +73 -0
- package/dist/llm/fallback_adapter.d.ts +73 -0
- package/dist/llm/fallback_adapter.d.ts.map +1 -0
- package/dist/llm/fallback_adapter.js +254 -0
- package/dist/llm/fallback_adapter.js.map +1 -0
- package/dist/llm/fallback_adapter.test.cjs +176 -0
- package/dist/llm/fallback_adapter.test.cjs.map +1 -0
- package/dist/llm/fallback_adapter.test.js +175 -0
- package/dist/llm/fallback_adapter.test.js.map +1 -0
- package/dist/llm/index.cjs +9 -0
- package/dist/llm/index.cjs.map +1 -1
- package/dist/llm/index.d.cts +4 -3
- package/dist/llm/index.d.ts +4 -3
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +11 -1
- package/dist/llm/index.js.map +1 -1
- package/dist/llm/llm.cjs +65 -11
- package/dist/llm/llm.cjs.map +1 -1
- package/dist/llm/llm.d.cts +13 -2
- package/dist/llm/llm.d.ts +13 -2
- package/dist/llm/llm.d.ts.map +1 -1
- package/dist/llm/llm.js +65 -11
- package/dist/llm/llm.js.map +1 -1
- package/dist/llm/provider_format/google.cjs +6 -2
- package/dist/llm/provider_format/google.cjs.map +1 -1
- package/dist/llm/provider_format/google.d.cts +1 -1
- package/dist/llm/provider_format/google.d.ts +1 -1
- package/dist/llm/provider_format/google.d.ts.map +1 -1
- package/dist/llm/provider_format/google.js +6 -2
- package/dist/llm/provider_format/google.js.map +1 -1
- package/dist/llm/provider_format/google.test.cjs +48 -0
- package/dist/llm/provider_format/google.test.cjs.map +1 -1
- package/dist/llm/provider_format/google.test.js +54 -1
- package/dist/llm/provider_format/google.test.js.map +1 -1
- package/dist/llm/provider_format/index.cjs +2 -0
- package/dist/llm/provider_format/index.cjs.map +1 -1
- package/dist/llm/provider_format/index.d.cts +2 -2
- package/dist/llm/provider_format/index.d.ts +2 -2
- package/dist/llm/provider_format/index.d.ts.map +1 -1
- package/dist/llm/provider_format/index.js +6 -1
- package/dist/llm/provider_format/index.js.map +1 -1
- package/dist/llm/provider_format/openai.cjs +126 -24
- package/dist/llm/provider_format/openai.cjs.map +1 -1
- package/dist/llm/provider_format/openai.d.cts +1 -0
- package/dist/llm/provider_format/openai.d.ts +1 -0
- package/dist/llm/provider_format/openai.d.ts.map +1 -1
- package/dist/llm/provider_format/openai.js +124 -23
- package/dist/llm/provider_format/openai.js.map +1 -1
- package/dist/llm/provider_format/openai.test.cjs +393 -0
- package/dist/llm/provider_format/openai.test.cjs.map +1 -1
- package/dist/llm/provider_format/openai.test.js +400 -2
- package/dist/llm/provider_format/openai.test.js.map +1 -1
- package/dist/llm/provider_format/utils.cjs +5 -4
- package/dist/llm/provider_format/utils.cjs.map +1 -1
- package/dist/llm/provider_format/utils.d.ts.map +1 -1
- package/dist/llm/provider_format/utils.js +5 -4
- package/dist/llm/provider_format/utils.js.map +1 -1
- package/dist/llm/realtime.cjs +3 -0
- package/dist/llm/realtime.cjs.map +1 -1
- package/dist/llm/realtime.d.cts +15 -1
- package/dist/llm/realtime.d.ts +15 -1
- package/dist/llm/realtime.d.ts.map +1 -1
- package/dist/llm/realtime.js +3 -0
- package/dist/llm/realtime.js.map +1 -1
- package/dist/llm/remote_chat_context.cjs.map +1 -1
- package/dist/llm/remote_chat_context.d.cts +2 -0
- package/dist/llm/remote_chat_context.d.ts +2 -0
- package/dist/llm/remote_chat_context.d.ts.map +1 -1
- package/dist/llm/remote_chat_context.js.map +1 -1
- package/dist/llm/tool_context.cjs +50 -2
- package/dist/llm/tool_context.cjs.map +1 -1
- package/dist/llm/tool_context.d.cts +47 -11
- package/dist/llm/tool_context.d.ts +47 -11
- package/dist/llm/tool_context.d.ts.map +1 -1
- package/dist/llm/tool_context.js +48 -3
- package/dist/llm/tool_context.js.map +1 -1
- package/dist/llm/tool_context.test.cjs +197 -0
- package/dist/llm/tool_context.test.cjs.map +1 -1
- package/dist/llm/tool_context.test.js +175 -0
- package/dist/llm/tool_context.test.js.map +1 -1
- package/dist/llm/utils.cjs +18 -12
- package/dist/llm/utils.cjs.map +1 -1
- package/dist/llm/utils.d.cts +2 -3
- package/dist/llm/utils.d.ts +2 -3
- package/dist/llm/utils.d.ts.map +1 -1
- package/dist/llm/utils.js +18 -12
- package/dist/llm/utils.js.map +1 -1
- package/dist/llm/zod-utils.cjs +102 -0
- package/dist/llm/zod-utils.cjs.map +1 -0
- package/dist/llm/zod-utils.d.cts +65 -0
- package/dist/llm/zod-utils.d.ts +65 -0
- package/dist/llm/zod-utils.d.ts.map +1 -0
- package/dist/llm/zod-utils.js +64 -0
- package/dist/llm/zod-utils.js.map +1 -0
- package/dist/llm/zod-utils.test.cjs +472 -0
- package/dist/llm/zod-utils.test.cjs.map +1 -0
- package/dist/llm/zod-utils.test.js +455 -0
- package/dist/llm/zod-utils.test.js.map +1 -0
- package/dist/log.cjs +45 -14
- package/dist/log.cjs.map +1 -1
- package/dist/log.d.cts +8 -1
- package/dist/log.d.ts +8 -1
- package/dist/log.d.ts.map +1 -1
- package/dist/log.js +45 -15
- package/dist/log.js.map +1 -1
- package/dist/metrics/base.cjs.map +1 -1
- package/dist/metrics/base.d.cts +75 -19
- package/dist/metrics/base.d.ts +75 -19
- package/dist/metrics/base.d.ts.map +1 -1
- package/dist/metrics/index.cjs +5 -0
- package/dist/metrics/index.cjs.map +1 -1
- package/dist/metrics/index.d.cts +2 -1
- package/dist/metrics/index.d.ts +2 -1
- package/dist/metrics/index.d.ts.map +1 -1
- package/dist/metrics/index.js +6 -0
- package/dist/metrics/index.js.map +1 -1
- package/dist/metrics/model_usage.cjs +189 -0
- package/dist/metrics/model_usage.cjs.map +1 -0
- package/dist/metrics/model_usage.d.cts +92 -0
- package/dist/metrics/model_usage.d.ts +92 -0
- package/dist/metrics/model_usage.d.ts.map +1 -0
- package/dist/metrics/model_usage.js +164 -0
- package/dist/metrics/model_usage.js.map +1 -0
- package/dist/metrics/model_usage.test.cjs +474 -0
- package/dist/metrics/model_usage.test.cjs.map +1 -0
- package/dist/metrics/model_usage.test.js +476 -0
- package/dist/metrics/model_usage.test.js.map +1 -0
- package/dist/metrics/usage_collector.cjs +5 -2
- package/dist/metrics/usage_collector.cjs.map +1 -1
- package/dist/metrics/usage_collector.d.cts +10 -1
- package/dist/metrics/usage_collector.d.ts +10 -1
- package/dist/metrics/usage_collector.d.ts.map +1 -1
- package/dist/metrics/usage_collector.js +5 -2
- package/dist/metrics/usage_collector.js.map +1 -1
- package/dist/metrics/utils.cjs +23 -7
- package/dist/metrics/utils.cjs.map +1 -1
- package/dist/metrics/utils.d.ts.map +1 -1
- package/dist/metrics/utils.js +23 -7
- package/dist/metrics/utils.js.map +1 -1
- package/dist/stream/deferred_stream.cjs +31 -10
- package/dist/stream/deferred_stream.cjs.map +1 -1
- package/dist/stream/deferred_stream.d.cts +6 -1
- package/dist/stream/deferred_stream.d.ts +6 -1
- package/dist/stream/deferred_stream.d.ts.map +1 -1
- package/dist/stream/deferred_stream.js +31 -10
- package/dist/stream/deferred_stream.js.map +1 -1
- package/dist/stream/deferred_stream.test.cjs +2 -2
- package/dist/stream/deferred_stream.test.cjs.map +1 -1
- package/dist/stream/deferred_stream.test.js +2 -2
- package/dist/stream/deferred_stream.test.js.map +1 -1
- package/dist/stream/index.cjs +3 -0
- package/dist/stream/index.cjs.map +1 -1
- package/dist/stream/index.d.cts +1 -0
- package/dist/stream/index.d.ts +1 -0
- package/dist/stream/index.d.ts.map +1 -1
- package/dist/stream/index.js +2 -0
- package/dist/stream/index.js.map +1 -1
- package/dist/stream/multi_input_stream.cjs +139 -0
- package/dist/stream/multi_input_stream.cjs.map +1 -0
- package/dist/stream/multi_input_stream.d.cts +55 -0
- package/dist/stream/multi_input_stream.d.ts +55 -0
- package/dist/stream/multi_input_stream.d.ts.map +1 -0
- package/dist/stream/multi_input_stream.js +115 -0
- package/dist/stream/multi_input_stream.js.map +1 -0
- package/dist/stream/multi_input_stream.test.cjs +344 -0
- package/dist/stream/multi_input_stream.test.cjs.map +1 -0
- package/dist/stream/multi_input_stream.test.js +343 -0
- package/dist/stream/multi_input_stream.test.js.map +1 -0
- package/dist/stream/stream_channel.cjs +39 -1
- package/dist/stream/stream_channel.cjs.map +1 -1
- package/dist/stream/stream_channel.d.cts +5 -2
- package/dist/stream/stream_channel.d.ts +5 -2
- package/dist/stream/stream_channel.d.ts.map +1 -1
- package/dist/stream/stream_channel.js +39 -1
- package/dist/stream/stream_channel.js.map +1 -1
- package/dist/stream/stream_channel.test.cjs +27 -0
- package/dist/stream/stream_channel.test.cjs.map +1 -1
- package/dist/stream/stream_channel.test.js +27 -0
- package/dist/stream/stream_channel.test.js.map +1 -1
- package/dist/stt/stream_adapter.cjs +24 -9
- package/dist/stt/stream_adapter.cjs.map +1 -1
- package/dist/stt/stream_adapter.d.cts +7 -3
- package/dist/stt/stream_adapter.d.ts +7 -3
- package/dist/stt/stream_adapter.d.ts.map +1 -1
- package/dist/stt/stream_adapter.js +24 -9
- package/dist/stt/stream_adapter.js.map +1 -1
- package/dist/stt/stt.cjs +86 -19
- package/dist/stt/stt.cjs.map +1 -1
- package/dist/stt/stt.d.cts +60 -5
- package/dist/stt/stt.d.ts +60 -5
- package/dist/stt/stt.d.ts.map +1 -1
- package/dist/stt/stt.js +88 -21
- package/dist/stt/stt.js.map +1 -1
- package/dist/telemetry/index.cjs +72 -0
- package/dist/telemetry/index.cjs.map +1 -0
- package/dist/telemetry/index.d.cts +7 -0
- package/dist/telemetry/index.d.ts +7 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +37 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/telemetry/logging.cjs +65 -0
- package/dist/telemetry/logging.cjs.map +1 -0
- package/dist/telemetry/logging.d.cts +21 -0
- package/dist/telemetry/logging.d.ts +21 -0
- package/dist/telemetry/logging.d.ts.map +1 -0
- package/dist/telemetry/logging.js +40 -0
- package/dist/telemetry/logging.js.map +1 -0
- package/dist/telemetry/otel_http_exporter.cjs +166 -0
- package/dist/telemetry/otel_http_exporter.cjs.map +1 -0
- package/dist/telemetry/otel_http_exporter.d.cts +63 -0
- package/dist/telemetry/otel_http_exporter.d.ts +63 -0
- package/dist/telemetry/otel_http_exporter.d.ts.map +1 -0
- package/dist/telemetry/otel_http_exporter.js +142 -0
- package/dist/telemetry/otel_http_exporter.js.map +1 -0
- package/dist/telemetry/pino_otel_transport.cjs +217 -0
- package/dist/telemetry/pino_otel_transport.cjs.map +1 -0
- package/dist/telemetry/pino_otel_transport.d.cts +58 -0
- package/dist/telemetry/pino_otel_transport.d.ts +58 -0
- package/dist/telemetry/pino_otel_transport.d.ts.map +1 -0
- package/dist/telemetry/pino_otel_transport.js +189 -0
- package/dist/telemetry/pino_otel_transport.js.map +1 -0
- package/dist/telemetry/trace_types.cjs +233 -0
- package/dist/telemetry/trace_types.cjs.map +1 -0
- package/dist/telemetry/trace_types.d.cts +74 -0
- package/dist/telemetry/trace_types.d.ts +74 -0
- package/dist/telemetry/trace_types.d.ts.map +1 -0
- package/dist/telemetry/trace_types.js +141 -0
- package/dist/telemetry/trace_types.js.map +1 -0
- package/dist/telemetry/traces.cjs +484 -0
- package/dist/telemetry/traces.cjs.map +1 -0
- package/dist/telemetry/traces.d.cts +116 -0
- package/dist/telemetry/traces.d.ts +116 -0
- package/dist/telemetry/traces.d.ts.map +1 -0
- package/dist/telemetry/traces.js +449 -0
- package/dist/telemetry/traces.js.map +1 -0
- package/dist/telemetry/utils.cjs +86 -0
- package/dist/telemetry/utils.cjs.map +1 -0
- package/dist/telemetry/utils.d.cts +5 -0
- package/dist/telemetry/utils.d.ts +5 -0
- package/dist/telemetry/utils.d.ts.map +1 -0
- package/dist/telemetry/utils.js +51 -0
- package/dist/telemetry/utils.js.map +1 -0
- package/dist/tokenize/basic/sentence.cjs +3 -3
- package/dist/tokenize/basic/sentence.cjs.map +1 -1
- package/dist/tokenize/basic/sentence.js +3 -3
- package/dist/tokenize/basic/sentence.js.map +1 -1
- package/dist/tokenize/tokenizer.test.cjs +3 -1
- package/dist/tokenize/tokenizer.test.cjs.map +1 -1
- package/dist/tokenize/tokenizer.test.js +3 -1
- package/dist/tokenize/tokenizer.test.js.map +1 -1
- package/dist/transcription.cjs.map +1 -1
- package/dist/transcription.d.cts +6 -0
- package/dist/transcription.d.ts +6 -0
- package/dist/transcription.d.ts.map +1 -1
- package/dist/transcription.js.map +1 -1
- package/dist/tts/fallback_adapter.cjs +466 -0
- package/dist/tts/fallback_adapter.cjs.map +1 -0
- package/dist/tts/fallback_adapter.d.cts +110 -0
- package/dist/tts/fallback_adapter.d.ts +110 -0
- package/dist/tts/fallback_adapter.d.ts.map +1 -0
- package/dist/tts/fallback_adapter.js +442 -0
- package/dist/tts/fallback_adapter.js.map +1 -0
- package/dist/tts/index.cjs +3 -0
- package/dist/tts/index.cjs.map +1 -1
- package/dist/tts/index.d.cts +1 -0
- package/dist/tts/index.d.ts +1 -0
- package/dist/tts/index.d.ts.map +1 -1
- package/dist/tts/index.js +2 -0
- package/dist/tts/index.js.map +1 -1
- package/dist/tts/stream_adapter.cjs +25 -8
- package/dist/tts/stream_adapter.cjs.map +1 -1
- package/dist/tts/stream_adapter.d.cts +6 -3
- package/dist/tts/stream_adapter.d.ts +6 -3
- package/dist/tts/stream_adapter.d.ts.map +1 -1
- package/dist/tts/stream_adapter.js +25 -8
- package/dist/tts/stream_adapter.js.map +1 -1
- package/dist/tts/tts.cjs +189 -57
- package/dist/tts/tts.cjs.map +1 -1
- package/dist/tts/tts.d.cts +58 -6
- package/dist/tts/tts.d.ts +58 -6
- package/dist/tts/tts.d.ts.map +1 -1
- package/dist/tts/tts.js +191 -59
- package/dist/tts/tts.js.map +1 -1
- package/dist/types.cjs +24 -32
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +45 -10
- package/dist/types.d.ts +45 -10
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +20 -30
- package/dist/types.js.map +1 -1
- package/dist/utils.cjs +122 -26
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +41 -1
- package/dist/utils.d.ts +41 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +117 -25
- package/dist/utils.js.map +1 -1
- package/dist/utils.test.cjs +73 -1
- package/dist/utils.test.cjs.map +1 -1
- package/dist/utils.test.js +74 -10
- package/dist/utils.test.js.map +1 -1
- package/dist/vad.cjs +35 -15
- package/dist/vad.cjs.map +1 -1
- package/dist/vad.d.cts +15 -5
- package/dist/vad.d.ts +15 -5
- package/dist/vad.d.ts.map +1 -1
- package/dist/vad.js +35 -15
- package/dist/vad.js.map +1 -1
- package/dist/version.cjs +1 -1
- package/dist/version.cjs.map +1 -1
- package/dist/version.d.cts +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/dist/voice/agent.cjs +258 -35
- package/dist/voice/agent.cjs.map +1 -1
- package/dist/voice/agent.d.cts +54 -13
- package/dist/voice/agent.d.ts +54 -13
- package/dist/voice/agent.d.ts.map +1 -1
- package/dist/voice/agent.js +254 -34
- package/dist/voice/agent.js.map +1 -1
- package/dist/voice/agent.test.cjs +314 -0
- package/dist/voice/agent.test.cjs.map +1 -1
- package/dist/voice/agent.test.js +316 -2
- package/dist/voice/agent.test.js.map +1 -1
- package/dist/voice/agent_activity.cjs +1116 -385
- package/dist/voice/agent_activity.cjs.map +1 -1
- package/dist/voice/agent_activity.d.cts +72 -11
- package/dist/voice/agent_activity.d.ts +72 -11
- package/dist/voice/agent_activity.d.ts.map +1 -1
- package/dist/voice/agent_activity.js +1119 -383
- package/dist/voice/agent_activity.js.map +1 -1
- package/dist/voice/agent_activity.test.cjs +135 -0
- package/dist/voice/agent_activity.test.cjs.map +1 -0
- package/dist/voice/agent_activity.test.js +134 -0
- package/dist/voice/agent_activity.test.js.map +1 -0
- package/dist/voice/agent_session.cjs +550 -90
- package/dist/voice/agent_session.cjs.map +1 -1
- package/dist/voice/agent_session.d.cts +185 -25
- package/dist/voice/agent_session.d.ts +185 -25
- package/dist/voice/agent_session.d.ts.map +1 -1
- package/dist/voice/agent_session.js +556 -91
- package/dist/voice/agent_session.js.map +1 -1
- package/dist/voice/audio_recognition.cjs +605 -46
- package/dist/voice/audio_recognition.cjs.map +1 -1
- package/dist/voice/audio_recognition.d.cts +96 -4
- package/dist/voice/audio_recognition.d.ts +96 -4
- package/dist/voice/audio_recognition.d.ts.map +1 -1
- package/dist/voice/audio_recognition.js +611 -47
- package/dist/voice/audio_recognition.js.map +1 -1
- package/dist/voice/audio_recognition_span.test.cjs +295 -0
- package/dist/voice/audio_recognition_span.test.cjs.map +1 -0
- package/dist/voice/audio_recognition_span.test.js +299 -0
- package/dist/voice/audio_recognition_span.test.js.map +1 -0
- package/dist/voice/avatar/datastream_io.cjs +7 -1
- package/dist/voice/avatar/datastream_io.cjs.map +1 -1
- package/dist/voice/avatar/datastream_io.d.cts +1 -0
- package/dist/voice/avatar/datastream_io.d.ts +1 -0
- package/dist/voice/avatar/datastream_io.d.ts.map +1 -1
- package/dist/voice/avatar/datastream_io.js +7 -1
- package/dist/voice/avatar/datastream_io.js.map +1 -1
- package/dist/voice/background_audio.cjs +367 -0
- package/dist/voice/background_audio.cjs.map +1 -0
- package/dist/voice/background_audio.d.cts +123 -0
- package/dist/voice/background_audio.d.ts +123 -0
- package/dist/voice/background_audio.d.ts.map +1 -0
- package/dist/voice/background_audio.js +343 -0
- package/dist/voice/background_audio.js.map +1 -0
- package/dist/voice/events.cjs +3 -0
- package/dist/voice/events.cjs.map +1 -1
- package/dist/voice/events.d.cts +16 -9
- package/dist/voice/events.d.ts +16 -9
- package/dist/voice/events.d.ts.map +1 -1
- package/dist/voice/events.js +3 -0
- package/dist/voice/events.js.map +1 -1
- package/dist/voice/generation.cjs +205 -41
- package/dist/voice/generation.cjs.map +1 -1
- package/dist/voice/generation.d.cts +21 -5
- package/dist/voice/generation.d.ts +21 -5
- package/dist/voice/generation.d.ts.map +1 -1
- package/dist/voice/generation.js +215 -43
- package/dist/voice/generation.js.map +1 -1
- package/dist/voice/generation_tools.test.cjs +236 -0
- package/dist/voice/generation_tools.test.cjs.map +1 -0
- package/dist/voice/generation_tools.test.js +235 -0
- package/dist/voice/generation_tools.test.js.map +1 -0
- package/dist/voice/index.cjs +33 -2
- package/dist/voice/index.cjs.map +1 -1
- package/dist/voice/index.d.cts +8 -2
- package/dist/voice/index.d.ts +8 -2
- package/dist/voice/index.d.ts.map +1 -1
- package/dist/voice/index.js +19 -2
- package/dist/voice/index.js.map +1 -1
- package/dist/voice/interruption_detection.test.cjs +114 -0
- package/dist/voice/interruption_detection.test.cjs.map +1 -0
- package/dist/voice/interruption_detection.test.js +113 -0
- package/dist/voice/interruption_detection.test.js.map +1 -0
- package/dist/voice/io.cjs +66 -6
- package/dist/voice/io.cjs.map +1 -1
- package/dist/voice/io.d.cts +67 -7
- package/dist/voice/io.d.ts +67 -7
- package/dist/voice/io.d.ts.map +1 -1
- package/dist/voice/io.js +62 -5
- package/dist/voice/io.js.map +1 -1
- package/dist/voice/recorder_io/index.cjs +23 -0
- package/dist/voice/recorder_io/index.cjs.map +1 -0
- package/dist/voice/recorder_io/index.d.cts +2 -0
- package/dist/voice/recorder_io/index.d.ts +2 -0
- package/dist/voice/recorder_io/index.d.ts.map +1 -0
- package/dist/voice/recorder_io/index.js +2 -0
- package/dist/voice/recorder_io/index.js.map +1 -0
- package/dist/voice/recorder_io/recorder_io.cjs +607 -0
- package/dist/voice/recorder_io/recorder_io.cjs.map +1 -0
- package/dist/voice/recorder_io/recorder_io.d.cts +106 -0
- package/dist/voice/recorder_io/recorder_io.d.ts +106 -0
- package/dist/voice/recorder_io/recorder_io.d.ts.map +1 -0
- package/dist/voice/recorder_io/recorder_io.js +573 -0
- package/dist/voice/recorder_io/recorder_io.js.map +1 -0
- package/dist/voice/remote_session.cjs +922 -0
- package/dist/voice/remote_session.cjs.map +1 -0
- package/dist/voice/remote_session.d.cts +108 -0
- package/dist/voice/remote_session.d.ts +108 -0
- package/dist/voice/remote_session.d.ts.map +1 -0
- package/dist/voice/remote_session.js +887 -0
- package/dist/voice/remote_session.js.map +1 -0
- package/dist/voice/report.cjs +88 -0
- package/dist/voice/report.cjs.map +1 -0
- package/dist/voice/report.d.cts +49 -0
- package/dist/voice/report.d.ts +49 -0
- package/dist/voice/report.d.ts.map +1 -0
- package/dist/voice/report.js +63 -0
- package/dist/voice/report.js.map +1 -0
- package/dist/voice/report.test.cjs +121 -0
- package/dist/voice/report.test.cjs.map +1 -0
- package/dist/voice/report.test.js +120 -0
- package/dist/voice/report.test.js.map +1 -0
- package/dist/voice/room_io/_input.cjs +40 -7
- package/dist/voice/room_io/_input.cjs.map +1 -1
- package/dist/voice/room_io/_input.d.cts +5 -2
- package/dist/voice/room_io/_input.d.ts +5 -2
- package/dist/voice/room_io/_input.d.ts.map +1 -1
- package/dist/voice/room_io/_input.js +41 -8
- package/dist/voice/room_io/_input.js.map +1 -1
- package/dist/voice/room_io/_output.cjs +19 -11
- package/dist/voice/room_io/_output.cjs.map +1 -1
- package/dist/voice/room_io/_output.d.cts +7 -4
- package/dist/voice/room_io/_output.d.ts +7 -4
- package/dist/voice/room_io/_output.d.ts.map +1 -1
- package/dist/voice/room_io/_output.js +20 -12
- package/dist/voice/room_io/_output.js.map +1 -1
- package/dist/voice/room_io/room_io.cjs +33 -6
- package/dist/voice/room_io/room_io.cjs.map +1 -1
- package/dist/voice/room_io/room_io.d.cts +29 -9
- package/dist/voice/room_io/room_io.d.ts +29 -9
- package/dist/voice/room_io/room_io.d.ts.map +1 -1
- package/dist/voice/room_io/room_io.js +33 -7
- package/dist/voice/room_io/room_io.js.map +1 -1
- package/dist/voice/speech_handle.cjs +22 -4
- package/dist/voice/speech_handle.cjs.map +1 -1
- package/dist/voice/speech_handle.d.cts +17 -2
- package/dist/voice/speech_handle.d.ts +17 -2
- package/dist/voice/speech_handle.d.ts.map +1 -1
- package/dist/voice/speech_handle.js +21 -4
- package/dist/voice/speech_handle.js.map +1 -1
- package/dist/voice/testing/fake_llm.cjs +127 -0
- package/dist/voice/testing/fake_llm.cjs.map +1 -0
- package/dist/voice/testing/fake_llm.d.cts +30 -0
- package/dist/voice/testing/fake_llm.d.ts +30 -0
- package/dist/voice/testing/fake_llm.d.ts.map +1 -0
- package/dist/voice/testing/fake_llm.js +103 -0
- package/dist/voice/testing/fake_llm.js.map +1 -0
- package/dist/voice/testing/index.cjs +57 -0
- package/dist/voice/testing/index.cjs.map +1 -0
- package/dist/voice/testing/index.d.cts +21 -0
- package/dist/voice/testing/index.d.ts +21 -0
- package/dist/voice/testing/index.d.ts.map +1 -0
- package/dist/voice/testing/index.js +35 -0
- package/dist/voice/testing/index.js.map +1 -0
- package/dist/voice/testing/run_result.cjs +817 -0
- package/dist/voice/testing/run_result.cjs.map +1 -0
- package/dist/voice/testing/run_result.d.cts +385 -0
- package/dist/voice/testing/run_result.d.ts +385 -0
- package/dist/voice/testing/run_result.d.ts.map +1 -0
- package/dist/voice/testing/run_result.js +790 -0
- package/dist/voice/testing/run_result.js.map +1 -0
- package/dist/voice/testing/types.cjs +46 -0
- package/dist/voice/testing/types.cjs.map +1 -0
- package/dist/voice/testing/types.d.cts +83 -0
- package/dist/voice/testing/types.d.ts +83 -0
- package/dist/voice/testing/types.d.ts.map +1 -0
- package/dist/voice/testing/types.js +19 -0
- package/dist/voice/testing/types.js.map +1 -0
- package/dist/voice/transcription/synchronizer.cjs +139 -15
- package/dist/voice/transcription/synchronizer.cjs.map +1 -1
- package/dist/voice/transcription/synchronizer.d.cts +35 -4
- package/dist/voice/transcription/synchronizer.d.ts +35 -4
- package/dist/voice/transcription/synchronizer.d.ts.map +1 -1
- package/dist/voice/transcription/synchronizer.js +143 -16
- package/dist/voice/transcription/synchronizer.js.map +1 -1
- package/dist/voice/transcription/synchronizer.test.cjs +151 -0
- package/dist/voice/transcription/synchronizer.test.cjs.map +1 -0
- package/dist/voice/transcription/synchronizer.test.js +150 -0
- package/dist/voice/transcription/synchronizer.test.js.map +1 -0
- package/dist/voice/turn_config/endpointing.cjs +33 -0
- package/dist/voice/turn_config/endpointing.cjs.map +1 -0
- package/dist/voice/turn_config/endpointing.d.cts +30 -0
- package/dist/voice/turn_config/endpointing.d.ts +30 -0
- package/dist/voice/turn_config/endpointing.d.ts.map +1 -0
- package/dist/voice/turn_config/endpointing.js +9 -0
- package/dist/voice/turn_config/endpointing.js.map +1 -0
- package/dist/voice/turn_config/interruption.cjs +37 -0
- package/dist/voice/turn_config/interruption.cjs.map +1 -0
- package/dist/voice/turn_config/interruption.d.cts +53 -0
- package/dist/voice/turn_config/interruption.d.ts +53 -0
- package/dist/voice/turn_config/interruption.d.ts.map +1 -0
- package/dist/voice/turn_config/interruption.js +13 -0
- package/dist/voice/turn_config/interruption.js.map +1 -0
- package/dist/voice/turn_config/turn_handling.cjs +35 -0
- package/dist/voice/turn_config/turn_handling.cjs.map +1 -0
- package/dist/voice/turn_config/turn_handling.d.cts +36 -0
- package/dist/voice/turn_config/turn_handling.d.ts +36 -0
- package/dist/voice/turn_config/turn_handling.d.ts.map +1 -0
- package/dist/voice/turn_config/turn_handling.js +11 -0
- package/dist/voice/turn_config/turn_handling.js.map +1 -0
- package/dist/voice/turn_config/utils.cjs +157 -0
- package/dist/voice/turn_config/utils.cjs.map +1 -0
- package/dist/voice/turn_config/utils.d.cts +37 -0
- package/dist/voice/turn_config/utils.d.ts +37 -0
- package/dist/voice/turn_config/utils.d.ts.map +1 -0
- package/dist/voice/turn_config/utils.js +131 -0
- package/dist/voice/turn_config/utils.js.map +1 -0
- package/dist/voice/turn_config/utils.test.cjs +128 -0
- package/dist/voice/turn_config/utils.test.cjs.map +1 -0
- package/dist/voice/turn_config/utils.test.js +127 -0
- package/dist/voice/turn_config/utils.test.js.map +1 -0
- package/dist/voice/utils.cjs +47 -0
- package/dist/voice/utils.cjs.map +1 -0
- package/dist/voice/utils.d.cts +4 -0
- package/dist/voice/utils.d.ts +4 -0
- package/dist/voice/utils.d.ts.map +1 -0
- package/dist/voice/utils.js +23 -0
- package/dist/voice/utils.js.map +1 -0
- package/dist/worker.cjs +44 -52
- package/dist/worker.cjs.map +1 -1
- package/dist/worker.d.cts +18 -8
- package/dist/worker.d.ts +18 -8
- package/dist/worker.d.ts.map +1 -1
- package/dist/worker.js +43 -43
- package/dist/worker.js.map +1 -1
- package/package.json +32 -12
- package/resources/NOTICE +2 -0
- package/resources/keyboard-typing.ogg +0 -0
- package/resources/keyboard-typing2.ogg +0 -0
- package/resources/office-ambience.ogg +0 -0
- package/src/audio.ts +132 -1
- package/src/beta/index.ts +9 -0
- package/src/beta/workflows/index.ts +9 -0
- package/src/beta/workflows/task_group.ts +194 -0
- package/src/cli.ts +57 -66
- package/src/connection_pool.test.ts +346 -0
- package/src/connection_pool.ts +307 -0
- package/src/constants.ts +14 -0
- package/src/cpu.test.ts +239 -0
- package/src/cpu.ts +173 -0
- package/src/http_server.ts +18 -6
- package/src/index.ts +15 -13
- package/src/inference/api_protos.ts +85 -2
- package/src/inference/index.ts +32 -4
- package/src/inference/interruption/defaults.ts +51 -0
- package/src/inference/interruption/errors.ts +25 -0
- package/src/inference/interruption/http_transport.ts +206 -0
- package/src/inference/interruption/interruption_cache_entry.ts +50 -0
- package/src/inference/interruption/interruption_detector.ts +204 -0
- package/src/inference/interruption/interruption_stream.ts +467 -0
- package/src/inference/interruption/types.ts +84 -0
- package/src/inference/interruption/utils.test.ts +132 -0
- package/src/inference/interruption/utils.ts +137 -0
- package/src/inference/interruption/ws_transport.ts +406 -0
- package/src/inference/llm.ts +214 -163
- package/src/inference/stt.test.ts +253 -0
- package/src/inference/stt.ts +449 -208
- package/src/inference/tts.test.ts +267 -0
- package/src/inference/tts.ts +377 -115
- package/src/inference/utils.ts +30 -2
- package/src/ipc/inference_proc_executor.ts +11 -3
- package/src/ipc/inference_proc_lazy_main.ts +13 -1
- package/src/ipc/job_proc_executor.ts +11 -1
- package/src/ipc/job_proc_lazy_main.ts +86 -20
- package/src/ipc/supervised_proc.test.ts +153 -0
- package/src/ipc/supervised_proc.ts +39 -10
- package/src/job.ts +120 -1
- package/src/language.test.ts +62 -0
- package/src/language.ts +380 -0
- package/src/llm/__snapshots__/zod-utils.test.ts.snap +559 -0
- package/src/llm/chat_context.test.ts +655 -0
- package/src/llm/chat_context.ts +412 -2
- package/src/llm/fallback_adapter.test.ts +238 -0
- package/src/llm/fallback_adapter.ts +391 -0
- package/src/llm/index.ts +11 -0
- package/src/llm/llm.ts +77 -12
- package/src/llm/provider_format/google.test.ts +72 -1
- package/src/llm/provider_format/google.ts +10 -6
- package/src/llm/provider_format/index.ts +7 -2
- package/src/llm/provider_format/openai.test.ts +480 -2
- package/src/llm/provider_format/openai.ts +152 -21
- package/src/llm/provider_format/utils.ts +11 -5
- package/src/llm/realtime.ts +23 -2
- package/src/llm/remote_chat_context.ts +2 -2
- package/src/llm/tool_context.test.ts +210 -1
- package/src/llm/tool_context.ts +115 -17
- package/src/llm/utils.ts +24 -16
- package/src/llm/zod-utils.test.ts +577 -0
- package/src/llm/zod-utils.ts +153 -0
- package/src/log.ts +71 -19
- package/src/metrics/base.ts +78 -19
- package/src/metrics/index.ts +12 -0
- package/src/metrics/model_usage.test.ts +545 -0
- package/src/metrics/model_usage.ts +262 -0
- package/src/metrics/usage_collector.ts +14 -3
- package/src/metrics/utils.ts +27 -7
- package/src/stream/deferred_stream.test.ts +3 -3
- package/src/stream/deferred_stream.ts +43 -11
- package/src/stream/index.ts +1 -0
- package/src/stream/multi_input_stream.test.ts +545 -0
- package/src/stream/multi_input_stream.ts +172 -0
- package/src/stream/stream_channel.test.ts +37 -0
- package/src/stream/stream_channel.ts +43 -3
- package/src/stt/stream_adapter.ts +30 -9
- package/src/stt/stt.ts +131 -22
- package/src/telemetry/index.ts +28 -0
- package/src/telemetry/logging.ts +55 -0
- package/src/telemetry/otel_http_exporter.ts +218 -0
- package/src/telemetry/pino_otel_transport.ts +265 -0
- package/src/telemetry/trace_types.ts +109 -0
- package/src/telemetry/traces.ts +673 -0
- package/src/telemetry/utils.ts +61 -0
- package/src/tokenize/basic/sentence.ts +3 -3
- package/src/tokenize/tokenizer.test.ts +4 -0
- package/src/transcription.ts +6 -0
- package/src/tts/fallback_adapter.ts +579 -0
- package/src/tts/index.ts +1 -0
- package/src/tts/stream_adapter.ts +38 -8
- package/src/tts/tts.ts +245 -62
- package/src/types.ts +62 -33
- package/src/utils.test.ts +90 -10
- package/src/utils.ts +176 -31
- package/src/vad.ts +42 -18
- package/src/version.ts +1 -1
- package/src/voice/agent.test.ts +347 -2
- package/src/voice/agent.ts +346 -44
- package/src/voice/agent_activity.test.ts +194 -0
- package/src/voice/agent_activity.ts +1457 -388
- package/src/voice/agent_session.ts +817 -112
- package/src/voice/audio_recognition.ts +845 -70
- package/src/voice/audio_recognition_span.test.ts +341 -0
- package/src/voice/avatar/datastream_io.ts +9 -1
- package/src/voice/background_audio.ts +494 -0
- package/src/voice/events.ts +27 -7
- package/src/voice/generation.ts +310 -56
- package/src/voice/generation_tools.test.ts +268 -0
- package/src/voice/index.ts +17 -3
- package/src/voice/interruption_detection.test.ts +151 -0
- package/src/voice/io.ts +115 -12
- package/src/voice/recorder_io/index.ts +4 -0
- package/src/voice/recorder_io/recorder_io.ts +783 -0
- package/src/voice/remote_session.ts +1083 -0
- package/src/voice/report.test.ts +136 -0
- package/src/voice/report.ts +140 -0
- package/src/voice/room_io/_input.ts +45 -10
- package/src/voice/room_io/_output.ts +26 -14
- package/src/voice/room_io/room_io.ts +67 -22
- package/src/voice/speech_handle.ts +38 -6
- package/src/voice/testing/fake_llm.ts +138 -0
- package/src/voice/testing/index.ts +52 -0
- package/src/voice/testing/run_result.ts +995 -0
- package/src/voice/testing/types.ts +118 -0
- package/src/voice/transcription/synchronizer.test.ts +206 -0
- package/src/voice/transcription/synchronizer.ts +204 -19
- package/src/voice/turn_config/endpointing.ts +33 -0
- package/src/voice/turn_config/interruption.ts +56 -0
- package/src/voice/turn_config/turn_handling.ts +45 -0
- package/src/voice/turn_config/utils.test.ts +148 -0
- package/src/voice/turn_config/utils.ts +167 -0
- package/src/voice/utils.ts +29 -0
- package/src/worker.ts +92 -78
- package/src/llm/__snapshots__/utils.test.ts.snap +0 -65
package/dist/types.d.cts
CHANGED
|
@@ -1,13 +1,48 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Key used to store timed transcripts in AudioFrame.userdata.
|
|
3
|
+
*/
|
|
4
|
+
export declare const USERDATA_TIMED_TRANSCRIPT = "lk.timed_transcripts";
|
|
5
|
+
/**
|
|
6
|
+
* Connection options for API calls, controlling retry and timeout behavior.
|
|
7
|
+
*/
|
|
8
|
+
export interface APIConnectOptions {
|
|
9
|
+
/** Maximum number of retries to connect to the API. Default: 3 */
|
|
10
|
+
maxRetry: number;
|
|
11
|
+
/** Interval between retries to connect to the API in milliseconds. Default: 2000 */
|
|
12
|
+
retryIntervalMs: number;
|
|
13
|
+
/** Timeout for connecting to the API in milliseconds. Default: 10000 */
|
|
14
|
+
timeoutMs: number;
|
|
11
15
|
}
|
|
12
16
|
export declare const DEFAULT_API_CONNECT_OPTIONS: APIConnectOptions;
|
|
17
|
+
/**
|
|
18
|
+
* Return the interval for the given number of retries.
|
|
19
|
+
* The first retry is immediate, and then uses specified retryIntervalMs.
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
export declare function intervalForRetry(connOptions: APIConnectOptions, numRetries: number): number;
|
|
23
|
+
/**
|
|
24
|
+
* Connection options for the agent session, controlling retry and timeout behavior
|
|
25
|
+
* for STT, LLM, and TTS connections.
|
|
26
|
+
*/
|
|
27
|
+
export interface SessionConnectOptions {
|
|
28
|
+
/** Connection options for speech-to-text. */
|
|
29
|
+
sttConnOptions?: Partial<APIConnectOptions>;
|
|
30
|
+
/** Connection options for the language model. */
|
|
31
|
+
llmConnOptions?: Partial<APIConnectOptions>;
|
|
32
|
+
/** Connection options for text-to-speech. */
|
|
33
|
+
ttsConnOptions?: Partial<APIConnectOptions>;
|
|
34
|
+
/** Maximum number of consecutive unrecoverable errors from LLM or TTS before closing the session. Default: 3 */
|
|
35
|
+
maxUnrecoverableErrors?: number;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Resolved session connect options with all values populated.
|
|
39
|
+
* @internal
|
|
40
|
+
*/
|
|
41
|
+
export interface ResolvedSessionConnectOptions {
|
|
42
|
+
sttConnOptions: APIConnectOptions;
|
|
43
|
+
llmConnOptions: APIConnectOptions;
|
|
44
|
+
ttsConnOptions: APIConnectOptions;
|
|
45
|
+
maxUnrecoverableErrors: number;
|
|
46
|
+
}
|
|
47
|
+
export declare const DEFAULT_SESSION_CONNECT_OPTIONS: ResolvedSessionConnectOptions;
|
|
13
48
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts
CHANGED
|
@@ -1,13 +1,48 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Key used to store timed transcripts in AudioFrame.userdata.
|
|
3
|
+
*/
|
|
4
|
+
export declare const USERDATA_TIMED_TRANSCRIPT = "lk.timed_transcripts";
|
|
5
|
+
/**
|
|
6
|
+
* Connection options for API calls, controlling retry and timeout behavior.
|
|
7
|
+
*/
|
|
8
|
+
export interface APIConnectOptions {
|
|
9
|
+
/** Maximum number of retries to connect to the API. Default: 3 */
|
|
10
|
+
maxRetry: number;
|
|
11
|
+
/** Interval between retries to connect to the API in milliseconds. Default: 2000 */
|
|
12
|
+
retryIntervalMs: number;
|
|
13
|
+
/** Timeout for connecting to the API in milliseconds. Default: 10000 */
|
|
14
|
+
timeoutMs: number;
|
|
11
15
|
}
|
|
12
16
|
export declare const DEFAULT_API_CONNECT_OPTIONS: APIConnectOptions;
|
|
17
|
+
/**
|
|
18
|
+
* Return the interval for the given number of retries.
|
|
19
|
+
* The first retry is immediate, and then uses specified retryIntervalMs.
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
export declare function intervalForRetry(connOptions: APIConnectOptions, numRetries: number): number;
|
|
23
|
+
/**
|
|
24
|
+
* Connection options for the agent session, controlling retry and timeout behavior
|
|
25
|
+
* for STT, LLM, and TTS connections.
|
|
26
|
+
*/
|
|
27
|
+
export interface SessionConnectOptions {
|
|
28
|
+
/** Connection options for speech-to-text. */
|
|
29
|
+
sttConnOptions?: Partial<APIConnectOptions>;
|
|
30
|
+
/** Connection options for the language model. */
|
|
31
|
+
llmConnOptions?: Partial<APIConnectOptions>;
|
|
32
|
+
/** Connection options for text-to-speech. */
|
|
33
|
+
ttsConnOptions?: Partial<APIConnectOptions>;
|
|
34
|
+
/** Maximum number of consecutive unrecoverable errors from LLM or TTS before closing the session. Default: 3 */
|
|
35
|
+
maxUnrecoverableErrors?: number;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Resolved session connect options with all values populated.
|
|
39
|
+
* @internal
|
|
40
|
+
*/
|
|
41
|
+
export interface ResolvedSessionConnectOptions {
|
|
42
|
+
sttConnOptions: APIConnectOptions;
|
|
43
|
+
llmConnOptions: APIConnectOptions;
|
|
44
|
+
ttsConnOptions: APIConnectOptions;
|
|
45
|
+
maxUnrecoverableErrors: number;
|
|
46
|
+
}
|
|
47
|
+
export declare const DEFAULT_SESSION_CONNECT_OPTIONS: ResolvedSessionConnectOptions;
|
|
13
48
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,eAAO,MAAM,yBAAyB,yBAAyB,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC;IACjB,oFAAoF;IACpF,eAAe,EAAE,MAAM,CAAC;IACxB,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,2BAA2B,EAAE,iBAIzC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAK3F;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,6CAA6C;IAC7C,cAAc,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC5C,iDAAiD;IACjD,cAAc,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC5C,6CAA6C;IAC7C,cAAc,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC5C,gHAAgH;IAChH,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,6BAA6B;IAC5C,cAAc,EAAE,iBAAiB,CAAC;IAClC,cAAc,EAAE,iBAAiB,CAAC;IAClC,cAAc,EAAE,iBAAiB,CAAC;IAClC,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED,eAAO,MAAM,+BAA+B,EAAE,6BAK7C,CAAC"}
|
package/dist/types.js
CHANGED
|
@@ -1,35 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
maxRetry
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
this.retryIntervalMs = options.retryIntervalMs ?? 2e3;
|
|
11
|
-
this.timeoutMs = options.timeoutMs ?? 1e4;
|
|
12
|
-
if (this.maxRetry < 0) {
|
|
13
|
-
throw new Error("maxRetry must be greater than or equal to 0");
|
|
14
|
-
}
|
|
15
|
-
if (this.retryIntervalMs < 0) {
|
|
16
|
-
throw new Error("retryIntervalMs must be greater than or equal to 0");
|
|
17
|
-
}
|
|
18
|
-
if (this.timeoutMs < 0) {
|
|
19
|
-
throw new Error("timeoutMs must be greater than or equal to 0");
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
/** @internal */
|
|
23
|
-
_intervalForRetry(numRetries) {
|
|
24
|
-
if (numRetries === 0) {
|
|
25
|
-
return 0.1;
|
|
26
|
-
}
|
|
27
|
-
return this.retryIntervalMs;
|
|
1
|
+
const USERDATA_TIMED_TRANSCRIPT = "lk.timed_transcripts";
|
|
2
|
+
const DEFAULT_API_CONNECT_OPTIONS = {
|
|
3
|
+
maxRetry: 3,
|
|
4
|
+
retryIntervalMs: 2e3,
|
|
5
|
+
timeoutMs: 1e4
|
|
6
|
+
};
|
|
7
|
+
function intervalForRetry(connOptions, numRetries) {
|
|
8
|
+
if (numRetries === 0) {
|
|
9
|
+
return 0.1;
|
|
28
10
|
}
|
|
11
|
+
return connOptions.retryIntervalMs;
|
|
29
12
|
}
|
|
30
|
-
const
|
|
13
|
+
const DEFAULT_SESSION_CONNECT_OPTIONS = {
|
|
14
|
+
sttConnOptions: DEFAULT_API_CONNECT_OPTIONS,
|
|
15
|
+
llmConnOptions: DEFAULT_API_CONNECT_OPTIONS,
|
|
16
|
+
ttsConnOptions: DEFAULT_API_CONNECT_OPTIONS,
|
|
17
|
+
maxUnrecoverableErrors: 3
|
|
18
|
+
};
|
|
31
19
|
export {
|
|
32
|
-
|
|
33
|
-
|
|
20
|
+
DEFAULT_API_CONNECT_OPTIONS,
|
|
21
|
+
DEFAULT_SESSION_CONNECT_OPTIONS,
|
|
22
|
+
USERDATA_TIMED_TRANSCRIPT,
|
|
23
|
+
intervalForRetry
|
|
34
24
|
};
|
|
35
25
|
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/types.ts"],"sourcesContent":["// SPDX-FileCopyrightText: 2025 LiveKit, Inc.\n//\n// SPDX-License-Identifier: Apache-2.0\nexport
|
|
1
|
+
{"version":3,"sources":["../src/types.ts"],"sourcesContent":["// SPDX-FileCopyrightText: 2025 LiveKit, Inc.\n//\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * Key used to store timed transcripts in AudioFrame.userdata.\n */\nexport const USERDATA_TIMED_TRANSCRIPT = 'lk.timed_transcripts';\n\n/**\n * Connection options for API calls, controlling retry and timeout behavior.\n */\nexport interface APIConnectOptions {\n /** Maximum number of retries to connect to the API. Default: 3 */\n maxRetry: number;\n /** Interval between retries to connect to the API in milliseconds. Default: 2000 */\n retryIntervalMs: number;\n /** Timeout for connecting to the API in milliseconds. Default: 10000 */\n timeoutMs: number;\n}\n\nexport const DEFAULT_API_CONNECT_OPTIONS: APIConnectOptions = {\n maxRetry: 3,\n retryIntervalMs: 2000,\n timeoutMs: 10000,\n};\n\n/**\n * Return the interval for the given number of retries.\n * The first retry is immediate, and then uses specified retryIntervalMs.\n * @internal\n */\nexport function intervalForRetry(connOptions: APIConnectOptions, numRetries: number): number {\n if (numRetries === 0) {\n return 0.1;\n }\n return connOptions.retryIntervalMs;\n}\n\n/**\n * Connection options for the agent session, controlling retry and timeout behavior\n * for STT, LLM, and TTS connections.\n */\nexport interface SessionConnectOptions {\n /** Connection options for speech-to-text. */\n sttConnOptions?: Partial<APIConnectOptions>;\n /** Connection options for the language model. */\n llmConnOptions?: Partial<APIConnectOptions>;\n /** Connection options for text-to-speech. */\n ttsConnOptions?: Partial<APIConnectOptions>;\n /** Maximum number of consecutive unrecoverable errors from LLM or TTS before closing the session. Default: 3 */\n maxUnrecoverableErrors?: number;\n}\n\n/**\n * Resolved session connect options with all values populated.\n * @internal\n */\nexport interface ResolvedSessionConnectOptions {\n sttConnOptions: APIConnectOptions;\n llmConnOptions: APIConnectOptions;\n ttsConnOptions: APIConnectOptions;\n maxUnrecoverableErrors: number;\n}\n\nexport const DEFAULT_SESSION_CONNECT_OPTIONS: ResolvedSessionConnectOptions = {\n sttConnOptions: DEFAULT_API_CONNECT_OPTIONS,\n llmConnOptions: DEFAULT_API_CONNECT_OPTIONS,\n ttsConnOptions: DEFAULT_API_CONNECT_OPTIONS,\n maxUnrecoverableErrors: 3,\n};\n"],"mappings":"AAOO,MAAM,4BAA4B;AAclC,MAAM,8BAAiD;AAAA,EAC5D,UAAU;AAAA,EACV,iBAAiB;AAAA,EACjB,WAAW;AACb;AAOO,SAAS,iBAAiB,aAAgC,YAA4B;AAC3F,MAAI,eAAe,GAAG;AACpB,WAAO;AAAA,EACT;AACA,SAAO,YAAY;AACrB;AA4BO,MAAM,kCAAiE;AAAA,EAC5E,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,wBAAwB;AAC1B;","names":[]}
|
package/dist/utils.cjs
CHANGED
|
@@ -26,15 +26,19 @@ __export(utils_exports, {
|
|
|
26
26
|
Future: () => Future,
|
|
27
27
|
InvalidErrorType: () => InvalidErrorType,
|
|
28
28
|
Queue: () => Queue,
|
|
29
|
-
TASK_TIMEOUT_ERROR: () => TASK_TIMEOUT_ERROR,
|
|
30
29
|
Task: () => Task,
|
|
31
30
|
TaskResult: () => TaskResult,
|
|
32
31
|
cancelAndWait: () => cancelAndWait,
|
|
32
|
+
combineSignals: () => combineSignals,
|
|
33
33
|
createImmutableArray: () => createImmutableArray,
|
|
34
34
|
delay: () => delay,
|
|
35
35
|
gracefullyCancel: () => gracefullyCancel,
|
|
36
|
+
isCloud: () => isCloud,
|
|
37
|
+
isDevMode: () => isDevMode,
|
|
38
|
+
isHosted: () => isHosted,
|
|
36
39
|
isImmutableArray: () => isImmutableArray,
|
|
37
40
|
isPending: () => isPending,
|
|
41
|
+
isStreamClosedError: () => isStreamClosedError,
|
|
38
42
|
mergeFrames: () => mergeFrames,
|
|
39
43
|
noop: () => noop,
|
|
40
44
|
resampleStream: () => resampleStream,
|
|
@@ -49,6 +53,7 @@ __export(utils_exports, {
|
|
|
49
53
|
});
|
|
50
54
|
module.exports = __toCommonJS(utils_exports);
|
|
51
55
|
var import_rtc_node = require("@livekit/rtc-node");
|
|
56
|
+
var import_node_async_hooks = require("node:async_hooks");
|
|
52
57
|
var import_node_events = require("node:events");
|
|
53
58
|
var import_web = require("node:stream/web");
|
|
54
59
|
var import_uuid = require("uuid");
|
|
@@ -120,6 +125,9 @@ class Future {
|
|
|
120
125
|
#resolvePromise;
|
|
121
126
|
#rejectPromise;
|
|
122
127
|
#done = false;
|
|
128
|
+
#rejected = false;
|
|
129
|
+
#result = void 0;
|
|
130
|
+
#error = void 0;
|
|
123
131
|
constructor() {
|
|
124
132
|
this.#await = new Promise((resolve, reject) => {
|
|
125
133
|
this.#resolvePromise = resolve;
|
|
@@ -132,13 +140,30 @@ class Future {
|
|
|
132
140
|
get done() {
|
|
133
141
|
return this.#done;
|
|
134
142
|
}
|
|
143
|
+
get result() {
|
|
144
|
+
if (!this.#done) {
|
|
145
|
+
throw new Error("Future is not done");
|
|
146
|
+
}
|
|
147
|
+
if (this.#rejected) {
|
|
148
|
+
throw this.#error;
|
|
149
|
+
}
|
|
150
|
+
return this.#result;
|
|
151
|
+
}
|
|
152
|
+
/** Whether the future was rejected (cancelled) */
|
|
153
|
+
get rejected() {
|
|
154
|
+
return this.#rejected;
|
|
155
|
+
}
|
|
135
156
|
resolve(value) {
|
|
136
157
|
this.#done = true;
|
|
158
|
+
this.#result = value;
|
|
137
159
|
this.#resolvePromise(value);
|
|
138
160
|
}
|
|
139
161
|
reject(error) {
|
|
140
162
|
this.#done = true;
|
|
163
|
+
this.#rejected = true;
|
|
164
|
+
this.#error = error;
|
|
141
165
|
this.#rejectPromise(error);
|
|
166
|
+
void this.#await.catch(() => void 0);
|
|
142
167
|
}
|
|
143
168
|
}
|
|
144
169
|
class Event {
|
|
@@ -317,7 +342,6 @@ class AudioEnergyFilter {
|
|
|
317
342
|
return false;
|
|
318
343
|
}
|
|
319
344
|
}
|
|
320
|
-
const TASK_TIMEOUT_ERROR = new Error("Task cancellation timed out");
|
|
321
345
|
var TaskResult = /* @__PURE__ */ ((TaskResult2) => {
|
|
322
346
|
TaskResult2["Timeout"] = "timeout";
|
|
323
347
|
TaskResult2["Completed"] = "completed";
|
|
@@ -330,9 +354,24 @@ class Task {
|
|
|
330
354
|
this.controller = controller;
|
|
331
355
|
this.name = name;
|
|
332
356
|
this.resultFuture = new Future();
|
|
357
|
+
void this.resultFuture.await.then(
|
|
358
|
+
() => void 0,
|
|
359
|
+
() => void 0
|
|
360
|
+
).finally(() => {
|
|
361
|
+
for (const callback of this.doneCallbacks) {
|
|
362
|
+
try {
|
|
363
|
+
callback();
|
|
364
|
+
} catch (error) {
|
|
365
|
+
this.#logger.error({ error }, "Task done callback failed");
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
this.doneCallbacks.clear();
|
|
369
|
+
});
|
|
333
370
|
this.runTask();
|
|
334
371
|
}
|
|
372
|
+
static currentTaskStorage = new import_node_async_hooks.AsyncLocalStorage();
|
|
335
373
|
resultFuture;
|
|
374
|
+
doneCallbacks = /* @__PURE__ */ new Set();
|
|
336
375
|
#logger = (0, import_log.log)();
|
|
337
376
|
/**
|
|
338
377
|
* Creates a new task from a function.
|
|
@@ -345,6 +384,12 @@ class Task {
|
|
|
345
384
|
const abortController = controller ?? new AbortController();
|
|
346
385
|
return new Task(fn, abortController, name);
|
|
347
386
|
}
|
|
387
|
+
/**
|
|
388
|
+
* Returns the currently running task in this async context, if available.
|
|
389
|
+
*/
|
|
390
|
+
static current() {
|
|
391
|
+
return Task.currentTaskStorage.getStore();
|
|
392
|
+
}
|
|
348
393
|
async runTask() {
|
|
349
394
|
const run = async () => {
|
|
350
395
|
if (this.name) {
|
|
@@ -352,7 +397,7 @@ class Task {
|
|
|
352
397
|
}
|
|
353
398
|
return await this.fn(this.controller);
|
|
354
399
|
};
|
|
355
|
-
return run().then((value) => {
|
|
400
|
+
return Task.currentTaskStorage.run(this, run).then((value) => {
|
|
356
401
|
this.resultFuture.resolve(value);
|
|
357
402
|
return value;
|
|
358
403
|
}).catch((error) => {
|
|
@@ -377,26 +422,22 @@ class Task {
|
|
|
377
422
|
*/
|
|
378
423
|
async cancelAndWait(timeout) {
|
|
379
424
|
this.cancel();
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
throw TASK_TIMEOUT_ERROR;
|
|
395
|
-
}
|
|
396
|
-
return result;
|
|
397
|
-
} catch (error) {
|
|
398
|
-
throw error;
|
|
425
|
+
const promises = [
|
|
426
|
+
this.result.then(() => "completed" /* Completed */).catch((error) => {
|
|
427
|
+
if (error.name === "AbortError") {
|
|
428
|
+
return "aborted" /* Aborted */;
|
|
429
|
+
}
|
|
430
|
+
throw error;
|
|
431
|
+
})
|
|
432
|
+
];
|
|
433
|
+
if (timeout) {
|
|
434
|
+
promises.push(delay(timeout).then(() => "timeout" /* Timeout */));
|
|
435
|
+
}
|
|
436
|
+
const result = await Promise.race(promises);
|
|
437
|
+
if (result === "timeout" /* Timeout */) {
|
|
438
|
+
throw new Error("Task cancellation timed out");
|
|
399
439
|
}
|
|
440
|
+
return result;
|
|
400
441
|
}
|
|
401
442
|
/**
|
|
402
443
|
* The result of the task.
|
|
@@ -411,7 +452,14 @@ class Task {
|
|
|
411
452
|
return this.resultFuture.done;
|
|
412
453
|
}
|
|
413
454
|
addDoneCallback(callback) {
|
|
414
|
-
this.
|
|
455
|
+
if (this.done) {
|
|
456
|
+
queueMicrotask(callback);
|
|
457
|
+
return;
|
|
458
|
+
}
|
|
459
|
+
this.doneCallbacks.add(callback);
|
|
460
|
+
}
|
|
461
|
+
removeDoneCallback(callback) {
|
|
462
|
+
this.doneCallbacks.delete(callback);
|
|
415
463
|
}
|
|
416
464
|
}
|
|
417
465
|
async function waitFor(tasks) {
|
|
@@ -491,14 +539,22 @@ function resampleStream({
|
|
|
491
539
|
let resampler = null;
|
|
492
540
|
const transformStream = new import_web.TransformStream({
|
|
493
541
|
transform(chunk, controller) {
|
|
542
|
+
if (chunk.samplesPerChannel === 0) {
|
|
543
|
+
controller.enqueue(chunk);
|
|
544
|
+
return;
|
|
545
|
+
}
|
|
494
546
|
if (!resampler) {
|
|
495
547
|
resampler = new import_rtc_node.AudioResampler(chunk.sampleRate, outputRate);
|
|
496
548
|
}
|
|
497
549
|
for (const frame of resampler.push(chunk)) {
|
|
498
550
|
controller.enqueue(frame);
|
|
499
551
|
}
|
|
500
|
-
|
|
501
|
-
|
|
552
|
+
},
|
|
553
|
+
flush(controller) {
|
|
554
|
+
if (resampler) {
|
|
555
|
+
for (const frame of resampler.flush()) {
|
|
556
|
+
controller.enqueue(frame);
|
|
557
|
+
}
|
|
502
558
|
}
|
|
503
559
|
}
|
|
504
560
|
});
|
|
@@ -512,6 +568,9 @@ class InvalidErrorType extends Error {
|
|
|
512
568
|
Error.captureStackTrace(this, InvalidErrorType);
|
|
513
569
|
}
|
|
514
570
|
}
|
|
571
|
+
function isStreamClosedError(error) {
|
|
572
|
+
return error instanceof Error && (error.message === "Stream is closed" || error.message === "Input is closed");
|
|
573
|
+
}
|
|
515
574
|
function toError(error) {
|
|
516
575
|
if (error instanceof Error) {
|
|
517
576
|
return error;
|
|
@@ -560,7 +619,11 @@ async function waitForParticipant({
|
|
|
560
619
|
}
|
|
561
620
|
}
|
|
562
621
|
};
|
|
622
|
+
const onDisconnected = () => {
|
|
623
|
+
fut.reject(new Error("Got disconnected from room while waiting for participant"));
|
|
624
|
+
};
|
|
563
625
|
room.on(import_rtc_node.RoomEvent.ParticipantConnected, onParticipantConnected);
|
|
626
|
+
room.on(import_rtc_node.RoomEvent.Disconnected, onDisconnected);
|
|
564
627
|
try {
|
|
565
628
|
for (const p of room.remoteParticipants.values()) {
|
|
566
629
|
onParticipantConnected(p);
|
|
@@ -571,6 +634,7 @@ async function waitForParticipant({
|
|
|
571
634
|
return await fut.await;
|
|
572
635
|
} finally {
|
|
573
636
|
room.off(import_rtc_node.RoomEvent.ParticipantConnected, onParticipantConnected);
|
|
637
|
+
room.off(import_rtc_node.RoomEvent.Disconnected, onDisconnected);
|
|
574
638
|
}
|
|
575
639
|
}
|
|
576
640
|
async function waitForTrackPublication({
|
|
@@ -616,6 +680,34 @@ async function waitForAbort(signal) {
|
|
|
616
680
|
signal.addEventListener("abort", handler, { once: true });
|
|
617
681
|
return await abortFuture.await;
|
|
618
682
|
}
|
|
683
|
+
const combineSignals = (a, b) => {
|
|
684
|
+
const c = new AbortController();
|
|
685
|
+
const abortFrom = (s) => {
|
|
686
|
+
if (c.signal.aborted) return;
|
|
687
|
+
c.abort(s.reason);
|
|
688
|
+
};
|
|
689
|
+
if (a.aborted) {
|
|
690
|
+
abortFrom(a);
|
|
691
|
+
} else {
|
|
692
|
+
a.addEventListener("abort", () => abortFrom(a), { once: true });
|
|
693
|
+
}
|
|
694
|
+
if (b.aborted) {
|
|
695
|
+
abortFrom(b);
|
|
696
|
+
} else {
|
|
697
|
+
b.addEventListener("abort", () => abortFrom(b), { once: true });
|
|
698
|
+
}
|
|
699
|
+
return c.signal;
|
|
700
|
+
};
|
|
701
|
+
const isCloud = (url) => {
|
|
702
|
+
const hostname = url.hostname;
|
|
703
|
+
return hostname.endsWith(".livekit.cloud") || hostname.endsWith(".livekit.run");
|
|
704
|
+
};
|
|
705
|
+
const isDevMode = () => {
|
|
706
|
+
return process.env.LIVEKIT_DEV_MODE === "1";
|
|
707
|
+
};
|
|
708
|
+
const isHosted = () => {
|
|
709
|
+
return process.env.LIVEKIT_REMOTE_EOT_URL !== void 0;
|
|
710
|
+
};
|
|
619
711
|
// Annotate the CommonJS export names for ESM import in node:
|
|
620
712
|
0 && (module.exports = {
|
|
621
713
|
AsyncIterableQueue,
|
|
@@ -626,15 +718,19 @@ async function waitForAbort(signal) {
|
|
|
626
718
|
Future,
|
|
627
719
|
InvalidErrorType,
|
|
628
720
|
Queue,
|
|
629
|
-
TASK_TIMEOUT_ERROR,
|
|
630
721
|
Task,
|
|
631
722
|
TaskResult,
|
|
632
723
|
cancelAndWait,
|
|
724
|
+
combineSignals,
|
|
633
725
|
createImmutableArray,
|
|
634
726
|
delay,
|
|
635
727
|
gracefullyCancel,
|
|
728
|
+
isCloud,
|
|
729
|
+
isDevMode,
|
|
730
|
+
isHosted,
|
|
636
731
|
isImmutableArray,
|
|
637
732
|
isPending,
|
|
733
|
+
isStreamClosedError,
|
|
638
734
|
mergeFrames,
|
|
639
735
|
noop,
|
|
640
736
|
resampleStream,
|