react-native-sherpa-onnx 0.3.6 → 0.3.7

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 (222) hide show
  1. package/LICENSE +1 -0
  2. package/README.md +89 -21
  3. package/SherpaOnnx.podspec +3 -0
  4. package/THIRD_PARTY_LICENSES/README.md +62 -0
  5. package/THIRD_PARTY_LICENSES/ffmpeg.txt +502 -0
  6. package/THIRD_PARTY_LICENSES/libarchive.txt +65 -0
  7. package/THIRD_PARTY_LICENSES/nvidia_omla.txt +181 -0
  8. package/THIRD_PARTY_LICENSES/onnxruntime.txt +21 -0
  9. package/THIRD_PARTY_LICENSES/opus.txt +44 -0
  10. package/THIRD_PARTY_LICENSES/sherpa-onnx.txt +201 -0
  11. package/THIRD_PARTY_LICENSES/shine.txt +482 -0
  12. package/THIRD_PARTY_LICENSES/zstd.txt +30 -0
  13. package/android/build.gradle +7 -3
  14. package/android/prebuilt-download.gradle +344 -152
  15. package/android/prebuilt-versions.gradle +1 -1
  16. package/android/src/main/assets/model_licenses/asr-models-license-status.csv +409 -0
  17. package/android/src/main/assets/model_licenses/qnn-asr-models-license-status.csv +695 -0
  18. package/android/src/main/assets/model_licenses/tts-models-license-status.csv +596 -0
  19. package/android/src/main/cpp/CMakeLists.txt +28 -10
  20. package/android/src/main/cpp/jni/archive/sherpa-onnx-archive-helper.cpp +2 -2
  21. package/android/src/main/cpp/jni/audio/sherpa-onnx-audio-convert-jni.cpp +268 -2
  22. package/android/src/main/cpp/jni/model_detect/sherpa-onnx-model-detect-tts.cpp +6 -2
  23. package/android/src/main/cpp/jni/model_detect/sherpa-onnx-validate-tts.cpp +4 -2
  24. package/android/src/main/java/com/sherpaonnx/SherpaOnnxArchiveHelper.kt +40 -10
  25. package/android/src/main/java/com/sherpaonnx/SherpaOnnxModule.kt +99 -0
  26. package/android/src/main/java/com/sherpaonnx/SherpaOnnxOnlineSttHelper.kt +4 -1
  27. package/android/src/main/java/com/sherpaonnx/SherpaOnnxTtsHelper.kt +112 -97
  28. package/ios/Resources/model_licenses/asr-models-license-status.csv +409 -0
  29. package/ios/Resources/model_licenses/qnn-asr-models-license-status.csv +695 -0
  30. package/ios/Resources/model_licenses/tts-models-license-status.csv +596 -0
  31. package/ios/SherpaOnnx+OnlineSTT.mm +2 -0
  32. package/ios/SherpaOnnx+PcmLiveStream.mm +2 -29
  33. package/ios/SherpaOnnx+TTS.mm +178 -20
  34. package/ios/SherpaOnnx.mm +54 -0
  35. package/ios/SherpaOnnxAudioConvert.h +10 -0
  36. package/ios/SherpaOnnxAudioConvert.mm +257 -1
  37. package/ios/archive/sherpa-onnx-archive-helper.h +3 -0
  38. package/ios/archive/sherpa-onnx-archive-helper.mm +39 -6
  39. package/ios/model_detect/sherpa-onnx-model-detect-tts.mm +13 -2
  40. package/ios/model_detect/sherpa-onnx-validate-tts.mm +4 -2
  41. package/ios/online_stt/sherpa-onnx-online-stt-wrapper.h +1 -0
  42. package/ios/online_stt/sherpa-onnx-online-stt-wrapper.mm +4 -0
  43. package/ios/tts/sherpa-onnx-tts-wrapper.h +37 -0
  44. package/ios/tts/sherpa-onnx-tts-wrapper.mm +149 -3
  45. package/lib/module/NativeSherpaOnnx.js.map +1 -1
  46. package/lib/module/audio/index.js +8 -0
  47. package/lib/module/audio/index.js.map +1 -1
  48. package/lib/module/download/ModelDownloadManager.js +10 -929
  49. package/lib/module/download/ModelDownloadManager.js.map +1 -1
  50. package/lib/module/download/activeModelOperations.js +26 -0
  51. package/lib/module/download/activeModelOperations.js.map +1 -0
  52. package/lib/module/download/background-downloader.d.js +2 -0
  53. package/lib/module/download/background-downloader.d.js.map +1 -0
  54. package/lib/module/download/bulkPurge.js +72 -0
  55. package/lib/module/download/bulkPurge.js.map +1 -0
  56. package/lib/module/download/checksumPrompt.js +19 -0
  57. package/lib/module/download/checksumPrompt.js.map +1 -0
  58. package/lib/module/download/constants.js +7 -0
  59. package/lib/module/download/constants.js.map +1 -0
  60. package/lib/module/download/downloadEvents.js +35 -0
  61. package/lib/module/download/downloadEvents.js.map +1 -0
  62. package/lib/module/download/downloadTask.js +385 -0
  63. package/lib/module/download/downloadTask.js.map +1 -0
  64. package/lib/module/download/ensureModel.js +89 -0
  65. package/lib/module/download/ensureModel.js.map +1 -0
  66. package/lib/module/download/index.js +4 -4
  67. package/lib/module/download/index.js.map +1 -1
  68. package/lib/module/download/localModels.js +151 -0
  69. package/lib/module/download/localModels.js.map +1 -0
  70. package/lib/module/download/modelExtraction.js +174 -0
  71. package/lib/module/download/modelExtraction.js.map +1 -0
  72. package/lib/module/download/paths.js +98 -0
  73. package/lib/module/download/paths.js.map +1 -0
  74. package/lib/module/download/postDownloadProcessing.js +206 -0
  75. package/lib/module/download/postDownloadProcessing.js.map +1 -0
  76. package/lib/module/download/protectedModelKeys.js +31 -0
  77. package/lib/module/download/protectedModelKeys.js.map +1 -0
  78. package/lib/module/download/registry.js +267 -0
  79. package/lib/module/download/registry.js.map +1 -0
  80. package/lib/module/download/retry.js +59 -0
  81. package/lib/module/download/retry.js.map +1 -0
  82. package/lib/module/download/types.js +17 -0
  83. package/lib/module/download/types.js.map +1 -0
  84. package/lib/module/download/validation.js +101 -5
  85. package/lib/module/download/validation.js.map +1 -1
  86. package/lib/module/{download → extraction}/extractTarBz2.js +3 -1
  87. package/lib/module/extraction/extractTarBz2.js.map +1 -0
  88. package/lib/module/{download → extraction}/extractTarZst.js +3 -1
  89. package/lib/module/extraction/extractTarZst.js.map +1 -0
  90. package/lib/module/extraction/index.js +3 -4
  91. package/lib/module/extraction/index.js.map +1 -1
  92. package/lib/module/index.js +1 -1
  93. package/lib/module/index.js.map +1 -1
  94. package/lib/module/licenses.js +63 -0
  95. package/lib/module/licenses.js.map +1 -0
  96. package/lib/module/stt/index.js +16 -2
  97. package/lib/module/stt/index.js.map +1 -1
  98. package/lib/module/stt/streaming.js +2 -0
  99. package/lib/module/stt/streaming.js.map +1 -1
  100. package/lib/module/stt/streamingTypes.js.map +1 -1
  101. package/lib/module/stt/types.js.map +1 -1
  102. package/lib/module/tts/index.js +20 -2
  103. package/lib/module/tts/index.js.map +1 -1
  104. package/lib/module/tts/streaming.js +4 -0
  105. package/lib/module/tts/streaming.js.map +1 -1
  106. package/lib/module/tts/types.js.map +1 -1
  107. package/lib/module/utils.js +16 -1
  108. package/lib/module/utils.js.map +1 -1
  109. package/lib/typescript/src/NativeSherpaOnnx.d.ts +33 -5
  110. package/lib/typescript/src/NativeSherpaOnnx.d.ts.map +1 -1
  111. package/lib/typescript/src/audio/index.d.ts +10 -0
  112. package/lib/typescript/src/audio/index.d.ts.map +1 -1
  113. package/lib/typescript/src/download/ModelDownloadManager.d.ts +10 -108
  114. package/lib/typescript/src/download/ModelDownloadManager.d.ts.map +1 -1
  115. package/lib/typescript/src/download/activeModelOperations.d.ts +6 -0
  116. package/lib/typescript/src/download/activeModelOperations.d.ts.map +1 -0
  117. package/lib/typescript/src/download/bulkPurge.d.ts +14 -0
  118. package/lib/typescript/src/download/bulkPurge.d.ts.map +1 -0
  119. package/lib/typescript/src/download/checksumPrompt.d.ts +3 -0
  120. package/lib/typescript/src/download/checksumPrompt.d.ts.map +1 -0
  121. package/lib/typescript/src/download/constants.d.ts +5 -0
  122. package/lib/typescript/src/download/constants.d.ts.map +1 -0
  123. package/lib/typescript/src/download/downloadEvents.d.ts +6 -0
  124. package/lib/typescript/src/download/downloadEvents.d.ts.map +1 -0
  125. package/lib/typescript/src/download/downloadTask.d.ts +20 -0
  126. package/lib/typescript/src/download/downloadTask.d.ts.map +1 -0
  127. package/lib/typescript/src/download/ensureModel.d.ts +26 -0
  128. package/lib/typescript/src/download/ensureModel.d.ts.map +1 -0
  129. package/lib/typescript/src/download/index.d.ts +7 -7
  130. package/lib/typescript/src/download/index.d.ts.map +1 -1
  131. package/lib/typescript/src/download/localModels.d.ts +15 -0
  132. package/lib/typescript/src/download/localModels.d.ts.map +1 -0
  133. package/lib/typescript/src/download/modelExtraction.d.ts +36 -0
  134. package/lib/typescript/src/download/modelExtraction.d.ts.map +1 -0
  135. package/lib/typescript/src/download/paths.d.ts +28 -0
  136. package/lib/typescript/src/download/paths.d.ts.map +1 -0
  137. package/lib/typescript/src/download/postDownloadProcessing.d.ts +19 -0
  138. package/lib/typescript/src/download/postDownloadProcessing.d.ts.map +1 -0
  139. package/lib/typescript/src/download/protectedModelKeys.d.ts +6 -0
  140. package/lib/typescript/src/download/protectedModelKeys.d.ts.map +1 -0
  141. package/lib/typescript/src/download/registry.d.ts +14 -0
  142. package/lib/typescript/src/download/registry.d.ts.map +1 -0
  143. package/lib/typescript/src/download/retry.d.ts +15 -0
  144. package/lib/typescript/src/download/retry.d.ts.map +1 -0
  145. package/lib/typescript/src/download/types.d.ts +96 -0
  146. package/lib/typescript/src/download/types.d.ts.map +1 -0
  147. package/lib/typescript/src/download/validation.d.ts +19 -0
  148. package/lib/typescript/src/download/validation.d.ts.map +1 -1
  149. package/lib/typescript/src/extraction/extractTarBz2.d.ts.map +1 -0
  150. package/lib/typescript/src/extraction/extractTarZst.d.ts.map +1 -0
  151. package/lib/typescript/src/index.d.ts +1 -0
  152. package/lib/typescript/src/index.d.ts.map +1 -1
  153. package/lib/typescript/src/licenses.d.ts +10 -0
  154. package/lib/typescript/src/licenses.d.ts.map +1 -0
  155. package/lib/typescript/src/stt/index.d.ts +4 -1
  156. package/lib/typescript/src/stt/index.d.ts.map +1 -1
  157. package/lib/typescript/src/stt/streaming.d.ts.map +1 -1
  158. package/lib/typescript/src/stt/streamingTypes.d.ts +5 -0
  159. package/lib/typescript/src/stt/streamingTypes.d.ts.map +1 -1
  160. package/lib/typescript/src/stt/types.d.ts +3 -1
  161. package/lib/typescript/src/stt/types.d.ts.map +1 -1
  162. package/lib/typescript/src/tts/index.d.ts +3 -1
  163. package/lib/typescript/src/tts/index.d.ts.map +1 -1
  164. package/lib/typescript/src/tts/streaming.d.ts.map +1 -1
  165. package/lib/typescript/src/tts/types.d.ts +6 -5
  166. package/lib/typescript/src/tts/types.d.ts.map +1 -1
  167. package/lib/typescript/src/utils.d.ts +5 -0
  168. package/lib/typescript/src/utils.d.ts.map +1 -1
  169. package/package.json +6 -1
  170. package/scripts/{check-model-csvs.sh → ci/check-model-csvs.sh} +9 -2
  171. package/scripts/ci/collect_all_sherpa_model_streams.sh +101 -0
  172. package/scripts/ci/collect_one_sherpa_release_stream.sh +189 -0
  173. package/scripts/ci/sherpa_asr_model_release_streams.json +21 -0
  174. package/scripts/ci/sherpa_tts_model_release_streams.json +13 -0
  175. package/scripts/ci/update_model_license_csv.sh +765 -0
  176. package/scripts/setup-ios-framework.sh +14 -11
  177. package/scripts/update_commercial_use.js +73 -0
  178. package/src/NativeSherpaOnnx.ts +36 -5
  179. package/src/audio/index.ts +20 -0
  180. package/src/download/ModelDownloadManager.ts +55 -1343
  181. package/src/download/activeModelOperations.ts +38 -0
  182. package/src/download/background-downloader.d.ts +43 -0
  183. package/src/download/bulkPurge.ts +102 -0
  184. package/src/download/checksumPrompt.ts +25 -0
  185. package/src/download/constants.ts +5 -0
  186. package/src/download/downloadEvents.ts +55 -0
  187. package/src/download/downloadTask.ts +497 -0
  188. package/src/download/ensureModel.ts +124 -0
  189. package/src/download/index.ts +19 -4
  190. package/src/download/localModels.ts +234 -0
  191. package/src/download/modelExtraction.ts +244 -0
  192. package/src/download/paths.ts +134 -0
  193. package/src/download/postDownloadProcessing.ts +292 -0
  194. package/src/download/protectedModelKeys.ts +30 -0
  195. package/src/download/registry.ts +404 -0
  196. package/src/download/retry.ts +76 -0
  197. package/src/download/types.ts +120 -0
  198. package/src/download/validation.ts +114 -8
  199. package/src/{download → extraction}/extractTarBz2.ts +3 -1
  200. package/src/{download → extraction}/extractTarZst.ts +3 -1
  201. package/src/extraction/index.ts +3 -7
  202. package/src/index.tsx +1 -0
  203. package/src/licenses.ts +100 -0
  204. package/src/stt/index.ts +20 -2
  205. package/src/stt/streaming.ts +3 -0
  206. package/src/stt/streamingTypes.ts +5 -0
  207. package/src/stt/types.ts +3 -1
  208. package/src/tts/index.ts +30 -2
  209. package/src/tts/streaming.ts +10 -0
  210. package/src/tts/types.ts +6 -5
  211. package/src/utils.ts +22 -1
  212. package/third_party/sherpa-onnx-prebuilt/ANDROID_RELEASE_TAG +1 -1
  213. package/third_party/sherpa-onnx-prebuilt/IOS_RELEASE_TAG +1 -1
  214. package/android/src/main/cpp/jni/tts/sherpa-onnx-tts-zipvoice-jni.cpp +0 -301
  215. package/android/src/main/java/com/sherpaonnx/ZipvoiceTtsWrapper.kt +0 -187
  216. package/lib/module/download/extractTarBz2.js.map +0 -1
  217. package/lib/module/download/extractTarZst.js.map +0 -1
  218. package/lib/typescript/src/download/extractTarBz2.d.ts.map +0 -1
  219. package/lib/typescript/src/download/extractTarZst.d.ts.map +0 -1
  220. package/scripts/check-qnn-support.sh +0 -78
  221. /package/lib/typescript/src/{download → extraction}/extractTarBz2.d.ts +0 -0
  222. /package/lib/typescript/src/{download → extraction}/extractTarZst.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["Alert","Platform","DocumentDirectoryPath","exists","readFile","mkdir","writeFile","readDir","stat","unlink","downloadFile","stopDownload","extractTarBz2","parseChecksumFile","validateChecksum","validateExtractedFiles","checkDiskSpace","RELEASE_API_BASE","CACHE_TTL_MINUTES","MODEL_ARCHIVE_EXT","MODEL_ONNX_EXT","ModelCategory","promptChecksumFallback","issue","Promise","resolve","reasonText","reason","body","message","alert","text","style","onPress","memoryCacheByCategory","checksumCacheByCategory","downloadProgressListeners","Set","modelsListUpdatedListeners","subscribeDownloadProgress","listener","add","delete","emitDownloadProgress","category","modelId","progress","error","console","warn","subscribeModelsListUpdated","emitModelsListUpdated","models","CATEGORY_CONFIG","Tts","tag","cacheFile","baseDir","Stt","Vad","Diarization","Enhancement","Separation","Qnn","getCacheDir","getCachePath","getModelsBaseDir","getModelDir","getArchiveFilename","archiveExt","getArchivePath","filename","getTarArchivePath","getOnnxPath","getReadyMarkerPath","getManifestPath","getReleaseUrl","retryWithBackoff","fn","options","maxRetries","initialDelayMs","maxDelayMs","backoffFactor","lastError","attempt","signal","aborted","abortError","Error","name","String","delayMs","Math","min","pow","setTimeout","fetchChecksumsFromRelease","Map","checksums","response","fetch","ok","status","content","toTitleCase","value","split","filter","Boolean","map","token","toUpperCase","slice","join","deriveDisplayName","id","cleaned","replace","deriveType","lower","toLowerCase","includes","deriveQuantization","deriveSizeTier","deriveLanguages","tokens","languages","test","Array","from","getAssetExtension","endsWith","stripAssetExtension","ext","suffix","length","isAssetSupportedForCategory","parseDigestSha256","undefined","match","toTtsModelMeta","asset","type","displayName","quantization","sizeTier","downloadUrl","browser_download_url","bytes","size","sha256","digest","toGenericModelMeta","toModelMeta","loadCacheFromDisk","memoryCache","cachePath","existsResult","raw","parsed","JSON","parse","saveCache","payload","cacheDir","stringify","isCacheFresh","ttlMinutes","updated","Date","lastUpdated","getTime","ageMs","now","listModelsByCategory","cache","refreshModelsByCategory","ttl","cacheTtlMinutes","cached","forceRefresh","json","assets","isArray","model","archiveFilename","get","toISOString","getModelsCacheStatusByCategory","source","getModelByIdByCategory","find","listDownloadedModelsByCategory","entries","entry","isDirectory","manifestPath","manifestExists","manifest","push","isModelDownloadedByCategory","readyPath","getLocalModelPathByCategory","ready","updateModelLastUsed","downloadModelByCategory","opts","isAborted","downloadPath","isArchive","modelDir","sleep","ms","cleanupPartial","cleanupPartialWithRetry","diskSpaceCheck","success","overwrite","readyMarkerExists","archiveExists","partialDownload","statResult","currentSize","log","downloadStartTime","download","fromUrl","toFile","progressDivider","resumable","data","total","contentLength","percent","bytesWritten","elapsedSeconds","speed","eta","remainingBytes","bytesDownloaded","totalBytes","phase","onProgress","downloadFinished","onAbort","jobId","addEventListener","result","promise","removeEventListener","statusCode","isNonResumableError","extractResult","extractedTotalBytes","extractStartTime","evt","expectedSha","nativeSha","archivePath","expected","checksumResult","keepFile","onChecksumIssue","filesValidation","sizeOnDisk","downloadedAt","lastUsed","list","localPath","err","listDownloadedModelsWithMetadata","modelsWithMetadata","cleanupLeastRecentlyUsed","keepCount","sorted","sort","a","b","aTime","bTime","deletedIds","bytesFreed","targetBytes","maxToDelete","maxModelsToDelete","i","item","deleteModelByCategory","tarPath","onnxPath","clearModelCacheByCategory","getDownloadStorageBase","OS"],"sourceRoot":"../../../src","sources":["download/ModelDownloadManager.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["ModelCategory","subscribeDownloadProgress","subscribeModelsListUpdated","listModelsByCategory","refreshModelsByCategory","getModelsCacheStatusByCategory","getModelByIdByCategory","listDownloadedModelsByCategory","isModelDownloadedByCategory","getLocalModelPathByCategory","updateModelLastUsed","listDownloadedModelsWithMetadata","cleanupLeastRecentlyUsed","deleteModelByCategory","clearModelCacheByCategory","getDownloadStorageBase","downloadModelByCategory","getIncompleteDownloads","resumeDownload","deleteIncompleteDownload","extractModelByCategory","getIncompleteExtractions","resumeExtraction","deleteIncompleteExtraction","ensureModelByCategory","getProtectedModelKeysForBulkDelete","purgeDownloadedModelArtifacts"],"sourceRoot":"../../../src","sources":["download/ModelDownloadManager.ts"],"mappings":";;AAAA;AACA,SACEA,aAAa,QAaR,YAAS;AAChB,SACEC,yBAAyB,EACzBC,0BAA0B,QACrB,qBAAkB;AACzB,SACEC,oBAAoB,EACpBC,uBAAuB,EACvBC,8BAA8B,EAC9BC,sBAAsB,QACjB,eAAY;AACnB,SACEC,8BAA8B,EAC9BC,2BAA2B,EAC3BC,2BAA2B,EAC3BC,mBAAmB,EACnBC,gCAAgC,EAChCC,wBAAwB,EACxBC,qBAAqB,EACrBC,yBAAyB,EACzBC,sBAAsB,QACjB,kBAAe;AACtB,SACEC,uBAAuB,EACvBC,sBAAsB,EACtBC,cAAc,EACdC,wBAAwB,QACnB,mBAAgB;AACvB,SACEC,sBAAsB,EACtBC,wBAAwB,EACxBC,gBAAgB,EAChBC,0BAA0B,QACrB,sBAAmB;AAC1B,SAASC,qBAAqB,QAAQ,kBAAe;AAErD,SAASC,kCAAkC,QAAQ,yBAAsB;AACzE,SACEC,6BAA6B,QAExB,gBAAa","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ /** Ref-count map keyed by `category:modelId`. A key is "active" (protected
4
+ * from bulk delete) as long as its count is > 0, which allows multiple
5
+ * concurrent post-download operations on the same model to coexist safely. */
6
+ const activePostProcessCounts = new Map();
7
+ export function makeModelOperationKey(category, modelId) {
8
+ return `${category}:${modelId}`;
9
+ }
10
+ export function registerActivePostProcess(category, modelId) {
11
+ const key = makeModelOperationKey(category, modelId);
12
+ activePostProcessCounts.set(key, (activePostProcessCounts.get(key) ?? 0) + 1);
13
+ }
14
+ export function unregisterActivePostProcess(category, modelId) {
15
+ const key = makeModelOperationKey(category, modelId);
16
+ const count = activePostProcessCounts.get(key) ?? 0;
17
+ if (count <= 1) {
18
+ activePostProcessCounts.delete(key);
19
+ } else {
20
+ activePostProcessCounts.set(key, count - 1);
21
+ }
22
+ }
23
+ export function getActivePostProcessKeys() {
24
+ return new Set(activePostProcessCounts.keys());
25
+ }
26
+ //# sourceMappingURL=activeModelOperations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["activePostProcessCounts","Map","makeModelOperationKey","category","modelId","registerActivePostProcess","key","set","get","unregisterActivePostProcess","count","delete","getActivePostProcessKeys","Set","keys"],"sourceRoot":"../../../src","sources":["download/activeModelOperations.ts"],"mappings":";;AAEA;AACA;AACA;AACA,MAAMA,uBAAuB,GAAG,IAAIC,GAAG,CAAiB,CAAC;AAEzD,OAAO,SAASC,qBAAqBA,CACnCC,QAAuB,EACvBC,OAAe,EACP;EACR,OAAO,GAAGD,QAAQ,IAAIC,OAAO,EAAE;AACjC;AAEA,OAAO,SAASC,yBAAyBA,CACvCF,QAAuB,EACvBC,OAAe,EACT;EACN,MAAME,GAAG,GAAGJ,qBAAqB,CAACC,QAAQ,EAAEC,OAAO,CAAC;EACpDJ,uBAAuB,CAACO,GAAG,CAACD,GAAG,EAAE,CAACN,uBAAuB,CAACQ,GAAG,CAACF,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/E;AAEA,OAAO,SAASG,2BAA2BA,CACzCN,QAAuB,EACvBC,OAAe,EACT;EACN,MAAME,GAAG,GAAGJ,qBAAqB,CAACC,QAAQ,EAAEC,OAAO,CAAC;EACpD,MAAMM,KAAK,GAAGV,uBAAuB,CAACQ,GAAG,CAACF,GAAG,CAAC,IAAI,CAAC;EACnD,IAAII,KAAK,IAAI,CAAC,EAAE;IACdV,uBAAuB,CAACW,MAAM,CAACL,GAAG,CAAC;EACrC,CAAC,MAAM;IACLN,uBAAuB,CAACO,GAAG,CAACD,GAAG,EAAEI,KAAK,GAAG,CAAC,CAAC;EAC7C;AACF;AAEA,OAAO,SAASE,wBAAwBA,CAAA,EAAwB;EAC9D,OAAO,IAAIC,GAAG,CAACb,uBAAuB,CAACc,IAAI,CAAC,CAAC,CAAC;AAChD","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=background-downloader.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["download/background-downloader.d.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+
3
+ import { exists, unlink } from '@dr.pogodin/react-native-fs';
4
+ import { CATEGORY_CONFIG, getArchivePath } from "./paths.js";
5
+ import { makeModelOperationKey } from "./activeModelOperations.js";
6
+ import { getProtectedModelKeysForBulkDelete } from "./protectedModelKeys.js";
7
+ import { deleteModelByCategory, listDownloadedModelsByCategory } from "./localModels.js";
8
+ import { deleteIncompleteDownload, getIncompleteDownloads } from "./downloadTask.js";
9
+ import { deleteIncompleteExtraction, getIncompleteExtractions } from "./modelExtraction.js";
10
+ function allModelCategories() {
11
+ return Object.keys(CATEGORY_CONFIG);
12
+ }
13
+ /**
14
+ * Deletes completed downloads, incomplete downloads, and incomplete extractions for every
15
+ * {@link ModelCategory}, except keys in `protectKeys` (or current {@link getProtectedModelKeysForBulkDelete}).
16
+ */
17
+ export async function purgeDownloadedModelArtifacts(opts) {
18
+ const protect = opts?.protectKeys ?? (await getProtectedModelKeysForBulkDelete());
19
+ const result = {
20
+ deletedComplete: 0,
21
+ deletedIncompleteDownloads: 0,
22
+ deletedIncompleteExtractions: 0,
23
+ skippedProtected: 0
24
+ };
25
+ const categories = allModelCategories();
26
+ for (const category of categories) {
27
+ const downloaded = await listDownloadedModelsByCategory(category);
28
+ for (const m of downloaded) {
29
+ const key = makeModelOperationKey(category, m.id);
30
+ if (protect.has(key)) {
31
+ result.skippedProtected += 1;
32
+ continue;
33
+ }
34
+ await deleteModelByCategory(category, m.id);
35
+ result.deletedComplete += 1;
36
+ }
37
+ }
38
+ for (const category of categories) {
39
+ const incomplete = await getIncompleteDownloads(category);
40
+ for (const s of incomplete) {
41
+ const key = makeModelOperationKey(category, s.modelId);
42
+ if (protect.has(key)) {
43
+ result.skippedProtected += 1;
44
+ continue;
45
+ }
46
+ await deleteIncompleteDownload(category, s.modelId);
47
+ result.deletedIncompleteDownloads += 1;
48
+ }
49
+ }
50
+ for (const category of categories) {
51
+ const extractions = await getIncompleteExtractions(category);
52
+ for (const e of extractions) {
53
+ const key = makeModelOperationKey(category, e.modelId);
54
+ if (protect.has(key)) {
55
+ result.skippedProtected += 1;
56
+ continue;
57
+ }
58
+ await deleteIncompleteExtraction(category, e.modelId);
59
+ try {
60
+ const archivePath = getArchivePath(category, e.modelId, e.model.archiveExt);
61
+ if (await exists(archivePath)) {
62
+ await unlink(archivePath);
63
+ }
64
+ } catch {
65
+ // non-fatal
66
+ }
67
+ result.deletedIncompleteExtractions += 1;
68
+ }
69
+ }
70
+ return result;
71
+ }
72
+ //# sourceMappingURL=bulkPurge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["exists","unlink","CATEGORY_CONFIG","getArchivePath","makeModelOperationKey","getProtectedModelKeysForBulkDelete","deleteModelByCategory","listDownloadedModelsByCategory","deleteIncompleteDownload","getIncompleteDownloads","deleteIncompleteExtraction","getIncompleteExtractions","allModelCategories","Object","keys","purgeDownloadedModelArtifacts","opts","protect","protectKeys","result","deletedComplete","deletedIncompleteDownloads","deletedIncompleteExtractions","skippedProtected","categories","category","downloaded","m","key","id","has","incomplete","s","modelId","extractions","e","archivePath","model","archiveExt"],"sourceRoot":"../../../src","sources":["download/bulkPurge.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ import { Alert } from 'react-native';
4
+ export function promptChecksumFallback(issue) {
5
+ return new Promise(resolve => {
6
+ const reasonText = issue.reason === 'CHECKSUM_FAILED' ? 'Failed to compute checksum.' : 'Computed checksum does not match the expected value.';
7
+ const body = `${reasonText}\n\n${issue.message}\n\nDo you want to keep the file and continue?`;
8
+ Alert.alert('Checksum Problem', body, [{
9
+ text: 'Delete and cancel',
10
+ style: 'destructive',
11
+ onPress: () => resolve(false)
12
+ }, {
13
+ text: 'Keep file',
14
+ style: 'default',
15
+ onPress: () => resolve(true)
16
+ }]);
17
+ });
18
+ }
19
+ //# sourceMappingURL=checksumPrompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Alert","promptChecksumFallback","issue","Promise","resolve","reasonText","reason","body","message","alert","text","style","onPress"],"sourceRoot":"../../../src","sources":["download/checksumPrompt.ts"],"mappings":";;AAAA,SAASA,KAAK,QAAQ,cAAc;AAGpC,OAAO,SAASC,sBAAsBA,CAACC,KAAoB,EAAoB;EAC7E,OAAO,IAAIC,OAAO,CAAEC,OAAO,IAAK;IAC9B,MAAMC,UAAU,GACdH,KAAK,CAACI,MAAM,KAAK,iBAAiB,GAC9B,6BAA6B,GAC7B,sDAAsD;IAC5D,MAAMC,IAAI,GAAG,GAAGF,UAAU,OAAOH,KAAK,CAACM,OAAO,gDAAgD;IAE9FR,KAAK,CAACS,KAAK,CAAC,kBAAkB,EAAEF,IAAI,EAAE,CACpC;MACEG,IAAI,EAAE,mBAAmB;MACzBC,KAAK,EAAE,aAAa;MACpBC,OAAO,EAAEA,CAAA,KAAMR,OAAO,CAAC,KAAK;IAC9B,CAAC,EACD;MACEM,IAAI,EAAE,WAAW;MACjBC,KAAK,EAAE,SAAS;MAChBC,OAAO,EAAEA,CAAA,KAAMR,OAAO,CAAC,IAAI;IAC7B,CAAC,CACF,CAAC;EACJ,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ export const RELEASE_API_BASE = 'https://api.github.com/repos/k2-fsa/sherpa-onnx/releases/tags';
4
+ export const CACHE_TTL_MINUTES = 24 * 60;
5
+ export const MODEL_ARCHIVE_EXT = '.tar.bz2';
6
+ export const MODEL_ONNX_EXT = '.onnx';
7
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["RELEASE_API_BASE","CACHE_TTL_MINUTES","MODEL_ARCHIVE_EXT","MODEL_ONNX_EXT"],"sourceRoot":"../../../src","sources":["download/constants.ts"],"mappings":";;AAAA,OAAO,MAAMA,gBAAgB,GAC3B,+DAA+D;AACjE,OAAO,MAAMC,iBAAiB,GAAG,EAAE,GAAG,EAAE;AACxC,OAAO,MAAMC,iBAAiB,GAAG,UAAU;AAC3C,OAAO,MAAMC,cAAc,GAAG,OAAO","ignoreList":[]}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ const downloadProgressListeners = new Set();
4
+ const modelsListUpdatedListeners = new Set();
5
+ export const subscribeDownloadProgress = listener => {
6
+ downloadProgressListeners.add(listener);
7
+ return () => {
8
+ downloadProgressListeners.delete(listener);
9
+ };
10
+ };
11
+ export const subscribeModelsListUpdated = listener => {
12
+ modelsListUpdatedListeners.add(listener);
13
+ return () => {
14
+ modelsListUpdatedListeners.delete(listener);
15
+ };
16
+ };
17
+ export function emitDownloadProgress(category, modelId, progress) {
18
+ for (const listener of downloadProgressListeners) {
19
+ try {
20
+ listener(category, modelId, progress);
21
+ } catch (error) {
22
+ console.warn('Download progress listener error:', error);
23
+ }
24
+ }
25
+ }
26
+ export function emitModelsListUpdated(category, models) {
27
+ for (const listener of modelsListUpdatedListeners) {
28
+ try {
29
+ listener(category, models);
30
+ } catch (error) {
31
+ console.warn('Models list listener error:', error);
32
+ }
33
+ }
34
+ }
35
+ //# sourceMappingURL=downloadEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["downloadProgressListeners","Set","modelsListUpdatedListeners","subscribeDownloadProgress","listener","add","delete","subscribeModelsListUpdated","emitDownloadProgress","category","modelId","progress","error","console","warn","emitModelsListUpdated","models"],"sourceRoot":"../../../src","sources":["download/downloadEvents.ts"],"mappings":";;AAQA,MAAMA,yBAAyB,GAAG,IAAIC,GAAG,CAA2B,CAAC;AACrE,MAAMC,0BAA0B,GAAG,IAAID,GAAG,CAA4B,CAAC;AAEvE,OAAO,MAAME,yBAAyB,GACpCC,QAAkC,IACjB;EACjBJ,yBAAyB,CAACK,GAAG,CAACD,QAAQ,CAAC;EACvC,OAAO,MAAM;IACXJ,yBAAyB,CAACM,MAAM,CAACF,QAAQ,CAAC;EAC5C,CAAC;AACH,CAAC;AAED,OAAO,MAAMG,0BAA0B,GACrCH,QAAmC,IAClB;EACjBF,0BAA0B,CAACG,GAAG,CAACD,QAAQ,CAAC;EACxC,OAAO,MAAM;IACXF,0BAA0B,CAACI,MAAM,CAACF,QAAQ,CAAC;EAC7C,CAAC;AACH,CAAC;AAED,OAAO,SAASI,oBAAoBA,CAClCC,QAAuB,EACvBC,OAAe,EACfC,QAA0B,EACpB;EACN,KAAK,MAAMP,QAAQ,IAAIJ,yBAAyB,EAAE;IAChD,IAAI;MACFI,QAAQ,CAACK,QAAQ,EAAEC,OAAO,EAAEC,QAAQ,CAAC;IACvC,CAAC,CAAC,OAAOC,KAAK,EAAE;MACdC,OAAO,CAACC,IAAI,CAAC,mCAAmC,EAAEF,KAAK,CAAC;IAC1D;EACF;AACF;AAEA,OAAO,SAASG,qBAAqBA,CACnCN,QAAuB,EACvBO,MAAuB,EACjB;EACN,KAAK,MAAMZ,QAAQ,IAAIF,0BAA0B,EAAE;IACjD,IAAI;MACFE,QAAQ,CAACK,QAAQ,EAAEO,MAAM,CAAC;IAC5B,CAAC,CAAC,OAAOJ,KAAK,EAAE;MACdC,OAAO,CAACC,IAAI,CAAC,6BAA6B,EAAEF,KAAK,CAAC;IACpD;EACF;AACF","ignoreList":[]}