@incodetech/core 2.1.0-rc.1 → 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-BpJM-gIl.esm.js → BrowserStorageProvider-CrrN540a.esm.js} +1 -8
- 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/{OpenViduRecordingProvider-O4GjBseO.esm.js → OpenViduRecordingProvider-B_0GKkzc.esm.js} +1 -1
- package/dist/PrivacyLensProvider-hDzaDzZ6.esm.js +339 -0
- package/dist/{StreamCanvasCapture-ImiDQdVA.esm.js → StreamCanvasCapture-Bz17q4FP.esm.js} +1 -1
- package/dist/StreamCanvasCapture-DS1TOoiH.d.ts +42 -0
- package/dist/{WasmUtilProvider-BKWm8rSA.esm.js → WasmUtilProvider-ADG54T6M.esm.js} +26 -2
- package/dist/{addressSearch-DvmWXKZg.esm.js → addressSearch-DJyNTg5S.esm.js} +4 -4
- package/dist/{ae-signature-BFZta3TZ.esm.js → ae-signature-DlElqFrZ.esm.js} +1 -1
- package/dist/ae-signature.d.ts +4 -3
- package/dist/ae-signature.esm.js +10 -7
- package/dist/antifraud.d.ts +4 -3
- package/dist/antifraud.esm.js +7 -6
- package/dist/antifraudManager-BKdQoMFf.esm.js +84 -0
- package/dist/{antifraudManager-CznnhyvD.d.ts → antifraudManager-DpIvbrZP.d.ts} +2 -2
- package/dist/{antifraudStateMachine-Ccrb-Jxc.esm.js → antifraudStateMachine-C0NGnP9W.esm.js} +3 -3
- package/dist/{api-CESGtpbH.esm.js → api-DsbUi7TO.esm.js} +21 -2
- package/dist/authentication.d.ts +19 -13
- package/dist/authentication.esm.js +33 -27
- package/dist/{authenticationManager-CaiQbp-q.d.ts → authenticationManager-CdPbNS2H.d.ts} +13 -3
- package/dist/{authenticationManager-BlR6mSaG.esm.js → authenticationManager-Dtl1vcET.esm.js} +17 -8
- package/dist/{authenticationStateMachine-DkcGUMw5.esm.js → authenticationStateMachine-D-hOlg8p.esm.js} +20 -23
- package/dist/avatar.d.ts +3 -0
- package/dist/avatar.esm.js +3 -0
- package/dist/{backCameraStream-D7Wo4Nbx.esm.js → backCameraStream-ZyqrFyjO.esm.js} +3 -3
- package/dist/browser-DlFgHpoC-qLKs75Qp.esm.js +1425 -0
- package/dist/{browserSimulation-B1dWiXp7.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-yyl20qd9.d.ts → canvas-CJUmoXSD.d.ts} +1 -41
- package/dist/certificate-issuance.d.ts +312 -0
- package/dist/certificate-issuance.esm.js +74 -0
- package/dist/certificateIssuanceStateMachine-C07m7qtP.esm.js +127 -0
- 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-BYo9Nu1r.esm.js → consentManager-BtnPZUW4.esm.js} +30 -5
- package/dist/{consentManager-Cg5Sk2tv.d.ts → consentManager-DufVo9D9.d.ts} +55 -55
- package/dist/{consentStateMachine-BG3yL8aC.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-sSKegxox.esm.js → cpfOcrManager-C4rLgKsu.esm.js} +6 -5
- package/dist/{cpfOcrManager-Dg1s_TY5.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-CFem6zP9.esm.js → curpValidationManager-BafobPXC.esm.js} +52 -5
- package/dist/{curpValidationManager-RttixpIc.d.ts → curpValidationManager-Co6LZAHT.d.ts} +4 -3
- package/dist/{curpValidationStateMachine-B7V_qp66.esm.js → curpValidationStateMachine-DXTPK6vI.esm.js} +3 -3
- package/dist/custom-fields.d.ts +4 -2
- package/dist/custom-fields.esm.js +49 -6
- package/dist/custom-watchlist.d.ts +2 -1
- package/dist/custom-watchlist.esm.js +27 -6
- package/dist/{customWatchlistStateMachine-HmFybXLX.esm.js → customWatchlistStateMachine-B4G3Chkx.esm.js} +3 -3
- package/dist/{deepsightLoader-8tnddNx-.esm.js → deepsightLoader-DHSVD776.esm.js} +14 -13
- package/dist/{deepsightService-CrHmvx8X.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 +178 -177
- package/dist/document-capture.esm.js +78 -14
- package/dist/document-upload.d.ts +51 -50
- package/dist/document-upload.esm.js +10 -9
- package/dist/{documentCaptureStateMachine-CUTUzUw_.esm.js → documentCaptureStateMachine-DSOX2epf.esm.js} +7 -7
- package/dist/dynamic-forms.d.ts +4 -192
- package/dist/dynamic-forms.esm.js +8 -410
- package/dist/dynamicFormsManager-BOefZbyF.esm.js +168 -0
- package/dist/dynamicFormsManager-CUYLOj9g.d.ts +239 -0
- package/dist/dynamicFormsStateMachine-BXHcaocI.esm.js +284 -0
- package/dist/ekyb.d.ts +10 -6
- package/dist/ekyb.esm.js +62 -17
- package/dist/{ekybStateMachine-klc-AImJ.esm.js → ekybStateMachine-CCSeqjCt.esm.js} +5 -5
- package/dist/ekyc.d.ts +5 -3
- package/dist/ekyc.esm.js +55 -9
- package/dist/{ekycStateMachine-CXbpaJJn.esm.js → ekycStateMachine-DkLVTOyA.esm.js} +5 -5
- package/dist/electronic-signature.d.ts +4 -3
- package/dist/electronic-signature.esm.js +9 -6
- package/dist/{electronicSignatureManager-BaECdJ1u.esm.js → electronicSignatureManager-DjzUzqZj.esm.js} +135 -92
- package/dist/email.d.ts +5 -4
- package/dist/email.esm.js +9 -8
- package/dist/{emailManager--D5G3ChB.esm.js → emailManager-B_XzEsXH.esm.js} +47 -6
- package/dist/{emailManager-lAzDoQOs.d.ts → emailManager-fHASH6uo.d.ts} +4 -3
- package/dist/{emailStateMachine-CxTOMAjC.esm.js → emailStateMachine-fqJ42b19.esm.js} +5 -5
- package/dist/{endpoints-BeTK0Mlt.esm.js → endpoints-BzMJFAPV.esm.js} +15 -0
- package/dist/{events-Dvvriq9l.esm.js → events-CqGY1yMq.esm.js} +87 -206
- package/dist/events.d.ts +23 -16
- package/dist/events.esm.js +3 -2
- package/dist/extensibility.d.ts +37 -27
- package/dist/extensibility.esm.js +74 -57
- package/dist/externalFetch-CyhBfD-n.esm.js +22 -0
- package/dist/face-match.d.ts +2 -2
- package/dist/face-match.esm.js +6 -5
- package/dist/{faceCaptureManagerFactory-ej2j1LMr.esm.js → faceCaptureManagerFactory-2brKTzMb.esm.js} +115 -25
- package/dist/faceCaptureManagerFactory-CGKbf7zt.d.ts +400 -0
- package/dist/{faceCaptureSetup-B9t6bYze.esm.js → faceCaptureSetup-CDUVU1nl.esm.js} +97 -13
- package/dist/{faceMatchStateMachine-DeXXzSuz.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-COGI2ARD.esm.js → fieldComparisonManager-B9W0a9A5.esm.js} +5 -4
- package/dist/{fieldComparisonManager-Bu5TaSr3.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 +34 -16
- package/dist/flow.esm.js +53 -30
- package/dist/flowCompletionService-BIqSTZcd.d.ts +28 -0
- package/dist/flowCompletionService-qEqh_g14.esm.js +42 -0
- package/dist/{flowServices-ChgTNggJ.esm.js → flowServices-C4piblgx.esm.js} +24 -9
- package/dist/geolocation.d.ts +4 -126
- package/dist/geolocation.esm.js +8 -87
- package/dist/geolocationManager-BP2Do9O-.esm.js +123 -0
- package/dist/geolocationManager-Cs50eRlC.d.ts +156 -0
- package/dist/{geolocationStateMachine-Dvh7X0wF.esm.js → geolocationStateMachine-BYfOOOG0.esm.js} +4 -4
- package/dist/{getDeviceClass-C8Do2qYu.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 +43 -8
- package/dist/{governmentValidationStateMachine-DcJ-BfsC.esm.js → governmentValidationStateMachine-CwoPPO8b.esm.js} +5 -5
- package/dist/home.d.ts +18 -15
- package/dist/home.esm.js +5 -4
- package/dist/http.d.ts +1 -0
- 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 +24 -13
- package/dist/id.esm.js +48 -33
- package/dist/idCaptureDefaults-DNJON8Xo.esm.js +188 -0
- package/dist/{idCaptureManager-ChCNmgBj.d.ts → idCaptureManager-BVdvfJys.d.ts} +47 -12
- package/dist/{idCaptureManager-D3pwWutw.esm.js → idCaptureManager-Bo9DCQSU.esm.js} +100 -15
- package/dist/{idCaptureStateMachine-B3AiDIsT.esm.js → idCaptureStateMachine-BeDidMLU.esm.js} +525 -439
- package/dist/idOcrManager-BkRDrpZu.esm.js +92 -0
- package/dist/idOcrManager-CJzrmM91.d.ts +641 -0
- package/dist/{idOcrStateMachine-CDQ5d_VM.esm.js → idOcrStateMachine-DRZc4FBl.esm.js} +5 -5
- package/dist/{idVerificationStateMachine-kRxwImzO.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-C6n_97dw.esm.js → identityReuseManager-Bu62LToE.esm.js} +4 -3
- package/dist/{identityReuseManager-Cww-NDtd.d.ts → identityReuseManager-TWKbXuvY.d.ts} +33 -33
- package/dist/{identityReuseStateMachine-BfE5YiEr.esm.js → identityReuseStateMachine-BmONeF6B.esm.js} +3 -3
- package/dist/{index-B5hPA0Bg.d.ts → index-DtUlD-bz.d.ts} +2 -2
- package/dist/{index-B9NysVDB.d.ts → index-Icld-cKW.d.ts} +175 -295
- package/dist/index-XTtxaahe.d.ts +93 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.esm.js +16 -12
- package/dist/{invokeOnCaptureCallback-ygByVdnn.esm.js → invokeOnCaptureCallback-v_PV_IJz.esm.js} +1 -1
- package/dist/{lib-BY67lgbq.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-Dq6WiOZh.d.ts → mandatoryConsentManager-Bmdjo14S.d.ts} +50 -50
- package/dist/{mandatoryConsentManager-H6D18cZB.esm.js → mandatoryConsentManager-CQ3jirlZ.esm.js} +4 -3
- package/dist/{mandatoryConsentStateMachine-DtQNW1ji.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-yRw7hfzU.esm.js → onDeviceFaceResults-DVBggeq8.esm.js} +71 -389
- package/dist/{openviduLazy-Dh14JNJc.esm.js → openviduLazy-BTOIauGP.esm.js} +2 -2
- package/dist/openviduLazy-Dov8oKfL.esm.js +3 -0
- package/dist/{permissionGuards-D0wGddy7.esm.js → permissionGuards-BR2oN573.esm.js} +1 -1
- package/dist/{permissionServices-Doec4X5L.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-fPmIBYQK.d.ts → phoneManager-BOTcjXgs.d.ts} +4 -3
- package/dist/{phoneManager-BmF-0Ez4.esm.js → phoneManager-BWlxqbyD.esm.js} +48 -6
- package/dist/{phoneStateMachine-BiV0yoEx.esm.js → phoneStateMachine-B_V9nODs.esm.js} +5 -5
- package/dist/{qe-signature-CUYPcHVo.esm.js → qe-signature-BhFnI9pT.esm.js} +1 -1
- package/dist/qe-signature.d.ts +4 -3
- package/dist/qe-signature.esm.js +10 -7
- 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 -7
- package/dist/{redirectToMobileManager-Dy3t7o0C.esm.js → redirectToMobileManager-BaAo9rgi.esm.js} +5 -4
- package/dist/{redirectToMobileManager-BNe3IzC_.d.ts → redirectToMobileManager-Br0KZK1G.d.ts} +2 -2
- package/dist/{redirectToMobileStateMachine-DyAdRxfP.esm.js → redirectToMobileStateMachine-DoAnf2ql.esm.js} +16 -28
- package/dist/{runChildModule-CuoHZ1cx.esm.js → runChildModule-0nQfjVVo.esm.js} +14 -24
- package/dist/selfie.d.ts +27 -14
- package/dist/selfie.esm.js +43 -30
- package/dist/{selfieManager-BNuTIGAz.esm.js → selfieManager-D_ZFERsE.esm.js} +17 -8
- package/dist/{selfieManager-C2y_t6DG.d.ts → selfieManager-R0Jw5sjb.d.ts} +13 -3
- package/dist/{selfieStateMachine-Bv99bZJE.esm.js → selfieStateMachine-CIgeeiN9.esm.js} +4 -4
- package/dist/{session-DoVb-OcB.esm.js → session-9jIfKFCc.esm.js} +3 -3
- package/dist/session.d.ts +11 -8
- package/dist/session.esm.js +16 -12
- package/dist/{sessionInitializer-DRB-hgbV.esm.js → sessionInitializer-C_TYIgyk.esm.js} +16 -109
- package/dist/{setup-BwCluiw3.d.ts → setup-CpRnXxn8.d.ts} +61 -2
- package/dist/setup-DHc6OaHm.esm.js +562 -0
- package/dist/signature.d.ts +4 -2
- package/dist/signature.esm.js +49 -6
- package/dist/{signatureStateMachine-C5qqYLRz.esm.js → signatureStateMachine-DtoiPzys.esm.js} +21 -39
- package/dist/{stats-BMNUG1AU.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-BG1iJsr4.esm.js +399 -0
- package/dist/tri.d.ts +2 -0
- package/dist/tri.esm-DUC01NgO.esm.js +2593 -0
- package/dist/tri.esm.js +4 -0
- package/dist/trust-graph.d.ts +4 -3
- package/dist/trust-graph.esm.js +4 -3
- package/dist/{types-NuT8ftBV.d.ts → types-BklZ_Wne.d.ts} +2 -1
- package/dist/{types-DOUhndhT.d.ts → types-BsYXnC5s.d.ts} +39 -3
- package/dist/{types-DsnEVMhr.esm.js → types-CMcxlSmH.esm.js} +2 -1
- package/dist/types-CxW2e0Ar.d.ts +132 -0
- package/dist/{types-Bj9hdFjU.d.ts → types-DgGlgyZT.d.ts} +1 -1
- package/dist/types-ElOJAGaM.esm.js +189 -0
- package/dist/urlUtils-BZqFU9rR.esm.js +16 -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-Dg8Lh-50.d.ts → warmup-BJZPQIiX.d.ts} +5 -1
- package/dist/wasm.d.ts +4 -3
- package/dist/wasm.esm.js +17 -13
- package/dist/watchlist-for-business.d.ts +2 -1
- package/dist/watchlist-for-business.esm.js +30 -7
- package/dist/watchlist.d.ts +2 -1
- package/dist/watchlist.esm.js +28 -6
- package/dist/{watchlistForBusinessStateMachine-DMl8j2Ov.esm.js → watchlistForBusinessStateMachine-DvEunDxs.esm.js} +3 -3
- package/dist/{watchlistStateMachine-DmQlqI6L.esm.js → watchlistStateMachine-AHXVf-TB.esm.js} +3 -3
- package/dist/workflow.d.ts +296 -103
- package/dist/workflow.esm.js +137 -74
- package/dist/{xstate.esm-C9wncMQa.esm.js → xstate.esm-Bomq1a0z.esm.js} +54 -5
- package/package.json +26 -1
- package/dist/IpifyProvider-D4LWD15E.esm.js +0 -167
- package/dist/antifraudManager-CkV4u-LE.esm.js +0 -55
- package/dist/camera-DJWm3V4g.esm.js +0 -22
- package/dist/deepsightService-Dh5P-hLf.d.ts +0 -265
- package/dist/faceCaptureManagerFactory-CjdBUS6s.d.ts +0 -721
- package/dist/flowCompletionService-BdR2cGgB.d.ts +0 -19
- package/dist/flowCompletionService-DdGojV9K.esm.js +0 -20
- package/dist/getBrowser-C8DP7oTB.esm.js +0 -8
- package/dist/openviduLazy-B8L--0oe.esm.js +0 -3
- package/dist/setup-CUO4mErT.esm.js +0 -1037
- /package/dist/{Actor-Y0_Fj-KL.d.ts → Actor-CGEelYtQ.d.ts} +0 -0
- /package/dist/{BrowserTimerProvider-DhNc_x02.esm.js → BrowserTimerProvider-CHloo0eQ.esm.js} +0 -0
- /package/dist/{ITimerCapability-CB0I1Uf2.esm.js → ITimerCapability-pltuG1E8.esm.js} +0 -0
- /package/dist/{Manager-BHn8wH8K.d.ts → Manager-CJ3G2zqi.d.ts} +0 -0
- /package/dist/{MotionSensorProvider-Bx7Mpzt0.esm.js → MotionSensorProvider-DCbId4De.esm.js} +0 -0
- /package/dist/{StateMachine-BC_nGvrc.d.ts → StateMachine-C_AY4cs7.d.ts} +0 -0
- /package/dist/{apiError-B-j-gyDx.esm.js → apiError-DNS2OCEX.esm.js} +0 -0
- /package/dist/{camera-SRBpPq2X.d.ts → camera-CNVUo-bC.d.ts} +0 -0
- /package/dist/{canvas-SKcRBxsk.esm.js → canvas-_I95hkPg.esm.js} +0 -0
- /package/dist/{chunk-CMUKZ2uL.esm.js → chunk-CIKcdghV.esm.js} +0 -0
- /package/dist/{cpf-BRzggV8G.esm.js → cpf-BKaho0j_.esm.js} +0 -0
- /package/dist/{dateUtils-AksLQmgV.esm.js → dateUtils-7-tQYRNN.esm.js} +0 -0
- /package/dist/{getDeviceClass-C0olyNFS.esm.js → getDeviceClass-DavNdcxh.esm.js} +0 -0
- /package/dist/{http-Cai3IoLS.esm.js → http-BkiUT7EB.esm.js} +0 -0
- /package/dist/{otp-CGMdUzBC.esm.js → otp-Bfnzf7I3.esm.js} +0 -0
- /package/dist/{otp-DF5A0sFx.d.ts → otp-M4iy57XY.d.ts} +0 -0
- /package/dist/{platform-SKvEfCBh.esm.js → platform-uIVQUnJP.esm.js} +0 -0
- /package/dist/{types-DvGZI7BF.d.ts → types-D_IceWxT.d.ts} +0 -0
- /package/dist/{types-ya0LN_MX.d.ts → types-Duy2rDxF.d.ts} +0 -0
package/dist/phone.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import "./
|
|
2
|
-
import "./
|
|
3
|
-
import "./
|
|
4
|
-
import
|
|
1
|
+
import "./StateMachine-C_AY4cs7.js";
|
|
2
|
+
import "./Manager-CJ3G2zqi.js";
|
|
3
|
+
import "./Actor-CGEelYtQ.js";
|
|
4
|
+
import "./otp-M4iy57XY.js";
|
|
5
|
+
import { n as PhoneState, o as phoneMachine, r as createPhoneManager, s as PhoneConfig, t as PhoneManager } from "./phoneManager-BOTcjXgs.js";
|
|
5
6
|
export { type PhoneConfig, type PhoneManager, type PhoneState, createPhoneManager, phoneMachine };
|
package/dist/phone.esm.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import "./BrowserTimerProvider-
|
|
2
|
-
import "./api-
|
|
3
|
-
import "./events-
|
|
4
|
-
import "./
|
|
5
|
-
import "./
|
|
6
|
-
import "./
|
|
7
|
-
import
|
|
8
|
-
import { t as
|
|
1
|
+
import "./BrowserTimerProvider-CHloo0eQ.esm.js";
|
|
2
|
+
import "./api-DsbUi7TO.esm.js";
|
|
3
|
+
import "./events-CqGY1yMq.esm.js";
|
|
4
|
+
import "./types-ElOJAGaM.esm.js";
|
|
5
|
+
import "./endpoints-BzMJFAPV.esm.js";
|
|
6
|
+
import "./xstate.esm-Bomq1a0z.esm.js";
|
|
7
|
+
import "./otp-Bfnzf7I3.esm.js";
|
|
8
|
+
import { t as phoneMachine } from "./phoneStateMachine-B_V9nODs.esm.js";
|
|
9
|
+
import { t as createPhoneManager } from "./phoneManager-BWlxqbyD.esm.js";
|
|
9
10
|
|
|
10
11
|
export { createPhoneManager, phoneMachine };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { t as Manager } from "./Manager-
|
|
2
|
-
import { t as ActorRefFrom } from "./Actor-
|
|
3
|
-
import { t as OtpValidationErrors } from "./otp-
|
|
1
|
+
import { t as Manager } from "./Manager-CJ3G2zqi.js";
|
|
2
|
+
import { t as ActorRefFrom } from "./Actor-CGEelYtQ.js";
|
|
3
|
+
import { t as OtpValidationErrors } from "./otp-M4iy57XY.js";
|
|
4
4
|
|
|
5
5
|
//#region src/modules/phone/types.d.ts
|
|
6
6
|
|
|
@@ -80,6 +80,7 @@ type CreatePhoneActorOptions = {
|
|
|
80
80
|
type PhoneActor = ActorRefFrom<PhoneMachine>;
|
|
81
81
|
//#endregion
|
|
82
82
|
//#region src/modules/phone/phoneManager.d.ts
|
|
83
|
+
|
|
83
84
|
/** Phone manager is in initial state, waiting for `load()` to be called */
|
|
84
85
|
type PhoneIdleState = {
|
|
85
86
|
status: 'idle';
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { n as
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { t as
|
|
1
|
+
import { n as createManagerInstrumentation } from "./events-CqGY1yMq.esm.js";
|
|
2
|
+
import { n as eventModuleNames } from "./types-ElOJAGaM.esm.js";
|
|
3
|
+
import { l as createManager, s as createActor } from "./xstate.esm-Bomq1a0z.esm.js";
|
|
4
|
+
import { t as OTP_CODE_LENGTH } from "./otp-Bfnzf7I3.esm.js";
|
|
5
|
+
import { t as phoneMachine } from "./phoneStateMachine-B_V9nODs.esm.js";
|
|
5
6
|
|
|
6
7
|
//#region src/modules/phone/phoneActor.ts
|
|
7
8
|
function createPhoneActor(options) {
|
|
@@ -98,6 +99,47 @@ function createPhoneActor(options) {
|
|
|
98
99
|
* }, 100);
|
|
99
100
|
* ```
|
|
100
101
|
*/
|
|
102
|
+
/**
|
|
103
|
+
* Maps a Phone state-machine snapshot to the exact Figma "Tracked Events"
|
|
104
|
+
* screen name. Returned strings are the absolute analytics screen (module
|
|
105
|
+
* prefix included) and are emitted verbatim by
|
|
106
|
+
* `createManagerInstrumentation`'s `getEventScreenName` short-circuit.
|
|
107
|
+
*
|
|
108
|
+
* Source of truth: Phone Input Module Figma file → Tracked Events canvas
|
|
109
|
+
* (`https://www.figma.com/design/nIj8kklozEOMs2e5sLzGFi/Phone-Input-Module?node-id=3031-82920`).
|
|
110
|
+
*
|
|
111
|
+
* Figma screens that have no dedicated state-machine counterpart yet
|
|
112
|
+
* (intentionally not mapped here — they collapse into the section's primary
|
|
113
|
+
* screen until the SM surfaces them):
|
|
114
|
+
*
|
|
115
|
+
* - `phoneNumber.verify.countryCode` — country-picker overlay; no separate SM state.
|
|
116
|
+
* - `phoneNumber.verify.phoneTyping` / `phoneNumber.verify.phoneFilled` — UI sub-states of `inputting`.
|
|
117
|
+
* - `phoneNumber.OTP.filled` — UI sub-state of `awaitingOtp`.
|
|
118
|
+
*
|
|
119
|
+
* `finished` and `error` are mapped to terminal Figma screens to keep the
|
|
120
|
+
* adapter from falling back to the generic `<module>.finished` /
|
|
121
|
+
* `<module>.error` defaults.
|
|
122
|
+
*/
|
|
123
|
+
function getPhoneScreenName(snapshot) {
|
|
124
|
+
const { value } = snapshot;
|
|
125
|
+
if (typeof value !== "string") return void 0;
|
|
126
|
+
switch (value) {
|
|
127
|
+
case "idle":
|
|
128
|
+
case "inputting":
|
|
129
|
+
case "validatingSubmit": return "phoneNumber.verify.default";
|
|
130
|
+
case "loadingPrefill":
|
|
131
|
+
case "loadingStartInfo": return "phoneNumber.verify.loading";
|
|
132
|
+
case "submitting": return snapshot.context?.config?.isInstantVerify ? "phoneNumber.SNA.loading" : "phoneNumber.verify.loading";
|
|
133
|
+
case "sendingInitialOtp":
|
|
134
|
+
case "resendingOtp":
|
|
135
|
+
case "awaitingOtp": return "phoneNumber.OTP.typing";
|
|
136
|
+
case "verifyingOtp": return "phoneNumber.OTP.processing";
|
|
137
|
+
case "otpError":
|
|
138
|
+
case "error": return "phoneNumber.OTP.error";
|
|
139
|
+
case "finished": return "phoneNumber.success";
|
|
140
|
+
default: return;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
101
143
|
function mapState(snapshot) {
|
|
102
144
|
const typedSnapshot = snapshot;
|
|
103
145
|
const { context } = typedSnapshot;
|
|
@@ -263,7 +305,7 @@ function createPhoneManager(options) {
|
|
|
263
305
|
actor: createPhoneActor(options),
|
|
264
306
|
mapState,
|
|
265
307
|
createApi,
|
|
266
|
-
instrumentation: createManagerInstrumentation(eventModuleNames.phone)
|
|
308
|
+
instrumentation: createManagerInstrumentation(eventModuleNames.phone, { getEventScreenName: getPhoneScreenName })
|
|
267
309
|
});
|
|
268
310
|
}
|
|
269
311
|
function createPhoneManagerFromActor(actor) {
|
|
@@ -271,7 +313,7 @@ function createPhoneManagerFromActor(actor) {
|
|
|
271
313
|
actor,
|
|
272
314
|
mapState,
|
|
273
315
|
createApi,
|
|
274
|
-
instrumentation: createManagerInstrumentation(eventModuleNames.phone)
|
|
316
|
+
instrumentation: createManagerInstrumentation(eventModuleNames.phone, { getEventScreenName: getPhoneScreenName })
|
|
275
317
|
});
|
|
276
318
|
}
|
|
277
319
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as BrowserTimerProvider } from "./BrowserTimerProvider-
|
|
2
|
-
import { t as api } from "./api-
|
|
3
|
-
import { t as endpoints } from "./endpoints-
|
|
4
|
-
import { a as fromPromise, i as fromCallback, r as assign, t as setup } from "./xstate.esm-
|
|
5
|
-
import { n as computeOtpValidationErrors, r as isOtpComplete } from "./otp-
|
|
1
|
+
import { t as BrowserTimerProvider } from "./BrowserTimerProvider-CHloo0eQ.esm.js";
|
|
2
|
+
import { t as api } from "./api-DsbUi7TO.esm.js";
|
|
3
|
+
import { t as endpoints } from "./endpoints-BzMJFAPV.esm.js";
|
|
4
|
+
import { a as fromPromise, i as fromCallback, r as assign, t as setup } from "./xstate.esm-Bomq1a0z.esm.js";
|
|
5
|
+
import { n as computeOtpValidationErrors, r as isOtpComplete } from "./otp-Bfnzf7I3.esm.js";
|
|
6
6
|
|
|
7
7
|
//#region src/modules/phone/phoneServices.ts
|
|
8
8
|
function getPhoneServerFailureReason(error, invalidStatus) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as createElectronicSignatureManager } from "./electronicSignatureManager-
|
|
1
|
+
import { t as createElectronicSignatureManager } from "./electronicSignatureManager-DjzUzqZj.esm.js";
|
|
2
2
|
|
|
3
3
|
//#region src/modules/qe-signature/index.ts
|
|
4
4
|
function createQeSignatureManager(options) {
|
package/dist/qe-signature.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import "./
|
|
3
|
-
import
|
|
1
|
+
import "./StateMachine-C_AY4cs7.js";
|
|
2
|
+
import { t as Manager } from "./Manager-CJ3G2zqi.js";
|
|
3
|
+
import "./Actor-CGEelYtQ.js";
|
|
4
|
+
import { c as ConsentKey, f as QE_CONSENT_KEYS, g as getDefaultConsentChecks, i as electronicSignatureMachine, l as ElectronicSignatureConfig, m as areAllConsented, n as ElectronicSignatureState, s as ConsentChecks, u as ElectronicSignatureDocument } from "./index-Icld-cKW.js";
|
|
4
5
|
|
|
5
6
|
//#region src/modules/qe-signature/index.d.ts
|
|
6
7
|
|
package/dist/qe-signature.esm.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import "./api-
|
|
2
|
-
import "./events-
|
|
3
|
-
import "./
|
|
4
|
-
import "./
|
|
5
|
-
import "./
|
|
6
|
-
import
|
|
7
|
-
import
|
|
1
|
+
import "./api-DsbUi7TO.esm.js";
|
|
2
|
+
import "./events-CqGY1yMq.esm.js";
|
|
3
|
+
import "./types-ElOJAGaM.esm.js";
|
|
4
|
+
import "./endpoints-BzMJFAPV.esm.js";
|
|
5
|
+
import "./xstate.esm-Bomq1a0z.esm.js";
|
|
6
|
+
import "./urlUtils-BZqFU9rR.esm.js";
|
|
7
|
+
import "./externalFetch-CyhBfD-n.esm.js";
|
|
8
|
+
import "./apiError-DNS2OCEX.esm.js";
|
|
9
|
+
import { a as areAllConsented, i as QE_CONSENT_KEYS, n as electronicSignatureMachine, s as getDefaultConsentChecks } from "./electronicSignatureManager-DjzUzqZj.esm.js";
|
|
10
|
+
import { t as createQeSignatureManager } from "./qe-signature-BhFnI9pT.esm.js";
|
|
8
11
|
|
|
9
12
|
export { QE_CONSENT_KEYS, areAllConsented, createQeSignatureManager, getDefaultConsentChecks, electronicSignatureMachine as qeSignatureMachine };
|
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
import { t as api } from "./api-DsbUi7TO.esm.js";
|
|
2
|
+
import { t as endpoints } from "./endpoints-BzMJFAPV.esm.js";
|
|
3
|
+
import { t as isAndroid } from "./platform-uIVQUnJP.esm.js";
|
|
4
|
+
import { d as stopRecording, u as startRecordingSession, v as uploadDeepsightVideo } from "./onDeviceFaceResults-DVBggeq8.esm.js";
|
|
5
|
+
import { t as getAdaptiveMediaRecorderOptions } from "./mediaRecorderOptions-C3NAkVgK.esm.js";
|
|
6
|
+
|
|
7
|
+
//#region src/internal/manualReview/manualReviewService.ts
|
|
8
|
+
async function flagFaceManualReview() {
|
|
9
|
+
try {
|
|
10
|
+
await api.put(endpoints.updateSession, { manualSelfieCheckNeeded: true });
|
|
11
|
+
} catch {}
|
|
12
|
+
}
|
|
13
|
+
async function flagIdManualReview() {
|
|
14
|
+
try {
|
|
15
|
+
await api.put(endpoints.updateSession, { manualIdCheckNeeded: true });
|
|
16
|
+
} catch {}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
//#endregion
|
|
20
|
+
//#region ../infra/src/media/VideoTrimmer.ts
|
|
21
|
+
async function getDurationBySeek(videoBlob) {
|
|
22
|
+
const video = document.createElement("video");
|
|
23
|
+
video.preload = "metadata";
|
|
24
|
+
video.src = URL.createObjectURL(videoBlob);
|
|
25
|
+
try {
|
|
26
|
+
if (!Number.isFinite(video.duration)) {
|
|
27
|
+
video.currentTime = Number.MAX_SAFE_INTEGER;
|
|
28
|
+
await new Promise((resolve) => {
|
|
29
|
+
const onDurationChange = () => {
|
|
30
|
+
if (Number.isFinite(video.duration)) {
|
|
31
|
+
video.removeEventListener("durationchange", onDurationChange);
|
|
32
|
+
video.removeEventListener("timeupdate", onTimeUpdate);
|
|
33
|
+
resolve(video.duration);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
const onTimeUpdate = () => {
|
|
37
|
+
if (Number.isFinite(video.duration)) {
|
|
38
|
+
video.removeEventListener("timeupdate", onTimeUpdate);
|
|
39
|
+
video.removeEventListener("durationchange", onDurationChange);
|
|
40
|
+
resolve(video.duration);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
video.addEventListener("durationchange", onDurationChange);
|
|
44
|
+
video.addEventListener("timeupdate", onTimeUpdate);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
const duration = video.duration;
|
|
48
|
+
return Number.isFinite(duration) ? duration : null;
|
|
49
|
+
} finally {
|
|
50
|
+
URL.revokeObjectURL(video.src);
|
|
51
|
+
video.src = "";
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
async function trimLastNSecondsUsingPlayback(videoBlob, seconds) {
|
|
55
|
+
const video = document.createElement("video");
|
|
56
|
+
video.preload = "metadata";
|
|
57
|
+
video.playsInline = true;
|
|
58
|
+
video.muted = true;
|
|
59
|
+
const videoURL = URL.createObjectURL(videoBlob);
|
|
60
|
+
video.src = videoURL;
|
|
61
|
+
const duration = await getDurationBySeek(videoBlob);
|
|
62
|
+
if (!duration || duration < seconds) {
|
|
63
|
+
URL.revokeObjectURL(videoURL);
|
|
64
|
+
return videoBlob;
|
|
65
|
+
}
|
|
66
|
+
const startTime = Math.max(0, Math.floor(duration) - seconds);
|
|
67
|
+
await new Promise((resolve) => {
|
|
68
|
+
if (video.readyState >= 2) resolve();
|
|
69
|
+
else video.addEventListener("loadedmetadata", () => resolve(), { once: true });
|
|
70
|
+
});
|
|
71
|
+
const canvas = document.createElement("canvas");
|
|
72
|
+
canvas.width = 230;
|
|
73
|
+
canvas.height = 320;
|
|
74
|
+
const captureFps = isAndroid() ? 15 : 24;
|
|
75
|
+
const stream = canvas.captureStream(captureFps);
|
|
76
|
+
const ctx = canvas.getContext("2d");
|
|
77
|
+
video.currentTime = startTime;
|
|
78
|
+
await new Promise((resolve) => {
|
|
79
|
+
video.addEventListener("seeked", () => resolve(), { once: true });
|
|
80
|
+
});
|
|
81
|
+
ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
|
|
82
|
+
const mimeType = videoBlob.type || (MediaRecorder.isTypeSupported("video/webm") ? "video/webm" : "video/mp4");
|
|
83
|
+
const mediaRecorder = new MediaRecorder(stream.clone(), {
|
|
84
|
+
mimeType,
|
|
85
|
+
videoBitsPerSecond: 5e5,
|
|
86
|
+
bitsPerSecond: 5e5
|
|
87
|
+
});
|
|
88
|
+
const chunks = [];
|
|
89
|
+
mediaRecorder.ondataavailable = (event) => {
|
|
90
|
+
if (event.data.size > 0) chunks.push(event.data);
|
|
91
|
+
};
|
|
92
|
+
const recordingPromise = new Promise((resolve) => {
|
|
93
|
+
mediaRecorder.onstop = () => {
|
|
94
|
+
const trimmedBlob$1 = new Blob(chunks, { type: mimeType });
|
|
95
|
+
URL.revokeObjectURL(videoURL);
|
|
96
|
+
mediaRecorder.stream?.getTracks().forEach((track) => track.stop());
|
|
97
|
+
stream.getTracks().forEach((track) => track.stop());
|
|
98
|
+
video.src = "";
|
|
99
|
+
resolve(trimmedBlob$1);
|
|
100
|
+
};
|
|
101
|
+
});
|
|
102
|
+
video.addEventListener("play", () => {
|
|
103
|
+
function drawVideo() {
|
|
104
|
+
if (video.currentTime >= duration) {
|
|
105
|
+
mediaRecorder.stop();
|
|
106
|
+
video.pause();
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
|
|
110
|
+
requestAnimationFrame(drawVideo);
|
|
111
|
+
}
|
|
112
|
+
drawVideo();
|
|
113
|
+
setTimeout(() => {
|
|
114
|
+
mediaRecorder.start(100);
|
|
115
|
+
}, 500);
|
|
116
|
+
});
|
|
117
|
+
video.play().catch(() => {
|
|
118
|
+
URL.revokeObjectURL(videoURL);
|
|
119
|
+
});
|
|
120
|
+
const trimmedBlob = await recordingPromise;
|
|
121
|
+
console.timeEnd("trimLastNSecondsUsingPlayback");
|
|
122
|
+
return trimmedBlob;
|
|
123
|
+
}
|
|
124
|
+
async function trimLastNSeconds(videoBlob, seconds) {
|
|
125
|
+
return await trimLastNSecondsUsingPlayback(videoBlob, seconds);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
//#endregion
|
|
129
|
+
//#region ../infra/src/providers/browser/LocalRecordingProvider.ts
|
|
130
|
+
function toBase64(videoBlob) {
|
|
131
|
+
return new Promise((resolve, reject) => {
|
|
132
|
+
const reader = new FileReader();
|
|
133
|
+
reader.onloadend = () => {
|
|
134
|
+
const base64 = reader.result.split(",")[1];
|
|
135
|
+
resolve(base64);
|
|
136
|
+
};
|
|
137
|
+
reader.onerror = () => reject(reader.error ?? /* @__PURE__ */ new Error("FileReader error"));
|
|
138
|
+
reader.readAsDataURL(videoBlob);
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
var LocalRecordingProvider = class {
|
|
142
|
+
constructor() {
|
|
143
|
+
this.mediaRecorder = null;
|
|
144
|
+
this._isRecording = false;
|
|
145
|
+
this._hasError = false;
|
|
146
|
+
this._error = null;
|
|
147
|
+
this.mimeType = "";
|
|
148
|
+
this.stream = null;
|
|
149
|
+
this.pauseRecordingBound = this.pauseRecording.bind(this);
|
|
150
|
+
}
|
|
151
|
+
get isRecording() {
|
|
152
|
+
return this._isRecording;
|
|
153
|
+
}
|
|
154
|
+
get hasError() {
|
|
155
|
+
return this._hasError;
|
|
156
|
+
}
|
|
157
|
+
get error() {
|
|
158
|
+
return this._error;
|
|
159
|
+
}
|
|
160
|
+
startRecording(stream) {
|
|
161
|
+
this.reset();
|
|
162
|
+
this.registerEventListeners();
|
|
163
|
+
this.stream = stream;
|
|
164
|
+
try {
|
|
165
|
+
const options = getAdaptiveMediaRecorderOptions();
|
|
166
|
+
this.mimeType = options.mimeType;
|
|
167
|
+
const recorder = new MediaRecorder(stream.clone(), options);
|
|
168
|
+
recorder.onerror = (event) => {
|
|
169
|
+
this._error = `Recording error: ${event}`;
|
|
170
|
+
this._isRecording = false;
|
|
171
|
+
this._hasError = true;
|
|
172
|
+
};
|
|
173
|
+
recorder.start();
|
|
174
|
+
this.mediaRecorder = recorder;
|
|
175
|
+
this._isRecording = true;
|
|
176
|
+
this._error = null;
|
|
177
|
+
this._hasError = false;
|
|
178
|
+
} catch (err) {
|
|
179
|
+
this._error = `Failed to start recording: ${err}`;
|
|
180
|
+
this._hasError = true;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
async stopRecording(trimSeconds, encrypt, generateChecksum) {
|
|
184
|
+
const recorder = this.mediaRecorder;
|
|
185
|
+
return new Promise((resolve, reject) => {
|
|
186
|
+
this.removeEventListeners();
|
|
187
|
+
if (recorder && this._isRecording) {
|
|
188
|
+
const chunks = [];
|
|
189
|
+
recorder.ondataavailable = (event) => {
|
|
190
|
+
if (event.data.size > 0) chunks.push(event.data);
|
|
191
|
+
};
|
|
192
|
+
recorder.onstop = async () => {
|
|
193
|
+
try {
|
|
194
|
+
const trimmedVideo = await trimLastNSeconds(new Blob(chunks, { type: this.mimeType }), trimSeconds);
|
|
195
|
+
const encryptedVideoBase64 = encrypt(await toBase64(trimmedVideo));
|
|
196
|
+
generateChecksum(await trimmedVideo.arrayBuffer());
|
|
197
|
+
this._isRecording = false;
|
|
198
|
+
resolve({
|
|
199
|
+
trimmedBlob: trimmedVideo,
|
|
200
|
+
encryptedVideo: encryptedVideoBase64
|
|
201
|
+
});
|
|
202
|
+
} catch (error) {
|
|
203
|
+
this._isRecording = false;
|
|
204
|
+
this._error = `Recording stop failed: ${error}`;
|
|
205
|
+
this._hasError = true;
|
|
206
|
+
reject(error);
|
|
207
|
+
}
|
|
208
|
+
};
|
|
209
|
+
recorder.stop();
|
|
210
|
+
this._isRecording = false;
|
|
211
|
+
} else resolve({
|
|
212
|
+
trimmedBlob: new Blob([], { type: this.mimeType }),
|
|
213
|
+
encryptedVideo: ""
|
|
214
|
+
});
|
|
215
|
+
recorder?.stream?.getTracks().forEach((track) => track.stop());
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
reset() {
|
|
219
|
+
this._isRecording = false;
|
|
220
|
+
this._error = null;
|
|
221
|
+
this._hasError = false;
|
|
222
|
+
}
|
|
223
|
+
pauseRecording() {
|
|
224
|
+
if (!this._isRecording) return;
|
|
225
|
+
if (this.mediaRecorder?.state === "recording") try {
|
|
226
|
+
this.mediaRecorder.pause();
|
|
227
|
+
} catch {}
|
|
228
|
+
}
|
|
229
|
+
registerEventListeners() {
|
|
230
|
+
document.addEventListener("visibilitychange", this.pauseRecordingBound);
|
|
231
|
+
}
|
|
232
|
+
removeEventListeners() {
|
|
233
|
+
document.removeEventListener("visibilitychange", this.pauseRecordingBound);
|
|
234
|
+
}
|
|
235
|
+
};
|
|
236
|
+
|
|
237
|
+
//#endregion
|
|
238
|
+
//#region src/internal/faceCapture/recordingService.ts
|
|
239
|
+
let openViduProviderImportPromise;
|
|
240
|
+
let openViduBrowserImportPromise;
|
|
241
|
+
function loadOpenViduProviderModule() {
|
|
242
|
+
if (!openViduProviderImportPromise) openViduProviderImportPromise = import("./OpenViduRecordingProvider-B_0GKkzc.esm.js");
|
|
243
|
+
return openViduProviderImportPromise;
|
|
244
|
+
}
|
|
245
|
+
function loadOpenViduBrowserModule() {
|
|
246
|
+
if (!openViduBrowserImportPromise) openViduBrowserImportPromise = (async () => {
|
|
247
|
+
return (await import("./openviduLazy-Dov8oKfL.esm.js")).loadOpenVidu();
|
|
248
|
+
})();
|
|
249
|
+
return openViduBrowserImportPromise;
|
|
250
|
+
}
|
|
251
|
+
function preloadOpenViduProvider() {
|
|
252
|
+
loadOpenViduProviderModule();
|
|
253
|
+
loadOpenViduBrowserModule();
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Records on-device and uploads encrypted video for liveness.
|
|
257
|
+
*/
|
|
258
|
+
var LocalRecordingService = class {
|
|
259
|
+
constructor(wasmUtil, sessionToken) {
|
|
260
|
+
this.recorder = new LocalRecordingProvider();
|
|
261
|
+
this.sessionToken = sessionToken;
|
|
262
|
+
this.wasmUtil = wasmUtil;
|
|
263
|
+
}
|
|
264
|
+
async start(stream) {
|
|
265
|
+
this.recorder.startRecording(stream);
|
|
266
|
+
this.wasmUtil.osv();
|
|
267
|
+
}
|
|
268
|
+
async stop() {
|
|
269
|
+
if (!this.recorder.isRecording) return { recordingId: null };
|
|
270
|
+
this.wasmUtil.oev();
|
|
271
|
+
const result = await this.recorder.stopRecording(10, (base64) => this.wasmUtil.encryptImage(base64), (buffer) => this.wasmUtil.ckvcks(buffer));
|
|
272
|
+
if (!this.sessionToken) return { recordingId: null };
|
|
273
|
+
return { recordingId: await uploadDeepsightVideo(result.encryptedVideo, this.sessionToken) };
|
|
274
|
+
}
|
|
275
|
+
async stopAndGetVideo() {
|
|
276
|
+
if (!this.recorder.isRecording) return { videoBase64: void 0 };
|
|
277
|
+
try {
|
|
278
|
+
this.wasmUtil.oev();
|
|
279
|
+
const videoBase64 = (await this.recorder.stopRecording(10, (base64) => base64, () => {})).encryptedVideo;
|
|
280
|
+
return { videoBase64: videoBase64 ? videoBase64 : void 0 };
|
|
281
|
+
} catch {
|
|
282
|
+
return { videoBase64: void 0 };
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
cleanup() {
|
|
286
|
+
this.recorder.reset();
|
|
287
|
+
}
|
|
288
|
+
};
|
|
289
|
+
/**
|
|
290
|
+
* Records through OpenVidu and manages the session lifecycle.
|
|
291
|
+
*/
|
|
292
|
+
var OpenViduRecordingService = class {
|
|
293
|
+
constructor(config) {
|
|
294
|
+
this.config = config;
|
|
295
|
+
}
|
|
296
|
+
async start(stream) {
|
|
297
|
+
if (!this.provider) {
|
|
298
|
+
const { OpenViduRecordingProvider } = await loadOpenViduProviderModule();
|
|
299
|
+
this.provider = new OpenViduRecordingProvider();
|
|
300
|
+
}
|
|
301
|
+
this.session = await startRecordingSession({
|
|
302
|
+
config: {
|
|
303
|
+
...this.config,
|
|
304
|
+
recording: { capability: this.provider }
|
|
305
|
+
},
|
|
306
|
+
clonedStream: stream.clone(),
|
|
307
|
+
existing: this.session
|
|
308
|
+
});
|
|
309
|
+
}
|
|
310
|
+
async stop() {
|
|
311
|
+
if (this.session) {
|
|
312
|
+
stopRecording(this.session);
|
|
313
|
+
this.session = void 0;
|
|
314
|
+
}
|
|
315
|
+
return { recordingId: null };
|
|
316
|
+
}
|
|
317
|
+
async stopAndGetVideo() {
|
|
318
|
+
if (this.session) {
|
|
319
|
+
stopRecording(this.session);
|
|
320
|
+
this.session = void 0;
|
|
321
|
+
}
|
|
322
|
+
return { videoBase64: void 0 };
|
|
323
|
+
}
|
|
324
|
+
cleanup() {
|
|
325
|
+
if (this.session) stopRecording(this.session);
|
|
326
|
+
}
|
|
327
|
+
};
|
|
328
|
+
/**
|
|
329
|
+
* Creates the recording service for the current configuration.
|
|
330
|
+
*
|
|
331
|
+
* Order of precedence:
|
|
332
|
+
* 1. `onDeviceFaceResultsSubmissionEnabled === true` → no recording. The
|
|
333
|
+
* on-device workflow never uploads media, only the staged face-results
|
|
334
|
+
* JSON via `WebApi.postFaceResults`. Mirrors V1's
|
|
335
|
+
* `FaceFlowManager.setRecorders()` early return.
|
|
336
|
+
* 2. `deepsightLiveness === 'VIDEOLIVENESS'` → local Deepsight recorder.
|
|
337
|
+
* 3. `enableFaceRecording === true` → server-side OpenVidu recorder.
|
|
338
|
+
* 4. otherwise → no recording.
|
|
339
|
+
*/
|
|
340
|
+
function createRecordingService(params) {
|
|
341
|
+
if (params.config.onDeviceFaceResultsSubmissionEnabled === true) return;
|
|
342
|
+
if (params.config.deepsightLiveness === "VIDEOLIVENESS") return new LocalRecordingService(params.wasmUtil, params.sessionToken);
|
|
343
|
+
if (params.config.enableFaceRecording === true) return new OpenViduRecordingService(params.config);
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
//#endregion
|
|
347
|
+
export { flagIdManualReview as i, preloadOpenViduProvider as n, flagFaceManualReview as r, createRecordingService as t };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import "./
|
|
2
|
-
import "./
|
|
3
|
-
import
|
|
1
|
+
import "./StateMachine-C_AY4cs7.js";
|
|
2
|
+
import "./Manager-CJ3G2zqi.js";
|
|
3
|
+
import "./Actor-CGEelYtQ.js";
|
|
4
|
+
import { a as RedirectToMobileActor, c as RedirectToMobileServices, i as createRedirectToMobileManagerFromActor, n as RedirectToMobileState, o as redirectToMobileMachine, r as createRedirectToMobileManager, s as RedirectToMobileConfig, t as RedirectToMobileManager } from "./redirectToMobileManager-Br0KZK1G.js";
|
|
4
5
|
|
|
5
6
|
//#region src/modules/redirect-to-mobile/redirectToMobileServices.d.ts
|
|
6
7
|
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import "./BrowserTimerProvider-
|
|
2
|
-
import "./api-
|
|
3
|
-
import "./events-
|
|
4
|
-
import "./
|
|
5
|
-
import "./
|
|
6
|
-
import
|
|
7
|
-
import
|
|
1
|
+
import "./BrowserTimerProvider-CHloo0eQ.esm.js";
|
|
2
|
+
import "./api-DsbUi7TO.esm.js";
|
|
3
|
+
import "./events-CqGY1yMq.esm.js";
|
|
4
|
+
import "./types-ElOJAGaM.esm.js";
|
|
5
|
+
import "./endpoints-BzMJFAPV.esm.js";
|
|
6
|
+
import "./xstate.esm-Bomq1a0z.esm.js";
|
|
7
|
+
import "./urlUtils-BZqFU9rR.esm.js";
|
|
8
|
+
import { n as defaultRedirectToMobileServices, t as redirectToMobileMachine } from "./redirectToMobileStateMachine-DoAnf2ql.esm.js";
|
|
9
|
+
import { n as createRedirectToMobileManagerFromActor, t as createRedirectToMobileManager } from "./redirectToMobileManager-BaAo9rgi.esm.js";
|
|
8
10
|
|
|
9
11
|
export { createRedirectToMobileManager, createRedirectToMobileManagerFromActor, defaultRedirectToMobileServices, redirectToMobileMachine };
|
package/dist/{redirectToMobileManager-Dy3t7o0C.esm.js → redirectToMobileManager-BaAo9rgi.esm.js}
RENAMED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { t as BrowserTimerProvider } from "./BrowserTimerProvider-
|
|
2
|
-
import { n as
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { t as BrowserTimerProvider } from "./BrowserTimerProvider-CHloo0eQ.esm.js";
|
|
2
|
+
import { n as createManagerInstrumentation } from "./events-CqGY1yMq.esm.js";
|
|
3
|
+
import { n as eventModuleNames } from "./types-ElOJAGaM.esm.js";
|
|
4
|
+
import { a as fromPromise, i as fromCallback, l as createManager, s as createActor } from "./xstate.esm-Bomq1a0z.esm.js";
|
|
5
|
+
import { n as defaultRedirectToMobileServices, t as redirectToMobileMachine } from "./redirectToMobileStateMachine-DoAnf2ql.esm.js";
|
|
5
6
|
|
|
6
7
|
//#region src/modules/redirect-to-mobile/redirectToMobileActor.ts
|
|
7
8
|
const POLL_INTERVAL_MS = 5e3;
|
package/dist/{redirectToMobileManager-BNe3IzC_.d.ts → redirectToMobileManager-Br0KZK1G.d.ts}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as Manager } from "./Manager-
|
|
2
|
-
import { t as ActorRefFrom } from "./Actor-
|
|
1
|
+
import { t as Manager } from "./Manager-CJ3G2zqi.js";
|
|
2
|
+
import { t as ActorRefFrom } from "./Actor-CGEelYtQ.js";
|
|
3
3
|
|
|
4
4
|
//#region src/modules/redirect-to-mobile/types.d.ts
|
|
5
5
|
type RedirectToMobileConfig = {
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { t as BrowserTimerProvider } from "./BrowserTimerProvider-
|
|
2
|
-
import { t as api } from "./api-
|
|
3
|
-
import { t as endpoints } from "./endpoints-
|
|
4
|
-
import { a as fromPromise, i as fromCallback, r as assign, t as setup } from "./xstate.esm-
|
|
1
|
+
import { t as BrowserTimerProvider } from "./BrowserTimerProvider-CHloo0eQ.esm.js";
|
|
2
|
+
import { t as api } from "./api-DsbUi7TO.esm.js";
|
|
3
|
+
import { t as endpoints } from "./endpoints-BzMJFAPV.esm.js";
|
|
4
|
+
import { a as fromPromise, i as fromCallback, r as assign, t as setup } from "./xstate.esm-Bomq1a0z.esm.js";
|
|
5
|
+
import { n as getUrlSearchParam, t as buildUrlWithSearchParams } from "./urlUtils-BZqFU9rR.esm.js";
|
|
5
6
|
|
|
6
7
|
//#region src/modules/redirect-to-mobile/redirectToMobileServices.ts
|
|
7
8
|
async function fetchRedirectUrl(signal) {
|
|
@@ -41,21 +42,6 @@ const defaultRedirectToMobileServices = {
|
|
|
41
42
|
fetchStartInfo
|
|
42
43
|
};
|
|
43
44
|
|
|
44
|
-
//#endregion
|
|
45
|
-
//#region ../infra/src/url/urlUtils.ts
|
|
46
|
-
function getUrlSearchParam(url, param) {
|
|
47
|
-
try {
|
|
48
|
-
return new URL(url).searchParams.get(param);
|
|
49
|
-
} catch {
|
|
50
|
-
return null;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
function buildUrlWithSearchParams(baseUrl, params) {
|
|
54
|
-
const url = new URL(baseUrl);
|
|
55
|
-
for (const [key, value] of Object.entries(params)) if (value !== void 0) url.searchParams.set(key, value);
|
|
56
|
-
return url.href;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
45
|
//#endregion
|
|
60
46
|
//#region src/modules/redirect-to-mobile/redirectToMobileStateMachine.ts
|
|
61
47
|
const POLL_INTERVAL_MS = 5e3;
|
|
@@ -78,7 +64,8 @@ const redirectToMobileMachine = setup({
|
|
|
78
64
|
types: {
|
|
79
65
|
context: {},
|
|
80
66
|
events: {},
|
|
81
|
-
input: {}
|
|
67
|
+
input: {},
|
|
68
|
+
output: {}
|
|
82
69
|
},
|
|
83
70
|
actors: {
|
|
84
71
|
fetchRedirectUrl: fromPromise(async ({ signal }) => {
|
|
@@ -213,6 +200,10 @@ const redirectToMobileMachine = setup({
|
|
|
213
200
|
},
|
|
214
201
|
sms: {
|
|
215
202
|
initial: "idle",
|
|
203
|
+
on: { RESET_SMS: {
|
|
204
|
+
target: ".idle",
|
|
205
|
+
actions: "resetSmsSent"
|
|
206
|
+
} },
|
|
216
207
|
states: {
|
|
217
208
|
idle: { on: { SEND_SMS: "sending" } },
|
|
218
209
|
sending: { invoke: {
|
|
@@ -232,13 +223,7 @@ const redirectToMobileMachine = setup({
|
|
|
232
223
|
actions: "setSmsError"
|
|
233
224
|
}
|
|
234
225
|
} },
|
|
235
|
-
sent: { on: {
|
|
236
|
-
SEND_SMS: "sending",
|
|
237
|
-
RESET_SMS: {
|
|
238
|
-
target: "idle",
|
|
239
|
-
actions: "resetSmsSent"
|
|
240
|
-
}
|
|
241
|
-
} }
|
|
226
|
+
sent: { on: { SEND_SMS: "sending" } }
|
|
242
227
|
}
|
|
243
228
|
}
|
|
244
229
|
},
|
|
@@ -247,7 +232,10 @@ const redirectToMobileMachine = setup({
|
|
|
247
232
|
CLOSE: "closed"
|
|
248
233
|
}
|
|
249
234
|
},
|
|
250
|
-
finished: {
|
|
235
|
+
finished: {
|
|
236
|
+
type: "final",
|
|
237
|
+
output: { action: "onboardingFinished" }
|
|
238
|
+
},
|
|
251
239
|
continue: { type: "final" },
|
|
252
240
|
closed: { type: "final" },
|
|
253
241
|
error: { on: { RETRY: "generatingUrl" } }
|