@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
|
@@ -0,0 +1,351 @@
|
|
|
1
|
+
import { n as WasmPipeline } from "./warmup-BJZPQIiX.js";
|
|
2
|
+
import "./StateMachine-C_AY4cs7.js";
|
|
3
|
+
import "./Actor-CGEelYtQ.js";
|
|
4
|
+
import { t as CameraStream } from "./camera-CNVUo-bC.js";
|
|
5
|
+
import "./types-DgGlgyZT.js";
|
|
6
|
+
import "./types-D_IceWxT.js";
|
|
7
|
+
import "./canvas-CJUmoXSD.js";
|
|
8
|
+
import "./createFaceAvatar-B8pFpy6o.js";
|
|
9
|
+
import { i as FlowModuleConfig } from "./types-BsYXnC5s.js";
|
|
10
|
+
import "./IWasmUtilCapability-d2XvzaCk.js";
|
|
11
|
+
import "./types-Duy2rDxF.js";
|
|
12
|
+
import { n as DetectionStatus } from "./types-CxW2e0Ar.js";
|
|
13
|
+
import * as xstate1577 from "xstate";
|
|
14
|
+
|
|
15
|
+
//#region src/modules/video-selfie/types.d.ts
|
|
16
|
+
/**
|
|
17
|
+
* The capture steps a Video Selfie session can run, in flow order. Which steps
|
|
18
|
+
* are active is derived from the module config (e.g. `checkIdScan` enables
|
|
19
|
+
* `frontId`/`backId`, `checkVoiceConsent` enables `speech`).
|
|
20
|
+
*/
|
|
21
|
+
type VideoSelfieStep = 'selfie' | 'frontId' | 'backId' | 'poa' | 'questions' | 'speech';
|
|
22
|
+
/**
|
|
23
|
+
* Public Video Selfie configuration. Mirrors the backend `VIDEO_ONBOARDING`
|
|
24
|
+
* workflow module.
|
|
25
|
+
*
|
|
26
|
+
* The whole session is recorded on-device and streamed to the backend via S3
|
|
27
|
+
* multipart upload (`internal/recordings/multipartRecordingService`) — the
|
|
28
|
+
* client-side replacement for V1's server-side OpenVidu recording. See
|
|
29
|
+
* `docs/features/VIDEO_SELFIE.md`.
|
|
30
|
+
*/
|
|
31
|
+
type VideoSelfieConfig = FlowModuleConfig['VIDEO_ONBOARDING'];
|
|
32
|
+
//#endregion
|
|
33
|
+
//#region ../infra/src/media/CameraCompositor.d.ts
|
|
34
|
+
/**
|
|
35
|
+
* Composites the *active* camera into a canvas and exposes the canvas as a
|
|
36
|
+
* single, stable `MediaStream` to record. Switching cameras (front ↔ back)
|
|
37
|
+
* just repoints what the canvas draws — the output stream and its audio track
|
|
38
|
+
* are never replaced — so a single `MediaRecorder` produces one continuous
|
|
39
|
+
* video that follows the camera switches (V1 parity), instead of restarting
|
|
40
|
+
* per camera.
|
|
41
|
+
*
|
|
42
|
+
* The audio track from the initial stream is carried through unchanged across
|
|
43
|
+
* video switches, so there's no audio glitch when the camera flips.
|
|
44
|
+
*/
|
|
45
|
+
declare class CameraCompositor {
|
|
46
|
+
private readonly fps;
|
|
47
|
+
private canvas;
|
|
48
|
+
private ctx;
|
|
49
|
+
private video;
|
|
50
|
+
private rafId;
|
|
51
|
+
private audioTrack;
|
|
52
|
+
private videoTrack;
|
|
53
|
+
private composite;
|
|
54
|
+
constructor(options?: {
|
|
55
|
+
fps?: number;
|
|
56
|
+
});
|
|
57
|
+
/**
|
|
58
|
+
* Begin compositing `stream` and return the composite stream to record. The
|
|
59
|
+
* stream's audio track (if any) is carried through unchanged across later
|
|
60
|
+
* `switchVideo` calls.
|
|
61
|
+
*/
|
|
62
|
+
start(stream: CameraStream): MediaStream;
|
|
63
|
+
/**
|
|
64
|
+
* Swap the camera feeding the canvas without interrupting the composite
|
|
65
|
+
* stream. Pass a video-only stream (audio is kept from `start`). The previous
|
|
66
|
+
* video track is stopped.
|
|
67
|
+
*/
|
|
68
|
+
switchVideo(stream: CameraStream): void;
|
|
69
|
+
/** The composite stream being recorded, if compositing is active. */
|
|
70
|
+
get stream(): MediaStream | undefined;
|
|
71
|
+
/** Stop compositing and release the canvas, audio, and video tracks. */
|
|
72
|
+
stop(): void;
|
|
73
|
+
private setVideoSource;
|
|
74
|
+
private startDrawLoop;
|
|
75
|
+
}
|
|
76
|
+
//#endregion
|
|
77
|
+
//#region src/internal/recordings/multipartRecordingService.d.ts
|
|
78
|
+
type MultipartRecordingResult = {
|
|
79
|
+
/**
|
|
80
|
+
* The completed upload's id, or `null` if recording produced no parts, a
|
|
81
|
+
* part upload failed, or finalization failed.
|
|
82
|
+
*/
|
|
83
|
+
recordingId: string | null;
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* Records the camera on-device and streams it to the backend as it is
|
|
87
|
+
* captured, using the S3 multipart upload protocol
|
|
88
|
+
* (`/omni/video-selfie/upload/*`).
|
|
89
|
+
*
|
|
90
|
+
* This is the Video Selfie module's client-side recorder and is deliberately
|
|
91
|
+
* independent of the face-capture recording services (`LocalRecordingService`
|
|
92
|
+
* / `OpenViduRecordingService`) — it is the replacement for server-side
|
|
93
|
+
* (OpenVidu) recording, not a sibling of it.
|
|
94
|
+
*
|
|
95
|
+
* Parts upload concurrently with recording, so `stop()` only flushes the final
|
|
96
|
+
* part and finalizes — keeping the whole session inside the server's
|
|
97
|
+
* video-selfie timeout regardless of length, with client memory bounded to
|
|
98
|
+
* ~one part. No client-side encryption: video is encrypted at rest server-side
|
|
99
|
+
* (S3 SSE-AES-256).
|
|
100
|
+
*/
|
|
101
|
+
declare class MultipartRecordingService {
|
|
102
|
+
private recorder;
|
|
103
|
+
private uploadId;
|
|
104
|
+
private parts;
|
|
105
|
+
private inflight;
|
|
106
|
+
private uploadFailed;
|
|
107
|
+
get isRecording(): boolean;
|
|
108
|
+
start(stream: MediaStream): Promise<void>;
|
|
109
|
+
stop(): Promise<MultipartRecordingResult>;
|
|
110
|
+
cleanup(): void;
|
|
111
|
+
}
|
|
112
|
+
//#endregion
|
|
113
|
+
//#region src/modules/video-selfie/videoSelfieStepDetector.d.ts
|
|
114
|
+
/**
|
|
115
|
+
* Runs the WASM detection + backend validation for a single capture step over
|
|
116
|
+
* the given camera stream. Resolves once the step is captured AND validated by
|
|
117
|
+
* the backend (advance the flow), rejects on a terminal/validation failure
|
|
118
|
+
* (retry), and never settles for steps that have no auto-capture yet (the UI
|
|
119
|
+
* advances them manually).
|
|
120
|
+
*/
|
|
121
|
+
type StepDetector = (params: {
|
|
122
|
+
step: VideoSelfieStep;
|
|
123
|
+
stream: MediaStream;
|
|
124
|
+
signal: AbortSignal;
|
|
125
|
+
onStatus?: (status: DetectionStatus) => void;
|
|
126
|
+
}) => Promise<void>;
|
|
127
|
+
//#endregion
|
|
128
|
+
//#region src/modules/video-selfie/videoSelfieRecordingMachine.d.ts
|
|
129
|
+
type FacingMode = 'user' | 'environment';
|
|
130
|
+
type VideoSelfieRecordingDependencies = {
|
|
131
|
+
createRecordingService?: () => MultipartRecordingService;
|
|
132
|
+
createCompositor?: () => CameraCompositor;
|
|
133
|
+
acquireCamera?: (facingMode: FacingMode, withAudio: boolean) => Promise<CameraStream>;
|
|
134
|
+
/** Runs WASM detection + backend validation per step; resolves to advance. */
|
|
135
|
+
detect?: StepDetector;
|
|
136
|
+
};
|
|
137
|
+
//#endregion
|
|
138
|
+
//#region src/modules/video-selfie/videoSelfieRecordingActor.d.ts
|
|
139
|
+
type CreateVideoSelfieRecordingActorOptions = {
|
|
140
|
+
/** Module config; its flags determine the active capture steps + validations. */
|
|
141
|
+
config?: VideoSelfieConfig;
|
|
142
|
+
dependencies?: VideoSelfieRecordingDependencies;
|
|
143
|
+
};
|
|
144
|
+
//#endregion
|
|
145
|
+
//#region src/modules/video-selfie/videoSelfieRecordingManager.d.ts
|
|
146
|
+
type VideoSelfieRecordingStatus = 'idle' | 'starting' | 'recording' | 'switchingCamera' | 'finalizing' | 'finished' | 'error' | 'aborted';
|
|
147
|
+
type VideoSelfieRecordingState = {
|
|
148
|
+
/** Current lifecycle status. */
|
|
149
|
+
status: VideoSelfieRecordingStatus;
|
|
150
|
+
/** The active capture step (e.g. `selfie`, `frontId`). */
|
|
151
|
+
step: VideoSelfieStep | undefined;
|
|
152
|
+
/** Zero-based index of the active step. */
|
|
153
|
+
stepIndex: number;
|
|
154
|
+
/** Whether the active step is the last one (advancing it finalizes). */
|
|
155
|
+
isLastStep: boolean;
|
|
156
|
+
/** The active source camera (raw, per-step facing). */
|
|
157
|
+
stream: MediaStream | undefined;
|
|
158
|
+
/**
|
|
159
|
+
* The composited output stream (what's recorded) — a single canvas-backed
|
|
160
|
+
* stream that follows camera switches. Preferred for the preview: it has one
|
|
161
|
+
* camera consumer (the compositor), avoiding the black second-`<video>` that
|
|
162
|
+
* some devices show when the raw camera track is rendered twice.
|
|
163
|
+
*/
|
|
164
|
+
composite: MediaStream | undefined;
|
|
165
|
+
/** Live per-step detection feedback (e.g. `tooFar`, `blur`, `detecting`). */
|
|
166
|
+
detectionStatus: DetectionStatus | undefined;
|
|
167
|
+
/** The completed upload id, available once `status === 'finished'`. */
|
|
168
|
+
recordingId: string | null;
|
|
169
|
+
/** Failure detail, set when `status === 'error'`. */
|
|
170
|
+
error: string | undefined;
|
|
171
|
+
};
|
|
172
|
+
/**
|
|
173
|
+
* Creates a manager for a multi-step, camera-switching Video Selfie recording.
|
|
174
|
+
*
|
|
175
|
+
* The whole session records as one continuous video that follows the camera
|
|
176
|
+
* across steps (front for selfie, rear for ID). Exposes `getState()` /
|
|
177
|
+
* `subscribe()` (status, step, preview `stream`, `recordingId`) plus `start()`,
|
|
178
|
+
* `nextStep()`, and `abort()`.
|
|
179
|
+
*/
|
|
180
|
+
declare function createVideoSelfieRecordingManager(options?: CreateVideoSelfieRecordingActorOptions): {
|
|
181
|
+
stop(): void;
|
|
182
|
+
getState(): VideoSelfieRecordingState;
|
|
183
|
+
subscribe(listener: (state: VideoSelfieRecordingState) => void): () => void;
|
|
184
|
+
/** Acquire the first camera, open the upload, and begin recording. */
|
|
185
|
+
start(): void;
|
|
186
|
+
/**
|
|
187
|
+
* Advance to the next step. Switches the camera when the next step's
|
|
188
|
+
* facing mode differs; finalizes the upload on the last step.
|
|
189
|
+
*/
|
|
190
|
+
nextStep(): void;
|
|
191
|
+
/** Abandon the session without finalizing the upload. */
|
|
192
|
+
abort(): void;
|
|
193
|
+
};
|
|
194
|
+
type VideoSelfieRecordingManager = ReturnType<typeof createVideoSelfieRecordingManager>;
|
|
195
|
+
//#endregion
|
|
196
|
+
//#region src/modules/video-selfie/videoSelfieSteps.d.ts
|
|
197
|
+
/**
|
|
198
|
+
* The camera facing mode a given step should use. ID and proof-of-address steps
|
|
199
|
+
* use the rear camera; selfie / questions / speech use the front camera.
|
|
200
|
+
*/
|
|
201
|
+
declare function facingModeForStep(step: VideoSelfieStep): 'user' | 'environment';
|
|
202
|
+
/**
|
|
203
|
+
* Resolves the ordered list of active capture steps from the module config.
|
|
204
|
+
* The order mirrors V1 `getVideoSelfieModules`: the rear-camera document steps
|
|
205
|
+
* (`frontId` → `backId` → `poa`) run first, then the front-camera steps
|
|
206
|
+
* (`selfie` → `questions` → `speech`). This keeps the user from flipping the
|
|
207
|
+
* device between front and rear cameras mid-session. `selfie` is always present;
|
|
208
|
+
* the document and voice-consent steps are gated by their config flags.
|
|
209
|
+
*
|
|
210
|
+
* Both ID sides are captured whenever `checkIdScan` is on (a normal two-sided ID
|
|
211
|
+
* scan) — mirroring V1, which gated `back` on `checkIdScan`, not on the compare
|
|
212
|
+
* flags. `compareBackIdEnabled`/`compareBackOcrEnabled` only decide whether the
|
|
213
|
+
* captured back is *validated* against the backend (see `validateIdFrame` in
|
|
214
|
+
* `videoSelfieStepDetector`); with both off the back is captured passively on
|
|
215
|
+
* the first well-framed frame.
|
|
216
|
+
*/
|
|
217
|
+
declare function resolveVideoSelfieSteps(config: VideoSelfieConfig): VideoSelfieStep[];
|
|
218
|
+
/**
|
|
219
|
+
* The WASM pipelines a Video Selfie session loads. The selfie step always runs
|
|
220
|
+
* face detection (`videoSelfie`); the ID steps run the simplified ID-capture
|
|
221
|
+
* pipeline (`videoSelfieId`), gated by `checkIdScan`. Used both for the
|
|
222
|
+
* flow-level eager warmup ({@link getRequiredWasmPipelines}) and the
|
|
223
|
+
* tutorial-time lazy warmup (`warmupVideoSelfieWasm`).
|
|
224
|
+
*/
|
|
225
|
+
declare function videoSelfieWasmPipelines(config: VideoSelfieConfig): WasmPipeline[];
|
|
226
|
+
//#endregion
|
|
227
|
+
//#region src/modules/video-selfie/videoSelfieWasm.d.ts
|
|
228
|
+
/**
|
|
229
|
+
* Warms the WASM pipelines the Video Selfie flow needs (face detection, plus the
|
|
230
|
+
* ID-capture pipeline when `checkIdScan` is on), reusing the WASM config stored
|
|
231
|
+
* by `setup({ wasm })`.
|
|
232
|
+
*
|
|
233
|
+
* Idempotent and safe to call eagerly — the UI invokes it when the tutorial
|
|
234
|
+
* mounts so the models finish loading while the user reads the instructions, and
|
|
235
|
+
* detection is ready the instant recording starts (mirrors how the selfie and ID
|
|
236
|
+
* modules warm up during their tutorials). No-op when WASM was not configured.
|
|
237
|
+
*/
|
|
238
|
+
declare function warmupVideoSelfieWasm(config: VideoSelfieConfig): Promise<void>;
|
|
239
|
+
//#endregion
|
|
240
|
+
//#region src/modules/video-selfie/videoSelfieCameraWarmer.d.ts
|
|
241
|
+
/**
|
|
242
|
+
* Warms the camera for a Video Selfie session ahead of time, so tapping "Start"
|
|
243
|
+
* on the tutorial begins recording without waiting on `getUserMedia` (mirrors how
|
|
244
|
+
* the selfie tutorial pre-acquires the camera "when possible").
|
|
245
|
+
*
|
|
246
|
+
* The acquire is gated on permission already being granted — exactly like the
|
|
247
|
+
* selfie tutorial — so we never trigger the OS camera/mic prompt while the user
|
|
248
|
+
* is still reading the instructions.
|
|
249
|
+
*/
|
|
250
|
+
type VideoSelfieCameraWarmer = {
|
|
251
|
+
/**
|
|
252
|
+
* Pre-acquire the first step's camera (video + audio) in the background, but
|
|
253
|
+
* only when camera permission is already granted. Idempotent — safe to call
|
|
254
|
+
* repeatedly (e.g. on every tutorial render).
|
|
255
|
+
*/
|
|
256
|
+
warm(): void;
|
|
257
|
+
/**
|
|
258
|
+
* The `acquireCamera` dependency to hand to the recording manager. It returns
|
|
259
|
+
* the warmed stream for the machine's first acquire (matching facing mode +
|
|
260
|
+
* audio) and falls back to a fresh `getUserMedia` for every other acquire
|
|
261
|
+
* (e.g. the rear→front camera switch) and when nothing was warmed.
|
|
262
|
+
*/
|
|
263
|
+
acquireCamera: NonNullable<VideoSelfieRecordingDependencies['acquireCamera']>;
|
|
264
|
+
/**
|
|
265
|
+
* Stop a warmed-but-unused stream. Call on unmount when capture never started
|
|
266
|
+
* so the camera light doesn't stay on. No-op once the stream has been consumed
|
|
267
|
+
* by the recording machine.
|
|
268
|
+
*/
|
|
269
|
+
dispose(): void;
|
|
270
|
+
};
|
|
271
|
+
/**
|
|
272
|
+
* Creates a {@link VideoSelfieCameraWarmer} for the given config. The first
|
|
273
|
+
* camera (and whether it needs audio) is derived from the resolved step order —
|
|
274
|
+
* the same first acquire the recording machine performs on `START`.
|
|
275
|
+
*/
|
|
276
|
+
declare function createVideoSelfieCameraWarmer(config: VideoSelfieConfig): VideoSelfieCameraWarmer;
|
|
277
|
+
//#endregion
|
|
278
|
+
//#region src/modules/video-selfie/videoSelfieSpeechService.d.ts
|
|
279
|
+
/** A single random question (and its expected answer) for the challenge step. */
|
|
280
|
+
type VideoSelfieQuestion = {
|
|
281
|
+
id: string;
|
|
282
|
+
question: string;
|
|
283
|
+
answer: string;
|
|
284
|
+
};
|
|
285
|
+
/**
|
|
286
|
+
* Fetches `count` random challenge questions the user answers out loud. The
|
|
287
|
+
* spoken answers are captured in the main video recording (no separate upload)
|
|
288
|
+
* and verified server-side.
|
|
289
|
+
*/
|
|
290
|
+
declare function getVideoSelfieQuestions(count: number): Promise<VideoSelfieQuestion[]>;
|
|
291
|
+
/**
|
|
292
|
+
* Fetches the voice-consent phrase the user must read aloud. The phrase is the
|
|
293
|
+
* `answer` of the consent question returned when `returnVoiceConsentQuestion`
|
|
294
|
+
* is requested with no challenge questions.
|
|
295
|
+
*/
|
|
296
|
+
declare function getVoiceConsentPhrase(): Promise<string>;
|
|
297
|
+
//#endregion
|
|
298
|
+
//#region src/modules/video-selfie/videoSelfieConsentRecorder.d.ts
|
|
299
|
+
/**
|
|
300
|
+
* Drives the voice-consent audio capture for the Video Selfie speech step:
|
|
301
|
+
* records the spoken consent phrase as a standalone MP3 (separate from the main
|
|
302
|
+
* video) and uploads it for speech-to-text validation. The UI owns the start /
|
|
303
|
+
* submit timing (button taps); this keeps the L0 recorder + upload wiring out
|
|
304
|
+
* of the L2 component.
|
|
305
|
+
*/
|
|
306
|
+
type ConsentRecorder = {
|
|
307
|
+
/** Start capturing audio from the given stream (uses its audio tracks). */
|
|
308
|
+
start(stream: MediaStream): void;
|
|
309
|
+
/** Stop, encode to MP3 base64, and upload. Resolves the backend verdict. */
|
|
310
|
+
submit(): Promise<{
|
|
311
|
+
success: boolean;
|
|
312
|
+
}>;
|
|
313
|
+
/** Stop and discard without uploading (consent check disabled, or abort). */
|
|
314
|
+
cancel(): void;
|
|
315
|
+
};
|
|
316
|
+
declare function createConsentRecorder(): ConsentRecorder;
|
|
317
|
+
//#endregion
|
|
318
|
+
//#region src/modules/video-selfie/videoSelfieFlowModuleMachine.d.ts
|
|
319
|
+
/**
|
|
320
|
+
* Parked flow-module machine for the `VIDEO_ONBOARDING` step.
|
|
321
|
+
*
|
|
322
|
+
* The video-selfie UI component owns the entire capture / streaming / upload
|
|
323
|
+
* lifecycle (it creates its own {@link createVideoSelfieRecordingManager}) and
|
|
324
|
+
* signals completion to the flow via `flowManager.completeModule()`
|
|
325
|
+
* (`MODULE_COMPLETE`). This machine therefore only needs to hold the step open:
|
|
326
|
+
* it starts in a non-final `running` state and never transitions, so the
|
|
327
|
+
* orchestrated flow stays in `runningModule` until the UI advances it.
|
|
328
|
+
*
|
|
329
|
+
* **Completion contract:** the L2 `incode-video-selfie` web component MUST call
|
|
330
|
+
* `flowManager.completeModule()` once the recording manager reaches `finished`
|
|
331
|
+
* (success) or `error` (terminal failure). Until that event is sent, the flow
|
|
332
|
+
* orchestrator remains in `runningModule` — this is intentional.
|
|
333
|
+
*
|
|
334
|
+
* **Abort / unmount:** if the user closes the module or the web component
|
|
335
|
+
* unmounts before completion, the orchestrated flow manager's existing close /
|
|
336
|
+
* abort path (`MODULE_CLOSE` / session teardown) is responsible for exiting the
|
|
337
|
+
* step. This parked machine does not model those paths itself.
|
|
338
|
+
*
|
|
339
|
+
* Contrast {@link noOpFlowModuleMachine}, whose initial state is `final` — that
|
|
340
|
+
* is used for headless steps (e.g. `IP_ADDRESS`) that must complete instantly
|
|
341
|
+
* with no UI. Using a no-op here would skip the video-selfie UI entirely.
|
|
342
|
+
*/
|
|
343
|
+
declare const videoSelfieFlowModuleMachine: xstate1577.StateMachine<xstate1577.MachineContext, xstate1577.AnyEventObject, {}, never, never, never, never, "running", string, xstate1577.NonReducibleUnknown, xstate1577.NonReducibleUnknown, xstate1577.EventObject, xstate1577.MetaObject, {
|
|
344
|
+
readonly id: "videoSelfieFlowModule";
|
|
345
|
+
readonly initial: "running";
|
|
346
|
+
readonly states: {
|
|
347
|
+
readonly running: {};
|
|
348
|
+
};
|
|
349
|
+
}>;
|
|
350
|
+
//#endregion
|
|
351
|
+
export { type ConsentRecorder, type CreateVideoSelfieRecordingActorOptions, type VideoSelfieCameraWarmer, type VideoSelfieConfig, type VideoSelfieQuestion, type VideoSelfieRecordingManager, type VideoSelfieRecordingState, type VideoSelfieRecordingStatus, type VideoSelfieStep, createConsentRecorder, createVideoSelfieCameraWarmer, createVideoSelfieRecordingManager, facingModeForStep, getVideoSelfieQuestions, getVoiceConsentPhrase, resolveVideoSelfieSteps, videoSelfieFlowModuleMachine, videoSelfieWasmPipelines, warmupVideoSelfieWasm };
|