smartcomply-web-sdk 1.0.32 → 1.0.34
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.
- package/dist/camera/ActionDetector.d.ts +2 -0
- package/dist/camera/ActionDetector.d.ts.map +1 -1
- package/dist/camera/ActionDetector.js +21 -3
- package/dist/camera/ActionDetector.js.map +1 -1
- package/dist/esm/camera/ActionDetector.d.ts +2 -0
- package/dist/esm/camera/ActionDetector.d.ts.map +1 -1
- package/dist/esm/camera/ActionDetector.js +21 -3
- package/dist/esm/camera/ActionDetector.js.map +1 -1
- package/dist/esm/flow/SmartComplyFlow.js +4 -4
- package/dist/esm/flow/SmartComplyFlow.js.map +1 -1
- package/dist/esm/modules/liveness/LivenessUI.js +3 -3
- package/dist/esm/modules/liveness/liveness.d.ts +14 -3
- package/dist/esm/modules/liveness/liveness.d.ts.map +1 -1
- package/dist/esm/modules/liveness/liveness.js +51 -15
- package/dist/esm/modules/liveness/liveness.js.map +1 -1
- package/dist/esm/utils/constants.d.ts +1 -1
- package/dist/esm/utils/constants.js +1 -1
- package/dist/flow/SmartComplyFlow.js +4 -4
- package/dist/flow/SmartComplyFlow.js.map +1 -1
- package/dist/modules/liveness/LivenessUI.js +3 -3
- package/dist/modules/liveness/liveness.d.ts +14 -3
- package/dist/modules/liveness/liveness.d.ts.map +1 -1
- package/dist/modules/liveness/liveness.js +51 -15
- package/dist/modules/liveness/liveness.js.map +1 -1
- package/dist/smartcomply.browser.js +80 -31
- package/dist/smartcomply.browser.js.map +4 -4
- package/dist/utils/constants.d.ts +1 -1
- package/dist/utils/constants.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"liveness.d.ts","sourceRoot":"","sources":["../../../src/modules/liveness/liveness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"liveness.d.ts","sourceRoot":"","sources":["../../../src/modules/liveness/liveness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,sBAAsB,CAAC;AAS9B;;;;;;;;;;GAUG;AACH,qBAAa,cAAc;IACb,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAEpC;;;;;;OAMG;IACG,MAAM,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA4D5E;;;;;;;;;OASG;IACG,MAAM,CACV,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,IAAI,EACf,YAAY,EAAE,IAAI,EAClB,YAAY,CAAC,EAAE,IAAI,EACnB,oBAAoB,CAAC,EAAE,MAAM,EAC7B,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,sBAAsB,CAAC;IAqBlC;;;;;OAKG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QACzC,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;QACf,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;KAC7B,CAAC;IAIF;;;;;;;;;;;;OAYG;IACG,UAAU,CACd,SAAS,EAAE,WAAW,EACtB,MAAM,EAAE;QACN,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,MAAM,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;QACtB,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;QACvB,cAAc,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;QAC7B,aAAa,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;QAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,iBAAiB,CAAC,EAAE,mBAAmB,GAAG,uBAAuB,GAAG,eAAe,CAAC;KACrF,EACD,OAAO,CAAC,EAAE,eAAe,EAAE,EAC3B,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,sBAAsB,CAAC;IAiTlC;;;;;;;;;;OAUG;YACW,YAAY;IAuC1B;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB;IAuCzB,OAAO,CAAC,cAAc;CAUvB"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LivenessModule = void 0;
|
|
4
4
|
const device_1 = require("../../utils/device");
|
|
5
|
+
const constants_1 = require("../../utils/constants");
|
|
5
6
|
const CameraManager_1 = require("../../camera/CameraManager");
|
|
6
7
|
const VideoRecorder_1 = require("../../camera/VideoRecorder");
|
|
7
8
|
const FaceDetector_1 = require("../../camera/FaceDetector");
|
|
@@ -127,7 +128,7 @@ class LivenessModule {
|
|
|
127
128
|
*
|
|
128
129
|
* @param container - DOM element to mount the liveness UI into
|
|
129
130
|
* @param params - identifier info and optional document image
|
|
130
|
-
* @param actions - override challenge actions (default: BLINK,
|
|
131
|
+
* @param actions - override challenge actions (default: BLINK, TURN_HEAD, OPEN_MOUTH)
|
|
131
132
|
*/
|
|
132
133
|
async startCheck(container, params, actions, existingEntryId) {
|
|
133
134
|
const camera = new CameraManager_1.CameraManager();
|
|
@@ -192,9 +193,9 @@ class LivenessModule {
|
|
|
192
193
|
let attempts = 0;
|
|
193
194
|
let stableFrames = 0;
|
|
194
195
|
let missedFrames = 0;
|
|
195
|
-
const STABLE_REQUIRED =
|
|
196
|
+
const STABLE_REQUIRED = 4; // increased from 2 — ensures face is properly locked before autoshot
|
|
196
197
|
const MISS_TOLERANCE = 2; // allow up to 2 consecutive misses before reset
|
|
197
|
-
const MAX_WAIT_MS =
|
|
198
|
+
const MAX_WAIT_MS = 8000;
|
|
198
199
|
const startTime = performance.now();
|
|
199
200
|
const checkFace = () => {
|
|
200
201
|
if (performance.now() - startTime >= MAX_WAIT_MS) {
|
|
@@ -225,8 +226,9 @@ class LivenessModule {
|
|
|
225
226
|
requestAnimationFrame(checkFace);
|
|
226
227
|
});
|
|
227
228
|
ui.updateInstruction("Hold still...");
|
|
228
|
-
//
|
|
229
|
-
|
|
229
|
+
// Settle delay — gives camera auto-exposure and auto-focus time to lock.
|
|
230
|
+
// 150ms was too short; bumped to 500ms to avoid blurry autoshots.
|
|
231
|
+
await new Promise((r) => setTimeout(r, 500));
|
|
230
232
|
// 3. Capture autoshot (selfie) — face stable, camera focused
|
|
231
233
|
const autoshotBlob = await this.captureFrame(videoForDetection);
|
|
232
234
|
tempVideo.pause();
|
|
@@ -235,7 +237,7 @@ class LivenessModule {
|
|
|
235
237
|
throw new Error("Failed to capture autoshot selfie. Please ensure camera is working.");
|
|
236
238
|
}
|
|
237
239
|
// 4. Create liveness entry on backend (skip if retrying with existing entry)
|
|
238
|
-
const challengeActions = actions || [
|
|
240
|
+
const challengeActions = actions || [...constants_1.DEFAULT_CHALLENGE_ACTIONS];
|
|
239
241
|
let entry;
|
|
240
242
|
if (existingEntryId) {
|
|
241
243
|
// Reuse existing entry on retry (D1: prevent duplicate wallet charges)
|
|
@@ -278,13 +280,30 @@ class LivenessModule {
|
|
|
278
280
|
// 8. Run detection loop (sequential — one action at a time)
|
|
279
281
|
const actionDetector = new ActionDetector_1.ActionDetector(entry.challenge_actions);
|
|
280
282
|
let lastAction = null;
|
|
283
|
+
let pauseUntil = 0;
|
|
284
|
+
let pendingNextAction = null;
|
|
285
|
+
let pendingNextLabel = null;
|
|
281
286
|
const detectionResult = await new Promise((resolve) => {
|
|
282
287
|
let animFrameId;
|
|
283
288
|
const timeout = setTimeout(() => {
|
|
284
289
|
cancelAnimationFrame(animFrameId);
|
|
285
290
|
resolve("timeout");
|
|
286
291
|
}, uiChallenge.time_limit_seconds * 1000);
|
|
292
|
+
const getLabel = (action) => uiChallenge.instructions?.[action] || this.describeAction(action);
|
|
287
293
|
const detectLoop = () => {
|
|
294
|
+
const now = performance.now();
|
|
295
|
+
// Brief pause between completed actions so the user can see the next cue
|
|
296
|
+
if (now < pauseUntil) {
|
|
297
|
+
animFrameId = requestAnimationFrame(detectLoop);
|
|
298
|
+
return;
|
|
299
|
+
}
|
|
300
|
+
if (pendingNextAction) {
|
|
301
|
+
lastAction = pendingNextAction;
|
|
302
|
+
if (pendingNextLabel)
|
|
303
|
+
ui.updateInstruction(pendingNextLabel);
|
|
304
|
+
pendingNextAction = null;
|
|
305
|
+
pendingNextLabel = null;
|
|
306
|
+
}
|
|
288
307
|
if (videoEl.readyState >= 2) {
|
|
289
308
|
const detection = faceEngine.detect(videoEl, performance.now());
|
|
290
309
|
const states = actionDetector.check(detection);
|
|
@@ -295,11 +314,17 @@ class LivenessModule {
|
|
|
295
314
|
}
|
|
296
315
|
else if (current) {
|
|
297
316
|
if (current !== lastAction) {
|
|
317
|
+
if (lastAction !== null) {
|
|
318
|
+
// Action completed — give user ~600ms to see the next instruction
|
|
319
|
+
pauseUntil = now + 600;
|
|
320
|
+
pendingNextAction = current;
|
|
321
|
+
pendingNextLabel = getLabel(current);
|
|
322
|
+
ui.updateInstruction(`Great! ${pendingNextLabel}`);
|
|
323
|
+
animFrameId = requestAnimationFrame(detectLoop);
|
|
324
|
+
return;
|
|
325
|
+
}
|
|
298
326
|
lastAction = current;
|
|
299
|
-
|
|
300
|
-
const label = uiChallenge.instructions?.[current]
|
|
301
|
-
|| this.describeAction(current);
|
|
302
|
-
ui.updateInstruction(label);
|
|
327
|
+
ui.updateInstruction(getLabel(current));
|
|
303
328
|
}
|
|
304
329
|
}
|
|
305
330
|
else {
|
|
@@ -363,10 +388,16 @@ class LivenessModule {
|
|
|
363
388
|
* Capture a single sharp frame from a video element as a JPEG Blob.
|
|
364
389
|
* Retries up to maxAttempts times (300 ms apart) if the Laplacian blur
|
|
365
390
|
* score is below threshold, then falls back to the best frame captured.
|
|
391
|
+
*
|
|
392
|
+
* Threshold calibration:
|
|
393
|
+
* The server rejects images with OpenCV Laplacian variance < 80.
|
|
394
|
+
* This SDK uses sum-of-squared Laplacian (different normalisation) —
|
|
395
|
+
* empirically ~100 here corresponds to ~80 server-side. We aim for 120
|
|
396
|
+
* to give a comfortable safety margin.
|
|
366
397
|
*/
|
|
367
|
-
async captureFrame(video, maxAttempts =
|
|
368
|
-
const MIN_BLUR_SCORE =
|
|
369
|
-
const RETRY_DELAY_MS =
|
|
398
|
+
async captureFrame(video, maxAttempts = 5) {
|
|
399
|
+
const MIN_BLUR_SCORE = 120; // Raised from 45 — calibrated to server threshold of 80
|
|
400
|
+
const RETRY_DELAY_MS = 200; // Raised from 100ms — gives AE/AF more time to settle
|
|
370
401
|
let bestBlob = null;
|
|
371
402
|
let bestScore = -1;
|
|
372
403
|
for (let attempt = 0; attempt < maxAttempts; attempt++) {
|
|
@@ -394,8 +425,13 @@ class LivenessModule {
|
|
|
394
425
|
throw new Error("Failed to capture frame");
|
|
395
426
|
}
|
|
396
427
|
/**
|
|
397
|
-
* Laplacian
|
|
398
|
-
* Higher score = sharper image.
|
|
428
|
+
* Sum-of-squared Laplacian blur metric on a centre-cropped region (320×240 max).
|
|
429
|
+
* Higher score = sharper image.
|
|
430
|
+
*
|
|
431
|
+
* NOTE: This is sum-of-squares, NOT Laplacian variance (which OpenCV uses).
|
|
432
|
+
* The two scales differ — empirically, a score of ~120 here corresponds to
|
|
433
|
+
* ~80 on the server side (OpenCV cv2.Laplacian().var()). Keep MIN_BLUR_SCORE
|
|
434
|
+
* in captureFrame() calibrated against this.
|
|
399
435
|
*/
|
|
400
436
|
_computeBlurScore(canvas) {
|
|
401
437
|
const ctx = canvas.getContext("2d");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"liveness.js","sourceRoot":"","sources":["../../../src/modules/liveness/liveness.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"liveness.js","sourceRoot":"","sources":["../../../src/modules/liveness/liveness.ts"],"names":[],"mappings":"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"}
|
|
@@ -279,6 +279,16 @@ var SmartComplySDK = (() => {
|
|
|
279
279
|
};
|
|
280
280
|
}
|
|
281
281
|
|
|
282
|
+
// src/utils/constants.ts
|
|
283
|
+
var SESSION_TTL_MS = 30 * 60 * 1e3;
|
|
284
|
+
var SESSION_WARN_BEFORE_MS = 2 * 60 * 1e3;
|
|
285
|
+
var MAX_RETRIES = 2;
|
|
286
|
+
var RETRY_DELAY_MS = 1e3;
|
|
287
|
+
var MAX_DOCUMENT_BYTES = 5 * 1024 * 1024;
|
|
288
|
+
var MAX_VIDEO_BYTES = 50 * 1024 * 1024;
|
|
289
|
+
var MAX_SNAPSHOT_BYTES = 2 * 1024 * 1024;
|
|
290
|
+
var DEFAULT_CHALLENGE_ACTIONS = ["BLINK", "TURN_HEAD", "OPEN_MOUTH"];
|
|
291
|
+
|
|
282
292
|
// src/camera/CameraManager.ts
|
|
283
293
|
var CameraManager = class {
|
|
284
294
|
constructor() {
|
|
@@ -4431,15 +4441,18 @@ var SmartComplySDK = (() => {
|
|
|
4431
4441
|
BLINK: { threshold: 0.25, holdFrames: 2 },
|
|
4432
4442
|
TURN_LEFT: { threshold: 0.3, holdFrames: 3 },
|
|
4433
4443
|
TURN_RIGHT: { threshold: 0.3, holdFrames: 3 },
|
|
4434
|
-
TURN_HEAD: { threshold: 0.
|
|
4444
|
+
TURN_HEAD: { threshold: 0.9, holdFrames: 5 },
|
|
4435
4445
|
OPEN_MOUTH: { threshold: 0.3, holdFrames: 2 }
|
|
4436
4446
|
};
|
|
4437
4447
|
var DEFAULT_CONFIG = { threshold: 0.4, holdFrames: 4 };
|
|
4438
4448
|
var ActionDetector = class {
|
|
4449
|
+
// ~0.6s of frames
|
|
4439
4450
|
constructor(requiredActions) {
|
|
4440
4451
|
this.requiredActions = requiredActions;
|
|
4441
4452
|
this.completedActions = /* @__PURE__ */ new Set();
|
|
4442
4453
|
this.holdCounters = /* @__PURE__ */ new Map();
|
|
4454
|
+
this.yawHistory = [];
|
|
4455
|
+
this.YAW_HISTORY_SIZE = 18;
|
|
4443
4456
|
}
|
|
4444
4457
|
check(result) {
|
|
4445
4458
|
const currentAction = this.getCurrentAction();
|
|
@@ -4494,8 +4507,19 @@ var SmartComplySDK = (() => {
|
|
|
4494
4507
|
return yaw > 5 ? Math.min(1, yaw / 20) : 0;
|
|
4495
4508
|
}
|
|
4496
4509
|
case "TURN_HEAD": {
|
|
4497
|
-
const yaw =
|
|
4498
|
-
|
|
4510
|
+
const yaw = this.getHeadYaw(matrix);
|
|
4511
|
+
this.yawHistory.push(yaw);
|
|
4512
|
+
if (this.yawHistory.length > this.YAW_HISTORY_SIZE) {
|
|
4513
|
+
this.yawHistory.shift();
|
|
4514
|
+
}
|
|
4515
|
+
if (this.yawHistory.length < this.YAW_HISTORY_SIZE) {
|
|
4516
|
+
return 0;
|
|
4517
|
+
}
|
|
4518
|
+
const left = this.yawHistory.some((y2) => y2 <= -10);
|
|
4519
|
+
const right = this.yawHistory.some((y2) => y2 >= 10);
|
|
4520
|
+
if (left && right) return 1;
|
|
4521
|
+
if (left || right) return 0.5;
|
|
4522
|
+
return 0;
|
|
4499
4523
|
}
|
|
4500
4524
|
case "OPEN_MOUTH":
|
|
4501
4525
|
return bs2.get("jawOpen") || 0;
|
|
@@ -4516,6 +4540,7 @@ var SmartComplySDK = (() => {
|
|
|
4516
4540
|
reset() {
|
|
4517
4541
|
this.completedActions.clear();
|
|
4518
4542
|
this.holdCounters.clear();
|
|
4543
|
+
this.yawHistory = [];
|
|
4519
4544
|
}
|
|
4520
4545
|
};
|
|
4521
4546
|
|
|
@@ -4588,7 +4613,7 @@ var SmartComplySDK = (() => {
|
|
|
4588
4613
|
this.totalActions = challenge.actions.length;
|
|
4589
4614
|
this.root = document.createElement("div");
|
|
4590
4615
|
this.root.style.cssText = `
|
|
4591
|
-
display:flex;flex-direction:row;width:100%;
|
|
4616
|
+
display:flex;flex-direction:row;width:100%;margin:0 auto;
|
|
4592
4617
|
background:#0a0a0a;border-radius:16px;overflow:hidden;
|
|
4593
4618
|
font-family:system-ui,-apple-system,sans-serif;
|
|
4594
4619
|
box-shadow:0 8px 32px rgba(0,0,0,0.4);
|
|
@@ -4596,7 +4621,7 @@ var SmartComplySDK = (() => {
|
|
|
4596
4621
|
`;
|
|
4597
4622
|
const camCol = document.createElement("div");
|
|
4598
4623
|
camCol.style.cssText = `
|
|
4599
|
-
position:relative;flex:0 0
|
|
4624
|
+
position:relative;flex:0 0 55%;
|
|
4600
4625
|
background:#000;overflow:hidden;
|
|
4601
4626
|
`;
|
|
4602
4627
|
this.videoEl = document.createElement("video");
|
|
@@ -4670,7 +4695,7 @@ var SmartComplySDK = (() => {
|
|
|
4670
4695
|
position:absolute;bottom:36px;left:50%;transform:translateX(-50%);
|
|
4671
4696
|
z-index:5;pointer-events:none;display:none;text-align:center;
|
|
4672
4697
|
background:rgba(0,0,0,0.6);backdrop-filter:blur(4px);
|
|
4673
|
-
border-radius:14px;padding:10px 18px;min-width:
|
|
4698
|
+
border-radius:14px;padding:10px 18px;min-width:170px;
|
|
4674
4699
|
border:1.5px solid rgba(255,255,255,0.12);
|
|
4675
4700
|
`;
|
|
4676
4701
|
camCol.appendChild(this.videoEl);
|
|
@@ -5100,7 +5125,7 @@ var SmartComplySDK = (() => {
|
|
|
5100
5125
|
*
|
|
5101
5126
|
* @param container - DOM element to mount the liveness UI into
|
|
5102
5127
|
* @param params - identifier info and optional document image
|
|
5103
|
-
* @param actions - override challenge actions (default: BLINK,
|
|
5128
|
+
* @param actions - override challenge actions (default: BLINK, TURN_HEAD, OPEN_MOUTH)
|
|
5104
5129
|
*/
|
|
5105
5130
|
async startCheck(container, params, actions, existingEntryId) {
|
|
5106
5131
|
const camera = new CameraManager();
|
|
@@ -5153,9 +5178,9 @@ var SmartComplySDK = (() => {
|
|
|
5153
5178
|
let attempts = 0;
|
|
5154
5179
|
let stableFrames = 0;
|
|
5155
5180
|
let missedFrames = 0;
|
|
5156
|
-
const STABLE_REQUIRED =
|
|
5181
|
+
const STABLE_REQUIRED = 4;
|
|
5157
5182
|
const MISS_TOLERANCE = 2;
|
|
5158
|
-
const MAX_WAIT_MS =
|
|
5183
|
+
const MAX_WAIT_MS = 8e3;
|
|
5159
5184
|
const startTime = performance.now();
|
|
5160
5185
|
const checkFace = () => {
|
|
5161
5186
|
if (performance.now() - startTime >= MAX_WAIT_MS) {
|
|
@@ -5185,13 +5210,13 @@ var SmartComplySDK = (() => {
|
|
|
5185
5210
|
requestAnimationFrame(checkFace);
|
|
5186
5211
|
});
|
|
5187
5212
|
ui2.updateInstruction("Hold still...");
|
|
5188
|
-
await new Promise((r2) => setTimeout(r2,
|
|
5213
|
+
await new Promise((r2) => setTimeout(r2, 500));
|
|
5189
5214
|
const autoshotBlob = await this.captureFrame(videoForDetection);
|
|
5190
5215
|
tempVideo.pause();
|
|
5191
5216
|
if (!autoshotBlob || autoshotBlob.size === 0) {
|
|
5192
5217
|
throw new Error("Failed to capture autoshot selfie. Please ensure camera is working.");
|
|
5193
5218
|
}
|
|
5194
|
-
const challengeActions = actions || [
|
|
5219
|
+
const challengeActions = actions || [...DEFAULT_CHALLENGE_ACTIONS];
|
|
5195
5220
|
let entry;
|
|
5196
5221
|
if (existingEntryId) {
|
|
5197
5222
|
entry = { id: existingEntryId, challenge_actions: challengeActions, status: "pending", client_id: "", expires_at: null };
|
|
@@ -5228,6 +5253,9 @@ var SmartComplySDK = (() => {
|
|
|
5228
5253
|
ui2.updateInstruction(uiChallenge.instruction);
|
|
5229
5254
|
const actionDetector = new ActionDetector(entry.challenge_actions);
|
|
5230
5255
|
let lastAction = null;
|
|
5256
|
+
let pauseUntil = 0;
|
|
5257
|
+
let pendingNextAction = null;
|
|
5258
|
+
let pendingNextLabel = null;
|
|
5231
5259
|
const detectionResult = await new Promise(
|
|
5232
5260
|
(resolve) => {
|
|
5233
5261
|
let animFrameId;
|
|
@@ -5235,7 +5263,19 @@ var SmartComplySDK = (() => {
|
|
|
5235
5263
|
cancelAnimationFrame(animFrameId);
|
|
5236
5264
|
resolve("timeout");
|
|
5237
5265
|
}, uiChallenge.time_limit_seconds * 1e3);
|
|
5266
|
+
const getLabel = (action) => uiChallenge.instructions?.[action] || this.describeAction(action);
|
|
5238
5267
|
const detectLoop = () => {
|
|
5268
|
+
const now = performance.now();
|
|
5269
|
+
if (now < pauseUntil) {
|
|
5270
|
+
animFrameId = requestAnimationFrame(detectLoop);
|
|
5271
|
+
return;
|
|
5272
|
+
}
|
|
5273
|
+
if (pendingNextAction) {
|
|
5274
|
+
lastAction = pendingNextAction;
|
|
5275
|
+
if (pendingNextLabel) ui2.updateInstruction(pendingNextLabel);
|
|
5276
|
+
pendingNextAction = null;
|
|
5277
|
+
pendingNextLabel = null;
|
|
5278
|
+
}
|
|
5239
5279
|
if (videoEl.readyState >= 2) {
|
|
5240
5280
|
const detection = faceEngine.detect(
|
|
5241
5281
|
videoEl,
|
|
@@ -5248,9 +5288,16 @@ var SmartComplySDK = (() => {
|
|
|
5248
5288
|
ui2.updateInstruction("Move your face into the oval");
|
|
5249
5289
|
} else if (current) {
|
|
5250
5290
|
if (current !== lastAction) {
|
|
5291
|
+
if (lastAction !== null) {
|
|
5292
|
+
pauseUntil = now + 600;
|
|
5293
|
+
pendingNextAction = current;
|
|
5294
|
+
pendingNextLabel = getLabel(current);
|
|
5295
|
+
ui2.updateInstruction(`Great! ${pendingNextLabel}`);
|
|
5296
|
+
animFrameId = requestAnimationFrame(detectLoop);
|
|
5297
|
+
return;
|
|
5298
|
+
}
|
|
5251
5299
|
lastAction = current;
|
|
5252
|
-
|
|
5253
|
-
ui2.updateInstruction(label);
|
|
5300
|
+
ui2.updateInstruction(getLabel(current));
|
|
5254
5301
|
}
|
|
5255
5302
|
} else {
|
|
5256
5303
|
ui2.updateInstruction("All actions completed! \u2713");
|
|
@@ -5305,10 +5352,16 @@ var SmartComplySDK = (() => {
|
|
|
5305
5352
|
* Capture a single sharp frame from a video element as a JPEG Blob.
|
|
5306
5353
|
* Retries up to maxAttempts times (300 ms apart) if the Laplacian blur
|
|
5307
5354
|
* score is below threshold, then falls back to the best frame captured.
|
|
5355
|
+
*
|
|
5356
|
+
* Threshold calibration:
|
|
5357
|
+
* The server rejects images with OpenCV Laplacian variance < 80.
|
|
5358
|
+
* This SDK uses sum-of-squared Laplacian (different normalisation) —
|
|
5359
|
+
* empirically ~100 here corresponds to ~80 server-side. We aim for 120
|
|
5360
|
+
* to give a comfortable safety margin.
|
|
5308
5361
|
*/
|
|
5309
|
-
async captureFrame(video, maxAttempts =
|
|
5310
|
-
const MIN_BLUR_SCORE =
|
|
5311
|
-
const RETRY_DELAY_MS2 =
|
|
5362
|
+
async captureFrame(video, maxAttempts = 5) {
|
|
5363
|
+
const MIN_BLUR_SCORE = 120;
|
|
5364
|
+
const RETRY_DELAY_MS2 = 200;
|
|
5312
5365
|
let bestBlob = null;
|
|
5313
5366
|
let bestScore = -1;
|
|
5314
5367
|
for (let attempt = 0; attempt < maxAttempts; attempt++) {
|
|
@@ -5335,8 +5388,13 @@ var SmartComplySDK = (() => {
|
|
|
5335
5388
|
throw new Error("Failed to capture frame");
|
|
5336
5389
|
}
|
|
5337
5390
|
/**
|
|
5338
|
-
* Laplacian
|
|
5339
|
-
* Higher score = sharper image.
|
|
5391
|
+
* Sum-of-squared Laplacian blur metric on a centre-cropped region (320×240 max).
|
|
5392
|
+
* Higher score = sharper image.
|
|
5393
|
+
*
|
|
5394
|
+
* NOTE: This is sum-of-squares, NOT Laplacian variance (which OpenCV uses).
|
|
5395
|
+
* The two scales differ — empirically, a score of ~120 here corresponds to
|
|
5396
|
+
* ~80 on the server side (OpenCV cv2.Laplacian().var()). Keep MIN_BLUR_SCORE
|
|
5397
|
+
* in captureFrame() calibrated against this.
|
|
5340
5398
|
*/
|
|
5341
5399
|
_computeBlurScore(canvas) {
|
|
5342
5400
|
const ctx = canvas.getContext("2d");
|
|
@@ -6472,7 +6530,7 @@ var SmartComplySDK = (() => {
|
|
|
6472
6530
|
this.modal = document.createElement("div");
|
|
6473
6531
|
this.modal.id = "sc-flow-modal";
|
|
6474
6532
|
this.modal.style.cssText = `
|
|
6475
|
-
width:100%;max-width:
|
|
6533
|
+
width:100%;max-width:580px;max-height:92vh;
|
|
6476
6534
|
background:${this.theme.bg};
|
|
6477
6535
|
border-radius:20px;overflow:hidden;
|
|
6478
6536
|
box-shadow:${this.theme.shadow};
|
|
@@ -7206,7 +7264,7 @@ var SmartComplySDK = (() => {
|
|
|
7206
7264
|
identifier,
|
|
7207
7265
|
identifier_type: this.selectedIdType,
|
|
7208
7266
|
country,
|
|
7209
|
-
challenge_actions: ["BLINK", "
|
|
7267
|
+
challenge_actions: ["BLINK", "TURN_HEAD", "OPEN_MOUTH"],
|
|
7210
7268
|
document: blob,
|
|
7211
7269
|
document_back: this.documentBackBlob || void 0,
|
|
7212
7270
|
device_type: deviceMeta.device_type,
|
|
@@ -7313,7 +7371,7 @@ var SmartComplySDK = (() => {
|
|
|
7313
7371
|
desc.textContent = "Position your face in the oval and follow the on-screen instructions.";
|
|
7314
7372
|
container.appendChild(desc);
|
|
7315
7373
|
const livenessContainer = document.createElement("div");
|
|
7316
|
-
livenessContainer.style.cssText = "margin:8px 0;";
|
|
7374
|
+
livenessContainer.style.cssText = "margin:8px 0;width:100%;";
|
|
7317
7375
|
container.appendChild(livenessContainer);
|
|
7318
7376
|
const identifier = this.idNumber || `DOC-${Date.now()}`;
|
|
7319
7377
|
const COUNTRY_CODES = {
|
|
@@ -7336,7 +7394,7 @@ var SmartComplySDK = (() => {
|
|
|
7336
7394
|
document_back: this.documentBackBlob || void 0,
|
|
7337
7395
|
identity_check: this.identityCheckId || void 0
|
|
7338
7396
|
},
|
|
7339
|
-
["BLINK", "
|
|
7397
|
+
["BLINK", "TURN_HEAD", "OPEN_MOUTH"],
|
|
7340
7398
|
this.livenessEntryId || void 0
|
|
7341
7399
|
).then((result) => {
|
|
7342
7400
|
this.showResult(result);
|
|
@@ -7973,15 +8031,6 @@ var SmartComplySDK = (() => {
|
|
|
7973
8031
|
return typeof navigator !== "undefined" && !!navigator.mediaDevices?.getUserMedia && typeof MediaRecorder !== "undefined";
|
|
7974
8032
|
}
|
|
7975
8033
|
|
|
7976
|
-
// src/utils/constants.ts
|
|
7977
|
-
var SESSION_TTL_MS = 30 * 60 * 1e3;
|
|
7978
|
-
var SESSION_WARN_BEFORE_MS = 2 * 60 * 1e3;
|
|
7979
|
-
var MAX_RETRIES = 2;
|
|
7980
|
-
var RETRY_DELAY_MS = 1e3;
|
|
7981
|
-
var MAX_DOCUMENT_BYTES = 5 * 1024 * 1024;
|
|
7982
|
-
var MAX_VIDEO_BYTES = 50 * 1024 * 1024;
|
|
7983
|
-
var MAX_SNAPSHOT_BYTES = 2 * 1024 * 1024;
|
|
7984
|
-
|
|
7985
8034
|
// src/modules/liveness/uploader.ts
|
|
7986
8035
|
var LivenessUploader = class {
|
|
7987
8036
|
constructor(http) {
|