@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,98 @@
|
|
|
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/utils/text/transforms/voice_formatter.py
|
|
6
|
+
import { normalizeAcronyms } from "./acronyms.js";
|
|
7
|
+
import { expandCurrency } from "./currency.js";
|
|
8
|
+
import { normalizeDates } from "./dates.js";
|
|
9
|
+
import { emailToSpeech } from "./email.js";
|
|
10
|
+
import { expandNumbers } from "./numbers.js";
|
|
11
|
+
import { expandPercentages } from "./percentages.js";
|
|
12
|
+
import { expandPhoneNumbers } from "./phone.js";
|
|
13
|
+
import { replaceText } from "./replacements.js";
|
|
14
|
+
import { stripMarkdown } from "./strip_markdown.js";
|
|
15
|
+
import { expandUnits } from "./units.js";
|
|
16
|
+
/**
|
|
17
|
+
* Configurable bundle that applies a pipeline of voice-formatting transforms.
|
|
18
|
+
*
|
|
19
|
+
* Each option enables or disables one transform. Transforms are applied in a
|
|
20
|
+
* deliberate order: structural cleanup first, language expansions second, user
|
|
21
|
+
* replacements last.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```ts
|
|
25
|
+
* const formatter = new VoiceFormatter({
|
|
26
|
+
* stripMarkdown: true,
|
|
27
|
+
* expandCurrency: true,
|
|
28
|
+
* numberDigitCutoff: 2025,
|
|
29
|
+
* customReplacements: [[/\bDr\./, "Doctor"]],
|
|
30
|
+
* });
|
|
31
|
+
* const tts = new CartesiaTTSService({
|
|
32
|
+
* textTransforms: [["*", formatter]],
|
|
33
|
+
* });
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
// biome-ignore lint/suspicious/noUnsafeDeclarationMerging: adds Python's `__call__` signature to the class.
|
|
37
|
+
export class VoiceFormatter {
|
|
38
|
+
_transforms;
|
|
39
|
+
/** Initialize the voice formatter. */
|
|
40
|
+
constructor(options = {}) {
|
|
41
|
+
const call = async (text, textType) => self.transform(text, textType);
|
|
42
|
+
const self = Object.setPrototypeOf(call, new.target.prototype);
|
|
43
|
+
self._transforms = [];
|
|
44
|
+
if (options.stripMarkdown ?? true) {
|
|
45
|
+
self._transforms.push(stripMarkdown);
|
|
46
|
+
}
|
|
47
|
+
// emailToSpeech must run before expandPhoneNumbers (phone regex matches
|
|
48
|
+
// digit-only domains) and before normalizeAcronyms (all-caps local parts get
|
|
49
|
+
// letter-spaced, breaking the email pattern).
|
|
50
|
+
if (options.emailToSpeech ?? true) {
|
|
51
|
+
self._transforms.push(emailToSpeech);
|
|
52
|
+
}
|
|
53
|
+
if (options.expandPhoneNumbers ?? true) {
|
|
54
|
+
self._transforms.push(expandPhoneNumbers);
|
|
55
|
+
}
|
|
56
|
+
if (options.normalizeDates ?? true) {
|
|
57
|
+
self._transforms.push(normalizeDates);
|
|
58
|
+
}
|
|
59
|
+
if (options.expandCurrency ?? true) {
|
|
60
|
+
self._transforms.push(expandCurrency);
|
|
61
|
+
}
|
|
62
|
+
if (options.expandPercentages ?? true) {
|
|
63
|
+
self._transforms.push(expandPercentages);
|
|
64
|
+
}
|
|
65
|
+
// expandUnits must run before normalizeAcronyms: uppercase unit abbreviations
|
|
66
|
+
// like "MB" or "MPH" would be letter-spaced first and then not recognized.
|
|
67
|
+
if (options.expandUnits ?? true) {
|
|
68
|
+
self._transforms.push(expandUnits);
|
|
69
|
+
}
|
|
70
|
+
if (options.normalizeAcronyms ?? true) {
|
|
71
|
+
self._transforms.push(normalizeAcronyms);
|
|
72
|
+
}
|
|
73
|
+
if (options.expandNumbers ?? false) {
|
|
74
|
+
self._transforms.push(expandNumbers(options.numberDigitCutoff ?? null));
|
|
75
|
+
}
|
|
76
|
+
if (options.customReplacements && options.customReplacements.length > 0) {
|
|
77
|
+
self._transforms.push(replaceText(options.customReplacements));
|
|
78
|
+
}
|
|
79
|
+
// biome-ignore lint/correctness/noConstructorReturn: returning the callable is the point (see above).
|
|
80
|
+
return self;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Apply all configured transforms in order.
|
|
84
|
+
*
|
|
85
|
+
* Python's `__call__`; calling the instance runs this.
|
|
86
|
+
*
|
|
87
|
+
* @param text Input text to transform.
|
|
88
|
+
* @param textType Text type passed through to each transform.
|
|
89
|
+
* @returns Transformed text ready for TTS synthesis.
|
|
90
|
+
*/
|
|
91
|
+
async transform(text, textType) {
|
|
92
|
+
for (const transform of this._transforms) {
|
|
93
|
+
text = await transform(text, textType);
|
|
94
|
+
}
|
|
95
|
+
return text;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=voice_formatter.js.map
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// Copyright (c) 2026, pipedog contributors
|
|
2
|
+
// SPDX-License-Identifier: BSD-2-Clause
|
|
3
|
+
//
|
|
4
|
+
// Python's `\\d` (in str patterns) matches any Unicode decimal digit, and
|
|
5
|
+
// `int()` / `float()` accept them: `int("٥٠") == 50`. JavaScript's `\\p{Nd}`
|
|
6
|
+
// matches the same characters, but `Number` / `BigInt` only take ASCII digits.
|
|
7
|
+
// `toAsciiDigits` converts first, so ported code parses what Python parses.
|
|
8
|
+
//
|
|
9
|
+
// Generated from Python 3.14.5 unicodedata (Unicode 16.0.0):
|
|
10
|
+
// the code points whose decimal value is 0; each starts a run of ten digits 0-9.
|
|
11
|
+
const ZERO_CODE_POINTS = [
|
|
12
|
+
0x30, 0x660, 0x6f0, 0x7c0, 0x966, 0x9e6, 0xa66, 0xae6, 0xb66, 0xbe6, 0xc66, 0xce6, 0xd66, 0xde6,
|
|
13
|
+
0xe50, 0xed0, 0xf20, 0x1040, 0x1090, 0x17e0, 0x1810, 0x1946, 0x19d0, 0x1a80, 0x1a90, 0x1b50,
|
|
14
|
+
0x1bb0, 0x1c40, 0x1c50, 0xa620, 0xa8d0, 0xa900, 0xa9d0, 0xa9f0, 0xaa50, 0xabf0, 0xff10, 0x104a0,
|
|
15
|
+
0x10d30, 0x10d40, 0x11066, 0x110f0, 0x11136, 0x111d0, 0x112f0, 0x11450, 0x114d0, 0x11650, 0x116c0,
|
|
16
|
+
0x116d0, 0x116da, 0x11730, 0x118e0, 0x11950, 0x11bf0, 0x11c50, 0x11d50, 0x11da0, 0x11f50, 0x16130,
|
|
17
|
+
0x16a60, 0x16ac0, 0x16b50, 0x16d70, 0x1ccf0, 0x1d7ce, 0x1d7d8, 0x1d7e2, 0x1d7ec, 0x1d7f6, 0x1e140,
|
|
18
|
+
0x1e2f0, 0x1e4f0, 0x1e5f1, 0x1e950, 0x1fbf0,
|
|
19
|
+
];
|
|
20
|
+
const DIGIT_VALUE = new Map();
|
|
21
|
+
for (const zero of ZERO_CODE_POINTS) {
|
|
22
|
+
for (let i = 0; i < 10; i++)
|
|
23
|
+
DIGIT_VALUE.set(zero + i, i);
|
|
24
|
+
}
|
|
25
|
+
/** Replace every Unicode decimal digit with its ASCII digit (`"٥٠"` → `"50"`). */
|
|
26
|
+
export function toAsciiDigits(text) {
|
|
27
|
+
let out = "";
|
|
28
|
+
for (const ch of text) {
|
|
29
|
+
const value = DIGIT_VALUE.get(ch.codePointAt(0));
|
|
30
|
+
out += value === undefined ? ch : String(value);
|
|
31
|
+
}
|
|
32
|
+
return out;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=unicode_digits.js.map
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Merge punctuation/space-only tokens into the preceding word.
|
|
3
|
+
*
|
|
4
|
+
* Some TTS services (e.g. Inworld) emit spaces and punctuation as separate
|
|
5
|
+
* word-timestamp tokens rather than attaching them to the adjacent word.
|
|
6
|
+
* This function collapses those tokens so downstream consumers always receive
|
|
7
|
+
* words with trailing punctuation already attached — identical to the format
|
|
8
|
+
* produced by ElevenLabs or Cartesia.
|
|
9
|
+
*
|
|
10
|
+
* A token is considered punct/space-only when its text contains no alphanumeric
|
|
11
|
+
* characters after stripping XML/HTML tags. Such tokens are appended to the
|
|
12
|
+
* preceding word's text and their timestamp is discarded (the preceding word's
|
|
13
|
+
* timestamp is kept). Leading punct/space tokens with no preceding word are
|
|
14
|
+
* silently discarded. Every output token is stripped of leading and trailing
|
|
15
|
+
* whitespace (spaces, tabs, newlines).
|
|
16
|
+
*
|
|
17
|
+
* @param wordTimes Raw list of `[word, timestamp]` pairs from the TTS service.
|
|
18
|
+
* @returns Merged list where every entry contains at least one alphanumeric
|
|
19
|
+
* character and has no leading or trailing whitespace.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* mergePunctTokens([["questions", 1.0], [", ", 1.2], ["explain", 1.4]]);
|
|
23
|
+
* // → [["questions,", 1.0], ["explain", 1.4]]
|
|
24
|
+
*/
|
|
25
|
+
export declare function mergePunctTokens(wordTimes: readonly (readonly [string, number])[]): [string, number][];
|
|
26
|
+
//# sourceMappingURL=word_timestamp_utils.d.ts.map
|
|
@@ -0,0 +1,52 @@
|
|
|
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/utils/text/word_timestamp_utils.py
|
|
6
|
+
/** Utilities for normalizing word-timestamp streams from TTS services. */
|
|
7
|
+
const TAG_RE = /<[^>]+>/g;
|
|
8
|
+
const ALNUM_RE = /[\p{L}\p{N}]/u;
|
|
9
|
+
/**
|
|
10
|
+
* Merge punctuation/space-only tokens into the preceding word.
|
|
11
|
+
*
|
|
12
|
+
* Some TTS services (e.g. Inworld) emit spaces and punctuation as separate
|
|
13
|
+
* word-timestamp tokens rather than attaching them to the adjacent word.
|
|
14
|
+
* This function collapses those tokens so downstream consumers always receive
|
|
15
|
+
* words with trailing punctuation already attached — identical to the format
|
|
16
|
+
* produced by ElevenLabs or Cartesia.
|
|
17
|
+
*
|
|
18
|
+
* A token is considered punct/space-only when its text contains no alphanumeric
|
|
19
|
+
* characters after stripping XML/HTML tags. Such tokens are appended to the
|
|
20
|
+
* preceding word's text and their timestamp is discarded (the preceding word's
|
|
21
|
+
* timestamp is kept). Leading punct/space tokens with no preceding word are
|
|
22
|
+
* silently discarded. Every output token is stripped of leading and trailing
|
|
23
|
+
* whitespace (spaces, tabs, newlines).
|
|
24
|
+
*
|
|
25
|
+
* @param wordTimes Raw list of `[word, timestamp]` pairs from the TTS service.
|
|
26
|
+
* @returns Merged list where every entry contains at least one alphanumeric
|
|
27
|
+
* character and has no leading or trailing whitespace.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* mergePunctTokens([["questions", 1.0], [", ", 1.2], ["explain", 1.4]]);
|
|
31
|
+
* // → [["questions,", 1.0], ["explain", 1.4]]
|
|
32
|
+
*/
|
|
33
|
+
export function mergePunctTokens(wordTimes) {
|
|
34
|
+
const merged = [];
|
|
35
|
+
for (const [word, ts] of wordTimes) {
|
|
36
|
+
const stripped = word.replace(TAG_RE, "");
|
|
37
|
+
const hasAlnum = ALNUM_RE.test(stripped);
|
|
38
|
+
if (!hasAlnum) {
|
|
39
|
+
const last = merged[merged.length - 1];
|
|
40
|
+
if (last) {
|
|
41
|
+
const [prevWord, prevTs] = last;
|
|
42
|
+
merged[merged.length - 1] = [prevWord + word, prevTs];
|
|
43
|
+
}
|
|
44
|
+
// else: leading punct/space with no preceding word → discard
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
merged.push([word, ts]);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return merged.map(([word, ts]) => [word.trim(), ts]);
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=word_timestamp_utils.js.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Time utilities: ISO8601 formatting, nanosecond conversions, and
|
|
3
|
+
* human-readable time strings.
|
|
4
|
+
*/
|
|
5
|
+
/** The current UTC time as an ISO8601 string with millisecond precision. */
|
|
6
|
+
export declare function timeNowIso8601(): string;
|
|
7
|
+
/** Convert seconds to (integer) nanoseconds. */
|
|
8
|
+
export declare function secondsToNanoseconds(seconds: number): number;
|
|
9
|
+
/** Convert nanoseconds to seconds. */
|
|
10
|
+
export declare function nanosecondsToSeconds(nanoseconds: number): number;
|
|
11
|
+
/** Convert nanoseconds to an "H:MM:SS.microseconds" string. */
|
|
12
|
+
export declare function nanosecondsToStr(nanoseconds: number): string;
|
|
13
|
+
//# sourceMappingURL=time.d.ts.map
|
|
@@ -0,0 +1,31 @@
|
|
|
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/utils/time.py
|
|
6
|
+
/**
|
|
7
|
+
* Time utilities: ISO8601 formatting, nanosecond conversions, and
|
|
8
|
+
* human-readable time strings.
|
|
9
|
+
*/
|
|
10
|
+
/** The current UTC time as an ISO8601 string with millisecond precision. */
|
|
11
|
+
export function timeNowIso8601() {
|
|
12
|
+
return new Date().toISOString().replace("Z", "+00:00");
|
|
13
|
+
}
|
|
14
|
+
/** Convert seconds to (integer) nanoseconds. */
|
|
15
|
+
export function secondsToNanoseconds(seconds) {
|
|
16
|
+
return Math.trunc(seconds * 1_000_000_000);
|
|
17
|
+
}
|
|
18
|
+
/** Convert nanoseconds to seconds. */
|
|
19
|
+
export function nanosecondsToSeconds(nanoseconds) {
|
|
20
|
+
return nanoseconds / 1_000_000_000;
|
|
21
|
+
}
|
|
22
|
+
/** Convert nanoseconds to an "H:MM:SS.microseconds" string. */
|
|
23
|
+
export function nanosecondsToStr(nanoseconds) {
|
|
24
|
+
const totalSeconds = nanosecondsToSeconds(nanoseconds);
|
|
25
|
+
const hours = Math.floor(totalSeconds / 3600);
|
|
26
|
+
const minutes = Math.floor((totalSeconds % 3600) / 60);
|
|
27
|
+
const seconds = Math.floor(totalSeconds % 60);
|
|
28
|
+
const microseconds = Math.trunc((totalSeconds - Math.trunc(totalSeconds)) * 1_000_000);
|
|
29
|
+
return `${hours}:${String(minutes).padStart(2, "0")}:${String(seconds).padStart(2, "0")}.${String(microseconds).padStart(6, "0")}`;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=time.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
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/utils/tracing/__init__.py
|
|
6
|
+
/** OpenTelemetry tracing utilities for Pipecat. */
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Functions for adding attributes to OpenTelemetry spans.
|
|
3
|
+
*
|
|
4
|
+
* This module provides specialized functions for adding service-specific
|
|
5
|
+
* attributes to OpenTelemetry spans, following standard semantic conventions
|
|
6
|
+
* where applicable and Pipecat-specific conventions for additional context.
|
|
7
|
+
*
|
|
8
|
+
* Porting notes:
|
|
9
|
+
* - Upstream's keyword arguments become an options object after the span.
|
|
10
|
+
* Extra keyword arguments (upstream `**kwargs`) are any other keys of that
|
|
11
|
+
* object; they are used verbatim as attribute names.
|
|
12
|
+
* - Settings field names are camelCase in TS (`givenFields()`); they are
|
|
13
|
+
* converted back to snake_case for the `settings.*` attribute names so spans
|
|
14
|
+
* carry the same attribute names as upstream.
|
|
15
|
+
*/
|
|
16
|
+
import type { ServiceSettings } from "../../services/settings.ts";
|
|
17
|
+
import type { OtelSpan } from "./setup.ts";
|
|
18
|
+
/** Convert a camelCase name back to upstream's snake_case (`voiceId` → `voice_id`). */
|
|
19
|
+
export declare function _camelToSnake(name: string): string;
|
|
20
|
+
/**
|
|
21
|
+
* Extract the standardized gen_ai.provider.name value from a service class name.
|
|
22
|
+
*
|
|
23
|
+
* Source:
|
|
24
|
+
* https://github.com/open-telemetry/semantic-conventions-genai/blob/main/docs/registry/attributes/gen-ai.md
|
|
25
|
+
*
|
|
26
|
+
* Uses standard OTel names where possible, with special case mappings for
|
|
27
|
+
* service names that don't follow the pattern.
|
|
28
|
+
*
|
|
29
|
+
* @param serviceName The service class name to extract provider name from.
|
|
30
|
+
* @returns The standardized gen_ai.provider.name value.
|
|
31
|
+
*/
|
|
32
|
+
export declare function _getProviderNameFromServiceName(serviceName: string): string;
|
|
33
|
+
export interface TtsSpanAttributesOptions {
|
|
34
|
+
/** Name of the TTS service (e.g., "cartesia"). */
|
|
35
|
+
serviceName: string;
|
|
36
|
+
/** Model name/identifier. */
|
|
37
|
+
model: string;
|
|
38
|
+
/** Voice identifier. */
|
|
39
|
+
voiceId: string;
|
|
40
|
+
/** The text being synthesized. */
|
|
41
|
+
text?: string | null;
|
|
42
|
+
/** Service configuration settings. */
|
|
43
|
+
settings?: ServiceSettings | null;
|
|
44
|
+
/** Number of characters in the text. */
|
|
45
|
+
characterCount?: number | null;
|
|
46
|
+
/** Name of the operation (default: "tts"). */
|
|
47
|
+
operationName?: string;
|
|
48
|
+
/** Time to first byte in seconds. */
|
|
49
|
+
ttfb?: number | null;
|
|
50
|
+
/** Additional attributes to add. */
|
|
51
|
+
[key: string]: unknown;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Add TTS-specific attributes to a span.
|
|
55
|
+
*
|
|
56
|
+
* @param span The span to add attributes to.
|
|
57
|
+
* @param options The TTS attributes; any other key is added as an attribute.
|
|
58
|
+
*/
|
|
59
|
+
export declare function addTtsSpanAttributes(span: OtelSpan, options: TtsSpanAttributesOptions): void;
|
|
60
|
+
export interface SttSpanAttributesOptions {
|
|
61
|
+
/** Name of the STT service (e.g., "deepgram"). */
|
|
62
|
+
serviceName: string;
|
|
63
|
+
/** Model name/identifier. */
|
|
64
|
+
model: string;
|
|
65
|
+
/** Name of the operation (default: "stt"). */
|
|
66
|
+
operationName?: string;
|
|
67
|
+
/** The transcribed text. */
|
|
68
|
+
transcript?: string | null;
|
|
69
|
+
/** Whether this is a final transcript. */
|
|
70
|
+
isFinal?: boolean | null;
|
|
71
|
+
/** Detected or configured language. */
|
|
72
|
+
language?: string | null;
|
|
73
|
+
/** User ID associated with the audio being transcribed. */
|
|
74
|
+
userId?: string | null;
|
|
75
|
+
/** Service configuration settings. */
|
|
76
|
+
settings?: ServiceSettings | null;
|
|
77
|
+
/** Whether voice activity detection is enabled. */
|
|
78
|
+
vadEnabled?: boolean;
|
|
79
|
+
/** Time to first byte in seconds. */
|
|
80
|
+
ttfb?: number | null;
|
|
81
|
+
/** Additional attributes to add. */
|
|
82
|
+
[key: string]: unknown;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Add STT-specific attributes to a span.
|
|
86
|
+
*
|
|
87
|
+
* @param span The span to add attributes to.
|
|
88
|
+
* @param options The STT attributes; any other key is added as an attribute.
|
|
89
|
+
*/
|
|
90
|
+
export declare function addSttSpanAttributes(span: OtelSpan, options: SttSpanAttributesOptions): void;
|
|
91
|
+
export interface LlmSpanAttributesOptions {
|
|
92
|
+
/** Name of the LLM service (e.g., "openai"). */
|
|
93
|
+
serviceName: string;
|
|
94
|
+
/** Model name/identifier. */
|
|
95
|
+
model: string;
|
|
96
|
+
/** Whether streaming is enabled. */
|
|
97
|
+
stream?: boolean;
|
|
98
|
+
/** JSON-serialized messages. */
|
|
99
|
+
messages?: string | null;
|
|
100
|
+
/** Aggregated output text from the LLM. */
|
|
101
|
+
output?: string | null;
|
|
102
|
+
/** JSON-serialized tools configuration. */
|
|
103
|
+
tools?: string | null;
|
|
104
|
+
/** Number of tools available. */
|
|
105
|
+
toolCount?: number | null;
|
|
106
|
+
/** Tool selection configuration. */
|
|
107
|
+
toolChoice?: string | null;
|
|
108
|
+
/** System instructions. */
|
|
109
|
+
systemInstructions?: string | null;
|
|
110
|
+
/** Service parameters. */
|
|
111
|
+
parameters?: Record<string, unknown> | null;
|
|
112
|
+
/** Additional parameters. */
|
|
113
|
+
extraParameters?: Record<string, unknown> | null;
|
|
114
|
+
/** Time to first byte in seconds. */
|
|
115
|
+
ttfb?: number | null;
|
|
116
|
+
/** Additional attributes to add. */
|
|
117
|
+
[key: string]: unknown;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Add LLM-specific attributes to a span.
|
|
121
|
+
*
|
|
122
|
+
* @param span The span to add attributes to.
|
|
123
|
+
* @param options The LLM attributes; any other key is added as an attribute.
|
|
124
|
+
* Keys of `parameters` may be camelCase settings names; they are converted
|
|
125
|
+
* to snake_case attribute names.
|
|
126
|
+
*/
|
|
127
|
+
export declare function addLlmSpanAttributes(span: OtelSpan, options: LlmSpanAttributesOptions): void;
|
|
128
|
+
export interface GeminiLiveSpanAttributesOptions {
|
|
129
|
+
/** Name of the service. */
|
|
130
|
+
serviceName: string;
|
|
131
|
+
/** Model name/identifier. */
|
|
132
|
+
model: string;
|
|
133
|
+
/** Name of the operation (setup, model_turn, tool_call, etc.). */
|
|
134
|
+
operationName: string;
|
|
135
|
+
/** Voice identifier used for output. */
|
|
136
|
+
voiceId?: string | null;
|
|
137
|
+
/** Language code for the session. */
|
|
138
|
+
language?: string | null;
|
|
139
|
+
/** Supported modalities (e.g., "AUDIO", "TEXT"). */
|
|
140
|
+
modalities?: string | null;
|
|
141
|
+
/** Service configuration settings. */
|
|
142
|
+
settings?: ServiceSettings | null;
|
|
143
|
+
/** Available tools/functions list. */
|
|
144
|
+
tools?: unknown[] | null;
|
|
145
|
+
/** JSON-serialized tools for detailed inspection. */
|
|
146
|
+
toolsSerialized?: string | null;
|
|
147
|
+
/** Transcription text. */
|
|
148
|
+
transcript?: string | null;
|
|
149
|
+
/** Whether transcript is input (true) or output (false). */
|
|
150
|
+
isInput?: boolean | null;
|
|
151
|
+
/** Text output from model. */
|
|
152
|
+
textOutput?: string | null;
|
|
153
|
+
/** Size of audio data in bytes. */
|
|
154
|
+
audioDataSize?: number | null;
|
|
155
|
+
/** Additional attributes to add. */
|
|
156
|
+
[key: string]: unknown;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Add Gemini Live specific attributes to a span.
|
|
160
|
+
*
|
|
161
|
+
* @param span The span to add attributes to.
|
|
162
|
+
* @param options The Gemini Live attributes; any other key is added as an attribute.
|
|
163
|
+
*/
|
|
164
|
+
export declare function addGeminiLiveSpanAttributes(span: OtelSpan, options: GeminiLiveSpanAttributesOptions): void;
|
|
165
|
+
export interface OpenaiRealtimeSpanAttributesOptions {
|
|
166
|
+
/** Name of the service. */
|
|
167
|
+
serviceName: string;
|
|
168
|
+
/** Model name/identifier. */
|
|
169
|
+
model: string;
|
|
170
|
+
/** Name of the operation (setup, transcription, response, etc.). */
|
|
171
|
+
operationName: string;
|
|
172
|
+
/** Session configuration properties. */
|
|
173
|
+
sessionProperties?: Record<string, unknown> | null;
|
|
174
|
+
/** Transcription text. */
|
|
175
|
+
transcript?: string | null;
|
|
176
|
+
/** Whether transcript is input (true) or output (false). */
|
|
177
|
+
isInput?: boolean | null;
|
|
178
|
+
/** JSON-serialized context messages. */
|
|
179
|
+
contextMessages?: string | null;
|
|
180
|
+
/** Function calls being made. */
|
|
181
|
+
functionCalls?: unknown[] | null;
|
|
182
|
+
/** Available tools/functions list. */
|
|
183
|
+
tools?: unknown[] | null;
|
|
184
|
+
/** JSON-serialized tools for detailed inspection. */
|
|
185
|
+
toolsSerialized?: string | null;
|
|
186
|
+
/** Size of audio data in bytes. */
|
|
187
|
+
audioDataSize?: number | null;
|
|
188
|
+
/** Additional attributes to add. */
|
|
189
|
+
[key: string]: unknown;
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Add OpenAI Realtime specific attributes to a span.
|
|
193
|
+
*
|
|
194
|
+
* @param span The span to add attributes to.
|
|
195
|
+
* @param options The OpenAI Realtime attributes; any other key is added as an attribute.
|
|
196
|
+
*/
|
|
197
|
+
export declare function addOpenaiRealtimeSpanAttributes(span: OtelSpan, options: OpenaiRealtimeSpanAttributesOptions): void;
|
|
198
|
+
//# sourceMappingURL=service_attributes.d.ts.map
|