@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.
Files changed (736) hide show
  1. package/LICENSE +25 -0
  2. package/NOTICE +9 -0
  3. package/dist/adapters/base_llm_adapter.d.ts +266 -0
  4. package/dist/adapters/base_llm_adapter.js +489 -0
  5. package/dist/adapters/index.d.ts +2 -0
  6. package/dist/adapters/index.js +8 -0
  7. package/dist/adapters/schemas/direct_function.d.ts +202 -0
  8. package/dist/adapters/schemas/direct_function.js +302 -0
  9. package/dist/adapters/schemas/function_schema.d.ts +67 -0
  10. package/dist/adapters/schemas/function_schema.js +72 -0
  11. package/dist/adapters/schemas/index.d.ts +2 -0
  12. package/dist/adapters/schemas/index.js +8 -0
  13. package/dist/adapters/schemas/tools_schema.d.ts +57 -0
  14. package/dist/adapters/schemas/tools_schema.js +79 -0
  15. package/dist/adapters/services/index.d.ts +2 -0
  16. package/dist/adapters/services/index.js +8 -0
  17. package/dist/adapters/services/open_ai_adapter.d.ts +147 -0
  18. package/dist/adapters/services/open_ai_adapter.js +250 -0
  19. package/dist/audio/dtmf/dtmf_data.d.ts +3 -0
  20. package/dist/audio/dtmf/dtmf_data.js +22 -0
  21. package/dist/audio/dtmf/index.d.ts +2 -0
  22. package/dist/audio/dtmf/index.js +8 -0
  23. package/dist/audio/dtmf/types.d.ts +31 -0
  24. package/dist/audio/dtmf/types.js +35 -0
  25. package/dist/audio/dtmf/utils.d.ts +13 -0
  26. package/dist/audio/dtmf/utils.js +62 -0
  27. package/dist/audio/filters/base_audio_filter.d.ts +51 -0
  28. package/dist/audio/filters/base_audio_filter.js +17 -0
  29. package/dist/audio/filters/index.d.ts +2 -0
  30. package/dist/audio/filters/index.js +8 -0
  31. package/dist/audio/index.d.ts +2 -0
  32. package/dist/audio/index.js +8 -0
  33. package/dist/audio/krisp_instance.d.ts +95 -0
  34. package/dist/audio/krisp_instance.js +229 -0
  35. package/dist/audio/mixers/base_audio_mixer.d.ts +56 -0
  36. package/dist/audio/mixers/base_audio_mixer.js +16 -0
  37. package/dist/audio/mixers/index.d.ts +2 -0
  38. package/dist/audio/mixers/index.js +8 -0
  39. package/dist/audio/resamplers/base_audio_resampler.d.ts +46 -0
  40. package/dist/audio/resamplers/base_audio_resampler.js +35 -0
  41. package/dist/audio/resamplers/engine.d.ts +60 -0
  42. package/dist/audio/resamplers/engine.js +89 -0
  43. package/dist/audio/resamplers/index.d.ts +2 -0
  44. package/dist/audio/resamplers/index.js +8 -0
  45. package/dist/audio/resamplers/resampy_resampler.d.ts +10 -0
  46. package/dist/audio/resamplers/resampy_resampler.js +15 -0
  47. package/dist/audio/resamplers/sinc_engine.d.ts +10 -0
  48. package/dist/audio/resamplers/sinc_engine.js +235 -0
  49. package/dist/audio/resamplers/soxr_resampler.d.ts +58 -0
  50. package/dist/audio/resamplers/soxr_resampler.js +79 -0
  51. package/dist/audio/resamplers/soxr_stream_resampler.d.ts +78 -0
  52. package/dist/audio/resamplers/soxr_stream_resampler.js +159 -0
  53. package/dist/audio/turn/base_turn_analyzer.d.ts +84 -0
  54. package/dist/audio/turn/base_turn_analyzer.js +61 -0
  55. package/dist/audio/turn/index.d.ts +2 -0
  56. package/dist/audio/turn/index.js +8 -0
  57. package/dist/audio/turn/smart_turn/_whisper_features.d.ts +30 -0
  58. package/dist/audio/turn/smart_turn/_whisper_features.js +225 -0
  59. package/dist/audio/turn/smart_turn/base_smart_turn.d.ts +94 -0
  60. package/dist/audio/turn/smart_turn/base_smart_turn.js +239 -0
  61. package/dist/audio/turn/smart_turn/local_smart_turn_v3.d.ts +76 -0
  62. package/dist/audio/turn/smart_turn/local_smart_turn_v3.js +151 -0
  63. package/dist/audio/utils.d.ts +224 -0
  64. package/dist/audio/utils.js +634 -0
  65. package/dist/audio/vad/data/index.d.ts +2 -0
  66. package/dist/audio/vad/data/index.js +8 -0
  67. package/dist/audio/vad/index.d.ts +2 -0
  68. package/dist/audio/vad/index.js +8 -0
  69. package/dist/audio/vad/vad_analyzer.d.ts +134 -0
  70. package/dist/audio/vad/vad_analyzer.js +249 -0
  71. package/dist/audio/vad/vad_controller.d.ts +143 -0
  72. package/dist/audio/vad/vad_controller.js +228 -0
  73. package/dist/audio/volume.d.ts +38 -0
  74. package/dist/audio/volume.js +75 -0
  75. package/dist/bus/adapters/base.d.ts +35 -0
  76. package/dist/bus/adapters/base.js +19 -0
  77. package/dist/bus/adapters/index.d.ts +10 -0
  78. package/dist/bus/adapters/index.js +15 -0
  79. package/dist/bus/adapters/llm_context_adapter.d.ts +36 -0
  80. package/dist/bus/adapters/llm_context_adapter.js +82 -0
  81. package/dist/bus/adapters/tools_schema_adapter.d.ts +25 -0
  82. package/dist/bus/adapters/tools_schema_adapter.js +70 -0
  83. package/dist/bus/bridge_processor.d.ts +111 -0
  84. package/dist/bus/bridge_processor.js +166 -0
  85. package/dist/bus/bus.d.ts +110 -0
  86. package/dist/bus/bus.js +200 -0
  87. package/dist/bus/index.d.ts +22 -0
  88. package/dist/bus/index.js +27 -0
  89. package/dist/bus/local/async_queue.d.ts +12 -0
  90. package/dist/bus/local/async_queue.js +21 -0
  91. package/dist/bus/local/index.d.ts +3 -0
  92. package/dist/bus/local/index.js +8 -0
  93. package/dist/bus/messages.d.ts +378 -0
  94. package/dist/bus/messages.js +357 -0
  95. package/dist/bus/network/index.d.ts +16 -0
  96. package/dist/bus/network/index.js +21 -0
  97. package/dist/bus/queue.d.ts +27 -0
  98. package/dist/bus/queue.js +51 -0
  99. package/dist/bus/serializers/base.d.ts +25 -0
  100. package/dist/bus/serializers/base.js +14 -0
  101. package/dist/bus/serializers/index.d.ts +9 -0
  102. package/dist/bus/serializers/index.js +14 -0
  103. package/dist/bus/serializers/json.d.ts +77 -0
  104. package/dist/bus/serializers/json.js +367 -0
  105. package/dist/bus/subscriber.d.ts +46 -0
  106. package/dist/bus/subscriber.js +27 -0
  107. package/dist/bus/ui/index.d.ts +3 -0
  108. package/dist/bus/ui/index.js +8 -0
  109. package/dist/bus/ui/messages.d.ts +186 -0
  110. package/dist/bus/ui/messages.js +171 -0
  111. package/dist/classifiers/base_classifier.d.ts +263 -0
  112. package/dist/classifiers/base_classifier.js +346 -0
  113. package/dist/classifiers/cloudflare/clef/classifier.d.ts +70 -0
  114. package/dist/classifiers/cloudflare/clef/classifier.js +204 -0
  115. package/dist/classifiers/cloudflare/clef/client.d.ts +104 -0
  116. package/dist/classifiers/cloudflare/clef/client.js +234 -0
  117. package/dist/classifiers/cloudflare/clef/index.d.ts +2 -0
  118. package/dist/classifiers/cloudflare/clef/index.js +8 -0
  119. package/dist/classifiers/cloudflare/index.d.ts +2 -0
  120. package/dist/classifiers/cloudflare/index.js +8 -0
  121. package/dist/classifiers/http_client.d.ts +70 -0
  122. package/dist/classifiers/http_client.js +161 -0
  123. package/dist/classifiers/index.d.ts +2 -0
  124. package/dist/classifiers/index.js +8 -0
  125. package/dist/classifiers/jev/classifier.d.ts +8 -0
  126. package/dist/classifiers/jev/classifier.js +13 -0
  127. package/dist/classifiers/jev/client.d.ts +8 -0
  128. package/dist/classifiers/jev/client.js +13 -0
  129. package/dist/classifiers/jev/index.d.ts +2 -0
  130. package/dist/classifiers/jev/index.js +8 -0
  131. package/dist/classifiers/llm/classifier.d.ts +72 -0
  132. package/dist/classifiers/llm/classifier.js +304 -0
  133. package/dist/classifiers/llm/index.d.ts +2 -0
  134. package/dist/classifiers/llm/index.js +8 -0
  135. package/dist/classifiers/openai/decisions/classifier.d.ts +77 -0
  136. package/dist/classifiers/openai/decisions/classifier.js +241 -0
  137. package/dist/classifiers/openai/decisions/client.d.ts +108 -0
  138. package/dist/classifiers/openai/decisions/client.js +234 -0
  139. package/dist/classifiers/openai/decisions/index.d.ts +2 -0
  140. package/dist/classifiers/openai/decisions/index.js +8 -0
  141. package/dist/classifiers/openai/index.d.ts +2 -0
  142. package/dist/classifiers/openai/index.js +8 -0
  143. package/dist/classifiers/typesafe/index.d.ts +2 -0
  144. package/dist/classifiers/typesafe/index.js +8 -0
  145. package/dist/classifiers/typesafe/jev/classifier.d.ts +70 -0
  146. package/dist/classifiers/typesafe/jev/classifier.js +220 -0
  147. package/dist/classifiers/typesafe/jev/client.d.ts +105 -0
  148. package/dist/classifiers/typesafe/jev/client.js +233 -0
  149. package/dist/classifiers/typesafe/jev/index.d.ts +2 -0
  150. package/dist/classifiers/typesafe/jev/index.js +8 -0
  151. package/dist/clocks/base_clock.d.ts +13 -0
  152. package/dist/clocks/base_clock.js +14 -0
  153. package/dist/clocks/index.d.ts +2 -0
  154. package/dist/clocks/index.js +8 -0
  155. package/dist/clocks/system_clock.d.ts +15 -0
  156. package/dist/clocks/system_clock.js +25 -0
  157. package/dist/frames/frames.d.ts +2533 -0
  158. package/dist/frames/frames.js +2485 -0
  159. package/dist/frames/index.d.ts +2 -0
  160. package/dist/frames/index.js +8 -0
  161. package/dist/frames/protobufs/frames_pb2.d.ts +229 -0
  162. package/dist/frames/protobufs/frames_pb2.js +466 -0
  163. package/dist/index.d.ts +11 -0
  164. package/dist/index.js +56 -0
  165. package/dist/metrics/index.d.ts +2 -0
  166. package/dist/metrics/index.js +8 -0
  167. package/dist/metrics/metrics.d.ts +276 -0
  168. package/dist/metrics/metrics.js +254 -0
  169. package/dist/observers/base_observer.d.ts +173 -0
  170. package/dist/observers/base_observer.js +151 -0
  171. package/dist/observers/error_observer.d.ts +75 -0
  172. package/dist/observers/error_observer.js +87 -0
  173. package/dist/observers/function_call_observer.d.ts +157 -0
  174. package/dist/observers/function_call_observer.js +222 -0
  175. package/dist/observers/index.d.ts +2 -0
  176. package/dist/observers/index.js +8 -0
  177. package/dist/observers/loggers/debug_log_observer.d.ts +91 -0
  178. package/dist/observers/loggers/debug_log_observer.js +228 -0
  179. package/dist/observers/loggers/index.d.ts +2 -0
  180. package/dist/observers/loggers/index.js +8 -0
  181. package/dist/observers/loggers/llm_log_observer.d.ts +24 -0
  182. package/dist/observers/loggers/llm_log_observer.js +110 -0
  183. package/dist/observers/loggers/metrics_log_observer.d.ts +85 -0
  184. package/dist/observers/loggers/metrics_log_observer.js +186 -0
  185. package/dist/observers/loggers/transcription_log_observer.d.ts +23 -0
  186. package/dist/observers/loggers/transcription_log_observer.js +74 -0
  187. package/dist/observers/service_metrics_observer.d.ts +168 -0
  188. package/dist/observers/service_metrics_observer.js +236 -0
  189. package/dist/observers/speaking_observer.d.ts +104 -0
  190. package/dist/observers/speaking_observer.js +150 -0
  191. package/dist/observers/startup_timing_observer.d.ts +221 -0
  192. package/dist/observers/startup_timing_observer.js +365 -0
  193. package/dist/observers/turn_tracking_observer.d.ts +78 -0
  194. package/dist/observers/turn_tracking_observer.js +189 -0
  195. package/dist/observers/user_bot_latency_observer.d.ts +411 -0
  196. package/dist/observers/user_bot_latency_observer.js +974 -0
  197. package/dist/pipeline/base_pipeline.d.ts +49 -0
  198. package/dist/pipeline/base_pipeline.js +101 -0
  199. package/dist/pipeline/capabilities.d.ts +76 -0
  200. package/dist/pipeline/capabilities.js +97 -0
  201. package/dist/pipeline/index.d.ts +2 -0
  202. package/dist/pipeline/index.js +8 -0
  203. package/dist/pipeline/job_context.d.ts +317 -0
  204. package/dist/pipeline/job_context.js +450 -0
  205. package/dist/pipeline/job_decorator.d.ts +54 -0
  206. package/dist/pipeline/job_decorator.js +92 -0
  207. package/dist/pipeline/llm_switcher.d.ts +84 -0
  208. package/dist/pipeline/llm_switcher.js +107 -0
  209. package/dist/pipeline/llm_with_backend.d.ts +435 -0
  210. package/dist/pipeline/llm_with_backend.js +806 -0
  211. package/dist/pipeline/parallel_pipeline.d.ts +83 -0
  212. package/dist/pipeline/parallel_pipeline.js +200 -0
  213. package/dist/pipeline/pipeline.d.ts +126 -0
  214. package/dist/pipeline/pipeline.js +196 -0
  215. package/dist/pipeline/service_switcher.d.ts +287 -0
  216. package/dist/pipeline/service_switcher.js +509 -0
  217. package/dist/pipeline/sync_parallel_pipeline.d.ts +192 -0
  218. package/dist/pipeline/sync_parallel_pipeline.js +387 -0
  219. package/dist/pipeline/worker.d.ts +821 -0
  220. package/dist/pipeline/worker.js +1656 -0
  221. package/dist/pipeline/worker_observer.d.ts +131 -0
  222. package/dist/pipeline/worker_observer.js +274 -0
  223. package/dist/pipeline/worker_ready_decorator.d.ts +45 -0
  224. package/dist/pipeline/worker_ready_decorator.js +76 -0
  225. package/dist/processors/aggregators/async_tool_messages.d.ts +146 -0
  226. package/dist/processors/aggregators/async_tool_messages.js +291 -0
  227. package/dist/processors/aggregators/dtmf_aggregator.d.ts +61 -0
  228. package/dist/processors/aggregators/dtmf_aggregator.js +144 -0
  229. package/dist/processors/aggregators/gated.d.ts +43 -0
  230. package/dist/processors/aggregators/gated.js +86 -0
  231. package/dist/processors/aggregators/gated_llm_context.d.ts +42 -0
  232. package/dist/processors/aggregators/gated_llm_context.js +86 -0
  233. package/dist/processors/aggregators/index.d.ts +2 -0
  234. package/dist/processors/aggregators/index.js +8 -0
  235. package/dist/processors/aggregators/llm_context.d.ts +370 -0
  236. package/dist/processors/aggregators/llm_context.js +580 -0
  237. package/dist/processors/aggregators/llm_context_summarizer.d.ts +219 -0
  238. package/dist/processors/aggregators/llm_context_summarizer.js +447 -0
  239. package/dist/processors/aggregators/llm_response.d.ts +37 -0
  240. package/dist/processors/aggregators/llm_response.js +71 -0
  241. package/dist/processors/aggregators/llm_response_universal.d.ts +966 -0
  242. package/dist/processors/aggregators/llm_response_universal.js +2394 -0
  243. package/dist/processors/aggregators/llm_text_processor.d.ts +53 -0
  244. package/dist/processors/aggregators/llm_text_processor.js +102 -0
  245. package/dist/processors/aggregators/sentence.d.ts +39 -0
  246. package/dist/processors/aggregators/sentence.js +69 -0
  247. package/dist/processors/async_generator.d.ts +42 -0
  248. package/dist/processors/async_generator.js +76 -0
  249. package/dist/processors/audio/audio_buffer_processor.d.ts +241 -0
  250. package/dist/processors/audio/audio_buffer_processor.js +565 -0
  251. package/dist/processors/audio/index.d.ts +2 -0
  252. package/dist/processors/audio/index.js +8 -0
  253. package/dist/processors/audio/vad_processor.d.ts +67 -0
  254. package/dist/processors/audio/vad_processor.js +103 -0
  255. package/dist/processors/consumer_processor.d.ts +49 -0
  256. package/dist/processors/consumer_processor.js +85 -0
  257. package/dist/processors/filters/frame_filter.d.ts +39 -0
  258. package/dist/processors/filters/frame_filter.js +52 -0
  259. package/dist/processors/filters/function_filter.d.ts +59 -0
  260. package/dist/processors/filters/function_filter.js +78 -0
  261. package/dist/processors/filters/identity_filter.d.ts +33 -0
  262. package/dist/processors/filters/identity_filter.js +37 -0
  263. package/dist/processors/filters/index.d.ts +2 -0
  264. package/dist/processors/filters/index.js +8 -0
  265. package/dist/processors/filters/null_filter.d.ts +34 -0
  266. package/dist/processors/filters/null_filter.js +47 -0
  267. package/dist/processors/filters/wake_notifier_filter.d.ts +48 -0
  268. package/dist/processors/filters/wake_notifier_filter.js +49 -0
  269. package/dist/processors/frame_processor.d.ts +360 -0
  270. package/dist/processors/frame_processor.js +932 -0
  271. package/dist/processors/frameworks/index.d.ts +2 -0
  272. package/dist/processors/frameworks/index.js +8 -0
  273. package/dist/processors/frameworks/rtvi/frames.d.ts +241 -0
  274. package/dist/processors/frameworks/rtvi/frames.js +259 -0
  275. package/dist/processors/frameworks/rtvi/index.d.ts +6 -0
  276. package/dist/processors/frameworks/rtvi/index.js +11 -0
  277. package/dist/processors/frameworks/rtvi/models.d.ts +1741 -0
  278. package/dist/processors/frameworks/rtvi/models.js +1807 -0
  279. package/dist/processors/frameworks/rtvi/observer.d.ts +340 -0
  280. package/dist/processors/frameworks/rtvi/observer.js +1113 -0
  281. package/dist/processors/frameworks/rtvi/processor.d.ts +182 -0
  282. package/dist/processors/frameworks/rtvi/processor.js +676 -0
  283. package/dist/processors/idle_frame_processor.d.ts +44 -0
  284. package/dist/processors/idle_frame_processor.js +86 -0
  285. package/dist/processors/index.d.ts +2 -0
  286. package/dist/processors/index.js +8 -0
  287. package/dist/processors/logger.d.ts +42 -0
  288. package/dist/processors/logger.js +87 -0
  289. package/dist/processors/metrics/frame_processor_metrics.d.ts +172 -0
  290. package/dist/processors/metrics/frame_processor_metrics.js +372 -0
  291. package/dist/processors/metrics/index.d.ts +2 -0
  292. package/dist/processors/metrics/index.js +8 -0
  293. package/dist/processors/producer_processor.d.ts +68 -0
  294. package/dist/processors/producer_processor.js +78 -0
  295. package/dist/processors/text_transformer.d.ts +30 -0
  296. package/dist/processors/text_transformer.js +48 -0
  297. package/dist/registry/index.d.ts +3 -0
  298. package/dist/registry/index.js +8 -0
  299. package/dist/registry/registry.d.ts +69 -0
  300. package/dist/registry/registry.js +149 -0
  301. package/dist/registry/types.d.ts +47 -0
  302. package/dist/registry/types.js +39 -0
  303. package/dist/serializers/base_serializer.d.ts +94 -0
  304. package/dist/serializers/base_serializer.js +82 -0
  305. package/dist/serializers/index.d.ts +2 -0
  306. package/dist/serializers/index.js +8 -0
  307. package/dist/services/ai_service.d.ts +145 -0
  308. package/dist/services/ai_service.js +262 -0
  309. package/dist/services/anthropic/index.d.ts +2 -0
  310. package/dist/services/anthropic/index.js +7 -0
  311. package/dist/services/assemblyai/index.d.ts +2 -0
  312. package/dist/services/assemblyai/index.js +7 -0
  313. package/dist/services/asyncai/index.d.ts +2 -0
  314. package/dist/services/asyncai/index.js +7 -0
  315. package/dist/services/aws/index.d.ts +2 -0
  316. package/dist/services/aws/index.js +7 -0
  317. package/dist/services/azure/index.d.ts +2 -0
  318. package/dist/services/azure/index.js +7 -0
  319. package/dist/services/baseten/index.d.ts +2 -0
  320. package/dist/services/baseten/index.js +7 -0
  321. package/dist/services/bland/index.d.ts +2 -0
  322. package/dist/services/bland/index.js +7 -0
  323. package/dist/services/camb/index.d.ts +2 -0
  324. package/dist/services/camb/index.js +7 -0
  325. package/dist/services/cartesia/index.d.ts +2 -0
  326. package/dist/services/cartesia/index.js +7 -0
  327. package/dist/services/cerebras/index.d.ts +2 -0
  328. package/dist/services/cerebras/index.js +7 -0
  329. package/dist/services/crusoe/index.d.ts +2 -0
  330. package/dist/services/crusoe/index.js +7 -0
  331. package/dist/services/deepgram/index.d.ts +2 -0
  332. package/dist/services/deepgram/index.js +7 -0
  333. package/dist/services/deepseek/index.d.ts +2 -0
  334. package/dist/services/deepseek/index.js +7 -0
  335. package/dist/services/elevenlabs/index.d.ts +2 -0
  336. package/dist/services/elevenlabs/index.js +7 -0
  337. package/dist/services/fal/index.d.ts +2 -0
  338. package/dist/services/fal/index.js +7 -0
  339. package/dist/services/fireworks/index.d.ts +2 -0
  340. package/dist/services/fireworks/index.js +7 -0
  341. package/dist/services/fish/index.d.ts +2 -0
  342. package/dist/services/fish/index.js +7 -0
  343. package/dist/services/funasr/index.d.ts +3 -0
  344. package/dist/services/funasr/index.js +8 -0
  345. package/dist/services/gladia/index.d.ts +2 -0
  346. package/dist/services/gladia/index.js +7 -0
  347. package/dist/services/google/index.d.ts +2 -0
  348. package/dist/services/google/index.js +7 -0
  349. package/dist/services/gradium/index.d.ts +2 -0
  350. package/dist/services/gradium/index.js +7 -0
  351. package/dist/services/grok/index.d.ts +2 -0
  352. package/dist/services/grok/index.js +7 -0
  353. package/dist/services/groq/index.d.ts +2 -0
  354. package/dist/services/groq/index.js +7 -0
  355. package/dist/services/heygen/index.d.ts +2 -0
  356. package/dist/services/heygen/index.js +7 -0
  357. package/dist/services/hume/index.d.ts +2 -0
  358. package/dist/services/hume/index.js +7 -0
  359. package/dist/services/image_service.d.ts +52 -0
  360. package/dist/services/image_service.js +60 -0
  361. package/dist/services/inception/index.d.ts +2 -0
  362. package/dist/services/inception/index.js +7 -0
  363. package/dist/services/index.d.ts +2 -0
  364. package/dist/services/index.js +8 -0
  365. package/dist/services/inworld/index.d.ts +2 -0
  366. package/dist/services/inworld/index.js +7 -0
  367. package/dist/services/keenable/index.d.ts +2 -0
  368. package/dist/services/keenable/index.js +7 -0
  369. package/dist/services/kokoro/index.d.ts +2 -0
  370. package/dist/services/kokoro/index.js +7 -0
  371. package/dist/services/llm_service.d.ts +1106 -0
  372. package/dist/services/llm_service.js +2231 -0
  373. package/dist/services/mem0/index.d.ts +2 -0
  374. package/dist/services/mem0/index.js +7 -0
  375. package/dist/services/meta/index.d.ts +2 -0
  376. package/dist/services/meta/index.js +7 -0
  377. package/dist/services/minimax/index.d.ts +2 -0
  378. package/dist/services/minimax/index.js +7 -0
  379. package/dist/services/mistral/index.d.ts +2 -0
  380. package/dist/services/mistral/index.js +7 -0
  381. package/dist/services/moondream/index.d.ts +2 -0
  382. package/dist/services/moondream/index.js +7 -0
  383. package/dist/services/moonshine/index.d.ts +2 -0
  384. package/dist/services/moonshine/index.js +7 -0
  385. package/dist/services/nebius/index.d.ts +2 -0
  386. package/dist/services/nebius/index.js +7 -0
  387. package/dist/services/neuphonic/index.d.ts +2 -0
  388. package/dist/services/neuphonic/index.js +7 -0
  389. package/dist/services/novita/index.d.ts +2 -0
  390. package/dist/services/novita/index.js +7 -0
  391. package/dist/services/nvidia/index.d.ts +2 -0
  392. package/dist/services/nvidia/index.js +11 -0
  393. package/dist/services/ollama/index.d.ts +2 -0
  394. package/dist/services/ollama/index.js +7 -0
  395. package/dist/services/openai/index.d.ts +2 -0
  396. package/dist/services/openai/index.js +7 -0
  397. package/dist/services/openclaw/index.d.ts +14 -0
  398. package/dist/services/openclaw/index.js +19 -0
  399. package/dist/services/openrouter/index.d.ts +2 -0
  400. package/dist/services/openrouter/index.js +7 -0
  401. package/dist/services/perplexity/index.d.ts +2 -0
  402. package/dist/services/perplexity/index.js +7 -0
  403. package/dist/services/piper/index.d.ts +2 -0
  404. package/dist/services/piper/index.js +7 -0
  405. package/dist/services/pocket_tts/index.d.ts +2 -0
  406. package/dist/services/pocket_tts/index.js +7 -0
  407. package/dist/services/qwen/index.d.ts +2 -0
  408. package/dist/services/qwen/index.js +7 -0
  409. package/dist/services/resembleai/index.d.ts +2 -0
  410. package/dist/services/resembleai/index.js +7 -0
  411. package/dist/services/rime/index.d.ts +2 -0
  412. package/dist/services/rime/index.js +7 -0
  413. package/dist/services/sambanova/index.d.ts +2 -0
  414. package/dist/services/sambanova/index.js +7 -0
  415. package/dist/services/sarvam/index.d.ts +2 -0
  416. package/dist/services/sarvam/index.js +7 -0
  417. package/dist/services/settings.d.ts +356 -0
  418. package/dist/services/settings.js +437 -0
  419. package/dist/services/simli/index.d.ts +2 -0
  420. package/dist/services/simli/index.js +7 -0
  421. package/dist/services/smallest/index.d.ts +2 -0
  422. package/dist/services/smallest/index.js +7 -0
  423. package/dist/services/soniox/index.d.ts +2 -0
  424. package/dist/services/soniox/index.js +7 -0
  425. package/dist/services/speechify/index.d.ts +2 -0
  426. package/dist/services/speechify/index.js +7 -0
  427. package/dist/services/speechmatics/index.d.ts +2 -0
  428. package/dist/services/speechmatics/index.js +7 -0
  429. package/dist/services/stt_latency.d.ts +62 -0
  430. package/dist/services/stt_latency.js +71 -0
  431. package/dist/services/stt_service.d.ts +601 -0
  432. package/dist/services/stt_service.js +1044 -0
  433. package/dist/services/tavus/index.d.ts +2 -0
  434. package/dist/services/tavus/index.js +7 -0
  435. package/dist/services/together/index.d.ts +2 -0
  436. package/dist/services/together/index.js +7 -0
  437. package/dist/services/tts_service.d.ts +909 -0
  438. package/dist/services/tts_service.js +2018 -0
  439. package/dist/services/ultravox/index.d.ts +2 -0
  440. package/dist/services/ultravox/index.js +9 -0
  441. package/dist/services/vision_service.d.ts +56 -0
  442. package/dist/services/vision_service.js +62 -0
  443. package/dist/services/websocket_service.d.ts +213 -0
  444. package/dist/services/websocket_service.js +654 -0
  445. package/dist/services/whisper/index.d.ts +2 -0
  446. package/dist/services/whisper/index.js +9 -0
  447. package/dist/services/xai/index.d.ts +2 -0
  448. package/dist/services/xai/index.js +9 -0
  449. package/dist/services/xtts/index.d.ts +2 -0
  450. package/dist/services/xtts/index.js +9 -0
  451. package/dist/tests/index.d.ts +2 -0
  452. package/dist/tests/index.js +8 -0
  453. package/dist/tests/utils.d.ts +123 -0
  454. package/dist/tests/utils.js +212 -0
  455. package/dist/transcriptions/index.d.ts +2 -0
  456. package/dist/transcriptions/index.js +8 -0
  457. package/dist/transcriptions/language.d.ts +376 -0
  458. package/dist/transcriptions/language.js +543 -0
  459. package/dist/transports/base_input.d.ts +149 -0
  460. package/dist/transports/base_input.js +338 -0
  461. package/dist/transports/base_output.d.ts +432 -0
  462. package/dist/transports/base_output.js +1231 -0
  463. package/dist/transports/base_transport.d.ts +223 -0
  464. package/dist/transports/base_transport.js +167 -0
  465. package/dist/transports/daily/index.d.ts +2 -0
  466. package/dist/transports/daily/index.js +9 -0
  467. package/dist/transports/heygen/index.d.ts +2 -0
  468. package/dist/transports/heygen/index.js +9 -0
  469. package/dist/transports/index.d.ts +2 -0
  470. package/dist/transports/index.js +8 -0
  471. package/dist/transports/lemonslice/index.d.ts +2 -0
  472. package/dist/transports/lemonslice/index.js +9 -0
  473. package/dist/transports/livekit/index.d.ts +2 -0
  474. package/dist/transports/livekit/index.js +9 -0
  475. package/dist/transports/local/index.d.ts +2 -0
  476. package/dist/transports/local/index.js +9 -0
  477. package/dist/transports/moq/index.d.ts +2 -0
  478. package/dist/transports/moq/index.js +9 -0
  479. package/dist/transports/smallwebrtc/index.d.ts +2 -0
  480. package/dist/transports/smallwebrtc/index.js +9 -0
  481. package/dist/transports/tavus/index.d.ts +2 -0
  482. package/dist/transports/tavus/index.js +9 -0
  483. package/dist/transports/video_in_sampler.d.ts +157 -0
  484. package/dist/transports/video_in_sampler.js +258 -0
  485. package/dist/transports/vonage/index.d.ts +2 -0
  486. package/dist/transports/vonage/index.js +9 -0
  487. package/dist/transports/websocket/index.d.ts +2 -0
  488. package/dist/transports/websocket/index.js +9 -0
  489. package/dist/transports/whatsapp/index.d.ts +2 -0
  490. package/dist/transports/whatsapp/index.js +9 -0
  491. package/dist/turns/eager_end_of_turn_mixin.d.ts +70 -0
  492. package/dist/turns/eager_end_of_turn_mixin.js +122 -0
  493. package/dist/turns/empty_user_turn.d.ts +55 -0
  494. package/dist/turns/empty_user_turn.js +53 -0
  495. package/dist/turns/index.d.ts +2 -0
  496. package/dist/turns/index.js +8 -0
  497. package/dist/turns/speculation_gate.d.ts +169 -0
  498. package/dist/turns/speculation_gate.js +294 -0
  499. package/dist/turns/types.d.ts +33 -0
  500. package/dist/turns/types.js +35 -0
  501. package/dist/turns/user_idle_controller.d.ts +94 -0
  502. package/dist/turns/user_idle_controller.js +187 -0
  503. package/dist/turns/user_mute/always_user_mute_strategy.d.ts +15 -0
  504. package/dist/turns/user_mute/always_user_mute_strategy.js +29 -0
  505. package/dist/turns/user_mute/base_user_mute_strategy.d.ts +39 -0
  506. package/dist/turns/user_mute/base_user_mute_strategy.js +45 -0
  507. package/dist/turns/user_mute/first_speech_user_mute_strategy.d.ts +28 -0
  508. package/dist/turns/user_mute/first_speech_user_mute_strategy.js +52 -0
  509. package/dist/turns/user_mute/function_call_user_mute_strategy.d.ts +25 -0
  510. package/dist/turns/user_mute/function_call_user_mute_strategy.js +50 -0
  511. package/dist/turns/user_mute/index.d.ts +6 -0
  512. package/dist/turns/user_mute/index.js +11 -0
  513. package/dist/turns/user_mute/mute_until_first_bot_complete_user_mute_strategy.d.ts +43 -0
  514. package/dist/turns/user_mute/mute_until_first_bot_complete_user_mute_strategy.js +76 -0
  515. package/dist/turns/user_start/base_user_turn_start_strategy.d.ts +135 -0
  516. package/dist/turns/user_start/base_user_turn_start_strategy.js +134 -0
  517. package/dist/turns/user_start/external_user_turn_start_strategy.d.ts +45 -0
  518. package/dist/turns/user_start/external_user_turn_start_strategy.js +64 -0
  519. package/dist/turns/user_start/index.d.ts +8 -0
  520. package/dist/turns/user_start/index.js +16 -0
  521. package/dist/turns/user_start/krisp_viva_ip_user_turn_start_strategy.d.ts +133 -0
  522. package/dist/turns/user_start/krisp_viva_ip_user_turn_start_strategy.js +243 -0
  523. package/dist/turns/user_start/min_words_user_turn_start_strategy.d.ts +60 -0
  524. package/dist/turns/user_start/min_words_user_turn_start_strategy.js +102 -0
  525. package/dist/turns/user_start/transcription_user_turn_start_strategy.d.ts +29 -0
  526. package/dist/turns/user_start/transcription_user_turn_start_strategy.js +43 -0
  527. package/dist/turns/user_start/vad_user_turn_start_strategy.d.ts +20 -0
  528. package/dist/turns/user_start/vad_user_turn_start_strategy.js +31 -0
  529. package/dist/turns/user_start/wake_phrase_user_turn_start_strategy.d.ts +141 -0
  530. package/dist/turns/user_start/wake_phrase_user_turn_start_strategy.js +238 -0
  531. package/dist/turns/user_stop/base_user_turn_stop_strategy.d.ts +174 -0
  532. package/dist/turns/user_stop/base_user_turn_stop_strategy.js +170 -0
  533. package/dist/turns/user_stop/deferred_user_turn_stop_strategy.d.ts +81 -0
  534. package/dist/turns/user_stop/deferred_user_turn_stop_strategy.js +107 -0
  535. package/dist/turns/user_stop/eager_match_policy.d.ts +36 -0
  536. package/dist/turns/user_stop/eager_match_policy.js +50 -0
  537. package/dist/turns/user_stop/eager_user_turn_stop_strategy.d.ts +84 -0
  538. package/dist/turns/user_stop/eager_user_turn_stop_strategy.js +154 -0
  539. package/dist/turns/user_stop/external_user_turn_completion_stop_strategy.d.ts +45 -0
  540. package/dist/turns/user_stop/external_user_turn_completion_stop_strategy.js +55 -0
  541. package/dist/turns/user_stop/external_user_turn_stop_strategy.d.ts +115 -0
  542. package/dist/turns/user_stop/external_user_turn_stop_strategy.js +205 -0
  543. package/dist/turns/user_stop/index.d.ts +10 -0
  544. package/dist/turns/user_stop/index.js +15 -0
  545. package/dist/turns/user_stop/llm_turn_completion_user_turn_stop_strategy.d.ts +44 -0
  546. package/dist/turns/user_stop/llm_turn_completion_user_turn_stop_strategy.js +59 -0
  547. package/dist/turns/user_stop/speech_timeout_user_turn_stop_strategy.d.ts +140 -0
  548. package/dist/turns/user_stop/speech_timeout_user_turn_stop_strategy.js +303 -0
  549. package/dist/turns/user_stop/turn_analyzer_user_turn_stop_strategy.d.ts +135 -0
  550. package/dist/turns/user_stop/turn_analyzer_user_turn_stop_strategy.js +332 -0
  551. package/dist/turns/user_turn_completion_mixin.d.ts +147 -0
  552. package/dist/turns/user_turn_completion_mixin.js +591 -0
  553. package/dist/turns/user_turn_controller.d.ts +134 -0
  554. package/dist/turns/user_turn_controller.js +335 -0
  555. package/dist/turns/user_turn_processor.d.ts +87 -0
  556. package/dist/turns/user_turn_processor.js +180 -0
  557. package/dist/turns/user_turn_strategies.d.ts +187 -0
  558. package/dist/turns/user_turn_strategies.js +222 -0
  559. package/dist/utils/async_tool_cancellation.d.ts +35 -0
  560. package/dist/utils/async_tool_cancellation.js +78 -0
  561. package/dist/utils/asyncio/index.d.ts +2 -0
  562. package/dist/utils/asyncio/index.js +7 -0
  563. package/dist/utils/asyncio/task_manager.d.ts +49 -0
  564. package/dist/utils/asyncio/task_manager.js +105 -0
  565. package/dist/utils/base_object.d.ts +76 -0
  566. package/dist/utils/base_object.js +154 -0
  567. package/dist/utils/context/aggregated_frame_sequencer.d.ts +491 -0
  568. package/dist/utils/context/aggregated_frame_sequencer.js +803 -0
  569. package/dist/utils/context/audio_context_manager.d.ts +131 -0
  570. package/dist/utils/context/audio_context_manager.js +233 -0
  571. package/dist/utils/context/index.d.ts +2 -0
  572. package/dist/utils/context/index.js +7 -0
  573. package/dist/utils/context/llm_context_summarization.d.ts +258 -0
  574. package/dist/utils/context/llm_context_summarization.js +511 -0
  575. package/dist/utils/context/text_segment_map.d.ts +611 -0
  576. package/dist/utils/context/text_segment_map.js +1132 -0
  577. package/dist/utils/context/word_completion_tracker.d.ts +273 -0
  578. package/dist/utils/context/word_completion_tracker.js +441 -0
  579. package/dist/utils/context/word_timestamp_tracker.d.ts +72 -0
  580. package/dist/utils/context/word_timestamp_tracker.js +98 -0
  581. package/dist/utils/deprecation.d.ts +28 -0
  582. package/dist/utils/deprecation.js +75 -0
  583. package/dist/utils/env.d.ts +38 -0
  584. package/dist/utils/env.js +62 -0
  585. package/dist/utils/errors.d.ts +75 -0
  586. package/dist/utils/errors.js +202 -0
  587. package/dist/utils/file_resolver.d.ts +126 -0
  588. package/dist/utils/file_resolver.js +314 -0
  589. package/dist/utils/file_storage.d.ts +115 -0
  590. package/dist/utils/file_storage.js +178 -0
  591. package/dist/utils/frame_queue.d.ts +36 -0
  592. package/dist/utils/frame_queue.js +66 -0
  593. package/dist/utils/http.d.ts +39 -0
  594. package/dist/utils/http.js +53 -0
  595. package/dist/utils/image.d.ts +14 -0
  596. package/dist/utils/image.js +63 -0
  597. package/dist/utils/index.d.ts +2 -0
  598. package/dist/utils/index.js +8 -0
  599. package/dist/utils/jpeg_encoder.d.ts +14 -0
  600. package/dist/utils/jpeg_encoder.js +315 -0
  601. package/dist/utils/log_config.d.ts +34 -0
  602. package/dist/utils/log_config.js +76 -0
  603. package/dist/utils/logger.d.ts +40 -0
  604. package/dist/utils/logger.js +91 -0
  605. package/dist/utils/mixin.d.ts +14 -0
  606. package/dist/utils/mixin.js +63 -0
  607. package/dist/utils/network.d.ts +73 -0
  608. package/dist/utils/network.js +90 -0
  609. package/dist/utils/security/allowed_origins.d.ts +16 -0
  610. package/dist/utils/security/allowed_origins.js +34 -0
  611. package/dist/utils/security/index.d.ts +2 -0
  612. package/dist/utils/security/index.js +7 -0
  613. package/dist/utils/security/redaction.d.ts +27 -0
  614. package/dist/utils/security/redaction.js +123 -0
  615. package/dist/utils/security/ssrf.d.ts +79 -0
  616. package/dist/utils/security/ssrf.js +327 -0
  617. package/dist/utils/shared.d.ts +35 -0
  618. package/dist/utils/shared.js +136 -0
  619. package/dist/utils/startup.d.ts +17 -0
  620. package/dist/utils/startup.js +130 -0
  621. package/dist/utils/string.d.ts +116 -0
  622. package/dist/utils/string.js +460 -0
  623. package/dist/utils/sync/base_notifier.d.ts +25 -0
  624. package/dist/utils/sync/base_notifier.js +16 -0
  625. package/dist/utils/sync/event_notifier.d.ts +38 -0
  626. package/dist/utils/sync/event_notifier.js +51 -0
  627. package/dist/utils/sync/index.d.ts +2 -0
  628. package/dist/utils/sync/index.js +7 -0
  629. package/dist/utils/text/alnum_utils.d.ts +109 -0
  630. package/dist/utils/text/alnum_utils.js +262 -0
  631. package/dist/utils/text/base_text_aggregator.d.ts +146 -0
  632. package/dist/utils/text/base_text_aggregator.js +102 -0
  633. package/dist/utils/text/base_text_filter.d.ts +54 -0
  634. package/dist/utils/text/base_text_filter.js +50 -0
  635. package/dist/utils/text/index.d.ts +2 -0
  636. package/dist/utils/text/index.js +7 -0
  637. package/dist/utils/text/markdown_text_filter.d.ts +147 -0
  638. package/dist/utils/text/markdown_text_filter.js +522 -0
  639. package/dist/utils/text/markup_utils.d.ts +54 -0
  640. package/dist/utils/text/markup_utils.js +156 -0
  641. package/dist/utils/text/pattern_pair_aggregator.d.ts +251 -0
  642. package/dist/utils/text/pattern_pair_aggregator.js +478 -0
  643. package/dist/utils/text/phonemes.d.ts +60 -0
  644. package/dist/utils/text/phonemes.js +172 -0
  645. package/dist/utils/text/simple_text_aggregator.d.ts +135 -0
  646. package/dist/utils/text/simple_text_aggregator.js +254 -0
  647. package/dist/utils/text/skip_tags_aggregator.d.ts +85 -0
  648. package/dist/utils/text/skip_tags_aggregator.js +147 -0
  649. package/dist/utils/text/transforms/acronyms.d.ts +21 -0
  650. package/dist/utils/text/transforms/acronyms.js +31 -0
  651. package/dist/utils/text/transforms/currency.d.ts +16 -0
  652. package/dist/utils/text/transforms/currency.js +56 -0
  653. package/dist/utils/text/transforms/dates.d.ts +18 -0
  654. package/dist/utils/text/transforms/dates.js +102 -0
  655. package/dist/utils/text/transforms/email.d.ts +17 -0
  656. package/dist/utils/text/transforms/email.js +35 -0
  657. package/dist/utils/text/transforms/index.d.ts +37 -0
  658. package/dist/utils/text/transforms/index.js +42 -0
  659. package/dist/utils/text/transforms/numbers.d.ts +25 -0
  660. package/dist/utils/text/transforms/numbers.js +59 -0
  661. package/dist/utils/text/transforms/percentages.d.ts +16 -0
  662. package/dist/utils/text/transforms/percentages.js +32 -0
  663. package/dist/utils/text/transforms/phone.d.ts +21 -0
  664. package/dist/utils/text/transforms/phone.js +39 -0
  665. package/dist/utils/text/transforms/pronunciations.d.ts +65 -0
  666. package/dist/utils/text/transforms/pronunciations.js +112 -0
  667. package/dist/utils/text/transforms/replacements.d.ts +39 -0
  668. package/dist/utils/text/transforms/replacements.js +46 -0
  669. package/dist/utils/text/transforms/strip_markdown.d.ts +25 -0
  670. package/dist/utils/text/transforms/strip_markdown.js +60 -0
  671. package/dist/utils/text/transforms/units.d.ts +22 -0
  672. package/dist/utils/text/transforms/units.js +81 -0
  673. package/dist/utils/text/transforms/voice_formatter.d.ts +86 -0
  674. package/dist/utils/text/transforms/voice_formatter.js +98 -0
  675. package/dist/utils/text/unicode_digits.d.ts +3 -0
  676. package/dist/utils/text/unicode_digits.js +34 -0
  677. package/dist/utils/text/word_timestamp_utils.d.ts +26 -0
  678. package/dist/utils/text/word_timestamp_utils.js +52 -0
  679. package/dist/utils/time.d.ts +13 -0
  680. package/dist/utils/time.js +31 -0
  681. package/dist/utils/tracing/index.d.ts +3 -0
  682. package/dist/utils/tracing/index.js +8 -0
  683. package/dist/utils/tracing/service_attributes.d.ts +198 -0
  684. package/dist/utils/tracing/service_attributes.js +434 -0
  685. package/dist/utils/tracing/service_decorators.d.ts +214 -0
  686. package/dist/utils/tracing/service_decorators.js +1662 -0
  687. package/dist/utils/tracing/setup.d.ts +107 -0
  688. package/dist/utils/tracing/setup.js +160 -0
  689. package/dist/utils/tracing/tracing_context.d.ts +55 -0
  690. package/dist/utils/tracing/tracing_context.js +97 -0
  691. package/dist/utils/tracing/turn_trace_observer.d.ts +95 -0
  692. package/dist/utils/tracing/turn_trace_observer.js +233 -0
  693. package/dist/utils/types.d.ts +80 -0
  694. package/dist/utils/types.js +108 -0
  695. package/dist/utils/utils.d.ts +5 -0
  696. package/dist/utils/utils.js +22 -0
  697. package/dist/utils/yaml.d.ts +179 -0
  698. package/dist/utils/yaml.js +556 -0
  699. package/dist/version.d.ts +3 -0
  700. package/dist/version.js +7 -0
  701. package/dist/workers/base_worker.d.ts +772 -0
  702. package/dist/workers/base_worker.js +1298 -0
  703. package/dist/workers/index.d.ts +2 -0
  704. package/dist/workers/index.js +8 -0
  705. package/dist/workers/llm/backend_llm_worker.d.ts +552 -0
  706. package/dist/workers/llm/backend_llm_worker.js +1055 -0
  707. package/dist/workers/llm/index.d.ts +6 -0
  708. package/dist/workers/llm/index.js +11 -0
  709. package/dist/workers/llm/llm_context_worker.d.ts +66 -0
  710. package/dist/workers/llm/llm_context_worker.js +72 -0
  711. package/dist/workers/llm/llm_worker.d.ts +180 -0
  712. package/dist/workers/llm/llm_worker.js +323 -0
  713. package/dist/workers/llm/tool_decorator.d.ts +68 -0
  714. package/dist/workers/llm/tool_decorator.js +60 -0
  715. package/dist/workers/proxy/index.d.ts +3 -0
  716. package/dist/workers/proxy/index.js +9 -0
  717. package/dist/workers/proxy/websocket/client.d.ts +110 -0
  718. package/dist/workers/proxy/websocket/client.js +196 -0
  719. package/dist/workers/proxy/websocket/index.d.ts +3 -0
  720. package/dist/workers/proxy/websocket/index.js +10 -0
  721. package/dist/workers/runner.d.ts +268 -0
  722. package/dist/workers/runner.js +489 -0
  723. package/dist/workers/ui/index.d.ts +22 -0
  724. package/dist/workers/ui/index.js +27 -0
  725. package/dist/workers/ui/ui_event_decorator.d.ts +43 -0
  726. package/dist/workers/ui/ui_event_decorator.js +75 -0
  727. package/dist/workers/ui/ui_job_context.d.ts +12 -0
  728. package/dist/workers/ui/ui_job_context.js +17 -0
  729. package/dist/workers/ui/ui_prompts.d.ts +21 -0
  730. package/dist/workers/ui/ui_prompts.js +41 -0
  731. package/dist/workers/ui/ui_tools.d.ts +32 -0
  732. package/dist/workers/ui/ui_tools.js +112 -0
  733. package/dist/workers/ui/ui_worker.d.ts +571 -0
  734. package/dist/workers/ui/ui_worker.js +1156 -0
  735. package/package.json +61 -3
  736. package/README.md +0 -5
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Whether to emit the import-time version banner.
3
+ *
4
+ * The banner is a handy startup marker for bots and interactive use, but it's
5
+ * just noise for the `pipecat` / `pc` CLI — it even corrupts `--help` output —
6
+ * so suppress it there.
7
+ */
8
+ export declare function _shouldLogVersionBanner(): boolean;
9
+ /** Returns the pipedog version (shared by every @pipedog package). */
10
+ export declare function version(): string;
11
+ //# sourceMappingURL=index.d.ts.map
package/dist/index.js ADDED
@@ -0,0 +1,56 @@
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/__init__.py
6
+ /**
7
+ * The `@pipedog/core` package entry point.
8
+ *
9
+ * Porting notes:
10
+ * - The version is this package's version (upstream reads the installed
11
+ * `pipecat-ai` distribution's metadata); keep it in sync with package.json.
12
+ * - The check for a separately installed `pipecat-ai-flows` package is Python
13
+ * packaging specific and is not ported.
14
+ * - The `asyncio.wait_for` replacement for Python < 3.12 has no JS
15
+ * counterpart (`waitFor` from `@pipedog/asyncio` is used everywhere).
16
+ */
17
+ import { logger } from "./utils/logger.js";
18
+ import { VERSION } from "./version.js";
19
+ const __version__ = VERSION;
20
+ function currentProcess() {
21
+ return globalThis.process;
22
+ }
23
+ /** A short description of the JavaScript runtime, for the version banner. */
24
+ function runtimeDescription() {
25
+ const g = globalThis;
26
+ if (g.Bun)
27
+ return `Bun ${g.Bun.version}`;
28
+ if (g.Deno)
29
+ return `Deno ${g.Deno.version.deno}`;
30
+ const node = currentProcess()?.versions?.node;
31
+ if (node)
32
+ return `Node ${node}`;
33
+ return g.navigator?.userAgent ?? "unknown runtime";
34
+ }
35
+ /**
36
+ * Whether to emit the import-time version banner.
37
+ *
38
+ * The banner is a handy startup marker for bots and interactive use, but it's
39
+ * just noise for the `pipecat` / `pc` CLI — it even corrupts `--help` output —
40
+ * so suppress it there.
41
+ */
42
+ export function _shouldLogVersionBanner() {
43
+ const script = currentProcess()?.argv?.[1] ?? "";
44
+ const base = script.split(/[\\/]/).pop() ?? "";
45
+ const program = base.replace(/\.[^.]*$/, "");
46
+ return program !== "pipecat" && program !== "pc";
47
+ }
48
+ if (_shouldLogVersionBanner()) {
49
+ // Upstream prints "ᓚᘏᗢ Pipecat <version> ᓚᘏᗢ"; this is pipedog, with its own version.
50
+ logger.info(`pipedog ${__version__} (${runtimeDescription()})`);
51
+ }
52
+ /** Returns the pipedog version (shared by every @pipedog package). */
53
+ export function version() {
54
+ return __version__;
55
+ }
56
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.d.ts.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/metrics/__init__.py
6
+ // Upstream's `__init__.py` is empty: import the package's modules directly.
7
+ export {};
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,276 @@
1
+ /**
2
+ * Metrics data models for Pipecat framework.
3
+ *
4
+ * Defines models for various types of metrics data collected throughout the
5
+ * pipeline, including timing, token usage, and processing statistics.
6
+ */
7
+ export interface MetricsDataOptions {
8
+ /** Name of the processor generating the metrics. */
9
+ processor: string;
10
+ /** Optional model name associated with the metrics. */
11
+ model?: string | null;
12
+ }
13
+ /**
14
+ * Base class for all metrics data.
15
+ *
16
+ * - `processor`: name of the processor generating the metrics.
17
+ * - `model`: optional model name associated with the metrics.
18
+ */
19
+ export declare class MetricsData {
20
+ processor: string;
21
+ model: string | null;
22
+ constructor(options: MetricsDataOptions);
23
+ }
24
+ export interface TTFBMetricsDataOptions extends MetricsDataOptions {
25
+ /** TTFB measurement in seconds. */
26
+ value: number;
27
+ }
28
+ /**
29
+ * Time To First Byte (TTFB) metrics data.
30
+ *
31
+ * - `value`: TTFB measurement in seconds.
32
+ */
33
+ export declare class TTFBMetricsData extends MetricsData {
34
+ value: number;
35
+ constructor(options: TTFBMetricsDataOptions);
36
+ }
37
+ export interface TTFAMetricsDataOptions extends MetricsDataOptions {
38
+ /** TTFA measurement in seconds (`ttfb` plus `leadingSilence`). */
39
+ ttfa: number;
40
+ /** Time-to-first-byte that TTFA builds on, in seconds. */
41
+ ttfb: number;
42
+ /** Silence padding before the first audible sample, in seconds. */
43
+ leadingSilence: number;
44
+ }
45
+ /**
46
+ * Time To First Audio (TTFA) metrics data.
47
+ *
48
+ * Measures the time from a TTS request to the first audible audio sample,
49
+ * i.e. time-to-first-byte plus any leading silence the service pads onto the
50
+ * start of its response. `ttfa` is reported with its breakdown so consumers
51
+ * can see how much of the perceived latency is silence padding rather than
52
+ * service response time, without correlating a separate `TTFBMetricsData`.
53
+ *
54
+ * - `ttfa`: TTFA measurement in seconds (`ttfb` plus `leadingSilence`).
55
+ * - `ttfb`: time-to-first-byte that TTFA builds on, in seconds. This mirrors
56
+ * the standalone `TTFBMetricsData` (emitted earlier) for convenience; it is
57
+ * not a separate measurement, so don't aggregate both.
58
+ * - `leadingSilence`: silence padding before the first audible sample, in
59
+ * seconds (`ttfa` minus `ttfb`).
60
+ */
61
+ export declare class TTFAMetricsData extends MetricsData {
62
+ ttfa: number;
63
+ ttfb: number;
64
+ leadingSilence: number;
65
+ constructor(options: TTFAMetricsDataOptions);
66
+ }
67
+ export interface TTFATMetricsDataOptions extends MetricsDataOptions {
68
+ /** TTFAT measurement in seconds (`ttfb` plus `thinkingTime`). */
69
+ ttfat: number;
70
+ /** Time-to-first-byte that TTFAT builds on, in seconds. */
71
+ ttfb: number;
72
+ /** Time between the model's first output and the first answer token, in seconds. */
73
+ thinkingTime: number;
74
+ }
75
+ /**
76
+ * Time To First Answer Token (TTFAT) metrics data.
77
+ *
78
+ * Measures the time from an LLM request to the first token of the answer the
79
+ * caller sees, i.e. time-to-first-byte plus any reasoning the model streamed
80
+ * first. `ttfat` is reported with its breakdown so consumers can see how much
81
+ * of the perceived latency is the model thinking rather than responding,
82
+ * without correlating a separate `TTFBMetricsData`.
83
+ *
84
+ * A turn that answers with a tool call rather than text ends the measurement at
85
+ * the call, taken where it first appears in the stream. Answering from a tool
86
+ * result takes a second inference, so such a turn reports twice — once for the
87
+ * call, once for the answer built from its result. Each figure covers one
88
+ * inference; consumers wanting one per user turn keep the first, which is the
89
+ * one that measures how quickly the model began responding at all.
90
+ *
91
+ * Reported only by LLM services that answer in text. Speech-to-speech services
92
+ * answer in audio, which has no answer token to measure to.
93
+ *
94
+ * - `ttfat`: TTFAT measurement in seconds (`ttfb` plus `thinkingTime`).
95
+ * - `ttfb`: time-to-first-byte that TTFAT builds on, in seconds. This mirrors
96
+ * the standalone `TTFBMetricsData` (emitted earlier) for convenience; it is
97
+ * not a separate measurement, so don't aggregate both.
98
+ * - `thinkingTime`: time between the model's first output and the first answer
99
+ * token, in seconds (`ttfat` minus `ttfb`). Reasoning is the usual reason a
100
+ * model streams something before it starts answering, though a model that
101
+ * reasons none still spends a little time here.
102
+ */
103
+ export declare class TTFATMetricsData extends MetricsData {
104
+ ttfat: number;
105
+ ttfb: number;
106
+ thinkingTime: number;
107
+ constructor(options: TTFATMetricsDataOptions);
108
+ }
109
+ export interface ProcessingMetricsDataOptions extends MetricsDataOptions {
110
+ /** Processing time measurement in seconds. */
111
+ value: number;
112
+ }
113
+ /**
114
+ * General processing time metrics data.
115
+ *
116
+ * - `value`: processing time measurement in seconds.
117
+ */
118
+ export declare class ProcessingMetricsData extends MetricsData {
119
+ value: number;
120
+ constructor(options: ProcessingMetricsDataOptions);
121
+ }
122
+ export interface LLMTokenUsageOptions {
123
+ promptTokens: number;
124
+ completionTokens: number;
125
+ totalTokens: number;
126
+ cacheReadInputTokens?: number | null;
127
+ cacheCreationInputTokens?: number | null;
128
+ reasoningTokens?: number | null;
129
+ inputAudioTokens?: number | null;
130
+ outputAudioTokens?: number | null;
131
+ cacheReadInputAudioTokens?: number | null;
132
+ }
133
+ /**
134
+ * Token usage statistics for LLM operations.
135
+ *
136
+ * Services differ in whether their input count is reported net or gross of the
137
+ * prompt cache. Anthropic and Bedrock report `promptTokens` net, with the
138
+ * cache counts alongside it; OpenAI-compatible services report it gross, with
139
+ * the cache counts already inside it. `totalTokens` is the gross figure
140
+ * either way, so it stays comparable across services, and it is therefore not
141
+ * always `promptTokens + completionTokens`. Read the cache fields for the
142
+ * breakdown rather than subtracting.
143
+ *
144
+ * Per-bucket cost accounting has to account for that difference: adding the
145
+ * cache counts to `promptTokens` double-counts them on a service that
146
+ * reports gross.
147
+ *
148
+ * - `promptTokens`: number of tokens in the input prompt, net or gross of the
149
+ * cache counts depending on the service. Includes tool results the
150
+ * provider feeds back to the model, which are billed as input.
151
+ * - `completionTokens`: number of tokens in the generated completion,
152
+ * including any reasoning tokens.
153
+ * - `totalTokens`: total number of tokens used, including any cached input
154
+ * tokens.
155
+ * - `cacheReadInputTokens`: number of tokens read from cache, if applicable.
156
+ * Billed below the input rate.
157
+ * - `cacheCreationInputTokens`: number of tokens written to cache, if
158
+ * applicable. Billed at or above the input rate.
159
+ * - `reasoningTokens`: number of completion tokens used for reasoning, if applicable.
160
+ * - `inputAudioTokens`: number of prompt tokens that were audio, if applicable.
161
+ * - `outputAudioTokens`: number of completion tokens that were audio, if applicable.
162
+ * - `cacheReadInputAudioTokens`: number of cache-read tokens that were audio, if applicable.
163
+ */
164
+ export declare class LLMTokenUsage {
165
+ promptTokens: number;
166
+ completionTokens: number;
167
+ totalTokens: number;
168
+ cacheReadInputTokens: number | null;
169
+ cacheCreationInputTokens: number | null;
170
+ reasoningTokens: number | null;
171
+ inputAudioTokens: number | null;
172
+ outputAudioTokens: number | null;
173
+ cacheReadInputAudioTokens: number | null;
174
+ constructor(options: LLMTokenUsageOptions);
175
+ }
176
+ export interface LLMUsageMetricsDataOptions extends MetricsDataOptions {
177
+ /** Token usage statistics for the LLM operation. */
178
+ value: LLMTokenUsage;
179
+ }
180
+ /**
181
+ * LLM token usage metrics data.
182
+ *
183
+ * - `value`: token usage statistics for the LLM operation.
184
+ */
185
+ export declare class LLMUsageMetricsData extends MetricsData {
186
+ value: LLMTokenUsage;
187
+ constructor(options: LLMUsageMetricsDataOptions);
188
+ }
189
+ export interface STTUsageOptions {
190
+ /** Client-measured seconds of audio submitted since the last usage report. */
191
+ audioSeconds: number;
192
+ }
193
+ /**
194
+ * Usage statistics for STT operations.
195
+ *
196
+ * Reports raw usage, not cost. Values are incremental deltas since the
197
+ * previous usage report; consumers sum them across a session.
198
+ *
199
+ * Continuous STT services stream all input audio (including silence), so
200
+ * their summed `audioSeconds` approximates the stream duration — which
201
+ * is what most streaming providers bill. Segmented STT services submit
202
+ * only the detected speech segments, so their sum covers just those
203
+ * segments.
204
+ *
205
+ * - `audioSeconds`: client-measured seconds of audio submitted to the
206
+ * service since the last usage report.
207
+ */
208
+ export declare class STTUsage {
209
+ audioSeconds: number;
210
+ constructor(options: STTUsageOptions);
211
+ }
212
+ export interface STTUsageMetricsDataOptions extends MetricsDataOptions {
213
+ /** Usage statistics for the STT operation. */
214
+ value: STTUsage;
215
+ }
216
+ /**
217
+ * Speech-to-Text usage metrics data.
218
+ *
219
+ * - `value`: usage statistics for the STT operation.
220
+ */
221
+ export declare class STTUsageMetricsData extends MetricsData {
222
+ value: STTUsage;
223
+ constructor(options: STTUsageMetricsDataOptions);
224
+ }
225
+ export interface TTSUsageMetricsDataOptions extends MetricsDataOptions {
226
+ /** Number of characters processed by TTS. */
227
+ value: number;
228
+ }
229
+ /**
230
+ * Text-to-Speech usage metrics data.
231
+ *
232
+ * - `value`: number of characters processed by TTS.
233
+ */
234
+ export declare class TTSUsageMetricsData extends MetricsData {
235
+ value: number;
236
+ constructor(options: TTSUsageMetricsDataOptions);
237
+ }
238
+ export interface TextAggregationMetricsDataOptions extends MetricsDataOptions {
239
+ /** Aggregation time in seconds. */
240
+ value: number;
241
+ }
242
+ /**
243
+ * Text aggregation time metrics data.
244
+ *
245
+ * Measures the time from the first LLM token to the first complete sentence,
246
+ * representing the latency cost of sentence aggregation in the TTS pipeline.
247
+ *
248
+ * - `value`: aggregation time in seconds.
249
+ */
250
+ export declare class TextAggregationMetricsData extends MetricsData {
251
+ value: number;
252
+ constructor(options: TextAggregationMetricsDataOptions);
253
+ }
254
+ export interface TurnMetricsDataOptions extends MetricsDataOptions {
255
+ /** Whether the turn is predicted to be complete. */
256
+ isComplete: boolean;
257
+ /** Confidence probability of the turn completion prediction. */
258
+ probability: number;
259
+ /** End-to-end processing time in milliseconds. */
260
+ e2eProcessingTimeMs: number;
261
+ }
262
+ /**
263
+ * Metrics data for turn detection predictions.
264
+ *
265
+ * - `isComplete`: whether the turn is predicted to be complete.
266
+ * - `probability`: confidence probability of the turn completion prediction.
267
+ * - `e2eProcessingTimeMs`: end-to-end processing time in milliseconds,
268
+ * measured from VAD speech-to-silence transition to turn completion.
269
+ */
270
+ export declare class TurnMetricsData extends MetricsData {
271
+ isComplete: boolean;
272
+ probability: number;
273
+ e2eProcessingTimeMs: number;
274
+ constructor(options: TurnMetricsDataOptions);
275
+ }
276
+ //# sourceMappingURL=metrics.d.ts.map
@@ -0,0 +1,254 @@
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/metrics/metrics.py
6
+ /**
7
+ * Base class for all metrics data.
8
+ *
9
+ * - `processor`: name of the processor generating the metrics.
10
+ * - `model`: optional model name associated with the metrics.
11
+ */
12
+ export class MetricsData {
13
+ processor;
14
+ model;
15
+ constructor(options) {
16
+ this.processor = options.processor;
17
+ this.model = options.model ?? null;
18
+ }
19
+ }
20
+ /**
21
+ * Time To First Byte (TTFB) metrics data.
22
+ *
23
+ * - `value`: TTFB measurement in seconds.
24
+ */
25
+ export class TTFBMetricsData extends MetricsData {
26
+ value;
27
+ constructor(options) {
28
+ super(options);
29
+ this.value = options.value;
30
+ }
31
+ }
32
+ /**
33
+ * Time To First Audio (TTFA) metrics data.
34
+ *
35
+ * Measures the time from a TTS request to the first audible audio sample,
36
+ * i.e. time-to-first-byte plus any leading silence the service pads onto the
37
+ * start of its response. `ttfa` is reported with its breakdown so consumers
38
+ * can see how much of the perceived latency is silence padding rather than
39
+ * service response time, without correlating a separate `TTFBMetricsData`.
40
+ *
41
+ * - `ttfa`: TTFA measurement in seconds (`ttfb` plus `leadingSilence`).
42
+ * - `ttfb`: time-to-first-byte that TTFA builds on, in seconds. This mirrors
43
+ * the standalone `TTFBMetricsData` (emitted earlier) for convenience; it is
44
+ * not a separate measurement, so don't aggregate both.
45
+ * - `leadingSilence`: silence padding before the first audible sample, in
46
+ * seconds (`ttfa` minus `ttfb`).
47
+ */
48
+ export class TTFAMetricsData extends MetricsData {
49
+ ttfa;
50
+ ttfb;
51
+ leadingSilence;
52
+ constructor(options) {
53
+ super(options);
54
+ this.ttfa = options.ttfa;
55
+ this.ttfb = options.ttfb;
56
+ this.leadingSilence = options.leadingSilence;
57
+ }
58
+ }
59
+ /**
60
+ * Time To First Answer Token (TTFAT) metrics data.
61
+ *
62
+ * Measures the time from an LLM request to the first token of the answer the
63
+ * caller sees, i.e. time-to-first-byte plus any reasoning the model streamed
64
+ * first. `ttfat` is reported with its breakdown so consumers can see how much
65
+ * of the perceived latency is the model thinking rather than responding,
66
+ * without correlating a separate `TTFBMetricsData`.
67
+ *
68
+ * A turn that answers with a tool call rather than text ends the measurement at
69
+ * the call, taken where it first appears in the stream. Answering from a tool
70
+ * result takes a second inference, so such a turn reports twice — once for the
71
+ * call, once for the answer built from its result. Each figure covers one
72
+ * inference; consumers wanting one per user turn keep the first, which is the
73
+ * one that measures how quickly the model began responding at all.
74
+ *
75
+ * Reported only by LLM services that answer in text. Speech-to-speech services
76
+ * answer in audio, which has no answer token to measure to.
77
+ *
78
+ * - `ttfat`: TTFAT measurement in seconds (`ttfb` plus `thinkingTime`).
79
+ * - `ttfb`: time-to-first-byte that TTFAT builds on, in seconds. This mirrors
80
+ * the standalone `TTFBMetricsData` (emitted earlier) for convenience; it is
81
+ * not a separate measurement, so don't aggregate both.
82
+ * - `thinkingTime`: time between the model's first output and the first answer
83
+ * token, in seconds (`ttfat` minus `ttfb`). Reasoning is the usual reason a
84
+ * model streams something before it starts answering, though a model that
85
+ * reasons none still spends a little time here.
86
+ */
87
+ export class TTFATMetricsData extends MetricsData {
88
+ ttfat;
89
+ ttfb;
90
+ thinkingTime;
91
+ constructor(options) {
92
+ super(options);
93
+ this.ttfat = options.ttfat;
94
+ this.ttfb = options.ttfb;
95
+ this.thinkingTime = options.thinkingTime;
96
+ }
97
+ }
98
+ /**
99
+ * General processing time metrics data.
100
+ *
101
+ * - `value`: processing time measurement in seconds.
102
+ */
103
+ export class ProcessingMetricsData extends MetricsData {
104
+ value;
105
+ constructor(options) {
106
+ super(options);
107
+ this.value = options.value;
108
+ }
109
+ }
110
+ /**
111
+ * Token usage statistics for LLM operations.
112
+ *
113
+ * Services differ in whether their input count is reported net or gross of the
114
+ * prompt cache. Anthropic and Bedrock report `promptTokens` net, with the
115
+ * cache counts alongside it; OpenAI-compatible services report it gross, with
116
+ * the cache counts already inside it. `totalTokens` is the gross figure
117
+ * either way, so it stays comparable across services, and it is therefore not
118
+ * always `promptTokens + completionTokens`. Read the cache fields for the
119
+ * breakdown rather than subtracting.
120
+ *
121
+ * Per-bucket cost accounting has to account for that difference: adding the
122
+ * cache counts to `promptTokens` double-counts them on a service that
123
+ * reports gross.
124
+ *
125
+ * - `promptTokens`: number of tokens in the input prompt, net or gross of the
126
+ * cache counts depending on the service. Includes tool results the
127
+ * provider feeds back to the model, which are billed as input.
128
+ * - `completionTokens`: number of tokens in the generated completion,
129
+ * including any reasoning tokens.
130
+ * - `totalTokens`: total number of tokens used, including any cached input
131
+ * tokens.
132
+ * - `cacheReadInputTokens`: number of tokens read from cache, if applicable.
133
+ * Billed below the input rate.
134
+ * - `cacheCreationInputTokens`: number of tokens written to cache, if
135
+ * applicable. Billed at or above the input rate.
136
+ * - `reasoningTokens`: number of completion tokens used for reasoning, if applicable.
137
+ * - `inputAudioTokens`: number of prompt tokens that were audio, if applicable.
138
+ * - `outputAudioTokens`: number of completion tokens that were audio, if applicable.
139
+ * - `cacheReadInputAudioTokens`: number of cache-read tokens that were audio, if applicable.
140
+ */
141
+ export class LLMTokenUsage {
142
+ promptTokens;
143
+ completionTokens;
144
+ totalTokens;
145
+ cacheReadInputTokens;
146
+ cacheCreationInputTokens;
147
+ reasoningTokens;
148
+ inputAudioTokens;
149
+ outputAudioTokens;
150
+ cacheReadInputAudioTokens;
151
+ constructor(options) {
152
+ this.promptTokens = options.promptTokens;
153
+ this.completionTokens = options.completionTokens;
154
+ this.totalTokens = options.totalTokens;
155
+ this.cacheReadInputTokens = options.cacheReadInputTokens ?? null;
156
+ this.cacheCreationInputTokens = options.cacheCreationInputTokens ?? null;
157
+ this.reasoningTokens = options.reasoningTokens ?? null;
158
+ this.inputAudioTokens = options.inputAudioTokens ?? null;
159
+ this.outputAudioTokens = options.outputAudioTokens ?? null;
160
+ this.cacheReadInputAudioTokens = options.cacheReadInputAudioTokens ?? null;
161
+ }
162
+ }
163
+ /**
164
+ * LLM token usage metrics data.
165
+ *
166
+ * - `value`: token usage statistics for the LLM operation.
167
+ */
168
+ export class LLMUsageMetricsData extends MetricsData {
169
+ value;
170
+ constructor(options) {
171
+ super(options);
172
+ this.value = options.value;
173
+ }
174
+ }
175
+ /**
176
+ * Usage statistics for STT operations.
177
+ *
178
+ * Reports raw usage, not cost. Values are incremental deltas since the
179
+ * previous usage report; consumers sum them across a session.
180
+ *
181
+ * Continuous STT services stream all input audio (including silence), so
182
+ * their summed `audioSeconds` approximates the stream duration — which
183
+ * is what most streaming providers bill. Segmented STT services submit
184
+ * only the detected speech segments, so their sum covers just those
185
+ * segments.
186
+ *
187
+ * - `audioSeconds`: client-measured seconds of audio submitted to the
188
+ * service since the last usage report.
189
+ */
190
+ export class STTUsage {
191
+ audioSeconds;
192
+ constructor(options) {
193
+ this.audioSeconds = options.audioSeconds;
194
+ }
195
+ }
196
+ /**
197
+ * Speech-to-Text usage metrics data.
198
+ *
199
+ * - `value`: usage statistics for the STT operation.
200
+ */
201
+ export class STTUsageMetricsData extends MetricsData {
202
+ value;
203
+ constructor(options) {
204
+ super(options);
205
+ this.value = options.value;
206
+ }
207
+ }
208
+ /**
209
+ * Text-to-Speech usage metrics data.
210
+ *
211
+ * - `value`: number of characters processed by TTS.
212
+ */
213
+ export class TTSUsageMetricsData extends MetricsData {
214
+ value;
215
+ constructor(options) {
216
+ super(options);
217
+ this.value = options.value;
218
+ }
219
+ }
220
+ /**
221
+ * Text aggregation time metrics data.
222
+ *
223
+ * Measures the time from the first LLM token to the first complete sentence,
224
+ * representing the latency cost of sentence aggregation in the TTS pipeline.
225
+ *
226
+ * - `value`: aggregation time in seconds.
227
+ */
228
+ export class TextAggregationMetricsData extends MetricsData {
229
+ value;
230
+ constructor(options) {
231
+ super(options);
232
+ this.value = options.value;
233
+ }
234
+ }
235
+ /**
236
+ * Metrics data for turn detection predictions.
237
+ *
238
+ * - `isComplete`: whether the turn is predicted to be complete.
239
+ * - `probability`: confidence probability of the turn completion prediction.
240
+ * - `e2eProcessingTimeMs`: end-to-end processing time in milliseconds,
241
+ * measured from VAD speech-to-silence transition to turn completion.
242
+ */
243
+ export class TurnMetricsData extends MetricsData {
244
+ isComplete;
245
+ probability;
246
+ e2eProcessingTimeMs;
247
+ constructor(options) {
248
+ super(options);
249
+ this.isComplete = options.isComplete;
250
+ this.probability = options.probability;
251
+ this.e2eProcessingTimeMs = options.e2eProcessingTimeMs;
252
+ }
253
+ }
254
+ //# sourceMappingURL=metrics.js.map