@agimon-ai/doompi-voice 0.0.1-alpha.80 → 0.0.1-alpha.82

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 (727) hide show
  1. package/dist/{src/schemas/apiContracts.cjs → apiContracts.cjs} +51 -17
  2. package/dist/apiContracts.cjs.map +1 -0
  3. package/dist/{src/schemas/apiContracts.d.mts.map → apiContracts.d.mts.map} +1 -1
  4. package/dist/{src/schemas/apiContracts.mjs → apiContracts.mjs} +35 -3
  5. package/dist/apiContracts.mjs.map +1 -0
  6. package/dist/clientMedia-Btnad-hF.d.mts +259 -0
  7. package/dist/clientMedia-Btnad-hF.d.mts.map +1 -0
  8. package/dist/clientMedia-E44ZvrYt.cjs +156 -0
  9. package/dist/clientMedia-E44ZvrYt.cjs.map +1 -0
  10. package/dist/{src/types/clientMedia.mjs → clientMedia-G-3a29Qe.mjs} +2 -2
  11. package/dist/clientMedia-G-3a29Qe.mjs.map +1 -0
  12. package/dist/clientMedia.cjs +115 -4
  13. package/dist/clientMedia.cjs.map +1 -0
  14. package/dist/clientMedia.d.mts +1 -2
  15. package/dist/clientMedia.mjs +113 -2
  16. package/dist/clientMedia.mjs.map +1 -0
  17. package/dist/extensions/pi.cjs +1307 -26
  18. package/dist/extensions/pi.cjs.map +1 -1
  19. package/dist/extensions/pi.d.mts +2 -3
  20. package/dist/extensions/pi.d.mts.map +1 -1
  21. package/dist/extensions/pi.mjs +1292 -16
  22. package/dist/extensions/pi.mjs.map +1 -1
  23. package/dist/extensions/server.cjs +2871 -42
  24. package/dist/extensions/server.cjs.map +1 -1
  25. package/dist/extensions/server.d.mts +1 -1
  26. package/dist/extensions/server.d.mts.map +1 -1
  27. package/dist/extensions/server.mjs +2850 -24
  28. package/dist/extensions/server.mjs.map +1 -1
  29. package/dist/index-BRqic9ab.d.mts +869 -0
  30. package/dist/index-BRqic9ab.d.mts.map +1 -0
  31. package/dist/index-BqGqTmru.d.mts +7 -0
  32. package/dist/index-BqGqTmru.d.mts.map +1 -0
  33. package/dist/index-DWWq2RYu.d.mts +435 -0
  34. package/dist/index-DWWq2RYu.d.mts.map +1 -0
  35. package/dist/index.cjs +375 -86
  36. package/dist/index.cjs.map +1 -0
  37. package/dist/index.d.mts +3 -22
  38. package/dist/index.mjs +307 -18
  39. package/dist/index.mjs.map +1 -0
  40. package/dist/narrationBargeIn-DufMrN5Q.mjs +2144 -0
  41. package/dist/narrationBargeIn-DufMrN5Q.mjs.map +1 -0
  42. package/dist/narrationBargeIn-fhm2fhaT.cjs +2429 -0
  43. package/dist/narrationBargeIn-fhm2fhaT.cjs.map +1 -0
  44. package/dist/{_virtual/_rolldown/runtime.cjs → rolldown-runtime-BloeesfJ.cjs} +18 -3
  45. package/dist/{src/services/vad/index.mjs → vad-CgKHy0Np.mjs} +3 -3
  46. package/dist/vad-CgKHy0Np.mjs.map +1 -0
  47. package/dist/{src/services/vad/index.cjs → vad-DsrHoY8x.cjs} +20 -5
  48. package/dist/vad-DsrHoY8x.cjs.map +1 -0
  49. package/dist/voiceController-BjPxJg63.mjs +2091 -0
  50. package/dist/voiceController-BjPxJg63.mjs.map +1 -0
  51. package/dist/voiceController-Caf0ISzB.cjs +2280 -0
  52. package/dist/voiceController-Caf0ISzB.cjs.map +1 -0
  53. package/dist/voiceModeController-B81fVubZ.mjs +6379 -0
  54. package/dist/voiceModeController-B81fVubZ.mjs.map +1 -0
  55. package/dist/voiceModeController-DON34KO1.cjs +6585 -0
  56. package/dist/voiceModeController-DON34KO1.cjs.map +1 -0
  57. package/dist/voiceReloadHandoff.cjs +3 -3
  58. package/dist/voiceReloadHandoff.d.mts +1 -1
  59. package/dist/voiceReloadHandoff.mjs +1 -1
  60. package/dist/{src/services/voiceTools/index.mjs → voiceTools-BJ_dP0nd.mjs} +32 -7
  61. package/dist/voiceTools-BJ_dP0nd.mjs.map +1 -0
  62. package/dist/{src/services/voiceTools/index.cjs → voiceTools-BmMrC2zb.cjs} +66 -69
  63. package/dist/voiceTools-BmMrC2zb.cjs.map +1 -0
  64. package/dist/voiceTools.cjs +5 -5
  65. package/dist/voiceTools.d.mts +2 -2
  66. package/dist/voiceTools.mjs +2 -2
  67. package/dist/voiceWorker.cjs +1783 -6
  68. package/dist/voiceWorker.cjs.map +1 -1
  69. package/dist/voiceWorker.d.mts +1 -1
  70. package/dist/voiceWorker.mjs +1776 -3
  71. package/dist/voiceWorker.mjs.map +1 -1
  72. package/package.json +23 -22
  73. package/dist/_virtual/_rolldown/runtime.mjs +0 -28
  74. package/dist/api-contracts.cjs +0 -7
  75. package/dist/api-contracts.d.cts +0 -2
  76. package/dist/api-contracts.d.mts +0 -2
  77. package/dist/api-contracts.mjs +0 -2
  78. package/dist/clientMedia.d.cts +0 -3
  79. package/dist/extensions/pi.d.cts +0 -7
  80. package/dist/extensions/pi.d.cts.map +0 -1
  81. package/dist/extensions/server.d.cts +0 -5
  82. package/dist/extensions/server.d.cts.map +0 -1
  83. package/dist/index.d.cts +0 -23
  84. package/dist/src/constants/voice.cjs +0 -18
  85. package/dist/src/constants/voice.cjs.map +0 -1
  86. package/dist/src/constants/voice.mjs +0 -17
  87. package/dist/src/constants/voice.mjs.map +0 -1
  88. package/dist/src/constants/voiceRuntime.cjs +0 -65
  89. package/dist/src/constants/voiceRuntime.cjs.map +0 -1
  90. package/dist/src/constants/voiceRuntime.mjs +0 -46
  91. package/dist/src/constants/voiceRuntime.mjs.map +0 -1
  92. package/dist/src/extensions/(backend)/api/voice/route.server.cjs +0 -22
  93. package/dist/src/extensions/(backend)/api/voice/route.server.cjs.map +0 -1
  94. package/dist/src/extensions/(backend)/api/voice/route.server.mjs +0 -23
  95. package/dist/src/extensions/(backend)/api/voice/route.server.mjs.map +0 -1
  96. package/dist/src/extensions/(backend)/channel/voice-media-wake.server.cjs +0 -7
  97. package/dist/src/extensions/(backend)/channel/voice-media-wake.server.cjs.map +0 -1
  98. package/dist/src/extensions/(backend)/channel/voice-media-wake.server.mjs +0 -8
  99. package/dist/src/extensions/(backend)/channel/voice-media-wake.server.mjs.map +0 -1
  100. package/dist/src/extensions/(backend)/channel/voice-ownership.server.cjs +0 -7
  101. package/dist/src/extensions/(backend)/channel/voice-ownership.server.cjs.map +0 -1
  102. package/dist/src/extensions/(backend)/channel/voice-ownership.server.mjs +0 -8
  103. package/dist/src/extensions/(backend)/channel/voice-ownership.server.mjs.map +0 -1
  104. package/dist/src/extensions/workspaces/sessions/(backend)/api/voice/route.server.cjs +0 -6
  105. package/dist/src/extensions/workspaces/sessions/(backend)/api/voice/route.server.cjs.map +0 -1
  106. package/dist/src/extensions/workspaces/sessions/(backend)/api/voice/route.server.mjs +0 -7
  107. package/dist/src/extensions/workspaces/sessions/(backend)/api/voice/route.server.mjs.map +0 -1
  108. package/dist/src/extensions/workspaces/sessions/(backend)/api/voice-media/route.server.cjs +0 -6
  109. package/dist/src/extensions/workspaces/sessions/(backend)/api/voice-media/route.server.cjs.map +0 -1
  110. package/dist/src/extensions/workspaces/sessions/(backend)/api/voice-media/route.server.mjs +0 -7
  111. package/dist/src/extensions/workspaces/sessions/(backend)/api/voice-media/route.server.mjs.map +0 -1
  112. package/dist/src/extensions/workspaces/sessions/(backend)/command/voice.cli.cjs +0 -6
  113. package/dist/src/extensions/workspaces/sessions/(backend)/command/voice.cli.cjs.map +0 -1
  114. package/dist/src/extensions/workspaces/sessions/(backend)/command/voice.cli.mjs +0 -7
  115. package/dist/src/extensions/workspaces/sessions/(backend)/command/voice.cli.mjs.map +0 -1
  116. package/dist/src/extensions/workspaces/sessions/(backend)/command/voice.server.cjs +0 -6
  117. package/dist/src/extensions/workspaces/sessions/(backend)/command/voice.server.cjs.map +0 -1
  118. package/dist/src/extensions/workspaces/sessions/(backend)/command/voice.server.mjs +0 -7
  119. package/dist/src/extensions/workspaces/sessions/(backend)/command/voice.server.mjs.map +0 -1
  120. package/dist/src/extensions/workspaces/sessions/(backend)/command/voiceAuto.cli.cjs +0 -6
  121. package/dist/src/extensions/workspaces/sessions/(backend)/command/voiceAuto.cli.cjs.map +0 -1
  122. package/dist/src/extensions/workspaces/sessions/(backend)/command/voiceAuto.cli.mjs +0 -7
  123. package/dist/src/extensions/workspaces/sessions/(backend)/command/voiceAuto.cli.mjs.map +0 -1
  124. package/dist/src/extensions/workspaces/sessions/(backend)/command/voiceAuto.server.cjs +0 -6
  125. package/dist/src/extensions/workspaces/sessions/(backend)/command/voiceAuto.server.cjs.map +0 -1
  126. package/dist/src/extensions/workspaces/sessions/(backend)/command/voiceAuto.server.mjs +0 -7
  127. package/dist/src/extensions/workspaces/sessions/(backend)/command/voiceAuto.server.mjs.map +0 -1
  128. package/dist/src/extensions/workspaces/sessions/(backend)/hook/agentSettled.cli.cjs +0 -6
  129. package/dist/src/extensions/workspaces/sessions/(backend)/hook/agentSettled.cli.cjs.map +0 -1
  130. package/dist/src/extensions/workspaces/sessions/(backend)/hook/agentSettled.cli.mjs +0 -7
  131. package/dist/src/extensions/workspaces/sessions/(backend)/hook/agentSettled.cli.mjs.map +0 -1
  132. package/dist/src/extensions/workspaces/sessions/(backend)/hook/agentSettled.server.cjs +0 -6
  133. package/dist/src/extensions/workspaces/sessions/(backend)/hook/agentSettled.server.cjs.map +0 -1
  134. package/dist/src/extensions/workspaces/sessions/(backend)/hook/agentSettled.server.mjs +0 -7
  135. package/dist/src/extensions/workspaces/sessions/(backend)/hook/agentSettled.server.mjs.map +0 -1
  136. package/dist/src/extensions/workspaces/sessions/(backend)/hook/beforeAgentStart.cli.cjs +0 -6
  137. package/dist/src/extensions/workspaces/sessions/(backend)/hook/beforeAgentStart.cli.cjs.map +0 -1
  138. package/dist/src/extensions/workspaces/sessions/(backend)/hook/beforeAgentStart.cli.mjs +0 -7
  139. package/dist/src/extensions/workspaces/sessions/(backend)/hook/beforeAgentStart.cli.mjs.map +0 -1
  140. package/dist/src/extensions/workspaces/sessions/(backend)/hook/beforeAgentStart.server.cjs +0 -6
  141. package/dist/src/extensions/workspaces/sessions/(backend)/hook/beforeAgentStart.server.cjs.map +0 -1
  142. package/dist/src/extensions/workspaces/sessions/(backend)/hook/beforeAgentStart.server.mjs +0 -7
  143. package/dist/src/extensions/workspaces/sessions/(backend)/hook/beforeAgentStart.server.mjs.map +0 -1
  144. package/dist/src/extensions/workspaces/sessions/(backend)/hook/messageEnd.server.cjs +0 -6
  145. package/dist/src/extensions/workspaces/sessions/(backend)/hook/messageEnd.server.cjs.map +0 -1
  146. package/dist/src/extensions/workspaces/sessions/(backend)/hook/messageEnd.server.mjs +0 -7
  147. package/dist/src/extensions/workspaces/sessions/(backend)/hook/messageEnd.server.mjs.map +0 -1
  148. package/dist/src/extensions/workspaces/sessions/(backend)/hook/sessionShutdown.server.cjs +0 -6
  149. package/dist/src/extensions/workspaces/sessions/(backend)/hook/sessionShutdown.server.cjs.map +0 -1
  150. package/dist/src/extensions/workspaces/sessions/(backend)/hook/sessionShutdown.server.mjs +0 -7
  151. package/dist/src/extensions/workspaces/sessions/(backend)/hook/sessionShutdown.server.mjs.map +0 -1
  152. package/dist/src/extensions/workspaces/sessions/(backend)/hook/sessionStart.cli.cjs +0 -6
  153. package/dist/src/extensions/workspaces/sessions/(backend)/hook/sessionStart.cli.cjs.map +0 -1
  154. package/dist/src/extensions/workspaces/sessions/(backend)/hook/sessionStart.cli.mjs +0 -7
  155. package/dist/src/extensions/workspaces/sessions/(backend)/hook/sessionStart.cli.mjs.map +0 -1
  156. package/dist/src/extensions/workspaces/sessions/(backend)/hook/toolExecutionStart.cli.cjs +0 -6
  157. package/dist/src/extensions/workspaces/sessions/(backend)/hook/toolExecutionStart.cli.cjs.map +0 -1
  158. package/dist/src/extensions/workspaces/sessions/(backend)/hook/toolExecutionStart.cli.mjs +0 -7
  159. package/dist/src/extensions/workspaces/sessions/(backend)/hook/toolExecutionStart.cli.mjs.map +0 -1
  160. package/dist/src/extensions/workspaces/sessions/(backend)/hook/turnEnd.cli.cjs +0 -6
  161. package/dist/src/extensions/workspaces/sessions/(backend)/hook/turnEnd.cli.cjs.map +0 -1
  162. package/dist/src/extensions/workspaces/sessions/(backend)/hook/turnEnd.cli.mjs +0 -7
  163. package/dist/src/extensions/workspaces/sessions/(backend)/hook/turnEnd.cli.mjs.map +0 -1
  164. package/dist/src/extensions/workspaces/sessions/(backend)/method/voiceControl.server.cjs +0 -6
  165. package/dist/src/extensions/workspaces/sessions/(backend)/method/voiceControl.server.cjs.map +0 -1
  166. package/dist/src/extensions/workspaces/sessions/(backend)/method/voiceControl.server.mjs +0 -7
  167. package/dist/src/extensions/workspaces/sessions/(backend)/method/voiceControl.server.mjs.map +0 -1
  168. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompiUseVoice.cli.cjs +0 -6
  169. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompiUseVoice.cli.cjs.map +0 -1
  170. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompiUseVoice.cli.mjs +0 -7
  171. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompiUseVoice.cli.mjs.map +0 -1
  172. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompiUseVoice.server.cjs +0 -6
  173. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompiUseVoice.server.cjs.map +0 -1
  174. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompiUseVoice.server.mjs +0 -7
  175. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompiUseVoice.server.mjs.map +0 -1
  176. package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.cjs +0 -26
  177. package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.cjs.map +0 -1
  178. package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.mjs +0 -27
  179. package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.mjs.map +0 -1
  180. package/dist/src/extensions/workspaces/sessions/(backend)/root.server.cjs +0 -45
  181. package/dist/src/extensions/workspaces/sessions/(backend)/root.server.cjs.map +0 -1
  182. package/dist/src/extensions/workspaces/sessions/(backend)/root.server.mjs +0 -45
  183. package/dist/src/extensions/workspaces/sessions/(backend)/root.server.mjs.map +0 -1
  184. package/dist/src/extensions/workspaces/sessions/(backend)/tool/describeVoiceTools.server.cjs +0 -6
  185. package/dist/src/extensions/workspaces/sessions/(backend)/tool/describeVoiceTools.server.cjs.map +0 -1
  186. package/dist/src/extensions/workspaces/sessions/(backend)/tool/describeVoiceTools.server.mjs +0 -7
  187. package/dist/src/extensions/workspaces/sessions/(backend)/tool/describeVoiceTools.server.mjs.map +0 -1
  188. package/dist/src/extensions/workspaces/sessions/(backend)/tool/narrate.server.cjs +0 -6
  189. package/dist/src/extensions/workspaces/sessions/(backend)/tool/narrate.server.cjs.map +0 -1
  190. package/dist/src/extensions/workspaces/sessions/(backend)/tool/narrate.server.mjs +0 -7
  191. package/dist/src/extensions/workspaces/sessions/(backend)/tool/narrate.server.mjs.map +0 -1
  192. package/dist/src/extensions/workspaces/sessions/(backend)/tool/transferVoice.server.cjs +0 -6
  193. package/dist/src/extensions/workspaces/sessions/(backend)/tool/transferVoice.server.cjs.map +0 -1
  194. package/dist/src/extensions/workspaces/sessions/(backend)/tool/transferVoice.server.mjs +0 -7
  195. package/dist/src/extensions/workspaces/sessions/(backend)/tool/transferVoice.server.mjs.map +0 -1
  196. package/dist/src/extensions/workspaces/sessions/(backend)/tool/useVoiceTools.server.cjs +0 -6
  197. package/dist/src/extensions/workspaces/sessions/(backend)/tool/useVoiceTools.server.cjs.map +0 -1
  198. package/dist/src/extensions/workspaces/sessions/(backend)/tool/useVoiceTools.server.mjs +0 -7
  199. package/dist/src/extensions/workspaces/sessions/(backend)/tool/useVoiceTools.server.mjs.map +0 -1
  200. package/dist/src/extensions/workspaces/sessions/(backend)/tool/voice.cli.cjs +0 -6
  201. package/dist/src/extensions/workspaces/sessions/(backend)/tool/voice.cli.cjs.map +0 -1
  202. package/dist/src/extensions/workspaces/sessions/(backend)/tool/voice.cli.mjs +0 -7
  203. package/dist/src/extensions/workspaces/sessions/(backend)/tool/voice.cli.mjs.map +0 -1
  204. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/transferVoice.cli.cjs +0 -6
  205. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/transferVoice.cli.cjs.map +0 -1
  206. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/transferVoice.cli.mjs +0 -7
  207. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/transferVoice.cli.mjs.map +0 -1
  208. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/voice.cli.cjs +0 -6
  209. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/voice.cli.cjs.map +0 -1
  210. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/voice.cli.mjs +0 -7
  211. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/voice.cli.mjs.map +0 -1
  212. package/dist/src/models/autonomousVoiceMachine.cjs +0 -678
  213. package/dist/src/models/autonomousVoiceMachine.cjs.map +0 -1
  214. package/dist/src/models/autonomousVoiceMachine.d.cts +0 -2
  215. package/dist/src/models/autonomousVoiceMachine.d.mts +0 -2
  216. package/dist/src/models/autonomousVoiceMachine.mjs +0 -677
  217. package/dist/src/models/autonomousVoiceMachine.mjs.map +0 -1
  218. package/dist/src/models/autonomousVoiceUi.cjs +0 -76
  219. package/dist/src/models/autonomousVoiceUi.cjs.map +0 -1
  220. package/dist/src/models/autonomousVoiceUi.mjs +0 -76
  221. package/dist/src/models/autonomousVoiceUi.mjs.map +0 -1
  222. package/dist/src/models/narrationBargeIn.cjs +0 -63
  223. package/dist/src/models/narrationBargeIn.cjs.map +0 -1
  224. package/dist/src/models/narrationBargeIn.d.cts +0 -15
  225. package/dist/src/models/narrationBargeIn.d.cts.map +0 -1
  226. package/dist/src/models/narrationBargeIn.d.mts +0 -15
  227. package/dist/src/models/narrationBargeIn.d.mts.map +0 -1
  228. package/dist/src/models/narrationBargeIn.mjs +0 -62
  229. package/dist/src/models/narrationBargeIn.mjs.map +0 -1
  230. package/dist/src/models/voiceActivity.cjs +0 -74
  231. package/dist/src/models/voiceActivity.cjs.map +0 -1
  232. package/dist/src/models/voiceActivity.d.cts +0 -26
  233. package/dist/src/models/voiceActivity.d.cts.map +0 -1
  234. package/dist/src/models/voiceActivity.d.mts +0 -26
  235. package/dist/src/models/voiceActivity.d.mts.map +0 -1
  236. package/dist/src/models/voiceActivity.mjs +0 -73
  237. package/dist/src/models/voiceActivity.mjs.map +0 -1
  238. package/dist/src/models/voiceMode.cjs +0 -84
  239. package/dist/src/models/voiceMode.cjs.map +0 -1
  240. package/dist/src/models/voiceMode.d.cts +0 -10
  241. package/dist/src/models/voiceMode.d.cts.map +0 -1
  242. package/dist/src/models/voiceMode.d.mts +0 -10
  243. package/dist/src/models/voiceMode.d.mts.map +0 -1
  244. package/dist/src/models/voiceMode.mjs +0 -82
  245. package/dist/src/models/voiceMode.mjs.map +0 -1
  246. package/dist/src/schemas/apiContracts.cjs.map +0 -1
  247. package/dist/src/schemas/apiContracts.d.cts +0 -53
  248. package/dist/src/schemas/apiContracts.d.cts.map +0 -1
  249. package/dist/src/schemas/apiContracts.mjs.map +0 -1
  250. package/dist/src/schemas/voiceControl.cjs +0 -37
  251. package/dist/src/schemas/voiceControl.cjs.map +0 -1
  252. package/dist/src/schemas/voiceControl.mjs +0 -37
  253. package/dist/src/schemas/voiceControl.mjs.map +0 -1
  254. package/dist/src/services/autonomousEndpoint/index.cjs +0 -69
  255. package/dist/src/services/autonomousEndpoint/index.cjs.map +0 -1
  256. package/dist/src/services/autonomousEndpoint/index.mjs +0 -69
  257. package/dist/src/services/autonomousEndpoint/index.mjs.map +0 -1
  258. package/dist/src/services/autonomousTurn/index.cjs +0 -33
  259. package/dist/src/services/autonomousTurn/index.cjs.map +0 -1
  260. package/dist/src/services/autonomousTurn/index.d.cts +0 -6
  261. package/dist/src/services/autonomousTurn/index.d.cts.map +0 -1
  262. package/dist/src/services/autonomousTurn/index.d.mts +0 -6
  263. package/dist/src/services/autonomousTurn/index.d.mts.map +0 -1
  264. package/dist/src/services/autonomousTurn/index.mjs +0 -33
  265. package/dist/src/services/autonomousTurn/index.mjs.map +0 -1
  266. package/dist/src/services/autonomousVoiceSession/index.cjs +0 -797
  267. package/dist/src/services/autonomousVoiceSession/index.cjs.map +0 -1
  268. package/dist/src/services/autonomousVoiceSession/index.mjs +0 -797
  269. package/dist/src/services/autonomousVoiceSession/index.mjs.map +0 -1
  270. package/dist/src/services/autonomousVoiceTelemetry/index.cjs +0 -83
  271. package/dist/src/services/autonomousVoiceTelemetry/index.cjs.map +0 -1
  272. package/dist/src/services/autonomousVoiceTelemetry/index.d.cts +0 -8
  273. package/dist/src/services/autonomousVoiceTelemetry/index.d.cts.map +0 -1
  274. package/dist/src/services/autonomousVoiceTelemetry/index.d.mts +0 -8
  275. package/dist/src/services/autonomousVoiceTelemetry/index.d.mts.map +0 -1
  276. package/dist/src/services/autonomousVoiceTelemetry/index.mjs +0 -82
  277. package/dist/src/services/autonomousVoiceTelemetry/index.mjs.map +0 -1
  278. package/dist/src/services/captureSession/index.cjs +0 -252
  279. package/dist/src/services/captureSession/index.cjs.map +0 -1
  280. package/dist/src/services/captureSession/index.mjs +0 -252
  281. package/dist/src/services/captureSession/index.mjs.map +0 -1
  282. package/dist/src/services/catalog/index.cjs +0 -111
  283. package/dist/src/services/catalog/index.cjs.map +0 -1
  284. package/dist/src/services/catalog/index.mjs +0 -105
  285. package/dist/src/services/catalog/index.mjs.map +0 -1
  286. package/dist/src/services/clientMedia/index.cjs +0 -203
  287. package/dist/src/services/clientMedia/index.cjs.map +0 -1
  288. package/dist/src/services/clientMedia/index.d.cts +0 -24
  289. package/dist/src/services/clientMedia/index.d.cts.map +0 -1
  290. package/dist/src/services/clientMedia/index.d.mts +0 -24
  291. package/dist/src/services/clientMedia/index.d.mts.map +0 -1
  292. package/dist/src/services/clientMedia/index.mjs +0 -201
  293. package/dist/src/services/clientMedia/index.mjs.map +0 -1
  294. package/dist/src/services/clientMediaApi/index.cjs +0 -856
  295. package/dist/src/services/clientMediaApi/index.cjs.map +0 -1
  296. package/dist/src/services/clientMediaApi/index.mjs +0 -855
  297. package/dist/src/services/clientMediaApi/index.mjs.map +0 -1
  298. package/dist/src/services/codexAuth/index.cjs +0 -246
  299. package/dist/src/services/codexAuth/index.cjs.map +0 -1
  300. package/dist/src/services/codexAuth/index.mjs +0 -230
  301. package/dist/src/services/codexAuth/index.mjs.map +0 -1
  302. package/dist/src/services/codexAuthStorage/index.cjs +0 -92
  303. package/dist/src/services/codexAuthStorage/index.cjs.map +0 -1
  304. package/dist/src/services/codexAuthStorage/index.mjs +0 -92
  305. package/dist/src/services/codexAuthStorage/index.mjs.map +0 -1
  306. package/dist/src/services/codexLogin/index.cjs +0 -117
  307. package/dist/src/services/codexLogin/index.cjs.map +0 -1
  308. package/dist/src/services/codexLogin/index.mjs +0 -117
  309. package/dist/src/services/codexLogin/index.mjs.map +0 -1
  310. package/dist/src/services/codexRealtime/index.cjs +0 -207
  311. package/dist/src/services/codexRealtime/index.cjs.map +0 -1
  312. package/dist/src/services/codexRealtime/index.mjs +0 -207
  313. package/dist/src/services/codexRealtime/index.mjs.map +0 -1
  314. package/dist/src/services/commandCorrection/index.cjs +0 -350
  315. package/dist/src/services/commandCorrection/index.cjs.map +0 -1
  316. package/dist/src/services/commandCorrection/index.d.cts +0 -23
  317. package/dist/src/services/commandCorrection/index.d.cts.map +0 -1
  318. package/dist/src/services/commandCorrection/index.d.mts +0 -23
  319. package/dist/src/services/commandCorrection/index.d.mts.map +0 -1
  320. package/dist/src/services/commandCorrection/index.mjs +0 -346
  321. package/dist/src/services/commandCorrection/index.mjs.map +0 -1
  322. package/dist/src/services/commandCorrection/type.d.cts +0 -25
  323. package/dist/src/services/commandCorrection/type.d.cts.map +0 -1
  324. package/dist/src/services/commandCorrection/type.d.mts +0 -25
  325. package/dist/src/services/commandCorrection/type.d.mts.map +0 -1
  326. package/dist/src/services/controlPhraseMatcher/index.cjs +0 -124
  327. package/dist/src/services/controlPhraseMatcher/index.cjs.map +0 -1
  328. package/dist/src/services/controlPhraseMatcher/index.mjs +0 -117
  329. package/dist/src/services/controlPhraseMatcher/index.mjs.map +0 -1
  330. package/dist/src/services/download/index.cjs +0 -98
  331. package/dist/src/services/download/index.cjs.map +0 -1
  332. package/dist/src/services/download/index.mjs +0 -91
  333. package/dist/src/services/download/index.mjs.map +0 -1
  334. package/dist/src/services/encodedAudio/index.cjs +0 -107
  335. package/dist/src/services/encodedAudio/index.cjs.map +0 -1
  336. package/dist/src/services/encodedAudio/index.mjs +0 -104
  337. package/dist/src/services/encodedAudio/index.mjs.map +0 -1
  338. package/dist/src/services/fallbackNarration/index.cjs +0 -279
  339. package/dist/src/services/fallbackNarration/index.cjs.map +0 -1
  340. package/dist/src/services/fallbackNarration/index.d.cts +0 -14
  341. package/dist/src/services/fallbackNarration/index.d.cts.map +0 -1
  342. package/dist/src/services/fallbackNarration/index.d.mts +0 -14
  343. package/dist/src/services/fallbackNarration/index.d.mts.map +0 -1
  344. package/dist/src/services/fallbackNarration/index.mjs +0 -278
  345. package/dist/src/services/fallbackNarration/index.mjs.map +0 -1
  346. package/dist/src/services/fallbackNarration/type.d.cts +0 -29
  347. package/dist/src/services/fallbackNarration/type.d.cts.map +0 -1
  348. package/dist/src/services/fallbackNarration/type.d.mts +0 -29
  349. package/dist/src/services/fallbackNarration/type.d.mts.map +0 -1
  350. package/dist/src/services/fileTurnSpool/index.cjs +0 -214
  351. package/dist/src/services/fileTurnSpool/index.cjs.map +0 -1
  352. package/dist/src/services/fileTurnSpool/index.mjs +0 -211
  353. package/dist/src/services/fileTurnSpool/index.mjs.map +0 -1
  354. package/dist/src/services/infrastructure/index.cjs +0 -530
  355. package/dist/src/services/infrastructure/index.cjs.map +0 -1
  356. package/dist/src/services/infrastructure/index.d.cts +0 -64
  357. package/dist/src/services/infrastructure/index.d.cts.map +0 -1
  358. package/dist/src/services/infrastructure/index.d.mts +0 -64
  359. package/dist/src/services/infrastructure/index.d.mts.map +0 -1
  360. package/dist/src/services/infrastructure/index.mjs +0 -515
  361. package/dist/src/services/infrastructure/index.mjs.map +0 -1
  362. package/dist/src/services/install/index.cjs +0 -93
  363. package/dist/src/services/install/index.cjs.map +0 -1
  364. package/dist/src/services/install/index.mjs +0 -91
  365. package/dist/src/services/install/index.mjs.map +0 -1
  366. package/dist/src/services/liveVoiceController/index.cjs +0 -311
  367. package/dist/src/services/liveVoiceController/index.cjs.map +0 -1
  368. package/dist/src/services/liveVoiceController/index.mjs +0 -311
  369. package/dist/src/services/liveVoiceController/index.mjs.map +0 -1
  370. package/dist/src/services/manualTranscription/index.cjs +0 -78
  371. package/dist/src/services/manualTranscription/index.cjs.map +0 -1
  372. package/dist/src/services/manualTranscription/index.mjs +0 -78
  373. package/dist/src/services/manualTranscription/index.mjs.map +0 -1
  374. package/dist/src/services/manualTranscriptionApi/index.cjs +0 -102
  375. package/dist/src/services/manualTranscriptionApi/index.cjs.map +0 -1
  376. package/dist/src/services/manualTranscriptionApi/index.mjs +0 -101
  377. package/dist/src/services/manualTranscriptionApi/index.mjs.map +0 -1
  378. package/dist/src/services/manualTranscriptionConfig/index.cjs +0 -20
  379. package/dist/src/services/manualTranscriptionConfig/index.cjs.map +0 -1
  380. package/dist/src/services/manualTranscriptionConfig/index.mjs +0 -20
  381. package/dist/src/services/manualTranscriptionConfig/index.mjs.map +0 -1
  382. package/dist/src/services/minorModeCatalog/index.cjs +0 -82
  383. package/dist/src/services/minorModeCatalog/index.cjs.map +0 -1
  384. package/dist/src/services/minorModeCatalog/index.mjs +0 -81
  385. package/dist/src/services/minorModeCatalog/index.mjs.map +0 -1
  386. package/dist/src/services/narration/index.cjs +0 -240
  387. package/dist/src/services/narration/index.cjs.map +0 -1
  388. package/dist/src/services/narration/index.d.cts +0 -56
  389. package/dist/src/services/narration/index.d.cts.map +0 -1
  390. package/dist/src/services/narration/index.d.mts +0 -56
  391. package/dist/src/services/narration/index.d.mts.map +0 -1
  392. package/dist/src/services/narration/index.mjs +0 -240
  393. package/dist/src/services/narration/index.mjs.map +0 -1
  394. package/dist/src/services/narrationBargeIn/index.cjs +0 -241
  395. package/dist/src/services/narrationBargeIn/index.cjs.map +0 -1
  396. package/dist/src/services/narrationBargeIn/index.mjs +0 -239
  397. package/dist/src/services/narrationBargeIn/index.mjs.map +0 -1
  398. package/dist/src/services/narrationPlayback/index.cjs +0 -271
  399. package/dist/src/services/narrationPlayback/index.cjs.map +0 -1
  400. package/dist/src/services/narrationPlayback/index.d.cts +0 -55
  401. package/dist/src/services/narrationPlayback/index.d.cts.map +0 -1
  402. package/dist/src/services/narrationPlayback/index.d.mts +0 -55
  403. package/dist/src/services/narrationPlayback/index.d.mts.map +0 -1
  404. package/dist/src/services/narrationPlayback/index.mjs +0 -271
  405. package/dist/src/services/narrationPlayback/index.mjs.map +0 -1
  406. package/dist/src/services/narrationTool/index.cjs +0 -92
  407. package/dist/src/services/narrationTool/index.cjs.map +0 -1
  408. package/dist/src/services/narrationTool/index.d.cts +0 -7
  409. package/dist/src/services/narrationTool/index.d.mts +0 -7
  410. package/dist/src/services/narrationTool/index.mjs +0 -91
  411. package/dist/src/services/narrationTool/index.mjs.map +0 -1
  412. package/dist/src/services/pcm/index.cjs +0 -62
  413. package/dist/src/services/pcm/index.cjs.map +0 -1
  414. package/dist/src/services/pcm/index.d.cts +0 -15
  415. package/dist/src/services/pcm/index.d.cts.map +0 -1
  416. package/dist/src/services/pcm/index.d.mts +0 -15
  417. package/dist/src/services/pcm/index.d.mts.map +0 -1
  418. package/dist/src/services/pcm/index.mjs +0 -55
  419. package/dist/src/services/pcm/index.mjs.map +0 -1
  420. package/dist/src/services/playbackGate/index.cjs +0 -44
  421. package/dist/src/services/playbackGate/index.cjs.map +0 -1
  422. package/dist/src/services/playbackGate/index.mjs +0 -44
  423. package/dist/src/services/playbackGate/index.mjs.map +0 -1
  424. package/dist/src/services/realtimeContext/index.cjs +0 -81
  425. package/dist/src/services/realtimeContext/index.cjs.map +0 -1
  426. package/dist/src/services/realtimeContext/index.mjs +0 -81
  427. package/dist/src/services/realtimeContext/index.mjs.map +0 -1
  428. package/dist/src/services/realtimeDelivery/index.cjs +0 -109
  429. package/dist/src/services/realtimeDelivery/index.cjs.map +0 -1
  430. package/dist/src/services/realtimeDelivery/index.mjs +0 -109
  431. package/dist/src/services/realtimeDelivery/index.mjs.map +0 -1
  432. package/dist/src/services/realtimeHost/index.cjs +0 -9
  433. package/dist/src/services/realtimeHost/index.cjs.map +0 -1
  434. package/dist/src/services/realtimeHost/index.d.cts +0 -11
  435. package/dist/src/services/realtimeHost/index.d.cts.map +0 -1
  436. package/dist/src/services/realtimeHost/index.d.mts +0 -11
  437. package/dist/src/services/realtimeHost/index.d.mts.map +0 -1
  438. package/dist/src/services/realtimeHost/index.mjs +0 -9
  439. package/dist/src/services/realtimeHost/index.mjs.map +0 -1
  440. package/dist/src/services/realtimeMediaBroker/index.cjs +0 -130
  441. package/dist/src/services/realtimeMediaBroker/index.cjs.map +0 -1
  442. package/dist/src/services/realtimeMediaBroker/index.mjs +0 -130
  443. package/dist/src/services/realtimeMediaBroker/index.mjs.map +0 -1
  444. package/dist/src/services/realtimeProtocol/index.cjs +0 -139
  445. package/dist/src/services/realtimeProtocol/index.cjs.map +0 -1
  446. package/dist/src/services/realtimeProtocol/index.mjs +0 -137
  447. package/dist/src/services/realtimeProtocol/index.mjs.map +0 -1
  448. package/dist/src/services/realtimeRuntime/index.cjs +0 -371
  449. package/dist/src/services/realtimeRuntime/index.cjs.map +0 -1
  450. package/dist/src/services/realtimeRuntime/index.d.cts +0 -8
  451. package/dist/src/services/realtimeRuntime/index.d.cts.map +0 -1
  452. package/dist/src/services/realtimeRuntime/index.d.mts +0 -8
  453. package/dist/src/services/realtimeRuntime/index.d.mts.map +0 -1
  454. package/dist/src/services/realtimeRuntime/index.mjs +0 -371
  455. package/dist/src/services/realtimeRuntime/index.mjs.map +0 -1
  456. package/dist/src/services/realtimeSession/index.cjs +0 -174
  457. package/dist/src/services/realtimeSession/index.cjs.map +0 -1
  458. package/dist/src/services/realtimeSession/index.mjs +0 -174
  459. package/dist/src/services/realtimeSession/index.mjs.map +0 -1
  460. package/dist/src/services/semanticEcho/index.cjs +0 -316
  461. package/dist/src/services/semanticEcho/index.cjs.map +0 -1
  462. package/dist/src/services/semanticEcho/index.d.cts +0 -42
  463. package/dist/src/services/semanticEcho/index.d.cts.map +0 -1
  464. package/dist/src/services/semanticEcho/index.d.mts +0 -42
  465. package/dist/src/services/semanticEcho/index.d.mts.map +0 -1
  466. package/dist/src/services/semanticEcho/index.mjs +0 -308
  467. package/dist/src/services/semanticEcho/index.mjs.map +0 -1
  468. package/dist/src/services/semanticEcho/type.d.cts +0 -52
  469. package/dist/src/services/semanticEcho/type.d.cts.map +0 -1
  470. package/dist/src/services/semanticEcho/type.d.mts +0 -52
  471. package/dist/src/services/semanticEcho/type.d.mts.map +0 -1
  472. package/dist/src/services/sessionVoiceOwnership/index.cjs +0 -239
  473. package/dist/src/services/sessionVoiceOwnership/index.cjs.map +0 -1
  474. package/dist/src/services/sessionVoiceOwnership/index.d.cts +0 -8
  475. package/dist/src/services/sessionVoiceOwnership/index.d.cts.map +0 -1
  476. package/dist/src/services/sessionVoiceOwnership/index.d.mts +0 -8
  477. package/dist/src/services/sessionVoiceOwnership/index.d.mts.map +0 -1
  478. package/dist/src/services/sessionVoiceOwnership/index.mjs +0 -235
  479. package/dist/src/services/sessionVoiceOwnership/index.mjs.map +0 -1
  480. package/dist/src/services/silero/index.cjs +0 -103
  481. package/dist/src/services/silero/index.cjs.map +0 -1
  482. package/dist/src/services/silero/index.mjs +0 -99
  483. package/dist/src/services/silero/index.mjs.map +0 -1
  484. package/dist/src/services/transcriptAdmission/index.cjs +0 -409
  485. package/dist/src/services/transcriptAdmission/index.cjs.map +0 -1
  486. package/dist/src/services/transcriptAdmission/index.d.cts +0 -3
  487. package/dist/src/services/transcriptAdmission/index.d.mts +0 -3
  488. package/dist/src/services/transcriptAdmission/index.mjs +0 -408
  489. package/dist/src/services/transcriptAdmission/index.mjs.map +0 -1
  490. package/dist/src/services/transcriptAdmission/type.d.cts +0 -44
  491. package/dist/src/services/transcriptAdmission/type.d.cts.map +0 -1
  492. package/dist/src/services/transcriptAdmission/type.d.mts +0 -44
  493. package/dist/src/services/transcriptAdmission/type.d.mts.map +0 -1
  494. package/dist/src/services/transcriptPolicy/index.cjs +0 -185
  495. package/dist/src/services/transcriptPolicy/index.cjs.map +0 -1
  496. package/dist/src/services/transcriptPolicy/index.mjs +0 -181
  497. package/dist/src/services/transcriptPolicy/index.mjs.map +0 -1
  498. package/dist/src/services/transcriptionCoordinator/index.cjs +0 -81
  499. package/dist/src/services/transcriptionCoordinator/index.cjs.map +0 -1
  500. package/dist/src/services/transcriptionCoordinator/index.mjs +0 -79
  501. package/dist/src/services/transcriptionCoordinator/index.mjs.map +0 -1
  502. package/dist/src/services/transferVoiceTool/index.cjs +0 -115
  503. package/dist/src/services/transferVoiceTool/index.cjs.map +0 -1
  504. package/dist/src/services/transferVoiceTool/index.mjs +0 -112
  505. package/dist/src/services/transferVoiceTool/index.mjs.map +0 -1
  506. package/dist/src/services/turnTranscriber/index.cjs +0 -82
  507. package/dist/src/services/turnTranscriber/index.cjs.map +0 -1
  508. package/dist/src/services/turnTranscriber/index.mjs +0 -81
  509. package/dist/src/services/turnTranscriber/index.mjs.map +0 -1
  510. package/dist/src/services/utterance/index.cjs +0 -114
  511. package/dist/src/services/utterance/index.cjs.map +0 -1
  512. package/dist/src/services/utterance/index.d.cts +0 -44
  513. package/dist/src/services/utterance/index.d.cts.map +0 -1
  514. package/dist/src/services/utterance/index.d.mts +0 -44
  515. package/dist/src/services/utterance/index.d.mts.map +0 -1
  516. package/dist/src/services/utterance/index.mjs +0 -112
  517. package/dist/src/services/utterance/index.mjs.map +0 -1
  518. package/dist/src/services/vad/index.cjs.map +0 -1
  519. package/dist/src/services/vad/index.d.cts +0 -87
  520. package/dist/src/services/vad/index.d.cts.map +0 -1
  521. package/dist/src/services/vad/index.d.mts +0 -87
  522. package/dist/src/services/vad/index.d.mts.map +0 -1
  523. package/dist/src/services/vad/index.mjs.map +0 -1
  524. package/dist/src/services/voiceCommandContext/index.cjs +0 -125
  525. package/dist/src/services/voiceCommandContext/index.cjs.map +0 -1
  526. package/dist/src/services/voiceCommandContext/index.mjs +0 -125
  527. package/dist/src/services/voiceCommandContext/index.mjs.map +0 -1
  528. package/dist/src/services/voiceConfig/index.cjs +0 -36
  529. package/dist/src/services/voiceConfig/index.cjs.map +0 -1
  530. package/dist/src/services/voiceConfig/index.d.cts +0 -7
  531. package/dist/src/services/voiceConfig/index.d.cts.map +0 -1
  532. package/dist/src/services/voiceConfig/index.d.mts +0 -7
  533. package/dist/src/services/voiceConfig/index.d.mts.map +0 -1
  534. package/dist/src/services/voiceConfig/index.mjs +0 -32
  535. package/dist/src/services/voiceConfig/index.mjs.map +0 -1
  536. package/dist/src/services/voiceConfigController/index.cjs +0 -813
  537. package/dist/src/services/voiceConfigController/index.cjs.map +0 -1
  538. package/dist/src/services/voiceConfigController/index.mjs +0 -807
  539. package/dist/src/services/voiceConfigController/index.mjs.map +0 -1
  540. package/dist/src/services/voiceController/index.cjs +0 -795
  541. package/dist/src/services/voiceController/index.cjs.map +0 -1
  542. package/dist/src/services/voiceController/index.d.cts +0 -109
  543. package/dist/src/services/voiceController/index.d.cts.map +0 -1
  544. package/dist/src/services/voiceController/index.d.mts +0 -109
  545. package/dist/src/services/voiceController/index.d.mts.map +0 -1
  546. package/dist/src/services/voiceController/index.mjs +0 -778
  547. package/dist/src/services/voiceController/index.mjs.map +0 -1
  548. package/dist/src/services/voiceDelivery/index.cjs +0 -76
  549. package/dist/src/services/voiceDelivery/index.cjs.map +0 -1
  550. package/dist/src/services/voiceDelivery/index.d.cts +0 -5
  551. package/dist/src/services/voiceDelivery/index.d.cts.map +0 -1
  552. package/dist/src/services/voiceDelivery/index.d.mts +0 -5
  553. package/dist/src/services/voiceDelivery/index.d.mts.map +0 -1
  554. package/dist/src/services/voiceDelivery/index.mjs +0 -76
  555. package/dist/src/services/voiceDelivery/index.mjs.map +0 -1
  556. package/dist/src/services/voiceDependencies/index.cjs +0 -39
  557. package/dist/src/services/voiceDependencies/index.cjs.map +0 -1
  558. package/dist/src/services/voiceDependencies/index.d.cts +0 -5
  559. package/dist/src/services/voiceDependencies/index.d.cts.map +0 -1
  560. package/dist/src/services/voiceDependencies/index.d.mts +0 -5
  561. package/dist/src/services/voiceDependencies/index.d.mts.map +0 -1
  562. package/dist/src/services/voiceDependencies/index.mjs +0 -39
  563. package/dist/src/services/voiceDependencies/index.mjs.map +0 -1
  564. package/dist/src/services/voiceMediaHubChannel/index.cjs +0 -217
  565. package/dist/src/services/voiceMediaHubChannel/index.cjs.map +0 -1
  566. package/dist/src/services/voiceMediaHubChannel/index.mjs +0 -216
  567. package/dist/src/services/voiceMediaHubChannel/index.mjs.map +0 -1
  568. package/dist/src/services/voiceModeController/index.cjs +0 -68
  569. package/dist/src/services/voiceModeController/index.cjs.map +0 -1
  570. package/dist/src/services/voiceModeController/index.mjs +0 -68
  571. package/dist/src/services/voiceModeController/index.mjs.map +0 -1
  572. package/dist/src/services/voiceOwnershipCoordinator/index.cjs +0 -227
  573. package/dist/src/services/voiceOwnershipCoordinator/index.cjs.map +0 -1
  574. package/dist/src/services/voiceOwnershipCoordinator/index.mjs +0 -227
  575. package/dist/src/services/voiceOwnershipCoordinator/index.mjs.map +0 -1
  576. package/dist/src/services/voicePeerRelay/index.cjs +0 -335
  577. package/dist/src/services/voicePeerRelay/index.cjs.map +0 -1
  578. package/dist/src/services/voicePeerRelay/index.mjs +0 -331
  579. package/dist/src/services/voicePeerRelay/index.mjs.map +0 -1
  580. package/dist/src/services/voicePlugin/index.cjs +0 -163
  581. package/dist/src/services/voicePlugin/index.cjs.map +0 -1
  582. package/dist/src/services/voicePlugin/index.mjs +0 -163
  583. package/dist/src/services/voicePlugin/index.mjs.map +0 -1
  584. package/dist/src/services/voiceReadiness/index.cjs +0 -37
  585. package/dist/src/services/voiceReadiness/index.cjs.map +0 -1
  586. package/dist/src/services/voiceReadiness/index.mjs +0 -37
  587. package/dist/src/services/voiceReadiness/index.mjs.map +0 -1
  588. package/dist/src/services/voiceReadinessApi/index.cjs +0 -26
  589. package/dist/src/services/voiceReadinessApi/index.cjs.map +0 -1
  590. package/dist/src/services/voiceReadinessApi/index.mjs +0 -26
  591. package/dist/src/services/voiceReadinessApi/index.mjs.map +0 -1
  592. package/dist/src/services/voiceServer/index.cjs +0 -454
  593. package/dist/src/services/voiceServer/index.cjs.map +0 -1
  594. package/dist/src/services/voiceServer/index.mjs +0 -454
  595. package/dist/src/services/voiceServer/index.mjs.map +0 -1
  596. package/dist/src/services/voiceSessionApi/index.cjs +0 -39
  597. package/dist/src/services/voiceSessionApi/index.cjs.map +0 -1
  598. package/dist/src/services/voiceSessionApi/index.mjs +0 -39
  599. package/dist/src/services/voiceSessionApi/index.mjs.map +0 -1
  600. package/dist/src/services/voiceSessionController/index.cjs +0 -196
  601. package/dist/src/services/voiceSessionController/index.cjs.map +0 -1
  602. package/dist/src/services/voiceSessionController/index.d.cts +0 -33
  603. package/dist/src/services/voiceSessionController/index.d.cts.map +0 -1
  604. package/dist/src/services/voiceSessionController/index.d.mts +0 -33
  605. package/dist/src/services/voiceSessionController/index.d.mts.map +0 -1
  606. package/dist/src/services/voiceSessionController/index.mjs +0 -196
  607. package/dist/src/services/voiceSessionController/index.mjs.map +0 -1
  608. package/dist/src/services/voiceToolPrompt/index.cjs +0 -175
  609. package/dist/src/services/voiceToolPrompt/index.cjs.map +0 -1
  610. package/dist/src/services/voiceToolPrompt/index.mjs +0 -172
  611. package/dist/src/services/voiceToolPrompt/index.mjs.map +0 -1
  612. package/dist/src/services/voiceToolRender/index.cjs +0 -286
  613. package/dist/src/services/voiceToolRender/index.cjs.map +0 -1
  614. package/dist/src/services/voiceToolRender/index.mjs +0 -283
  615. package/dist/src/services/voiceToolRender/index.mjs.map +0 -1
  616. package/dist/src/services/voiceTools/index.cjs.map +0 -1
  617. package/dist/src/services/voiceTools/index.d.cts +0 -7
  618. package/dist/src/services/voiceTools/index.d.cts.map +0 -1
  619. package/dist/src/services/voiceTools/index.d.mts +0 -7
  620. package/dist/src/services/voiceTools/index.d.mts.map +0 -1
  621. package/dist/src/services/voiceTools/index.mjs.map +0 -1
  622. package/dist/src/services/voiceToolsController/index.cjs +0 -173
  623. package/dist/src/services/voiceToolsController/index.cjs.map +0 -1
  624. package/dist/src/services/voiceToolsController/index.d.cts +0 -3
  625. package/dist/src/services/voiceToolsController/index.d.mts +0 -3
  626. package/dist/src/services/voiceToolsController/index.mjs +0 -173
  627. package/dist/src/services/voiceToolsController/index.mjs.map +0 -1
  628. package/dist/src/services/voiceWorkerAutoCaptureController/index.cjs +0 -270
  629. package/dist/src/services/voiceWorkerAutoCaptureController/index.cjs.map +0 -1
  630. package/dist/src/services/voiceWorkerAutoCaptureController/index.d.cts +0 -72
  631. package/dist/src/services/voiceWorkerAutoCaptureController/index.d.cts.map +0 -1
  632. package/dist/src/services/voiceWorkerAutoCaptureController/index.d.mts +0 -72
  633. package/dist/src/services/voiceWorkerAutoCaptureController/index.d.mts.map +0 -1
  634. package/dist/src/services/voiceWorkerAutoCaptureController/index.mjs +0 -267
  635. package/dist/src/services/voiceWorkerAutoCaptureController/index.mjs.map +0 -1
  636. package/dist/src/services/voiceWorkerClient/index.cjs +0 -275
  637. package/dist/src/services/voiceWorkerClient/index.cjs.map +0 -1
  638. package/dist/src/services/voiceWorkerClient/index.d.cts +0 -28
  639. package/dist/src/services/voiceWorkerClient/index.d.cts.map +0 -1
  640. package/dist/src/services/voiceWorkerClient/index.d.mts +0 -28
  641. package/dist/src/services/voiceWorkerClient/index.d.mts.map +0 -1
  642. package/dist/src/services/voiceWorkerClient/index.mjs +0 -274
  643. package/dist/src/services/voiceWorkerClient/index.mjs.map +0 -1
  644. package/dist/src/services/voiceWorkerMedia/index.cjs +0 -109
  645. package/dist/src/services/voiceWorkerMedia/index.cjs.map +0 -1
  646. package/dist/src/services/voiceWorkerMedia/index.mjs +0 -108
  647. package/dist/src/services/voiceWorkerMedia/index.mjs.map +0 -1
  648. package/dist/src/services/voiceWorkerPipeline/index.cjs +0 -836
  649. package/dist/src/services/voiceWorkerPipeline/index.cjs.map +0 -1
  650. package/dist/src/services/voiceWorkerPipeline/index.mjs +0 -832
  651. package/dist/src/services/voiceWorkerPipeline/index.mjs.map +0 -1
  652. package/dist/src/services/voiceWorkerProtocol/index.cjs +0 -628
  653. package/dist/src/services/voiceWorkerProtocol/index.cjs.map +0 -1
  654. package/dist/src/services/voiceWorkerProtocol/index.d.cts +0 -149
  655. package/dist/src/services/voiceWorkerProtocol/index.d.cts.map +0 -1
  656. package/dist/src/services/voiceWorkerProtocol/index.d.mts +0 -149
  657. package/dist/src/services/voiceWorkerProtocol/index.d.mts.map +0 -1
  658. package/dist/src/services/voiceWorkerProtocol/index.mjs +0 -624
  659. package/dist/src/services/voiceWorkerProtocol/index.mjs.map +0 -1
  660. package/dist/src/services/voiceWorkerSessionController/index.cjs +0 -229
  661. package/dist/src/services/voiceWorkerSessionController/index.cjs.map +0 -1
  662. package/dist/src/services/voiceWorkerSessionController/index.d.cts +0 -21
  663. package/dist/src/services/voiceWorkerSessionController/index.d.cts.map +0 -1
  664. package/dist/src/services/voiceWorkerSessionController/index.d.mts +0 -21
  665. package/dist/src/services/voiceWorkerSessionController/index.d.mts.map +0 -1
  666. package/dist/src/services/voiceWorkerSessionController/index.mjs +0 -226
  667. package/dist/src/services/voiceWorkerSessionController/index.mjs.map +0 -1
  668. package/dist/src/services/voiceWorkerSupervisor/index.cjs +0 -121
  669. package/dist/src/services/voiceWorkerSupervisor/index.cjs.map +0 -1
  670. package/dist/src/services/voiceWorkerSupervisor/index.d.cts +0 -12
  671. package/dist/src/services/voiceWorkerSupervisor/index.d.cts.map +0 -1
  672. package/dist/src/services/voiceWorkerSupervisor/index.d.mts +0 -12
  673. package/dist/src/services/voiceWorkerSupervisor/index.d.mts.map +0 -1
  674. package/dist/src/services/voiceWorkerSupervisor/index.mjs +0 -121
  675. package/dist/src/services/voiceWorkerSupervisor/index.mjs.map +0 -1
  676. package/dist/src/services/whisper/index.cjs +0 -225
  677. package/dist/src/services/whisper/index.cjs.map +0 -1
  678. package/dist/src/services/whisper/index.d.cts +0 -34
  679. package/dist/src/services/whisper/index.d.cts.map +0 -1
  680. package/dist/src/services/whisper/index.d.mts +0 -34
  681. package/dist/src/services/whisper/index.d.mts.map +0 -1
  682. package/dist/src/services/whisper/index.mjs +0 -219
  683. package/dist/src/services/whisper/index.mjs.map +0 -1
  684. package/dist/src/types/clientCaptureActivity.cjs +0 -115
  685. package/dist/src/types/clientCaptureActivity.cjs.map +0 -1
  686. package/dist/src/types/clientCaptureActivity.d.cts +0 -38
  687. package/dist/src/types/clientCaptureActivity.d.cts.map +0 -1
  688. package/dist/src/types/clientCaptureActivity.d.mts +0 -38
  689. package/dist/src/types/clientCaptureActivity.d.mts.map +0 -1
  690. package/dist/src/types/clientCaptureActivity.mjs +0 -114
  691. package/dist/src/types/clientCaptureActivity.mjs.map +0 -1
  692. package/dist/src/types/clientMedia.cjs +0 -66
  693. package/dist/src/types/clientMedia.cjs.map +0 -1
  694. package/dist/src/types/clientMedia.d.cts +0 -164
  695. package/dist/src/types/clientMedia.d.cts.map +0 -1
  696. package/dist/src/types/clientMedia.d.mts +0 -164
  697. package/dist/src/types/clientMedia.d.mts.map +0 -1
  698. package/dist/src/types/clientMedia.mjs.map +0 -1
  699. package/dist/src/types/index.d.cts +0 -210
  700. package/dist/src/types/index.d.cts.map +0 -1
  701. package/dist/src/types/index.d.mts +0 -210
  702. package/dist/src/types/index.d.mts.map +0 -1
  703. package/dist/src/types/manualTranscription.cjs +0 -27
  704. package/dist/src/types/manualTranscription.cjs.map +0 -1
  705. package/dist/src/types/manualTranscription.mjs +0 -20
  706. package/dist/src/types/manualTranscription.mjs.map +0 -1
  707. package/dist/src/types/realtime.cjs +0 -25
  708. package/dist/src/types/realtime.cjs.map +0 -1
  709. package/dist/src/types/realtime.d.cts +0 -61
  710. package/dist/src/types/realtime.d.cts.map +0 -1
  711. package/dist/src/types/realtime.d.mts +0 -61
  712. package/dist/src/types/realtime.d.mts.map +0 -1
  713. package/dist/src/types/realtime.mjs +0 -24
  714. package/dist/src/types/realtime.mjs.map +0 -1
  715. package/dist/src/types/voiceOwnership.cjs +0 -153
  716. package/dist/src/types/voiceOwnership.cjs.map +0 -1
  717. package/dist/src/types/voiceOwnership.d.cts +0 -55
  718. package/dist/src/types/voiceOwnership.d.cts.map +0 -1
  719. package/dist/src/types/voiceOwnership.d.mts +0 -55
  720. package/dist/src/types/voiceOwnership.d.mts.map +0 -1
  721. package/dist/src/types/voiceOwnership.mjs +0 -143
  722. package/dist/src/types/voiceOwnership.mjs.map +0 -1
  723. package/dist/voiceReloadHandoff.d.cts +0 -1
  724. package/dist/voiceTools.d.cts +0 -3
  725. package/dist/voiceWorker.d.cts +0 -25
  726. package/dist/voiceWorker.d.cts.map +0 -1
  727. /package/dist/{src/schemas/apiContracts.d.mts → apiContracts.d.mts} +0 -0
@@ -1,6 +1,41 @@
1
- const require_voiceControl = require("./voiceControl.cjs");
1
+ Object.defineProperties(exports, {
2
+ __esModule: { value: true },
3
+ [Symbol.toStringTag]: { value: "Module" }
4
+ });
5
+ let _agimon_ai_doompi_core_apiContracts = require("@agimon-ai/doompi-core/apiContracts");
2
6
  let typebox = require("typebox");
3
- let _agimon_ai_doompi_core_api_contracts = require("@agimon-ai/doompi-core/api-contracts");
7
+ //#region src/schemas/voiceControl.ts
8
+ const voiceControlMethod = (0, require("@agimon-ai/doompi-core/pluginProtocol").defineDoomPluginMethod)({
9
+ service: "voice",
10
+ method: "control",
11
+ scope: "session",
12
+ direction: "client-to-server",
13
+ input: typebox.Type.Object({
14
+ action: typebox.Type.Union([
15
+ "status",
16
+ "manual",
17
+ "activate",
18
+ "deactivate",
19
+ "mute",
20
+ "unmute",
21
+ "interrupt",
22
+ "transfer"
23
+ ].map((value) => typebox.Type.Literal(value))),
24
+ target: typebox.Type.Optional(typebox.Type.Integer({ minimum: 1 })),
25
+ revision: typebox.Type.Optional(typebox.Type.String({
26
+ minLength: 1,
27
+ maxLength: 128
28
+ }))
29
+ }, { additionalProperties: false }),
30
+ output: typebox.Type.Object({
31
+ state: typebox.Type.String(),
32
+ mode: typebox.Type.String(),
33
+ manual: typebox.Type.String(),
34
+ muted: typebox.Type.Boolean(),
35
+ error: typebox.Type.Optional(typebox.Type.String())
36
+ }, { additionalProperties: false })
37
+ });
38
+ //#endregion
4
39
  //#region src/schemas/apiContracts.ts
5
40
  const S = typebox.Type.String();
6
41
  const N = typebox.Type.Number();
@@ -251,7 +286,7 @@ const pcm = (path, method, query) => {
251
286
  };
252
287
  return result;
253
288
  };
254
- const apiContracts = (0, _agimon_ai_doompi_core_api_contracts.defineApiContract)({
289
+ const apiContracts = (0, _agimon_ai_doompi_core_apiContracts.defineApiContract)({
255
290
  version: 1,
256
291
  protocols: {
257
292
  "voice-media": "6",
@@ -267,8 +302,8 @@ const apiContracts = (0, _agimon_ai_doompi_core_api_contracts.defineApiContract)
267
302
  method: "GET",
268
303
  authentication: "owner",
269
304
  description: "Voice session status and media readiness.",
270
- responses: (0, _agimon_ai_doompi_core_api_contracts.jsonApiResponses)(typebox.Type.Object({
271
- ...require_voiceControl.voiceControlMethod.output.properties,
305
+ responses: (0, _agimon_ai_doompi_core_apiContracts.jsonApiResponses)(typebox.Type.Object({
306
+ ...voiceControlMethod.output.properties,
272
307
  media: typebox.Type.Object({
273
308
  closed: B,
274
309
  capture: B,
@@ -296,9 +331,9 @@ const apiContracts = (0, _agimon_ai_doompi_core_api_contracts.defineApiContract)
296
331
  body: {
297
332
  required: true,
298
333
  contentType: "application/json",
299
- schema: require_voiceControl.voiceControlMethod.input
334
+ schema: voiceControlMethod.input
300
335
  },
301
- responses: (0, _agimon_ai_doompi_core_api_contracts.jsonApiResponses)(require_voiceControl.voiceControlMethod.output)
336
+ responses: (0, _agimon_ai_doompi_core_apiContracts.jsonApiResponses)(voiceControlMethod.output)
302
337
  },
303
338
  route("/client/connect", "POST", typebox.Type.Object({
304
339
  version: typebox.Type.Literal(6),
@@ -461,7 +496,7 @@ const apiContracts = (0, _agimon_ai_doompi_core_api_contracts.defineApiContract)
461
496
  contentType: "application/json",
462
497
  schema: typebox.Type.Unknown()
463
498
  },
464
- responses: (0, _agimon_ai_doompi_core_api_contracts.jsonApiResponses)(typebox.Type.Unknown())
499
+ responses: (0, _agimon_ai_doompi_core_apiContracts.jsonApiResponses)(typebox.Type.Unknown())
465
500
  },
466
501
  {
467
502
  id: "voice.peerOwnership",
@@ -476,7 +511,7 @@ const apiContracts = (0, _agimon_ai_doompi_core_api_contracts.defineApiContract)
476
511
  contentType: "application/json",
477
512
  schema: typebox.Type.Unknown()
478
513
  },
479
- responses: (0, _agimon_ai_doompi_core_api_contracts.jsonApiResponses)(typebox.Type.Unknown())
514
+ responses: (0, _agimon_ai_doompi_core_apiContracts.jsonApiResponses)(typebox.Type.Unknown())
480
515
  },
481
516
  {
482
517
  id: "voice.relayBinding",
@@ -494,7 +529,7 @@ const apiContracts = (0, _agimon_ai_doompi_core_api_contracts.defineApiContract)
494
529
  connectionId: S
495
530
  })
496
531
  },
497
- responses: (0, _agimon_ai_doompi_core_api_contracts.jsonApiResponses)(typebox.Type.Object({
532
+ responses: (0, _agimon_ai_doompi_core_apiContracts.jsonApiResponses)(typebox.Type.Object({
498
533
  binding: S,
499
534
  expiresAt: N
500
535
  }))
@@ -518,7 +553,7 @@ const apiContracts = (0, _agimon_ai_doompi_core_api_contracts.defineApiContract)
518
553
  contentType: "application/json",
519
554
  schema: typebox.Type.Unknown()
520
555
  },
521
- responses: (0, _agimon_ai_doompi_core_api_contracts.jsonApiResponses)(typebox.Type.Unknown())
556
+ responses: (0, _agimon_ai_doompi_core_apiContracts.jsonApiResponses)(typebox.Type.Unknown())
522
557
  },
523
558
  {
524
559
  id: "voice.readiness",
@@ -528,7 +563,7 @@ const apiContracts = (0, _agimon_ai_doompi_core_api_contracts.defineApiContract)
528
563
  method: "GET",
529
564
  authentication: "owner",
530
565
  description: "Read configured voice readiness.",
531
- responses: (0, _agimon_ai_doompi_core_api_contracts.jsonApiResponses)(typebox.Type.Object({
566
+ responses: (0, _agimon_ai_doompi_core_apiContracts.jsonApiResponses)(typebox.Type.Object({
532
567
  configured: B,
533
568
  transcription: B,
534
569
  error: O(S),
@@ -541,13 +576,13 @@ const apiContracts = (0, _agimon_ai_doompi_core_api_contracts.defineApiContract)
541
576
  sockets: [{
542
577
  id: "voice.control",
543
578
  scope: "session",
544
- service: require_voiceControl.voiceControlMethod.service,
545
- member: require_voiceControl.voiceControlMethod.method,
579
+ service: voiceControlMethod.service,
580
+ member: voiceControlMethod.method,
546
581
  kind: "method",
547
582
  direction: "client-to-server",
548
583
  description: "Voice session control through the scoped plugin service.",
549
- input: require_voiceControl.voiceControlMethod.input,
550
- output: require_voiceControl.voiceControlMethod.output
584
+ input: voiceControlMethod.input,
585
+ output: voiceControlMethod.output
551
586
  }, ...["global", "workspace"].flatMap((scope) => [{
552
587
  id: "voice.wake",
553
588
  scope,
@@ -573,7 +608,6 @@ const apiContracts = (0, _agimon_ai_doompi_core_api_contracts.defineApiContract)
573
608
  }])]
574
609
  });
575
610
  //#endregion
576
- exports.VoiceMediaEventSchema = VoiceMediaEventSchema;
577
611
  exports.apiContracts = apiContracts;
578
612
  exports.default = apiContracts;
579
613
 
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiContracts.cjs","names":["defineDoomPluginMethod","Type","Type","defineApiContract","jsonApiResponses"],"sources":["../src/schemas/voiceControl.ts","../src/schemas/apiContracts.ts"],"sourcesContent":["import { defineDoomPluginMethod } from '@agimon-ai/doompi-core/pluginProtocol';\nimport { Type } from 'typebox';\n\nexport const voiceControlMethod = defineDoomPluginMethod({\n service: 'voice',\n method: 'control',\n scope: 'session',\n direction: 'client-to-server',\n input: Type.Object(\n {\n action: Type.Union(\n ['status', 'manual', 'activate', 'deactivate', 'mute', 'unmute', 'interrupt', 'transfer'].map((value) =>\n Type.Literal(value),\n ),\n ),\n target: Type.Optional(Type.Integer({ minimum: 1 })),\n revision: Type.Optional(Type.String({ minLength: 1, maxLength: 128 })),\n },\n { additionalProperties: false },\n ),\n output: Type.Object(\n {\n state: Type.String(),\n mode: Type.String(),\n manual: Type.String(),\n muted: Type.Boolean(),\n error: Type.Optional(Type.String()),\n },\n { additionalProperties: false },\n ),\n});\n","import { defineApiContract, jsonApiResponses, type DoomHttpContract } from '@agimon-ai/doompi-core/apiContracts';\nimport { Type } from 'typebox';\n\nimport { voiceControlMethod } from './voiceControl';\n\nconst S = Type.String();\nconst N = Type.Number();\nconst B = Type.Boolean();\nconst O = Type.Optional;\nconst values = <T extends string>(items: T[]) => Type.Union(items.map((item) => Type.Literal(item)));\nconst Client = { clientId: S, connectionId: S };\nconst Configuration = Type.Object({\n mode: values(['manual', 'autonomous']),\n activityControl: values(['host', 'client']),\n endpointSilenceMs: O(Type.Integer({ minimum: 250 })),\n});\nconst Playback = { playbackId: S, outcome: values(['completed', 'stopped', 'aborted', 'failed']), error: O(S) };\nconst Sequence = { sequence: N };\nconst Control = values(['mute', 'unmute', 'interrupt']);\nconst Browser = Type.Object({\n connection: values(['connecting', 'connected', 'closed', 'failed']),\n listening: B,\n speaking: B,\n muted: B,\n error: O(S),\n});\nexport const VoiceMediaEventSchema = Type.Union([\n Type.Object({\n ...Sequence,\n type: Type.Literal('capture-start'),\n captureId: S,\n sampleRate: Type.Literal(16000),\n channels: Type.Literal(1),\n bitsPerSample: Type.Literal(16),\n configuration: Configuration,\n }),\n Type.Object({ ...Sequence, type: values(['capture-stop', 'capture-abort']), captureId: S }),\n Type.Object({\n ...Sequence,\n type: Type.Literal('playback-start'),\n playbackId: S,\n text: S,\n delivery: O(values(['client', 'streamed'])),\n voice: O(S),\n rate: O(N),\n }),\n Type.Object({ ...Sequence, type: values(['playback-stop', 'playback-abort']), playbackId: S }),\n Type.Object({ ...Sequence, type: values(['realtime-start', 'realtime-stop']), activationId: S }),\n Type.Object({ ...Sequence, type: Type.Literal('realtime-control'), activationId: S, action: Control }),\n Type.Object({ ...Sequence, type: Type.Literal('realtime-send'), activationId: S, messages: Type.Array(S) }),\n]);\nconst RealtimeEvent = Type.Union([\n Type.Object({ type: Type.Literal('ready') }),\n Type.Object({ type: Type.Literal('transcript'), role: values(['user', 'assistant']), text: S, complete: B }),\n Type.Object({ type: Type.Literal('request'), requestId: S, text: S }),\n Type.Object({ type: Type.Literal('error'), code: S }),\n]);\nconst RealtimeSnapshot = Type.Object({\n activationId: S,\n state: values(['connecting', 'active', 'closed', 'failed']),\n cursor: N,\n events: Type.Array(Type.Object({ sequence: N, event: RealtimeEvent })),\n browser: O(Browser),\n});\nconst Wake = Type.Object({ eventEpoch: S, sequence: N });\nconst Version = { version: Type.Literal(3) };\nconst Targets = Type.Array(Type.Object({ handle: S, label: S, order: N }), { maxItems: 32 });\nconst OwnershipAction = values(['catalog', 'prepare', 'activate', 'deactivate', 'readiness', 'fence']);\nconst Acknowledgement = Type.Object({\n ...Version,\n commandId: S,\n action: OwnershipAction,\n ok: B,\n active: B,\n error: O(S),\n});\nconst Command = Type.Object({\n ...Version,\n commandId: S,\n action: OwnershipAction,\n targets: O(Targets),\n catalogRevision: O(S),\n handoffId: O(S),\n controllerId: O(S),\n leaseId: O(S),\n revision: O(N),\n});\nconst Snapshot = Type.Object({\n registration: O(Type.Object({ ...Version, leaseId: S, revision: N, label: S, eligible: B, active: B })),\n targets: Targets,\n catalogRevision: O(S),\n activation: O(Type.Object({ ...Version, requestId: S })),\n handoff: O(Type.Object({ ...Version, requestId: S, handle: S, catalogRevision: S })),\n acknowledgement: O(Acknowledgement),\n});\nconst Errors = Object.fromEntries(\n [400, 404, 409, 410, 413, 415, 429, 500, 502, 503, 504].map((status) => [\n status,\n { description: 'Voice request failed.', schema: Type.Object({ error: S, code: O(S) }) },\n ]),\n);\nconst route = (\n path: string,\n method: 'GET' | 'POST',\n output?: object,\n input?: object,\n query: string[] = [],\n status = 200,\n): DoomHttpContract => ({\n id: `voice.${path.slice(1).replaceAll('/', '.')}`,\n scope: 'session',\n basePath: 'voice-media',\n path,\n method,\n authentication: 'owner',\n description: `Voice media ${path}.`,\n ...(path.startsWith('/host/') || path.startsWith('/hub/')\n ? { availability: 'Internal broker route; requires the host-issued bearer token for this route namespace.' }\n : {}),\n parameters: [\n ...query.map((name) => ({ name, in: 'query' as const, required: !['after', 'wait'].includes(name), schema: S })),\n ...(path.startsWith('/host/') || path.startsWith('/hub/')\n ? [\n {\n name: 'Authorization',\n in: 'header' as const,\n required: true,\n schema: Type.String({ pattern: '^Bearer .+' }),\n },\n ]\n : []),\n ],\n ...(input ? { body: { required: true, contentType: 'application/json', schema: input } } : {}),\n responses: {\n ...Errors,\n [output ? status : 204]: {\n description: output ? 'Voice response.' : 'Accepted with no response body.',\n ...(output ? { schema: output } : {}),\n },\n },\n});\nconst pcm = (path: string, method: 'GET' | 'POST', query: string[]): DoomHttpContract => {\n const result = route(path, method, undefined, undefined, query);\n result.description =\n 'PCM signed 16-bit little-endian, 16000 Hz, mono. Chunks contain complete samples. Activity headers carry state, level, elapsed time, epoch and speech duration. A 204 response carries x-doompi-capture-state or x-doompi-playback-state when applicable.';\n if (method === 'POST') result.body = { required: true, contentType: 'application/vnd.doompi.pcm-s16le', schema: S };\n else\n result.responses['200'] = { description: 'PCM bytes.', contentType: 'application/vnd.doompi.pcm-s16le', schema: S };\n return result;\n};\nexport const apiContracts = defineApiContract({\n version: 1,\n protocols: { 'voice-media': '6', 'voice-ownership': '3' },\n dynamic: ['Realtime event strings and SDP are provider-defined protocol documents passed through the media broker.'],\n http: [\n {\n id: 'voice.status',\n scope: 'session',\n basePath: 'voice',\n path: '/status',\n method: 'GET',\n authentication: 'owner',\n description: 'Voice session status and media readiness.',\n responses: jsonApiResponses(\n Type.Object({\n ...voiceControlMethod.output.properties,\n media: Type.Object({ closed: B, capture: B, playback: B, realtime: B }),\n readiness: Type.Object({\n configured: B,\n transcription: B,\n error: O(S),\n engine: O(S),\n mode: O(S),\n correctionModel: O(S),\n }),\n }),\n ),\n },\n {\n id: 'voice.control.http',\n scope: 'session',\n basePath: 'voice',\n path: '/control',\n method: 'POST',\n authentication: 'owner',\n description: 'Control the voice session.',\n body: { required: true, contentType: 'application/json', schema: voiceControlMethod.input },\n responses: jsonApiResponses(voiceControlMethod.output),\n },\n route(\n '/client/connect',\n 'POST',\n Type.Object({ version: Type.Literal(6), cursor: N, eventEpoch: O(S), heartbeatMs: O(N) }),\n Type.Object({\n version: Type.Literal(6),\n ...Client,\n clientKind: values(['browser', 'native']),\n controlLocation: values(['local', 'remote']),\n capabilities: Type.Object({\n capture: B,\n playback: B,\n captureActivity: B,\n autonomousOrchestration: B,\n playbackDucking: O(B),\n realtime: O(B),\n }),\n }),\n ),\n route('/client/disconnect', 'POST', undefined, Type.Object(Client)),\n route('/client/heartbeat', 'POST', Wake, Type.Object(Client)),\n {\n ...route('/client/events', 'GET', VoiceMediaEventSchema, undefined, [\n 'clientId',\n 'connectionId',\n 'after',\n 'wait',\n ]),\n responses: {\n ...Errors,\n '200': { description: 'Next event.', schema: VoiceMediaEventSchema },\n '204': { description: 'No pending event.' },\n },\n },\n pcm('/client/audio', 'POST', ['clientId', 'connectionId', 'captureId']),\n route('/client/capture-stopped', 'POST', undefined, Type.Object({ ...Client, captureId: S, error: O(S) })),\n pcm('/client/playback-audio', 'GET', ['clientId', 'connectionId', 'playbackId']),\n route('/client/playback-result', 'POST', undefined, Type.Object({ ...Client, ...Playback })),\n route(\n '/host/capture/start',\n 'POST',\n Type.Object({ configuration: Configuration }),\n Type.Object({ captureId: S, configuration: O(Configuration) }),\n [],\n 201,\n ),\n pcm('/host/capture/audio', 'GET', ['captureId']),\n ...['stop', 'abort'].map((action) =>\n route(`/host/capture/${action}`, 'POST', undefined, Type.Object({ captureId: S })),\n ),\n route(\n '/host/playback/start',\n 'POST',\n Type.Object({ delivery: values(['client', 'streamed']) }),\n Type.Object({ playbackId: S, text: S, voice: O(S), rate: O(N) }),\n [],\n 201,\n ),\n pcm('/host/playback/audio', 'POST', ['playbackId']),\n route('/host/playback/audio-end', 'POST', undefined, Type.Object({ playbackId: S, error: O(S) })),\n {\n ...route('/host/playback/result', 'GET', Type.Object(Playback), undefined, ['playbackId']),\n responses: {\n ...Errors,\n '200': { description: 'Playback outcome.', schema: Type.Object(Playback) },\n '204': { description: 'Playback is pending.' },\n },\n },\n ...['stop', 'abort'].map((action) =>\n route(`/host/playback/${action}`, 'POST', undefined, Type.Object({ playbackId: S })),\n ),\n route('/hub/ownership/state', 'GET', Snapshot),\n route('/hub/ownership/command', 'POST', Acknowledgement, Command),\n route('/host/ownership/sync', 'POST', Type.Object({ command: O(Command) }), Snapshot),\n route(\n '/host/realtime/start',\n 'POST',\n Type.Object({}),\n Type.Object({ activationId: S, instructions: Type.String({ maxLength: 16384 }) }),\n [],\n 201,\n ),\n route('/host/realtime/stop', 'POST', undefined, Type.Object({ activationId: S })),\n route('/host/realtime/poll', 'GET', RealtimeSnapshot, undefined, ['activationId', 'after']),\n route(\n '/host/realtime/send',\n 'POST',\n undefined,\n Type.Object({ activationId: S, messages: Type.Array(S, { maxItems: 64 }) }),\n ),\n route('/host/realtime/control', 'POST', undefined, Type.Object({ activationId: S, action: Control })),\n route(\n '/client/realtime/negotiate',\n 'POST',\n Type.Object({ sdp: S }),\n Type.Object({ ...Client, activationId: S, sdp: S }),\n ),\n route('/client/realtime/event', 'POST', undefined, Type.Object({ ...Client, activationId: S, event: S })),\n route('/client/realtime/state', 'POST', undefined, Type.Object({ ...Client, activationId: S, state: Browser })),\n {\n id: 'voice.manual',\n scope: 'session',\n basePath: 'voice-media',\n path: '/manual/transcribe',\n method: 'POST',\n authentication: 'owner',\n description: 'Transcribe at most 4 MiB of WebM/Opus or MP4/AAC audio, at most 300000 milliseconds.',\n parameters: [\n {\n name: 'x-doom-audio-duration-ms',\n in: 'header',\n required: true,\n schema: Type.Integer({ minimum: 0, maximum: 300000 }),\n },\n ],\n body: { required: true, contentType: 'audio/webm', contentTypes: ['audio/webm', 'audio/mp4'], schema: S },\n responses: { ...Errors, '200': { description: 'Transcript.', schema: Type.Object({ transcript: S }) } },\n },\n {\n id: 'voice.peer',\n scope: 'global',\n basePath: 'voice',\n path: '/peer',\n method: 'POST',\n authentication: 'none',\n description: 'Accept an HMAC-authenticated bounded Voice media relay request from a configured peer.',\n body: { required: true, contentType: 'application/json', schema: Type.Unknown() },\n responses: jsonApiResponses(Type.Unknown()),\n },\n {\n id: 'voice.peerOwnership',\n scope: 'global',\n basePath: 'voice',\n path: '/peer-ownership',\n method: 'POST',\n authentication: 'none',\n description: 'Discover and stage Voice ownership through an HMAC-authenticated paired host.',\n body: { required: true, contentType: 'application/json', schema: Type.Unknown() },\n responses: jsonApiResponses(Type.Unknown()),\n },\n {\n id: 'voice.relayBinding',\n scope: 'global',\n basePath: 'voice',\n path: '/relay-binding',\n method: 'POST',\n authentication: 'owner',\n description: 'Issue an expiring controller-bound handle for a granted paired Voice session.',\n body: { required: true, contentType: 'application/json', schema: Type.Object({ target: S, connectionId: S }) },\n responses: jsonApiResponses(Type.Object({ binding: S, expiresAt: N })),\n },\n {\n id: 'voice.relay',\n scope: 'global',\n basePath: 'voice',\n path: '/relay',\n method: 'POST',\n authentication: 'owner',\n description: 'Relay a browser Voice media operation through an expiring controller-bound handle.',\n parameters: [{ name: 'binding', in: 'query', required: true, schema: S }],\n body: { required: true, contentType: 'application/json', schema: Type.Unknown() },\n responses: jsonApiResponses(Type.Unknown()),\n },\n {\n id: 'voice.readiness',\n scope: 'global',\n basePath: 'voice',\n path: '/readiness',\n method: 'GET',\n authentication: 'owner',\n description: 'Read configured voice readiness.',\n responses: jsonApiResponses(\n Type.Object({\n configured: B,\n transcription: B,\n error: O(S),\n engine: O(S),\n mode: O(S),\n correctionModel: O(S),\n }),\n ),\n },\n ],\n sockets: [\n {\n id: 'voice.control',\n scope: 'session',\n service: voiceControlMethod.service,\n member: voiceControlMethod.method,\n kind: 'method',\n direction: 'client-to-server',\n description: 'Voice session control through the scoped plugin service.',\n input: voiceControlMethod.input,\n output: voiceControlMethod.output,\n },\n ...(['global', 'workspace'] as const).flatMap((scope) => [\n {\n id: 'voice.wake',\n scope,\n service: 'doompi.hub.v1',\n member: 'voice_media_wake',\n kind: 'channel' as const,\n direction: 'server-to-client' as const,\n description: 'Voice media wake channel payload.',\n input: Wake,\n },\n {\n id: 'voice.ownership',\n scope,\n service: 'doompi.hub.v1',\n member: 'voice_ownership',\n kind: 'channel' as const,\n direction: 'server-to-client' as const,\n description: 'Browser media ownership channel payload.',\n input: Type.Object({\n type: Type.Literal('browser-media-session'),\n ...Version,\n activeSessionId: Type.Union([S, Type.Null()]),\n }),\n },\n ]),\n ],\n});\nexport default apiContracts;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"apiContracts.d.mts","names":[],"sources":["../../../src/schemas/apiContracts.ts"],"mappings":";;qBAsJa"}
1
+ {"version":3,"file":"apiContracts.d.mts","names":[],"sources":["../src/schemas/apiContracts.ts"],"mappings":";;qBAsJa"}
@@ -1,6 +1,38 @@
1
- import { voiceControlMethod } from "./voiceControl.mjs";
1
+ import { defineApiContract, jsonApiResponses } from "@agimon-ai/doompi-core/apiContracts";
2
2
  import { Type } from "typebox";
3
- import { defineApiContract, jsonApiResponses } from "@agimon-ai/doompi-core/api-contracts";
3
+ import { defineDoomPluginMethod } from "@agimon-ai/doompi-core/pluginProtocol";
4
+ //#region src/schemas/voiceControl.ts
5
+ const voiceControlMethod = defineDoomPluginMethod({
6
+ service: "voice",
7
+ method: "control",
8
+ scope: "session",
9
+ direction: "client-to-server",
10
+ input: Type.Object({
11
+ action: Type.Union([
12
+ "status",
13
+ "manual",
14
+ "activate",
15
+ "deactivate",
16
+ "mute",
17
+ "unmute",
18
+ "interrupt",
19
+ "transfer"
20
+ ].map((value) => Type.Literal(value))),
21
+ target: Type.Optional(Type.Integer({ minimum: 1 })),
22
+ revision: Type.Optional(Type.String({
23
+ minLength: 1,
24
+ maxLength: 128
25
+ }))
26
+ }, { additionalProperties: false }),
27
+ output: Type.Object({
28
+ state: Type.String(),
29
+ mode: Type.String(),
30
+ manual: Type.String(),
31
+ muted: Type.Boolean(),
32
+ error: Type.Optional(Type.String())
33
+ }, { additionalProperties: false })
34
+ });
35
+ //#endregion
4
36
  //#region src/schemas/apiContracts.ts
5
37
  const S = Type.String();
6
38
  const N = Type.Number();
@@ -573,6 +605,6 @@ const apiContracts = defineApiContract({
573
605
  }])]
574
606
  });
575
607
  //#endregion
576
- export { VoiceMediaEventSchema, apiContracts, apiContracts as default };
608
+ export { apiContracts, apiContracts as default };
577
609
 
578
610
  //# sourceMappingURL=apiContracts.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiContracts.mjs","names":[],"sources":["../src/schemas/voiceControl.ts","../src/schemas/apiContracts.ts"],"sourcesContent":["import { defineDoomPluginMethod } from '@agimon-ai/doompi-core/pluginProtocol';\nimport { Type } from 'typebox';\n\nexport const voiceControlMethod = defineDoomPluginMethod({\n service: 'voice',\n method: 'control',\n scope: 'session',\n direction: 'client-to-server',\n input: Type.Object(\n {\n action: Type.Union(\n ['status', 'manual', 'activate', 'deactivate', 'mute', 'unmute', 'interrupt', 'transfer'].map((value) =>\n Type.Literal(value),\n ),\n ),\n target: Type.Optional(Type.Integer({ minimum: 1 })),\n revision: Type.Optional(Type.String({ minLength: 1, maxLength: 128 })),\n },\n { additionalProperties: false },\n ),\n output: Type.Object(\n {\n state: Type.String(),\n mode: Type.String(),\n manual: Type.String(),\n muted: Type.Boolean(),\n error: Type.Optional(Type.String()),\n },\n { additionalProperties: false },\n ),\n});\n","import { defineApiContract, jsonApiResponses, type DoomHttpContract } from '@agimon-ai/doompi-core/apiContracts';\nimport { Type } from 'typebox';\n\nimport { voiceControlMethod } from './voiceControl';\n\nconst S = Type.String();\nconst N = Type.Number();\nconst B = Type.Boolean();\nconst O = Type.Optional;\nconst values = <T extends string>(items: T[]) => Type.Union(items.map((item) => Type.Literal(item)));\nconst Client = { clientId: S, connectionId: S };\nconst Configuration = Type.Object({\n mode: values(['manual', 'autonomous']),\n activityControl: values(['host', 'client']),\n endpointSilenceMs: O(Type.Integer({ minimum: 250 })),\n});\nconst Playback = { playbackId: S, outcome: values(['completed', 'stopped', 'aborted', 'failed']), error: O(S) };\nconst Sequence = { sequence: N };\nconst Control = values(['mute', 'unmute', 'interrupt']);\nconst Browser = Type.Object({\n connection: values(['connecting', 'connected', 'closed', 'failed']),\n listening: B,\n speaking: B,\n muted: B,\n error: O(S),\n});\nexport const VoiceMediaEventSchema = Type.Union([\n Type.Object({\n ...Sequence,\n type: Type.Literal('capture-start'),\n captureId: S,\n sampleRate: Type.Literal(16000),\n channels: Type.Literal(1),\n bitsPerSample: Type.Literal(16),\n configuration: Configuration,\n }),\n Type.Object({ ...Sequence, type: values(['capture-stop', 'capture-abort']), captureId: S }),\n Type.Object({\n ...Sequence,\n type: Type.Literal('playback-start'),\n playbackId: S,\n text: S,\n delivery: O(values(['client', 'streamed'])),\n voice: O(S),\n rate: O(N),\n }),\n Type.Object({ ...Sequence, type: values(['playback-stop', 'playback-abort']), playbackId: S }),\n Type.Object({ ...Sequence, type: values(['realtime-start', 'realtime-stop']), activationId: S }),\n Type.Object({ ...Sequence, type: Type.Literal('realtime-control'), activationId: S, action: Control }),\n Type.Object({ ...Sequence, type: Type.Literal('realtime-send'), activationId: S, messages: Type.Array(S) }),\n]);\nconst RealtimeEvent = Type.Union([\n Type.Object({ type: Type.Literal('ready') }),\n Type.Object({ type: Type.Literal('transcript'), role: values(['user', 'assistant']), text: S, complete: B }),\n Type.Object({ type: Type.Literal('request'), requestId: S, text: S }),\n Type.Object({ type: Type.Literal('error'), code: S }),\n]);\nconst RealtimeSnapshot = Type.Object({\n activationId: S,\n state: values(['connecting', 'active', 'closed', 'failed']),\n cursor: N,\n events: Type.Array(Type.Object({ sequence: N, event: RealtimeEvent })),\n browser: O(Browser),\n});\nconst Wake = Type.Object({ eventEpoch: S, sequence: N });\nconst Version = { version: Type.Literal(3) };\nconst Targets = Type.Array(Type.Object({ handle: S, label: S, order: N }), { maxItems: 32 });\nconst OwnershipAction = values(['catalog', 'prepare', 'activate', 'deactivate', 'readiness', 'fence']);\nconst Acknowledgement = Type.Object({\n ...Version,\n commandId: S,\n action: OwnershipAction,\n ok: B,\n active: B,\n error: O(S),\n});\nconst Command = Type.Object({\n ...Version,\n commandId: S,\n action: OwnershipAction,\n targets: O(Targets),\n catalogRevision: O(S),\n handoffId: O(S),\n controllerId: O(S),\n leaseId: O(S),\n revision: O(N),\n});\nconst Snapshot = Type.Object({\n registration: O(Type.Object({ ...Version, leaseId: S, revision: N, label: S, eligible: B, active: B })),\n targets: Targets,\n catalogRevision: O(S),\n activation: O(Type.Object({ ...Version, requestId: S })),\n handoff: O(Type.Object({ ...Version, requestId: S, handle: S, catalogRevision: S })),\n acknowledgement: O(Acknowledgement),\n});\nconst Errors = Object.fromEntries(\n [400, 404, 409, 410, 413, 415, 429, 500, 502, 503, 504].map((status) => [\n status,\n { description: 'Voice request failed.', schema: Type.Object({ error: S, code: O(S) }) },\n ]),\n);\nconst route = (\n path: string,\n method: 'GET' | 'POST',\n output?: object,\n input?: object,\n query: string[] = [],\n status = 200,\n): DoomHttpContract => ({\n id: `voice.${path.slice(1).replaceAll('/', '.')}`,\n scope: 'session',\n basePath: 'voice-media',\n path,\n method,\n authentication: 'owner',\n description: `Voice media ${path}.`,\n ...(path.startsWith('/host/') || path.startsWith('/hub/')\n ? { availability: 'Internal broker route; requires the host-issued bearer token for this route namespace.' }\n : {}),\n parameters: [\n ...query.map((name) => ({ name, in: 'query' as const, required: !['after', 'wait'].includes(name), schema: S })),\n ...(path.startsWith('/host/') || path.startsWith('/hub/')\n ? [\n {\n name: 'Authorization',\n in: 'header' as const,\n required: true,\n schema: Type.String({ pattern: '^Bearer .+' }),\n },\n ]\n : []),\n ],\n ...(input ? { body: { required: true, contentType: 'application/json', schema: input } } : {}),\n responses: {\n ...Errors,\n [output ? status : 204]: {\n description: output ? 'Voice response.' : 'Accepted with no response body.',\n ...(output ? { schema: output } : {}),\n },\n },\n});\nconst pcm = (path: string, method: 'GET' | 'POST', query: string[]): DoomHttpContract => {\n const result = route(path, method, undefined, undefined, query);\n result.description =\n 'PCM signed 16-bit little-endian, 16000 Hz, mono. Chunks contain complete samples. Activity headers carry state, level, elapsed time, epoch and speech duration. A 204 response carries x-doompi-capture-state or x-doompi-playback-state when applicable.';\n if (method === 'POST') result.body = { required: true, contentType: 'application/vnd.doompi.pcm-s16le', schema: S };\n else\n result.responses['200'] = { description: 'PCM bytes.', contentType: 'application/vnd.doompi.pcm-s16le', schema: S };\n return result;\n};\nexport const apiContracts = defineApiContract({\n version: 1,\n protocols: { 'voice-media': '6', 'voice-ownership': '3' },\n dynamic: ['Realtime event strings and SDP are provider-defined protocol documents passed through the media broker.'],\n http: [\n {\n id: 'voice.status',\n scope: 'session',\n basePath: 'voice',\n path: '/status',\n method: 'GET',\n authentication: 'owner',\n description: 'Voice session status and media readiness.',\n responses: jsonApiResponses(\n Type.Object({\n ...voiceControlMethod.output.properties,\n media: Type.Object({ closed: B, capture: B, playback: B, realtime: B }),\n readiness: Type.Object({\n configured: B,\n transcription: B,\n error: O(S),\n engine: O(S),\n mode: O(S),\n correctionModel: O(S),\n }),\n }),\n ),\n },\n {\n id: 'voice.control.http',\n scope: 'session',\n basePath: 'voice',\n path: '/control',\n method: 'POST',\n authentication: 'owner',\n description: 'Control the voice session.',\n body: { required: true, contentType: 'application/json', schema: voiceControlMethod.input },\n responses: jsonApiResponses(voiceControlMethod.output),\n },\n route(\n '/client/connect',\n 'POST',\n Type.Object({ version: Type.Literal(6), cursor: N, eventEpoch: O(S), heartbeatMs: O(N) }),\n Type.Object({\n version: Type.Literal(6),\n ...Client,\n clientKind: values(['browser', 'native']),\n controlLocation: values(['local', 'remote']),\n capabilities: Type.Object({\n capture: B,\n playback: B,\n captureActivity: B,\n autonomousOrchestration: B,\n playbackDucking: O(B),\n realtime: O(B),\n }),\n }),\n ),\n route('/client/disconnect', 'POST', undefined, Type.Object(Client)),\n route('/client/heartbeat', 'POST', Wake, Type.Object(Client)),\n {\n ...route('/client/events', 'GET', VoiceMediaEventSchema, undefined, [\n 'clientId',\n 'connectionId',\n 'after',\n 'wait',\n ]),\n responses: {\n ...Errors,\n '200': { description: 'Next event.', schema: VoiceMediaEventSchema },\n '204': { description: 'No pending event.' },\n },\n },\n pcm('/client/audio', 'POST', ['clientId', 'connectionId', 'captureId']),\n route('/client/capture-stopped', 'POST', undefined, Type.Object({ ...Client, captureId: S, error: O(S) })),\n pcm('/client/playback-audio', 'GET', ['clientId', 'connectionId', 'playbackId']),\n route('/client/playback-result', 'POST', undefined, Type.Object({ ...Client, ...Playback })),\n route(\n '/host/capture/start',\n 'POST',\n Type.Object({ configuration: Configuration }),\n Type.Object({ captureId: S, configuration: O(Configuration) }),\n [],\n 201,\n ),\n pcm('/host/capture/audio', 'GET', ['captureId']),\n ...['stop', 'abort'].map((action) =>\n route(`/host/capture/${action}`, 'POST', undefined, Type.Object({ captureId: S })),\n ),\n route(\n '/host/playback/start',\n 'POST',\n Type.Object({ delivery: values(['client', 'streamed']) }),\n Type.Object({ playbackId: S, text: S, voice: O(S), rate: O(N) }),\n [],\n 201,\n ),\n pcm('/host/playback/audio', 'POST', ['playbackId']),\n route('/host/playback/audio-end', 'POST', undefined, Type.Object({ playbackId: S, error: O(S) })),\n {\n ...route('/host/playback/result', 'GET', Type.Object(Playback), undefined, ['playbackId']),\n responses: {\n ...Errors,\n '200': { description: 'Playback outcome.', schema: Type.Object(Playback) },\n '204': { description: 'Playback is pending.' },\n },\n },\n ...['stop', 'abort'].map((action) =>\n route(`/host/playback/${action}`, 'POST', undefined, Type.Object({ playbackId: S })),\n ),\n route('/hub/ownership/state', 'GET', Snapshot),\n route('/hub/ownership/command', 'POST', Acknowledgement, Command),\n route('/host/ownership/sync', 'POST', Type.Object({ command: O(Command) }), Snapshot),\n route(\n '/host/realtime/start',\n 'POST',\n Type.Object({}),\n Type.Object({ activationId: S, instructions: Type.String({ maxLength: 16384 }) }),\n [],\n 201,\n ),\n route('/host/realtime/stop', 'POST', undefined, Type.Object({ activationId: S })),\n route('/host/realtime/poll', 'GET', RealtimeSnapshot, undefined, ['activationId', 'after']),\n route(\n '/host/realtime/send',\n 'POST',\n undefined,\n Type.Object({ activationId: S, messages: Type.Array(S, { maxItems: 64 }) }),\n ),\n route('/host/realtime/control', 'POST', undefined, Type.Object({ activationId: S, action: Control })),\n route(\n '/client/realtime/negotiate',\n 'POST',\n Type.Object({ sdp: S }),\n Type.Object({ ...Client, activationId: S, sdp: S }),\n ),\n route('/client/realtime/event', 'POST', undefined, Type.Object({ ...Client, activationId: S, event: S })),\n route('/client/realtime/state', 'POST', undefined, Type.Object({ ...Client, activationId: S, state: Browser })),\n {\n id: 'voice.manual',\n scope: 'session',\n basePath: 'voice-media',\n path: '/manual/transcribe',\n method: 'POST',\n authentication: 'owner',\n description: 'Transcribe at most 4 MiB of WebM/Opus or MP4/AAC audio, at most 300000 milliseconds.',\n parameters: [\n {\n name: 'x-doom-audio-duration-ms',\n in: 'header',\n required: true,\n schema: Type.Integer({ minimum: 0, maximum: 300000 }),\n },\n ],\n body: { required: true, contentType: 'audio/webm', contentTypes: ['audio/webm', 'audio/mp4'], schema: S },\n responses: { ...Errors, '200': { description: 'Transcript.', schema: Type.Object({ transcript: S }) } },\n },\n {\n id: 'voice.peer',\n scope: 'global',\n basePath: 'voice',\n path: '/peer',\n method: 'POST',\n authentication: 'none',\n description: 'Accept an HMAC-authenticated bounded Voice media relay request from a configured peer.',\n body: { required: true, contentType: 'application/json', schema: Type.Unknown() },\n responses: jsonApiResponses(Type.Unknown()),\n },\n {\n id: 'voice.peerOwnership',\n scope: 'global',\n basePath: 'voice',\n path: '/peer-ownership',\n method: 'POST',\n authentication: 'none',\n description: 'Discover and stage Voice ownership through an HMAC-authenticated paired host.',\n body: { required: true, contentType: 'application/json', schema: Type.Unknown() },\n responses: jsonApiResponses(Type.Unknown()),\n },\n {\n id: 'voice.relayBinding',\n scope: 'global',\n basePath: 'voice',\n path: '/relay-binding',\n method: 'POST',\n authentication: 'owner',\n description: 'Issue an expiring controller-bound handle for a granted paired Voice session.',\n body: { required: true, contentType: 'application/json', schema: Type.Object({ target: S, connectionId: S }) },\n responses: jsonApiResponses(Type.Object({ binding: S, expiresAt: N })),\n },\n {\n id: 'voice.relay',\n scope: 'global',\n basePath: 'voice',\n path: '/relay',\n method: 'POST',\n authentication: 'owner',\n description: 'Relay a browser Voice media operation through an expiring controller-bound handle.',\n parameters: [{ name: 'binding', in: 'query', required: true, schema: S }],\n body: { required: true, contentType: 'application/json', schema: Type.Unknown() },\n responses: jsonApiResponses(Type.Unknown()),\n },\n {\n id: 'voice.readiness',\n scope: 'global',\n basePath: 'voice',\n path: '/readiness',\n method: 'GET',\n authentication: 'owner',\n description: 'Read configured voice readiness.',\n responses: jsonApiResponses(\n Type.Object({\n configured: B,\n transcription: B,\n error: O(S),\n engine: O(S),\n mode: O(S),\n correctionModel: O(S),\n }),\n ),\n },\n ],\n sockets: [\n {\n id: 'voice.control',\n scope: 'session',\n service: voiceControlMethod.service,\n member: voiceControlMethod.method,\n kind: 'method',\n direction: 'client-to-server',\n description: 'Voice session control through the scoped plugin service.',\n input: voiceControlMethod.input,\n output: voiceControlMethod.output,\n },\n ...(['global', 'workspace'] as const).flatMap((scope) => [\n {\n id: 'voice.wake',\n scope,\n service: 'doompi.hub.v1',\n member: 'voice_media_wake',\n kind: 'channel' as const,\n direction: 'server-to-client' as const,\n description: 'Voice media wake channel payload.',\n input: Wake,\n },\n {\n id: 'voice.ownership',\n scope,\n service: 'doompi.hub.v1',\n member: 'voice_ownership',\n kind: 'channel' as const,\n direction: 'server-to-client' as const,\n description: 'Browser media ownership channel payload.',\n input: Type.Object({\n type: Type.Literal('browser-media-session'),\n ...Version,\n activeSessionId: Type.Union([S, Type.Null()]),\n }),\n },\n ]),\n ],\n});\nexport default apiContracts;\n"],"mappings":"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"}
@@ -0,0 +1,259 @@
1
+ //#region src/types/clientCaptureActivity.d.ts
2
+ interface SpeechPresenceWindow {
3
+ readonly speech: boolean;
4
+ readonly sampleCount: number;
5
+ }
6
+ /** Platform boundary for browser workers and native speech-presence implementations. */
7
+ interface SpeechPresenceDetector {
8
+ push(pcm: Uint8Array): Promise<readonly SpeechPresenceWindow[]>;
9
+ reset(): Promise<void>;
10
+ close(): Promise<void>;
11
+ }
12
+ /** Calculates the RMS level of complete little-endian PCM16 samples without environment-specific APIs. */
13
+ declare function calculateClientPcmDbfs(pcm: Uint8Array): number;
14
+ interface ClientCaptureSpeechClassification {
15
+ readonly echoReferenceActive: boolean;
16
+ readonly echoDiscriminated: boolean;
17
+ }
18
+ /** Portable lifecycle. Classifier windows are authoritative; RMS is level telemetry only. */
19
+ declare class ClientCaptureActivityLifecycle {
20
+ private readonly endpointSilenceMs;
21
+ private elapsedBytes;
22
+ private activityEpoch;
23
+ private consecutiveSpeechSamples;
24
+ private consecutiveEchoSpeechSamples;
25
+ private classifiedSpeechSamples;
26
+ private echoDiscriminatedSpeechSamples;
27
+ private trailingSilenceSamples;
28
+ private speechStarted;
29
+ private endpointReached;
30
+ private previousEchoDiscriminated;
31
+ constructor(endpointSilenceMs?: number);
32
+ push(pcm: Uint8Array, windows?: readonly SpeechPresenceWindow[], classification?: ClientCaptureSpeechClassification): VoiceMediaCaptureActivity;
33
+ /** Starts a fresh classifier phase while preserving monotonic capture time. */
34
+ resetActivity(): void;
35
+ }
36
+ //#endregion
37
+ //#region src/types/realtime.d.ts
38
+ type RealtimeEvent = {
39
+ type: 'ready';
40
+ } | {
41
+ type: 'transcript';
42
+ role: 'user' | 'assistant';
43
+ text: string;
44
+ complete: boolean;
45
+ } | {
46
+ type: 'request';
47
+ requestId: string;
48
+ text: string;
49
+ } | {
50
+ type: 'error';
51
+ code: string;
52
+ };
53
+ interface RealtimeBrowserState {
54
+ connection: 'connecting' | 'connected' | 'closed' | 'failed';
55
+ listening: boolean;
56
+ speaking: boolean;
57
+ muted: boolean;
58
+ error?: string;
59
+ }
60
+ type RealtimeControl = 'mute' | 'unmute' | 'interrupt';
61
+ type RealtimeMediaCommand = {
62
+ sequence: number;
63
+ type: 'realtime-start';
64
+ activationId: string;
65
+ } | {
66
+ sequence: number;
67
+ type: 'realtime-stop';
68
+ activationId: string;
69
+ } | {
70
+ sequence: number;
71
+ type: 'realtime-control';
72
+ activationId: string;
73
+ action: RealtimeControl;
74
+ } | {
75
+ sequence: number;
76
+ type: 'realtime-send';
77
+ activationId: string;
78
+ messages: string[];
79
+ };
80
+ interface RealtimeHostSnapshot {
81
+ activationId: string;
82
+ state: 'connecting' | 'active' | 'closed' | 'failed';
83
+ cursor: number;
84
+ events: {
85
+ sequence: number;
86
+ event: RealtimeEvent;
87
+ }[];
88
+ browser?: RealtimeBrowserState;
89
+ }
90
+ /** All methods use the existing authenticated media transport and current connection lease. */
91
+ interface RealtimeMediaTransport {
92
+ realtimeNegotiate(clientId: string, connectionId: string, activationId: string, sdp: string, signal: AbortSignal): Promise<string>;
93
+ realtimeEvent(clientId: string, connectionId: string, activationId: string, event: string): Promise<void>;
94
+ realtimeState(clientId: string, connectionId: string, activationId: string, state: RealtimeBrowserState): Promise<void>;
95
+ }
96
+ //#endregion
97
+ //#region src/types/clientMedia.d.ts
98
+ declare const VOICE_MEDIA_API_BASE_PATH = "voice-media";
99
+ declare const VOICE_MEDIA_PROTOCOL_VERSION = 6;
100
+ declare const VOICE_MEDIA_SAMPLE_RATE = 16000;
101
+ declare const VOICE_MEDIA_CHANNELS = 1;
102
+ declare const VOICE_MEDIA_BITS_PER_SAMPLE = 16;
103
+ declare const VOICE_MEDIA_CONTENT_TYPE = "application/vnd.doompi.pcm-s16le";
104
+ declare const VOICE_MEDIA_ACTIVITY_STATE_HEADER = "x-doompi-voice-activity-state";
105
+ declare const VOICE_MEDIA_PLAYBACK_STATE_HEADER = "x-doompi-playback-state";
106
+ declare const VOICE_MEDIA_ACTIVITY_LEVEL_HEADER = "x-doompi-voice-activity-level";
107
+ declare const VOICE_MEDIA_ACTIVITY_ELAPSED_HEADER = "x-doompi-voice-activity-elapsed";
108
+ declare const VOICE_MEDIA_ACTIVITY_EPOCH_HEADER = "x-doompi-voice-activity-epoch";
109
+ declare const VOICE_MEDIA_ACTIVITY_SPEECH_MS_HEADER = "x-doompi-voice-activity-speech-ms";
110
+ declare const VOICE_MEDIA_ACTIVITY_ECHO_SPEECH_MS_HEADER = "x-doompi-voice-activity-echo-speech-ms";
111
+ declare const VOICE_MEDIA_WAKE_TYPE = "voice_media_wake";
112
+ declare const VOICE_MEDIA_HEARTBEAT_MS = 5000;
113
+ declare const VOICE_MEDIA_EVENT_WAIT_NONE = "0";
114
+ declare const VOICE_MEDIA_ROUTES: {
115
+ readonly clientConnect: '/client/connect';
116
+ readonly clientDisconnect: '/client/disconnect';
117
+ readonly clientEvents: '/client/events';
118
+ readonly clientHeartbeat: '/client/heartbeat';
119
+ readonly clientAudio: '/client/audio';
120
+ readonly clientCaptureStopped: '/client/capture-stopped';
121
+ readonly clientPlaybackAudio: '/client/playback-audio';
122
+ readonly clientPlaybackResult: '/client/playback-result';
123
+ readonly hostCaptureStart: '/host/capture/start';
124
+ readonly hostCaptureAudio: '/host/capture/audio';
125
+ readonly hostCaptureStop: '/host/capture/stop';
126
+ readonly hostCaptureAbort: '/host/capture/abort';
127
+ readonly hostPlaybackStart: '/host/playback/start';
128
+ readonly hostPlaybackAudio: '/host/playback/audio';
129
+ readonly hostPlaybackAudioEnd: '/host/playback/audio-end';
130
+ readonly hostPlaybackResult: '/host/playback/result';
131
+ readonly hostPlaybackStop: '/host/playback/stop';
132
+ readonly hostPlaybackAbort: '/host/playback/abort';
133
+ };
134
+ type VoiceClientKind = 'browser' | 'native';
135
+ type VoiceMediaControlLocation = 'local' | 'remote';
136
+ interface VoiceMediaCapabilities {
137
+ capture: boolean;
138
+ playback: boolean;
139
+ captureActivity: boolean;
140
+ autonomousOrchestration: boolean;
141
+ playbackDucking?: boolean;
142
+ realtime?: boolean;
143
+ }
144
+ type VoiceMediaCaptureMode = 'manual' | 'autonomous';
145
+ type VoiceMediaPlaybackDelivery = 'client' | 'streamed';
146
+ type VoiceMediaCaptureActivityState = 'listening' | 'speech' | 'endpoint';
147
+ interface VoiceMediaCaptureActivity {
148
+ state: VoiceMediaCaptureActivityState;
149
+ levelDbfs: number;
150
+ elapsedMs: number;
151
+ epoch?: number;
152
+ classifiedSpeechMs?: number;
153
+ echoDiscriminatedSpeechMs?: number;
154
+ }
155
+ interface VoiceMediaCaptureConfiguration {
156
+ mode: VoiceMediaCaptureMode;
157
+ activityControl: 'host' | 'client';
158
+ endpointSilenceMs?: number;
159
+ }
160
+ interface VoiceMediaConnectRequest {
161
+ version: typeof VOICE_MEDIA_PROTOCOL_VERSION;
162
+ clientId: string;
163
+ connectionId: string;
164
+ clientKind: VoiceClientKind;
165
+ controlLocation: VoiceMediaControlLocation;
166
+ capabilities: VoiceMediaCapabilities;
167
+ }
168
+ interface VoiceMediaWake {
169
+ eventEpoch: string;
170
+ sequence: number;
171
+ }
172
+ interface VoiceMediaConnectResult {
173
+ version: typeof VOICE_MEDIA_PROTOCOL_VERSION;
174
+ cursor: number;
175
+ eventEpoch?: string;
176
+ heartbeatMs?: number;
177
+ }
178
+ type VoiceMediaHeartbeatResult = VoiceMediaWake;
179
+ type VoiceMediaClientEvent = RealtimeMediaCommand | {
180
+ sequence: number;
181
+ type: 'capture-start';
182
+ captureId: string;
183
+ sampleRate: typeof VOICE_MEDIA_SAMPLE_RATE;
184
+ channels: typeof VOICE_MEDIA_CHANNELS;
185
+ bitsPerSample: typeof VOICE_MEDIA_BITS_PER_SAMPLE;
186
+ configuration: VoiceMediaCaptureConfiguration;
187
+ } | {
188
+ sequence: number;
189
+ type: 'capture-stop';
190
+ captureId: string;
191
+ } | {
192
+ sequence: number;
193
+ type: 'capture-abort';
194
+ captureId: string;
195
+ } | {
196
+ sequence: number;
197
+ type: 'playback-start';
198
+ playbackId: string;
199
+ text: string;
200
+ delivery?: VoiceMediaPlaybackDelivery;
201
+ voice?: string;
202
+ rate?: number;
203
+ } | {
204
+ sequence: number;
205
+ type: 'playback-stop';
206
+ playbackId: string;
207
+ } | {
208
+ sequence: number;
209
+ type: 'playback-abort';
210
+ playbackId: string;
211
+ };
212
+ type VoiceMediaPlaybackOutcome = 'completed' | 'stopped' | 'aborted' | 'failed';
213
+ interface VoiceMediaPlaybackResult {
214
+ playbackId: string;
215
+ outcome: VoiceMediaPlaybackOutcome;
216
+ error?: string;
217
+ }
218
+ interface VoiceMediaTransport extends Partial<RealtimeMediaTransport> {
219
+ connect(clientId: string, connectionId: string, capabilities: VoiceMediaCapabilities): Promise<VoiceMediaConnectResult>;
220
+ /** Refreshes optional capabilities without changing active work or event position. */
221
+ refreshCapabilities?(clientId: string, connectionId: string, capabilities: VoiceMediaCapabilities): Promise<void>;
222
+ disconnect(clientId: string, connectionId: string): Promise<void>;
223
+ nextEvent(clientId: string, connectionId: string, after: number, signal: AbortSignal): Promise<VoiceMediaClientEvent | undefined>;
224
+ sendAudio(clientId: string, connectionId: string, captureId: string, pcm: Uint8Array, activity?: VoiceMediaCaptureActivity): Promise<void>;
225
+ captureStopped(clientId: string, connectionId: string, captureId: string, error?: string): Promise<void>;
226
+ receivePlaybackAudio?(clientId: string, connectionId: string, playbackId: string, signal: AbortSignal): Promise<Uint8Array>;
227
+ playbackFinished(clientId: string, connectionId: string, result: VoiceMediaPlaybackResult): Promise<void>;
228
+ }
229
+ interface VoiceMediaCapture {
230
+ completion?: Promise<void>;
231
+ stop(): Promise<void>;
232
+ }
233
+ /** Optional browser-local speech input. The original capture PCM remains authoritative for transport. */
234
+ interface VoiceMediaCaptureSpeechAnalysis {
235
+ speechPcm: Uint8Array;
236
+ echoReferenceActive: boolean;
237
+ echoDiscriminated: boolean;
238
+ }
239
+ interface VoiceMediaPlayback {
240
+ readonly completion: Promise<VoiceMediaPlaybackResult>;
241
+ stop(outcome: Extract<VoiceMediaPlaybackOutcome, 'stopped' | 'aborted'>): void;
242
+ duck?(targetGain: number, fadeMs: number, holdMs: number): void;
243
+ }
244
+ /** Client hardware boundary. Browser and future native clients implement the same contract. */
245
+ interface VoiceMediaDevice {
246
+ readonly capabilities: VoiceMediaCapabilities;
247
+ /** Initializes optional authoritative media processors after baseline capabilities are available. */
248
+ prepare?(): Promise<void>;
249
+ createSpeechPresenceDetector?(): SpeechPresenceDetector | undefined;
250
+ startCapture(onPcm: (pcm: Uint8Array, speechAnalysis?: VoiceMediaCaptureSpeechAnalysis) => void): Promise<VoiceMediaCapture>;
251
+ speak(request: Extract<VoiceMediaClientEvent, {
252
+ type: 'playback-start';
253
+ }>, audio?: Promise<Uint8Array>): VoiceMediaPlayback;
254
+ close(): Promise<void>;
255
+ }
256
+ declare function voiceMediaClientUrl(sessionId: string, route: string, params?: Record<string, string>): string;
257
+ //#endregion
258
+ export { VoiceMediaDevice as A, RealtimeHostSnapshot as B, VoiceMediaCaptureConfiguration as C, VoiceMediaConnectRequest as D, VoiceMediaClientEvent as E, VoiceMediaPlaybackResult as F, calculateClientPcmDbfs as G, ClientCaptureSpeechClassification as H, VoiceMediaTransport as I, VoiceMediaWake as L, VoiceMediaPlayback as M, VoiceMediaPlaybackDelivery as N, VoiceMediaConnectResult as O, VoiceMediaPlaybackOutcome as P, voiceMediaClientUrl as R, VoiceMediaCaptureActivityState as S, VoiceMediaCaptureSpeechAnalysis as T, SpeechPresenceDetector as U, ClientCaptureActivityLifecycle as V, SpeechPresenceWindow as W, VOICE_MEDIA_WAKE_TYPE as _, VOICE_MEDIA_ACTIVITY_SPEECH_MS_HEADER as a, VoiceMediaCapture as b, VOICE_MEDIA_BITS_PER_SAMPLE as c, VOICE_MEDIA_EVENT_WAIT_NONE as d, VOICE_MEDIA_HEARTBEAT_MS as f, VOICE_MEDIA_SAMPLE_RATE as g, VOICE_MEDIA_ROUTES as h, VOICE_MEDIA_ACTIVITY_LEVEL_HEADER as i, VoiceMediaHeartbeatResult as j, VoiceMediaControlLocation as k, VOICE_MEDIA_CHANNELS as l, VOICE_MEDIA_PROTOCOL_VERSION as m, VOICE_MEDIA_ACTIVITY_ELAPSED_HEADER as n, VOICE_MEDIA_ACTIVITY_STATE_HEADER as o, VOICE_MEDIA_PLAYBACK_STATE_HEADER as p, VOICE_MEDIA_ACTIVITY_EPOCH_HEADER as r, VOICE_MEDIA_API_BASE_PATH as s, VOICE_MEDIA_ACTIVITY_ECHO_SPEECH_MS_HEADER as t, VOICE_MEDIA_CONTENT_TYPE as u, VoiceClientKind as v, VoiceMediaCaptureMode as w, VoiceMediaCaptureActivity as x, VoiceMediaCapabilities as y, RealtimeControl as z };
259
+ //# sourceMappingURL=clientMedia-Btnad-hF.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clientMedia-Btnad-hF.d.mts","names":[],"sources":["../src/types/clientCaptureActivity.ts","../src/types/realtime.ts","../src/types/clientMedia.ts"],"mappings":";UAciB;WACN;WACA;;;UAIM;EACf,KAAK,KAAK,aAAa,iBAAiB;EACxC,SAAS;EACT,SAAS;;;iBAYK,uBAAuB,KAAK;UAa3B;WACN;WACA;;;cAIE;mBAYyB;UAX5B;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;EAER,YAAoC;EAK7B,KACL,KAAK,YACL,mBAAkB,wBAClB,iBAAiB,oCAChB;;EAoEI;;;;KCtHG;EACN;;EACA;EAAoB;EAA4B;EAAc;;EAC9D;EAAiB;EAAmB;;EACpC;EAAe;;UAUJ;EACf;EACA;EACA;EACA;EACA;;KA8BU;KAEA;EACN;EAAkB;EAAwB;;EAC1C;EAAkB;EAAuB;;EACzC;EAAkB;EAA0B;EAAsB,QAAQ;;EAC1E;EAAkB;EAAuB;EAAsB;;UAEpD;EACf;EACA;EACA;EACA;IAAU;IAAkB,OAAO;;EACnC,UAAU;;;UAIK;EACf,kBACE,kBACA,sBACA,sBACA,aACA,QAAQ,cACP;EACH,cAAc,kBAAkB,sBAAsB,sBAAsB,gBAAgB;EAC5F,cACE,kBACA,sBACA,sBACA,OAAO,uBACN;;;;cCpGQ;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cAEA;WACX;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;KAGU;KACA;UAEK;EACf;EACA;EACA;EACA;EACA;EACA;;KAGU;KACA;KACA;UAEK;EACf,OAAO;EACP;EACA;EACA;EACA;EACA;;UAGe;EACf,MAAM;EACN;EACA;;UAGe;EACf,gBAAgB;EAChB;EACA;EACA,YAAY;EACZ,iBAAiB;EACjB,cAAc;;UAGC;EACf;EACA;;UAGe;EACf,gBAAgB;EAChB;EACA;EACA;;KAGU,4BAA4B;KAE5B,wBACR;EAEE;EACA;EACA;EACA,mBAAmB;EACnB,iBAAiB;EACjB,sBAAsB;EACtB,eAAe;;EAEf;EAAkB;EAAsB;;EACxC;EAAkB;EAAuB;;EAEzC;EACA;EACA;EACA;EACA,WAAW;EACX;EACA;;EAEA;EAAkB;EAAuB;;EACzC;EAAkB;EAAwB;;KAEpC;UAEK;EACf;EACA,SAAS;EACT;;UAGe,4BAA4B,QAAQ;EACnD,QACE,kBACA,sBACA,cAAc,yBACb,QAAQ;;EAEX,qBAAqB,kBAAkB,sBAAsB,cAAc,yBAAyB;EACpG,WAAW,kBAAkB,uBAAuB;EACpD,UACE,kBACA,sBACA,eACA,QAAQ,cACP,QAAQ;EACX,UACE,kBACA,sBACA,mBACA,KAAK,YACL,WAAW,4BACV;EACH,eAAe,kBAAkB,sBAAsB,mBAAmB,iBAAiB;EAC3F,sBACE,kBACA,sBACA,oBACA,QAAQ,cACP,QAAQ;EACX,iBAAiB,kBAAkB,sBAAsB,QAAQ,2BAA2B;;UAG7E;EACf,aAAa;EACb,QAAQ;;;UAIO;EACf,WAAW;EACX;EACA;;UAGe;WACN,YAAY,QAAQ;EAC7B,KAAK,SAAS,QAAQ;EACtB,MAAM,oBAAoB,gBAAgB;;;UAI3B;WACN,cAAc;;EAEvB,YAAY;EACZ,iCAAiC;EACjC,aACE,QAAQ,KAAK,YAAY,iBAAiB,2CACzC,QAAQ;EACX,MACE,SAAS,QAAQ;IAAyB;MAC1C,QAAQ,QAAQ,cACf;EACH,SAAS;;iBAGK,oBAAoB,mBAAmB,eAAe,SAAQ"}