@incodetech/core 2.0.1 → 2.1.0-rc.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.
- package/dist/{BrowserStorageProvider-CuOW1Er2.esm.js → BrowserStorageProvider-BpJM-gIl.esm.js} +8 -1
- package/dist/{IpifyProvider-D7jx52AL.esm.js → IpifyProvider-D4LWD15E.esm.js} +28 -0
- package/dist/{MotionSensorProvider-4v7xkqAp.esm.js → MotionSensorProvider-Bx7Mpzt0.esm.js} +63 -13
- package/dist/{OpenViduRecordingProvider-CMu6XVdc.esm.js → OpenViduRecordingProvider-O4GjBseO.esm.js} +1 -1
- package/dist/StateMachine-BC_nGvrc.d.ts +2 -0
- package/dist/StreamCanvasCapture-ImiDQdVA.esm.js +118 -0
- package/dist/StreamCanvasCapture-yyl20qd9.d.ts +152 -0
- package/dist/{BaseWasmProvider-C_DLEI40.esm.js → WasmUtilProvider-CiEN7Gjn.esm.js} +183 -11
- package/dist/{addressSearch-BpTbTWCa.esm.js → addressSearch-DvmWXKZg.esm.js} +63 -57
- package/dist/{ae-signature-DDDZmWXj.esm.js → ae-signature-BFZta3TZ.esm.js} +1 -1
- package/dist/ae-signature.d.ts +3 -3
- package/dist/ae-signature.esm.js +6 -5
- package/dist/antifraud.d.ts +5 -46
- package/dist/antifraud.esm.js +6 -43
- package/dist/antifraudManager-CkV4u-LE.esm.js +55 -0
- package/dist/antifraudManager-CznnhyvD.d.ts +63 -0
- package/dist/{antifraudStateMachine-O0TMf6yc.esm.js → antifraudStateMachine-Ccrb-Jxc.esm.js} +2 -2
- package/dist/apiError-B-j-gyDx.esm.js +51 -0
- package/dist/authentication.d.ts +13 -11
- package/dist/authentication.esm.js +26 -22
- package/dist/{authenticationManager-C83GNIhl.d.ts → authenticationManager-CIVY80H9.d.ts} +4 -4
- package/dist/{authenticationManager-5M-fKzXx.esm.js → authenticationManager-ZNotsWnC.esm.js} +6 -6
- package/dist/{authenticationStateMachine-BMZqatiF.esm.js → authenticationStateMachine-DksVbF_H.esm.js} +21 -9
- package/dist/{backCameraStream-DMdMeGk2.esm.js → backCameraStream-D7Wo4Nbx.esm.js} +95 -7
- package/dist/{session-CrkWAs-q.esm.js → browserSimulation-B1dWiXp7.esm.js} +61 -476
- package/dist/camera.d.ts +4 -3
- package/dist/camera.esm.js +4 -3
- package/dist/canvas-SKcRBxsk.esm.js +230 -0
- package/dist/consent.d.ts +4 -398
- package/dist/consent.esm.js +6 -77
- package/dist/consentManager-BLd51QiW.d.ts +419 -0
- package/dist/consentManager-BYo9Nu1r.esm.js +90 -0
- package/dist/{consentStateMachine-CCT-B60O.esm.js → consentStateMachine-BG3yL8aC.esm.js} +9 -6
- package/dist/cpf-ocr.d.ts +4 -199
- package/dist/cpf-ocr.esm.js +8 -177
- package/dist/cpfOcrManager-BnieFXuG.d.ts +216 -0
- package/dist/cpfOcrManager-sSKegxox.esm.js +190 -0
- package/dist/cross-document-data-match.d.ts +1 -1
- package/dist/cross-document-data-match.esm.js +4 -4
- package/dist/curp-validation.d.ts +8 -158
- package/dist/curp-validation.esm.js +6 -108
- package/dist/curpValidationManager-CFem6zP9.esm.js +122 -0
- package/dist/curpValidationManager-RttixpIc.d.ts +184 -0
- package/dist/{curpValidationStateMachine-CitWLr2c.esm.js → curpValidationStateMachine-B7V_qp66.esm.js} +20 -13
- package/dist/custom-fields.d.ts +2 -2
- package/dist/custom-fields.esm.js +4 -4
- package/dist/custom-watchlist.d.ts +1 -1
- package/dist/custom-watchlist.esm.js +4 -41
- package/dist/customWatchlistStateMachine-HmFybXLX.esm.js +50 -0
- package/dist/{deepsightLoader-Cm4JIT_z.esm.js → deepsightLoader-65k1Appi.esm.js} +19 -10
- package/dist/{deepsightService-CEVxzehb.d.ts → deepsightService-B7ShOkWL.d.ts} +8 -160
- package/dist/deepsightService-CrHmvx8X.esm.js +276 -0
- package/dist/device.esm.js +4 -3
- package/dist/document-capture.d.ts +995 -86
- package/dist/document-capture.esm.js +34 -8
- package/dist/document-upload.d.ts +47 -47
- package/dist/document-upload.esm.js +7 -7
- package/dist/{documentCaptureStateMachine-BqzTDy9k.esm.js → documentCaptureStateMachine-WYV1r9le.esm.js} +90 -6
- package/dist/dynamic-forms.d.ts +20 -5
- package/dist/dynamic-forms.esm.js +150 -61
- package/dist/ekyb.d.ts +32 -13
- package/dist/ekyb.esm.js +25 -15
- package/dist/{ekybStateMachine-CyMx_kg-.esm.js → ekybStateMachine-aYixw2sL.esm.js} +319 -207
- package/dist/ekyc.d.ts +10 -78
- package/dist/ekyc.esm.js +17 -12
- package/dist/{ekycStateMachine-oeO0Iekd.esm.js → ekycStateMachine-CXbpaJJn.esm.js} +201 -113
- package/dist/electronic-signature.d.ts +3 -3
- package/dist/electronic-signature.esm.js +5 -4
- package/dist/{electronicSignatureManager-D9OHzTpG.esm.js → electronicSignatureManager-BaECdJ1u.esm.js} +91 -23
- package/dist/email.d.ts +4 -3
- package/dist/email.esm.js +6 -5
- package/dist/{emailManager-wAV0LE-H.esm.js → emailManager--D5G3ChB.esm.js} +30 -7
- package/dist/{emailManager-DIfnS5g1.d.ts → emailManager-lAzDoQOs.d.ts} +66 -8
- package/dist/{emailStateMachine-DOf4j58N.esm.js → emailStateMachine-CxTOMAjC.esm.js} +46 -11
- package/dist/{endpoints-CnN3SyDa.esm.js → endpoints-BeTK0Mlt.esm.js} +6 -3
- package/dist/{events-D6-e4vok.esm.js → events-Dvvriq9l.esm.js} +3 -1
- package/dist/events.d.ts +2 -0
- package/dist/events.esm.js +1 -1
- package/dist/extensibility.d.ts +32 -16
- package/dist/extensibility.esm.js +55 -33
- package/dist/face-match.d.ts +32 -2
- package/dist/face-match.esm.js +5 -5
- package/dist/{faceCaptureManagerFactory-yqtpxjnN.d.ts → faceCaptureManagerFactory-C_hRHx8a.d.ts} +35 -11
- package/dist/{faceCaptureManagerFactory-Dh2PdGlF.esm.js → faceCaptureManagerFactory-kqbUqtrr.esm.js} +21 -5
- package/dist/{faceCaptureSetup-B3faSpYA.esm.js → faceCaptureSetup-CtvHWd3x.esm.js} +68 -183
- package/dist/{faceMatchStateMachine-DNFrxTFS.esm.js → faceMatchStateMachine-DdGXUBnx.esm.js} +60 -6
- package/dist/field-comparison.d.ts +4 -0
- package/dist/field-comparison.esm.js +7 -0
- package/dist/fieldComparisonManager-Bu5TaSr3.d.ts +76 -0
- package/dist/fieldComparisonManager-COGI2ARD.esm.js +162 -0
- package/dist/fiscal-qr.d.ts +59 -0
- package/dist/fiscal-qr.esm.js +323 -0
- package/dist/flow-events.d.ts +6 -5
- package/dist/flow.d.ts +23 -15
- package/dist/flow.esm.js +63 -17
- package/dist/flowCompletionService-BdR2cGgB.d.ts +19 -0
- package/dist/flowCompletionService-DdGojV9K.esm.js +20 -0
- package/dist/{flowServices-PiNsxLfK.esm.js → flowServices-BTuHLHVr.esm.js} +10 -5
- package/dist/geolocation.d.ts +4 -4
- package/dist/geolocation.esm.js +6 -6
- package/dist/{geolocationStateMachine-asasuHY2.esm.js → geolocationStateMachine-Dvh7X0wF.esm.js} +5 -5
- package/dist/getBrowser-C8DP7oTB.esm.js +8 -0
- package/dist/{getBrowser-BSXUTWXw.esm.js → getDeviceClass-C0olyNFS.esm.js} +1 -8
- package/dist/{getDeviceClass-BSntT9_j.esm.js → getDeviceClass-C8Do2qYu.esm.js} +1 -1
- package/dist/government-validation.d.ts +28 -8
- package/dist/government-validation.esm.js +19 -8
- package/dist/{governmentValidationStateMachine-BDDYrJTo.esm.js → governmentValidationStateMachine-DcJ-BfsC.esm.js} +35 -77
- package/dist/home.d.ts +15 -14
- package/dist/home.esm.js +2 -2
- package/dist/http-Cai3IoLS.esm.js +0 -0
- package/dist/http.esm.js +1 -0
- package/dist/id-ocr.d.ts +54 -54
- package/dist/id-ocr.esm.js +5 -5
- package/dist/id-verification.d.ts +27 -27
- package/dist/id-verification.esm.js +4 -4
- package/dist/id.d.ts +12 -10
- package/dist/id.esm.js +36 -26
- package/dist/{idCaptureManager-Fyd0eam-.d.ts → idCaptureManager-D-QYESvF.d.ts} +28 -14
- package/dist/{idCaptureManager-D0ktk7Hh.esm.js → idCaptureManager-DGVv5l1_.esm.js} +22 -7
- package/dist/{idCaptureStateMachine-dwlBUjbC.esm.js → idCaptureStateMachine-DHi7HydI.esm.js} +172 -123
- package/dist/{idOcrStateMachine-YbjjC_Gg.esm.js → idOcrStateMachine-CDQ5d_VM.esm.js} +4 -4
- package/dist/{idVerificationStateMachine-xbw9HP1Z.esm.js → idVerificationStateMachine-kRxwImzO.esm.js} +2 -2
- package/dist/identity-reuse.d.ts +4 -530
- package/dist/identity-reuse.esm.js +8 -274
- package/dist/identityReuseManager-C6n_97dw.esm.js +95 -0
- package/dist/identityReuseManager-DwLtVzUn.d.ts +428 -0
- package/dist/identityReuseStateMachine-BfE5YiEr.esm.js +148 -0
- package/dist/{index-BcRG8rtJ.d.ts → index-B5hPA0Bg.d.ts} +2 -2
- package/dist/{index-ChHWNH48.d.ts → index-B9NysVDB.d.ts} +469 -195
- package/dist/index.d.ts +2 -2
- package/dist/index.esm.js +10 -8
- package/dist/{invokeOnCaptureCallback-rc6kBHo5.esm.js → invokeOnCaptureCallback-ygByVdnn.esm.js} +1 -1
- package/dist/{lib-BB0B_qQX.esm.js → lib-BY67lgbq.esm.js} +1 -1
- package/dist/mandatory-consent.d.ts +8 -412
- package/dist/mandatory-consent.esm.js +6 -76
- package/dist/mandatoryConsentManager-H6D18cZB.esm.js +89 -0
- package/dist/mandatoryConsentManager-KfIlURRY.d.ts +429 -0
- package/dist/{mandatoryConsentStateMachine-Cnco1jvn.esm.js → mandatoryConsentStateMachine-DtQNW1ji.esm.js} +6 -6
- package/dist/openviduLazy-B8L--0oe.esm.js +3 -0
- package/dist/{openviduLazy-Cok70ZSg.esm.js → openviduLazy-Dh14JNJc.esm.js} +2 -2
- package/dist/otp-CGMdUzBC.esm.js +33 -0
- package/dist/otp-DF5A0sFx.d.ts +8 -0
- package/dist/permissionGuards-C1ispV96.esm.js +23 -0
- package/dist/permissionServices-CG3bMSfG.esm.js +130 -0
- package/dist/phone.d.ts +4 -3
- package/dist/phone.esm.js +6 -5
- package/dist/{phoneManager-DAJbGhlY.esm.js → phoneManager-BmF-0Ez4.esm.js} +30 -7
- package/dist/{phoneManager-B6M30hKE.d.ts → phoneManager-fPmIBYQK.d.ts} +65 -7
- package/dist/{phoneStateMachine-CuPARRaT.esm.js → phoneStateMachine-BiV0yoEx.esm.js} +46 -11
- package/dist/{qe-signature-DFo_Cc-I.esm.js → qe-signature-CUYPcHVo.esm.js} +1 -1
- package/dist/qe-signature.d.ts +3 -3
- package/dist/qe-signature.esm.js +6 -5
- package/dist/{recordingService-Ig2UgbLv.esm.js → recordingService-Bn9EdCmz.esm.js} +197 -179
- package/dist/redirect-to-mobile.d.ts +6 -104
- package/dist/redirect-to-mobile.esm.js +6 -99
- package/dist/redirectToMobileManager-BNe3IzC_.d.ts +178 -0
- package/dist/redirectToMobileManager-Dy3t7o0C.esm.js +159 -0
- package/dist/{redirectToMobileStateMachine-BOEqe46A.esm.js → redirectToMobileStateMachine-DyAdRxfP.esm.js} +28 -19
- package/dist/{runChildModule-CqqwqAkW.esm.js → runChildModule-CuoHZ1cx.esm.js} +35 -3
- package/dist/selfie.d.ts +13 -11
- package/dist/selfie.esm.js +27 -23
- package/dist/{selfieManager-Duisl7qN.esm.js → selfieManager-BjCoKRy0.esm.js} +6 -6
- package/dist/{selfieManager-D0lSgd-J.d.ts → selfieManager-dUbKRzOh.d.ts} +4 -4
- package/dist/{selfieStateMachine-D76whWEf.esm.js → selfieStateMachine-b4F2q9zw.esm.js} +5 -3
- package/dist/session-DoVb-OcB.esm.js +152 -0
- package/dist/session.d.ts +37 -5
- package/dist/session.esm.js +12 -7
- package/dist/sessionInitializer-B8H5MsXM.esm.js +366 -0
- package/dist/{setup-C5AITV8m.d.ts → setup-BbkprdVv.d.ts} +57 -6
- package/dist/{setup-DPPAxmXf.esm.js → setup-BqEfrdja.esm.js} +162 -24
- package/dist/signature.d.ts +2 -2
- package/dist/signature.esm.js +4 -4
- package/dist/{signatureStateMachine-B5-QVUve.esm.js → signatureStateMachine-C5qqYLRz.esm.js} +3 -3
- package/dist/stats-BMNUG1AU.esm.js +41 -0
- package/dist/stats.d.ts +13 -2
- package/dist/stats.esm.js +3 -2
- package/dist/trust-graph.d.ts +33 -4
- package/dist/trust-graph.esm.js +21 -15
- package/dist/{types-CFV9G_7j.d.ts → types-Bj9hdFjU.d.ts} +1 -1
- package/dist/{types-BP1m8VRw.d.ts → types-DOUhndhT.d.ts} +14 -2
- package/dist/types-DsnEVMhr.esm.js +34 -0
- package/dist/types-DvGZI7BF.d.ts +131 -0
- package/dist/{types-B06Ypu2F.d.ts → types-NuT8ftBV.d.ts} +1 -1
- package/dist/types-ya0LN_MX.d.ts +5 -0
- package/dist/{warmup-CEcppFiS.d.ts → warmup-Dg8Lh-50.d.ts} +8 -0
- package/dist/wasm.d.ts +6 -4
- package/dist/wasm.esm.js +11 -9
- package/dist/watchlist-for-business.d.ts +1 -1
- package/dist/watchlist-for-business.esm.js +5 -73
- package/dist/watchlist.d.ts +1 -1
- package/dist/watchlist.esm.js +4 -41
- package/dist/watchlistForBusinessStateMachine-DMl8j2Ov.esm.js +74 -0
- package/dist/watchlistStateMachine-DmQlqI6L.esm.js +50 -0
- package/dist/workflow.d.ts +150 -97
- package/dist/workflow.esm.js +156 -80
- package/package.json +19 -1
- package/dist/StateMachine-BCQrZJhf.d.ts +0 -2
- package/dist/WasmUtilProvider-j98OJf-S.esm.js +0 -114
- package/dist/browserSimulation-gxD8cSpM.esm.js +0 -20
- package/dist/deepsightService-O74l4Y__.esm.js +0 -489
- package/dist/displayErrors-DqJ_IbsG.d.ts +0 -39
- package/dist/flowCompletionService-DhkT4SRY.d.ts +0 -10
- package/dist/flowCompletionService-P54yzGvA.esm.js +0 -13
- package/dist/openviduLazy-Cm0XFh_v.esm.js +0 -3
- package/dist/permissionServices-D_i6nzEw.esm.js +0 -50
- package/dist/stats-CIfiPzb1.esm.js +0 -16
- package/dist/types-CAD4va6a.d.ts +0 -5
- package/dist/watchlistServices-DMbUhkBX.esm.js +0 -12
- /package/dist/{Actor-CI32dTbG.d.ts → Actor-Y0_Fj-KL.d.ts} +0 -0
- /package/dist/{ITimerCapability-C67ZRskg.esm.js → ITimerCapability-CB0I1Uf2.esm.js} +0 -0
- /package/dist/{Manager-C8PrhBOx.d.ts → Manager-BHn8wH8K.d.ts} +0 -0
- /package/dist/{camera-PA2Ljri3.esm.js → camera-DJWm3V4g.esm.js} +0 -0
- /package/dist/{camera-DBSxa6ML.d.ts → camera-SRBpPq2X.d.ts} +0 -0
- /package/dist/{chunk-CRF6K_H_.esm.js → chunk-CMUKZ2uL.esm.js} +0 -0
- /package/dist/{cpf-PPz2Njto.esm.js → cpf-BRzggV8G.esm.js} +0 -0
- /package/dist/{dateUtils-UoN5xswP.esm.js → dateUtils-AksLQmgV.esm.js} +0 -0
- /package/dist/{platform-CfrjKhmi.esm.js → platform-SKvEfCBh.esm.js} +0 -0
- /package/dist/{xstate.esm-B70JrNqo.esm.js → xstate.esm-C9wncMQa.esm.js} +0 -0
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
import { t as api } from "./api-CESGtpbH.esm.js";
|
|
2
|
+
import { t as addDeviceStats } from "./stats-BMNUG1AU.esm.js";
|
|
3
|
+
import { n as getThumbmarkId, r as getParsedUserAgent, t as isBrowserSimulation } from "./browserSimulation-B1dWiXp7.esm.js";
|
|
4
|
+
import { t as getUserAgent } from "./getBrowser-C8DP7oTB.esm.js";
|
|
5
|
+
import { i as stopCameraStream, r as requestCameraAccess } from "./camera-DJWm3V4g.esm.js";
|
|
6
|
+
import { t as IncodeCanvas } from "./canvas-SKcRBxsk.esm.js";
|
|
7
|
+
import { t as getDeviceInfo } from "./getDeviceClass-C0olyNFS.esm.js";
|
|
8
|
+
|
|
9
|
+
//#region ../infra/src/media/video.ts
|
|
10
|
+
/**
|
|
11
|
+
* Creates a hidden video element for a stream and appends it to document.body.
|
|
12
|
+
*/
|
|
13
|
+
function createHiddenVideoElement(stream) {
|
|
14
|
+
if (typeof document === "undefined") throw new Error("Document not available");
|
|
15
|
+
const video = document.createElement("video");
|
|
16
|
+
video.autoplay = true;
|
|
17
|
+
video.playsInline = true;
|
|
18
|
+
video.muted = true;
|
|
19
|
+
video.srcObject = stream;
|
|
20
|
+
video.style.width = "0px";
|
|
21
|
+
video.style.height = "0px";
|
|
22
|
+
video.style.position = "absolute";
|
|
23
|
+
video.style.top = "0";
|
|
24
|
+
video.style.left = "0";
|
|
25
|
+
video.style.zIndex = "-1";
|
|
26
|
+
document.body.appendChild(video);
|
|
27
|
+
return {
|
|
28
|
+
element: video,
|
|
29
|
+
dispose: () => {
|
|
30
|
+
const current = video.srcObject;
|
|
31
|
+
if (current instanceof MediaStream) for (const track of current.getTracks()) track.stop();
|
|
32
|
+
video.srcObject = null;
|
|
33
|
+
if (video.parentElement) video.parentElement.removeChild(video);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
//#endregion
|
|
39
|
+
//#region src/internal/deepsight/metadataService.ts
|
|
40
|
+
function createMetadataService(wasmUtil, visibility, browserEnv, ipLookup) {
|
|
41
|
+
return {
|
|
42
|
+
async initialize(sdkVersion, disableIpify = false) {
|
|
43
|
+
wasmUtil.setSdkPlatform("WEBAPP");
|
|
44
|
+
wasmUtil.setSdkVersion(sdkVersion);
|
|
45
|
+
const ua = getUserAgent();
|
|
46
|
+
const parsedUa = getParsedUserAgent(ua);
|
|
47
|
+
const isMobile = /Android|iPhone|iPad|iPod/i.test(ua);
|
|
48
|
+
const deviceInfo = getDeviceInfo();
|
|
49
|
+
let fingerprintHash = "";
|
|
50
|
+
try {
|
|
51
|
+
fingerprintHash = await getThumbmarkId();
|
|
52
|
+
} catch {
|
|
53
|
+
fingerprintHash = browserEnv.generateCanvasFingerprint();
|
|
54
|
+
}
|
|
55
|
+
const ip = disableIpify ? "" : await ipLookup.getIp();
|
|
56
|
+
const screenDimensions = browserEnv.getScreenDimensions();
|
|
57
|
+
const model = [parsedUa.device.vendor, parsedUa.device.model].filter(Boolean).join(" ");
|
|
58
|
+
const deviceMetadata = {
|
|
59
|
+
kind: isMobile ? "mobile" : "desktop",
|
|
60
|
+
model,
|
|
61
|
+
os: parsedUa.os.name ?? "",
|
|
62
|
+
osVersion: parsedUa.os.version ?? "",
|
|
63
|
+
screenDimensions,
|
|
64
|
+
numTouchPoints: deviceInfo.maxTouchPoints,
|
|
65
|
+
fingerprintHash,
|
|
66
|
+
ip,
|
|
67
|
+
backgroundMode: false
|
|
68
|
+
};
|
|
69
|
+
wasmUtil.setDeviceInfo(deviceMetadata);
|
|
70
|
+
const navigatorPrefixes = browserEnv.getNavigatorPrefixes();
|
|
71
|
+
const browserInfo = {
|
|
72
|
+
userAgent: ua,
|
|
73
|
+
getUserMediaAvailability: {
|
|
74
|
+
webkit: navigatorPrefixes.webkit,
|
|
75
|
+
moz: navigatorPrefixes.moz,
|
|
76
|
+
o: navigatorPrefixes.o,
|
|
77
|
+
ms: navigatorPrefixes.ms
|
|
78
|
+
},
|
|
79
|
+
webglFingerprint: browserEnv.getWebGLRenderer(),
|
|
80
|
+
inspectorOpened: false,
|
|
81
|
+
isMockedBrowser: isBrowserSimulation(browserEnv)
|
|
82
|
+
};
|
|
83
|
+
wasmUtil.setBrowserInfo(browserInfo, false);
|
|
84
|
+
},
|
|
85
|
+
updateCameraInfo(videoTrack) {
|
|
86
|
+
const settings = videoTrack.getSettings();
|
|
87
|
+
const capabilities = videoTrack.getCapabilities?.() ?? {};
|
|
88
|
+
const labels = videoTrack.label ? [videoTrack.label] : [];
|
|
89
|
+
const cameraInfo = {
|
|
90
|
+
facingMode: settings.facingMode === "user" ? "frontal" : settings.facingMode === "environment" ? "back" : settings.facingMode || "unknown",
|
|
91
|
+
settings,
|
|
92
|
+
capabilities,
|
|
93
|
+
labels
|
|
94
|
+
};
|
|
95
|
+
wasmUtil.setCameraInfo(cameraInfo);
|
|
96
|
+
},
|
|
97
|
+
async checkForVirtualCameraByLabel(videoTrack = null) {
|
|
98
|
+
try {
|
|
99
|
+
if (!videoTrack) {
|
|
100
|
+
const labels = await browserEnv.enumerateVideoDeviceLabels();
|
|
101
|
+
for (const label of labels) if (wasmUtil.isVirtualCamera(label)) return true;
|
|
102
|
+
}
|
|
103
|
+
if (videoTrack && wasmUtil.isVirtualCamera(videoTrack.label)) return true;
|
|
104
|
+
return false;
|
|
105
|
+
} catch {
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
async analyzeFrame(imageData) {
|
|
110
|
+
await wasmUtil.analyzeFrame(imageData);
|
|
111
|
+
},
|
|
112
|
+
setMotionStatus(status) {
|
|
113
|
+
wasmUtil.setMotionStatus(status);
|
|
114
|
+
},
|
|
115
|
+
setBackgroundMode(backgroundMode) {
|
|
116
|
+
wasmUtil.setBackgroundMode(backgroundMode || visibility.wasBackgrounded);
|
|
117
|
+
visibility.reset();
|
|
118
|
+
},
|
|
119
|
+
estimatePerformance() {
|
|
120
|
+
return wasmUtil.estimatePerformance();
|
|
121
|
+
},
|
|
122
|
+
getMetadata() {
|
|
123
|
+
return wasmUtil.getMetadata();
|
|
124
|
+
},
|
|
125
|
+
getCheck() {
|
|
126
|
+
return wasmUtil.getCheck();
|
|
127
|
+
},
|
|
128
|
+
getPipelineState() {
|
|
129
|
+
return wasmUtil.getPipelineState();
|
|
130
|
+
},
|
|
131
|
+
preparePipelineState() {
|
|
132
|
+
wasmUtil.getPipelineState();
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
//#endregion
|
|
138
|
+
//#region src/internal/deepsight/motionStatusService.ts
|
|
139
|
+
function createMotionStatusService(motionSensor) {
|
|
140
|
+
return {
|
|
141
|
+
async requestPermission() {
|
|
142
|
+
return motionSensor.requestPermission();
|
|
143
|
+
},
|
|
144
|
+
async start() {
|
|
145
|
+
await motionSensor.start();
|
|
146
|
+
},
|
|
147
|
+
stop() {
|
|
148
|
+
motionSensor.stop();
|
|
149
|
+
},
|
|
150
|
+
check() {
|
|
151
|
+
return motionSensor.check();
|
|
152
|
+
},
|
|
153
|
+
get isRunning() {
|
|
154
|
+
return motionSensor.isRunning;
|
|
155
|
+
},
|
|
156
|
+
get hasPermission() {
|
|
157
|
+
return motionSensor.hasPermission;
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
//#endregion
|
|
163
|
+
//#region src/internal/virtualCameraCheck.ts
|
|
164
|
+
/**
|
|
165
|
+
* Sends the analyzed frame image to the backend for logging.
|
|
166
|
+
*/
|
|
167
|
+
async function logFrame({ source, base64Image, token }) {
|
|
168
|
+
try {
|
|
169
|
+
return (await api.post("/omni/log/frame/v2", { base64Image }, {
|
|
170
|
+
query: { source },
|
|
171
|
+
headers: { "X-Incode-Hardware-Id": token }
|
|
172
|
+
})).data;
|
|
173
|
+
} catch {
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Runs the WASM virtual camera check and handles logging and stats.
|
|
179
|
+
*/
|
|
180
|
+
async function runVirtualCameraCheck({ wasmUtil, source, token }) {
|
|
181
|
+
const output = {
|
|
182
|
+
canvas: null,
|
|
183
|
+
itr: null,
|
|
184
|
+
skipped: null
|
|
185
|
+
};
|
|
186
|
+
await wasmUtil.poc(output);
|
|
187
|
+
if (output.skipped !== false) return;
|
|
188
|
+
if (output.canvas && token) {
|
|
189
|
+
const base64Image = new IncodeCanvas(output.canvas).getBase64Image();
|
|
190
|
+
if (base64Image) await logFrame({
|
|
191
|
+
source,
|
|
192
|
+
base64Image,
|
|
193
|
+
token
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
if (output.itr === true) {
|
|
197
|
+
addDeviceStats({ virtualCameraDetected: true });
|
|
198
|
+
wasmUtil.setZc("FAIL");
|
|
199
|
+
} else if (output.itr === false) wasmUtil.setZc("PASS");
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
//#endregion
|
|
203
|
+
//#region src/internal/deepsight/deepsightService.ts
|
|
204
|
+
function createDeepsightService(config) {
|
|
205
|
+
const metadata = createMetadataService(config.wasmUtil, config.visibility, config.browserEnv, config.ipLookup);
|
|
206
|
+
const motion = createMotionStatusService(config.motionSensor);
|
|
207
|
+
return {
|
|
208
|
+
metadata,
|
|
209
|
+
motion,
|
|
210
|
+
async initialize(disableIpify = false) {
|
|
211
|
+
await metadata.initialize(config.sdkVersion, disableIpify);
|
|
212
|
+
metadata.estimatePerformance();
|
|
213
|
+
},
|
|
214
|
+
async requestMotionPermission() {
|
|
215
|
+
return motion.requestPermission();
|
|
216
|
+
},
|
|
217
|
+
async startMotionSensors() {
|
|
218
|
+
await motion.start();
|
|
219
|
+
},
|
|
220
|
+
async primeWasmMotionSensor() {
|
|
221
|
+
await config.wasmUtil.rsp();
|
|
222
|
+
config.wasmUtil.ssl();
|
|
223
|
+
},
|
|
224
|
+
stopMotionSensors() {
|
|
225
|
+
motion.stop();
|
|
226
|
+
},
|
|
227
|
+
async checkVirtualCamera(videoTrack) {
|
|
228
|
+
metadata.updateCameraInfo(videoTrack);
|
|
229
|
+
return metadata.checkForVirtualCameraByLabel(videoTrack);
|
|
230
|
+
},
|
|
231
|
+
async performVirtualCameraCheck(sessionToken, source) {
|
|
232
|
+
await runVirtualCameraCheck({
|
|
233
|
+
wasmUtil: config.wasmUtil,
|
|
234
|
+
source,
|
|
235
|
+
token: sessionToken
|
|
236
|
+
});
|
|
237
|
+
},
|
|
238
|
+
async performPrcCheck(params) {
|
|
239
|
+
const prcStream = await requestCameraAccess(params.constraints);
|
|
240
|
+
const hiddenVideo = createHiddenVideoElement(prcStream);
|
|
241
|
+
try {
|
|
242
|
+
await config.wasmUtil.prc();
|
|
243
|
+
} finally {
|
|
244
|
+
hiddenVideo.dispose();
|
|
245
|
+
stopCameraStream(prcStream);
|
|
246
|
+
}
|
|
247
|
+
},
|
|
248
|
+
async analyzeFrame(imageData) {
|
|
249
|
+
await motion.start();
|
|
250
|
+
await metadata.analyzeFrame(imageData);
|
|
251
|
+
metadata.preparePipelineState();
|
|
252
|
+
const motionStatus = motion.check();
|
|
253
|
+
metadata.setMotionStatus(motionStatus);
|
|
254
|
+
metadata.getCheck();
|
|
255
|
+
metadata.setBackgroundMode(false);
|
|
256
|
+
},
|
|
257
|
+
getMetadata() {
|
|
258
|
+
return metadata.getMetadata();
|
|
259
|
+
},
|
|
260
|
+
getMotionStatus() {
|
|
261
|
+
return motion.check();
|
|
262
|
+
},
|
|
263
|
+
getAnalysisStatus() {
|
|
264
|
+
return metadata.getCheck();
|
|
265
|
+
},
|
|
266
|
+
getPipelineState() {
|
|
267
|
+
return metadata.getPipelineState();
|
|
268
|
+
},
|
|
269
|
+
cleanup() {
|
|
270
|
+
motion.stop();
|
|
271
|
+
}
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
//#endregion
|
|
276
|
+
export { createDeepsightService as t };
|
package/dist/device.esm.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { i as isIPad } from "./platform-
|
|
2
|
-
import { t as getUserAgent } from "./getBrowser-
|
|
3
|
-
import
|
|
1
|
+
import { i as isIPad } from "./platform-SKvEfCBh.esm.js";
|
|
2
|
+
import { t as getUserAgent } from "./getBrowser-C8DP7oTB.esm.js";
|
|
3
|
+
import "./getDeviceClass-C0olyNFS.esm.js";
|
|
4
|
+
import { t as getDeviceClass } from "./getDeviceClass-C8Do2qYu.esm.js";
|
|
4
5
|
|
|
5
6
|
//#region src/internal/device/getBrowser.ts
|
|
6
7
|
function getBrowser() {
|