@incodetech/core 2.1.0-rc.2 → 2.1.0-rc.3
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/3dAvatarProvider-ChciZmjE.esm.js +28214 -0
- package/dist/{BrowserStorageProvider-D5xc7Lqo.esm.js → BrowserStorageProvider-CrrN540a.esm.js} +1 -25
- package/dist/BrowserVisibilityObserverProvider-rim9Jrz-.esm.js +25 -0
- package/dist/Face2DProvider-BeLlYBbB.esm.js +824 -0
- package/dist/FaceDetectionProvider-B78455D4.d.ts +119 -0
- package/dist/IVisibilityObserverCapability-BbWjgpiF.d.ts +12 -0
- package/dist/IWasmUtilCapability-d2XvzaCk.d.ts +145 -0
- package/dist/IpifyProvider-BRW14_uo.esm.js +51 -0
- package/dist/{Manager-B2OEDYqf.d.ts → Manager-CJ3G2zqi.d.ts} +1 -4
- package/dist/{OpenViduRecordingProvider-DF7A4ZNJ.esm.js → OpenViduRecordingProvider-B_0GKkzc.esm.js} +1 -1
- package/dist/PrivacyLensProvider-hDzaDzZ6.esm.js +339 -0
- package/dist/StateMachine-C_AY4cs7.d.ts +2 -0
- package/dist/{StreamCanvasCapture-Dr5n_iK1.esm.js → StreamCanvasCapture-Bz17q4FP.esm.js} +1 -1
- package/dist/StreamCanvasCapture-DS1TOoiH.d.ts +42 -0
- package/dist/{WasmUtilProvider-CIu373BZ.esm.js → WasmUtilProvider-ADG54T6M.esm.js} +16 -1
- package/dist/{addressSearch-BH96a3fq.esm.js → addressSearch-DJyNTg5S.esm.js} +4 -4
- package/dist/{ae-signature-CDEN8y-w.esm.js → ae-signature-DlElqFrZ.esm.js} +1 -1
- package/dist/ae-signature.d.ts +4 -3
- package/dist/ae-signature.esm.js +10 -9
- package/dist/antifraud.d.ts +4 -3
- package/dist/antifraud.esm.js +7 -6
- package/dist/{antifraudManager-DZifA5zX.esm.js → antifraudManager-BKdQoMFf.esm.js} +4 -3
- package/dist/{antifraudManager-B7WQTIdu.d.ts → antifraudManager-DpIvbrZP.d.ts} +2 -2
- package/dist/{antifraudStateMachine-DlKrK2hL.esm.js → antifraudStateMachine-C0NGnP9W.esm.js} +3 -3
- package/dist/{api-DUZwyz0o.esm.js → api-DsbUi7TO.esm.js} +21 -2
- package/dist/authentication.d.ts +19 -12
- package/dist/authentication.esm.js +33 -27
- package/dist/{authenticationManager-Dve7mGLe.d.ts → authenticationManager-CdPbNS2H.d.ts} +3 -3
- package/dist/{authenticationManager-BM4LzyV7.esm.js → authenticationManager-Dtl1vcET.esm.js} +6 -6
- package/dist/{authenticationStateMachine-Chx3ySdT.esm.js → authenticationStateMachine-D-hOlg8p.esm.js} +8 -8
- package/dist/avatar.d.ts +3 -0
- package/dist/avatar.esm.js +3 -0
- package/dist/{backCameraStream-iftkf3rd.esm.js → backCameraStream-ZyqrFyjO.esm.js} +3 -3
- package/dist/{browser-DlFgHpoC-7tbRR1aR.esm.js → browser-DlFgHpoC-qLKs75Qp.esm.js} +1 -1
- package/dist/{browserSimulation-CGjpdNA1.esm.js → browserSimulation-TsSoavQv.esm.js} +153 -1216
- package/dist/camera-DUkgmYMo.esm.js +79 -0
- package/dist/camera.d.ts +7 -1
- package/dist/camera.esm.js +4 -4
- package/dist/{StreamCanvasCapture-Ctgyx-oD.d.ts → canvas-CJUmoXSD.d.ts} +1 -41
- package/dist/certificate-issuance.d.ts +31 -30
- package/dist/certificate-issuance.esm.js +8 -7
- package/dist/{certificateIssuanceStateMachine-CLNXtXaC.esm.js → certificateIssuanceStateMachine-C07m7qtP.esm.js} +4 -4
- package/dist/clientLifecycle-Ct7h9uxx.esm.js +534 -0
- package/dist/consent.d.ts +4 -3
- package/dist/consent.esm.js +7 -6
- package/dist/{consentManager-psDCeJ0E.esm.js → consentManager-BtnPZUW4.esm.js} +4 -3
- package/dist/{consentManager-BqUGU_YD.d.ts → consentManager-DufVo9D9.d.ts} +52 -52
- package/dist/{consentStateMachine-DRsFFSHE.esm.js → consentStateMachine-DO2JqoZW.esm.js} +3 -3
- package/dist/cpf-ocr.d.ts +4 -3
- package/dist/cpf-ocr.esm.js +7 -6
- package/dist/{cpfOcrManager-BxcgxvgO.esm.js → cpfOcrManager-C4rLgKsu.esm.js} +6 -5
- package/dist/{cpfOcrManager-B2u9hMzd.d.ts → cpfOcrManager-DqZZ94Gt.d.ts} +19 -19
- package/dist/createFaceAvatar-B8pFpy6o.d.ts +401 -0
- package/dist/createFaceAvatar-BOHDKQRq.esm.js +46 -0
- package/dist/cross-document-data-match.d.ts +2 -1
- package/dist/cross-document-data-match.esm.js +6 -5
- package/dist/curp-validation.d.ts +10 -7
- package/dist/curp-validation.esm.js +7 -6
- package/dist/{curpValidationManager-BgLDw0Ub.esm.js → curpValidationManager-BafobPXC.esm.js} +4 -3
- package/dist/{curpValidationManager-Bt6CVD8b.d.ts → curpValidationManager-Co6LZAHT.d.ts} +3 -3
- package/dist/{curpValidationStateMachine-BK_wJ48C.esm.js → curpValidationStateMachine-DXTPK6vI.esm.js} +3 -3
- package/dist/custom-fields.d.ts +3 -2
- package/dist/custom-fields.esm.js +6 -5
- package/dist/custom-watchlist.d.ts +2 -1
- package/dist/custom-watchlist.esm.js +6 -5
- package/dist/{customWatchlistStateMachine-Bi4P59HM.esm.js → customWatchlistStateMachine-B4G3Chkx.esm.js} +3 -3
- package/dist/{deepsightLoader-BMmvk0X6.esm.js → deepsightLoader-DHSVD776.esm.js} +14 -13
- package/dist/{deepsightService-CEZrdiW0.esm.js → deepsightService-CDahSjGP.esm.js} +9 -38
- package/dist/deepsightService-CMB9XjES.d.ts +69 -0
- package/dist/device.d.ts +9 -1
- package/dist/device.esm.js +5 -5
- package/dist/document-capture.d.ts +175 -174
- package/dist/document-capture.esm.js +14 -13
- package/dist/document-upload.d.ts +48 -47
- package/dist/document-upload.esm.js +9 -8
- package/dist/{documentCaptureStateMachine-MpwpJO7t.esm.js → documentCaptureStateMachine-DSOX2epf.esm.js} +7 -7
- package/dist/dynamic-forms.d.ts +4 -192
- package/dist/dynamic-forms.esm.js +8 -160
- package/dist/dynamicFormsManager-BOefZbyF.esm.js +168 -0
- package/dist/dynamicFormsManager-CUYLOj9g.d.ts +239 -0
- package/dist/{dynamicFormsStateMachine-Do84A4uU.esm.js → dynamicFormsStateMachine-BXHcaocI.esm.js} +4 -4
- package/dist/ekyb.d.ts +9 -6
- package/dist/ekyb.esm.js +20 -17
- package/dist/{ekybStateMachine-nsuPOw3f.esm.js → ekybStateMachine-CCSeqjCt.esm.js} +5 -5
- package/dist/ekyc.d.ts +4 -3
- package/dist/ekyc.esm.js +9 -8
- package/dist/{ekycStateMachine-DcynX0rj.esm.js → ekycStateMachine-DkLVTOyA.esm.js} +5 -5
- package/dist/electronic-signature.d.ts +4 -3
- package/dist/electronic-signature.esm.js +9 -8
- package/dist/{electronicSignatureManager-B63aAuI5.esm.js → electronicSignatureManager-DjzUzqZj.esm.js} +50 -87
- package/dist/email.d.ts +5 -4
- package/dist/email.esm.js +9 -8
- package/dist/{emailManager-DxHjAe5u.esm.js → emailManager-B_XzEsXH.esm.js} +5 -4
- package/dist/{emailManager-C6D2u4mQ.d.ts → emailManager-fHASH6uo.d.ts} +3 -3
- package/dist/{emailStateMachine-758f34gg.esm.js → emailStateMachine-fqJ42b19.esm.js} +5 -5
- package/dist/{endpoints-BM2_j_IE.esm.js → endpoints-BzMJFAPV.esm.js} +13 -0
- package/dist/{events-DN-u67gb.esm.js → events-CqGY1yMq.esm.js} +2 -188
- package/dist/events.d.ts +2 -0
- package/dist/events.esm.js +3 -2
- package/dist/extensibility.d.ts +37 -26
- package/dist/extensibility.esm.js +74 -59
- package/dist/{externalFetch-crimxkN9.esm.js → externalFetch-CyhBfD-n.esm.js} +1 -1
- package/dist/face-match.d.ts +2 -2
- package/dist/face-match.esm.js +6 -5
- package/dist/{faceCaptureManagerFactory-BNXZchWX.esm.js → faceCaptureManagerFactory-2brKTzMb.esm.js} +25 -16
- package/dist/faceCaptureManagerFactory-CGKbf7zt.d.ts +400 -0
- package/dist/{faceCaptureSetup-Dqb09D24.esm.js → faceCaptureSetup-CDUVU1nl.esm.js} +97 -13
- package/dist/{faceMatchStateMachine-FikRaUZH.esm.js → faceMatchStateMachine-DUeUjEPx.esm.js} +3 -3
- package/dist/field-comparison.d.ts +4 -3
- package/dist/field-comparison.esm.js +6 -5
- package/dist/{fieldComparisonManager-Dic0DVgl.esm.js → fieldComparisonManager-B9W0a9A5.esm.js} +5 -4
- package/dist/{fieldComparisonManager-BXc6-DJv.d.ts → fieldComparisonManager-DdLqDeB2.d.ts} +2 -2
- package/dist/fiscal-qr.d.ts +5 -3
- package/dist/fiscal-qr.esm.js +13 -12
- package/dist/flow-events.d.ts +8 -6
- package/dist/flow.d.ts +21 -13
- package/dist/flow.esm.js +28 -19
- package/dist/{flowCompletionService-CdGDKv0z.d.ts → flowCompletionService-BIqSTZcd.d.ts} +2 -1
- package/dist/{flowCompletionService-D_CsiDZM.esm.js → flowCompletionService-qEqh_g14.esm.js} +3 -3
- package/dist/{flowServices-ar5DXv71.esm.js → flowServices-C4piblgx.esm.js} +24 -9
- package/dist/geolocation.d.ts +4 -127
- package/dist/geolocation.esm.js +8 -115
- package/dist/geolocationManager-BP2Do9O-.esm.js +123 -0
- package/dist/geolocationManager-Cs50eRlC.d.ts +156 -0
- package/dist/{geolocationStateMachine-BWjrMGS_.esm.js → geolocationStateMachine-BYfOOOG0.esm.js} +4 -4
- package/dist/{getDeviceClass-rXKlXywy.esm.js → getDeviceClass-DGGzzfqm.esm.js} +1 -1
- package/dist/getDeviceData-TrKM8NPh.esm.js +101 -0
- package/dist/government-validation.d.ts +4 -3
- package/dist/government-validation.esm.js +8 -7
- package/dist/{governmentValidationStateMachine-BoF7U1of.esm.js → governmentValidationStateMachine-CwoPPO8b.esm.js} +5 -5
- package/dist/home.d.ts +18 -15
- package/dist/home.esm.js +4 -3
- package/dist/http.esm.js +2 -2
- package/dist/id-ocr.d.ts +4 -625
- package/dist/id-ocr.esm.js +8 -84
- package/dist/id-verification.d.ts +28 -27
- package/dist/id-verification.esm.js +6 -5
- package/dist/id.d.ts +16 -11
- package/dist/id.esm.js +39 -32
- package/dist/idCaptureDefaults-DNJON8Xo.esm.js +188 -0
- package/dist/{idCaptureManager-BvGUSN2e.d.ts → idCaptureManager-BVdvfJys.d.ts} +40 -10
- package/dist/{idCaptureManager-Bm6Wm6Qv.esm.js → idCaptureManager-Bo9DCQSU.esm.js} +14 -11
- package/dist/{idCaptureStateMachine-D1YhOj6n.esm.js → idCaptureStateMachine-BeDidMLU.esm.js} +395 -382
- package/dist/idOcrManager-BkRDrpZu.esm.js +92 -0
- package/dist/idOcrManager-CJzrmM91.d.ts +641 -0
- package/dist/{idOcrStateMachine-YMCDGplq.esm.js → idOcrStateMachine-DRZc4FBl.esm.js} +5 -5
- package/dist/{idVerificationStateMachine-Bo1IYuZH.esm.js → idVerificationStateMachine-oqiERKpg.esm.js} +3 -3
- package/dist/identity-reuse.d.ts +4 -3
- package/dist/identity-reuse.esm.js +7 -6
- package/dist/{identityReuseManager-D0knIrOy.esm.js → identityReuseManager-Bu62LToE.esm.js} +4 -3
- package/dist/{identityReuseManager-DcWSvC-A.d.ts → identityReuseManager-TWKbXuvY.d.ts} +33 -33
- package/dist/{identityReuseStateMachine-CSQfZOqD.esm.js → identityReuseStateMachine-BmONeF6B.esm.js} +3 -3
- package/dist/{index-BgxYUYuD.d.ts → index-DtUlD-bz.d.ts} +2 -2
- package/dist/{index-DV134v62.d.ts → index-Icld-cKW.d.ts} +175 -295
- package/dist/index.d.ts +3 -3
- package/dist/index.esm.js +16 -13
- package/dist/{invokeOnCaptureCallback-Dzemudhk.esm.js → invokeOnCaptureCallback-v_PV_IJz.esm.js} +1 -1
- package/dist/{lib-7ZQ9BdKH.esm.js → lib-B050WTth.esm.js} +1 -1
- package/dist/mandatory-consent.d.ts +10 -7
- package/dist/mandatory-consent.esm.js +7 -6
- package/dist/{mandatoryConsentManager-Tzl5Qd35.d.ts → mandatoryConsentManager-Bmdjo14S.d.ts} +50 -50
- package/dist/{mandatoryConsentManager-Lon46nPQ.esm.js → mandatoryConsentManager-CQ3jirlZ.esm.js} +4 -3
- package/dist/{mandatoryConsentStateMachine-D_dZ7IF6.esm.js → mandatoryConsentStateMachine-DkJJLHqC.esm.js} +3 -3
- package/dist/mediaRecorderOptions-C3NAkVgK.esm.js +42 -0
- package/dist/mediapipeShared-CRAKVElv.esm.js +67 -0
- package/dist/{recordingService-CxMJP4tQ.esm.js → onDeviceFaceResults-DVBggeq8.esm.js} +71 -389
- package/dist/{openviduLazy-oAXXI9w_.esm.js → openviduLazy-BTOIauGP.esm.js} +2 -2
- package/dist/openviduLazy-Dov8oKfL.esm.js +3 -0
- package/dist/{permissionGuards-D-Z-lgNj.esm.js → permissionGuards-BR2oN573.esm.js} +1 -1
- package/dist/{permissionServices-CPDboRoE.esm.js → permissionServices-BJhGL13R.esm.js} +7 -4
- package/dist/personhood.d.ts +534 -0
- package/dist/personhood.esm.js +1494 -0
- package/dist/phone.d.ts +5 -4
- package/dist/phone.esm.js +9 -8
- package/dist/{phoneManager-TSq1Ief6.d.ts → phoneManager-BOTcjXgs.d.ts} +3 -3
- package/dist/{phoneManager-Blt4Oc2P.esm.js → phoneManager-BWlxqbyD.esm.js} +5 -4
- package/dist/{phoneStateMachine-W3c6Z8sj.esm.js → phoneStateMachine-B_V9nODs.esm.js} +5 -5
- package/dist/{qe-signature-CQLK6LKE.esm.js → qe-signature-BhFnI9pT.esm.js} +1 -1
- package/dist/qe-signature.d.ts +4 -3
- package/dist/qe-signature.esm.js +10 -9
- package/dist/recordingService-m_1xCthr.esm.js +347 -0
- package/dist/redirect-to-mobile.d.ts +4 -3
- package/dist/redirect-to-mobile.esm.js +9 -8
- package/dist/{redirectToMobileManager-DCvpKdkD.esm.js → redirectToMobileManager-BaAo9rgi.esm.js} +5 -4
- package/dist/{redirectToMobileManager-yOHAmwg-.d.ts → redirectToMobileManager-Br0KZK1G.d.ts} +2 -2
- package/dist/{redirectToMobileStateMachine-DC9z4Vfu.esm.js → redirectToMobileStateMachine-DoAnf2ql.esm.js} +10 -12
- package/dist/{runChildModule-C9G0wfVC.esm.js → runChildModule-0nQfjVVo.esm.js} +3 -3
- package/dist/selfie.d.ts +19 -12
- package/dist/selfie.esm.js +34 -28
- package/dist/{selfieManager-BRL6c_Oc.esm.js → selfieManager-D_ZFERsE.esm.js} +6 -6
- package/dist/{selfieManager-imY2dAcH.d.ts → selfieManager-R0Jw5sjb.d.ts} +3 -3
- package/dist/{selfieStateMachine-D2Q0uwDK.esm.js → selfieStateMachine-CIgeeiN9.esm.js} +4 -4
- package/dist/{session-Be_IA1e0.esm.js → session-9jIfKFCc.esm.js} +3 -3
- package/dist/session.d.ts +7 -5
- package/dist/session.esm.js +16 -14
- package/dist/{sessionInitializer-CaiGA8GP.esm.js → sessionInitializer-C_TYIgyk.esm.js} +11 -107
- package/dist/{setup-BJZAkajt.d.ts → setup-CpRnXxn8.d.ts} +16 -3
- package/dist/setup-DHc6OaHm.esm.js +562 -0
- package/dist/signature.d.ts +3 -2
- package/dist/signature.esm.js +6 -5
- package/dist/{signatureStateMachine-DAxXmMrk.esm.js → signatureStateMachine-DtoiPzys.esm.js} +3 -3
- package/dist/{stats-DntyIiGr.esm.js → stats-CYcScXcO.esm.js} +2 -2
- package/dist/stats.esm.js +3 -3
- package/dist/thumbmarkAdapter-fHBUDlAP.esm.js +1194 -0
- package/dist/{tri-CtxWthxz.esm.js → tri-BG1iJsr4.esm.js} +12 -2
- package/dist/tri.d.ts +1 -1
- package/dist/{tri.esm-CrWAulDi.esm.js → tri.esm-DUC01NgO.esm.js} +27 -23
- package/dist/tri.esm.js +2 -2
- package/dist/trust-graph.d.ts +4 -3
- package/dist/trust-graph.esm.js +4 -3
- package/dist/{types-DpTWgfKY.d.ts → types-BklZ_Wne.d.ts} +1 -1
- package/dist/{types-Dv-9WPJX.d.ts → types-BsYXnC5s.d.ts} +39 -3
- package/dist/types-CxW2e0Ar.d.ts +132 -0
- package/dist/{types-Z9wv19v2.d.ts → types-DgGlgyZT.d.ts} +1 -1
- package/dist/types-ElOJAGaM.esm.js +189 -0
- package/dist/video-C2WIj6TS.esm.js +36 -0
- package/dist/video-selfie.d.ts +351 -0
- package/dist/video-selfie.esm.js +1509 -0
- package/dist/videoSelfieSteps-7M5vxKn-.esm.js +58 -0
- package/dist/{warmup--6HA3yUR.d.ts → warmup-BJZPQIiX.d.ts} +5 -1
- package/dist/wasm.d.ts +4 -4
- package/dist/wasm.esm.js +17 -14
- package/dist/watchlist-for-business.d.ts +2 -1
- package/dist/watchlist-for-business.esm.js +6 -5
- package/dist/watchlist.d.ts +2 -1
- package/dist/watchlist.esm.js +6 -5
- package/dist/{watchlistForBusinessStateMachine-DtefJb-D.esm.js → watchlistForBusinessStateMachine-DvEunDxs.esm.js} +3 -3
- package/dist/{watchlistStateMachine-B0aIS2_n.esm.js → watchlistStateMachine-AHXVf-TB.esm.js} +3 -3
- package/dist/workflow.d.ts +230 -98
- package/dist/workflow.esm.js +123 -79
- package/dist/{xstate.esm-Dkm1jy5u.esm.js → xstate.esm-Bomq1a0z.esm.js} +41 -1
- package/package.json +16 -1
- package/dist/IpifyProvider-oZf7Ke1O.esm.js +0 -167
- package/dist/camera-x4LjGTjZ.esm.js +0 -22
- package/dist/deepsightService-ByNKY5Jv.d.ts +0 -276
- package/dist/faceCaptureManagerFactory-CL-7T_vH.d.ts +0 -731
- package/dist/getBrowser-Dv8LZyHE.esm.js +0 -8
- package/dist/openviduLazy-B_s6jnEk.esm.js +0 -3
- package/dist/setup-C7tintPc.esm.js +0 -1064
- /package/dist/{Actor-fIPLXfoi.d.ts → Actor-CGEelYtQ.d.ts} +0 -0
- /package/dist/{BrowserTimerProvider-BVgutW_b.esm.js → BrowserTimerProvider-CHloo0eQ.esm.js} +0 -0
- /package/dist/{ITimerCapability-BvH0pDwp.esm.js → ITimerCapability-pltuG1E8.esm.js} +0 -0
- /package/dist/{MotionSensorProvider-C9fPAJdS.esm.js → MotionSensorProvider-DCbId4De.esm.js} +0 -0
- /package/dist/{apiError-D-GTvFrH.esm.js → apiError-DNS2OCEX.esm.js} +0 -0
- /package/dist/{camera-biGPWlmx.d.ts → camera-CNVUo-bC.d.ts} +0 -0
- /package/dist/{canvas-7uX2izHb.esm.js → canvas-_I95hkPg.esm.js} +0 -0
- /package/dist/{chunk-BK1xu56N.esm.js → chunk-CIKcdghV.esm.js} +0 -0
- /package/dist/{cpf-xBg-DFNn.esm.js → cpf-BKaho0j_.esm.js} +0 -0
- /package/dist/{dateUtils-8dCcuArE.esm.js → dateUtils-7-tQYRNN.esm.js} +0 -0
- /package/dist/{getDeviceClass-C0zrM97a.esm.js → getDeviceClass-DavNdcxh.esm.js} +0 -0
- /package/dist/{http-CfVTgMfU.esm.js → http-BkiUT7EB.esm.js} +0 -0
- /package/dist/{index-52_qi4bd.d.ts → index-XTtxaahe.d.ts} +0 -0
- /package/dist/{otp-D87RTwrx.esm.js → otp-Bfnzf7I3.esm.js} +0 -0
- /package/dist/{otp-BHJnjEEc.d.ts → otp-M4iy57XY.d.ts} +0 -0
- /package/dist/{platform-BfoqeM61.esm.js → platform-uIVQUnJP.esm.js} +0 -0
- /package/dist/{types-BdVOWGGW.esm.js → types-CMcxlSmH.esm.js} +0 -0
- /package/dist/{types-DYZja-k9.d.ts → types-D_IceWxT.d.ts} +0 -0
- /package/dist/{types-F0IXbaCB.d.ts → types-Duy2rDxF.d.ts} +0 -0
- /package/dist/{urlUtils-8RNHyW3x.esm.js → urlUtils-BZqFU9rR.esm.js} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as BrowserTimerProvider } from "./BrowserTimerProvider-
|
|
1
|
+
import { t as BrowserTimerProvider } from "./BrowserTimerProvider-CHloo0eQ.esm.js";
|
|
2
2
|
|
|
3
3
|
//#region ../infra/src/providers/browser/BrowserLazyImportProvider.ts
|
|
4
4
|
/**
|
|
@@ -120,7 +120,7 @@ const LAZY_IMPORT_OPTIONS = {
|
|
|
120
120
|
timeoutMs: 1e4,
|
|
121
121
|
disabledMessage: "TRI will be disabled for this session."
|
|
122
122
|
};
|
|
123
|
-
const importSdk = () => import("./tri.esm-
|
|
123
|
+
const importSdk = () => import("./tri.esm-DUC01NgO.esm.js");
|
|
124
124
|
/**
|
|
125
125
|
* Concrete implementation of {@link ITransactionalRiskIntelligenceCapability}.
|
|
126
126
|
*
|
|
@@ -243,6 +243,8 @@ var TransactionalRiskIntelligenceProvider = class TransactionalRiskIntelligenceP
|
|
|
243
243
|
|
|
244
244
|
//#endregion
|
|
245
245
|
//#region src/integrations/tri/tri.ts
|
|
246
|
+
const LINK_INTERVIEW_BLOCKED_HOSTS = ["falcon-ingest-k8s.saask8s.incodesmile.com", "falcon-ingest.incodesmile.com"];
|
|
247
|
+
let _configuredApiURL;
|
|
246
248
|
/**
|
|
247
249
|
* Returns the active TRI capability implementation.
|
|
248
250
|
*
|
|
@@ -270,6 +272,7 @@ function isTRIStarted() {
|
|
|
270
272
|
* the `isStarted` flag and lazy-import state.
|
|
271
273
|
*/
|
|
272
274
|
function resetTRIProviderInstance() {
|
|
275
|
+
_configuredApiURL = void 0;
|
|
273
276
|
TransactionalRiskIntelligenceProvider.resetInstance();
|
|
274
277
|
}
|
|
275
278
|
/**
|
|
@@ -323,6 +326,7 @@ async function initializeTRI(config, options = {}) {
|
|
|
323
326
|
* @returns The resulting {@link TransactionalRiskIntelligenceState}.
|
|
324
327
|
*/
|
|
325
328
|
async function setupTRI(config) {
|
|
329
|
+
_configuredApiURL = config.apiURL;
|
|
326
330
|
return getProvider().setup(config);
|
|
327
331
|
}
|
|
328
332
|
/**
|
|
@@ -358,8 +362,14 @@ async function resetTRI() {
|
|
|
358
362
|
*/
|
|
359
363
|
async function linkSessionWithTRI(sessionToken) {
|
|
360
364
|
if (!sessionToken) return false;
|
|
365
|
+
if (isLinkInterviewBlocked(_configuredApiURL)) return false;
|
|
361
366
|
return getProvider().linkInterview(sessionToken);
|
|
362
367
|
}
|
|
368
|
+
function isLinkInterviewBlocked(apiURL) {
|
|
369
|
+
if (!apiURL) return true;
|
|
370
|
+
const normalized = apiURL.toLowerCase();
|
|
371
|
+
return LINK_INTERVIEW_BLOCKED_HOSTS.some((host) => normalized.includes(host));
|
|
372
|
+
}
|
|
363
373
|
/**
|
|
364
374
|
* @private This function is not used outside of this file.
|
|
365
375
|
*
|
package/dist/tri.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as startTRI, i as setupTRI, n as isTRIStarted, o as stopTRI, r as resetTRI, s as TransactionalRiskIntelligenceSetupConfig, t as createTRISession } from "./index-
|
|
1
|
+
import { a as startTRI, i as setupTRI, n as isTRIStarted, o as stopTRI, r as resetTRI, s as TransactionalRiskIntelligenceSetupConfig, t as createTRISession } from "./index-XTtxaahe.js";
|
|
2
2
|
export { TransactionalRiskIntelligenceSetupConfig, createTRISession, isTRIStarted, resetTRI, setupTRI, startTRI, stopTRI };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region ../../node_modules/.pnpm/@incodetech+tri-sdk@0.5.
|
|
1
|
+
//#region ../../node_modules/.pnpm/@incodetech+tri-sdk@0.5.1/node_modules/@incodetech/tri-sdk/dist/tri.esm.js
|
|
2
2
|
var t = class t {
|
|
3
3
|
constructor() {
|
|
4
4
|
this.t = !1;
|
|
@@ -135,10 +135,10 @@ const y = 2e3;
|
|
|
135
135
|
function v(t$1) {
|
|
136
136
|
return !!t$1 && t$1.nodeType === Node.TEXT_NODE;
|
|
137
137
|
}
|
|
138
|
-
function
|
|
138
|
+
function b(t$1, n$1) {
|
|
139
139
|
return t$1.tagName?.toLowerCase() === n$1.toLowerCase();
|
|
140
140
|
}
|
|
141
|
-
function
|
|
141
|
+
function g(t$1) {
|
|
142
142
|
return !!t$1 && t$1.nodeType === Node.DOCUMENT_FRAGMENT_NODE;
|
|
143
143
|
}
|
|
144
144
|
function k(t$1) {
|
|
@@ -790,13 +790,13 @@ const Q = {
|
|
|
790
790
|
"Shift" === t$2.key && (l$1 = !1, o$1 && h$1("keyboard"));
|
|
791
791
|
}), v$1 = a(() => {
|
|
792
792
|
c$1 = !1;
|
|
793
|
-
}), g$1 = a(() => {
|
|
794
|
-
"hidden" === document.visibilityState && (c$1 = !1, l$1 = !1, o$1 && h$1("timeout"));
|
|
795
793
|
}), b$1 = a(() => {
|
|
794
|
+
"hidden" === document.visibilityState && (c$1 = !1, l$1 = !1, o$1 && h$1("timeout"));
|
|
795
|
+
}), g$1 = a(() => {
|
|
796
796
|
c$1 = !1, o$1 && h$1("pointer");
|
|
797
797
|
});
|
|
798
|
-
return e(document, "selectionchange", f$1), e(document, "pointerdown", p$1), e(document, "pointerup", m$1), e(document, "keydown", w$1), e(document, "keyup", y$1), e(document, "contextmenu", v$1), e(document, "visibilitychange",
|
|
799
|
-
u$1(), i(document, "selectionchange", f$1), i(document, "pointerdown", p$1), i(document, "pointerup", m$1), i(document, "keydown", w$1), i(document, "keyup", y$1), i(document, "contextmenu", v$1), i(document, "visibilitychange",
|
|
798
|
+
return e(document, "selectionchange", f$1), e(document, "pointerdown", p$1), e(document, "pointerup", m$1), e(document, "keydown", w$1), e(document, "keyup", y$1), e(document, "contextmenu", v$1), e(document, "visibilitychange", b$1), e(document, "dragend", g$1), () => {
|
|
799
|
+
u$1(), i(document, "selectionchange", f$1), i(document, "pointerdown", p$1), i(document, "pointerup", m$1), i(document, "keydown", w$1), i(document, "keyup", y$1), i(document, "contextmenu", v$1), i(document, "visibilitychange", b$1), i(document, "dragend", g$1);
|
|
800
800
|
};
|
|
801
801
|
},
|
|
802
802
|
layer: "behavioral"
|
|
@@ -1259,8 +1259,8 @@ const ft = function(t$1, n$1 = 30) {
|
|
|
1259
1259
|
async function pt(t$1, n$1) {
|
|
1260
1260
|
return globalThis.navigator && "locks" in globalThis.navigator && "request" in globalThis.navigator.locks && "query" in globalThis.navigator.locks ? navigator.locks.request(t$1, { mode: "exclusive" }, async () => c(n$1)) : c(n$1);
|
|
1261
1261
|
}
|
|
1262
|
-
const mt = "__tri", wt = `${mt}_activity_token`, yt = `${mt}_activity_id`, vt = `${mt}_activity_status`,
|
|
1263
|
-
var
|
|
1262
|
+
const mt = "__tri", wt = `${mt}_activity_token`, yt = `${mt}_activity_id`, vt = `${mt}_activity_status`, bt = "__tri_activity_lock";
|
|
1263
|
+
var gt = class {
|
|
1264
1264
|
constructor(t$1) {
|
|
1265
1265
|
this.context = t$1, this.l = null, this.u = null, this.h = null, this.p = null, this.m = !1;
|
|
1266
1266
|
}
|
|
@@ -1282,7 +1282,7 @@ var bt = class {
|
|
|
1282
1282
|
async refresh() {
|
|
1283
1283
|
if (!this.m) return;
|
|
1284
1284
|
const t$1 = this.l;
|
|
1285
|
-
await pt(
|
|
1285
|
+
await pt(bt, async () => {
|
|
1286
1286
|
if (this.l && this.l !== t$1 && !ft(this.l) && "ACTIVE" === this.h) return;
|
|
1287
1287
|
const n$1 = this._();
|
|
1288
1288
|
n$1 && n$1.token !== t$1 && !ft(n$1.token) && "ACTIVE" === n$1.activityStatus ? this.T(n$1) : (this.I(), await this.S());
|
|
@@ -1291,7 +1291,7 @@ var bt = class {
|
|
|
1291
1291
|
async v() {
|
|
1292
1292
|
try {
|
|
1293
1293
|
if (this.l && !ft(this.l)) return;
|
|
1294
|
-
await pt(
|
|
1294
|
+
await pt(bt, async () => {
|
|
1295
1295
|
await this.S();
|
|
1296
1296
|
});
|
|
1297
1297
|
} finally {
|
|
@@ -1497,7 +1497,7 @@ var Pt = class {
|
|
|
1497
1497
|
batchSequence: this.B++,
|
|
1498
1498
|
clientTimestamp: Date.now(),
|
|
1499
1499
|
schemaVersion: "0.1.0",
|
|
1500
|
-
sdkVersion: "0.5.
|
|
1500
|
+
sdkVersion: "0.5.1",
|
|
1501
1501
|
sdkPlatform: "web",
|
|
1502
1502
|
tabId: this.D.getTabId(),
|
|
1503
1503
|
events: n$1
|
|
@@ -1582,7 +1582,7 @@ var $t = class {
|
|
|
1582
1582
|
type: "bye",
|
|
1583
1583
|
tabId: this.tt,
|
|
1584
1584
|
ts: Date.now()
|
|
1585
|
-
}), this.wt(this.yt()), this.vt(), this.
|
|
1585
|
+
}), this.wt(this.yt()), this.vt(), this.bt(), this.gt());
|
|
1586
1586
|
}
|
|
1587
1587
|
getTabId() {
|
|
1588
1588
|
return this.tt;
|
|
@@ -1597,7 +1597,7 @@ var $t = class {
|
|
|
1597
1597
|
n.warn("TabManager", "failed to open broadcast channel:", t$1);
|
|
1598
1598
|
}
|
|
1599
1599
|
}
|
|
1600
|
-
|
|
1600
|
+
gt() {
|
|
1601
1601
|
try {
|
|
1602
1602
|
if (!this.nt) return;
|
|
1603
1603
|
this.st && this.nt.removeEventListener("message", this.st), this.nt.close();
|
|
@@ -1625,7 +1625,7 @@ var $t = class {
|
|
|
1625
1625
|
t$1 !== this.rt && (this.rt = t$1, this.wt(t$1));
|
|
1626
1626
|
}, 1e3);
|
|
1627
1627
|
}
|
|
1628
|
-
|
|
1628
|
+
bt() {
|
|
1629
1629
|
null != this.it && (clearTimeout(this.it), this.it = null);
|
|
1630
1630
|
}
|
|
1631
1631
|
ut(t$1) {
|
|
@@ -1702,7 +1702,7 @@ async function Ht(t$1) {
|
|
|
1702
1702
|
return Promise.race([r$1, o$2]).finally(() => {
|
|
1703
1703
|
d(i$2);
|
|
1704
1704
|
});
|
|
1705
|
-
}(() => import("./browser-DlFgHpoC-
|
|
1705
|
+
}(() => import("./browser-DlFgHpoC-qLKs75Qp.esm.js"), 1e4);
|
|
1706
1706
|
jt = t$3, t$3.then((n$1) => {
|
|
1707
1707
|
null === n$1 && u(() => {
|
|
1708
1708
|
jt === t$3 && (jt = null);
|
|
@@ -1784,7 +1784,7 @@ function Jt(t$1, n$1, e$1, i$1 = nt) {
|
|
|
1784
1784
|
for (let i$3 = 0; i$3 < e$2; i$3++) {
|
|
1785
1785
|
r$2++;
|
|
1786
1786
|
const e$3 = n$2[i$3];
|
|
1787
|
-
if (
|
|
1787
|
+
if (b(e$3, t$2.tagName) && o$2++, e$3 === t$2) break;
|
|
1788
1788
|
}
|
|
1789
1789
|
return {
|
|
1790
1790
|
siblings: i$2,
|
|
@@ -1829,8 +1829,8 @@ function Jt(t$1, n$1, e$1, i$1 = nt) {
|
|
|
1829
1829
|
!y$1 || n$2 || _("placeholder", i$2) || (o$2.placeholder = y$1);
|
|
1830
1830
|
const v$1 = Array.from(t$2.classList).slice(0, 5);
|
|
1831
1831
|
v$1.length > 0 && !_("class", i$2) && (o$2.classes = v$1);
|
|
1832
|
-
const
|
|
1833
|
-
return !
|
|
1832
|
+
const b$1 = t$2.getAttribute("alt");
|
|
1833
|
+
return !b$1 || n$2 || _("alt", i$2) || (o$2.alt = b$1), Object.keys(o$2).length ? o$2 : null;
|
|
1834
1834
|
}(t$1, n$1, i$1);
|
|
1835
1835
|
return {
|
|
1836
1836
|
tagName: o$1,
|
|
@@ -1847,7 +1847,7 @@ function Gt(t$1, n$1) {
|
|
|
1847
1847
|
}(t$1) && (e$1 += 40, i$1.push("native")), function(t$2) {
|
|
1848
1848
|
return t$2.hasAttribute("data-tri-interactive");
|
|
1849
1849
|
}(t$1) && (e$1 += 40, i$1.push("tri-interactive")), function(t$2) {
|
|
1850
|
-
return
|
|
1850
|
+
return b(t$2, "a") && t$2.hasAttribute("href");
|
|
1851
1851
|
}(t$1) && (e$1 += 15, i$1.push("has-href")), function(t$2) {
|
|
1852
1852
|
const n$2 = t$2.getAttribute("role");
|
|
1853
1853
|
return null !== n$2 && Vt.has(n$2);
|
|
@@ -2243,7 +2243,7 @@ async function an(t$1, o$1) {
|
|
|
2243
2243
|
});
|
|
2244
2244
|
const t$2 = await c$1.api.collectionStatus();
|
|
2245
2245
|
if (!t$2.ok || !0 !== t$2.data.eventsCollectionEnabled) return { status: "collection-disabled" };
|
|
2246
|
-
l$1 = new
|
|
2246
|
+
l$1 = new gt({
|
|
2247
2247
|
startActivity: () => c$1.api.startActivity(),
|
|
2248
2248
|
stopActivity: () => c$1.api.stopActivity()
|
|
2249
2249
|
}), h$1 = new Pt(ct, {
|
|
@@ -2306,8 +2306,12 @@ async function an(t$1, o$1) {
|
|
|
2306
2306
|
};
|
|
2307
2307
|
T(e$2) && (i$2 = n$3.length), n$3.push(e$2);
|
|
2308
2308
|
const t$6 = e$2.parentNode;
|
|
2309
|
-
if (!t$6 ||
|
|
2310
|
-
|
|
2309
|
+
if (!t$6 || b(e$2, "body")) break;
|
|
2310
|
+
if (g(t$6)) e$2 = t$6.host;
|
|
2311
|
+
else {
|
|
2312
|
+
if (t$6.nodeType !== Node.ELEMENT_NODE) break;
|
|
2313
|
+
e$2 = t$6;
|
|
2314
|
+
}
|
|
2311
2315
|
}
|
|
2312
2316
|
return {
|
|
2313
2317
|
chain: n$3,
|
package/dist/tri.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "./BrowserTimerProvider-
|
|
2
|
-
import { a as resetTRI, c as startTRI, l as stopTRI, r as isTRIStarted, s as setupTRI, t as createTRISession } from "./tri-
|
|
1
|
+
import "./BrowserTimerProvider-CHloo0eQ.esm.js";
|
|
2
|
+
import { a as resetTRI, c as startTRI, l as stopTRI, r as isTRIStarted, s as setupTRI, t as createTRISession } from "./tri-BG1iJsr4.esm.js";
|
|
3
3
|
|
|
4
4
|
export { createTRISession, isTRIStarted, resetTRI, setupTRI, startTRI, stopTRI };
|
package/dist/trust-graph.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import "./StateMachine-C_AY4cs7.js";
|
|
2
|
+
import { t as Manager } from "./Manager-CJ3G2zqi.js";
|
|
3
|
+
import * as xstate63 from "xstate";
|
|
3
4
|
|
|
4
5
|
//#region src/modules/trust-graph/trustGraphManager.d.ts
|
|
5
6
|
type TrustGraphIdleState = {
|
|
@@ -59,7 +60,7 @@ type TrustGraphContext = Record<string, never>;
|
|
|
59
60
|
* Mirror the `noOpFlowModuleMachine` / `identitySearchMachine` headless pattern:
|
|
60
61
|
* start directly in the `final` state.
|
|
61
62
|
*/
|
|
62
|
-
declare const trustGraphMachine:
|
|
63
|
+
declare const trustGraphMachine: xstate63.StateMachine<TrustGraphContext, xstate63.AnyEventObject, {}, never, never, never, never, "finished", string, xstate63.NonReducibleUnknown, xstate63.NonReducibleUnknown, xstate63.EventObject, xstate63.MetaObject, {
|
|
63
64
|
readonly id: "trust-graph";
|
|
64
65
|
readonly initial: "finished";
|
|
65
66
|
readonly context: {};
|
package/dist/trust-graph.esm.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import "./api-
|
|
2
|
-
import { n as
|
|
3
|
-
import {
|
|
1
|
+
import "./api-DsbUi7TO.esm.js";
|
|
2
|
+
import { n as createManagerInstrumentation } from "./events-CqGY1yMq.esm.js";
|
|
3
|
+
import { n as eventModuleNames } from "./types-ElOJAGaM.esm.js";
|
|
4
|
+
import { l as createManager, s as createActor, t as setup } from "./xstate.esm-Bomq1a0z.esm.js";
|
|
4
5
|
|
|
5
6
|
//#region src/modules/trust-graph/trustGraphStateMachine.ts
|
|
6
7
|
/**
|
|
@@ -1,6 +1,27 @@
|
|
|
1
|
-
import { t as DocumentUploadConfig } from "./types-
|
|
2
|
-
import { s as RiskAddon } from "./types-
|
|
1
|
+
import { t as DocumentUploadConfig } from "./types-DgGlgyZT.js";
|
|
2
|
+
import { s as RiskAddon } from "./types-D_IceWxT.js";
|
|
3
3
|
|
|
4
|
+
//#region src/internal/avatar/concealment.d.ts
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Backend-aligned selfie/auth face-concealment options. The backend returns a
|
|
8
|
+
* single field on the SELFIE & AUTHENTICATION node config (Flow + Workflow);
|
|
9
|
+
* the SDK derives the internal cosmetic-avatar flags from it (see
|
|
10
|
+
* {@link concealmentToAvatar}) — it is the single source for whether/which
|
|
11
|
+
* avatar conceals the live preview. Display-only: autocapture, quality,
|
|
12
|
+
* liveness, age and upload always run on the real frames.
|
|
13
|
+
*
|
|
14
|
+
* `as const` + derived union mirrors the `FACE_ERROR_CODES` house style.
|
|
15
|
+
* See docs/features/FACE_AVATAR.md.
|
|
16
|
+
*/
|
|
17
|
+
declare const SELFIE_CONCEALMENT_OPTIONS: {
|
|
18
|
+
readonly NONE: "OPTION_NONE";
|
|
19
|
+
readonly SILHOUETTE: "OPTION_SILHOUETTE";
|
|
20
|
+
readonly TWO_D: "OPTION_2D";
|
|
21
|
+
readonly THREE_D: "OPTION_3D";
|
|
22
|
+
};
|
|
23
|
+
type SelfieConcealmentOption = (typeof SELFIE_CONCEALMENT_OPTIONS)[keyof typeof SELFIE_CONCEALMENT_OPTIONS];
|
|
24
|
+
//#endregion
|
|
4
25
|
//#region src/modules/flow/types.d.ts
|
|
5
26
|
type EmptyConfig = Record<string, never>;
|
|
6
27
|
type RegulationTypes = 'US' | 'Worldwide' | 'Other' | 'US_Illinois' | 'US_Texas' | 'US_California' | 'US_Washington';
|
|
@@ -60,6 +81,12 @@ type FlowModuleConfig = {
|
|
|
60
81
|
* Recording is skipped.
|
|
61
82
|
*/
|
|
62
83
|
onDeviceFaceResultsSubmissionEnabled?: boolean;
|
|
84
|
+
/**
|
|
85
|
+
* Cosmetic face-concealment option for the authentication selfie, sent by
|
|
86
|
+
* the backend node config (see `BaseFaceCaptureConfig.selfieConcealmentOption`
|
|
87
|
+
* + docs/features/FACE_AVATAR.md).
|
|
88
|
+
*/
|
|
89
|
+
selfieConcealmentOption?: SelfieConcealmentOption;
|
|
63
90
|
};
|
|
64
91
|
ADDRESS: {
|
|
65
92
|
disableSkipPoa: boolean;
|
|
@@ -229,6 +256,11 @@ type FlowModuleConfig = {
|
|
|
229
256
|
* skipped and the `/omni/process/face` step is bypassed.
|
|
230
257
|
*/
|
|
231
258
|
onDeviceFaceResultsSubmissionEnabled?: boolean;
|
|
259
|
+
/**
|
|
260
|
+
* Cosmetic face-concealment option, sent by the backend node config (see
|
|
261
|
+
* `BaseFaceCaptureConfig.selfieConcealmentOption` + docs/features/FACE_AVATAR.md).
|
|
262
|
+
*/
|
|
263
|
+
selfieConcealmentOption?: SelfieConcealmentOption;
|
|
232
264
|
};
|
|
233
265
|
SIGNATURE: {
|
|
234
266
|
title: string;
|
|
@@ -254,6 +286,10 @@ type FlowModuleConfig = {
|
|
|
254
286
|
compareBackOcrEnabled: boolean;
|
|
255
287
|
checkVoiceConsent: boolean;
|
|
256
288
|
voiceConsentQuestions: number;
|
|
289
|
+
/** Max voice-consent submission attempts before the step gives up. Default 3. */
|
|
290
|
+
numberOfTries?: number;
|
|
291
|
+
/** Whether the consent audio is validated by backend speech-to-text. Default true. */
|
|
292
|
+
speechToTextCheck?: boolean;
|
|
257
293
|
selfieQualityAffectsScore: boolean;
|
|
258
294
|
maxWaitingVideoSelfieFile: number;
|
|
259
295
|
lastSecondsVideoQualityCheck: boolean;
|
|
@@ -349,4 +385,4 @@ type Flow = {
|
|
|
349
385
|
ds?: boolean;
|
|
350
386
|
};
|
|
351
387
|
//#endregion
|
|
352
|
-
export { RegulationTypes as a, FlowModuleConfig as i, Flow as n, TutorialIdConfig as o, FlowModule as r, EmptyConfig as t };
|
|
388
|
+
export { RegulationTypes as a, FlowModuleConfig as i, Flow as n, TutorialIdConfig as o, FlowModule as r, SelfieConcealmentOption as s, EmptyConfig as t };
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { a as AvatarAssetsOverrides } from "./createFaceAvatar-B8pFpy6o.js";
|
|
2
|
+
import { n as Flow, s as SelfieConcealmentOption } from "./types-BsYXnC5s.js";
|
|
3
|
+
import { a as IRecordingCapability, i as IStorageCapability, t as IWasmUtilCapability } from "./IWasmUtilCapability-d2XvzaCk.js";
|
|
4
|
+
|
|
5
|
+
//#region src/internal/faceCapture/types.d.ts
|
|
6
|
+
|
|
7
|
+
type CameraResolution = {
|
|
8
|
+
width?: number;
|
|
9
|
+
height?: number;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Rich captured face payload delivered via `onCapture` in the selfie
|
|
13
|
+
* captureOnly flow.
|
|
14
|
+
*/
|
|
15
|
+
type FaceCapturedImageData = {
|
|
16
|
+
imageBase64: string;
|
|
17
|
+
blob: Blob;
|
|
18
|
+
url: string;
|
|
19
|
+
metadata: string;
|
|
20
|
+
/**
|
|
21
|
+
* Populated when local video recording is active
|
|
22
|
+
* (`enableFaceRecording === true` with `LocalRecordingService`).
|
|
23
|
+
* `undefined` when video recording is disabled, when the provider is
|
|
24
|
+
* OpenVidu (remote server-side recording), or when video assembly fails.
|
|
25
|
+
*
|
|
26
|
+
* Delivered as raw base64 (not encrypted via WASM `ens()` like the regular
|
|
27
|
+
* flow). Integrators receiving this are responsible for handling it as
|
|
28
|
+
* sensitive biometric data.
|
|
29
|
+
*/
|
|
30
|
+
videoBase64: string | undefined;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Payload delivered to `SelfieCaptureOnlyConfig.onCapture`.
|
|
34
|
+
*/
|
|
35
|
+
type FaceCaptureOnlyResponse = {
|
|
36
|
+
image: FaceCapturedImageData;
|
|
37
|
+
};
|
|
38
|
+
type BaseFaceCaptureConfig = {
|
|
39
|
+
showTutorial: boolean;
|
|
40
|
+
showPreview?: boolean;
|
|
41
|
+
assistedOnboarding?: boolean;
|
|
42
|
+
enableFaceRecording?: boolean;
|
|
43
|
+
autoCaptureTimeout: number;
|
|
44
|
+
captureAttempts?: number;
|
|
45
|
+
numberOfAttempts?: number;
|
|
46
|
+
validateLenses?: boolean;
|
|
47
|
+
validateFaceMask?: boolean;
|
|
48
|
+
validateHeadCover?: boolean;
|
|
49
|
+
validateClosedEyes?: boolean;
|
|
50
|
+
validateBrightness?: boolean;
|
|
51
|
+
deepsightLiveness?: 'SINGLE_FRAME' | 'MULTIMODAL' | 'VIDEOLIVENESS';
|
|
52
|
+
cameraResolution?: CameraResolution;
|
|
53
|
+
ageAssurance?: boolean;
|
|
54
|
+
recording?: {
|
|
55
|
+
capability?: IRecordingCapability;
|
|
56
|
+
};
|
|
57
|
+
ds?: Flow['ds'];
|
|
58
|
+
/**
|
|
59
|
+
* When true, face analysis runs on-device via the OnDevice WASM workflow
|
|
60
|
+
* (6 models) and only the results JSON is submitted to the backend
|
|
61
|
+
* (`/omni/add/face-results`). Recording is skipped entirely. Used by both
|
|
62
|
+
* SELFIE and AUTHENTICATION modules.
|
|
63
|
+
*
|
|
64
|
+
* **Requires E2EE.** The on-device face-results endpoint is only served on
|
|
65
|
+
* the E2EE-provisioned host. Configure `setup()` with the dedicated E2EE
|
|
66
|
+
* `apiURL` and `encryption: true` — see the `encryption` option on
|
|
67
|
+
* `SetupOptions`. Without it, `/omni/add/face-results` will fail.
|
|
68
|
+
*/
|
|
69
|
+
onDeviceFaceResultsSubmissionEnabled?: boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Cosmetic-only face concealment for the capture screen. The backend sends
|
|
72
|
+
* this single option on the SELFIE/AUTHENTICATION node config; the SDK derives
|
|
73
|
+
* which avatar (if any) conceals the live preview from it. A **display** change
|
|
74
|
+
* only — autocapture, quality, liveness, age and upload keep running on the
|
|
75
|
+
* real frames. The heavy avatar runtime (MediaPipe + three) is lazy-loaded only
|
|
76
|
+
* when an avatar is selected.
|
|
77
|
+
* - `OPTION_NONE` (or absent) — the live video, no avatar.
|
|
78
|
+
* - `OPTION_SILHOUETTE` — frosted-glass WebGL lens over the real video.
|
|
79
|
+
* - `OPTION_2D` — stylized 2D face (also the personhood avatar).
|
|
80
|
+
* - `OPTION_3D` — 3D VRM character.
|
|
81
|
+
* See docs/features/FACE_AVATAR.md.
|
|
82
|
+
*/
|
|
83
|
+
selfieConcealmentOption?: SelfieConcealmentOption;
|
|
84
|
+
/**
|
|
85
|
+
* Optional overrides for where the avatar runtime assets (MediaPipe wasm,
|
|
86
|
+
* face-landmarker model, `.vrm`) are fetched from. Defaults to the bundled CDN
|
|
87
|
+
* layout. Only relevant when `selfieConcealmentOption` selects an avatar.
|
|
88
|
+
*/
|
|
89
|
+
avatarAssets?: AvatarAssetsOverrides;
|
|
90
|
+
};
|
|
91
|
+
type FaceCaptureDependencies = {
|
|
92
|
+
storage: IStorageCapability;
|
|
93
|
+
getWasmUtil: () => Promise<IWasmUtilCapability>;
|
|
94
|
+
trackCaptureAttemptFinished?: (payload: {
|
|
95
|
+
logs: string;
|
|
96
|
+
}) => void;
|
|
97
|
+
};
|
|
98
|
+
type DetectionStatus = 'idle' | 'detecting' | 'noFace' | 'tooManyFaces' | 'tooClose' | 'tooFar' | 'blur' | 'dark' | 'tooBright' | 'faceAngle' | 'lookAtCamera' | 'headWear' | 'lenses' | 'eyesClosed' | 'faceMask' | 'faceOcclusion' | 'centerFace' | 'moveLeft' | 'moveRight' | 'manualCapture' | 'success' | 'error' | 'capturing' | 'getReady' | 'getReadyFinished' | 'offline';
|
|
99
|
+
declare const FACE_ERROR_CODES: {
|
|
100
|
+
readonly FACE_OCCLUDED: "FACE_OCCLUDED";
|
|
101
|
+
readonly LIVENESS: "LIVENESS_ERROR";
|
|
102
|
+
readonly BRIGHTNESS: "BRIGHTNESS_ERROR";
|
|
103
|
+
readonly LENSES: "LENSES_ERROR";
|
|
104
|
+
readonly MASK: "MASK_ERROR";
|
|
105
|
+
readonly CLOSED_EYES: "CLOSED_EYES_ERROR";
|
|
106
|
+
readonly HEAD_COVER: "HEAD_COVER_ERROR";
|
|
107
|
+
readonly SERVER: "SERVER_ERROR";
|
|
108
|
+
readonly FACE_NOT_FOUND: "FACE_NOT_FOUND";
|
|
109
|
+
readonly MULTIPLE_FACES: "MULTIPLE_FACES";
|
|
110
|
+
readonly TOO_BLURRY: "TOO_BLURRY_ERROR";
|
|
111
|
+
readonly TOO_DARK: "TOO_DARK_ERROR";
|
|
112
|
+
readonly USER_IS_NOT_RECOGNIZED: "USER_IS_NOT_RECOGNIZED";
|
|
113
|
+
readonly SPOOF_ATTEMPT_DETECTED: "SPOOF_ATTEMPT_DETECTED";
|
|
114
|
+
readonly FACE_TOO_DARK: "FACE_TOO_DARK";
|
|
115
|
+
readonly LENSES_DETECTED: "LENSES_DETECTED";
|
|
116
|
+
readonly FACE_MASK_DETECTED: "FACE_MASK_DETECTED";
|
|
117
|
+
readonly CLOSED_EYES_DETECTED: "CLOSED_EYES_DETECTED";
|
|
118
|
+
readonly HEAD_COVER_DETECTED: "HEAD_COVER_DETECTED";
|
|
119
|
+
readonly FACE_CROPPING_FAILED: "FACE_CROPPING_FAILED";
|
|
120
|
+
readonly FACE_TOO_SMALL: "FACE_TOO_SMALL";
|
|
121
|
+
readonly FACE_TOO_BLURRY: "FACE_TOO_BLURRY";
|
|
122
|
+
readonly BAD_PHOTO_QUALITY: "BAD_PHOTO_QUALITY";
|
|
123
|
+
readonly PROCESSING_ERROR: "PROCESSING_ERROR";
|
|
124
|
+
readonly BAD_REQUEST: "BAD_REQUEST";
|
|
125
|
+
readonly NONEXISTENT_CUSTOMER: "NONEXISTENT_CUSTOMER";
|
|
126
|
+
readonly HINT_NOT_PROVIDED: "HINT_NOT_PROVIDED";
|
|
127
|
+
readonly SELFIE_IMAGE_LOW_QUALITY: "SELFIE_IMAGE_LOW_QUALITY";
|
|
128
|
+
readonly NO_MORE_ATTEMPTS: "NO_MORE_ATTEMPTS";
|
|
129
|
+
};
|
|
130
|
+
type FaceErrorCode = (typeof FACE_ERROR_CODES)[keyof typeof FACE_ERROR_CODES];
|
|
131
|
+
//#endregion
|
|
132
|
+
export { FaceCapturedImageData as a, FaceCaptureOnlyResponse as i, DetectionStatus as n, FaceErrorCode as o, FaceCaptureDependencies as r, BaseFaceCaptureConfig as t };
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
//#region src/internal/events/types.ts
|
|
2
|
+
const eventModuleNames = {
|
|
3
|
+
selfie: "SELFIE",
|
|
4
|
+
faceCapture: "faceCapture",
|
|
5
|
+
authentication: "AUTHENTICATION",
|
|
6
|
+
authFace: "authFace",
|
|
7
|
+
mlConsent: "ML_CONSENT",
|
|
8
|
+
combinedConsent: "datasharingconsent",
|
|
9
|
+
curpValidation: "CURP",
|
|
10
|
+
faceMatch: "FACE_MATCH",
|
|
11
|
+
qr: "QR",
|
|
12
|
+
videoSelfie: "VIDEO_ONBOARDING",
|
|
13
|
+
passport: "ID",
|
|
14
|
+
front: "ID",
|
|
15
|
+
back: "ID",
|
|
16
|
+
id: "ID",
|
|
17
|
+
idCapture: "idCapture",
|
|
18
|
+
idOcr: "ID_OCR",
|
|
19
|
+
document: "documentCapture",
|
|
20
|
+
creditCard: "CREDIT_CARD_FRONT",
|
|
21
|
+
creditCardBack: "CREDIT_CARD_BACK",
|
|
22
|
+
conference: "CONFERENCE",
|
|
23
|
+
otp: "OTP",
|
|
24
|
+
signature: "eSign",
|
|
25
|
+
ekyc: "eKYC",
|
|
26
|
+
watchlist: "watchlist",
|
|
27
|
+
globalWatchList: "GLOBAL_WATCHLIST",
|
|
28
|
+
customWatchList: "customWatchlist",
|
|
29
|
+
email: "email",
|
|
30
|
+
phone: "phoneNumber",
|
|
31
|
+
instantVerifyEmail: "INSTANT_VERIFY_EMAIL",
|
|
32
|
+
instantVerifyConsent: "INSTANT_VERIFY_CONSENT",
|
|
33
|
+
forms: "forms",
|
|
34
|
+
customModule: "CUSTOM_MODULE",
|
|
35
|
+
geolocation: "Geolocation",
|
|
36
|
+
ekyb: "eKYB",
|
|
37
|
+
identityReuse: "IDENTITY_REUSE",
|
|
38
|
+
antifraud: "antifraud",
|
|
39
|
+
aeSignature: "AdSign",
|
|
40
|
+
qeSignature: "QSign",
|
|
41
|
+
crossDocumentDataMatch: "CROSS_DOCUMENT_DATA_MATCH",
|
|
42
|
+
customFields: "CUSTOM_FIELDS",
|
|
43
|
+
fieldComparison: "FIELD_COMPARISON",
|
|
44
|
+
personhood: "PERSONHOOD",
|
|
45
|
+
watchlistForBusiness: "watchlistForBusiness",
|
|
46
|
+
trustGraph: "TRUST_GRAPH",
|
|
47
|
+
certificateIssuance: "CERTIFICATE_ISSUANCE",
|
|
48
|
+
governmentValidation: "GovernmentRecordValidation",
|
|
49
|
+
documentUpload: "document-upload",
|
|
50
|
+
home: "home",
|
|
51
|
+
workflow: "workflow",
|
|
52
|
+
fiscalQr: "FISCAL_QR"
|
|
53
|
+
};
|
|
54
|
+
const eventScreenNames = {
|
|
55
|
+
faceMatch: "FACE_MATCH",
|
|
56
|
+
faceCaptureTutorial: "SELFIE_CAPTURE_TUTORIAL",
|
|
57
|
+
faceCaptureCamera: "SELFIE_CAMERA_CAPTURE",
|
|
58
|
+
faceCaptureError: "SELFIE_ATTEMPT_FAILED",
|
|
59
|
+
faceCaptureSuccess: "SELFIE_UPLOAD_SUCCEEDED",
|
|
60
|
+
faceCaptureUpload: "SELFIE_UPLOAD_PROGRESS",
|
|
61
|
+
mlConsent: "MACHINE_LEARNING_CONSENT",
|
|
62
|
+
combinedConsent: "COMBINED_CONSENT",
|
|
63
|
+
curpEnter: "ENTER_CURP",
|
|
64
|
+
curpValidate: "VALIDATE_CURP",
|
|
65
|
+
curpGenerate: "GENERATE_CURP",
|
|
66
|
+
curpValidation: "CURP_VALIDATION_PROGRESS",
|
|
67
|
+
curpValidationFailed: "CURP_VALIDATION_FAILED",
|
|
68
|
+
curpValidationSuccess: "CURP_VALIDATION_SUCCEEDED",
|
|
69
|
+
qrTutorial: "QR_TUTORIAL",
|
|
70
|
+
qrScan: "QR_SCAN",
|
|
71
|
+
smsOtp: "OTP",
|
|
72
|
+
simpleOTP: "OTP",
|
|
73
|
+
signatureInput: "SIGNATURE_INPUT",
|
|
74
|
+
frontTutorial: "FRONT_ID_CAPTURE_TUTORIAL",
|
|
75
|
+
frontCameraCapture: "FRONT_ID_CAMERA_CAPTURE",
|
|
76
|
+
frontHelp: "FRONT_ID_HELP",
|
|
77
|
+
frontReviewPhoto: "FRONT_ID_REVIEW_PHOTO",
|
|
78
|
+
frontUploadProgress: "FRONT_ID_UPLOAD_PROGRESS",
|
|
79
|
+
frontAttemptFailed: "FRONT_ID_ATTEMPT_FAILED",
|
|
80
|
+
frontUploadSuccess: "FRONT_ID_UPLOAD_SUCCEEDED",
|
|
81
|
+
backTutorial: "BACK_ID_CAPTURE_TUTORIAL",
|
|
82
|
+
backCameraCapture: "BACK_ID_CAMERA_CAPTURE",
|
|
83
|
+
backReviewPhoto: "BACK_ID_REVIEW_PHOTO",
|
|
84
|
+
backUploadProgress: "BACK_ID_UPLOAD_PROGRESS",
|
|
85
|
+
backAttemptFailed: "BACK_ID_ATTEMPT_FAILED",
|
|
86
|
+
backUploadSuccess: "BACK_ID_UPLOAD_SUCCEEDED",
|
|
87
|
+
backHelp: "BACK_ID_HELP",
|
|
88
|
+
passportTutorial: "TUTORIAL_PASSPORT",
|
|
89
|
+
documentTutorial: "DOCUMENT_CAPTURE_TUTORIAL",
|
|
90
|
+
documentCameraCapture: "DOCUMENT_CAMERA_CAPTURE",
|
|
91
|
+
documentHelp: "DOCUMENT_HELP",
|
|
92
|
+
documentReviewPhoto: "DOCUMENT_REVIEW_PHOTO",
|
|
93
|
+
documentUploadProgress: "DOCUMENT_UPLOAD_IN_PROGRESS",
|
|
94
|
+
documentAttemptFailed: "DOCUMENT_ATTEMPT_FAILED",
|
|
95
|
+
documentUploadSuccess: "DOCUMENT_UPLOAD_SUCCEEDED",
|
|
96
|
+
conferenceWait: "CONFERENCE_WAIT",
|
|
97
|
+
conferenceVideoChat: "CONFERENCE_VIDEO_CHAT",
|
|
98
|
+
conferenceMessageChat: "CONFERENCE_MESSAGE_CHAT",
|
|
99
|
+
videoSelfieTutorial: "VIDEO_SELFIE_TUTORIAL",
|
|
100
|
+
videoSelfie: "VIDEO_SELFIE",
|
|
101
|
+
videoSelfieFaceCapture: "VIDEO_SELFIE_FACE_CAPTURE",
|
|
102
|
+
videoSelfieFaceUploadProgress: "VIDEO_SELFIE_FACE_UPLOAD_PROGRESS",
|
|
103
|
+
videoSelfieFaceAttemptFailed: "VIDEO_SELFIE_FACE_ATTEMPT_FAILED",
|
|
104
|
+
videoSelfieFaceUploadSucceeded: "VIDEO_SELFIE_FACE_UPLOAD_SUCCEEDED",
|
|
105
|
+
videoSelfieFrontIdCapture: "VIDEO_SELFIE_FRONT_ID_CAPTURE",
|
|
106
|
+
videoSelfieFrontIdUploadProgress: "VIDEO_SELFIE_FRONT_ID_UPLOAD_PROGRESS",
|
|
107
|
+
videoSelfieFrontIdAttemptFailed: "VIDEO_SELFIE_FRONT_ID_ATTEMPT_FAILED",
|
|
108
|
+
videoSelfieFrontIdUploadSucceeded: "VIDEO_SELFIE_FRONT_ID_UPLOAD_SUCCEEDED",
|
|
109
|
+
videoSelfieBackIdCapture: "VIDEO_SELFIE_BACK_ID_CAPTURE",
|
|
110
|
+
videoSelfieBackIdUploadProgress: "VIDEO_SELFIE_BACK_ID_UPLOAD_PROGRESS",
|
|
111
|
+
videoSelfieBackIdAttemptFailed: "VIDEO_SELFIE_BACK_ID_ATTEMPT_FAILED",
|
|
112
|
+
videoSelfieBackIdUploadSucceeded: "VIDEO_SELFIE_BACK_ID_UPLOAD_SUCCEEDED",
|
|
113
|
+
videoSelfieDocumentCapture: "VIDEO_SELFIE_DOCUMENT_CAPTURE",
|
|
114
|
+
videoSelfieVoiceQuestion: "VIDEO_SELFIE_VOICE_QUESTION",
|
|
115
|
+
videoSelfieVoiceFinalQuestion: "VIDEO_SELFIE_VOICE_FINAL_QUESTION",
|
|
116
|
+
videoSelfieVideoUpload: "VIDEO SELFIE VIDEO UPLOAD",
|
|
117
|
+
ekycInput: "EKYC_INPUT",
|
|
118
|
+
ekycProgress: "EKYC_PROGRESS",
|
|
119
|
+
ekycSucceeded: "EKYC_SUCCEEDED",
|
|
120
|
+
ekycFailed: "EKYC_FAILED",
|
|
121
|
+
forms: "FORMS",
|
|
122
|
+
globalWatchListInput: "GLOBAL_WATCHLIST_INPUT",
|
|
123
|
+
globalWatchListProgress: "GLOBAL_WATCHLIST_PROGRESS",
|
|
124
|
+
globalWatchListSuccess: "GLOBAL_WATCHLIST_SUCCEEDED",
|
|
125
|
+
globalWatchListFailed: "GLOBAL_WATCHLIST_FAILED",
|
|
126
|
+
customWatchListInput: "CUSTOM_WATCHLIST_INPUT",
|
|
127
|
+
customWatchListProgress: "CUSTOM_WATCHLIST_PROGRESS",
|
|
128
|
+
customWatchListSuccess: "CUSTOM_WATCHLIST_SUCCEEDED",
|
|
129
|
+
customWatchListFailed: "CUSTOM_WATCHLIST_FAILED",
|
|
130
|
+
emailInput: "EMAIL_INPUT",
|
|
131
|
+
phoneInput: "PHONE_INPUT",
|
|
132
|
+
instantVerify: "INSTANT_VERIFY",
|
|
133
|
+
authFace: "AUTH_FACE",
|
|
134
|
+
authFaceError: "AUTH_FACE_ATTEMPT_FAILED",
|
|
135
|
+
authFaceUpload: "AUTH_FACE_UPLOAD_PROGRESS",
|
|
136
|
+
authFaceUploadSuccess: "AUTH_FACE_UPLOAD_SUCCEEDED",
|
|
137
|
+
authFaceUploadFailed: "AUTH_FACE_UPLOAD_FAILED",
|
|
138
|
+
authFaceTutorial: "AUTH_FACE_TUTORIAL",
|
|
139
|
+
customModuleCallback: "CUSTOM_MODULE_CALLBACK",
|
|
140
|
+
customModuleProcessing: "CUSTOM_MODULE_PROCESSING",
|
|
141
|
+
digitalIdFileSelection: "DIGITAL_ID_FILE_SELECTION",
|
|
142
|
+
digitalIdFileReview: "DIGITAL_ID_FILE_REVIEW",
|
|
143
|
+
digitalIdUploadProgress: "DIGITAL_ID_UPLOAD_PROGRESS",
|
|
144
|
+
digitalIdUploadSuccess: "DIGITAL_ID_UPLOAD_SUCCEEDED",
|
|
145
|
+
digitalIdUploadFailed: "DIGITAL_ID_UPLOAD_FAILED",
|
|
146
|
+
digitalIdAnalysisProgress: "DIGITAL_ID_ANALYSIS_PROGRESS",
|
|
147
|
+
digitalIdVerificationSuccess: "DIGITAL_ID_VERIFICATION_SUCCESS",
|
|
148
|
+
digitalIdVerificationFailed: "DIGITAL_ID_VERIFICATION_FAILED",
|
|
149
|
+
ekybForm: "EKYB_FORM"
|
|
150
|
+
};
|
|
151
|
+
const videoSelfieEvents = {
|
|
152
|
+
imageTooBlurry: "imageTooBlurry",
|
|
153
|
+
fillFrame: "fillFrame",
|
|
154
|
+
checkCameraOrLighting: "checkCameraOrLighting",
|
|
155
|
+
frontIdCaptureStarted: "frontIdCaptureStarted",
|
|
156
|
+
lookAtCamera: "lookAtCamera",
|
|
157
|
+
moveCloser: "moveCloser",
|
|
158
|
+
lookingForFrontId: "lookingForFrontId",
|
|
159
|
+
lookingForBackId: "lookingForBackId",
|
|
160
|
+
cameraSwitchToBack: "cameraSwitchToBack",
|
|
161
|
+
cameraSwitchToFront: "cameraSwitchToFront",
|
|
162
|
+
audioStreamOpened: "audioStreamOpened",
|
|
163
|
+
audioStreamClosed: "audioStreamClosed",
|
|
164
|
+
videoSelfieQuestionAnswered: "videoSelfieQuestionAnswered",
|
|
165
|
+
videoSelfieVideoUploadInProgress: "videoSelfieVideoUploadInProgress",
|
|
166
|
+
videoSelfieTosNotAccepted: "videoSelfieTosNotAccepted",
|
|
167
|
+
videoSelfieTosAccepted: "videoSelfieTosAccepted",
|
|
168
|
+
videoSelfieStreamCreated: "videoSelfieStreamCreated",
|
|
169
|
+
videoSelfieStreamDestroyed: "videoSelfieStreamDestroyed",
|
|
170
|
+
videoSelfieReconnecting: "videoSelfieReconnecting",
|
|
171
|
+
videoSelfieReconnected: "videoSelfieReconnected"
|
|
172
|
+
};
|
|
173
|
+
const tutorialScreenNamesMapper = {
|
|
174
|
+
passport: eventScreenNames.passportTutorial,
|
|
175
|
+
front: eventScreenNames.frontTutorial,
|
|
176
|
+
back: eventScreenNames.backTutorial,
|
|
177
|
+
selfie: eventScreenNames.faceCaptureTutorial
|
|
178
|
+
};
|
|
179
|
+
const cameraScreenNamesMapper = {
|
|
180
|
+
front: "front",
|
|
181
|
+
back: "back",
|
|
182
|
+
passport: "passport",
|
|
183
|
+
creditCard: "front",
|
|
184
|
+
creditCardBack: "back",
|
|
185
|
+
document: "document"
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
//#endregion
|
|
189
|
+
export { videoSelfieEvents as a, tutorialScreenNamesMapper as i, eventModuleNames as n, eventScreenNames as r, cameraScreenNamesMapper as t };
|