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

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 (803) hide show
  1. package/NOTICE +13 -0
  2. package/README.md +244 -19
  3. package/dist/_virtual/_rolldown/runtime.cjs +35 -1
  4. package/dist/_virtual/_rolldown/runtime.mjs +28 -0
  5. package/dist/api-contracts.cjs +7 -0
  6. package/dist/api-contracts.d.cts +2 -0
  7. package/dist/api-contracts.d.mts +2 -0
  8. package/dist/api-contracts.mjs +2 -0
  9. package/dist/assets/browserCaptureWorklet-Ka6mc0TH.js +13 -0
  10. package/dist/assets/silero_vad_v6.2.1-SjbCxFXk.onnx +0 -0
  11. package/dist/clientMedia.cjs +23 -0
  12. package/dist/clientMedia.d.cts +3 -0
  13. package/dist/clientMedia.d.mts +3 -0
  14. package/dist/clientMedia.mjs +3 -0
  15. package/dist/extensions/pi.cjs +52 -1
  16. package/dist/extensions/pi.cjs.map +1 -1
  17. package/dist/extensions/pi.d.cts +7 -2
  18. package/dist/extensions/pi.d.cts.map +1 -0
  19. package/dist/extensions/pi.d.mts +7 -2
  20. package/dist/extensions/pi.d.mts.map +1 -0
  21. package/dist/extensions/pi.mjs +47 -1
  22. package/dist/extensions/pi.mjs.map +1 -1
  23. package/dist/extensions/server.cjs +105 -0
  24. package/dist/extensions/server.cjs.map +1 -0
  25. package/dist/extensions/server.d.cts +5 -0
  26. package/dist/extensions/server.d.cts.map +1 -0
  27. package/dist/extensions/server.d.mts +5 -0
  28. package/dist/extensions/server.d.mts.map +1 -0
  29. package/dist/extensions/server.mjs +100 -0
  30. package/dist/extensions/server.mjs.map +1 -0
  31. package/dist/extensions/web.mjs +4243 -0
  32. package/dist/extensions/web.mjs.map +1 -0
  33. package/dist/index.cjs +105 -1
  34. package/dist/index.d.cts +23 -9
  35. package/dist/index.d.mts +23 -9
  36. package/dist/index.mjs +19 -1
  37. package/dist/sileroVadWorker-D894njUe.mjs +110 -0
  38. package/dist/sileroVadWorker-D894njUe.mjs.map +1 -0
  39. package/dist/src/constants/voice.cjs +18 -0
  40. package/dist/src/constants/voice.cjs.map +1 -0
  41. package/dist/src/constants/voice.mjs +17 -0
  42. package/dist/src/constants/voice.mjs.map +1 -0
  43. package/dist/src/constants/voiceRuntime.cjs +65 -0
  44. package/dist/src/constants/voiceRuntime.cjs.map +1 -0
  45. package/dist/src/constants/voiceRuntime.mjs +46 -0
  46. package/dist/src/constants/voiceRuntime.mjs.map +1 -0
  47. package/dist/src/extensions/(backend)/api/voice/route.server.cjs +22 -0
  48. package/dist/src/extensions/(backend)/api/voice/route.server.cjs.map +1 -0
  49. package/dist/src/extensions/(backend)/api/voice/route.server.mjs +23 -0
  50. package/dist/src/extensions/(backend)/api/voice/route.server.mjs.map +1 -0
  51. package/dist/src/extensions/(backend)/channel/voice-media-wake.server.cjs +7 -0
  52. package/dist/src/extensions/(backend)/channel/voice-media-wake.server.cjs.map +1 -0
  53. package/dist/src/extensions/(backend)/channel/voice-media-wake.server.mjs +8 -0
  54. package/dist/src/extensions/(backend)/channel/voice-media-wake.server.mjs.map +1 -0
  55. package/dist/src/extensions/(backend)/channel/voice-ownership.server.cjs +7 -0
  56. package/dist/src/extensions/(backend)/channel/voice-ownership.server.cjs.map +1 -0
  57. package/dist/src/extensions/(backend)/channel/voice-ownership.server.mjs +8 -0
  58. package/dist/src/extensions/(backend)/channel/voice-ownership.server.mjs.map +1 -0
  59. package/dist/src/extensions/workspaces/sessions/(backend)/api/voice/route.server.cjs +6 -0
  60. package/dist/src/extensions/workspaces/sessions/(backend)/api/voice/route.server.cjs.map +1 -0
  61. package/dist/src/extensions/workspaces/sessions/(backend)/api/voice/route.server.mjs +7 -0
  62. package/dist/src/extensions/workspaces/sessions/(backend)/api/voice/route.server.mjs.map +1 -0
  63. package/dist/src/extensions/workspaces/sessions/(backend)/api/voice-media/route.server.cjs +6 -0
  64. package/dist/src/extensions/workspaces/sessions/(backend)/api/voice-media/route.server.cjs.map +1 -0
  65. package/dist/src/extensions/workspaces/sessions/(backend)/api/voice-media/route.server.mjs +7 -0
  66. package/dist/src/extensions/workspaces/sessions/(backend)/api/voice-media/route.server.mjs.map +1 -0
  67. package/dist/src/extensions/workspaces/sessions/(backend)/command/voice.cli.cjs +6 -0
  68. package/dist/src/extensions/workspaces/sessions/(backend)/command/voice.cli.cjs.map +1 -0
  69. package/dist/src/extensions/workspaces/sessions/(backend)/command/voice.cli.mjs +7 -0
  70. package/dist/src/extensions/workspaces/sessions/(backend)/command/voice.cli.mjs.map +1 -0
  71. package/dist/src/extensions/workspaces/sessions/(backend)/command/voice.server.cjs +6 -0
  72. package/dist/src/extensions/workspaces/sessions/(backend)/command/voice.server.cjs.map +1 -0
  73. package/dist/src/extensions/workspaces/sessions/(backend)/command/voice.server.mjs +7 -0
  74. package/dist/src/extensions/workspaces/sessions/(backend)/command/voice.server.mjs.map +1 -0
  75. package/dist/src/extensions/workspaces/sessions/(backend)/command/voiceAuto.cli.cjs +6 -0
  76. package/dist/src/extensions/workspaces/sessions/(backend)/command/voiceAuto.cli.cjs.map +1 -0
  77. package/dist/src/extensions/workspaces/sessions/(backend)/command/voiceAuto.cli.mjs +7 -0
  78. package/dist/src/extensions/workspaces/sessions/(backend)/command/voiceAuto.cli.mjs.map +1 -0
  79. package/dist/src/extensions/workspaces/sessions/(backend)/command/voiceAuto.server.cjs +6 -0
  80. package/dist/src/extensions/workspaces/sessions/(backend)/command/voiceAuto.server.cjs.map +1 -0
  81. package/dist/src/extensions/workspaces/sessions/(backend)/command/voiceAuto.server.mjs +7 -0
  82. package/dist/src/extensions/workspaces/sessions/(backend)/command/voiceAuto.server.mjs.map +1 -0
  83. package/dist/src/extensions/workspaces/sessions/(backend)/hook/agentSettled.cli.cjs +6 -0
  84. package/dist/src/extensions/workspaces/sessions/(backend)/hook/agentSettled.cli.cjs.map +1 -0
  85. package/dist/src/extensions/workspaces/sessions/(backend)/hook/agentSettled.cli.mjs +7 -0
  86. package/dist/src/extensions/workspaces/sessions/(backend)/hook/agentSettled.cli.mjs.map +1 -0
  87. package/dist/src/extensions/workspaces/sessions/(backend)/hook/agentSettled.server.cjs +6 -0
  88. package/dist/src/extensions/workspaces/sessions/(backend)/hook/agentSettled.server.cjs.map +1 -0
  89. package/dist/src/extensions/workspaces/sessions/(backend)/hook/agentSettled.server.mjs +7 -0
  90. package/dist/src/extensions/workspaces/sessions/(backend)/hook/agentSettled.server.mjs.map +1 -0
  91. package/dist/src/extensions/workspaces/sessions/(backend)/hook/beforeAgentStart.cli.cjs +6 -0
  92. package/dist/src/extensions/workspaces/sessions/(backend)/hook/beforeAgentStart.cli.cjs.map +1 -0
  93. package/dist/src/extensions/workspaces/sessions/(backend)/hook/beforeAgentStart.cli.mjs +7 -0
  94. package/dist/src/extensions/workspaces/sessions/(backend)/hook/beforeAgentStart.cli.mjs.map +1 -0
  95. package/dist/src/extensions/workspaces/sessions/(backend)/hook/beforeAgentStart.server.cjs +6 -0
  96. package/dist/src/extensions/workspaces/sessions/(backend)/hook/beforeAgentStart.server.cjs.map +1 -0
  97. package/dist/src/extensions/workspaces/sessions/(backend)/hook/beforeAgentStart.server.mjs +7 -0
  98. package/dist/src/extensions/workspaces/sessions/(backend)/hook/beforeAgentStart.server.mjs.map +1 -0
  99. package/dist/src/extensions/workspaces/sessions/(backend)/hook/messageEnd.server.cjs +6 -0
  100. package/dist/src/extensions/workspaces/sessions/(backend)/hook/messageEnd.server.cjs.map +1 -0
  101. package/dist/src/extensions/workspaces/sessions/(backend)/hook/messageEnd.server.mjs +7 -0
  102. package/dist/src/extensions/workspaces/sessions/(backend)/hook/messageEnd.server.mjs.map +1 -0
  103. package/dist/src/extensions/workspaces/sessions/(backend)/hook/sessionShutdown.server.cjs +6 -0
  104. package/dist/src/extensions/workspaces/sessions/(backend)/hook/sessionShutdown.server.cjs.map +1 -0
  105. package/dist/src/extensions/workspaces/sessions/(backend)/hook/sessionShutdown.server.mjs +7 -0
  106. package/dist/src/extensions/workspaces/sessions/(backend)/hook/sessionShutdown.server.mjs.map +1 -0
  107. package/dist/src/extensions/workspaces/sessions/(backend)/hook/sessionStart.cli.cjs +6 -0
  108. package/dist/src/extensions/workspaces/sessions/(backend)/hook/sessionStart.cli.cjs.map +1 -0
  109. package/dist/src/extensions/workspaces/sessions/(backend)/hook/sessionStart.cli.mjs +7 -0
  110. package/dist/src/extensions/workspaces/sessions/(backend)/hook/sessionStart.cli.mjs.map +1 -0
  111. package/dist/src/extensions/workspaces/sessions/(backend)/hook/toolExecutionStart.cli.cjs +6 -0
  112. package/dist/src/extensions/workspaces/sessions/(backend)/hook/toolExecutionStart.cli.cjs.map +1 -0
  113. package/dist/src/extensions/workspaces/sessions/(backend)/hook/toolExecutionStart.cli.mjs +7 -0
  114. package/dist/src/extensions/workspaces/sessions/(backend)/hook/toolExecutionStart.cli.mjs.map +1 -0
  115. package/dist/src/extensions/workspaces/sessions/(backend)/hook/turnEnd.cli.cjs +6 -0
  116. package/dist/src/extensions/workspaces/sessions/(backend)/hook/turnEnd.cli.cjs.map +1 -0
  117. package/dist/src/extensions/workspaces/sessions/(backend)/hook/turnEnd.cli.mjs +7 -0
  118. package/dist/src/extensions/workspaces/sessions/(backend)/hook/turnEnd.cli.mjs.map +1 -0
  119. package/dist/src/extensions/workspaces/sessions/(backend)/method/voiceControl.server.cjs +6 -0
  120. package/dist/src/extensions/workspaces/sessions/(backend)/method/voiceControl.server.cjs.map +1 -0
  121. package/dist/src/extensions/workspaces/sessions/(backend)/method/voiceControl.server.mjs +7 -0
  122. package/dist/src/extensions/workspaces/sessions/(backend)/method/voiceControl.server.mjs.map +1 -0
  123. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompiUseVoice.cli.cjs +6 -0
  124. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompiUseVoice.cli.cjs.map +1 -0
  125. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompiUseVoice.cli.mjs +7 -0
  126. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompiUseVoice.cli.mjs.map +1 -0
  127. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompiUseVoice.server.cjs +6 -0
  128. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompiUseVoice.server.cjs.map +1 -0
  129. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompiUseVoice.server.mjs +7 -0
  130. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompiUseVoice.server.mjs.map +1 -0
  131. package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.cjs +26 -0
  132. package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.cjs.map +1 -0
  133. package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.mjs +27 -0
  134. package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.mjs.map +1 -0
  135. package/dist/src/extensions/workspaces/sessions/(backend)/root.server.cjs +45 -0
  136. package/dist/src/extensions/workspaces/sessions/(backend)/root.server.cjs.map +1 -0
  137. package/dist/src/extensions/workspaces/sessions/(backend)/root.server.mjs +45 -0
  138. package/dist/src/extensions/workspaces/sessions/(backend)/root.server.mjs.map +1 -0
  139. package/dist/src/extensions/workspaces/sessions/(backend)/tool/describeVoiceTools.server.cjs +6 -0
  140. package/dist/src/extensions/workspaces/sessions/(backend)/tool/describeVoiceTools.server.cjs.map +1 -0
  141. package/dist/src/extensions/workspaces/sessions/(backend)/tool/describeVoiceTools.server.mjs +7 -0
  142. package/dist/src/extensions/workspaces/sessions/(backend)/tool/describeVoiceTools.server.mjs.map +1 -0
  143. package/dist/src/extensions/workspaces/sessions/(backend)/tool/narrate.server.cjs +6 -0
  144. package/dist/src/extensions/workspaces/sessions/(backend)/tool/narrate.server.cjs.map +1 -0
  145. package/dist/src/extensions/workspaces/sessions/(backend)/tool/narrate.server.mjs +7 -0
  146. package/dist/src/extensions/workspaces/sessions/(backend)/tool/narrate.server.mjs.map +1 -0
  147. package/dist/src/extensions/workspaces/sessions/(backend)/tool/transferVoice.server.cjs +6 -0
  148. package/dist/src/extensions/workspaces/sessions/(backend)/tool/transferVoice.server.cjs.map +1 -0
  149. package/dist/src/extensions/workspaces/sessions/(backend)/tool/transferVoice.server.mjs +7 -0
  150. package/dist/src/extensions/workspaces/sessions/(backend)/tool/transferVoice.server.mjs.map +1 -0
  151. package/dist/src/extensions/workspaces/sessions/(backend)/tool/useVoiceTools.server.cjs +6 -0
  152. package/dist/src/extensions/workspaces/sessions/(backend)/tool/useVoiceTools.server.cjs.map +1 -0
  153. package/dist/src/extensions/workspaces/sessions/(backend)/tool/useVoiceTools.server.mjs +7 -0
  154. package/dist/src/extensions/workspaces/sessions/(backend)/tool/useVoiceTools.server.mjs.map +1 -0
  155. package/dist/src/extensions/workspaces/sessions/(backend)/tool/voice.cli.cjs +6 -0
  156. package/dist/src/extensions/workspaces/sessions/(backend)/tool/voice.cli.cjs.map +1 -0
  157. package/dist/src/extensions/workspaces/sessions/(backend)/tool/voice.cli.mjs +7 -0
  158. package/dist/src/extensions/workspaces/sessions/(backend)/tool/voice.cli.mjs.map +1 -0
  159. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/transferVoice.cli.cjs +6 -0
  160. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/transferVoice.cli.cjs.map +1 -0
  161. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/transferVoice.cli.mjs +7 -0
  162. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/transferVoice.cli.mjs.map +1 -0
  163. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/voice.cli.cjs +6 -0
  164. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/voice.cli.cjs.map +1 -0
  165. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/voice.cli.mjs +7 -0
  166. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/voice.cli.mjs.map +1 -0
  167. package/dist/src/models/autonomousVoiceMachine.cjs +678 -0
  168. package/dist/src/models/autonomousVoiceMachine.cjs.map +1 -0
  169. package/dist/src/models/autonomousVoiceMachine.d.cts +2 -0
  170. package/dist/src/models/autonomousVoiceMachine.d.mts +2 -0
  171. package/dist/src/models/autonomousVoiceMachine.mjs +677 -0
  172. package/dist/src/models/autonomousVoiceMachine.mjs.map +1 -0
  173. package/dist/src/models/autonomousVoiceUi.cjs +76 -0
  174. package/dist/src/models/autonomousVoiceUi.cjs.map +1 -0
  175. package/dist/src/models/autonomousVoiceUi.mjs +76 -0
  176. package/dist/src/models/autonomousVoiceUi.mjs.map +1 -0
  177. package/dist/src/models/narrationBargeIn.cjs +63 -0
  178. package/dist/src/models/narrationBargeIn.cjs.map +1 -0
  179. package/dist/src/models/narrationBargeIn.d.cts +15 -0
  180. package/dist/src/models/narrationBargeIn.d.cts.map +1 -0
  181. package/dist/src/models/narrationBargeIn.d.mts +15 -0
  182. package/dist/src/models/narrationBargeIn.d.mts.map +1 -0
  183. package/dist/src/models/narrationBargeIn.mjs +62 -0
  184. package/dist/src/models/narrationBargeIn.mjs.map +1 -0
  185. package/dist/src/models/voiceActivity.cjs +74 -0
  186. package/dist/src/models/voiceActivity.cjs.map +1 -0
  187. package/dist/src/models/voiceActivity.d.cts +26 -0
  188. package/dist/src/models/voiceActivity.d.cts.map +1 -0
  189. package/dist/src/models/voiceActivity.d.mts +26 -0
  190. package/dist/src/models/voiceActivity.d.mts.map +1 -0
  191. package/dist/src/models/voiceActivity.mjs +73 -0
  192. package/dist/src/models/voiceActivity.mjs.map +1 -0
  193. package/dist/src/models/voiceMode.cjs +84 -0
  194. package/dist/src/models/voiceMode.cjs.map +1 -0
  195. package/dist/src/models/voiceMode.d.cts +10 -0
  196. package/dist/src/models/voiceMode.d.cts.map +1 -0
  197. package/dist/src/models/voiceMode.d.mts +10 -0
  198. package/dist/src/models/voiceMode.d.mts.map +1 -0
  199. package/dist/src/models/voiceMode.mjs +82 -0
  200. package/dist/src/models/voiceMode.mjs.map +1 -0
  201. package/dist/src/schemas/apiContracts.cjs +580 -0
  202. package/dist/src/schemas/apiContracts.cjs.map +1 -0
  203. package/dist/src/schemas/apiContracts.d.cts +53 -0
  204. package/dist/src/schemas/apiContracts.d.cts.map +1 -0
  205. package/dist/src/schemas/apiContracts.d.mts +53 -0
  206. package/dist/src/schemas/apiContracts.d.mts.map +1 -0
  207. package/dist/src/schemas/apiContracts.mjs +578 -0
  208. package/dist/src/schemas/apiContracts.mjs.map +1 -0
  209. package/dist/src/schemas/voiceControl.cjs +37 -0
  210. package/dist/src/schemas/voiceControl.cjs.map +1 -0
  211. package/dist/src/schemas/voiceControl.mjs +37 -0
  212. package/dist/src/schemas/voiceControl.mjs.map +1 -0
  213. package/dist/src/services/autonomousEndpoint/index.cjs +69 -0
  214. package/dist/src/services/autonomousEndpoint/index.cjs.map +1 -0
  215. package/dist/src/services/autonomousEndpoint/index.mjs +69 -0
  216. package/dist/src/services/autonomousEndpoint/index.mjs.map +1 -0
  217. package/dist/src/services/autonomousTurn/index.cjs +33 -0
  218. package/dist/src/services/autonomousTurn/index.cjs.map +1 -0
  219. package/dist/src/services/autonomousTurn/index.d.cts +6 -0
  220. package/dist/src/services/autonomousTurn/index.d.cts.map +1 -0
  221. package/dist/src/services/autonomousTurn/index.d.mts +6 -0
  222. package/dist/src/services/autonomousTurn/index.d.mts.map +1 -0
  223. package/dist/src/services/autonomousTurn/index.mjs +33 -0
  224. package/dist/src/services/autonomousTurn/index.mjs.map +1 -0
  225. package/dist/src/services/autonomousVoiceSession/index.cjs +797 -0
  226. package/dist/src/services/autonomousVoiceSession/index.cjs.map +1 -0
  227. package/dist/src/services/autonomousVoiceSession/index.mjs +797 -0
  228. package/dist/src/services/autonomousVoiceSession/index.mjs.map +1 -0
  229. package/dist/src/services/autonomousVoiceTelemetry/index.cjs +83 -0
  230. package/dist/src/services/autonomousVoiceTelemetry/index.cjs.map +1 -0
  231. package/dist/src/services/autonomousVoiceTelemetry/index.d.cts +8 -0
  232. package/dist/src/services/autonomousVoiceTelemetry/index.d.cts.map +1 -0
  233. package/dist/src/services/autonomousVoiceTelemetry/index.d.mts +8 -0
  234. package/dist/src/services/autonomousVoiceTelemetry/index.d.mts.map +1 -0
  235. package/dist/src/services/autonomousVoiceTelemetry/index.mjs +82 -0
  236. package/dist/src/services/autonomousVoiceTelemetry/index.mjs.map +1 -0
  237. package/dist/src/services/captureSession/index.cjs +252 -0
  238. package/dist/src/services/captureSession/index.cjs.map +1 -0
  239. package/dist/src/services/captureSession/index.mjs +252 -0
  240. package/dist/src/services/captureSession/index.mjs.map +1 -0
  241. package/dist/src/services/catalog/index.cjs +111 -0
  242. package/dist/src/services/catalog/index.cjs.map +1 -0
  243. package/dist/src/services/catalog/index.mjs +105 -0
  244. package/dist/src/services/catalog/index.mjs.map +1 -0
  245. package/dist/src/services/clientMedia/index.cjs +203 -0
  246. package/dist/src/services/clientMedia/index.cjs.map +1 -0
  247. package/dist/src/services/clientMedia/index.d.cts +24 -0
  248. package/dist/src/services/clientMedia/index.d.cts.map +1 -0
  249. package/dist/src/services/clientMedia/index.d.mts +24 -0
  250. package/dist/src/services/clientMedia/index.d.mts.map +1 -0
  251. package/dist/src/services/clientMedia/index.mjs +201 -0
  252. package/dist/src/services/clientMedia/index.mjs.map +1 -0
  253. package/dist/src/services/clientMediaApi/index.cjs +856 -0
  254. package/dist/src/services/clientMediaApi/index.cjs.map +1 -0
  255. package/dist/src/services/clientMediaApi/index.mjs +855 -0
  256. package/dist/src/services/clientMediaApi/index.mjs.map +1 -0
  257. package/dist/src/services/codexAuth/index.cjs +246 -0
  258. package/dist/src/services/codexAuth/index.cjs.map +1 -0
  259. package/dist/src/services/codexAuth/index.mjs +230 -0
  260. package/dist/src/services/codexAuth/index.mjs.map +1 -0
  261. package/dist/src/services/codexAuthStorage/index.cjs +92 -0
  262. package/dist/src/services/codexAuthStorage/index.cjs.map +1 -0
  263. package/dist/src/services/codexAuthStorage/index.mjs +92 -0
  264. package/dist/src/services/codexAuthStorage/index.mjs.map +1 -0
  265. package/dist/src/services/codexLogin/index.cjs +117 -0
  266. package/dist/src/services/codexLogin/index.cjs.map +1 -0
  267. package/dist/src/services/codexLogin/index.mjs +117 -0
  268. package/dist/src/services/codexLogin/index.mjs.map +1 -0
  269. package/dist/src/services/codexRealtime/index.cjs +207 -0
  270. package/dist/src/services/codexRealtime/index.cjs.map +1 -0
  271. package/dist/src/services/codexRealtime/index.mjs +207 -0
  272. package/dist/src/services/codexRealtime/index.mjs.map +1 -0
  273. package/dist/src/services/commandCorrection/index.cjs +350 -0
  274. package/dist/src/services/commandCorrection/index.cjs.map +1 -0
  275. package/dist/src/services/commandCorrection/index.d.cts +23 -0
  276. package/dist/src/services/commandCorrection/index.d.cts.map +1 -0
  277. package/dist/src/services/commandCorrection/index.d.mts +23 -0
  278. package/dist/src/services/commandCorrection/index.d.mts.map +1 -0
  279. package/dist/src/services/commandCorrection/index.mjs +346 -0
  280. package/dist/src/services/commandCorrection/index.mjs.map +1 -0
  281. package/dist/src/services/commandCorrection/type.d.cts +25 -0
  282. package/dist/src/services/commandCorrection/type.d.cts.map +1 -0
  283. package/dist/src/services/commandCorrection/type.d.mts +25 -0
  284. package/dist/src/services/commandCorrection/type.d.mts.map +1 -0
  285. package/dist/src/services/controlPhraseMatcher/index.cjs +124 -0
  286. package/dist/src/services/controlPhraseMatcher/index.cjs.map +1 -0
  287. package/dist/src/services/controlPhraseMatcher/index.mjs +117 -0
  288. package/dist/src/services/controlPhraseMatcher/index.mjs.map +1 -0
  289. package/dist/src/services/download/index.cjs +98 -0
  290. package/dist/src/services/download/index.cjs.map +1 -0
  291. package/dist/src/services/download/index.mjs +91 -0
  292. package/dist/src/services/download/index.mjs.map +1 -0
  293. package/dist/src/services/encodedAudio/index.cjs +107 -0
  294. package/dist/src/services/encodedAudio/index.cjs.map +1 -0
  295. package/dist/src/services/encodedAudio/index.mjs +104 -0
  296. package/dist/src/services/encodedAudio/index.mjs.map +1 -0
  297. package/dist/src/services/fallbackNarration/index.cjs +279 -0
  298. package/dist/src/services/fallbackNarration/index.cjs.map +1 -0
  299. package/dist/src/services/fallbackNarration/index.d.cts +14 -0
  300. package/dist/src/services/fallbackNarration/index.d.cts.map +1 -0
  301. package/dist/src/services/fallbackNarration/index.d.mts +14 -0
  302. package/dist/src/services/fallbackNarration/index.d.mts.map +1 -0
  303. package/dist/src/services/fallbackNarration/index.mjs +278 -0
  304. package/dist/src/services/fallbackNarration/index.mjs.map +1 -0
  305. package/dist/src/services/fallbackNarration/type.d.cts +29 -0
  306. package/dist/src/services/fallbackNarration/type.d.cts.map +1 -0
  307. package/dist/src/services/fallbackNarration/type.d.mts +29 -0
  308. package/dist/src/services/fallbackNarration/type.d.mts.map +1 -0
  309. package/dist/src/services/fileTurnSpool/index.cjs +214 -0
  310. package/dist/src/services/fileTurnSpool/index.cjs.map +1 -0
  311. package/dist/src/services/fileTurnSpool/index.mjs +211 -0
  312. package/dist/src/services/fileTurnSpool/index.mjs.map +1 -0
  313. package/dist/src/services/infrastructure/index.cjs +530 -0
  314. package/dist/src/services/infrastructure/index.cjs.map +1 -0
  315. package/dist/{infrastructure.d.cts → src/services/infrastructure/index.d.cts} +24 -15
  316. package/dist/src/services/infrastructure/index.d.cts.map +1 -0
  317. package/dist/{infrastructure.d.mts → src/services/infrastructure/index.d.mts} +24 -15
  318. package/dist/src/services/infrastructure/index.d.mts.map +1 -0
  319. package/dist/src/services/infrastructure/index.mjs +515 -0
  320. package/dist/src/services/infrastructure/index.mjs.map +1 -0
  321. package/dist/src/services/install/index.cjs +93 -0
  322. package/dist/src/services/install/index.cjs.map +1 -0
  323. package/dist/src/services/install/index.mjs +91 -0
  324. package/dist/src/services/install/index.mjs.map +1 -0
  325. package/dist/src/services/liveVoiceController/index.cjs +311 -0
  326. package/dist/src/services/liveVoiceController/index.cjs.map +1 -0
  327. package/dist/src/services/liveVoiceController/index.mjs +311 -0
  328. package/dist/src/services/liveVoiceController/index.mjs.map +1 -0
  329. package/dist/src/services/manualTranscription/index.cjs +78 -0
  330. package/dist/src/services/manualTranscription/index.cjs.map +1 -0
  331. package/dist/src/services/manualTranscription/index.mjs +78 -0
  332. package/dist/src/services/manualTranscription/index.mjs.map +1 -0
  333. package/dist/src/services/manualTranscriptionApi/index.cjs +102 -0
  334. package/dist/src/services/manualTranscriptionApi/index.cjs.map +1 -0
  335. package/dist/src/services/manualTranscriptionApi/index.mjs +101 -0
  336. package/dist/src/services/manualTranscriptionApi/index.mjs.map +1 -0
  337. package/dist/src/services/manualTranscriptionConfig/index.cjs +20 -0
  338. package/dist/src/services/manualTranscriptionConfig/index.cjs.map +1 -0
  339. package/dist/src/services/manualTranscriptionConfig/index.mjs +20 -0
  340. package/dist/src/services/manualTranscriptionConfig/index.mjs.map +1 -0
  341. package/dist/src/services/minorModeCatalog/index.cjs +82 -0
  342. package/dist/src/services/minorModeCatalog/index.cjs.map +1 -0
  343. package/dist/src/services/minorModeCatalog/index.mjs +81 -0
  344. package/dist/src/services/minorModeCatalog/index.mjs.map +1 -0
  345. package/dist/src/services/narration/index.cjs +240 -0
  346. package/dist/src/services/narration/index.cjs.map +1 -0
  347. package/dist/src/services/narration/index.d.cts +56 -0
  348. package/dist/src/services/narration/index.d.cts.map +1 -0
  349. package/dist/src/services/narration/index.d.mts +56 -0
  350. package/dist/src/services/narration/index.d.mts.map +1 -0
  351. package/dist/src/services/narration/index.mjs +240 -0
  352. package/dist/src/services/narration/index.mjs.map +1 -0
  353. package/dist/src/services/narrationBargeIn/index.cjs +241 -0
  354. package/dist/src/services/narrationBargeIn/index.cjs.map +1 -0
  355. package/dist/src/services/narrationBargeIn/index.mjs +239 -0
  356. package/dist/src/services/narrationBargeIn/index.mjs.map +1 -0
  357. package/dist/src/services/narrationPlayback/index.cjs +271 -0
  358. package/dist/src/services/narrationPlayback/index.cjs.map +1 -0
  359. package/dist/src/services/narrationPlayback/index.d.cts +55 -0
  360. package/dist/src/services/narrationPlayback/index.d.cts.map +1 -0
  361. package/dist/src/services/narrationPlayback/index.d.mts +55 -0
  362. package/dist/src/services/narrationPlayback/index.d.mts.map +1 -0
  363. package/dist/src/services/narrationPlayback/index.mjs +271 -0
  364. package/dist/src/services/narrationPlayback/index.mjs.map +1 -0
  365. package/dist/src/services/narrationTool/index.cjs +92 -0
  366. package/dist/src/services/narrationTool/index.cjs.map +1 -0
  367. package/dist/src/services/narrationTool/index.d.cts +7 -0
  368. package/dist/src/services/narrationTool/index.d.mts +7 -0
  369. package/dist/src/services/narrationTool/index.mjs +91 -0
  370. package/dist/src/services/narrationTool/index.mjs.map +1 -0
  371. package/dist/src/services/pcm/index.cjs +62 -0
  372. package/dist/src/services/pcm/index.cjs.map +1 -0
  373. package/dist/src/services/pcm/index.d.cts +15 -0
  374. package/dist/src/services/pcm/index.d.cts.map +1 -0
  375. package/dist/src/services/pcm/index.d.mts +15 -0
  376. package/dist/src/services/pcm/index.d.mts.map +1 -0
  377. package/dist/src/services/pcm/index.mjs +55 -0
  378. package/dist/src/services/pcm/index.mjs.map +1 -0
  379. package/dist/src/services/playbackGate/index.cjs +44 -0
  380. package/dist/src/services/playbackGate/index.cjs.map +1 -0
  381. package/dist/src/services/playbackGate/index.mjs +44 -0
  382. package/dist/src/services/playbackGate/index.mjs.map +1 -0
  383. package/dist/src/services/realtimeContext/index.cjs +81 -0
  384. package/dist/src/services/realtimeContext/index.cjs.map +1 -0
  385. package/dist/src/services/realtimeContext/index.mjs +81 -0
  386. package/dist/src/services/realtimeContext/index.mjs.map +1 -0
  387. package/dist/src/services/realtimeDelivery/index.cjs +109 -0
  388. package/dist/src/services/realtimeDelivery/index.cjs.map +1 -0
  389. package/dist/src/services/realtimeDelivery/index.mjs +109 -0
  390. package/dist/src/services/realtimeDelivery/index.mjs.map +1 -0
  391. package/dist/src/services/realtimeHost/index.cjs +9 -0
  392. package/dist/src/services/realtimeHost/index.cjs.map +1 -0
  393. package/dist/src/services/realtimeHost/index.d.cts +11 -0
  394. package/dist/src/services/realtimeHost/index.d.cts.map +1 -0
  395. package/dist/src/services/realtimeHost/index.d.mts +11 -0
  396. package/dist/src/services/realtimeHost/index.d.mts.map +1 -0
  397. package/dist/src/services/realtimeHost/index.mjs +9 -0
  398. package/dist/src/services/realtimeHost/index.mjs.map +1 -0
  399. package/dist/src/services/realtimeMediaBroker/index.cjs +130 -0
  400. package/dist/src/services/realtimeMediaBroker/index.cjs.map +1 -0
  401. package/dist/src/services/realtimeMediaBroker/index.mjs +130 -0
  402. package/dist/src/services/realtimeMediaBroker/index.mjs.map +1 -0
  403. package/dist/src/services/realtimeProtocol/index.cjs +139 -0
  404. package/dist/src/services/realtimeProtocol/index.cjs.map +1 -0
  405. package/dist/src/services/realtimeProtocol/index.mjs +137 -0
  406. package/dist/src/services/realtimeProtocol/index.mjs.map +1 -0
  407. package/dist/src/services/realtimeRuntime/index.cjs +371 -0
  408. package/dist/src/services/realtimeRuntime/index.cjs.map +1 -0
  409. package/dist/src/services/realtimeRuntime/index.d.cts +8 -0
  410. package/dist/src/services/realtimeRuntime/index.d.cts.map +1 -0
  411. package/dist/src/services/realtimeRuntime/index.d.mts +8 -0
  412. package/dist/src/services/realtimeRuntime/index.d.mts.map +1 -0
  413. package/dist/src/services/realtimeRuntime/index.mjs +371 -0
  414. package/dist/src/services/realtimeRuntime/index.mjs.map +1 -0
  415. package/dist/src/services/realtimeSession/index.cjs +174 -0
  416. package/dist/src/services/realtimeSession/index.cjs.map +1 -0
  417. package/dist/src/services/realtimeSession/index.mjs +174 -0
  418. package/dist/src/services/realtimeSession/index.mjs.map +1 -0
  419. package/dist/src/services/semanticEcho/index.cjs +316 -0
  420. package/dist/src/services/semanticEcho/index.cjs.map +1 -0
  421. package/dist/src/services/semanticEcho/index.d.cts +42 -0
  422. package/dist/src/services/semanticEcho/index.d.cts.map +1 -0
  423. package/dist/src/services/semanticEcho/index.d.mts +42 -0
  424. package/dist/src/services/semanticEcho/index.d.mts.map +1 -0
  425. package/dist/src/services/semanticEcho/index.mjs +308 -0
  426. package/dist/src/services/semanticEcho/index.mjs.map +1 -0
  427. package/dist/src/services/semanticEcho/type.d.cts +52 -0
  428. package/dist/src/services/semanticEcho/type.d.cts.map +1 -0
  429. package/dist/src/services/semanticEcho/type.d.mts +52 -0
  430. package/dist/src/services/semanticEcho/type.d.mts.map +1 -0
  431. package/dist/src/services/sessionVoiceOwnership/index.cjs +239 -0
  432. package/dist/src/services/sessionVoiceOwnership/index.cjs.map +1 -0
  433. package/dist/src/services/sessionVoiceOwnership/index.d.cts +8 -0
  434. package/dist/src/services/sessionVoiceOwnership/index.d.cts.map +1 -0
  435. package/dist/src/services/sessionVoiceOwnership/index.d.mts +8 -0
  436. package/dist/src/services/sessionVoiceOwnership/index.d.mts.map +1 -0
  437. package/dist/src/services/sessionVoiceOwnership/index.mjs +235 -0
  438. package/dist/src/services/sessionVoiceOwnership/index.mjs.map +1 -0
  439. package/dist/src/services/silero/index.cjs +103 -0
  440. package/dist/src/services/silero/index.cjs.map +1 -0
  441. package/dist/src/services/silero/index.mjs +99 -0
  442. package/dist/src/services/silero/index.mjs.map +1 -0
  443. package/dist/src/services/transcriptAdmission/index.cjs +409 -0
  444. package/dist/src/services/transcriptAdmission/index.cjs.map +1 -0
  445. package/dist/src/services/transcriptAdmission/index.d.cts +3 -0
  446. package/dist/src/services/transcriptAdmission/index.d.mts +3 -0
  447. package/dist/src/services/transcriptAdmission/index.mjs +408 -0
  448. package/dist/src/services/transcriptAdmission/index.mjs.map +1 -0
  449. package/dist/src/services/transcriptAdmission/type.d.cts +44 -0
  450. package/dist/src/services/transcriptAdmission/type.d.cts.map +1 -0
  451. package/dist/src/services/transcriptAdmission/type.d.mts +44 -0
  452. package/dist/src/services/transcriptAdmission/type.d.mts.map +1 -0
  453. package/dist/src/services/transcriptPolicy/index.cjs +185 -0
  454. package/dist/src/services/transcriptPolicy/index.cjs.map +1 -0
  455. package/dist/src/services/transcriptPolicy/index.mjs +181 -0
  456. package/dist/src/services/transcriptPolicy/index.mjs.map +1 -0
  457. package/dist/src/services/transcriptionCoordinator/index.cjs +81 -0
  458. package/dist/src/services/transcriptionCoordinator/index.cjs.map +1 -0
  459. package/dist/src/services/transcriptionCoordinator/index.mjs +79 -0
  460. package/dist/src/services/transcriptionCoordinator/index.mjs.map +1 -0
  461. package/dist/src/services/transferVoiceTool/index.cjs +115 -0
  462. package/dist/src/services/transferVoiceTool/index.cjs.map +1 -0
  463. package/dist/src/services/transferVoiceTool/index.mjs +112 -0
  464. package/dist/src/services/transferVoiceTool/index.mjs.map +1 -0
  465. package/dist/src/services/turnTranscriber/index.cjs +82 -0
  466. package/dist/src/services/turnTranscriber/index.cjs.map +1 -0
  467. package/dist/src/services/turnTranscriber/index.mjs +81 -0
  468. package/dist/src/services/turnTranscriber/index.mjs.map +1 -0
  469. package/dist/src/services/utterance/index.cjs +114 -0
  470. package/dist/src/services/utterance/index.cjs.map +1 -0
  471. package/dist/src/services/utterance/index.d.cts +44 -0
  472. package/dist/src/services/utterance/index.d.cts.map +1 -0
  473. package/dist/src/services/utterance/index.d.mts +44 -0
  474. package/dist/src/services/utterance/index.d.mts.map +1 -0
  475. package/dist/src/services/utterance/index.mjs +112 -0
  476. package/dist/src/services/utterance/index.mjs.map +1 -0
  477. package/dist/src/services/vad/index.cjs +317 -0
  478. package/dist/src/services/vad/index.cjs.map +1 -0
  479. package/dist/{vad.d.cts → src/services/vad/index.d.cts} +28 -13
  480. package/dist/src/services/vad/index.d.cts.map +1 -0
  481. package/dist/{vad.d.mts → src/services/vad/index.d.mts} +28 -13
  482. package/dist/src/services/vad/index.d.mts.map +1 -0
  483. package/dist/src/services/vad/index.mjs +315 -0
  484. package/dist/src/services/vad/index.mjs.map +1 -0
  485. package/dist/src/services/voiceCommandContext/index.cjs +125 -0
  486. package/dist/src/services/voiceCommandContext/index.cjs.map +1 -0
  487. package/dist/src/services/voiceCommandContext/index.mjs +125 -0
  488. package/dist/src/services/voiceCommandContext/index.mjs.map +1 -0
  489. package/dist/src/services/voiceConfig/index.cjs +36 -0
  490. package/dist/src/services/voiceConfig/index.cjs.map +1 -0
  491. package/dist/src/services/voiceConfig/index.d.cts +7 -0
  492. package/dist/src/services/voiceConfig/index.d.cts.map +1 -0
  493. package/dist/src/services/voiceConfig/index.d.mts +7 -0
  494. package/dist/src/services/voiceConfig/index.d.mts.map +1 -0
  495. package/dist/src/services/voiceConfig/index.mjs +32 -0
  496. package/dist/src/services/voiceConfig/index.mjs.map +1 -0
  497. package/dist/src/services/voiceConfigController/index.cjs +813 -0
  498. package/dist/src/services/voiceConfigController/index.cjs.map +1 -0
  499. package/dist/src/services/voiceConfigController/index.mjs +807 -0
  500. package/dist/src/services/voiceConfigController/index.mjs.map +1 -0
  501. package/dist/src/services/voiceController/index.cjs +795 -0
  502. package/dist/src/services/voiceController/index.cjs.map +1 -0
  503. package/dist/src/services/voiceController/index.d.cts +109 -0
  504. package/dist/src/services/voiceController/index.d.cts.map +1 -0
  505. package/dist/src/services/voiceController/index.d.mts +109 -0
  506. package/dist/src/services/voiceController/index.d.mts.map +1 -0
  507. package/dist/src/services/voiceController/index.mjs +778 -0
  508. package/dist/src/services/voiceController/index.mjs.map +1 -0
  509. package/dist/src/services/voiceDelivery/index.cjs +76 -0
  510. package/dist/src/services/voiceDelivery/index.cjs.map +1 -0
  511. package/dist/src/services/voiceDelivery/index.d.cts +5 -0
  512. package/dist/src/services/voiceDelivery/index.d.cts.map +1 -0
  513. package/dist/src/services/voiceDelivery/index.d.mts +5 -0
  514. package/dist/src/services/voiceDelivery/index.d.mts.map +1 -0
  515. package/dist/src/services/voiceDelivery/index.mjs +76 -0
  516. package/dist/src/services/voiceDelivery/index.mjs.map +1 -0
  517. package/dist/src/services/voiceDependencies/index.cjs +39 -0
  518. package/dist/src/services/voiceDependencies/index.cjs.map +1 -0
  519. package/dist/src/services/voiceDependencies/index.d.cts +5 -0
  520. package/dist/src/services/voiceDependencies/index.d.cts.map +1 -0
  521. package/dist/src/services/voiceDependencies/index.d.mts +5 -0
  522. package/dist/src/services/voiceDependencies/index.d.mts.map +1 -0
  523. package/dist/src/services/voiceDependencies/index.mjs +39 -0
  524. package/dist/src/services/voiceDependencies/index.mjs.map +1 -0
  525. package/dist/src/services/voiceMediaHubChannel/index.cjs +217 -0
  526. package/dist/src/services/voiceMediaHubChannel/index.cjs.map +1 -0
  527. package/dist/src/services/voiceMediaHubChannel/index.mjs +216 -0
  528. package/dist/src/services/voiceMediaHubChannel/index.mjs.map +1 -0
  529. package/dist/src/services/voiceModeController/index.cjs +68 -0
  530. package/dist/src/services/voiceModeController/index.cjs.map +1 -0
  531. package/dist/src/services/voiceModeController/index.mjs +68 -0
  532. package/dist/src/services/voiceModeController/index.mjs.map +1 -0
  533. package/dist/src/services/voiceOwnershipCoordinator/index.cjs +227 -0
  534. package/dist/src/services/voiceOwnershipCoordinator/index.cjs.map +1 -0
  535. package/dist/src/services/voiceOwnershipCoordinator/index.mjs +227 -0
  536. package/dist/src/services/voiceOwnershipCoordinator/index.mjs.map +1 -0
  537. package/dist/src/services/voicePeerRelay/index.cjs +335 -0
  538. package/dist/src/services/voicePeerRelay/index.cjs.map +1 -0
  539. package/dist/src/services/voicePeerRelay/index.mjs +331 -0
  540. package/dist/src/services/voicePeerRelay/index.mjs.map +1 -0
  541. package/dist/src/services/voicePlugin/index.cjs +163 -0
  542. package/dist/src/services/voicePlugin/index.cjs.map +1 -0
  543. package/dist/src/services/voicePlugin/index.mjs +163 -0
  544. package/dist/src/services/voicePlugin/index.mjs.map +1 -0
  545. package/dist/src/services/voiceReadiness/index.cjs +37 -0
  546. package/dist/src/services/voiceReadiness/index.cjs.map +1 -0
  547. package/dist/src/services/voiceReadiness/index.mjs +37 -0
  548. package/dist/src/services/voiceReadiness/index.mjs.map +1 -0
  549. package/dist/src/services/voiceReadinessApi/index.cjs +26 -0
  550. package/dist/src/services/voiceReadinessApi/index.cjs.map +1 -0
  551. package/dist/src/services/voiceReadinessApi/index.mjs +26 -0
  552. package/dist/src/services/voiceReadinessApi/index.mjs.map +1 -0
  553. package/dist/src/services/voiceServer/index.cjs +454 -0
  554. package/dist/src/services/voiceServer/index.cjs.map +1 -0
  555. package/dist/src/services/voiceServer/index.mjs +454 -0
  556. package/dist/src/services/voiceServer/index.mjs.map +1 -0
  557. package/dist/src/services/voiceSessionApi/index.cjs +39 -0
  558. package/dist/src/services/voiceSessionApi/index.cjs.map +1 -0
  559. package/dist/src/services/voiceSessionApi/index.mjs +39 -0
  560. package/dist/src/services/voiceSessionApi/index.mjs.map +1 -0
  561. package/dist/src/services/voiceSessionController/index.cjs +196 -0
  562. package/dist/src/services/voiceSessionController/index.cjs.map +1 -0
  563. package/dist/src/services/voiceSessionController/index.d.cts +33 -0
  564. package/dist/src/services/voiceSessionController/index.d.cts.map +1 -0
  565. package/dist/src/services/voiceSessionController/index.d.mts +33 -0
  566. package/dist/src/services/voiceSessionController/index.d.mts.map +1 -0
  567. package/dist/src/services/voiceSessionController/index.mjs +196 -0
  568. package/dist/src/services/voiceSessionController/index.mjs.map +1 -0
  569. package/dist/src/services/voiceToolPrompt/index.cjs +175 -0
  570. package/dist/src/services/voiceToolPrompt/index.cjs.map +1 -0
  571. package/dist/src/services/voiceToolPrompt/index.mjs +172 -0
  572. package/dist/src/services/voiceToolPrompt/index.mjs.map +1 -0
  573. package/dist/src/services/voiceToolRender/index.cjs +286 -0
  574. package/dist/src/services/voiceToolRender/index.cjs.map +1 -0
  575. package/dist/src/services/voiceToolRender/index.mjs +283 -0
  576. package/dist/src/services/voiceToolRender/index.mjs.map +1 -0
  577. package/dist/src/services/voiceTools/index.cjs +628 -0
  578. package/dist/src/services/voiceTools/index.cjs.map +1 -0
  579. package/dist/src/services/voiceTools/index.d.cts +7 -0
  580. package/dist/src/services/voiceTools/index.d.cts.map +1 -0
  581. package/dist/src/services/voiceTools/index.d.mts +7 -0
  582. package/dist/src/services/voiceTools/index.d.mts.map +1 -0
  583. package/dist/src/services/voiceTools/index.mjs +616 -0
  584. package/dist/src/services/voiceTools/index.mjs.map +1 -0
  585. package/dist/src/services/voiceToolsController/index.cjs +173 -0
  586. package/dist/src/services/voiceToolsController/index.cjs.map +1 -0
  587. package/dist/src/services/voiceToolsController/index.d.cts +3 -0
  588. package/dist/src/services/voiceToolsController/index.d.mts +3 -0
  589. package/dist/src/services/voiceToolsController/index.mjs +173 -0
  590. package/dist/src/services/voiceToolsController/index.mjs.map +1 -0
  591. package/dist/src/services/voiceWorkerAutoCaptureController/index.cjs +270 -0
  592. package/dist/src/services/voiceWorkerAutoCaptureController/index.cjs.map +1 -0
  593. package/dist/src/services/voiceWorkerAutoCaptureController/index.d.cts +72 -0
  594. package/dist/src/services/voiceWorkerAutoCaptureController/index.d.cts.map +1 -0
  595. package/dist/src/services/voiceWorkerAutoCaptureController/index.d.mts +72 -0
  596. package/dist/src/services/voiceWorkerAutoCaptureController/index.d.mts.map +1 -0
  597. package/dist/src/services/voiceWorkerAutoCaptureController/index.mjs +267 -0
  598. package/dist/src/services/voiceWorkerAutoCaptureController/index.mjs.map +1 -0
  599. package/dist/src/services/voiceWorkerClient/index.cjs +275 -0
  600. package/dist/src/services/voiceWorkerClient/index.cjs.map +1 -0
  601. package/dist/src/services/voiceWorkerClient/index.d.cts +28 -0
  602. package/dist/src/services/voiceWorkerClient/index.d.cts.map +1 -0
  603. package/dist/src/services/voiceWorkerClient/index.d.mts +28 -0
  604. package/dist/src/services/voiceWorkerClient/index.d.mts.map +1 -0
  605. package/dist/src/services/voiceWorkerClient/index.mjs +274 -0
  606. package/dist/src/services/voiceWorkerClient/index.mjs.map +1 -0
  607. package/dist/src/services/voiceWorkerMedia/index.cjs +109 -0
  608. package/dist/src/services/voiceWorkerMedia/index.cjs.map +1 -0
  609. package/dist/src/services/voiceWorkerMedia/index.mjs +108 -0
  610. package/dist/src/services/voiceWorkerMedia/index.mjs.map +1 -0
  611. package/dist/src/services/voiceWorkerPipeline/index.cjs +836 -0
  612. package/dist/src/services/voiceWorkerPipeline/index.cjs.map +1 -0
  613. package/dist/src/services/voiceWorkerPipeline/index.mjs +832 -0
  614. package/dist/src/services/voiceWorkerPipeline/index.mjs.map +1 -0
  615. package/dist/src/services/voiceWorkerProtocol/index.cjs +628 -0
  616. package/dist/src/services/voiceWorkerProtocol/index.cjs.map +1 -0
  617. package/dist/src/services/voiceWorkerProtocol/index.d.cts +149 -0
  618. package/dist/src/services/voiceWorkerProtocol/index.d.cts.map +1 -0
  619. package/dist/src/services/voiceWorkerProtocol/index.d.mts +149 -0
  620. package/dist/src/services/voiceWorkerProtocol/index.d.mts.map +1 -0
  621. package/dist/src/services/voiceWorkerProtocol/index.mjs +624 -0
  622. package/dist/src/services/voiceWorkerProtocol/index.mjs.map +1 -0
  623. package/dist/src/services/voiceWorkerSessionController/index.cjs +229 -0
  624. package/dist/src/services/voiceWorkerSessionController/index.cjs.map +1 -0
  625. package/dist/src/services/voiceWorkerSessionController/index.d.cts +21 -0
  626. package/dist/src/services/voiceWorkerSessionController/index.d.cts.map +1 -0
  627. package/dist/src/services/voiceWorkerSessionController/index.d.mts +21 -0
  628. package/dist/src/services/voiceWorkerSessionController/index.d.mts.map +1 -0
  629. package/dist/src/services/voiceWorkerSessionController/index.mjs +226 -0
  630. package/dist/src/services/voiceWorkerSessionController/index.mjs.map +1 -0
  631. package/dist/src/services/voiceWorkerSupervisor/index.cjs +121 -0
  632. package/dist/src/services/voiceWorkerSupervisor/index.cjs.map +1 -0
  633. package/dist/src/services/voiceWorkerSupervisor/index.d.cts +12 -0
  634. package/dist/src/services/voiceWorkerSupervisor/index.d.cts.map +1 -0
  635. package/dist/src/services/voiceWorkerSupervisor/index.d.mts +12 -0
  636. package/dist/src/services/voiceWorkerSupervisor/index.d.mts.map +1 -0
  637. package/dist/src/services/voiceWorkerSupervisor/index.mjs +121 -0
  638. package/dist/src/services/voiceWorkerSupervisor/index.mjs.map +1 -0
  639. package/dist/src/services/whisper/index.cjs +225 -0
  640. package/dist/src/services/whisper/index.cjs.map +1 -0
  641. package/dist/src/services/whisper/index.d.cts +34 -0
  642. package/dist/src/services/whisper/index.d.cts.map +1 -0
  643. package/dist/src/services/whisper/index.d.mts +34 -0
  644. package/dist/src/services/whisper/index.d.mts.map +1 -0
  645. package/dist/src/services/whisper/index.mjs +219 -0
  646. package/dist/src/services/whisper/index.mjs.map +1 -0
  647. package/dist/src/types/clientCaptureActivity.cjs +115 -0
  648. package/dist/src/types/clientCaptureActivity.cjs.map +1 -0
  649. package/dist/src/types/clientCaptureActivity.d.cts +38 -0
  650. package/dist/src/types/clientCaptureActivity.d.cts.map +1 -0
  651. package/dist/src/types/clientCaptureActivity.d.mts +38 -0
  652. package/dist/src/types/clientCaptureActivity.d.mts.map +1 -0
  653. package/dist/src/types/clientCaptureActivity.mjs +114 -0
  654. package/dist/src/types/clientCaptureActivity.mjs.map +1 -0
  655. package/dist/src/types/clientMedia.cjs +66 -0
  656. package/dist/src/types/clientMedia.cjs.map +1 -0
  657. package/dist/src/types/clientMedia.d.cts +164 -0
  658. package/dist/src/types/clientMedia.d.cts.map +1 -0
  659. package/dist/src/types/clientMedia.d.mts +164 -0
  660. package/dist/src/types/clientMedia.d.mts.map +1 -0
  661. package/dist/src/types/clientMedia.mjs +49 -0
  662. package/dist/src/types/clientMedia.mjs.map +1 -0
  663. package/dist/src/types/index.d.cts +210 -0
  664. package/dist/src/types/index.d.cts.map +1 -0
  665. package/dist/src/types/index.d.mts +210 -0
  666. package/dist/src/types/index.d.mts.map +1 -0
  667. package/dist/src/types/manualTranscription.cjs +27 -0
  668. package/dist/src/types/manualTranscription.cjs.map +1 -0
  669. package/dist/src/types/manualTranscription.mjs +20 -0
  670. package/dist/src/types/manualTranscription.mjs.map +1 -0
  671. package/dist/src/types/realtime.cjs +25 -0
  672. package/dist/src/types/realtime.cjs.map +1 -0
  673. package/dist/src/types/realtime.d.cts +61 -0
  674. package/dist/src/types/realtime.d.cts.map +1 -0
  675. package/dist/src/types/realtime.d.mts +61 -0
  676. package/dist/src/types/realtime.d.mts.map +1 -0
  677. package/dist/src/types/realtime.mjs +24 -0
  678. package/dist/src/types/realtime.mjs.map +1 -0
  679. package/dist/src/types/voiceOwnership.cjs +153 -0
  680. package/dist/src/types/voiceOwnership.cjs.map +1 -0
  681. package/dist/src/types/voiceOwnership.d.cts +55 -0
  682. package/dist/src/types/voiceOwnership.d.cts.map +1 -0
  683. package/dist/src/types/voiceOwnership.d.mts +55 -0
  684. package/dist/src/types/voiceOwnership.d.mts.map +1 -0
  685. package/dist/src/types/voiceOwnership.mjs +143 -0
  686. package/dist/src/types/voiceOwnership.mjs.map +1 -0
  687. package/dist/voiceReloadHandoff.cjs +9 -0
  688. package/dist/voiceReloadHandoff.d.cts +1 -0
  689. package/dist/voiceReloadHandoff.d.mts +1 -0
  690. package/dist/voiceReloadHandoff.mjs +2 -0
  691. package/dist/voiceTools.cjs +12 -0
  692. package/dist/voiceTools.d.cts +3 -0
  693. package/dist/voiceTools.d.mts +3 -0
  694. package/dist/voiceTools.mjs +3 -0
  695. package/dist/voiceWorker.cjs +150 -0
  696. package/dist/voiceWorker.cjs.map +1 -0
  697. package/dist/voiceWorker.d.cts +25 -0
  698. package/dist/voiceWorker.d.cts.map +1 -0
  699. package/dist/voiceWorker.d.mts +25 -0
  700. package/dist/voiceWorker.d.mts.map +1 -0
  701. package/dist/voiceWorker.mjs +149 -0
  702. package/dist/voiceWorker.mjs.map +1 -0
  703. package/licenses/Codex-Apache-2.0.txt +201 -0
  704. package/llms.txt +9 -0
  705. package/package.json +112 -22
  706. package/src/extensions/workspaces/sessions/(frontend)/lifecycle/_lib/models/README.md +11 -0
  707. package/src/extensions/workspaces/sessions/(frontend)/lifecycle/_lib/models/SILERO-LICENSE +21 -0
  708. package/src/prompts/doompi-use-voice/SKILL.md +35 -0
  709. package/src/types/clientCaptureActivity.ts +155 -0
  710. package/src/types/clientMedia.ts +226 -0
  711. package/src/types/manualTranscription.ts +53 -0
  712. package/src/types/realtime.ts +107 -0
  713. package/src/types/voiceOwnership.ts +295 -0
  714. package/dist/_virtual/_@oxc-project_runtime@0.143.0/helpers/esm/decorate.cjs +0 -1
  715. package/dist/_virtual/_@oxc-project_runtime@0.143.0/helpers/esm/decorate.mjs +0 -1
  716. package/dist/_virtual/_@oxc-project_runtime@0.143.0/helpers/esm/decorateMetadata.cjs +0 -1
  717. package/dist/_virtual/_@oxc-project_runtime@0.143.0/helpers/esm/decorateMetadata.mjs +0 -1
  718. package/dist/_virtual/_@oxc-project_runtime@0.143.0/helpers/esm/decorateParam.cjs +0 -1
  719. package/dist/_virtual/_@oxc-project_runtime@0.143.0/helpers/esm/decorateParam.mjs +0 -1
  720. package/dist/autoCapture.cjs +0 -8
  721. package/dist/autoCapture.cjs.map +0 -1
  722. package/dist/autoCapture.d.cts +0 -226
  723. package/dist/autoCapture.d.cts.map +0 -1
  724. package/dist/autoCapture.d.mts +0 -226
  725. package/dist/autoCapture.d.mts.map +0 -1
  726. package/dist/autoCapture.mjs +0 -8
  727. package/dist/autoCapture.mjs.map +0 -1
  728. package/dist/catalog.cjs +0 -2
  729. package/dist/catalog.cjs.map +0 -1
  730. package/dist/catalog.mjs +0 -2
  731. package/dist/catalog.mjs.map +0 -1
  732. package/dist/download.cjs +0 -2
  733. package/dist/download.cjs.map +0 -1
  734. package/dist/download.mjs +0 -2
  735. package/dist/download.mjs.map +0 -1
  736. package/dist/extensions/doom.cjs +0 -2
  737. package/dist/extensions/doom.cjs.map +0 -1
  738. package/dist/extensions/doom.d.cts +0 -6
  739. package/dist/extensions/doom.d.cts.map +0 -1
  740. package/dist/extensions/doom.d.mts +0 -6
  741. package/dist/extensions/doom.d.mts.map +0 -1
  742. package/dist/extensions/doom.mjs +0 -2
  743. package/dist/extensions/doom.mjs.map +0 -1
  744. package/dist/infrastructure.cjs +0 -3
  745. package/dist/infrastructure.cjs.map +0 -1
  746. package/dist/infrastructure.d.cts.map +0 -1
  747. package/dist/infrastructure.d.mts.map +0 -1
  748. package/dist/infrastructure.mjs +0 -3
  749. package/dist/infrastructure.mjs.map +0 -1
  750. package/dist/install.cjs +0 -2
  751. package/dist/install.cjs.map +0 -1
  752. package/dist/install.mjs +0 -2
  753. package/dist/install.mjs.map +0 -1
  754. package/dist/narration.cjs +0 -9
  755. package/dist/narration.cjs.map +0 -1
  756. package/dist/narration.d.cts +0 -110
  757. package/dist/narration.d.cts.map +0 -1
  758. package/dist/narration.d.mts +0 -110
  759. package/dist/narration.d.mts.map +0 -1
  760. package/dist/narration.mjs +0 -9
  761. package/dist/narration.mjs.map +0 -1
  762. package/dist/pcm.cjs +0 -2
  763. package/dist/pcm.cjs.map +0 -1
  764. package/dist/pcm.d.cts +0 -16
  765. package/dist/pcm.d.cts.map +0 -1
  766. package/dist/pcm.d.mts +0 -16
  767. package/dist/pcm.d.mts.map +0 -1
  768. package/dist/pcm.mjs +0 -2
  769. package/dist/pcm.mjs.map +0 -1
  770. package/dist/semanticEcho.cjs +0 -5
  771. package/dist/semanticEcho.cjs.map +0 -1
  772. package/dist/semanticEcho.d.cts +0 -100
  773. package/dist/semanticEcho.d.cts.map +0 -1
  774. package/dist/semanticEcho.d.mts +0 -100
  775. package/dist/semanticEcho.d.mts.map +0 -1
  776. package/dist/semanticEcho.mjs +0 -5
  777. package/dist/semanticEcho.mjs.map +0 -1
  778. package/dist/types.cjs +0 -2
  779. package/dist/types.cjs.map +0 -1
  780. package/dist/types.d.cts +0 -164
  781. package/dist/types.d.cts.map +0 -1
  782. package/dist/types.d.mts +0 -164
  783. package/dist/types.d.mts.map +0 -1
  784. package/dist/types.mjs +0 -2
  785. package/dist/types.mjs.map +0 -1
  786. package/dist/vad.cjs +0 -2
  787. package/dist/vad.cjs.map +0 -1
  788. package/dist/vad.d.cts.map +0 -1
  789. package/dist/vad.d.mts.map +0 -1
  790. package/dist/vad.mjs +0 -2
  791. package/dist/vad.mjs.map +0 -1
  792. package/dist/voice.cjs +0 -2
  793. package/dist/voice.cjs.map +0 -1
  794. package/dist/voice.d.cts +0 -146
  795. package/dist/voice.d.cts.map +0 -1
  796. package/dist/voice.d.mts +0 -146
  797. package/dist/voice.d.mts.map +0 -1
  798. package/dist/voice.mjs +0 -2
  799. package/dist/voice.mjs.map +0 -1
  800. package/dist/voiceConfig.cjs +0 -2
  801. package/dist/voiceConfig.cjs.map +0 -1
  802. package/dist/voiceConfig.mjs +0 -2
  803. package/dist/voiceConfig.mjs.map +0 -1
package/NOTICE ADDED
@@ -0,0 +1,13 @@
1
+ This package includes portions adapted from OpenAI Codex.
2
+ Copyright 2025 OpenAI
3
+ https://github.com/openai/codex
4
+ Source revision: 5ecb3afd1b
5
+
6
+ Adapted files:
7
+ - src/services/codexAuth/index.ts, src/services/codexLogin/index.ts, and src/services/codexAuthStorage/index.ts: subscription login, credential storage, and refresh
8
+ - src/services/codexRealtime/index.ts: realtime call creation
9
+ - src/services/realtimeProtocol.ts: Frameless realtime events and context messages
10
+
11
+ These portions were modified for DoomPi and are licensed under Apache-2.0.
12
+ A copy is included in licenses/Codex-Apache-2.0.txt.
13
+ The package's MIT license continues to apply to its original code.
package/README.md CHANGED
@@ -1,38 +1,263 @@
1
1
  # @agimon-ai/doompi-voice
2
2
 
3
- Local speech to text extension for Pi.
3
+ ## Server and browser configuration
4
4
 
5
- Local speech to text. Audio stays on the machine.
5
+ The web Settings page includes Voice under global and workspace settings. It uses the shared
6
+ config API, including file hashes, atomic saves, numeric values, and scope validation. `voice.mode` and `voice.autoCapture`
7
+ remain global settings. Browser input selection is separate from the host ffmpeg
8
+ `voice.recorder.device` option.
6
9
 
7
- Part of [Doompi](https://www.npmjs.com/package/@agimon-ai/doompi), a coding agent that loads
8
- only the skills and tools you name. This package is composed by Doompi and is not usually
9
- installed on its own.
10
+ The composer Voice button records on whatever input the browser is already using; there is no
11
+ device picker. Autonomous voice asks which input to open only when the browser reports more than
12
+ one, and remembers the answer in that browser's local storage until the set of inputs changes.
13
+ Dismissing that dialog uses the browser's own default input. Each tab keeps its own media
14
+ connection lease. Manual dictation appends to the draft until Send.
15
+
16
+ Voice owns these authenticated server endpoints:
17
+
18
+ | Mount | Endpoint | Purpose |
19
+ | --------------------------------------- | ---------------- | -------------------------------------------------------- |
20
+ | `/api/plugins/voice` | `GET /readiness` | Check configuration and local transcription dependencies |
21
+ | `/api/sessions/:sessionId/plugin/voice` | `GET /status` | Read lifecycle and media readiness |
22
+ | same | `POST /control` | Send `{action, target?}` |
23
+
24
+ Control actions are `status`, `manual`, `activate`, `deactivate`, `mute`, `unmute`, `interrupt`,
25
+ and `transfer` (with a target catalog order and its catalog revision). The typed session method `voice.control` uses the
26
+ same operations as commands and minor-mode actions. Browser recording uploads continue to use
27
+ `/api/sessions/:sessionId/plugin/voice-media/manual/transcribe`.
28
+
29
+ The native server composes Voice controllers with one session media broker. Workers receive PCM
30
+ on a dedicated media port. No terminal editor or Pi ExtensionContext is emulated. Live voice
31
+ still requires its separate subscription credentials; a successful local readiness check does
32
+ not verify a live provider connection.
33
+
34
+ Capture speech on the client, transcribe it on the host, and play responses through DoomPi Voice mode.
35
+
36
+ Part of the [DoomPi distribution](https://www.npmjs.com/package/@agimon-ai/doompi).
37
+
38
+ Voice can transcribe one recording or keep the currently active session listening. It also gives
39
+ the primary agent a bounded `narrate` tool and accepts narration requests from other extensions.
40
+
41
+ > **Alpha:** Voice state, tool, and platform support may change between releases.
42
+
43
+ ## Realtime companion
44
+
45
+ Realtime is an optional conversational interface, not a replacement for the primary Pi
46
+ agent or for half-duplex Voice. Pi keeps its selected model, reasoning, tools, approvals,
47
+ Team and Workflow. The companion handles speech and forwards fresh action requests to Pi;
48
+ it does not execute tools or launch a second coding agent.
49
+
50
+ The experimental live path connects browser WebRTC, DoomPi-owned subscription login,
51
+ the exclusive media lease, bounded session context, and main-agent requests/results.
52
+ Subscription connectivity and a synthetic echo roundtrip have been exercised. Physical
53
+ playback, echo safety, interruption recovery and microphone usability remain **unqualified**.
54
+
55
+ For a separately approved trial:
56
+
57
+ 1. Select `voice.mode: live` in global configuration. Repository configuration cannot enable it.
58
+ 2. Run `/voice-auto login` and open the displayed URL on the DoomPi host. Credentials stay
59
+ in DoomPi's private `voice/subscription-auth` directory beside its global configuration,
60
+ separate from Codex and Pi OAuth. `/voice-auto login-cancel` cancels the attempt.
61
+ 3. With separate provider and microphone consent, explicitly activate Voice with a connected
62
+ WebRTC-capable browser. Selecting live or signing in does not activate capture.
63
+ 4. Use browser controls or `/voice-auto mute`, `unmute`, `interrupt`, and `end`.
64
+
65
+ Pi's settled final text is returned as a correlated companion result, separately from the
66
+ initial submission acknowledgement. Later Pi turns, including turns responding to Team or
67
+ Workflow completion, can supply speakable session updates without another voice request.
68
+ Responses exceeding the bounded result limit stay in the Pi session; Voice reports that it
69
+ cannot summarize contents it did not transmit. Thinking and raw tool output are not forwarded.
70
+
71
+ Interruption suppresses output for the remainder of that activation; explicitly end and
72
+ reactivate Voice to hear replies again. It does not cancel main-agent work. Exact primary-agent
73
+ `narrate` and its TTS fallback are not enabled in live mode. Voice-only approval answers remain
74
+ unavailable. Reconnect and reload do not resume microphone transmission.
75
+
76
+ Omit `voice.mode` or select the compatibility value `legacy` for the existing half-duplex
77
+ Voice path. It remains a supported interaction choice. Live capture does not require local
78
+ ASR; the local transcription requirements below apply to half-duplex and manual Voice.
79
+ No API-key fallback is provided if subscription access fails.
80
+
81
+ See [ARCHITECTURE.md](docs/ARCHITECTURE.md#realtime-port-foundations) for the current boundary.
82
+ Upstream port attribution is in `NOTICE` and `licenses/Codex-Apache-2.0.txt`.
83
+
84
+ ## Requirements
85
+
86
+ - Node.js 22.19.0 or newer
87
+ - Pi 0.85.0
88
+ - A browser with microphone capture and speech synthesis when using `doompi-web`
89
+ - For standalone terminal use on macOS, FFmpeg capture and `say` playback
90
+ - One supported local transcription engine: `whisper-cli`, `whisper`, or `mlx_whisper` (Apple
91
+ silicon only)
92
+ - Microphone permission on the client device
10
93
 
11
94
  ## Install
12
95
 
96
+ The seeded `modes.yaml` selects Voice in `default.packages`. Keep it there or select it through a
97
+ layer; Voice is not fixed host infrastructure. Standalone Pi loads the same extension:
98
+
13
99
  ```bash
14
- npm install @agimon-ai/doompi-voice
100
+ pi install npm:@agimon-ai/doompi-voice
101
+ ```
102
+
103
+ | Entry | Purpose |
104
+ | --------------------------------------- | ---------------------------------------------------------------- |
105
+ | `@agimon-ai/doompi-voice/extensions/pi` | Voice mode, Leader, footer, configuration, and narration runtime |
106
+
107
+ ## Configure
108
+
109
+ A complete `~/.pi/.doom/config.yaml` example using Python Whisper is:
110
+
111
+ ```yaml
112
+ voice:
113
+ engine: openai-whisper
114
+ language: auto
115
+ recorder:
116
+ device: default
117
+ adapters:
118
+ openai-whisper:
119
+ binary: whisper
120
+ model:
121
+ id: base
122
+ autoCapture:
123
+ model: provider/model-id
124
+ startPhrases: []
125
+ stopPhrases: []
126
+ composeOpenPhrases: [hey doom]
127
+ composeSendPhrases: ["that's it"]
128
+ composeCancelPhrases: [scratch that]
129
+ utteranceIdleMs: 3000
130
+ composeUtteranceIdleMs: 1200
131
+ composeNudgeMs: 10000
132
+ transcriptionTimeoutMs: 120000
133
+ tts:
134
+ engine: macos-say
135
+ voice: Samantha
136
+ rate: 190
15
137
  ```
16
138
 
17
- ## How it loads
139
+ Replace `provider/model-id` with a model configured in Pi, or omit `autoCapture` when only manual
140
+ transcription is required. Use the `whisper-cpp` engine for `whisper-cli`, `openai-whisper` for
141
+ `whisper`, or `mlx-whisper` for `mlx_whisper`. `utteranceIdleMs` accepts 1,500 to 10,000 ms and
142
+ defaults to 3,000.
18
143
 
19
- Doompi loads this unconditionally. It is core, not a layer, so it does not appear in
20
- `.doom/modes.yaml`: making it optional would only create broken configurations.
144
+ A profile can give its persona its own voice. Front-matter in the persona's `profile.md` shadows
145
+ `autoCapture.tts` per field, so a persona setting only `rate` keeps the voice configured here:
21
146
 
22
- Extension entry: `@agimon-ai/doompi-voice/extensions/doom`
147
+ ```markdown
148
+ ---
149
+ name: Rhea
150
+ voice:
151
+ voice: Karen
152
+ rate: 175
153
+ ---
154
+ ```
155
+
156
+ The `engine` is never overridable, because it selects the synthesiser rather than the persona. The
157
+ spoken voice is read when autonomous voice activates, so a profile switch applies it through the
158
+ reload that switch already performs.
159
+
160
+ Autonomous voice can also change profile. The `profile` capability on the voice tool facade lists
161
+ the configured personas and queues a switch, which reloads the session with the new persona, its
162
+ voice, and its avatar. See
163
+ [@agimon-ai/doompi-profile](../../foundations/doompi-profile/README.md) for authoring personas.
164
+
165
+ When the agent is launched by `doompi-server`, capture and narration use the connected media client.
166
+ The protocol is capability-driven rather than browser-specific. A client can own microphone capture,
167
+ adaptive activity detection, endpoint decisions, autonomous capture phases, and playback while streaming
168
+ mono 16 kHz PCM16 through the authenticated session media API. The host supplies capabilities the client
169
+ does not advertise and remains responsible for durable spooling, configured transcription, and Pi or
170
+ model actions. This boundary supports terminal, web, React Native, and future watch adapters without
171
+ putting platform APIs in the shared client runtime.
172
+
173
+ A browser using the sealed remote-control channel takes the session media lease from a local client, so
174
+ narration and capture follow the user to the remote device. Local clients cannot take that lease back
175
+ while the remote client remains connected. Standalone terminal launches retain the macOS FFmpeg and
176
+ `say` adapters as a host-owned fallback. In the browser, `tts.voice` selects an exact
177
+ SpeechSynthesis voice name or URI. If it does not match, the browser uses its default voice. Portable
178
+ clients implement the declared ports through `@agimon-ai/doompi-voice/client-media`. Browser media ownership is page-global rather than tied to the focused cockpit route, so switching sessions does not disconnect an autonomous capture owned by another session.
179
+
180
+ For server-streamed narration, the browser uses the exact 16 kHz PCM as a local echo reference while uploading microphone PCM unchanged. A bounded discriminator filters only the local Silero input and reports cumulative trusted speech duration, never reference audio, residual audio, transcript, correlation, or gain. Natural address-free interruption requires 300 ms of trusted residual speech plus semantic novelty. Missing or uncertain alignment, failed local Silero, unsupported clients, and browser SpeechSynthesis all fail closed to the existing intentional-address or exact-stop behavior. The 800 ms echo tail remains active. Acoustic thresholds are provisional until physical speaker-to-microphone qualification passes.
181
+
182
+ ## Commands and tools
183
+
184
+ - `SPC v m` records and transcribes once; it does not enable autonomous Voice tools.
185
+ - `SPC v e` enters autonomous capture and exits it again.
186
+ - `/voice-auto mute` pauses microphone capture without disabling narration; `/voice-auto unmute` resumes capture.
187
+ - While autonomous capture is active, say `hey doom` at the beginning of a segment to open a long composed prompt. Later finalized segments are buffered until `that's it` submits the combined text or `scratch that` discards it in the example configuration.
188
+ - `describe_voice_tools` returns the active session's spoken capability catalog.
189
+ - `use_voice_tools` executes a bounded ordered batch against that catalog.
190
+ - `narrate` speaks one primary-agent-authored utterance and waits for physical playback.
191
+
192
+ Composition is for long spoken prompts, so a multi-part prompt is not submitted half-written. A short utterance needs no phrase and is delivered as soon as it finalizes.
193
+
194
+ Each configured phrase array replaces its defaults rather than extending them. The example above keeps only one phrase per set, so it does not recognize `doom prompt`, `doom send`, or `doom cancel` as composition commands. Omit the arrays to use all defaults:
195
+
196
+ `composeOpenPhrases` is `hey doom, doom prompt`, `composeSendPhrases` is `that's it, doom send`, and `composeCancelPhrases` is `doom cancel, scratch that`. Matching ignores case, punctuation and apostrophes, and tolerates small transcription differences, so `thats it` and `doom sent` are recognised. Send and cancel act as commands only while a draft is open, and only when the phrase is the whole segment or ends a sentence, so ordinary dictation containing those words stays content. While a draft collects, the endpoint window shortens to `composeUtteranceIdleMs` (default 1,200 ms) so a short command finalizes as its own turn. A composed prompt is queued as a Pi follow-up while Pi is busy.
197
+
198
+ Drafts are held in memory for the active autonomous session and are limited to 32,768 characters. Worker restarts and five-minute idle capture rotation preserve the draft, but deactivation, extension reload, and process restart discard it. Wait until the status returns to `composing, listening` before speaking the next segment because capture pauses during transcription.
199
+
200
+ Before a final response, narration contains the complete answer, including every user-relevant
201
+ conclusion, question, warning, result, and next action in the written response. It does not use
202
+ a shorter spoken summary that leaves essential information only in text. Each narration is
203
+ limited to 4,096 characters and returns `completed`, `interrupted`, `superseded`, or `failed`.
204
+ Once confirmed user speech begins, new narration waits in memory until that turn is synchronously delivered to Pi. Multiple waiting requests use the configured `autoCapture.model` to become one bounded spoken update, with one bounded deterministic utterance if compaction fails. Narration that was already playing is not stopped by this queue gate; the existing ranked barge-in policy remains responsible for interruption.
205
+ Narration fails closed while Voice is starting or draining, during shutdown, reload, or
206
+ deactivation, and when the request belongs to a stale session.
207
+ Only the currently active TUI session receives Voice-owned tools. Paired-host targets are discovered through authenticated Voice grants and appear in the same revision-bound transfer catalog. A handoff prepares the target, releases the source, activates the target, and waits for usable media readiness. It does not transfer agent context, transcripts, pending work, or buffered source audio.
23
208
 
24
- ## Leader
209
+ If no `narrate` attempt is made before a final response, the active Voice session can produce one
210
+ bounded fallback utterance. Short final responses use deterministic text; longer ones may use
211
+ `autoCapture.model` for one bounded summary and fall back to a deterministic excerpt on failure.
212
+ These optional model calls consume provider quota.
25
213
 
26
- - `SPC v v` records or transcribes once.
27
- - `SPC v a` toggles autonomous voice capture. `VOICE` stays beside `INSERT` while enabled, and microphone activity appears transiently in the Doom modeline.
214
+ ## Data flow and recovery
28
215
 
29
- ## Entry points
216
+ The selected client captures audio. When it advertises client orchestration, its portable PCM state
217
+ machine performs activity detection and endpointing, then sends phase metadata with the streamed audio.
218
+ Clients without those capabilities use host adaptive and neural VAD as a fallback. PCM validation,
219
+ spooling, WAV creation, normalization, and configured local Whisper execution run on the host in a
220
+ private supervised worker. Private spool directories use mode `0700` and files use `0600`.
221
+ Unacknowledged turns can be rediscovered after a worker restart.
222
+
223
+ This is not a blanket “nothing leaves the machine” guarantee:
224
+
225
+ - Client PCM crosses the authenticated cockpit transport, is queued transiently in memory, and is
226
+ persisted only in the host worker's private spool.
227
+ - Transcript candidates and bounded state strings cross the worker/process boundary.
228
+ - Pi receives transcript text as user input.
229
+ - Command correction and long-final fallback text can be sent to the configured model provider.
230
+ - Telemetry may contain bounded operational metadata; review its sink configuration.
231
+
232
+ Manual recordings and autonomous spool windows are bounded to five minutes. Deactivation or
233
+ cancellation interrupts pending capture and playback. A manual reload does not silently reactivate
234
+ the microphone.
235
+
236
+ ## Architecture
237
+
238
+ See [Architecture](./docs/ARCHITECTURE.md) for the thread and process topology, the path a single spoken turn takes, the XState lifecycle and how it relates to Pi, the module and cordis service graph, and narration gating and barge-in. [SPEC.md](./docs/SPEC.md) is the normative contract.
239
+
240
+ ## Public API
241
+
242
+ The root exports audio infrastructure, PCM, VAD, and utterance services, narration and playback
243
+ contracts, command correction, fallback narration, and Voice types. Host adapters should import only declared package exports:
244
+
245
+ | Export | Purpose |
246
+ | --------------------------------------- | --------------------------------------------------------------------- |
247
+ | `@agimon-ai/doompi-voice` | Host audio adapters, narration, PCM, VAD, correction, and Voice types |
248
+ | `@agimon-ai/doompi-voice/extensions/pi` | Pi extension activation |
249
+ | `@agimon-ai/doompi-voice/client-media` | Client capture activity and media contracts |
250
+
251
+ ## Development
252
+
253
+ ```bash
254
+ pnpm build
255
+ pnpm typecheck
256
+ pnpm test
257
+ pnpm lint
258
+ ```
30
259
 
31
- | Import |
32
- | ----------------------------------------- |
33
- | `@agimon-ai/doompi-voice` |
34
- | `@agimon-ai/doompi-voice/extensions/pi` |
35
- | `@agimon-ai/doompi-voice/extensions/doom` |
260
+ Maintained by [Agimon](https://agimon.ai/about).
36
261
 
37
262
  ## License
38
263
 
@@ -1 +1,35 @@
1
- var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,s)=>(s=n==null?{}:e(i(n)),o(r||!n||!n.__esModule||!a.call(n,`default`)?t(s,`default`,{value:n,enumerable:!0}):s,n));exports.__toESM=s;
1
+ //#region \0rolldown/runtime.js
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __exportAll = (all, no_symbols) => {
9
+ let target = {};
10
+ for (var name in all) __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: true
13
+ });
14
+ if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
15
+ return target;
16
+ };
17
+ var __copyProps = (to, from, except, desc) => {
18
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
19
+ key = keys[i];
20
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
21
+ get: ((k) => from[k]).bind(null, key),
22
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
23
+ });
24
+ }
25
+ return to;
26
+ };
27
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
28
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", {
29
+ value: mod,
30
+ enumerable: true
31
+ }) : target, mod));
32
+ //#endregion
33
+ exports.__exportAll = __exportAll;
34
+ exports.__reExport = __reExport;
35
+ exports.__toESM = __toESM;
@@ -0,0 +1,28 @@
1
+ import "node:module";
2
+ //#region \0rolldown/runtime.js
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __exportAll = (all, no_symbols) => {
8
+ let target = {};
9
+ for (var name in all) __defProp(target, name, {
10
+ get: all[name],
11
+ enumerable: true
12
+ });
13
+ if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
14
+ return target;
15
+ };
16
+ var __copyProps = (to, from, except, desc) => {
17
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
18
+ key = keys[i];
19
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
20
+ get: ((k) => from[k]).bind(null, key),
21
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
22
+ });
23
+ }
24
+ return to;
25
+ };
26
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
27
+ //#endregion
28
+ export { __exportAll, __reExport };
@@ -0,0 +1,7 @@
1
+ Object.defineProperties(exports, {
2
+ __esModule: { value: true },
3
+ [Symbol.toStringTag]: { value: "Module" }
4
+ });
5
+ const require_apiContracts = require("./src/schemas/apiContracts.cjs");
6
+ exports.apiContracts = require_apiContracts.apiContracts;
7
+ exports.default = require_apiContracts.apiContracts;
@@ -0,0 +1,2 @@
1
+ import { apiContracts } from "./src/schemas/apiContracts.cjs";
2
+ export { apiContracts, apiContracts as default };
@@ -0,0 +1,2 @@
1
+ import { apiContracts } from "./src/schemas/apiContracts.mjs";
2
+ export { apiContracts, apiContracts as default };
@@ -0,0 +1,2 @@
1
+ import { apiContracts } from "./src/schemas/apiContracts.mjs";
2
+ export { apiContracts, apiContracts as default };
@@ -0,0 +1,13 @@
1
+ const PROCESSOR_NAME = 'doompi-voice-capture';
2
+
3
+ class DoomPiVoiceCaptureProcessor extends AudioWorkletProcessor {
4
+ process(inputs, outputs) {
5
+ const input = inputs[0]?.[0];
6
+ if (input === undefined) return true;
7
+ outputs[0]?.[0]?.set(input);
8
+ this.port.postMessage({ samples: input.slice(), capturedAt: currentTime });
9
+ return true;
10
+ }
11
+ }
12
+
13
+ registerProcessor(PROCESSOR_NAME, DoomPiVoiceCaptureProcessor);
@@ -0,0 +1,23 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_clientMedia = require("./src/types/clientMedia.cjs");
3
+ const require_clientCaptureActivity = require("./src/types/clientCaptureActivity.cjs");
4
+ exports.ClientCaptureActivityLifecycle = require_clientCaptureActivity.ClientCaptureActivityLifecycle;
5
+ exports.VOICE_MEDIA_ACTIVITY_ECHO_SPEECH_MS_HEADER = require_clientMedia.VOICE_MEDIA_ACTIVITY_ECHO_SPEECH_MS_HEADER;
6
+ exports.VOICE_MEDIA_ACTIVITY_ELAPSED_HEADER = require_clientMedia.VOICE_MEDIA_ACTIVITY_ELAPSED_HEADER;
7
+ exports.VOICE_MEDIA_ACTIVITY_EPOCH_HEADER = require_clientMedia.VOICE_MEDIA_ACTIVITY_EPOCH_HEADER;
8
+ exports.VOICE_MEDIA_ACTIVITY_LEVEL_HEADER = require_clientMedia.VOICE_MEDIA_ACTIVITY_LEVEL_HEADER;
9
+ exports.VOICE_MEDIA_ACTIVITY_SPEECH_MS_HEADER = require_clientMedia.VOICE_MEDIA_ACTIVITY_SPEECH_MS_HEADER;
10
+ exports.VOICE_MEDIA_ACTIVITY_STATE_HEADER = require_clientMedia.VOICE_MEDIA_ACTIVITY_STATE_HEADER;
11
+ exports.VOICE_MEDIA_API_BASE_PATH = require_clientMedia.VOICE_MEDIA_API_BASE_PATH;
12
+ exports.VOICE_MEDIA_BITS_PER_SAMPLE = require_clientMedia.VOICE_MEDIA_BITS_PER_SAMPLE;
13
+ exports.VOICE_MEDIA_CHANNELS = require_clientMedia.VOICE_MEDIA_CHANNELS;
14
+ exports.VOICE_MEDIA_CONTENT_TYPE = require_clientMedia.VOICE_MEDIA_CONTENT_TYPE;
15
+ exports.VOICE_MEDIA_EVENT_WAIT_NONE = require_clientMedia.VOICE_MEDIA_EVENT_WAIT_NONE;
16
+ exports.VOICE_MEDIA_HEARTBEAT_MS = require_clientMedia.VOICE_MEDIA_HEARTBEAT_MS;
17
+ exports.VOICE_MEDIA_PLAYBACK_STATE_HEADER = require_clientMedia.VOICE_MEDIA_PLAYBACK_STATE_HEADER;
18
+ exports.VOICE_MEDIA_PROTOCOL_VERSION = require_clientMedia.VOICE_MEDIA_PROTOCOL_VERSION;
19
+ exports.VOICE_MEDIA_ROUTES = require_clientMedia.VOICE_MEDIA_ROUTES;
20
+ exports.VOICE_MEDIA_SAMPLE_RATE = require_clientMedia.VOICE_MEDIA_SAMPLE_RATE;
21
+ exports.VOICE_MEDIA_WAKE_TYPE = require_clientMedia.VOICE_MEDIA_WAKE_TYPE;
22
+ exports.calculateClientPcmDbfs = require_clientCaptureActivity.calculateClientPcmDbfs;
23
+ exports.voiceMediaClientUrl = require_clientMedia.voiceMediaClientUrl;
@@ -0,0 +1,3 @@
1
+ import { ClientCaptureActivityLifecycle, ClientCaptureSpeechClassification, SpeechPresenceDetector, SpeechPresenceWindow, calculateClientPcmDbfs } from "./src/types/clientCaptureActivity.cjs";
2
+ import { VOICE_MEDIA_ACTIVITY_ECHO_SPEECH_MS_HEADER, VOICE_MEDIA_ACTIVITY_ELAPSED_HEADER, VOICE_MEDIA_ACTIVITY_EPOCH_HEADER, VOICE_MEDIA_ACTIVITY_LEVEL_HEADER, VOICE_MEDIA_ACTIVITY_SPEECH_MS_HEADER, VOICE_MEDIA_ACTIVITY_STATE_HEADER, VOICE_MEDIA_API_BASE_PATH, VOICE_MEDIA_BITS_PER_SAMPLE, VOICE_MEDIA_CHANNELS, VOICE_MEDIA_CONTENT_TYPE, VOICE_MEDIA_EVENT_WAIT_NONE, VOICE_MEDIA_HEARTBEAT_MS, VOICE_MEDIA_PLAYBACK_STATE_HEADER, VOICE_MEDIA_PROTOCOL_VERSION, VOICE_MEDIA_ROUTES, VOICE_MEDIA_SAMPLE_RATE, VOICE_MEDIA_WAKE_TYPE, VoiceClientKind, VoiceMediaCapabilities, VoiceMediaCapture, VoiceMediaCaptureActivity, VoiceMediaCaptureActivityState, VoiceMediaCaptureConfiguration, VoiceMediaCaptureMode, VoiceMediaCaptureSpeechAnalysis, VoiceMediaClientEvent, VoiceMediaConnectRequest, VoiceMediaConnectResult, VoiceMediaControlLocation, VoiceMediaDevice, VoiceMediaHeartbeatResult, VoiceMediaPlayback, VoiceMediaPlaybackDelivery, VoiceMediaPlaybackOutcome, VoiceMediaPlaybackResult, VoiceMediaTransport, VoiceMediaWake, voiceMediaClientUrl } from "./src/types/clientMedia.cjs";
3
+ export { ClientCaptureActivityLifecycle, type ClientCaptureSpeechClassification, type SpeechPresenceDetector, type SpeechPresenceWindow, VOICE_MEDIA_ACTIVITY_ECHO_SPEECH_MS_HEADER, VOICE_MEDIA_ACTIVITY_ELAPSED_HEADER, VOICE_MEDIA_ACTIVITY_EPOCH_HEADER, VOICE_MEDIA_ACTIVITY_LEVEL_HEADER, VOICE_MEDIA_ACTIVITY_SPEECH_MS_HEADER, VOICE_MEDIA_ACTIVITY_STATE_HEADER, VOICE_MEDIA_API_BASE_PATH, VOICE_MEDIA_BITS_PER_SAMPLE, VOICE_MEDIA_CHANNELS, VOICE_MEDIA_CONTENT_TYPE, VOICE_MEDIA_EVENT_WAIT_NONE, VOICE_MEDIA_HEARTBEAT_MS, VOICE_MEDIA_PLAYBACK_STATE_HEADER, VOICE_MEDIA_PROTOCOL_VERSION, VOICE_MEDIA_ROUTES, VOICE_MEDIA_SAMPLE_RATE, VOICE_MEDIA_WAKE_TYPE, type VoiceClientKind, type VoiceMediaCapabilities, type VoiceMediaCapture, type VoiceMediaCaptureActivity, type VoiceMediaCaptureActivityState, type VoiceMediaCaptureConfiguration, type VoiceMediaCaptureMode, type VoiceMediaCaptureSpeechAnalysis, type VoiceMediaClientEvent, type VoiceMediaConnectRequest, type VoiceMediaConnectResult, type VoiceMediaControlLocation, type VoiceMediaDevice, type VoiceMediaHeartbeatResult, type VoiceMediaPlayback, type VoiceMediaPlaybackDelivery, type VoiceMediaPlaybackOutcome, type VoiceMediaPlaybackResult, type VoiceMediaTransport, type VoiceMediaWake, calculateClientPcmDbfs, voiceMediaClientUrl };
@@ -0,0 +1,3 @@
1
+ import { ClientCaptureActivityLifecycle, ClientCaptureSpeechClassification, SpeechPresenceDetector, SpeechPresenceWindow, calculateClientPcmDbfs } from "./src/types/clientCaptureActivity.mjs";
2
+ import { VOICE_MEDIA_ACTIVITY_ECHO_SPEECH_MS_HEADER, VOICE_MEDIA_ACTIVITY_ELAPSED_HEADER, VOICE_MEDIA_ACTIVITY_EPOCH_HEADER, VOICE_MEDIA_ACTIVITY_LEVEL_HEADER, VOICE_MEDIA_ACTIVITY_SPEECH_MS_HEADER, VOICE_MEDIA_ACTIVITY_STATE_HEADER, VOICE_MEDIA_API_BASE_PATH, VOICE_MEDIA_BITS_PER_SAMPLE, VOICE_MEDIA_CHANNELS, VOICE_MEDIA_CONTENT_TYPE, VOICE_MEDIA_EVENT_WAIT_NONE, VOICE_MEDIA_HEARTBEAT_MS, VOICE_MEDIA_PLAYBACK_STATE_HEADER, VOICE_MEDIA_PROTOCOL_VERSION, VOICE_MEDIA_ROUTES, VOICE_MEDIA_SAMPLE_RATE, VOICE_MEDIA_WAKE_TYPE, VoiceClientKind, VoiceMediaCapabilities, VoiceMediaCapture, VoiceMediaCaptureActivity, VoiceMediaCaptureActivityState, VoiceMediaCaptureConfiguration, VoiceMediaCaptureMode, VoiceMediaCaptureSpeechAnalysis, VoiceMediaClientEvent, VoiceMediaConnectRequest, VoiceMediaConnectResult, VoiceMediaControlLocation, VoiceMediaDevice, VoiceMediaHeartbeatResult, VoiceMediaPlayback, VoiceMediaPlaybackDelivery, VoiceMediaPlaybackOutcome, VoiceMediaPlaybackResult, VoiceMediaTransport, VoiceMediaWake, voiceMediaClientUrl } from "./src/types/clientMedia.mjs";
3
+ export { ClientCaptureActivityLifecycle, type ClientCaptureSpeechClassification, type SpeechPresenceDetector, type SpeechPresenceWindow, VOICE_MEDIA_ACTIVITY_ECHO_SPEECH_MS_HEADER, VOICE_MEDIA_ACTIVITY_ELAPSED_HEADER, VOICE_MEDIA_ACTIVITY_EPOCH_HEADER, VOICE_MEDIA_ACTIVITY_LEVEL_HEADER, VOICE_MEDIA_ACTIVITY_SPEECH_MS_HEADER, VOICE_MEDIA_ACTIVITY_STATE_HEADER, VOICE_MEDIA_API_BASE_PATH, VOICE_MEDIA_BITS_PER_SAMPLE, VOICE_MEDIA_CHANNELS, VOICE_MEDIA_CONTENT_TYPE, VOICE_MEDIA_EVENT_WAIT_NONE, VOICE_MEDIA_HEARTBEAT_MS, VOICE_MEDIA_PLAYBACK_STATE_HEADER, VOICE_MEDIA_PROTOCOL_VERSION, VOICE_MEDIA_ROUTES, VOICE_MEDIA_SAMPLE_RATE, VOICE_MEDIA_WAKE_TYPE, type VoiceClientKind, type VoiceMediaCapabilities, type VoiceMediaCapture, type VoiceMediaCaptureActivity, type VoiceMediaCaptureActivityState, type VoiceMediaCaptureConfiguration, type VoiceMediaCaptureMode, type VoiceMediaCaptureSpeechAnalysis, type VoiceMediaClientEvent, type VoiceMediaConnectRequest, type VoiceMediaConnectResult, type VoiceMediaControlLocation, type VoiceMediaDevice, type VoiceMediaHeartbeatResult, type VoiceMediaPlayback, type VoiceMediaPlaybackDelivery, type VoiceMediaPlaybackOutcome, type VoiceMediaPlaybackResult, type VoiceMediaTransport, type VoiceMediaWake, calculateClientPcmDbfs, voiceMediaClientUrl };
@@ -0,0 +1,3 @@
1
+ import { VOICE_MEDIA_ACTIVITY_ECHO_SPEECH_MS_HEADER, VOICE_MEDIA_ACTIVITY_ELAPSED_HEADER, VOICE_MEDIA_ACTIVITY_EPOCH_HEADER, VOICE_MEDIA_ACTIVITY_LEVEL_HEADER, VOICE_MEDIA_ACTIVITY_SPEECH_MS_HEADER, VOICE_MEDIA_ACTIVITY_STATE_HEADER, VOICE_MEDIA_API_BASE_PATH, VOICE_MEDIA_BITS_PER_SAMPLE, VOICE_MEDIA_CHANNELS, VOICE_MEDIA_CONTENT_TYPE, VOICE_MEDIA_EVENT_WAIT_NONE, VOICE_MEDIA_HEARTBEAT_MS, VOICE_MEDIA_PLAYBACK_STATE_HEADER, VOICE_MEDIA_PROTOCOL_VERSION, VOICE_MEDIA_ROUTES, VOICE_MEDIA_SAMPLE_RATE, VOICE_MEDIA_WAKE_TYPE, voiceMediaClientUrl } from "./src/types/clientMedia.mjs";
2
+ import { ClientCaptureActivityLifecycle, calculateClientPcmDbfs } from "./src/types/clientCaptureActivity.mjs";
3
+ export { ClientCaptureActivityLifecycle, VOICE_MEDIA_ACTIVITY_ECHO_SPEECH_MS_HEADER, VOICE_MEDIA_ACTIVITY_ELAPSED_HEADER, VOICE_MEDIA_ACTIVITY_EPOCH_HEADER, VOICE_MEDIA_ACTIVITY_LEVEL_HEADER, VOICE_MEDIA_ACTIVITY_SPEECH_MS_HEADER, VOICE_MEDIA_ACTIVITY_STATE_HEADER, VOICE_MEDIA_API_BASE_PATH, VOICE_MEDIA_BITS_PER_SAMPLE, VOICE_MEDIA_CHANNELS, VOICE_MEDIA_CONTENT_TYPE, VOICE_MEDIA_EVENT_WAIT_NONE, VOICE_MEDIA_HEARTBEAT_MS, VOICE_MEDIA_PLAYBACK_STATE_HEADER, VOICE_MEDIA_PROTOCOL_VERSION, VOICE_MEDIA_ROUTES, VOICE_MEDIA_SAMPLE_RATE, VOICE_MEDIA_WAKE_TYPE, calculateClientPcmDbfs, voiceMediaClientUrl };
@@ -1,2 +1,53 @@
1
- var e=require("../voice.cjs").voiceExtension;module.exports=e;
1
+ Object.defineProperties(exports, {
2
+ __esModule: { value: true },
3
+ [Symbol.toStringTag]: { value: "Module" }
4
+ });
5
+ const require_root_cli = require("../src/extensions/workspaces/sessions/(backend)/root.cli.cjs");
6
+ const require_voice_cli = require("../src/extensions/workspaces/sessions/(backend)/command/voice.cli.cjs");
7
+ const require_voiceAuto_cli = require("../src/extensions/workspaces/sessions/(backend)/command/voiceAuto.cli.cjs");
8
+ const require_agentSettled_cli = require("../src/extensions/workspaces/sessions/(backend)/hook/agentSettled.cli.cjs");
9
+ const require_beforeAgentStart_cli = require("../src/extensions/workspaces/sessions/(backend)/hook/beforeAgentStart.cli.cjs");
10
+ const require_sessionStart_cli = require("../src/extensions/workspaces/sessions/(backend)/hook/sessionStart.cli.cjs");
11
+ const require_toolExecutionStart_cli = require("../src/extensions/workspaces/sessions/(backend)/hook/toolExecutionStart.cli.cjs");
12
+ const require_turnEnd_cli = require("../src/extensions/workspaces/sessions/(backend)/hook/turnEnd.cli.cjs");
13
+ const require_doompiUseVoice_cli = require("../src/extensions/workspaces/sessions/(backend)/resource/doompiUseVoice.cli.cjs");
14
+ const require_transferVoice_cli = require("../src/extensions/workspaces/sessions/(backend)/tool-restriction/transferVoice.cli.cjs");
15
+ const require_voice_cli$1 = require("../src/extensions/workspaces/sessions/(backend)/tool-restriction/voice.cli.cjs");
16
+ const require_voice_cli$2 = require("../src/extensions/workspaces/sessions/(backend)/tool/voice.cli.cjs");
17
+ let _agimon_ai_doompi_core_pi_extension = require("@agimon-ai/doompi-core/pi-extension");
18
+ let _agimon_ai_doompi_core_extension_file = require("@agimon-ai/doompi-core/extension-file");
19
+ //#region generated/pi.ts
20
+ const at = (value, context) => typeof value === "function" ? value(context) : value;
21
+ const extension = (0, _agimon_ai_doompi_core_pi_extension.definePiExtension)("@agimon-ai/doompi-voice", async (context) => {
22
+ const scopeSession = await require_root_cli.default(context);
23
+ const contextSession = {
24
+ ...context,
25
+ root: scopeSession.value
26
+ };
27
+ return {
28
+ ...(0, _agimon_ai_doompi_core_extension_file.composeRootHooks)(scopeSession),
29
+ get commands() {
30
+ return [at(require_voice_cli.default, contextSession), at(require_voiceAuto_cli.default, contextSession)];
31
+ },
32
+ events: {
33
+ agent_settled: at(require_agentSettled_cli.default, contextSession),
34
+ before_agent_start: at(require_beforeAgentStart_cli.default, contextSession),
35
+ session_start: at(require_sessionStart_cli.default, contextSession),
36
+ tool_execution_start: at(require_toolExecutionStart_cli.default, contextSession),
37
+ turn_end: at(require_turnEnd_cli.default, contextSession)
38
+ },
39
+ get resources() {
40
+ return [at(require_doompiUseVoice_cli.default, contextSession)];
41
+ },
42
+ get toolRestrictions() {
43
+ return [at(require_transferVoice_cli.default, contextSession), at(require_voice_cli$1.default, contextSession)];
44
+ },
45
+ ...(0, _agimon_ai_doompi_core_pi_extension.piToolContributions)("@agimon-ai/doompi-voice", at(require_voice_cli$2.default, contextSession)),
46
+ services: [...scopeSession.services ?? []]
47
+ };
48
+ });
49
+ //#endregion
50
+ exports.default = extension;
51
+ exports.extension = extension;
52
+
2
53
  //# sourceMappingURL=pi.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"pi.cjs","names":["voiceExtension"],"sources":["../../src/extensions/pi.ts"],"sourcesContent":["import { voiceExtension } from '../voice.ts';\n\nexport default voiceExtension;\n"],"mappings":"AAEA,IAAA,wBAAeA,CAAAA,CAAAA"}
1
+ {"version":3,"file":"pi.cjs","names":["definePiExtension","rootSession","composeRootHooks","commandVoice","commandVoiceAuto","hookAgentSettled","hookBeforeAgentStart","hookSessionStart","hookToolExecutionStart","hookTurnEnd","resourceDoompiUseVoice","toolRestrictionTransferVoice","toolRestrictionVoice","piToolContributions","toolVoice"],"sources":["../../generated/pi.ts"],"sourcesContent":["// Generated by @agimon-ai/doompi-build. Do not edit by hand.\nimport { definePiExtension, piToolContributions, type PiPluginContext, type PiPluginContributions } from '@agimon-ai/doompi-core/pi-extension';\nimport { composeRootHooks } from '@agimon-ai/doompi-core/extension-file';\n\nimport rootSession from '../src/extensions/workspaces/sessions/(backend)/root.cli';\nimport commandVoice from '../src/extensions/workspaces/sessions/(backend)/command/voice.cli';\nimport commandVoiceAuto from '../src/extensions/workspaces/sessions/(backend)/command/voiceAuto.cli';\nimport hookAgentSettled from '../src/extensions/workspaces/sessions/(backend)/hook/agentSettled.cli';\nimport hookBeforeAgentStart from '../src/extensions/workspaces/sessions/(backend)/hook/beforeAgentStart.cli';\nimport hookSessionStart from '../src/extensions/workspaces/sessions/(backend)/hook/sessionStart.cli';\nimport hookToolExecutionStart from '../src/extensions/workspaces/sessions/(backend)/hook/toolExecutionStart.cli';\nimport hookTurnEnd from '../src/extensions/workspaces/sessions/(backend)/hook/turnEnd.cli';\nimport resourceDoompiUseVoice from '../src/extensions/workspaces/sessions/(backend)/resource/doompiUseVoice.cli';\nimport toolRestrictionTransferVoice from '../src/extensions/workspaces/sessions/(backend)/tool-restriction/transferVoice.cli';\nimport toolRestrictionVoice from '../src/extensions/workspaces/sessions/(backend)/tool-restriction/voice.cli';\nimport toolVoice from '../src/extensions/workspaces/sessions/(backend)/tool/voice.cli';\n\ntype OptionsOf<T> = T extends (context: PiPluginContext<infer Options>) => unknown ? Options : never;\ntype InferredOptions = Exclude<OptionsOf<typeof rootSession> | OptionsOf<typeof commandVoice> | OptionsOf<typeof commandVoiceAuto> | OptionsOf<typeof hookAgentSettled> | OptionsOf<typeof hookBeforeAgentStart> | OptionsOf<typeof hookSessionStart> | OptionsOf<typeof hookToolExecutionStart> | OptionsOf<typeof hookTurnEnd> | OptionsOf<typeof resourceDoompiUseVoice> | OptionsOf<typeof toolRestrictionTransferVoice> | OptionsOf<typeof toolRestrictionVoice> | OptionsOf<typeof toolVoice>, undefined>;\ntype Intersect<Union> =\n (Union extends unknown ? (value: Union) => void : never) extends (value: infer Value) => void ? Value : never;\ntype ExtensionOptions = [InferredOptions] extends [never] ? undefined : Intersect<InferredOptions>;\n\ntype Factory<T, C> = (context: C) => T;\nconst at = <T, C>(value: T | Factory<T, C>, context: C): T =>\n typeof value === 'function' ? (value as Factory<T, C>)(context) : value;\n\nexport const extension = definePiExtension<ExtensionOptions>('@agimon-ai/doompi-voice', async (context) => {\n const scopeSession = await rootSession(context);\n const contextSession = { ...context, root: scopeSession.value };\n return {\n ...composeRootHooks(scopeSession),\n get commands(): PiPluginContributions['commands'] { return [at(commandVoice, contextSession), at(commandVoiceAuto, contextSession)]; },\n events: {\n agent_settled: at(hookAgentSettled, contextSession) as NonNullable<PiPluginContributions['events']>['agent_settled'],\n before_agent_start: at(hookBeforeAgentStart, contextSession) as NonNullable<PiPluginContributions['events']>['before_agent_start'],\n session_start: at(hookSessionStart, contextSession) as NonNullable<PiPluginContributions['events']>['session_start'],\n tool_execution_start: at(hookToolExecutionStart, contextSession) as NonNullable<PiPluginContributions['events']>['tool_execution_start'],\n turn_end: at(hookTurnEnd, contextSession) as NonNullable<PiPluginContributions['events']>['turn_end'],\n },\n get resources(): PiPluginContributions['resources'] { return [at(resourceDoompiUseVoice, contextSession)]; },\n get toolRestrictions(): PiPluginContributions['toolRestrictions'] { return [at(toolRestrictionTransferVoice, contextSession), at(toolRestrictionVoice, contextSession)]; },\n ...piToolContributions('@agimon-ai/doompi-voice', at(toolVoice, contextSession)),\n services: [...(scopeSession.services ?? [])],\n };\n});\n\nexport default extension;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAwBA,MAAM,MAAY,OAA0B,YAC1C,OAAO,UAAU,aAAc,MAAwB,OAAO,IAAI;AAEpE,MAAa,aAAA,GAAYA,oCAAAA,kBAAAA,CAAoC,2BAA2B,OAAO,YAAY;CACzG,MAAM,eAAe,MAAMC,iBAAAA,QAAY,OAAO;CAC9C,MAAM,iBAAiB;EAAE,GAAG;EAAS,MAAM,aAAa;CAAM;CAC9D,OAAO;EACL,IAAA,GAAGC,sCAAAA,iBAAAA,CAAiB,YAAY;EAChC,IAAI,WAA8C;GAAE,OAAO,CAAC,GAAGC,kBAAAA,SAAc,cAAc,GAAG,GAAGC,sBAAAA,SAAkB,cAAc,CAAC;EAAG;EACrI,QAAQ;GACN,eAAe,GAAGC,yBAAAA,SAAkB,cAAc;GAClD,oBAAoB,GAAGC,6BAAAA,SAAsB,cAAc;GAC3D,eAAe,GAAGC,yBAAAA,SAAkB,cAAc;GAClD,sBAAsB,GAAGC,+BAAAA,SAAwB,cAAc;GAC/D,UAAU,GAAGC,oBAAAA,SAAa,cAAc;EAC1C;EACA,IAAI,YAAgD;GAAE,OAAO,CAAC,GAAGC,2BAAAA,SAAwB,cAAc,CAAC;EAAG;EAC3G,IAAI,mBAA8D;GAAE,OAAO,CAAC,GAAGC,0BAAAA,SAA8B,cAAc,GAAG,GAAGC,oBAAAA,SAAsB,cAAc,CAAC;EAAG;EACzK,IAAA,GAAGC,oCAAAA,oBAAAA,CAAoB,2BAA2B,GAAGC,oBAAAA,SAAW,cAAc,CAAC;EAC/E,UAAU,CAAC,GAAI,aAAa,YAAY,CAAC,CAAE;CAC7C;AACF,CAAC"}
@@ -1,2 +1,7 @@
1
- import { voiceExtension } from "../voice.cjs";
2
- export = voiceExtension;
1
+ import { VoiceExtensionOptions } from "../src/services/voiceController/index.cjs";
2
+ import "../index.cjs";
3
+ //#region generated/pi.d.ts
4
+ export declare const extension: import("@agimon-ai/doompi-core/runtime-pi-extension").DefinedPiExtension<VoiceExtensionOptions>;
5
+ //#endregion
6
+ export { extension as default };
7
+ //# sourceMappingURL=pi.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi.d.cts","names":[],"sources":["../../generated/pi.ts"],"mappings":";;;qBA2Ba,iEAAS,mBAAT"}
@@ -1,2 +1,7 @@
1
- import { voiceExtension } from "../voice.mjs";
2
- export { voiceExtension as default };
1
+ import { VoiceExtensionOptions } from "../src/services/voiceController/index.mjs";
2
+ import "../index.mjs";
3
+ //#region generated/pi.d.ts
4
+ export declare const extension: import("@agimon-ai/doompi-core/runtime-pi-extension").DefinedPiExtension<VoiceExtensionOptions>;
5
+ //#endregion
6
+ export { extension as default };
7
+ //# sourceMappingURL=pi.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi.d.mts","names":[],"sources":["../../generated/pi.ts"],"mappings":";;;qBA2Ba,iEAAS,mBAAT"}
@@ -1,2 +1,48 @@
1
- import{voiceExtension as e}from"../voice.mjs";var t=e;export{t as default};
1
+ import root_cli_default from "../src/extensions/workspaces/sessions/(backend)/root.cli.mjs";
2
+ import voice_cli_default from "../src/extensions/workspaces/sessions/(backend)/command/voice.cli.mjs";
3
+ import voiceAuto_cli_default from "../src/extensions/workspaces/sessions/(backend)/command/voiceAuto.cli.mjs";
4
+ import agentSettled_cli_default from "../src/extensions/workspaces/sessions/(backend)/hook/agentSettled.cli.mjs";
5
+ import beforeAgentStart_cli_default from "../src/extensions/workspaces/sessions/(backend)/hook/beforeAgentStart.cli.mjs";
6
+ import sessionStart_cli_default from "../src/extensions/workspaces/sessions/(backend)/hook/sessionStart.cli.mjs";
7
+ import toolExecutionStart_cli_default from "../src/extensions/workspaces/sessions/(backend)/hook/toolExecutionStart.cli.mjs";
8
+ import turnEnd_cli_default from "../src/extensions/workspaces/sessions/(backend)/hook/turnEnd.cli.mjs";
9
+ import doompiUseVoice_cli_default from "../src/extensions/workspaces/sessions/(backend)/resource/doompiUseVoice.cli.mjs";
10
+ import transferVoice_cli_default from "../src/extensions/workspaces/sessions/(backend)/tool-restriction/transferVoice.cli.mjs";
11
+ import voice_cli_default$1 from "../src/extensions/workspaces/sessions/(backend)/tool-restriction/voice.cli.mjs";
12
+ import voice_cli_default$2 from "../src/extensions/workspaces/sessions/(backend)/tool/voice.cli.mjs";
13
+ import { definePiExtension, piToolContributions } from "@agimon-ai/doompi-core/pi-extension";
14
+ import { composeRootHooks } from "@agimon-ai/doompi-core/extension-file";
15
+ //#region generated/pi.ts
16
+ const at = (value, context) => typeof value === "function" ? value(context) : value;
17
+ const extension = definePiExtension("@agimon-ai/doompi-voice", async (context) => {
18
+ const scopeSession = await root_cli_default(context);
19
+ const contextSession = {
20
+ ...context,
21
+ root: scopeSession.value
22
+ };
23
+ return {
24
+ ...composeRootHooks(scopeSession),
25
+ get commands() {
26
+ return [at(voice_cli_default, contextSession), at(voiceAuto_cli_default, contextSession)];
27
+ },
28
+ events: {
29
+ agent_settled: at(agentSettled_cli_default, contextSession),
30
+ before_agent_start: at(beforeAgentStart_cli_default, contextSession),
31
+ session_start: at(sessionStart_cli_default, contextSession),
32
+ tool_execution_start: at(toolExecutionStart_cli_default, contextSession),
33
+ turn_end: at(turnEnd_cli_default, contextSession)
34
+ },
35
+ get resources() {
36
+ return [at(doompiUseVoice_cli_default, contextSession)];
37
+ },
38
+ get toolRestrictions() {
39
+ return [at(transferVoice_cli_default, contextSession), at(voice_cli_default$1, contextSession)];
40
+ },
41
+ ...piToolContributions("@agimon-ai/doompi-voice", at(voice_cli_default$2, contextSession)),
42
+ services: [...scopeSession.services ?? []]
43
+ };
44
+ });
45
+ //#endregion
46
+ export { extension as default, extension };
47
+
2
48
  //# sourceMappingURL=pi.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"pi.mjs","names":[],"sources":["../../src/extensions/pi.ts"],"sourcesContent":["import { voiceExtension } from '../voice.ts';\n\nexport default voiceExtension;\n"],"mappings":"8CAEA,IAAA,EAAe"}
1
+ {"version":3,"file":"pi.mjs","names":["rootSession","commandVoice","commandVoiceAuto","hookAgentSettled","hookBeforeAgentStart","hookSessionStart","hookToolExecutionStart","hookTurnEnd","resourceDoompiUseVoice","toolRestrictionTransferVoice","toolRestrictionVoice","toolVoice"],"sources":["../../generated/pi.ts"],"sourcesContent":["// Generated by @agimon-ai/doompi-build. Do not edit by hand.\nimport { definePiExtension, piToolContributions, type PiPluginContext, type PiPluginContributions } from '@agimon-ai/doompi-core/pi-extension';\nimport { composeRootHooks } from '@agimon-ai/doompi-core/extension-file';\n\nimport rootSession from '../src/extensions/workspaces/sessions/(backend)/root.cli';\nimport commandVoice from '../src/extensions/workspaces/sessions/(backend)/command/voice.cli';\nimport commandVoiceAuto from '../src/extensions/workspaces/sessions/(backend)/command/voiceAuto.cli';\nimport hookAgentSettled from '../src/extensions/workspaces/sessions/(backend)/hook/agentSettled.cli';\nimport hookBeforeAgentStart from '../src/extensions/workspaces/sessions/(backend)/hook/beforeAgentStart.cli';\nimport hookSessionStart from '../src/extensions/workspaces/sessions/(backend)/hook/sessionStart.cli';\nimport hookToolExecutionStart from '../src/extensions/workspaces/sessions/(backend)/hook/toolExecutionStart.cli';\nimport hookTurnEnd from '../src/extensions/workspaces/sessions/(backend)/hook/turnEnd.cli';\nimport resourceDoompiUseVoice from '../src/extensions/workspaces/sessions/(backend)/resource/doompiUseVoice.cli';\nimport toolRestrictionTransferVoice from '../src/extensions/workspaces/sessions/(backend)/tool-restriction/transferVoice.cli';\nimport toolRestrictionVoice from '../src/extensions/workspaces/sessions/(backend)/tool-restriction/voice.cli';\nimport toolVoice from '../src/extensions/workspaces/sessions/(backend)/tool/voice.cli';\n\ntype OptionsOf<T> = T extends (context: PiPluginContext<infer Options>) => unknown ? Options : never;\ntype InferredOptions = Exclude<OptionsOf<typeof rootSession> | OptionsOf<typeof commandVoice> | OptionsOf<typeof commandVoiceAuto> | OptionsOf<typeof hookAgentSettled> | OptionsOf<typeof hookBeforeAgentStart> | OptionsOf<typeof hookSessionStart> | OptionsOf<typeof hookToolExecutionStart> | OptionsOf<typeof hookTurnEnd> | OptionsOf<typeof resourceDoompiUseVoice> | OptionsOf<typeof toolRestrictionTransferVoice> | OptionsOf<typeof toolRestrictionVoice> | OptionsOf<typeof toolVoice>, undefined>;\ntype Intersect<Union> =\n (Union extends unknown ? (value: Union) => void : never) extends (value: infer Value) => void ? Value : never;\ntype ExtensionOptions = [InferredOptions] extends [never] ? undefined : Intersect<InferredOptions>;\n\ntype Factory<T, C> = (context: C) => T;\nconst at = <T, C>(value: T | Factory<T, C>, context: C): T =>\n typeof value === 'function' ? (value as Factory<T, C>)(context) : value;\n\nexport const extension = definePiExtension<ExtensionOptions>('@agimon-ai/doompi-voice', async (context) => {\n const scopeSession = await rootSession(context);\n const contextSession = { ...context, root: scopeSession.value };\n return {\n ...composeRootHooks(scopeSession),\n get commands(): PiPluginContributions['commands'] { return [at(commandVoice, contextSession), at(commandVoiceAuto, contextSession)]; },\n events: {\n agent_settled: at(hookAgentSettled, contextSession) as NonNullable<PiPluginContributions['events']>['agent_settled'],\n before_agent_start: at(hookBeforeAgentStart, contextSession) as NonNullable<PiPluginContributions['events']>['before_agent_start'],\n session_start: at(hookSessionStart, contextSession) as NonNullable<PiPluginContributions['events']>['session_start'],\n tool_execution_start: at(hookToolExecutionStart, contextSession) as NonNullable<PiPluginContributions['events']>['tool_execution_start'],\n turn_end: at(hookTurnEnd, contextSession) as NonNullable<PiPluginContributions['events']>['turn_end'],\n },\n get resources(): PiPluginContributions['resources'] { return [at(resourceDoompiUseVoice, contextSession)]; },\n get toolRestrictions(): PiPluginContributions['toolRestrictions'] { return [at(toolRestrictionTransferVoice, contextSession), at(toolRestrictionVoice, contextSession)]; },\n ...piToolContributions('@agimon-ai/doompi-voice', at(toolVoice, contextSession)),\n services: [...(scopeSession.services ?? [])],\n };\n});\n\nexport default extension;\n"],"mappings":";;;;;;;;;;;;;;;AAwBA,MAAM,MAAY,OAA0B,YAC1C,OAAO,UAAU,aAAc,MAAwB,OAAO,IAAI;AAEpE,MAAa,YAAY,kBAAoC,2BAA2B,OAAO,YAAY;CACzG,MAAM,eAAe,MAAMA,iBAAY,OAAO;CAC9C,MAAM,iBAAiB;EAAE,GAAG;EAAS,MAAM,aAAa;CAAM;CAC9D,OAAO;EACL,GAAG,iBAAiB,YAAY;EAChC,IAAI,WAA8C;GAAE,OAAO,CAAC,GAAGC,mBAAc,cAAc,GAAG,GAAGC,uBAAkB,cAAc,CAAC;EAAG;EACrI,QAAQ;GACN,eAAe,GAAGC,0BAAkB,cAAc;GAClD,oBAAoB,GAAGC,8BAAsB,cAAc;GAC3D,eAAe,GAAGC,0BAAkB,cAAc;GAClD,sBAAsB,GAAGC,gCAAwB,cAAc;GAC/D,UAAU,GAAGC,qBAAa,cAAc;EAC1C;EACA,IAAI,YAAgD;GAAE,OAAO,CAAC,GAAGC,4BAAwB,cAAc,CAAC;EAAG;EAC3G,IAAI,mBAA8D;GAAE,OAAO,CAAC,GAAGC,2BAA8B,cAAc,GAAG,GAAGC,qBAAsB,cAAc,CAAC;EAAG;EACzK,GAAG,oBAAoB,2BAA2B,GAAGC,qBAAW,cAAc,CAAC;EAC/E,UAAU,CAAC,GAAI,aAAa,YAAY,CAAC,CAAE;CAC7C;AACF,CAAC"}