@authme/engine 2.2.0-rc.8 → 2.2.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.
Binary file
Binary file
@@ -1 +1 @@
1
- 4.7.0
1
+ 4.8.0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@authme/engine",
3
- "version": "2.2.0-rc.8",
3
+ "version": "2.2.0",
4
4
  "devDependencies": {
5
5
  "rxjs": "~7.4.0"
6
6
  },
@@ -8,9 +8,10 @@
8
8
  "typings": "./src/index.d.ts",
9
9
  "dependencies": {},
10
10
  "peerDependencies": {
11
- "@authme/core": "2.2.0-rc.8",
12
- "@authme/util": "2.2.0-rc.8",
11
+ "@authme/core": "2.2.0",
12
+ "@authme/util": "2.2.0",
13
13
  "three": "^0.136.0",
14
+ "lottie-web": "^5.9.2",
14
15
  "tslib": "^2.3.0"
15
16
  }
16
17
  }
@@ -27,6 +27,7 @@ export declare abstract class AuthmeEngineModuleBase<T = any> {
27
27
  protected received: boolean;
28
28
  protected moduleName: EngineModule;
29
29
  constructor(engine: MlEngine);
30
+ _engineRunAsync(command: string, value?: any): Promise<any>;
30
31
  init(): Promise<boolean>;
31
32
  startSession(): Promise<void>;
32
33
  stop(): Promise<void>;
package/src/lib/engine.js CHANGED
@@ -7,6 +7,29 @@ const util_1 = require("@authme/util");
7
7
  const rxjs_1 = require("rxjs");
8
8
  const enum_1 = require("./enum");
9
9
  const interface_1 = require("./interface");
10
+ const getDownloadOrder = (function () {
11
+ // model 越大,在後續 worker service 載入與解密的時間越長,
12
+ // 所以盡可能讓越大的檔案排在越前面下載,以便讓耗費時間長的任務先排在背景執行。
13
+ //
14
+ // 但由於 api server 目前沒有提供檔案大小的相關資訊,
15
+ // 所以將順序相關的資訊寫死在 sdk 裡。
16
+ const DOWNLOAD_ORDER = Object.fromEntries([
17
+ 'FACE_03',
18
+ 'FACE_00',
19
+ 'IDCardAntiFraud_00',
20
+ 'FACE_01',
21
+ 'OCR_00',
22
+ 'FACE_02',
23
+ 'OCR_02',
24
+ 'MRZ_00',
25
+ 'OCR_01',
26
+ 'MRZ_01', // 375k
27
+ ].map((key, index) => [key, index]));
28
+ return function getDownloadOrder(key) {
29
+ var _a;
30
+ return (_a = DOWNLOAD_ORDER[key]) !== null && _a !== void 0 ? _a : Number.MAX_VALUE;
31
+ };
32
+ })();
10
33
  function isSimdSupported() {
11
34
  try {
12
35
  // Test for WebAssembly SIMD capability (for both browsers and Node.js)
@@ -45,6 +68,45 @@ function createWorkerWithObjectUrlAsync(url) {
45
68
  return worker;
46
69
  });
47
70
  }
71
+ function convertToModelQueryString(modelVersion) {
72
+ return `models=${modelVersion.name}[${modelVersion.version}]`;
73
+ }
74
+ function fetchModelCodesAsync(modelVersions) {
75
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
76
+ const queryString = modelVersions.map(convertToModelQueryString).join('&');
77
+ const response = yield (0, core_1.sendRequest)('/api/model-management/v1/model?' + queryString);
78
+ return response.models;
79
+ });
80
+ }
81
+ function base64ToBufferAsync(base64) {
82
+ const dataUrl = 'data:application/octet-binary;base64,' + base64;
83
+ return fetch(dataUrl).then((res) => res.arrayBuffer());
84
+ }
85
+ function fetchModelContentAsync(code, dataTransferMethod) {
86
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
87
+ const payload = yield (0, core_1.sendRequest)(`/api/model-management/v1/model/${code}${dataTransferMethod === 'binary' ? '/file' : ''}`);
88
+ if (dataTransferMethod === 'binary') {
89
+ return payload;
90
+ }
91
+ else {
92
+ return yield base64ToBufferAsync(payload.data);
93
+ }
94
+ });
95
+ }
96
+ function fetchModelContents(modelVersions, dataTransferMethod) {
97
+ return (0, rxjs_1.of)(modelVersions).pipe((0, rxjs_1.concatMap)((modelVersions) => (0, rxjs_1.defer)(() => fetchModelCodesAsync(modelVersions))), (0, rxjs_1.concatAll)(), (0, rxjs_1.mergeMap)(({ name, code }) => (0, rxjs_1.defer)(() => tslib_1.__awaiter(this, void 0, void 0, function* () {
98
+ return ({
99
+ modelName: name,
100
+ modelArrayBuffer: yield fetchModelContentAsync(code, dataTransferMethod),
101
+ });
102
+ })), 1
103
+ // 下載 model 過程會分為 wait time & download time,
104
+ // concurrent 設定越高,只能起到降低 wait time 的作用,但會拉長單一檔案完成下載的時間,
105
+ // 這會延遲 worker service 裡,載入與解密的時間。
106
+ //
107
+ // 所以 concurrent 建議設定為 1 或 2,盡量讓已下載好的 model 儘早進行載入與解密。
108
+ ));
109
+ }
48
110
  class AuthmeFunctionModule {
49
111
  init(config) {
50
112
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
@@ -147,7 +209,13 @@ class AuthmeEngineModuleBase {
147
209
  this.received = true;
148
210
  this.engine = engine;
149
211
  }
212
+ _engineRunAsync(command, value) {
213
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
214
+ return (0, rxjs_1.firstValueFrom)(this.engine.run(this.moduleName, command, value));
215
+ });
216
+ }
150
217
  init() {
218
+ var _a;
151
219
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
152
220
  if (this.initialized) {
153
221
  return true;
@@ -157,8 +225,13 @@ class AuthmeEngineModuleBase {
157
225
  }
158
226
  this.initializing = true;
159
227
  try {
160
- const result = yield (0, rxjs_1.firstValueFrom)(this.engine.run(this.moduleName, 'init'));
161
- (0, util_1.waitTime)(200);
228
+ const modelVersions = (yield this._engineRunAsync('getModelVersions'));
229
+ const stream$ = fetchModelContents(modelVersions.sort((a, b) => getDownloadOrder(a.name) - getDownloadOrder(b.name)), (_a = this.engine.getConfig().dataTransferMethod) !== null && _a !== void 0 ? _a : 'binary').pipe((0, rxjs_1.concatMap)(({ modelName, modelArrayBuffer }) => (0, rxjs_1.of)(this._engineRunAsync('loadModel', { modelName, modelArrayBuffer }))), (0, rxjs_1.reduce)((promises, item) => {
230
+ promises.push(item);
231
+ return promises;
232
+ }, []), (0, rxjs_1.concatMap)((promises) => (0, rxjs_1.defer)(() => Promise.all(promises))));
233
+ yield (0, rxjs_1.firstValueFrom)(stream$);
234
+ const result = yield this._engineRunAsync('init');
162
235
  this.initialized = true;
163
236
  return result;
164
237
  }
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../../../libs/engine/src/lib/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../../../libs/engine/src/lib/engine.ts"],"names":[],"mappings":"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"}