@privateid/ultrapass-web-sdk 2.0.0 → 2.1.1

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 (68) hide show
  1. package/dist/application/index.js +6 -1
  2. package/dist/application/index.js.map +1 -1
  3. package/dist/application/modules/core/document/DocumentService.d.ts +1 -0
  4. package/dist/application/modules/core/document/DocumentService.js +67 -13
  5. package/dist/application/modules/core/document/DocumentService.js.map +1 -1
  6. package/dist/application/modules/core/face/FaceService.d.ts +1 -0
  7. package/dist/application/modules/core/face/FaceService.js +39 -2
  8. package/dist/application/modules/core/face/FaceService.js.map +1 -1
  9. package/dist/application/modules/core/face/face.types.d.ts +1 -0
  10. package/dist/application/modules/internal/shared/shared.utils.d.ts +1 -0
  11. package/dist/application/modules/internal/shared/shared.utils.js +12 -2
  12. package/dist/application/modules/internal/shared/shared.utils.js.map +1 -1
  13. package/dist/application/modules/internal/wasm-orchestrator/WasmOrchestratorService.d.ts +1 -1
  14. package/dist/application/modules/internal/wasm-orchestrator/WasmOrchestratorService.js +3 -3
  15. package/dist/application/modules/internal/wasm-orchestrator/WasmOrchestratorService.js.map +1 -1
  16. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.utils.js +5 -1
  17. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.utils.js.map +1 -1
  18. package/dist/application/modules/support/camera/camera.domain.d.ts +2 -1
  19. package/dist/application/modules/support/camera/camera.types.d.ts +10 -0
  20. package/dist/application/modules/support/camera/camera.utils.d.ts +1 -2
  21. package/dist/application/modules/support/camera/camera.utils.js +1 -10
  22. package/dist/application/modules/support/camera/camera.utils.js.map +1 -1
  23. package/dist/application/modules/support/camera/index.d.ts +2 -1
  24. package/dist/application/modules/support/camera/index.js +2 -0
  25. package/dist/application/modules/support/camera/index.js.map +1 -1
  26. package/dist/application/modules/support/camera/services/BaseCameraService.d.ts +5 -5
  27. package/dist/application/modules/support/camera/services/BaseCameraService.js +29 -13
  28. package/dist/application/modules/support/camera/services/BaseCameraService.js.map +1 -1
  29. package/dist/application/modules/support/camera/services/VideoIntegrityMonitor.d.ts +60 -0
  30. package/dist/application/modules/support/camera/services/VideoIntegrityMonitor.js +325 -0
  31. package/dist/application/modules/support/camera/services/VideoIntegrityMonitor.js.map +1 -0
  32. package/dist/application/modules/support/engine/EngineService.js +5 -4
  33. package/dist/application/modules/support/engine/EngineService.js.map +1 -1
  34. package/dist/application/modules/support/engine/engine.constants.d.ts +1 -0
  35. package/dist/application/modules/support/engine/engine.constants.js +1 -0
  36. package/dist/application/modules/support/engine/engine.constants.js.map +1 -1
  37. package/dist/application/modules/support/engine/engine.utils.js +13 -2
  38. package/dist/application/modules/support/engine/engine.utils.js.map +1 -1
  39. package/dist/application/workers/wasm/WasmWorkerService.d.ts +2 -2
  40. package/dist/application/workers/wasm/WasmWorkerService.js +16 -8
  41. package/dist/application/workers/wasm/WasmWorkerService.js.map +1 -1
  42. package/dist/application/workers/wasm/wasm-worker.domain.d.ts +2 -2
  43. package/dist/application/workers/wasm/wasm-worker.utils.d.ts +1 -2
  44. package/dist/application/workers/wasm/wasm-worker.utils.js +9 -6
  45. package/dist/application/workers/wasm/wasm-worker.utils.js.map +1 -1
  46. package/dist/index.d.ts +3 -2
  47. package/dist/index.js +4 -0
  48. package/dist/index.js.map +1 -1
  49. package/package.json +1 -1
  50. package/wasm/ultra/manifest.json +15 -15
  51. package/wasm/ultra/nosimd/26.03.17-71cdf0e-prod/privid_fhe_ultra.js +18 -0
  52. package/wasm/{ultra-dev/nosimd/26.02.13-24c4552-dev → ultra/nosimd/26.03.17-71cdf0e-prod}/privid_fhe_ultra.wasm +0 -0
  53. package/wasm/ultra/nosimd/version.json +1 -1
  54. package/wasm/ultra/simd/26.03.17-71cdf0e-prod/privid_fhe_ultra.js +18 -0
  55. package/wasm/{ultra-dev/simd/26.02.13-24c4552-dev → ultra/simd/26.03.17-71cdf0e-prod}/privid_fhe_ultra.wasm +0 -0
  56. package/wasm/ultra/simd/version.json +1 -1
  57. package/wasm/ultra-dev/nosimd/26.03.17-71cdf0e-dev/privid_fhe_ultra.js +18 -0
  58. package/wasm/{ultra/nosimd/26.02.13-24c4552-prod → ultra-dev/nosimd/26.03.17-71cdf0e-dev}/privid_fhe_ultra.wasm +0 -0
  59. package/wasm/ultra-dev/nosimd/version.json +1 -1
  60. package/wasm/ultra-dev/simd/26.03.17-71cdf0e-dev/privid_fhe_ultra.js +18 -0
  61. package/wasm/{ultra/simd/26.02.13-24c4552-prod → ultra-dev/simd/26.03.17-71cdf0e-dev}/privid_fhe_ultra.wasm +0 -0
  62. package/wasm/ultra-dev/simd/version.json +1 -1
  63. package/workers/wasm-new.worker.js +1 -1
  64. package/workers/wasm-new.worker.js.map +3 -3
  65. package/wasm/ultra/nosimd/26.02.13-24c4552-prod/privid_fhe_ultra.js +0 -18
  66. package/wasm/ultra/simd/26.02.13-24c4552-prod/privid_fhe_ultra.js +0 -18
  67. package/wasm/ultra-dev/nosimd/26.02.13-24c4552-dev/privid_fhe_ultra.js +0 -18
  68. package/wasm/ultra-dev/simd/26.02.13-24c4552-dev/privid_fhe_ultra.js +0 -18
@@ -0,0 +1,325 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { printLogs } from '../../../internal/shared/shared.utils';
11
+ /**
12
+ * Monitors a video element and its media stream for signs of DOM-level injection attacks.
13
+ *
14
+ * Detects: srcObject reassignment, element removal/replacement, overlay injection,
15
+ * style tampering, ID changes, track swaps, track ended, and suspicious track sources.
16
+ *
17
+ * Pull-based: call `getSnapshot()` to read accumulated violations.
18
+ * Once a violation is recorded, it persists for the entire session.
19
+ *
20
+ * SAFETY: This is an observational feature — it must NEVER throw into the camera path
21
+ * or prevent camera operations from completing. All initialization and callback code
22
+ * is wrapped in try/catch to guarantee this.
23
+ */
24
+ export class VideoIntegrityMonitor {
25
+ constructor(videoElement, stream) {
26
+ this.violations = [];
27
+ this.disposed = false;
28
+ // Observers
29
+ this.videoAttributeObserver = null;
30
+ this.parentChildListObserver = null;
31
+ // Stream event listener references (for cleanup)
32
+ this.onAddTrack = null;
33
+ this.onRemoveTrack = null;
34
+ this.onTrackEnded = null;
35
+ this.videoElement = videoElement;
36
+ this.legitimateStream = stream;
37
+ this.originalId = videoElement.id;
38
+ // Each init step is isolated — a failure in one must not prevent the others
39
+ // or propagate up to the camera initialization flow.
40
+ try {
41
+ this.interceptSrcObject();
42
+ }
43
+ catch (e) {
44
+ printLogs('[VideoIntegrityMonitor] failed to init srcObject interceptor', e, 'WARN');
45
+ }
46
+ try {
47
+ this.initVideoAttributeObserver();
48
+ }
49
+ catch (e) {
50
+ printLogs('[VideoIntegrityMonitor] failed to init attribute observer', e, 'WARN');
51
+ }
52
+ try {
53
+ this.initParentObserver();
54
+ }
55
+ catch (e) {
56
+ printLogs('[VideoIntegrityMonitor] failed to init parent observer', e, 'WARN');
57
+ }
58
+ try {
59
+ this.initStreamListeners();
60
+ }
61
+ catch (e) {
62
+ printLogs('[VideoIntegrityMonitor] failed to init stream listeners', e, 'WARN');
63
+ }
64
+ this.trackValidationDone = this.validateTrackSource();
65
+ printLogs('[VideoIntegrityMonitor] initialized', '');
66
+ }
67
+ getSnapshot() {
68
+ return __awaiter(this, void 0, void 0, function* () {
69
+ try {
70
+ yield this.trackValidationDone;
71
+ }
72
+ catch (_a) {
73
+ // Track validation failed — return whatever violations we have so far
74
+ }
75
+ return {
76
+ violations: [...this.violations],
77
+ tampered: this.violations.length > 0,
78
+ };
79
+ });
80
+ }
81
+ dispose() {
82
+ this.disposed = true;
83
+ // Restore original srcObject property descriptor
84
+ try {
85
+ if (this.originalSrcObjectDescriptor) {
86
+ Object.defineProperty(this.videoElement, 'srcObject', this.originalSrcObjectDescriptor);
87
+ }
88
+ else {
89
+ delete this.videoElement.srcObject;
90
+ }
91
+ }
92
+ catch (e) {
93
+ printLogs('[VideoIntegrityMonitor] failed to restore srcObject descriptor', e, 'WARN');
94
+ }
95
+ try {
96
+ if (this.videoAttributeObserver) {
97
+ this.videoAttributeObserver.disconnect();
98
+ this.videoAttributeObserver = null;
99
+ }
100
+ }
101
+ catch (e) {
102
+ printLogs('[VideoIntegrityMonitor] failed to disconnect attribute observer', e, 'WARN');
103
+ }
104
+ try {
105
+ if (this.parentChildListObserver) {
106
+ this.parentChildListObserver.disconnect();
107
+ this.parentChildListObserver = null;
108
+ }
109
+ }
110
+ catch (e) {
111
+ printLogs('[VideoIntegrityMonitor] failed to disconnect parent observer', e, 'WARN');
112
+ }
113
+ try {
114
+ if (this.onAddTrack) {
115
+ this.legitimateStream.removeEventListener('addtrack', this.onAddTrack);
116
+ this.onAddTrack = null;
117
+ }
118
+ if (this.onRemoveTrack) {
119
+ this.legitimateStream.removeEventListener('removetrack', this.onRemoveTrack);
120
+ this.onRemoveTrack = null;
121
+ }
122
+ const videoTrack = this.legitimateStream.getVideoTracks()[0];
123
+ if (videoTrack && this.onTrackEnded) {
124
+ videoTrack.removeEventListener('ended', this.onTrackEnded);
125
+ this.onTrackEnded = null;
126
+ }
127
+ }
128
+ catch (e) {
129
+ printLogs('[VideoIntegrityMonitor] failed to remove stream listeners', e, 'WARN');
130
+ }
131
+ printLogs('[VideoIntegrityMonitor] disposed', '');
132
+ }
133
+ recordViolation(type, details) {
134
+ try {
135
+ this.violations.push({
136
+ type,
137
+ timestamp: Date.now(),
138
+ details,
139
+ });
140
+ printLogs(`[VideoIntegrityMonitor] violation: ${type}`, details, 'WARN');
141
+ }
142
+ catch (_a) {
143
+ // Last resort — never throw from the violation recorder itself
144
+ }
145
+ }
146
+ /**
147
+ * Intercepts srcObject setter on the video element instance via Object.defineProperty.
148
+ * MutationObserver cannot observe srcObject because it is a JS property, not a DOM attribute.
149
+ *
150
+ * SAFETY: The setter always delegates to the original prototype setter regardless of
151
+ * whether the violation recording succeeds or fails. The camera stream must never be
152
+ * blocked by integrity monitoring.
153
+ */
154
+ interceptSrcObject() {
155
+ const protoDescriptor = Object.getOwnPropertyDescriptor(HTMLMediaElement.prototype, 'srcObject');
156
+ if (!(protoDescriptor === null || protoDescriptor === void 0 ? void 0 : protoDescriptor.set))
157
+ return;
158
+ // Save whatever descriptor exists on the instance (if any) for cleanup
159
+ this.originalSrcObjectDescriptor = Object.getOwnPropertyDescriptor(this.videoElement, 'srcObject');
160
+ // Capture monitor instance — inside the property descriptor `this` refers to the
161
+ // HTMLVideoElement (the property owner), not the VideoIntegrityMonitor.
162
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
163
+ const monitor = this;
164
+ Object.defineProperty(this.videoElement, 'srcObject', {
165
+ get() {
166
+ var _a, _b;
167
+ return (_b = (_a = protoDescriptor.get) === null || _a === void 0 ? void 0 : _a.call(this)) !== null && _b !== void 0 ? _b : null;
168
+ },
169
+ set(value) {
170
+ // Always apply the value first — camera operations must never be blocked
171
+ protoDescriptor.set.call(this, value);
172
+ // Then record the violation if applicable (after dispose, stop monitoring)
173
+ try {
174
+ if (!monitor.disposed && value !== null && value !== monitor.legitimateStream) {
175
+ monitor.recordViolation('srcObject_changed', 'Video srcObject was reassigned to a different stream');
176
+ }
177
+ }
178
+ catch (e) {
179
+ printLogs('[VideoIntegrityMonitor] srcObject interceptor error', e, 'WARN');
180
+ }
181
+ },
182
+ configurable: true,
183
+ });
184
+ }
185
+ /**
186
+ * Watches video element attributes: style, hidden, id.
187
+ * Note: "class" is intentionally excluded — front-end frameworks (React, Tailwind)
188
+ * routinely toggle classes for animations and responsive styling, causing false positives.
189
+ */
190
+ initVideoAttributeObserver() {
191
+ this.videoAttributeObserver = new MutationObserver((mutations) => {
192
+ try {
193
+ for (const mutation of mutations) {
194
+ if (mutation.type !== 'attributes')
195
+ continue;
196
+ switch (mutation.attributeName) {
197
+ case 'style':
198
+ case 'hidden': {
199
+ // Only flag when the video element is actually hidden — benign style
200
+ // changes (positioning, dimensions, transitions) are common in frameworks
201
+ const computed = getComputedStyle(this.videoElement);
202
+ const isHidden = this.videoElement.hidden ||
203
+ computed.display === 'none' ||
204
+ computed.visibility === 'hidden' ||
205
+ parseFloat(computed.opacity) === 0;
206
+ if (isHidden) {
207
+ this.recordViolation('style_tampered', `Video element hidden via "${mutation.attributeName}"`);
208
+ }
209
+ break;
210
+ }
211
+ case 'id':
212
+ if (this.videoElement.id !== this.originalId) {
213
+ this.recordViolation('id_changed', `Video element ID changed from "${this.originalId}" to "${this.videoElement.id}"`);
214
+ }
215
+ break;
216
+ }
217
+ }
218
+ }
219
+ catch (e) {
220
+ printLogs('[VideoIntegrityMonitor] attribute observer error', e, 'WARN');
221
+ }
222
+ });
223
+ this.videoAttributeObserver.observe(this.videoElement, {
224
+ attributes: true,
225
+ attributeFilter: ['style', 'hidden', 'id'],
226
+ });
227
+ }
228
+ /**
229
+ * Watches the parent node for child list changes: element removal, replacement, overlay injection
230
+ */
231
+ initParentObserver() {
232
+ const parent = this.videoElement.parentNode;
233
+ if (!parent)
234
+ return;
235
+ this.parentChildListObserver = new MutationObserver((mutations) => {
236
+ try {
237
+ for (const mutation of mutations) {
238
+ if (mutation.type !== 'childList')
239
+ continue;
240
+ // Check if our video element was removed
241
+ for (const removed of mutation.removedNodes) {
242
+ if (removed === this.videoElement) {
243
+ this.recordViolation('element_removed', 'Video element was removed from the DOM');
244
+ }
245
+ }
246
+ // Check for suspicious new siblings
247
+ for (const added of mutation.addedNodes) {
248
+ if (!(added instanceof HTMLElement))
249
+ continue;
250
+ // A new video element added alongside ours could be a replacement
251
+ if (added instanceof HTMLVideoElement && added !== this.videoElement) {
252
+ this.recordViolation('element_replaced', `New <video> element added as sibling (id="${added.id || '(none)'}")`);
253
+ }
254
+ // Canvas or img overlays
255
+ if (added instanceof HTMLCanvasElement) {
256
+ this.recordViolation('overlay_injected', `<canvas> element injected as sibling`);
257
+ }
258
+ if (added instanceof HTMLImageElement) {
259
+ this.recordViolation('overlay_injected', `<img> element injected as sibling`);
260
+ }
261
+ }
262
+ }
263
+ }
264
+ catch (e) {
265
+ printLogs('[VideoIntegrityMonitor] parent observer error', e, 'WARN');
266
+ }
267
+ });
268
+ this.parentChildListObserver.observe(parent, { childList: true });
269
+ }
270
+ /**
271
+ * Listens for track add/remove events on the MediaStream
272
+ */
273
+ initStreamListeners() {
274
+ this.onAddTrack = () => {
275
+ this.recordViolation('track_swapped', 'A new track was added to the media stream');
276
+ };
277
+ this.onRemoveTrack = () => {
278
+ this.recordViolation('track_swapped', 'A track was removed from the media stream');
279
+ };
280
+ this.legitimateStream.addEventListener('addtrack', this.onAddTrack);
281
+ this.legitimateStream.addEventListener('removetrack', this.onRemoveTrack);
282
+ // Listen for track ended on the primary video track
283
+ const videoTrack = this.legitimateStream.getVideoTracks()[0];
284
+ if (videoTrack) {
285
+ this.onTrackEnded = () => {
286
+ this.recordViolation('track_ended', `Video track "${videoTrack.label}" ended unexpectedly`);
287
+ };
288
+ videoTrack.addEventListener('ended', this.onTrackEnded);
289
+ }
290
+ }
291
+ /**
292
+ * Validates that the current video track looks like a real camera device
293
+ * (canvas capture tracks have empty labels and no matching deviceId in enumerateDevices)
294
+ */
295
+ validateTrackSource() {
296
+ var _a;
297
+ return __awaiter(this, void 0, void 0, function* () {
298
+ try {
299
+ const videoTrack = this.legitimateStream.getVideoTracks()[0];
300
+ if (!videoTrack)
301
+ return;
302
+ const label = videoTrack.label;
303
+ const settings = (_a = videoTrack.getSettings) === null || _a === void 0 ? void 0 : _a.call(videoTrack);
304
+ const trackDeviceId = settings === null || settings === void 0 ? void 0 : settings.deviceId;
305
+ // Canvas capture tracks typically have empty labels
306
+ if (!label || label.trim() === '') {
307
+ this.recordViolation('track_source_suspicious', 'Video track has an empty label (possible canvas capture)');
308
+ return;
309
+ }
310
+ // Verify the deviceId matches an actual enumerated device
311
+ const devices = yield navigator.mediaDevices.enumerateDevices();
312
+ const videoDevices = devices.filter((d) => d.kind === 'videoinput');
313
+ const matchingDevice = videoDevices.find((d) => d.deviceId === trackDeviceId);
314
+ if (!matchingDevice) {
315
+ this.recordViolation('track_source_suspicious', `Track deviceId "${trackDeviceId}" not found in enumerated devices`);
316
+ }
317
+ }
318
+ catch (e) {
319
+ // Validation failure must not affect camera operations
320
+ printLogs('[VideoIntegrityMonitor] track source validation error', e, 'WARN');
321
+ }
322
+ });
323
+ }
324
+ }
325
+ //# sourceMappingURL=VideoIntegrityMonitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VideoIntegrityMonitor.js","sourceRoot":"","sources":["../../../../../../src/application/modules/support/camera/services/VideoIntegrityMonitor.ts"],"names":[],"mappings":"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"}
@@ -12,11 +12,12 @@ import { printLogs } from '../../internal/shared/shared.utils';
12
12
  import { checkAndroidSupport, checkBrowserCompatibility, checkIOSSupport, checkMacOSSupport, checkWebBrowsersSupport, handleCacheContent, } from './engine.utils';
13
13
  export class EngineService {
14
14
  constructor(wasmOrchestratorService) {
15
+ var _a, _b, _c;
15
16
  this.wasmOrchestratorService = wasmOrchestratorService;
16
- const { name, os, version } = detect();
17
- this.browserName = name;
18
- this.browserOS = os;
19
- this.browserVersion = version;
17
+ const browser = detect();
18
+ this.browserName = (_a = browser === null || browser === void 0 ? void 0 : browser.name) !== null && _a !== void 0 ? _a : 'unknown';
19
+ this.browserOS = (_b = browser === null || browser === void 0 ? void 0 : browser.os) !== null && _b !== void 0 ? _b : 'unknown';
20
+ this.browserVersion = (_c = browser === null || browser === void 0 ? void 0 : browser.version) !== null && _c !== void 0 ? _c : 'unknown';
20
21
  }
21
22
  loadModule(params) {
22
23
  return __awaiter(this, void 0, void 0, function* () {
@@ -1 +1 @@
1
- {"version":3,"file":"EngineService.js","sourceRoot":"","sources":["../../../../../src/application/modules/support/engine/EngineService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EngineService.js","sourceRoot":"","sources":["../../../../../src/application/modules/support/engine/EngineService.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export declare const BROWSER_COMPATIBILITY_MESSAGES: {
5
5
  readonly FIREFOX_NOT_SUPPORTED: "Firefox version 52 and below is not support WASM";
6
6
  readonly ANDROID_BROWSER_NOT_SUPPORTED: "Android Browser version 96 and below is not supported.";
7
7
  readonly UNABLE_TO_LOAD_WASM: "Unable to load wasm";
8
+ readonly WEBASSEMBLY_NOT_AVAILABLE: "WebAssembly is not supported in this browser environment. This may be caused by Lockdown Mode, a restricted WebView, or browser security settings.";
8
9
  };
9
10
  export declare const PACKAGE_COMPATIBILITY_MESSAGES: {
10
11
  readonly SAFARI_NOT_SUPPORTED: "Safari version 10 and below is not supported.";
@@ -6,6 +6,7 @@ export const BROWSER_COMPATIBILITY_MESSAGES = {
6
6
  FIREFOX_NOT_SUPPORTED: 'Firefox version 52 and below is not support WASM',
7
7
  ANDROID_BROWSER_NOT_SUPPORTED: 'Android Browser version 96 and below is not supported.',
8
8
  UNABLE_TO_LOAD_WASM: 'Unable to load wasm',
9
+ WEBASSEMBLY_NOT_AVAILABLE: 'WebAssembly is not supported in this browser environment. This may be caused by Lockdown Mode, a restricted WebView, or browser security settings.',
9
10
  };
10
11
  export const PACKAGE_COMPATIBILITY_MESSAGES = {
11
12
  SAFARI_NOT_SUPPORTED: 'Safari version 10 and below is not supported.',
@@ -1 +1 @@
1
- {"version":3,"file":"engine.constants.js","sourceRoot":"","sources":["../../../../../src/application/modules/support/engine/engine.constants.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,0BAA0B,EAAE,uDAAuD;IACnF,mBAAmB,EAAE,gDAAgD;IACrE,oBAAoB,EAAE,iDAAiD;IACvE,qBAAqB,EAAE,kDAAkD;IACzE,6BAA6B,EAAE,wDAAwD;IACvF,mBAAmB,EAAE,qBAAqB;CAClC,CAAC;AAEX,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,oBAAoB,EAAE,+CAA+C;IACrE,0BAA0B,EAAE,uDAAuD;IACnF,4BAA4B,EAAE,uDAAuD;IACrF,6BAA6B,EAAE,uDAAuD;IACtF,4BAA4B,EAAE,uDAAuD;IACrF,6BAA6B,EAAE,wDAAwD;IACvF,gBAAgB,EAAE,qCAAqC;IACvD,kBAAkB,EAAE,6CAA6C;IACjE,oBAAoB,EAAE,iDAAiD;IACvE,qBAAqB,EAAE,gDAAgD;IACvE,mBAAmB,EAAE,gDAAgD;CAC7D,CAAC;AAEX,MAAM,CAAC,MAAM,kCAAkC,GAAG;IAChD,MAAM,EAAE,EAAE;IACV,YAAY,EAAE,EAAE;IAChB,cAAc,EAAE,EAAE;IAClB,eAAe,EAAE,GAAG;IACpB,cAAc,EAAE,EAAE;IAClB,eAAe,EAAE,EAAE;IACnB,IAAI,EAAE,EAAE;IACR,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,EAAE;CACD,CAAC"}
1
+ {"version":3,"file":"engine.constants.js","sourceRoot":"","sources":["../../../../../src/application/modules/support/engine/engine.constants.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,0BAA0B,EAAE,uDAAuD;IACnF,mBAAmB,EAAE,gDAAgD;IACrE,oBAAoB,EAAE,iDAAiD;IACvE,qBAAqB,EAAE,kDAAkD;IACzE,6BAA6B,EAAE,wDAAwD;IACvF,mBAAmB,EAAE,qBAAqB;IAC1C,yBAAyB,EACvB,oJAAoJ;CAC9I,CAAC;AAEX,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,oBAAoB,EAAE,+CAA+C;IACrE,0BAA0B,EAAE,uDAAuD;IACnF,4BAA4B,EAAE,uDAAuD;IACrF,6BAA6B,EAAE,uDAAuD;IACtF,4BAA4B,EAAE,uDAAuD;IACrF,6BAA6B,EAAE,wDAAwD;IACvF,gBAAgB,EAAE,qCAAqC;IACvD,kBAAkB,EAAE,6CAA6C;IACjE,oBAAoB,EAAE,iDAAiD;IACvE,qBAAqB,EAAE,gDAAgD;IACvE,mBAAmB,EAAE,gDAAgD;CAC7D,CAAC;AAEX,MAAM,CAAC,MAAM,kCAAkC,GAAG;IAChD,MAAM,EAAE,EAAE;IACV,YAAY,EAAE,EAAE;IAChB,cAAc,EAAE,EAAE;IAClB,eAAe,EAAE,GAAG;IACpB,cAAc,EAAE,EAAE;IAClB,eAAe,EAAE,EAAE;IACnB,IAAI,EAAE,EAAE;IACR,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,EAAE;CACD,CAAC"}
@@ -8,13 +8,24 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import { detect } from 'detect-browser';
11
- import { iOS, printLogs } from '../../internal/shared/shared.utils';
11
+ import { iOS, isWebAssemblyAvailable, printLogs } from '../../internal/shared/shared.utils';
12
12
  import { BROWSER_COMPATIBILITY_MESSAGES, PACKAGE_COMPATIBILITY_MESSAGES, PACKAGE_COMPATIBILITY_MIN_VERSIONS, } from './engine.constants';
13
13
  /**
14
14
  * Check if the current browser supports WASM Engine
15
15
  */
16
16
  export function checkBrowserCompatibility() {
17
- const { name: browserName, version, os } = detect();
17
+ if (!isWebAssemblyAvailable()) {
18
+ return {
19
+ support: false,
20
+ message: BROWSER_COMPATIBILITY_MESSAGES.WEBASSEMBLY_NOT_AVAILABLE,
21
+ };
22
+ }
23
+ const browser = detect();
24
+ if (!browser) {
25
+ printLogs('[engine.utils] detect-browser returned null, cannot determine browser compatibility', '');
26
+ return { support: true };
27
+ }
28
+ const { name: browserName, version, os } = browser;
18
29
  // Mobile checks
19
30
  if (os === 'iOS' || iOS()) {
20
31
  if (browserName === 'opera' && parseInt(version.split('.')[0], 10) <= 72) {
@@ -1 +1 @@
1
- {"version":3,"file":"engine.utils.js","sourceRoot":"","sources":["../../../../../src/application/modules/support/engine/engine.utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.utils.js","sourceRoot":"","sources":["../../../../../src/application/modules/support/engine/engine.utils.ts"],"names":[],"mappings":"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"}
@@ -53,8 +53,8 @@ export declare class WasmWorkerService implements WasmWorker {
53
53
  private obtainFromNetwork;
54
54
  private compileWasmBinary;
55
55
  private obtainFromNetworkWithFallback;
56
- ultraEnroll(params: EnrollParams, resultCallback: RegularCallback): Promise<boolean>;
57
- ultraPredict(params: PredictParams, resultCallback: RegularCallback, onAntiSpoofProgress?: RegularCallback): Promise<boolean>;
56
+ ultraEnroll(params: EnrollParams, resultCallback: RegularCallback, onAntiSpoofProgress?: RegularCallback, onWasmCroppingCallback?: (base64Image: string) => void): Promise<boolean>;
57
+ ultraPredict(params: PredictParams, resultCallback: RegularCallback, onAntiSpoofProgress?: RegularCallback, onWasmCroppingCallback?: (base64Image: string) => void): Promise<boolean>;
58
58
  ultraAgeEstimate(params: AgeEstimateParams, resultCallback: (...args: unknown[]) => void, onAntiSpoofProgress?: (...args: unknown[]) => void, onWasmCroppingCallback?: (base64Image: string) => void): Promise<boolean>;
59
59
  ultraCompareEmbeddings(params: CompareEmbeddingsParams, resultCallback: RegularCallback): Promise<boolean>;
60
60
  pkiEncrypt(params: PkiEncryptParams): string | {
@@ -8,7 +8,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import { expose } from 'comlink';
11
- import { printLogs, setDebugType } from '../../modules/internal/shared/shared.utils';
11
+ import { isWebAssemblyAvailable, printLogs, setDebugType } from '../../modules/internal/shared/shared.utils';
12
12
  import { checkCacheAndCurrentAreSameVersion, classifyFailureReason, clearCacheEntry, flatImageDataArraysIntoUint8Array, isCacheCorruptionFailure, readCurrentWasmVersion, readFromIndexedDBWithTimeout, removeNullBytesFromDecodedString, validateCustomWasmUrl, validateWasmBinary, writeToCacheQuietly, } from './wasm-worker.utils';
13
13
  import { WASM_ULTRA_FOLDER_NAME } from './wasm-worker.constants';
14
14
  const callbackRegistry = {
@@ -172,6 +172,9 @@ export class WasmWorkerService {
172
172
  loadModulesInternal(params, errorCallback, progressCallback) {
173
173
  var _a, _b;
174
174
  return __awaiter(this, void 0, void 0, function* () {
175
+ if (!isWebAssemblyAvailable()) {
176
+ throw new Error('WebAssembly is not available in this worker context.');
177
+ }
175
178
  this.proxiedErrorCallback = errorCallback;
176
179
  callbackRegistry.error = errorCallback;
177
180
  this.proxiedProgressCallback = progressCallback;
@@ -340,7 +343,7 @@ export class WasmWorkerService {
340
343
  }
341
344
  const module = yield this.compileWasmBinary(buffer, ctx);
342
345
  if (tier.shouldCache) {
343
- yield writeToCacheQuietly(buffer, module, this.getWasmFolderName());
346
+ yield writeToCacheQuietly(buffer, ctx.version, this.getWasmFolderName());
344
347
  }
345
348
  attempts.push({ source: tier.source, success: true });
346
349
  // Determine the reported source. When the custom URL tier failed and we fell
@@ -436,7 +439,9 @@ export class WasmWorkerService {
436
439
  return yield createTFLiteModule({ wasmBinary });
437
440
  }
438
441
  catch (error) {
439
- if (error instanceof WebAssembly.CompileError && ctx.modulePath === 'simd') {
442
+ // typeof guard must come first: short-circuit evaluation prevents ReferenceError
443
+ // from accessing WebAssembly.CompileError when WebAssembly is undefined.
444
+ if (isWebAssemblyAvailable() && error instanceof WebAssembly.CompileError && ctx.modulePath === 'simd') {
440
445
  printLogs('[WasmWorkerService] SIMD CompileError -- retrying with noSIMD', error, 'WARN');
441
446
  return this.obtainFromNetworkWithFallback(ctx);
442
447
  }
@@ -465,9 +470,13 @@ export class WasmWorkerService {
465
470
  return createTFLiteModule({ wasmBinary: buffer });
466
471
  });
467
472
  }
468
- ultraEnroll(params, resultCallback) {
473
+ ultraEnroll(params, resultCallback, onAntiSpoofProgress, onWasmCroppingCallback) {
469
474
  return __awaiter(this, void 0, void 0, function* () {
470
475
  callbackRegistry.result = resultCallback;
476
+ callbackRegistry.wasmCropping = onWasmCroppingCallback !== null && onWasmCroppingCallback !== void 0 ? onWasmCroppingCallback : null;
477
+ if (onAntiSpoofProgress) {
478
+ callbackRegistry.progress = onAntiSpoofProgress;
479
+ }
471
480
  if (!(yield this.ensureModulesAreReady())) {
472
481
  return false;
473
482
  }
@@ -497,9 +506,10 @@ export class WasmWorkerService {
497
506
  }
498
507
  });
499
508
  }
500
- ultraPredict(params, resultCallback, onAntiSpoofProgress) {
509
+ ultraPredict(params, resultCallback, onAntiSpoofProgress, onWasmCroppingCallback) {
501
510
  return __awaiter(this, void 0, void 0, function* () {
502
511
  callbackRegistry.result = resultCallback;
512
+ callbackRegistry.wasmCropping = onWasmCroppingCallback !== null && onWasmCroppingCallback !== void 0 ? onWasmCroppingCallback : null;
503
513
  if (onAntiSpoofProgress) {
504
514
  callbackRegistry.progress = onAntiSpoofProgress;
505
515
  }
@@ -534,12 +544,10 @@ export class WasmWorkerService {
534
544
  ultraAgeEstimate(params, resultCallback, onAntiSpoofProgress, onWasmCroppingCallback) {
535
545
  return __awaiter(this, void 0, void 0, function* () {
536
546
  callbackRegistry.result = resultCallback;
547
+ callbackRegistry.wasmCropping = onWasmCroppingCallback !== null && onWasmCroppingCallback !== void 0 ? onWasmCroppingCallback : null;
537
548
  if (onAntiSpoofProgress) {
538
549
  callbackRegistry.progress = onAntiSpoofProgress;
539
550
  }
540
- if (onWasmCroppingCallback) {
541
- callbackRegistry.wasmCropping = onWasmCroppingCallback;
542
- }
543
551
  if (!(yield this.ensureModulesAreReady())) {
544
552
  return false;
545
553
  }