@pipedog/core 0.0.0 → 0.1.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 (698) 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/index.d.ts +2 -0
  42. package/dist/audio/resamplers/index.js +8 -0
  43. package/dist/audio/resamplers/resampy_resampler.d.ts +10 -0
  44. package/dist/audio/resamplers/resampy_resampler.js +15 -0
  45. package/dist/audio/resamplers/soxr_resampler.d.ts +54 -0
  46. package/dist/audio/resamplers/soxr_resampler.js +69 -0
  47. package/dist/audio/resamplers/soxr_stream_resampler.d.ts +75 -0
  48. package/dist/audio/resamplers/soxr_stream_resampler.js +146 -0
  49. package/dist/audio/turn/base_turn_analyzer.d.ts +84 -0
  50. package/dist/audio/turn/base_turn_analyzer.js +61 -0
  51. package/dist/audio/turn/index.d.ts +2 -0
  52. package/dist/audio/turn/index.js +8 -0
  53. package/dist/audio/turn/smart_turn/_whisper_features.d.ts +30 -0
  54. package/dist/audio/turn/smart_turn/_whisper_features.js +225 -0
  55. package/dist/audio/turn/smart_turn/base_smart_turn.d.ts +94 -0
  56. package/dist/audio/turn/smart_turn/base_smart_turn.js +239 -0
  57. package/dist/audio/turn/smart_turn/local_smart_turn_v3.d.ts +76 -0
  58. package/dist/audio/turn/smart_turn/local_smart_turn_v3.js +143 -0
  59. package/dist/audio/utils.d.ts +224 -0
  60. package/dist/audio/utils.js +634 -0
  61. package/dist/audio/vad/data/index.d.ts +2 -0
  62. package/dist/audio/vad/data/index.js +8 -0
  63. package/dist/audio/vad/index.d.ts +2 -0
  64. package/dist/audio/vad/index.js +8 -0
  65. package/dist/audio/vad/vad_analyzer.d.ts +126 -0
  66. package/dist/audio/vad/vad_analyzer.js +211 -0
  67. package/dist/audio/vad/vad_controller.d.ts +143 -0
  68. package/dist/audio/vad/vad_controller.js +228 -0
  69. package/dist/audio/volume.d.ts +38 -0
  70. package/dist/audio/volume.js +75 -0
  71. package/dist/bus/adapters/base.d.ts +35 -0
  72. package/dist/bus/adapters/base.js +19 -0
  73. package/dist/bus/adapters/index.d.ts +10 -0
  74. package/dist/bus/adapters/index.js +15 -0
  75. package/dist/bus/adapters/llm_context_adapter.d.ts +36 -0
  76. package/dist/bus/adapters/llm_context_adapter.js +82 -0
  77. package/dist/bus/adapters/tools_schema_adapter.d.ts +25 -0
  78. package/dist/bus/adapters/tools_schema_adapter.js +70 -0
  79. package/dist/bus/bridge_processor.d.ts +111 -0
  80. package/dist/bus/bridge_processor.js +166 -0
  81. package/dist/bus/bus.d.ts +110 -0
  82. package/dist/bus/bus.js +200 -0
  83. package/dist/bus/index.d.ts +22 -0
  84. package/dist/bus/index.js +27 -0
  85. package/dist/bus/local/async_queue.d.ts +12 -0
  86. package/dist/bus/local/async_queue.js +21 -0
  87. package/dist/bus/local/index.d.ts +3 -0
  88. package/dist/bus/local/index.js +8 -0
  89. package/dist/bus/messages.d.ts +378 -0
  90. package/dist/bus/messages.js +357 -0
  91. package/dist/bus/network/index.d.ts +16 -0
  92. package/dist/bus/network/index.js +21 -0
  93. package/dist/bus/queue.d.ts +27 -0
  94. package/dist/bus/queue.js +51 -0
  95. package/dist/bus/serializers/base.d.ts +25 -0
  96. package/dist/bus/serializers/base.js +14 -0
  97. package/dist/bus/serializers/index.d.ts +9 -0
  98. package/dist/bus/serializers/index.js +14 -0
  99. package/dist/bus/serializers/json.d.ts +77 -0
  100. package/dist/bus/serializers/json.js +367 -0
  101. package/dist/bus/subscriber.d.ts +46 -0
  102. package/dist/bus/subscriber.js +27 -0
  103. package/dist/bus/ui/index.d.ts +3 -0
  104. package/dist/bus/ui/index.js +8 -0
  105. package/dist/bus/ui/messages.d.ts +186 -0
  106. package/dist/bus/ui/messages.js +171 -0
  107. package/dist/classifiers/base_classifier.d.ts +263 -0
  108. package/dist/classifiers/base_classifier.js +346 -0
  109. package/dist/classifiers/cloudflare/clef/classifier.d.ts +70 -0
  110. package/dist/classifiers/cloudflare/clef/classifier.js +204 -0
  111. package/dist/classifiers/cloudflare/clef/client.d.ts +104 -0
  112. package/dist/classifiers/cloudflare/clef/client.js +234 -0
  113. package/dist/classifiers/cloudflare/clef/index.d.ts +2 -0
  114. package/dist/classifiers/cloudflare/clef/index.js +8 -0
  115. package/dist/classifiers/cloudflare/index.d.ts +2 -0
  116. package/dist/classifiers/cloudflare/index.js +8 -0
  117. package/dist/classifiers/http_client.d.ts +70 -0
  118. package/dist/classifiers/http_client.js +161 -0
  119. package/dist/classifiers/index.d.ts +2 -0
  120. package/dist/classifiers/index.js +8 -0
  121. package/dist/classifiers/jev/classifier.d.ts +8 -0
  122. package/dist/classifiers/jev/classifier.js +13 -0
  123. package/dist/classifiers/jev/client.d.ts +8 -0
  124. package/dist/classifiers/jev/client.js +13 -0
  125. package/dist/classifiers/jev/index.d.ts +2 -0
  126. package/dist/classifiers/jev/index.js +8 -0
  127. package/dist/classifiers/llm/classifier.d.ts +72 -0
  128. package/dist/classifiers/llm/classifier.js +304 -0
  129. package/dist/classifiers/llm/index.d.ts +2 -0
  130. package/dist/classifiers/llm/index.js +8 -0
  131. package/dist/classifiers/openai/decisions/classifier.d.ts +77 -0
  132. package/dist/classifiers/openai/decisions/classifier.js +241 -0
  133. package/dist/classifiers/openai/decisions/client.d.ts +108 -0
  134. package/dist/classifiers/openai/decisions/client.js +234 -0
  135. package/dist/classifiers/openai/decisions/index.d.ts +2 -0
  136. package/dist/classifiers/openai/decisions/index.js +8 -0
  137. package/dist/classifiers/openai/index.d.ts +2 -0
  138. package/dist/classifiers/openai/index.js +8 -0
  139. package/dist/classifiers/typesafe/index.d.ts +2 -0
  140. package/dist/classifiers/typesafe/index.js +8 -0
  141. package/dist/classifiers/typesafe/jev/classifier.d.ts +70 -0
  142. package/dist/classifiers/typesafe/jev/classifier.js +220 -0
  143. package/dist/classifiers/typesafe/jev/client.d.ts +105 -0
  144. package/dist/classifiers/typesafe/jev/client.js +233 -0
  145. package/dist/classifiers/typesafe/jev/index.d.ts +2 -0
  146. package/dist/classifiers/typesafe/jev/index.js +8 -0
  147. package/dist/clocks/base_clock.d.ts +13 -0
  148. package/dist/clocks/base_clock.js +14 -0
  149. package/dist/clocks/index.d.ts +2 -0
  150. package/dist/clocks/index.js +8 -0
  151. package/dist/clocks/system_clock.d.ts +15 -0
  152. package/dist/clocks/system_clock.js +25 -0
  153. package/dist/frames/frames.d.ts +2533 -0
  154. package/dist/frames/frames.js +2485 -0
  155. package/dist/frames/index.d.ts +2 -0
  156. package/dist/frames/index.js +8 -0
  157. package/dist/frames/protobufs/frames_pb2.d.ts +229 -0
  158. package/dist/frames/protobufs/frames_pb2.js +466 -0
  159. package/dist/index.d.ts +11 -0
  160. package/dist/index.js +56 -0
  161. package/dist/metrics/index.d.ts +2 -0
  162. package/dist/metrics/index.js +8 -0
  163. package/dist/metrics/metrics.d.ts +276 -0
  164. package/dist/metrics/metrics.js +254 -0
  165. package/dist/observers/base_observer.d.ts +173 -0
  166. package/dist/observers/base_observer.js +151 -0
  167. package/dist/observers/error_observer.d.ts +75 -0
  168. package/dist/observers/error_observer.js +87 -0
  169. package/dist/observers/function_call_observer.d.ts +157 -0
  170. package/dist/observers/function_call_observer.js +222 -0
  171. package/dist/observers/index.d.ts +2 -0
  172. package/dist/observers/index.js +8 -0
  173. package/dist/observers/loggers/debug_log_observer.d.ts +91 -0
  174. package/dist/observers/loggers/debug_log_observer.js +228 -0
  175. package/dist/observers/loggers/index.d.ts +2 -0
  176. package/dist/observers/loggers/index.js +8 -0
  177. package/dist/observers/loggers/llm_log_observer.d.ts +24 -0
  178. package/dist/observers/loggers/llm_log_observer.js +110 -0
  179. package/dist/observers/loggers/metrics_log_observer.d.ts +85 -0
  180. package/dist/observers/loggers/metrics_log_observer.js +186 -0
  181. package/dist/observers/loggers/transcription_log_observer.d.ts +23 -0
  182. package/dist/observers/loggers/transcription_log_observer.js +74 -0
  183. package/dist/observers/service_metrics_observer.d.ts +168 -0
  184. package/dist/observers/service_metrics_observer.js +236 -0
  185. package/dist/observers/speaking_observer.d.ts +104 -0
  186. package/dist/observers/speaking_observer.js +150 -0
  187. package/dist/observers/startup_timing_observer.d.ts +221 -0
  188. package/dist/observers/startup_timing_observer.js +365 -0
  189. package/dist/observers/turn_tracking_observer.d.ts +78 -0
  190. package/dist/observers/turn_tracking_observer.js +189 -0
  191. package/dist/observers/user_bot_latency_observer.d.ts +411 -0
  192. package/dist/observers/user_bot_latency_observer.js +974 -0
  193. package/dist/pipeline/base_pipeline.d.ts +49 -0
  194. package/dist/pipeline/base_pipeline.js +101 -0
  195. package/dist/pipeline/capabilities.d.ts +76 -0
  196. package/dist/pipeline/capabilities.js +97 -0
  197. package/dist/pipeline/index.d.ts +2 -0
  198. package/dist/pipeline/index.js +8 -0
  199. package/dist/pipeline/job_context.d.ts +317 -0
  200. package/dist/pipeline/job_context.js +450 -0
  201. package/dist/pipeline/job_decorator.d.ts +54 -0
  202. package/dist/pipeline/job_decorator.js +92 -0
  203. package/dist/pipeline/llm_switcher.d.ts +84 -0
  204. package/dist/pipeline/llm_switcher.js +107 -0
  205. package/dist/pipeline/llm_with_backend.d.ts +435 -0
  206. package/dist/pipeline/llm_with_backend.js +806 -0
  207. package/dist/pipeline/parallel_pipeline.d.ts +83 -0
  208. package/dist/pipeline/parallel_pipeline.js +200 -0
  209. package/dist/pipeline/pipeline.d.ts +126 -0
  210. package/dist/pipeline/pipeline.js +196 -0
  211. package/dist/pipeline/service_switcher.d.ts +287 -0
  212. package/dist/pipeline/service_switcher.js +509 -0
  213. package/dist/pipeline/sync_parallel_pipeline.d.ts +192 -0
  214. package/dist/pipeline/sync_parallel_pipeline.js +387 -0
  215. package/dist/pipeline/worker.d.ts +814 -0
  216. package/dist/pipeline/worker.js +1639 -0
  217. package/dist/pipeline/worker_observer.d.ts +131 -0
  218. package/dist/pipeline/worker_observer.js +274 -0
  219. package/dist/pipeline/worker_ready_decorator.d.ts +45 -0
  220. package/dist/pipeline/worker_ready_decorator.js +76 -0
  221. package/dist/processors/aggregators/async_tool_messages.d.ts +146 -0
  222. package/dist/processors/aggregators/async_tool_messages.js +291 -0
  223. package/dist/processors/aggregators/dtmf_aggregator.d.ts +61 -0
  224. package/dist/processors/aggregators/dtmf_aggregator.js +144 -0
  225. package/dist/processors/aggregators/gated.d.ts +43 -0
  226. package/dist/processors/aggregators/gated.js +86 -0
  227. package/dist/processors/aggregators/gated_llm_context.d.ts +42 -0
  228. package/dist/processors/aggregators/gated_llm_context.js +86 -0
  229. package/dist/processors/aggregators/index.d.ts +2 -0
  230. package/dist/processors/aggregators/index.js +8 -0
  231. package/dist/processors/aggregators/llm_context.d.ts +370 -0
  232. package/dist/processors/aggregators/llm_context.js +580 -0
  233. package/dist/processors/aggregators/llm_context_summarizer.d.ts +219 -0
  234. package/dist/processors/aggregators/llm_context_summarizer.js +447 -0
  235. package/dist/processors/aggregators/llm_response.d.ts +37 -0
  236. package/dist/processors/aggregators/llm_response.js +71 -0
  237. package/dist/processors/aggregators/llm_response_universal.d.ts +966 -0
  238. package/dist/processors/aggregators/llm_response_universal.js +2394 -0
  239. package/dist/processors/aggregators/llm_text_processor.d.ts +53 -0
  240. package/dist/processors/aggregators/llm_text_processor.js +102 -0
  241. package/dist/processors/aggregators/sentence.d.ts +39 -0
  242. package/dist/processors/aggregators/sentence.js +69 -0
  243. package/dist/processors/async_generator.d.ts +42 -0
  244. package/dist/processors/async_generator.js +76 -0
  245. package/dist/processors/audio/audio_buffer_processor.d.ts +241 -0
  246. package/dist/processors/audio/audio_buffer_processor.js +565 -0
  247. package/dist/processors/audio/index.d.ts +2 -0
  248. package/dist/processors/audio/index.js +8 -0
  249. package/dist/processors/audio/vad_processor.d.ts +67 -0
  250. package/dist/processors/audio/vad_processor.js +103 -0
  251. package/dist/processors/consumer_processor.d.ts +49 -0
  252. package/dist/processors/consumer_processor.js +85 -0
  253. package/dist/processors/filters/frame_filter.d.ts +39 -0
  254. package/dist/processors/filters/frame_filter.js +52 -0
  255. package/dist/processors/filters/function_filter.d.ts +59 -0
  256. package/dist/processors/filters/function_filter.js +78 -0
  257. package/dist/processors/filters/identity_filter.d.ts +33 -0
  258. package/dist/processors/filters/identity_filter.js +37 -0
  259. package/dist/processors/filters/index.d.ts +2 -0
  260. package/dist/processors/filters/index.js +8 -0
  261. package/dist/processors/filters/null_filter.d.ts +34 -0
  262. package/dist/processors/filters/null_filter.js +47 -0
  263. package/dist/processors/filters/wake_notifier_filter.d.ts +48 -0
  264. package/dist/processors/filters/wake_notifier_filter.js +49 -0
  265. package/dist/processors/frame_processor.d.ts +360 -0
  266. package/dist/processors/frame_processor.js +932 -0
  267. package/dist/processors/frameworks/index.d.ts +2 -0
  268. package/dist/processors/frameworks/index.js +8 -0
  269. package/dist/processors/frameworks/rtvi/frames.d.ts +241 -0
  270. package/dist/processors/frameworks/rtvi/frames.js +259 -0
  271. package/dist/processors/frameworks/rtvi/index.d.ts +6 -0
  272. package/dist/processors/frameworks/rtvi/index.js +11 -0
  273. package/dist/processors/frameworks/rtvi/models.d.ts +1741 -0
  274. package/dist/processors/frameworks/rtvi/models.js +1807 -0
  275. package/dist/processors/frameworks/rtvi/observer.d.ts +340 -0
  276. package/dist/processors/frameworks/rtvi/observer.js +1113 -0
  277. package/dist/processors/frameworks/rtvi/processor.d.ts +182 -0
  278. package/dist/processors/frameworks/rtvi/processor.js +676 -0
  279. package/dist/processors/idle_frame_processor.d.ts +44 -0
  280. package/dist/processors/idle_frame_processor.js +86 -0
  281. package/dist/processors/index.d.ts +2 -0
  282. package/dist/processors/index.js +8 -0
  283. package/dist/processors/logger.d.ts +42 -0
  284. package/dist/processors/logger.js +87 -0
  285. package/dist/processors/metrics/frame_processor_metrics.d.ts +172 -0
  286. package/dist/processors/metrics/frame_processor_metrics.js +372 -0
  287. package/dist/processors/metrics/index.d.ts +2 -0
  288. package/dist/processors/metrics/index.js +8 -0
  289. package/dist/processors/producer_processor.d.ts +68 -0
  290. package/dist/processors/producer_processor.js +78 -0
  291. package/dist/processors/text_transformer.d.ts +30 -0
  292. package/dist/processors/text_transformer.js +48 -0
  293. package/dist/registry/index.d.ts +3 -0
  294. package/dist/registry/index.js +8 -0
  295. package/dist/registry/registry.d.ts +69 -0
  296. package/dist/registry/registry.js +149 -0
  297. package/dist/registry/types.d.ts +47 -0
  298. package/dist/registry/types.js +39 -0
  299. package/dist/serializers/base_serializer.d.ts +94 -0
  300. package/dist/serializers/base_serializer.js +82 -0
  301. package/dist/serializers/index.d.ts +2 -0
  302. package/dist/serializers/index.js +8 -0
  303. package/dist/services/ai_service.d.ts +145 -0
  304. package/dist/services/ai_service.js +262 -0
  305. package/dist/services/anthropic/index.d.ts +2 -0
  306. package/dist/services/anthropic/index.js +7 -0
  307. package/dist/services/assemblyai/index.d.ts +2 -0
  308. package/dist/services/assemblyai/index.js +7 -0
  309. package/dist/services/asyncai/index.d.ts +2 -0
  310. package/dist/services/asyncai/index.js +7 -0
  311. package/dist/services/aws/index.d.ts +2 -0
  312. package/dist/services/aws/index.js +7 -0
  313. package/dist/services/azure/index.d.ts +2 -0
  314. package/dist/services/azure/index.js +7 -0
  315. package/dist/services/baseten/index.d.ts +2 -0
  316. package/dist/services/baseten/index.js +7 -0
  317. package/dist/services/bland/index.d.ts +2 -0
  318. package/dist/services/bland/index.js +7 -0
  319. package/dist/services/camb/index.d.ts +2 -0
  320. package/dist/services/camb/index.js +7 -0
  321. package/dist/services/cartesia/index.d.ts +2 -0
  322. package/dist/services/cartesia/index.js +7 -0
  323. package/dist/services/cerebras/index.d.ts +2 -0
  324. package/dist/services/cerebras/index.js +7 -0
  325. package/dist/services/crusoe/index.d.ts +2 -0
  326. package/dist/services/crusoe/index.js +7 -0
  327. package/dist/services/deepgram/index.d.ts +2 -0
  328. package/dist/services/deepgram/index.js +7 -0
  329. package/dist/services/deepseek/index.d.ts +2 -0
  330. package/dist/services/deepseek/index.js +7 -0
  331. package/dist/services/elevenlabs/index.d.ts +2 -0
  332. package/dist/services/elevenlabs/index.js +7 -0
  333. package/dist/services/fal/index.d.ts +2 -0
  334. package/dist/services/fal/index.js +7 -0
  335. package/dist/services/fireworks/index.d.ts +2 -0
  336. package/dist/services/fireworks/index.js +7 -0
  337. package/dist/services/fish/index.d.ts +2 -0
  338. package/dist/services/fish/index.js +7 -0
  339. package/dist/services/funasr/index.d.ts +3 -0
  340. package/dist/services/funasr/index.js +8 -0
  341. package/dist/services/gladia/index.d.ts +2 -0
  342. package/dist/services/gladia/index.js +7 -0
  343. package/dist/services/google/index.d.ts +2 -0
  344. package/dist/services/google/index.js +7 -0
  345. package/dist/services/gradium/index.d.ts +2 -0
  346. package/dist/services/gradium/index.js +7 -0
  347. package/dist/services/grok/index.d.ts +2 -0
  348. package/dist/services/grok/index.js +7 -0
  349. package/dist/services/groq/index.d.ts +2 -0
  350. package/dist/services/groq/index.js +7 -0
  351. package/dist/services/heygen/index.d.ts +2 -0
  352. package/dist/services/heygen/index.js +7 -0
  353. package/dist/services/hume/index.d.ts +2 -0
  354. package/dist/services/hume/index.js +7 -0
  355. package/dist/services/image_service.d.ts +52 -0
  356. package/dist/services/image_service.js +60 -0
  357. package/dist/services/inception/index.d.ts +2 -0
  358. package/dist/services/inception/index.js +7 -0
  359. package/dist/services/index.d.ts +2 -0
  360. package/dist/services/index.js +8 -0
  361. package/dist/services/inworld/index.d.ts +2 -0
  362. package/dist/services/inworld/index.js +7 -0
  363. package/dist/services/keenable/index.d.ts +2 -0
  364. package/dist/services/keenable/index.js +7 -0
  365. package/dist/services/kokoro/index.d.ts +2 -0
  366. package/dist/services/kokoro/index.js +7 -0
  367. package/dist/services/llm_service.d.ts +1106 -0
  368. package/dist/services/llm_service.js +2231 -0
  369. package/dist/services/mem0/index.d.ts +2 -0
  370. package/dist/services/mem0/index.js +7 -0
  371. package/dist/services/meta/index.d.ts +2 -0
  372. package/dist/services/meta/index.js +7 -0
  373. package/dist/services/minimax/index.d.ts +2 -0
  374. package/dist/services/minimax/index.js +7 -0
  375. package/dist/services/mistral/index.d.ts +2 -0
  376. package/dist/services/mistral/index.js +7 -0
  377. package/dist/services/moondream/index.d.ts +2 -0
  378. package/dist/services/moondream/index.js +7 -0
  379. package/dist/services/moonshine/index.d.ts +2 -0
  380. package/dist/services/moonshine/index.js +7 -0
  381. package/dist/services/nebius/index.d.ts +2 -0
  382. package/dist/services/nebius/index.js +7 -0
  383. package/dist/services/neuphonic/index.d.ts +2 -0
  384. package/dist/services/neuphonic/index.js +7 -0
  385. package/dist/services/novita/index.d.ts +2 -0
  386. package/dist/services/novita/index.js +7 -0
  387. package/dist/services/nvidia/index.d.ts +2 -0
  388. package/dist/services/nvidia/index.js +11 -0
  389. package/dist/services/ollama/index.d.ts +2 -0
  390. package/dist/services/ollama/index.js +7 -0
  391. package/dist/services/openai/index.d.ts +2 -0
  392. package/dist/services/openai/index.js +7 -0
  393. package/dist/services/openclaw/index.d.ts +14 -0
  394. package/dist/services/openclaw/index.js +19 -0
  395. package/dist/services/openrouter/index.d.ts +2 -0
  396. package/dist/services/openrouter/index.js +7 -0
  397. package/dist/services/perplexity/index.d.ts +2 -0
  398. package/dist/services/perplexity/index.js +7 -0
  399. package/dist/services/piper/index.d.ts +2 -0
  400. package/dist/services/piper/index.js +7 -0
  401. package/dist/services/pocket_tts/index.d.ts +2 -0
  402. package/dist/services/pocket_tts/index.js +7 -0
  403. package/dist/services/qwen/index.d.ts +2 -0
  404. package/dist/services/qwen/index.js +7 -0
  405. package/dist/services/resembleai/index.d.ts +2 -0
  406. package/dist/services/resembleai/index.js +7 -0
  407. package/dist/services/rime/index.d.ts +2 -0
  408. package/dist/services/rime/index.js +7 -0
  409. package/dist/services/sambanova/index.d.ts +2 -0
  410. package/dist/services/sambanova/index.js +7 -0
  411. package/dist/services/sarvam/index.d.ts +2 -0
  412. package/dist/services/sarvam/index.js +7 -0
  413. package/dist/services/settings.d.ts +356 -0
  414. package/dist/services/settings.js +437 -0
  415. package/dist/services/simli/index.d.ts +2 -0
  416. package/dist/services/simli/index.js +7 -0
  417. package/dist/services/smallest/index.d.ts +2 -0
  418. package/dist/services/smallest/index.js +7 -0
  419. package/dist/services/soniox/index.d.ts +2 -0
  420. package/dist/services/soniox/index.js +7 -0
  421. package/dist/services/speechify/index.d.ts +2 -0
  422. package/dist/services/speechify/index.js +7 -0
  423. package/dist/services/speechmatics/index.d.ts +2 -0
  424. package/dist/services/speechmatics/index.js +7 -0
  425. package/dist/services/stt_latency.d.ts +62 -0
  426. package/dist/services/stt_latency.js +71 -0
  427. package/dist/services/stt_service.d.ts +601 -0
  428. package/dist/services/stt_service.js +1044 -0
  429. package/dist/services/tavus/index.d.ts +2 -0
  430. package/dist/services/tavus/index.js +7 -0
  431. package/dist/services/together/index.d.ts +2 -0
  432. package/dist/services/together/index.js +7 -0
  433. package/dist/services/tts_service.d.ts +909 -0
  434. package/dist/services/tts_service.js +2018 -0
  435. package/dist/services/ultravox/index.d.ts +2 -0
  436. package/dist/services/ultravox/index.js +9 -0
  437. package/dist/services/vision_service.d.ts +56 -0
  438. package/dist/services/vision_service.js +62 -0
  439. package/dist/services/websocket_service.d.ts +213 -0
  440. package/dist/services/websocket_service.js +654 -0
  441. package/dist/services/whisper/index.d.ts +2 -0
  442. package/dist/services/whisper/index.js +9 -0
  443. package/dist/services/xai/index.d.ts +2 -0
  444. package/dist/services/xai/index.js +9 -0
  445. package/dist/services/xtts/index.d.ts +2 -0
  446. package/dist/services/xtts/index.js +9 -0
  447. package/dist/tests/index.d.ts +2 -0
  448. package/dist/tests/index.js +8 -0
  449. package/dist/tests/utils.d.ts +123 -0
  450. package/dist/tests/utils.js +212 -0
  451. package/dist/transcriptions/index.d.ts +2 -0
  452. package/dist/transcriptions/index.js +8 -0
  453. package/dist/transcriptions/language.d.ts +376 -0
  454. package/dist/transcriptions/language.js +543 -0
  455. package/dist/transports/base_input.d.ts +149 -0
  456. package/dist/transports/base_input.js +338 -0
  457. package/dist/transports/base_output.d.ts +432 -0
  458. package/dist/transports/base_output.js +1231 -0
  459. package/dist/transports/base_transport.d.ts +223 -0
  460. package/dist/transports/base_transport.js +167 -0
  461. package/dist/transports/daily/index.d.ts +2 -0
  462. package/dist/transports/daily/index.js +9 -0
  463. package/dist/transports/heygen/index.d.ts +2 -0
  464. package/dist/transports/heygen/index.js +9 -0
  465. package/dist/transports/index.d.ts +2 -0
  466. package/dist/transports/index.js +8 -0
  467. package/dist/transports/lemonslice/index.d.ts +2 -0
  468. package/dist/transports/lemonslice/index.js +9 -0
  469. package/dist/transports/livekit/index.d.ts +2 -0
  470. package/dist/transports/livekit/index.js +9 -0
  471. package/dist/transports/local/index.d.ts +2 -0
  472. package/dist/transports/local/index.js +9 -0
  473. package/dist/transports/moq/index.d.ts +2 -0
  474. package/dist/transports/moq/index.js +9 -0
  475. package/dist/transports/smallwebrtc/index.d.ts +2 -0
  476. package/dist/transports/smallwebrtc/index.js +9 -0
  477. package/dist/transports/tavus/index.d.ts +2 -0
  478. package/dist/transports/tavus/index.js +9 -0
  479. package/dist/transports/video_in_sampler.d.ts +157 -0
  480. package/dist/transports/video_in_sampler.js +258 -0
  481. package/dist/transports/vonage/index.d.ts +2 -0
  482. package/dist/transports/vonage/index.js +9 -0
  483. package/dist/transports/websocket/index.d.ts +2 -0
  484. package/dist/transports/websocket/index.js +9 -0
  485. package/dist/transports/whatsapp/index.d.ts +2 -0
  486. package/dist/transports/whatsapp/index.js +9 -0
  487. package/dist/turns/eager_end_of_turn_mixin.d.ts +70 -0
  488. package/dist/turns/eager_end_of_turn_mixin.js +122 -0
  489. package/dist/turns/empty_user_turn.d.ts +55 -0
  490. package/dist/turns/empty_user_turn.js +53 -0
  491. package/dist/turns/index.d.ts +2 -0
  492. package/dist/turns/index.js +8 -0
  493. package/dist/turns/speculation_gate.d.ts +169 -0
  494. package/dist/turns/speculation_gate.js +294 -0
  495. package/dist/turns/types.d.ts +33 -0
  496. package/dist/turns/types.js +35 -0
  497. package/dist/turns/user_idle_controller.d.ts +94 -0
  498. package/dist/turns/user_idle_controller.js +187 -0
  499. package/dist/turns/user_mute/always_user_mute_strategy.d.ts +15 -0
  500. package/dist/turns/user_mute/always_user_mute_strategy.js +29 -0
  501. package/dist/turns/user_mute/base_user_mute_strategy.d.ts +39 -0
  502. package/dist/turns/user_mute/base_user_mute_strategy.js +45 -0
  503. package/dist/turns/user_mute/first_speech_user_mute_strategy.d.ts +28 -0
  504. package/dist/turns/user_mute/first_speech_user_mute_strategy.js +52 -0
  505. package/dist/turns/user_mute/function_call_user_mute_strategy.d.ts +25 -0
  506. package/dist/turns/user_mute/function_call_user_mute_strategy.js +50 -0
  507. package/dist/turns/user_mute/index.d.ts +6 -0
  508. package/dist/turns/user_mute/index.js +11 -0
  509. package/dist/turns/user_mute/mute_until_first_bot_complete_user_mute_strategy.d.ts +43 -0
  510. package/dist/turns/user_mute/mute_until_first_bot_complete_user_mute_strategy.js +76 -0
  511. package/dist/turns/user_start/base_user_turn_start_strategy.d.ts +135 -0
  512. package/dist/turns/user_start/base_user_turn_start_strategy.js +134 -0
  513. package/dist/turns/user_start/external_user_turn_start_strategy.d.ts +45 -0
  514. package/dist/turns/user_start/external_user_turn_start_strategy.js +64 -0
  515. package/dist/turns/user_start/index.d.ts +8 -0
  516. package/dist/turns/user_start/index.js +16 -0
  517. package/dist/turns/user_start/krisp_viva_ip_user_turn_start_strategy.d.ts +133 -0
  518. package/dist/turns/user_start/krisp_viva_ip_user_turn_start_strategy.js +243 -0
  519. package/dist/turns/user_start/min_words_user_turn_start_strategy.d.ts +60 -0
  520. package/dist/turns/user_start/min_words_user_turn_start_strategy.js +102 -0
  521. package/dist/turns/user_start/transcription_user_turn_start_strategy.d.ts +29 -0
  522. package/dist/turns/user_start/transcription_user_turn_start_strategy.js +43 -0
  523. package/dist/turns/user_start/vad_user_turn_start_strategy.d.ts +20 -0
  524. package/dist/turns/user_start/vad_user_turn_start_strategy.js +31 -0
  525. package/dist/turns/user_start/wake_phrase_user_turn_start_strategy.d.ts +141 -0
  526. package/dist/turns/user_start/wake_phrase_user_turn_start_strategy.js +238 -0
  527. package/dist/turns/user_stop/base_user_turn_stop_strategy.d.ts +174 -0
  528. package/dist/turns/user_stop/base_user_turn_stop_strategy.js +170 -0
  529. package/dist/turns/user_stop/deferred_user_turn_stop_strategy.d.ts +81 -0
  530. package/dist/turns/user_stop/deferred_user_turn_stop_strategy.js +107 -0
  531. package/dist/turns/user_stop/eager_match_policy.d.ts +36 -0
  532. package/dist/turns/user_stop/eager_match_policy.js +50 -0
  533. package/dist/turns/user_stop/eager_user_turn_stop_strategy.d.ts +84 -0
  534. package/dist/turns/user_stop/eager_user_turn_stop_strategy.js +154 -0
  535. package/dist/turns/user_stop/external_user_turn_completion_stop_strategy.d.ts +45 -0
  536. package/dist/turns/user_stop/external_user_turn_completion_stop_strategy.js +55 -0
  537. package/dist/turns/user_stop/external_user_turn_stop_strategy.d.ts +115 -0
  538. package/dist/turns/user_stop/external_user_turn_stop_strategy.js +205 -0
  539. package/dist/turns/user_stop/index.d.ts +10 -0
  540. package/dist/turns/user_stop/index.js +15 -0
  541. package/dist/turns/user_stop/llm_turn_completion_user_turn_stop_strategy.d.ts +44 -0
  542. package/dist/turns/user_stop/llm_turn_completion_user_turn_stop_strategy.js +59 -0
  543. package/dist/turns/user_stop/speech_timeout_user_turn_stop_strategy.d.ts +140 -0
  544. package/dist/turns/user_stop/speech_timeout_user_turn_stop_strategy.js +303 -0
  545. package/dist/turns/user_stop/turn_analyzer_user_turn_stop_strategy.d.ts +135 -0
  546. package/dist/turns/user_stop/turn_analyzer_user_turn_stop_strategy.js +332 -0
  547. package/dist/turns/user_turn_completion_mixin.d.ts +147 -0
  548. package/dist/turns/user_turn_completion_mixin.js +591 -0
  549. package/dist/turns/user_turn_controller.d.ts +134 -0
  550. package/dist/turns/user_turn_controller.js +335 -0
  551. package/dist/turns/user_turn_processor.d.ts +87 -0
  552. package/dist/turns/user_turn_processor.js +180 -0
  553. package/dist/turns/user_turn_strategies.d.ts +187 -0
  554. package/dist/turns/user_turn_strategies.js +222 -0
  555. package/dist/utils/async_tool_cancellation.d.ts +35 -0
  556. package/dist/utils/async_tool_cancellation.js +78 -0
  557. package/dist/utils/asyncio/index.d.ts +2 -0
  558. package/dist/utils/asyncio/index.js +7 -0
  559. package/dist/utils/asyncio/task_manager.d.ts +49 -0
  560. package/dist/utils/asyncio/task_manager.js +105 -0
  561. package/dist/utils/base_object.d.ts +76 -0
  562. package/dist/utils/base_object.js +154 -0
  563. package/dist/utils/context/aggregated_frame_sequencer.d.ts +491 -0
  564. package/dist/utils/context/aggregated_frame_sequencer.js +803 -0
  565. package/dist/utils/context/audio_context_manager.d.ts +131 -0
  566. package/dist/utils/context/audio_context_manager.js +233 -0
  567. package/dist/utils/context/index.d.ts +2 -0
  568. package/dist/utils/context/index.js +7 -0
  569. package/dist/utils/context/llm_context_summarization.d.ts +258 -0
  570. package/dist/utils/context/llm_context_summarization.js +511 -0
  571. package/dist/utils/context/text_segment_map.d.ts +611 -0
  572. package/dist/utils/context/text_segment_map.js +1132 -0
  573. package/dist/utils/context/word_completion_tracker.d.ts +273 -0
  574. package/dist/utils/context/word_completion_tracker.js +441 -0
  575. package/dist/utils/context/word_timestamp_tracker.d.ts +72 -0
  576. package/dist/utils/context/word_timestamp_tracker.js +98 -0
  577. package/dist/utils/deprecation.d.ts +28 -0
  578. package/dist/utils/deprecation.js +75 -0
  579. package/dist/utils/env.d.ts +38 -0
  580. package/dist/utils/env.js +62 -0
  581. package/dist/utils/errors.d.ts +75 -0
  582. package/dist/utils/errors.js +202 -0
  583. package/dist/utils/file_resolver.d.ts +126 -0
  584. package/dist/utils/file_resolver.js +314 -0
  585. package/dist/utils/file_storage.d.ts +99 -0
  586. package/dist/utils/file_storage.js +100 -0
  587. package/dist/utils/frame_queue.d.ts +36 -0
  588. package/dist/utils/frame_queue.js +66 -0
  589. package/dist/utils/http.d.ts +39 -0
  590. package/dist/utils/http.js +53 -0
  591. package/dist/utils/image.d.ts +15 -0
  592. package/dist/utils/image.js +30 -0
  593. package/dist/utils/index.d.ts +2 -0
  594. package/dist/utils/index.js +8 -0
  595. package/dist/utils/log_config.d.ts +34 -0
  596. package/dist/utils/log_config.js +76 -0
  597. package/dist/utils/logger.d.ts +40 -0
  598. package/dist/utils/logger.js +91 -0
  599. package/dist/utils/mixin.d.ts +14 -0
  600. package/dist/utils/mixin.js +63 -0
  601. package/dist/utils/network.d.ts +73 -0
  602. package/dist/utils/network.js +90 -0
  603. package/dist/utils/security/allowed_origins.d.ts +16 -0
  604. package/dist/utils/security/allowed_origins.js +34 -0
  605. package/dist/utils/security/index.d.ts +2 -0
  606. package/dist/utils/security/index.js +7 -0
  607. package/dist/utils/security/redaction.d.ts +27 -0
  608. package/dist/utils/security/redaction.js +123 -0
  609. package/dist/utils/security/ssrf.d.ts +79 -0
  610. package/dist/utils/security/ssrf.js +327 -0
  611. package/dist/utils/shared.d.ts +35 -0
  612. package/dist/utils/shared.js +136 -0
  613. package/dist/utils/startup.d.ts +17 -0
  614. package/dist/utils/startup.js +130 -0
  615. package/dist/utils/string.d.ts +116 -0
  616. package/dist/utils/string.js +460 -0
  617. package/dist/utils/sync/base_notifier.d.ts +25 -0
  618. package/dist/utils/sync/base_notifier.js +16 -0
  619. package/dist/utils/sync/event_notifier.d.ts +38 -0
  620. package/dist/utils/sync/event_notifier.js +51 -0
  621. package/dist/utils/sync/index.d.ts +2 -0
  622. package/dist/utils/sync/index.js +7 -0
  623. package/dist/utils/text/alnum_utils.d.ts +109 -0
  624. package/dist/utils/text/alnum_utils.js +262 -0
  625. package/dist/utils/text/base_text_aggregator.d.ts +146 -0
  626. package/dist/utils/text/base_text_aggregator.js +102 -0
  627. package/dist/utils/text/base_text_filter.d.ts +54 -0
  628. package/dist/utils/text/base_text_filter.js +50 -0
  629. package/dist/utils/text/index.d.ts +2 -0
  630. package/dist/utils/text/index.js +7 -0
  631. package/dist/utils/text/markdown_text_filter.d.ts +147 -0
  632. package/dist/utils/text/markdown_text_filter.js +522 -0
  633. package/dist/utils/text/markup_utils.d.ts +54 -0
  634. package/dist/utils/text/markup_utils.js +156 -0
  635. package/dist/utils/text/pattern_pair_aggregator.d.ts +251 -0
  636. package/dist/utils/text/pattern_pair_aggregator.js +478 -0
  637. package/dist/utils/text/phonemes.d.ts +60 -0
  638. package/dist/utils/text/phonemes.js +172 -0
  639. package/dist/utils/text/simple_text_aggregator.d.ts +135 -0
  640. package/dist/utils/text/simple_text_aggregator.js +254 -0
  641. package/dist/utils/text/skip_tags_aggregator.d.ts +85 -0
  642. package/dist/utils/text/skip_tags_aggregator.js +147 -0
  643. package/dist/utils/text/transforms/pronunciations.d.ts +65 -0
  644. package/dist/utils/text/transforms/pronunciations.js +111 -0
  645. package/dist/utils/text/word_timestamp_utils.d.ts +26 -0
  646. package/dist/utils/text/word_timestamp_utils.js +52 -0
  647. package/dist/utils/time.d.ts +13 -0
  648. package/dist/utils/time.js +31 -0
  649. package/dist/utils/tracing/index.d.ts +3 -0
  650. package/dist/utils/tracing/index.js +8 -0
  651. package/dist/utils/tracing/service_attributes.d.ts +198 -0
  652. package/dist/utils/tracing/service_attributes.js +434 -0
  653. package/dist/utils/tracing/service_decorators.d.ts +214 -0
  654. package/dist/utils/tracing/service_decorators.js +1662 -0
  655. package/dist/utils/tracing/setup.d.ts +95 -0
  656. package/dist/utils/tracing/setup.js +110 -0
  657. package/dist/utils/tracing/tracing_context.d.ts +55 -0
  658. package/dist/utils/tracing/tracing_context.js +97 -0
  659. package/dist/utils/tracing/turn_trace_observer.d.ts +90 -0
  660. package/dist/utils/tracing/turn_trace_observer.js +219 -0
  661. package/dist/utils/types.d.ts +80 -0
  662. package/dist/utils/types.js +108 -0
  663. package/dist/utils/utils.d.ts +5 -0
  664. package/dist/utils/utils.js +22 -0
  665. package/dist/utils/yaml.d.ts +64 -0
  666. package/dist/utils/yaml.js +41 -0
  667. package/dist/version.d.ts +3 -0
  668. package/dist/version.js +7 -0
  669. package/dist/workers/base_worker.d.ts +772 -0
  670. package/dist/workers/base_worker.js +1298 -0
  671. package/dist/workers/index.d.ts +2 -0
  672. package/dist/workers/index.js +8 -0
  673. package/dist/workers/llm/backend_llm_worker.d.ts +552 -0
  674. package/dist/workers/llm/backend_llm_worker.js +1055 -0
  675. package/dist/workers/llm/index.d.ts +6 -0
  676. package/dist/workers/llm/index.js +11 -0
  677. package/dist/workers/llm/llm_context_worker.d.ts +66 -0
  678. package/dist/workers/llm/llm_context_worker.js +72 -0
  679. package/dist/workers/llm/llm_worker.d.ts +180 -0
  680. package/dist/workers/llm/llm_worker.js +323 -0
  681. package/dist/workers/llm/tool_decorator.d.ts +68 -0
  682. package/dist/workers/llm/tool_decorator.js +60 -0
  683. package/dist/workers/runner.d.ts +268 -0
  684. package/dist/workers/runner.js +489 -0
  685. package/dist/workers/ui/index.d.ts +22 -0
  686. package/dist/workers/ui/index.js +27 -0
  687. package/dist/workers/ui/ui_event_decorator.d.ts +43 -0
  688. package/dist/workers/ui/ui_event_decorator.js +75 -0
  689. package/dist/workers/ui/ui_job_context.d.ts +12 -0
  690. package/dist/workers/ui/ui_job_context.js +17 -0
  691. package/dist/workers/ui/ui_prompts.d.ts +21 -0
  692. package/dist/workers/ui/ui_prompts.js +41 -0
  693. package/dist/workers/ui/ui_tools.d.ts +32 -0
  694. package/dist/workers/ui/ui_tools.js +112 -0
  695. package/dist/workers/ui/ui_worker.d.ts +571 -0
  696. package/dist/workers/ui/ui_worker.js +1156 -0
  697. package/package.json +46 -3
  698. package/README.md +0 -5
@@ -0,0 +1,49 @@
1
+ /** Base pipeline implementation for frame processing. */
2
+ import { type Task } from "@pipedog/asyncio";
3
+ import { FrameProcessor, type FrameProcessorOptions, type FrameProcessorSetup } from "../processors/frame_processor.ts";
4
+ export interface BasePipelineOptions extends FrameProcessorOptions {
5
+ }
6
+ /** Base class for all pipeline implementations. */
7
+ export declare class BasePipeline extends FrameProcessor {
8
+ /** Initialize the base pipeline. */
9
+ constructor(options?: BasePipelineOptions);
10
+ /**
11
+ * Set up the given processors concurrently.
12
+ *
13
+ * A processor that fails to set up reports it as an error and leaves the
14
+ * rest of the pipeline to carry on, the same way a failure while handling a
15
+ * frame is reported. Every failure is reported, not just the first.
16
+ *
17
+ * The failure is permanent whatever caused it, since setting up is not
18
+ * attempted again: the processor is left half-built for the rest of the
19
+ * session, so it loses its usability and a switcher can move off it.
20
+ *
21
+ * Call it right after this pipeline's own setup, once it has released
22
+ * itself with `_setupFinished()`. Each processor holds the StartFrame until
23
+ * its own setup is done, so one slow processor doesn't block the ones ahead
24
+ * of it. The processors are held before anything else runs, so the
25
+ * StartFrame can't get past one whose setup() hasn't begun yet.
26
+ *
27
+ * @param processors The processors to set up.
28
+ * @param setup Configuration for frame processor setup.
29
+ */
30
+ protected _setupProcessors(processors: readonly FrameProcessor[], setup: FrameProcessorSetup): Promise<void>;
31
+ /** Hold the processor's StartFrame and set it up in a task of its own. */
32
+ protected _createSetupTask(processor: FrameProcessor, setup: FrameProcessorSetup): Task<unknown>;
33
+ /** Release the processor once it is set up, unless setting it up was cancelled. */
34
+ protected _setupTaskDone(processor: FrameProcessor, task: Task<unknown>): void;
35
+ /** Set the processor up, reporting a failure as a permanent error. */
36
+ protected _setupProcessor(processor: FrameProcessor, setup: FrameProcessorSetup): Promise<void>;
37
+ /**
38
+ * Clean up the given processors concurrently.
39
+ *
40
+ * Tearing down is best effort: a processor that throws is logged and the
41
+ * rest are still released. Cleaning up runs after a processor failed to set
42
+ * up, or was abandoned part-way through being set up, so some of them are
43
+ * released from a state they never finished reaching.
44
+ *
45
+ * @param processors The processors to clean up.
46
+ */
47
+ protected _cleanupProcessors(processors: readonly FrameProcessor[]): Promise<void>;
48
+ }
49
+ //# sourceMappingURL=base_pipeline.d.ts.map
@@ -0,0 +1,101 @@
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/pipeline/base_pipeline.py
6
+ /** Base pipeline implementation for frame processing. */
7
+ import { gather, monotonicNs, rethrowIfCancelled } from "@pipedog/asyncio";
8
+ import { ProcessorSetUp } from "../observers/base_observer.js";
9
+ import { FrameProcessor, } from "../processors/frame_processor.js";
10
+ import { logger } from "../utils/logger.js";
11
+ /** Base class for all pipeline implementations. */
12
+ export class BasePipeline extends FrameProcessor {
13
+ /** Initialize the base pipeline. */
14
+ constructor(options = {}) {
15
+ super(options);
16
+ }
17
+ /**
18
+ * Set up the given processors concurrently.
19
+ *
20
+ * A processor that fails to set up reports it as an error and leaves the
21
+ * rest of the pipeline to carry on, the same way a failure while handling a
22
+ * frame is reported. Every failure is reported, not just the first.
23
+ *
24
+ * The failure is permanent whatever caused it, since setting up is not
25
+ * attempted again: the processor is left half-built for the rest of the
26
+ * session, so it loses its usability and a switcher can move off it.
27
+ *
28
+ * Call it right after this pipeline's own setup, once it has released
29
+ * itself with `_setupFinished()`. Each processor holds the StartFrame until
30
+ * its own setup is done, so one slow processor doesn't block the ones ahead
31
+ * of it. The processors are held before anything else runs, so the
32
+ * StartFrame can't get past one whose setup() hasn't begun yet.
33
+ *
34
+ * @param processors The processors to set up.
35
+ * @param setup Configuration for frame processor setup.
36
+ */
37
+ async _setupProcessors(processors, setup) {
38
+ const tasks = processors.map((p) => this._createSetupTask(p, setup));
39
+ await gather(...tasks);
40
+ }
41
+ /** Hold the processor's StartFrame and set it up in a task of its own. */
42
+ _createSetupTask(processor, setup) {
43
+ processor._setupStarted();
44
+ const task = this.createTask(() => this._setupProcessor(processor, setup), `${this}::setup::${processor}`);
45
+ task.addDoneCallback((task) => this._setupTaskDone(processor, task));
46
+ return task;
47
+ }
48
+ /** Release the processor once it is set up, unless setting it up was cancelled. */
49
+ _setupTaskDone(processor, task) {
50
+ if (!task.cancelled()) {
51
+ processor._setupFinished();
52
+ }
53
+ }
54
+ /** Set the processor up, reporting a failure as a permanent error. */
55
+ async _setupProcessor(processor, setup) {
56
+ const startedAtNs = monotonicNs();
57
+ try {
58
+ await processor.setup(setup);
59
+ }
60
+ catch (e) {
61
+ rethrowIfCancelled(e);
62
+ await processor.pushError(`Error setting up processor: ${errorMessage(e)}`, {
63
+ exception: e,
64
+ forceTreatAsPermanent: true,
65
+ });
66
+ }
67
+ if (setup.observer) {
68
+ await setup.observer.onProcessorSetup(new ProcessorSetUp({
69
+ processor,
70
+ startedAtNs,
71
+ finishedAtNs: monotonicNs(),
72
+ }));
73
+ }
74
+ }
75
+ /**
76
+ * Clean up the given processors concurrently.
77
+ *
78
+ * Tearing down is best effort: a processor that throws is logged and the
79
+ * rest are still released. Cleaning up runs after a processor failed to set
80
+ * up, or was abandoned part-way through being set up, so some of them are
81
+ * released from a state they never finished reaching.
82
+ *
83
+ * @param processors The processors to clean up.
84
+ */
85
+ async _cleanupProcessors(processors) {
86
+ const cleanupProcessor = async (processor) => {
87
+ try {
88
+ await processor.cleanup();
89
+ }
90
+ catch (e) {
91
+ rethrowIfCancelled(e);
92
+ logger.error(`Error cleaning up ${processor}: ${errorMessage(e)}`);
93
+ }
94
+ };
95
+ await gather(...processors.map((p) => () => cleanupProcessor(p)));
96
+ }
97
+ }
98
+ function errorMessage(e) {
99
+ return e instanceof Error ? e.message : String(e);
100
+ }
101
+ //# sourceMappingURL=base_pipeline.js.map
@@ -0,0 +1,76 @@
1
+ /**
2
+ * What a bot does in a session, reported so clients can configure themselves.
3
+ *
4
+ * `PipelineWorker` derives a `BotCapabilities` from its pipeline's transports
5
+ * and parameters, and RTVI sends it to the client in the `bot-ready` message.
6
+ */
7
+ export interface BotCapabilitiesOptions {
8
+ audioIn?: boolean | null;
9
+ audioOut?: boolean | null;
10
+ videoIn?: boolean | null;
11
+ screenIn?: boolean | null;
12
+ videoOut?: boolean | null;
13
+ metrics?: boolean | null;
14
+ }
15
+ /** Wire (JSON) form of `BotCapabilities`, with the upstream snake_case keys. */
16
+ export interface BotCapabilitiesDump {
17
+ audio_in?: boolean | null;
18
+ audio_out?: boolean | null;
19
+ video_in?: boolean | null;
20
+ screen_in?: boolean | null;
21
+ video_out?: boolean | null;
22
+ metrics?: boolean | null;
23
+ }
24
+ /**
25
+ * What a bot does in a session.
26
+ *
27
+ * Every field is optional: `null` means unknown, and a client should keep its
28
+ * default behavior for it. `false` means the bot does not do it, so a client
29
+ * can hide the matching UI.
30
+ *
31
+ * - `audioIn`: whether the bot receives the user's audio.
32
+ * - `audioOut`: whether the bot sends audio to the user.
33
+ * - `videoIn`: whether the bot receives the user's video.
34
+ * - `screenIn`: whether the bot receives the user's screen share. Known when
35
+ * the transport captures its video sources from `videoInSources`; unknown
36
+ * when the application captures them itself.
37
+ * - `videoOut`: whether the bot sends video to the user.
38
+ * - `metrics`: whether the bot reports metrics.
39
+ */
40
+ export declare class BotCapabilities {
41
+ audioIn: boolean | null;
42
+ audioOut: boolean | null;
43
+ videoIn: boolean | null;
44
+ screenIn: boolean | null;
45
+ videoOut: boolean | null;
46
+ metrics: boolean | null;
47
+ constructor(options?: BotCapabilitiesOptions);
48
+ /**
49
+ * Combine the capabilities of two parts of the same bot.
50
+ *
51
+ * A field is `true` if either side is `true`, `false` if either side is
52
+ * `false` and neither is `true`, and `null` if both are unknown.
53
+ *
54
+ * @param other The capabilities to combine with these.
55
+ * @returns The combined capabilities.
56
+ */
57
+ combine(other: BotCapabilities): BotCapabilities;
58
+ /**
59
+ * Apply the fields `other` knows on top of these capabilities.
60
+ *
61
+ * @param other The capabilities whose known (non-null) fields win.
62
+ * @returns These capabilities with `other`'s known fields applied.
63
+ */
64
+ override(other: BotCapabilities): BotCapabilities;
65
+ /**
66
+ * The wire form, with upstream's snake_case keys (pydantic `model_dump`).
67
+ *
68
+ * @param options.excludeNone Leave out unknown (null) fields.
69
+ */
70
+ modelDump(options?: {
71
+ excludeNone?: boolean;
72
+ }): BotCapabilitiesDump;
73
+ /** Serialize with the wire keys, as pydantic does. */
74
+ toJSON(): BotCapabilitiesDump;
75
+ }
76
+ //# sourceMappingURL=capabilities.d.ts.map
@@ -0,0 +1,97 @@
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/pipeline/capabilities.py
6
+ const FIELDS = ["audioIn", "audioOut", "videoIn", "screenIn", "videoOut", "metrics"];
7
+ const WIRE_KEYS = {
8
+ audioIn: "audio_in",
9
+ audioOut: "audio_out",
10
+ videoIn: "video_in",
11
+ screenIn: "screen_in",
12
+ videoOut: "video_out",
13
+ metrics: "metrics",
14
+ };
15
+ /**
16
+ * What a bot does in a session.
17
+ *
18
+ * Every field is optional: `null` means unknown, and a client should keep its
19
+ * default behavior for it. `false` means the bot does not do it, so a client
20
+ * can hide the matching UI.
21
+ *
22
+ * - `audioIn`: whether the bot receives the user's audio.
23
+ * - `audioOut`: whether the bot sends audio to the user.
24
+ * - `videoIn`: whether the bot receives the user's video.
25
+ * - `screenIn`: whether the bot receives the user's screen share. Known when
26
+ * the transport captures its video sources from `videoInSources`; unknown
27
+ * when the application captures them itself.
28
+ * - `videoOut`: whether the bot sends video to the user.
29
+ * - `metrics`: whether the bot reports metrics.
30
+ */
31
+ export class BotCapabilities {
32
+ audioIn;
33
+ audioOut;
34
+ videoIn;
35
+ screenIn;
36
+ videoOut;
37
+ metrics;
38
+ constructor(options = {}) {
39
+ this.audioIn = options.audioIn ?? null;
40
+ this.audioOut = options.audioOut ?? null;
41
+ this.videoIn = options.videoIn ?? null;
42
+ this.screenIn = options.screenIn ?? null;
43
+ this.videoOut = options.videoOut ?? null;
44
+ this.metrics = options.metrics ?? null;
45
+ }
46
+ /**
47
+ * Combine the capabilities of two parts of the same bot.
48
+ *
49
+ * A field is `true` if either side is `true`, `false` if either side is
50
+ * `false` and neither is `true`, and `null` if both are unknown.
51
+ *
52
+ * @param other The capabilities to combine with these.
53
+ * @returns The combined capabilities.
54
+ */
55
+ combine(other) {
56
+ const combined = {};
57
+ for (const field of FIELDS) {
58
+ const values = [this[field], other[field]].filter((v) => v !== null);
59
+ combined[field] = values.length > 0 ? values.some(Boolean) : null;
60
+ }
61
+ return new BotCapabilities(combined);
62
+ }
63
+ /**
64
+ * Apply the fields `other` knows on top of these capabilities.
65
+ *
66
+ * @param other The capabilities whose known (non-null) fields win.
67
+ * @returns These capabilities with `other`'s known fields applied.
68
+ */
69
+ override(other) {
70
+ const updated = new BotCapabilities(this);
71
+ for (const field of FIELDS) {
72
+ if (other[field] !== null)
73
+ updated[field] = other[field];
74
+ }
75
+ return updated;
76
+ }
77
+ /**
78
+ * The wire form, with upstream's snake_case keys (pydantic `model_dump`).
79
+ *
80
+ * @param options.excludeNone Leave out unknown (null) fields.
81
+ */
82
+ modelDump(options = {}) {
83
+ const dump = {};
84
+ for (const field of FIELDS) {
85
+ const value = this[field];
86
+ if (options.excludeNone && value === null)
87
+ continue;
88
+ dump[WIRE_KEYS[field]] = value;
89
+ }
90
+ return dump;
91
+ }
92
+ /** Serialize with the wire keys, as pydantic does. */
93
+ toJSON() {
94
+ return this.modelDump();
95
+ }
96
+ }
97
+ //# sourceMappingURL=capabilities.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/pipeline/__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,317 @@
1
+ /**
2
+ * Worker group types for structured concurrent worker execution.
3
+ *
4
+ * Porting notes:
5
+ * - `async with ctx:` becomes `await ctx.run(async (ctx) => { ... })`, or the
6
+ * explicit `await ctx.enter()` / `await ctx.exit(error)` pair.
7
+ * - `async for event in ctx` is `for await (const event of ctx)`.
8
+ * - The deprecated `resolve_job_params()` (and the per-argument job spelling
9
+ * it absorbs) is not ported.
10
+ */
11
+ import { Event, Queue, type Task } from "@pipedog/asyncio";
12
+ import type { BaseWorker } from "../workers/base_worker.ts";
13
+ /** A job payload or response: structured JSON-like data. */
14
+ export type JobPayload = Record<string, unknown>;
15
+ export interface JobParamsOptions {
16
+ name?: string | null;
17
+ payload?: JobPayload | null;
18
+ timeout?: number | null;
19
+ label?: string | null;
20
+ cancellable?: boolean;
21
+ }
22
+ /**
23
+ * Configuration for a job sent to a single worker.
24
+ *
25
+ * - `name`: optional job name, routing the request to the matching
26
+ * `job({ name })` handler on the worker.
27
+ * - `payload`: optional structured data describing the work.
28
+ * - `timeout`: optional timeout in seconds, covering both the wait for the
29
+ * worker to become ready and the job itself.
30
+ * - `label`: optional human-readable description of the work, e.g.
31
+ * `"Research: Radiohead"`. A `UIWorker` titles the client's progress card
32
+ * with it.
33
+ * - `cancellable`: whether an external requester, such as the client UI, may
34
+ * ask for the job to be cancelled. Cancellation the worker initiates itself
35
+ * (shutdown, timeout, `cancelOnError`) proceeds either way.
36
+ */
37
+ export declare class JobParams {
38
+ name: string | null;
39
+ payload: JobPayload | null;
40
+ timeout: number | null;
41
+ label: string | null;
42
+ cancellable: boolean;
43
+ constructor(options?: JobParamsOptions);
44
+ }
45
+ export interface JobGroupParamsOptions extends JobParamsOptions {
46
+ cancelOnError?: boolean;
47
+ }
48
+ /**
49
+ * Configuration for a job sent to several workers at once.
50
+ *
51
+ * Carries every `JobParams` field, which apply to the group as a whole, plus
52
+ * how the group reacts to one of its workers failing.
53
+ *
54
+ * - `cancelOnError`: whether a worker responding with an error status cancels
55
+ * the rest of the group.
56
+ */
57
+ export declare class JobGroupParams extends JobParams {
58
+ cancelOnError: boolean;
59
+ constructor(options?: JobGroupParamsOptions);
60
+ }
61
+ /**
62
+ * Status of a completed worker.
63
+ *
64
+ * String values, so they compare naturally with plain strings and serialize
65
+ * without extra handling.
66
+ *
67
+ * - `COMPLETED`: the worker finished successfully.
68
+ * - `CANCELLED`: the worker was cancelled by the requester.
69
+ * - `FAILED`: the worker failed due to a logical or business error.
70
+ * - `ERROR`: the worker encountered an unexpected runtime error.
71
+ */
72
+ export declare const JobStatus: {
73
+ readonly COMPLETED: "completed";
74
+ readonly CANCELLED: "cancelled";
75
+ readonly FAILED: "failed";
76
+ readonly ERROR: "error";
77
+ };
78
+ export type JobStatus = (typeof JobStatus)[keyof typeof JobStatus];
79
+ /** Raised when a worker is cancelled due to a worker error or timeout. */
80
+ export declare class JobError extends Error {
81
+ name: string;
82
+ }
83
+ /** Raised when a worker group is cancelled due to a worker error or timeout. */
84
+ export declare class JobGroupError extends Error {
85
+ name: string;
86
+ }
87
+ /**
88
+ * Collected results from a completed job group.
89
+ *
90
+ * - `jobId`: the shared job identifier.
91
+ * - `responses`: collected responses keyed by worker name.
92
+ */
93
+ export declare class JobGroupResponse {
94
+ jobId: string;
95
+ responses: Record<string, JobPayload>;
96
+ constructor(options: {
97
+ jobId: string;
98
+ responses: Record<string, JobPayload>;
99
+ });
100
+ }
101
+ /**
102
+ * An event received from a worker during a single-worker job.
103
+ *
104
+ * - `type`: the event type.
105
+ * - `data`: optional event payload.
106
+ */
107
+ export declare class JobEvent {
108
+ static readonly UPDATE = "update";
109
+ static readonly STREAM_START = "stream_start";
110
+ static readonly STREAM_DATA = "stream_data";
111
+ static readonly STREAM_END = "stream_end";
112
+ type: string;
113
+ data: JobPayload | null;
114
+ constructor(options: {
115
+ type: string;
116
+ data?: JobPayload | null;
117
+ });
118
+ }
119
+ /**
120
+ * An event received from a worker during job group execution.
121
+ *
122
+ * - `type`: the event type.
123
+ * - `workerName`: the name of the worker that sent the event.
124
+ * - `data`: optional event payload.
125
+ */
126
+ export declare class JobGroupEvent {
127
+ static readonly UPDATE = "update";
128
+ static readonly STREAM_START = "stream_start";
129
+ static readonly STREAM_DATA = "stream_data";
130
+ static readonly STREAM_END = "stream_end";
131
+ type: string;
132
+ workerName: string;
133
+ data: JobPayload | null;
134
+ constructor(options: {
135
+ type: string;
136
+ workerName: string;
137
+ data?: JobPayload | null;
138
+ });
139
+ }
140
+ export interface JobGroupOptions {
141
+ jobId: string;
142
+ workerNames: string[];
143
+ responses?: Record<string, JobPayload>;
144
+ timeoutTask?: Task<unknown> | null;
145
+ cancelOnError?: boolean;
146
+ label?: string | null;
147
+ cancellable?: boolean;
148
+ terminated?: Set<string>;
149
+ eventQueue?: Queue<JobGroupEvent | null> | null;
150
+ }
151
+ /**
152
+ * Tracks a group of workers launched together.
153
+ *
154
+ * - `jobId`: shared identifier for all workers in this group.
155
+ * - `workerNames`: names of the workers in the group, in dispatch order.
156
+ * - `responses`: collected responses keyed by worker name.
157
+ * - `timeoutTask`: optional task that cancels the group on timeout.
158
+ * - `cancelOnError`: whether to cancel the group if a worker errors.
159
+ * - `label`: optional human-readable description of the work, from
160
+ * `JobGroupParams.label`.
161
+ * - `cancellable`: whether an external requester may ask for the group to be
162
+ * cancelled, from `JobGroupParams.cancellable`.
163
+ * - `terminated`: names of the workers that have reached a terminal state,
164
+ * whether by responding or by ending their stream.
165
+ * - `eventQueue`: optional queue for streaming events to a `JobGroupContext`
166
+ * async iterator.
167
+ */
168
+ export declare class JobGroup {
169
+ jobId: string;
170
+ workerNames: string[];
171
+ responses: Record<string, JobPayload>;
172
+ timeoutTask: Task<unknown> | null;
173
+ cancelOnError: boolean;
174
+ label: string | null;
175
+ cancellable: boolean;
176
+ terminated: Set<string>;
177
+ eventQueue: Queue<JobGroupEvent | null> | null;
178
+ protected _done: Event;
179
+ protected _error: string | null;
180
+ constructor(options: JobGroupOptions);
181
+ /** Whether the group has completed or failed. */
182
+ get isDone(): boolean;
183
+ /**
184
+ * Wait for all workers in the group to respond.
185
+ *
186
+ * @throws JobGroupError If the group was cancelled due to error or timeout.
187
+ */
188
+ wait(): Promise<void>;
189
+ /** Signal that all workers have responded. */
190
+ complete(): void;
191
+ /**
192
+ * Signal that the group was cancelled.
193
+ *
194
+ * @param reason Human-readable reason for the failure.
195
+ */
196
+ fail(reason?: string | null): void;
197
+ toString(): string;
198
+ }
199
+ /**
200
+ * Async context manager and iterator for structured job group execution.
201
+ *
202
+ * Sends job requests on enter, waits for all responses on exit. Supports
203
+ * `for await` to receive intermediate events (updates and streaming data)
204
+ * from workers while waiting for completion.
205
+ *
206
+ * On normal completion, results are available via `responses`. On worker
207
+ * error (with `cancelOnError: true`) or timeout, throws `JobGroupError`. If
208
+ * the block throws, remaining jobs are cancelled.
209
+ *
210
+ * @example
211
+ * const tg = this.jobGroup(["w1", "w2"], { params: new JobGroupParams({ payload: data }) });
212
+ * await tg.run(async (tg) => {
213
+ * for await (const event of tg) {
214
+ * console.log(`${event.workerName} [${event.type}]:`, event.data);
215
+ * }
216
+ * });
217
+ *
218
+ * for (const [name, result] of Object.entries(tg.responses)) {
219
+ * console.log(name, result);
220
+ * }
221
+ */
222
+ export declare class JobGroupContext implements AsyncIterable<JobGroupEvent> {
223
+ protected _worker: BaseWorker;
224
+ protected _workerNames: readonly string[];
225
+ protected _params: JobGroupParams;
226
+ protected _group: JobGroup | null;
227
+ /**
228
+ * Initialize the JobGroupContext.
229
+ *
230
+ * @param worker The parent `BaseWorker` that owns this job group.
231
+ * @param workerNames Names of the workers to send the job to.
232
+ * @param options.params How to run the group. Defaults to `JobGroupParams` defaults.
233
+ */
234
+ constructor(worker: BaseWorker, workerNames: readonly string[], options?: {
235
+ params?: JobGroupParams | null;
236
+ });
237
+ /** The shared job identifier for this group. */
238
+ get jobId(): string;
239
+ /** Collected responses keyed by worker name. */
240
+ get responses(): Record<string, JobPayload>;
241
+ [Symbol.asyncIterator](): AsyncIterator<JobGroupEvent>;
242
+ /** Send the job requests (`__aenter__`). */
243
+ enter(): Promise<this>;
244
+ /**
245
+ * Leave the block (`__aexit__`): cancel the remaining jobs if the block
246
+ * threw, otherwise wait for every response.
247
+ *
248
+ * @param error What the block threw, if anything (`undefined` when it
249
+ * completed normally).
250
+ */
251
+ exit(error?: unknown): Promise<void>;
252
+ /**
253
+ * Run `fn` inside the context, as `async with` does: enter, run the block,
254
+ * then exit. An error thrown by the block cancels the group and is
255
+ * re-thrown.
256
+ */
257
+ run<R>(fn: (ctx: this) => Promise<R> | R): Promise<R>;
258
+ }
259
+ /**
260
+ * Async context manager and iterator for a single-worker job.
261
+ *
262
+ * Sends a job request on enter, waits for the response on exit. Supports
263
+ * `for await` to receive intermediate events (updates and streaming data)
264
+ * from the worker while waiting for completion.
265
+ *
266
+ * On normal completion, the result is available via `response`. On worker
267
+ * error or timeout, throws `JobError`. If the block throws, the job is
268
+ * cancelled.
269
+ *
270
+ * @example
271
+ * const t = this.job("worker", { params: new JobParams({ payload: data }) });
272
+ * await t.run(async (t) => {
273
+ * for await (const event of t) {
274
+ * console.log(`[${event.type}]:`, event.data);
275
+ * }
276
+ * });
277
+ *
278
+ * console.log(t.response);
279
+ */
280
+ export declare class JobContext implements AsyncIterable<JobEvent> {
281
+ protected _worker: BaseWorker;
282
+ protected _workerName: string;
283
+ protected _params: JobParams;
284
+ protected _group: JobGroup | null;
285
+ /**
286
+ * Initialize the JobContext.
287
+ *
288
+ * @param worker The parent `BaseWorker` that owns this job.
289
+ * @param workerName Name of the worker to send the job to.
290
+ * @param options.params How to run the job. Defaults to `JobParams` defaults.
291
+ */
292
+ constructor(worker: BaseWorker, workerName: string, options?: {
293
+ params?: JobParams | null;
294
+ });
295
+ /** The job identifier. */
296
+ get jobId(): string;
297
+ /** The worker's response payload. */
298
+ get response(): JobPayload;
299
+ [Symbol.asyncIterator](): AsyncIterator<JobEvent>;
300
+ /** Send the job request (`__aenter__`). */
301
+ enter(): Promise<this>;
302
+ /**
303
+ * Leave the block (`__aexit__`): cancel the job if the block threw,
304
+ * otherwise wait for the response.
305
+ *
306
+ * @param error What the block threw, if anything (`undefined` when it
307
+ * completed normally).
308
+ * @throws JobError If the worker failed or timed out.
309
+ */
310
+ exit(error?: unknown): Promise<void>;
311
+ /**
312
+ * Run `fn` inside the context, as `async with` does: enter, run the block,
313
+ * then exit. An error thrown by the block cancels the job and is re-thrown.
314
+ */
315
+ run<R>(fn: (ctx: this) => Promise<R> | R): Promise<R>;
316
+ }
317
+ //# sourceMappingURL=job_context.d.ts.map