@incodetech/core 2.4.0 → 2.4.1-agentic
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/{FaceDetectionProvider-DcPOC2gS.esm.js → FaceDetectionProvider-B83VmClw.esm.js} +29 -64
- package/dist/IBrowserEnvironmentCapability-D7JG7ML3.esm.js +16 -0
- package/dist/IGeolocationCapability-r49Qo7rR.d.ts +10 -0
- package/dist/{IWasmUtilCapability-GF2n7sfm.d.ts → IWasmUtilCapability-Cqiaxydi.d.ts} +31 -4
- package/dist/{PhoneValidationProvider-SZiOS0jB.esm.js → PhoneValidationProvider-Co4zk2en.esm.js} +7 -0
- package/dist/{StreamCanvasCapture-7JRf-2ck.d.ts → StreamCanvasCapture-C3xNfOsv.d.ts} +12 -3
- package/dist/{WasmUtilProvider-DtJuBdt-.esm.js → WasmUtilProvider-GTkoJyFY.esm.js} +75 -22
- package/dist/{addressSearch-DPjIKJrX.esm.js → addressSearch-41sMcnJk.esm.js} +72 -31
- package/dist/{advanceableErrors-q_pfU3Cn.esm.js → advanceableErrors-k-U-cL5m.esm.js} +1 -2
- package/dist/ae-signature.esm.js +1 -1
- package/dist/antifraud.esm.js +2 -2
- package/dist/{antifraudManager-CaweCYnY.esm.js → antifraudManager-CQ08atTC.esm.js} +2 -2
- package/dist/{antifraudStateMachine-DRl0UVyA.esm.js → antifraudStateMachine-BcsUTTIr.esm.js} +1 -1
- package/dist/{api-Cz90EHyu.esm.js → api-BO8JA7Pf.esm.js} +6 -5
- package/dist/{apiError-DPwFas2f.esm.js → apiError-CfuIvnUy.esm.js} +1 -1
- package/dist/attemptCarry-BjTJ6bMQ.esm.js +45 -0
- package/dist/authentication.d.ts +3 -3
- package/dist/authentication.esm.js +2 -2
- package/dist/{authenticationManager-BIZC55Bi.d.ts → authenticationManager-C-cOki0Y.d.ts} +1 -1
- package/dist/{authenticationManager-2Lr5V_7p.esm.js → authenticationManager-DvmklBTE.esm.js} +5 -5
- package/dist/{authenticationStateMachine-C99B0GFP.esm.js → authenticationStateMachine-BL2ptOA0.esm.js} +3 -3
- package/dist/{backCameraStream-CMvXj4X4.esm.js → backCameraStream-C5_NNfUN.esm.js} +3 -43
- package/dist/{browser-DlFgHpoC-DnyrCR8r.esm.js → browser-pQZA35G2-DtkAf6sn.esm.js} +161 -150
- package/dist/{camera-sIa9ceW2.esm.js → camera-E_Kcre4O.esm.js} +15 -23
- package/dist/camera.esm.js +1 -1
- package/dist/certificate-issuance.esm.js +2 -2
- package/dist/{certificateIssuanceManager-BfeMv2PU.esm.js → certificateIssuanceManager-CM0fuqDC.esm.js} +2 -2
- package/dist/{certificateIssuanceStateMachine-Frgjbjw8.esm.js → certificateIssuanceStateMachine-kksIUOPD.esm.js} +2 -2
- package/dist/cnpj-Co1ottYN.esm.js +77 -0
- package/dist/connectivity-HSl0diCx.esm.js +133 -0
- package/dist/consent.d.ts +1 -1
- package/dist/consent.esm.js +2 -2
- package/dist/{consentManager-CvEu8h_W.esm.js → consentManager-CBwFozhv.esm.js} +4 -3
- package/dist/{consentManager-Cv_0QKLD.d.ts → consentManager-_q9yJUku.d.ts} +14 -7
- package/dist/{consentStateMachine-DJTgN_-1.esm.js → consentStateMachine-CpmRAcr2.esm.js} +20 -7
- package/dist/cross-document-data-match.esm.js +1 -1
- package/dist/{crossDocumentDataMatchManager-Cu141CE8.esm.js → crossDocumentDataMatchManager-64O8t10a.esm.js} +2 -2
- package/dist/curp-validation.d.ts +1 -1
- package/dist/curp-validation.esm.js +2 -2
- package/dist/{curpValidationManager-B-z9q5V3.esm.js → curpValidationManager-CLgJQcx0.esm.js} +3 -2
- package/dist/{curpValidationManager-C9sqoh9n.d.ts → curpValidationManager-CXpFE-Mv.d.ts} +1 -1
- package/dist/{curpValidationStateMachine-vDEFLMPw.esm.js → curpValidationStateMachine-Bx9YhVkJ.esm.js} +28 -20
- package/dist/custom-fields.esm.js +1 -1
- package/dist/custom-watchlist.esm.js +2 -2
- package/dist/{customFieldsManager-D1ex2cFM.esm.js → customFieldsManager-DWt_0YtJ.esm.js} +2 -2
- package/dist/{customWatchlistManager-CTI-SGk0.esm.js → customWatchlistManager-D8o-2Nej.esm.js} +2 -2
- package/dist/{customWatchlistStateMachine-hmRd0f2I.esm.js → customWatchlistStateMachine-Sbi6DIcK.esm.js} +1 -1
- package/dist/{deepsightLoader-DeNvGU3c.esm.js → deepsightLoader-DMxtowCm.esm.js} +6 -28
- package/dist/{deepsightService-CKTYDIXD.esm.js → deepsightService-twg3bXqY.esm.js} +20 -59
- package/dist/{createCameraCycleOwnership-Dj_LHUvN.esm.js → desktopCameraElection-kHY2IDJi.esm.js} +177 -40
- package/dist/device.esm.js +2 -2
- package/dist/document-capture.d.ts +2 -2
- package/dist/document-capture.esm.js +2 -2
- package/dist/{documentCaptureManager-DkyDtm3Y.d.ts → documentCaptureManager-6tnnDkMX.d.ts} +14 -2
- package/dist/{documentCaptureManager-DUJwpKC5.esm.js → documentCaptureManager-CMSC_Mhd.esm.js} +26 -19
- package/dist/{documentCaptureStateMachine-B8i7GnLh.esm.js → documentCaptureStateMachine-BCwD5Rto.esm.js} +43 -35
- package/dist/dynamic-forms.d.ts +2 -2
- package/dist/dynamic-forms.esm.js +2 -2
- package/dist/{dynamicFormsManager-C0dHs1ty.d.ts → dynamicFormsManager-9kwY8Bf5.d.ts} +1 -1
- package/dist/{dynamicFormsManager-DiKYjcF3.esm.js → dynamicFormsManager-DU6W1e20.esm.js} +2 -2
- package/dist/{dynamicFormsStateMachine-DEI45xYW.esm.js → dynamicFormsStateMachine-C8Z7k3vo.esm.js} +2 -2
- package/dist/ekyb.d.ts +4 -4
- package/dist/ekyb.esm.js +3 -3
- package/dist/{ekybManager-BaZ_7CEu.d.ts → ekybManager-TB6ZG5lX.d.ts} +2 -2
- package/dist/{ekybManager-8WLkNcqg.esm.js → ekybManager-TGfqyjuu.esm.js} +2 -2
- package/dist/{ekybStateMachine-BLRT45Ex.esm.js → ekybStateMachine-DBgFuEPK.esm.js} +26 -44
- package/dist/ekyc.d.ts +3 -3
- package/dist/ekyc.esm.js +3 -3
- package/dist/{ekycManager-DW-ynodd.d.ts → ekycManager-BSQteIfC.d.ts} +1 -1
- package/dist/{ekycManager-BO-Lui3t.esm.js → ekycManager-C2cgG2Pl.esm.js} +2 -2
- package/dist/ekycStateMachine-CuNF7z4O.esm.js +7505 -0
- package/dist/ekycUtils-BFncpC4F.esm.js +1401 -0
- package/dist/electronic-signature.esm.js +1 -1
- package/dist/{electronicSignatureManager-CcIMOb_Y.esm.js → electronicSignatureManager-C7pqXsRm.esm.js} +4 -4
- package/dist/email.esm.js +2 -2
- package/dist/{emailManager-ButFktRm.esm.js → emailManager-FH_CP0cT.esm.js} +2 -2
- package/dist/{emailStateMachine-BXtlC0NV.esm.js → emailStateMachine-Cx-uTaBV.esm.js} +32 -20
- package/dist/{events-Du2A4-Qr.esm.js → events-CQteqXfy.esm.js} +2 -2
- package/dist/events.esm.js +1 -1
- package/dist/extensibility.d.ts +34 -20
- package/dist/extensibility.esm.js +34 -34
- package/dist/{externalFetch-DrR9xshk.esm.js → externalFetch-CQY41QT1.esm.js} +4 -1
- package/dist/face-match.d.ts +1 -1
- package/dist/face-match.esm.js +2 -2
- package/dist/{faceCaptureManagerFactory-1hzeS_rB.d.ts → faceCaptureManagerFactory-C-xKdj-d.d.ts} +71 -66
- package/dist/{faceCaptureManagerFactory-BlGvXzXA.esm.js → faceCaptureManagerFactory-CBm05KnT.esm.js} +4 -4
- package/dist/{faceCaptureSetup-TY8RXc2N.esm.js → faceCaptureSetup-BQjCbL51.esm.js} +82 -64
- package/dist/{faceMatchManager-DWFUQjMQ.esm.js → faceMatchManager-B2zp7yP4.esm.js} +2 -2
- package/dist/{faceMatchManager-DIgG-UFS.d.ts → faceMatchManager-Z4UDLwAv.d.ts} +16 -7
- package/dist/{faceMatchStateMachine-CUCvlydD.esm.js → faceMatchStateMachine-ByTMQCUC.esm.js} +40 -27
- package/dist/{feature-management-B5rR10uS.esm.js → feature-management-DjAG5lsJ.esm.js} +1 -1
- package/dist/feature-management.esm.js +1 -1
- package/dist/field-comparison.esm.js +1 -1
- package/dist/{fieldComparisonManager-v3knTYV_.esm.js → fieldComparisonManager-CC0vKmpf.esm.js} +2 -2
- package/dist/fiscal-qr.esm.js +1 -1
- package/dist/{fiscalQrManager-Dt9fHG7h.esm.js → fiscalQrManager-Be-r4oZj.esm.js} +4 -4
- package/dist/flow-events.d.ts +1 -1
- package/dist/flow.d.ts +10 -10
- package/dist/flow.esm.js +8 -11
- package/dist/{flowCompletionService-BDI5QpfR.esm.js → flowCompletionService-ChMU2v79.esm.js} +2 -2
- package/dist/{flowServices-roD0oIQL.esm.js → flowServices-g2tVWsJl.esm.js} +8 -50
- package/dist/geolocation.d.ts +1 -1
- package/dist/geolocation.esm.js +2 -2
- package/dist/{geolocationManager-Dn24g1fl.d.ts → geolocationManager-6e1i9UIR.d.ts} +15 -17
- package/dist/{geolocationManager-DnONzWL5.esm.js → geolocationManager-DLbvZwUB.esm.js} +6 -8
- package/dist/{geolocationStateMachine-eWy_G4Os.esm.js → geolocationStateMachine-CAJVongM.esm.js} +12 -8
- package/dist/{getDeviceClass-bsWdEDxP.esm.js → getDeviceClass-DoIWuKI8.esm.js} +1 -1
- package/dist/government-validation.esm.js +2 -2
- package/dist/{governmentValidationManager-BtXWHICu.esm.js → governmentValidationManager-CkX9TEkh.esm.js} +2 -2
- package/dist/{governmentValidationStateMachine-COL-Vs48.esm.js → governmentValidationStateMachine-PTPCP26N.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.esm.js +2 -2
- package/dist/id-selfie-flow.d.ts +1 -1
- package/dist/id-selfie-flow.esm.js +9 -9
- package/dist/id-verification.esm.js +2 -2
- package/dist/id.d.ts +3 -16
- package/dist/id.esm.js +3 -3
- package/dist/{idCaptureDefaults-BGsG2OAs.esm.js → idCaptureDefaults-MSQoqScU.esm.js} +3 -3
- package/dist/{idCaptureManager-0M02hSuC.d.ts → idCaptureManager-DzTfQ1Am.d.ts} +66 -5
- package/dist/{idCaptureManager-BrfYjCm_.esm.js → idCaptureManager-zZdTcpG1.esm.js} +63 -17
- package/dist/{idCaptureServices-BSj6EH2l.esm.js → idCaptureServices-8OHinO0N.esm.js} +9 -9
- package/dist/{idCaptureStateMachine-dXKBYHQp.esm.js → idCaptureStateMachine-B3G6XoDG.esm.js} +914 -536
- package/dist/{idOcrManager-D3-HNMXP.esm.js → idOcrManager-B64-fjWg.esm.js} +2 -2
- package/dist/{idOcrStateMachine-DyENX6Ki.esm.js → idOcrStateMachine-B1aZnobs.esm.js} +2 -2
- package/dist/{idVerificationManager-iWz7Avkr.esm.js → idVerificationManager-_Kebv-Ue.esm.js} +2 -2
- package/dist/{idVerificationStateMachine-CL1kUdBe.esm.js → idVerificationStateMachine-DQn6c84z.esm.js} +1 -1
- package/dist/identity-reuse.esm.js +2 -2
- package/dist/{identityReuseManager-CD1ucp1d.esm.js → identityReuseManager-DDXkNVZi.esm.js} +2 -2
- package/dist/{identityReuseStateMachine-DfV81wQC.esm.js → identityReuseStateMachine-Bcnkbjf8.esm.js} +1 -1
- package/dist/{index-BKOWUhxG.d.ts → index-DEfwds5y.d.ts} +55 -8
- package/dist/{index-CKQ9QBZP.d.ts → index-DMDAk85K.d.ts} +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/{invokeOnCaptureCallback-DYrkOXO6.esm.js → invokeOnCaptureCallback-CXIBwBeE.esm.js} +1 -1
- package/dist/mandatory-consent.d.ts +2 -2
- package/dist/mandatory-consent.esm.js +2 -2
- package/dist/{mandatoryConsentManager-Cwqx1nK7.esm.js → mandatoryConsentManager-43W5d_8G.esm.js} +4 -3
- package/dist/{mandatoryConsentManager-BQ43yndC.d.ts → mandatoryConsentManager-xx3mY-xw.d.ts} +11 -4
- package/dist/{mandatoryConsentStateMachine-pXWqAHo_.esm.js → mandatoryConsentStateMachine-CVlgdlnt.esm.js} +20 -7
- package/dist/{multipartRecordingService-CLwrF5wD.esm.js → multipartRecordingService-DMBxHKS2.esm.js} +3 -13
- package/dist/nationalIds-B91f_RuB.esm.js +99 -0
- package/dist/{permissionGuards-gcy3U0SL.esm.js → permissionGuards-B3OPL8Si.esm.js} +1 -1
- package/dist/{permissionServices-Ca-tSNhT.esm.js → permissionServices-DnBAN_hW.esm.js} +4 -4
- package/dist/phone-number.d.ts +7 -1
- package/dist/phone-number.esm.js +15 -2
- package/dist/phone.d.ts +1 -1
- package/dist/phone.esm.js +2 -2
- package/dist/{phoneManager-BO-LTih5.d.ts → phoneManager-6nrJkvkG.d.ts} +5 -0
- package/dist/{phoneManager-KKUq-Vgo.esm.js → phoneManager-C6jut_pz.esm.js} +3 -3
- package/dist/{phoneStateMachine-D2QWS2cu.esm.js → phoneStateMachine-T1-drWfG.esm.js} +37 -25
- package/dist/{phoneValidation-DnBcNUNh.esm.js → phoneValidation-OggtfjRt.esm.js} +1 -2
- package/dist/{platform-DkcRc9JV.esm.js → platform-aPh7gTWh.esm.js} +15 -1
- package/dist/processFaceMatch-BWme3kVV.esm.js +21 -0
- package/dist/qe-signature.esm.js +1 -1
- package/dist/redirect-to-mobile.d.ts +2 -2
- package/dist/redirect-to-mobile.esm.js +2 -2
- package/dist/{redirectToMobileManager-uHW3dyuQ.esm.js → redirectToMobileManager-BJXC6Kx9.esm.js} +4 -3
- package/dist/{redirectToMobileManager-CVsvpVbQ.d.ts → redirectToMobileManager-Dm9ctRCC.d.ts} +3 -1
- package/dist/{redirectToMobileStateMachine-b-H-ipGM.esm.js → redirectToMobileStateMachine-BBMAc2Gb.esm.js} +27 -6
- package/dist/{runChildModule-BF_atgNx.esm.js → runChildModule-DPHTqSdF.esm.js} +3 -3
- package/dist/{sdkVersion-CsIbltJF.esm.js → sdkVersion-C3_P-Qbq.esm.js} +1 -1
- package/dist/selfie.d.ts +4 -4
- package/dist/selfie.esm.js +10 -10
- package/dist/{selfieErrorUtils-BY0-YbPW.esm.js → selfieErrorUtils-BL0BLMnp.esm.js} +1 -1
- package/dist/{selfieManager-BJdNu_nd.d.ts → selfieManager-BMmpUii2.d.ts} +1 -1
- package/dist/{selfieManager-vAAwzsHk.esm.js → selfieManager-Cbliomv7.esm.js} +5 -5
- package/dist/{selfieStateMachine-BFVp3ElQ.esm.js → selfieStateMachine-B5m_Kn0O.esm.js} +3 -3
- package/dist/{session-CpwfoVdH.esm.js → session-DAaAewMX.esm.js} +77 -9
- package/dist/session.d.ts +96 -10
- package/dist/session.esm.js +7 -6
- package/dist/{sessionInitializer-BTjYgE-V.esm.js → sessionInitializer-CWFT4dfw.esm.js} +402 -202
- package/dist/{setup-BInNAvQw.esm.js → setup-CDAKwTr7.esm.js} +32 -19
- package/dist/{setup-YPKTUCY5.d.ts → setup-D9qt8YVU.d.ts} +2 -2
- package/dist/signature.esm.js +2 -2
- package/dist/{signatureManager-f_dPAGXn.esm.js → signatureManager-BeEVCcsC.esm.js} +2 -2
- package/dist/{signatureStateMachine-C-nUq_oq.esm.js → signatureStateMachine-_1c1vSid.esm.js} +1 -1
- package/dist/{stats-BEvexnKC.esm.js → stats-BpMz-hTP.esm.js} +1 -1
- package/dist/stats.esm.js +1 -1
- package/dist/{tri-xzRLIIMN.esm.js → tri-BajQnjbf.esm.js} +142 -8
- package/dist/tri.d.ts +1 -1
- package/dist/tri.esm-CzTNi5Q_.esm.js +3826 -0
- package/dist/tri.esm.js +1 -1
- package/dist/{trueSightService-BMT-TubT.esm.js → trueSightService-BujtUIW6.esm.js} +19 -10
- package/dist/trust-graph.esm.js +1 -1
- package/dist/{types-yPH8lAH-.d.ts → types--3HDl2SF.d.ts} +2 -2
- package/dist/types-B2FK_wYb.d.ts +249 -0
- package/dist/types-B9C8W01q.d.ts +34 -0
- package/dist/{types-0L-eFDmr.d.ts → types-C397LhmN.d.ts} +1 -1
- package/dist/types-D9r3zRfY.d.ts +6 -0
- package/dist/{types-DPIDuhut.d.ts → types-DNVzoRvi.d.ts} +2 -1
- package/dist/{types-B6HsSzpk.d.ts → types-DuD8TRJU.d.ts} +3 -2
- package/dist/{types-Ckir_BEs.d.ts → types-PTZHRhGX.d.ts} +1 -1
- package/dist/{types-DUnFZ08M.d.ts → types-ZTZelfbM.d.ts} +2 -2
- package/dist/{types-CK8Jbjkp.d.ts → types-e8fCsvvk.d.ts} +1 -1
- package/dist/{types-BAxn7MpY.d.ts → types-xEEWCx1j.d.ts} +123 -48
- package/dist/{urlUtils-6jsE6rKp.esm.js → urlUtils-eYiyWjh0.esm.js} +4 -1
- package/dist/video-selfie.d.ts +8 -8
- package/dist/video-selfie.esm.js +95 -22
- package/dist/{videoSelfieCameraWarmer-D1xA0u8y.esm.js → videoSelfieCameraWarmer-DjkPpoj_.esm.js} +18 -21
- package/dist/{videoSelfieStepDetector-CGsTltqB.d.ts → videoSelfieStepDetector-RfSmlFFW.d.ts} +9 -4
- package/dist/{warmup-BElYWRh7.esm.js → warmup-BkfxQZsC.esm.js} +175 -11
- package/dist/wasm.d.ts +2 -2
- package/dist/wasm.esm.js +3 -3
- package/dist/{wasmDsFlagSync-CYj5LL9z.esm.js → wasmDsFlagSync-BhU5H2oR.esm.js} +1 -1
- package/dist/wasmMetadataVersionSync-U8EFUr1T.esm.js +27 -0
- package/dist/{wasmWebClient-BjZw_7OB.esm.js → wasmWebClient-DTj9auyA.esm.js} +43 -17
- package/dist/watchlist-for-business.d.ts +2 -1
- package/dist/watchlist-for-business.esm.js +2 -2
- package/dist/watchlist.esm.js +2 -2
- package/dist/{watchlistForBusinessManager-CZZOFkGl.esm.js → watchlistForBusinessManager-CVay6-9A.esm.js} +37 -7
- package/dist/{watchlistForBusinessManager-B3GDPZrr.d.ts → watchlistForBusinessManager-DX2AyM4Y.d.ts} +54 -18
- package/dist/watchlistForBusinessStateMachine-DA6K5na4.esm.js +166 -0
- package/dist/{watchlistManager-DXtX94SN.esm.js → watchlistManager-B8gQ_rw3.esm.js} +2 -2
- package/dist/{watchlistStateMachine-McALifag.esm.js → watchlistStateMachine-CSi_ZhtT.esm.js} +1 -1
- package/dist/workflow.d.ts +5 -2
- package/dist/workflow.esm.js +57 -47
- package/package.json +2 -1
- package/dist/IBrowserEnvironmentCapability-DEaRRk-R.esm.js +0 -9
- package/dist/ekycStateMachine-CDnI_NRq.esm.js +0 -1443
- package/dist/ekycUtils-zY8CdKJL.esm.js +0 -300
- package/dist/thumbmark.esm-CRc0cYvz.esm.js +0 -1242
- package/dist/tri.esm-BIjHhBJ2.esm.js +0 -2620
- package/dist/types-BvLo3U4u.d.ts +0 -134
- package/dist/types-zOgZqMni.d.ts +0 -6
- package/dist/watchlistForBusinessStateMachine-B66E7jud.esm.js +0 -78
- /package/dist/{types-BSBzhHRH2.d.ts → types-BSBzhHRH.d.ts} +0 -0
|
@@ -1,19 +1,22 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { r as getToken, t as api, u as endpoints } from "./api-
|
|
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-
|
|
1
|
+
import { n as getTimestamp } from "./IBrowserEnvironmentCapability-D7JG7ML3.esm.js";
|
|
2
|
+
import { r as getToken, t as api, u as endpoints } from "./api-BO8JA7Pf.esm.js";
|
|
3
|
+
import { l as trueSightHintTransition, r as noteTrueSightCaptureActivity, u as trueSightLog, y as isTrueSightTesting } from "./trueSightService-BujtUIW6.esm.js";
|
|
4
|
+
import "./sessionInitializer-CWFT4dfw.esm.js";
|
|
5
|
+
import { t as addDeviceStats } from "./stats-BpMz-hTP.esm.js";
|
|
6
|
+
import { c as isIPhone14OrHigher } from "./platform-aPh7gTWh.esm.js";
|
|
6
7
|
import { t as BrowserLazyImportProvider } from "./BrowserLazyImportProvider-BhoA957O.esm.js";
|
|
7
8
|
import { i as assign, n as enqueueActions, r as sendTo, t as setup } from "./xstate.esm-DSajW7CJ.esm.js";
|
|
8
9
|
import { n as fromPromise, t as fromCallback } from "./xstate-actors.esm-8Gzepa_A.esm.js";
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
10
|
+
import { s as isCameraDenialErrorName } from "./camera-E_Kcre4O.esm.js";
|
|
11
|
+
import { n as invokeRequestPermissionActor, t as checkPermission } from "./permissionServices-DnBAN_hW.esm.js";
|
|
12
|
+
import { a as sendLabelInspectionEvent, i as probeFaceCamera, l as getFaceUploadErrorCode, r as initializeDeepsightSession, t as FaceDetectionProvider, u as FACE_ERROR_CODES } from "./FaceDetectionProvider-B83VmClw.esm.js";
|
|
13
|
+
import { a as flagFaceManualReview, i as cameraCycleProvider, n as createCameraCycleOwnership, r as runProtectedAttempt, s as PROTECTED_CAPTURE_TARGET, t as electDesktopCameraDevice } from "./desktopCameraElection-kHY2IDJi.esm.js";
|
|
12
14
|
import { n as releaseFaceAvatarWarmup, r as warmFaceAvatar, t as createFaceAvatar } from "./createFaceAvatar-BNHdeFj8.esm.js";
|
|
13
15
|
import { t as IncodeCanvas } from "./canvas-BxFzWTt-.esm.js";
|
|
14
|
-
import { n as needsMotionPrimeOnlyFromPermission, r as resolveStoredPermissionResult, t as isReadyForCaptureFromPermission } from "./permissionGuards-
|
|
15
|
-
import {
|
|
16
|
-
import { t as
|
|
16
|
+
import { n as needsMotionPrimeOnlyFromPermission, r as resolveStoredPermissionResult, t as isReadyForCaptureFromPermission } from "./permissionGuards-B3OPL8Si.esm.js";
|
|
17
|
+
import { t as carryAttempts } from "./attemptCarry-BjTJ6bMQ.esm.js";
|
|
18
|
+
import { a as getAdaptiveMediaRecorderOptions, i as createRecordingCompositor, n as WorkerEncoderRecordingProvider, t as MultipartRecordingService } from "./multipartRecordingService-DMBxHKS2.esm.js";
|
|
19
|
+
import { t as getDeviceClass } from "./getDeviceClass-DoIWuKI8.esm.js";
|
|
17
20
|
//#region src/internal/avatar/concealment.ts
|
|
18
21
|
/**
|
|
19
22
|
* Maps a backend concealment option to the internal avatar flags. `OPTION_NONE`
|
|
@@ -552,16 +555,14 @@ var ProtectedFaceRecorderHooks = class {
|
|
|
552
555
|
let nextAttemptNumber = 1;
|
|
553
556
|
/**
|
|
554
557
|
* Private composition object for one still-face attempt. It owns provider
|
|
555
|
-
* callbacks and
|
|
556
|
-
* presentation stream/canvas and allowlisted semantic results.
|
|
558
|
+
* callbacks and the camera-step options outside XState; the machine sees only
|
|
559
|
+
* the presentation stream/canvas and allowlisted semantic results.
|
|
557
560
|
*/
|
|
558
561
|
var ProtectedFaceAttemptRuntime = class ProtectedFaceAttemptRuntime {
|
|
559
562
|
constructor(options) {
|
|
560
563
|
this.options = options;
|
|
561
564
|
this.attemptId = `face-${nextAttemptNumber++}`;
|
|
562
|
-
this.
|
|
563
|
-
this.rawHandedOff = false;
|
|
564
|
-
this.rawStreamReleased = false;
|
|
565
|
+
this.probedUsingBackCamera = false;
|
|
565
566
|
this.released = false;
|
|
566
567
|
this.recorderTransferred = false;
|
|
567
568
|
this.pendingSignals = [];
|
|
@@ -583,14 +584,15 @@ var ProtectedFaceAttemptRuntime = class ProtectedFaceAttemptRuntime {
|
|
|
583
584
|
return this.options.delivery;
|
|
584
585
|
}
|
|
585
586
|
get usingBackCamera() {
|
|
586
|
-
return this.
|
|
587
|
+
return this.probedUsingBackCamera;
|
|
587
588
|
}
|
|
588
589
|
setDeepsightService(service) {
|
|
589
590
|
if (this.released || this.deepsightService) return;
|
|
590
591
|
this.deepsightService = service;
|
|
591
592
|
}
|
|
593
|
+
/** Tutorial-time preparation; the camera itself opens at attempt start. */
|
|
592
594
|
async preAcquire() {
|
|
593
|
-
await this.
|
|
595
|
+
await this.probe();
|
|
594
596
|
}
|
|
595
597
|
subscribeSignals(listener) {
|
|
596
598
|
if (this.released) return () => void 0;
|
|
@@ -608,23 +610,27 @@ var ProtectedFaceAttemptRuntime = class ProtectedFaceAttemptRuntime {
|
|
|
608
610
|
attemptId: this.attemptId,
|
|
609
611
|
target: this.options.target,
|
|
610
612
|
workflow: this.options.config.onDeviceFaceResultsSubmissionEnabled === true ? 5 : 4,
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
613
|
+
cameraStep: async () => {
|
|
614
|
+
const { usingBackCamera } = await this.probe();
|
|
615
|
+
const facing = usingBackCamera ? "environment" : "user";
|
|
616
|
+
const resolution = usingBackCamera ? void 0 : this.options.config.cameraResolution;
|
|
617
|
+
const width = resolution?.width ?? 0;
|
|
618
|
+
const height = resolution?.height ?? 0;
|
|
619
|
+
const hasResolution = width > 0 && height > 0;
|
|
620
|
+
return {
|
|
621
|
+
vs: facing,
|
|
622
|
+
di: await electDesktopCameraDevice(facing),
|
|
623
|
+
ew: hasResolution ? width : 0,
|
|
624
|
+
eh: hasResolution ? height : 0,
|
|
625
|
+
i14: isIPhone14OrHigher(),
|
|
626
|
+
pa: false
|
|
627
|
+
};
|
|
621
628
|
},
|
|
622
629
|
cycle: this.options.cycle,
|
|
623
630
|
cycleOwnership: this.cycleOwnership,
|
|
624
631
|
recorder: this.recorder,
|
|
625
|
-
|
|
632
|
+
afterReady: this.options.delivery === "protected" ? (displayStream) => this.attachProtectedCameraMetadata(displayStream) : void 0,
|
|
626
633
|
configureWorkflow: () => this.configureWorkflow(),
|
|
627
|
-
runPrc: () => this.runPrc(),
|
|
628
634
|
runPoc: () => this.runPoc(),
|
|
629
635
|
onStartupTiming,
|
|
630
636
|
faceResults: this.provider
|
|
@@ -704,16 +710,18 @@ var ProtectedFaceAttemptRuntime = class ProtectedFaceAttemptRuntime {
|
|
|
704
710
|
Promise.resolve(this.provider.dispose()).catch(() => void 0);
|
|
705
711
|
} catch {}
|
|
706
712
|
this.cycleOwnership.releaseByController();
|
|
707
|
-
if (!this.rawHandedOff) this.acquired?.then(({ stream }) => this.releaseRawStream(stream), () => void 0);
|
|
708
713
|
}
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
714
|
+
/**
|
|
715
|
+
* Runs the camera-free probe once per attempt, whether the tutorial
|
|
716
|
+
* pre-acquire or the camera step asks first. Every retry creates a fresh
|
|
717
|
+
* runtime, so the pipeline warm-up and the lens choice are re-checked per
|
|
718
|
+
* attempt.
|
|
719
|
+
*/
|
|
720
|
+
async probe() {
|
|
721
|
+
this.probed ??= this.options.probeCamera();
|
|
722
|
+
const result = await this.probed;
|
|
723
|
+
this.probedUsingBackCamera = result.usingBackCamera;
|
|
724
|
+
if (this.released) throw new Error("Protected face attempt was released");
|
|
717
725
|
return result;
|
|
718
726
|
}
|
|
719
727
|
async configureWorkflow() {
|
|
@@ -767,13 +775,6 @@ var ProtectedFaceAttemptRuntime = class ProtectedFaceAttemptRuntime {
|
|
|
767
775
|
});
|
|
768
776
|
this.emitDetection("detecting");
|
|
769
777
|
}
|
|
770
|
-
async runPrc() {
|
|
771
|
-
if (this.options.delivery === "protected") await this.attachProtectedCameraMetadata();
|
|
772
|
-
if (this.released) return;
|
|
773
|
-
const wasmUtil = await this.options.dependencies.getWasmUtil();
|
|
774
|
-
if (this.released) return;
|
|
775
|
-
await wasmUtil.prc();
|
|
776
|
-
}
|
|
777
778
|
async runPoc() {
|
|
778
779
|
if (this.options.delivery === "local") return;
|
|
779
780
|
const deepsight = this.deepsightService;
|
|
@@ -797,12 +798,11 @@ var ProtectedFaceAttemptRuntime = class ProtectedFaceAttemptRuntime {
|
|
|
797
798
|
const logs = deepsight.getPipelineState();
|
|
798
799
|
this.options.dependencies.trackCaptureAttemptFinished?.({ logs });
|
|
799
800
|
}
|
|
800
|
-
async attachProtectedCameraMetadata() {
|
|
801
|
+
async attachProtectedCameraMetadata(displayStream) {
|
|
801
802
|
const deepsight = this.deepsightService;
|
|
802
803
|
if (!deepsight) return;
|
|
803
804
|
try {
|
|
804
|
-
const
|
|
805
|
-
const [videoTrack] = stream.getVideoTracks();
|
|
805
|
+
const [videoTrack] = displayStream.getVideoTracks();
|
|
806
806
|
if (videoTrack) await deepsight.checkVirtualCamera(videoTrack);
|
|
807
807
|
} catch {
|
|
808
808
|
trueSightLog("warning", "deepsight", "faceScan", "protected camera metadata attachment failed");
|
|
@@ -819,13 +819,6 @@ var ProtectedFaceAttemptRuntime = class ProtectedFaceAttemptRuntime {
|
|
|
819
819
|
if (this.signalListener) this.signalListener(signal);
|
|
820
820
|
else this.pendingSignals.push(signal);
|
|
821
821
|
}
|
|
822
|
-
releaseRawStream(stream) {
|
|
823
|
-
if (this.rawHandedOff || this.rawStreamReleased) return;
|
|
824
|
-
this.rawStreamReleased = true;
|
|
825
|
-
try {
|
|
826
|
-
stopStream(stream);
|
|
827
|
-
} catch {}
|
|
828
|
-
}
|
|
829
822
|
};
|
|
830
823
|
//#endregion
|
|
831
824
|
//#region src/internal/faceCapture/protectedFaceController.ts
|
|
@@ -921,10 +914,7 @@ function createProtectedFaceControllerActor(options) {
|
|
|
921
914
|
authHint: input.authHint,
|
|
922
915
|
faceDetection: capabilities.faceDetection,
|
|
923
916
|
cycle: capabilities.cycle,
|
|
924
|
-
|
|
925
|
-
config: input.config,
|
|
926
|
-
provider
|
|
927
|
-
}),
|
|
917
|
+
probeCamera: () => probeFaceCamera(input.config),
|
|
928
918
|
getRecordingService: getStepRecordingService
|
|
929
919
|
});
|
|
930
920
|
if (deepsightService) runtime.setDeepsightService(deepsightService);
|
|
@@ -1068,7 +1058,8 @@ function createProtectedFaceControllerActor(options) {
|
|
|
1068
1058
|
case "PROTECTED_ATTEMPT_FAILED":
|
|
1069
1059
|
logDiagnostic("attempt-failed", {
|
|
1070
1060
|
failureStage: event.failure.stage,
|
|
1071
|
-
failureCode: event.failure.code
|
|
1061
|
+
failureCode: event.failure.code,
|
|
1062
|
+
errorName: event.failure.errorName
|
|
1072
1063
|
});
|
|
1073
1064
|
noteTrueSightCaptureActivity(false);
|
|
1074
1065
|
sendBack(event);
|
|
@@ -1204,6 +1195,7 @@ function createDefaultProtectedFaceControllerActor(options) {
|
|
|
1204
1195
|
}
|
|
1205
1196
|
//#endregion
|
|
1206
1197
|
//#region src/internal/faceCapture/faceCaptureSetup.ts
|
|
1198
|
+
const DEEPSIGHT_INITIALIZATION_FAILED_CODE = "DEEPSIGHT_INITIALIZATION_FAILED";
|
|
1207
1199
|
const getAttemptsFromConfig = (config) => {
|
|
1208
1200
|
return config.captureAttempts ?? config.numberOfAttempts ?? 3;
|
|
1209
1201
|
};
|
|
@@ -1485,11 +1477,16 @@ const faceCaptureMachine = setup({
|
|
|
1485
1477
|
hasStream: ({ context }) => context.stream !== void 0,
|
|
1486
1478
|
isCameraAndDeepsightReady: ({ context }) => context.stream !== void 0 && context.deepsightReady,
|
|
1487
1479
|
hasAttemptsRemaining: ({ context }) => context.attemptsRemaining > 0,
|
|
1480
|
+
isOutOfAttempts: ({ context }) => context.attemptsRemaining <= 0 && context.attemptsRemaining < getAttemptsFromConfig(context.config),
|
|
1488
1481
|
hasCapturedImage: ({ context }) => context.capturedImage !== void 0,
|
|
1489
1482
|
isAutoCaptureAllowed: ({ context }) => !context.retainManualMode,
|
|
1490
1483
|
canCommitProtectedManual: ({ context }) => context.manualCaptureTriggered && context.config.onDeviceFaceResultsSubmissionEnabled !== true,
|
|
1491
1484
|
isProtectedManualRefusal: ({ event }) => event.failure.stage === "manualCommit",
|
|
1492
1485
|
isProtectedUploadFailure: ({ event }) => event.failure.stage === "upload",
|
|
1486
|
+
isProtectedAcquireDenied: ({ event }) => {
|
|
1487
|
+
const { failure } = event;
|
|
1488
|
+
return failure.stage === "acquire" && isCameraDenialErrorName(failure.errorName);
|
|
1489
|
+
},
|
|
1493
1490
|
hasUploadValidationError: () => false,
|
|
1494
1491
|
isTerminalUploadError: () => false,
|
|
1495
1492
|
isNoAttemptsTerminal: () => false
|
|
@@ -1498,7 +1495,7 @@ const faceCaptureMachine = setup({
|
|
|
1498
1495
|
id: "faceCapture",
|
|
1499
1496
|
initial: "idle",
|
|
1500
1497
|
entry: "bindProtectedFaceController",
|
|
1501
|
-
context: ({ input }) => ({
|
|
1498
|
+
context: ({ input, self }) => ({
|
|
1502
1499
|
config: input.config,
|
|
1503
1500
|
dependencies: input.dependencies,
|
|
1504
1501
|
authHint: input.authHint,
|
|
@@ -1510,7 +1507,7 @@ const faceCaptureMachine = setup({
|
|
|
1510
1507
|
faceCoordinates: void 0,
|
|
1511
1508
|
uploadResponse: void 0,
|
|
1512
1509
|
processResponse: void 0,
|
|
1513
|
-
attemptsRemaining: getAttemptsFromConfig(input.config),
|
|
1510
|
+
attemptsRemaining: carryAttempts("faceCapture", self, (s) => ({ attemptsRemaining: s.context.attemptsRemaining })).attemptsRemaining ?? getAttemptsFromConfig(input.config),
|
|
1514
1511
|
uploadError: void 0,
|
|
1515
1512
|
permissionResult: void 0,
|
|
1516
1513
|
deepsightReady: false,
|
|
@@ -1535,6 +1532,10 @@ const faceCaptureMachine = setup({
|
|
|
1535
1532
|
},
|
|
1536
1533
|
states: {
|
|
1537
1534
|
idle: { on: { LOAD: [
|
|
1535
|
+
{
|
|
1536
|
+
target: "outOfAttempts",
|
|
1537
|
+
guard: "isOutOfAttempts"
|
|
1538
|
+
},
|
|
1538
1539
|
{
|
|
1539
1540
|
target: "tutorial",
|
|
1540
1541
|
guard: "hasShowTutorial"
|
|
@@ -1809,6 +1810,11 @@ const faceCaptureMachine = setup({
|
|
|
1809
1810
|
guard: "isProtectedUploadFailure",
|
|
1810
1811
|
actions: "setUploadFailureAndDecrement"
|
|
1811
1812
|
},
|
|
1813
|
+
{
|
|
1814
|
+
target: "#faceCapture.permissions.denied",
|
|
1815
|
+
guard: "isProtectedAcquireDenied",
|
|
1816
|
+
actions: "setPermissionDenied"
|
|
1817
|
+
},
|
|
1812
1818
|
{
|
|
1813
1819
|
target: "#faceCapture.error",
|
|
1814
1820
|
actions: "setProtectedFailure"
|
|
@@ -1832,7 +1838,11 @@ const faceCaptureMachine = setup({
|
|
|
1832
1838
|
target: "#faceCapture.error",
|
|
1833
1839
|
actions: assign({
|
|
1834
1840
|
deepsightReady: () => false,
|
|
1835
|
-
error: () =>
|
|
1841
|
+
error: () => ({
|
|
1842
|
+
type: DEEPSIGHT_INITIALIZATION_FAILED_CODE,
|
|
1843
|
+
message: "Deepsight initialization failed",
|
|
1844
|
+
moduleErrorCode: DEEPSIGHT_INITIALIZATION_FAILED_CODE
|
|
1845
|
+
})
|
|
1836
1846
|
})
|
|
1837
1847
|
}
|
|
1838
1848
|
}
|
|
@@ -1952,6 +1962,14 @@ const faceCaptureMachine = setup({
|
|
|
1952
1962
|
},
|
|
1953
1963
|
onError: { target: "finished" }
|
|
1954
1964
|
} },
|
|
1965
|
+
outOfAttempts: { always: [{
|
|
1966
|
+
target: "error",
|
|
1967
|
+
guard: "isNoAttemptsTerminal",
|
|
1968
|
+
actions: "setTerminalError"
|
|
1969
|
+
}, {
|
|
1970
|
+
target: "terminalProcessing",
|
|
1971
|
+
actions: "flagFaceManualReview"
|
|
1972
|
+
}] },
|
|
1955
1973
|
terminalProcessing: {
|
|
1956
1974
|
entry: ["completeProtectedRecording", "cleanup"],
|
|
1957
1975
|
invoke: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { n as eventModuleNames, o as createManagerInstrumentation } from "./events-
|
|
1
|
+
import { n as eventModuleNames, o as createManagerInstrumentation } from "./events-CQteqXfy.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-ByTMQCUC.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();
|
|
@@ -48,6 +48,13 @@ type FaceMatchConfig = {
|
|
|
48
48
|
* @default false
|
|
49
49
|
*/
|
|
50
50
|
skipFaceMatch?: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* A match result you already have. When set, the module shows it and does
|
|
53
|
+
* not run the match. Use it when the SDK cannot keep the selfie result
|
|
54
|
+
* across steps, for example after a full page load. Ignored for
|
|
55
|
+
* `matchingType: 'secondId'`.
|
|
56
|
+
*/
|
|
57
|
+
matched?: boolean;
|
|
51
58
|
};
|
|
52
59
|
/**
|
|
53
60
|
* Cropped face images fetched from the backend.
|
|
@@ -67,16 +74,16 @@ type FaceMatchImages = {
|
|
|
67
74
|
secondIdFace?: string | null;
|
|
68
75
|
};
|
|
69
76
|
/**
|
|
70
|
-
* Face match result
|
|
77
|
+
* Face match result: the `success` field of `/omni/process/face`, or the
|
|
78
|
+
* `faceRecognition` status of `/omni/get/score` when that field is absent.
|
|
71
79
|
*/
|
|
72
80
|
type FaceMatchResult = {
|
|
73
81
|
/**
|
|
74
|
-
* Whether faces matched (
|
|
82
|
+
* Whether faces matched (true, false, or null when unknown, for example a
|
|
83
|
+
* `WARN` score).
|
|
75
84
|
*/
|
|
76
85
|
matched: boolean | null;
|
|
77
|
-
/**
|
|
78
|
-
* Whether liveness check passed.
|
|
79
|
-
*/
|
|
86
|
+
/** @deprecated Always `null`. */
|
|
80
87
|
liveness: boolean | null;
|
|
81
88
|
};
|
|
82
89
|
//#endregion
|
|
@@ -92,14 +99,14 @@ type FaceMatchActor = ReturnType<typeof createFaceMatchActor>;
|
|
|
92
99
|
type FaceMatchIdleState = {
|
|
93
100
|
status: 'idle';
|
|
94
101
|
};
|
|
95
|
-
/** Fetching images and
|
|
102
|
+
/** Fetching images and the match result from backend */
|
|
96
103
|
type FaceMatchLoadingState = {
|
|
97
104
|
status: 'loading';
|
|
98
105
|
};
|
|
99
106
|
/**
|
|
100
107
|
* Animation is playing - images are animating.
|
|
101
108
|
* @property images - Cropped face images fetched from backend
|
|
102
|
-
* @property result - Face match result
|
|
109
|
+
* @property result - Face match result
|
|
103
110
|
*/
|
|
104
111
|
type FaceMatchAnimatingState = {
|
|
105
112
|
status: 'animating';
|
|
@@ -110,6 +117,7 @@ type FaceMatchAnimatingState = {
|
|
|
110
117
|
};
|
|
111
118
|
result: {
|
|
112
119
|
matched: boolean | null;
|
|
120
|
+
/** @deprecated Always `null`. */
|
|
113
121
|
liveness: boolean | null;
|
|
114
122
|
};
|
|
115
123
|
};
|
|
@@ -128,6 +136,7 @@ type FaceMatchResultState = {
|
|
|
128
136
|
};
|
|
129
137
|
result: {
|
|
130
138
|
matched: boolean | null;
|
|
139
|
+
/** @deprecated Always `null`. */
|
|
131
140
|
liveness: boolean | null;
|
|
132
141
|
};
|
|
133
142
|
matched: boolean | null;
|
package/dist/{faceMatchStateMachine-CUCvlydD.esm.js → faceMatchStateMachine-ByTMQCUC.esm.js}
RENAMED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { t as api, u as endpoints } from "./api-
|
|
1
|
+
import { t as api, u as endpoints } from "./api-BO8JA7Pf.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-BWme3kVV.esm.js";
|
|
4
5
|
//#region src/modules/face-match/constants.ts
|
|
5
6
|
/**
|
|
6
7
|
* Backend error code returned by face-match endpoints (e.g. `/omni/process/face`,
|
|
@@ -43,18 +44,6 @@ async function fetchFaceMatchImages(signal) {
|
|
|
43
44
|
};
|
|
44
45
|
}
|
|
45
46
|
/**
|
|
46
|
-
* Fetches face recognition score from the backend.
|
|
47
|
-
*/
|
|
48
|
-
async function fetchScore(signal) {
|
|
49
|
-
const res = await api.get(endpoints.getScore, { signal });
|
|
50
|
-
if (!res.ok) throw new Error(`GET ${endpoints.getScore} failed: ${res.status} ${res.statusText}`);
|
|
51
|
-
const data = res.data;
|
|
52
|
-
return {
|
|
53
|
-
matched: data.faceRecognition?.overall?.status === "OK" ? true : data.faceRecognition?.overall?.status === "FAIL" ? false : null,
|
|
54
|
-
liveness: data.deepsight ? data.deepsight.multimodalIntelligence?.overall?.status === "OK" : data.liveness?.overall?.status === "OK"
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
47
|
* Fetches second ID face images from the backend.
|
|
59
48
|
*/
|
|
60
49
|
async function fetchSecondIdImages(signal) {
|
|
@@ -65,16 +54,24 @@ async function fetchSecondIdImages(signal) {
|
|
|
65
54
|
return { secondIdFace: /^(?:data:|https?:\/\/|blob:)/i.test(image) ? image : `data:image/png;base64,${image}` };
|
|
66
55
|
}
|
|
67
56
|
/**
|
|
68
|
-
*
|
|
57
|
+
* Reads the face recognition result from `/omni/get/score`. Used only when
|
|
58
|
+
* `/omni/process/face` sent no `success`, which means the API key allows
|
|
59
|
+
* score retrieval.
|
|
60
|
+
*/
|
|
61
|
+
async function fetchScoreMatched(signal) {
|
|
62
|
+
const res = await api.get(endpoints.getScore, { signal });
|
|
63
|
+
if (!res.ok) throw new Error(`GET ${endpoints.getScore} failed: ${res.status} ${res.statusText}`);
|
|
64
|
+
const status = res.data.faceRecognition?.overall?.status;
|
|
65
|
+
return status === "OK" ? true : status === "FAIL" ? false : null;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Runs server-side face matching for the captured selfie and returns the match
|
|
69
|
+
* result (the response's `success` field, `null` when absent).
|
|
69
70
|
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
* capture-only selfie variant), so the match must be (re)triggered here before
|
|
73
|
-
* `GET /omni/get/score` can reflect it. When the selfie was already processed upstream
|
|
74
|
-
* (e.g. the regular selfie module) this is a harmless reprocess.
|
|
71
|
+
* Face-match runs it when no earlier step did. Some capture steps skip it
|
|
72
|
+
* (Workflow SELFIE, AUTHENTICATION, the capture-only selfie variant).
|
|
75
73
|
*
|
|
76
|
-
*
|
|
77
|
-
* `fetchScore`. A non-ok response throws an Error carrying the backend `status`/`data` so
|
|
74
|
+
* A non-ok response throws an Error carrying the backend `status`/`data` so
|
|
78
75
|
* the state machine's `onError` can both produce a readable message and detect the
|
|
79
76
|
* "ID face extraction skipped" case (status 4084) via `isFaceExtractionSkippedError`.
|
|
80
77
|
*/
|
|
@@ -88,21 +85,37 @@ async function processFaceForMatch(matchingType, signal) {
|
|
|
88
85
|
status: res.status,
|
|
89
86
|
data: res.data
|
|
90
87
|
});
|
|
88
|
+
const success = res.data?.success;
|
|
89
|
+
return typeof success === "boolean" ? success : null;
|
|
91
90
|
}
|
|
92
91
|
/**
|
|
93
|
-
* Fetches
|
|
92
|
+
* Fetches the face match images and result.
|
|
93
|
+
*
|
|
94
|
+
* The result is the `success` field of `/omni/process/face`. The backend sends
|
|
95
|
+
* it only when the API key blocks score retrieval with the session token, and
|
|
96
|
+
* then `/omni/get/score` returns 403. Without `success`, the result comes from
|
|
97
|
+
* `/omni/get/score`. `config.matched`, or else the saved result of a selfie
|
|
98
|
+
* capture in this session, skips the call. The second ID
|
|
99
|
+
* always runs its own call, because the selfie matches only against the
|
|
100
|
+
* primary ID.
|
|
94
101
|
*/
|
|
95
102
|
async function fetchFaceMatchData(config, signal) {
|
|
96
|
-
|
|
97
|
-
const
|
|
98
|
-
|
|
99
|
-
|
|
103
|
+
const isSecondId = config.matchingType === "secondId";
|
|
104
|
+
const fromProcessFace = (isSecondId ? null : config.matched ?? getProcessFaceMatch()) ?? await processFaceForMatch(config.matchingType, signal);
|
|
105
|
+
const [imagesRes, secondIdRes, matched] = await Promise.all([
|
|
106
|
+
fetchFaceMatchImages(signal),
|
|
107
|
+
isSecondId ? fetchSecondIdImages(signal) : void 0,
|
|
108
|
+
fromProcessFace ?? fetchScoreMatched(signal)
|
|
109
|
+
]);
|
|
100
110
|
return {
|
|
101
111
|
images: {
|
|
102
112
|
...imagesRes,
|
|
103
113
|
secondIdFace: secondIdRes?.secondIdFace ?? null
|
|
104
114
|
},
|
|
105
|
-
result:
|
|
115
|
+
result: {
|
|
116
|
+
matched,
|
|
117
|
+
liveness: null
|
|
118
|
+
}
|
|
106
119
|
};
|
|
107
120
|
}
|
|
108
121
|
//#endregion
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { r as __toESM } from "./rolldown-runtime-B-1-B7_t.esm.js";
|
|
2
|
-
import { t as SDK_VERSION } from "./sdkVersion-
|
|
2
|
+
import { t as SDK_VERSION } from "./sdkVersion-C3_P-Qbq.esm.js";
|
|
3
3
|
import { t as BrowserLazyImportProvider } from "./BrowserLazyImportProvider-BhoA957O.esm.js";
|
|
4
4
|
let currentEnvironment;
|
|
5
5
|
/** Effective tier: the explicitly-set value, else the default (see note above). */
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { E as updateFeatureManagementUser, T as subscribeFeatureManagement, _ as getIsFeatureManagementInitialized, a as stringParam, d as ONBOARDING_WEB_SDK_PARAMETER_STORE, f as getExperiment, g as getFeatureParameterStore, h as getFeatureManagementVersion, i as numberParam, l as resolveExperiment, m as getFeatureGate, n as defineExperimentParams, o as EXPERIMENT_UNAVAILABLE_SENTINEL, p as getFeatureDynamicConfig, r as enumParam, s as exposeExperimentOnce, t as booleanParam, u as resolveExperimentOnce, x as logEvent, y as getLayer } from "./feature-management-
|
|
1
|
+
import { E as updateFeatureManagementUser, T as subscribeFeatureManagement, _ as getIsFeatureManagementInitialized, a as stringParam, d as ONBOARDING_WEB_SDK_PARAMETER_STORE, f as getExperiment, g as getFeatureParameterStore, h as getFeatureManagementVersion, i as numberParam, l as resolveExperiment, m as getFeatureGate, n as defineExperimentParams, o as EXPERIMENT_UNAVAILABLE_SENTINEL, p as getFeatureDynamicConfig, r as enumParam, s as exposeExperimentOnce, t as booleanParam, u as resolveExperimentOnce, x as logEvent, y as getLayer } from "./feature-management-DjAG5lsJ.esm.js";
|
|
2
2
|
export { EXPERIMENT_UNAVAILABLE_SENTINEL, ONBOARDING_WEB_SDK_PARAMETER_STORE, booleanParam, defineExperimentParams, enumParam, exposeExperimentOnce, getExperiment, getFeatureDynamicConfig, getFeatureGate, getFeatureManagementVersion, getFeatureParameterStore, getIsFeatureManagementInitialized, getLayer, logEvent, numberParam, resolveExperiment, resolveExperimentOnce, stringParam, subscribeFeatureManagement, updateFeatureManagementUser };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as createFieldComparisonManagerFromActor, r as fieldComparisonMachine, t as createFieldComparisonManager } from "./fieldComparisonManager-
|
|
1
|
+
import { n as createFieldComparisonManagerFromActor, r as fieldComparisonMachine, t as createFieldComparisonManager } from "./fieldComparisonManager-CC0vKmpf.esm.js";
|
|
2
2
|
export { createFieldComparisonManager, createFieldComparisonManagerFromActor, fieldComparisonMachine };
|
package/dist/{fieldComparisonManager-v3knTYV_.esm.js → fieldComparisonManager-CC0vKmpf.esm.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as eventModuleNames, o as createManagerInstrumentation } from "./events-
|
|
2
|
-
import { t as api, u as endpoints } from "./api-
|
|
1
|
+
import { n as eventModuleNames, o as createManagerInstrumentation } from "./events-CQteqXfy.esm.js";
|
|
2
|
+
import { t as api, u as endpoints } from "./api-BO8JA7Pf.esm.js";
|
|
3
3
|
import { i as assign, s as createActor, t as setup, u as createManager } from "./xstate.esm-DSajW7CJ.esm.js";
|
|
4
4
|
import { n as fromPromise } from "./xstate-actors.esm-8Gzepa_A.esm.js";
|
|
5
5
|
//#region src/modules/field-comparison/fieldComparisonServices.ts
|
package/dist/fiscal-qr.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as createFiscalQrManagerFromActor, r as fiscalQrMachine, t as createFiscalQrManager } from "./fiscalQrManager-
|
|
1
|
+
import { n as createFiscalQrManagerFromActor, r as fiscalQrMachine, t as createFiscalQrManager } from "./fiscalQrManager-Be-r4oZj.esm.js";
|
|
2
2
|
export { createFiscalQrManager, createFiscalQrManagerFromActor, fiscalQrMachine };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { n as eventModuleNames, o as createManagerInstrumentation, y as addEvent } from "./events-
|
|
2
|
-
import { t as api, u as endpoints } from "./api-
|
|
1
|
+
import { n as eventModuleNames, o as createManagerInstrumentation, y as addEvent } from "./events-CQteqXfy.esm.js";
|
|
2
|
+
import { t as api, u as endpoints } from "./api-BO8JA7Pf.esm.js";
|
|
3
3
|
import { t as BrowserTimerProvider } from "./BrowserTimerProvider-BXhgNxLt.esm.js";
|
|
4
4
|
import { i as assign, s as createActor, t as setup, u as createManager } 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 {
|
|
7
|
-
import {
|
|
6
|
+
import { a as stopCameraStream } from "./camera-E_Kcre4O.esm.js";
|
|
7
|
+
import { t as getBackCameraStream } from "./backCameraStream-C5_NNfUN.esm.js";
|
|
8
8
|
import { t as StreamCanvasCapture } from "./StreamCanvasCapture-C9jtgBdT.esm.js";
|
|
9
9
|
import "./http.esm.js";
|
|
10
10
|
//#region src/modules/fiscal-qr/fiscalQrConstants.ts
|
package/dist/flow-events.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as FlowEventListener, c as FlowModuleStartedEvent, i as FlowEvent, l as FlowReadyEvent, n as FlowCompletedEvent, o as FlowEventSubscribable, r as FlowErrorEvent, s as FlowModuleCompletedEvent, t as FlowClosedEvent, u as FlowStartedEvent } from "./index-
|
|
1
|
+
import { a as FlowEventListener, c as FlowModuleStartedEvent, i as FlowEvent, l as FlowReadyEvent, n as FlowCompletedEvent, o as FlowEventSubscribable, r as FlowErrorEvent, s as FlowModuleCompletedEvent, t as FlowClosedEvent, u as FlowStartedEvent } from "./index-DMDAk85K.js";
|
|
2
2
|
export type { FlowClosedEvent, FlowCompletedEvent, FlowErrorEvent, FlowEvent, FlowEventListener, FlowEventSubscribable, FlowModuleCompletedEvent, FlowModuleStartedEvent, FlowReadyEvent, FlowStartedEvent };
|
package/dist/flow.d.ts
CHANGED
|
@@ -2,18 +2,18 @@ import { c as WasmPipeline } from "./warmup-BO57syF6.js";
|
|
|
2
2
|
import { A as StateMachine, _ as MachineContext, c as AnyEventObject, l as AnyStateMachine, p as EventObject, v as MetaObject, y as NonReducibleUnknown } from "./spawn-D9jgw9pW.js";
|
|
3
3
|
import { t as Manager } from "./Manager-C9T5amUN.js";
|
|
4
4
|
import { a as ElectronicSignatureConfig } from "./types-D0gekt4U.js";
|
|
5
|
-
import { t as EkycConfig } from "./types-
|
|
6
|
-
import { i as FlowModuleConfig, n as Flow, r as FlowModule } from "./types-
|
|
7
|
-
import { t as AuthenticationConfig } from "./types-
|
|
8
|
-
import { r as DocumentCaptureConfig } from "./types-
|
|
9
|
-
import { t as DynamicFormsConfig } from "./types-
|
|
10
|
-
import { t as EkybConfig } from "./types-
|
|
11
|
-
import { u as IdCaptureConfig } from "./types-
|
|
12
|
-
import { r as MandatoryConsentConfig } from "./types-
|
|
5
|
+
import { t as EkycConfig } from "./types-B2FK_wYb.js";
|
|
6
|
+
import { i as FlowModuleConfig, n as Flow, r as FlowModule } from "./types-DuD8TRJU.js";
|
|
7
|
+
import { t as AuthenticationConfig } from "./types-D9r3zRfY.js";
|
|
8
|
+
import { r as DocumentCaptureConfig } from "./types-ZTZelfbM.js";
|
|
9
|
+
import { t as DynamicFormsConfig } from "./types-BSBzhHRH.js";
|
|
10
|
+
import { t as EkybConfig } from "./types-C397LhmN.js";
|
|
11
|
+
import { u as IdCaptureConfig } from "./types-xEEWCx1j.js";
|
|
12
|
+
import { r as MandatoryConsentConfig } from "./types-PTZHRhGX.js";
|
|
13
13
|
import { t as IdOcrConfig } from "./types-CJ7Yl9K-.js";
|
|
14
|
-
import { t as RedirectToMobileConfig } from "./types-
|
|
14
|
+
import { t as RedirectToMobileConfig } from "./types-DNVzoRvi.js";
|
|
15
15
|
import { a as TotalScore, c as getTotalScoreStatus, n as FinishStatus, o as classifyScoreStatus, r as GetFinishStatusFn, t as FinishScreenVariant } from "./flowCompletionService-BlAHsKyv.js";
|
|
16
|
-
import { o as FlowEventSubscribable } from "./index-
|
|
16
|
+
import { o as FlowEventSubscribable } from "./index-DMDAk85K.js";
|
|
17
17
|
import { n as ModuleRegistry } from "./types-BQA7lRDV.js";
|
|
18
18
|
//#region src/modules/flow/orchestratedFlowStateMachine.d.ts
|
|
19
19
|
type GetFlowFn = (signal: AbortSignal) => Promise<Flow>;
|
package/dist/flow.esm.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { y as addEvent } from "./events-
|
|
2
|
-
import {
|
|
1
|
+
import { y as addEvent } from "./events-CQteqXfy.esm.js";
|
|
2
|
+
import { i as retryAfterReconnect } from "./connectivity-HSl0diCx.esm.js";
|
|
3
|
+
import { D as mergeDashboardConfig, a as resolveDashboardModuleConfig, c as getRequiredWasmPipelines, l as normalizeFlowModules, n as getFlow, o as enrichFlowModuleConfig, r as preloadDashboardFlow, s as getNextRequiredWasmPipelines, t as completeDeferredActivation, u as resolveFlowModuleConfig } from "./flowServices-g2tVWsJl.esm.js";
|
|
3
4
|
import { i as assign, s as createActor, t as setup, u as createManager } from "./xstate.esm-DSajW7CJ.esm.js";
|
|
4
5
|
import { n as fromPromise } from "./xstate-actors.esm-8Gzepa_A.esm.js";
|
|
5
|
-
import { n as getFinishStatus, r as getTotalScoreStatus, t as classifyScoreStatus } from "./flowCompletionService-
|
|
6
|
-
import { n as attachFlowEventEmitter, t as runChildModule } from "./runChildModule-
|
|
7
|
-
import { n as isAdvanceableError } from "./advanceableErrors-
|
|
6
|
+
import { n as getFinishStatus, r as getTotalScoreStatus, t as classifyScoreStatus } from "./flowCompletionService-ChMU2v79.esm.js";
|
|
7
|
+
import { n as attachFlowEventEmitter, t as runChildModule } from "./runChildModule-DPHTqSdF.esm.js";
|
|
8
|
+
import { n as isAdvanceableError } from "./advanceableErrors-k-U-cL5m.esm.js";
|
|
8
9
|
//#region src/modules/flow/noOpFlowModuleMachine.ts
|
|
9
10
|
const noOpFlowModuleMachine = /* @__PURE__ */ (() => setup({}).createMachine({
|
|
10
11
|
id: "noOpFlowModule",
|
|
@@ -411,12 +412,8 @@ const orchestratedFlowMachine = /* @__PURE__ */ (() => setup({
|
|
|
411
412
|
input: {}
|
|
412
413
|
},
|
|
413
414
|
actors: {
|
|
414
|
-
fetchFlow: fromPromise(
|
|
415
|
-
|
|
416
|
-
}),
|
|
417
|
-
notifyBackend: fromPromise(async ({ input, signal }) => {
|
|
418
|
-
return await input.getFinishStatus(input.flowId, signal);
|
|
419
|
-
}),
|
|
415
|
+
fetchFlow: fromPromise(({ input, signal }) => retryAfterReconnect(() => input.getFlow(signal), signal)),
|
|
416
|
+
notifyBackend: fromPromise(({ input, signal }) => retryAfterReconnect(() => input.getFinishStatus(input.flowId, signal), signal)),
|
|
420
417
|
runChildModule,
|
|
421
418
|
resolveActivation: fromPromise(async ({ input, signal }) => {
|
|
422
419
|
if (!input.flow) throw new Error("No flow loaded");
|
package/dist/{flowCompletionService-BDI5QpfR.esm.js → flowCompletionService-ChMU2v79.esm.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as api, u as endpoints } from "./api-
|
|
2
|
-
import { i as toIncodeApiError } from "./apiError-
|
|
1
|
+
import { t as api, u as endpoints } from "./api-BO8JA7Pf.esm.js";
|
|
2
|
+
import { i as toIncodeApiError } from "./apiError-CfuIvnUy.esm.js";
|
|
3
3
|
//#region src/modules/flow/flowCompletionService.ts
|
|
4
4
|
const getFinishStatus = async (flowId, signal) => {
|
|
5
5
|
const url = `${endpoints.finishStatus}${flowId ? `?flowId=${flowId}` : ""}`;
|