@incodetech/core 2.4.1-agentic → 2.4.1-agentic.1
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/BrowserNetworkStatusProvider-BrDXBEDd.esm.js +21 -0
- package/dist/{multipartRecordingService-DMBxHKS2.esm.js → CameraCompositor-DN7NkJzV.esm.js} +7 -734
- package/dist/{FaceDetectionProvider-B83VmClw.esm.js → FaceDetectionProvider-CAY43vSI.esm.js} +11 -12
- package/dist/MultipartRecordingProvider-D9mauUdS.esm.js +146 -0
- package/dist/StreamCanvasProcessingSession-CBnbTnOr.esm.js +42 -0
- package/dist/{WasmUtilProvider-GTkoJyFY.esm.js → WasmUtilProvider-Dp2V-Uct.esm.js} +2 -2
- package/dist/WorkerEncoderRecordingProvider-B1ODYtgN.esm.js +80 -0
- package/dist/{addressSearch-41sMcnJk.esm.js → addressSearch-DzbE9Ogt.esm.js} +2 -352
- package/dist/ae-signature.esm.js +1 -1
- package/dist/antifraud.esm.js +2 -2
- package/dist/{antifraudManager-CQ08atTC.esm.js → antifraudManager-BObuHBjn.esm.js} +2 -2
- package/dist/{antifraudStateMachine-BcsUTTIr.esm.js → antifraudStateMachine-Dfrd2-26.esm.js} +1 -1
- package/dist/{api-BO8JA7Pf.esm.js → api-CpP4PS4S.esm.js} +2 -0
- package/dist/{apiError-CfuIvnUy.esm.js → apiError-DH-CH4Nz.esm.js} +1 -1
- package/dist/{attemptCarry-BjTJ6bMQ.esm.js → attemptCarry-WOkfvFMw.esm.js} +2 -2
- package/dist/authentication.d.ts +3 -3
- package/dist/authentication.esm.js +2 -2
- package/dist/{authenticationManager-C-cOki0Y.d.ts → authenticationManager-CWmh7aSY.d.ts} +1 -1
- package/dist/{authenticationManager-DvmklBTE.esm.js → authenticationManager-DjX0XDyH.esm.js} +5 -5
- package/dist/{authenticationStateMachine-BL2ptOA0.esm.js → authenticationStateMachine-BMbZL8wm.esm.js} +3 -3
- package/dist/backCameraLabel-yda5ugE4.esm.js +67 -0
- package/dist/{backCameraStream-C5_NNfUN.esm.js → backCameraStream-DS1oDiUq.esm.js} +10 -65
- package/dist/camera.d.ts +2 -2
- package/dist/camera.esm.js +1 -1
- package/dist/certificate-issuance.esm.js +2 -2
- package/dist/{certificateIssuanceManager-CM0fuqDC.esm.js → certificateIssuanceManager-C1nETQos.esm.js} +2 -2
- package/dist/{certificateIssuanceStateMachine-kksIUOPD.esm.js → certificateIssuanceStateMachine-DThXMDqr.esm.js} +1 -1
- package/dist/{connectivity-HSl0diCx.esm.js → connectivity-BCuEoQ-n.esm.js} +2 -21
- package/dist/consent.d.ts +1 -1
- package/dist/consent.esm.js +2 -2
- package/dist/{consentManager-CBwFozhv.esm.js → consentManager-DMlSL6Ax.esm.js} +2 -2
- package/dist/{consentManager-_q9yJUku.d.ts → consentManager-bjfVXO7p.d.ts} +9 -9
- package/dist/{consentStateMachine-CpmRAcr2.esm.js → consentStateMachine-DIYSMxKQ.esm.js} +1 -1
- package/dist/cross-document-data-match.esm.js +1 -1
- package/dist/{crossDocumentDataMatchManager-64O8t10a.esm.js → crossDocumentDataMatchManager-BFTdiEDB.esm.js} +2 -2
- package/dist/curp-validation.d.ts +1 -1
- package/dist/curp-validation.esm.js +2 -2
- package/dist/{curpValidationManager-CLgJQcx0.esm.js → curpValidationManager-DNpC3wyf.esm.js} +2 -2
- package/dist/{curpValidationManager-CXpFE-Mv.d.ts → curpValidationManager-z8428oCM.d.ts} +1 -1
- package/dist/{curpValidationStateMachine-Bx9YhVkJ.esm.js → curpValidationStateMachine-B3iVsDyt.esm.js} +2 -2
- package/dist/custom-fields.esm.js +1 -1
- package/dist/custom-watchlist.esm.js +2 -2
- package/dist/{customFieldsManager-DWt_0YtJ.esm.js → customFieldsManager-CvI-pDT3.esm.js} +2 -2
- package/dist/{customWatchlistManager-D8o-2Nej.esm.js → customWatchlistManager-BuHtUb0y.esm.js} +2 -2
- package/dist/{customWatchlistStateMachine-Sbi6DIcK.esm.js → customWatchlistStateMachine-CiVD9wyF.esm.js} +1 -1
- package/dist/{deepsightService-twg3bXqY.esm.js → deepsightLoader-B7DEYoyY.esm.js} +34 -29
- package/dist/{desktopCameraElection-kHY2IDJi.esm.js → desktopCameraElection-BGMtYwk3.esm.js} +5 -5
- package/dist/document-capture.d.ts +3 -3
- package/dist/document-capture.esm.js +2 -2
- package/dist/{documentCaptureManager-6tnnDkMX.d.ts → documentCaptureManager-CD5iQiUI.d.ts} +24 -3
- package/dist/{documentCaptureManager-CMSC_Mhd.esm.js → documentCaptureManager-DLPqruXJ.esm.js} +3 -2
- package/dist/{documentCaptureStateMachine-BCwD5Rto.esm.js → documentCaptureStateMachine-DCvWQhFG.esm.js} +67 -26
- package/dist/dynamic-forms.esm.js +2 -2
- package/dist/{dynamicFormsManager-DU6W1e20.esm.js → dynamicFormsManager-DfqCEPg9.esm.js} +2 -2
- package/dist/{dynamicFormsStateMachine-C8Z7k3vo.esm.js → dynamicFormsStateMachine-USQMB-uV.esm.js} +2 -2
- package/dist/ekyb.d.ts +4 -4
- package/dist/ekyb.esm.js +3 -3
- package/dist/{ekybManager-TB6ZG5lX.d.ts → ekybManager-BLOkwmWO.d.ts} +2 -2
- package/dist/{ekybManager-TGfqyjuu.esm.js → ekybManager-CR8YSYux.esm.js} +2 -2
- package/dist/{ekybStateMachine-DBgFuEPK.esm.js → ekybStateMachine-kHwdz6hm.esm.js} +5 -3
- package/dist/ekybUtils-Cw8Ta9Qi.esm.js +140 -0
- package/dist/ekyc.d.ts +3 -2
- package/dist/ekyc.esm.js +3 -3
- package/dist/{ekycManager-BSQteIfC.d.ts → ekycManager-DlGIn9wA.d.ts} +2 -1
- package/dist/{ekycManager-C2cgG2Pl.esm.js → ekycManager-DymCvmVB.esm.js} +2 -2
- package/dist/{ekycStateMachine-CuNF7z4O.esm.js → ekycStateMachine-CoFCUJ2z.esm.js} +141 -68
- package/dist/{ekycUtils-BFncpC4F.esm.js → ekycUtils-GRuMELYr.esm.js} +80 -9
- package/dist/electronic-signature.esm.js +1 -1
- package/dist/{electronicSignatureManager-C7pqXsRm.esm.js → electronicSignatureManager-BCE3uA3z.esm.js} +3 -3
- package/dist/email.esm.js +2 -2
- package/dist/{emailManager-FH_CP0cT.esm.js → emailManager-CGoE3CUe.esm.js} +2 -2
- package/dist/{emailStateMachine-Cx-uTaBV.esm.js → emailStateMachine-KgHfDNvM.esm.js} +2 -2
- package/dist/{events-CQteqXfy.esm.js → events-ggpBBaZ8.esm.js} +1 -1
- package/dist/events.esm.js +1 -1
- package/dist/extensibility.d.ts +15 -14
- package/dist/extensibility.esm.js +36 -35
- package/dist/face-match.esm.js +2 -2
- package/dist/{faceCaptureManagerFactory-C-xKdj-d.d.ts → faceCaptureManagerFactory-DV2ULUYS.d.ts} +3 -3
- package/dist/{faceCaptureManagerFactory-CBm05KnT.esm.js → faceCaptureManagerFactory-Dp90bedH.esm.js} +4 -4
- package/dist/{faceCaptureSetup-BQjCbL51.esm.js → faceCaptureSetup-ZfiWg0fo.esm.js} +12 -403
- package/dist/{faceMatchManager-B2zp7yP4.esm.js → faceMatchManager-D2xKPjjQ.esm.js} +2 -2
- package/dist/{faceMatchStateMachine-ByTMQCUC.esm.js → faceMatchStateMachine-CUvwiQi9.esm.js} +2 -2
- package/dist/{feature-management-DjAG5lsJ.esm.js → feature-management-BbCIA4og.esm.js} +35 -21
- package/dist/feature-management.esm.js +1 -1
- package/dist/field-comparison.esm.js +1 -1
- package/dist/{fieldComparisonManager-CC0vKmpf.esm.js → fieldComparisonManager-DgDbEeFZ.esm.js} +2 -2
- package/dist/fiscal-qr.esm.js +1 -1
- package/dist/{fiscalQrManager-Be-r4oZj.esm.js → fiscalQrManager-BZeklojR.esm.js} +3 -3
- package/dist/flow-events.d.ts +1 -1
- package/dist/flow.d.ts +8 -8
- package/dist/flow.esm.js +10 -6
- package/dist/{flowCompletionService-ChMU2v79.esm.js → flowCompletionService-CcCnPs_T.esm.js} +2 -2
- package/dist/{flowServices-g2tVWsJl.esm.js → flowServices-Dmnc8Rye.esm.js} +69 -143
- package/dist/geolocation.esm.js +2 -2
- package/dist/{geolocationManager-DLbvZwUB.esm.js → geolocationManager-BJJ3m_I8.esm.js} +2 -2
- package/dist/{geolocationStateMachine-CAJVongM.esm.js → geolocationStateMachine-CTI3m4Ie.esm.js} +3 -3
- package/dist/government-validation.esm.js +2 -2
- package/dist/{governmentValidationManager-CkX9TEkh.esm.js → governmentValidationManager-CjChjZ3C.esm.js} +2 -2
- package/dist/{governmentValidationStateMachine-PTPCP26N.esm.js → governmentValidationStateMachine-AEbn3Afi.esm.js} +1 -1
- package/dist/home.d.ts +1 -1
- package/dist/home.esm.js +1 -1
- package/dist/http.esm.js +1 -1
- package/dist/id-ocr.d.ts +1 -1
- package/dist/id-ocr.esm.js +2 -2
- package/dist/id-selfie-flow.d.ts +1 -1
- package/dist/id-selfie-flow.esm.js +10 -9
- package/dist/id-verification.esm.js +2 -2
- package/dist/id.d.ts +3 -3
- package/dist/id.esm.js +4 -4
- package/dist/{idCaptureDefaults-MSQoqScU.esm.js → idCaptureDefaults-Dszuq9ng.esm.js} +3 -3
- package/dist/{idCaptureManager-zZdTcpG1.esm.js → idCaptureManager-B3oR4RnA.esm.js} +9 -8
- package/dist/{idCaptureManager-DzTfQ1Am.d.ts → idCaptureManager-CCA2D1Ah.d.ts} +5 -3
- package/dist/{idCaptureServices-8OHinO0N.esm.js → idCaptureServices-DK0QboqT.esm.js} +27 -196
- package/dist/{idCaptureStateMachine-B3G6XoDG.esm.js → idCaptureStateMachine-zzar9MPy.esm.js} +20 -20
- package/dist/{idOcrManager-DT3kPIB3.d.ts → idOcrManager-BTdHlJ9D.d.ts} +1 -1
- package/dist/{idOcrManager-B64-fjWg.esm.js → idOcrManager-xyEZNOBa.esm.js} +2 -2
- package/dist/{idOcrStateMachine-B1aZnobs.esm.js → idOcrStateMachine-DNKXh4Rn.esm.js} +1 -1
- package/dist/{idVerificationManager-_Kebv-Ue.esm.js → idVerificationManager-DdnvYfgN.esm.js} +2 -2
- package/dist/{idVerificationStateMachine-DQn6c84z.esm.js → idVerificationStateMachine-DtIBCa32.esm.js} +1 -1
- package/dist/identity-reuse.esm.js +2 -2
- package/dist/{identityReuseManager-DDXkNVZi.esm.js → identityReuseManager-CcpovlfD.esm.js} +2 -2
- package/dist/{identityReuseStateMachine-Bcnkbjf8.esm.js → identityReuseStateMachine-DxZFWy47.esm.js} +1 -1
- package/dist/{index-DMDAk85K.d.ts → index-DC0P2Vzw.d.ts} +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/{invokeOnCaptureCallback-CXIBwBeE.esm.js → invokeOnCaptureCallback-BJ0GVHGr.esm.js} +1 -1
- package/dist/kyb-checks.d.ts +3 -0
- package/dist/kyb-checks.esm.js +3 -0
- package/dist/kybChecksManager-CblEL97E.d.ts +95 -0
- package/dist/kybChecksManager-DpGOp4Su.esm.js +89 -0
- package/dist/kybChecksStateMachine-B43NAnv7.esm.js +718 -0
- package/dist/mandatory-consent.d.ts +2 -2
- package/dist/mandatory-consent.esm.js +2 -2
- package/dist/{mandatoryConsentManager-43W5d_8G.esm.js → mandatoryConsentManager-B4vCYslr.esm.js} +2 -2
- package/dist/{mandatoryConsentManager-xx3mY-xw.d.ts → mandatoryConsentManager-B88Sm5nd.d.ts} +6 -6
- package/dist/{mandatoryConsentStateMachine-CVlgdlnt.esm.js → mandatoryConsentStateMachine-DWslYPA3.esm.js} +1 -1
- package/dist/mediaRecorderOptions-B9-IEVtV.esm.js +70 -0
- package/dist/multipartRecordingService-BTqkHGG9.esm.js +407 -0
- package/dist/{permissionGuards-B3OPL8Si.esm.js → permissionGuards-DFV-Ws0a.esm.js} +1 -1
- package/dist/{permissionServices-DnBAN_hW.esm.js → permissionServices-D190ATGD.esm.js} +8 -6
- package/dist/phone.esm.js +2 -2
- package/dist/phoneFormat-JJNaWthV.esm.js +75 -0
- package/dist/{phoneManager-C6jut_pz.esm.js → phoneManager-Dy5tODCU.esm.js} +3 -3
- package/dist/phoneServices-DJgyOzU2.esm.js +77 -0
- package/dist/{phoneStateMachine-T1-drWfG.esm.js → phoneStateMachine-DnlPhnw7.esm.js} +20 -60
- package/dist/{processFaceMatch-BWme3kVV.esm.js → processFaceMatch-Bst83HaS.esm.js} +1 -1
- package/dist/qe-signature.esm.js +1 -1
- package/dist/recordingService-CTko6Cjn.esm.js +397 -0
- package/dist/redirect-to-mobile.esm.js +2 -2
- package/dist/{redirectToMobileManager-BJXC6Kx9.esm.js → redirectToMobileManager-CgGaT2NP.esm.js} +3 -3
- package/dist/{redirectToMobileStateMachine-BBMAc2Gb.esm.js → redirectToMobileStateMachine-CbhN8uVN.esm.js} +39 -21
- package/dist/resolveForm-O7-r79VA.esm.js +351 -0
- package/dist/{runChildModule-DPHTqSdF.esm.js → runChildModule-BffFArwl.esm.js} +2 -2
- package/dist/{sdkVersion-C3_P-Qbq.esm.js → sdkVersion-CDd_gaR7.esm.js} +1 -1
- package/dist/selfie.d.ts +3 -3
- package/dist/selfie.esm.js +10 -10
- package/dist/{selfieErrorUtils-BL0BLMnp.esm.js → selfieErrorUtils-f4MgAG2A.esm.js} +1 -1
- package/dist/{selfieManager-BMmpUii2.d.ts → selfieManager-DmZFzs1-.d.ts} +1 -1
- package/dist/{selfieManager-Cbliomv7.esm.js → selfieManager-hopelYEk.esm.js} +5 -5
- package/dist/{selfieStateMachine-B5m_Kn0O.esm.js → selfieStateMachine-DaZIVv3Q.esm.js} +3 -3
- package/dist/{session-DAaAewMX.esm.js → session-CdSX4wsZ.esm.js} +4 -4
- package/dist/session.d.ts +1 -1
- package/dist/session.esm.js +6 -6
- package/dist/{sessionInitializer-CWFT4dfw.esm.js → sessionInitializer-DsL7X2j9.esm.js} +83 -24
- package/dist/{setup-CDAKwTr7.esm.js → setup-DDahygZs.esm.js} +28 -27
- package/dist/signature.esm.js +2 -2
- package/dist/{signatureManager-BeEVCcsC.esm.js → signatureManager-CwqjcxPg.esm.js} +2 -2
- package/dist/{signatureStateMachine-_1c1vSid.esm.js → signatureStateMachine-DBVDd1Eu.esm.js} +1 -1
- package/dist/{stats-BpMz-hTP.esm.js → stats-CatA2dea.esm.js} +1 -1
- package/dist/stats.esm.js +1 -1
- package/dist/textRules-D4NRinKY.d.ts +41 -0
- package/dist/{tri-BajQnjbf.esm.js → tri-DG6priFa.esm.js} +1 -1
- package/dist/tri.esm.js +1 -1
- package/dist/{trueSightService-BujtUIW6.esm.js → trueSightService-GuLthUVK.esm.js} +4 -4
- package/dist/trust-graph.esm.js +1 -1
- package/dist/{types--3HDl2SF.d.ts → types-BEVHQbbC.d.ts} +1 -1
- package/dist/{types-xEEWCx1j.d.ts → types-BPm1JSu7.d.ts} +1 -1
- package/dist/{types-C397LhmN.d.ts → types-BgRHw-dR.d.ts} +1 -1
- package/dist/{types-DuD8TRJU.d.ts → types-CRaFu6wS.d.ts} +4 -2
- package/dist/types-CTaL0XJz.d.ts +80 -0
- package/dist/{types-PTZHRhGX.d.ts → types-Cd0J0F9D.d.ts} +1 -1
- package/dist/{types-e8fCsvvk.d.ts → types-Csh8vzPo.d.ts} +1 -1
- package/dist/{types-B2FK_wYb.d.ts → types-CuMJ2M7D.d.ts} +2 -41
- package/dist/{types-ZTZelfbM.d.ts → types-CyNndVAT.d.ts} +14 -6
- package/dist/types-J6g6iKe_.d.ts +6 -0
- package/dist/video-selfie.d.ts +1 -1
- package/dist/video-selfie.esm.js +9 -7
- package/dist/{videoSelfieCameraWarmer-DjkPpoj_.esm.js → videoSelfieCameraWarmer-e3irGfcO.esm.js} +8 -8
- package/dist/{videoSelfieStepDetector-RfSmlFFW.d.ts → videoSelfieStepDetector-Dv3Mgws-.d.ts} +2 -2
- package/dist/virtualCameraCheck-eFOm2C9q.esm.js +27 -0
- package/dist/{warmup-BkfxQZsC.esm.js → warmup-DtB0DJpl.esm.js} +24 -17
- package/dist/wasm.esm.js +3 -3
- package/dist/{wasmDsFlagSync-BhU5H2oR.esm.js → wasmDsFlagSync-BtiR5pig.esm.js} +1 -1
- package/dist/{wasmWebClient-DTj9auyA.esm.js → wasmWebClient-BDrax6Eu.esm.js} +12 -9
- package/dist/watchlist-for-business.esm.js +2 -2
- package/dist/watchlist.esm.js +2 -2
- package/dist/{watchlistForBusinessManager-CVay6-9A.esm.js → watchlistForBusinessManager-DqUpAEj_.esm.js} +2 -2
- package/dist/{watchlistForBusinessStateMachine-DA6K5na4.esm.js → watchlistForBusinessStateMachine-DdaPl2PS.esm.js} +1 -1
- package/dist/{watchlistManager-B8gQ_rw3.esm.js → watchlistManager-CdpXzT4B.esm.js} +2 -2
- package/dist/{watchlistStateMachine-CSi_ZhtT.esm.js → watchlistStateMachine-ofHW_lPk.esm.js} +1 -1
- package/dist/workflow.d.ts +1 -1
- package/dist/workflow.esm.js +42 -42
- package/package.json +11 -5
- package/dist/deepsightLoader-DMxtowCm.esm.js +0 -33
- package/dist/types-D9r3zRfY.d.ts +0 -6
|
@@ -1,37 +1,38 @@
|
|
|
1
|
-
import { u as BrowserStorageProvider } from "./setup-
|
|
2
|
-
import { t as WasmUtilProvider } from "./WasmUtilProvider-
|
|
3
|
-
import {
|
|
1
|
+
import { u as BrowserStorageProvider } from "./setup-DDahygZs.esm.js";
|
|
2
|
+
import { t as WasmUtilProvider } from "./WasmUtilProvider-Dp2V-Uct.esm.js";
|
|
3
|
+
import { b as getDeviceFingerprintInfo, y as getFingerprint } from "./sessionInitializer-DsL7X2j9.esm.js";
|
|
4
4
|
import { s as createActor } from "./xstate.esm-DSajW7CJ.esm.js";
|
|
5
5
|
import { n as fromPromise, t as fromCallback } from "./xstate-actors.esm-8Gzepa_A.esm.js";
|
|
6
|
-
import { n as createElectronicSignatureManagerFromActor } from "./electronicSignatureManager-
|
|
7
|
-
import { n as createAntifraudManagerFromActor } from "./antifraudManager-
|
|
8
|
-
import { t as faceCaptureMachine } from "./faceCaptureSetup-
|
|
9
|
-
import { n as createAuthenticationManagerFromActor } from "./authenticationManager-
|
|
10
|
-
import { n as createCertificateIssuanceManagerFromActor } from "./certificateIssuanceManager-
|
|
11
|
-
import { n as createConsentManagerFromActor } from "./consentManager-
|
|
12
|
-
import { n as createCrossDocumentDataMatchManagerFromActor } from "./crossDocumentDataMatchManager-
|
|
13
|
-
import { n as createCurpValidationManagerFromActor } from "./curpValidationManager-
|
|
14
|
-
import { n as createCustomFieldsManagerFromActor } from "./customFieldsManager-
|
|
15
|
-
import { n as createCustomWatchlistManagerFromActor } from "./customWatchlistManager-
|
|
16
|
-
import { n as createDocumentCaptureManagerFromActor } from "./documentCaptureManager-
|
|
17
|
-
import { n as createDynamicFormsManagerFromActor } from "./dynamicFormsManager-
|
|
18
|
-
import { n as createEkybManagerFromActor } from "./ekybManager-
|
|
19
|
-
import { n as createEkycManagerFromActor } from "./ekycManager-
|
|
20
|
-
import { n as createEmailManagerFromActor } from "./emailManager-
|
|
21
|
-
import { n as createSelfieManagerFromActor } from "./selfieManager-
|
|
22
|
-
import { s as createIdCaptureManagerFromActor } from "./idCaptureManager-
|
|
23
|
-
import { n as createPhoneManagerFromActor } from "./phoneManager-
|
|
24
|
-
import { n as createWatchlistManagerFromActor } from "./watchlistManager-
|
|
25
|
-
import { n as createWatchlistForBusinessManagerFromActor } from "./watchlistForBusinessManager-
|
|
26
|
-
import { n as createIdentityReuseManagerFromActor } from "./identityReuseManager-
|
|
27
|
-
import { n as createFieldComparisonManagerFromActor } from "./fieldComparisonManager-
|
|
28
|
-
import { n as createMandatoryConsentManagerFromActor } from "./mandatoryConsentManager-
|
|
29
|
-
import { n as createIdOcrManagerFromActor } from "./idOcrManager-
|
|
30
|
-
import { n as createRedirectToMobileManagerFromActor } from "./redirectToMobileManager-
|
|
31
|
-
import { n as createSignatureManagerFromActor } from "./signatureManager-
|
|
32
|
-
import { n as createGeolocationManagerFromActor } from "./geolocationManager-
|
|
33
|
-
import { n as createGovernmentValidationManagerFromActor } from "./governmentValidationManager-
|
|
34
|
-
import { n as createIdVerificationManagerFromActor } from "./idVerificationManager-
|
|
35
|
-
import { n as createFaceMatchManagerFromActor } from "./faceMatchManager-
|
|
36
|
-
import { n as createFiscalQrManagerFromActor } from "./fiscalQrManager-
|
|
37
|
-
|
|
6
|
+
import { n as createElectronicSignatureManagerFromActor } from "./electronicSignatureManager-BCE3uA3z.esm.js";
|
|
7
|
+
import { n as createAntifraudManagerFromActor } from "./antifraudManager-BObuHBjn.esm.js";
|
|
8
|
+
import { t as faceCaptureMachine } from "./faceCaptureSetup-ZfiWg0fo.esm.js";
|
|
9
|
+
import { n as createAuthenticationManagerFromActor } from "./authenticationManager-DjX0XDyH.esm.js";
|
|
10
|
+
import { n as createCertificateIssuanceManagerFromActor } from "./certificateIssuanceManager-C1nETQos.esm.js";
|
|
11
|
+
import { n as createConsentManagerFromActor } from "./consentManager-DMlSL6Ax.esm.js";
|
|
12
|
+
import { n as createCrossDocumentDataMatchManagerFromActor } from "./crossDocumentDataMatchManager-BFTdiEDB.esm.js";
|
|
13
|
+
import { n as createCurpValidationManagerFromActor } from "./curpValidationManager-DNpC3wyf.esm.js";
|
|
14
|
+
import { n as createCustomFieldsManagerFromActor } from "./customFieldsManager-CvI-pDT3.esm.js";
|
|
15
|
+
import { n as createCustomWatchlistManagerFromActor } from "./customWatchlistManager-BuHtUb0y.esm.js";
|
|
16
|
+
import { n as createDocumentCaptureManagerFromActor } from "./documentCaptureManager-DLPqruXJ.esm.js";
|
|
17
|
+
import { n as createDynamicFormsManagerFromActor } from "./dynamicFormsManager-DfqCEPg9.esm.js";
|
|
18
|
+
import { n as createEkybManagerFromActor } from "./ekybManager-CR8YSYux.esm.js";
|
|
19
|
+
import { n as createEkycManagerFromActor } from "./ekycManager-DymCvmVB.esm.js";
|
|
20
|
+
import { n as createEmailManagerFromActor } from "./emailManager-CGoE3CUe.esm.js";
|
|
21
|
+
import { n as createSelfieManagerFromActor } from "./selfieManager-hopelYEk.esm.js";
|
|
22
|
+
import { s as createIdCaptureManagerFromActor } from "./idCaptureManager-B3oR4RnA.esm.js";
|
|
23
|
+
import { n as createPhoneManagerFromActor } from "./phoneManager-Dy5tODCU.esm.js";
|
|
24
|
+
import { n as createWatchlistManagerFromActor } from "./watchlistManager-CdpXzT4B.esm.js";
|
|
25
|
+
import { n as createWatchlistForBusinessManagerFromActor } from "./watchlistForBusinessManager-DqUpAEj_.esm.js";
|
|
26
|
+
import { n as createIdentityReuseManagerFromActor } from "./identityReuseManager-CcpovlfD.esm.js";
|
|
27
|
+
import { n as createFieldComparisonManagerFromActor } from "./fieldComparisonManager-DgDbEeFZ.esm.js";
|
|
28
|
+
import { n as createMandatoryConsentManagerFromActor } from "./mandatoryConsentManager-B4vCYslr.esm.js";
|
|
29
|
+
import { n as createIdOcrManagerFromActor } from "./idOcrManager-xyEZNOBa.esm.js";
|
|
30
|
+
import { n as createRedirectToMobileManagerFromActor } from "./redirectToMobileManager-CgGaT2NP.esm.js";
|
|
31
|
+
import { n as createSignatureManagerFromActor } from "./signatureManager-CwqjcxPg.esm.js";
|
|
32
|
+
import { n as createGeolocationManagerFromActor } from "./geolocationManager-BJJ3m_I8.esm.js";
|
|
33
|
+
import { n as createGovernmentValidationManagerFromActor } from "./governmentValidationManager-CjChjZ3C.esm.js";
|
|
34
|
+
import { n as createIdVerificationManagerFromActor } from "./idVerificationManager-DdnvYfgN.esm.js";
|
|
35
|
+
import { n as createFaceMatchManagerFromActor } from "./faceMatchManager-D2xKPjjQ.esm.js";
|
|
36
|
+
import { n as createFiscalQrManagerFromActor } from "./fiscalQrManager-BZeklojR.esm.js";
|
|
37
|
+
import { n as createKybChecksManagerFromActor } from "./kybChecksManager-DpGOp4Su.esm.js";
|
|
38
|
+
export { BrowserStorageProvider, WasmUtilProvider, createActor, createAntifraudManagerFromActor, createAuthenticationManagerFromActor, createCertificateIssuanceManagerFromActor, createConsentManagerFromActor, createCrossDocumentDataMatchManagerFromActor, createCurpValidationManagerFromActor, createCustomFieldsManagerFromActor, createCustomWatchlistManagerFromActor, createDocumentCaptureManagerFromActor, createDynamicFormsManagerFromActor, createEkybManagerFromActor, createEkycManagerFromActor, createElectronicSignatureManagerFromActor, createEmailManagerFromActor, createFaceMatchManagerFromActor, createFieldComparisonManagerFromActor, createFiscalQrManagerFromActor, createGeolocationManagerFromActor, createGovernmentValidationManagerFromActor, createIdCaptureManagerFromActor, createIdOcrManagerFromActor, createIdVerificationManagerFromActor, createIdentityReuseManagerFromActor, createKybChecksManagerFromActor, createMandatoryConsentManagerFromActor, createPhoneManagerFromActor, createRedirectToMobileManagerFromActor, createSelfieManagerFromActor, createSignatureManagerFromActor, createWatchlistForBusinessManagerFromActor, createWatchlistManagerFromActor, faceCaptureMachine, fromCallback, fromPromise, getDeviceFingerprintInfo, getFingerprint };
|
package/dist/face-match.esm.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { n as ID_FACE_EXTRACTION_SKIPPED_CODE, r as isFaceExtractionSkippedError, t as faceMatchMachine } from "./faceMatchStateMachine-
|
|
2
|
-
import { n as createFaceMatchManagerFromActor, t as createFaceMatchManager } from "./faceMatchManager-
|
|
1
|
+
import { n as ID_FACE_EXTRACTION_SKIPPED_CODE, r as isFaceExtractionSkippedError, t as faceMatchMachine } from "./faceMatchStateMachine-CUvwiQi9.esm.js";
|
|
2
|
+
import { n as createFaceMatchManagerFromActor, t as createFaceMatchManager } from "./faceMatchManager-D2xKPjjQ.esm.js";
|
|
3
3
|
export { ID_FACE_EXTRACTION_SKIPPED_CODE, createFaceMatchManager, createFaceMatchManagerFromActor, faceMatchMachine, isFaceExtractionSkippedError };
|
package/dist/{faceCaptureManagerFactory-C-xKdj-d.d.ts → faceCaptureManagerFactory-DV2ULUYS.d.ts}
RENAMED
|
@@ -4,11 +4,11 @@ import "./Actor-DpTj5PFb.js";
|
|
|
4
4
|
import { t as IVisibilityObserverCapability } from "./IVisibilityObserverCapability-D4tvIB5v.js";
|
|
5
5
|
import "./index-DpTj5PFb.js";
|
|
6
6
|
import { c as FaceAttributesThresholds, d as FaceDetectionCallbacks, f as FaceDetectionConfig, h as IFaceDetectionCapability, l as FaceChecksConfig, m as FacePositionConstraints, p as FaceDetectionThresholds, s as FaceFeed, t as AvatarId, u as FaceCoordinates, v as WebApiHostRequestConfig, y as IncodeCanvas } from "./createFaceAvatar-lYX0VTYs.js";
|
|
7
|
-
import { i as FlowModuleConfig } from "./types-
|
|
7
|
+
import { i as FlowModuleConfig } from "./types-CRaFu6wS.js";
|
|
8
8
|
import "./IWasmUtilCapability-Cqiaxydi.js";
|
|
9
9
|
import { n as PermissionStatus, t as PermissionResult } from "./types-BEwVKkLJ.js";
|
|
10
|
-
import { a as FaceCapturedImageData, i as FaceCaptureOnlyResponse, n as DetectionStatus, o as FaceErrorCode, r as FaceCaptureDependencies, t as BaseFaceCaptureConfig } from "./types
|
|
11
|
-
import { t as AuthenticationConfig } from "./types-
|
|
10
|
+
import { a as FaceCapturedImageData, i as FaceCaptureOnlyResponse, n as DetectionStatus, o as FaceErrorCode, r as FaceCaptureDependencies, t as BaseFaceCaptureConfig } from "./types-BEVHQbbC.js";
|
|
11
|
+
import { t as AuthenticationConfig } from "./types-J6g6iKe_.js";
|
|
12
12
|
import { t as BaseWasmProvider } from "./BaseWasmProvider-Bq3OHo7P.js";
|
|
13
13
|
import { n as DeepsightService, t as StreamCanvasCapture } from "./StreamCanvasCapture-C3xNfOsv.js";
|
|
14
14
|
import { t as CameraStream } from "./camera-9wWD-pwg.js";
|
package/dist/{faceCaptureManagerFactory-CBm05KnT.esm.js → faceCaptureManagerFactory-Dp90bedH.esm.js}
RENAMED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { n as eventModuleNames, o as createManagerInstrumentation, r as eventScreenNames } from "./events-
|
|
1
|
+
import { n as eventModuleNames, o as createManagerInstrumentation, r as eventScreenNames } from "./events-ggpBBaZ8.esm.js";
|
|
2
2
|
import { t as topLevelStateName } from "./topLevelStateName-B5i2avbh.esm.js";
|
|
3
3
|
import { u as createManager } from "./xstate.esm-DSajW7CJ.esm.js";
|
|
4
4
|
import { t as splitTrackedName } from "./splitTrackedName-3zJRd2RD.esm.js";
|
|
5
|
-
import { r as concealmentToAvatar } from "./faceCaptureSetup-
|
|
6
|
-
import { t as setWasmDsFlagSync } from "./wasmDsFlagSync-
|
|
5
|
+
import { r as concealmentToAvatar } from "./faceCaptureSetup-ZfiWg0fo.esm.js";
|
|
6
|
+
import { t as setWasmDsFlagSync } from "./wasmDsFlagSync-BtiR5pig.esm.js";
|
|
7
7
|
import { t as BrowserVisibilityObserverProvider } from "./BrowserVisibilityObserverProvider-BrJN1B8A.esm.js";
|
|
8
|
-
import { r as primeMotionFromUserGestureIfNeeded } from "./permissionServices-
|
|
8
|
+
import { r as primeMotionFromUserGestureIfNeeded } from "./permissionServices-D190ATGD.esm.js";
|
|
9
9
|
//#region src/internal/faceCapture/faceCaptureManagerFactory.ts
|
|
10
10
|
function getPermissionStatus(snapshot) {
|
|
11
11
|
if (!snapshot.matches("permissions")) return;
|
|
@@ -1,21 +1,19 @@
|
|
|
1
1
|
import { n as getTimestamp } from "./IBrowserEnvironmentCapability-D7JG7ML3.esm.js";
|
|
2
|
-
import { r as getToken
|
|
3
|
-
import { l as trueSightHintTransition, r as noteTrueSightCaptureActivity, u as trueSightLog, y as isTrueSightTesting } from "./trueSightService-
|
|
4
|
-
import "./sessionInitializer-
|
|
5
|
-
import { t as addDeviceStats } from "./stats-
|
|
2
|
+
import { r as getToken } from "./api-CpP4PS4S.esm.js";
|
|
3
|
+
import { l as trueSightHintTransition, r as noteTrueSightCaptureActivity, u as trueSightLog, y as isTrueSightTesting } from "./trueSightService-GuLthUVK.esm.js";
|
|
4
|
+
import "./sessionInitializer-DsL7X2j9.esm.js";
|
|
5
|
+
import { t as addDeviceStats } from "./stats-CatA2dea.esm.js";
|
|
6
6
|
import { c as isIPhone14OrHigher } from "./platform-aPh7gTWh.esm.js";
|
|
7
|
-
import { t as BrowserLazyImportProvider } from "./BrowserLazyImportProvider-BhoA957O.esm.js";
|
|
8
7
|
import { i as assign, n as enqueueActions, r as sendTo, t as setup } from "./xstate.esm-DSajW7CJ.esm.js";
|
|
9
8
|
import { n as fromPromise, t as fromCallback } from "./xstate-actors.esm-8Gzepa_A.esm.js";
|
|
10
9
|
import { s as isCameraDenialErrorName } from "./camera-E_Kcre4O.esm.js";
|
|
11
|
-
import { n as invokeRequestPermissionActor, t as checkPermission } from "./permissionServices-
|
|
12
|
-
import { a as sendLabelInspectionEvent, i as probeFaceCamera, l as getFaceUploadErrorCode, r as initializeDeepsightSession, t as FaceDetectionProvider, u as FACE_ERROR_CODES } from "./FaceDetectionProvider-
|
|
13
|
-
import { a as flagFaceManualReview, i as cameraCycleProvider, n as createCameraCycleOwnership, r as runProtectedAttempt, s as PROTECTED_CAPTURE_TARGET, t as electDesktopCameraDevice } from "./desktopCameraElection-
|
|
10
|
+
import { n as invokeRequestPermissionActor, t as checkPermission } from "./permissionServices-D190ATGD.esm.js";
|
|
11
|
+
import { a as sendLabelInspectionEvent, i as probeFaceCamera, l as getFaceUploadErrorCode, r as initializeDeepsightSession, t as FaceDetectionProvider, u as FACE_ERROR_CODES } from "./FaceDetectionProvider-CAY43vSI.esm.js";
|
|
12
|
+
import { a as flagFaceManualReview, i as cameraCycleProvider, n as createCameraCycleOwnership, r as runProtectedAttempt, s as PROTECTED_CAPTURE_TARGET, t as electDesktopCameraDevice } from "./desktopCameraElection-BGMtYwk3.esm.js";
|
|
14
13
|
import { n as releaseFaceAvatarWarmup, r as warmFaceAvatar, t as createFaceAvatar } from "./createFaceAvatar-BNHdeFj8.esm.js";
|
|
15
14
|
import { t as IncodeCanvas } from "./canvas-BxFzWTt-.esm.js";
|
|
16
|
-
import { n as needsMotionPrimeOnlyFromPermission, r as resolveStoredPermissionResult, t as isReadyForCaptureFromPermission } from "./permissionGuards-
|
|
17
|
-
import { t as carryAttempts } from "./attemptCarry-
|
|
18
|
-
import { a as getAdaptiveMediaRecorderOptions, i as createRecordingCompositor, n as WorkerEncoderRecordingProvider, t as MultipartRecordingService } from "./multipartRecordingService-DMBxHKS2.esm.js";
|
|
15
|
+
import { n as needsMotionPrimeOnlyFromPermission, r as resolveStoredPermissionResult, t as isReadyForCaptureFromPermission } from "./permissionGuards-DFV-Ws0a.esm.js";
|
|
16
|
+
import { t as carryAttempts } from "./attemptCarry-WOkfvFMw.esm.js";
|
|
19
17
|
import { t as getDeviceClass } from "./getDeviceClass-DoIWuKI8.esm.js";
|
|
20
18
|
//#region src/internal/avatar/concealment.ts
|
|
21
19
|
/**
|
|
@@ -72,396 +70,6 @@ function logFaceCameraDiagnostic(event, fields) {
|
|
|
72
70
|
console.debug(`${FACE_CAMERA_DIAGNOSTIC_PREFIX} ${event} ${JSON.stringify(fields)}`);
|
|
73
71
|
}
|
|
74
72
|
//#endregion
|
|
75
|
-
//#region ../infra/src/media/VideoTrimmer.ts
|
|
76
|
-
/** A trim that runs longer than this uploads the full recording instead. */
|
|
77
|
-
const TRIM_TIMEOUT_MS = 1e4;
|
|
78
|
-
const trimmer = BrowserLazyImportProvider.getInstance().create(() => import("./videoTrimByCopy-BFfAiNpv.esm.js").then((module) => module.trimLastNSecondsByCopy), {
|
|
79
|
-
label: "Video liveness",
|
|
80
|
-
moduleName: "mediabunny",
|
|
81
|
-
timeoutMs: 1e4,
|
|
82
|
-
disabledMessage: "the full recording will be uploaded untrimmed."
|
|
83
|
-
});
|
|
84
|
-
/** Starts loading the trimmer, e.g. when a recording that will be trimmed starts. */
|
|
85
|
-
function preloadVideoTrimmer() {
|
|
86
|
-
trimmer.load();
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Keeps about the last `seconds` of a recording. Never rejects and never
|
|
90
|
-
* hangs: when the trimmer cannot load, fails, or takes longer than
|
|
91
|
-
* {@link TRIM_TIMEOUT_MS}, it resolves the untrimmed recording.
|
|
92
|
-
*/
|
|
93
|
-
async function trimLastNSeconds(videoBlob, seconds) {
|
|
94
|
-
const trim = await trimmer.load();
|
|
95
|
-
if (!trim) return videoBlob;
|
|
96
|
-
let timeout;
|
|
97
|
-
try {
|
|
98
|
-
return await Promise.race([trim(videoBlob, seconds), new Promise((resolve) => {
|
|
99
|
-
timeout = setTimeout(() => {
|
|
100
|
-
console.warn("[Video liveness] Trimming timed out; the full recording will be uploaded untrimmed.");
|
|
101
|
-
resolve(videoBlob);
|
|
102
|
-
}, TRIM_TIMEOUT_MS);
|
|
103
|
-
})]);
|
|
104
|
-
} catch (error) {
|
|
105
|
-
console.warn("[Video liveness] Trimming failed; the full recording will be uploaded untrimmed.", error);
|
|
106
|
-
return videoBlob;
|
|
107
|
-
} finally {
|
|
108
|
-
clearTimeout(timeout);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
//#endregion
|
|
112
|
-
//#region ../infra/src/providers/browser/LocalRecordingProvider.ts
|
|
113
|
-
function toBase64(videoBlob) {
|
|
114
|
-
return new Promise((resolve, reject) => {
|
|
115
|
-
const reader = new FileReader();
|
|
116
|
-
reader.onloadend = () => {
|
|
117
|
-
const base64 = reader.result.split(",")[1];
|
|
118
|
-
resolve(base64);
|
|
119
|
-
};
|
|
120
|
-
reader.onerror = () => reject(reader.error ?? /* @__PURE__ */ new Error("FileReader error"));
|
|
121
|
-
reader.readAsDataURL(videoBlob);
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
/** `MediaRecorderOptions.videoKeyFrameIntervalDuration`, see `startRecording`. */
|
|
125
|
-
const KEYFRAME_INTERVAL_MS = 1e3;
|
|
126
|
-
var LocalRecordingProvider = class {
|
|
127
|
-
constructor() {
|
|
128
|
-
this.mediaRecorder = null;
|
|
129
|
-
this._isRecording = false;
|
|
130
|
-
this._hasError = false;
|
|
131
|
-
this._error = null;
|
|
132
|
-
this.mimeType = "";
|
|
133
|
-
this.stream = null;
|
|
134
|
-
this.pauseRecordingBound = this.pauseRecording.bind(this);
|
|
135
|
-
}
|
|
136
|
-
get isRecording() {
|
|
137
|
-
return this._isRecording;
|
|
138
|
-
}
|
|
139
|
-
get hasError() {
|
|
140
|
-
return this._hasError;
|
|
141
|
-
}
|
|
142
|
-
get error() {
|
|
143
|
-
return this._error;
|
|
144
|
-
}
|
|
145
|
-
startRecording(stream) {
|
|
146
|
-
this.reset();
|
|
147
|
-
preloadVideoTrimmer();
|
|
148
|
-
this.registerEventListeners();
|
|
149
|
-
this.stream = stream;
|
|
150
|
-
try {
|
|
151
|
-
const options = getAdaptiveMediaRecorderOptions();
|
|
152
|
-
this.mimeType = options.mimeType;
|
|
153
|
-
const recorder = new MediaRecorder(stream.clone(), {
|
|
154
|
-
...options,
|
|
155
|
-
videoKeyFrameIntervalDuration: KEYFRAME_INTERVAL_MS
|
|
156
|
-
});
|
|
157
|
-
recorder.onerror = (event) => {
|
|
158
|
-
this._error = `Recording error: ${event}`;
|
|
159
|
-
this._isRecording = false;
|
|
160
|
-
this._hasError = true;
|
|
161
|
-
};
|
|
162
|
-
recorder.start();
|
|
163
|
-
this.mediaRecorder = recorder;
|
|
164
|
-
this._isRecording = true;
|
|
165
|
-
this._error = null;
|
|
166
|
-
this._hasError = false;
|
|
167
|
-
} catch (err) {
|
|
168
|
-
this._error = `Failed to start recording: ${err}`;
|
|
169
|
-
this._hasError = true;
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
async stopRecording(trimSeconds, encrypt, generateChecksum) {
|
|
173
|
-
const recorder = this.mediaRecorder;
|
|
174
|
-
return new Promise((resolve, reject) => {
|
|
175
|
-
this.removeEventListeners();
|
|
176
|
-
if (recorder && this._isRecording) {
|
|
177
|
-
const chunks = [];
|
|
178
|
-
recorder.ondataavailable = (event) => {
|
|
179
|
-
if (event.data.size > 0) chunks.push(event.data);
|
|
180
|
-
};
|
|
181
|
-
recorder.onstop = async () => {
|
|
182
|
-
try {
|
|
183
|
-
const trimmedVideo = await trimLastNSeconds(new Blob(chunks, { type: this.mimeType }), trimSeconds);
|
|
184
|
-
const encryptedVideoBase64 = encrypt(await toBase64(trimmedVideo));
|
|
185
|
-
generateChecksum(await trimmedVideo.arrayBuffer());
|
|
186
|
-
this._isRecording = false;
|
|
187
|
-
resolve({
|
|
188
|
-
trimmedBlob: trimmedVideo,
|
|
189
|
-
encryptedVideo: encryptedVideoBase64
|
|
190
|
-
});
|
|
191
|
-
} catch (error) {
|
|
192
|
-
this._isRecording = false;
|
|
193
|
-
this._error = `Recording stop failed: ${error}`;
|
|
194
|
-
this._hasError = true;
|
|
195
|
-
reject(error);
|
|
196
|
-
}
|
|
197
|
-
};
|
|
198
|
-
recorder.stop();
|
|
199
|
-
this._isRecording = false;
|
|
200
|
-
} else resolve({
|
|
201
|
-
trimmedBlob: new Blob([], { type: this.mimeType }),
|
|
202
|
-
encryptedVideo: ""
|
|
203
|
-
});
|
|
204
|
-
recorder?.stream?.getTracks().forEach((track) => track.stop());
|
|
205
|
-
});
|
|
206
|
-
}
|
|
207
|
-
/**
|
|
208
|
-
* Discards the in-progress recording without producing a result: detaches
|
|
209
|
-
* the recorder's handlers, stops it, releases its cloned tracks and clears
|
|
210
|
-
* the flags. Idempotent, and safe after `stopRecording` or when never
|
|
211
|
-
* started. Mirrors `MultipartRecordingProvider.reset()` so an attempt that is
|
|
212
|
-
* released before finalization cannot leave a live camera clone behind
|
|
213
|
-
* (ENG-56648).
|
|
214
|
-
*/
|
|
215
|
-
reset() {
|
|
216
|
-
this.removeEventListeners();
|
|
217
|
-
const recorder = this.mediaRecorder;
|
|
218
|
-
if (recorder) {
|
|
219
|
-
recorder.ondataavailable = null;
|
|
220
|
-
recorder.onerror = null;
|
|
221
|
-
recorder.onstop = null;
|
|
222
|
-
if (recorder.state !== "inactive") try {
|
|
223
|
-
recorder.stop();
|
|
224
|
-
} catch {}
|
|
225
|
-
recorder.stream?.getTracks().forEach((track) => track.stop());
|
|
226
|
-
this.mediaRecorder = null;
|
|
227
|
-
}
|
|
228
|
-
this.stream = null;
|
|
229
|
-
this._isRecording = false;
|
|
230
|
-
this._error = null;
|
|
231
|
-
this._hasError = false;
|
|
232
|
-
}
|
|
233
|
-
pauseRecording() {
|
|
234
|
-
if (!this._isRecording) return;
|
|
235
|
-
if (this.mediaRecorder?.state === "recording") try {
|
|
236
|
-
this.mediaRecorder.pause();
|
|
237
|
-
} catch {}
|
|
238
|
-
}
|
|
239
|
-
registerEventListeners() {
|
|
240
|
-
document.addEventListener("visibilitychange", this.pauseRecordingBound);
|
|
241
|
-
}
|
|
242
|
-
removeEventListeners() {
|
|
243
|
-
document.removeEventListener("visibilitychange", this.pauseRecordingBound);
|
|
244
|
-
}
|
|
245
|
-
};
|
|
246
|
-
//#endregion
|
|
247
|
-
//#region src/internal/recordings/recordingsRepository.ts
|
|
248
|
-
async function uploadDeepsightVideo(encryptedVideo, token) {
|
|
249
|
-
try {
|
|
250
|
-
return (await api.post(endpoints.deepsightVideoImport, {
|
|
251
|
-
video: encryptedVideo,
|
|
252
|
-
type: "selfie"
|
|
253
|
-
}, { headers: { "X-Incode-Hardware-Id": token } })).data.recordingId ?? "";
|
|
254
|
-
} catch {
|
|
255
|
-
return "";
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
//#endregion
|
|
259
|
-
//#region src/internal/faceCapture/recordingService.ts
|
|
260
|
-
/**
|
|
261
|
-
* Records on-device and uploads encrypted video for liveness.
|
|
262
|
-
*/
|
|
263
|
-
var LocalRecordingService = class {
|
|
264
|
-
constructor(wasmUtil, sessionToken) {
|
|
265
|
-
this.recorder = new LocalRecordingProvider();
|
|
266
|
-
this.sessionToken = sessionToken;
|
|
267
|
-
this.wasmUtil = wasmUtil;
|
|
268
|
-
}
|
|
269
|
-
async start(stream) {
|
|
270
|
-
this.recorder.startRecording(stream);
|
|
271
|
-
this.wasmUtil.osv();
|
|
272
|
-
}
|
|
273
|
-
async stop() {
|
|
274
|
-
if (!this.recorder.isRecording) return { recordingId: null };
|
|
275
|
-
this.wasmUtil.oev();
|
|
276
|
-
const result = await this.recorder.stopRecording(10, (base64) => this.wasmUtil.encryptImage(base64), (buffer) => this.wasmUtil.ckvcks(buffer));
|
|
277
|
-
if (!this.sessionToken) return { recordingId: null };
|
|
278
|
-
return { recordingId: await uploadDeepsightVideo(result.encryptedVideo, this.sessionToken) };
|
|
279
|
-
}
|
|
280
|
-
prepareUpload() {
|
|
281
|
-
return this.stop();
|
|
282
|
-
}
|
|
283
|
-
async stopAndGetVideo() {
|
|
284
|
-
if (!this.recorder.isRecording) return { videoBase64: void 0 };
|
|
285
|
-
try {
|
|
286
|
-
this.wasmUtil.oev();
|
|
287
|
-
const videoBase64 = (await this.recorder.stopRecording(10, (base64) => base64, () => {})).encryptedVideo;
|
|
288
|
-
return { videoBase64: videoBase64 ? videoBase64 : void 0 };
|
|
289
|
-
} catch {
|
|
290
|
-
return { videoBase64: void 0 };
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
cleanup() {
|
|
294
|
-
this.recorder.reset();
|
|
295
|
-
}
|
|
296
|
-
};
|
|
297
|
-
/**
|
|
298
|
-
* Records a regular Selfie capture locally and streams it through the scoped
|
|
299
|
-
* video-selfie-service multipart protocol. The recording is associated with
|
|
300
|
-
* the interview asynchronously by the backend's `selfie` scope consumer, so
|
|
301
|
-
* its upload id must not be forwarded to `/omni/add/face` as a legacy
|
|
302
|
-
* `recordingId`.
|
|
303
|
-
*
|
|
304
|
-
* The recording is scoped to the capture step (ENG-56648). The recorder
|
|
305
|
-
* records a stable `CameraCompositor` stream instead of a raw camera clone, so
|
|
306
|
-
* every attempt can end its own clone before PRC and POC run and the next
|
|
307
|
-
* attempt swaps a fresh clone into the same multipart upload. The owning
|
|
308
|
-
* controller completes the upload once the backend accepts a capture or the
|
|
309
|
-
* step ends without a retry.
|
|
310
|
-
*/
|
|
311
|
-
var MultipartFaceRecordingService = class {
|
|
312
|
-
constructor() {
|
|
313
|
-
this.recordingCompositor = createRecordingCompositor();
|
|
314
|
-
this.service = new MultipartRecordingService("selfie", new WorkerEncoderRecordingProvider(this.recordingCompositor));
|
|
315
|
-
this.audioSource = [];
|
|
316
|
-
this.needsVideoSourceReplacement = false;
|
|
317
|
-
this.pausedForAttempt = false;
|
|
318
|
-
this.startInFlight = false;
|
|
319
|
-
this.suspendRequested = false;
|
|
320
|
-
this.stopping = false;
|
|
321
|
-
}
|
|
322
|
-
async start(stream) {
|
|
323
|
-
if (this.stopping) throw new Error("Face recording already completed");
|
|
324
|
-
if (this.compositor) {
|
|
325
|
-
await this.resume(stream);
|
|
326
|
-
return;
|
|
327
|
-
}
|
|
328
|
-
const recordingSource = stream.clone();
|
|
329
|
-
const compositor = this.recordingCompositor;
|
|
330
|
-
this.startInFlight = true;
|
|
331
|
-
try {
|
|
332
|
-
const composite = compositor.start(recordingSource);
|
|
333
|
-
await this.service.start(composite);
|
|
334
|
-
} catch (error) {
|
|
335
|
-
compositor.stop();
|
|
336
|
-
recordingSource.getTracks().forEach((track) => track.stop());
|
|
337
|
-
this.service.cleanup();
|
|
338
|
-
throw error;
|
|
339
|
-
} finally {
|
|
340
|
-
this.startInFlight = false;
|
|
341
|
-
}
|
|
342
|
-
if (this.stopping) {
|
|
343
|
-
compositor.stop();
|
|
344
|
-
recordingSource.getTracks().forEach((track) => track.stop());
|
|
345
|
-
this.service.cleanup();
|
|
346
|
-
return;
|
|
347
|
-
}
|
|
348
|
-
this.compositor = compositor;
|
|
349
|
-
this.recordingSource = recordingSource;
|
|
350
|
-
this.audioSource = recordingSource.getAudioTracks();
|
|
351
|
-
if (this.suspendRequested) {
|
|
352
|
-
this.suspendRequested = false;
|
|
353
|
-
this.suspend();
|
|
354
|
-
}
|
|
355
|
-
}
|
|
356
|
-
/**
|
|
357
|
-
* Pauses the container and ends the camera clone on the calling thread. The
|
|
358
|
-
* composite stream and the upload stay open for the next attempt.
|
|
359
|
-
*/
|
|
360
|
-
suspend() {
|
|
361
|
-
if (this.stopping) return;
|
|
362
|
-
if (!this.compositor) {
|
|
363
|
-
this.suspendRequested = this.startInFlight;
|
|
364
|
-
return;
|
|
365
|
-
}
|
|
366
|
-
if (!this.pausedForAttempt) this.pausedForAttempt = this.service.pause();
|
|
367
|
-
this.releaseCameraClone({ keepAudio: true });
|
|
368
|
-
this.needsVideoSourceReplacement = true;
|
|
369
|
-
}
|
|
370
|
-
async prepareUpload() {
|
|
371
|
-
this.suspend();
|
|
372
|
-
return { recordingId: null };
|
|
373
|
-
}
|
|
374
|
-
async stop() {
|
|
375
|
-
await this.complete();
|
|
376
|
-
return { recordingId: null };
|
|
377
|
-
}
|
|
378
|
-
pauseForBackground() {
|
|
379
|
-
this.suspend();
|
|
380
|
-
}
|
|
381
|
-
async resumeFromBackground(stream) {
|
|
382
|
-
if (!this.compositor || this.stopping) return;
|
|
383
|
-
await this.resume(stream);
|
|
384
|
-
}
|
|
385
|
-
async stopAndGetVideo() {
|
|
386
|
-
await this.complete();
|
|
387
|
-
return { videoBase64: void 0 };
|
|
388
|
-
}
|
|
389
|
-
cleanup() {
|
|
390
|
-
this.suspendRequested = false;
|
|
391
|
-
this.pausedForAttempt = false;
|
|
392
|
-
this.needsVideoSourceReplacement = false;
|
|
393
|
-
this.releaseCameraClone({ keepAudio: false });
|
|
394
|
-
this.compositor?.stop();
|
|
395
|
-
this.compositor = void 0;
|
|
396
|
-
this.recordingSource = void 0;
|
|
397
|
-
this.audioSource = [];
|
|
398
|
-
this.service.cleanup();
|
|
399
|
-
}
|
|
400
|
-
/** Swaps this attempt's camera clone into the composite and resumes. */
|
|
401
|
-
async resume(stream) {
|
|
402
|
-
const compositor = this.compositor;
|
|
403
|
-
if (!compositor) return;
|
|
404
|
-
if (this.needsVideoSourceReplacement) {
|
|
405
|
-
const recordingSource = stream.clone();
|
|
406
|
-
recordingSource.getAudioTracks().forEach((track) => track.stop());
|
|
407
|
-
compositor.switchVideo(recordingSource);
|
|
408
|
-
this.needsVideoSourceReplacement = false;
|
|
409
|
-
this.recordingSource = recordingSource;
|
|
410
|
-
const result = await compositor.resume();
|
|
411
|
-
if (result !== "resumed") throw new Error(`Face recording camera did not resume: ${result}`);
|
|
412
|
-
}
|
|
413
|
-
if (this.pausedForAttempt && !this.service.resume()) throw new Error("Face recording did not resume");
|
|
414
|
-
this.pausedForAttempt = false;
|
|
415
|
-
}
|
|
416
|
-
/**
|
|
417
|
-
* Completes the scoped upload. The camera clone ends synchronously before the
|
|
418
|
-
* drain so a step that ends mid-attempt never pins the camera; the composite
|
|
419
|
-
* stays alive until the recorder has emitted its final chunk.
|
|
420
|
-
*/
|
|
421
|
-
async complete() {
|
|
422
|
-
this.stopping = true;
|
|
423
|
-
this.suspendRequested = false;
|
|
424
|
-
this.releaseCameraClone({ keepAudio: false });
|
|
425
|
-
try {
|
|
426
|
-
await this.service.stop();
|
|
427
|
-
} finally {
|
|
428
|
-
this.compositor?.stop();
|
|
429
|
-
this.compositor = void 0;
|
|
430
|
-
this.recordingSource = void 0;
|
|
431
|
-
this.audioSource = [];
|
|
432
|
-
this.pausedForAttempt = false;
|
|
433
|
-
this.needsVideoSourceReplacement = false;
|
|
434
|
-
}
|
|
435
|
-
}
|
|
436
|
-
releaseCameraClone(options) {
|
|
437
|
-
try {
|
|
438
|
-
this.compositor?.pause();
|
|
439
|
-
} catch {}
|
|
440
|
-
const tracks = options.keepAudio ? this.recordingSource?.getVideoTracks() ?? [] : /* @__PURE__ */ new Set([...this.recordingSource?.getTracks() ?? [], ...this.audioSource]);
|
|
441
|
-
for (const track of tracks) try {
|
|
442
|
-
track.stop();
|
|
443
|
-
} catch {}
|
|
444
|
-
}
|
|
445
|
-
};
|
|
446
|
-
/**
|
|
447
|
-
* Creates the recording service for the current configuration.
|
|
448
|
-
*
|
|
449
|
-
* Order of precedence:
|
|
450
|
-
* 1. `onDeviceFaceResultsSubmissionEnabled === true` → no recording. The
|
|
451
|
-
* on-device workflow never uploads media, only the staged face-results
|
|
452
|
-
* JSON via `WebApi.postFaceResults`. Mirrors V1's
|
|
453
|
-
* `FaceFlowManager.setRecorders()` early return.
|
|
454
|
-
* 2. `deepsightLiveness === 'VIDEOLIVENESS'` → local Deepsight recorder.
|
|
455
|
-
* 3. `enableFaceRecording === true` → scoped multipart recorder.
|
|
456
|
-
* 4. otherwise → no recording.
|
|
457
|
-
*/
|
|
458
|
-
function createRecordingService(params) {
|
|
459
|
-
if (params.config.onDeviceFaceResultsSubmissionEnabled === true) return;
|
|
460
|
-
if (params.localDelivery === true) return params.config.enableFaceRecording === true || params.config.deepsightLiveness === "VIDEOLIVENESS" ? new LocalRecordingService(params.wasmUtil, null) : void 0;
|
|
461
|
-
if (params.config.deepsightLiveness === "VIDEOLIVENESS") return new LocalRecordingService(params.wasmUtil, params.sessionToken);
|
|
462
|
-
if (params.config.enableFaceRecording === true) return new MultipartFaceRecordingService();
|
|
463
|
-
}
|
|
464
|
-
//#endregion
|
|
465
73
|
//#region src/internal/faceCapture/protectedFaceAttempt.ts
|
|
466
74
|
const ON_DEVICE_MANUAL_CAPTURE_TIMEOUT_MS = 2147483647;
|
|
467
75
|
/**
|
|
@@ -573,7 +181,7 @@ var ProtectedFaceAttemptRuntime = class ProtectedFaceAttemptRuntime {
|
|
|
573
181
|
/** Per-attempt fallback when no step owner supplies the recording service. */
|
|
574
182
|
async createAttemptRecordingService() {
|
|
575
183
|
const wasmUtil = await this.options.dependencies.getWasmUtil();
|
|
576
|
-
return createRecordingService({
|
|
184
|
+
return (await import("./recordingService-CTko6Cjn.esm.js")).createRecordingService({
|
|
577
185
|
config: this.options.config,
|
|
578
186
|
wasmUtil,
|
|
579
187
|
sessionToken: getToken(),
|
|
@@ -871,8 +479,9 @@ function createProtectedFaceControllerActor(options) {
|
|
|
871
479
|
const input = getControllerInput();
|
|
872
480
|
const pending = (async () => {
|
|
873
481
|
const wasmUtil = await input.dependencies.getWasmUtil();
|
|
482
|
+
const recordingModule = await import("./recordingService-CTko6Cjn.esm.js");
|
|
874
483
|
if (!active) return;
|
|
875
|
-
stepRecording ??= createRecordingService({
|
|
484
|
+
stepRecording ??= recordingModule.createRecordingService({
|
|
876
485
|
config: input.config,
|
|
877
486
|
wasmUtil,
|
|
878
487
|
sessionToken: getToken(),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { n as eventModuleNames, o as createManagerInstrumentation } from "./events-
|
|
1
|
+
import { n as eventModuleNames, o as createManagerInstrumentation } from "./events-ggpBBaZ8.esm.js";
|
|
2
2
|
import { s as createActor, u as createManager } from "./xstate.esm-DSajW7CJ.esm.js";
|
|
3
|
-
import { t as faceMatchMachine } from "./faceMatchStateMachine-
|
|
3
|
+
import { t as faceMatchMachine } from "./faceMatchStateMachine-CUvwiQi9.esm.js";
|
|
4
4
|
//#region src/modules/face-match/faceMatchActor.ts
|
|
5
5
|
function createFaceMatchActor(options) {
|
|
6
6
|
return createActor(faceMatchMachine, { input: { config: options.config } }).start();
|
package/dist/{faceMatchStateMachine-ByTMQCUC.esm.js → faceMatchStateMachine-CUvwiQi9.esm.js}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { t as api, u as endpoints } from "./api-
|
|
1
|
+
import { t as api, u as endpoints } from "./api-CpP4PS4S.esm.js";
|
|
2
2
|
import { i as assign, t as setup } from "./xstate.esm-DSajW7CJ.esm.js";
|
|
3
3
|
import { n as fromPromise } from "./xstate-actors.esm-8Gzepa_A.esm.js";
|
|
4
|
-
import { t as getProcessFaceMatch } from "./processFaceMatch-
|
|
4
|
+
import { t as getProcessFaceMatch } from "./processFaceMatch-Bst83HaS.esm.js";
|
|
5
5
|
//#region src/modules/face-match/constants.ts
|
|
6
6
|
/**
|
|
7
7
|
* Backend error code returned by face-match endpoints (e.g. `/omni/process/face`,
|