@hot-updater/react-native 1.0.0-rc.2 → 1.0.0-rc.22

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 (291) hide show
  1. package/android/proguard-rules.pro +17 -2
  2. package/android/src/main/java/com/hotupdater/BuiltInAssetResolver.kt +286 -0
  3. package/android/src/main/java/com/hotupdater/BundleFileStorageService.kt +954 -837
  4. package/android/src/main/java/com/hotupdater/BundleMetadata.kt +15 -11
  5. package/android/src/main/java/com/hotupdater/FileManagerService.kt +45 -0
  6. package/android/src/main/java/com/hotupdater/HotUpdaterException.kt +287 -22
  7. package/android/src/main/java/com/hotupdater/HotUpdaterImpl.kt +43 -31
  8. package/android/src/main/java/com/hotupdater/HotUpdaterRecoveryManager.kt +37 -54
  9. package/android/src/main/java/com/hotupdater/HotUpdaterRecoveryState.kt +64 -0
  10. package/android/src/main/java/com/hotupdater/InstallIdentityService.kt +37 -0
  11. package/android/src/main/java/com/hotupdater/KeyValueStorageService.kt +86 -0
  12. package/android/src/main/java/com/hotupdater/NetworkState.kt +31 -0
  13. package/android/src/main/java/com/hotupdater/NoBackupStorage.kt +17 -0
  14. package/android/src/main/java/com/hotupdater/OkHttpDownloadService.kt +127 -50
  15. package/android/src/main/java/com/hotupdater/PreviousProcessExit.kt +89 -0
  16. package/android/src/main/java/com/hotupdater/ReactNativeValueConverters.kt +34 -0
  17. package/android/src/main/java/com/hotupdater/TarArchiveInputStream.kt +214 -375
  18. package/android/src/main/java/com/hotupdater/TarBrArchiveExtractor.kt +119 -0
  19. package/android/src/newarch/HotUpdater.kt +7 -9
  20. package/android/src/newarch/HotUpdaterModule.kt +109 -84
  21. package/android/src/oldarch/HotUpdater.kt +7 -9
  22. package/android/src/oldarch/HotUpdaterModule.kt +98 -74
  23. package/android/src/oldarch/HotUpdaterSpec.kt +4 -6
  24. package/ios/HotUpdater/Internal/BrotliFileDecompressor.swift +167 -0
  25. package/ios/HotUpdater/Internal/BuiltInAssetResolver.swift +196 -0
  26. package/ios/HotUpdater/Internal/BundleFileStorageService.swift +950 -1112
  27. package/ios/HotUpdater/Internal/BundleMetadata.swift +8 -53
  28. package/ios/HotUpdater/Internal/FileManagerService.swift +48 -0
  29. package/ios/HotUpdater/Internal/FileUtilities.swift +64 -0
  30. package/ios/HotUpdater/Internal/HotUpdater-Bridging-Header.h +0 -1
  31. package/ios/HotUpdater/Internal/HotUpdater.mm +13 -45
  32. package/ios/HotUpdater/Internal/HotUpdaterImpl.swift +190 -73
  33. package/ios/HotUpdater/Internal/KeyValueStorageService.swift +71 -0
  34. package/ios/HotUpdater/Internal/NotificationExtension.swift +0 -2
  35. package/ios/HotUpdater/Internal/TarArchiveExtractor.swift +182 -311
  36. package/ios/HotUpdater/Internal/URLSessionDownloadService.swift +119 -71
  37. package/ios/HotUpdater/Internal/UpdateFailure.swift +390 -0
  38. package/ios/HotUpdater/Recovery/HotUpdaterRecovery.h +16 -0
  39. package/ios/HotUpdater/Recovery/HotUpdaterRecovery.mm +83 -0
  40. package/ios/HotUpdater/Recovery/HotUpdaterRecoveryHooks.mm +49 -0
  41. package/lib/commonjs/appReady.js +111 -0
  42. package/lib/commonjs/appReady.js.map +1 -0
  43. package/lib/commonjs/checkForUpdate.js +125 -70
  44. package/lib/commonjs/checkForUpdate.js.map +1 -1
  45. package/lib/commonjs/clientPlugin.js +13 -0
  46. package/lib/commonjs/clientPlugin.js.map +1 -0
  47. package/lib/commonjs/error.js +4 -13
  48. package/lib/commonjs/error.js.map +1 -1
  49. package/lib/commonjs/fetchJSON.js +5 -2
  50. package/lib/commonjs/fetchJSON.js.map +1 -1
  51. package/lib/commonjs/httpClient.js +55 -92
  52. package/lib/commonjs/httpClient.js.map +1 -1
  53. package/lib/commonjs/index.js +68 -20
  54. package/lib/commonjs/index.js.map +1 -1
  55. package/lib/commonjs/native.js +82 -62
  56. package/lib/commonjs/native.js.map +1 -1
  57. package/lib/commonjs/pluginHost.js +44 -0
  58. package/lib/commonjs/pluginHost.js.map +1 -0
  59. package/lib/commonjs/releaseCatalogCache.js +20 -61
  60. package/lib/commonjs/releaseCatalogCache.js.map +1 -1
  61. package/lib/commonjs/sdkVersion.js +1 -1
  62. package/lib/commonjs/sdkVersion.js.map +1 -1
  63. package/lib/commonjs/specs/NativeHotUpdater.js.map +1 -1
  64. package/lib/commonjs/store.js +3 -10
  65. package/lib/commonjs/store.js.map +1 -1
  66. package/lib/commonjs/updateError.js +132 -0
  67. package/lib/commonjs/updateError.js.map +1 -0
  68. package/lib/commonjs/wrap.js +44 -27
  69. package/lib/commonjs/wrap.js.map +1 -1
  70. package/lib/module/appReady.js +103 -0
  71. package/lib/module/appReady.js.map +1 -0
  72. package/lib/module/checkForUpdate.js +118 -65
  73. package/lib/module/checkForUpdate.js.map +1 -1
  74. package/lib/module/clientPlugin.js +4 -0
  75. package/lib/module/clientPlugin.js.map +1 -0
  76. package/lib/module/error.js +4 -13
  77. package/lib/module/error.js.map +1 -1
  78. package/lib/module/fetchJSON.js +3 -1
  79. package/lib/module/fetchJSON.js.map +1 -1
  80. package/lib/module/httpClient.js +53 -90
  81. package/lib/module/httpClient.js.map +1 -1
  82. package/lib/module/index.js +55 -22
  83. package/lib/module/index.js.map +1 -1
  84. package/lib/module/native.js +74 -54
  85. package/lib/module/native.js.map +1 -1
  86. package/lib/module/pluginHost.js +35 -0
  87. package/lib/module/pluginHost.js.map +1 -0
  88. package/lib/module/releaseCatalogCache.js +16 -56
  89. package/lib/module/releaseCatalogCache.js.map +1 -1
  90. package/lib/module/sdkVersion.js +1 -1
  91. package/lib/module/sdkVersion.js.map +1 -1
  92. package/lib/module/specs/NativeHotUpdater.js.map +1 -1
  93. package/lib/module/store.js +3 -10
  94. package/lib/module/store.js.map +1 -1
  95. package/lib/module/updateError.js +126 -0
  96. package/lib/module/updateError.js.map +1 -0
  97. package/lib/module/wrap.js +45 -28
  98. package/lib/module/wrap.js.map +1 -1
  99. package/lib/typescript/commonjs/appReady.d.ts +23 -0
  100. package/lib/typescript/commonjs/appReady.d.ts.map +1 -0
  101. package/lib/typescript/commonjs/checkForUpdate.d.ts +16 -4
  102. package/lib/typescript/commonjs/checkForUpdate.d.ts.map +1 -1
  103. package/lib/typescript/commonjs/clientPlugin.d.ts +2 -0
  104. package/lib/typescript/commonjs/clientPlugin.d.ts.map +1 -0
  105. package/lib/typescript/commonjs/error.d.ts +4 -13
  106. package/lib/typescript/commonjs/error.d.ts.map +1 -1
  107. package/lib/typescript/commonjs/fetchJSON.d.ts +3 -0
  108. package/lib/typescript/commonjs/fetchJSON.d.ts.map +1 -1
  109. package/lib/typescript/commonjs/httpClient.d.ts +3 -32
  110. package/lib/typescript/commonjs/httpClient.d.ts.map +1 -1
  111. package/lib/typescript/commonjs/index.d.ts +7 -12
  112. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  113. package/lib/typescript/commonjs/native.d.ts +33 -23
  114. package/lib/typescript/commonjs/native.d.ts.map +1 -1
  115. package/lib/typescript/commonjs/pluginHost.d.ts +4 -0
  116. package/lib/typescript/commonjs/pluginHost.d.ts.map +1 -0
  117. package/lib/typescript/commonjs/releaseCatalogCache.d.ts +6 -14
  118. package/lib/typescript/commonjs/releaseCatalogCache.d.ts.map +1 -1
  119. package/lib/typescript/commonjs/sdkVersion.d.ts +1 -1
  120. package/lib/typescript/commonjs/sdkVersion.d.ts.map +1 -1
  121. package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts +42 -47
  122. package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts.map +1 -1
  123. package/lib/typescript/commonjs/store.d.ts +1 -3
  124. package/lib/typescript/commonjs/store.d.ts.map +1 -1
  125. package/lib/typescript/commonjs/types.d.ts +1 -1
  126. package/lib/typescript/commonjs/types.d.ts.map +1 -1
  127. package/lib/typescript/commonjs/updateError.d.ts +26 -0
  128. package/lib/typescript/commonjs/updateError.d.ts.map +1 -0
  129. package/lib/typescript/commonjs/wrap.d.ts.map +1 -1
  130. package/lib/typescript/commonjs/wrap.types.d.ts +6 -7
  131. package/lib/typescript/commonjs/wrap.types.d.ts.map +1 -1
  132. package/lib/typescript/module/appReady.d.ts +23 -0
  133. package/lib/typescript/module/appReady.d.ts.map +1 -0
  134. package/lib/typescript/module/checkForUpdate.d.ts +16 -4
  135. package/lib/typescript/module/checkForUpdate.d.ts.map +1 -1
  136. package/lib/typescript/module/clientPlugin.d.ts +2 -0
  137. package/lib/typescript/module/clientPlugin.d.ts.map +1 -0
  138. package/lib/typescript/module/error.d.ts +4 -13
  139. package/lib/typescript/module/error.d.ts.map +1 -1
  140. package/lib/typescript/module/fetchJSON.d.ts +3 -0
  141. package/lib/typescript/module/fetchJSON.d.ts.map +1 -1
  142. package/lib/typescript/module/httpClient.d.ts +3 -32
  143. package/lib/typescript/module/httpClient.d.ts.map +1 -1
  144. package/lib/typescript/module/index.d.ts +7 -12
  145. package/lib/typescript/module/index.d.ts.map +1 -1
  146. package/lib/typescript/module/native.d.ts +33 -23
  147. package/lib/typescript/module/native.d.ts.map +1 -1
  148. package/lib/typescript/module/pluginHost.d.ts +4 -0
  149. package/lib/typescript/module/pluginHost.d.ts.map +1 -0
  150. package/lib/typescript/module/releaseCatalogCache.d.ts +6 -14
  151. package/lib/typescript/module/releaseCatalogCache.d.ts.map +1 -1
  152. package/lib/typescript/module/sdkVersion.d.ts +1 -1
  153. package/lib/typescript/module/sdkVersion.d.ts.map +1 -1
  154. package/lib/typescript/module/specs/NativeHotUpdater.d.ts +42 -47
  155. package/lib/typescript/module/specs/NativeHotUpdater.d.ts.map +1 -1
  156. package/lib/typescript/module/store.d.ts +1 -3
  157. package/lib/typescript/module/store.d.ts.map +1 -1
  158. package/lib/typescript/module/types.d.ts +1 -1
  159. package/lib/typescript/module/types.d.ts.map +1 -1
  160. package/lib/typescript/module/updateError.d.ts +26 -0
  161. package/lib/typescript/module/updateError.d.ts.map +1 -0
  162. package/lib/typescript/module/wrap.d.ts.map +1 -1
  163. package/lib/typescript/module/wrap.types.d.ts +6 -7
  164. package/lib/typescript/module/wrap.types.d.ts.map +1 -1
  165. package/package.json +7 -4
  166. package/src/appReady.ts +149 -0
  167. package/src/checkForUpdate.ts +152 -89
  168. package/src/clientPlugin.ts +17 -0
  169. package/src/error.ts +4 -14
  170. package/src/fetchJSON.ts +5 -1
  171. package/src/httpClient.ts +78 -157
  172. package/src/index.ts +87 -29
  173. package/src/native.ts +109 -104
  174. package/src/pluginHost.ts +45 -0
  175. package/src/releaseCatalogCache.ts +26 -140
  176. package/src/sdkVersion.ts +1 -1
  177. package/src/specs/NativeHotUpdater.ts +41 -48
  178. package/src/store.ts +2 -23
  179. package/src/types.ts +1 -1
  180. package/src/updateError.ts +153 -0
  181. package/src/wrap.tsx +59 -28
  182. package/src/wrap.types.ts +6 -7
  183. package/android/src/main/java/com/hotupdater/DecompressService.kt +0 -89
  184. package/android/src/main/java/com/hotupdater/DecompressionStrategy.kt +0 -26
  185. package/android/src/main/java/com/hotupdater/TarBrDecompressionStrategy.kt +0 -117
  186. package/android/src/main/java/com/hotupdater/TarGzDecompressionStrategy.kt +0 -117
  187. package/android/src/main/java/com/hotupdater/ZipDecompressionStrategy.kt +0 -192
  188. package/android/src/test/java/com/hotupdater/BsdiffPatchTest.kt +0 -46
  189. package/android/src/test/java/com/hotupdater/BundleFileStorageServiceTest.kt +0 -799
  190. package/android/src/test/java/com/hotupdater/HotUpdaterImplTest.kt +0 -273
  191. package/android/src/test/java/com/hotupdater/NativeConfigUtilsTest.kt +0 -20
  192. package/android/src/test/java/com/hotupdater/OkHttpDownloadServiceTest.kt +0 -111
  193. package/android/src/test/java/com/hotupdater/RelativePathResolverTest.kt +0 -41
  194. package/android/src/test/java/com/hotupdater/ReleaseCatalogCacheServiceTest.kt +0 -118
  195. package/android/src/test/java/com/hotupdater/TarArchiveInputStreamTest.kt +0 -68
  196. package/ios/HotUpdater/Internal/ArchiveExtractionUtilities.swift +0 -178
  197. package/ios/HotUpdater/Internal/DecompressService.swift +0 -112
  198. package/ios/HotUpdater/Internal/DecompressionStrategy.swift +0 -22
  199. package/ios/HotUpdater/Internal/StreamingTarArchiveExtractor.swift +0 -370
  200. package/ios/HotUpdater/Internal/TarBrDecompressionStrategy.swift +0 -39
  201. package/ios/HotUpdater/Internal/TarGzDecompressionStrategy.swift +0 -59
  202. package/ios/HotUpdater/Internal/ZipArchiveExtractor.swift +0 -482
  203. package/ios/HotUpdater/Internal/ZipDecompressionStrategy.swift +0 -56
  204. package/lib/commonjs/catalogCacheNative.spec.js +0 -31
  205. package/lib/commonjs/catalogCacheNative.spec.js.map +0 -1
  206. package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js +0 -604
  207. package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js.map +0 -1
  208. package/lib/commonjs/httpClient.spec.js +0 -102
  209. package/lib/commonjs/httpClient.spec.js.map +0 -1
  210. package/lib/commonjs/index.spec.js +0 -298
  211. package/lib/commonjs/index.spec.js.map +0 -1
  212. package/lib/commonjs/iosInterop.spec.js +0 -18
  213. package/lib/commonjs/iosInterop.spec.js.map +0 -1
  214. package/lib/commonjs/native.spec.js +0 -795
  215. package/lib/commonjs/native.spec.js.map +0 -1
  216. package/lib/commonjs/notifyAppReadyInsights.boundary.spec.js +0 -218
  217. package/lib/commonjs/notifyAppReadyInsights.boundary.spec.js.map +0 -1
  218. package/lib/commonjs/notifyAppReadyInsights.js +0 -133
  219. package/lib/commonjs/notifyAppReadyInsights.js.map +0 -1
  220. package/lib/commonjs/notifyAppReadyInsights.spec.js +0 -246
  221. package/lib/commonjs/notifyAppReadyInsights.spec.js.map +0 -1
  222. package/lib/commonjs/notifyAppReadyInsights.test-utils.js +0 -24
  223. package/lib/commonjs/notifyAppReadyInsights.test-utils.js.map +0 -1
  224. package/lib/commonjs/notifyAppReadyInsights.transport.spec.js +0 -117
  225. package/lib/commonjs/notifyAppReadyInsights.transport.spec.js.map +0 -1
  226. package/lib/commonjs/releaseCatalogCache.spec.js +0 -195
  227. package/lib/commonjs/releaseCatalogCache.spec.js.map +0 -1
  228. package/lib/commonjs/releaseCatalogCacheNativeContract.spec.js +0 -64
  229. package/lib/commonjs/releaseCatalogCacheNativeContract.spec.js.map +0 -1
  230. package/lib/commonjs/store.notification.spec.js +0 -76
  231. package/lib/commonjs/store.notification.spec.js.map +0 -1
  232. package/lib/commonjs/store.spec.js +0 -316
  233. package/lib/commonjs/store.spec.js.map +0 -1
  234. package/lib/commonjs/wrap.spec.js +0 -296
  235. package/lib/commonjs/wrap.spec.js.map +0 -1
  236. package/lib/module/catalogCacheNative.spec.js +0 -31
  237. package/lib/module/catalogCacheNative.spec.js.map +0 -1
  238. package/lib/module/checkForUpdate.releaseCatalog.spec.js +0 -603
  239. package/lib/module/checkForUpdate.releaseCatalog.spec.js.map +0 -1
  240. package/lib/module/httpClient.spec.js +0 -102
  241. package/lib/module/httpClient.spec.js.map +0 -1
  242. package/lib/module/index.spec.js +0 -297
  243. package/lib/module/index.spec.js.map +0 -1
  244. package/lib/module/iosInterop.spec.js +0 -18
  245. package/lib/module/iosInterop.spec.js.map +0 -1
  246. package/lib/module/native.spec.js +0 -794
  247. package/lib/module/native.spec.js.map +0 -1
  248. package/lib/module/notifyAppReadyInsights.boundary.spec.js +0 -217
  249. package/lib/module/notifyAppReadyInsights.boundary.spec.js.map +0 -1
  250. package/lib/module/notifyAppReadyInsights.js +0 -128
  251. package/lib/module/notifyAppReadyInsights.js.map +0 -1
  252. package/lib/module/notifyAppReadyInsights.spec.js +0 -245
  253. package/lib/module/notifyAppReadyInsights.spec.js.map +0 -1
  254. package/lib/module/notifyAppReadyInsights.test-utils.js +0 -18
  255. package/lib/module/notifyAppReadyInsights.test-utils.js.map +0 -1
  256. package/lib/module/notifyAppReadyInsights.transport.spec.js +0 -116
  257. package/lib/module/notifyAppReadyInsights.transport.spec.js.map +0 -1
  258. package/lib/module/releaseCatalogCache.spec.js +0 -195
  259. package/lib/module/releaseCatalogCache.spec.js.map +0 -1
  260. package/lib/module/releaseCatalogCacheNativeContract.spec.js +0 -64
  261. package/lib/module/releaseCatalogCacheNativeContract.spec.js.map +0 -1
  262. package/lib/module/store.notification.spec.js +0 -77
  263. package/lib/module/store.notification.spec.js.map +0 -1
  264. package/lib/module/store.spec.js +0 -315
  265. package/lib/module/store.spec.js.map +0 -1
  266. package/lib/module/wrap.spec.js +0 -295
  267. package/lib/module/wrap.spec.js.map +0 -1
  268. package/lib/typescript/commonjs/notifyAppReadyInsights.d.ts +0 -13
  269. package/lib/typescript/commonjs/notifyAppReadyInsights.d.ts.map +0 -1
  270. package/lib/typescript/commonjs/notifyAppReadyInsights.test-utils.d.ts +0 -8
  271. package/lib/typescript/commonjs/notifyAppReadyInsights.test-utils.d.ts.map +0 -1
  272. package/lib/typescript/module/notifyAppReadyInsights.d.ts +0 -13
  273. package/lib/typescript/module/notifyAppReadyInsights.d.ts.map +0 -1
  274. package/lib/typescript/module/notifyAppReadyInsights.test-utils.d.ts +0 -8
  275. package/lib/typescript/module/notifyAppReadyInsights.test-utils.d.ts.map +0 -1
  276. package/src/catalogCacheNative.spec.ts +0 -63
  277. package/src/checkForUpdate.releaseCatalog.spec.ts +0 -596
  278. package/src/httpClient.spec.ts +0 -132
  279. package/src/index.spec.ts +0 -331
  280. package/src/iosInterop.spec.ts +0 -30
  281. package/src/native.spec.ts +0 -855
  282. package/src/notifyAppReadyInsights.boundary.spec.ts +0 -234
  283. package/src/notifyAppReadyInsights.spec.ts +0 -243
  284. package/src/notifyAppReadyInsights.test-utils.ts +0 -31
  285. package/src/notifyAppReadyInsights.transport.spec.ts +0 -130
  286. package/src/notifyAppReadyInsights.ts +0 -194
  287. package/src/releaseCatalogCache.spec.ts +0 -282
  288. package/src/releaseCatalogCacheNativeContract.spec.ts +0 -80
  289. package/src/store.notification.spec.ts +0 -92
  290. package/src/store.spec.ts +0 -372
  291. package/src/wrap.spec.ts +0 -367
@@ -14,7 +14,7 @@ exports.isHotUpdaterError = isHotUpdaterError;
14
14
  *
15
15
  * Error Classification:
16
16
  * - Parameter Validation: Invalid or missing function parameters
17
- * - Bundle Storage: Errors during download, extraction, and storage
17
+ * - Bundle Storage: Errors during download, verification, and storage
18
18
  * - Signature Verification: Cryptographic verification failures (collapsed to a single public code)
19
19
  * - Internal: Platform-specific or unexpected errors
20
20
  *
@@ -31,8 +31,7 @@ let HotUpdaterErrorCode = exports.HotUpdaterErrorCode = /*#__PURE__*/function (H
31
31
  */
32
32
  HotUpdaterErrorCode["MISSING_BUNDLE_ID"] = "MISSING_BUNDLE_ID";
33
33
  /**
34
- * File URL is invalid or malformed.
35
- * Thrown when fileUrl parameter cannot be parsed as a valid URL.
34
+ * Manifest or asset URL is invalid or malformed.
36
35
  * @retryable false
37
36
  */
38
37
  HotUpdaterErrorCode["INVALID_FILE_URL"] = "INVALID_FILE_URL";
@@ -57,23 +56,15 @@ let HotUpdaterErrorCode = exports.HotUpdaterErrorCode = /*#__PURE__*/function (H
57
56
  * @retryable true - Download may succeed on retry
58
57
  */
59
58
  HotUpdaterErrorCode["INCOMPLETE_DOWNLOAD"] = "INCOMPLETE_DOWNLOAD";
60
- /**
61
- * Bundle archive format is invalid or corrupted.
62
- * Thrown when ZIP file has wrong magic bytes, invalid structure, or unsupported format.
63
- * Also thrown for path traversal attempts during extraction.
64
- * @retryable false - Indicates corrupted or malicious bundle
65
- */
66
- HotUpdaterErrorCode["EXTRACTION_FORMAT_ERROR"] = "EXTRACTION_FORMAT_ERROR";
67
59
  /**
68
60
  * Bundle missing required platform files.
69
- * Thrown when extracted bundle doesn't contain index.android.bundle (Android)
61
+ * Thrown when the staged bundle doesn't contain index.android.bundle (Android)
70
62
  * or main.jsbundle (iOS).
71
63
  * @retryable false - Indicates incorrectly built bundle
72
64
  */
73
65
  HotUpdaterErrorCode["INVALID_BUNDLE"] = "INVALID_BUNDLE";
74
66
  /**
75
- * Insufficient disk space for bundle download and extraction.
76
- * Thrown when available disk space is less than required (file size * 2).
67
+ * Insufficient disk space for bundle staging.
77
68
  * Error message includes required and available bytes.
78
69
  * @retryable false - User must free up disk space
79
70
  */
@@ -1 +1 @@
1
- {"version":3,"names":["HotUpdaterErrorCode","exports","isHotUpdaterError","error","code","Object","values","includes","HotUpdaterError","Error","constructor","message","name","StaleReleaseCatalogError"],"sourceRoot":"../../src","sources":["error.ts"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAhBA,IAkBYA,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,0BAAnBA,mBAAmB;EAC7B;EAEA;AACF;AACA;AACA;AACA;EAPYA,mBAAmB;EAU7B;AACF;AACA;AACA;AACA;EAdYA,mBAAmB;EAiB7B;EAEA;AACF;AACA;AACA;AACA;EAvBYA,mBAAmB;EA0B7B;AACF;AACA;AACA;AACA;AACA;EA/BYA,mBAAmB;EAkC7B;AACF;AACA;AACA;AACA;AACA;EAvCYA,mBAAmB;EA0C7B;AACF;AACA;AACA;AACA;AACA;EA/CYA,mBAAmB;EAkD7B;AACF;AACA;AACA;AACA;AACA;EAvDYA,mBAAmB;EA0D7B;AACF;AACA;AACA;AACA;AACA;EA/DYA,mBAAmB;EAkE7B;AACF;AACA;AACA;AACA;AACA;EAvEYA,mBAAmB;EA0E7B;AACF;AACA;AACA;AACA;AACA;AACA;EAhFYA,mBAAmB;EAmF7B;AACF;AACA;AACA;AACA;AACA;EAxFYA,mBAAmB;EA2F7B;EACA;EAEA;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EAvGYA,mBAAmB;EA0G7B;AACF;AACA;AACA;AACA;AACA;EA/GYA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA;AAmH/B;AACA;AACA;AACO,SAASE,iBAAiBA,CAC/BC,KAAc,EAC2C;EACzD,OACE,OAAOA,KAAK,KAAK,QAAQ,IACzBA,KAAK,KAAK,IAAI,IACd,MAAM,IAAIA,KAAK,IACf,OAAOA,KAAK,CAACC,IAAI,KAAK,QAAQ,IAC9BC,MAAM,CAACC,MAAM,CAACN,mBAAmB,CAAC,CAACO,QAAQ,CACzCJ,KAAK,CAACC,IACR,CAAC;AAEL;;AAEA;AACA;AACA;AACO,MAAMI,eAAe,SAASC,KAAK,CAAC;EACzCC,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,iBAAiB;EAC/B;AACF;AAACX,OAAA,CAAAO,eAAA,GAAAA,eAAA;AAEM,MAAMK,wBAAwB,SAASL,eAAe,CAAC;EAC5DE,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAC,gEAAgE,CAAC;IACvE,IAAI,CAACE,IAAI,GAAG,0BAA0B;EACxC;AACF;AAACX,OAAA,CAAAY,wBAAA,GAAAA,wBAAA","ignoreList":[]}
1
+ {"version":3,"names":["HotUpdaterErrorCode","exports","isHotUpdaterError","error","code","Object","values","includes","HotUpdaterError","Error","constructor","message","name","StaleReleaseCatalogError"],"sourceRoot":"../../src","sources":["error.ts"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAhBA,IAkBYA,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,0BAAnBA,mBAAmB;EAC7B;EAEA;AACF;AACA;AACA;AACA;EAPYA,mBAAmB;EAU7B;AACF;AACA;AACA;EAbYA,mBAAmB;EAgB7B;EAEA;AACF;AACA;AACA;AACA;EAtBYA,mBAAmB;EAyB7B;AACF;AACA;AACA;AACA;AACA;EA9BYA,mBAAmB;EAiC7B;AACF;AACA;AACA;AACA;AACA;EAtCYA,mBAAmB;EAyC7B;AACF;AACA;AACA;AACA;AACA;EA9CYA,mBAAmB;EAiD7B;AACF;AACA;AACA;AACA;EArDYA,mBAAmB;EAwD7B;AACF;AACA;AACA;AACA;AACA;EA7DYA,mBAAmB;EAgE7B;AACF;AACA;AACA;AACA;AACA;AACA;EAtEYA,mBAAmB;EAyE7B;AACF;AACA;AACA;AACA;AACA;EA9EYA,mBAAmB;EAiF7B;EACA;EAEA;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EA7FYA,mBAAmB;EAgG7B;AACF;AACA;AACA;AACA;AACA;EArGYA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA;AAyG/B;AACA;AACA;AACO,SAASE,iBAAiBA,CAC/BC,KAAc,EAC2C;EACzD,OACE,OAAOA,KAAK,KAAK,QAAQ,IACzBA,KAAK,KAAK,IAAI,IACd,MAAM,IAAIA,KAAK,IACf,OAAOA,KAAK,CAACC,IAAI,KAAK,QAAQ,IAC9BC,MAAM,CAACC,MAAM,CAACN,mBAAmB,CAAC,CAACO,QAAQ,CACzCJ,KAAK,CAACC,IACR,CAAC;AAEL;;AAEA;AACA;AACA;AACO,MAAMI,eAAe,SAASC,KAAK,CAAC;EACzCC,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,iBAAiB;EAC/B;AACF;AAACX,OAAA,CAAAO,eAAA,GAAAA,eAAA;AAEM,MAAMK,wBAAwB,SAASL,eAAe,CAAC;EAC5DE,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAC,gEAAgE,CAAC;IACvE,IAAI,CAACE,IAAI,GAAG,0BAA0B;EACxC;AACF;AAACX,OAAA,CAAAY,wBAAA,GAAAA,wBAAA","ignoreList":[]}
@@ -3,7 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.fetchJSON = void 0;
6
+ exports.fetchJSON = exports.FetchJSONResponseError = void 0;
7
+ var _updateError = require("./updateError.js");
8
+ class FetchJSONResponseError extends _updateError.UpdateHttpError {}
9
+ exports.FetchJSONResponseError = FetchJSONResponseError;
7
10
  const fetchJSON = async ({
8
11
  url,
9
12
  requestHeaders,
@@ -20,7 +23,7 @@ const fetchJSON = async ({
20
23
  signal: controller.signal
21
24
  });
22
25
  if (response.status !== 200) {
23
- throw new Error(response.statusText);
26
+ throw new FetchJSONResponseError(response.status, response.statusText);
24
27
  }
25
28
  return await response.json();
26
29
  } catch (error) {
@@ -1 +1 @@
1
- {"version":3,"names":["fetchJSON","url","requestHeaders","requestTimeout","controller","AbortController","timeoutId","setTimeout","abort","response","fetch","headers","Accept","signal","status","Error","statusText","json","error","name","clearTimeout","exports"],"sourceRoot":"../../src","sources":["fetchJSON.ts"],"mappings":";;;;;;AAAO,MAAMA,SAAS,GAAG,MAAAA,CAAU;EACjCC,GAAG;EACHC,cAAc;EACdC,cAAc,GAAG;AAKnB,CAAC,KAAiB;EAChB,MAAMC,UAAU,GAAG,IAAIC,eAAe,CAAC,CAAC;EACxC,MAAMC,SAAS,GAAGC,UAAU,CAAC,MAAMH,UAAU,CAACI,KAAK,CAAC,CAAC,EAAEL,cAAc,CAAC;EAEtE,IAAI;IACF,MAAMM,QAAQ,GAAG,MAAMC,KAAK,CAACT,GAAG,EAAE;MAChCU,OAAO,EAAE;QACPC,MAAM,EAAE,kBAAkB;QAC1B,GAAGV;MACL,CAAC;MACDW,MAAM,EAAET,UAAU,CAACS;IACrB,CAAC,CAAC;IACF,IAAIJ,QAAQ,CAACK,MAAM,KAAK,GAAG,EAAE;MAC3B,MAAM,IAAIC,KAAK,CAACN,QAAQ,CAACO,UAAU,CAAC;IACtC;IACA,OAAQ,MAAMP,QAAQ,CAACQ,IAAI,CAAC,CAAC;EAC/B,CAAC,CAAC,OAAOC,KAAc,EAAE;IACvB,IAAIA,KAAK,YAAYH,KAAK,IAAIG,KAAK,CAACC,IAAI,KAAK,YAAY,EAAE;MACzD,MAAM,IAAIJ,KAAK,CAAC,mBAAmB,CAAC;IACtC;IACA,MAAMG,KAAK;EACb,CAAC,SAAS;IACRE,YAAY,CAACd,SAAS,CAAC;EACzB;AACF,CAAC;AAACe,OAAA,CAAArB,SAAA,GAAAA,SAAA","ignoreList":[]}
1
+ {"version":3,"names":["_updateError","require","FetchJSONResponseError","UpdateHttpError","exports","fetchJSON","url","requestHeaders","requestTimeout","controller","AbortController","timeoutId","setTimeout","abort","response","fetch","headers","Accept","signal","status","statusText","json","error","Error","name","clearTimeout"],"sourceRoot":"../../src","sources":["fetchJSON.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEO,MAAMC,sBAAsB,SAASC,4BAAe,CAAC;AAAEC,OAAA,CAAAF,sBAAA,GAAAA,sBAAA;AAEvD,MAAMG,SAAS,GAAG,MAAAA,CAAU;EACjCC,GAAG;EACHC,cAAc;EACdC,cAAc,GAAG;AAKnB,CAAC,KAAiB;EAChB,MAAMC,UAAU,GAAG,IAAIC,eAAe,CAAC,CAAC;EACxC,MAAMC,SAAS,GAAGC,UAAU,CAAC,MAAMH,UAAU,CAACI,KAAK,CAAC,CAAC,EAAEL,cAAc,CAAC;EAEtE,IAAI;IACF,MAAMM,QAAQ,GAAG,MAAMC,KAAK,CAACT,GAAG,EAAE;MAChCU,OAAO,EAAE;QACPC,MAAM,EAAE,kBAAkB;QAC1B,GAAGV;MACL,CAAC;MACDW,MAAM,EAAET,UAAU,CAACS;IACrB,CAAC,CAAC;IACF,IAAIJ,QAAQ,CAACK,MAAM,KAAK,GAAG,EAAE;MAC3B,MAAM,IAAIjB,sBAAsB,CAACY,QAAQ,CAACK,MAAM,EAAEL,QAAQ,CAACM,UAAU,CAAC;IACxE;IACA,OAAQ,MAAMN,QAAQ,CAACO,IAAI,CAAC,CAAC;EAC/B,CAAC,CAAC,OAAOC,KAAc,EAAE;IACvB,IAAIA,KAAK,YAAYC,KAAK,IAAID,KAAK,CAACE,IAAI,KAAK,YAAY,EAAE;MACzD,MAAM,IAAID,KAAK,CAAC,mBAAmB,CAAC;IACtC;IACA,MAAMD,KAAK;EACb,CAAC,SAAS;IACRG,YAAY,CAACd,SAAS,CAAC;EACzB;AACF,CAAC;AAACP,OAAA,CAAAC,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -4,106 +4,60 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createHttpClient = void 0;
7
- var _core = require("@hot-updater/core");
8
- var _pluginCore = require("@hot-updater/plugin-core");
7
+ var _protocol = require("@hot-updater/protocol");
9
8
  var _fetchJSON = require("./fetchJSON.js");
10
9
  var _releaseCatalogCache = require("./releaseCatalogCache.js");
11
- var _sdkVersion = require("./sdkVersion.js");
12
- const resolveBaseURL = async baseURL => {
13
- const resolvedBaseURL = typeof baseURL === "function" ? await baseURL() : baseURL;
14
- if (!resolvedBaseURL) {
15
- throw new Error("baseURL function must return a non-empty string");
16
- }
17
- return resolvedBaseURL.replace(/\/+$/, "");
18
- };
10
+ var _updateError = require("./updateError.js");
19
11
  const resolveArtifactUrl = (baseURL, value) => {
20
12
  if (/^https?:\/\//i.test(value)) {
21
- new URL(value);
13
+ try {
14
+ new URL(value);
15
+ } catch (error) {
16
+ throw new _updateError.InvalidUpdateResponseError(`Invalid artifact URL: ${value}`, {
17
+ cause: error
18
+ });
19
+ }
22
20
  return value;
23
21
  }
24
22
  if (!value.startsWith("/storage/")) {
25
- throw new Error("Artifact URLs must be absolute HTTP(S) URLs or client-relative storage paths.");
23
+ throw new _updateError.InvalidUpdateResponseError("Artifact URLs must be absolute HTTP(S) URLs or client-relative storage paths.");
26
24
  }
27
25
  return `${baseURL}/${value.slice(1)}`;
28
26
  };
29
27
  const resolveArtifactUrls = (baseURL, info) => ({
30
28
  ...info,
31
- fileUrl: info.fileUrl === null ? null : resolveArtifactUrl(baseURL, info.fileUrl),
32
- ...(info.manifestUrl === undefined ? {} : {
33
- manifestUrl: info.manifestUrl === null ? null : resolveArtifactUrl(baseURL, info.manifestUrl)
34
- }),
35
- ...(info.changedAssets === undefined ? {} : {
36
- changedAssets: info.changedAssets === null ? null : Object.fromEntries(Object.entries(info.changedAssets).map(([path, asset]) => [path, {
37
- ...asset,
38
- ...(asset.file ? {
39
- file: {
40
- ...asset.file,
41
- url: resolveArtifactUrl(baseURL, asset.file.url)
42
- }
43
- } : {}),
44
- ...(asset.patch ? {
45
- patch: {
46
- ...asset.patch,
47
- patchUrl: resolveArtifactUrl(baseURL, asset.patch.patchUrl)
48
- }
49
- } : {})
50
- }]))
51
- })
29
+ manifestUrl: resolveArtifactUrl(baseURL, info.manifestUrl),
30
+ ...(info.archiveUrl ? {
31
+ archiveUrl: resolveArtifactUrl(baseURL, info.archiveUrl)
32
+ } : {}),
33
+ assets: Object.fromEntries(Object.entries(info.assets).map(([path, asset]) => [path, {
34
+ ...asset,
35
+ file: {
36
+ ...asset.file,
37
+ url: resolveArtifactUrl(baseURL, asset.file.url)
38
+ },
39
+ ...(asset.patch ? {
40
+ patch: {
41
+ ...asset.patch,
42
+ patchUrl: resolveArtifactUrl(baseURL, asset.patch.patchUrl)
43
+ }
44
+ } : {})
45
+ }]))
52
46
  });
53
- const sendInsightsEvent = async (baseURL, params) => {
54
- const controller = new AbortController();
55
- const timeoutId = setTimeout(() => {
56
- controller.abort();
57
- }, params.requestTimeout ?? 5000);
58
- try {
59
- const response = await fetch(`${baseURL}/events`, {
60
- body: JSON.stringify({
61
- appVersion: params.appVersion,
62
- channel: params.channel,
63
- cohort: params.cohort,
64
- fingerprintHash: params.fingerprintHash,
65
- fromBundleId: params.fromBundleId,
66
- ...(params.fromReleaseId === undefined ? {} : {
67
- fromReleaseId: params.fromReleaseId
68
- }),
69
- installId: params.installId,
70
- platform: params.platform,
71
- sdkVersion: _sdkVersion.HOT_UPDATER_SDK_VERSION,
72
- toBundleId: params.toBundleId,
73
- ...(params.toReleaseId === undefined ? {} : {
74
- toReleaseId: params.toReleaseId
75
- }),
76
- type: params.type,
77
- updateStrategy: params.updateStrategy,
78
- ...(params.userId != null ? {
79
- userId: params.userId
80
- } : {}),
81
- ...(params.username != null ? {
82
- username: params.username
83
- } : {})
84
- }),
85
- headers: {
86
- "Content-Type": "application/json",
87
- ...params.requestHeaders
88
- },
89
- method: "POST",
90
- signal: controller.signal
91
- });
92
- if (response.status !== 204) {
93
- throw new Error(`Expected HTTP 204 from /events, received ${response.status}`);
94
- }
95
- } catch (error) {
96
- if (error instanceof Error && error.name === "AbortError") {
97
- throw new Error("Request timed out");
47
+ const requireArtifactProtocolV1 = info => {
48
+ if (info.artifactProtocolVersion !== _protocol.ARTIFACT_PROTOCOL_VERSION || !info.assets || !info.manifestUrl || !info.manifestFileHash || info.archiveUrl !== undefined && typeof info.archiveUrl !== "string") {
49
+ throw new _updateError.InvalidUpdateResponseError(`Server does not support artifact protocol ${_protocol.ARTIFACT_PROTOCOL_VERSION}.`);
50
+ }
51
+ for (const asset of Object.values(info.assets)) {
52
+ if (!asset.file?.url || !asset.fileHash) {
53
+ throw new _updateError.InvalidUpdateResponseError("Artifact protocol 1 requires an original file for every asset.");
98
54
  }
99
- throw error;
100
- } finally {
101
- clearTimeout(timeoutId);
102
55
  }
56
+ return info;
103
57
  };
104
58
  const createSession = baseURL => ({
105
59
  fetchReleaseCatalog: async params => {
106
- const channelKey = (0, _core.encodeChannelKey)(params.channel);
60
+ const channelKey = (0, _protocol.encodeChannelKey)(params.channel);
107
61
  let strategyValue;
108
62
  if (params.updateStrategy === "fingerprint") {
109
63
  if (!params.fingerprintHash) {
@@ -111,7 +65,7 @@ const createSession = baseURL => ({
111
65
  }
112
66
  strategyValue = params.fingerprintHash;
113
67
  } else {
114
- const appVersion = (0, _pluginCore.canonicalizeAppVersion)(params.appVersion);
68
+ const appVersion = (0, _protocol.canonicalizeAppVersion)(params.appVersion);
115
69
  if (appVersion === null) throw new Error("Invalid app version");
116
70
  strategyValue = appVersion;
117
71
  }
@@ -135,19 +89,28 @@ const createSession = baseURL => ({
135
89
  });
136
90
  },
137
91
  resolveArtifact: async params => {
138
- const info = await (0, _fetchJSON.fetchJSON)({
139
- requestHeaders: params.requestHeaders,
140
- requestTimeout: params.requestTimeout,
141
- url: `${baseURL}/artifacts/${encodeURIComponent(params.targetBundleId)}/from/${encodeURIComponent(params.currentBundleId)}`
142
- });
143
- return resolveArtifactUrls(baseURL, info);
144
- },
145
- sendInsightsEvent: params => sendInsightsEvent(baseURL, params)
92
+ let info;
93
+ try {
94
+ info = await (0, _fetchJSON.fetchJSON)({
95
+ requestHeaders: params.requestHeaders,
96
+ requestTimeout: params.requestTimeout,
97
+ url: `${baseURL}/artifacts/v1/${encodeURIComponent(params.targetBundleId)}/from/${encodeURIComponent(params.currentBundleId)}`
98
+ });
99
+ } catch (error) {
100
+ if (error instanceof _fetchJSON.FetchJSONResponseError && error.status === 404) {
101
+ throw new _updateError.InvalidUpdateResponseError(`Server does not support artifact protocol ${_protocol.ARTIFACT_PROTOCOL_VERSION}.`, {
102
+ cause: error
103
+ });
104
+ }
105
+ throw error;
106
+ }
107
+ return resolveArtifactUrls(baseURL, requireArtifactProtocolV1(info));
108
+ }
146
109
  });
147
110
 
148
111
  /** Creates the private HTTP client used by HotUpdater.init and HotUpdater.wrap. */
149
112
  const createHttpClient = baseURL => ({
150
- createSession: async () => createSession(await resolveBaseURL(baseURL))
113
+ createSession: async () => createSession(await (0, _protocol.resolveBaseURL)(baseURL))
151
114
  });
152
115
  exports.createHttpClient = createHttpClient;
153
116
  //# sourceMappingURL=httpClient.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_core","require","_pluginCore","_fetchJSON","_releaseCatalogCache","_sdkVersion","resolveBaseURL","baseURL","resolvedBaseURL","Error","replace","resolveArtifactUrl","value","test","URL","startsWith","slice","resolveArtifactUrls","info","fileUrl","manifestUrl","undefined","changedAssets","Object","fromEntries","entries","map","path","asset","file","url","patch","patchUrl","sendInsightsEvent","params","controller","AbortController","timeoutId","setTimeout","abort","requestTimeout","response","fetch","body","JSON","stringify","appVersion","channel","cohort","fingerprintHash","fromBundleId","fromReleaseId","installId","platform","sdkVersion","HOT_UPDATER_SDK_VERSION","toBundleId","toReleaseId","type","updateStrategy","userId","username","headers","requestHeaders","method","signal","status","error","name","clearTimeout","createSession","fetchReleaseCatalog","channelKey","encodeChannelKey","strategyValue","canonicalizeAppVersion","strategyPath","encodeURIComponent","fetchReleaseCatalogWithCache","expectedScope","strategy","resolveArtifact","fetchJSON","targetBundleId","currentBundleId","createHttpClient","exports"],"sourceRoot":"../../src","sources":["httpClient.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_protocol","require","_fetchJSON","_releaseCatalogCache","_updateError","resolveArtifactUrl","baseURL","value","test","URL","error","InvalidUpdateResponseError","cause","startsWith","slice","resolveArtifactUrls","info","manifestUrl","archiveUrl","assets","Object","fromEntries","entries","map","path","asset","file","url","patch","patchUrl","requireArtifactProtocolV1","artifactProtocolVersion","ARTIFACT_PROTOCOL_VERSION","manifestFileHash","undefined","values","fileHash","createSession","fetchReleaseCatalog","params","channelKey","encodeChannelKey","channel","strategyValue","updateStrategy","fingerprintHash","Error","appVersion","canonicalizeAppVersion","strategyPath","platform","encodeURIComponent","fetchReleaseCatalogWithCache","expectedScope","strategy","requestHeaders","requestTimeout","resolveArtifact","fetchJSON","targetBundleId","currentBundleId","FetchJSONResponseError","status","createHttpClient","resolveBaseURL","exports"],"sourceRoot":"../../src","sources":["httpClient.ts"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAUA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,oBAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AA+BA,MAAMI,kBAAkB,GAAGA,CAACC,OAAe,EAAEC,KAAa,KAAa;EACrE,IAAI,eAAe,CAACC,IAAI,CAACD,KAAK,CAAC,EAAE;IAC/B,IAAI;MACF,IAAIE,GAAG,CAACF,KAAK,CAAC;IAChB,CAAC,CAAC,OAAOG,KAAK,EAAE;MACd,MAAM,IAAIC,uCAA0B,CAAC,yBAAyBJ,KAAK,EAAE,EAAE;QACrEK,KAAK,EAAEF;MACT,CAAC,CAAC;IACJ;IACA,OAAOH,KAAK;EACd;EACA,IAAI,CAACA,KAAK,CAACM,UAAU,CAAC,WAAW,CAAC,EAAE;IAClC,MAAM,IAAIF,uCAA0B,CAClC,+EACF,CAAC;EACH;EACA,OAAO,GAAGL,OAAO,IAAIC,KAAK,CAACO,KAAK,CAAC,CAAC,CAAC,EAAE;AACvC,CAAC;AAED,MAAMC,mBAAmB,GAAGA,CAC1BT,OAAe,EACfU,IAAkB,MACA;EAClB,GAAGA,IAAI;EACPC,WAAW,EAAEZ,kBAAkB,CAACC,OAAO,EAAEU,IAAI,CAACC,WAAW,CAAC;EAC1D,IAAID,IAAI,CAACE,UAAU,GACf;IAAEA,UAAU,EAAEb,kBAAkB,CAACC,OAAO,EAAEU,IAAI,CAACE,UAAU;EAAE,CAAC,GAC5D,CAAC,CAAC,CAAC;EACPC,MAAM,EAAEC,MAAM,CAACC,WAAW,CACxBD,MAAM,CAACE,OAAO,CAACN,IAAI,CAACG,MAAM,CAAC,CAACI,GAAG,CAAC,CAAC,CAACC,IAAI,EAAEC,KAAK,CAAC,KAAK,CACjDD,IAAI,EACJ;IACE,GAAGC,KAAK;IACRC,IAAI,EAAE;MACJ,GAAGD,KAAK,CAACC,IAAI;MACbC,GAAG,EAAEtB,kBAAkB,CAACC,OAAO,EAAEmB,KAAK,CAACC,IAAI,CAACC,GAAG;IACjD,CAAC;IACD,IAAIF,KAAK,CAACG,KAAK,GACX;MACEA,KAAK,EAAE;QACL,GAAGH,KAAK,CAACG,KAAK;QACdC,QAAQ,EAAExB,kBAAkB,CAACC,OAAO,EAAEmB,KAAK,CAACG,KAAK,CAACC,QAAQ;MAC5D;IACF,CAAC,GACD,CAAC,CAAC;EACR,CAAC,CACF,CACH;AACF,CAAC,CAAC;AAEF,MAAMC,yBAAyB,GAAId,IAAkB,IAAmB;EACtE,IACEA,IAAI,CAACe,uBAAuB,KAAKC,mCAAyB,IAC1D,CAAChB,IAAI,CAACG,MAAM,IACZ,CAACH,IAAI,CAACC,WAAW,IACjB,CAACD,IAAI,CAACiB,gBAAgB,IACrBjB,IAAI,CAACE,UAAU,KAAKgB,SAAS,IAAI,OAAOlB,IAAI,CAACE,UAAU,KAAK,QAAS,EACtE;IACA,MAAM,IAAIP,uCAA0B,CAClC,6CAA6CqB,mCAAyB,GACxE,CAAC;EACH;EACA,KAAK,MAAMP,KAAK,IAAIL,MAAM,CAACe,MAAM,CAACnB,IAAI,CAACG,MAAM,CAAC,EAAE;IAC9C,IAAI,CAACM,KAAK,CAACC,IAAI,EAAEC,GAAG,IAAI,CAACF,KAAK,CAACW,QAAQ,EAAE;MACvC,MAAM,IAAIzB,uCAA0B,CAClC,gEACF,CAAC;IACH;EACF;EACA,OAAOK,IAAI;AACb,CAAC;AAED,MAAMqB,aAAa,GAAI/B,OAAe,KAA6B;EACjEgC,mBAAmB,EAAE,MAAOC,MAAM,IAAqC;IACrE,MAAMC,UAAU,GAAG,IAAAC,0BAAgB,EAACF,MAAM,CAACG,OAAO,CAAC;IACnD,IAAIC,aAAqB;IACzB,IAAIJ,MAAM,CAACK,cAAc,KAAK,aAAa,EAAE;MAC3C,IAAI,CAACL,MAAM,CAACM,eAAe,EAAE;QAC3B,MAAM,IAAIC,KAAK,CAAC,8BAA8B,CAAC;MACjD;MACAH,aAAa,GAAGJ,MAAM,CAACM,eAAe;IACxC,CAAC,MAAM;MACL,MAAME,UAAU,GAAG,IAAAC,gCAAsB,EAACT,MAAM,CAACQ,UAAU,CAAC;MAC5D,IAAIA,UAAU,KAAK,IAAI,EAAE,MAAM,IAAID,KAAK,CAAC,qBAAqB,CAAC;MAC/DH,aAAa,GAAGI,UAAU;IAC5B;IACA,MAAME,YAAY,GAChBV,MAAM,CAACK,cAAc,KAAK,aAAa,GAAG,aAAa,GAAG,aAAa;IACzE,MAAMjB,GAAG,GAAG,GAAGrB,OAAO,qBAAqB2C,YAAY,IAAIV,MAAM,CAACW,QAAQ,IAAIV,UAAU,IAAIW,kBAAkB,CAACR,aAAa,CAAC,EAAE;IAE/H,OAAO,IAAAS,iDAA4B,EAAC;MAClC9C,OAAO;MACP+C,aAAa,EACXd,MAAM,CAACK,cAAc,KAAK,aAAa,GACnC;QACEJ,UAAU;QACVK,eAAe,EAAEF,aAAa;QAC9BO,QAAQ,EAAEX,MAAM,CAACW,QAAQ;QACzBI,QAAQ,EAAE;MACZ,CAAC,GACD;QACEd,UAAU;QACVU,QAAQ,EAAEX,MAAM,CAACW,QAAQ;QACzBI,QAAQ,EAAE;MACZ,CAAC;MACPC,cAAc,EAAEhB,MAAM,CAACgB,cAAc;MACrCC,cAAc,EAAEjB,MAAM,CAACiB,cAAc;MACrC7B;IACF,CAAC,CAAC;EACJ,CAAC;EACD8B,eAAe,EAAE,MAAOlB,MAAM,IAA4B;IACxD,IAAIvB,IAAkB;IACtB,IAAI;MACFA,IAAI,GAAG,MAAM,IAAA0C,oBAAS,EAAe;QACnCH,cAAc,EAAEhB,MAAM,CAACgB,cAAc;QACrCC,cAAc,EAAEjB,MAAM,CAACiB,cAAc;QACrC7B,GAAG,EAAE,GAAGrB,OAAO,iBAAiB6C,kBAAkB,CAChDZ,MAAM,CAACoB,cACT,CAAC,SAASR,kBAAkB,CAACZ,MAAM,CAACqB,eAAe,CAAC;MACtD,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOlD,KAAK,EAAE;MACd,IAAIA,KAAK,YAAYmD,iCAAsB,IAAInD,KAAK,CAACoD,MAAM,KAAK,GAAG,EAAE;QACnE,MAAM,IAAInD,uCAA0B,CAClC,6CAA6CqB,mCAAyB,GAAG,EACzE;UAAEpB,KAAK,EAAEF;QAAM,CACjB,CAAC;MACH;MACA,MAAMA,KAAK;IACb;IACA,OAAOK,mBAAmB,CAACT,OAAO,EAAEwB,yBAAyB,CAACd,IAAI,CAAC,CAAC;EACtE;AACF,CAAC,CAAC;;AAEF;AACO,MAAM+C,gBAAgB,GAC3BzD,OAA0B,KACA;EAC1B+B,aAAa,EAAE,MAAAA,CAAA,KAAYA,aAAa,CAAC,MAAM,IAAA2B,wBAAc,EAAC1D,OAAO,CAAC;AACxE,CAAC,CAAC;AAAC2D,OAAA,CAAAF,gBAAA,GAAAA,gBAAA","ignoreList":[]}
@@ -5,25 +5,41 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  var _exportNames = {
7
7
  HotUpdater: true,
8
+ defineClientPlugin: true,
9
+ insights: true,
8
10
  extractSignatureFailure: true,
9
11
  isSignatureVerificationError: true
10
12
  };
11
13
  exports.HotUpdater = void 0;
14
+ Object.defineProperty(exports, "defineClientPlugin", {
15
+ enumerable: true,
16
+ get: function () {
17
+ return _clientPlugin.defineClientPlugin;
18
+ }
19
+ });
12
20
  Object.defineProperty(exports, "extractSignatureFailure", {
13
21
  enumerable: true,
14
22
  get: function () {
15
23
  return _types.extractSignatureFailure;
16
24
  }
17
25
  });
26
+ Object.defineProperty(exports, "insights", {
27
+ enumerable: true,
28
+ get: function () {
29
+ return _client.insights;
30
+ }
31
+ });
18
32
  Object.defineProperty(exports, "isSignatureVerificationError", {
19
33
  enumerable: true,
20
34
  get: function () {
21
35
  return _types.isSignatureVerificationError;
22
36
  }
23
37
  });
38
+ var _appReady = require("./appReady.js");
24
39
  var _checkForUpdate = require("./checkForUpdate.js");
25
40
  var _httpClient = require("./httpClient.js");
26
41
  var _native = require("./native.js");
42
+ var _pluginHost = require("./pluginHost.js");
27
43
  var _store = require("./store.js");
28
44
  Object.keys(_store).forEach(function (key) {
29
45
  if (key === "default" || key === "__esModule") return;
@@ -37,7 +53,11 @@ Object.keys(_store).forEach(function (key) {
37
53
  });
38
54
  });
39
55
  var _wrap = require("./wrap.js");
56
+ var _clientPlugin = require("./clientPlugin.js");
57
+ var _client = require("@hot-updater/plugin-insights/client");
40
58
  var _types = require("./types.js");
59
+ // The built-in Insights client plugin, for HotUpdater.init({ plugins }).
60
+
41
61
  /**
42
62
  * Register getBaseURL to global objects for use without imports.
43
63
  * This is needed for Expo DOM components and Babel plugin generated code.
@@ -65,7 +85,6 @@ function createHotUpdaterClient() {
65
85
 
66
86
  // Global configuration stored from wrap
67
87
  const globalConfig = {
68
- insights: true,
69
88
  client: null
70
89
  };
71
90
  const createMissingNetworkConfigError = apiName => {
@@ -84,11 +103,11 @@ function createHotUpdaterClient() {
84
103
  if (autoOptions.baseURL) {
85
104
  const {
86
105
  baseURL,
106
+ plugins: _plugins,
87
107
  ...rest
88
108
  } = autoOptions;
89
109
  return {
90
110
  ...rest,
91
- insights: rest.insights ?? true,
92
111
  client: (0, _httpClient.createHttpClient)(baseURL)
93
112
  };
94
113
  }
@@ -102,18 +121,24 @@ function createHotUpdaterClient() {
102
121
  if (rest.baseURL) {
103
122
  const {
104
123
  baseURL,
124
+ plugins: _plugins,
105
125
  ...baseURLRest
106
126
  } = rest;
107
127
  return {
108
128
  ...baseURLRest,
109
- insights: baseURLRest.insights ?? true,
110
129
  client: (0, _httpClient.createHttpClient)(baseURL)
111
130
  };
112
131
  }
113
132
  throw createMissingNetworkConfigError("init");
114
133
  };
115
134
  const configureGlobal = (normalizedOptions, options) => {
116
- globalConfig.insights = normalizedOptions.insights ?? true;
135
+ // Plugins are set up before init or wrap reads the launch they observe.
136
+ (0, _pluginHost.configurePlugins)(options.plugins, {
137
+ baseURL: options.baseURL,
138
+ requestHeaders: options.requestHeaders,
139
+ requestTimeout: options.requestTimeout,
140
+ onError: options.onError
141
+ });
117
142
  globalConfig.client = normalizedOptions.client;
118
143
  globalConfig.requestHeaders = options.requestHeaders;
119
144
  globalConfig.requestTimeout = options.requestTimeout;
@@ -223,13 +248,12 @@ function createHotUpdaterClient() {
223
248
  /** Reads the active and stable Release/Bundle state. */
224
249
  getActiveUpdateState: async () => (0, _native.getPublicActiveUpdateState)(),
225
250
  /**
226
- * Fetches the current bundle ID of the app.
251
+ * Returns the selected update ID, matching the ID shown in the console.
252
+ * A staged update can change this ID before the app reloads.
227
253
  */
228
- getBundleId: _native.getBundleId,
254
+ getBundleId: _native.getUpdateId,
229
255
  /** Returns the minimum bundle ID based on the native app build time. */
230
256
  getMinBundleId: _native.getMinBundleId,
231
- /** Returns the active Release identity, or null for BUILTIN/legacy state. */
232
- getReleaseId: _native.getReleaseId,
233
257
  /**
234
258
  * Fetches the current manifest for the active bundle.
235
259
  */
@@ -327,7 +351,6 @@ function createHotUpdaterClient() {
327
351
  const client = ensureGlobalClient("checkForUpdate");
328
352
  const mergedConfig = {
329
353
  ...config,
330
- insights: globalConfig.insights,
331
354
  client,
332
355
  requestHeaders: {
333
356
  ...globalConfig.requestHeaders,
@@ -343,8 +366,6 @@ function createHotUpdaterClient() {
343
366
  *
344
367
  * @param {UpdateBundleParams} params - Parameters object required for bundle update
345
368
  * @param {string} params.bundleId - The bundle ID of the app
346
- * @param {string|null} params.fileUrl - The URL of the zip file
347
- *
348
369
  * @returns {Promise<boolean>} Whether the update was successful
349
370
  *
350
371
  * @example
@@ -368,9 +389,42 @@ function createHotUpdaterClient() {
368
389
  * }
369
390
  * ```
370
391
  */
371
- updateBundle: params => {
392
+ updateBundle: async params => {
372
393
  ensureGlobalClient("updateBundle");
373
- return (0, _native.updateBundle)(params);
394
+ const fromBundleId = (0, _native.getBundleId)();
395
+ const state = (0, _native.getActiveUpdateState)();
396
+ const active = state.activeSelection;
397
+ const fromReleaseId = active?.bundleId === fromBundleId ? active.releaseId : state.stableSelection?.bundleId === fromBundleId ? state.stableSelection.releaseId : null;
398
+ const channel = params.channel ?? (0, _native.getChannel)();
399
+ const strategyOf = scopeKey => scopeKey?.startsWith("v1:fingerprint:") ? "fingerprint" : "appVersion";
400
+ let delivery;
401
+ try {
402
+ delivery = await (0, _native.stageBundle)(params);
403
+ } catch (error) {
404
+ (0, _checkForUpdate.reportUpdateError)(error, "download", undefined, {
405
+ bundleId: fromBundleId,
406
+ channel,
407
+ targetBundleId: params.bundleId,
408
+ targetReleaseId: params.selection?.releaseId ?? null,
409
+ updateStrategy: strategyOf(params.selection?.scopeKey)
410
+ });
411
+ throw error;
412
+ }
413
+ if (delivery !== null && params.bundleId !== fromBundleId) {
414
+ (0, _appReady.emitAfterAppReady)("onBundleDownloaded", () => {
415
+ const selection = (0, _native.getActiveUpdateState)().activeSelection;
416
+ return {
417
+ channel,
418
+ fromBundleId,
419
+ fromReleaseId,
420
+ toBundleId: params.bundleId,
421
+ toReleaseId: selection?.releaseId ?? null,
422
+ updateStrategy: strategyOf(selection?.scopeKey),
423
+ ...delivery
424
+ };
425
+ });
426
+ }
427
+ return true;
374
428
  },
375
429
  /**
376
430
  * Clears the runtime channel override and restores the original bundle.
@@ -383,10 +437,8 @@ function createHotUpdaterClient() {
383
437
  _store.hotUpdaterStore.setState({
384
438
  artifactType: null,
385
439
  details: null,
386
- downloadedBytes: undefined,
387
440
  isUpdateDownloaded: false,
388
- progress: 0,
389
- totalBytes: undefined
441
+ progress: 0
390
442
  });
391
443
  }
392
444
  return ok;
@@ -407,10 +459,6 @@ function createHotUpdaterClient() {
407
459
  * Fetches the persisted install id for this app installation.
408
460
  */
409
461
  getInstallId: _native.getInstallId,
410
- /**
411
- * Persists nullable user identity fields associated with this installation.
412
- */
413
- setUser: _native.setUser,
414
462
  /**
415
463
  * Reads the native launch report for the current process.
416
464
  */
@@ -1 +1 @@
1
- {"version":3,"names":["_checkForUpdate","require","_httpClient","_native","_store","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_wrap","_types","registerGlobalGetBaseURL","fn","getBaseURL","globalThis","HotUpdaterGetBaseURL","createHotUpdaterClient","configurationAPI","mixedConfigurationReported","globalConfig","insights","client","createMissingNetworkConfigError","apiName","Error","baseURLExample","normalizeOptions","options","incoming","updateMode","autoOptions","baseURL","rest","createHttpClient","normalizeInitOptions","_updateMode","baseURLRest","configureGlobal","normalizedOptions","requestHeaders","requestTimeout","onError","reportMixedConfiguration","nextAPI","console","error","ensureGlobalClient","methodName","wrap","init","reload","setReloadBehavior","isUpdateDownloaded","hotUpdaterStore","getSnapshot","getAppVersion","getActiveUpdateState","getPublicActiveUpdateState","getBundleId","getMinBundleId","getReleaseId","getManifest","getChannel","getDefaultChannel","isChannelSwitched","setCohort","getCohort","addListener","checkForUpdate","config","mergedConfig","updateBundle","params","resetChannel","ok","setState","artifactType","details","downloadedBytes","undefined","progress","totalBytes","getFingerprintHash","getInstallId","setUser","notifyAppReady","getCrashHistory","clearCrashHistory","HotUpdater"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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B,UAAI,EAACX,iBAAiB,CAAC;IACzB,CAAC;IAED;AACJ;AACA;IACIY,MAAM,EAANA,cAAM;IAEN;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,iBAAiB,EAAjBA,yBAAiB;IAEjB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,kBAAkB,EAAEA,CAAA,KAAMC,sBAAe,CAACC,WAAW,CAAC,CAAC,CAACF,kBAAkB;IAE1E;AACJ;AACA;IACIG,aAAa,EAAbA,qBAAa;IAEb;IACAC,oBAAoB,EAAE,MAAAA,CAAA,KAAY,IAAAC,kCAA0B,EAAC,CAAC;IAE9D;AACJ;AACA;IACIC,WAAW,EAAXA,mBAAW;IAEX;IACAC,cAAc,EAAdA,sBAAc;IAEd;IACAC,YAAY,EAAZA,oBAAY;IAEZ;AACJ;AACA;IACIC,WAAW,EAAXA,mBAAW;IAEX;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,UAAU,EAAVA,kBAAU;IAEV;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,iBAAiB,EAAjBA,yBAAiB;IAEjB;AACJ;AACA;AACA;AACA;IACIC,iBAAiB,EAAjBA,yBAAiB;IAEjB;AACJ;AACA;AACA;IACIC,SAAS,EAATA,iBAAS;IAET;AACJ;AACA;IACIC,SAAS,EAATA,iBAAS;IAET;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,WAAW,EAAXA,mBAAW;IAEX;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,cAAc,EAAGC,MAA6B,IAAK;MACjD,MAAMhD,MAAM,GAAGyB,kBAAkB,CAAC,gBAAgB,CAAC;MAEnD,MAAMwB,YAA2C,GAAG;QAClD,GAAGD,MAAM;QACTjD,QAAQ,EAAED,YAAY,CAACC,QAAQ;QAC/BC,MAAM;QACNkB,cAAc,EAAE;UACd,GAAGpB,YAAY,CAACoB,cAAc;UAC9B,GAAG8B,MAAM,CAAC9B;QACZ,CAAC;QACDC,cAAc,EAAE6B,MAAM,CAAC7B,cAAc,IAAIrB,YAAY,CAACqB,cAAc;QACpEC,OAAO,EAAE4B,MAAM,CAAC5B,OAAO,IAAItB,YAAY,CAACsB;MAC1C,CAAC;MAED,OAAO,IAAA2B,8BAAc,EAACE,YAAY,CAAC;IACrC,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,YAAY,EAAGC,MAAoB,IAAK;MACtC1B,kBAAkB,CAAC,cAAc,CAAC;MAClC,OAAO,IAAAyB,oBAAY,EAACC,MAAM,CAAC;IAC7B,CAAC;IAED;AACJ;AACA;AACA;AACA;IACIC,YAAY,EAAE,MAAAA,CAAA,KAAY;MACxB,MAAMC,EAAE,GAAG,MAAM,IAAAD,oBAAY,EAAC,CAAC;MAC/B,IAAIC,EAAE,EAAE;QACNrB,sBAAe,CAACsB,QAAQ,CAAC;UACvBC,YAAY,EAAE,IAAI;UAClBC,OAAO,EAAE,IAAI;UACbC,eAAe,EAAEC,SAAS;UAC1B3B,kBAAkB,EAAE,KAAK;UACzB4B,QAAQ,EAAE,CAAC;UACXC,UAAU,EAAEF;QACd,CAAC,CAAC;MACJ;MACA,OAAOL,EAAE;IACX,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIQ,kBAAkB,EAAlBA,0BAAkB;IAElB;AACJ;AACA;IACIC,YAAY,EAAZA,oBAAY;IAEZ;AACJ;AACA;IACIC,OAAO,EAAPA,eAAO;IAEP;AACJ;AACA;IACIC,cAAc,EAAdA,sBAAc;IAEd;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,eAAe,EAAfA,uBAAe;IAEf;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,iBAAiB,EAAjBA;EACF,CAAC;AACH;AASO,MAAMC,UAA4B,GAAAnF,OAAA,CAAAmF,UAAA,GAAGxE,sBAAsB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_appReady","require","_checkForUpdate","_httpClient","_native","_pluginHost","_store","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_wrap","_clientPlugin","_client","_types","registerGlobalGetBaseURL","fn","getBaseURL","globalThis","HotUpdaterGetBaseURL","createHotUpdaterClient","configurationAPI","mixedConfigurationReported","globalConfig","client","createMissingNetworkConfigError","apiName","Error","baseURLExample","normalizeOptions","options","incoming","updateMode","autoOptions","baseURL","plugins","_plugins","rest","createHttpClient","normalizeInitOptions","_updateMode","baseURLRest","configureGlobal","normalizedOptions","configurePlugins","requestHeaders","requestTimeout","onError","reportMixedConfiguration","nextAPI","console","error","ensureGlobalClient","methodName","wrap","init","reload","setReloadBehavior","isUpdateDownloaded","hotUpdaterStore","getSnapshot","getAppVersion","getActiveUpdateState","getPublicActiveUpdateState","getBundleId","getUpdateId","getMinBundleId","getManifest","getChannel","getDefaultChannel","isChannelSwitched","setCohort","getCohort","addListener","checkForUpdate","config","mergedConfig","updateBundle","params","fromBundleId","state","active","activeSelection","fromReleaseId","bundleId","releaseId","stableSelection","channel","strategyOf","scopeKey","startsWith","delivery","stageBundle","reportUpdateError","undefined","targetBundleId","targetReleaseId","selection","updateStrategy","emitAfterAppReady","toBundleId","toReleaseId","resetChannel","ok","setState","artifactType","details","progress","getFingerprintHash","getInstallId","notifyAppReady","getCrashHistory","clearCrashHistory","HotUpdater"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIY,IAAI,EAAGzB,OAA8B,IAAW;MAC9C,MAAMa,iBAAiB,GAAGJ,oBAAoB,CAACT,OAAO,CAAC;MAEvDkB,wBAAwB,CAAC,MAAM,CAAC;MAChCN,eAAe,CAACC,iBAAiB,EAAEb,OAAO,CAAC;MAE3C,IAAAyB,UAAI,EAACZ,iBAAiB,CAAC;IACzB,CAAC;IAED;AACJ;AACA;IACIa,MAAM,EAANA,cAAM;IAEN;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,iBAAiB,EAAjBA,yBAAiB;IAEjB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,kBAAkB,EAAEA,CAAA,KAAMC,sBAAe,CAACC,WAAW,CAAC,CAAC,CAACF,kBAAkB;IAE1E;AACJ;AACA;IACIG,aAAa,EAAbA,qBAAa;IAEb;IACAC,oBAAoB,EAAE,MAAAA,CAAA,KAAY,IAAAC,kCAA0B,EAAC,CAAC;IAE9D;AACJ;AACA;AACA;IACIC,WAAW,EAAEC,mBAAW;IAExB;IACAC,cAAc,EAAdA,sBAAc;IAEd;AACJ;AACA;IACIC,WAAW,EAAXA,mBAAW;IAEX;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,UAAU,EAAVA,kBAAU;IAEV;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,iBAAiB,EAAjBA,yBAAiB;IAEjB;AACJ;AACA;AACA;AACA;IACIC,iBAAiB,EAAjBA,yBAAiB;IAEjB;AACJ;AACA;AACA;IACIC,SAAS,EAATA,iBAAS;IAET;AACJ;AACA;IACIC,SAAS,EAATA,iBAAS;IAET;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,WAAW,EAAXA,mBAAW;IAEX;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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","ignoreList":[]}