@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,357 @@
|
|
|
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/messages.py
|
|
6
|
+
import { defineMixin } from "../utils/mixin.js";
|
|
7
|
+
import { objCount, objId } from "../utils/utils.js";
|
|
8
|
+
/**
|
|
9
|
+
* Base class for messages carried by the `WorkerBus`.
|
|
10
|
+
*
|
|
11
|
+
* Bus messages are independent of pipeline `Frame`s — if a worker needs to
|
|
12
|
+
* ship a frame between pipelines it wraps it in a `BusFrameMessage`.
|
|
13
|
+
* Subclasses choose delivery priority by extending `BusDataMessage` (normal
|
|
14
|
+
* priority, FIFO) or `BusSystemMessage` (high priority, delivered ahead of
|
|
15
|
+
* queued data messages).
|
|
16
|
+
*
|
|
17
|
+
* - `id`: unique identifier for the message instance.
|
|
18
|
+
* - `name`: human-readable name combining class name and instance count.
|
|
19
|
+
* - `source`: name of the worker or component that sent this message.
|
|
20
|
+
* - `target`: name of the intended recipient worker, or null for broadcast.
|
|
21
|
+
*/
|
|
22
|
+
export class BusMessage {
|
|
23
|
+
id = objId();
|
|
24
|
+
name = `${this.constructor.name}#${objCount(this)}`;
|
|
25
|
+
source;
|
|
26
|
+
target;
|
|
27
|
+
constructor(options) {
|
|
28
|
+
this.source = options.source;
|
|
29
|
+
this.target = options.target ?? null;
|
|
30
|
+
}
|
|
31
|
+
toString() {
|
|
32
|
+
return `${this.name} (source=${this.source}, target=${this.target})`;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export const BusLocalMessage = defineMixin("BusLocalMessage", (Base) => {
|
|
36
|
+
class BusLocalMessageMixin extends Base {
|
|
37
|
+
}
|
|
38
|
+
return BusLocalMessageMixin;
|
|
39
|
+
});
|
|
40
|
+
/**
|
|
41
|
+
* Normal-priority bus message.
|
|
42
|
+
*
|
|
43
|
+
* Delivered in FIFO order on the subscriber's data queue.
|
|
44
|
+
*/
|
|
45
|
+
export class BusDataMessage extends BusMessage {
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* High-priority bus message.
|
|
49
|
+
*
|
|
50
|
+
* Delivered ahead of any queued `BusDataMessage` on the subscriber's priority
|
|
51
|
+
* queue.
|
|
52
|
+
*/
|
|
53
|
+
export class BusSystemMessage extends BusMessage {
|
|
54
|
+
}
|
|
55
|
+
/** Wraps a Pipecat `Frame` for transport over the bus. */
|
|
56
|
+
export class BusFrameMessage extends BusDataMessage {
|
|
57
|
+
frame;
|
|
58
|
+
direction;
|
|
59
|
+
bridge;
|
|
60
|
+
constructor(options) {
|
|
61
|
+
super(options);
|
|
62
|
+
this.frame = options.frame;
|
|
63
|
+
this.direction = options.direction;
|
|
64
|
+
this.bridge = options.bridge ?? null;
|
|
65
|
+
}
|
|
66
|
+
toString() {
|
|
67
|
+
return `${this.name}(frame: ${this.frame}, direction: ${this.direction}, bridge: ${this.bridge})`;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Asks a `PipelineWorker` to speak the given text via its TTS service.
|
|
72
|
+
*
|
|
73
|
+
* On receipt, the worker queues a `TTSSpeakFrame` into its pipeline.
|
|
74
|
+
* Pipelines without a TTS service let the frame flow through harmlessly.
|
|
75
|
+
*/
|
|
76
|
+
export class BusTTSSpeakMessage extends BusDataMessage {
|
|
77
|
+
text;
|
|
78
|
+
appendToContext;
|
|
79
|
+
constructor(options) {
|
|
80
|
+
super(options);
|
|
81
|
+
this.text = options.text;
|
|
82
|
+
this.appendToContext = options.appendToContext ?? true;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Reports that a flush probe from another worker is still making progress.
|
|
87
|
+
*
|
|
88
|
+
* A probe that crosses into another pipeline is answered there, so the worker
|
|
89
|
+
* waiting on it cannot see whether anything is happening. The pipeline
|
|
90
|
+
* holding the probe says so, and the wait stays alive for as long as it keeps
|
|
91
|
+
* saying it.
|
|
92
|
+
*/
|
|
93
|
+
export class BusFlushProgressMessage extends BusDataMessage {
|
|
94
|
+
flushId;
|
|
95
|
+
constructor(options) {
|
|
96
|
+
super(options);
|
|
97
|
+
this.flushId = options.flushId;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/** Tells a targeted worker to become active and start processing. */
|
|
101
|
+
export class BusActivateWorkerMessage extends BusDataMessage {
|
|
102
|
+
args;
|
|
103
|
+
constructor(options) {
|
|
104
|
+
super(options);
|
|
105
|
+
this.args = options.args ?? null;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/** Tells a targeted worker to become inactive and stop processing. */
|
|
109
|
+
export class BusDeactivateWorkerMessage extends BusDataMessage {
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Request a graceful end of the session.
|
|
113
|
+
*
|
|
114
|
+
* Sent by a worker to the runner, which responds by sending
|
|
115
|
+
* `BusEndWorkerMessage` to each worker.
|
|
116
|
+
*/
|
|
117
|
+
export class BusEndMessage extends BusDataMessage {
|
|
118
|
+
/** Optional human-readable reason for ending. */
|
|
119
|
+
reason;
|
|
120
|
+
constructor(options) {
|
|
121
|
+
super(options);
|
|
122
|
+
this.reason = options.reason ?? null;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Tells a targeted worker to end its pipeline gracefully.
|
|
127
|
+
*
|
|
128
|
+
* Sent by the runner to individual workers during shutdown.
|
|
129
|
+
*/
|
|
130
|
+
export class BusEndWorkerMessage extends BusDataMessage {
|
|
131
|
+
/** Optional human-readable reason for ending. */
|
|
132
|
+
reason;
|
|
133
|
+
constructor(options) {
|
|
134
|
+
super(options);
|
|
135
|
+
this.reason = options.reason ?? null;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Request a hard cancel of the session.
|
|
140
|
+
*
|
|
141
|
+
* Sent by a worker to the runner, which responds by sending
|
|
142
|
+
* `BusCancelWorkerMessage` to each worker.
|
|
143
|
+
*/
|
|
144
|
+
export class BusCancelMessage extends BusSystemMessage {
|
|
145
|
+
/** Optional human-readable reason for the cancellation. */
|
|
146
|
+
reason;
|
|
147
|
+
constructor(options) {
|
|
148
|
+
super(options);
|
|
149
|
+
this.reason = options.reason ?? null;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Tells a targeted worker to cancel its pipeline.
|
|
154
|
+
*
|
|
155
|
+
* Sent by the runner to individual workers during cancellation.
|
|
156
|
+
*/
|
|
157
|
+
export class BusCancelWorkerMessage extends BusSystemMessage {
|
|
158
|
+
/** Optional human-readable reason for the cancellation. */
|
|
159
|
+
reason;
|
|
160
|
+
constructor(options) {
|
|
161
|
+
super(options);
|
|
162
|
+
this.reason = options.reason ?? null;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Request to add a worker to the local runner.
|
|
167
|
+
*
|
|
168
|
+
* Local-only: carries an in-memory worker reference that cannot be
|
|
169
|
+
* serialized over the network.
|
|
170
|
+
*/
|
|
171
|
+
export class BusAddWorkerMessage extends BusLocalMessage(BusSystemMessage) {
|
|
172
|
+
worker;
|
|
173
|
+
constructor(options) {
|
|
174
|
+
super(options);
|
|
175
|
+
this.worker = options.worker;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Snapshot of workers managed by a runner.
|
|
180
|
+
*
|
|
181
|
+
* Sent by the runner on startup and when new runners connect, so that remote
|
|
182
|
+
* runners can discover each other's workers.
|
|
183
|
+
*/
|
|
184
|
+
export class BusWorkerRegistryMessage extends BusSystemMessage {
|
|
185
|
+
runner;
|
|
186
|
+
workers;
|
|
187
|
+
constructor(options) {
|
|
188
|
+
super(options);
|
|
189
|
+
this.runner = options.runner;
|
|
190
|
+
this.workers = options.workers;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Announces that a worker is ready.
|
|
195
|
+
*
|
|
196
|
+
* Sent when any worker (root or child) becomes ready. Carries the worker's
|
|
197
|
+
* parent name so observers can reconstruct the full hierarchy.
|
|
198
|
+
*/
|
|
199
|
+
export class BusWorkerReadyMessage extends BusDataMessage {
|
|
200
|
+
runner;
|
|
201
|
+
parent;
|
|
202
|
+
active;
|
|
203
|
+
bridged;
|
|
204
|
+
startedAt;
|
|
205
|
+
constructor(options) {
|
|
206
|
+
super(options);
|
|
207
|
+
this.runner = options.runner;
|
|
208
|
+
this.parent = options.parent ?? null;
|
|
209
|
+
this.active = options.active ?? false;
|
|
210
|
+
this.bridged = options.bridged ?? false;
|
|
211
|
+
this.startedAt = options.startedAt ?? null;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Reports an error from a root worker.
|
|
216
|
+
*
|
|
217
|
+
* Sent over the network so remote workers can react. For child worker errors,
|
|
218
|
+
* see `BusWorkerLocalErrorMessage`.
|
|
219
|
+
*/
|
|
220
|
+
export class BusWorkerErrorMessage extends BusSystemMessage {
|
|
221
|
+
error;
|
|
222
|
+
constructor(options) {
|
|
223
|
+
super(options);
|
|
224
|
+
this.error = options.error;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Reports an error from a child worker to its parent.
|
|
229
|
+
*
|
|
230
|
+
* Local-only: never crosses the network. The parent receives it via
|
|
231
|
+
* `onWorkerFailed()`.
|
|
232
|
+
*/
|
|
233
|
+
export class BusWorkerLocalErrorMessage extends BusLocalMessage(BusSystemMessage) {
|
|
234
|
+
error;
|
|
235
|
+
constructor(options) {
|
|
236
|
+
super(options);
|
|
237
|
+
this.error = options.error;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
/** Requests a worker worker to start work. */
|
|
241
|
+
export class BusJobRequestMessage extends BusDataMessage {
|
|
242
|
+
jobId;
|
|
243
|
+
jobName;
|
|
244
|
+
payload;
|
|
245
|
+
constructor(options) {
|
|
246
|
+
super(options);
|
|
247
|
+
this.jobId = options.jobId;
|
|
248
|
+
this.jobName = options.jobName ?? null;
|
|
249
|
+
this.payload = options.payload ?? null;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
/** Response from a worker worker when its job completes. */
|
|
253
|
+
export class BusJobResponseMessage extends BusDataMessage {
|
|
254
|
+
jobId;
|
|
255
|
+
status;
|
|
256
|
+
response;
|
|
257
|
+
constructor(options) {
|
|
258
|
+
super(options);
|
|
259
|
+
this.jobId = options.jobId;
|
|
260
|
+
this.status = options.status;
|
|
261
|
+
this.response = options.response ?? null;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* High-priority job response.
|
|
266
|
+
*
|
|
267
|
+
* Same semantics as `BusJobResponseMessage` but delivered with system
|
|
268
|
+
* priority, preempting queued data messages.
|
|
269
|
+
*/
|
|
270
|
+
export class BusJobResponseUrgentMessage extends BusSystemMessage {
|
|
271
|
+
jobId;
|
|
272
|
+
status;
|
|
273
|
+
response;
|
|
274
|
+
constructor(options) {
|
|
275
|
+
super(options);
|
|
276
|
+
this.jobId = options.jobId;
|
|
277
|
+
this.status = options.status;
|
|
278
|
+
this.response = options.response ?? null;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
/** Progress update from a worker worker. */
|
|
282
|
+
export class BusJobUpdateMessage extends BusDataMessage {
|
|
283
|
+
jobId;
|
|
284
|
+
update;
|
|
285
|
+
constructor(options) {
|
|
286
|
+
super(options);
|
|
287
|
+
this.jobId = options.jobId;
|
|
288
|
+
this.update = options.update ?? null;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* High-priority job progress update.
|
|
293
|
+
*
|
|
294
|
+
* Same semantics as `BusJobUpdateMessage` but delivered with system priority,
|
|
295
|
+
* preempting queued data messages.
|
|
296
|
+
*/
|
|
297
|
+
export class BusJobUpdateUrgentMessage extends BusSystemMessage {
|
|
298
|
+
jobId;
|
|
299
|
+
update;
|
|
300
|
+
constructor(options) {
|
|
301
|
+
super(options);
|
|
302
|
+
this.jobId = options.jobId;
|
|
303
|
+
this.update = options.update ?? null;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
/** Request a progress update from a worker worker. */
|
|
307
|
+
export class BusJobUpdateRequestMessage extends BusDataMessage {
|
|
308
|
+
jobId;
|
|
309
|
+
constructor(options) {
|
|
310
|
+
super(options);
|
|
311
|
+
this.jobId = options.jobId;
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
/** Cancel a running job. */
|
|
315
|
+
export class BusJobCancelMessage extends BusSystemMessage {
|
|
316
|
+
jobId;
|
|
317
|
+
reason;
|
|
318
|
+
constructor(options) {
|
|
319
|
+
super(options);
|
|
320
|
+
this.jobId = options.jobId;
|
|
321
|
+
this.reason = options.reason ?? null;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
/** Signals the start of a streaming job response. */
|
|
325
|
+
export class BusJobStreamStartMessage extends BusDataMessage {
|
|
326
|
+
jobId;
|
|
327
|
+
/** Optional metadata (e.g. content type). */
|
|
328
|
+
data;
|
|
329
|
+
constructor(options) {
|
|
330
|
+
super(options);
|
|
331
|
+
this.jobId = options.jobId;
|
|
332
|
+
this.data = options.data ?? null;
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
/** A chunk of streaming job data. */
|
|
336
|
+
export class BusJobStreamDataMessage extends BusDataMessage {
|
|
337
|
+
jobId;
|
|
338
|
+
/** The chunk payload. */
|
|
339
|
+
data;
|
|
340
|
+
constructor(options) {
|
|
341
|
+
super(options);
|
|
342
|
+
this.jobId = options.jobId;
|
|
343
|
+
this.data = options.data ?? null;
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
/** Signals the end of a streaming job response. */
|
|
347
|
+
export class BusJobStreamEndMessage extends BusDataMessage {
|
|
348
|
+
jobId;
|
|
349
|
+
/** Optional final metadata. */
|
|
350
|
+
data;
|
|
351
|
+
constructor(options) {
|
|
352
|
+
super(options);
|
|
353
|
+
this.jobId = options.jobId;
|
|
354
|
+
this.data = options.data ?? null;
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
//# sourceMappingURL=messages.js.map
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Network bus implementations for distributed workers.
|
|
3
|
+
*
|
|
4
|
+
* Each adapter has its own optional dependency, so each lives in its own
|
|
5
|
+
* package and is imported from there:
|
|
6
|
+
*
|
|
7
|
+
* - `PgmqBus`: `@pipedog/bus-pgmq/pgmq`
|
|
8
|
+
* - `RedisBus`: `@pipedog/bus-redis/redis`
|
|
9
|
+
*
|
|
10
|
+
* PORTING NOTE: upstream re-exports both names lazily (a module
|
|
11
|
+
* `__getattr__`) so the package loads with only the extras installed.
|
|
12
|
+
* ES modules have no lazy re-exports, and a static re-export would make core
|
|
13
|
+
* depend on both network packages, so this module re-exports nothing.
|
|
14
|
+
*/
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,21 @@
|
|
|
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/network/__init__.py
|
|
6
|
+
/**
|
|
7
|
+
* Network bus implementations for distributed workers.
|
|
8
|
+
*
|
|
9
|
+
* Each adapter has its own optional dependency, so each lives in its own
|
|
10
|
+
* package and is imported from there:
|
|
11
|
+
*
|
|
12
|
+
* - `PgmqBus`: `@pipedog/bus-pgmq/pgmq`
|
|
13
|
+
* - `RedisBus`: `@pipedog/bus-redis/redis`
|
|
14
|
+
*
|
|
15
|
+
* PORTING NOTE: upstream re-exports both names lazily (a module
|
|
16
|
+
* `__getattr__`) so the package loads with only the extras installed.
|
|
17
|
+
* ES modules have no lazy re-exports, and a static re-export would make core
|
|
18
|
+
* depend on both network packages, so this module re-exports nothing.
|
|
19
|
+
*/
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/** Priority queue for bus messages. */
|
|
2
|
+
import { Queue } from "@pipedog/asyncio";
|
|
3
|
+
import { type BusMessage } from "./messages.ts";
|
|
4
|
+
export declare const HIGH_PRIORITY = 1;
|
|
5
|
+
export declare const LOW_PRIORITY = 2;
|
|
6
|
+
/**
|
|
7
|
+
* Priority queue that delivers system messages before normal messages.
|
|
8
|
+
*
|
|
9
|
+
* Messages that extend `BusSystemMessage` (e.g. cancel messages) get high
|
|
10
|
+
* priority. All other messages are delivered in FIFO order at normal
|
|
11
|
+
* priority.
|
|
12
|
+
*
|
|
13
|
+
* Upstream subclasses `asyncio.PriorityQueue` and wraps each message in a
|
|
14
|
+
* `(priority, counter, message)` tuple in `put()`/`put_nowait()`, unwrapping
|
|
15
|
+
* it in `get()`. Here the queue is a `Queue<BusMessage>` whose storage hooks
|
|
16
|
+
* keep the same tuples in a heap, so `put`, `putNowait`, `get` and
|
|
17
|
+
* `getNowait` all take and return plain messages.
|
|
18
|
+
*/
|
|
19
|
+
export declare class BusMessageQueue extends Queue<BusMessage> {
|
|
20
|
+
#private;
|
|
21
|
+
/** Add a message to the heap with automatic priority assignment. */
|
|
22
|
+
protected _put(item: BusMessage): void;
|
|
23
|
+
/** Get the next message, with system messages prioritized. */
|
|
24
|
+
protected _get(): BusMessage;
|
|
25
|
+
protected _size(): number;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=queue.d.ts.map
|
|
@@ -0,0 +1,51 @@
|
|
|
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/queue.py
|
|
6
|
+
/** Priority queue for bus messages. */
|
|
7
|
+
import { heapPop, heapPush, Queue } from "@pipedog/asyncio";
|
|
8
|
+
import { BusSystemMessage } from "./messages.js";
|
|
9
|
+
export const HIGH_PRIORITY = 1;
|
|
10
|
+
export const LOW_PRIORITY = 2;
|
|
11
|
+
function compareEntries(a, b) {
|
|
12
|
+
return a[0] - b[0] || a[1] - b[1];
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Priority queue that delivers system messages before normal messages.
|
|
16
|
+
*
|
|
17
|
+
* Messages that extend `BusSystemMessage` (e.g. cancel messages) get high
|
|
18
|
+
* priority. All other messages are delivered in FIFO order at normal
|
|
19
|
+
* priority.
|
|
20
|
+
*
|
|
21
|
+
* Upstream subclasses `asyncio.PriorityQueue` and wraps each message in a
|
|
22
|
+
* `(priority, counter, message)` tuple in `put()`/`put_nowait()`, unwrapping
|
|
23
|
+
* it in `get()`. Here the queue is a `Queue<BusMessage>` whose storage hooks
|
|
24
|
+
* keep the same tuples in a heap, so `put`, `putNowait`, `get` and
|
|
25
|
+
* `getNowait` all take and return plain messages.
|
|
26
|
+
*/
|
|
27
|
+
export class BusMessageQueue extends Queue {
|
|
28
|
+
#heap = [];
|
|
29
|
+
#highCounter = 0;
|
|
30
|
+
#lowCounter = 0;
|
|
31
|
+
/** Add a message to the heap with automatic priority assignment. */
|
|
32
|
+
_put(item) {
|
|
33
|
+
if (item instanceof BusSystemMessage) {
|
|
34
|
+
this.#highCounter += 1;
|
|
35
|
+
heapPush(this.#heap, [HIGH_PRIORITY, this.#highCounter, item], compareEntries);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
this.#lowCounter += 1;
|
|
39
|
+
heapPush(this.#heap, [LOW_PRIORITY, this.#lowCounter, item], compareEntries);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/** Get the next message, with system messages prioritized. */
|
|
43
|
+
_get() {
|
|
44
|
+
const [, , message] = heapPop(this.#heap, compareEntries);
|
|
45
|
+
return message;
|
|
46
|
+
}
|
|
47
|
+
_size() {
|
|
48
|
+
return this.#heap.length;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=queue.js.map
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** Abstract base classes for bus message serialization. */
|
|
2
|
+
import type { BusMessage } from "../messages.ts";
|
|
3
|
+
/**
|
|
4
|
+
* Serialize and deserialize `BusMessage` instances for network transport.
|
|
5
|
+
*
|
|
6
|
+
* Network bus implementations use a `MessageSerializer` to convert messages
|
|
7
|
+
* to bytes for transmission and reconstruct them on the receiving end.
|
|
8
|
+
*/
|
|
9
|
+
export declare abstract class MessageSerializer {
|
|
10
|
+
/**
|
|
11
|
+
* Convert a bus message to bytes.
|
|
12
|
+
*
|
|
13
|
+
* @param message The bus message to serialize.
|
|
14
|
+
* @returns The serialized bytes.
|
|
15
|
+
*/
|
|
16
|
+
abstract serialize(message: BusMessage): Uint8Array;
|
|
17
|
+
/**
|
|
18
|
+
* Reconstruct a bus message from bytes.
|
|
19
|
+
*
|
|
20
|
+
* @param data The serialized bytes produced by `serialize()`.
|
|
21
|
+
* @returns The reconstructed `BusMessage`.
|
|
22
|
+
*/
|
|
23
|
+
abstract deserialize(data: Uint8Array): BusMessage | null;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1,14 @@
|
|
|
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/serializers/base.py
|
|
6
|
+
/**
|
|
7
|
+
* Serialize and deserialize `BusMessage` instances for network transport.
|
|
8
|
+
*
|
|
9
|
+
* Network bus implementations use a `MessageSerializer` to convert messages
|
|
10
|
+
* to bytes for transmission and reconstruct them on the receiving end.
|
|
11
|
+
*/
|
|
12
|
+
export class MessageSerializer {
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bus message serialization for network transport.
|
|
3
|
+
*
|
|
4
|
+
* Provides the abstract `MessageSerializer` interface and a default
|
|
5
|
+
* `JSONMessageSerializer` implementation.
|
|
6
|
+
*/
|
|
7
|
+
export { MessageSerializer } from "./base.ts";
|
|
8
|
+
export { JSONMessageSerializer } from "./json.ts";
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,14 @@
|
|
|
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/serializers/__init__.py
|
|
6
|
+
/**
|
|
7
|
+
* Bus message serialization for network transport.
|
|
8
|
+
*
|
|
9
|
+
* Provides the abstract `MessageSerializer` interface and a default
|
|
10
|
+
* `JSONMessageSerializer` implementation.
|
|
11
|
+
*/
|
|
12
|
+
export { MessageSerializer } from "./base.js";
|
|
13
|
+
export { JSONMessageSerializer } from "./json.js";
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import type { Ctor } from "../../utils/mixin.ts";
|
|
2
|
+
import type { TypeAdapter } from "../adapters/base.ts";
|
|
3
|
+
import { type BusMessage } from "../messages.ts";
|
|
4
|
+
import { MessageSerializer } from "./base.ts";
|
|
5
|
+
/** An `as const` enum object: member names mapped to their values. */
|
|
6
|
+
export type EnumObject = Readonly<Record<string, unknown>>;
|
|
7
|
+
/** A type the serializer can name on the wire: a class or an `as const` enum. */
|
|
8
|
+
export type SerializableType = Ctor | EnumObject;
|
|
9
|
+
/**
|
|
10
|
+
* Register a type under its fully qualified (upstream) name, so it can be
|
|
11
|
+
* tagged on serialization and resolved on deserialization.
|
|
12
|
+
*
|
|
13
|
+
* @param qualifiedName Dotted path like `"pipecat.frames.frames.TextFrame"`.
|
|
14
|
+
* @param type The class, or the `as const` enum object.
|
|
15
|
+
*/
|
|
16
|
+
export declare function registerSerializableType(qualifiedName: string, type: SerializableType): void;
|
|
17
|
+
/**
|
|
18
|
+
* Declare that a class field holds a value of an `as const` enum, so the
|
|
19
|
+
* value is tagged with the enum's name as upstream tags an `Enum` member.
|
|
20
|
+
* The enum must be registered with `registerSerializableType()`.
|
|
21
|
+
*
|
|
22
|
+
* @param type The class declaring the field (subclasses inherit it).
|
|
23
|
+
* @param field The field's (camelCase) name.
|
|
24
|
+
* @param enumType The enum object.
|
|
25
|
+
*/
|
|
26
|
+
export declare function registerEnumField(type: Ctor, field: string, enumType: EnumObject): void;
|
|
27
|
+
/**
|
|
28
|
+
* Serialize bus messages as JSON with pluggable type adapters.
|
|
29
|
+
*
|
|
30
|
+
* Handles JSON-native types, enums, bytes, dataclasses, and any type with a
|
|
31
|
+
* registered `TypeAdapter` (e.g. `LLMContext`, `ToolsSchema`). Adapters for
|
|
32
|
+
* common Pipecat types are registered by default. Additional type adapters
|
|
33
|
+
* can be registered via `registerAdapter()`.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* const serializer = new JSONMessageSerializer();
|
|
37
|
+
*
|
|
38
|
+
* const data = serializer.serialize(message);
|
|
39
|
+
* const restored = serializer.deserialize(data);
|
|
40
|
+
*/
|
|
41
|
+
export declare class JSONMessageSerializer extends MessageSerializer {
|
|
42
|
+
protected _adapters: Map<Ctor, TypeAdapter>;
|
|
43
|
+
/** Create a serializer with default adapters for `LLMContext` and `ToolsSchema`. */
|
|
44
|
+
constructor();
|
|
45
|
+
/**
|
|
46
|
+
* Register a type adapter.
|
|
47
|
+
*
|
|
48
|
+
* @param type The type to handle.
|
|
49
|
+
* @param adapter The adapter that serializes/deserializes instances of this type.
|
|
50
|
+
*/
|
|
51
|
+
registerAdapter(type: Ctor, adapter: TypeAdapter): void;
|
|
52
|
+
/**
|
|
53
|
+
* Convert a bus message to JSON bytes.
|
|
54
|
+
*
|
|
55
|
+
* @param message The bus message to serialize.
|
|
56
|
+
* @returns UTF-8 encoded JSON bytes.
|
|
57
|
+
*/
|
|
58
|
+
serialize(message: BusMessage): Uint8Array;
|
|
59
|
+
/**
|
|
60
|
+
* Reconstruct a bus message from JSON bytes.
|
|
61
|
+
*
|
|
62
|
+
* @param data The JSON bytes produced by `serialize()`.
|
|
63
|
+
* @returns The reconstructed `BusMessage`, or null if deserialization fails.
|
|
64
|
+
*/
|
|
65
|
+
deserialize(data: Uint8Array | string): BusMessage | null;
|
|
66
|
+
/** Recursively serialize a value to a JSON-compatible representation. */
|
|
67
|
+
protected _serializeValue(value: unknown): unknown;
|
|
68
|
+
/** Tag a value of an `as const` enum with its member name. */
|
|
69
|
+
protected _serializeEnum(enumType: EnumObject, value: unknown): unknown;
|
|
70
|
+
/** Recursively deserialize a value from its JSON representation. */
|
|
71
|
+
protected _deserializeValue(value: unknown): unknown;
|
|
72
|
+
/** Deserialize a tagged value using its fully qualified type name. */
|
|
73
|
+
protected _deserializeTyped(typeName: string, data: unknown): unknown;
|
|
74
|
+
/** Find an adapter for a type, checking parent classes through the prototype chain. */
|
|
75
|
+
protected _findAdapter(type: Ctor): TypeAdapter | null;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=json.d.ts.map
|