react-native-executorch 0.5.1 → 0.5.3

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 (595) hide show
  1. package/android/CMakeLists.txt +24 -0
  2. package/android/build.gradle +1 -0
  3. package/android/src/main/cpp/CMakeLists.txt +25 -0
  4. package/android/src/main/java/com/swmansion/rnexecutorch/RnExecutorchPackage.kt +1 -13
  5. package/common/rnexecutorch/RnExecutorchInstaller.cpp +52 -18
  6. package/common/rnexecutorch/RnExecutorchInstaller.h +0 -25
  7. package/common/rnexecutorch/TokenizerModule.cpp +1 -1
  8. package/common/rnexecutorch/TokenizerModule.h +4 -1
  9. package/common/rnexecutorch/data_processing/FileUtils.h +2 -2
  10. package/common/rnexecutorch/data_processing/ImageProcessing.cpp +5 -5
  11. package/common/rnexecutorch/data_processing/ImageProcessing.h +2 -2
  12. package/common/rnexecutorch/data_processing/Numerical.cpp +13 -0
  13. package/common/rnexecutorch/host_objects/JsiConversions.h +43 -62
  14. package/common/rnexecutorch/host_objects/ModelHostObject.h +43 -24
  15. package/common/rnexecutorch/metaprogramming/ConstructorHelpers.h +8 -6
  16. package/common/rnexecutorch/metaprogramming/FunctionHelpers.h +1 -1
  17. package/common/rnexecutorch/models/BaseModel.cpp +2 -2
  18. package/common/rnexecutorch/models/BaseModel.h +5 -0
  19. package/common/rnexecutorch/models/EncoderDecoderBase.cpp +2 -2
  20. package/common/rnexecutorch/models/EncoderDecoderBase.h +2 -2
  21. package/common/rnexecutorch/models/classification/Classification.cpp +6 -6
  22. package/common/rnexecutorch/models/classification/Classification.h +5 -0
  23. package/common/rnexecutorch/models/classification/Constants.h +3 -3
  24. package/common/rnexecutorch/models/embeddings/BaseEmbeddings.cpp +2 -2
  25. package/common/rnexecutorch/models/embeddings/BaseEmbeddings.h +2 -2
  26. package/common/rnexecutorch/models/embeddings/image/ImageEmbeddings.cpp +3 -3
  27. package/common/rnexecutorch/models/embeddings/image/ImageEmbeddings.h +5 -0
  28. package/common/rnexecutorch/models/embeddings/text/TextEmbeddings.cpp +2 -2
  29. package/common/rnexecutorch/models/embeddings/text/TextEmbeddings.h +6 -1
  30. package/common/rnexecutorch/models/image_segmentation/Constants.h +3 -3
  31. package/common/rnexecutorch/models/image_segmentation/ImageSegmentation.cpp +6 -5
  32. package/common/rnexecutorch/models/image_segmentation/ImageSegmentation.h +8 -1
  33. package/common/rnexecutorch/models/llm/LLM.cpp +58 -0
  34. package/common/rnexecutorch/models/llm/LLM.h +35 -0
  35. package/common/rnexecutorch/models/object_detection/Constants.h +3 -3
  36. package/common/rnexecutorch/models/object_detection/ObjectDetection.cpp +8 -8
  37. package/common/rnexecutorch/models/object_detection/ObjectDetection.h +11 -5
  38. package/common/rnexecutorch/models/object_detection/Types.h +13 -0
  39. package/common/rnexecutorch/models/object_detection/Utils.cpp +13 -11
  40. package/common/rnexecutorch/models/object_detection/Utils.h +7 -13
  41. package/common/rnexecutorch/models/ocr/CTCLabelConverter.cpp +2 -2
  42. package/common/rnexecutorch/models/ocr/CTCLabelConverter.h +2 -2
  43. package/common/rnexecutorch/models/ocr/Constants.h +33 -26
  44. package/common/rnexecutorch/models/ocr/Detector.cpp +20 -22
  45. package/common/rnexecutorch/models/ocr/Detector.h +4 -4
  46. package/common/rnexecutorch/models/ocr/OCR.cpp +9 -8
  47. package/common/rnexecutorch/models/ocr/OCR.h +11 -3
  48. package/common/rnexecutorch/models/ocr/RecognitionHandler.cpp +20 -19
  49. package/common/rnexecutorch/models/ocr/RecognitionHandler.h +9 -7
  50. package/common/rnexecutorch/models/ocr/Recognizer.cpp +7 -7
  51. package/common/rnexecutorch/models/ocr/Recognizer.h +2 -2
  52. package/common/rnexecutorch/models/ocr/Types.h +4 -6
  53. package/common/rnexecutorch/models/ocr/{DetectorUtils.cpp → utils/DetectorUtils.cpp} +70 -63
  54. package/common/rnexecutorch/models/ocr/{DetectorUtils.h → utils/DetectorUtils.h} +12 -11
  55. package/common/rnexecutorch/models/ocr/{RecognitionHandlerUtils.cpp → utils/RecognitionHandlerUtils.cpp} +14 -11
  56. package/common/rnexecutorch/models/ocr/{RecognitionHandlerUtils.h → utils/RecognitionHandlerUtils.h} +5 -5
  57. package/common/rnexecutorch/models/ocr/{RecognizerUtils.cpp → utils/RecognizerUtils.cpp} +28 -26
  58. package/common/rnexecutorch/models/ocr/{RecognizerUtils.h → utils/RecognizerUtils.h} +15 -14
  59. package/common/rnexecutorch/models/speech_to_text/SpeechToText.cpp +2 -2
  60. package/common/rnexecutorch/models/speech_to_text/SpeechToText.h +9 -2
  61. package/common/rnexecutorch/models/speech_to_text/SpeechToTextStrategy.h +2 -2
  62. package/common/rnexecutorch/models/speech_to_text/WhisperStrategy.cpp +2 -2
  63. package/common/rnexecutorch/models/speech_to_text/WhisperStrategy.h +2 -2
  64. package/common/rnexecutorch/models/style_transfer/StyleTransfer.cpp +5 -5
  65. package/common/rnexecutorch/models/style_transfer/StyleTransfer.h +6 -0
  66. package/common/rnexecutorch/models/vertical_ocr/VerticalDetector.cpp +23 -22
  67. package/common/rnexecutorch/models/vertical_ocr/VerticalDetector.h +4 -4
  68. package/common/rnexecutorch/models/vertical_ocr/VerticalOCR.cpp +34 -34
  69. package/common/rnexecutorch/models/vertical_ocr/VerticalOCR.h +27 -20
  70. package/{third-party/ios/ExecutorchLib/ExecutorchLib/sampler → common/runner}/sampler.cpp +3 -2
  71. package/{third-party/ios/ExecutorchLib/ExecutorchLib/sampler → common/runner}/sampler.h +3 -2
  72. package/ios/libs/executorch/libbackend_coreml_ios.a +0 -0
  73. package/ios/libs/executorch/libbackend_coreml_simulator.a +0 -0
  74. package/{third-party/ios/ExecutorchLib/frameworks/backend_mps.xcframework/ios-arm64 → ios/libs/executorch}/libbackend_mps_ios.a +0 -0
  75. package/{third-party/ios/ExecutorchLib/frameworks/backend_mps.xcframework/ios-arm64-simulator → ios/libs/executorch}/libbackend_mps_simulator.a +0 -0
  76. package/ios/libs/executorch/libbackend_xnnpack_ios.a +0 -0
  77. package/ios/libs/executorch/libbackend_xnnpack_simulator.a +0 -0
  78. package/ios/libs/executorch/libexecutorch_ios.a +0 -0
  79. package/ios/libs/executorch/libexecutorch_simulator.a +0 -0
  80. package/ios/libs/executorch/libkernels_custom_ios.a +0 -0
  81. package/ios/libs/executorch/libkernels_custom_simulator.a +0 -0
  82. package/ios/libs/executorch/libkernels_optimized_ios.a +0 -0
  83. package/ios/libs/executorch/libkernels_optimized_simulator.a +0 -0
  84. package/ios/libs/executorch/libkernels_portable_ios.a +0 -0
  85. package/ios/libs/executorch/libkernels_portable_simulator.a +0 -0
  86. package/ios/libs/executorch/libkernels_quantized_ios.a +0 -0
  87. package/ios/libs/executorch/libkernels_quantized_simulator.a +0 -0
  88. package/ios/libs/tokenizers-cpp/physical-arm64-release/libsentencepiece.a +0 -0
  89. package/ios/{ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/ExecutorchLib → libs/tokenizers-cpp/physical-arm64-release/libtokenizers_c.a} +0 -0
  90. package/ios/libs/tokenizers-cpp/physical-arm64-release/libtokenizers_cpp.a +0 -0
  91. package/ios/libs/tokenizers-cpp/simulator-arm64-debug/libsentencepiece.a +0 -0
  92. package/ios/{ExecutorchLib.xcframework/ios-arm64/ExecutorchLib.framework/ExecutorchLib → libs/tokenizers-cpp/simulator-arm64-debug/libtokenizers_c.a} +0 -0
  93. package/ios/libs/tokenizers-cpp/simulator-arm64-debug/libtokenizers_cpp.a +0 -0
  94. package/lib/Error.js +53 -0
  95. package/lib/ThreadPool.d.ts +10 -0
  96. package/lib/ThreadPool.js +28 -0
  97. package/lib/common/Logger.d.ts +8 -0
  98. package/lib/common/Logger.js +19 -0
  99. package/lib/constants/directories.js +2 -0
  100. package/lib/constants/llmDefaults.d.ts +6 -0
  101. package/lib/constants/llmDefaults.js +16 -0
  102. package/lib/constants/modelUrls.d.ts +223 -0
  103. package/lib/constants/modelUrls.js +322 -0
  104. package/lib/constants/ocr/models.d.ts +882 -0
  105. package/lib/constants/ocr/models.js +182 -0
  106. package/lib/constants/ocr/symbols.js +139 -0
  107. package/lib/constants/sttDefaults.d.ts +28 -0
  108. package/lib/constants/sttDefaults.js +68 -0
  109. package/lib/controllers/LLMController.d.ts +47 -0
  110. package/lib/controllers/LLMController.js +213 -0
  111. package/lib/controllers/OCRController.js +67 -0
  112. package/lib/controllers/SpeechToTextController.d.ts +56 -0
  113. package/lib/controllers/SpeechToTextController.js +349 -0
  114. package/lib/controllers/VerticalOCRController.js +70 -0
  115. package/lib/hooks/computer_vision/useClassification.d.ts +15 -0
  116. package/lib/hooks/computer_vision/useClassification.js +7 -0
  117. package/lib/hooks/computer_vision/useImageEmbeddings.d.ts +15 -0
  118. package/lib/hooks/computer_vision/useImageEmbeddings.js +7 -0
  119. package/lib/hooks/computer_vision/useImageSegmentation.d.ts +38 -0
  120. package/lib/hooks/computer_vision/useImageSegmentation.js +7 -0
  121. package/lib/hooks/computer_vision/useOCR.d.ts +20 -0
  122. package/lib/hooks/computer_vision/useOCR.js +41 -0
  123. package/lib/hooks/computer_vision/useObjectDetection.d.ts +15 -0
  124. package/lib/hooks/computer_vision/useObjectDetection.js +7 -0
  125. package/lib/hooks/computer_vision/useStyleTransfer.d.ts +15 -0
  126. package/lib/hooks/computer_vision/useStyleTransfer.js +7 -0
  127. package/lib/hooks/computer_vision/useVerticalOCR.d.ts +21 -0
  128. package/lib/hooks/computer_vision/useVerticalOCR.js +43 -0
  129. package/lib/hooks/general/useExecutorchModule.d.ts +13 -0
  130. package/lib/hooks/general/useExecutorchModule.js +7 -0
  131. package/lib/hooks/natural_language_processing/useLLM.d.ts +10 -0
  132. package/lib/hooks/natural_language_processing/useLLM.js +78 -0
  133. package/lib/hooks/natural_language_processing/useSpeechToText.d.ts +27 -0
  134. package/lib/hooks/natural_language_processing/useSpeechToText.js +49 -0
  135. package/lib/hooks/natural_language_processing/useTextEmbeddings.d.ts +16 -0
  136. package/lib/hooks/natural_language_processing/useTextEmbeddings.js +7 -0
  137. package/lib/hooks/natural_language_processing/useTokenizer.d.ts +17 -0
  138. package/lib/hooks/natural_language_processing/useTokenizer.js +52 -0
  139. package/lib/hooks/useModule.js +45 -0
  140. package/lib/hooks/useNonStaticModule.d.ts +20 -0
  141. package/lib/hooks/useNonStaticModule.js +49 -0
  142. package/lib/index.d.ts +48 -0
  143. package/lib/index.js +58 -0
  144. package/lib/module/controllers/LLMController.js +6 -10
  145. package/lib/module/controllers/LLMController.js.map +1 -1
  146. package/lib/module/hooks/computer_vision/useClassification.js +2 -2
  147. package/lib/module/hooks/computer_vision/useClassification.js.map +1 -1
  148. package/lib/module/hooks/computer_vision/useImageEmbeddings.js +2 -2
  149. package/lib/module/hooks/computer_vision/useImageEmbeddings.js.map +1 -1
  150. package/lib/module/hooks/computer_vision/useImageSegmentation.js +2 -2
  151. package/lib/module/hooks/computer_vision/useImageSegmentation.js.map +1 -1
  152. package/lib/module/hooks/computer_vision/useObjectDetection.js +2 -2
  153. package/lib/module/hooks/computer_vision/useObjectDetection.js.map +1 -1
  154. package/lib/module/hooks/computer_vision/useStyleTransfer.js +2 -2
  155. package/lib/module/hooks/computer_vision/useStyleTransfer.js.map +1 -1
  156. package/lib/module/hooks/general/useExecutorchModule.js +2 -2
  157. package/lib/module/hooks/general/useExecutorchModule.js.map +1 -1
  158. package/lib/module/hooks/natural_language_processing/useTextEmbeddings.js +2 -2
  159. package/lib/module/hooks/natural_language_processing/useTextEmbeddings.js.map +1 -1
  160. package/lib/module/hooks/useModule.js +13 -9
  161. package/lib/module/hooks/useModule.js.map +1 -1
  162. package/lib/module/index.js +1 -1
  163. package/lib/module/index.js.map +1 -1
  164. package/lib/module/modules/BaseModule.js +9 -17
  165. package/lib/module/modules/BaseModule.js.map +1 -1
  166. package/lib/module/modules/computer_vision/ClassificationModule.js +2 -2
  167. package/lib/module/modules/computer_vision/ClassificationModule.js.map +1 -1
  168. package/lib/module/modules/computer_vision/ImageEmbeddingsModule.js +2 -2
  169. package/lib/module/modules/computer_vision/ImageEmbeddingsModule.js.map +1 -1
  170. package/lib/module/modules/computer_vision/ImageSegmentationModule.js +2 -2
  171. package/lib/module/modules/computer_vision/ImageSegmentationModule.js.map +1 -1
  172. package/lib/module/modules/computer_vision/ObjectDetectionModule.js +2 -2
  173. package/lib/module/modules/computer_vision/ObjectDetectionModule.js.map +1 -1
  174. package/lib/module/modules/computer_vision/StyleTransferModule.js +2 -2
  175. package/lib/module/modules/computer_vision/StyleTransferModule.js.map +1 -1
  176. package/lib/module/modules/general/ExecutorchModule.js +2 -2
  177. package/lib/module/modules/general/ExecutorchModule.js.map +1 -1
  178. package/lib/module/modules/natural_language_processing/TextEmbeddingsModule.js +2 -2
  179. package/lib/module/modules/natural_language_processing/TextEmbeddingsModule.js.map +1 -1
  180. package/lib/module/native/RnExecutorchModules.js +1 -2
  181. package/lib/module/native/RnExecutorchModules.js.map +1 -1
  182. package/lib/module/utils/ResourceFetcher.js +6 -8
  183. package/lib/module/utils/ResourceFetcher.js.map +1 -1
  184. package/lib/module/utils/ResourceFetcherUtils.js +20 -20
  185. package/lib/module/utils/ResourceFetcherUtils.js.map +1 -1
  186. package/lib/module/utils/SpeechToTextModule/ASR.js +3 -3
  187. package/lib/module/utils/SpeechToTextModule/ASR.js.map +1 -1
  188. package/lib/modules/BaseModule.js +25 -0
  189. package/lib/modules/BaseNonStaticModule.js +14 -0
  190. package/lib/modules/computer_vision/ClassificationModule.d.ts +8 -0
  191. package/lib/modules/computer_vision/ClassificationModule.js +17 -0
  192. package/lib/modules/computer_vision/ImageEmbeddingsModule.d.ts +8 -0
  193. package/lib/modules/computer_vision/ImageEmbeddingsModule.js +17 -0
  194. package/lib/modules/computer_vision/ImageSegmentationModule.d.ts +11 -0
  195. package/lib/modules/computer_vision/ImageSegmentationModule.js +27 -0
  196. package/lib/modules/computer_vision/OCRModule.d.ts +14 -0
  197. package/lib/modules/computer_vision/OCRModule.js +17 -0
  198. package/lib/modules/computer_vision/ObjectDetectionModule.d.ts +9 -0
  199. package/lib/modules/computer_vision/ObjectDetectionModule.js +17 -0
  200. package/lib/modules/computer_vision/StyleTransferModule.d.ts +8 -0
  201. package/lib/modules/computer_vision/StyleTransferModule.js +17 -0
  202. package/lib/modules/computer_vision/VerticalOCRModule.d.ts +14 -0
  203. package/lib/modules/computer_vision/VerticalOCRModule.js +19 -0
  204. package/lib/modules/general/ExecutorchModule.d.ts +7 -0
  205. package/lib/modules/general/ExecutorchModule.js +14 -0
  206. package/lib/modules/natural_language_processing/LLMModule.d.ts +28 -0
  207. package/lib/modules/natural_language_processing/LLMModule.js +45 -0
  208. package/lib/modules/natural_language_processing/SpeechToTextModule.d.ts +24 -0
  209. package/lib/modules/natural_language_processing/SpeechToTextModule.js +36 -0
  210. package/lib/modules/natural_language_processing/TextEmbeddingsModule.d.ts +9 -0
  211. package/lib/modules/natural_language_processing/TextEmbeddingsModule.js +21 -0
  212. package/lib/modules/natural_language_processing/TokenizerModule.d.ts +12 -0
  213. package/lib/modules/natural_language_processing/TokenizerModule.js +30 -0
  214. package/lib/native/NativeETInstaller.js +2 -0
  215. package/lib/native/NativeOCR.js +2 -0
  216. package/lib/native/NativeVerticalOCR.js +2 -0
  217. package/lib/native/RnExecutorchModules.d.ts +7 -0
  218. package/lib/native/RnExecutorchModules.js +18 -0
  219. package/lib/tsconfig.tsbuildinfo +1 -1
  220. package/lib/types/common.d.ts +32 -0
  221. package/lib/types/common.js +25 -0
  222. package/lib/types/imageSegmentation.js +26 -0
  223. package/lib/types/llm.d.ts +46 -0
  224. package/lib/types/llm.js +9 -0
  225. package/lib/types/objectDetection.js +94 -0
  226. package/lib/types/ocr.js +1 -0
  227. package/lib/types/stt.d.ts +94 -0
  228. package/lib/types/stt.js +85 -0
  229. package/lib/typescript/controllers/LLMController.d.ts +1 -1
  230. package/lib/typescript/controllers/LLMController.d.ts.map +1 -1
  231. package/lib/typescript/hooks/useModule.d.ts +8 -5
  232. package/lib/typescript/hooks/useModule.d.ts.map +1 -1
  233. package/lib/typescript/index.d.ts +1 -0
  234. package/lib/typescript/index.d.ts.map +1 -1
  235. package/lib/typescript/modules/BaseModule.d.ts +7 -6
  236. package/lib/typescript/modules/BaseModule.d.ts.map +1 -1
  237. package/lib/typescript/modules/computer_vision/ClassificationModule.d.ts +2 -2
  238. package/lib/typescript/modules/computer_vision/ClassificationModule.d.ts.map +1 -1
  239. package/lib/typescript/modules/computer_vision/ImageEmbeddingsModule.d.ts +2 -2
  240. package/lib/typescript/modules/computer_vision/ImageEmbeddingsModule.d.ts.map +1 -1
  241. package/lib/typescript/modules/computer_vision/ImageSegmentationModule.d.ts +2 -2
  242. package/lib/typescript/modules/computer_vision/ImageSegmentationModule.d.ts.map +1 -1
  243. package/lib/typescript/modules/computer_vision/ObjectDetectionModule.d.ts +2 -2
  244. package/lib/typescript/modules/computer_vision/ObjectDetectionModule.d.ts.map +1 -1
  245. package/lib/typescript/modules/computer_vision/StyleTransferModule.d.ts +2 -2
  246. package/lib/typescript/modules/computer_vision/StyleTransferModule.d.ts.map +1 -1
  247. package/lib/typescript/modules/general/ExecutorchModule.d.ts +2 -2
  248. package/lib/typescript/modules/general/ExecutorchModule.d.ts.map +1 -1
  249. package/lib/typescript/modules/natural_language_processing/TextEmbeddingsModule.d.ts +2 -2
  250. package/lib/typescript/modules/natural_language_processing/TextEmbeddingsModule.d.ts.map +1 -1
  251. package/lib/typescript/native/RnExecutorchModules.d.ts +1 -3
  252. package/lib/typescript/native/RnExecutorchModules.d.ts.map +1 -1
  253. package/lib/typescript/utils/ResourceFetcher.d.ts.map +1 -1
  254. package/lib/typescript/utils/ResourceFetcherUtils.d.ts.map +1 -1
  255. package/lib/utils/ResourceFetcher.d.ts +24 -0
  256. package/lib/utils/ResourceFetcher.js +305 -0
  257. package/lib/utils/ResourceFetcherUtils.d.ts +54 -0
  258. package/lib/utils/ResourceFetcherUtils.js +127 -0
  259. package/lib/utils/llm.d.ts +6 -0
  260. package/lib/utils/llm.js +72 -0
  261. package/lib/utils/stt.js +21 -0
  262. package/package.json +1 -2
  263. package/react-native-executorch.podspec +47 -44
  264. package/src/controllers/LLMController.ts +8 -13
  265. package/src/hooks/computer_vision/useClassification.ts +2 -2
  266. package/src/hooks/computer_vision/useImageEmbeddings.ts +2 -2
  267. package/src/hooks/computer_vision/useImageSegmentation.ts +2 -2
  268. package/src/hooks/computer_vision/useObjectDetection.ts +2 -2
  269. package/src/hooks/computer_vision/useStyleTransfer.ts +2 -2
  270. package/src/hooks/general/useExecutorchModule.ts +2 -2
  271. package/src/hooks/natural_language_processing/useTextEmbeddings.ts +2 -2
  272. package/src/hooks/useModule.ts +23 -13
  273. package/src/index.ts +3 -2
  274. package/src/modules/BaseModule.ts +17 -28
  275. package/src/modules/computer_vision/ClassificationModule.ts +2 -2
  276. package/src/modules/computer_vision/ImageEmbeddingsModule.ts +2 -2
  277. package/src/modules/computer_vision/ImageSegmentationModule.ts +2 -2
  278. package/src/modules/computer_vision/ObjectDetectionModule.ts +2 -2
  279. package/src/modules/computer_vision/StyleTransferModule.ts +2 -2
  280. package/src/modules/general/ExecutorchModule.ts +2 -2
  281. package/src/modules/natural_language_processing/TextEmbeddingsModule.ts +2 -2
  282. package/src/native/RnExecutorchModules.ts +1 -5
  283. package/src/utils/ResourceFetcher.ts +9 -7
  284. package/src/utils/ResourceFetcherUtils.ts +15 -17
  285. package/src/utils/SpeechToTextModule/ASR.ts +4 -4
  286. package/third-party/android/libs/cpuinfo/arm64-v8a/libcpuinfo.so +0 -0
  287. package/third-party/android/libs/pthreadpool/arm64-v8a/libpthreadpool.so +0 -0
  288. package/third-party/include/cpuinfo/cpuinfo.h +2305 -0
  289. package/third-party/include/executorch/extension/threadpool/cpuinfo_utils.h +26 -0
  290. package/third-party/include/executorch/extension/threadpool/threadpool.h +94 -0
  291. package/third-party/include/pthreadpool/pthreadpool.h +2236 -0
  292. package/android/src/main/java/com/swmansion/rnexecutorch/LLM.kt +0 -63
  293. package/ios/ExecutorchLib.xcframework/Info.plist +0 -43
  294. package/ios/ExecutorchLib.xcframework/ios-arm64/ExecutorchLib.framework/Headers/ETModel.h +0 -27
  295. package/ios/ExecutorchLib.xcframework/ios-arm64/ExecutorchLib.framework/Headers/HuggingFaceTokenizer.h +0 -14
  296. package/ios/ExecutorchLib.xcframework/ios-arm64/ExecutorchLib.framework/Headers/LLaMARunner.h +0 -32
  297. package/ios/ExecutorchLib.xcframework/ios-arm64/ExecutorchLib.framework/Info.plist +0 -0
  298. package/ios/ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/Headers/ETModel.h +0 -27
  299. package/ios/ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/Headers/HuggingFaceTokenizer.h +0 -14
  300. package/ios/ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/Headers/LLaMARunner.h +0 -32
  301. package/ios/ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/Info.plist +0 -0
  302. package/ios/RnExecutorch/LLM.h +0 -5
  303. package/ios/RnExecutorch/LLM.mm +0 -78
  304. package/ios/RnExecutorch.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  305. package/ios/RnExecutorch.xcodeproj/project.xcworkspace/xcuserdata/jakubchmura.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  306. package/ios/RnExecutorch.xcodeproj/xcuserdata/jakubchmura.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
  307. package/lib/module/modules/BaseNonStaticModule.js +0 -17
  308. package/lib/module/modules/BaseNonStaticModule.js.map +0 -1
  309. package/lib/module/native/NativeLLM.js +0 -5
  310. package/lib/module/native/NativeLLM.js.map +0 -1
  311. package/lib/typescript/modules/BaseNonStaticModule.d.ts +0 -10
  312. package/lib/typescript/modules/BaseNonStaticModule.d.ts.map +0 -1
  313. package/lib/typescript/native/NativeLLM.d.ts +0 -12
  314. package/lib/typescript/native/NativeLLM.d.ts.map +0 -1
  315. package/src/modules/BaseNonStaticModule.ts +0 -26
  316. package/src/native/NativeLLM.ts +0 -14
  317. package/third-party/include/tokenizers-cpp/tokenizers_c.h +0 -61
  318. package/third-party/ios/ExecutorchLib/ExecutorchLib/Exported/ETModel.h +0 -27
  319. package/third-party/ios/ExecutorchLib/ExecutorchLib/Exported/ETModel.mm +0 -249
  320. package/third-party/ios/ExecutorchLib/ExecutorchLib/Exported/HuggingFaceTokenizer.h +0 -14
  321. package/third-party/ios/ExecutorchLib/ExecutorchLib/Exported/HuggingFaceTokenizer.mm +0 -80
  322. package/third-party/ios/ExecutorchLib/ExecutorchLib/Exported/LLaMARunner.h +0 -32
  323. package/third-party/ios/ExecutorchLib/ExecutorchLib/Exported/LLaMARunner.mm +0 -95
  324. package/third-party/ios/ExecutorchLib/ExecutorchLib/InputType.h +0 -12
  325. package/third-party/ios/ExecutorchLib/ExecutorchLib/Utils.hpp +0 -217
  326. package/third-party/ios/ExecutorchLib/ExecutorchLib/model/Model.cpp +0 -11
  327. package/third-party/ios/ExecutorchLib/ExecutorchLib/model/Model.h +0 -11
  328. package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/base64.h +0 -202
  329. package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/bpe_tokenizer.cpp +0 -313
  330. package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/bpe_tokenizer.h +0 -57
  331. package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/llama_tiktoken.cpp +0 -78
  332. package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/llama_tiktoken.h +0 -23
  333. package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/tiktoken.cpp +0 -427
  334. package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/tiktoken.h +0 -87
  335. package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/tokenizer.h +0 -76
  336. package/third-party/ios/ExecutorchLib/ExecutorchLib.xcodeproj/project.pbxproj +0 -683
  337. package/third-party/ios/ExecutorchLib/ExecutorchLib.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  338. package/third-party/ios/ExecutorchLib/ExecutorchLib.xcodeproj/project.xcworkspace/xcuserdata/jakubchmura.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  339. package/third-party/ios/ExecutorchLib/ExecutorchLib.xcodeproj/xcuserdata/jakubchmura.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
  340. package/third-party/ios/ExecutorchLib/build.sh +0 -44
  341. package/third-party/ios/ExecutorchLib/frameworks/backend_coreml.xcframework/Info.plist +0 -43
  342. package/third-party/ios/ExecutorchLib/frameworks/backend_coreml.xcframework/ios-arm64/libbackend_coreml_ios.a +0 -0
  343. package/third-party/ios/ExecutorchLib/frameworks/backend_coreml.xcframework/ios-arm64-simulator/libbackend_coreml_simulator.a +0 -0
  344. package/third-party/ios/ExecutorchLib/frameworks/backend_mps.xcframework/Info.plist +0 -43
  345. package/third-party/ios/ExecutorchLib/frameworks/backend_xnnpack.xcframework/Info.plist +0 -43
  346. package/third-party/ios/ExecutorchLib/frameworks/backend_xnnpack.xcframework/ios-arm64/libbackend_xnnpack_ios.a +0 -0
  347. package/third-party/ios/ExecutorchLib/frameworks/backend_xnnpack.xcframework/ios-arm64-simulator/libbackend_xnnpack_simulator.a +0 -0
  348. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/Info.plist +0 -47
  349. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/macros/Export.h +0 -163
  350. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/macros/Macros.h +0 -497
  351. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/BFloat16-inl.h +0 -342
  352. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/BFloat16-math.h +0 -266
  353. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/BFloat16.h +0 -125
  354. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/Half-inl.h +0 -347
  355. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/Half.h +0 -416
  356. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/TypeSafeSignMath.h +0 -133
  357. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/bit_cast.h +0 -43
  358. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/floating_point_utils.h +0 -33
  359. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/irange.h +0 -107
  360. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/ExecuTorch.h +0 -13
  361. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/ExecuTorchError.h +0 -16
  362. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/ExecuTorchLog.h +0 -76
  363. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/ExecuTorchModule.h +0 -286
  364. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/ExecuTorchTensor.h +0 -742
  365. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/ExecuTorchValue.h +0 -219
  366. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/extension/module/module.h +0 -492
  367. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/extension/tensor/tensor.h +0 -13
  368. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/extension/tensor/tensor_accessor.h +0 -190
  369. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/extension/tensor/tensor_ptr.h +0 -347
  370. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/extension/tensor/tensor_ptr_maker.h +0 -653
  371. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/backend/backend_execution_context.h +0 -71
  372. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/backend/backend_init_context.h +0 -72
  373. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/backend/interface.h +0 -166
  374. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/array_ref.h +0 -235
  375. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/data_loader.h +0 -136
  376. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/defines.h +0 -20
  377. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/error.h +0 -229
  378. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/evalue.h +0 -521
  379. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/event_tracer.h +0 -565
  380. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/event_tracer_hooks.h +0 -323
  381. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/event_tracer_hooks_delegate.h +0 -197
  382. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/exec_aten/exec_aten.h +0 -147
  383. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/exec_aten/util/dim_order_util.h +0 -263
  384. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/exec_aten/util/scalar_type_util.h +0 -1331
  385. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/exec_aten/util/tensor_dimension_limit.h +0 -21
  386. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/exec_aten/util/tensor_shape_to_c_string.h +0 -69
  387. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/exec_aten/util/tensor_util.h +0 -1250
  388. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/freeable_buffer.h +0 -107
  389. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/hierarchical_allocator.h +0 -107
  390. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/memory_allocator.h +0 -198
  391. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/named_data_map.h +0 -86
  392. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/bfloat16.h +0 -27
  393. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/bfloat16_math.h +0 -14
  394. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/bits_types.h +0 -83
  395. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/macros/Export.h +0 -163
  396. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/macros/Macros.h +0 -497
  397. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/BFloat16-inl.h +0 -342
  398. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/BFloat16-math.h +0 -266
  399. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/BFloat16.h +0 -125
  400. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/Half-inl.h +0 -347
  401. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/Half.h +0 -416
  402. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/TypeSafeSignMath.h +0 -133
  403. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/bit_cast.h +0 -43
  404. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/floating_point_utils.h +0 -33
  405. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/irange.h +0 -107
  406. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/complex.h +0 -44
  407. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/device.h +0 -70
  408. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/half.h +0 -27
  409. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/optional.h +0 -36
  410. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/qint_types.h +0 -83
  411. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/scalar.h +0 -110
  412. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/scalar_type.h +0 -154
  413. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/string_view.h +0 -29
  414. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/tensor.h +0 -142
  415. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/tensor_impl.h +0 -261
  416. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/tensor_options.h +0 -60
  417. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/result.h +0 -258
  418. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/span.h +0 -93
  419. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/tag.h +0 -71
  420. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/tensor_layout.h +0 -79
  421. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/tensor_shape_dynamism.h +0 -39
  422. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/executor/memory_manager.h +0 -113
  423. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/executor/method.h +0 -387
  424. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/executor/method_meta.h +0 -251
  425. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/executor/program.h +0 -320
  426. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/executor/pte_data_map.h +0 -144
  427. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/executor/tensor_parser.h +0 -156
  428. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/kernel/kernel_runtime_context.h +0 -122
  429. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/kernel/operator_registry.h +0 -278
  430. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/abort.h +0 -36
  431. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/assert.h +0 -119
  432. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/clock.h +0 -43
  433. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/compat_unistd.h +0 -75
  434. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/compiler.h +0 -191
  435. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/log.h +0 -177
  436. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/platform.h +0 -133
  437. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/profiler.h +0 -292
  438. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/runtime.h +0 -35
  439. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/system.h +0 -49
  440. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/types.h +0 -24
  441. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/schema/extended_header.h +0 -76
  442. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/module.modulemap +0 -5
  443. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/libexecutorch_ios.a +0 -0
  444. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/macros/Export.h +0 -163
  445. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/macros/Macros.h +0 -497
  446. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/BFloat16-inl.h +0 -342
  447. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/BFloat16-math.h +0 -266
  448. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/BFloat16.h +0 -125
  449. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/Half-inl.h +0 -347
  450. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/Half.h +0 -416
  451. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/TypeSafeSignMath.h +0 -133
  452. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/bit_cast.h +0 -43
  453. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/floating_point_utils.h +0 -33
  454. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/irange.h +0 -107
  455. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/ExecuTorch.h +0 -13
  456. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/ExecuTorchError.h +0 -16
  457. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/ExecuTorchLog.h +0 -76
  458. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/ExecuTorchModule.h +0 -286
  459. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/ExecuTorchTensor.h +0 -742
  460. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/ExecuTorchValue.h +0 -219
  461. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/extension/module/module.h +0 -492
  462. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/extension/tensor/tensor.h +0 -13
  463. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/extension/tensor/tensor_accessor.h +0 -190
  464. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/extension/tensor/tensor_ptr.h +0 -347
  465. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/extension/tensor/tensor_ptr_maker.h +0 -653
  466. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/backend/backend_execution_context.h +0 -71
  467. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/backend/backend_init_context.h +0 -72
  468. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/backend/interface.h +0 -166
  469. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/array_ref.h +0 -235
  470. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/data_loader.h +0 -136
  471. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/defines.h +0 -20
  472. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/error.h +0 -229
  473. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/evalue.h +0 -521
  474. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/event_tracer.h +0 -565
  475. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/event_tracer_hooks.h +0 -323
  476. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/event_tracer_hooks_delegate.h +0 -197
  477. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/exec_aten/exec_aten.h +0 -147
  478. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/exec_aten/util/dim_order_util.h +0 -263
  479. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/exec_aten/util/scalar_type_util.h +0 -1331
  480. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/exec_aten/util/tensor_dimension_limit.h +0 -21
  481. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/exec_aten/util/tensor_shape_to_c_string.h +0 -69
  482. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/exec_aten/util/tensor_util.h +0 -1250
  483. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/freeable_buffer.h +0 -107
  484. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/hierarchical_allocator.h +0 -107
  485. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/memory_allocator.h +0 -198
  486. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/named_data_map.h +0 -86
  487. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/bfloat16.h +0 -27
  488. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/bfloat16_math.h +0 -14
  489. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/bits_types.h +0 -83
  490. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/macros/Export.h +0 -163
  491. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/macros/Macros.h +0 -497
  492. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/BFloat16-inl.h +0 -342
  493. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/BFloat16-math.h +0 -266
  494. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/BFloat16.h +0 -125
  495. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/Half-inl.h +0 -347
  496. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/Half.h +0 -416
  497. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/TypeSafeSignMath.h +0 -133
  498. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/bit_cast.h +0 -43
  499. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/floating_point_utils.h +0 -33
  500. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/irange.h +0 -107
  501. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/complex.h +0 -44
  502. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/device.h +0 -70
  503. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/half.h +0 -27
  504. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/optional.h +0 -36
  505. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/qint_types.h +0 -83
  506. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/scalar.h +0 -110
  507. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/scalar_type.h +0 -154
  508. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/string_view.h +0 -29
  509. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/tensor.h +0 -142
  510. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/tensor_impl.h +0 -261
  511. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/tensor_options.h +0 -60
  512. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/result.h +0 -258
  513. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/span.h +0 -93
  514. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/tag.h +0 -71
  515. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/tensor_layout.h +0 -79
  516. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/tensor_shape_dynamism.h +0 -39
  517. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/executor/memory_manager.h +0 -113
  518. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/executor/method.h +0 -387
  519. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/executor/method_meta.h +0 -251
  520. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/executor/program.h +0 -320
  521. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/executor/pte_data_map.h +0 -144
  522. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/executor/tensor_parser.h +0 -156
  523. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/kernel/kernel_runtime_context.h +0 -122
  524. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/kernel/operator_registry.h +0 -278
  525. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/abort.h +0 -36
  526. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/assert.h +0 -119
  527. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/clock.h +0 -43
  528. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/compat_unistd.h +0 -75
  529. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/compiler.h +0 -191
  530. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/log.h +0 -177
  531. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/platform.h +0 -133
  532. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/profiler.h +0 -292
  533. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/runtime.h +0 -35
  534. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/system.h +0 -49
  535. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/types.h +0 -24
  536. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/schema/extended_header.h +0 -76
  537. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/module.modulemap +0 -5
  538. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/libexecutorch_simulator.a +0 -0
  539. package/third-party/ios/ExecutorchLib/frameworks/kernels_custom.xcframework/Info.plist +0 -43
  540. package/third-party/ios/ExecutorchLib/frameworks/kernels_custom.xcframework/ios-arm64/libkernels_custom_ios.a +0 -0
  541. package/third-party/ios/ExecutorchLib/frameworks/kernels_custom.xcframework/ios-arm64-simulator/libkernels_custom_simulator.a +0 -0
  542. package/third-party/ios/ExecutorchLib/frameworks/kernels_optimized.xcframework/Info.plist +0 -43
  543. package/third-party/ios/ExecutorchLib/frameworks/kernels_optimized.xcframework/ios-arm64/libkernels_optimized_ios.a +0 -0
  544. package/third-party/ios/ExecutorchLib/frameworks/kernels_optimized.xcframework/ios-arm64-simulator/libkernels_optimized_simulator.a +0 -0
  545. package/third-party/ios/ExecutorchLib/frameworks/kernels_portable.xcframework/Info.plist +0 -43
  546. package/third-party/ios/ExecutorchLib/frameworks/kernels_portable.xcframework/ios-arm64/libkernels_portable_ios.a +0 -0
  547. package/third-party/ios/ExecutorchLib/frameworks/kernels_portable.xcframework/ios-arm64-simulator/libkernels_portable_simulator.a +0 -0
  548. package/third-party/ios/ExecutorchLib/frameworks/kernels_quantized.xcframework/Info.plist +0 -43
  549. package/third-party/ios/ExecutorchLib/frameworks/kernels_quantized.xcframework/ios-arm64/libkernels_quantized_ios.a +0 -0
  550. package/third-party/ios/ExecutorchLib/frameworks/kernels_quantized.xcframework/ios-arm64-simulator/libkernels_quantized_simulator.a +0 -0
  551. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/Info.plist +0 -43
  552. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/bitmap256.h +0 -82
  553. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/filtered_re2.h +0 -111
  554. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/pod_array.h +0 -43
  555. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/prefilter.h +0 -130
  556. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/prefilter_tree.h +0 -139
  557. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/prog.h +0 -483
  558. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/re2.h +0 -994
  559. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/regexp.h +0 -692
  560. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/set.h +0 -85
  561. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/sparse_array.h +0 -367
  562. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/sparse_set.h +0 -241
  563. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/stringpiece.h +0 -205
  564. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/unicode_casefold.h +0 -78
  565. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/unicode_groups.h +0 -64
  566. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/walker-inl.h +0 -235
  567. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Info.plist +0 -26
  568. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/re2 +0 -0
  569. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/bitmap256.h +0 -82
  570. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/filtered_re2.h +0 -111
  571. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/pod_array.h +0 -43
  572. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/prefilter.h +0 -130
  573. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/prefilter_tree.h +0 -139
  574. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/prog.h +0 -483
  575. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/re2.h +0 -994
  576. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/regexp.h +0 -692
  577. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/set.h +0 -85
  578. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/sparse_array.h +0 -367
  579. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/sparse_set.h +0 -241
  580. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/stringpiece.h +0 -205
  581. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/unicode_casefold.h +0 -78
  582. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/unicode_groups.h +0 -64
  583. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/walker-inl.h +0 -235
  584. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Info.plist +0 -26
  585. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/re2 +0 -0
  586. /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/irunner.h +0 -0
  587. /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/runner.cpp +0 -0
  588. /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/runner.h +0 -0
  589. /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/stats.h +0 -0
  590. /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/text_decoder_runner.cpp +0 -0
  591. /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/text_decoder_runner.h +0 -0
  592. /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/text_prefiller.cpp +0 -0
  593. /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/text_prefiller.h +0 -0
  594. /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/text_token_generator.h +0 -0
  595. /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/util.h +0 -0
@@ -0,0 +1,213 @@
1
+ import { ResourceFetcher } from '../utils/ResourceFetcher';
2
+ import { ETError, getError } from '../Error';
3
+ import { Template } from '@huggingface/jinja';
4
+ import { DEFAULT_CHAT_CONFIG } from '../constants/llmDefaults';
5
+ import { readAsStringAsync } from 'expo-file-system';
6
+ import { SPECIAL_TOKENS, } from '../types/llm';
7
+ import { parseToolCall } from '../utils/llm';
8
+ import { Logger } from '../common/Logger';
9
+ export class LLMController {
10
+ nativeModule;
11
+ chatConfig = DEFAULT_CHAT_CONFIG;
12
+ toolsConfig;
13
+ tokenizerConfig;
14
+ onToken;
15
+ _response = '';
16
+ _isReady = false;
17
+ _isGenerating = false;
18
+ _messageHistory = [];
19
+ // User callbacks
20
+ tokenCallback;
21
+ responseCallback;
22
+ messageHistoryCallback;
23
+ isReadyCallback;
24
+ isGeneratingCallback;
25
+ constructor({ tokenCallback, responseCallback, messageHistoryCallback, isReadyCallback, isGeneratingCallback, }) {
26
+ if (responseCallback !== undefined) {
27
+ Logger.warn('Passing response callback is deprecated and will be removed in 0.6.0');
28
+ }
29
+ this.tokenCallback = (token) => {
30
+ tokenCallback?.(token);
31
+ };
32
+ this.responseCallback = (response) => {
33
+ this._response = response;
34
+ responseCallback?.(response);
35
+ };
36
+ this.messageHistoryCallback = (messageHistory) => {
37
+ this._messageHistory = messageHistory;
38
+ messageHistoryCallback?.(messageHistory);
39
+ };
40
+ this.isReadyCallback = (isReady) => {
41
+ this._isReady = isReady;
42
+ isReadyCallback?.(isReady);
43
+ };
44
+ this.isGeneratingCallback = (isGenerating) => {
45
+ this._isGenerating = isGenerating;
46
+ isGeneratingCallback?.(isGenerating);
47
+ };
48
+ }
49
+ get response() {
50
+ return this._response;
51
+ }
52
+ get isReady() {
53
+ return this._isReady;
54
+ }
55
+ get isGenerating() {
56
+ return this._isGenerating;
57
+ }
58
+ get messageHistory() {
59
+ return this._messageHistory;
60
+ }
61
+ async load({ modelSource, tokenizerSource, tokenizerConfigSource, onDownloadProgressCallback, }) {
62
+ // reset inner state when loading new model
63
+ this.responseCallback('');
64
+ this.messageHistoryCallback(this.chatConfig.initialMessageHistory);
65
+ this.isGeneratingCallback(false);
66
+ this.isReadyCallback(false);
67
+ try {
68
+ const tokenizersPromise = ResourceFetcher.fetch(undefined, tokenizerSource, tokenizerConfigSource);
69
+ const modelPromise = ResourceFetcher.fetch(onDownloadProgressCallback, modelSource);
70
+ const [tokenizersResults, modelResult] = await Promise.all([
71
+ tokenizersPromise,
72
+ modelPromise,
73
+ ]);
74
+ const tokenizerPath = tokenizersResults?.[0];
75
+ const tokenizerConfigPath = tokenizersResults?.[1];
76
+ const modelPath = modelResult?.[0];
77
+ if (!tokenizerPath || !tokenizerConfigPath || !modelPath) {
78
+ throw new Error('Download interrupted!');
79
+ }
80
+ this.tokenizerConfig = JSON.parse(await readAsStringAsync('file://' + tokenizerConfigPath));
81
+ this.nativeModule = global.loadLLM(modelPath, tokenizerPath);
82
+ this.isReadyCallback(true);
83
+ this.onToken = (data) => {
84
+ if (!data ||
85
+ (SPECIAL_TOKENS.EOS_TOKEN in this.tokenizerConfig &&
86
+ data === this.tokenizerConfig.eos_token) ||
87
+ (SPECIAL_TOKENS.PAD_TOKEN in this.tokenizerConfig &&
88
+ data === this.tokenizerConfig.pad_token)) {
89
+ return;
90
+ }
91
+ this.tokenCallback(data);
92
+ this.responseCallback(this._response + data);
93
+ };
94
+ }
95
+ catch (e) {
96
+ this.isReadyCallback(false);
97
+ throw new Error(getError(e));
98
+ }
99
+ }
100
+ setTokenCallback(tokenCallback) {
101
+ this.tokenCallback = tokenCallback;
102
+ }
103
+ configure({ chatConfig, toolsConfig, }) {
104
+ this.chatConfig = { ...DEFAULT_CHAT_CONFIG, ...chatConfig };
105
+ this.toolsConfig = toolsConfig;
106
+ // reset inner state when loading new configuration
107
+ this.responseCallback('');
108
+ this.messageHistoryCallback(this.chatConfig.initialMessageHistory);
109
+ this.isGeneratingCallback(false);
110
+ }
111
+ delete() {
112
+ if (this._isGenerating) {
113
+ throw new Error(getError(ETError.ModelGenerating) +
114
+ 'You cannot delete the model now. You need to interrupt first.');
115
+ }
116
+ this.onToken = () => { };
117
+ this.nativeModule.unload();
118
+ this.isReadyCallback(false);
119
+ this.isGeneratingCallback(false);
120
+ }
121
+ async forward(input) {
122
+ if (!this._isReady) {
123
+ throw new Error(getError(ETError.ModuleNotLoaded));
124
+ }
125
+ if (this._isGenerating) {
126
+ throw new Error(getError(ETError.ModelGenerating));
127
+ }
128
+ try {
129
+ this.responseCallback('');
130
+ this.isGeneratingCallback(true);
131
+ await this.nativeModule.generate(input, this.onToken);
132
+ }
133
+ catch (e) {
134
+ throw new Error(getError(e));
135
+ }
136
+ finally {
137
+ this.isGeneratingCallback(false);
138
+ }
139
+ }
140
+ interrupt() {
141
+ this.nativeModule.interrupt();
142
+ }
143
+ async generate(messages, tools) {
144
+ if (!this._isReady) {
145
+ throw new Error(getError(ETError.ModuleNotLoaded));
146
+ }
147
+ if (messages.length === 0) {
148
+ throw new Error(`Empty 'messages' array!`);
149
+ }
150
+ if (messages[0] && messages[0].role !== 'system') {
151
+ Logger.warn(`You are not providing system prompt. You can pass it in the first message using { role: 'system', content: YOUR_PROMPT }. Otherwise prompt from your model's chat template will be used.`);
152
+ }
153
+ const renderedChat = this.applyChatTemplate(messages, this.tokenizerConfig, tools,
154
+ // eslint-disable-next-line camelcase
155
+ { tools_in_user_message: false, add_generation_prompt: true });
156
+ await this.forward(renderedChat);
157
+ }
158
+ async sendMessage(message) {
159
+ this.messageHistoryCallback([
160
+ ...this._messageHistory,
161
+ { content: message, role: 'user' },
162
+ ]);
163
+ const messageHistoryWithPrompt = [
164
+ { content: this.chatConfig.systemPrompt, role: 'system' },
165
+ ...this._messageHistory.slice(-this.chatConfig.contextWindowLength),
166
+ ];
167
+ await this.generate(messageHistoryWithPrompt, this.toolsConfig?.tools);
168
+ if (!this.toolsConfig || this.toolsConfig.displayToolCalls) {
169
+ this.messageHistoryCallback([
170
+ ...this._messageHistory,
171
+ { content: this._response, role: 'assistant' },
172
+ ]);
173
+ }
174
+ if (!this.toolsConfig) {
175
+ return;
176
+ }
177
+ const toolCalls = parseToolCall(this._response);
178
+ for (const toolCall of toolCalls) {
179
+ this.toolsConfig
180
+ .executeToolCallback(toolCall)
181
+ .then((toolResponse) => {
182
+ if (toolResponse) {
183
+ this.messageHistoryCallback([
184
+ ...this._messageHistory,
185
+ { content: toolResponse, role: 'assistant' },
186
+ ]);
187
+ }
188
+ });
189
+ }
190
+ }
191
+ deleteMessage(index) {
192
+ // we delete referenced message and all messages after it
193
+ // so the model responses that used them are deleted as well
194
+ const newMessageHistory = this._messageHistory.slice(0, index);
195
+ this.messageHistoryCallback(newMessageHistory);
196
+ }
197
+ applyChatTemplate(messages, tokenizerConfig, tools, templateFlags) {
198
+ if (!tokenizerConfig.chat_template) {
199
+ throw Error("Tokenizer config doesn't include chat_template");
200
+ }
201
+ const template = new Template(tokenizerConfig.chat_template);
202
+ const specialTokens = Object.fromEntries(Object.keys(SPECIAL_TOKENS)
203
+ .filter((key) => key in tokenizerConfig)
204
+ .map((key) => [key, tokenizerConfig[key]]));
205
+ const result = template.render({
206
+ messages,
207
+ tools,
208
+ ...templateFlags,
209
+ ...specialTokens,
210
+ });
211
+ return result;
212
+ }
213
+ }
@@ -0,0 +1,67 @@
1
+ import { symbols } from '../constants/ocr/symbols';
2
+ import { ETError, getError } from '../Error';
3
+ import { OCRNativeModule } from '../native/RnExecutorchModules';
4
+ import { ResourceFetcher } from '../utils/ResourceFetcher';
5
+ export class OCRController {
6
+ nativeModule;
7
+ isReady = false;
8
+ isGenerating = false;
9
+ error = null;
10
+ modelDownloadProgressCallback;
11
+ isReadyCallback;
12
+ isGeneratingCallback;
13
+ errorCallback;
14
+ constructor({ modelDownloadProgressCallback = (_downloadProgress) => { }, isReadyCallback = (_isReady) => { }, isGeneratingCallback = (_isGenerating) => { }, errorCallback = (_error) => { }, }) {
15
+ this.nativeModule = OCRNativeModule;
16
+ this.modelDownloadProgressCallback = modelDownloadProgressCallback;
17
+ this.isReadyCallback = isReadyCallback;
18
+ this.isGeneratingCallback = isGeneratingCallback;
19
+ this.errorCallback = errorCallback;
20
+ }
21
+ loadModel = async (detectorSource, recognizerSources, language) => {
22
+ try {
23
+ if (!detectorSource || Object.keys(recognizerSources).length !== 3)
24
+ return;
25
+ if (!symbols[language]) {
26
+ throw new Error(getError(ETError.LanguageNotSupported));
27
+ }
28
+ this.isReady = false;
29
+ this.isReadyCallback(false);
30
+ const paths = await ResourceFetcher.fetch(this.modelDownloadProgressCallback, detectorSource, recognizerSources.recognizerLarge, recognizerSources.recognizerMedium, recognizerSources.recognizerSmall);
31
+ if (paths === null || paths?.length < 4) {
32
+ throw new Error('Download interrupted!');
33
+ }
34
+ await this.nativeModule.loadModule(paths[0], paths[1], paths[2], paths[3], symbols[language]);
35
+ this.isReady = true;
36
+ this.isReadyCallback(this.isReady);
37
+ }
38
+ catch (e) {
39
+ if (this.errorCallback) {
40
+ this.errorCallback(getError(e));
41
+ }
42
+ else {
43
+ throw new Error(getError(e));
44
+ }
45
+ }
46
+ };
47
+ forward = async (input) => {
48
+ if (!this.isReady) {
49
+ throw new Error(getError(ETError.ModuleNotLoaded));
50
+ }
51
+ if (this.isGenerating) {
52
+ throw new Error(getError(ETError.ModelGenerating));
53
+ }
54
+ try {
55
+ this.isGenerating = true;
56
+ this.isGeneratingCallback(this.isGenerating);
57
+ return await this.nativeModule.forward(input);
58
+ }
59
+ catch (e) {
60
+ throw new Error(getError(e));
61
+ }
62
+ finally {
63
+ this.isGenerating = false;
64
+ this.isGeneratingCallback(this.isGenerating);
65
+ }
66
+ };
67
+ }
@@ -0,0 +1,56 @@
1
+ import { MODES, STREAMING_ACTION } from '../constants/sttDefaults';
2
+ import { AvailableModels } from '../types/stt';
3
+ import { ResourceSource } from '../types/common';
4
+ import { SpeechToTextLanguage } from '../types/stt';
5
+ export declare class SpeechToTextController {
6
+ private speechToTextNativeModule;
7
+ sequence: number[];
8
+ isReady: boolean;
9
+ isGenerating: boolean;
10
+ private tokenizerModule;
11
+ private overlapSeconds;
12
+ private windowSize;
13
+ private chunks;
14
+ private seqs;
15
+ private prevSeq;
16
+ private waveform;
17
+ private numOfChunks;
18
+ private streaming;
19
+ private decodedTranscribeCallback;
20
+ private isReadyCallback;
21
+ private isGeneratingCallback;
22
+ private onErrorCallback;
23
+ private config;
24
+ constructor({ transcribeCallback, isReadyCallback, isGeneratingCallback, onErrorCallback, overlapSeconds, windowSize, streamingConfig, }: {
25
+ transcribeCallback: (sequence: string) => void;
26
+ isReadyCallback?: (isReady: boolean) => void;
27
+ isGeneratingCallback?: (isGenerating: boolean) => void;
28
+ onErrorCallback?: (error: Error | undefined) => void;
29
+ overlapSeconds?: number;
30
+ windowSize?: number;
31
+ streamingConfig?: keyof typeof MODES;
32
+ });
33
+ load({ modelName, encoderSource, decoderSource, tokenizerSource, onDownloadProgressCallback, }: {
34
+ modelName: AvailableModels;
35
+ encoderSource?: ResourceSource;
36
+ decoderSource?: ResourceSource;
37
+ tokenizerSource?: ResourceSource;
38
+ onDownloadProgressCallback?: (downloadProgress: number) => void;
39
+ }): Promise<void>;
40
+ configureStreaming(overlapSeconds?: number, windowSize?: number, streamingConfig?: keyof typeof MODES): void;
41
+ private chunkWaveform;
42
+ private resetState;
43
+ private expectedChunkLength;
44
+ private getStartingTokenIds;
45
+ private decodeChunk;
46
+ private handleOverlaps;
47
+ private trimLeft;
48
+ private trimRight;
49
+ private trimSequences;
50
+ private validateAndFixLastChunk;
51
+ private tokenIdsToText;
52
+ transcribe(waveform: number[], audioLanguage?: SpeechToTextLanguage): Promise<string>;
53
+ streamingTranscribe(streamAction: STREAMING_ACTION, waveform?: number[], audioLanguage?: SpeechToTextLanguage): Promise<string>;
54
+ encode(waveform: Float32Array): Promise<null>;
55
+ decode(seq: number[]): Promise<number>;
56
+ }
@@ -0,0 +1,349 @@
1
+ import { HAMMING_DIST_THRESHOLD, MODEL_CONFIGS, SECOND, MODES, NUM_TOKENS_TO_TRIM, STREAMING_ACTION, } from '../constants/sttDefaults';
2
+ import { AvailableModels } from '../types/stt';
3
+ import { TokenizerModule } from '../modules/natural_language_processing/TokenizerModule';
4
+ import { ResourceFetcher } from '../utils/ResourceFetcher';
5
+ import { longCommonInfPref } from '../utils/stt';
6
+ import { ETError, getError } from '../Error';
7
+ import { Logger } from '../common/Logger';
8
+ export class SpeechToTextController {
9
+ speechToTextNativeModule;
10
+ sequence = [];
11
+ isReady = false;
12
+ isGenerating = false;
13
+ tokenizerModule;
14
+ overlapSeconds;
15
+ windowSize;
16
+ chunks = [];
17
+ seqs = [];
18
+ prevSeq = [];
19
+ waveform = [];
20
+ numOfChunks = 0;
21
+ streaming = false;
22
+ // User callbacks
23
+ decodedTranscribeCallback;
24
+ isReadyCallback;
25
+ isGeneratingCallback;
26
+ onErrorCallback;
27
+ config;
28
+ constructor({ transcribeCallback, isReadyCallback, isGeneratingCallback, onErrorCallback, overlapSeconds, windowSize, streamingConfig, }) {
29
+ this.tokenizerModule = new TokenizerModule();
30
+ this.decodedTranscribeCallback = async (seq) => transcribeCallback(await this.tokenIdsToText(seq));
31
+ this.isReadyCallback = (isReady) => {
32
+ this.isReady = isReady;
33
+ isReadyCallback?.(isReady);
34
+ };
35
+ this.isGeneratingCallback = (isGenerating) => {
36
+ this.isGenerating = isGenerating;
37
+ isGeneratingCallback?.(isGenerating);
38
+ };
39
+ this.onErrorCallback = (error) => {
40
+ if (onErrorCallback) {
41
+ onErrorCallback(error ? new Error(getError(error)) : undefined);
42
+ return;
43
+ }
44
+ else {
45
+ throw new Error(getError(error));
46
+ }
47
+ };
48
+ this.configureStreaming(overlapSeconds, windowSize, streamingConfig || 'balanced');
49
+ }
50
+ async load({ modelName, encoderSource, decoderSource, tokenizerSource, onDownloadProgressCallback, }) {
51
+ this.onErrorCallback(undefined);
52
+ this.isReadyCallback(false);
53
+ this.config = MODEL_CONFIGS[modelName];
54
+ try {
55
+ const tokenizerLoadPromise = this.tokenizerModule.load({
56
+ tokenizerSource: tokenizerSource || this.config.tokenizer.source,
57
+ });
58
+ const pathsPromise = ResourceFetcher.fetch(onDownloadProgressCallback, encoderSource || this.config.sources.encoder, decoderSource || this.config.sources.decoder);
59
+ const [_, encoderDecoderResults] = await Promise.all([
60
+ tokenizerLoadPromise,
61
+ pathsPromise,
62
+ ]);
63
+ encoderSource = encoderDecoderResults?.[0];
64
+ decoderSource = encoderDecoderResults?.[1];
65
+ if (!encoderSource || !decoderSource) {
66
+ throw new Error('Download interrupted.');
67
+ }
68
+ }
69
+ catch (e) {
70
+ this.onErrorCallback(e);
71
+ return;
72
+ }
73
+ if (modelName === 'whisperMultilingual') {
74
+ // The underlying native class is instantiated based on the name of the model. There is no need to
75
+ // create a separate class for multilingual version of Whisper, since it is the same. We just need
76
+ // the distinction here, in TS, for start tokens and such. If we introduce
77
+ // more versions of Whisper, such as the small one, this should be refactored.
78
+ modelName = AvailableModels.WHISPER;
79
+ }
80
+ try {
81
+ const nativeSpeechToText = await global.loadSpeechToText(encoderSource, decoderSource, modelName);
82
+ this.speechToTextNativeModule = nativeSpeechToText;
83
+ this.isReadyCallback(true);
84
+ }
85
+ catch (e) {
86
+ this.onErrorCallback(e);
87
+ }
88
+ }
89
+ configureStreaming(overlapSeconds, windowSize, streamingConfig) {
90
+ if (streamingConfig) {
91
+ this.windowSize = MODES[streamingConfig].windowSize * SECOND;
92
+ this.overlapSeconds = MODES[streamingConfig].overlapSeconds * SECOND;
93
+ }
94
+ if (streamingConfig && (windowSize || overlapSeconds)) {
95
+ Logger.warn(`windowSize and overlapSeconds overrides values from streamingConfig ${streamingConfig}.`);
96
+ }
97
+ this.windowSize = (windowSize || 0) * SECOND || this.windowSize;
98
+ this.overlapSeconds = (overlapSeconds || 0) * SECOND || this.overlapSeconds;
99
+ if (2 * this.overlapSeconds + this.windowSize >= 30 * SECOND) {
100
+ Logger.warn(`Invalid values for overlapSeconds and/or windowSize provided. Expected windowSize + 2 * overlapSeconds (== ${this.windowSize + 2 * this.overlapSeconds}) <= 30. Setting windowSize to ${30 * SECOND - 2 * this.overlapSeconds}.`);
101
+ this.windowSize = 30 * SECOND - 2 * this.overlapSeconds;
102
+ }
103
+ }
104
+ chunkWaveform() {
105
+ this.numOfChunks = Math.ceil(this.waveform.length / this.windowSize);
106
+ for (let i = 0; i < this.numOfChunks; i++) {
107
+ let chunk = [];
108
+ const left = Math.max(this.windowSize * i - this.overlapSeconds, 0);
109
+ const right = Math.min(this.windowSize * (i + 1) + this.overlapSeconds, this.waveform.length);
110
+ chunk = this.waveform.slice(left, right);
111
+ this.chunks.push(chunk);
112
+ }
113
+ }
114
+ resetState() {
115
+ this.sequence = [];
116
+ this.seqs = [];
117
+ this.waveform = [];
118
+ this.prevSeq = [];
119
+ this.chunks = [];
120
+ this.decodedTranscribeCallback([]);
121
+ this.onErrorCallback(undefined);
122
+ }
123
+ expectedChunkLength() {
124
+ //only first chunk can be of shorter length, for first chunk there are no seqs decoded
125
+ return this.seqs.length
126
+ ? this.windowSize + 2 * this.overlapSeconds
127
+ : this.windowSize + this.overlapSeconds;
128
+ }
129
+ async getStartingTokenIds(audioLanguage) {
130
+ // We need different starting token ids based on the multilingualism of the model.
131
+ // The eng version only needs BOS token, while the multilingual one needs:
132
+ // [BOS, LANG, TRANSCRIBE]. Optionally we should also set notimestamps token, as timestamps
133
+ // is not yet supported.
134
+ if (!audioLanguage) {
135
+ return [this.config.tokenizer.bos];
136
+ }
137
+ // FIXME: I should use .getTokenId for the BOS as well, should remove it from config
138
+ const langTokenId = await this.tokenizerModule.tokenToId(`<|${audioLanguage}|>`);
139
+ const transcribeTokenId = await this.tokenizerModule.tokenToId('<|transcribe|>');
140
+ const noTimestampsTokenId = await this.tokenizerModule.tokenToId('<|notimestamps|>');
141
+ const startingTokenIds = [
142
+ this.config.tokenizer.bos,
143
+ langTokenId,
144
+ transcribeTokenId,
145
+ noTimestampsTokenId,
146
+ ];
147
+ return startingTokenIds;
148
+ }
149
+ async decodeChunk(chunk, audioLanguage) {
150
+ const seq = await this.getStartingTokenIds(audioLanguage);
151
+ let prevSeqTokenIdx = 0;
152
+ this.prevSeq = this.sequence.slice();
153
+ try {
154
+ await this.encode(new Float32Array(chunk));
155
+ }
156
+ catch (error) {
157
+ this.onErrorCallback(new Error(getError(error) + ' encoding error'));
158
+ return [];
159
+ }
160
+ let lastToken = seq.at(-1);
161
+ while (lastToken !== this.config.tokenizer.eos) {
162
+ try {
163
+ lastToken = await this.decode(seq);
164
+ }
165
+ catch (error) {
166
+ this.onErrorCallback(new Error(getError(error) + ' decoding error'));
167
+ return [...seq, this.config.tokenizer.eos];
168
+ }
169
+ seq.push(lastToken);
170
+ if (this.seqs.length > 0 &&
171
+ seq.length < this.seqs.at(-1).length &&
172
+ seq.length % 3 !== 0) {
173
+ this.prevSeq.push(this.seqs.at(-1)[prevSeqTokenIdx++]);
174
+ this.decodedTranscribeCallback(this.prevSeq);
175
+ }
176
+ }
177
+ return seq;
178
+ }
179
+ async handleOverlaps(seqs) {
180
+ const maxInd = longCommonInfPref(seqs.at(-2), seqs.at(-1), HAMMING_DIST_THRESHOLD);
181
+ this.sequence = [...this.sequence, ...seqs.at(-2).slice(0, maxInd)];
182
+ this.decodedTranscribeCallback(this.sequence);
183
+ return this.sequence.slice();
184
+ }
185
+ trimLeft(numOfTokensToTrim) {
186
+ const idx = this.seqs.length - 1;
187
+ if (this.seqs[idx][0] === this.config.tokenizer.bos) {
188
+ this.seqs[idx] = this.seqs[idx].slice(numOfTokensToTrim);
189
+ }
190
+ }
191
+ trimRight(numOfTokensToTrim) {
192
+ const idx = this.seqs.length - 2;
193
+ if (this.seqs[idx].at(-1) === this.config.tokenizer.eos) {
194
+ this.seqs[idx] = this.seqs[idx].slice(0, -numOfTokensToTrim);
195
+ }
196
+ }
197
+ // since we are calling this every time (except first) after a new seq is pushed to this.seqs
198
+ // we can only trim left the last seq and trim right the second to last seq
199
+ async trimSequences(audioLanguage) {
200
+ const numSpecialTokens = (await this.getStartingTokenIds(audioLanguage))
201
+ .length;
202
+ this.trimLeft(numSpecialTokens + NUM_TOKENS_TO_TRIM);
203
+ this.trimRight(numSpecialTokens + NUM_TOKENS_TO_TRIM);
204
+ }
205
+ // if last chunk is too short combine it with second to last to improve quality
206
+ validateAndFixLastChunk() {
207
+ if (this.chunks.length < 2)
208
+ return;
209
+ const lastChunkLength = this.chunks.at(-1).length / SECOND;
210
+ const secondToLastChunkLength = this.chunks.at(-2).length / SECOND;
211
+ if (lastChunkLength < 5 && secondToLastChunkLength + lastChunkLength < 30) {
212
+ this.chunks[this.chunks.length - 2] = [
213
+ ...this.chunks.at(-2).slice(0, -this.overlapSeconds * 2),
214
+ ...this.chunks.at(-1),
215
+ ];
216
+ this.chunks = this.chunks.slice(0, -1);
217
+ }
218
+ }
219
+ async tokenIdsToText(tokenIds) {
220
+ try {
221
+ return await this.tokenizerModule.decode(tokenIds, true);
222
+ }
223
+ catch (e) {
224
+ this.onErrorCallback(new Error(`An error has occurred when decoding the token ids: ${e}`));
225
+ return '';
226
+ }
227
+ }
228
+ async transcribe(waveform, audioLanguage) {
229
+ try {
230
+ if (!this.isReady)
231
+ throw Error(getError(ETError.ModuleNotLoaded));
232
+ if (this.isGenerating || this.streaming)
233
+ throw Error(getError(ETError.ModelGenerating));
234
+ if (!!audioLanguage !== this.config.isMultilingual)
235
+ throw new Error(getError(ETError.MultilingualConfiguration));
236
+ }
237
+ catch (e) {
238
+ this.onErrorCallback(e);
239
+ return '';
240
+ }
241
+ // Making sure that the error is not set when we get there
242
+ this.isGeneratingCallback(true);
243
+ this.resetState();
244
+ this.waveform = waveform;
245
+ this.chunkWaveform();
246
+ this.validateAndFixLastChunk();
247
+ for (let chunkId = 0; chunkId < this.chunks.length; chunkId++) {
248
+ const seq = await this.decodeChunk(this.chunks.at(chunkId), audioLanguage);
249
+ // whole audio is inside one chunk, no processing required
250
+ if (this.chunks.length === 1) {
251
+ this.sequence = seq;
252
+ this.decodedTranscribeCallback(seq);
253
+ break;
254
+ }
255
+ this.seqs.push(seq);
256
+ if (this.seqs.length < 2)
257
+ continue;
258
+ // Remove starting tokenIds and some additional ones
259
+ await this.trimSequences(audioLanguage);
260
+ this.prevSeq = await this.handleOverlaps(this.seqs);
261
+ // last sequence processed
262
+ // overlaps are already handled, so just append the last seq
263
+ if (this.seqs.length === this.chunks.length) {
264
+ this.sequence = [...this.sequence, ...this.seqs.at(-1)];
265
+ this.decodedTranscribeCallback(this.sequence);
266
+ this.prevSeq = this.sequence;
267
+ }
268
+ }
269
+ const decodedText = await this.tokenIdsToText(this.sequence);
270
+ this.isGeneratingCallback(false);
271
+ return decodedText;
272
+ }
273
+ async streamingTranscribe(streamAction, waveform, audioLanguage) {
274
+ try {
275
+ if (!this.isReady)
276
+ throw Error(getError(ETError.ModuleNotLoaded));
277
+ if (!!audioLanguage !== this.config.isMultilingual)
278
+ throw new Error(getError(ETError.MultilingualConfiguration));
279
+ if (streamAction === STREAMING_ACTION.START &&
280
+ !this.streaming &&
281
+ this.isGenerating)
282
+ throw Error(getError(ETError.ModelGenerating));
283
+ if (streamAction === STREAMING_ACTION.START && this.streaming)
284
+ throw Error(getError(ETError.ModelGenerating));
285
+ if (streamAction === STREAMING_ACTION.DATA && !this.streaming)
286
+ throw Error(getError(ETError.StreamingNotStarted));
287
+ if (streamAction === STREAMING_ACTION.STOP && !this.streaming)
288
+ throw Error(getError(ETError.StreamingNotStarted));
289
+ if (streamAction === STREAMING_ACTION.DATA && !waveform)
290
+ throw new Error(getError(ETError.MissingDataChunk));
291
+ }
292
+ catch (e) {
293
+ this.onErrorCallback(e);
294
+ return '';
295
+ }
296
+ if (streamAction === STREAMING_ACTION.START) {
297
+ this.resetState();
298
+ this.streaming = true;
299
+ this.isGeneratingCallback(true);
300
+ }
301
+ this.waveform = [...this.waveform, ...(waveform || [])];
302
+ // while buffer has at least required size get chunk and decode
303
+ while (this.waveform.length >= this.expectedChunkLength()) {
304
+ const chunk = this.waveform.slice(0, this.windowSize +
305
+ this.overlapSeconds * (1 + Number(this.seqs.length > 0)));
306
+ this.chunks = [chunk]; //save last chunk for STREAMING_ACTION.STOP
307
+ this.waveform = this.waveform.slice(this.windowSize - this.overlapSeconds * Number(this.seqs.length === 0));
308
+ const seq = await this.decodeChunk(chunk, audioLanguage);
309
+ this.seqs.push(seq);
310
+ if (this.seqs.length < 2)
311
+ continue;
312
+ await this.trimSequences(audioLanguage);
313
+ await this.handleOverlaps(this.seqs);
314
+ }
315
+ // got final package, process all remaining waveform data
316
+ // since we run the loop above the waveform has at most one chunk in it
317
+ if (streamAction === STREAMING_ACTION.STOP) {
318
+ // pad remaining waveform data with previous chunk to this.windowSize + 2 * this.overlapSeconds
319
+ const chunk = this.chunks.length
320
+ ? [
321
+ ...this.chunks[0].slice(0, this.windowSize),
322
+ ...this.waveform,
323
+ ].slice(-this.windowSize - 2 * this.overlapSeconds)
324
+ : this.waveform;
325
+ this.waveform = [];
326
+ const seq = await this.decodeChunk(chunk, audioLanguage);
327
+ this.seqs.push(seq);
328
+ if (this.seqs.length === 1) {
329
+ this.sequence = this.seqs[0];
330
+ }
331
+ else {
332
+ await this.trimSequences(audioLanguage);
333
+ await this.handleOverlaps(this.seqs);
334
+ this.sequence = [...this.sequence, ...this.seqs.at(-1)];
335
+ }
336
+ this.decodedTranscribeCallback(this.sequence);
337
+ this.isGeneratingCallback(false);
338
+ this.streaming = false;
339
+ }
340
+ const decodedText = await this.tokenIdsToText(this.sequence);
341
+ return decodedText;
342
+ }
343
+ async encode(waveform) {
344
+ return await this.speechToTextNativeModule.encode(waveform);
345
+ }
346
+ async decode(seq) {
347
+ return await this.speechToTextNativeModule.decode(seq);
348
+ }
349
+ }