tjbot-ce 3.0.1

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 (224) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +382 -0
  3. package/dist/camera/camera.d.ts +62 -0
  4. package/dist/camera/camera.d.ts.map +1 -0
  5. package/dist/camera/camera.js +155 -0
  6. package/dist/camera/camera.js.map +1 -0
  7. package/dist/camera/index.d.ts +18 -0
  8. package/dist/camera/index.d.ts.map +1 -0
  9. package/dist/camera/index.js +18 -0
  10. package/dist/camera/index.js.map +1 -0
  11. package/dist/config/config-types.d.ts +75 -0
  12. package/dist/config/config-types.d.ts.map +1 -0
  13. package/dist/config/config-types.generated.d.ts +495 -0
  14. package/dist/config/config-types.generated.d.ts.map +1 -0
  15. package/dist/config/config-types.generated.js +2 -0
  16. package/dist/config/config-types.generated.js.map +1 -0
  17. package/dist/config/config-types.js +175 -0
  18. package/dist/config/config-types.js.map +1 -0
  19. package/dist/config/index.d.ts +20 -0
  20. package/dist/config/index.d.ts.map +1 -0
  21. package/dist/config/index.js +19 -0
  22. package/dist/config/index.js.map +1 -0
  23. package/dist/config/tjbot-config.d.ts +98 -0
  24. package/dist/config/tjbot-config.d.ts.map +1 -0
  25. package/dist/config/tjbot-config.js +309 -0
  26. package/dist/config/tjbot-config.js.map +1 -0
  27. package/dist/config/vendor/colors.yaml +61 -0
  28. package/dist/config/vendor/model-registry.yaml +275 -0
  29. package/dist/config/vendor/tjbot-config.schema.yaml +792 -0
  30. package/dist/config/vendor/tjbot.default.toml +452 -0
  31. package/dist/led/index.d.ts +20 -0
  32. package/dist/led/index.d.ts.map +1 -0
  33. package/dist/led/index.js +20 -0
  34. package/dist/led/index.js.map +1 -0
  35. package/dist/led/led-common-anode.d.ts +38 -0
  36. package/dist/led/led-common-anode.d.ts.map +1 -0
  37. package/dist/led/led-common-anode.js +79 -0
  38. package/dist/led/led-common-anode.js.map +1 -0
  39. package/dist/led/led-neopixel-spi.d.ts +60 -0
  40. package/dist/led/led-neopixel-spi.d.ts.map +1 -0
  41. package/dist/led/led-neopixel-spi.js +216 -0
  42. package/dist/led/led-neopixel-spi.js.map +1 -0
  43. package/dist/led/led-neopixel-ws281x.js +186 -0
  44. package/dist/led/led-neopixel.d.ts +57 -0
  45. package/dist/led/led-neopixel.d.ts.map +1 -0
  46. package/dist/led/led-neopixel.js +235 -0
  47. package/dist/led/led-neopixel.js.map +1 -0
  48. package/dist/microphone/index.d.ts +18 -0
  49. package/dist/microphone/index.d.ts.map +1 -0
  50. package/dist/microphone/index.js +18 -0
  51. package/dist/microphone/index.js.map +1 -0
  52. package/dist/microphone/microphone.d.ts +65 -0
  53. package/dist/microphone/microphone.d.ts.map +1 -0
  54. package/dist/microphone/microphone.js +179 -0
  55. package/dist/microphone/microphone.js.map +1 -0
  56. package/dist/rpi-drivers/index.d.ts +22 -0
  57. package/dist/rpi-drivers/index.d.ts.map +1 -0
  58. package/dist/rpi-drivers/index.js +22 -0
  59. package/dist/rpi-drivers/index.js.map +1 -0
  60. package/dist/rpi-drivers/rpi-detect.d.ts +24 -0
  61. package/dist/rpi-drivers/rpi-detect.d.ts.map +1 -0
  62. package/dist/rpi-drivers/rpi-detect.js +49 -0
  63. package/dist/rpi-drivers/rpi-detect.js.map +1 -0
  64. package/dist/rpi-drivers/rpi-driver.d.ts +116 -0
  65. package/dist/rpi-drivers/rpi-driver.d.ts.map +1 -0
  66. package/dist/rpi-drivers/rpi-driver.js +261 -0
  67. package/dist/rpi-drivers/rpi-driver.js.map +1 -0
  68. package/dist/rpi-drivers/rpi3-driver.d.ts +47 -0
  69. package/dist/rpi-drivers/rpi3-driver.d.ts.map +1 -0
  70. package/dist/rpi-drivers/rpi3-driver.js +145 -0
  71. package/dist/rpi-drivers/rpi3-driver.js.map +1 -0
  72. package/dist/rpi-drivers/rpi4-driver.d.ts +35 -0
  73. package/dist/rpi-drivers/rpi4-driver.d.ts.map +1 -0
  74. package/dist/rpi-drivers/rpi4-driver.js +101 -0
  75. package/dist/rpi-drivers/rpi4-driver.js.map +1 -0
  76. package/dist/rpi-drivers/rpi5-driver.d.ts +33 -0
  77. package/dist/rpi-drivers/rpi5-driver.d.ts.map +1 -0
  78. package/dist/rpi-drivers/rpi5-driver.js +78 -0
  79. package/dist/rpi-drivers/rpi5-driver.js.map +1 -0
  80. package/dist/servo/index.d.ts +19 -0
  81. package/dist/servo/index.d.ts.map +1 -0
  82. package/dist/servo/index.js +19 -0
  83. package/dist/servo/index.js.map +1 -0
  84. package/dist/servo/servo-constants.d.ts +33 -0
  85. package/dist/servo/servo-constants.d.ts.map +1 -0
  86. package/dist/servo/servo-constants.js +34 -0
  87. package/dist/servo/servo-constants.js.map +1 -0
  88. package/dist/servo/servo-lgpio.d.ts +82 -0
  89. package/dist/servo/servo-lgpio.d.ts.map +1 -0
  90. package/dist/servo/servo-lgpio.js +178 -0
  91. package/dist/servo/servo-lgpio.js.map +1 -0
  92. package/dist/speaker/audio-player.d.ts +30 -0
  93. package/dist/speaker/audio-player.d.ts.map +1 -0
  94. package/dist/speaker/audio-player.js +68 -0
  95. package/dist/speaker/audio-player.js.map +1 -0
  96. package/dist/speaker/index.d.ts +18 -0
  97. package/dist/speaker/index.d.ts.map +1 -0
  98. package/dist/speaker/index.js +18 -0
  99. package/dist/speaker/index.js.map +1 -0
  100. package/dist/speaker/speaker.d.ts +53 -0
  101. package/dist/speaker/speaker.d.ts.map +1 -0
  102. package/dist/speaker/speaker.js +125 -0
  103. package/dist/speaker/speaker.js.map +1 -0
  104. package/dist/stt/backends/azure-stt.d.ts +32 -0
  105. package/dist/stt/backends/azure-stt.d.ts.map +1 -0
  106. package/dist/stt/backends/azure-stt.js +227 -0
  107. package/dist/stt/backends/azure-stt.js.map +1 -0
  108. package/dist/stt/backends/google-cloud-stt.d.ts +31 -0
  109. package/dist/stt/backends/google-cloud-stt.d.ts.map +1 -0
  110. package/dist/stt/backends/google-cloud-stt.js +371 -0
  111. package/dist/stt/backends/google-cloud-stt.js.map +1 -0
  112. package/dist/stt/backends/ibm-watson-stt.d.ts +32 -0
  113. package/dist/stt/backends/ibm-watson-stt.d.ts.map +1 -0
  114. package/dist/stt/backends/ibm-watson-stt.js +190 -0
  115. package/dist/stt/backends/ibm-watson-stt.js.map +1 -0
  116. package/dist/stt/backends/sherpa-onnx-stt.d.ts +117 -0
  117. package/dist/stt/backends/sherpa-onnx-stt.d.ts.map +1 -0
  118. package/dist/stt/backends/sherpa-onnx-stt.js +694 -0
  119. package/dist/stt/backends/sherpa-onnx-stt.js.map +1 -0
  120. package/dist/stt/index.d.ts +20 -0
  121. package/dist/stt/index.d.ts.map +1 -0
  122. package/dist/stt/index.js +21 -0
  123. package/dist/stt/index.js.map +1 -0
  124. package/dist/stt/stt-engine.d.ts +68 -0
  125. package/dist/stt/stt-engine.d.ts.map +1 -0
  126. package/dist/stt/stt-engine.js +99 -0
  127. package/dist/stt/stt-engine.js.map +1 -0
  128. package/dist/stt/stt-utils.d.ts +36 -0
  129. package/dist/stt/stt-utils.d.ts.map +1 -0
  130. package/dist/stt/stt-utils.js +112 -0
  131. package/dist/stt/stt-utils.js.map +1 -0
  132. package/dist/stt/stt.d.ts +52 -0
  133. package/dist/stt/stt.d.ts.map +1 -0
  134. package/dist/stt/stt.js +100 -0
  135. package/dist/stt/stt.js.map +1 -0
  136. package/dist/tjbot.d.ts +317 -0
  137. package/dist/tjbot.d.ts.map +1 -0
  138. package/dist/tjbot.js +736 -0
  139. package/dist/tjbot.js.map +1 -0
  140. package/dist/tts/backends/azure-tts.d.ts +30 -0
  141. package/dist/tts/backends/azure-tts.d.ts.map +1 -0
  142. package/dist/tts/backends/azure-tts.js +92 -0
  143. package/dist/tts/backends/azure-tts.js.map +1 -0
  144. package/dist/tts/backends/google-cloud-tts.d.ts +38 -0
  145. package/dist/tts/backends/google-cloud-tts.d.ts.map +1 -0
  146. package/dist/tts/backends/google-cloud-tts.js +116 -0
  147. package/dist/tts/backends/google-cloud-tts.js.map +1 -0
  148. package/dist/tts/backends/ibm-watson-tts.d.ts +42 -0
  149. package/dist/tts/backends/ibm-watson-tts.d.ts.map +1 -0
  150. package/dist/tts/backends/ibm-watson-tts.js +99 -0
  151. package/dist/tts/backends/ibm-watson-tts.js.map +1 -0
  152. package/dist/tts/backends/sherpa-onnx-tts.d.ts +80 -0
  153. package/dist/tts/backends/sherpa-onnx-tts.d.ts.map +1 -0
  154. package/dist/tts/backends/sherpa-onnx-tts.js +237 -0
  155. package/dist/tts/backends/sherpa-onnx-tts.js.map +1 -0
  156. package/dist/tts/index.d.ts +19 -0
  157. package/dist/tts/index.d.ts.map +1 -0
  158. package/dist/tts/index.js +20 -0
  159. package/dist/tts/index.js.map +1 -0
  160. package/dist/tts/tts-engine.d.ts +67 -0
  161. package/dist/tts/tts-engine.d.ts.map +1 -0
  162. package/dist/tts/tts-engine.js +109 -0
  163. package/dist/tts/tts-engine.js.map +1 -0
  164. package/dist/tts/tts.d.ts +47 -0
  165. package/dist/tts/tts.d.ts.map +1 -0
  166. package/dist/tts/tts.js +101 -0
  167. package/dist/tts/tts.js.map +1 -0
  168. package/dist/utils/colors.d.ts +39 -0
  169. package/dist/utils/colors.d.ts.map +1 -0
  170. package/dist/utils/colors.js +155 -0
  171. package/dist/utils/colors.js.map +1 -0
  172. package/dist/utils/constants.d.ts +41 -0
  173. package/dist/utils/constants.d.ts.map +1 -0
  174. package/dist/utils/constants.js +43 -0
  175. package/dist/utils/constants.js.map +1 -0
  176. package/dist/utils/credentials.d.ts +43 -0
  177. package/dist/utils/credentials.d.ts.map +1 -0
  178. package/dist/utils/credentials.js +121 -0
  179. package/dist/utils/credentials.js.map +1 -0
  180. package/dist/utils/errors.d.ts +26 -0
  181. package/dist/utils/errors.d.ts.map +1 -0
  182. package/dist/utils/errors.js +32 -0
  183. package/dist/utils/errors.js.map +1 -0
  184. package/dist/utils/index.d.ts +25 -0
  185. package/dist/utils/index.d.ts.map +1 -0
  186. package/dist/utils/index.js +23 -0
  187. package/dist/utils/index.js.map +1 -0
  188. package/dist/utils/logging.d.ts +44 -0
  189. package/dist/utils/logging.d.ts.map +1 -0
  190. package/dist/utils/logging.js +113 -0
  191. package/dist/utils/logging.js.map +1 -0
  192. package/dist/utils/model-registry.d.ts +142 -0
  193. package/dist/utils/model-registry.d.ts.map +1 -0
  194. package/dist/utils/model-registry.js +391 -0
  195. package/dist/utils/model-registry.js.map +1 -0
  196. package/dist/utils/utils.d.ts +33 -0
  197. package/dist/utils/utils.d.ts.map +1 -0
  198. package/dist/utils/utils.js +50 -0
  199. package/dist/utils/utils.js.map +1 -0
  200. package/dist/vision/backends/azure-vision.d.ts +33 -0
  201. package/dist/vision/backends/azure-vision.d.ts.map +1 -0
  202. package/dist/vision/backends/azure-vision.js +151 -0
  203. package/dist/vision/backends/azure-vision.js.map +1 -0
  204. package/dist/vision/backends/google-cloud-vision.d.ts +32 -0
  205. package/dist/vision/backends/google-cloud-vision.d.ts.map +1 -0
  206. package/dist/vision/backends/google-cloud-vision.js +193 -0
  207. package/dist/vision/backends/google-cloud-vision.js.map +1 -0
  208. package/dist/vision/backends/onnx.d.ts +116 -0
  209. package/dist/vision/backends/onnx.d.ts.map +1 -0
  210. package/dist/vision/backends/onnx.js +781 -0
  211. package/dist/vision/backends/onnx.js.map +1 -0
  212. package/dist/vision/index.d.ts +19 -0
  213. package/dist/vision/index.d.ts.map +1 -0
  214. package/dist/vision/index.js +20 -0
  215. package/dist/vision/index.js.map +1 -0
  216. package/dist/vision/vision-engine.d.ts +131 -0
  217. package/dist/vision/vision-engine.d.ts.map +1 -0
  218. package/dist/vision/vision-engine.js +97 -0
  219. package/dist/vision/vision-engine.js.map +1 -0
  220. package/dist/vision/vision.d.ts +48 -0
  221. package/dist/vision/vision.d.ts.map +1 -0
  222. package/dist/vision/vision.js +83 -0
  223. package/dist/vision/vision.js.map +1 -0
  224. package/package.json +124 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-cloud-stt.js","sourceRoot":"","sources":["../../../src/stt/backends/google-cloud-stt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,EAAE,IAAI,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE9E,OAAO,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAC9F,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAqB,MAAM,kBAAkB,CAAC;AAEhE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE1C,MAAM,kCAAkC,GAAG;IACvC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;IACrB,OAAO,EAAE,CAAC,aAAa,EAAE,cAAc,EAAE,iBAAiB,CAAC;CACrD,CAAC;AAEX,MAAM,gCAAgC,GAAG,KAAK,CAAC;AAa/C,SAAS,sCAAsC,CAAC,KAAa,EAAE,MAAc;IACzE,IAAI,CAAC,CAAC,KAAK,IAAI,kCAAkC,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,UAAU,CAChB,2BAA2B,KAAK,yCAAyC,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxI,CAAC;IACN,CAAC;IAED,MAAM,gBAAgB,GAAa,CAAC,GAAG,kCAAkC,CAAC,KAAgC,CAAC,CAAC,CAAC;IAC7G,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,UAAU,CAChB,4BAA4B,MAAM,iCAAiC,KAAK,yBAAyB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACjI,CAAC;IACN,CAAC;AACL,CAAC;AAED,SAAS,6BAA6B,CAAC,KAAY,EAAE,cAAsB;IACvE,MAAM,WAAW,GAAG,KAA+B,CAAC;IACpD,MAAM,UAAU,GAAG,WAAW,CAAC,iBAAiB,EAAE,UAAU,CAAC;IAC7D,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC;IAC3D,MAAM,kBAAkB,GACpB,WAAW,CAAC,IAAI,KAAK,CAAC;QACtB,WAAW,CAAC,MAAM,KAAK,uBAAuB;QAC9C,UAAU,KAAK,8BAA8B,CAAC;IAClD,MAAM,oBAAoB,GAAG,WAAW,CAAC,IAAI,KAAK,CAAC,IAAI,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAE/F,IAAI,oBAAoB,EAAE,CAAC;QACvB,OAAO,IAAI,UAAU,CACjB,iDAAiD,gCAAgC,mDAAmD,EACpI;YACI,IAAI,EAAE,kCAAkC;YACxC,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE;gBACL,UAAU,EAAE,cAAc;gBAC1B,OAAO;aACV;SACJ,CACJ,CAAC;IACN,CAAC;IAED,IAAI,kBAAkB,EAAE,CAAC;QACrB,OAAO,IAAI,UAAU,CACjB,qDAAqD,cAAc,qKAAqK,EACxO;YACI,IAAI,EAAE,oCAAoC;YAC1C,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE;gBACL,UAAU,EAAE,cAAc;gBAC1B,UAAU,EAAE,UAAU,IAAI,8BAA8B;gBACxD,OAAO;aACV;SACJ,CACJ,CAAC;IACN,CAAC;IAED,OAAO,IAAI,UAAU,CAAC,qCAAqC,EAAE;QACzD,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE;YACL,UAAU,EAAE,cAAc;YAC1B,OAAO;SACV;KACJ,CAAC,CAAC;AACP,CAAC;AAED;;;;;;GAMG;AACH,MAAM,OAAO,oBAAqB,SAAQ,SAAS;IACvC,cAAc,GAAW,KAAK,CAAC;IAC/B,kBAAkB,GAAW,CAAC,CAAC;IAC/B,MAAM,CAAoC;IAElD,KAAK,CAAC,UAAU,CAAC,cAAsB,EAAE,kBAA0B;QAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAqC,CAAC;QAC1D,MAAM,WAAW,GAAG,0BAA0B,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QACxE,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACpC,MAAM,YAAY,GAAG,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,GAAG,MAAM,wBAAwB,CAAC;QACnD,MAAM,0BAA0B,GAAa,MAAM,EAAE,0BAAsC,IAAI,IAAI,CAAC;QACpG,MAAM,eAAe,GAAa,MAAM,EAAE,eAA2B,IAAI,IAAI,CAAC;QAC9E,MAAM,cAAc,GAAa,MAAM,EAAE,cAA0B,IAAI,IAAI,CAAC;QAE5E,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,UAAU,CAChB,gGAAgG,CACnG,CAAC;QACN,CAAC;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,MAAM,IAAI,UAAU,CAChB,8GAA8G,CACjH,CAAC;QACN,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,IAAI,UAAU,CAChB,kGAAkG,CACrG,CAAC;QACN,CAAC;QACD,sCAAsC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAEtD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAE7C,IAAI,CAAC,MAAM,GAAG,IAAI,QAAQ,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEnE,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QACnD,MAAM,CAAC,KAAK,CAAC;qBACA,KAAK;4BACE,YAAY;sBAClB,MAAM;wBACJ,QAAQ;0CACU,0BAA0B;+BACrC,eAAe;8BAChB,cAAc;8BACd,IAAI,CAAC,cAAc;kCACf,IAAI,CAAC,kBAAkB;+BAC1B,WAAW,CAAC,eAAe,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,SAAgC,EAAE,OAA0B;QACzE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAqC,CAAC;QAC1D,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACpC,MAAM,YAAY,GAAG,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACtC,MAAM,0BAA0B,GAAa,MAAM,EAAE,0BAAsC,IAAI,IAAI,CAAC;QACpG,MAAM,eAAe,GAAa,MAAM,EAAE,eAA2B,IAAI,IAAI,CAAC;QAC9E,MAAM,cAAc,GAAa,MAAM,EAAE,cAA0B,IAAI,IAAI,CAAC;QAE5E,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,IAAI,UAAU,CAAC,mEAAmE,CAAC,CAAC;QAC9F,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,UAAU,CAChB,gGAAgG,CACnG,CAAC;QACN,CAAC;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,MAAM,IAAI,UAAU,CAChB,8GAA8G,CACjH,CAAC;QACN,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,IAAI,UAAU,CAChB,kGAAkG,CACrG,CAAC;QACN,CAAC;QACD,sCAAsC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAEtD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC;QAC9C,MAAM,cAAc,GAAG,YAAY,SAAS,cAAc,MAAM,gBAAgB,CAAC;QAEjF,MAAM,CAAC,OAAO,CACV,uDAAuD,KAAK,kBAAkB,YAAY,gBAAgB,cAAc,GAAG,CAC9H,CAAC;QAEF,MAAM,OAAO,GAAoE;YAC7E,MAAM,EAAE;gBACJ,sBAAsB,EAAE;oBACpB,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,sBAAsB,CAAC,aAAa,CAAC,QAAQ;oBAC3F,eAAe,EAAE,IAAI,CAAC,cAAc;oBACpC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB;iBAC7C;gBACD,KAAK;gBACL,aAAa,EAAE,CAAC,YAAY,CAAC;gBAC7B,QAAQ,EAAE;oBACN,eAAe;oBACf,0BAA0B;iBAC7B;aACJ;YACD,iBAAiB,EAAE;gBACf,cAAc;aACjB;SACJ,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAE3E,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAElD,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,eAAe,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;YACrD,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,oBAAoB,GAAG,KAAK,CAAC;YACjC,IAAI,uBAAuB,GAAG,EAAE,CAAC;YACjC,IAAI,qBAAqB,GAAG,EAAE,CAAC;YAE/B,MAAM,aAAa,GAAG,CAAC,UAAkB,EAAE,EAAE;gBACzC,IAAI,OAAO,EAAE,CAAC;oBACV,OAAO;gBACX,CAAC;gBACD,OAAO,GAAG,IAAI,CAAC;gBACf,OAAO,EAAE,CAAC;gBACV,OAAO,CAAC,UAAU,CAAC,CAAC;YACxB,CAAC,CAAC;YAEF,MAAM,YAAY,GAAG,CAAC,KAAiB,EAAE,EAAE;gBACvC,IAAI,OAAO,EAAE,CAAC;oBACV,OAAO;gBACX,CAAC;gBACD,OAAO,GAAG,IAAI,CAAC;gBACf,OAAO,EAAE,CAAC;gBACV,MAAM,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC,CAAC;YAEF,MAAM,UAAU,GAAG,CAAC,IAAqE,EAAE,EAAE;gBACzF,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBAC/B,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC3D,OAAO;oBACX,CAAC;oBAED,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;oBAC7D,IAAI,CAAC,UAAU,EAAE,CAAC;wBACd,OAAO;oBACX,CAAC;oBAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;wBAClB,kGAAkG;wBAClG,uBAAuB,GAAG,UAAU,CAAC;oBACzC,CAAC;oBAED,IAAI,cAAc,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;wBACpC,OAAO,CAAC,eAAe,EAAE,CAAC,UAAU,CAAC,CAAC;wBACtC,OAAO;oBACX,CAAC;oBAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;wBACjB,qBAAqB,GAAG,UAAU,CAAC;wBACnC,MAAM,CAAC,KAAK,CAAC,gCAAgC,UAAU,EAAE,CAAC,CAAC;wBAC3D,IAAI,cAAc,EAAE,CAAC;4BACjB,OAAO,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC,CAAC;wBACxC,CAAC;wBACD,aAAa,CAAC,UAAU,CAAC,CAAC;oBAC9B,CAAC;gBACL,CAAC;YACL,CAAC,CAAC;YAEF,MAAM,aAAa,GAAG,CAAC,KAAmC,EAAE,EAAE;gBAC1D,IAAI,OAAO,EAAE,CAAC;oBACV,OAAO;gBACX,CAAC;gBAED,IAAI,UAAkB,CAAC;gBACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC5B,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpC,CAAC;qBAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChC,UAAU,GAAG,KAAK,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACJ,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpC,CAAC;gBAED,IAAI,CAAC;oBACD,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,IAAI,gCAAgC,EAAE,CAAC;wBAC1F,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,gCAAgC,CAAC,CAAC;wBAC1F,eAAe,CAAC,KAAK,CAAC;4BAClB,KAAK,EAAE,UAAU;yBACpB,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;oBAClE,YAAY,CAAC,6BAA6B,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;gBACvE,CAAC;YACL,CAAC,CAAC;YAEF,MAAM,YAAY,GAAG,GAAG,EAAE;gBACtB,IAAI,CAAC,OAAO,EAAE,CAAC;oBACX,eAAe,CAAC,GAAG,EAAE,CAAC;gBAC1B,CAAC;YACL,CAAC,CAAC;YAEF,MAAM,cAAc,GAAG,CAAC,GAAU,EAAE,EAAE;gBAClC,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC;gBAC/D,YAAY,CAAC,IAAI,UAAU,CAAC,2CAA2C,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;YAC9F,CAAC,CAAC;YAEF,MAAM,WAAW,GAAG,CAAC,GAAU,EAAE,EAAE;gBAC/B,MAAM,iBAAiB,GAAG,4BAA4B,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACpE,oBAAoB,GAAG,oBAAoB,IAAI,iBAAiB,CAAC;gBAEjE,IAAI,iBAAiB,EAAE,CAAC;oBACpB,MAAM,CAAC,IAAI,CAAC,wDAAwD,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBACvF,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAC;gBACxD,CAAC;gBAED,MAAM,kBAAkB,GAAG,6BAA6B,CAAC;oBACrD,eAAe,EAAE,qBAAqB;oBACtC,iBAAiB,EAAE,uBAAuB;oBAC1C,4BAA4B,EAAE,IAAI;oBAClC,cAAc,EAAE,oBAAoB;iBACvC,CAAC,CAAC;gBAEH,IAAI,kBAAkB,EAAE,CAAC;oBACrB,MAAM,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;oBACzF,IAAI,cAAc,EAAE,CAAC;wBACjB,OAAO,CAAC,aAAa,EAAE,CAAC,kBAAkB,CAAC,CAAC;oBAChD,CAAC;oBACD,aAAa,CAAC,kBAAkB,CAAC,CAAC;oBAClC,OAAO;gBACX,CAAC;gBAED,IAAI,oBAAoB,EAAE,CAAC;oBACvB,YAAY,CACR,IAAI,UAAU,CAAC,iDAAiD,EAAE;wBAC9D,IAAI,EAAE,eAAe;qBACxB,CAAC,CACL,CAAC;oBACF,OAAO;gBACX,CAAC;gBAED,YAAY,CAAC,6BAA6B,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;YACrE,CAAC,CAAC;YAEF,MAAM,0BAA0B,GAAG,GAAG,EAAE;gBACpC,MAAM,kBAAkB,GAAG,6BAA6B,CAAC;oBACrD,eAAe,EAAE,qBAAqB;oBACtC,iBAAiB,EAAE,uBAAuB;oBAC1C,4BAA4B,EAAE,IAAI;oBAClC,cAAc,EAAE,oBAAoB;iBACvC,CAAC,CAAC;gBAEH,IAAI,kBAAkB,EAAE,CAAC;oBACrB,MAAM,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;oBACrF,IAAI,cAAc,EAAE,CAAC;wBACjB,OAAO,CAAC,aAAa,EAAE,CAAC,kBAAkB,CAAC,CAAC;oBAChD,CAAC;oBACD,aAAa,CAAC,kBAAkB,CAAC,CAAC;oBAClC,OAAO;gBACX,CAAC;gBAED,YAAY,CACR,IAAI,UAAU,CAAC,iDAAiD,EAAE;oBAC9D,IAAI,EAAE,eAAe;iBACxB,CAAC,CACL,CAAC;YACN,CAAC,CAAC;YAEF,MAAM,YAAY,GAAG,CAAC,MAA2C,EAAE,EAAE;gBACjE,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBACjD,OAAO;gBACX,CAAC;gBAED,oBAAoB,GAAG,oBAAoB,IAAI,4BAA4B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAE5F,MAAM,kBAAkB,GAAG,6BAA6B,CAAC;oBACrD,eAAe,EAAE,qBAAqB;oBACtC,iBAAiB,EAAE,uBAAuB;oBAC1C,4BAA4B,EAAE,IAAI;oBAClC,cAAc,EAAE,oBAAoB;iBACvC,CAAC,CAAC;gBAEH,IAAI,kBAAkB,EAAE,CAAC;oBACrB,MAAM,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;oBACrF,IAAI,cAAc,EAAE,CAAC;wBACjB,OAAO,CAAC,aAAa,EAAE,CAAC,kBAAkB,CAAC,CAAC;oBAChD,CAAC;oBACD,aAAa,CAAC,kBAAkB,CAAC,CAAC;oBAClC,OAAO;gBACX,CAAC;gBAED,IAAI,oBAAoB,EAAE,CAAC;oBACvB,YAAY,CACR,IAAI,UAAU,CAAC,iDAAiD,EAAE;wBAC9D,IAAI,EAAE,eAAe;qBACxB,CAAC,CACL,CAAC;oBACF,OAAO;gBACX,CAAC;gBAED,YAAY,CACR,IAAI,UAAU,CAAC,wCAAwC,MAAM,CAAC,OAAO,IAAI,eAAe,EAAE,EAAE;oBACxF,KAAK,EAAE,IAAI,KAAK,CAAC,eAAe,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,OAAO,IAAI,eAAe,EAAE,CAAC;iBAC/F,CAAC,CACL,CAAC;YACN,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,GAAG,EAAE;gBACjB,YAAY,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;gBACnD,YAAY,CAAC,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;gBACjD,YAAY,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;gBACrD,eAAe,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBACnD,eAAe,CAAC,cAAc,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;gBACpE,eAAe,CAAC,cAAc,CAAC,KAAK,EAAE,0BAA0B,CAAC,CAAC;gBAClE,eAAe,CAAC,cAAc,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;gBACvD,IAAI,CAAC;oBACD,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;wBAC7B,eAAe,CAAC,GAAG,EAAE,CAAC;oBAC1B,CAAC;gBACL,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,MAAM,CAAC,KAAK,CAAC,qDAAqD,EAAE,GAAY,CAAC,CAAC;gBACtF,CAAC;gBACD,eAAe,CAAC,OAAO,EAAE,CAAC;YAC9B,CAAC,CAAC;YAEF,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACvC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACzC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;YAC1D,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,0BAA0B,CAAC,CAAC;YACxD,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAE3C,IAAI,CAAC;gBACD,eAAe,CAAC,KAAK,CAAC;oBAClB,UAAU,EAAE,cAAc;oBAC1B,eAAe,EAAE,OAAO;iBAC3B,CAAC,CAAC;YACP,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClE,YAAY,CAAC,6BAA6B,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;gBACnE,OAAO;YACX,CAAC;YAED,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YACvC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YACvC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Copyright 2025 IBM Corp. All Rights Reserved.
3
+ * Copyright 2026-present TJBot Contributors. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { STTEngine, STTRequestOptions } from '../stt-engine.js';
18
+ /**
19
+ * IBM Watson Speech-to-Text Engine
20
+ *
21
+ * Cloud-based speech recognition using IBM Watson Speech to Text service.
22
+ * Requires IBM Cloud credentials to be configured in ibm-credentials.env file.
23
+ * @public
24
+ */
25
+ export declare class IBMWatsonSTTEngine extends STTEngine {
26
+ private microphoneRate;
27
+ private microphoneChannels;
28
+ private sttService;
29
+ initialize(microphoneRate: number, microphoneChannels: number): Promise<void>;
30
+ transcribe(micStream: NodeJS.ReadableStream, options: STTRequestOptions): Promise<string>;
31
+ }
32
+ //# sourceMappingURL=ibm-watson-stt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ibm-watson-stt.d.ts","sourceRoot":"","sources":["../../../src/stt/backends/ibm-watson-stt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAKhE;;;;;;GAMG;AACH,qBAAa,kBAAmB,SAAQ,SAAS;IAC7C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,UAAU,CAA6B;IAEzC,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB7E,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,cAAc,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;CA0KlG"}
@@ -0,0 +1,190 @@
1
+ /**
2
+ * Copyright 2025 IBM Corp. All Rights Reserved.
3
+ * Copyright 2026-present TJBot Contributors. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import SpeechToTextV1 from 'ibm-watson/speech-to-text/v1.js';
18
+ import { loadIBMWatsonCloudCredentials } from '../../utils/credentials.js';
19
+ import { TJBotError } from '../../utils/index.js';
20
+ import { getLogger } from '../../utils/logging.js';
21
+ import { STTEngine } from '../stt-engine.js';
22
+ import { isNoSpeechLikeReason, isTimeoutLikeStreamEndReason, resolveTranscriptForStreamEnd } from '../stt-utils.js';
23
+ const logger = getLogger(import.meta.url);
24
+ /**
25
+ * IBM Watson Speech-to-Text Engine
26
+ *
27
+ * Cloud-based speech recognition using IBM Watson Speech to Text service.
28
+ * Requires IBM Cloud credentials to be configured in ibm-credentials.env file.
29
+ * @public
30
+ */
31
+ export class IBMWatsonSTTEngine extends STTEngine {
32
+ microphoneRate = 44100;
33
+ microphoneChannels = 2;
34
+ sttService;
35
+ async initialize(microphoneRate, microphoneChannels) {
36
+ const config = this.config;
37
+ loadIBMWatsonCloudCredentials(config?.credentialsPath);
38
+ if (!config?.model) {
39
+ throw new TJBotError('IBM Watson STT model not specified. Provide model in listen.backend.ibm-watson-stt config.');
40
+ }
41
+ this.microphoneRate = microphoneRate;
42
+ this.microphoneChannels = microphoneChannels;
43
+ this.sttService = new SpeechToTextV1({});
44
+ logger.info('IBM Watson STT engine initialized');
45
+ logger.debug(`Initialized IBMWatsonSTTEngine with config:
46
+ model: ${config?.model},
47
+ inactivityTimeout: ${config?.inactivityTimeout},
48
+ backgroundAudioSuppression: ${config?.backgroundAudioSuppression},
49
+ interimResults: ${config?.interimResults},
50
+ microphoneRate: ${this.microphoneRate},
51
+ microphoneChannels: ${this.microphoneChannels},
52
+ credentialsPath: ${config?.credentialsPath}`);
53
+ }
54
+ async transcribe(micStream, options) {
55
+ const config = this.config;
56
+ if (!this.sttService) {
57
+ throw new TJBotError('IBM Watson STT service not initialized. Call initialize() first.');
58
+ }
59
+ const model = config?.model;
60
+ const inactivityTimeout = config?.inactivityTimeout ?? -1;
61
+ const backgroundAudioSuppression = config?.backgroundAudioSuppression ?? 0.4;
62
+ const interimResults = config?.interimResults ?? false;
63
+ logger.verbose(`Transcribing speech with IBM Watson STT (model=${model})`);
64
+ const params = {
65
+ objectMode: true,
66
+ contentType: `audio/l16; rate=${this.microphoneRate}; channels=${this.microphoneChannels}`,
67
+ model,
68
+ inactivityTimeout,
69
+ interimResults,
70
+ backgroundAudioSuppression,
71
+ };
72
+ logger.silly('IBM Watson STT params:', JSON.stringify(params, null, 2));
73
+ const recognizeStream = this.sttService.recognizeUsingWebSocket(params);
74
+ // Pipe microphone to STT
75
+ this.ensureStream(micStream).pipe(recognizeStream);
76
+ return new Promise((resolve, reject) => {
77
+ let settled = false;
78
+ let latestPartialTranscript = '';
79
+ let latestFinalTranscript = '';
80
+ const settleResolve = (transcript) => {
81
+ if (settled) {
82
+ return;
83
+ }
84
+ settled = true;
85
+ cleanup();
86
+ resolve(transcript);
87
+ };
88
+ const settleReject = (error) => {
89
+ if (settled) {
90
+ return;
91
+ }
92
+ settled = true;
93
+ cleanup();
94
+ reject(error);
95
+ };
96
+ const handleData = (data) => {
97
+ const payload = data;
98
+ if (!payload.results || payload.results.length === 0) {
99
+ return;
100
+ }
101
+ const result = payload.results[0];
102
+ if (!result.alternatives || result.alternatives.length === 0) {
103
+ return;
104
+ }
105
+ const transcript = result.alternatives[0].transcript?.trim();
106
+ if (!transcript) {
107
+ return;
108
+ }
109
+ if (interimResults && !result.final) {
110
+ latestPartialTranscript = transcript;
111
+ options.onPartialResult?.(transcript);
112
+ return;
113
+ }
114
+ if (result.final) {
115
+ latestFinalTranscript = transcript;
116
+ logger.debug(`IBM Watson STT recognized: ${transcript}`);
117
+ if (interimResults) {
118
+ options.onFinalResult?.(transcript);
119
+ }
120
+ settleResolve(transcript);
121
+ }
122
+ };
123
+ const handleError = (err) => {
124
+ logger.error('IBM Watson STT stream error:', err);
125
+ const timeoutLikeEnd = isTimeoutLikeStreamEndReason(err.message);
126
+ const noSpeechLikeError = isNoSpeechLikeReason(err.message);
127
+ const fallbackTranscript = resolveTranscriptForStreamEnd({
128
+ finalTranscript: latestFinalTranscript,
129
+ partialTranscript: latestPartialTranscript,
130
+ allowPartialOnTimeoutLikeEnd: true,
131
+ timeoutLikeEnd,
132
+ });
133
+ if (fallbackTranscript) {
134
+ logger.debug('IBM Watson STT finalized using partial transcript after stream timeout');
135
+ if (interimResults) {
136
+ options.onFinalResult?.(fallbackTranscript);
137
+ }
138
+ settleResolve(fallbackTranscript);
139
+ return;
140
+ }
141
+ if (timeoutLikeEnd || noSpeechLikeError) {
142
+ settleReject(new TJBotError('IBM Watson STT: No speech could be recognized', {
143
+ code: 'stt.no-speech',
144
+ }));
145
+ return;
146
+ }
147
+ settleReject(new TJBotError('IBM Watson STT recognition failed', { cause: err }));
148
+ };
149
+ const handleEndWithoutTranscript = () => {
150
+ const fallbackTranscript = resolveTranscriptForStreamEnd({
151
+ finalTranscript: latestFinalTranscript,
152
+ partialTranscript: latestPartialTranscript,
153
+ allowPartialOnTimeoutLikeEnd: true,
154
+ timeoutLikeEnd: true,
155
+ });
156
+ if (fallbackTranscript) {
157
+ logger.debug('IBM Watson STT finalized using partial transcript after stream end');
158
+ if (interimResults) {
159
+ options.onFinalResult?.(fallbackTranscript);
160
+ }
161
+ settleResolve(fallbackTranscript);
162
+ return;
163
+ }
164
+ settleReject(new TJBotError('IBM Watson STT: No speech could be recognized', {
165
+ code: 'stt.no-speech',
166
+ }));
167
+ };
168
+ const cleanup = () => {
169
+ recognizeStream.removeListener('data', handleData);
170
+ recognizeStream.removeListener('error', handleError);
171
+ recognizeStream.removeListener('close', handleEndWithoutTranscript);
172
+ recognizeStream.removeListener('end', handleEndWithoutTranscript);
173
+ try {
174
+ this.ensureStream(micStream).unpipe(recognizeStream);
175
+ }
176
+ catch (err) {
177
+ logger.debug('mic unpipe failed (likely already closed)', err);
178
+ }
179
+ if (typeof recognizeStream.destroy === 'function') {
180
+ recognizeStream.destroy();
181
+ }
182
+ };
183
+ recognizeStream.on('data', handleData);
184
+ recognizeStream.once('error', handleError);
185
+ recognizeStream.once('close', handleEndWithoutTranscript);
186
+ recognizeStream.once('end', handleEndWithoutTranscript);
187
+ });
188
+ }
189
+ }
190
+ //# sourceMappingURL=ibm-watson-stt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ibm-watson-stt.js","sourceRoot":"","sources":["../../../src/stt/backends/ibm-watson-stt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * Copyright 2026-present TJBot Contributors. All Rights Reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { STTEngine, STTRequestOptions } from '../stt-engine.js';
17
+ /**
18
+ * Sherpa-ONNX Speech-to-Text Engine
19
+ *
20
+ * Enhanced local speech recognition using Sherpa-ONNX library with support for:
21
+ * - Multiple model types (Moonshine, Whisper, Zipformer, Paraformer)
22
+ * - Streaming and offline recognition modes
23
+ * - Voice Activity Detection (VAD) for better endpointing
24
+ * - Automatic model download and caching
25
+ *
26
+ * @public
27
+ */
28
+ export declare class SherpaONNXSTTEngine extends STTEngine {
29
+ private registry;
30
+ private modelInfo?;
31
+ private modelPaths?;
32
+ private vadPath?;
33
+ private vad?;
34
+ private recognizer?;
35
+ initialize(): Promise<void>;
36
+ transcribe(micStream: NodeJS.ReadableStream, options: STTRequestOptions): Promise<string>;
37
+ /**
38
+ * Determine if VAD should be used
39
+ */
40
+ private shouldUseVad;
41
+ /**
42
+ * Setup recognizer and VAD based on model configuration
43
+ */
44
+ private setupRecognizer;
45
+ /**
46
+ * Get the paths for all of the model files for a given model key.
47
+ * @param key The model key (e.g. "moonshine-tiny", "whisper-tiny", "zipformer-en", "paraformer-en")
48
+ * @param baseDir The folder in which the model exists.
49
+ * @returns An STTModelPaths object containing the paths to the model files.
50
+ */
51
+ private pathsForModelKey;
52
+ /**
53
+ * Extract and validate required paths for Paraformer online recognizer.
54
+ * @throws {TJBotError} if required paths are missing
55
+ */
56
+ private validateParaformerPaths;
57
+ /**
58
+ * Extract and validate required paths for Zipformer online recognizer.
59
+ * @throws {TJBotError} if required paths are missing
60
+ */
61
+ private validateZipformerPaths;
62
+ /**
63
+ * Extract and validate required paths for Moonshine offline recognizer.
64
+ * @throws {TJBotError} if required paths are missing
65
+ */
66
+ private validateMoonshinePaths;
67
+ /**
68
+ * Extract and validate required paths for Whisper offline recognizer.
69
+ * @throws {TJBotError} if required paths are missing
70
+ */
71
+ private validateWhisperPaths;
72
+ /**
73
+ * Create online recognizer for streaming Paraformer models
74
+ */
75
+ private createOnlineRecognizer;
76
+ /**
77
+ * Create Zipformer recognizer for streaming transducer models
78
+ */
79
+ private createZipformerRecognizer;
80
+ /**
81
+ * Create offline recognizer for Moonshine models
82
+ */
83
+ private createOfflineRecognizer;
84
+ /**
85
+ * Create Whisper offline recognizer
86
+ */
87
+ private createWhisperRecognizer;
88
+ /**
89
+ * Create Silero VAD instance
90
+ */
91
+ private createSileroVad;
92
+ /**
93
+ * Transcribe using streaming recognition
94
+ */
95
+ private transcribeStreaming;
96
+ /**
97
+ * Transcribe using offline recognition with optional VAD
98
+ */
99
+ private transcribeOffline;
100
+ /**
101
+ * Transcribe offline with Silero VAD
102
+ */
103
+ private transcribeOfflineWithVad;
104
+ /**
105
+ * Transcribe offline with simple energy-based silence detection
106
+ */
107
+ private transcribeOfflineEnergy;
108
+ /**
109
+ * Convert Int16 PCM buffer to Float32 samples
110
+ */
111
+ private bufferToFloat32LE;
112
+ /**
113
+ * Calculate RMS (Root Mean Square) of audio samples
114
+ */
115
+ private getRMS;
116
+ }
117
+ //# sourceMappingURL=sherpa-onnx-stt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sherpa-onnx-stt.d.ts","sourceRoot":"","sources":["../../../src/stt/backends/sherpa-onnx-stt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAkChE;;;;;;;;;;GAUG;AACH,qBAAa,mBAAoB,SAAQ,SAAS;IAC9C,OAAO,CAAC,QAAQ,CAA8C;IAC9D,OAAO,CAAC,SAAS,CAAC,CAAmB;IACrC,OAAO,CAAC,UAAU,CAAC,CAAgB;IACnC,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,GAAG,CAAC,CAAM;IAClB,OAAO,CAAC,UAAU,CAAC,CAAa;IAE1B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA8C3B,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,cAAc,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IA+B/F;;OAEG;IACH,OAAO,CAAC,YAAY;IAapB;;OAEG;YACW,eAAe;IA8B7B;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAiDxB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAa/B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAkB9B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAuB9B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAa5B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA2B9B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IA4BjC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAmC/B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAkC/B;;OAEG;IACH,OAAO,CAAC,eAAe;IAuBvB;;OAEG;YACW,mBAAmB;IA2FjC;;OAEG;YACW,iBAAiB;IAa/B;;OAEG;YACW,wBAAwB;IAqGtC;;OAEG;YACW,uBAAuB;IAsGrC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IASzB;;OAEG;IACH,OAAO,CAAC,MAAM;CAOjB"}