idmission-web-sdk 2.3.105 → 2.3.107

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.
@@ -8,6 +8,7 @@ type ModelCapabilities = {
8
8
  networkTestTime: number;
9
9
  };
10
10
  export declare const defaultImageSegmenterModelPath = "https://websdk-cdn-dev.idmission.com/assets/models/selfiesegmenter20240524/selfie_segmenter.tflite";
11
+ export declare const defaultImageSegmenterModelHash = "A2bQ8+iZyQM3KIGVBUf0FyetqxuynyKpjsjCE8uzoJEnj1ghCu6ge2daiRffAiS5";
11
12
  export declare let modelCapabilities: ModelCapabilities;
12
13
  export declare function probeModelCapabilities(): Promise<void>;
13
14
  export declare function resetModelCapabilityProbe(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"CapabilityProbing.d.ts","sourceRoot":"","sources":["../../../src/lib/models/CapabilityProbing.ts"],"names":[],"mappings":"AAKA,KAAK,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAA;AAEpD,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAA;AAE9E,KAAK,iBAAiB,GAAG;IACvB,UAAU,EAAE,UAAU,CAAA;IACtB,QAAQ,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAA;IAChC,WAAW,EAAE,WAAW,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,8BAA8B,uGAC2D,CAAA;AAetG,eAAO,IAAI,iBAAiB,EAAE,iBAE7B,CAAA;AAED,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CA6B5D;AA+CD,wBAAgB,yBAAyB,SAGxC"}
1
+ {"version":3,"file":"CapabilityProbing.d.ts","sourceRoot":"","sources":["../../../src/lib/models/CapabilityProbing.ts"],"names":[],"mappings":"AAKA,KAAK,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAA;AAEpD,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAA;AAE9E,KAAK,iBAAiB,GAAG;IACvB,UAAU,EAAE,UAAU,CAAA;IACtB,QAAQ,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAA;IAChC,WAAW,EAAE,WAAW,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,8BAA8B,uGAC2D,CAAA;AACtG,eAAO,MAAM,8BAA8B,qEACyB,CAAA;AAepE,eAAO,IAAI,iBAAiB,EAAE,iBAE7B,CAAA;AAED,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CA6B5D;AA+CD,wBAAgB,yBAAyB,SAGxC"}
@@ -1,3 +1,4 @@
1
1
  export declare const visionTasksBasePath = "https://websdk-cdn-dev.idmission.com/assets/vision_wasm_internal_0.10.7";
2
+ export declare const visionRuntimeHash = "tdLjRcm8XLETT+lUxF1oNst5jULaTGDUc2YtazwbGnLVGD0D/4A274KuJF+adneW";
2
3
  export declare function preloadVisionRuntime(): Promise<void>;
3
4
  //# sourceMappingURL=VisionRuntime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VisionRuntime.d.ts","sourceRoot":"","sources":["../../../src/lib/models/VisionRuntime.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,mBAAmB,4EAA4E,CAAA;AAI5G,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAkC1D"}
1
+ {"version":3,"file":"VisionRuntime.d.ts","sourceRoot":"","sources":["../../../src/lib/models/VisionRuntime.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,mBAAmB,4EAA4E,CAAA;AAC5G,eAAO,MAAM,iBAAiB,qEACsC,CAAA;AAIpE,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAkC1D"}
@@ -1,2 +1,3 @@
1
1
  export declare const defaultBarcodeReadabilityModelPath = "https://websdk-cdn-dev.idmission.com/assets/models/BarcodeReadability/BarcodeReadability-20250815_120417.tflite";
2
+ export declare const defaultBarcodeReadabilityModelHash = "ywkMzTifO2XccgeRu87imQodo69cZ66iIV/rkNyB4ZvYInUJB5HAF9ImCLYX+Of7";
2
3
  //# sourceMappingURL=BarcodeReadability.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BarcodeReadability.d.ts","sourceRoot":"","sources":["../../../../src/lib/models/defaults/BarcodeReadability.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kCAAkC,oHAA2F,CAAA"}
1
+ {"version":3,"file":"BarcodeReadability.d.ts","sourceRoot":"","sources":["../../../../src/lib/models/defaults/BarcodeReadability.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kCAAkC,oHAA2F,CAAA;AAC1I,eAAO,MAAM,kCAAkC,qEACqB,CAAA"}
@@ -1,2 +1,3 @@
1
1
  export declare const defaultDocumentDetectorModelPath = "https://websdk-cdn-dev.idmission.com/assets/models/DocumentDetector/DocumentDetector-20250815_115859.tflite";
2
+ export declare const defaultDocumentDetectorModelHash = "64LSaO2ctQsTkGJoZ6Et4v2KH28Fz1ettgkxD+qFg6frxY7ufL9l/lkjw2ljX2cR";
2
3
  //# sourceMappingURL=DocumentDetector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentDetector.d.ts","sourceRoot":"","sources":["../../../../src/lib/models/defaults/DocumentDetector.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gCAAgC,gHAAuF,CAAA"}
1
+ {"version":3,"file":"DocumentDetector.d.ts","sourceRoot":"","sources":["../../../../src/lib/models/defaults/DocumentDetector.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gCAAgC,gHAAuF,CAAA;AACpI,eAAO,MAAM,gCAAgC,qEACuB,CAAA"}
@@ -1,2 +1,3 @@
1
1
  export declare const defaultFaceDetectorModelPath = "https://websdk-cdn-dev.idmission.com/assets/models/FaceDetector/FaceDetector-20250820_154546.tflite";
2
+ export declare const defaultFaceDetectorModelHash = "DK7LKyczaWlQp0NJO4TTv5wARoWlAWz57/exd62cy3KJJNpayeiX3cT7q3iANQSy";
2
3
  //# sourceMappingURL=FaceDetector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FaceDetector.d.ts","sourceRoot":"","sources":["../../../../src/lib/models/defaults/FaceDetector.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,4BAA4B,wGAA+E,CAAA"}
1
+ {"version":3,"file":"FaceDetector.d.ts","sourceRoot":"","sources":["../../../../src/lib/models/defaults/FaceDetector.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,4BAA4B,wGAA+E,CAAA;AACxH,eAAO,MAAM,4BAA4B,qEAC2B,CAAA"}
@@ -1,2 +1,3 @@
1
1
  export declare const defaultFocusModelPath = "https://websdk-cdn-dev.idmission.com/assets/models/Focus/Focus-20241008_102708.tflite";
2
+ export declare const defaultFocusModelHash = "HTJNLB7QybtPXIIyUI9oNqW40vE5bgSV5V24R1wXLQHknNEVOSyDQDo/QzRgJ8jb";
2
3
  //# sourceMappingURL=Focus.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Focus.d.ts","sourceRoot":"","sources":["../../../../src/lib/models/defaults/Focus.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB,0FAAiE,CAAA"}
1
+ {"version":3,"file":"Focus.d.ts","sourceRoot":"","sources":["../../../../src/lib/models/defaults/Focus.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB,0FAAiE,CAAA;AACnG,eAAO,MAAM,qBAAqB,qEACkC,CAAA"}
@@ -4,8 +4,13 @@ export * from './FaceDetector';
4
4
  export * from './BarcodeReadability';
5
5
  export declare const defaultModelPaths: {
6
6
  documentDetector: string;
7
+ documentDetectorHash: string;
7
8
  focus: string;
9
+ focusHash: string;
8
10
  faceDetection: string;
11
+ faceDetectionHash: string;
9
12
  barcodeReadability: string;
13
+ barcodeReadabilityHash: string;
10
14
  };
15
+ export type HashTypes = 'documentDetectorHash' | 'focusHash' | 'faceDetectionHash' | 'barcodeReadabilityHash';
11
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/models/defaults/index.ts"],"names":[],"mappings":"AAKA,cAAc,oBAAoB,CAAA;AAClC,cAAc,SAAS,CAAA;AACvB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,sBAAsB,CAAA;AAEpC,eAAO,MAAM,iBAAiB;;;;;CAK7B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/models/defaults/index.ts"],"names":[],"mappings":"AAcA,cAAc,oBAAoB,CAAA;AAClC,cAAc,SAAS,CAAA;AACvB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,sBAAsB,CAAA;AAEpC,eAAO,MAAM,iBAAiB;;;;;;;;;CAS7B,CAAA;AAED,MAAM,MAAM,SAAS,GACjB,sBAAsB,GACtB,WAAW,GACX,mBAAmB,GACnB,wBAAwB,CAAA"}
@@ -15,7 +15,7 @@ export declare const progressByUseCase: {
15
15
  faceDetection: PreloadProgress;
16
16
  barcodeReadability: PreloadProgress;
17
17
  };
18
- export declare function preloadDependency(url: string): Promise<unknown>;
18
+ export declare function preloadDependency(url: string, hash: string): Promise<unknown>;
19
19
  export declare const preloadDocumentDetectorDependencies: () => Promise<void>;
20
20
  export declare const preloadFocusModelDependencies: () => Promise<void>;
21
21
  export declare const preloadFaceDetectorDependencies: () => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"preloadModels.d.ts","sourceRoot":"","sources":["../../../src/lib/models/preloadModels.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,yFAKvB;IACD,sBAAsB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IACzC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAClC,KAAG,OAAO,CAAC,IAAI,CAsBf,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAGD,eAAO,MAAM,iBAAiB,EAAE;IAC9B,aAAa,EAAE,eAAe,CAAA;IAC9B,gBAAgB,EAAE,eAAe,CAAA;IACjC,KAAK,EAAE,eAAe,CAAA;IACtB,aAAa,EAAE,eAAe,CAAA;IAC9B,kBAAkB,EAAE,eAAe,CAAA;CAOpC,CAAA;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,oBAyBlD;AASD,eAAO,MAAM,mCAAmC,qBACF,CAAA;AAC9C,eAAO,MAAM,6BAA6B,qBACP,CAAA;AACnC,eAAO,MAAM,+BAA+B,qBACD,CAAA;AAC3C,eAAO,MAAM,0CAA0C,qBACP,CAAA;AAEhD,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,kBAAkB,GAAG,OAAO,GAAG,eAAe,GAAG,oBAAoB,GAC3E,OAAO,CAAC,IAAI,CAAC,CA6Cf;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,eAAe,UAI7D;AAED,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,MAAM,EAAE,GACrB,eAAe,CAWjB"}
1
+ {"version":3,"file":"preloadModels.d.ts","sourceRoot":"","sources":["../../../src/lib/models/preloadModels.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,yFAKvB;IACD,sBAAsB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IACzC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAClC,KAAG,OAAO,CAAC,IAAI,CAsBf,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAGD,eAAO,MAAM,iBAAiB,EAAE;IAC9B,aAAa,EAAE,eAAe,CAAA;IAC9B,gBAAgB,EAAE,eAAe,CAAA;IACjC,KAAK,EAAE,eAAe,CAAA;IACtB,aAAa,EAAE,eAAe,CAAA;IAC9B,kBAAkB,EAAE,eAAe,CAAA;CAOpC,CAAA;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,oBAkChE;AAsBD,eAAO,MAAM,mCAAmC,qBACF,CAAA;AAC9C,eAAO,MAAM,6BAA6B,qBACP,CAAA;AACnC,eAAO,MAAM,+BAA+B,qBACD,CAAA;AAC3C,eAAO,MAAM,0CAA0C,qBACP,CAAA;AAEhD,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,kBAAkB,GAAG,OAAO,GAAG,eAAe,GAAG,oBAAoB,GAC3E,OAAO,CAAC,IAAI,CAAC,CAoDf;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,eAAe,UAI7D;AAED,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,MAAM,EAAE,GACrB,eAAe,CAWjB"}
@@ -236,7 +236,7 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
236
236
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
237
237
  };
238
238
 
239
- var webSdkVersion = '2.3.105';
239
+ var webSdkVersion = '2.3.107';
240
240
 
241
241
  function getPlatform() {
242
242
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
@@ -2205,6 +2205,7 @@ function useRevokeObjectUrlOnUnmount(url) {
2205
2205
  }
2206
2206
 
2207
2207
  var visionTasksBasePath = "https://websdk-cdn-dev.idmission.com/assets/vision_wasm_internal_0.10.7";
2208
+ var visionRuntimeHash = 'tdLjRcm8XLETT+lUxF1oNst5jULaTGDUc2YtazwbGnLVGD0D/4A274KuJF+adneW';
2208
2209
  var visionRuntimePreloading = false;
2209
2210
  function preloadVisionRuntime() {
2210
2211
  return __awaiter(this, void 0, void 0, function () {
@@ -2231,7 +2232,7 @@ function preloadVisionRuntime() {
2231
2232
  _a.label = 1;
2232
2233
  case 1:
2233
2234
  _a.trys.push([1,, 3, 4]);
2234
- return [4 /*yield*/, preloadDependency(url)];
2235
+ return [4 /*yield*/, preloadDependency(url, visionRuntimeHash)];
2235
2236
  case 2:
2236
2237
  _a.sent();
2237
2238
  return [3 /*break*/, 4];
@@ -2247,6 +2248,7 @@ function preloadVisionRuntime() {
2247
2248
  }
2248
2249
 
2249
2250
  var defaultImageSegmenterModelPath = 'https://websdk-cdn-dev.idmission.com/assets/models/selfiesegmenter20240524/selfie_segmenter.tflite';
2251
+ var defaultImageSegmenterModelHash = 'A2bQ8+iZyQM3KIGVBUf0FyetqxuynyKpjsjCE8uzoJEnj1ghCu6ge2daiRffAiS5';
2250
2252
  var imageSegmenterModelSizeInBytes = 256440.32;
2251
2253
  // The idea here is that we globally set a cache key based on the time at page load. That way our built-in speed test
2252
2254
  // isn't fooled by cache times, but subsequent downloads of the vision runtime still do load from the cache.
@@ -2330,7 +2332,7 @@ function loadTinyModel() {
2330
2332
  _c.label = 1;
2331
2333
  case 1:
2332
2334
  _c.trys.push([1, 3,, 4]);
2333
- return [4 /*yield*/, Promise.race([preloadDependency(modelAssetPath), giveUpAfter(maxTime)])];
2335
+ return [4 /*yield*/, Promise.race([preloadDependency(modelAssetPath, defaultImageSegmenterModelHash), giveUpAfter(maxTime)])];
2334
2336
  case 2:
2335
2337
  _c.sent();
2336
2338
  return [3 /*break*/, 4];
@@ -2378,18 +2380,26 @@ function giveUpAfter(maxTime) {
2378
2380
  var DEFAULT_CDN_URL = 'https://websdk-cdn-dev.idmission.com/assets';
2379
2381
 
2380
2382
  var defaultDocumentDetectorModelPath = "".concat(DEFAULT_CDN_URL, "/models/DocumentDetector/DocumentDetector-20250815_115859.tflite");
2383
+ var defaultDocumentDetectorModelHash = '64LSaO2ctQsTkGJoZ6Et4v2KH28Fz1ettgkxD+qFg6frxY7ufL9l/lkjw2ljX2cR';
2381
2384
 
2382
2385
  var defaultFocusModelPath = "".concat(DEFAULT_CDN_URL, "/models/Focus/Focus-20241008_102708.tflite");
2386
+ var defaultFocusModelHash = 'HTJNLB7QybtPXIIyUI9oNqW40vE5bgSV5V24R1wXLQHknNEVOSyDQDo/QzRgJ8jb';
2383
2387
 
2384
2388
  var defaultFaceDetectorModelPath = "".concat(DEFAULT_CDN_URL, "/models/FaceDetector/FaceDetector-20250820_154546.tflite");
2389
+ var defaultFaceDetectorModelHash = 'DK7LKyczaWlQp0NJO4TTv5wARoWlAWz57/exd62cy3KJJNpayeiX3cT7q3iANQSy';
2385
2390
 
2386
2391
  var defaultBarcodeReadabilityModelPath = "".concat(DEFAULT_CDN_URL, "/models/BarcodeReadability/BarcodeReadability-20250815_120417.tflite");
2392
+ var defaultBarcodeReadabilityModelHash = 'ywkMzTifO2XccgeRu87imQodo69cZ66iIV/rkNyB4ZvYInUJB5HAF9ImCLYX+Of7';
2387
2393
 
2388
2394
  var defaultModelPaths = {
2389
2395
  documentDetector: defaultDocumentDetectorModelPath,
2396
+ documentDetectorHash: defaultDocumentDetectorModelHash,
2390
2397
  focus: defaultFocusModelPath,
2398
+ focusHash: defaultFocusModelHash,
2391
2399
  faceDetection: defaultFaceDetectorModelPath,
2392
- barcodeReadability: defaultBarcodeReadabilityModelPath
2400
+ faceDetectionHash: defaultFaceDetectorModelHash,
2401
+ barcodeReadability: defaultBarcodeReadabilityModelPath,
2402
+ barcodeReadabilityHash: defaultBarcodeReadabilityModelHash
2393
2403
  };
2394
2404
 
2395
2405
  var preloadModels = function preloadModels(_a) {
@@ -2453,8 +2463,9 @@ var progressByUseCase = {
2453
2463
  total: 0
2454
2464
  }
2455
2465
  };
2456
- function preloadDependency(url) {
2466
+ function preloadDependency(url, hash) {
2457
2467
  return __awaiter(this, void 0, void 0, function () {
2468
+ var _this = this;
2458
2469
  return __generator(this, function (_a) {
2459
2470
  return [2 /*return*/, new Promise(function (resolve, reject) {
2460
2471
  var req = new XMLHttpRequest();
@@ -2470,15 +2481,58 @@ function preloadDependency(url) {
2470
2481
  }));
2471
2482
  });
2472
2483
  req.addEventListener('loadend', function () {
2473
- resolve(req.readyState === 4 && req.status === 200);
2484
+ return __awaiter(_this, void 0, void 0, function () {
2485
+ var ok, err_1;
2486
+ return __generator(this, function (_a) {
2487
+ switch (_a.label) {
2488
+ case 0:
2489
+ _a.trys.push([0, 2,, 3]);
2490
+ if (req.status !== 200 || req.readyState !== 4) return [2 /*return*/, resolve(false)];
2491
+ return [4 /*yield*/, verifySRI(req.response, hash)];
2492
+ case 1:
2493
+ ok = _a.sent();
2494
+ if (!ok) return [2 /*return*/, reject(new Error("SRI mismatch for ".concat(url)))];
2495
+ resolve(true);
2496
+ return [3 /*break*/, 3];
2497
+ case 2:
2498
+ err_1 = _a.sent();
2499
+ reject(err_1);
2500
+ return [3 /*break*/, 3];
2501
+ case 3:
2502
+ return [2 /*return*/];
2503
+ }
2504
+ });
2505
+ });
2474
2506
  });
2475
2507
  req.addEventListener('error', reject);
2476
2508
  req.open('GET', url, true);
2509
+ req.responseType = 'arraybuffer';
2477
2510
  req.send();
2478
2511
  })];
2479
2512
  });
2480
2513
  });
2481
2514
  }
2515
+ function base64FromArrayBuffer(ab) {
2516
+ var bytes = new Uint8Array(ab);
2517
+ var bin = '';
2518
+ for (var i = 0; i < bytes.length; i++) bin += String.fromCharCode(bytes[i]);
2519
+ return btoa(bin);
2520
+ }
2521
+ function verifySRI(buf, hash) {
2522
+ return __awaiter(this, void 0, void 0, function () {
2523
+ var hashBuf, actualB64;
2524
+ return __generator(this, function (_a) {
2525
+ switch (_a.label) {
2526
+ case 0:
2527
+ return [4 /*yield*/, crypto.subtle.digest('SHA-384', buf)];
2528
+ case 1:
2529
+ hashBuf = _a.sent();
2530
+ actualB64 = base64FromArrayBuffer(hashBuf);
2531
+ return [2 /*return*/, hash === actualB64];
2532
+ }
2533
+ });
2534
+ });
2535
+ }
2482
2536
  var modelsPreloading = {
2483
2537
  documentDetector: false,
2484
2538
  focus: false,
@@ -2502,7 +2556,9 @@ function preloadModelDependencies(model) {
2502
2556
  function handleModelDownloadProgress(event) {
2503
2557
  var detail = event.detail;
2504
2558
  if (!dependencies.includes(detail.url)) return;
2505
- progressByUseCase[model] = sumUpProgressForDependencies(dependencies);
2559
+ progressByUseCase[model] = sumUpProgressForDependencies(dependencies.map(function (d) {
2560
+ return d.url;
2561
+ }));
2506
2562
  document.dispatchEvent(new CustomEvent("idmission.preloadProgress.".concat(model), {
2507
2563
  detail: progressByUseCase[model]
2508
2564
  }));
@@ -2526,12 +2582,17 @@ function preloadModelDependencies(model) {
2526
2582
  if (modelCapabilities.delegate === 'NONE') {
2527
2583
  throw new Error("No available delegate for ".concat(model, " model."));
2528
2584
  }
2529
- dependencies = [defaultModelPaths[model]];
2585
+ dependencies = [{
2586
+ url: defaultModelPaths[model],
2587
+ hash: defaultModelPaths[model + 'Hash']
2588
+ }];
2530
2589
  document.addEventListener('idmission.preloadProgress', handleModelDownloadProgress);
2531
2590
  _a.label = 2;
2532
2591
  case 2:
2533
2592
  _a.trys.push([2,, 4, 5]);
2534
- return [4 /*yield*/, Promise.all(dependencies.map(preloadDependency))];
2593
+ return [4 /*yield*/, Promise.all(dependencies.map(function (d) {
2594
+ return preloadDependency(d.url, d.hash);
2595
+ }))];
2535
2596
  case 3:
2536
2597
  _a.sent();
2537
2598
  return [3 /*break*/, 5];