@pipedog/core 0.0.0 → 0.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/LICENSE +25 -0
- package/NOTICE +9 -0
- package/dist/adapters/base_llm_adapter.d.ts +266 -0
- package/dist/adapters/base_llm_adapter.js +489 -0
- package/dist/adapters/index.d.ts +2 -0
- package/dist/adapters/index.js +8 -0
- package/dist/adapters/schemas/direct_function.d.ts +202 -0
- package/dist/adapters/schemas/direct_function.js +302 -0
- package/dist/adapters/schemas/function_schema.d.ts +67 -0
- package/dist/adapters/schemas/function_schema.js +72 -0
- package/dist/adapters/schemas/index.d.ts +2 -0
- package/dist/adapters/schemas/index.js +8 -0
- package/dist/adapters/schemas/tools_schema.d.ts +57 -0
- package/dist/adapters/schemas/tools_schema.js +79 -0
- package/dist/adapters/services/index.d.ts +2 -0
- package/dist/adapters/services/index.js +8 -0
- package/dist/adapters/services/open_ai_adapter.d.ts +147 -0
- package/dist/adapters/services/open_ai_adapter.js +250 -0
- package/dist/audio/dtmf/dtmf_data.d.ts +3 -0
- package/dist/audio/dtmf/dtmf_data.js +22 -0
- package/dist/audio/dtmf/index.d.ts +2 -0
- package/dist/audio/dtmf/index.js +8 -0
- package/dist/audio/dtmf/types.d.ts +31 -0
- package/dist/audio/dtmf/types.js +35 -0
- package/dist/audio/dtmf/utils.d.ts +13 -0
- package/dist/audio/dtmf/utils.js +62 -0
- package/dist/audio/filters/base_audio_filter.d.ts +51 -0
- package/dist/audio/filters/base_audio_filter.js +17 -0
- package/dist/audio/filters/index.d.ts +2 -0
- package/dist/audio/filters/index.js +8 -0
- package/dist/audio/index.d.ts +2 -0
- package/dist/audio/index.js +8 -0
- package/dist/audio/krisp_instance.d.ts +95 -0
- package/dist/audio/krisp_instance.js +229 -0
- package/dist/audio/mixers/base_audio_mixer.d.ts +56 -0
- package/dist/audio/mixers/base_audio_mixer.js +16 -0
- package/dist/audio/mixers/index.d.ts +2 -0
- package/dist/audio/mixers/index.js +8 -0
- package/dist/audio/resamplers/base_audio_resampler.d.ts +46 -0
- package/dist/audio/resamplers/base_audio_resampler.js +35 -0
- package/dist/audio/resamplers/engine.d.ts +60 -0
- package/dist/audio/resamplers/engine.js +89 -0
- package/dist/audio/resamplers/index.d.ts +2 -0
- package/dist/audio/resamplers/index.js +8 -0
- package/dist/audio/resamplers/resampy_resampler.d.ts +10 -0
- package/dist/audio/resamplers/resampy_resampler.js +15 -0
- package/dist/audio/resamplers/sinc_engine.d.ts +10 -0
- package/dist/audio/resamplers/sinc_engine.js +235 -0
- package/dist/audio/resamplers/soxr_resampler.d.ts +58 -0
- package/dist/audio/resamplers/soxr_resampler.js +79 -0
- package/dist/audio/resamplers/soxr_stream_resampler.d.ts +78 -0
- package/dist/audio/resamplers/soxr_stream_resampler.js +159 -0
- package/dist/audio/turn/base_turn_analyzer.d.ts +84 -0
- package/dist/audio/turn/base_turn_analyzer.js +61 -0
- package/dist/audio/turn/index.d.ts +2 -0
- package/dist/audio/turn/index.js +8 -0
- package/dist/audio/turn/smart_turn/_whisper_features.d.ts +30 -0
- package/dist/audio/turn/smart_turn/_whisper_features.js +225 -0
- package/dist/audio/turn/smart_turn/base_smart_turn.d.ts +94 -0
- package/dist/audio/turn/smart_turn/base_smart_turn.js +239 -0
- package/dist/audio/turn/smart_turn/local_smart_turn_v3.d.ts +76 -0
- package/dist/audio/turn/smart_turn/local_smart_turn_v3.js +151 -0
- package/dist/audio/utils.d.ts +224 -0
- package/dist/audio/utils.js +634 -0
- package/dist/audio/vad/data/index.d.ts +2 -0
- package/dist/audio/vad/data/index.js +8 -0
- package/dist/audio/vad/index.d.ts +2 -0
- package/dist/audio/vad/index.js +8 -0
- package/dist/audio/vad/vad_analyzer.d.ts +134 -0
- package/dist/audio/vad/vad_analyzer.js +249 -0
- package/dist/audio/vad/vad_controller.d.ts +143 -0
- package/dist/audio/vad/vad_controller.js +228 -0
- package/dist/audio/volume.d.ts +38 -0
- package/dist/audio/volume.js +75 -0
- package/dist/bus/adapters/base.d.ts +35 -0
- package/dist/bus/adapters/base.js +19 -0
- package/dist/bus/adapters/index.d.ts +10 -0
- package/dist/bus/adapters/index.js +15 -0
- package/dist/bus/adapters/llm_context_adapter.d.ts +36 -0
- package/dist/bus/adapters/llm_context_adapter.js +82 -0
- package/dist/bus/adapters/tools_schema_adapter.d.ts +25 -0
- package/dist/bus/adapters/tools_schema_adapter.js +70 -0
- package/dist/bus/bridge_processor.d.ts +111 -0
- package/dist/bus/bridge_processor.js +166 -0
- package/dist/bus/bus.d.ts +110 -0
- package/dist/bus/bus.js +200 -0
- package/dist/bus/index.d.ts +22 -0
- package/dist/bus/index.js +27 -0
- package/dist/bus/local/async_queue.d.ts +12 -0
- package/dist/bus/local/async_queue.js +21 -0
- package/dist/bus/local/index.d.ts +3 -0
- package/dist/bus/local/index.js +8 -0
- package/dist/bus/messages.d.ts +378 -0
- package/dist/bus/messages.js +357 -0
- package/dist/bus/network/index.d.ts +16 -0
- package/dist/bus/network/index.js +21 -0
- package/dist/bus/queue.d.ts +27 -0
- package/dist/bus/queue.js +51 -0
- package/dist/bus/serializers/base.d.ts +25 -0
- package/dist/bus/serializers/base.js +14 -0
- package/dist/bus/serializers/index.d.ts +9 -0
- package/dist/bus/serializers/index.js +14 -0
- package/dist/bus/serializers/json.d.ts +77 -0
- package/dist/bus/serializers/json.js +367 -0
- package/dist/bus/subscriber.d.ts +46 -0
- package/dist/bus/subscriber.js +27 -0
- package/dist/bus/ui/index.d.ts +3 -0
- package/dist/bus/ui/index.js +8 -0
- package/dist/bus/ui/messages.d.ts +186 -0
- package/dist/bus/ui/messages.js +171 -0
- package/dist/classifiers/base_classifier.d.ts +263 -0
- package/dist/classifiers/base_classifier.js +346 -0
- package/dist/classifiers/cloudflare/clef/classifier.d.ts +70 -0
- package/dist/classifiers/cloudflare/clef/classifier.js +204 -0
- package/dist/classifiers/cloudflare/clef/client.d.ts +104 -0
- package/dist/classifiers/cloudflare/clef/client.js +234 -0
- package/dist/classifiers/cloudflare/clef/index.d.ts +2 -0
- package/dist/classifiers/cloudflare/clef/index.js +8 -0
- package/dist/classifiers/cloudflare/index.d.ts +2 -0
- package/dist/classifiers/cloudflare/index.js +8 -0
- package/dist/classifiers/http_client.d.ts +70 -0
- package/dist/classifiers/http_client.js +161 -0
- package/dist/classifiers/index.d.ts +2 -0
- package/dist/classifiers/index.js +8 -0
- package/dist/classifiers/jev/classifier.d.ts +8 -0
- package/dist/classifiers/jev/classifier.js +13 -0
- package/dist/classifiers/jev/client.d.ts +8 -0
- package/dist/classifiers/jev/client.js +13 -0
- package/dist/classifiers/jev/index.d.ts +2 -0
- package/dist/classifiers/jev/index.js +8 -0
- package/dist/classifiers/llm/classifier.d.ts +72 -0
- package/dist/classifiers/llm/classifier.js +304 -0
- package/dist/classifiers/llm/index.d.ts +2 -0
- package/dist/classifiers/llm/index.js +8 -0
- package/dist/classifiers/openai/decisions/classifier.d.ts +77 -0
- package/dist/classifiers/openai/decisions/classifier.js +241 -0
- package/dist/classifiers/openai/decisions/client.d.ts +108 -0
- package/dist/classifiers/openai/decisions/client.js +234 -0
- package/dist/classifiers/openai/decisions/index.d.ts +2 -0
- package/dist/classifiers/openai/decisions/index.js +8 -0
- package/dist/classifiers/openai/index.d.ts +2 -0
- package/dist/classifiers/openai/index.js +8 -0
- package/dist/classifiers/typesafe/index.d.ts +2 -0
- package/dist/classifiers/typesafe/index.js +8 -0
- package/dist/classifiers/typesafe/jev/classifier.d.ts +70 -0
- package/dist/classifiers/typesafe/jev/classifier.js +220 -0
- package/dist/classifiers/typesafe/jev/client.d.ts +105 -0
- package/dist/classifiers/typesafe/jev/client.js +233 -0
- package/dist/classifiers/typesafe/jev/index.d.ts +2 -0
- package/dist/classifiers/typesafe/jev/index.js +8 -0
- package/dist/clocks/base_clock.d.ts +13 -0
- package/dist/clocks/base_clock.js +14 -0
- package/dist/clocks/index.d.ts +2 -0
- package/dist/clocks/index.js +8 -0
- package/dist/clocks/system_clock.d.ts +15 -0
- package/dist/clocks/system_clock.js +25 -0
- package/dist/frames/frames.d.ts +2533 -0
- package/dist/frames/frames.js +2485 -0
- package/dist/frames/index.d.ts +2 -0
- package/dist/frames/index.js +8 -0
- package/dist/frames/protobufs/frames_pb2.d.ts +229 -0
- package/dist/frames/protobufs/frames_pb2.js +466 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +56 -0
- package/dist/metrics/index.d.ts +2 -0
- package/dist/metrics/index.js +8 -0
- package/dist/metrics/metrics.d.ts +276 -0
- package/dist/metrics/metrics.js +254 -0
- package/dist/observers/base_observer.d.ts +173 -0
- package/dist/observers/base_observer.js +151 -0
- package/dist/observers/error_observer.d.ts +75 -0
- package/dist/observers/error_observer.js +87 -0
- package/dist/observers/function_call_observer.d.ts +157 -0
- package/dist/observers/function_call_observer.js +222 -0
- package/dist/observers/index.d.ts +2 -0
- package/dist/observers/index.js +8 -0
- package/dist/observers/loggers/debug_log_observer.d.ts +91 -0
- package/dist/observers/loggers/debug_log_observer.js +228 -0
- package/dist/observers/loggers/index.d.ts +2 -0
- package/dist/observers/loggers/index.js +8 -0
- package/dist/observers/loggers/llm_log_observer.d.ts +24 -0
- package/dist/observers/loggers/llm_log_observer.js +110 -0
- package/dist/observers/loggers/metrics_log_observer.d.ts +85 -0
- package/dist/observers/loggers/metrics_log_observer.js +186 -0
- package/dist/observers/loggers/transcription_log_observer.d.ts +23 -0
- package/dist/observers/loggers/transcription_log_observer.js +74 -0
- package/dist/observers/service_metrics_observer.d.ts +168 -0
- package/dist/observers/service_metrics_observer.js +236 -0
- package/dist/observers/speaking_observer.d.ts +104 -0
- package/dist/observers/speaking_observer.js +150 -0
- package/dist/observers/startup_timing_observer.d.ts +221 -0
- package/dist/observers/startup_timing_observer.js +365 -0
- package/dist/observers/turn_tracking_observer.d.ts +78 -0
- package/dist/observers/turn_tracking_observer.js +189 -0
- package/dist/observers/user_bot_latency_observer.d.ts +411 -0
- package/dist/observers/user_bot_latency_observer.js +974 -0
- package/dist/pipeline/base_pipeline.d.ts +49 -0
- package/dist/pipeline/base_pipeline.js +101 -0
- package/dist/pipeline/capabilities.d.ts +76 -0
- package/dist/pipeline/capabilities.js +97 -0
- package/dist/pipeline/index.d.ts +2 -0
- package/dist/pipeline/index.js +8 -0
- package/dist/pipeline/job_context.d.ts +317 -0
- package/dist/pipeline/job_context.js +450 -0
- package/dist/pipeline/job_decorator.d.ts +54 -0
- package/dist/pipeline/job_decorator.js +92 -0
- package/dist/pipeline/llm_switcher.d.ts +84 -0
- package/dist/pipeline/llm_switcher.js +107 -0
- package/dist/pipeline/llm_with_backend.d.ts +435 -0
- package/dist/pipeline/llm_with_backend.js +806 -0
- package/dist/pipeline/parallel_pipeline.d.ts +83 -0
- package/dist/pipeline/parallel_pipeline.js +200 -0
- package/dist/pipeline/pipeline.d.ts +126 -0
- package/dist/pipeline/pipeline.js +196 -0
- package/dist/pipeline/service_switcher.d.ts +287 -0
- package/dist/pipeline/service_switcher.js +509 -0
- package/dist/pipeline/sync_parallel_pipeline.d.ts +192 -0
- package/dist/pipeline/sync_parallel_pipeline.js +387 -0
- package/dist/pipeline/worker.d.ts +821 -0
- package/dist/pipeline/worker.js +1656 -0
- package/dist/pipeline/worker_observer.d.ts +131 -0
- package/dist/pipeline/worker_observer.js +274 -0
- package/dist/pipeline/worker_ready_decorator.d.ts +45 -0
- package/dist/pipeline/worker_ready_decorator.js +76 -0
- package/dist/processors/aggregators/async_tool_messages.d.ts +146 -0
- package/dist/processors/aggregators/async_tool_messages.js +291 -0
- package/dist/processors/aggregators/dtmf_aggregator.d.ts +61 -0
- package/dist/processors/aggregators/dtmf_aggregator.js +144 -0
- package/dist/processors/aggregators/gated.d.ts +43 -0
- package/dist/processors/aggregators/gated.js +86 -0
- package/dist/processors/aggregators/gated_llm_context.d.ts +42 -0
- package/dist/processors/aggregators/gated_llm_context.js +86 -0
- package/dist/processors/aggregators/index.d.ts +2 -0
- package/dist/processors/aggregators/index.js +8 -0
- package/dist/processors/aggregators/llm_context.d.ts +370 -0
- package/dist/processors/aggregators/llm_context.js +580 -0
- package/dist/processors/aggregators/llm_context_summarizer.d.ts +219 -0
- package/dist/processors/aggregators/llm_context_summarizer.js +447 -0
- package/dist/processors/aggregators/llm_response.d.ts +37 -0
- package/dist/processors/aggregators/llm_response.js +71 -0
- package/dist/processors/aggregators/llm_response_universal.d.ts +966 -0
- package/dist/processors/aggregators/llm_response_universal.js +2394 -0
- package/dist/processors/aggregators/llm_text_processor.d.ts +53 -0
- package/dist/processors/aggregators/llm_text_processor.js +102 -0
- package/dist/processors/aggregators/sentence.d.ts +39 -0
- package/dist/processors/aggregators/sentence.js +69 -0
- package/dist/processors/async_generator.d.ts +42 -0
- package/dist/processors/async_generator.js +76 -0
- package/dist/processors/audio/audio_buffer_processor.d.ts +241 -0
- package/dist/processors/audio/audio_buffer_processor.js +565 -0
- package/dist/processors/audio/index.d.ts +2 -0
- package/dist/processors/audio/index.js +8 -0
- package/dist/processors/audio/vad_processor.d.ts +67 -0
- package/dist/processors/audio/vad_processor.js +103 -0
- package/dist/processors/consumer_processor.d.ts +49 -0
- package/dist/processors/consumer_processor.js +85 -0
- package/dist/processors/filters/frame_filter.d.ts +39 -0
- package/dist/processors/filters/frame_filter.js +52 -0
- package/dist/processors/filters/function_filter.d.ts +59 -0
- package/dist/processors/filters/function_filter.js +78 -0
- package/dist/processors/filters/identity_filter.d.ts +33 -0
- package/dist/processors/filters/identity_filter.js +37 -0
- package/dist/processors/filters/index.d.ts +2 -0
- package/dist/processors/filters/index.js +8 -0
- package/dist/processors/filters/null_filter.d.ts +34 -0
- package/dist/processors/filters/null_filter.js +47 -0
- package/dist/processors/filters/wake_notifier_filter.d.ts +48 -0
- package/dist/processors/filters/wake_notifier_filter.js +49 -0
- package/dist/processors/frame_processor.d.ts +360 -0
- package/dist/processors/frame_processor.js +932 -0
- package/dist/processors/frameworks/index.d.ts +2 -0
- package/dist/processors/frameworks/index.js +8 -0
- package/dist/processors/frameworks/rtvi/frames.d.ts +241 -0
- package/dist/processors/frameworks/rtvi/frames.js +259 -0
- package/dist/processors/frameworks/rtvi/index.d.ts +6 -0
- package/dist/processors/frameworks/rtvi/index.js +11 -0
- package/dist/processors/frameworks/rtvi/models.d.ts +1741 -0
- package/dist/processors/frameworks/rtvi/models.js +1807 -0
- package/dist/processors/frameworks/rtvi/observer.d.ts +340 -0
- package/dist/processors/frameworks/rtvi/observer.js +1113 -0
- package/dist/processors/frameworks/rtvi/processor.d.ts +182 -0
- package/dist/processors/frameworks/rtvi/processor.js +676 -0
- package/dist/processors/idle_frame_processor.d.ts +44 -0
- package/dist/processors/idle_frame_processor.js +86 -0
- package/dist/processors/index.d.ts +2 -0
- package/dist/processors/index.js +8 -0
- package/dist/processors/logger.d.ts +42 -0
- package/dist/processors/logger.js +87 -0
- package/dist/processors/metrics/frame_processor_metrics.d.ts +172 -0
- package/dist/processors/metrics/frame_processor_metrics.js +372 -0
- package/dist/processors/metrics/index.d.ts +2 -0
- package/dist/processors/metrics/index.js +8 -0
- package/dist/processors/producer_processor.d.ts +68 -0
- package/dist/processors/producer_processor.js +78 -0
- package/dist/processors/text_transformer.d.ts +30 -0
- package/dist/processors/text_transformer.js +48 -0
- package/dist/registry/index.d.ts +3 -0
- package/dist/registry/index.js +8 -0
- package/dist/registry/registry.d.ts +69 -0
- package/dist/registry/registry.js +149 -0
- package/dist/registry/types.d.ts +47 -0
- package/dist/registry/types.js +39 -0
- package/dist/serializers/base_serializer.d.ts +94 -0
- package/dist/serializers/base_serializer.js +82 -0
- package/dist/serializers/index.d.ts +2 -0
- package/dist/serializers/index.js +8 -0
- package/dist/services/ai_service.d.ts +145 -0
- package/dist/services/ai_service.js +262 -0
- package/dist/services/anthropic/index.d.ts +2 -0
- package/dist/services/anthropic/index.js +7 -0
- package/dist/services/assemblyai/index.d.ts +2 -0
- package/dist/services/assemblyai/index.js +7 -0
- package/dist/services/asyncai/index.d.ts +2 -0
- package/dist/services/asyncai/index.js +7 -0
- package/dist/services/aws/index.d.ts +2 -0
- package/dist/services/aws/index.js +7 -0
- package/dist/services/azure/index.d.ts +2 -0
- package/dist/services/azure/index.js +7 -0
- package/dist/services/baseten/index.d.ts +2 -0
- package/dist/services/baseten/index.js +7 -0
- package/dist/services/bland/index.d.ts +2 -0
- package/dist/services/bland/index.js +7 -0
- package/dist/services/camb/index.d.ts +2 -0
- package/dist/services/camb/index.js +7 -0
- package/dist/services/cartesia/index.d.ts +2 -0
- package/dist/services/cartesia/index.js +7 -0
- package/dist/services/cerebras/index.d.ts +2 -0
- package/dist/services/cerebras/index.js +7 -0
- package/dist/services/crusoe/index.d.ts +2 -0
- package/dist/services/crusoe/index.js +7 -0
- package/dist/services/deepgram/index.d.ts +2 -0
- package/dist/services/deepgram/index.js +7 -0
- package/dist/services/deepseek/index.d.ts +2 -0
- package/dist/services/deepseek/index.js +7 -0
- package/dist/services/elevenlabs/index.d.ts +2 -0
- package/dist/services/elevenlabs/index.js +7 -0
- package/dist/services/fal/index.d.ts +2 -0
- package/dist/services/fal/index.js +7 -0
- package/dist/services/fireworks/index.d.ts +2 -0
- package/dist/services/fireworks/index.js +7 -0
- package/dist/services/fish/index.d.ts +2 -0
- package/dist/services/fish/index.js +7 -0
- package/dist/services/funasr/index.d.ts +3 -0
- package/dist/services/funasr/index.js +8 -0
- package/dist/services/gladia/index.d.ts +2 -0
- package/dist/services/gladia/index.js +7 -0
- package/dist/services/google/index.d.ts +2 -0
- package/dist/services/google/index.js +7 -0
- package/dist/services/gradium/index.d.ts +2 -0
- package/dist/services/gradium/index.js +7 -0
- package/dist/services/grok/index.d.ts +2 -0
- package/dist/services/grok/index.js +7 -0
- package/dist/services/groq/index.d.ts +2 -0
- package/dist/services/groq/index.js +7 -0
- package/dist/services/heygen/index.d.ts +2 -0
- package/dist/services/heygen/index.js +7 -0
- package/dist/services/hume/index.d.ts +2 -0
- package/dist/services/hume/index.js +7 -0
- package/dist/services/image_service.d.ts +52 -0
- package/dist/services/image_service.js +60 -0
- package/dist/services/inception/index.d.ts +2 -0
- package/dist/services/inception/index.js +7 -0
- package/dist/services/index.d.ts +2 -0
- package/dist/services/index.js +8 -0
- package/dist/services/inworld/index.d.ts +2 -0
- package/dist/services/inworld/index.js +7 -0
- package/dist/services/keenable/index.d.ts +2 -0
- package/dist/services/keenable/index.js +7 -0
- package/dist/services/kokoro/index.d.ts +2 -0
- package/dist/services/kokoro/index.js +7 -0
- package/dist/services/llm_service.d.ts +1106 -0
- package/dist/services/llm_service.js +2231 -0
- package/dist/services/mem0/index.d.ts +2 -0
- package/dist/services/mem0/index.js +7 -0
- package/dist/services/meta/index.d.ts +2 -0
- package/dist/services/meta/index.js +7 -0
- package/dist/services/minimax/index.d.ts +2 -0
- package/dist/services/minimax/index.js +7 -0
- package/dist/services/mistral/index.d.ts +2 -0
- package/dist/services/mistral/index.js +7 -0
- package/dist/services/moondream/index.d.ts +2 -0
- package/dist/services/moondream/index.js +7 -0
- package/dist/services/moonshine/index.d.ts +2 -0
- package/dist/services/moonshine/index.js +7 -0
- package/dist/services/nebius/index.d.ts +2 -0
- package/dist/services/nebius/index.js +7 -0
- package/dist/services/neuphonic/index.d.ts +2 -0
- package/dist/services/neuphonic/index.js +7 -0
- package/dist/services/novita/index.d.ts +2 -0
- package/dist/services/novita/index.js +7 -0
- package/dist/services/nvidia/index.d.ts +2 -0
- package/dist/services/nvidia/index.js +11 -0
- package/dist/services/ollama/index.d.ts +2 -0
- package/dist/services/ollama/index.js +7 -0
- package/dist/services/openai/index.d.ts +2 -0
- package/dist/services/openai/index.js +7 -0
- package/dist/services/openclaw/index.d.ts +14 -0
- package/dist/services/openclaw/index.js +19 -0
- package/dist/services/openrouter/index.d.ts +2 -0
- package/dist/services/openrouter/index.js +7 -0
- package/dist/services/perplexity/index.d.ts +2 -0
- package/dist/services/perplexity/index.js +7 -0
- package/dist/services/piper/index.d.ts +2 -0
- package/dist/services/piper/index.js +7 -0
- package/dist/services/pocket_tts/index.d.ts +2 -0
- package/dist/services/pocket_tts/index.js +7 -0
- package/dist/services/qwen/index.d.ts +2 -0
- package/dist/services/qwen/index.js +7 -0
- package/dist/services/resembleai/index.d.ts +2 -0
- package/dist/services/resembleai/index.js +7 -0
- package/dist/services/rime/index.d.ts +2 -0
- package/dist/services/rime/index.js +7 -0
- package/dist/services/sambanova/index.d.ts +2 -0
- package/dist/services/sambanova/index.js +7 -0
- package/dist/services/sarvam/index.d.ts +2 -0
- package/dist/services/sarvam/index.js +7 -0
- package/dist/services/settings.d.ts +356 -0
- package/dist/services/settings.js +437 -0
- package/dist/services/simli/index.d.ts +2 -0
- package/dist/services/simli/index.js +7 -0
- package/dist/services/smallest/index.d.ts +2 -0
- package/dist/services/smallest/index.js +7 -0
- package/dist/services/soniox/index.d.ts +2 -0
- package/dist/services/soniox/index.js +7 -0
- package/dist/services/speechify/index.d.ts +2 -0
- package/dist/services/speechify/index.js +7 -0
- package/dist/services/speechmatics/index.d.ts +2 -0
- package/dist/services/speechmatics/index.js +7 -0
- package/dist/services/stt_latency.d.ts +62 -0
- package/dist/services/stt_latency.js +71 -0
- package/dist/services/stt_service.d.ts +601 -0
- package/dist/services/stt_service.js +1044 -0
- package/dist/services/tavus/index.d.ts +2 -0
- package/dist/services/tavus/index.js +7 -0
- package/dist/services/together/index.d.ts +2 -0
- package/dist/services/together/index.js +7 -0
- package/dist/services/tts_service.d.ts +909 -0
- package/dist/services/tts_service.js +2018 -0
- package/dist/services/ultravox/index.d.ts +2 -0
- package/dist/services/ultravox/index.js +9 -0
- package/dist/services/vision_service.d.ts +56 -0
- package/dist/services/vision_service.js +62 -0
- package/dist/services/websocket_service.d.ts +213 -0
- package/dist/services/websocket_service.js +654 -0
- package/dist/services/whisper/index.d.ts +2 -0
- package/dist/services/whisper/index.js +9 -0
- package/dist/services/xai/index.d.ts +2 -0
- package/dist/services/xai/index.js +9 -0
- package/dist/services/xtts/index.d.ts +2 -0
- package/dist/services/xtts/index.js +9 -0
- package/dist/tests/index.d.ts +2 -0
- package/dist/tests/index.js +8 -0
- package/dist/tests/utils.d.ts +123 -0
- package/dist/tests/utils.js +212 -0
- package/dist/transcriptions/index.d.ts +2 -0
- package/dist/transcriptions/index.js +8 -0
- package/dist/transcriptions/language.d.ts +376 -0
- package/dist/transcriptions/language.js +543 -0
- package/dist/transports/base_input.d.ts +149 -0
- package/dist/transports/base_input.js +338 -0
- package/dist/transports/base_output.d.ts +432 -0
- package/dist/transports/base_output.js +1231 -0
- package/dist/transports/base_transport.d.ts +223 -0
- package/dist/transports/base_transport.js +167 -0
- package/dist/transports/daily/index.d.ts +2 -0
- package/dist/transports/daily/index.js +9 -0
- package/dist/transports/heygen/index.d.ts +2 -0
- package/dist/transports/heygen/index.js +9 -0
- package/dist/transports/index.d.ts +2 -0
- package/dist/transports/index.js +8 -0
- package/dist/transports/lemonslice/index.d.ts +2 -0
- package/dist/transports/lemonslice/index.js +9 -0
- package/dist/transports/livekit/index.d.ts +2 -0
- package/dist/transports/livekit/index.js +9 -0
- package/dist/transports/local/index.d.ts +2 -0
- package/dist/transports/local/index.js +9 -0
- package/dist/transports/moq/index.d.ts +2 -0
- package/dist/transports/moq/index.js +9 -0
- package/dist/transports/smallwebrtc/index.d.ts +2 -0
- package/dist/transports/smallwebrtc/index.js +9 -0
- package/dist/transports/tavus/index.d.ts +2 -0
- package/dist/transports/tavus/index.js +9 -0
- package/dist/transports/video_in_sampler.d.ts +157 -0
- package/dist/transports/video_in_sampler.js +258 -0
- package/dist/transports/vonage/index.d.ts +2 -0
- package/dist/transports/vonage/index.js +9 -0
- package/dist/transports/websocket/index.d.ts +2 -0
- package/dist/transports/websocket/index.js +9 -0
- package/dist/transports/whatsapp/index.d.ts +2 -0
- package/dist/transports/whatsapp/index.js +9 -0
- package/dist/turns/eager_end_of_turn_mixin.d.ts +70 -0
- package/dist/turns/eager_end_of_turn_mixin.js +122 -0
- package/dist/turns/empty_user_turn.d.ts +55 -0
- package/dist/turns/empty_user_turn.js +53 -0
- package/dist/turns/index.d.ts +2 -0
- package/dist/turns/index.js +8 -0
- package/dist/turns/speculation_gate.d.ts +169 -0
- package/dist/turns/speculation_gate.js +294 -0
- package/dist/turns/types.d.ts +33 -0
- package/dist/turns/types.js +35 -0
- package/dist/turns/user_idle_controller.d.ts +94 -0
- package/dist/turns/user_idle_controller.js +187 -0
- package/dist/turns/user_mute/always_user_mute_strategy.d.ts +15 -0
- package/dist/turns/user_mute/always_user_mute_strategy.js +29 -0
- package/dist/turns/user_mute/base_user_mute_strategy.d.ts +39 -0
- package/dist/turns/user_mute/base_user_mute_strategy.js +45 -0
- package/dist/turns/user_mute/first_speech_user_mute_strategy.d.ts +28 -0
- package/dist/turns/user_mute/first_speech_user_mute_strategy.js +52 -0
- package/dist/turns/user_mute/function_call_user_mute_strategy.d.ts +25 -0
- package/dist/turns/user_mute/function_call_user_mute_strategy.js +50 -0
- package/dist/turns/user_mute/index.d.ts +6 -0
- package/dist/turns/user_mute/index.js +11 -0
- package/dist/turns/user_mute/mute_until_first_bot_complete_user_mute_strategy.d.ts +43 -0
- package/dist/turns/user_mute/mute_until_first_bot_complete_user_mute_strategy.js +76 -0
- package/dist/turns/user_start/base_user_turn_start_strategy.d.ts +135 -0
- package/dist/turns/user_start/base_user_turn_start_strategy.js +134 -0
- package/dist/turns/user_start/external_user_turn_start_strategy.d.ts +45 -0
- package/dist/turns/user_start/external_user_turn_start_strategy.js +64 -0
- package/dist/turns/user_start/index.d.ts +8 -0
- package/dist/turns/user_start/index.js +16 -0
- package/dist/turns/user_start/krisp_viva_ip_user_turn_start_strategy.d.ts +133 -0
- package/dist/turns/user_start/krisp_viva_ip_user_turn_start_strategy.js +243 -0
- package/dist/turns/user_start/min_words_user_turn_start_strategy.d.ts +60 -0
- package/dist/turns/user_start/min_words_user_turn_start_strategy.js +102 -0
- package/dist/turns/user_start/transcription_user_turn_start_strategy.d.ts +29 -0
- package/dist/turns/user_start/transcription_user_turn_start_strategy.js +43 -0
- package/dist/turns/user_start/vad_user_turn_start_strategy.d.ts +20 -0
- package/dist/turns/user_start/vad_user_turn_start_strategy.js +31 -0
- package/dist/turns/user_start/wake_phrase_user_turn_start_strategy.d.ts +141 -0
- package/dist/turns/user_start/wake_phrase_user_turn_start_strategy.js +238 -0
- package/dist/turns/user_stop/base_user_turn_stop_strategy.d.ts +174 -0
- package/dist/turns/user_stop/base_user_turn_stop_strategy.js +170 -0
- package/dist/turns/user_stop/deferred_user_turn_stop_strategy.d.ts +81 -0
- package/dist/turns/user_stop/deferred_user_turn_stop_strategy.js +107 -0
- package/dist/turns/user_stop/eager_match_policy.d.ts +36 -0
- package/dist/turns/user_stop/eager_match_policy.js +50 -0
- package/dist/turns/user_stop/eager_user_turn_stop_strategy.d.ts +84 -0
- package/dist/turns/user_stop/eager_user_turn_stop_strategy.js +154 -0
- package/dist/turns/user_stop/external_user_turn_completion_stop_strategy.d.ts +45 -0
- package/dist/turns/user_stop/external_user_turn_completion_stop_strategy.js +55 -0
- package/dist/turns/user_stop/external_user_turn_stop_strategy.d.ts +115 -0
- package/dist/turns/user_stop/external_user_turn_stop_strategy.js +205 -0
- package/dist/turns/user_stop/index.d.ts +10 -0
- package/dist/turns/user_stop/index.js +15 -0
- package/dist/turns/user_stop/llm_turn_completion_user_turn_stop_strategy.d.ts +44 -0
- package/dist/turns/user_stop/llm_turn_completion_user_turn_stop_strategy.js +59 -0
- package/dist/turns/user_stop/speech_timeout_user_turn_stop_strategy.d.ts +140 -0
- package/dist/turns/user_stop/speech_timeout_user_turn_stop_strategy.js +303 -0
- package/dist/turns/user_stop/turn_analyzer_user_turn_stop_strategy.d.ts +135 -0
- package/dist/turns/user_stop/turn_analyzer_user_turn_stop_strategy.js +332 -0
- package/dist/turns/user_turn_completion_mixin.d.ts +147 -0
- package/dist/turns/user_turn_completion_mixin.js +591 -0
- package/dist/turns/user_turn_controller.d.ts +134 -0
- package/dist/turns/user_turn_controller.js +335 -0
- package/dist/turns/user_turn_processor.d.ts +87 -0
- package/dist/turns/user_turn_processor.js +180 -0
- package/dist/turns/user_turn_strategies.d.ts +187 -0
- package/dist/turns/user_turn_strategies.js +222 -0
- package/dist/utils/async_tool_cancellation.d.ts +35 -0
- package/dist/utils/async_tool_cancellation.js +78 -0
- package/dist/utils/asyncio/index.d.ts +2 -0
- package/dist/utils/asyncio/index.js +7 -0
- package/dist/utils/asyncio/task_manager.d.ts +49 -0
- package/dist/utils/asyncio/task_manager.js +105 -0
- package/dist/utils/base_object.d.ts +76 -0
- package/dist/utils/base_object.js +154 -0
- package/dist/utils/context/aggregated_frame_sequencer.d.ts +491 -0
- package/dist/utils/context/aggregated_frame_sequencer.js +803 -0
- package/dist/utils/context/audio_context_manager.d.ts +131 -0
- package/dist/utils/context/audio_context_manager.js +233 -0
- package/dist/utils/context/index.d.ts +2 -0
- package/dist/utils/context/index.js +7 -0
- package/dist/utils/context/llm_context_summarization.d.ts +258 -0
- package/dist/utils/context/llm_context_summarization.js +511 -0
- package/dist/utils/context/text_segment_map.d.ts +611 -0
- package/dist/utils/context/text_segment_map.js +1132 -0
- package/dist/utils/context/word_completion_tracker.d.ts +273 -0
- package/dist/utils/context/word_completion_tracker.js +441 -0
- package/dist/utils/context/word_timestamp_tracker.d.ts +72 -0
- package/dist/utils/context/word_timestamp_tracker.js +98 -0
- package/dist/utils/deprecation.d.ts +28 -0
- package/dist/utils/deprecation.js +75 -0
- package/dist/utils/env.d.ts +38 -0
- package/dist/utils/env.js +62 -0
- package/dist/utils/errors.d.ts +75 -0
- package/dist/utils/errors.js +202 -0
- package/dist/utils/file_resolver.d.ts +126 -0
- package/dist/utils/file_resolver.js +314 -0
- package/dist/utils/file_storage.d.ts +115 -0
- package/dist/utils/file_storage.js +178 -0
- package/dist/utils/frame_queue.d.ts +36 -0
- package/dist/utils/frame_queue.js +66 -0
- package/dist/utils/http.d.ts +39 -0
- package/dist/utils/http.js +53 -0
- package/dist/utils/image.d.ts +14 -0
- package/dist/utils/image.js +63 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.js +8 -0
- package/dist/utils/jpeg_encoder.d.ts +14 -0
- package/dist/utils/jpeg_encoder.js +315 -0
- package/dist/utils/log_config.d.ts +34 -0
- package/dist/utils/log_config.js +76 -0
- package/dist/utils/logger.d.ts +40 -0
- package/dist/utils/logger.js +91 -0
- package/dist/utils/mixin.d.ts +14 -0
- package/dist/utils/mixin.js +63 -0
- package/dist/utils/network.d.ts +73 -0
- package/dist/utils/network.js +90 -0
- package/dist/utils/security/allowed_origins.d.ts +16 -0
- package/dist/utils/security/allowed_origins.js +34 -0
- package/dist/utils/security/index.d.ts +2 -0
- package/dist/utils/security/index.js +7 -0
- package/dist/utils/security/redaction.d.ts +27 -0
- package/dist/utils/security/redaction.js +123 -0
- package/dist/utils/security/ssrf.d.ts +79 -0
- package/dist/utils/security/ssrf.js +327 -0
- package/dist/utils/shared.d.ts +35 -0
- package/dist/utils/shared.js +136 -0
- package/dist/utils/startup.d.ts +17 -0
- package/dist/utils/startup.js +130 -0
- package/dist/utils/string.d.ts +116 -0
- package/dist/utils/string.js +460 -0
- package/dist/utils/sync/base_notifier.d.ts +25 -0
- package/dist/utils/sync/base_notifier.js +16 -0
- package/dist/utils/sync/event_notifier.d.ts +38 -0
- package/dist/utils/sync/event_notifier.js +51 -0
- package/dist/utils/sync/index.d.ts +2 -0
- package/dist/utils/sync/index.js +7 -0
- package/dist/utils/text/alnum_utils.d.ts +109 -0
- package/dist/utils/text/alnum_utils.js +262 -0
- package/dist/utils/text/base_text_aggregator.d.ts +146 -0
- package/dist/utils/text/base_text_aggregator.js +102 -0
- package/dist/utils/text/base_text_filter.d.ts +54 -0
- package/dist/utils/text/base_text_filter.js +50 -0
- package/dist/utils/text/index.d.ts +2 -0
- package/dist/utils/text/index.js +7 -0
- package/dist/utils/text/markdown_text_filter.d.ts +147 -0
- package/dist/utils/text/markdown_text_filter.js +522 -0
- package/dist/utils/text/markup_utils.d.ts +54 -0
- package/dist/utils/text/markup_utils.js +156 -0
- package/dist/utils/text/pattern_pair_aggregator.d.ts +251 -0
- package/dist/utils/text/pattern_pair_aggregator.js +478 -0
- package/dist/utils/text/phonemes.d.ts +60 -0
- package/dist/utils/text/phonemes.js +172 -0
- package/dist/utils/text/simple_text_aggregator.d.ts +135 -0
- package/dist/utils/text/simple_text_aggregator.js +254 -0
- package/dist/utils/text/skip_tags_aggregator.d.ts +85 -0
- package/dist/utils/text/skip_tags_aggregator.js +147 -0
- package/dist/utils/text/transforms/acronyms.d.ts +21 -0
- package/dist/utils/text/transforms/acronyms.js +31 -0
- package/dist/utils/text/transforms/currency.d.ts +16 -0
- package/dist/utils/text/transforms/currency.js +56 -0
- package/dist/utils/text/transforms/dates.d.ts +18 -0
- package/dist/utils/text/transforms/dates.js +102 -0
- package/dist/utils/text/transforms/email.d.ts +17 -0
- package/dist/utils/text/transforms/email.js +35 -0
- package/dist/utils/text/transforms/index.d.ts +37 -0
- package/dist/utils/text/transforms/index.js +42 -0
- package/dist/utils/text/transforms/numbers.d.ts +25 -0
- package/dist/utils/text/transforms/numbers.js +59 -0
- package/dist/utils/text/transforms/percentages.d.ts +16 -0
- package/dist/utils/text/transforms/percentages.js +32 -0
- package/dist/utils/text/transforms/phone.d.ts +21 -0
- package/dist/utils/text/transforms/phone.js +39 -0
- package/dist/utils/text/transforms/pronunciations.d.ts +65 -0
- package/dist/utils/text/transforms/pronunciations.js +112 -0
- package/dist/utils/text/transforms/replacements.d.ts +39 -0
- package/dist/utils/text/transforms/replacements.js +46 -0
- package/dist/utils/text/transforms/strip_markdown.d.ts +25 -0
- package/dist/utils/text/transforms/strip_markdown.js +60 -0
- package/dist/utils/text/transforms/units.d.ts +22 -0
- package/dist/utils/text/transforms/units.js +81 -0
- package/dist/utils/text/transforms/voice_formatter.d.ts +86 -0
- package/dist/utils/text/transforms/voice_formatter.js +98 -0
- package/dist/utils/text/unicode_digits.d.ts +3 -0
- package/dist/utils/text/unicode_digits.js +34 -0
- package/dist/utils/text/word_timestamp_utils.d.ts +26 -0
- package/dist/utils/text/word_timestamp_utils.js +52 -0
- package/dist/utils/time.d.ts +13 -0
- package/dist/utils/time.js +31 -0
- package/dist/utils/tracing/index.d.ts +3 -0
- package/dist/utils/tracing/index.js +8 -0
- package/dist/utils/tracing/service_attributes.d.ts +198 -0
- package/dist/utils/tracing/service_attributes.js +434 -0
- package/dist/utils/tracing/service_decorators.d.ts +214 -0
- package/dist/utils/tracing/service_decorators.js +1662 -0
- package/dist/utils/tracing/setup.d.ts +107 -0
- package/dist/utils/tracing/setup.js +160 -0
- package/dist/utils/tracing/tracing_context.d.ts +55 -0
- package/dist/utils/tracing/tracing_context.js +97 -0
- package/dist/utils/tracing/turn_trace_observer.d.ts +95 -0
- package/dist/utils/tracing/turn_trace_observer.js +233 -0
- package/dist/utils/types.d.ts +80 -0
- package/dist/utils/types.js +108 -0
- package/dist/utils/utils.d.ts +5 -0
- package/dist/utils/utils.js +22 -0
- package/dist/utils/yaml.d.ts +179 -0
- package/dist/utils/yaml.js +556 -0
- package/dist/version.d.ts +3 -0
- package/dist/version.js +7 -0
- package/dist/workers/base_worker.d.ts +772 -0
- package/dist/workers/base_worker.js +1298 -0
- package/dist/workers/index.d.ts +2 -0
- package/dist/workers/index.js +8 -0
- package/dist/workers/llm/backend_llm_worker.d.ts +552 -0
- package/dist/workers/llm/backend_llm_worker.js +1055 -0
- package/dist/workers/llm/index.d.ts +6 -0
- package/dist/workers/llm/index.js +11 -0
- package/dist/workers/llm/llm_context_worker.d.ts +66 -0
- package/dist/workers/llm/llm_context_worker.js +72 -0
- package/dist/workers/llm/llm_worker.d.ts +180 -0
- package/dist/workers/llm/llm_worker.js +323 -0
- package/dist/workers/llm/tool_decorator.d.ts +68 -0
- package/dist/workers/llm/tool_decorator.js +60 -0
- package/dist/workers/proxy/index.d.ts +3 -0
- package/dist/workers/proxy/index.js +9 -0
- package/dist/workers/proxy/websocket/client.d.ts +110 -0
- package/dist/workers/proxy/websocket/client.js +196 -0
- package/dist/workers/proxy/websocket/index.d.ts +3 -0
- package/dist/workers/proxy/websocket/index.js +10 -0
- package/dist/workers/runner.d.ts +268 -0
- package/dist/workers/runner.js +489 -0
- package/dist/workers/ui/index.d.ts +22 -0
- package/dist/workers/ui/index.js +27 -0
- package/dist/workers/ui/ui_event_decorator.d.ts +43 -0
- package/dist/workers/ui/ui_event_decorator.js +75 -0
- package/dist/workers/ui/ui_job_context.d.ts +12 -0
- package/dist/workers/ui/ui_job_context.js +17 -0
- package/dist/workers/ui/ui_prompts.d.ts +21 -0
- package/dist/workers/ui/ui_prompts.js +41 -0
- package/dist/workers/ui/ui_tools.d.ts +32 -0
- package/dist/workers/ui/ui_tools.js +112 -0
- package/dist/workers/ui/ui_worker.d.ts +571 -0
- package/dist/workers/ui/ui_worker.js +1156 -0
- package/package.json +61 -3
- package/README.md +0 -5
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
import { AudioVolumeTracker } from "../../../audio/volume.ts";
|
|
2
|
+
import { AggregatedTextFrame, AggregatedTextProgressFrame, type Frame, InterimTranscriptionFrame, LLMContextFrame, LLMTextFrame, MetricsFrame, TextType, TranscriptionFrame } from "../../../frames/frames.ts";
|
|
3
|
+
import { BaseObserver, type BaseObserverOptions, type FramePushed } from "../../../observers/base_observer.ts";
|
|
4
|
+
import { type FrameProcessor } from "../../frame_processor.ts";
|
|
5
|
+
import { RTVIConfigureObserverFrame, RTVIServerResponseFrame } from "./frames.ts";
|
|
6
|
+
import * as RTVI from "./models.ts";
|
|
7
|
+
import { BotOutputTransformResult } from "./models.ts";
|
|
8
|
+
import type { RTVIModelLike, RTVIProcessor } from "./processor.ts";
|
|
9
|
+
/**
|
|
10
|
+
* Level of detail to include in function call RTVI events.
|
|
11
|
+
*
|
|
12
|
+
* Controls what information is exposed in function call events for security.
|
|
13
|
+
*
|
|
14
|
+
* - DISABLED: No events emitted for this function call.
|
|
15
|
+
* - NONE: Events only with tool_call_id, no function name or metadata (most secure).
|
|
16
|
+
* - NAME: Events with function name, no arguments or results.
|
|
17
|
+
* - ARGUMENTS: Events with function name and arguments, no results.
|
|
18
|
+
* - FULL: Events with function name, arguments, and results.
|
|
19
|
+
*/
|
|
20
|
+
export declare const RTVIFunctionCallReportLevel: {
|
|
21
|
+
readonly DISABLED: "disabled";
|
|
22
|
+
readonly NONE: "none";
|
|
23
|
+
readonly NAME: "name";
|
|
24
|
+
readonly ARGUMENTS: "arguments";
|
|
25
|
+
readonly FULL: "full";
|
|
26
|
+
};
|
|
27
|
+
export type RTVIFunctionCallReportLevel = (typeof RTVIFunctionCallReportLevel)[keyof typeof RTVIFunctionCallReportLevel];
|
|
28
|
+
/**
|
|
29
|
+
* A bot output transform.
|
|
30
|
+
*
|
|
31
|
+
* When `accumulatedText` and `remainingText` are null the transform is being
|
|
32
|
+
* called for the full segment text (from `bot-output`). When they are
|
|
33
|
+
* provided the transform is being called for a progress event and must return
|
|
34
|
+
* a `BotOutputTransformResult` with `accumulatedText` and `remainingText` set.
|
|
35
|
+
*/
|
|
36
|
+
export type BotOutputTransform = (text: string, textType: TextType | string, accumulatedText: string | null, remainingText: string | null) => Promise<BotOutputTransformResult | string>;
|
|
37
|
+
/** Options for `RTVIObserverParams`. Every field is optional. */
|
|
38
|
+
export interface RTVIObserverParamsOptions {
|
|
39
|
+
botOutputEnabled?: boolean;
|
|
40
|
+
botLlmEnabled?: boolean;
|
|
41
|
+
botLlmMarkerEnabled?: boolean;
|
|
42
|
+
botTtsEnabled?: boolean;
|
|
43
|
+
botSpeakingEnabled?: boolean;
|
|
44
|
+
botAudioLevelEnabled?: boolean;
|
|
45
|
+
userLlmEnabled?: boolean;
|
|
46
|
+
userSpeakingEnabled?: boolean;
|
|
47
|
+
vadUserSpeakingEnabled?: boolean;
|
|
48
|
+
userMuteEnabled?: boolean;
|
|
49
|
+
userInputEnabled?: boolean;
|
|
50
|
+
userAudioLevelEnabled?: boolean;
|
|
51
|
+
metricsEnabled?: boolean;
|
|
52
|
+
systemLogsEnabled?: boolean;
|
|
53
|
+
sttRawTextEnabled?: boolean;
|
|
54
|
+
llmRawTextEnabled?: boolean;
|
|
55
|
+
ttsRawTextEnabled?: boolean;
|
|
56
|
+
ignoredSources?: FrameProcessor[];
|
|
57
|
+
skipTextTypes?: (TextType | string)[] | null;
|
|
58
|
+
botOutputTransforms?: [TextType | string, BotOutputTransform][] | null;
|
|
59
|
+
audioLevelPeriodSecs?: number;
|
|
60
|
+
functionCallReportLevel?: Record<string, RTVIFunctionCallReportLevel>;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Parameters for configuring RTVI Observer behavior.
|
|
64
|
+
*
|
|
65
|
+
* - `botOutputEnabled`: Indicates if bot output messages should be sent.
|
|
66
|
+
* - `botLlmEnabled`: Indicates if the bot's LLM messages should be sent. Of
|
|
67
|
+
* these, the `bot-llm-text` message is deprecated in favor of `llm-raw-text`
|
|
68
|
+
* (`llmRawTextEnabled`) and will be removed in 2.0.0. This flag stays, for
|
|
69
|
+
* `bot-llm-started` and `bot-llm-stopped`.
|
|
70
|
+
* - `botLlmMarkerEnabled`: Indicates if the bot's LLM marker reports
|
|
71
|
+
* (`LLMMarkerResponseFrame`, e.g. from `filterIncompleteUserTurns`) should
|
|
72
|
+
* be sent. A report carries the marker the LLM emitted and the raw text of
|
|
73
|
+
* the whole response, which is meant for evaluation, not for clients, so
|
|
74
|
+
* this is off by default. Defaults to false.
|
|
75
|
+
* - `botTtsEnabled`: Indicates if the bot's TTS messages should be sent. Of
|
|
76
|
+
* these, the `bot-tts-text` message is deprecated in favor of
|
|
77
|
+
* `tts-raw-text` (`ttsRawTextEnabled`) and will be removed in 2.0.0. This
|
|
78
|
+
* flag stays, for `bot-tts-started` and `bot-tts-stopped`.
|
|
79
|
+
* - `botSpeakingEnabled`: Indicates if the bot's started/stopped speaking and
|
|
80
|
+
* interrupted messages should be sent.
|
|
81
|
+
* - `botAudioLevelEnabled`: Indicates if bot's audio level messages should be sent.
|
|
82
|
+
* - `userLlmEnabled`: Indicates if the user's LLM input messages should be sent.
|
|
83
|
+
* - `userSpeakingEnabled`: Indicates if the user's started/stopped speaking
|
|
84
|
+
* messages should be sent.
|
|
85
|
+
* - `vadUserSpeakingEnabled`: Indicates if raw VAD user started/stopped
|
|
86
|
+
* speaking messages should be sent. These reflect the VAD signal directly,
|
|
87
|
+
* independent of turn finalization (unlike `userSpeakingEnabled`, which a
|
|
88
|
+
* turn strategy may gate or defer). Off by default. Defaults to false.
|
|
89
|
+
* - `userMuteEnabled`: Indicates if user mute started/stopped messages should be sent.
|
|
90
|
+
* - `userInputEnabled`: Indicates if the user's input messages should be sent.
|
|
91
|
+
* They report what the user said or typed: transcriptions, including
|
|
92
|
+
* interim ones, backchannels, and the text the client sent.
|
|
93
|
+
* - `userAudioLevelEnabled`: Indicates if user's audio level messages should be sent.
|
|
94
|
+
* - `metricsEnabled`: Indicates if metrics messages should be sent.
|
|
95
|
+
* - `systemLogsEnabled`: Indicates if system logs should be sent.
|
|
96
|
+
* - `sttRawTextEnabled`: Indicates if the STT's raw text messages should be
|
|
97
|
+
* sent. They report each transcription, interim ones included, as the STT
|
|
98
|
+
* produced it. Only sent to clients of protocol 2.2.0 or later. Defaults to false.
|
|
99
|
+
* - `llmRawTextEnabled`: Indicates if the LLM's raw text messages should be
|
|
100
|
+
* sent. They report each chunk of text the LLM streams. Only sent to
|
|
101
|
+
* clients of protocol 2.2.0 or later. Defaults to false.
|
|
102
|
+
* - `ttsRawTextEnabled`: Indicates if the TTS's raw text messages should be
|
|
103
|
+
* sent. They report the text the TTS speaks, as it is spoken, and leave out
|
|
104
|
+
* the same text types as bot output messages. Only sent to clients of
|
|
105
|
+
* protocol 2.2.0 or later. Defaults to false.
|
|
106
|
+
* - `ignoredSources`: List of frame processors whose frames should be
|
|
107
|
+
* silently ignored by this observer. Useful for suppressing RTVI messages
|
|
108
|
+
* from secondary pipeline branches (e.g. a silent evaluation LLM) that
|
|
109
|
+
* should not be visible to clients. Sources can also be added and removed
|
|
110
|
+
* dynamically via `addIgnoredSource()` and `removeIgnoredSource()`.
|
|
111
|
+
* - `skipTextTypes`: List of text types to skip sending as tts/output
|
|
112
|
+
* messages. Text of type `backchannel` is only sent to clients of protocol
|
|
113
|
+
* 2.2.0 or later; add `"backchannel"` here to keep it from every client.
|
|
114
|
+
* Note: if using this to avoid sending secure information, be sure to also
|
|
115
|
+
* disable botLlmEnabled, and leave llmRawTextEnabled off, to avoid leaking
|
|
116
|
+
* through LLM messages.
|
|
117
|
+
* - `botOutputTransforms`: A list of `[textType | "*", transform]` tuples to
|
|
118
|
+
* transform text before sending it to the client. See `BotOutputTransform`.
|
|
119
|
+
* - `audioLevelPeriodSecs`: How often audio levels should be sent if enabled.
|
|
120
|
+
* - `functionCallReportLevel`: Controls what information is exposed in
|
|
121
|
+
* function call events for security. A record mapping function names to
|
|
122
|
+
* levels, where `"*"` sets the default level for unlisted functions.
|
|
123
|
+
* Defaults to `{ "*": RTVIFunctionCallReportLevel.NONE }`.
|
|
124
|
+
*
|
|
125
|
+
* @example
|
|
126
|
+
* new RTVIObserverParams({
|
|
127
|
+
* functionCallReportLevel: {
|
|
128
|
+
* "*": RTVIFunctionCallReportLevel.NONE, // Default: events with no metadata
|
|
129
|
+
* get_weather: RTVIFunctionCallReportLevel.FULL, // Expose everything
|
|
130
|
+
* },
|
|
131
|
+
* });
|
|
132
|
+
*/
|
|
133
|
+
export declare class RTVIObserverParams {
|
|
134
|
+
botOutputEnabled: boolean;
|
|
135
|
+
botLlmEnabled: boolean;
|
|
136
|
+
botLlmMarkerEnabled: boolean;
|
|
137
|
+
botTtsEnabled: boolean;
|
|
138
|
+
botSpeakingEnabled: boolean;
|
|
139
|
+
botAudioLevelEnabled: boolean;
|
|
140
|
+
userLlmEnabled: boolean;
|
|
141
|
+
userSpeakingEnabled: boolean;
|
|
142
|
+
vadUserSpeakingEnabled: boolean;
|
|
143
|
+
userMuteEnabled: boolean;
|
|
144
|
+
userInputEnabled: boolean;
|
|
145
|
+
userAudioLevelEnabled: boolean;
|
|
146
|
+
metricsEnabled: boolean;
|
|
147
|
+
systemLogsEnabled: boolean;
|
|
148
|
+
sttRawTextEnabled: boolean;
|
|
149
|
+
llmRawTextEnabled: boolean;
|
|
150
|
+
ttsRawTextEnabled: boolean;
|
|
151
|
+
ignoredSources: FrameProcessor[];
|
|
152
|
+
skipTextTypes: (TextType | string)[] | null;
|
|
153
|
+
botOutputTransforms: [TextType | string, BotOutputTransform][] | null;
|
|
154
|
+
audioLevelPeriodSecs: number;
|
|
155
|
+
functionCallReportLevel: Record<string, RTVIFunctionCallReportLevel>;
|
|
156
|
+
constructor(options?: RTVIObserverParamsOptions);
|
|
157
|
+
}
|
|
158
|
+
/** Options for `RTVIObserver`. */
|
|
159
|
+
export interface RTVIObserverOptions extends BaseObserverOptions {
|
|
160
|
+
/** Settings to enable/disable specific messages. */
|
|
161
|
+
params?: RTVIObserverParams | null;
|
|
162
|
+
}
|
|
163
|
+
type FunctionCallPhase = "started" | "in_progress" | "stopped";
|
|
164
|
+
/**
|
|
165
|
+
* Pipeline frame observer for RTVI server message handling.
|
|
166
|
+
*
|
|
167
|
+
* This observer monitors pipeline frames and converts them into appropriate
|
|
168
|
+
* RTVI messages for client communication. It handles various frame types
|
|
169
|
+
* including speech events, transcriptions, LLM responses, and TTS events.
|
|
170
|
+
*
|
|
171
|
+
* Note: this observer only handles outgoing messages. Incoming RTVI client
|
|
172
|
+
* messages are handled by the RTVIProcessor.
|
|
173
|
+
*/
|
|
174
|
+
export declare class RTVIObserver extends BaseObserver {
|
|
175
|
+
#private;
|
|
176
|
+
protected _rtvi: RTVIProcessor | null;
|
|
177
|
+
protected _params: RTVIObserverParams;
|
|
178
|
+
protected _ignoredSources: Set<FrameProcessor>;
|
|
179
|
+
protected _botTranscription: string;
|
|
180
|
+
protected _lastUserAudioLevel: number;
|
|
181
|
+
protected _lastBotAudioLevel: number;
|
|
182
|
+
protected _userVolumeTracker: AudioVolumeTracker;
|
|
183
|
+
protected _botVolumeTracker: AudioVolumeTracker;
|
|
184
|
+
protected _botIsSpeaking: boolean;
|
|
185
|
+
protected _queuedAggregatedTextFrames: AggregatedTextFrame[];
|
|
186
|
+
protected _skippedSegmentIds: Set<number>;
|
|
187
|
+
protected _skippedSegmentsInterrupted: boolean;
|
|
188
|
+
protected _systemLoggerRemove: (() => void) | null;
|
|
189
|
+
protected _aggregationTransforms: [TextType | string, BotOutputTransform][];
|
|
190
|
+
/**
|
|
191
|
+
* Initialize the RTVI observer.
|
|
192
|
+
*
|
|
193
|
+
* @param rtvi The RTVI processor to push frames to.
|
|
194
|
+
* @param options.params Settings to enable/disable specific messages.
|
|
195
|
+
* Other options are passed to the parent class.
|
|
196
|
+
*/
|
|
197
|
+
constructor(rtvi?: RTVIProcessor | null, options?: RTVIObserverOptions);
|
|
198
|
+
/** Whether the connected client uses a deprecated 1.x protocol. */
|
|
199
|
+
protected get _isLegacyClient(): boolean;
|
|
200
|
+
/** Whether the connected client's protocol is `version` or later. */
|
|
201
|
+
protected _clientIsAtLeast(version: number[]): boolean;
|
|
202
|
+
/** Whether the connected client supports the backchannel text type (2.2.0+). */
|
|
203
|
+
protected get _clientSupportsBackchannels(): boolean;
|
|
204
|
+
/** Whether the connected client supports the raw text messages (2.2.0+). */
|
|
205
|
+
protected get _clientSupportsRawText(): boolean;
|
|
206
|
+
/**
|
|
207
|
+
* Register a text transformer for a specific text type.
|
|
208
|
+
*
|
|
209
|
+
* When `accumulatedText` and `remainingText` are null the transform is
|
|
210
|
+
* being called for the full segment text (`bot-output` message). When they
|
|
211
|
+
* are provided it is being called for a progress event; return a
|
|
212
|
+
* `BotOutputTransformResult` with `accumulatedText` and `remainingText`
|
|
213
|
+
* populated so the client can display word-level progress on the
|
|
214
|
+
* transformed text.
|
|
215
|
+
*
|
|
216
|
+
* @param transformFunction The transform callable.
|
|
217
|
+
* @param textType Text type to match, or `"*"` for all types.
|
|
218
|
+
*/
|
|
219
|
+
addBotOutputTransformer(transformFunction: BotOutputTransform, textType?: TextType | string): void;
|
|
220
|
+
/**
|
|
221
|
+
* Remove a text transformer for a specific text type.
|
|
222
|
+
*
|
|
223
|
+
* @param transformFunction The function to remove.
|
|
224
|
+
* @param textType The type of text to remove the transformer for.
|
|
225
|
+
*/
|
|
226
|
+
removeBotOutputTransformer(transformFunction: BotOutputTransform, textType?: TextType | string): void;
|
|
227
|
+
/**
|
|
228
|
+
* Ignore all frames pushed by the given processor.
|
|
229
|
+
*
|
|
230
|
+
* Any frame whose source matches `source` will be silently skipped,
|
|
231
|
+
* preventing RTVI messages from being emitted for activity in that
|
|
232
|
+
* processor. Useful for suppressing events from secondary pipeline
|
|
233
|
+
* branches (e.g. a silent evaluation LLM) that should not be visible
|
|
234
|
+
* to clients.
|
|
235
|
+
*
|
|
236
|
+
* @param source The frame processor to ignore.
|
|
237
|
+
*/
|
|
238
|
+
addIgnoredSource(source: FrameProcessor): void;
|
|
239
|
+
/**
|
|
240
|
+
* Stop ignoring frames pushed by the given processor.
|
|
241
|
+
*
|
|
242
|
+
* Reverses a previous call to `addIgnoredSource()`. If `source` was not
|
|
243
|
+
* previously ignored this is a no-op.
|
|
244
|
+
*
|
|
245
|
+
* @param source The frame processor to stop ignoring.
|
|
246
|
+
*/
|
|
247
|
+
removeIgnoredSource(source: FrameProcessor): void;
|
|
248
|
+
/**
|
|
249
|
+
* Get the report level for a specific function call.
|
|
250
|
+
*
|
|
251
|
+
* @param functionName The name of the function to get the report level for.
|
|
252
|
+
* @returns The report level for the function. Looks up the function name
|
|
253
|
+
* first, then falls back to "*" key, then NONE.
|
|
254
|
+
*/
|
|
255
|
+
protected _getFunctionCallReportLevel(functionName: string): RTVIFunctionCallReportLevel;
|
|
256
|
+
/**
|
|
257
|
+
* Apply a dynamic observer-config update (only the fields that are set).
|
|
258
|
+
*
|
|
259
|
+
* @param frame The config frame; null fields leave the current value unchanged.
|
|
260
|
+
*/
|
|
261
|
+
protected _applyConfig(frame: RTVIConfigureObserverFrame): void;
|
|
262
|
+
/** Logger sink so we can send system logs to RTVI clients. */
|
|
263
|
+
protected _loggerSink(message: string): Promise<void>;
|
|
264
|
+
/** Cleanup RTVI observer resources. */
|
|
265
|
+
cleanup(): Promise<void>;
|
|
266
|
+
/**
|
|
267
|
+
* Send an RTVI message.
|
|
268
|
+
*
|
|
269
|
+
* By default, we push a transport frame. But this function can be
|
|
270
|
+
* overridden by subclass to send RTVI messages in different ways.
|
|
271
|
+
*
|
|
272
|
+
* @param model The message to send.
|
|
273
|
+
* @param excludeNone Whether to exclude null values from the model dump.
|
|
274
|
+
*/
|
|
275
|
+
sendRtviMessage(model: RTVIModelLike, excludeNone?: boolean): Promise<void>;
|
|
276
|
+
/** Report a function-call frame, the pipeline's own or an external one. */
|
|
277
|
+
protected _reportFunctionCallFrame(frame: Frame): Promise<void>;
|
|
278
|
+
/**
|
|
279
|
+
* Send the function-call message for a phase, as the report level allows.
|
|
280
|
+
*
|
|
281
|
+
* The pipeline's own calls and calls reported from elsewhere (the
|
|
282
|
+
* `ExternalFunctionCall*Frame` family) go through here alike, so both obey
|
|
283
|
+
* the per-function report level.
|
|
284
|
+
*/
|
|
285
|
+
protected _reportFunctionCall(phase: FunctionCallPhase, functionName: string, toolCallId: string, options?: {
|
|
286
|
+
arguments?: unknown;
|
|
287
|
+
result?: unknown;
|
|
288
|
+
cancelled?: boolean;
|
|
289
|
+
}): Promise<void>;
|
|
290
|
+
/**
|
|
291
|
+
* Process a frame being pushed through the pipeline.
|
|
292
|
+
*
|
|
293
|
+
* @param data Frame push event data containing source, frame, direction,
|
|
294
|
+
* and timestamp.
|
|
295
|
+
*/
|
|
296
|
+
onPushFrame(data: FramePushed): Promise<void>;
|
|
297
|
+
/** Handle user speaking interruption frames. */
|
|
298
|
+
protected _handleInterruptions(frame: Frame): Promise<void>;
|
|
299
|
+
/** Emit raw VAD user started/stopped speaking messages. */
|
|
300
|
+
protected _handleVadSpeaking(frame: Frame): Promise<void>;
|
|
301
|
+
/** Handle user mute/unmute frames. */
|
|
302
|
+
protected _handleUserMute(frame: Frame): Promise<void>;
|
|
303
|
+
/** Track whether the bot is speaking, and tell clients if they want to know. */
|
|
304
|
+
protected _handleBotSpeaking(frame: Frame): Promise<void>;
|
|
305
|
+
/** Tell clients the bot's output was cut off, and drop what it won't say. */
|
|
306
|
+
protected _handleBotInterrupted(): Promise<void>;
|
|
307
|
+
/** Handle aggregated LLM text output frames. */
|
|
308
|
+
protected _handleAggregatedLlmText(frame: AggregatedTextFrame): Promise<void>;
|
|
309
|
+
/** Handle progress frames. */
|
|
310
|
+
protected _handleAggregatedProgress(frame: AggregatedTextProgressFrame): Promise<void>;
|
|
311
|
+
/** Forget the skipped segments an interruption cut off. */
|
|
312
|
+
protected _forgetInterruptedSegments(): void;
|
|
313
|
+
/** Whether text of this type is kept out of bot output and TTS text messages. */
|
|
314
|
+
protected _isSkippedType(textType: TextType | string): boolean;
|
|
315
|
+
/** Whether the frame's text type, or its segment's, keeps it from bot output. */
|
|
316
|
+
protected _isSkipped(frame: AggregatedTextFrame): boolean;
|
|
317
|
+
/** Send aggregated LLM text messages. */
|
|
318
|
+
protected _sendAggregatedLlmText(frame: AggregatedTextFrame): Promise<void>;
|
|
319
|
+
/** Handle LLM text output frames. */
|
|
320
|
+
protected _handleLlmTextFrame(frame: LLMTextFrame): Promise<void>;
|
|
321
|
+
/** Handle user transcription frames. */
|
|
322
|
+
protected _handleUserTranscriptions(frame: TranscriptionFrame | InterimTranscriptionFrame): Promise<void>;
|
|
323
|
+
/** Send a user input message. */
|
|
324
|
+
protected _sendUserInput(text: string, inputType: RTVI.UserInputType, options: {
|
|
325
|
+
timestamp: string;
|
|
326
|
+
final: boolean;
|
|
327
|
+
userId?: string | null;
|
|
328
|
+
msgId?: string | null;
|
|
329
|
+
}): Promise<void>;
|
|
330
|
+
/** Process LLM context frames to extract user messages for the RTVI client. */
|
|
331
|
+
protected _handleContext(frame: LLMContextFrame): Promise<void>;
|
|
332
|
+
/** Handle metrics frames and convert to RTVI metrics messages. */
|
|
333
|
+
protected _handleMetrics(frame: MetricsFrame): Promise<void>;
|
|
334
|
+
/** Send a response to the client for a specific request. */
|
|
335
|
+
protected _sendServerResponse(frame: RTVIServerResponseFrame): Promise<void>;
|
|
336
|
+
/** Send a response to the client for a specific request. */
|
|
337
|
+
protected _sendErrorResponse(frame: RTVIServerResponseFrame): Promise<void>;
|
|
338
|
+
}
|
|
339
|
+
export {};
|
|
340
|
+
//# sourceMappingURL=observer.d.ts.map
|