idmission-web-sdk 2.3.225-feature-per-runtime-capability-probe-3e2cd62 → 2.3.225-feature-per-runtime-capability-probe-e2b37b1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"CapabilityProbing.d.ts","sourceRoot":"","sources":["../../../src/lib/models/CapabilityProbing.ts"],"names":[],"mappings":"AAGA,KAAK,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAA;AAEpD,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAA;AAM9E,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAA;AAIhD,KAAK,oBAAoB,GAAG;IAC1B,UAAU,EAAE,UAAU,CAAA;IACtB,QAAQ,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAA;CACjC,CAAA;AAED,KAAK,iBAAiB,GAAG;IAIvB,iBAAiB,EAAE,UAAU,CAAA;IAC7B,WAAW,EAAE,WAAW,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IAGvB,iBAAiB,EAAE,MAAM,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAA;CAC7D,CAAA;AAED,eAAO,MAAM,8BAA8B,uGAC2D,CAAA;AACtG,eAAO,MAAM,8BAA8B,qEACyB,CAAA;AAuBpE,eAAO,IAAI,iBAAiB,EAAE,iBAAkD,CAAA;AAEhF,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAElF;AAED,wBAAgB,WAAW,CACzB,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,oBAAoB,CAAC,UAAU,CAAC,GACzC,IAAI,CAEN;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG,UAAU,CAEtE;AAKD,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAyCvD;AAKD,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA4CjF;AAmCD,wBAAgB,yBAAyB,SAGxC"}
1
+ {"version":3,"file":"CapabilityProbing.d.ts","sourceRoot":"","sources":["../../../src/lib/models/CapabilityProbing.ts"],"names":[],"mappings":"AAGA,KAAK,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAA;AAEpD,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAA;AAM9E,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAA;AAIhD,KAAK,oBAAoB,GAAG;IAC1B,UAAU,EAAE,UAAU,CAAA;IACtB,QAAQ,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAA;CACjC,CAAA;AAED,KAAK,iBAAiB,GAAG;IAIvB,iBAAiB,EAAE,UAAU,CAAA;IAC7B,WAAW,EAAE,WAAW,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IAGvB,iBAAiB,EAAE,MAAM,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAA;CAC7D,CAAA;AAED,eAAO,MAAM,8BAA8B,uGAC2D,CAAA;AACtG,eAAO,MAAM,8BAA8B,qEACyB,CAAA;AAuBpE,eAAO,IAAI,iBAAiB,EAAE,iBAAkD,CAAA;AAEhF,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAElF;AAED,wBAAgB,WAAW,CACzB,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,oBAAoB,CAAC,UAAU,CAAC,GACzC,IAAI,CAEN;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG,UAAU,CAEtE;AAKD,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAyCvD;AAKD,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAyDjF;AAmCD,wBAAgB,yBAAyB,SAGxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"preloadModels.d.ts","sourceRoot":"","sources":["../../../src/lib/models/preloadModels.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,aAAa,GAAU,2GAMjC;IACD,sBAAsB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IACzC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAG5B,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAClC,KAAG,OAAO,CAAC,IAAI,CAqCf,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAKD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAExE;AACD,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,cAAc,EAAE,eAAe,CAAA;IAC/B,kBAAkB,EAAE,eAAe,CAAA;CAQpC,CAAA;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,oBAqChE;AAuBD,eAAO,MAAM,mCAAmC,qBACF,CAAA;AAC9C,eAAO,MAAM,6BAA6B,qBACP,CAAA;AACnC,eAAO,MAAM,+BAA+B,qBACD,CAAA;AAC3C,eAAO,MAAM,iCAAiC,qBACF,CAAA;AAC5C,eAAO,MAAM,0CAA0C,qBACP,CAAA;AAEhD,wBAAsB,wBAAwB,CAC5C,KAAK,EACD,kBAAkB,GAClB,OAAO,GACP,eAAe,GACf,gBAAgB,GAChB,oBAAoB,GACvB,OAAO,CAAC,IAAI,CAAC,CAwDf;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":"AAOA,eAAO,MAAM,aAAa,GAAU,2GAMjC;IACD,sBAAsB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IACzC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAG5B,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAClC,KAAG,OAAO,CAAC,IAAI,CAqCf,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAKD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAExE;AACD,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,cAAc,EAAE,eAAe,CAAA;IAC/B,kBAAkB,EAAE,eAAe,CAAA;CAQpC,CAAA;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,oBAqChE;AAuBD,eAAO,MAAM,mCAAmC,qBACF,CAAA;AAC9C,eAAO,MAAM,6BAA6B,qBACP,CAAA;AACnC,eAAO,MAAM,+BAA+B,qBACD,CAAA;AAC3C,eAAO,MAAM,iCAAiC,qBACF,CAAA;AAC5C,eAAO,MAAM,0CAA0C,qBACP,CAAA;AAEhD,wBAAsB,wBAAwB,CAC5C,KAAK,EACD,kBAAkB,GAClB,OAAO,GACP,eAAe,GACf,gBAAgB,GAChB,oBAAoB,GACvB,OAAO,CAAC,IAAI,CAAC,CAgEf;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,eAAe,UAI7D;AAED,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,MAAM,EAAE,GACrB,eAAe,CAWjB"}
@@ -3225,20 +3225,28 @@ function probeNetworkSpeed() {
3225
3225
  // invokes a particular runtime never loads its WASM payload.
3226
3226
  function probeDelegateForRuntime(runtime) {
3227
3227
  return __awaiter(this, void 0, void 0, function () {
3228
- var state, firstError_1, secondError_1;
3228
+ var state, MAX_WAIT_MS_1, firstError_1, secondError_1;
3229
3229
  return __generator(this, function (_a) {
3230
3230
  switch (_a.label) {
3231
3231
  case 0:
3232
3232
  state = modelCapabilities.delegateByRuntime[runtime];
3233
3233
  if (state.probeState === 'probed') return [2 /*return*/];
3234
3234
  if (state.probeState === 'probing') {
3235
+ MAX_WAIT_MS_1 = 30000;
3235
3236
  return [2 /*return*/, new Promise(function (resolve) {
3236
3237
  var id = setInterval(function () {
3237
3238
  if (state.probeState === 'probed') {
3238
3239
  clearInterval(id);
3240
+ clearTimeout(timeoutId);
3239
3241
  resolve();
3240
3242
  }
3241
3243
  }, 100);
3244
+ // Forward-referenced by the interval callback above; safe because the
3245
+ // callback only fires after this line has run.
3246
+ var timeoutId = setTimeout(function () {
3247
+ clearInterval(id);
3248
+ resolve();
3249
+ }, MAX_WAIT_MS_1);
3242
3250
  })];
3243
3251
  }
3244
3252
  state.probeState = 'probing';
@@ -3545,19 +3553,7 @@ var preloadBarcodeReadabilityModelDependencies = function preloadBarcodeReadabil
3545
3553
  };
3546
3554
  function preloadModelDependencies(model) {
3547
3555
  return __awaiter(this, void 0, void 0, function () {
3548
- function handleModelDownloadProgress(event) {
3549
- var detail = event.detail;
3550
- if (!dependencies.some(function (d) {
3551
- return d.url === detail.url;
3552
- })) return;
3553
- progressByUseCase[model] = sumUpProgressForDependencies(dependencies.map(function (d) {
3554
- return d.url;
3555
- }));
3556
- document.dispatchEvent(new CustomEvent("idmission.preloadProgress.".concat(model), {
3557
- detail: progressByUseCase[model]
3558
- }));
3559
- }
3560
- var dependencies;
3556
+ var dependencies_1, handleModelDownloadProgress;
3561
3557
  return __generator(this, function (_a) {
3562
3558
  switch (_a.label) {
3563
3559
  case 0:
@@ -3570,40 +3566,62 @@ function preloadModelDependencies(model) {
3570
3566
  }, 100);
3571
3567
  })];
3572
3568
  modelsPreloading[model] = true;
3569
+ _a.label = 1;
3570
+ case 1:
3571
+ _a.trys.push([1,, 8, 9]);
3573
3572
  // All five models in this function are MediaPipe-backed; probe MP's
3574
3573
  // delegate to surface NONE before we waste bandwidth downloading bytes
3575
3574
  // for a model the device can't run.
3576
3575
  return [4 /*yield*/, probeNetworkSpeed()];
3577
- case 1:
3576
+ case 2:
3578
3577
  // All five models in this function are MediaPipe-backed; probe MP's
3579
3578
  // delegate to surface NONE before we waste bandwidth downloading bytes
3580
3579
  // for a model the device can't run.
3581
3580
  _a.sent();
3582
3581
  return [4 /*yield*/, probeDelegateForRuntime('mediapipe')];
3583
- case 2:
3582
+ case 3:
3584
3583
  _a.sent();
3585
3584
  if (getDelegate('mediapipe') === 'NONE') {
3586
3585
  throw new Error("No available delegate for ".concat(model, " model."));
3587
3586
  }
3588
- dependencies = [{
3587
+ dependencies_1 = [{
3589
3588
  url: defaultModelPaths[model],
3590
3589
  hash: defaultModelPaths[model + 'Hash']
3591
3590
  }];
3591
+ handleModelDownloadProgress = function handleModelDownloadProgress(event) {
3592
+ var detail = event.detail;
3593
+ if (!dependencies_1.some(function (d) {
3594
+ return d.url === detail.url;
3595
+ })) return;
3596
+ progressByUseCase[model] = sumUpProgressForDependencies(dependencies_1.map(function (d) {
3597
+ return d.url;
3598
+ }));
3599
+ document.dispatchEvent(new CustomEvent("idmission.preloadProgress.".concat(model), {
3600
+ detail: progressByUseCase[model]
3601
+ }));
3602
+ };
3592
3603
  document.addEventListener('idmission.preloadProgress', handleModelDownloadProgress);
3593
- _a.label = 3;
3594
- case 3:
3595
- _a.trys.push([3,, 5, 6]);
3596
- return [4 /*yield*/, Promise.all(dependencies.map(function (d) {
3604
+ _a.label = 4;
3605
+ case 4:
3606
+ _a.trys.push([4,, 6, 7]);
3607
+ return [4 /*yield*/, Promise.all(dependencies_1.map(function (d) {
3597
3608
  return preloadDependency(d.url, d.hash);
3598
3609
  }))];
3599
- case 4:
3600
- _a.sent();
3601
- return [3 /*break*/, 6];
3602
3610
  case 5:
3611
+ _a.sent();
3612
+ return [3 /*break*/, 7];
3613
+ case 6:
3603
3614
  document.removeEventListener('idmission.preloadProgress', handleModelDownloadProgress);
3615
+ return [7 /*endfinally*/];
3616
+ case 7:
3617
+ return [3 /*break*/, 9];
3618
+ case 8:
3619
+ // Always clear the gate — including when probe/guard throws before the
3620
+ // download phase — so concurrent callers polling on modelsPreloading
3621
+ // don't hang forever.
3604
3622
  modelsPreloading[model] = false;
3605
3623
  return [7 /*endfinally*/];
3606
- case 6:
3624
+ case 9:
3607
3625
  return [2 /*return*/];
3608
3626
  }
3609
3627
  });