@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,171 @@
|
|
|
1
|
+
// Copyright (c) 2024-2026, Daily
|
|
2
|
+
// Copyright (c) 2026, pipedog contributors
|
|
3
|
+
// SPDX-License-Identifier: BSD-2-Clause
|
|
4
|
+
//
|
|
5
|
+
// Ported from pipecat: src/pipecat/bus/ui/messages.py
|
|
6
|
+
/**
|
|
7
|
+
* Bus carriers for the UI Worker protocol.
|
|
8
|
+
*
|
|
9
|
+
* These classes are the on-the-bus shape that a UI worker (see `workers/ui`)
|
|
10
|
+
* and the client-facing worker exchange. They are NOT the on-the-wire format
|
|
11
|
+
* the client sees: the client-facing worker translates between the two, in
|
|
12
|
+
* whichever format its own client speaks.
|
|
13
|
+
*
|
|
14
|
+
* For example, `PipelineWorker` with RTVI enabled republishes inbound client
|
|
15
|
+
* messages onto the bus in `onUiMessage` and turns outbound carriers into
|
|
16
|
+
* RTVI frames in `onBusMessage`; the wire types it produces live in
|
|
17
|
+
* `processors/frameworks/rtvi/models` (`UIEventMessage`, `UICommandMessage`,
|
|
18
|
+
* `UIJobGroupMessage`, ...).
|
|
19
|
+
*
|
|
20
|
+
* All carriers subclass `BusUIDataMessage`, which a client-facing worker
|
|
21
|
+
* dispatches on to pick the outbound ones out of its bus traffic.
|
|
22
|
+
*
|
|
23
|
+
* - `BusUIEventMessage` and `BusUICommandMessage` carry client events and
|
|
24
|
+
* server commands respectively.
|
|
25
|
+
* - `BusUIJobGroupStartedMessage`, `BusUIJobUpdateMessage`,
|
|
26
|
+
* `BusUIJobCompletedMessage`, and `BusUIJobGroupCompletedMessage` carry the
|
|
27
|
+
* four phases of a user-facing job group's lifecycle (see `UIWorker`).
|
|
28
|
+
*
|
|
29
|
+
* The carriers live in the `bus` layer (rather than alongside `UIWorker`)
|
|
30
|
+
* because both `PipelineWorker` (in `pipeline`) and `UIWorker` (in
|
|
31
|
+
* `workers`) reference them, and `pipeline` must not import from `workers`.
|
|
32
|
+
*/
|
|
33
|
+
import { BusDataMessage } from "../messages.js";
|
|
34
|
+
/**
|
|
35
|
+
* The `eventName` of the client's accessibility snapshot on the bus. A
|
|
36
|
+
* client-facing worker republishes a `ui-snapshot` wire message as a
|
|
37
|
+
* `BusUIEventMessage` with this name, and `UIWorker` keeps the payload as its
|
|
38
|
+
* latest snapshot. The leading double underscore keeps app-defined
|
|
39
|
+
* `@ui_event` names from colliding with it.
|
|
40
|
+
*/
|
|
41
|
+
export const UI_SNAPSHOT_EVENT_NAME = "__ui_snapshot";
|
|
42
|
+
/**
|
|
43
|
+
* The `eventName` of the client's request to cancel a job group. A
|
|
44
|
+
* client-facing worker republishes a `ui-cancel-job-group` wire message as a
|
|
45
|
+
* `BusUIEventMessage` with this name, and the worker that dispatched the
|
|
46
|
+
* group turns it into a cancel request.
|
|
47
|
+
*/
|
|
48
|
+
export const UI_CANCEL_JOB_GROUP_EVENT_NAME = "__cancel_job_group";
|
|
49
|
+
/**
|
|
50
|
+
* Base for all UI Worker protocol bus carriers.
|
|
51
|
+
*
|
|
52
|
+
* A client-facing worker dispatches on this type to translate a worker's
|
|
53
|
+
* outbound UI carriers into its client's wire format, so every UI bus message
|
|
54
|
+
* below subclasses it.
|
|
55
|
+
*/
|
|
56
|
+
export class BusUIDataMessage extends BusDataMessage {
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* A UI event sent from the client to a server-side worker.
|
|
60
|
+
*
|
|
61
|
+
* Emitted by the client-facing worker when the client dispatches an event via
|
|
62
|
+
* `PipecatClient.sendUIEvent(event, payload)`. `UIWorker` subclasses dispatch
|
|
63
|
+
* these to `@ui_event(name)` handlers.
|
|
64
|
+
*/
|
|
65
|
+
export class BusUIEventMessage extends BusUIDataMessage {
|
|
66
|
+
eventName;
|
|
67
|
+
payload;
|
|
68
|
+
constructor(options) {
|
|
69
|
+
super(options);
|
|
70
|
+
this.eventName = options.eventName ?? "";
|
|
71
|
+
this.payload = options.payload ?? null;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* A UI command sent from a server-side worker to the client.
|
|
76
|
+
*
|
|
77
|
+
* Published by `UIWorker.sendCommand(name, payload)`. The client-facing
|
|
78
|
+
* worker translates it into a command on its client's wire format; over RTVI
|
|
79
|
+
* that is an `RTVIUICommandFrame({ command: commandName, payload })` pushed
|
|
80
|
+
* through the pipeline.
|
|
81
|
+
*/
|
|
82
|
+
export class BusUICommandMessage extends BusUIDataMessage {
|
|
83
|
+
commandName;
|
|
84
|
+
payload;
|
|
85
|
+
constructor(options) {
|
|
86
|
+
super(options);
|
|
87
|
+
this.commandName = options.commandName ?? "";
|
|
88
|
+
this.payload = options.payload ?? null;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* A user-facing job group has been dispatched.
|
|
93
|
+
*
|
|
94
|
+
* Published by a `UIWorker` as it dispatches the group. The client-facing
|
|
95
|
+
* worker forwards it as a `ui-job-group` envelope with
|
|
96
|
+
* `kind = "group_started"`.
|
|
97
|
+
*/
|
|
98
|
+
export class BusUIJobGroupStartedMessage extends BusUIDataMessage {
|
|
99
|
+
jobId;
|
|
100
|
+
workers;
|
|
101
|
+
label;
|
|
102
|
+
cancellable;
|
|
103
|
+
at;
|
|
104
|
+
constructor(options) {
|
|
105
|
+
super(options);
|
|
106
|
+
this.jobId = options.jobId ?? "";
|
|
107
|
+
this.workers = options.workers ?? null;
|
|
108
|
+
this.label = options.label ?? null;
|
|
109
|
+
this.cancellable = options.cancellable ?? true;
|
|
110
|
+
this.at = options.at ?? 0;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Per-worker progress for a user-facing job group.
|
|
115
|
+
*
|
|
116
|
+
* Forwarded by a `UIWorker` whenever a worker of one of its job groups emits
|
|
117
|
+
* a `BusJobUpdateMessage`. The client-facing worker forwards it as a
|
|
118
|
+
* `ui-job-group` envelope with `kind = "job_update"`.
|
|
119
|
+
*/
|
|
120
|
+
export class BusUIJobUpdateMessage extends BusUIDataMessage {
|
|
121
|
+
jobId;
|
|
122
|
+
workerName;
|
|
123
|
+
data;
|
|
124
|
+
at;
|
|
125
|
+
constructor(options) {
|
|
126
|
+
super(options);
|
|
127
|
+
this.jobId = options.jobId ?? "";
|
|
128
|
+
this.workerName = options.workerName ?? "";
|
|
129
|
+
this.data = options.data ?? null;
|
|
130
|
+
this.at = options.at ?? 0;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* A worker in a user-facing job group has completed.
|
|
135
|
+
*
|
|
136
|
+
* Forwarded by a `UIWorker` when a worker of one of its job groups reaches a
|
|
137
|
+
* terminal state. The client-facing worker forwards it as a `ui-job-group`
|
|
138
|
+
* envelope with `kind = "job_completed"`.
|
|
139
|
+
*/
|
|
140
|
+
export class BusUIJobCompletedMessage extends BusUIDataMessage {
|
|
141
|
+
jobId;
|
|
142
|
+
workerName;
|
|
143
|
+
status;
|
|
144
|
+
response;
|
|
145
|
+
at;
|
|
146
|
+
constructor(options) {
|
|
147
|
+
super(options);
|
|
148
|
+
this.jobId = options.jobId ?? "";
|
|
149
|
+
this.workerName = options.workerName ?? "";
|
|
150
|
+
this.status = options.status ?? "";
|
|
151
|
+
this.response = options.response ?? null;
|
|
152
|
+
this.at = options.at ?? 0;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* A user-facing job group has completed.
|
|
157
|
+
*
|
|
158
|
+
* Published by a `UIWorker` once every worker in the group has finished, or
|
|
159
|
+
* the group was cancelled. The client-facing worker forwards it as a
|
|
160
|
+
* `ui-job-group` envelope with `kind = "group_completed"`.
|
|
161
|
+
*/
|
|
162
|
+
export class BusUIJobGroupCompletedMessage extends BusUIDataMessage {
|
|
163
|
+
jobId;
|
|
164
|
+
at;
|
|
165
|
+
constructor(options) {
|
|
166
|
+
super(options);
|
|
167
|
+
this.jobId = options.jobId ?? "";
|
|
168
|
+
this.at = options.at ?? 0;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=messages.js.map
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
import type { ImageRawFrame } from "../frames/frames.ts";
|
|
2
|
+
import { type LLMTokenUsage, type MetricsData } from "../metrics/metrics.ts";
|
|
3
|
+
import { BaseObject, type BaseObjectOptions } from "../utils/base_object.ts";
|
|
4
|
+
/** A classifier could not answer a question. */
|
|
5
|
+
export declare class ClassifierError extends Error {
|
|
6
|
+
name: string;
|
|
7
|
+
}
|
|
8
|
+
/** What a question, or the state it is about, can be: text or structured data. */
|
|
9
|
+
export type ClassifierValue = string | Record<string, unknown> | unknown[];
|
|
10
|
+
export interface YesNoQuestionOptions {
|
|
11
|
+
/**
|
|
12
|
+
* What is being checked for, as a yes or no question. Text, or structured
|
|
13
|
+
* data holding the question in one field and what it refers to in others.
|
|
14
|
+
*/
|
|
15
|
+
instructions: ClassifierValue;
|
|
16
|
+
/** What counts as a yes, when the question alone leaves it open. */
|
|
17
|
+
yes?: ClassifierValue | null;
|
|
18
|
+
/** What counts as a no. */
|
|
19
|
+
no?: ClassifierValue | null;
|
|
20
|
+
}
|
|
21
|
+
/** Whether the state meets a condition. */
|
|
22
|
+
export declare class YesNoQuestion {
|
|
23
|
+
instructions: ClassifierValue;
|
|
24
|
+
yes: ClassifierValue | null;
|
|
25
|
+
no: ClassifierValue | null;
|
|
26
|
+
constructor(options: YesNoQuestionOptions);
|
|
27
|
+
}
|
|
28
|
+
export interface ChoiceQuestionOptions {
|
|
29
|
+
/** What is being decided. */
|
|
30
|
+
instructions: ClassifierValue;
|
|
31
|
+
/**
|
|
32
|
+
* The options to choose from, each mapped to a description of when it
|
|
33
|
+
* applies, or `null` when the option itself says enough.
|
|
34
|
+
*/
|
|
35
|
+
options: Record<string, ClassifierValue | null>;
|
|
36
|
+
}
|
|
37
|
+
/** Which of several options fits the state. */
|
|
38
|
+
export declare class ChoiceQuestion {
|
|
39
|
+
instructions: ClassifierValue;
|
|
40
|
+
options: Record<string, ClassifierValue | null>;
|
|
41
|
+
constructor(options: ChoiceQuestionOptions);
|
|
42
|
+
}
|
|
43
|
+
export interface ScoreQuestionOptions {
|
|
44
|
+
/** What is being rated. */
|
|
45
|
+
instructions: ClassifierValue;
|
|
46
|
+
/**
|
|
47
|
+
* The levels of the scale in order, lowest first, each described in a few
|
|
48
|
+
* words or as structured data. At least two.
|
|
49
|
+
*/
|
|
50
|
+
levels: ClassifierValue[];
|
|
51
|
+
}
|
|
52
|
+
/** Where the state falls on an ordered scale. */
|
|
53
|
+
export declare class ScoreQuestion {
|
|
54
|
+
instructions: ClassifierValue;
|
|
55
|
+
levels: ClassifierValue[];
|
|
56
|
+
constructor(options: ScoreQuestionOptions);
|
|
57
|
+
}
|
|
58
|
+
export type ClassifierQuestion = YesNoQuestion | ChoiceQuestion | ScoreQuestion;
|
|
59
|
+
/** The image types every classifier that sees images accepts. */
|
|
60
|
+
export type ClassifierImageType = "image/png" | "image/jpeg" | "image/webp";
|
|
61
|
+
export interface ClassifierImageOptions {
|
|
62
|
+
/** The encoded image: PNG, JPEG or WebP. */
|
|
63
|
+
data: Uint8Array;
|
|
64
|
+
/** The image's MIME type, read from `data` when not given. */
|
|
65
|
+
contentType?: ClassifierImageType;
|
|
66
|
+
}
|
|
67
|
+
/** An encoded image the questions can look at, alongside the state. */
|
|
68
|
+
export declare class ClassifierImage {
|
|
69
|
+
data: Uint8Array;
|
|
70
|
+
contentType: ClassifierImageType;
|
|
71
|
+
constructor(options: ClassifierImageOptions);
|
|
72
|
+
/**
|
|
73
|
+
* Build an image from an image frame, such as a frame from the user's camera.
|
|
74
|
+
*
|
|
75
|
+
* Raw pixels are encoded as a JPEG. A frame whose format is already a MIME
|
|
76
|
+
* type keeps its bytes.
|
|
77
|
+
*
|
|
78
|
+
* @param frame The image frame.
|
|
79
|
+
* @returns The image.
|
|
80
|
+
*/
|
|
81
|
+
static fromFrame(frame: ImageRawFrame): Promise<ClassifierImage>;
|
|
82
|
+
/**
|
|
83
|
+
* The MIME type of the encoded image, or an error if it is not one
|
|
84
|
+
* classifiers take.
|
|
85
|
+
*
|
|
86
|
+
* PORTING NOTE: upstream opens the image with Pillow; this reads the
|
|
87
|
+
* format's signature bytes instead.
|
|
88
|
+
*/
|
|
89
|
+
protected static _contentType(data: Uint8Array): ClassifierImageType;
|
|
90
|
+
toString(): string;
|
|
91
|
+
}
|
|
92
|
+
export interface YesNoResultOptions {
|
|
93
|
+
/** How likely the answer is yes, from 0 to 1. */
|
|
94
|
+
probability: number;
|
|
95
|
+
}
|
|
96
|
+
/** Answer to a `YesNoQuestion`. */
|
|
97
|
+
export declare class YesNoResult {
|
|
98
|
+
probability: number;
|
|
99
|
+
constructor(options: YesNoResultOptions);
|
|
100
|
+
/**
|
|
101
|
+
* Whether yes is the likelier answer.
|
|
102
|
+
*
|
|
103
|
+
* Callers that need more certainty than that compare `probability` with a
|
|
104
|
+
* threshold of their own.
|
|
105
|
+
*/
|
|
106
|
+
get isYes(): boolean;
|
|
107
|
+
}
|
|
108
|
+
export interface ChoiceResultOptions {
|
|
109
|
+
/** The option that fits best. */
|
|
110
|
+
choice: string;
|
|
111
|
+
/** How likely each option is, keyed by option. */
|
|
112
|
+
probabilities: Record<string, number>;
|
|
113
|
+
/** How sure the classifier is of `choice`, from 0 to 1. */
|
|
114
|
+
confidence: number;
|
|
115
|
+
}
|
|
116
|
+
/** Answer to a `ChoiceQuestion`. */
|
|
117
|
+
export declare class ChoiceResult {
|
|
118
|
+
choice: string;
|
|
119
|
+
probabilities: Record<string, number>;
|
|
120
|
+
confidence: number;
|
|
121
|
+
constructor(options: ChoiceResultOptions);
|
|
122
|
+
}
|
|
123
|
+
export interface ScoreLevelOptions {
|
|
124
|
+
/** The level as the question gave it. */
|
|
125
|
+
level: ClassifierValue;
|
|
126
|
+
/** How likely the state is at this level, from 0 to 1. */
|
|
127
|
+
probability: number;
|
|
128
|
+
}
|
|
129
|
+
/** One level of a `ScoreQuestion`'s scale and how likely it is. */
|
|
130
|
+
export declare class ScoreLevel {
|
|
131
|
+
level: ClassifierValue;
|
|
132
|
+
probability: number;
|
|
133
|
+
constructor(options: ScoreLevelOptions);
|
|
134
|
+
}
|
|
135
|
+
export interface ScoreResultOptions {
|
|
136
|
+
/**
|
|
137
|
+
* Where the state falls on the scale, as a position from 0 (the first
|
|
138
|
+
* level) to one less than the number of levels. It is the
|
|
139
|
+
* probability-weighted position, so it may fall between two levels.
|
|
140
|
+
*/
|
|
141
|
+
score: number;
|
|
142
|
+
/** How likely each level is, in the question's order. */
|
|
143
|
+
levels: ScoreLevel[];
|
|
144
|
+
/** How sure the classifier is of `score`, from 0 to 1. */
|
|
145
|
+
confidence: number;
|
|
146
|
+
}
|
|
147
|
+
/** Answer to a `ScoreQuestion`. */
|
|
148
|
+
export declare class ScoreResult {
|
|
149
|
+
score: number;
|
|
150
|
+
levels: ScoreLevel[];
|
|
151
|
+
confidence: number;
|
|
152
|
+
constructor(options: ScoreResultOptions);
|
|
153
|
+
/**
|
|
154
|
+
* How likely one level is.
|
|
155
|
+
*
|
|
156
|
+
* @param level The level as the question gave it.
|
|
157
|
+
* @returns The level's probability.
|
|
158
|
+
* @throws Error If the scale has no such level (upstream's KeyError).
|
|
159
|
+
*/
|
|
160
|
+
probability(level: ClassifierValue): number;
|
|
161
|
+
}
|
|
162
|
+
export type ClassifierResult = YesNoResult | ChoiceResult | ScoreResult;
|
|
163
|
+
/** Options for the questions-asking methods. */
|
|
164
|
+
export interface ClassifierAskOptions {
|
|
165
|
+
/** Images the questions can look at, for a classifier that supports them. */
|
|
166
|
+
images?: readonly ClassifierImage[] | null;
|
|
167
|
+
}
|
|
168
|
+
export type BaseClassifierOptions = BaseObjectOptions;
|
|
169
|
+
/**
|
|
170
|
+
* Answers typed questions about a state.
|
|
171
|
+
*
|
|
172
|
+
* Every question is about a `state`: plain text, or structured data such as
|
|
173
|
+
* a transcript with speaker labels or a trimmed screen snapshot. `ask()`
|
|
174
|
+
* answers any number of questions about one state, by name; the three typed
|
|
175
|
+
* methods are built on it and take questions of one kind. Subclasses
|
|
176
|
+
* implement `_ask()`.
|
|
177
|
+
*
|
|
178
|
+
* Classifiers that can see images say so in `supportsImages`, and then take
|
|
179
|
+
* `images` with the state. The others refuse them.
|
|
180
|
+
*
|
|
181
|
+
* An owner that runs inside a worker calls `setup()` with its task manager
|
|
182
|
+
* before the first question, and `cleanup()` when it is done.
|
|
183
|
+
*
|
|
184
|
+
* Event handlers available:
|
|
185
|
+
*
|
|
186
|
+
* - on_metrics: Called after every call with its metrics, the time it took
|
|
187
|
+
* and, when the classifier knows it, the tokens it used. A classifier
|
|
188
|
+
* cannot push frames, so the owner is the one to put them in a
|
|
189
|
+
* `MetricsFrame`.
|
|
190
|
+
*
|
|
191
|
+
* @example
|
|
192
|
+
* await this._classifier.setup(this.taskManager);
|
|
193
|
+
*
|
|
194
|
+
* this._classifier.eventHandler("on_metrics", async (classifier, data: MetricsData[]) => {
|
|
195
|
+
* await this.pushFrame(new MetricsFrame({ data }));
|
|
196
|
+
* });
|
|
197
|
+
*/
|
|
198
|
+
export declare abstract class BaseClassifier extends BaseObject {
|
|
199
|
+
constructor(options?: BaseClassifierOptions);
|
|
200
|
+
/** The model that answers, named in the metrics. */
|
|
201
|
+
get model(): string | null;
|
|
202
|
+
/** Whether questions can come with images. */
|
|
203
|
+
get supportsImages(): boolean;
|
|
204
|
+
/**
|
|
205
|
+
* Answer several questions about one state.
|
|
206
|
+
*
|
|
207
|
+
* @param state What the questions are about.
|
|
208
|
+
* @param questions The questions, by name.
|
|
209
|
+
* @param options Images the questions can look at, for a classifier that
|
|
210
|
+
* supports them.
|
|
211
|
+
* @returns One result per question, by the same names, each of the type
|
|
212
|
+
* its question calls for.
|
|
213
|
+
* @throws ClassifierError If the answers could not be produced, or not in
|
|
214
|
+
* time: every classifier answers or raises within a bound of its own, so
|
|
215
|
+
* a caller waiting on it is never left hanging. Also if images come to a
|
|
216
|
+
* classifier that cannot see them.
|
|
217
|
+
*/
|
|
218
|
+
ask(state: ClassifierValue, questions: Readonly<Record<string, ClassifierQuestion>>, options?: ClassifierAskOptions): Promise<Record<string, ClassifierResult>>;
|
|
219
|
+
/**
|
|
220
|
+
* Ask whether the state meets each condition.
|
|
221
|
+
*
|
|
222
|
+
* @param state What the questions are about.
|
|
223
|
+
* @param questions The questions, by name.
|
|
224
|
+
* @param options Images the questions can look at, for a classifier that
|
|
225
|
+
* supports them.
|
|
226
|
+
* @returns How likely each answer is yes, by the same names.
|
|
227
|
+
* @throws ClassifierError If the answers could not be produced.
|
|
228
|
+
*/
|
|
229
|
+
yesNo(state: ClassifierValue, questions: Readonly<Record<string, YesNoQuestion>>, options?: ClassifierAskOptions): Promise<Record<string, YesNoResult>>;
|
|
230
|
+
/**
|
|
231
|
+
* Ask which option fits the state, for each question.
|
|
232
|
+
*
|
|
233
|
+
* @param state What the questions are about.
|
|
234
|
+
* @param questions The questions, by name.
|
|
235
|
+
* @param options Images the questions can look at, for a classifier that
|
|
236
|
+
* supports them.
|
|
237
|
+
* @returns The option that fits and how likely each one is, by the same
|
|
238
|
+
* names.
|
|
239
|
+
* @throws ClassifierError If the answers could not be produced.
|
|
240
|
+
*/
|
|
241
|
+
choice(state: ClassifierValue, questions: Readonly<Record<string, ChoiceQuestion>>, options?: ClassifierAskOptions): Promise<Record<string, ChoiceResult>>;
|
|
242
|
+
/**
|
|
243
|
+
* Ask where the state falls on each scale.
|
|
244
|
+
*
|
|
245
|
+
* @param state What the questions are about.
|
|
246
|
+
* @param questions The questions, by name.
|
|
247
|
+
* @param options Images the questions can look at, for a classifier that
|
|
248
|
+
* supports them.
|
|
249
|
+
* @returns The position on each scale and how likely each level is, by
|
|
250
|
+
* the same names.
|
|
251
|
+
* @throws ClassifierError If the answers could not be produced.
|
|
252
|
+
*/
|
|
253
|
+
score(state: ClassifierValue, questions: Readonly<Record<string, ScoreQuestion>>, options?: ClassifierAskOptions): Promise<Record<string, ScoreResult>>;
|
|
254
|
+
/**
|
|
255
|
+
* Answer the questions, and say what tokens the call used if that is known.
|
|
256
|
+
*
|
|
257
|
+
* `images` is always empty for a classifier that does not support images.
|
|
258
|
+
*/
|
|
259
|
+
protected abstract _ask(state: ClassifierValue, questions: Readonly<Record<string, ClassifierQuestion>>, images?: readonly ClassifierImage[]): Promise<[Record<string, ClassifierResult>, LLMTokenUsage | null]>;
|
|
260
|
+
protected _metrics(seconds: number, usage: LLMTokenUsage | null): MetricsData[];
|
|
261
|
+
protected _typed<R extends ClassifierResult>(results: Record<string, ClassifierResult>, resultType: new (...args: never[]) => R): Record<string, R>;
|
|
262
|
+
}
|
|
263
|
+
//# sourceMappingURL=base_classifier.d.ts.map
|