@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,202 @@
1
+ /**
2
+ * Direct function wrapper utilities for LLM function calling.
3
+ *
4
+ * Provides utilities for wrapping "direct" functions that handle LLM function
5
+ * calls. Direct functions have their metadata automatically extracted from
6
+ * function signatures (and, in TypeScript, metadata attached to the function),
7
+ * allowing them to be used without accompanying configurations (as
8
+ * FunctionSchemas or in provider-specific formats).
9
+ *
10
+ * DIVERGENCE: JavaScript has no runtime type hints or docstrings. Parameter
11
+ * names and which ones are required (no default value) are read from the
12
+ * function's source; the description and parameter types come from optional
13
+ * metadata attached to the function (`DirectFunctionMetadata`). Parameters
14
+ * without metadata get an empty (any-type) JSON schema. Minified functions
15
+ * lose their parameter names, so direct functions must ship unminified.
16
+ */
17
+ import type { FunctionCallParams } from "../../services/llm_service.ts";
18
+ import { FunctionSchema } from "./function_schema.ts";
19
+ /**
20
+ * Metadata a direct function may carry in place of Python's type hints and
21
+ * docstring.
22
+ */
23
+ export interface DirectFunctionMetadata {
24
+ /** The function description (Python: the docstring's description). */
25
+ description?: string;
26
+ /**
27
+ * Per-parameter type hints: a JSON schema object, a JS constructor
28
+ * (`String`, `Number`, `Boolean`, `Object`, `Array`, `BigInt` for an
29
+ * integer), `null`, or an array of those (a union).
30
+ */
31
+ parameters?: Record<string, unknown>;
32
+ }
33
+ /**
34
+ * A "direct" function that handles LLM function calls.
35
+ *
36
+ * A direct function is an async function whose first parameter is `params`
37
+ * (a `FunctionCallParams`), followed by the tool's arguments. Its metadata
38
+ * (name, description, and parameter schemas) is extracted automatically, so
39
+ * it can be used without an accompanying `FunctionSchema` or
40
+ * provider-specific configuration.
41
+ *
42
+ * Typed permissively so that concrete function signatures type-check when
43
+ * passed to public APIs. The precise contract — async, with a first parameter
44
+ * named `params` — is validated at runtime by
45
+ * `DirectFunctionWrapper.validateFunction`.
46
+ */
47
+ export type DirectFunction = ((params: FunctionCallParams, ...args: any[]) => Promise<unknown>) & DirectFunctionMetadata;
48
+ type AnyFunction = ((...args: any[]) => unknown) & DirectFunctionMetadata;
49
+ /**
50
+ * Base class for a wrapper around a DirectFunction.
51
+ *
52
+ * Provides functionality to:
53
+ *
54
+ * - extract metadata from the function signature and attached metadata
55
+ * - use that metadata to generate a corresponding FunctionSchema
56
+ */
57
+ export declare class BaseDirectFunctionWrapper {
58
+ function: AnyFunction;
59
+ name: string;
60
+ description: string;
61
+ properties: Record<string, Record<string, unknown>>;
62
+ required: string[];
63
+ /**
64
+ * Initialize the direct function wrapper.
65
+ *
66
+ * @param fn The function to wrap and extract metadata from.
67
+ */
68
+ constructor(fn: AnyFunction);
69
+ /**
70
+ * Get the name of the special first function parameter.
71
+ *
72
+ * The special first parameter is ignored by metadata extraction as it's not
73
+ * relevant to the LLM (e.g., 'params' for FunctionCallParams).
74
+ *
75
+ * @returns The name of the special first parameter.
76
+ */
77
+ static specialFirstParamName(): string;
78
+ /**
79
+ * Validate that the function meets direct function requirements.
80
+ *
81
+ * @param fn The function to validate.
82
+ * @throws Error if function doesn't meet requirements (not async, missing
83
+ * parameters, incorrect first parameter name).
84
+ */
85
+ static validateFunction(fn: AnyFunction): void;
86
+ /**
87
+ * Convert the wrapped function to a FunctionSchema.
88
+ *
89
+ * @returns A FunctionSchema instance with extracted metadata.
90
+ */
91
+ toFunctionSchema(): FunctionSchema;
92
+ /** Initialize metadata from function signature and attached metadata. */
93
+ protected _initializeMetadata(): void;
94
+ /** Names of the parameters after the special first one, in order. */
95
+ protected _argumentNames(): string[];
96
+ /**
97
+ * Get function parameters as an object of JSON schemas and a list of
98
+ * required parameters.
99
+ *
100
+ * Ignore the first parameter, as it's expected to be the "special" one.
101
+ *
102
+ * @param func Function to get parameters from.
103
+ * @returns A tuple of an object mapping each function parameter to its JSON
104
+ * schema, and a list of required parameter names.
105
+ */
106
+ protected _getParametersAsJsonschema(func: AnyFunction): [Record<string, Record<string, unknown>>, string[]];
107
+ /**
108
+ * Convert a type hint to a JSON Schema.
109
+ *
110
+ * @param typeHint A JSON schema, a JS constructor, `null`, or an array of
111
+ * those (a union).
112
+ * @returns An object representing the JSON Schema
113
+ */
114
+ protected _typehintToJsonschema(typeHint: unknown): Record<string, unknown>;
115
+ }
116
+ /**
117
+ * Wrapper around a DirectFunction for LLM function calling.
118
+ *
119
+ * This class:
120
+ *
121
+ * - Extracts metadata from the function signature and attached metadata
122
+ * - Generates a corresponding FunctionSchema
123
+ * - Helps with function invocation
124
+ */
125
+ export declare class DirectFunctionWrapper extends BaseDirectFunctionWrapper {
126
+ function: DirectFunction;
127
+ /**
128
+ * Get the special first parameter name for direct functions.
129
+ *
130
+ * @returns The string "params" which is expected as the first parameter.
131
+ */
132
+ static specialFirstParamName(): string;
133
+ /**
134
+ * Invoke the wrapped function with the provided arguments.
135
+ *
136
+ * Arguments are matched to the function's parameters by name, like
137
+ * Python's `function(params=params, **args)`.
138
+ *
139
+ * @param args Arguments to pass to the function.
140
+ * @param params Function call parameters from the LLM service.
141
+ * @returns The result of the function call.
142
+ */
143
+ invoke(args: Readonly<Record<string, unknown>>, params: FunctionCallParams): Promise<unknown>;
144
+ }
145
+ export interface ToolOptions {
146
+ /**
147
+ * Whether to cancel this function call when an interruption occurs.
148
+ * Defaults to true.
149
+ */
150
+ cancelOnInterruption?: boolean;
151
+ /**
152
+ * Optional per-tool timeout in seconds. A call that runs past it is
153
+ * cancelled. Defaults to null (uses the LLM service default).
154
+ */
155
+ timeoutSecs?: number | null;
156
+ /**
157
+ * Whether the LLM may cancel this call once it is running, by calling the
158
+ * `cancel_<name>` tool advertised alongside it. Only meaningful together
159
+ * with `cancelOnInterruption: false`: a synchronous call blocks the LLM
160
+ * until it returns, so there is no moment at which it could ask for the
161
+ * call to stop. What decides it is duration: the LLM reaches the cancel tool
162
+ * a few seconds in at best, so work that finishes before then can't be
163
+ * stopped whatever it costs. Every tool that opts in also adds a tool for
164
+ * the LLM to weigh. Defaults to false.
165
+ */
166
+ cancellableByLlm?: boolean;
167
+ }
168
+ /** Call-option metadata `toolOptions()` attaches to a handler (internal). */
169
+ export interface ToolOptionsMetadata {
170
+ _pipecatCancelOnInterruption?: boolean;
171
+ _pipecatTimeoutSecs?: number | null;
172
+ _pipecatCancellableByLlm?: boolean;
173
+ }
174
+ /**
175
+ * Configure a handler's call options.
176
+ *
177
+ * This is optional. A handler advertised in an `LLMContext`'s tools — a
178
+ * direct function, or the `handler` a `FunctionSchema` carries — is
179
+ * registered automatically with default call options, so this is only needed
180
+ * when you want to override those defaults. It attaches the options to the
181
+ * handler and returns it unchanged — it does not register anything, so
182
+ * configured handlers can stay at module level.
183
+ *
184
+ * On an `LLMWorker`, use `tool` instead, which applies these same options and
185
+ * additionally marks the method for collection as one of the worker's tools.
186
+ *
187
+ * Can be used with or without options:
188
+ *
189
+ * @example
190
+ * const getWeather = toolOptions(async function get_weather(params, location) { ... });
191
+ * const endCall = toolOptions({ cancelOnInterruption: false, timeoutSecs: 60 })(
192
+ * async function end_call(params, reason) { ... },
193
+ * );
194
+ *
195
+ * @returns The function, unchanged except for pipecat call-option metadata
196
+ * attached under private `_pipecat*` properties (read internally; not part
197
+ * of the public API).
198
+ */
199
+ export declare function toolOptions<F extends object>(fn: F, options?: ToolOptions): F & ToolOptionsMetadata;
200
+ export declare function toolOptions(options?: ToolOptions): <F extends object>(fn: F) => F & ToolOptionsMetadata;
201
+ export {};
202
+ //# sourceMappingURL=direct_function.d.ts.map
@@ -0,0 +1,302 @@
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/adapters/schemas/direct_function.py
6
+ import { FunctionSchema } from "./function_schema.js";
7
+ /**
8
+ * Parse a function's parameter list from its source: names, and whether each
9
+ * has a default value. Skips strings, template literals, comments and nested
10
+ * brackets in default values.
11
+ */
12
+ function parseParameters(fn) {
13
+ const src = Function.prototype.toString.call(fn);
14
+ // `async x => ...` (single parameter, no parentheses).
15
+ const single = /^\s*async\s+([A-Za-z_$][\w$]*)\s*=>/.exec(src);
16
+ if (single) {
17
+ return [{ name: single[1], hasDefault: false }];
18
+ }
19
+ const open = src.indexOf("(");
20
+ if (open < 0)
21
+ return [];
22
+ const parts = [];
23
+ let current = "";
24
+ let depth = 0;
25
+ let i = open + 1;
26
+ for (; i < src.length; i++) {
27
+ const ch = src[i];
28
+ const next = src[i + 1];
29
+ if (ch === "/" && next === "/") {
30
+ const end = src.indexOf("\n", i);
31
+ i = end < 0 ? src.length : end;
32
+ continue;
33
+ }
34
+ if (ch === "/" && next === "*") {
35
+ const end = src.indexOf("*/", i + 2);
36
+ i = end < 0 ? src.length : end + 1;
37
+ continue;
38
+ }
39
+ if (ch === '"' || ch === "'" || ch === "`") {
40
+ let j = i + 1;
41
+ while (j < src.length && src[j] !== ch) {
42
+ if (src[j] === "\\")
43
+ j++;
44
+ j++;
45
+ }
46
+ current += src.slice(i, j + 1);
47
+ i = j;
48
+ continue;
49
+ }
50
+ if (ch === "(" || ch === "[" || ch === "{")
51
+ depth++;
52
+ if (ch === ")" || ch === "]" || ch === "}") {
53
+ if (depth === 0)
54
+ break;
55
+ depth--;
56
+ }
57
+ if (ch === "," && depth === 0) {
58
+ parts.push(current);
59
+ current = "";
60
+ continue;
61
+ }
62
+ current += ch;
63
+ }
64
+ if (current.trim())
65
+ parts.push(current);
66
+ return parts
67
+ .map((part) => part.trim())
68
+ .filter((part) => part.length > 0)
69
+ .map((part) => {
70
+ // A top-level "=" (not "=>", "==") marks a default value.
71
+ let d = 0;
72
+ let eq = -1;
73
+ for (let k = 0; k < part.length; k++) {
74
+ const c = part[k];
75
+ if (c === "(" || c === "[" || c === "{")
76
+ d++;
77
+ else if (c === ")" || c === "]" || c === "}")
78
+ d--;
79
+ else if (c === "=" && d === 0 && part[k + 1] !== ">" && part[k + 1] !== "=") {
80
+ eq = k;
81
+ break;
82
+ }
83
+ }
84
+ const rawName = (eq >= 0 ? part.slice(0, eq) : part).trim().replace(/^\.\.\./, "");
85
+ return { name: rawName, hasDefault: eq >= 0 };
86
+ });
87
+ }
88
+ function isAsyncFunction(fn) {
89
+ return typeof fn === "function" && fn.constructor?.name === "AsyncFunction";
90
+ }
91
+ /**
92
+ * Base class for a wrapper around a DirectFunction.
93
+ *
94
+ * Provides functionality to:
95
+ *
96
+ * - extract metadata from the function signature and attached metadata
97
+ * - use that metadata to generate a corresponding FunctionSchema
98
+ */
99
+ export class BaseDirectFunctionWrapper {
100
+ function;
101
+ name;
102
+ description;
103
+ properties;
104
+ required;
105
+ /**
106
+ * Initialize the direct function wrapper.
107
+ *
108
+ * @param fn The function to wrap and extract metadata from.
109
+ */
110
+ constructor(fn) {
111
+ this.constructor.validateFunction(fn);
112
+ this.function = fn;
113
+ this._initializeMetadata();
114
+ }
115
+ /**
116
+ * Get the name of the special first function parameter.
117
+ *
118
+ * The special first parameter is ignored by metadata extraction as it's not
119
+ * relevant to the LLM (e.g., 'params' for FunctionCallParams).
120
+ *
121
+ * @returns The name of the special first parameter.
122
+ */
123
+ static specialFirstParamName() {
124
+ throw new Error("Subclasses must define the special first parameter name.");
125
+ }
126
+ /**
127
+ * Validate that the function meets direct function requirements.
128
+ *
129
+ * @param fn The function to validate.
130
+ * @throws Error if function doesn't meet requirements (not async, missing
131
+ * parameters, incorrect first parameter name).
132
+ */
133
+ static validateFunction(fn) {
134
+ if (!isAsyncFunction(fn)) {
135
+ throw new Error(`Direct function ${fn.name} must be async`);
136
+ }
137
+ const params = parseParameters(fn);
138
+ // `this` is the class validating (like Python's `cls`), so subclasses
139
+ // supply their own special first parameter name.
140
+ // biome-ignore lint/complexity/noThisInStatic: classmethod semantics.
141
+ const specialFirstParamName = this.specialFirstParamName();
142
+ if (params.length === 0) {
143
+ throw new Error(`Direct function ${fn.name} must have at least one parameter (${specialFirstParamName})`);
144
+ }
145
+ const firstParamName = params[0].name;
146
+ if (firstParamName !== specialFirstParamName) {
147
+ throw new Error(`Direct function ${fn.name} first parameter must be named '${specialFirstParamName}'`);
148
+ }
149
+ }
150
+ /**
151
+ * Convert the wrapped function to a FunctionSchema.
152
+ *
153
+ * @returns A FunctionSchema instance with extracted metadata.
154
+ */
155
+ toFunctionSchema() {
156
+ return new FunctionSchema({
157
+ name: this.name,
158
+ description: this.description,
159
+ properties: this.properties,
160
+ required: this.required,
161
+ });
162
+ }
163
+ /** Initialize metadata from function signature and attached metadata. */
164
+ _initializeMetadata() {
165
+ // Get function name
166
+ this.name = this.function.name;
167
+ // Get function description
168
+ this.description = (this.function.description ?? "").trim();
169
+ // Get function parameters as JSON schemas, and the list of required parameters
170
+ [this.properties, this.required] = this._getParametersAsJsonschema(this.function);
171
+ }
172
+ /** Names of the parameters after the special first one, in order. */
173
+ _argumentNames() {
174
+ return parseParameters(this.function)
175
+ .slice(1)
176
+ .map((p) => p.name)
177
+ .filter((name) => name !== "self");
178
+ }
179
+ /**
180
+ * Get function parameters as an object of JSON schemas and a list of
181
+ * required parameters.
182
+ *
183
+ * Ignore the first parameter, as it's expected to be the "special" one.
184
+ *
185
+ * @param func Function to get parameters from.
186
+ * @returns A tuple of an object mapping each function parameter to its JSON
187
+ * schema, and a list of required parameter names.
188
+ */
189
+ _getParametersAsJsonschema(func) {
190
+ const properties = {};
191
+ const required = [];
192
+ const hints = func.parameters ?? {};
193
+ const params = parseParameters(func);
194
+ for (let i = 0; i < params.length; i++) {
195
+ const { name, hasDefault } = params[i];
196
+ // Ignore 'self' parameter
197
+ if (name === "self")
198
+ continue;
199
+ // Ignore the first parameter, which is expected to be the "special" one
200
+ // (We have already validated that this is the case in validateFunction())
201
+ if (i === 0)
202
+ continue;
203
+ const typeHint = Object.hasOwn(hints, name) ? hints[name] : undefined;
204
+ // Convert type hint to JSON schema
205
+ properties[name] = this._typehintToJsonschema(typeHint);
206
+ // Add whether the parameter is required
207
+ // If the parameter has no default value, it's required
208
+ if (!hasDefault) {
209
+ required.push(name);
210
+ }
211
+ }
212
+ return [properties, required];
213
+ }
214
+ /**
215
+ * Convert a type hint to a JSON Schema.
216
+ *
217
+ * @param typeHint A JSON schema, a JS constructor, `null`, or an array of
218
+ * those (a union).
219
+ * @returns An object representing the JSON Schema
220
+ */
221
+ _typehintToJsonschema(typeHint) {
222
+ if (typeHint === undefined) {
223
+ return {};
224
+ }
225
+ // Handle basic types
226
+ if (typeHint === null)
227
+ return { type: "null" };
228
+ if (typeHint === String)
229
+ return { type: "string" };
230
+ if (typeHint === BigInt)
231
+ return { type: "integer" };
232
+ if (typeHint === Number)
233
+ return { type: "number" };
234
+ if (typeHint === Boolean)
235
+ return { type: "boolean" };
236
+ if (typeHint === Object)
237
+ return { type: "object" };
238
+ if (typeHint === Array)
239
+ return { type: "array" };
240
+ // Handle union types
241
+ if (Array.isArray(typeHint)) {
242
+ return { anyOf: typeHint.map((arg) => this._typehintToJsonschema(arg)) };
243
+ }
244
+ // A JSON schema given directly (copied, so the caller's object isn't shared)
245
+ if (typeof typeHint === "object") {
246
+ return structuredClone(typeHint);
247
+ }
248
+ // Default to any type if we can't determine the specific schema
249
+ return {};
250
+ }
251
+ }
252
+ /**
253
+ * Wrapper around a DirectFunction for LLM function calling.
254
+ *
255
+ * This class:
256
+ *
257
+ * - Extracts metadata from the function signature and attached metadata
258
+ * - Generates a corresponding FunctionSchema
259
+ * - Helps with function invocation
260
+ */
261
+ export class DirectFunctionWrapper extends BaseDirectFunctionWrapper {
262
+ /**
263
+ * Get the special first parameter name for direct functions.
264
+ *
265
+ * @returns The string "params" which is expected as the first parameter.
266
+ */
267
+ static specialFirstParamName() {
268
+ return "params";
269
+ }
270
+ /**
271
+ * Invoke the wrapped function with the provided arguments.
272
+ *
273
+ * Arguments are matched to the function's parameters by name, like
274
+ * Python's `function(params=params, **args)`.
275
+ *
276
+ * @param args Arguments to pass to the function.
277
+ * @param params Function call parameters from the LLM service.
278
+ * @returns The result of the function call.
279
+ */
280
+ async invoke(args, params) {
281
+ const positional = this._argumentNames().map((name) => args[name]);
282
+ return await this.function(params, ...positional);
283
+ }
284
+ }
285
+ export function toolOptions(fnOrOptions, maybeOptions) {
286
+ const options = typeof fnOrOptions === "function" ? (maybeOptions ?? {}) : (fnOrOptions ?? {});
287
+ const cancelOnInterruption = options.cancelOnInterruption ?? true;
288
+ const timeoutSecs = options.timeoutSecs ?? null;
289
+ const cancellableByLlm = options.cancellableByLlm ?? false;
290
+ const decorator = (fn) => {
291
+ const target = fn;
292
+ target._pipecatCancelOnInterruption = cancelOnInterruption;
293
+ target._pipecatTimeoutSecs = timeoutSecs;
294
+ target._pipecatCancellableByLlm = cancellableByLlm;
295
+ return target;
296
+ };
297
+ if (typeof fnOrOptions === "function") {
298
+ return decorator(fnOrOptions);
299
+ }
300
+ return decorator;
301
+ }
302
+ //# sourceMappingURL=direct_function.js.map
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Function schema utilities for AI tool definitions.
3
+ *
4
+ * Provides standardized function schema representation for defining tools and
5
+ * functions used with AI models, ensuring consistent formatting across
6
+ * different AI service providers.
7
+ */
8
+ import type { FunctionCallHandler } from "../../services/llm_service.ts";
9
+ export interface FunctionSchemaOptions {
10
+ /** Name of the function to be called. */
11
+ name: string;
12
+ /** Description of what the function does. */
13
+ description: string;
14
+ /** Object defining parameter types, descriptions, and constraints. */
15
+ properties: Record<string, unknown>;
16
+ /** List of property names that are required parameters. */
17
+ required: string[];
18
+ /**
19
+ * Optional handler for this function. When provided, the LLM service
20
+ * registers it automatically wherever the schema is advertised in the
21
+ * `LLMContext`, making a separate `registerFunction` call unnecessary. Wrap
22
+ * the handler with `toolOptions` to override its default call options
23
+ * (`cancelOnInterruption`, `timeoutSecs`).
24
+ */
25
+ handler?: FunctionCallHandler | null;
26
+ }
27
+ /**
28
+ * Standardized function schema representation for tool definition.
29
+ *
30
+ * Provides a structured way to define function tools used with AI models like
31
+ * OpenAI. This schema defines the function's name, description, parameter
32
+ * properties, and required parameters, following specifications required by
33
+ * AI service providers.
34
+ *
35
+ * A schema may also carry the `handler` that runs when the function is
36
+ * called. When set, the LLM service registers it automatically for any
37
+ * `LLMContext` that advertises the schema, so no separate `registerFunction`
38
+ * call is needed.
39
+ */
40
+ export declare class FunctionSchema {
41
+ protected _name: string;
42
+ protected _description: string;
43
+ protected _properties: Record<string, unknown>;
44
+ protected _required: string[];
45
+ protected _handler: FunctionCallHandler | null;
46
+ constructor(options: FunctionSchemaOptions);
47
+ /**
48
+ * Converts the function schema to a plain object.
49
+ *
50
+ * @returns Object representation of the function schema.
51
+ */
52
+ toDefaultDict(): Record<string, unknown>;
53
+ /** The function name. */
54
+ get name(): string;
55
+ /** The function description. */
56
+ get description(): string;
57
+ /** Object of parameter specifications. */
58
+ get properties(): Record<string, unknown>;
59
+ /** List of required parameter names. */
60
+ get required(): string[];
61
+ /**
62
+ * The handler for this function, or `null` if it's provided separately,
63
+ * through `registerFunction`.
64
+ */
65
+ get handler(): FunctionCallHandler | null;
66
+ }
67
+ //# sourceMappingURL=function_schema.d.ts.map
@@ -0,0 +1,72 @@
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/adapters/schemas/function_schema.py
6
+ /**
7
+ * Standardized function schema representation for tool definition.
8
+ *
9
+ * Provides a structured way to define function tools used with AI models like
10
+ * OpenAI. This schema defines the function's name, description, parameter
11
+ * properties, and required parameters, following specifications required by
12
+ * AI service providers.
13
+ *
14
+ * A schema may also carry the `handler` that runs when the function is
15
+ * called. When set, the LLM service registers it automatically for any
16
+ * `LLMContext` that advertises the schema, so no separate `registerFunction`
17
+ * call is needed.
18
+ */
19
+ export class FunctionSchema {
20
+ _name;
21
+ _description;
22
+ _properties;
23
+ _required;
24
+ _handler;
25
+ constructor(options) {
26
+ this._name = options.name;
27
+ this._description = options.description;
28
+ this._properties = options.properties;
29
+ this._required = options.required;
30
+ this._handler = options.handler ?? null;
31
+ }
32
+ /**
33
+ * Converts the function schema to a plain object.
34
+ *
35
+ * @returns Object representation of the function schema.
36
+ */
37
+ toDefaultDict() {
38
+ return {
39
+ name: this._name,
40
+ description: this._description,
41
+ parameters: {
42
+ type: "object",
43
+ properties: this._properties,
44
+ required: this._required,
45
+ },
46
+ };
47
+ }
48
+ /** The function name. */
49
+ get name() {
50
+ return this._name;
51
+ }
52
+ /** The function description. */
53
+ get description() {
54
+ return this._description;
55
+ }
56
+ /** Object of parameter specifications. */
57
+ get properties() {
58
+ return this._properties;
59
+ }
60
+ /** List of required parameter names. */
61
+ get required() {
62
+ return this._required;
63
+ }
64
+ /**
65
+ * The handler for this function, or `null` if it's provided separately,
66
+ * through `registerFunction`.
67
+ */
68
+ get handler() {
69
+ return this._handler;
70
+ }
71
+ }
72
+ //# sourceMappingURL=function_schema.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/adapters/schemas/__init__.py
6
+ // Upstream's `__init__.py` is empty: import the package's modules directly.
7
+ export {};
8
+ //# sourceMappingURL=index.js.map