@livekit/agents 1.0.47 → 1.1.0-dev.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 (444) hide show
  1. package/dist/beta/index.cjs +29 -0
  2. package/dist/beta/index.cjs.map +1 -0
  3. package/dist/beta/index.d.cts +2 -0
  4. package/dist/beta/index.d.ts +2 -0
  5. package/dist/beta/index.d.ts.map +1 -0
  6. package/dist/beta/index.js +7 -0
  7. package/dist/beta/index.js.map +1 -0
  8. package/dist/beta/workflows/index.cjs +29 -0
  9. package/dist/beta/workflows/index.cjs.map +1 -0
  10. package/dist/beta/workflows/index.d.cts +2 -0
  11. package/dist/beta/workflows/index.d.ts +2 -0
  12. package/dist/beta/workflows/index.d.ts.map +1 -0
  13. package/dist/beta/workflows/index.js +7 -0
  14. package/dist/beta/workflows/index.js.map +1 -0
  15. package/dist/beta/workflows/task_group.cjs +162 -0
  16. package/dist/beta/workflows/task_group.cjs.map +1 -0
  17. package/dist/beta/workflows/task_group.d.cts +32 -0
  18. package/dist/beta/workflows/task_group.d.ts +32 -0
  19. package/dist/beta/workflows/task_group.d.ts.map +1 -0
  20. package/dist/beta/workflows/task_group.js +138 -0
  21. package/dist/beta/workflows/task_group.js.map +1 -0
  22. package/dist/constants.cjs +27 -0
  23. package/dist/constants.cjs.map +1 -1
  24. package/dist/constants.d.cts +9 -0
  25. package/dist/constants.d.ts +9 -0
  26. package/dist/constants.d.ts.map +1 -1
  27. package/dist/constants.js +18 -0
  28. package/dist/constants.js.map +1 -1
  29. package/dist/index.cjs +3 -0
  30. package/dist/index.cjs.map +1 -1
  31. package/dist/index.d.cts +2 -1
  32. package/dist/index.d.ts +2 -1
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +2 -0
  35. package/dist/index.js.map +1 -1
  36. package/dist/inference/api_protos.d.cts +12 -12
  37. package/dist/inference/api_protos.d.ts +12 -12
  38. package/dist/inference/interruption/defaults.cjs +81 -0
  39. package/dist/inference/interruption/defaults.cjs.map +1 -0
  40. package/dist/inference/interruption/defaults.d.cts +19 -0
  41. package/dist/inference/interruption/defaults.d.ts +19 -0
  42. package/dist/inference/interruption/defaults.d.ts.map +1 -0
  43. package/dist/inference/interruption/defaults.js +46 -0
  44. package/dist/inference/interruption/defaults.js.map +1 -0
  45. package/dist/inference/interruption/errors.cjs +44 -0
  46. package/dist/inference/interruption/errors.cjs.map +1 -0
  47. package/dist/inference/interruption/errors.d.cts +12 -0
  48. package/dist/inference/interruption/errors.d.ts +12 -0
  49. package/dist/inference/interruption/errors.d.ts.map +1 -0
  50. package/dist/inference/interruption/errors.js +20 -0
  51. package/dist/inference/interruption/errors.js.map +1 -0
  52. package/dist/inference/interruption/http_transport.cjs +147 -0
  53. package/dist/inference/interruption/http_transport.cjs.map +1 -0
  54. package/dist/inference/interruption/http_transport.d.cts +63 -0
  55. package/dist/inference/interruption/http_transport.d.ts +63 -0
  56. package/dist/inference/interruption/http_transport.d.ts.map +1 -0
  57. package/dist/inference/interruption/http_transport.js +121 -0
  58. package/dist/inference/interruption/http_transport.js.map +1 -0
  59. package/dist/inference/interruption/interruption_cache_entry.cjs +58 -0
  60. package/dist/inference/interruption/interruption_cache_entry.cjs.map +1 -0
  61. package/dist/inference/interruption/interruption_cache_entry.d.cts +30 -0
  62. package/dist/inference/interruption/interruption_cache_entry.d.ts +30 -0
  63. package/dist/inference/interruption/interruption_cache_entry.d.ts.map +1 -0
  64. package/dist/inference/interruption/interruption_cache_entry.js +34 -0
  65. package/dist/inference/interruption/interruption_cache_entry.js.map +1 -0
  66. package/dist/inference/interruption/interruption_detector.cjs +181 -0
  67. package/dist/inference/interruption/interruption_detector.cjs.map +1 -0
  68. package/dist/inference/interruption/interruption_detector.d.cts +59 -0
  69. package/dist/inference/interruption/interruption_detector.d.ts +59 -0
  70. package/dist/inference/interruption/interruption_detector.d.ts.map +1 -0
  71. package/dist/inference/interruption/interruption_detector.js +147 -0
  72. package/dist/inference/interruption/interruption_detector.js.map +1 -0
  73. package/dist/inference/interruption/interruption_stream.cjs +368 -0
  74. package/dist/inference/interruption/interruption_stream.cjs.map +1 -0
  75. package/dist/inference/interruption/interruption_stream.d.cts +46 -0
  76. package/dist/inference/interruption/interruption_stream.d.ts +46 -0
  77. package/dist/inference/interruption/interruption_stream.d.ts.map +1 -0
  78. package/dist/inference/interruption/interruption_stream.js +344 -0
  79. package/dist/inference/interruption/interruption_stream.js.map +1 -0
  80. package/dist/inference/interruption/types.cjs +17 -0
  81. package/dist/inference/interruption/types.cjs.map +1 -0
  82. package/dist/inference/interruption/types.d.cts +66 -0
  83. package/dist/inference/interruption/types.d.ts +66 -0
  84. package/dist/inference/interruption/types.d.ts.map +1 -0
  85. package/dist/inference/interruption/types.js +1 -0
  86. package/dist/inference/interruption/types.js.map +1 -0
  87. package/dist/inference/interruption/utils.cjs +130 -0
  88. package/dist/inference/interruption/utils.cjs.map +1 -0
  89. package/dist/inference/interruption/utils.d.cts +41 -0
  90. package/dist/inference/interruption/utils.d.ts +41 -0
  91. package/dist/inference/interruption/utils.d.ts.map +1 -0
  92. package/dist/inference/interruption/utils.js +105 -0
  93. package/dist/inference/interruption/utils.js.map +1 -0
  94. package/dist/inference/interruption/utils.test.cjs +105 -0
  95. package/dist/inference/interruption/utils.test.cjs.map +1 -0
  96. package/dist/inference/interruption/utils.test.js +104 -0
  97. package/dist/inference/interruption/utils.test.js.map +1 -0
  98. package/dist/inference/interruption/ws_transport.cjs +329 -0
  99. package/dist/inference/interruption/ws_transport.cjs.map +1 -0
  100. package/dist/inference/interruption/ws_transport.d.cts +33 -0
  101. package/dist/inference/interruption/ws_transport.d.ts +33 -0
  102. package/dist/inference/interruption/ws_transport.d.ts.map +1 -0
  103. package/dist/inference/interruption/ws_transport.js +295 -0
  104. package/dist/inference/interruption/ws_transport.js.map +1 -0
  105. package/dist/inference/llm.cjs +14 -10
  106. package/dist/inference/llm.cjs.map +1 -1
  107. package/dist/inference/llm.d.cts +2 -1
  108. package/dist/inference/llm.d.ts +2 -1
  109. package/dist/inference/llm.d.ts.map +1 -1
  110. package/dist/inference/llm.js +8 -10
  111. package/dist/inference/llm.js.map +1 -1
  112. package/dist/inference/stt.cjs +7 -2
  113. package/dist/inference/stt.cjs.map +1 -1
  114. package/dist/inference/stt.d.cts +2 -0
  115. package/dist/inference/stt.d.ts +2 -0
  116. package/dist/inference/stt.d.ts.map +1 -1
  117. package/dist/inference/stt.js +8 -3
  118. package/dist/inference/stt.js.map +1 -1
  119. package/dist/inference/tts.cjs +7 -2
  120. package/dist/inference/tts.cjs.map +1 -1
  121. package/dist/inference/tts.d.cts +2 -0
  122. package/dist/inference/tts.d.ts +2 -0
  123. package/dist/inference/tts.d.ts.map +1 -1
  124. package/dist/inference/tts.js +8 -3
  125. package/dist/inference/tts.js.map +1 -1
  126. package/dist/inference/utils.cjs +26 -7
  127. package/dist/inference/utils.cjs.map +1 -1
  128. package/dist/inference/utils.d.cts +13 -0
  129. package/dist/inference/utils.d.ts +13 -0
  130. package/dist/inference/utils.d.ts.map +1 -1
  131. package/dist/inference/utils.js +18 -2
  132. package/dist/inference/utils.js.map +1 -1
  133. package/dist/llm/chat_context.cjs +108 -2
  134. package/dist/llm/chat_context.cjs.map +1 -1
  135. package/dist/llm/chat_context.d.cts +28 -1
  136. package/dist/llm/chat_context.d.ts +28 -1
  137. package/dist/llm/chat_context.d.ts.map +1 -1
  138. package/dist/llm/chat_context.js +108 -2
  139. package/dist/llm/chat_context.js.map +1 -1
  140. package/dist/llm/chat_context.test.cjs +43 -0
  141. package/dist/llm/chat_context.test.cjs.map +1 -1
  142. package/dist/llm/chat_context.test.js +43 -0
  143. package/dist/llm/chat_context.test.js.map +1 -1
  144. package/dist/llm/index.cjs +2 -0
  145. package/dist/llm/index.cjs.map +1 -1
  146. package/dist/llm/index.d.cts +2 -2
  147. package/dist/llm/index.d.ts +2 -2
  148. package/dist/llm/index.d.ts.map +1 -1
  149. package/dist/llm/index.js +3 -1
  150. package/dist/llm/index.js.map +1 -1
  151. package/dist/llm/llm.cjs +16 -1
  152. package/dist/llm/llm.cjs.map +1 -1
  153. package/dist/llm/llm.d.cts +9 -0
  154. package/dist/llm/llm.d.ts +9 -0
  155. package/dist/llm/llm.d.ts.map +1 -1
  156. package/dist/llm/llm.js +16 -1
  157. package/dist/llm/llm.js.map +1 -1
  158. package/dist/llm/provider_format/index.d.cts +1 -1
  159. package/dist/llm/provider_format/index.d.ts +1 -1
  160. package/dist/llm/realtime.cjs +3 -0
  161. package/dist/llm/realtime.cjs.map +1 -1
  162. package/dist/llm/realtime.d.cts +1 -0
  163. package/dist/llm/realtime.d.ts +1 -0
  164. package/dist/llm/realtime.d.ts.map +1 -1
  165. package/dist/llm/realtime.js +3 -0
  166. package/dist/llm/realtime.js.map +1 -1
  167. package/dist/llm/tool_context.cjs +7 -0
  168. package/dist/llm/tool_context.cjs.map +1 -1
  169. package/dist/llm/tool_context.d.cts +10 -2
  170. package/dist/llm/tool_context.d.ts +10 -2
  171. package/dist/llm/tool_context.d.ts.map +1 -1
  172. package/dist/llm/tool_context.js +6 -0
  173. package/dist/llm/tool_context.js.map +1 -1
  174. package/dist/metrics/base.cjs.map +1 -1
  175. package/dist/metrics/base.d.cts +45 -1
  176. package/dist/metrics/base.d.ts +45 -1
  177. package/dist/metrics/base.d.ts.map +1 -1
  178. package/dist/metrics/index.cjs +5 -0
  179. package/dist/metrics/index.cjs.map +1 -1
  180. package/dist/metrics/index.d.cts +2 -1
  181. package/dist/metrics/index.d.ts +2 -1
  182. package/dist/metrics/index.d.ts.map +1 -1
  183. package/dist/metrics/index.js +6 -0
  184. package/dist/metrics/index.js.map +1 -1
  185. package/dist/metrics/model_usage.cjs +189 -0
  186. package/dist/metrics/model_usage.cjs.map +1 -0
  187. package/dist/metrics/model_usage.d.cts +92 -0
  188. package/dist/metrics/model_usage.d.ts +92 -0
  189. package/dist/metrics/model_usage.d.ts.map +1 -0
  190. package/dist/metrics/model_usage.js +164 -0
  191. package/dist/metrics/model_usage.js.map +1 -0
  192. package/dist/metrics/model_usage.test.cjs +474 -0
  193. package/dist/metrics/model_usage.test.cjs.map +1 -0
  194. package/dist/metrics/model_usage.test.js +476 -0
  195. package/dist/metrics/model_usage.test.js.map +1 -0
  196. package/dist/metrics/usage_collector.cjs +3 -0
  197. package/dist/metrics/usage_collector.cjs.map +1 -1
  198. package/dist/metrics/usage_collector.d.cts +9 -0
  199. package/dist/metrics/usage_collector.d.ts +9 -0
  200. package/dist/metrics/usage_collector.d.ts.map +1 -1
  201. package/dist/metrics/usage_collector.js +3 -0
  202. package/dist/metrics/usage_collector.js.map +1 -1
  203. package/dist/metrics/utils.cjs +9 -0
  204. package/dist/metrics/utils.cjs.map +1 -1
  205. package/dist/metrics/utils.d.ts.map +1 -1
  206. package/dist/metrics/utils.js +9 -0
  207. package/dist/metrics/utils.js.map +1 -1
  208. package/dist/stream/multi_input_stream.test.cjs +4 -0
  209. package/dist/stream/multi_input_stream.test.cjs.map +1 -1
  210. package/dist/stream/multi_input_stream.test.js +5 -1
  211. package/dist/stream/multi_input_stream.test.js.map +1 -1
  212. package/dist/stream/stream_channel.cjs +31 -0
  213. package/dist/stream/stream_channel.cjs.map +1 -1
  214. package/dist/stream/stream_channel.d.cts +4 -2
  215. package/dist/stream/stream_channel.d.ts +4 -2
  216. package/dist/stream/stream_channel.d.ts.map +1 -1
  217. package/dist/stream/stream_channel.js +31 -0
  218. package/dist/stream/stream_channel.js.map +1 -1
  219. package/dist/stt/stt.cjs +34 -2
  220. package/dist/stt/stt.cjs.map +1 -1
  221. package/dist/stt/stt.d.cts +22 -0
  222. package/dist/stt/stt.d.ts +22 -0
  223. package/dist/stt/stt.d.ts.map +1 -1
  224. package/dist/stt/stt.js +34 -2
  225. package/dist/stt/stt.js.map +1 -1
  226. package/dist/telemetry/otel_http_exporter.cjs +24 -5
  227. package/dist/telemetry/otel_http_exporter.cjs.map +1 -1
  228. package/dist/telemetry/otel_http_exporter.d.cts +1 -0
  229. package/dist/telemetry/otel_http_exporter.d.ts +1 -0
  230. package/dist/telemetry/otel_http_exporter.d.ts.map +1 -1
  231. package/dist/telemetry/otel_http_exporter.js +24 -5
  232. package/dist/telemetry/otel_http_exporter.js.map +1 -1
  233. package/dist/telemetry/trace_types.cjs +5 -5
  234. package/dist/telemetry/trace_types.cjs.map +1 -1
  235. package/dist/telemetry/trace_types.d.cts +9 -5
  236. package/dist/telemetry/trace_types.d.ts +9 -5
  237. package/dist/telemetry/trace_types.d.ts.map +1 -1
  238. package/dist/telemetry/trace_types.js +5 -5
  239. package/dist/telemetry/trace_types.js.map +1 -1
  240. package/dist/telemetry/traces.cjs +47 -8
  241. package/dist/telemetry/traces.cjs.map +1 -1
  242. package/dist/telemetry/traces.d.ts.map +1 -1
  243. package/dist/telemetry/traces.js +47 -8
  244. package/dist/telemetry/traces.js.map +1 -1
  245. package/dist/tts/tts.cjs +64 -2
  246. package/dist/tts/tts.cjs.map +1 -1
  247. package/dist/tts/tts.d.cts +34 -0
  248. package/dist/tts/tts.d.ts +34 -0
  249. package/dist/tts/tts.d.ts.map +1 -1
  250. package/dist/tts/tts.js +64 -2
  251. package/dist/tts/tts.js.map +1 -1
  252. package/dist/utils.cjs +1 -0
  253. package/dist/utils.cjs.map +1 -1
  254. package/dist/utils.d.ts.map +1 -1
  255. package/dist/utils.js +1 -0
  256. package/dist/utils.js.map +1 -1
  257. package/dist/version.cjs +1 -1
  258. package/dist/version.js +1 -1
  259. package/dist/voice/agent.cjs +34 -4
  260. package/dist/voice/agent.cjs.map +1 -1
  261. package/dist/voice/agent.d.cts +11 -2
  262. package/dist/voice/agent.d.ts +11 -2
  263. package/dist/voice/agent.d.ts.map +1 -1
  264. package/dist/voice/agent.js +34 -4
  265. package/dist/voice/agent.js.map +1 -1
  266. package/dist/voice/agent_activity.cjs +292 -44
  267. package/dist/voice/agent_activity.cjs.map +1 -1
  268. package/dist/voice/agent_activity.d.cts +27 -6
  269. package/dist/voice/agent_activity.d.ts +27 -6
  270. package/dist/voice/agent_activity.d.ts.map +1 -1
  271. package/dist/voice/agent_activity.js +293 -45
  272. package/dist/voice/agent_activity.js.map +1 -1
  273. package/dist/voice/agent_session.cjs +105 -48
  274. package/dist/voice/agent_session.cjs.map +1 -1
  275. package/dist/voice/agent_session.d.cts +90 -20
  276. package/dist/voice/agent_session.d.ts +90 -20
  277. package/dist/voice/agent_session.d.ts.map +1 -1
  278. package/dist/voice/agent_session.js +105 -46
  279. package/dist/voice/agent_session.js.map +1 -1
  280. package/dist/voice/audio_recognition.cjs +287 -6
  281. package/dist/voice/audio_recognition.cjs.map +1 -1
  282. package/dist/voice/audio_recognition.d.cts +42 -3
  283. package/dist/voice/audio_recognition.d.ts +42 -3
  284. package/dist/voice/audio_recognition.d.ts.map +1 -1
  285. package/dist/voice/audio_recognition.js +289 -7
  286. package/dist/voice/audio_recognition.js.map +1 -1
  287. package/dist/voice/client_events.cjs +554 -0
  288. package/dist/voice/client_events.cjs.map +1 -0
  289. package/dist/voice/client_events.d.cts +195 -0
  290. package/dist/voice/client_events.d.ts +195 -0
  291. package/dist/voice/client_events.d.ts.map +1 -0
  292. package/dist/voice/client_events.js +548 -0
  293. package/dist/voice/client_events.js.map +1 -0
  294. package/dist/voice/events.cjs +1 -0
  295. package/dist/voice/events.cjs.map +1 -1
  296. package/dist/voice/events.d.cts +8 -5
  297. package/dist/voice/events.d.ts +8 -5
  298. package/dist/voice/events.d.ts.map +1 -1
  299. package/dist/voice/events.js +1 -0
  300. package/dist/voice/events.js.map +1 -1
  301. package/dist/voice/generation.cjs +43 -8
  302. package/dist/voice/generation.cjs.map +1 -1
  303. package/dist/voice/generation.d.cts +3 -3
  304. package/dist/voice/generation.d.ts +3 -3
  305. package/dist/voice/generation.d.ts.map +1 -1
  306. package/dist/voice/generation.js +43 -8
  307. package/dist/voice/generation.js.map +1 -1
  308. package/dist/voice/index.cjs +1 -0
  309. package/dist/voice/index.cjs.map +1 -1
  310. package/dist/voice/index.d.cts +1 -0
  311. package/dist/voice/index.d.ts +1 -0
  312. package/dist/voice/index.d.ts.map +1 -1
  313. package/dist/voice/index.js +1 -0
  314. package/dist/voice/index.js.map +1 -1
  315. package/dist/voice/report.cjs +20 -8
  316. package/dist/voice/report.cjs.map +1 -1
  317. package/dist/voice/report.d.cts +5 -0
  318. package/dist/voice/report.d.ts +5 -0
  319. package/dist/voice/report.d.ts.map +1 -1
  320. package/dist/voice/report.js +20 -8
  321. package/dist/voice/report.js.map +1 -1
  322. package/dist/voice/report.test.cjs +106 -0
  323. package/dist/voice/report.test.cjs.map +1 -0
  324. package/dist/voice/report.test.js +105 -0
  325. package/dist/voice/report.test.js.map +1 -0
  326. package/dist/voice/room_io/room_io.cjs +16 -41
  327. package/dist/voice/room_io/room_io.cjs.map +1 -1
  328. package/dist/voice/room_io/room_io.d.cts +4 -9
  329. package/dist/voice/room_io/room_io.d.ts +4 -9
  330. package/dist/voice/room_io/room_io.d.ts.map +1 -1
  331. package/dist/voice/room_io/room_io.js +17 -43
  332. package/dist/voice/room_io/room_io.js.map +1 -1
  333. package/dist/voice/testing/fake_llm.cjs +127 -0
  334. package/dist/voice/testing/fake_llm.cjs.map +1 -0
  335. package/dist/voice/testing/fake_llm.d.cts +30 -0
  336. package/dist/voice/testing/fake_llm.d.ts +30 -0
  337. package/dist/voice/testing/fake_llm.d.ts.map +1 -0
  338. package/dist/voice/testing/fake_llm.js +103 -0
  339. package/dist/voice/testing/fake_llm.js.map +1 -0
  340. package/dist/voice/testing/index.cjs +3 -0
  341. package/dist/voice/testing/index.cjs.map +1 -1
  342. package/dist/voice/testing/index.d.cts +1 -0
  343. package/dist/voice/testing/index.d.ts +1 -0
  344. package/dist/voice/testing/index.d.ts.map +1 -1
  345. package/dist/voice/testing/index.js +2 -0
  346. package/dist/voice/testing/index.js.map +1 -1
  347. package/dist/voice/turn_config/endpointing.cjs +33 -0
  348. package/dist/voice/turn_config/endpointing.cjs.map +1 -0
  349. package/dist/voice/turn_config/endpointing.d.cts +30 -0
  350. package/dist/voice/turn_config/endpointing.d.ts +30 -0
  351. package/dist/voice/turn_config/endpointing.d.ts.map +1 -0
  352. package/dist/voice/turn_config/endpointing.js +9 -0
  353. package/dist/voice/turn_config/endpointing.js.map +1 -0
  354. package/dist/voice/turn_config/interruption.cjs +37 -0
  355. package/dist/voice/turn_config/interruption.cjs.map +1 -0
  356. package/dist/voice/turn_config/interruption.d.cts +53 -0
  357. package/dist/voice/turn_config/interruption.d.ts +53 -0
  358. package/dist/voice/turn_config/interruption.d.ts.map +1 -0
  359. package/dist/voice/turn_config/interruption.js +13 -0
  360. package/dist/voice/turn_config/interruption.js.map +1 -0
  361. package/dist/voice/turn_config/turn_handling.cjs +35 -0
  362. package/dist/voice/turn_config/turn_handling.cjs.map +1 -0
  363. package/dist/voice/turn_config/turn_handling.d.cts +36 -0
  364. package/dist/voice/turn_config/turn_handling.d.ts +36 -0
  365. package/dist/voice/turn_config/turn_handling.d.ts.map +1 -0
  366. package/dist/voice/turn_config/turn_handling.js +11 -0
  367. package/dist/voice/turn_config/turn_handling.js.map +1 -0
  368. package/dist/voice/turn_config/utils.cjs +97 -0
  369. package/dist/voice/turn_config/utils.cjs.map +1 -0
  370. package/dist/voice/turn_config/utils.d.cts +25 -0
  371. package/dist/voice/turn_config/utils.d.ts +25 -0
  372. package/dist/voice/turn_config/utils.d.ts.map +1 -0
  373. package/dist/voice/turn_config/utils.js +73 -0
  374. package/dist/voice/turn_config/utils.js.map +1 -0
  375. package/dist/voice/turn_config/utils.test.cjs +86 -0
  376. package/dist/voice/turn_config/utils.test.cjs.map +1 -0
  377. package/dist/voice/turn_config/utils.test.js +85 -0
  378. package/dist/voice/turn_config/utils.test.js.map +1 -0
  379. package/dist/voice/wire_format.cjs +798 -0
  380. package/dist/voice/wire_format.cjs.map +1 -0
  381. package/dist/voice/wire_format.d.cts +5503 -0
  382. package/dist/voice/wire_format.d.ts +5503 -0
  383. package/dist/voice/wire_format.d.ts.map +1 -0
  384. package/dist/voice/wire_format.js +728 -0
  385. package/dist/voice/wire_format.js.map +1 -0
  386. package/package.json +2 -1
  387. package/src/beta/index.ts +9 -0
  388. package/src/beta/workflows/index.ts +9 -0
  389. package/src/beta/workflows/task_group.ts +194 -0
  390. package/src/constants.ts +13 -0
  391. package/src/index.ts +2 -1
  392. package/src/inference/interruption/defaults.ts +51 -0
  393. package/src/inference/interruption/errors.ts +25 -0
  394. package/src/inference/interruption/http_transport.ts +187 -0
  395. package/src/inference/interruption/interruption_cache_entry.ts +50 -0
  396. package/src/inference/interruption/interruption_detector.ts +188 -0
  397. package/src/inference/interruption/interruption_stream.ts +467 -0
  398. package/src/inference/interruption/types.ts +84 -0
  399. package/src/inference/interruption/utils.test.ts +132 -0
  400. package/src/inference/interruption/utils.ts +137 -0
  401. package/src/inference/interruption/ws_transport.ts +402 -0
  402. package/src/inference/llm.ts +9 -12
  403. package/src/inference/stt.ts +10 -3
  404. package/src/inference/tts.ts +10 -3
  405. package/src/inference/utils.ts +29 -1
  406. package/src/llm/chat_context.test.ts +48 -0
  407. package/src/llm/chat_context.ts +161 -0
  408. package/src/llm/index.ts +2 -0
  409. package/src/llm/llm.ts +16 -0
  410. package/src/llm/realtime.ts +4 -0
  411. package/src/llm/tool_context.ts +14 -0
  412. package/src/metrics/base.ts +48 -1
  413. package/src/metrics/index.ts +11 -0
  414. package/src/metrics/model_usage.test.ts +545 -0
  415. package/src/metrics/model_usage.ts +262 -0
  416. package/src/metrics/usage_collector.ts +11 -0
  417. package/src/metrics/utils.ts +11 -0
  418. package/src/stream/multi_input_stream.test.ts +6 -1
  419. package/src/stream/stream_channel.ts +34 -2
  420. package/src/stt/stt.ts +38 -0
  421. package/src/telemetry/otel_http_exporter.ts +28 -5
  422. package/src/telemetry/trace_types.ts +11 -8
  423. package/src/telemetry/traces.ts +111 -54
  424. package/src/tts/tts.ts +69 -1
  425. package/src/utils.ts +5 -0
  426. package/src/voice/agent.ts +41 -3
  427. package/src/voice/agent_activity.ts +371 -34
  428. package/src/voice/agent_session.ts +207 -59
  429. package/src/voice/audio_recognition.ts +385 -9
  430. package/src/voice/client_events.ts +838 -0
  431. package/src/voice/events.ts +14 -4
  432. package/src/voice/generation.ts +52 -9
  433. package/src/voice/index.ts +1 -0
  434. package/src/voice/report.test.ts +117 -0
  435. package/src/voice/report.ts +29 -6
  436. package/src/voice/room_io/room_io.ts +21 -64
  437. package/src/voice/testing/fake_llm.ts +138 -0
  438. package/src/voice/testing/index.ts +2 -0
  439. package/src/voice/turn_config/endpointing.ts +33 -0
  440. package/src/voice/turn_config/interruption.ts +56 -0
  441. package/src/voice/turn_config/turn_handling.ts +45 -0
  442. package/src/voice/turn_config/utils.test.ts +100 -0
  443. package/src/voice/turn_config/utils.ts +103 -0
  444. package/src/voice/wire_format.ts +827 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/voice/wire_format.ts"],"sourcesContent":["// SPDX-FileCopyrightText: 2025 LiveKit, Inc.\n//\n// SPDX-License-Identifier: Apache-2.0\n//\n// Explicit wire-format converters that produce the exact JSON shape emitted by\n// Python Pydantic models (snake_case keys, durations in seconds).\n// The agents-playground frontend (types.ts / useClientEvents.ts) consumes this\n// format directly via JSON.parse — any mismatch breaks the UI.\nimport { z } from 'zod';\nimport type {\n AgentHandoffItem,\n AudioContent,\n ChatContent,\n ChatItem,\n ChatMessage,\n FunctionCall,\n FunctionCallOutput,\n ImageContent,\n MetricsReport,\n} from '../llm/chat_context.js';\nimport type {\n AgentMetrics,\n EOUMetrics,\n InterruptionMetrics,\n LLMMetrics,\n MetricsMetadata,\n RealtimeModelMetrics,\n RealtimeModelMetricsCachedTokenDetails,\n RealtimeModelMetricsInputTokenDetails,\n RealtimeModelMetricsOutputTokenDetails,\n STTMetrics,\n TTSMetrics,\n VADMetrics,\n} from '../metrics/base.js';\nimport type {\n InterruptionModelUsage,\n LLMModelUsage,\n ModelUsage,\n STTModelUsage,\n TTSModelUsage,\n} from '../metrics/model_usage.js';\nimport type { AgentSessionUsage } from './agent_session.js';\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\ntype WireObject = Record<string, unknown>;\n\nexport function msToS(ms: number): number {\n return ms / 1000;\n}\n\nfunction omitUndefined(obj: WireObject): WireObject {\n const result: WireObject = {};\n for (const [k, v] of Object.entries(obj)) {\n if (v !== undefined) {\n result[k] = v;\n }\n }\n return result;\n}\n\nfunction imageContentToWire(img: ImageContent): WireObject {\n return omitUndefined({\n id: img.id,\n type: img.type,\n image: typeof img.image === 'string' ? img.image : undefined,\n inference_detail: img.inferenceDetail,\n inference_width: img.inferenceWidth,\n inference_height: img.inferenceHeight,\n mime_type: img.mimeType,\n });\n}\n\nfunction audioContentToWire(audio: AudioContent): WireObject {\n return omitUndefined({\n type: audio.type,\n transcript: audio.transcript,\n });\n}\n\nfunction chatContentToWire(content: ChatContent): unknown {\n if (typeof content === 'string') return content;\n if (content.type === 'image_content') return imageContentToWire(content);\n return audioContentToWire(content);\n}\n\nfunction metricsReportToWire(m: MetricsReport): WireObject {\n return omitUndefined({\n started_speaking_at: m.startedSpeakingAt,\n stopped_speaking_at: m.stoppedSpeakingAt,\n transcription_delay: m.transcriptionDelay,\n end_of_turn_delay: m.endOfTurnDelay,\n on_user_turn_completed_delay: m.onUserTurnCompletedDelay,\n llm_node_ttft: m.llmNodeTtft,\n tts_node_ttfb: m.ttsNodeTtfb,\n e2e_latency: m.e2eLatency,\n });\n}\n\nexport function chatMessageToWire(msg: ChatMessage): WireObject {\n const result: WireObject = {\n id: msg.id,\n type: msg.type,\n role: msg.role,\n content: msg.content.map(chatContentToWire),\n interrupted: msg.interrupted,\n created_at: msToS(msg.createdAt),\n };\n\n if (msg.transcriptConfidence !== undefined) {\n result.transcript_confidence = msg.transcriptConfidence;\n }\n if (Object.keys(msg.metrics).length > 0) {\n result.metrics = metricsReportToWire(msg.metrics);\n }\n if (Object.keys(msg.extra).length > 0) {\n result.extra = msg.extra;\n }\n return result;\n}\n\nexport function functionCallToWire(fc: FunctionCall): WireObject {\n const result: WireObject = {\n id: fc.id,\n type: fc.type,\n call_id: fc.callId,\n arguments: fc.args,\n name: fc.name,\n created_at: msToS(fc.createdAt),\n };\n\n if (Object.keys(fc.extra).length > 0) {\n result.extra = fc.extra;\n }\n if (fc.groupId !== undefined) {\n result.group_id = fc.groupId;\n }\n return result;\n}\n\nexport function functionCallOutputToWire(fco: FunctionCallOutput): WireObject {\n return {\n id: fco.id,\n type: fco.type,\n name: fco.name,\n call_id: fco.callId,\n output: fco.output,\n is_error: fco.isError,\n created_at: msToS(fco.createdAt),\n };\n}\n\nexport function agentHandoffToWire(ah: AgentHandoffItem): WireObject {\n const result: WireObject = {\n id: ah.id,\n type: ah.type,\n new_agent_id: ah.newAgentId,\n created_at: msToS(ah.createdAt),\n };\n if (ah.oldAgentId !== undefined) {\n result.old_agent_id = ah.oldAgentId;\n }\n return result;\n}\n\nexport function chatItemToWire(item: ChatItem): WireObject {\n switch (item.type) {\n case 'message':\n return chatMessageToWire(item);\n case 'function_call':\n return functionCallToWire(item);\n case 'function_call_output':\n return functionCallOutputToWire(item);\n case 'agent_handoff':\n return agentHandoffToWire(item);\n }\n}\n\nfunction metadataToWire(m: MetricsMetadata | undefined): WireObject | null {\n if (!m) return null;\n return omitUndefined({\n model_name: m.modelName,\n model_provider: m.modelProvider,\n });\n}\n\nfunction llmMetricsToWire(m: LLMMetrics): WireObject {\n return omitUndefined({\n type: m.type,\n label: m.label,\n request_id: m.requestId,\n timestamp: msToS(m.timestamp),\n duration: msToS(m.durationMs),\n ttft: msToS(m.ttftMs),\n cancelled: m.cancelled,\n completion_tokens: m.completionTokens,\n prompt_tokens: m.promptTokens,\n prompt_cached_tokens: m.promptCachedTokens,\n total_tokens: m.totalTokens,\n tokens_per_second: m.tokensPerSecond,\n speech_id: m.speechId,\n metadata: metadataToWire(m.metadata),\n });\n}\n\nfunction sttMetricsToWire(m: STTMetrics): WireObject {\n return omitUndefined({\n type: m.type,\n label: m.label,\n request_id: m.requestId,\n timestamp: msToS(m.timestamp),\n duration: msToS(m.durationMs),\n audio_duration: msToS(m.audioDurationMs),\n input_tokens: m.inputTokens,\n output_tokens: m.outputTokens,\n streamed: m.streamed,\n metadata: metadataToWire(m.metadata),\n });\n}\n\nfunction ttsMetricsToWire(m: TTSMetrics): WireObject {\n return omitUndefined({\n type: m.type,\n label: m.label,\n request_id: m.requestId,\n timestamp: msToS(m.timestamp),\n ttfb: msToS(m.ttfbMs),\n duration: msToS(m.durationMs),\n audio_duration: msToS(m.audioDurationMs),\n cancelled: m.cancelled,\n characters_count: m.charactersCount,\n input_tokens: m.inputTokens,\n output_tokens: m.outputTokens,\n streamed: m.streamed,\n segment_id: m.segmentId,\n speech_id: m.speechId,\n metadata: metadataToWire(m.metadata),\n });\n}\n\nfunction vadMetricsToWire(m: VADMetrics): WireObject {\n return {\n type: m.type,\n label: m.label,\n timestamp: msToS(m.timestamp),\n idle_time: msToS(m.idleTimeMs),\n inference_duration_total: msToS(m.inferenceDurationTotalMs),\n inference_count: m.inferenceCount,\n };\n}\n\nfunction eouMetricsToWire(m: EOUMetrics): WireObject {\n return omitUndefined({\n type: m.type,\n timestamp: msToS(m.timestamp),\n end_of_utterance_delay: msToS(m.endOfUtteranceDelayMs),\n transcription_delay: msToS(m.transcriptionDelayMs),\n on_user_turn_completed_delay: msToS(m.onUserTurnCompletedDelayMs),\n speech_id: m.speechId,\n });\n}\n\nfunction cachedTokenDetailsToWire(d: RealtimeModelMetricsCachedTokenDetails): WireObject {\n return {\n audio_tokens: d.audioTokens,\n text_tokens: d.textTokens,\n image_tokens: d.imageTokens,\n };\n}\n\nfunction inputTokenDetailsToWire(d: RealtimeModelMetricsInputTokenDetails): WireObject {\n return omitUndefined({\n audio_tokens: d.audioTokens,\n text_tokens: d.textTokens,\n image_tokens: d.imageTokens,\n cached_tokens: d.cachedTokens,\n cached_tokens_details: d.cachedTokensDetails\n ? cachedTokenDetailsToWire(d.cachedTokensDetails)\n : undefined,\n });\n}\n\nfunction outputTokenDetailsToWire(d: RealtimeModelMetricsOutputTokenDetails): WireObject {\n return {\n text_tokens: d.textTokens,\n audio_tokens: d.audioTokens,\n image_tokens: d.imageTokens,\n };\n}\n\nfunction realtimeModelMetricsToWire(m: RealtimeModelMetrics): WireObject {\n return omitUndefined({\n type: m.type,\n label: m.label,\n request_id: m.requestId,\n timestamp: msToS(m.timestamp),\n duration: msToS(m.durationMs),\n session_duration: m.sessionDurationMs !== undefined ? msToS(m.sessionDurationMs) : undefined,\n ttft: msToS(m.ttftMs),\n cancelled: m.cancelled,\n input_tokens: m.inputTokens,\n output_tokens: m.outputTokens,\n total_tokens: m.totalTokens,\n tokens_per_second: m.tokensPerSecond,\n input_token_details: inputTokenDetailsToWire(m.inputTokenDetails),\n output_token_details: outputTokenDetailsToWire(m.outputTokenDetails),\n metadata: metadataToWire(m.metadata),\n });\n}\n\nfunction interruptionMetricsToWire(m: InterruptionMetrics): WireObject {\n return omitUndefined({\n type: m.type,\n timestamp: msToS(m.timestamp),\n total_duration: msToS(m.totalDuration),\n prediction_duration: msToS(m.predictionDuration),\n detection_delay: msToS(m.detectionDelay),\n num_interruptions: m.numInterruptions,\n num_backchannels: m.numBackchannels,\n num_requests: m.numRequests,\n metadata: metadataToWire(m.metadata),\n });\n}\n\nexport function agentMetricsToWire(m: AgentMetrics): WireObject {\n switch (m.type) {\n case 'llm_metrics':\n return llmMetricsToWire(m);\n case 'stt_metrics':\n return sttMetricsToWire(m);\n case 'tts_metrics':\n return ttsMetricsToWire(m);\n case 'vad_metrics':\n return vadMetricsToWire(m);\n case 'eou_metrics':\n return eouMetricsToWire(m);\n case 'realtime_model_metrics':\n return realtimeModelMetricsToWire(m);\n case 'interruption_metrics':\n return interruptionMetricsToWire(m);\n }\n}\n\nfunction llmModelUsageToWire(u: Partial<LLMModelUsage>): WireObject {\n return {\n type: u.type,\n provider: u.provider ?? '',\n model: u.model ?? '',\n input_tokens: u.inputTokens ?? 0,\n input_cached_tokens: u.inputCachedTokens ?? 0,\n input_audio_tokens: u.inputAudioTokens ?? 0,\n input_cached_audio_tokens: u.inputCachedAudioTokens ?? 0,\n input_text_tokens: u.inputTextTokens ?? 0,\n input_cached_text_tokens: u.inputCachedTextTokens ?? 0,\n input_image_tokens: u.inputImageTokens ?? 0,\n input_cached_image_tokens: u.inputCachedImageTokens ?? 0,\n output_tokens: u.outputTokens ?? 0,\n output_audio_tokens: u.outputAudioTokens ?? 0,\n output_text_tokens: u.outputTextTokens ?? 0,\n session_duration: msToS(u.sessionDurationMs ?? 0),\n };\n}\n\nfunction ttsModelUsageToWire(u: Partial<TTSModelUsage>): WireObject {\n return {\n type: u.type,\n provider: u.provider ?? '',\n model: u.model ?? '',\n input_tokens: u.inputTokens ?? 0,\n output_tokens: u.outputTokens ?? 0,\n characters_count: u.charactersCount ?? 0,\n audio_duration: msToS(u.audioDurationMs ?? 0),\n };\n}\n\nfunction sttModelUsageToWire(u: Partial<STTModelUsage>): WireObject {\n return {\n type: u.type,\n provider: u.provider ?? '',\n model: u.model ?? '',\n input_tokens: u.inputTokens ?? 0,\n output_tokens: u.outputTokens ?? 0,\n audio_duration: msToS(u.audioDurationMs ?? 0),\n };\n}\n\nfunction interruptionModelUsageToWire(u: Partial<InterruptionModelUsage>): WireObject {\n return {\n type: u.type,\n provider: u.provider ?? '',\n model: u.model ?? '',\n total_requests: u.totalRequests ?? 0,\n };\n}\n\nexport function modelUsageToWire(u: Partial<ModelUsage>): WireObject {\n switch (u.type) {\n case 'llm_usage':\n return llmModelUsageToWire(u as Partial<LLMModelUsage>);\n case 'tts_usage':\n return ttsModelUsageToWire(u as Partial<TTSModelUsage>);\n case 'stt_usage':\n return sttModelUsageToWire(u as Partial<STTModelUsage>);\n case 'interruption_usage':\n return interruptionModelUsageToWire(u as Partial<InterruptionModelUsage>);\n default:\n return u as WireObject;\n }\n}\n\nexport function agentSessionUsageToWire(u: AgentSessionUsage): WireObject {\n return {\n model_usage: u.modelUsage.map(modelUsageToWire),\n };\n}\n\n// ===========================================================================\n// Zod wire-format schemas\n// These validate the exact JSON shape that Python Pydantic emits on the wire.\n// Inferred types via z.infer give fully typed parse results.\n// ===========================================================================\nconst imageContentWireSchema = z.object({\n id: z.string(),\n type: z.literal('image_content'),\n image: z.string(),\n inference_detail: z.enum(['auto', 'high', 'low']).optional(),\n inference_width: z.number().optional(),\n inference_height: z.number().optional(),\n mime_type: z.string().optional(),\n});\n\nconst audioContentWireSchema = z.object({\n type: z.literal('audio_content'),\n transcript: z.string().nullable().optional(),\n});\n\nconst chatContentWireSchema = z.union([z.string(), imageContentWireSchema, audioContentWireSchema]);\n\nconst metricsReportWireSchema = z\n .object({\n started_speaking_at: z.number().optional(),\n stopped_speaking_at: z.number().optional(),\n transcription_delay: z.number().optional(),\n end_of_turn_delay: z.number().optional(),\n on_user_turn_completed_delay: z.number().optional(),\n llm_node_ttft: z.number().optional(),\n tts_node_ttfb: z.number().optional(),\n e2e_latency: z.number().optional(),\n })\n .optional();\n\nexport const chatMessageWireSchema = z.object({\n id: z.string(),\n type: z.literal('message'),\n role: z.enum(['developer', 'system', 'user', 'assistant']),\n content: z.array(chatContentWireSchema),\n interrupted: z.boolean(),\n created_at: z.number(),\n transcript_confidence: z.number().optional(),\n metrics: metricsReportWireSchema,\n extra: z.record(z.string(), z.unknown()).optional(),\n});\n\nexport const functionCallWireSchema = z.object({\n id: z.string(),\n type: z.literal('function_call'),\n call_id: z.string(),\n arguments: z.string(),\n name: z.string(),\n created_at: z.number(),\n extra: z.record(z.string(), z.unknown()).optional(),\n group_id: z.string().optional(),\n});\n\nexport const functionCallOutputWireSchema = z.object({\n id: z.string(),\n type: z.literal('function_call_output'),\n name: z.string(),\n call_id: z.string(),\n output: z.string(),\n is_error: z.boolean(),\n created_at: z.number(),\n});\n\nexport const agentHandoffWireSchema = z.object({\n id: z.string(),\n type: z.literal('agent_handoff'),\n new_agent_id: z.string(),\n created_at: z.number(),\n old_agent_id: z.string().optional(),\n});\n\nexport const chatItemWireSchema = z.discriminatedUnion('type', [\n chatMessageWireSchema,\n functionCallWireSchema,\n functionCallOutputWireSchema,\n agentHandoffWireSchema,\n]);\n\nconst metadataWireSchema = z\n .object({\n model_name: z.string().optional(),\n model_provider: z.string().optional(),\n })\n .nullable()\n .optional();\n\nexport const llmMetricsWireSchema = z.object({\n type: z.literal('llm_metrics'),\n label: z.string(),\n request_id: z.string(),\n timestamp: z.number(),\n duration: z.number(),\n ttft: z.number(),\n cancelled: z.boolean(),\n completion_tokens: z.number(),\n prompt_tokens: z.number(),\n prompt_cached_tokens: z.number(),\n total_tokens: z.number(),\n tokens_per_second: z.number(),\n speech_id: z.string().nullable().optional(),\n metadata: metadataWireSchema,\n});\n\nexport const sttMetricsWireSchema = z.object({\n type: z.literal('stt_metrics'),\n label: z.string(),\n request_id: z.string(),\n timestamp: z.number(),\n duration: z.number(),\n audio_duration: z.number(),\n input_tokens: z.number().optional(),\n output_tokens: z.number().optional(),\n streamed: z.boolean(),\n metadata: metadataWireSchema,\n});\n\nexport const ttsMetricsWireSchema = z.object({\n type: z.literal('tts_metrics'),\n label: z.string(),\n request_id: z.string(),\n timestamp: z.number(),\n ttfb: z.number(),\n duration: z.number(),\n audio_duration: z.number(),\n cancelled: z.boolean(),\n characters_count: z.number(),\n input_tokens: z.number().optional(),\n output_tokens: z.number().optional(),\n streamed: z.boolean(),\n segment_id: z.string().nullable().optional(),\n speech_id: z.string().nullable().optional(),\n metadata: metadataWireSchema,\n});\n\nexport const vadMetricsWireSchema = z.object({\n type: z.literal('vad_metrics'),\n label: z.string(),\n timestamp: z.number(),\n idle_time: z.number(),\n inference_duration_total: z.number(),\n inference_count: z.number(),\n});\n\nexport const eouMetricsWireSchema = z.object({\n type: z.literal('eou_metrics'),\n timestamp: z.number(),\n end_of_utterance_delay: z.number(),\n transcription_delay: z.number(),\n on_user_turn_completed_delay: z.number(),\n speech_id: z.string().nullable().optional(),\n});\n\nconst cachedTokenDetailsWireSchema = z.object({\n audio_tokens: z.number(),\n text_tokens: z.number(),\n image_tokens: z.number(),\n});\n\nconst inputTokenDetailsWireSchema = z.object({\n audio_tokens: z.number(),\n text_tokens: z.number(),\n image_tokens: z.number(),\n cached_tokens: z.number(),\n cached_tokens_details: cachedTokenDetailsWireSchema.nullable().optional(),\n});\n\nconst outputTokenDetailsWireSchema = z.object({\n text_tokens: z.number(),\n audio_tokens: z.number(),\n image_tokens: z.number(),\n});\n\nexport const realtimeModelMetricsWireSchema = z.object({\n type: z.literal('realtime_model_metrics'),\n label: z.string(),\n request_id: z.string(),\n timestamp: z.number(),\n duration: z.number(),\n session_duration: z.number().optional(),\n ttft: z.number(),\n cancelled: z.boolean(),\n input_tokens: z.number(),\n output_tokens: z.number(),\n total_tokens: z.number(),\n tokens_per_second: z.number(),\n input_token_details: inputTokenDetailsWireSchema,\n output_token_details: outputTokenDetailsWireSchema,\n metadata: metadataWireSchema,\n});\n\nexport const interruptionMetricsWireSchema = z.object({\n type: z.literal('interruption_metrics'),\n timestamp: z.number(),\n total_duration: z.number(),\n prediction_duration: z.number(),\n detection_delay: z.number(),\n num_interruptions: z.number(),\n num_backchannels: z.number(),\n num_requests: z.number(),\n metadata: metadataWireSchema,\n});\n\nexport const agentMetricsWireSchema = z.discriminatedUnion('type', [\n llmMetricsWireSchema,\n sttMetricsWireSchema,\n ttsMetricsWireSchema,\n vadMetricsWireSchema,\n eouMetricsWireSchema,\n realtimeModelMetricsWireSchema,\n interruptionMetricsWireSchema,\n]);\n\n// ---------------------------------------------------------------------------\n// Model usage schemas\n// ---------------------------------------------------------------------------\n\nexport const llmModelUsageWireSchema = z.object({\n type: z.literal('llm_usage'),\n provider: z.string().optional(),\n model: z.string().optional(),\n input_tokens: z.number().optional(),\n input_cached_tokens: z.number().optional(),\n input_audio_tokens: z.number().optional(),\n input_cached_audio_tokens: z.number().optional(),\n input_text_tokens: z.number().optional(),\n input_cached_text_tokens: z.number().optional(),\n input_image_tokens: z.number().optional(),\n input_cached_image_tokens: z.number().optional(),\n output_tokens: z.number().optional(),\n output_audio_tokens: z.number().optional(),\n output_text_tokens: z.number().optional(),\n session_duration: z.number().optional(),\n});\n\nexport const ttsModelUsageWireSchema = z.object({\n type: z.literal('tts_usage'),\n provider: z.string().optional(),\n model: z.string().optional(),\n input_tokens: z.number().optional(),\n output_tokens: z.number().optional(),\n characters_count: z.number().optional(),\n audio_duration: z.number().optional(),\n});\n\nexport const sttModelUsageWireSchema = z.object({\n type: z.literal('stt_usage'),\n provider: z.string().optional(),\n model: z.string().optional(),\n input_tokens: z.number().optional(),\n output_tokens: z.number().optional(),\n audio_duration: z.number().optional(),\n});\n\nexport const interruptionModelUsageWireSchema = z.object({\n type: z.literal('interruption_usage'),\n provider: z.string().optional(),\n model: z.string().optional(),\n total_requests: z.number().optional(),\n});\n\nexport const modelUsageWireSchema = z.discriminatedUnion('type', [\n llmModelUsageWireSchema,\n ttsModelUsageWireSchema,\n sttModelUsageWireSchema,\n interruptionModelUsageWireSchema,\n]);\n\nexport const agentSessionUsageWireSchema = z.object({\n model_usage: z.array(modelUsageWireSchema),\n});\n\n// ---------------------------------------------------------------------------\n// Client event schemas\n// ---------------------------------------------------------------------------\n\nconst agentStateSchema = z.enum(['initializing', 'idle', 'listening', 'thinking', 'speaking']);\nconst userStateSchema = z.enum(['speaking', 'listening', 'away']);\n\nexport const clientAgentStateChangedSchema = z.object({\n type: z.literal('agent_state_changed'),\n old_state: agentStateSchema,\n new_state: agentStateSchema,\n created_at: z.number(),\n});\n\nexport const clientUserStateChangedSchema = z.object({\n type: z.literal('user_state_changed'),\n old_state: userStateSchema,\n new_state: userStateSchema,\n created_at: z.number(),\n});\n\nexport const clientConversationItemAddedSchema = z.object({\n type: z.literal('conversation_item_added'),\n item: chatMessageWireSchema,\n created_at: z.number(),\n});\n\nexport const clientUserInputTranscribedSchema = z.object({\n type: z.literal('user_input_transcribed'),\n transcript: z.string(),\n is_final: z.boolean(),\n language: z.string().nullable(),\n created_at: z.number(),\n});\n\nexport const clientFunctionToolsExecutedSchema = z.object({\n type: z.literal('function_tools_executed'),\n function_calls: z.array(functionCallWireSchema),\n function_call_outputs: z.array(functionCallOutputWireSchema.nullable()),\n created_at: z.number(),\n});\n\nexport const clientMetricsCollectedSchema = z.object({\n type: z.literal('metrics_collected'),\n metrics: agentMetricsWireSchema,\n created_at: z.number(),\n});\n\nexport const clientErrorSchema = z.object({\n type: z.literal('error'),\n message: z.string(),\n created_at: z.number(),\n});\n\nexport const clientUserOverlappingSpeechSchema = z.object({\n type: z.literal('user_overlapping_speech'),\n is_interruption: z.boolean(),\n created_at: z.number(),\n sent_at: z.number(),\n detection_delay: z.number(),\n overlap_started_at: z.number().nullable(),\n});\n\nexport const clientSessionUsageSchema = z.object({\n type: z.literal('session_usage'),\n usage: agentSessionUsageWireSchema,\n created_at: z.number(),\n});\n\nexport const clientEventSchema = z.discriminatedUnion('type', [\n clientAgentStateChangedSchema,\n clientUserStateChangedSchema,\n clientConversationItemAddedSchema,\n clientUserInputTranscribedSchema,\n clientFunctionToolsExecutedSchema,\n clientMetricsCollectedSchema,\n clientErrorSchema,\n clientUserOverlappingSpeechSchema,\n clientSessionUsageSchema,\n]);\n\n// ---------------------------------------------------------------------------\n// RPC schemas\n// ---------------------------------------------------------------------------\n\nexport const sendMessageRequestSchema = z.object({\n text: z.string(),\n});\n\nexport const streamRequestSchema = z.object({\n request_id: z.string(),\n method: z.string(),\n payload: z.string(),\n});\n\nexport const streamResponseSchema = z.object({\n request_id: z.string(),\n payload: z.string(),\n error: z.string().nullable().optional(),\n});\n\nexport const getSessionStateResponseSchema = z.object({\n agent_state: agentStateSchema,\n user_state: userStateSchema,\n agent_id: z.string(),\n options: z.record(z.string(), z.unknown()),\n created_at: z.number(),\n});\n\nexport const getChatHistoryResponseSchema = z.object({\n items: z.array(chatItemWireSchema),\n});\n\nexport const getAgentInfoResponseSchema = z.object({\n id: z.string(),\n instructions: z.string().nullable(),\n tools: z.array(z.string()),\n chat_ctx: z.array(chatItemWireSchema),\n});\n\nexport const sendMessageResponseSchema = z.object({\n items: z.array(chatItemWireSchema),\n});\n\nexport const getRTCStatsResponseSchema = z.object({\n publisher_stats: z.array(z.record(z.string(), z.unknown())),\n subscriber_stats: z.array(z.record(z.string(), z.unknown())),\n});\n\nexport const getSessionUsageResponseSchema = z.object({\n usage: agentSessionUsageWireSchema,\n created_at: z.number(),\n});\n"],"mappings":"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","names":[]}