@privateid/ultrapass-web-sdk 1.6.1 → 1.7.0

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 (47) hide show
  1. package/dist/application/modules/internal/feature-flag/feature-flag.domain.d.ts +1 -0
  2. package/dist/application/modules/internal/feature-flag/feature-flag.domain.js +1 -0
  3. package/dist/application/modules/internal/feature-flag/feature-flag.domain.js.map +1 -1
  4. package/dist/application/modules/internal/shared/shared.utils.js +3 -0
  5. package/dist/application/modules/internal/shared/shared.utils.js.map +1 -1
  6. package/dist/application/modules/internal/wasm-orchestrator/WasmOrchestratorService.d.ts +11 -1
  7. package/dist/application/modules/internal/wasm-orchestrator/WasmOrchestratorService.js +148 -3
  8. package/dist/application/modules/internal/wasm-orchestrator/WasmOrchestratorService.js.map +1 -1
  9. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.domain.d.ts +17 -1
  10. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.types.d.ts +21 -1
  11. package/dist/application/modules/support/camera/services/DesktopCameraService.js +21 -3
  12. package/dist/application/modules/support/camera/services/DesktopCameraService.js.map +1 -1
  13. package/dist/application/modules/support/camera/services/FirefoxCameraService.js +97 -25
  14. package/dist/application/modules/support/camera/services/FirefoxCameraService.js.map +1 -1
  15. package/dist/application/modules/support/engine/EngineService.d.ts +5 -1
  16. package/dist/application/modules/support/engine/EngineService.js +48 -0
  17. package/dist/application/modules/support/engine/EngineService.js.map +1 -1
  18. package/dist/application/modules/support/engine/engine.domain.d.ts +17 -1
  19. package/dist/application/modules/support/engine/engine.types.d.ts +21 -1
  20. package/dist/application/modules/support/engine/index.d.ts +1 -1
  21. package/dist/application/workers/wasm/WasmWorkerService.d.ts +13 -3
  22. package/dist/application/workers/wasm/WasmWorkerService.js +93 -38
  23. package/dist/application/workers/wasm/WasmWorkerService.js.map +1 -1
  24. package/dist/application/workers/wasm/wasm-worker.domain.d.ts +5 -3
  25. package/dist/application/workers/wasm/wasm-worker.types.d.ts +27 -1
  26. package/dist/application/workers/wasm/wasm-worker.utils.d.ts +2 -1
  27. package/dist/application/workers/wasm/wasm-worker.utils.js +36 -11
  28. package/dist/application/workers/wasm/wasm-worker.utils.js.map +1 -1
  29. package/dist/main.d.ts +6 -1
  30. package/dist/main.js +12 -0
  31. package/dist/main.js.map +1 -1
  32. package/package.json +3 -1
  33. package/wasm/ultra/manifest.json +23 -0
  34. package/wasm/ultra/nosimd/26.02.13-24c4552-prod/privid_fhe_ultra.js +18 -0
  35. package/wasm/ultra/nosimd/{26.01.29-ad4fa18 → 26.02.13-24c4552-prod}/privid_fhe_ultra.wasm +0 -0
  36. package/wasm/ultra/nosimd/version.json +1 -1
  37. package/wasm/ultra/simd/26.02.13-24c4552-prod/privid_fhe_ultra.js +18 -0
  38. package/wasm/ultra/simd/{26.01.29-ad4fa18 → 26.02.13-24c4552-prod}/privid_fhe_ultra.wasm +0 -0
  39. package/wasm/ultra/simd/version.json +1 -1
  40. package/wasm/{ultra/nosimd/26.01.29-ad4fa18 → ultra-dev/nosimd/26.02.13-24c4552-dev}/privid_fhe_ultra.js +1 -1
  41. package/wasm/ultra-dev/nosimd/26.02.13-24c4552-dev/privid_fhe_ultra.wasm +0 -0
  42. package/wasm/ultra-dev/nosimd/version.json +3 -0
  43. package/wasm/{ultra/simd/26.01.29-ad4fa18 → ultra-dev/simd/26.02.13-24c4552-dev}/privid_fhe_ultra.js +1 -1
  44. package/wasm/ultra-dev/simd/26.02.13-24c4552-dev/privid_fhe_ultra.wasm +0 -0
  45. package/wasm/ultra-dev/simd/version.json +3 -0
  46. package/workers/wasm-new.worker.js +1 -1
  47. package/workers/wasm-new.worker.js.map +3 -3
@@ -1,20 +1,22 @@
1
1
  import { Remote } from 'comlink';
2
- import { AgeEstimateParams, CompareEmbeddingsParams, DocumentOcrParams, EnrollParams, LoadParams, PkiEncryptParams, PredictParams, ScanBackDocumentParams, ScanFrontDocumentParams, ProxiedCallback, RegularCallback } from './wasm-worker.types';
2
+ import { AgeEstimateParams, CompareEmbeddingsParams, DocumentOcrParams, EnrollParams, LoadParams, LoadModulesResult, PkiEncryptParams, PredictParams, ScanBackDocumentParams, ScanFrontDocumentParams, ProxiedCallback, RegularCallback } from './wasm-worker.types';
3
3
  export interface WasmWorker {
4
4
  /**
5
5
  * Loads the WASM modules
6
6
  * @param params - Load parameters including API configuration
7
7
  * @param errorCallback - Error callback that MUST be wrapped with proxy() from Comlink
8
8
  * @param progressCallback - Optional progress callback that MUST be wrapped with proxy() from Comlink
9
+ * @returns Load result containing message and load status
9
10
  * @example
10
11
  * ```typescript
11
12
  * import { proxy } from 'comlink';
12
13
  * const errorCallback = proxy((error) => console.error(error));
13
14
  * const progressCallback = proxy((progress) => console.log(progress));
14
- * await worker.loadModules(params, errorCallback, progressCallback);
15
+ * const result = await worker.loadModules(params, errorCallback, progressCallback);
16
+ * console.log(result.message, result.status);
15
17
  * ```
16
18
  */
17
- loadModules(params: LoadParams, errorCallback: ProxiedCallback, progressCallback?: ProxiedCallback): Promise<string>;
19
+ loadModules(params: LoadParams, errorCallback: ProxiedCallback, progressCallback?: ProxiedCallback): Promise<LoadModulesResult>;
18
20
  /**
19
21
  * Enrolls an image for facial recognition
20
22
  * @param params
@@ -25,6 +25,10 @@ export type ApiUrl = {
25
25
  };
26
26
  };
27
27
  };
28
+ export type CustomWasmConfig = {
29
+ url: string;
30
+ version: string;
31
+ };
28
32
  export type LoadParams = {
29
33
  simd: boolean;
30
34
  apiUrl: ApiUrl;
@@ -37,7 +41,9 @@ export type LoadParams = {
37
41
  shouldRegenerateSession?: boolean;
38
42
  usageScenario?: string;
39
43
  cacheContent?: string;
40
- customWasmUrl?: string;
44
+ customWasm?: CustomWasmConfig;
45
+ wasmBaseUrl?: string;
46
+ wasmFolderName?: string;
41
47
  };
42
48
  export type EnrollParams = {
43
49
  imageData: ImageData;
@@ -87,3 +93,23 @@ export type FetchResourceURLs = {
87
93
  local: string;
88
94
  };
89
95
  export type WasmSessionPointer = number;
96
+ export type WasmInfo = {
97
+ version: string;
98
+ interceptPath: string;
99
+ cdnUrl: string;
100
+ };
101
+ export type WasmLoadStatus = {
102
+ source: 'custom' | 'custom-fallback' | 'cdn' | 'cache';
103
+ versionMatch: boolean;
104
+ };
105
+ export type LoadModulesResult = {
106
+ message: string;
107
+ status: WasmLoadStatus | null;
108
+ };
109
+ export type WasmVersionManifest = {
110
+ version: string;
111
+ releaseDate: string;
112
+ downloadUrl: string;
113
+ interceptPath: string;
114
+ sha256: string;
115
+ };
@@ -5,6 +5,7 @@ export declare function fetchResource(urls: FetchResourceURLs, useCdnLink?: bool
5
5
  export declare function checkCacheAndCurrentAreSameVersion(cachedModule: WasmCacheData | null, currentVersionJSON: {
6
6
  version: string | number;
7
7
  } | null): boolean;
8
- export declare function readCurrentWasmVersion(modulePath: string): Promise<any>;
8
+ export declare function readCurrentWasmVersion(modulePath: string, wasmBaseUrl?: string | null, wasmFolderName?: string): Promise<any>;
9
9
  export declare function flatImageDataArraysIntoUint8Array(imageDataArray: ImageData[]): Uint8Array;
10
10
  export declare function removeNullBytesFromDecodedString(string: string): string;
11
+ export declare function validateCustomWasmUrl(url: string): Promise<boolean>;
@@ -74,22 +74,29 @@ export function writeToIndexedDB(key, cachedWasm, cachedScript, version) {
74
74
  }
75
75
  export function fetchResource(urls, useCdnLink) {
76
76
  return __awaiter(this, void 0, void 0, function* () {
77
- try {
78
- if (useCdnLink) {
77
+ // If CDN is requested, try CDN first with local fallback
78
+ if (useCdnLink) {
79
+ try {
79
80
  printLogs(`[WasmWorkerService] fetchResource from cdnUrl`, urls.cdn);
80
81
  const response = yield fetch(urls.cdn);
82
+ if (!response.ok) {
83
+ throw new Error(`CDN response not ok: ${response.status}`);
84
+ }
81
85
  printLogs(`Response: `, response);
82
86
  return response;
83
87
  }
84
- printLogs(`[WasmWorkerService] fetchResource from localUrl`, urls.local);
85
- const response = yield fetch(urls.local);
86
- return response;
88
+ catch (cdnError) {
89
+ console.error(`[WasmWorkerService] CDN fetch failed, trying local. Error: ${cdnError}`);
90
+ // Fall through to try local
91
+ }
87
92
  }
88
- catch (error) {
89
- console.error(`[WasmWorkerService] Error fetching resource from CDN. Falling back to local url. Error: ${error}`);
90
- const response = yield fetch(urls.local);
91
- return response;
93
+ // Try local URL
94
+ printLogs(`[WasmWorkerService] fetchResource from localUrl`, urls.local);
95
+ const response = yield fetch(urls.local);
96
+ if (!response.ok) {
97
+ throw new Error(`Local fetch failed: ${response.status} for ${urls.local}`);
92
98
  }
99
+ return response;
93
100
  });
94
101
  }
95
102
  export function checkCacheAndCurrentAreSameVersion(cachedModule, currentVersionJSON) {
@@ -105,9 +112,12 @@ export function checkCacheAndCurrentAreSameVersion(cachedModule, currentVersionJ
105
112
  return false;
106
113
  }
107
114
  }
108
- export function readCurrentWasmVersion(modulePath) {
115
+ export function readCurrentWasmVersion(modulePath, wasmBaseUrl, wasmFolderName = WASM_ULTRA_FOLDER_NAME) {
109
116
  return __awaiter(this, void 0, void 0, function* () {
110
- const versionData = yield fetch(`../../../../wasm/${WASM_ULTRA_FOLDER_NAME}/${modulePath}/version.json`);
117
+ const versionUrl = wasmBaseUrl
118
+ ? `${wasmBaseUrl}/wasm/${wasmFolderName}/${modulePath}/version.json`
119
+ : `../wasm/${wasmFolderName}/${modulePath}/version.json`;
120
+ const versionData = yield fetch(versionUrl);
111
121
  return versionData.json();
112
122
  });
113
123
  }
@@ -127,4 +137,19 @@ export function removeNullBytesFromDecodedString(string) {
127
137
  .filter((char) => char.codePointAt(0))
128
138
  .join('');
129
139
  }
140
+ export function validateCustomWasmUrl(url) {
141
+ return __awaiter(this, void 0, void 0, function* () {
142
+ try {
143
+ printLogs('[wasm-worker.utils] Validating custom WASM URL:', url);
144
+ const response = yield fetch(url, { method: 'HEAD' });
145
+ const isValid = response.ok;
146
+ printLogs('[wasm-worker.utils] Custom WASM URL validation result:', isValid);
147
+ return isValid;
148
+ }
149
+ catch (error) {
150
+ printLogs('[wasm-worker.utils] Custom WASM URL validation failed:', error, 'ERROR');
151
+ return false;
152
+ }
153
+ });
154
+ }
130
155
  //# sourceMappingURL=wasm-worker.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wasm-worker.utils.js","sourceRoot":"","sources":["../../../../src/application/workers/wasm/wasm-worker.utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wasm-worker.utils.js","sourceRoot":"","sources":["../../../../src/application/workers/wasm/wasm-worker.utils.ts"],"names":[],"mappings":";;;;;;;;;AAAA,iDAAiD;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,4CAA4C,CAAC;AACvE,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AAGjC,yCAAyC;AACzC,SAAS,gBAAgB,CAAI,OAAsB;IACjD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,OAAO,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAClD,OAAO,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,sCAAsC;AACtC,MAAM,UAAgB,iBAAiB,CAAC,GAAW;;QACjD,IAAI,CAAC,SAAS,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;SAC5C;QAED,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;QAExE,WAAW,CAAC,eAAe,GAAG,GAAG,EAAE;YACjC,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC;YAC9B,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;gBACrD,EAAE,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;aAC1C;QACH,CAAC,CAAC;QAEF,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAE/C,IAAI;YACF,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;YACnE,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACtD,OAAO,MAAM,CAAC;SACf;QAAC,OAAO,KAAK,EAAE;YACd,SAAS,CAAC,mDAAmD,EAAE,KAAK,CAAC,CAAC;YACtE,MAAM,KAAK,CAAC;SACb;gBAAS;YACR,EAAE,CAAC,KAAK,EAAE,CAAC;SACZ;IACH,CAAC;CAAA;AAED,sBAAsB;AACtB,MAAM,UAAgB,gBAAgB,CACpC,GAAW,EACX,UAAe,EACf,YAAiB,EACjB,OAAwB;;QAExB,IAAI,CAAC,SAAS,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;SAC5C;QAED,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;QAExE,WAAW,CAAC,eAAe,GAAG,GAAG,EAAE;YACjC,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC;YAC9B,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;gBACrD,EAAE,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;aAC1C;QACH,CAAC,CAAC;QAEF,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAE/C,IAAI;YACF,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;YACpE,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;YAE1D,MAAM,IAAI,GAAkB,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;YAClE,MAAM,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;YAE7C,OAAO,OAAO,CAAC;SAChB;gBAAS;YACR,EAAE,CAAC,KAAK,EAAE,CAAC;SACZ;IACH,CAAC;CAAA;AAED,MAAM,UAAgB,aAAa,CAAC,IAAuB,EAAE,UAAoB;;QAC/E,yDAAyD;QACzD,IAAI,UAAU,EAAE;YACd,IAAI;gBACF,SAAS,CAAC,+CAA+C,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACvC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;oBAChB,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;iBAC5D;gBACD,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;gBAClC,OAAO,QAAQ,CAAC;aACjB;YAAC,OAAO,QAAQ,EAAE;gBACjB,OAAO,CAAC,KAAK,CAAC,8DAA8D,QAAQ,EAAE,CAAC,CAAC;gBACxF,4BAA4B;aAC7B;SACF;QAED,gBAAgB;QAChB,SAAS,CAAC,iDAAiD,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACzE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;SAC7E;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CAAA;AAED,MAAM,UAAU,kCAAkC,CAChD,YAAkC,EAClC,kBAAuD;IAEvD,IAAI;QACF,MAAM,aAAa,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,CAAC;QAC5C,MAAM,cAAc,GAAG,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,OAAO,CAAC;QAEnD,SAAS,CACP,0FAA0F,EAC1F,GAAG,aAAa,SAAS,cAAc,EAAE,CAC1C,CAAC;QAEF,MAAM,mBAAmB,GAAG,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;QACzG,MAAM,oBAAoB,GAAG,OAAO,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;QAE7G,OAAO,mBAAmB,KAAK,oBAAoB,CAAC;KACrD;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAED,MAAM,UAAgB,sBAAsB,CAC1C,UAAkB,EAClB,WAA2B,EAC3B,iBAAyB,sBAAsB;;QAE/C,MAAM,UAAU,GAAG,WAAW;YAC5B,CAAC,CAAC,GAAG,WAAW,SAAS,cAAc,IAAI,UAAU,eAAe;YACpE,CAAC,CAAC,WAAW,cAAc,IAAI,UAAU,eAAe,CAAC;QAE3D,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC;QAC5C,OAAO,WAAW,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;CAAA;AAED,MAAM,UAAU,iCAAiC,CAAC,cAA2B;IAC3E,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC1F,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;IAC9C,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE;QACpC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACpC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;KAC/B;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,MAAc;IAC7D,OAAO,MAAM;SACV,KAAK,CAAC,EAAE,CAAC;SACT,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;SACrC,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,MAAM,UAAgB,qBAAqB,CAAC,GAAW;;QACrD,IAAI;YACF,SAAS,CAAC,iDAAiD,EAAE,GAAG,CAAC,CAAC;YAClE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC;YAC5B,SAAS,CAAC,wDAAwD,EAAE,OAAO,CAAC,CAAC;YAC7E,OAAO,OAAO,CAAC;SAChB;QAAC,OAAO,KAAK,EAAE;YACd,SAAS,CAAC,wDAAwD,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YACpF,OAAO,KAAK,CAAC;SACd;IACH,CAAC;CAAA"}
package/dist/main.d.ts CHANGED
@@ -3,7 +3,7 @@ import type { FaceEnrollParams, EstimateAgeParams, FacePredictParams } from './a
3
3
  import type { OpenCameraParams } from './application/modules/support/camera';
4
4
  import { CameraSwitchParams } from './application/modules/support/camera/camera.types';
5
5
  import { PermissionDataState } from './application/modules/support/permissions/permissions.types';
6
- import { LoadModuleParams } from './application/modules/support/engine';
6
+ import { CustomWasmConfig, LoadModuleParams, WasmInfo, WasmLoadStatus, WasmVersionManifest } from './application/modules/support/engine';
7
7
  /**
8
8
  * Requests camera permission from the user.
9
9
  * @returns Promise<boolean> - true if permission granted, false otherwise
@@ -32,6 +32,10 @@ export declare function engineCheckModelsAreLoaded(): Promise<boolean>;
32
32
  export declare function engineFreeMemory(): Promise<boolean>;
33
33
  export declare function engineEncryptData(payload: unknown): Promise<string[]>;
34
34
  export declare function engineCheckPackageSupport(): import("./application/modules/support/engine/engine.types").PackageSupportResult;
35
+ export declare function engineGetWasmInfo(): Promise<WasmInfo>;
36
+ export declare function engineGetLoadStatus(): Promise<WasmLoadStatus | null>;
37
+ export declare function engineGetVersionManifest(): Promise<WasmVersionManifest>;
38
+ export declare function engineCheckVersionMatch(version: string): Promise<boolean>;
35
39
  export declare function faceAgeEstimation(params: EstimateAgeParams): Promise<unknown>;
36
40
  export declare function faceEnroll(params: FaceEnrollParams): Promise<unknown>;
37
41
  export declare function facePredict(params: FacePredictParams): Promise<unknown>;
@@ -41,3 +45,4 @@ export declare function documentScanBackGovernmentPhotoId(params: BackScanParams
41
45
  export declare function documentExtractOCR(params: ExtractOcrParams): Promise<import("./application/modules/core/document/document.types").DocumentScanResponse>;
42
46
  export declare function documentCompareEmbeddings(params: CompareEmbeddingsParams): Promise<import("./application/modules/core/document/document.types").DocumentScanResponse>;
43
47
  export declare function setEnvVariables(env: string): void;
48
+ export type { CustomWasmConfig, LoadModuleParams, WasmInfo, WasmLoadStatus, WasmVersionManifest };
package/dist/main.js CHANGED
@@ -63,6 +63,18 @@ export function engineEncryptData(payload) {
63
63
  export function engineCheckPackageSupport() {
64
64
  return engineService.checkPackageSupport();
65
65
  }
66
+ export function engineGetWasmInfo() {
67
+ return engineService.getWasmInfo();
68
+ }
69
+ export function engineGetLoadStatus() {
70
+ return engineService.getLoadStatus();
71
+ }
72
+ export function engineGetVersionManifest() {
73
+ return engineService.getVersionManifest();
74
+ }
75
+ export function engineCheckVersionMatch(version) {
76
+ return engineService.checkVersionMatch(version);
77
+ }
66
78
  // Core Modules
67
79
  // FACE
68
80
  export function faceAgeEstimation(params) {
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@privateid/ultrapass-web-sdk",
3
3
  "homepage": "https://github.com/openinfer/ultraWebSDK?tab=readme-ov-file#ultra-web-sdk",
4
4
  "description": "Ultrapass Web SDK provides privacy-preserving biometric authentication and identity verification using Homomorphic Tokens (FTs). It enables secure face, voice, and fingerprint recognition directly in web browsers without exposing sensitive biometric data, ensuring user privacy without obligations under regulations like GDPR and CCPA.",
5
- "version": "1.6.1",
5
+ "version": "1.7.0",
6
6
  "keywords": [
7
7
  "Face recognition",
8
8
  "voice recognition",
@@ -64,8 +64,10 @@
64
64
  "scripts": {
65
65
  "prebuild": "node scripts/generate-config.js",
66
66
  "build": "npm run build:workers && tsc",
67
+ "postbuild": "npm run generate-wasm-manifest",
67
68
  "dev": "node scripts/generate-config.js && npm run build:workers && tsc -p tsconfig.json --watch",
68
69
  "build:workers": "node build-workers.js",
70
+ "generate-wasm-manifest": "node scripts/generate-wasm-manifest.js",
69
71
  "test": "jest",
70
72
  "lint": "eslint \"src/*.ts\"",
71
73
  "lint:fix": "eslint \"src/*.ts\" --fix",
@@ -0,0 +1,23 @@
1
+ {
2
+ "version": "26.02.13-24c4552-prod",
3
+ "releaseDate": "2026-02-18T15:14:12.176Z",
4
+ "downloadUrl": "https://ultra-wasm.privateid.com/wasm/ultra/simd/26.02.13-24c4552-prod/privid_fhe_ultra.wasm",
5
+ "interceptPath": "/wasm/ultra/simd/26.02.13-24c4552-prod/",
6
+ "sha256": "7c2169c83b7e7fa6a17a4c66fb429dc0ebaad57b0a7f32f2c76ab684cc11a839",
7
+ "builds": {
8
+ "ultra": {
9
+ "version": "26.02.13-24c4552-prod",
10
+ "releaseDate": "2026-02-18T15:14:12.176Z",
11
+ "downloadUrl": "https://ultra-wasm.privateid.com/wasm/ultra/simd/26.02.13-24c4552-prod/privid_fhe_ultra.wasm",
12
+ "interceptPath": "/wasm/ultra/simd/26.02.13-24c4552-prod/",
13
+ "sha256": "7c2169c83b7e7fa6a17a4c66fb429dc0ebaad57b0a7f32f2c76ab684cc11a839"
14
+ },
15
+ "ultra-dev": {
16
+ "version": "26.02.13-24c4552-dev",
17
+ "releaseDate": "2026-02-18T15:14:12.188Z",
18
+ "downloadUrl": "https://ultra-wasm.devel.privateid.com/wasm/ultra-dev/simd/26.02.13-24c4552-dev/privid_fhe_ultra.wasm",
19
+ "interceptPath": "/wasm/ultra-dev/simd/26.02.13-24c4552-dev/",
20
+ "sha256": "d4d671f581cc4d28a2b2a0c6d7eb5b513ee2e4a0cc24fd0ca458dfbf27803e6b"
21
+ }
22
+ }
23
+ }