@incodetech/core 2.1.0-rc.0 → 2.1.0-rc.2
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/{BrowserStorageProvider-BpJM-gIl.esm.js → BrowserStorageProvider-D5xc7Lqo.esm.js} +18 -1
- package/dist/{Manager-BHn8wH8K.d.ts → Manager-B2OEDYqf.d.ts} +4 -1
- package/dist/{OpenViduRecordingProvider-O4GjBseO.esm.js → OpenViduRecordingProvider-DF7A4ZNJ.esm.js} +1 -1
- package/dist/{StreamCanvasCapture-yyl20qd9.d.ts → StreamCanvasCapture-Ctgyx-oD.d.ts} +1 -1
- package/dist/{StreamCanvasCapture-ImiDQdVA.esm.js → StreamCanvasCapture-Dr5n_iK1.esm.js} +1 -1
- package/dist/{WasmUtilProvider-CiEN7Gjn.esm.js → WasmUtilProvider-CIu373BZ.esm.js} +29 -1
- package/dist/{addressSearch-DvmWXKZg.esm.js → addressSearch-BH96a3fq.esm.js} +4 -4
- package/dist/{ae-signature-BFZta3TZ.esm.js → ae-signature-CDEN8y-w.esm.js} +1 -1
- package/dist/ae-signature.d.ts +3 -3
- package/dist/ae-signature.esm.js +9 -7
- package/dist/antifraud.d.ts +3 -3
- package/dist/antifraud.esm.js +6 -6
- package/dist/{antifraudManager-CznnhyvD.d.ts → antifraudManager-B7WQTIdu.d.ts} +2 -2
- package/dist/antifraudManager-DZifA5zX.esm.js +83 -0
- package/dist/{antifraudStateMachine-Ccrb-Jxc.esm.js → antifraudStateMachine-DlKrK2hL.esm.js} +3 -3
- package/dist/authentication.d.ts +12 -13
- package/dist/authentication.esm.js +27 -27
- package/dist/{authenticationManager-ZNotsWnC.esm.js → authenticationManager-BM4LzyV7.esm.js} +17 -8
- package/dist/{authenticationManager-CIVY80H9.d.ts → authenticationManager-Dve7mGLe.d.ts} +13 -3
- package/dist/{authenticationStateMachine-DksVbF_H.esm.js → authenticationStateMachine-Chx3ySdT.esm.js} +20 -23
- package/dist/{backCameraStream-D7Wo4Nbx.esm.js → backCameraStream-iftkf3rd.esm.js} +3 -3
- package/dist/browser-DlFgHpoC-7tbRR1aR.esm.js +1425 -0
- package/dist/{browserSimulation-B1dWiXp7.esm.js → browserSimulation-CGjpdNA1.esm.js} +2 -2
- package/dist/camera.d.ts +1 -1
- package/dist/camera.esm.js +4 -4
- package/dist/certificate-issuance.d.ts +311 -0
- package/dist/certificate-issuance.esm.js +73 -0
- package/dist/certificateIssuanceStateMachine-CLNXtXaC.esm.js +127 -0
- package/dist/consent.d.ts +3 -3
- package/dist/consent.esm.js +6 -6
- package/dist/{consentManager-BLd51QiW.d.ts → consentManager-BqUGU_YD.d.ts} +52 -52
- package/dist/{consentManager-BYo9Nu1r.esm.js → consentManager-psDCeJ0E.esm.js} +29 -5
- package/dist/{consentStateMachine-BG3yL8aC.esm.js → consentStateMachine-DRsFFSHE.esm.js} +3 -3
- package/dist/cpf-ocr.d.ts +3 -3
- package/dist/cpf-ocr.esm.js +6 -6
- package/dist/{cpfOcrManager-BnieFXuG.d.ts → cpfOcrManager-B2u9hMzd.d.ts} +19 -19
- package/dist/{cpfOcrManager-sSKegxox.esm.js → cpfOcrManager-BxcgxvgO.esm.js} +5 -5
- package/dist/cross-document-data-match.d.ts +1 -1
- package/dist/cross-document-data-match.esm.js +5 -5
- package/dist/curp-validation.d.ts +7 -7
- package/dist/curp-validation.esm.js +6 -6
- package/dist/{curpValidationManager-CFem6zP9.esm.js → curpValidationManager-BgLDw0Ub.esm.js} +51 -5
- package/dist/{curpValidationManager-RttixpIc.d.ts → curpValidationManager-Bt6CVD8b.d.ts} +4 -3
- package/dist/{curpValidationStateMachine-B7V_qp66.esm.js → curpValidationStateMachine-BK_wJ48C.esm.js} +3 -3
- package/dist/custom-fields.d.ts +3 -2
- package/dist/custom-fields.esm.js +48 -6
- package/dist/custom-watchlist.d.ts +1 -1
- package/dist/custom-watchlist.esm.js +26 -6
- package/dist/{customWatchlistStateMachine-HmFybXLX.esm.js → customWatchlistStateMachine-Bi4P59HM.esm.js} +3 -3
- package/dist/{deepsightLoader-65k1Appi.esm.js → deepsightLoader-BMmvk0X6.esm.js} +13 -13
- package/dist/{deepsightService-B7ShOkWL.d.ts → deepsightService-ByNKY5Jv.d.ts} +18 -2
- package/dist/{deepsightService-CrHmvx8X.esm.js → deepsightService-CEZrdiW0.esm.js} +7 -7
- package/dist/device.esm.js +4 -4
- package/dist/document-capture.d.ts +228 -228
- package/dist/document-capture.esm.js +77 -14
- package/dist/document-upload.d.ts +50 -50
- package/dist/document-upload.esm.js +9 -9
- package/dist/{documentCaptureStateMachine-WYV1r9le.esm.js → documentCaptureStateMachine-MpwpJO7t.esm.js} +7 -7
- package/dist/dynamic-forms.d.ts +2 -2
- package/dist/dynamic-forms.esm.js +35 -285
- package/dist/dynamicFormsStateMachine-Do84A4uU.esm.js +284 -0
- package/dist/ekyb.d.ts +7 -6
- package/dist/ekyb.esm.js +59 -17
- package/dist/{ekybStateMachine-aYixw2sL.esm.js → ekybStateMachine-nsuPOw3f.esm.js} +5 -5
- package/dist/ekyc.d.ts +4 -3
- package/dist/ekyc.esm.js +54 -9
- package/dist/{ekycStateMachine-CXbpaJJn.esm.js → ekycStateMachine-DcynX0rj.esm.js} +5 -5
- package/dist/electronic-signature.d.ts +3 -3
- package/dist/electronic-signature.esm.js +8 -6
- package/dist/{electronicSignatureManager-BaECdJ1u.esm.js → electronicSignatureManager-B63aAuI5.esm.js} +103 -23
- package/dist/email.d.ts +4 -4
- package/dist/email.esm.js +8 -8
- package/dist/{emailManager-lAzDoQOs.d.ts → emailManager-C6D2u4mQ.d.ts} +4 -3
- package/dist/{emailManager--D5G3ChB.esm.js → emailManager-DxHjAe5u.esm.js} +46 -6
- package/dist/{emailStateMachine-CxTOMAjC.esm.js → emailStateMachine-758f34gg.esm.js} +5 -5
- package/dist/{endpoints-BeTK0Mlt.esm.js → endpoints-BM2_j_IE.esm.js} +2 -0
- package/dist/{events-Dvvriq9l.esm.js → events-DN-u67gb.esm.js} +110 -43
- package/dist/events.d.ts +21 -16
- package/dist/events.esm.js +2 -2
- package/dist/extensibility.d.ts +34 -26
- package/dist/extensibility.esm.js +58 -56
- package/dist/externalFetch-crimxkN9.esm.js +22 -0
- package/dist/face-match.d.ts +1 -12
- package/dist/face-match.esm.js +5 -5
- package/dist/{faceCaptureManagerFactory-kqbUqtrr.esm.js → faceCaptureManagerFactory-BNXZchWX.esm.js} +94 -13
- package/dist/{faceCaptureManagerFactory-C_hRHx8a.d.ts → faceCaptureManagerFactory-CL-7T_vH.d.ts} +33 -16
- package/dist/{faceCaptureSetup-CtvHWd3x.esm.js → faceCaptureSetup-Dqb09D24.esm.js} +7 -7
- package/dist/{faceMatchStateMachine-DdGXUBnx.esm.js → faceMatchStateMachine-FikRaUZH.esm.js} +9 -7
- package/dist/field-comparison.d.ts +3 -3
- package/dist/field-comparison.esm.js +5 -5
- package/dist/{fieldComparisonManager-Bu5TaSr3.d.ts → fieldComparisonManager-BXc6-DJv.d.ts} +2 -2
- package/dist/{fieldComparisonManager-COGI2ARD.esm.js → fieldComparisonManager-Dic0DVgl.esm.js} +4 -4
- package/dist/fiscal-qr.d.ts +3 -3
- package/dist/fiscal-qr.esm.js +12 -12
- package/dist/flow-events.d.ts +6 -6
- package/dist/flow.d.ts +25 -15
- package/dist/flow.esm.js +43 -36
- package/dist/{flowCompletionService-BdR2cGgB.d.ts → flowCompletionService-CdGDKv0z.d.ts} +9 -1
- package/dist/flowCompletionService-D_CsiDZM.esm.js +42 -0
- package/dist/{flowServices-BTuHLHVr.esm.js → flowServices-ar5DXv71.esm.js} +4 -4
- package/dist/geolocation.d.ts +3 -2
- package/dist/geolocation.esm.js +35 -7
- package/dist/{geolocationStateMachine-Dvh7X0wF.esm.js → geolocationStateMachine-BWjrMGS_.esm.js} +4 -4
- package/dist/{getDeviceClass-C8Do2qYu.esm.js → getDeviceClass-rXKlXywy.esm.js} +1 -1
- package/dist/government-validation.d.ts +3 -3
- package/dist/government-validation.esm.js +42 -8
- package/dist/{governmentValidationStateMachine-DcJ-BfsC.esm.js → governmentValidationStateMachine-BoF7U1of.esm.js} +5 -5
- package/dist/home.d.ts +15 -15
- package/dist/home.esm.js +4 -4
- package/dist/http.d.ts +1 -0
- package/dist/http.esm.js +2 -2
- package/dist/id-ocr.d.ts +57 -57
- package/dist/id-ocr.esm.js +6 -6
- package/dist/id-verification.d.ts +27 -27
- package/dist/id-verification.esm.js +5 -5
- package/dist/id.d.ts +19 -13
- package/dist/id.esm.js +75 -34
- package/dist/{idCaptureManager-DGVv5l1_.esm.js → idCaptureManager-Bm6Wm6Qv.esm.js} +91 -9
- package/dist/{idCaptureManager-D-QYESvF.d.ts → idCaptureManager-BvGUSN2e.d.ts} +26 -15
- package/dist/{idCaptureStateMachine-DHi7HydI.esm.js → idCaptureStateMachine-D1YhOj6n.esm.js} +155 -82
- package/dist/{idOcrStateMachine-CDQ5d_VM.esm.js → idOcrStateMachine-YMCDGplq.esm.js} +5 -5
- package/dist/{idVerificationStateMachine-kRxwImzO.esm.js → idVerificationStateMachine-Bo1IYuZH.esm.js} +3 -3
- package/dist/identity-reuse.d.ts +3 -3
- package/dist/identity-reuse.esm.js +6 -6
- package/dist/{identityReuseManager-C6n_97dw.esm.js → identityReuseManager-D0knIrOy.esm.js} +3 -3
- package/dist/{identityReuseManager-DwLtVzUn.d.ts → identityReuseManager-DcWSvC-A.d.ts} +36 -36
- package/dist/{identityReuseStateMachine-BfE5YiEr.esm.js → identityReuseStateMachine-CSQfZOqD.esm.js} +3 -3
- package/dist/index-52_qi4bd.d.ts +93 -0
- package/dist/{index-B5hPA0Bg.d.ts → index-BgxYUYuD.d.ts} +2 -2
- package/dist/{index-B9NysVDB.d.ts → index-DV134v62.d.ts} +169 -169
- package/dist/index.d.ts +3 -2
- package/dist/index.esm.js +13 -12
- package/dist/{invokeOnCaptureCallback-ygByVdnn.esm.js → invokeOnCaptureCallback-Dzemudhk.esm.js} +1 -1
- package/dist/{lib-BY67lgbq.esm.js → lib-7ZQ9BdKH.esm.js} +1 -1
- package/dist/mandatory-consent.d.ts +7 -7
- package/dist/mandatory-consent.esm.js +6 -6
- package/dist/{mandatoryConsentManager-H6D18cZB.esm.js → mandatoryConsentManager-Lon46nPQ.esm.js} +3 -3
- package/dist/{mandatoryConsentManager-KfIlURRY.d.ts → mandatoryConsentManager-Tzl5Qd35.d.ts} +53 -53
- package/dist/{mandatoryConsentStateMachine-DtQNW1ji.esm.js → mandatoryConsentStateMachine-D_dZ7IF6.esm.js} +3 -3
- package/dist/openviduLazy-B_s6jnEk.esm.js +3 -0
- package/dist/{openviduLazy-Dh14JNJc.esm.js → openviduLazy-oAXXI9w_.esm.js} +2 -2
- package/dist/{permissionGuards-C1ispV96.esm.js → permissionGuards-D-Z-lgNj.esm.js} +1 -1
- package/dist/{permissionServices-CG3bMSfG.esm.js → permissionServices-CPDboRoE.esm.js} +3 -3
- package/dist/phone.d.ts +4 -4
- package/dist/phone.esm.js +8 -8
- package/dist/{phoneManager-BmF-0Ez4.esm.js → phoneManager-Blt4Oc2P.esm.js} +47 -6
- package/dist/{phoneManager-fPmIBYQK.d.ts → phoneManager-TSq1Ief6.d.ts} +4 -3
- package/dist/{phoneStateMachine-BiV0yoEx.esm.js → phoneStateMachine-W3c6Z8sj.esm.js} +5 -5
- package/dist/{qe-signature-CUYPcHVo.esm.js → qe-signature-CQLK6LKE.esm.js} +1 -1
- package/dist/qe-signature.d.ts +3 -3
- package/dist/qe-signature.esm.js +9 -7
- package/dist/{recordingService-Bn9EdCmz.esm.js → recordingService-CxMJP4tQ.esm.js} +15 -15
- package/dist/redirect-to-mobile.d.ts +3 -3
- package/dist/redirect-to-mobile.esm.js +8 -7
- package/dist/{redirectToMobileManager-Dy3t7o0C.esm.js → redirectToMobileManager-DCvpKdkD.esm.js} +4 -4
- package/dist/{redirectToMobileManager-BNe3IzC_.d.ts → redirectToMobileManager-yOHAmwg-.d.ts} +2 -2
- package/dist/{redirectToMobileStateMachine-DyAdRxfP.esm.js → redirectToMobileStateMachine-DC9z4Vfu.esm.js} +11 -21
- package/dist/{runChildModule-CuoHZ1cx.esm.js → runChildModule-C9G0wfVC.esm.js} +14 -24
- package/dist/selfie.d.ts +20 -14
- package/dist/selfie.esm.js +63 -31
- package/dist/{selfieManager-BjCoKRy0.esm.js → selfieManager-BRL6c_Oc.esm.js} +17 -8
- package/dist/{selfieManager-dUbKRzOh.d.ts → selfieManager-imY2dAcH.d.ts} +13 -3
- package/dist/{selfieStateMachine-b4F2q9zw.esm.js → selfieStateMachine-D2Q0uwDK.esm.js} +4 -4
- package/dist/{session-DoVb-OcB.esm.js → session-Be_IA1e0.esm.js} +3 -3
- package/dist/session.d.ts +9 -8
- package/dist/session.esm.js +14 -12
- package/dist/{sessionInitializer-B8H5MsXM.esm.js → sessionInitializer-CaiGA8GP.esm.js} +13 -10
- package/dist/{setup-BbkprdVv.d.ts → setup-BJZAkajt.d.ts} +76 -1
- package/dist/{setup-BqEfrdja.esm.js → setup-C7tintPc.esm.js} +48 -9
- package/dist/signature.d.ts +3 -2
- package/dist/signature.esm.js +48 -6
- package/dist/{signatureStateMachine-C5qqYLRz.esm.js → signatureStateMachine-DAxXmMrk.esm.js} +21 -39
- package/dist/{stats-BMNUG1AU.esm.js → stats-DntyIiGr.esm.js} +2 -2
- package/dist/stats.esm.js +3 -3
- package/dist/tri-CtxWthxz.esm.js +389 -0
- package/dist/tri.d.ts +2 -0
- package/dist/tri.esm-CrWAulDi.esm.js +2589 -0
- package/dist/tri.esm.js +4 -0
- package/dist/trust-graph.d.ts +3 -3
- package/dist/trust-graph.esm.js +3 -3
- package/dist/{types-DsnEVMhr.esm.js → types-BdVOWGGW.esm.js} +2 -1
- package/dist/{types-NuT8ftBV.d.ts → types-DpTWgfKY.d.ts} +2 -1
- package/dist/{types-DOUhndhT.d.ts → types-Dv-9WPJX.d.ts} +2 -2
- package/dist/{types-Bj9hdFjU.d.ts → types-Z9wv19v2.d.ts} +1 -1
- package/dist/urlUtils-8RNHyW3x.esm.js +16 -0
- package/dist/wasm.d.ts +3 -2
- package/dist/wasm.esm.js +13 -12
- package/dist/watchlist-for-business.d.ts +1 -1
- package/dist/watchlist-for-business.esm.js +29 -7
- package/dist/watchlist.d.ts +1 -1
- package/dist/watchlist.esm.js +27 -6
- package/dist/{watchlistForBusinessStateMachine-DMl8j2Ov.esm.js → watchlistForBusinessStateMachine-DtefJb-D.esm.js} +3 -3
- package/dist/{watchlistStateMachine-DmQlqI6L.esm.js → watchlistStateMachine-B0aIS2_n.esm.js} +3 -3
- package/dist/workflow.d.ts +159 -105
- package/dist/workflow.esm.js +99 -106
- package/dist/{xstate.esm-C9wncMQa.esm.js → xstate.esm-Dkm1jy5u.esm.js} +13 -4
- package/package.json +11 -1
- package/dist/StateMachine-BC_nGvrc.d.ts +0 -2
- package/dist/antifraudManager-CkV4u-LE.esm.js +0 -55
- package/dist/flowCompletionService-DdGojV9K.esm.js +0 -20
- package/dist/openviduLazy-B8L--0oe.esm.js +0 -3
- /package/dist/{Actor-Y0_Fj-KL.d.ts → Actor-fIPLXfoi.d.ts} +0 -0
- /package/dist/{BrowserTimerProvider-DhNc_x02.esm.js → BrowserTimerProvider-BVgutW_b.esm.js} +0 -0
- /package/dist/{ITimerCapability-CB0I1Uf2.esm.js → ITimerCapability-BvH0pDwp.esm.js} +0 -0
- /package/dist/{IpifyProvider-D4LWD15E.esm.js → IpifyProvider-oZf7Ke1O.esm.js} +0 -0
- /package/dist/{MotionSensorProvider-Bx7Mpzt0.esm.js → MotionSensorProvider-C9fPAJdS.esm.js} +0 -0
- /package/dist/{api-CESGtpbH.esm.js → api-DUZwyz0o.esm.js} +0 -0
- /package/dist/{apiError-B-j-gyDx.esm.js → apiError-D-GTvFrH.esm.js} +0 -0
- /package/dist/{camera-SRBpPq2X.d.ts → camera-biGPWlmx.d.ts} +0 -0
- /package/dist/{camera-DJWm3V4g.esm.js → camera-x4LjGTjZ.esm.js} +0 -0
- /package/dist/{canvas-SKcRBxsk.esm.js → canvas-7uX2izHb.esm.js} +0 -0
- /package/dist/{chunk-CMUKZ2uL.esm.js → chunk-BK1xu56N.esm.js} +0 -0
- /package/dist/{cpf-BRzggV8G.esm.js → cpf-xBg-DFNn.esm.js} +0 -0
- /package/dist/{dateUtils-AksLQmgV.esm.js → dateUtils-8dCcuArE.esm.js} +0 -0
- /package/dist/{getBrowser-C8DP7oTB.esm.js → getBrowser-Dv8LZyHE.esm.js} +0 -0
- /package/dist/{getDeviceClass-C0olyNFS.esm.js → getDeviceClass-C0zrM97a.esm.js} +0 -0
- /package/dist/{http-Cai3IoLS.esm.js → http-CfVTgMfU.esm.js} +0 -0
- /package/dist/{otp-DF5A0sFx.d.ts → otp-BHJnjEEc.d.ts} +0 -0
- /package/dist/{otp-CGMdUzBC.esm.js → otp-D87RTwrx.esm.js} +0 -0
- /package/dist/{platform-SKvEfCBh.esm.js → platform-BfoqeM61.esm.js} +0 -0
- /package/dist/{types-DvGZI7BF.d.ts → types-DYZja-k9.d.ts} +0 -0
- /package/dist/{types-ya0LN_MX.d.ts → types-F0IXbaCB.d.ts} +0 -0
- /package/dist/{warmup-Dg8Lh-50.d.ts → warmup--6HA3yUR.d.ts} +0 -0
package/dist/{faceCaptureManagerFactory-kqbUqtrr.esm.js → faceCaptureManagerFactory-BNXZchWX.esm.js}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { n as eventModuleNames, o as
|
|
2
|
-
import { c as createManager } from "./xstate.esm-
|
|
3
|
-
import { n as setWasmDsFlagSync } from "./BrowserStorageProvider-
|
|
4
|
-
import { r as primeMotionFromUserGestureIfNeeded } from "./permissionServices-
|
|
1
|
+
import { n as eventModuleNames, o as topLevelStateName, r as eventScreenNames, s as createManagerInstrumentation } from "./events-DN-u67gb.esm.js";
|
|
2
|
+
import { c as createManager } from "./xstate.esm-Dkm1jy5u.esm.js";
|
|
3
|
+
import { n as BrowserVisibilityObserverProvider, r as setWasmDsFlagSync } from "./BrowserStorageProvider-D5xc7Lqo.esm.js";
|
|
4
|
+
import { r as primeMotionFromUserGestureIfNeeded } from "./permissionServices-CPDboRoE.esm.js";
|
|
5
5
|
|
|
6
6
|
//#region src/internal/faceCapture/faceCaptureManagerFactory.ts
|
|
7
7
|
function getPermissionStatus(snapshot) {
|
|
@@ -194,14 +194,10 @@ function getAuthFaceCaptureSubstateScreen(snapshot) {
|
|
|
194
194
|
}
|
|
195
195
|
return eventScreenNames.authFace;
|
|
196
196
|
}
|
|
197
|
-
function getTopLevelState(value) {
|
|
198
|
-
if (typeof value === "string") return value;
|
|
199
|
-
if (typeof value === "object") return Object.keys(value)[0];
|
|
200
|
-
}
|
|
201
197
|
function getAuthFaceScreenName(snapshot) {
|
|
202
198
|
const { value } = snapshot;
|
|
203
199
|
if (value === void 0 || value === null) return void 0;
|
|
204
|
-
const topLevel =
|
|
200
|
+
const topLevel = topLevelStateName(value);
|
|
205
201
|
if (topLevel === void 0) return void 0;
|
|
206
202
|
switch (topLevel) {
|
|
207
203
|
case "tutorial": return eventScreenNames.authFaceTutorial;
|
|
@@ -220,7 +216,7 @@ function getFaceCaptureScreenName(snapshot, moduleName) {
|
|
|
220
216
|
if (moduleName === eventModuleNames.authFace || moduleName === eventModuleNames.authentication) return getAuthFaceScreenName(snapshot);
|
|
221
217
|
const { value } = snapshot;
|
|
222
218
|
if (value === void 0 || value === null) return void 0;
|
|
223
|
-
const topLevel =
|
|
219
|
+
const topLevel = topLevelStateName(value);
|
|
224
220
|
if (topLevel === void 0) return void 0;
|
|
225
221
|
switch (topLevel) {
|
|
226
222
|
case "idle": return "faceCapture.loading.processing";
|
|
@@ -285,19 +281,104 @@ function createApi({ actor, trackElementClicked, trackCaptureAttemptFinished })
|
|
|
285
281
|
}
|
|
286
282
|
};
|
|
287
283
|
}
|
|
284
|
+
/**
|
|
285
|
+
* Figma-aligned, machine-stable reason token per face error code. Mirrors the
|
|
286
|
+
* leaf used by `getResultErrorScreen` (e.g. `LENSES_DETECTED` → `lensesDetected`)
|
|
287
|
+
* so the `errorTriggered` payload, error name and screen name stay in sync with
|
|
288
|
+
* the Face Capture Figma `resultError.*` frames.
|
|
289
|
+
*/
|
|
290
|
+
function getFaceErrorReason(errorCode) {
|
|
291
|
+
switch (errorCode) {
|
|
292
|
+
case "LENSES_ERROR":
|
|
293
|
+
case "LENSES_DETECTED": return "lensesDetected";
|
|
294
|
+
case "BRIGHTNESS_ERROR": return "tooBright";
|
|
295
|
+
case "MASK_ERROR":
|
|
296
|
+
case "FACE_MASK_DETECTED": return "faceMaskDetected";
|
|
297
|
+
case "FACE_TOO_DARK":
|
|
298
|
+
case "TOO_DARK_ERROR": return "tooDark";
|
|
299
|
+
case "CLOSED_EYES_ERROR":
|
|
300
|
+
case "CLOSED_EYES_DETECTED": return "eyesClosed";
|
|
301
|
+
case "HEAD_COVER_ERROR":
|
|
302
|
+
case "HEAD_COVER_DETECTED": return "headCovered";
|
|
303
|
+
case "FACE_OCCLUDED": return "faceOcclusion";
|
|
304
|
+
case "TOO_BLURRY_ERROR":
|
|
305
|
+
case "FACE_TOO_BLURRY":
|
|
306
|
+
case "BAD_PHOTO_QUALITY":
|
|
307
|
+
case "SELFIE_IMAGE_LOW_QUALITY": return "lowQuality";
|
|
308
|
+
case "SERVER_ERROR":
|
|
309
|
+
case "PROCESSING_ERROR":
|
|
310
|
+
case "BAD_REQUEST": return "processingFailed";
|
|
311
|
+
case "FACE_NOT_FOUND":
|
|
312
|
+
case "MULTIPLE_FACES":
|
|
313
|
+
case "FACE_CROPPING_FAILED":
|
|
314
|
+
case "FACE_TOO_SMALL":
|
|
315
|
+
case "LIVENESS_ERROR":
|
|
316
|
+
default: return "faceNotAligned";
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* Reports whether the given `capture` substate is active in a raw XState value
|
|
321
|
+
* without needing a live snapshot (so it works on the plain objects used in
|
|
322
|
+
* tests). Robust to parallel states (checks membership rather than the first
|
|
323
|
+
* key).
|
|
324
|
+
*/
|
|
325
|
+
function isFaceCaptureSubstateActive(value, name) {
|
|
326
|
+
if (typeof value !== "object" || value === null) return false;
|
|
327
|
+
const capture = value.capture;
|
|
328
|
+
if (typeof capture === "string") return capture === name;
|
|
329
|
+
if (typeof capture === "object" && capture !== null) return name in capture;
|
|
330
|
+
return false;
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* Figma-aligned error name for every Face Capture error state. Returned without
|
|
334
|
+
* the module prefix — the instrumentation adapter prepends the module token to
|
|
335
|
+
* produce e.g. `faceCapture.error.lensesDetected`. Returning `undefined` means
|
|
336
|
+
* "not an error state", which suppresses `errorTriggered`.
|
|
337
|
+
*
|
|
338
|
+
* Covers: recoverable result errors (`capture.uploadError`), the bad-network
|
|
339
|
+
* screen (`detecting` + `detectionStatus === 'offline'`), and the fatal
|
|
340
|
+
* top-level `error` state.
|
|
341
|
+
*/
|
|
342
|
+
function getFaceCaptureErrorName(snapshot) {
|
|
343
|
+
const topLevel = topLevelStateName(snapshot.value);
|
|
344
|
+
if (topLevel === void 0) return void 0;
|
|
345
|
+
if (topLevel === "error") return "error.unknown";
|
|
346
|
+
if (topLevel === "capture") {
|
|
347
|
+
if (isFaceCaptureSubstateActive(snapshot.value, "uploadError")) return `error.${getFaceErrorReason(snapshot.context.uploadError)}`;
|
|
348
|
+
if (isFaceCaptureSubstateActive(snapshot.value, "detecting") && snapshot.context.detectionStatus === "offline") return "error.noConnection";
|
|
349
|
+
}
|
|
350
|
+
}
|
|
288
351
|
function getFaceCaptureErrorPayload(snapshot) {
|
|
352
|
+
const topLevel = topLevelStateName(snapshot.value);
|
|
353
|
+
if (topLevel === "error") return { reason: "fatal" };
|
|
354
|
+
if (topLevel === "capture" && isFaceCaptureSubstateActive(snapshot.value, "detecting") && snapshot.context.detectionStatus === "offline") return { reason: "noConnection" };
|
|
289
355
|
const errorCode = snapshot.context.uploadError;
|
|
290
356
|
if (typeof errorCode !== "string" || errorCode.length === 0) return;
|
|
291
|
-
return {
|
|
357
|
+
return {
|
|
358
|
+
errorCode,
|
|
359
|
+
reason: getFaceErrorReason(errorCode)
|
|
360
|
+
};
|
|
292
361
|
}
|
|
293
|
-
|
|
362
|
+
/**
|
|
363
|
+
* Builds a face capture manager (selfie / authentication / captureOnly) from an
|
|
364
|
+
* already-created actor.
|
|
365
|
+
*
|
|
366
|
+
* `visibilityObserver` defaults to the browser `document.visibilitychange`
|
|
367
|
+
* provider so first-party and BYO-actor callers get foreground/background
|
|
368
|
+
* events without extra wiring. Construction lives here — a documented, narrow
|
|
369
|
+
* deviation from "never `new` a provider inside Core" (see
|
|
370
|
+
* `docs/patterns/CAPABILITY.md`). Pass a fake/no-op to override (tests do).
|
|
371
|
+
*/
|
|
372
|
+
function createFaceCaptureManagerFromActor(actor, moduleName, visibilityObserver = new BrowserVisibilityObserverProvider()) {
|
|
294
373
|
return createManager({
|
|
295
374
|
actor,
|
|
296
375
|
mapState,
|
|
297
376
|
createApi,
|
|
298
377
|
instrumentation: createManagerInstrumentation(moduleName, {
|
|
299
378
|
getEventScreenName: (snapshot) => getFaceCaptureScreenName(snapshot, moduleName),
|
|
300
|
-
|
|
379
|
+
getErrorName: getFaceCaptureErrorName,
|
|
380
|
+
getErrorPayload: getFaceCaptureErrorPayload,
|
|
381
|
+
visibilityObserver
|
|
301
382
|
})
|
|
302
383
|
});
|
|
303
384
|
}
|
package/dist/{faceCaptureManagerFactory-C_hRHx8a.d.ts → faceCaptureManagerFactory-CL-7T_vH.d.ts}
RENAMED
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import { n as WasmPipeline } from "./warmup
|
|
2
|
-
import { t as Manager } from "./Manager-
|
|
3
|
-
import { t as ActorRefFrom } from "./Actor-
|
|
4
|
-
import { n as
|
|
5
|
-
import { t as CameraStream } from "./camera-
|
|
6
|
-
import { i as FlowModuleConfig, n as Flow } from "./types-
|
|
7
|
-
import {
|
|
8
|
-
import { n as
|
|
9
|
-
import { n as IncodeCanvas, t as StreamCanvasCapture } from "./StreamCanvasCapture-yyl20qd9.js";
|
|
1
|
+
import { n as WasmPipeline } from "./warmup--6HA3yUR.js";
|
|
2
|
+
import { n as AnyStateMachine, r as StateMachine, t as Manager } from "./Manager-B2OEDYqf.js";
|
|
3
|
+
import { t as ActorRefFrom } from "./Actor-fIPLXfoi.js";
|
|
4
|
+
import { a as IMLProviderCapability, c as IRecordingCapability, n as IWasmUtilCapability, o as MLProviderConfig, s as IStorageCapability, t as DeepsightService, u as IVisibilityObserverCapability } from "./deepsightService-ByNKY5Jv.js";
|
|
5
|
+
import { t as CameraStream } from "./camera-biGPWlmx.js";
|
|
6
|
+
import { i as FlowModuleConfig, n as Flow } from "./types-Dv-9WPJX.js";
|
|
7
|
+
import { n as PermissionStatus, t as PermissionResult } from "./types-F0IXbaCB.js";
|
|
8
|
+
import { n as IncodeCanvas, t as StreamCanvasCapture } from "./StreamCanvasCapture-Ctgyx-oD.js";
|
|
10
9
|
|
|
11
10
|
//#region src/modules/authentication/authenticationStateMachine.d.ts
|
|
12
11
|
declare const _authenticationMachine: AnyStateMachine;
|
|
@@ -115,6 +114,7 @@ declare const FACE_ERROR_CODES: {
|
|
|
115
114
|
readonly NONEXISTENT_CUSTOMER: "NONEXISTENT_CUSTOMER";
|
|
116
115
|
readonly HINT_NOT_PROVIDED: "HINT_NOT_PROVIDED";
|
|
117
116
|
readonly SELFIE_IMAGE_LOW_QUALITY: "SELFIE_IMAGE_LOW_QUALITY";
|
|
117
|
+
readonly NO_MORE_ATTEMPTS: "NO_MORE_ATTEMPTS";
|
|
118
118
|
};
|
|
119
119
|
type FaceErrorCode = (typeof FACE_ERROR_CODES)[keyof typeof FACE_ERROR_CODES];
|
|
120
120
|
//#endregion
|
|
@@ -406,13 +406,20 @@ type SelfieConfig = FlowModuleConfig['SELFIE'] & BaseFaceCaptureConfig;
|
|
|
406
406
|
/**
|
|
407
407
|
* Public selfie configuration for the captureOnly flow.
|
|
408
408
|
*
|
|
409
|
-
*
|
|
410
|
-
*
|
|
411
|
-
*
|
|
412
|
-
*
|
|
413
|
-
*
|
|
409
|
+
* captureOnly bypasses the Incode upload/processing pipeline, so this config
|
|
410
|
+
* intentionally exposes ONLY the options that affect the on-device capture
|
|
411
|
+
* experience: the tutorial/preview UX, attempts, timeout, and the on-device
|
|
412
|
+
* face validations. Backend-coupled flags of {@link SelfieConfig} (face
|
|
413
|
+
* recording, assisted onboarding, on-device results submission, …) don't apply
|
|
414
|
+
* here and are omitted.
|
|
415
|
+
*
|
|
416
|
+
* `onCapture` is the one required field — it receives the captured image
|
|
417
|
+
* locally (compile-time enforced so you can't ship a captureOnly flow with no
|
|
418
|
+
* destination for the payload). Everything else is optional and defaulted by
|
|
419
|
+
* the factory (see `DEFAULT_SELFIE_CAPTURE_ONLY_CONFIG`); set only what you care
|
|
420
|
+
* about, e.g. `{ onCapture, captureAttempts: 5, validateBrightness: true }`.
|
|
414
421
|
*/
|
|
415
|
-
type SelfieCaptureOnlyConfig = SelfieConfig & {
|
|
422
|
+
type SelfieCaptureOnlyConfig = Partial<Pick<SelfieConfig, 'showTutorial' | 'showPreview' | 'captureAttempts' | 'autoCaptureTimeout' | 'validateLenses' | 'validateFaceMask' | 'validateHeadCover' | 'validateClosedEyes' | 'validateBrightness'>> & {
|
|
416
423
|
onCapture: (response: FaceCaptureOnlyResponse) => void | Promise<void>;
|
|
417
424
|
};
|
|
418
425
|
type SelfieDependencies = FaceCaptureDependencies;
|
|
@@ -659,7 +666,17 @@ type FaceCaptureErrorState = {
|
|
|
659
666
|
};
|
|
660
667
|
/** Union of all possible face capture states */
|
|
661
668
|
type FaceCaptureManagerState = FaceCaptureIdleState | FaceCaptureLoadingState | FaceCaptureTutorialState | FaceCapturePermissionsState | FaceCaptureCaptureState | FaceCaptureProcessingState | FaceCaptureFinishedState | FaceCaptureClosedState | FaceCaptureErrorState;
|
|
662
|
-
|
|
669
|
+
/**
|
|
670
|
+
* Builds a face capture manager (selfie / authentication / captureOnly) from an
|
|
671
|
+
* already-created actor.
|
|
672
|
+
*
|
|
673
|
+
* `visibilityObserver` defaults to the browser `document.visibilitychange`
|
|
674
|
+
* provider so first-party and BYO-actor callers get foreground/background
|
|
675
|
+
* events without extra wiring. Construction lives here — a documented, narrow
|
|
676
|
+
* deviation from "never `new` a provider inside Core" (see
|
|
677
|
+
* `docs/patterns/CAPABILITY.md`). Pass a fake/no-op to override (tests do).
|
|
678
|
+
*/
|
|
679
|
+
declare function createFaceCaptureManagerFromActor(actor: FaceCaptureActor, moduleName: string, visibilityObserver?: IVisibilityObserverCapability): Manager<FaceCaptureManagerState> & {
|
|
663
680
|
/**
|
|
664
681
|
* Starts the face capture flow.
|
|
665
682
|
* Goes to `tutorial` if showTutorial is true, otherwise to `loading`.
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { r as getToken } from "./api-
|
|
2
|
-
import { a as fromPromise, i as fromCallback, r as assign, t as setup } from "./xstate.esm-
|
|
3
|
-
import { n as invokeRequestPermissionActor, t as checkPermission } from "./permissionServices-
|
|
4
|
-
import { d as sendLabelInspectionEvent, f as startDetection, l as initializeCamera, n as preloadOpenViduProvider, p as stopStream, r as flagFaceManualReview, t as createRecordingService, u as initializeDeepsightSession } from "./recordingService-
|
|
5
|
-
import { t as FACE_ERROR_CODES } from "./types-
|
|
6
|
-
import { t as StreamCanvasCapture } from "./StreamCanvasCapture-
|
|
7
|
-
import { n as needsMotionPrimeOnlyFromPermission, r as resolveStoredPermissionResult, t as isReadyForCaptureFromPermission } from "./permissionGuards-
|
|
1
|
+
import { r as getToken } from "./api-DUZwyz0o.esm.js";
|
|
2
|
+
import { a as fromPromise, i as fromCallback, r as assign, t as setup } from "./xstate.esm-Dkm1jy5u.esm.js";
|
|
3
|
+
import { n as invokeRequestPermissionActor, t as checkPermission } from "./permissionServices-CPDboRoE.esm.js";
|
|
4
|
+
import { d as sendLabelInspectionEvent, f as startDetection, l as initializeCamera, n as preloadOpenViduProvider, p as stopStream, r as flagFaceManualReview, t as createRecordingService, u as initializeDeepsightSession } from "./recordingService-CxMJP4tQ.esm.js";
|
|
5
|
+
import { t as FACE_ERROR_CODES } from "./types-BdVOWGGW.esm.js";
|
|
6
|
+
import { t as StreamCanvasCapture } from "./StreamCanvasCapture-Dr5n_iK1.esm.js";
|
|
7
|
+
import { n as needsMotionPrimeOnlyFromPermission, r as resolveStoredPermissionResult, t as isReadyForCaptureFromPermission } from "./permissionGuards-D-Z-lgNj.esm.js";
|
|
8
8
|
|
|
9
9
|
//#region src/internal/faceCapture/faceCaptureSetup.ts
|
|
10
10
|
const getAttemptsFromConfig = (config) => {
|
package/dist/{faceMatchStateMachine-DdGXUBnx.esm.js → faceMatchStateMachine-FikRaUZH.esm.js}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { t as api } from "./api-
|
|
2
|
-
import { t as endpoints } from "./endpoints-
|
|
3
|
-
import { a as fromPromise, r as assign, t as setup } from "./xstate.esm-
|
|
1
|
+
import { t as api } from "./api-DUZwyz0o.esm.js";
|
|
2
|
+
import { t as endpoints } from "./endpoints-BM2_j_IE.esm.js";
|
|
3
|
+
import { a as fromPromise, r as assign, t as setup } from "./xstate.esm-Dkm1jy5u.esm.js";
|
|
4
4
|
|
|
5
5
|
//#region src/modules/face-match/constants.ts
|
|
6
6
|
/**
|
|
@@ -67,9 +67,11 @@ async function fetchSecondIdImages(signal) {
|
|
|
67
67
|
/**
|
|
68
68
|
* Triggers server-side face processing/matching for the captured selfie.
|
|
69
69
|
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
70
|
+
* Always run by face-match before reading the score, mirroring SDK 1's FaceMatch module.
|
|
71
|
+
* Some capture steps skip server-side face processing (e.g. AUTHENTICATION and the
|
|
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.
|
|
73
75
|
*
|
|
74
76
|
* The response body is intentionally ignored — face-match re-reads the result via
|
|
75
77
|
* `fetchScore`. A non-ok response throws an Error carrying the backend `status`/`data` so
|
|
@@ -91,7 +93,7 @@ async function processFaceForMatch(matchingType, signal) {
|
|
|
91
93
|
* Fetches all face match data in parallel (images, score, and optionally second ID images).
|
|
92
94
|
*/
|
|
93
95
|
async function fetchFaceMatchData(config, signal) {
|
|
94
|
-
|
|
96
|
+
await processFaceForMatch(config.matchingType, signal);
|
|
95
97
|
const promises = [fetchFaceMatchImages(signal), fetchScore(signal)];
|
|
96
98
|
if (config.matchingType === "secondId") promises.push(fetchSecondIdImages(signal));
|
|
97
99
|
const [imagesRes, resultRes, secondIdRes] = await Promise.all(promises);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "./Manager-
|
|
2
|
-
import "./Actor-
|
|
3
|
-
import { a as FieldComparisonActor, c as FieldComparisonFields, i as createFieldComparisonManagerFromActor, n as FieldComparisonState, o as fieldComparisonMachine, r as createFieldComparisonManager, s as FieldComparisonConfig, t as FieldComparisonManager } from "./fieldComparisonManager-
|
|
1
|
+
import "./Manager-B2OEDYqf.js";
|
|
2
|
+
import "./Actor-fIPLXfoi.js";
|
|
3
|
+
import { a as FieldComparisonActor, c as FieldComparisonFields, i as createFieldComparisonManagerFromActor, n as FieldComparisonState, o as fieldComparisonMachine, r as createFieldComparisonManager, s as FieldComparisonConfig, t as FieldComparisonManager } from "./fieldComparisonManager-BXc6-DJv.js";
|
|
4
4
|
export { type FieldComparisonActor, type FieldComparisonConfig, type FieldComparisonFields, type FieldComparisonManager, type FieldComparisonState, createFieldComparisonManager, createFieldComparisonManagerFromActor, fieldComparisonMachine };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import "./api-
|
|
2
|
-
import "./events-
|
|
3
|
-
import "./endpoints-
|
|
4
|
-
import "./xstate.esm-
|
|
5
|
-
import { n as createFieldComparisonManagerFromActor, r as fieldComparisonMachine, t as createFieldComparisonManager } from "./fieldComparisonManager-
|
|
1
|
+
import "./api-DUZwyz0o.esm.js";
|
|
2
|
+
import "./events-DN-u67gb.esm.js";
|
|
3
|
+
import "./endpoints-BM2_j_IE.esm.js";
|
|
4
|
+
import "./xstate.esm-Dkm1jy5u.esm.js";
|
|
5
|
+
import { n as createFieldComparisonManagerFromActor, r as fieldComparisonMachine, t as createFieldComparisonManager } from "./fieldComparisonManager-Dic0DVgl.esm.js";
|
|
6
6
|
|
|
7
7
|
export { createFieldComparisonManager, createFieldComparisonManagerFromActor, fieldComparisonMachine };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as Manager } from "./Manager-
|
|
2
|
-
import { t as ActorRefFrom } from "./Actor-
|
|
1
|
+
import { t as Manager } from "./Manager-B2OEDYqf.js";
|
|
2
|
+
import { t as ActorRefFrom } from "./Actor-fIPLXfoi.js";
|
|
3
3
|
|
|
4
4
|
//#region src/modules/field-comparison/types.d.ts
|
|
5
5
|
|
package/dist/{fieldComparisonManager-COGI2ARD.esm.js → fieldComparisonManager-Dic0DVgl.esm.js}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { t as api } from "./api-
|
|
2
|
-
import { n as eventModuleNames,
|
|
3
|
-
import { t as endpoints } from "./endpoints-
|
|
4
|
-
import { a as fromPromise, c as createManager, r as assign, s as createActor, t as setup } from "./xstate.esm-
|
|
1
|
+
import { t as api } from "./api-DUZwyz0o.esm.js";
|
|
2
|
+
import { n as eventModuleNames, s as createManagerInstrumentation } from "./events-DN-u67gb.esm.js";
|
|
3
|
+
import { t as endpoints } from "./endpoints-BM2_j_IE.esm.js";
|
|
4
|
+
import { a as fromPromise, c as createManager, r as assign, s as createActor, t as setup } from "./xstate.esm-Dkm1jy5u.esm.js";
|
|
5
5
|
|
|
6
6
|
//#region src/modules/field-comparison/fieldComparisonServices.ts
|
|
7
7
|
/** Submit first and last name for backend field comparison. Throws on failure. */
|
package/dist/fiscal-qr.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { t as Manager } from "./Manager-
|
|
2
|
-
import "./camera-
|
|
3
|
-
import "./StreamCanvasCapture-
|
|
1
|
+
import { t as Manager } from "./Manager-B2OEDYqf.js";
|
|
2
|
+
import "./camera-biGPWlmx.js";
|
|
3
|
+
import "./StreamCanvasCapture-Ctgyx-oD.js";
|
|
4
4
|
|
|
5
5
|
//#region src/modules/fiscal-qr/types.d.ts
|
|
6
6
|
/**
|
package/dist/fiscal-qr.esm.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { t as BrowserTimerProvider } from "./BrowserTimerProvider-
|
|
2
|
-
import { t as api } from "./api-
|
|
3
|
-
import {
|
|
4
|
-
import { t as endpoints } from "./endpoints-
|
|
5
|
-
import "./platform-
|
|
6
|
-
import { a as fromPromise, c as createManager, i as fromCallback, r as assign, s as createActor, t as setup } from "./xstate.esm-
|
|
7
|
-
import { i as stopCameraStream } from "./camera-
|
|
8
|
-
import "./ITimerCapability-
|
|
9
|
-
import "./canvas-
|
|
10
|
-
import { n as getBackCameraStream } from "./backCameraStream-
|
|
11
|
-
import { t as StreamCanvasCapture } from "./StreamCanvasCapture-
|
|
12
|
-
import "./http-
|
|
1
|
+
import { t as BrowserTimerProvider } from "./BrowserTimerProvider-BVgutW_b.esm.js";
|
|
2
|
+
import { t as api } from "./api-DUZwyz0o.esm.js";
|
|
3
|
+
import { g as addEvent, n as eventModuleNames, s as createManagerInstrumentation } from "./events-DN-u67gb.esm.js";
|
|
4
|
+
import { t as endpoints } from "./endpoints-BM2_j_IE.esm.js";
|
|
5
|
+
import "./platform-BfoqeM61.esm.js";
|
|
6
|
+
import { a as fromPromise, c as createManager, i as fromCallback, r as assign, s as createActor, t as setup } from "./xstate.esm-Dkm1jy5u.esm.js";
|
|
7
|
+
import { i as stopCameraStream } from "./camera-x4LjGTjZ.esm.js";
|
|
8
|
+
import "./ITimerCapability-BvH0pDwp.esm.js";
|
|
9
|
+
import "./canvas-7uX2izHb.esm.js";
|
|
10
|
+
import { n as getBackCameraStream } from "./backCameraStream-iftkf3rd.esm.js";
|
|
11
|
+
import { t as StreamCanvasCapture } from "./StreamCanvasCapture-Dr5n_iK1.esm.js";
|
|
12
|
+
import "./http-CfVTgMfU.esm.js";
|
|
13
13
|
import { BrowserQRCodeReader } from "@zxing/browser";
|
|
14
14
|
|
|
15
15
|
//#region src/modules/fiscal-qr/fiscalQrConstants.ts
|
package/dist/flow-events.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import "./camera-
|
|
2
|
-
import "./types-
|
|
3
|
-
import "./types-
|
|
4
|
-
import "./types-
|
|
5
|
-
import "./flowCompletionService-
|
|
6
|
-
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 "./camera-biGPWlmx.js";
|
|
2
|
+
import "./types-Z9wv19v2.js";
|
|
3
|
+
import "./types-DYZja-k9.js";
|
|
4
|
+
import "./types-Dv-9WPJX.js";
|
|
5
|
+
import "./flowCompletionService-CdGDKv0z.js";
|
|
6
|
+
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-BgxYUYuD.js";
|
|
7
7
|
export { FlowClosedEvent, FlowCompletedEvent, FlowErrorEvent, FlowEvent, FlowEventListener, FlowEventSubscribable, FlowModuleCompletedEvent, FlowModuleStartedEvent, FlowReadyEvent, FlowStartedEvent };
|
package/dist/flow.d.ts
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import { n as WasmPipeline } from "./warmup
|
|
2
|
-
import { t as Manager } from "./Manager-
|
|
3
|
-
import
|
|
4
|
-
import "./
|
|
5
|
-
import "./types-
|
|
6
|
-
import "./types-
|
|
7
|
-
import { i as
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import
|
|
11
|
-
import * as xstate715 from "xstate";
|
|
1
|
+
import { n as WasmPipeline } from "./warmup--6HA3yUR.js";
|
|
2
|
+
import { n as AnyStateMachine, t as Manager } from "./Manager-B2OEDYqf.js";
|
|
3
|
+
import "./camera-biGPWlmx.js";
|
|
4
|
+
import "./types-Z9wv19v2.js";
|
|
5
|
+
import "./types-DYZja-k9.js";
|
|
6
|
+
import { i as FlowModuleConfig, n as Flow, r as FlowModule } from "./types-Dv-9WPJX.js";
|
|
7
|
+
import { a as classifyScoreStatus, i as TotalScore, n as FinishStatus, r as GetFinishStatusFn, s as getTotalScoreStatus, t as FinishScreenVariant } from "./flowCompletionService-CdGDKv0z.js";
|
|
8
|
+
import { o as FlowEventSubscribable } from "./index-BgxYUYuD.js";
|
|
9
|
+
import { n as ModuleRegistry } from "./types-DpTWgfKY.js";
|
|
10
|
+
import * as xstate1266 from "xstate";
|
|
12
11
|
|
|
13
12
|
//#region src/modules/flow/flowUtils.d.ts
|
|
14
13
|
type NormalizeFlowModulesOptions = {
|
|
@@ -60,7 +59,7 @@ type GetFlow = (signal: AbortSignal, options?: GetFlowOptions) => Promise<Flow>;
|
|
|
60
59
|
declare const getFlow: GetFlow;
|
|
61
60
|
//#endregion
|
|
62
61
|
//#region src/modules/flow/noOpFlowModuleMachine.d.ts
|
|
63
|
-
declare const noOpFlowModuleMachine:
|
|
62
|
+
declare const noOpFlowModuleMachine: xstate1266.StateMachine<xstate1266.MachineContext, xstate1266.AnyEventObject, {}, never, never, never, never, "finished", string, xstate1266.NonReducibleUnknown, xstate1266.NonReducibleUnknown, xstate1266.EventObject, xstate1266.MetaObject, {
|
|
64
63
|
readonly id: "noOpFlowModule";
|
|
65
64
|
readonly initial: "finished";
|
|
66
65
|
readonly states: {
|
|
@@ -230,6 +229,8 @@ type OrchestratedFlowEvent = {
|
|
|
230
229
|
type: 'MODULE_COMPLETE';
|
|
231
230
|
} | {
|
|
232
231
|
type: 'COMPLETE_FLOW';
|
|
232
|
+
} | {
|
|
233
|
+
type: 'FINISH_FLOW';
|
|
233
234
|
} | {
|
|
234
235
|
type: 'HOME_CONTINUE';
|
|
235
236
|
} | {
|
|
@@ -288,6 +289,7 @@ type OrchestratedFlowErrorState = {
|
|
|
288
289
|
status: 'error';
|
|
289
290
|
error: string;
|
|
290
291
|
errorCode?: number;
|
|
292
|
+
moduleErrorCode?: string;
|
|
291
293
|
homeScreen: OrchestratedFlowHomeScreen;
|
|
292
294
|
presentation: OrchestratedFlowPresentation;
|
|
293
295
|
};
|
|
@@ -326,10 +328,18 @@ declare function createOrchestratedFlowManager(options: CreateOrchestratedFlowAc
|
|
|
326
328
|
*/
|
|
327
329
|
completeModule(): void;
|
|
328
330
|
/**
|
|
329
|
-
* Skip all remaining modules and
|
|
330
|
-
*
|
|
331
|
+
* Skip all remaining modules and complete the flow now, notifying the
|
|
332
|
+
* backend (getFinishStatus) on the way to the completion step.
|
|
331
333
|
*/
|
|
332
334
|
completeFlow(): void;
|
|
335
|
+
/**
|
|
336
|
+
* Finish the flow because the onboarding was already completed externally —
|
|
337
|
+
* e.g. the REDIRECT_TO_MOBILE handoff finished end-to-end on mobile. Lands
|
|
338
|
+
* on the completion screen WITHOUT calling getFinishStatus: mobile already
|
|
339
|
+
* notified the backend, and the desktop never reached its own finish.
|
|
340
|
+
* Use this (not `completeFlow`) from REDIRECT_TO_MOBILE's `onFinish`.
|
|
341
|
+
*/
|
|
342
|
+
finishFlow(): void;
|
|
333
343
|
/**
|
|
334
344
|
* Signal that the current module encountered a terminal error, optionally
|
|
335
345
|
* with its machine-readable `moduleErrorCode`. The flow machine decides what
|
|
@@ -363,4 +373,4 @@ declare function createOrchestratedFlowManager(options: CreateOrchestratedFlowAc
|
|
|
363
373
|
continueFromHome(): Promise<void>;
|
|
364
374
|
} & FlowEventSubscribable;
|
|
365
375
|
//#endregion
|
|
366
|
-
export { type FinishStatus, type Flow, type FlowModule, type FlowModuleConfig, type FlowReadyState, type FlowState, type LazyModule, type LazyModuleRegistry, type ModuleLoader, type ModuleLoaderRegistry, type ModuleRegistry, type OrchestratedFlowFinishedState, type OrchestratedFlowHomeScreen, type OrchestratedFlowInput, type OrchestratedFlowPresentation, type OrchestratedFlowReadyState, type OrchestratedFlowState, createFlowManager, createModuleLoader, createOrchestratedFlowManager, getFlow, getRequiredWasmPipelines, noOpFlowModuleMachine, normalizeFlowModules };
|
|
376
|
+
export { type FinishScreenVariant, type FinishStatus, type Flow, type FlowModule, type FlowModuleConfig, type FlowReadyState, type FlowState, type LazyModule, type LazyModuleRegistry, type ModuleLoader, type ModuleLoaderRegistry, type ModuleRegistry, type OrchestratedFlowFinishedState, type OrchestratedFlowHomeScreen, type OrchestratedFlowInput, type OrchestratedFlowPresentation, type OrchestratedFlowReadyState, type OrchestratedFlowState, type TotalScore, classifyScoreStatus, createFlowManager, createModuleLoader, createOrchestratedFlowManager, getFlow, getRequiredWasmPipelines, getTotalScoreStatus, noOpFlowModuleMachine, normalizeFlowModules };
|
package/dist/flow.esm.js
CHANGED
|
@@ -1,19 +1,21 @@
|
|
|
1
|
-
import "./
|
|
2
|
-
import
|
|
3
|
-
import "./
|
|
4
|
-
import "./
|
|
5
|
-
import "./
|
|
6
|
-
import "./
|
|
7
|
-
import "./
|
|
8
|
-
import "./
|
|
9
|
-
import "./
|
|
10
|
-
import
|
|
11
|
-
import "./
|
|
12
|
-
import "./
|
|
13
|
-
import "./
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import { t as
|
|
1
|
+
import "./BrowserTimerProvider-BVgutW_b.esm.js";
|
|
2
|
+
import "./api-DUZwyz0o.esm.js";
|
|
3
|
+
import { g as addEvent } from "./events-DN-u67gb.esm.js";
|
|
4
|
+
import "./endpoints-BM2_j_IE.esm.js";
|
|
5
|
+
import "./stats-DntyIiGr.esm.js";
|
|
6
|
+
import "./IpifyProvider-oZf7Ke1O.esm.js";
|
|
7
|
+
import "./browserSimulation-CGjpdNA1.esm.js";
|
|
8
|
+
import "./sessionInitializer-CaiGA8GP.esm.js";
|
|
9
|
+
import "./platform-BfoqeM61.esm.js";
|
|
10
|
+
import "./getBrowser-Dv8LZyHE.esm.js";
|
|
11
|
+
import "./tri-CtxWthxz.esm.js";
|
|
12
|
+
import { a as fromPromise, c as createManager, r as assign, s as createActor, t as setup } from "./xstate.esm-Dkm1jy5u.esm.js";
|
|
13
|
+
import "./apiError-D-GTvFrH.esm.js";
|
|
14
|
+
import "./types-BdVOWGGW.esm.js";
|
|
15
|
+
import "./session-Be_IA1e0.esm.js";
|
|
16
|
+
import { n as getRequiredWasmPipelines, r as normalizeFlowModules, t as getFlow } from "./flowServices-ar5DXv71.esm.js";
|
|
17
|
+
import { n as getFinishStatus, r as getTotalScoreStatus, t as classifyScoreStatus } from "./flowCompletionService-D_CsiDZM.esm.js";
|
|
18
|
+
import { n as isAdvanceableError, r as attachFlowEventEmitter, t as runChildModule } from "./runChildModule-C9G0wfVC.esm.js";
|
|
17
19
|
|
|
18
20
|
//#region src/modules/flow/noOpFlowModuleMachine.ts
|
|
19
21
|
const noOpFlowModuleMachine = setup({}).createMachine({
|
|
@@ -310,13 +312,6 @@ function getModuleConfig(module, flow) {
|
|
|
310
312
|
...config,
|
|
311
313
|
ageAssurance: config.ageAssurance ?? flow?.ageAssurance
|
|
312
314
|
};
|
|
313
|
-
if (module?.key === "FACE_MATCH") {
|
|
314
|
-
const hasAuthentication = flow?.flowModules?.some((m) => m.key === "AUTHENTICATION") ?? false;
|
|
315
|
-
return {
|
|
316
|
-
...config,
|
|
317
|
-
processFaceBeforeMatch: hasAuthentication
|
|
318
|
-
};
|
|
319
|
-
}
|
|
320
315
|
return config;
|
|
321
316
|
}
|
|
322
317
|
function createBaseContext(context, isHomeContinueLoading) {
|
|
@@ -434,6 +429,7 @@ const orchestratedFlowMachine = setup({
|
|
|
434
429
|
prefetchNextLazyModule(context);
|
|
435
430
|
},
|
|
436
431
|
setFinishStatus: assign(({ event }) => ({ finishStatus: event.output })),
|
|
432
|
+
setFinishStatusFailed: assign({ moduleErrorCode: "FINISH_STATUS_FAILED" }),
|
|
437
433
|
setModuleErrorCode: assign(({ event }) => ({ moduleErrorCode: event.moduleErrorCode })),
|
|
438
434
|
trackAdvanceableModuleError: ({ context, event }) => {
|
|
439
435
|
addEvent({
|
|
@@ -451,6 +447,7 @@ const orchestratedFlowMachine = setup({
|
|
|
451
447
|
isAdvanceableModuleErrorOnLastStep: ({ context, event }) => isAdvanceableError(event.moduleErrorCode) && context.currentStepIndex >= 0 && context.currentStepIndex === context.steps.length - 1,
|
|
452
448
|
isLastStep: ({ context }) => context.currentStepIndex >= 0 && context.currentStepIndex === context.steps.length - 1,
|
|
453
449
|
canGoNext: ({ context }) => context.currentStepIndex >= 0 && context.currentStepIndex < context.steps.length - 1,
|
|
450
|
+
isOnboardingFinishedSignal: ({ event }) => event.output?.action === "onboardingFinished",
|
|
454
451
|
shouldEnterHome: ({ context }) => shouldEnterHome(context),
|
|
455
452
|
hasModule: ({ context, event }) => {
|
|
456
453
|
if (!("output" in event)) return false;
|
|
@@ -577,13 +574,20 @@ const orchestratedFlowMachine = setup({
|
|
|
577
574
|
}
|
|
578
575
|
},
|
|
579
576
|
on: {
|
|
580
|
-
MODULE_COMPLETE: [
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
577
|
+
MODULE_COMPLETE: [
|
|
578
|
+
{
|
|
579
|
+
target: "finished",
|
|
580
|
+
guard: "isOnboardingFinishedSignal"
|
|
581
|
+
},
|
|
582
|
+
{
|
|
583
|
+
target: "completing",
|
|
584
|
+
guard: "isLastStep"
|
|
585
|
+
},
|
|
586
|
+
{
|
|
587
|
+
target: "resolvingModule",
|
|
588
|
+
actions: "incrementStep"
|
|
589
|
+
}
|
|
590
|
+
],
|
|
587
591
|
MODULE_ERROR: [
|
|
588
592
|
{
|
|
589
593
|
guard: "isAdvanceableModuleErrorOnLastStep",
|
|
@@ -605,6 +609,7 @@ const orchestratedFlowMachine = setup({
|
|
|
605
609
|
}
|
|
606
610
|
],
|
|
607
611
|
COMPLETE_FLOW: { target: "completing" },
|
|
612
|
+
FINISH_FLOW: { target: "finished" },
|
|
608
613
|
RESET: {
|
|
609
614
|
target: "idle",
|
|
610
615
|
actions: "resetContext"
|
|
@@ -625,7 +630,7 @@ const orchestratedFlowMachine = setup({
|
|
|
625
630
|
},
|
|
626
631
|
onError: {
|
|
627
632
|
target: "error",
|
|
628
|
-
actions: "setError"
|
|
633
|
+
actions: ["setError", "setFinishStatusFailed"]
|
|
629
634
|
}
|
|
630
635
|
},
|
|
631
636
|
on: { RESET: {
|
|
@@ -633,10 +638,7 @@ const orchestratedFlowMachine = setup({
|
|
|
633
638
|
actions: "resetContext"
|
|
634
639
|
} }
|
|
635
640
|
},
|
|
636
|
-
finished: {
|
|
637
|
-
target: "idle",
|
|
638
|
-
actions: "resetContext"
|
|
639
|
-
} } },
|
|
641
|
+
finished: { type: "final" },
|
|
640
642
|
error: {
|
|
641
643
|
entry: "clearHomeContinueLoading",
|
|
642
644
|
on: { RESET: {
|
|
@@ -715,6 +717,7 @@ function mapOrchestratedFlowState(snapshot, uiOptions) {
|
|
|
715
717
|
status: "error",
|
|
716
718
|
error: context.error ?? "Unknown error",
|
|
717
719
|
errorCode: context.errorCode,
|
|
720
|
+
moduleErrorCode: context.moduleErrorCode,
|
|
718
721
|
homeScreen: uiModel.homeScreen,
|
|
719
722
|
presentation: uiModel.presentation
|
|
720
723
|
};
|
|
@@ -800,6 +803,10 @@ function createOrchestratedFlowApi({ actor, getSnapshot, trackElementClicked },
|
|
|
800
803
|
trackElementClicked?.("completeFlow");
|
|
801
804
|
actor.send({ type: "COMPLETE_FLOW" });
|
|
802
805
|
},
|
|
806
|
+
finishFlow() {
|
|
807
|
+
trackElementClicked?.("finishFlow");
|
|
808
|
+
actor.send({ type: "FINISH_FLOW" });
|
|
809
|
+
},
|
|
803
810
|
errorModule(error, moduleErrorCode) {
|
|
804
811
|
actor.send({
|
|
805
812
|
type: "MODULE_ERROR",
|
|
@@ -868,4 +875,4 @@ function createOrchestratedFlowManager(options) {
|
|
|
868
875
|
}
|
|
869
876
|
|
|
870
877
|
//#endregion
|
|
871
|
-
export { createFlowManager, createModuleLoader, createOrchestratedFlowManager, getFlow, getRequiredWasmPipelines, noOpFlowModuleMachine, normalizeFlowModules };
|
|
878
|
+
export { classifyScoreStatus, createFlowManager, createModuleLoader, createOrchestratedFlowManager, getFlow, getRequiredWasmPipelines, getTotalScoreStatus, noOpFlowModuleMachine, normalizeFlowModules };
|
|
@@ -15,5 +15,13 @@ type FinishStatus = {
|
|
|
15
15
|
};
|
|
16
16
|
type GetFinishStatusFn = (flowId: string | undefined | null, signal?: AbortSignal) => Promise<FinishStatus>;
|
|
17
17
|
declare const getFinishStatus: GetFinishStatusFn;
|
|
18
|
+
/** The session's overall score status (superset of `FinishStatus['scoreStatus']`). */
|
|
19
|
+
type TotalScore = 'OK' | 'WARN' | 'MANUAL_OK' | 'FAIL' | 'UNKNOWN' | 'MANUAL_FAIL' | 'MANUAL' | 'MANUAL_PENDING';
|
|
20
|
+
/** The three status-specific finish screens a session can resolve to. */
|
|
21
|
+
type FinishScreenVariant = 'success' | 'error' | 'review';
|
|
22
|
+
/** Maps a session's `TotalScore` to the finish-screen variant; unknown or absent → `error`. */
|
|
23
|
+
declare function classifyScoreStatus(score: TotalScore | undefined): FinishScreenVariant;
|
|
24
|
+
/** Fetches the session's overall score status via a lighter read-only GET. */
|
|
25
|
+
declare function getTotalScoreStatus(signal?: AbortSignal): Promise<TotalScore>;
|
|
18
26
|
//#endregion
|
|
19
|
-
export {
|
|
27
|
+
export { classifyScoreStatus as a, TotalScore as i, FinishStatus as n, getFinishStatus as o, GetFinishStatusFn as r, getTotalScoreStatus as s, FinishScreenVariant as t };
|