@incodetech/core 2.2.0 → 2.3.0-rc.0
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/THIRD_PARTY_NOTICES.txt +281 -0
- package/dist/BaseWasmProvider-Dyi6dKp1.d.ts +65 -0
- package/dist/{BrowserDiagnosticsCryptoProvider-B8vorxN5.esm.js → BrowserDiagnosticsCryptoProvider-C_9o3L2L.esm.js} +1 -1
- package/dist/{BrowserVisibilityObserverProvider-BX1BiLDK.esm.js → BrowserVisibilityObserverProvider-BrJN1B8A.esm.js} +2 -0
- package/dist/FaceDetectionProvider-DTetAE8H.esm.js +476 -0
- package/dist/FaceDetectionProvider-LdZ47bWy.d.ts +36 -0
- package/dist/{IIdCaptureCapability-DHTT3FC2.d.ts → IIdCaptureCapability-RNiFhvXR.d.ts} +7 -33
- package/dist/IWasmUtilCapability-CXXDA5l1.d.ts +159 -0
- package/dist/{MotionSensorProvider-DGiV77J_.esm.js → MotionSensorProvider-BgTYwg9L.esm.js} +1 -1
- package/dist/{deepsightService-DLVQS_RH.d.ts → StreamCanvasCapture-B3YT2Bt6.d.ts} +54 -41
- package/dist/{StreamCanvasCapture-D2XcXCZ4.esm.js → StreamCanvasCapture-C9jtgBdT.esm.js} +2 -2
- package/dist/{addressSearch-D1XpBdUS.esm.js → addressSearch-BRSu_aGA.esm.js} +1 -1
- package/dist/advanceableErrors-CpF2cBy6.esm.js +21 -0
- package/dist/ae-signature.d.ts +4 -2
- package/dist/ae-signature.esm.js +1 -1
- package/dist/antifraud.esm.js +2 -2
- package/dist/{antifraudManager-CQFNgSPt.esm.js → antifraudManager-Bg9ynGum.esm.js} +2 -2
- package/dist/{antifraudStateMachine-Bf_JVNwn.esm.js → antifraudStateMachine-BHxehiJZ.esm.js} +1 -1
- package/dist/{apiError-BA1d_au0.esm.js → apiError-D0v5hFyN.esm.js} +14 -2
- package/dist/authentication.d.ts +3 -3
- package/dist/authentication.esm.js +2 -2
- package/dist/{authenticationManager-zh9TC62P.esm.js → authenticationManager-C4B4-29g.esm.js} +5 -5
- package/dist/{authenticationManager-BBMGTcwW.d.ts → authenticationManager-DXTIUcma.d.ts} +7 -1
- package/dist/{authenticationStateMachine-xzi-vnvE.esm.js → authenticationStateMachine-DJ0zUm-A.esm.js} +6 -62
- package/dist/avatar.d.ts +1 -2
- package/dist/avatar.esm.js +1 -1
- package/dist/{backCameraStream-CUeYm5eu.esm.js → backCameraStream-BOtyQowf.esm.js} +83 -22
- package/dist/{camera-_2sXMXiF.esm.js → camera-sIa9ceW2.esm.js} +19 -1
- package/dist/camera.esm.js +1 -1
- package/dist/{canvas-E1zGkel4.esm.js → canvas-BxFzWTt-.esm.js} +19 -0
- package/dist/certificate-issuance.d.ts +2 -302
- package/dist/certificate-issuance.esm.js +3 -66
- package/dist/certificateIssuanceManager-Bfvkq7Cy.esm.js +69 -0
- package/dist/certificateIssuanceManager-DCgEidHz.d.ts +312 -0
- package/dist/{certificateIssuanceStateMachine-D_R92TYu.esm.js → certificateIssuanceStateMachine-BBD5h8c4.esm.js} +1 -1
- package/dist/consent.d.ts +1 -1
- package/dist/consent.esm.js +2 -2
- package/dist/{consentManager-BxjpLZAG.esm.js → consentManager-B5Vqdez-.esm.js} +2 -2
- package/dist/{consentManager-3Pbtj-RV.d.ts → consentManager-uhDPdU6i.d.ts} +4 -4
- package/dist/{consentStateMachine-D9D4ON8Z.esm.js → consentStateMachine-DbUmqWgV.esm.js} +1 -1
- package/dist/createCameraCycleOwnership-DQ5-F2oW.esm.js +826 -0
- package/dist/{createFaceAvatar-DQKaRise.esm.js → createFaceAvatar-BNHdeFj8.esm.js} +2 -2
- package/dist/createFaceAvatar-BlcTYgJv.d.ts +497 -0
- package/dist/cross-document-data-match.esm.js +1 -1
- package/dist/{crossDocumentDataMatchManager-CGT0V6RV.esm.js → crossDocumentDataMatchManager-QMOGwHXR.esm.js} +2 -2
- package/dist/curp-validation.d.ts +1 -1
- package/dist/curp-validation.esm.js +2 -2
- package/dist/{curpValidationManager-6Nmkn5u1.esm.js → curpValidationManager-D1ppROcF.esm.js} +2 -2
- package/dist/{curpValidationManager-DVGr7Fq7.d.ts → curpValidationManager-SSKNrm5Z.d.ts} +1 -1
- package/dist/{curpValidationStateMachine-Ds7KMacK.esm.js → curpValidationStateMachine-DvUPC_8S.esm.js} +1 -1
- package/dist/custom-fields.d.ts +2 -114
- package/dist/custom-fields.esm.js +2 -232
- package/dist/custom-watchlist.d.ts +2 -51
- package/dist/custom-watchlist.esm.js +3 -70
- package/dist/customFieldsManager-2j_PBq4U.esm.js +264 -0
- package/dist/customFieldsManager-8-W2KY4n.d.ts +141 -0
- package/dist/customWatchlistManager-DUVrEdw9.esm.js +73 -0
- package/dist/customWatchlistManager-PBWHr_oM.d.ts +64 -0
- package/dist/{customWatchlistStateMachine-YWSgKLbF.esm.js → customWatchlistStateMachine-qZVgkKgP.esm.js} +1 -1
- package/dist/{deepsightLoader--wMKWECS.esm.js → deepsightLoader-Dm7ejW4v.esm.js} +27 -71
- package/dist/device.d.ts +25 -2
- package/dist/device.esm.js +69 -7
- package/dist/document-capture.d.ts +2 -2
- package/dist/document-capture.esm.js +2 -2
- package/dist/{documentCaptureManager-DsQQhWry.esm.js → documentCaptureManager-DR_Wv-3H.esm.js} +2 -2
- package/dist/{documentCaptureManager-B3t0ydtg.d.ts → documentCaptureManager-DensIj5F.d.ts} +83 -83
- package/dist/{documentCaptureStateMachine-BM4Ex_5x.esm.js → documentCaptureStateMachine-CWOATHfE.esm.js} +5 -5
- package/dist/dynamic-forms.d.ts +1 -1
- package/dist/dynamic-forms.esm.js +2 -2
- package/dist/{dynamicFormsManager-fhK0yINk.d.ts → dynamicFormsManager-D5R_uxLQ.d.ts} +25 -3
- package/dist/{dynamicFormsManager-fFVIRBNv.esm.js → dynamicFormsManager-Dt98SDfV.esm.js} +16 -5
- package/dist/{dynamicFormsStateMachine-D6D7oEYk.esm.js → dynamicFormsStateMachine-obKr4IIp.esm.js} +35 -3
- package/dist/ekyb.d.ts +1 -1
- package/dist/ekyb.esm.js +3 -3
- package/dist/{ekybManager-Y3MkoXpC.esm.js → ekybManager-DNZKrKF3.esm.js} +2 -2
- package/dist/{ekybStateMachine-3nlnqdlr.esm.js → ekybStateMachine-DjhHQXZ8.esm.js} +3 -3
- package/dist/ekyc.esm.js +2 -2
- package/dist/{ekycManager-DgT48ky6.esm.js → ekycManager-CmQBpeiI.esm.js} +2 -2
- package/dist/{ekycStateMachine-CQwqiR-R.esm.js → ekycStateMachine-CmdW2gVm.esm.js} +2 -2
- package/dist/electronic-signature.d.ts +3 -3
- package/dist/electronic-signature.esm.js +2 -2
- package/dist/electronicSignatureManager-Ds-KEVTq.d.ts +2786 -0
- package/dist/{electronicSignatureManager-DGbAJ00W.esm.js → electronicSignatureManager-DzulxM4_.esm.js} +357 -51
- package/dist/email.esm.js +2 -2
- package/dist/{emailManager-BY0jeYwR.esm.js → emailManager-B5ek_UfM.esm.js} +2 -2
- package/dist/{emailStateMachine-Crw8QVmc.esm.js → emailStateMachine-CyPFZ7dW.esm.js} +1 -1
- package/dist/{endpoints-CCzL3XD_.esm.js → endpoints-D3B9mUHh.esm.js} +24 -7
- package/dist/{events-DYiyoSlx.esm.js → events-ijlbX_Wx.esm.js} +2 -2
- package/dist/events.d.ts +1 -1
- package/dist/events.esm.js +1 -1
- package/dist/extensibility.d.ts +24 -64
- package/dist/extensibility.esm.js +35 -29
- package/dist/face-match.esm.js +2 -2
- package/dist/{faceCaptureManagerFactory-BxWPpxyd.d.ts → faceCaptureManagerFactory-CvtqcLxs.d.ts} +87 -54
- package/dist/{faceCaptureManagerFactory-CVnZ0fa5.esm.js → faceCaptureManagerFactory-pCmG4MeF.esm.js} +68 -7
- package/dist/faceCaptureSetup-BSextack.esm.js +2106 -0
- package/dist/{faceMatchManager-Ri4UbNz0.esm.js → faceMatchManager-Caal2zyV.esm.js} +2 -2
- package/dist/{faceMatchStateMachine-20DdZ3jg.esm.js → faceMatchStateMachine-BUc5FXYy.esm.js} +1 -1
- package/dist/{feature-management-CPQ4qv3F.esm.js → feature-management-B0sGlozZ.esm.js} +32 -7
- package/dist/feature-management.d.ts +1 -1
- package/dist/feature-management.esm.js +1 -1
- package/dist/field-comparison.esm.js +1 -1
- package/dist/{fieldComparisonManager-Cg6kPQQx.esm.js → fieldComparisonManager-BIs6HPJG.esm.js} +2 -2
- package/dist/fiscal-qr.d.ts +2 -56
- package/dist/fiscal-qr.esm.js +2 -308
- package/dist/fiscalQrManager-Bp_-3LJr.esm.js +34131 -0
- package/dist/fiscalQrManager-CHcBJwUM.d.ts +68 -0
- package/dist/flow-events.d.ts +1 -1
- package/dist/flow.d.ts +212 -185
- package/dist/flow.esm.js +119 -30
- package/dist/{flowCompletionService-tfeoGre9.esm.js → flowCompletionService-CLtbWhSK.esm.js} +2 -2
- package/dist/{flowServices-f5Ruz7R9.esm.js → flowServices-B5FwukTQ.esm.js} +91 -26
- package/dist/geolocation.esm.js +2 -2
- package/dist/{geolocationManager-CH6RfqFH.esm.js → geolocationManager-DIw-xq9a.esm.js} +2 -2
- package/dist/{geolocationStateMachine-DmbWFely.esm.js → geolocationStateMachine-DpG0TFOU.esm.js} +3 -3
- package/dist/getBrowser-CBiibsL-.esm.js +19 -0
- package/dist/{getBrowser-DNrQeL4T.esm.js → getBrowser-Cbe1C4Tn.esm.js} +2 -1
- package/dist/{getDeviceClass-9y-kbVDw.esm.js → getDeviceClass-5NYZg9s6.esm.js} +2 -2
- package/dist/getParsedUserAgent-B2iFDql1.esm.js +1278 -0
- package/dist/government-validation.d.ts +2 -85
- package/dist/government-validation.esm.js +3 -120
- package/dist/governmentValidationManager-D02vT4yY.d.ts +63 -0
- package/dist/governmentValidationManager-TjC9iVjH.esm.js +79 -0
- package/dist/governmentValidationStateMachine-D1ZnEqdd.esm.js +54 -0
- package/dist/home.d.ts +1 -1
- package/dist/home.esm.js +1 -1
- package/dist/id-ocr.d.ts +2 -2
- package/dist/id-ocr.esm.js +2 -2
- package/dist/id-selfie-flow.d.ts +3 -2
- package/dist/id-selfie-flow.esm.js +11 -10
- package/dist/id-verification.esm.js +2 -2
- package/dist/id.d.ts +29 -5
- package/dist/id.esm.js +48 -46
- package/dist/idCaptureDefaults-BcxjQDI3.esm.js +484 -0
- package/dist/{idCaptureManager-CqrqSjJV.d.ts → idCaptureManager-CvmHOWWd.d.ts} +227 -39
- package/dist/{idCaptureManager-BYwTZ2H8.esm.js → idCaptureManager-Vby8oYqh.esm.js} +259 -46
- package/dist/{idCaptureServices-44kwQItl.esm.js → idCaptureServices-CJIxD9ep.esm.js} +342 -31
- package/dist/idCaptureStateMachine-CmqihkUy.esm.js +5343 -0
- package/dist/{idOcrManager-DXc_xRN7.d.ts → idOcrManager-BF_cXZq8.d.ts} +1 -1
- package/dist/{idOcrManager-BIQYQXXj.esm.js → idOcrManager-DHU22hVn.esm.js} +2 -2
- package/dist/{idOcrStateMachine-cSxzHpHt.esm.js → idOcrStateMachine-33UvRAHE.esm.js} +1 -1
- package/dist/{idVerificationManager-JpV_SAsl.esm.js → idVerificationManager-CyaixD0D.esm.js} +2 -2
- package/dist/{idVerificationStateMachine-nPeUNyFq.esm.js → idVerificationStateMachine-BPGrQZEm.esm.js} +1 -1
- package/dist/identity-reuse.esm.js +2 -2
- package/dist/{identityReuseManager-kNCg9AbD.esm.js → identityReuseManager-CWaNHBO3.esm.js} +2 -2
- package/dist/{identityReuseStateMachine-DyulxDjP.esm.js → identityReuseStateMachine-CQgnATo5.esm.js} +1 -1
- package/dist/{index-CLMF0QLQ.d.ts → index-DLcJT5YP.d.ts} +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/{invokeOnCaptureCallback-GpvMuz9o.esm.js → invokeOnCaptureCallback-BjzPjJ_p.esm.js} +1 -1
- package/dist/mandatory-consent.d.ts +2 -2
- package/dist/mandatory-consent.esm.js +2 -2
- package/dist/{mandatoryConsentManager-DyPzUmsZ.d.ts → mandatoryConsentManager-CJSyhTpi.d.ts} +5 -5
- package/dist/{mandatoryConsentManager-B4Niyg_u.esm.js → mandatoryConsentManager-Du-m-tZ_.esm.js} +2 -2
- package/dist/{mandatoryConsentStateMachine-B4-1u-L8.esm.js → mandatoryConsentStateMachine-DSDAk7WZ.esm.js} +1 -1
- package/dist/multipartRecordingService-B3C_zlev.esm.js +594 -0
- package/dist/{permissionGuards-KINpmKtI.esm.js → permissionGuards-uYZYFu4J.esm.js} +1 -1
- package/dist/{permissionServices-UvUcOSRb.esm.js → permissionServices-Bj_fyWtv.esm.js} +5 -5
- package/dist/personhood.d.ts +6 -5
- package/dist/personhood.esm.js +10 -10
- package/dist/phone.esm.js +2 -2
- package/dist/{phoneManager-FsJ0W2Ei.esm.js → phoneManager-N1-sbrY4.esm.js} +2 -2
- package/dist/{phoneStateMachine-Ba0wKHyX.esm.js → phoneStateMachine-jl8LJKCo.esm.js} +1 -1
- package/dist/{platform-BJrm5nzZ.esm.js → platform-DkcRc9JV.esm.js} +29 -1
- package/dist/qe-signature.d.ts +5 -3
- package/dist/qe-signature.esm.js +2 -2
- package/dist/recordingsRepository-CCWy13M-.esm.js +72 -0
- package/dist/redirect-to-mobile.esm.js +2 -2
- package/dist/{redirectToMobileManager-y4VQB11M.esm.js → redirectToMobileManager-DsFzdTwA.esm.js} +2 -2
- package/dist/{redirectToMobileStateMachine-Cyv2x0PP.esm.js → redirectToMobileStateMachine-v3otpT-L.esm.js} +1 -1
- package/dist/{rolldown-runtime-FZ4Itg2g.esm.js → rolldown-runtime-FDOR9p9I.esm.js} +1 -19
- package/dist/{runChildModule-Dukuw23X.esm.js → runChildModule-TuyGE00X.esm.js} +3 -21
- package/dist/safeStorage-B-trhxg6.esm.js +423 -0
- package/dist/{sdkVersion-D1Bm59g6.esm.js → sdkVersion-CLxKvdyz.esm.js} +1 -1
- package/dist/selfie.d.ts +5 -5
- package/dist/selfie.esm.js +14 -76
- package/dist/{selfieErrorUtils-C2PYBVsp.esm.js → selfieErrorUtils-C77GXJH6.esm.js} +30 -4
- package/dist/{selfieManager-Bj6B2ZVy.esm.js → selfieManager-CihVnODO.esm.js} +5 -5
- package/dist/{selfieManager-DwlCppg0.d.ts → selfieManager-D1KRJ39M.d.ts} +8 -11
- package/dist/selfieStateMachine-fwMmNtOi.esm.js +69 -0
- package/dist/{session-BFdLgN4i.esm.js → session-BHIeAamR.esm.js} +4 -5
- package/dist/session.d.ts +21 -11
- package/dist/session.esm.js +5 -5
- package/dist/{sessionInitializer-dlfDehHk.esm.js → sessionInitializer-BLoK7SP9.esm.js} +187 -68
- package/dist/{setup-BgoWtvIS.d.ts → setup-Cv-JM9QC.d.ts} +63 -69
- package/dist/{setup-BIAtLa8k.esm.js → setup-msLybMbC.esm.js} +226 -100
- package/dist/signature.esm.js +2 -2
- package/dist/{signatureManager-Ca43yhwk.esm.js → signatureManager-ChsB-nMD.esm.js} +2 -2
- package/dist/{signatureStateMachine-K1LMRrxG.esm.js → signatureStateMachine-BHPwkJZS.esm.js} +1 -1
- package/dist/{src-0Jurt29N.esm.js → src-35ekGRzK.esm.js} +1 -1
- package/dist/{stats-B0nFKawG.esm.js → stats-DkK-f8JT.esm.js} +1 -1
- package/dist/stats.esm.js +1 -1
- package/dist/{trueSightService---iW2KKJ.esm.js → trueSightService-CKrrfV0Q.esm.js} +7 -7
- package/dist/trust-graph.esm.js +1 -1
- package/dist/{types-BX_XkMsQ2.d.ts → types-9_esGTPj.d.ts} +1 -1
- package/dist/types-BT_Oalip.d.ts +1 -0
- package/dist/{types-DelMqZLe.d.ts → types-BjSly8cp.d.ts} +1 -1
- package/dist/{types-Hmd7U0JA.d.ts → types-CM-jtjJ2.d.ts} +6 -81
- package/dist/{types-Bdf8_LYB2.d.ts → types-CjKBS37a2.d.ts} +303 -13
- package/dist/{types-DVmXIdzW.d.ts → types-D0gekt4U.d.ts} +38 -5
- package/dist/types-DgDvvzg0.d.ts +10 -0
- package/dist/{types-KPvmag_B.d.ts → types-Do5rEXij.d.ts} +7 -4
- package/dist/types-ZT1XFIJ8.d.ts +6 -0
- package/dist/video-selfie.d.ts +59 -35
- package/dist/video-selfie.esm.js +510 -601
- package/dist/{videoSelfieCameraWarmer-NEhFZvWx.esm.js → videoSelfieCameraWarmer-CB1IzZkt.esm.js} +14 -153
- package/dist/videoSelfieFlowModuleMachine-BUe2uACW.esm.js +32 -0
- package/dist/{videoSelfieStepDetector-D3oo2ofo.d.ts → videoSelfieStepDetector-5YHFe0Mq.d.ts} +21 -5
- package/dist/virtualCameraCheck-WOloJ-do.esm.js +48 -0
- package/dist/warmup-CUUnwYxe.esm.js +714 -0
- package/dist/warmup-Cis2p6O0.d.ts +128 -0
- package/dist/wasm.d.ts +30 -6
- package/dist/wasm.esm.js +36 -4
- package/dist/{wasmDsFlagSync-BqUCwLY8.esm.js → wasmDsFlagSync-B2e8p268.esm.js} +2 -2
- package/dist/{wasmWebClient-DM8lkb0z.esm.js → wasmWebClient-B7baE-Wf.esm.js} +358 -28
- package/dist/watchlist-for-business.d.ts +2 -78
- package/dist/watchlist-for-business.esm.js +3 -102
- package/dist/watchlist.esm.js +2 -2
- package/dist/watchlistForBusinessManager-CpuuB1J2.esm.js +107 -0
- package/dist/watchlistForBusinessManager-CsnJnG-C.d.ts +99 -0
- package/dist/{watchlistForBusinessStateMachine-CxFnlshm.esm.js → watchlistForBusinessStateMachine-DEzgjz7C.esm.js} +13 -6
- package/dist/{watchlistManager-LoNZH9qm.esm.js → watchlistManager-CI8BHFob.esm.js} +2 -2
- package/dist/{watchlistStateMachine-DIKQDoUT.esm.js → watchlistStateMachine-DvOby3a-.esm.js} +1 -1
- package/dist/workflow.d.ts +12 -8
- package/dist/workflow.esm.js +48 -39
- package/package.json +4 -10
- package/dist/BrowserStorageProvider-k-FDkC4W.esm.js +0 -67
- package/dist/FaceDetectionProvider-Mh6q3EbA.d.ts +0 -349
- package/dist/IFaceAvatarCapability-BrL19G0s.d.ts +0 -23
- package/dist/IStorageCapability-ORkQfK3F.d.ts +0 -242
- package/dist/OpenViduRecordingProvider-Du98qevC.esm.js +0 -85
- package/dist/createFaceAvatar-BEj18KXi.d.ts +0 -50
- package/dist/document-upload.d.ts +0 -325
- package/dist/document-upload.esm.js +0 -197
- package/dist/electronicSignatureManager-CcUXQZS7.d.ts +0 -1300
- package/dist/faceCaptureSetup-Cd-04W_X.esm.js +0 -863
- package/dist/getBrowser-Cb8Zgrgp.esm.js +0 -7
- package/dist/getParsedUserAgent-pJjATANs.esm.js +0 -1622
- package/dist/governmentValidationStateMachine-CK9DrZXX.esm.js +0 -226
- package/dist/idCaptureDefaults-WeHbQM7W.esm.js +0 -225
- package/dist/idCaptureStateMachine-kZ5OpdfM.esm.js +0 -3342
- package/dist/lib-DAyUtOTj.esm.js +0 -12420
- package/dist/manualReviewService-D4IkipnN.esm.js +0 -15
- package/dist/mediaRecorderOptions-dALSV8af.esm.js +0 -40
- package/dist/onDeviceFaceResults-CUHwyZT4.esm.js +0 -646
- package/dist/openviduLazy-CCDpFWg1.esm.js +0 -10
- package/dist/recordingService-3NSENVwp.esm.js +0 -329
- package/dist/safeStorage-Ep56I-f_.esm.js +0 -982
- package/dist/selfieStateMachine-CHV_WNst.esm.js +0 -55
- package/dist/trueSight-B_icM8r2.esm.js +0 -1
- package/dist/types-EELWyWpd.d.ts +0 -6
- package/dist/types-Vb4P9ovf.d.ts +0 -22
- package/dist/warmup-Dv2alr2-.d.ts +0 -82
- package/dist/wasmDefaults-DTUrftxR.esm.js +0 -125
- package/dist/{Face2DProvider-UUQt_vRC.esm.js → Face2DProvider-BF48sz5c.esm.js} +1 -1
- package/dist/{PrivacyLensProvider-D8PS7AJa.esm.js → PrivacyLensProvider-EwnC_C5n.esm.js} +1 -1
- /package/dist/{types-BfgmV7s72.d.ts → types-BfgmV7s7.d.ts} +0 -0
- /package/dist/{types-CJ7Yl9K-2.d.ts → types-CJ7Yl9K-.d.ts} +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { a as setWebApiHttpTransport, i as initializeWasmWebClient, o as setupWasmConnection, r as executeWasmRequest, t as WasmWebClientError } from "./wasmWebClient-
|
|
1
|
+
import { a as setWebApiHttpTransport, i as initializeWasmWebClient, o as setupWasmConnection, r as executeWasmRequest, t as WasmWebClientError } from "./wasmWebClient-B7baE-Wf.esm.js";
|
|
2
2
|
import { t as getTimestamp } from "./IBrowserEnvironmentCapability-DEaRRk-R.esm.js";
|
|
3
3
|
import { i as isApiConfigured, n as getApi, o as setClient, r as getToken, t as api } from "./api-Bx3gKW_y.esm.js";
|
|
4
|
-
import { S as subscribeEvent, n as eventModuleNames } from "./events-
|
|
5
|
-
import { t as SDK_VERSION } from "./sdkVersion-
|
|
6
|
-
import { t as endpoints } from "./endpoints-
|
|
4
|
+
import { S as subscribeEvent, n as eventModuleNames } from "./events-ijlbX_Wx.esm.js";
|
|
5
|
+
import { t as SDK_VERSION } from "./sdkVersion-CLxKvdyz.esm.js";
|
|
6
|
+
import { t as endpoints } from "./endpoints-D3B9mUHh.esm.js";
|
|
7
7
|
//#region ../infra/src/http/createApi.ts
|
|
8
8
|
var FetchHttpError = class extends Error {
|
|
9
9
|
constructor(status, statusText, url, method, headers, data) {
|
|
@@ -323,7 +323,7 @@ const createWasmApi = async (config) => {
|
|
|
323
323
|
const headers = buildWasmDefaultHeaders(config.customHeaders);
|
|
324
324
|
const isEncryptionEnabled = config.isEncryptionEnabled ?? (() => false);
|
|
325
325
|
const useSha256 = config.mgf1 === "sha256";
|
|
326
|
-
await initializeWasmWebClient(config.wasm
|
|
326
|
+
await initializeWasmWebClient(config.wasm);
|
|
327
327
|
await setupWasmConnection(config.apiURL, "", config.encryptionEnabled ?? false, headers, useSha256);
|
|
328
328
|
const defaults = {
|
|
329
329
|
baseURL: config.apiURL,
|
|
@@ -1320,7 +1320,7 @@ let cryptoProviderPromise = null;
|
|
|
1320
1320
|
* the service's prewarm).
|
|
1321
1321
|
*/
|
|
1322
1322
|
function loadDiagnosticsCryptoProvider() {
|
|
1323
|
-
cryptoProviderPromise ??= import("./BrowserDiagnosticsCryptoProvider-
|
|
1323
|
+
cryptoProviderPromise ??= import("./BrowserDiagnosticsCryptoProvider-C_9o3L2L.esm.js").then((module) => new module.BrowserDiagnosticsCryptoProvider());
|
|
1324
1324
|
return cryptoProviderPromise;
|
|
1325
1325
|
}
|
|
1326
1326
|
/**
|
|
@@ -1889,4 +1889,4 @@ function modulePosition(payload) {
|
|
|
1889
1889
|
return `${typeof moduleIndex === "number" ? ` index=${moduleIndex}` : ""}${typeof totalModules === "number" ? ` total=${totalModules}` : ""}`;
|
|
1890
1890
|
}
|
|
1891
1891
|
//#endregion
|
|
1892
|
-
export {
|
|
1892
|
+
export { upgradeToWasmHttpClient as C, resetHttpClientState as S, noteTestingSignals as _, notifyTrueSightManagerStopped as a, getStoredHttpConfig as b, trueSightHintTransition as c, fetchFeatureConfig as d, isFeatureEnabled as f, noteSessionCreated as g, noteEnvironment as h, notifyTrueSightFlowEvent as i, trueSightLog as l, isTrueSightTesting as m, initializeTrueSightDiagnostics as n, resetTrueSight as o, resetFeatureConfigCache as p, noteTrueSightCaptureActivity as r, startTrueSightCollection as s, finalizeTrueSight as t, categoryForEndpoint as u, noteTokenActivated as v, createApi as w, installFreshHttpClient as x, randomUUID as y };
|
package/dist/trust-graph.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as eventModuleNames, o as createManagerInstrumentation } from "./events-
|
|
1
|
+
import { n as eventModuleNames, o as createManagerInstrumentation } from "./events-ijlbX_Wx.esm.js";
|
|
2
2
|
import { s as createActor, t as setup, u as createManager } from "./xstate.esm-BuFLFuzz.esm.js";
|
|
3
3
|
//#region src/modules/trust-graph/trustGraphStateMachine.ts
|
|
4
4
|
/**
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./createFaceAvatar-BlcTYgJv.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as CameraStream } from "./camera-9wWD-pwg.js";
|
|
2
1
|
import { t as PermissionResult } from "./types-BEwVKkLJ.js";
|
|
2
|
+
import { t as CameraStream } from "./camera-9wWD-pwg.js";
|
|
3
3
|
//#region src/modules/document-capture/types.d.ts
|
|
4
4
|
type DocumentType = 'addressStatement' | 'otherDocument1' | 'otherDocument2' | 'otherDocument3' | 'v5cMultiPageLogbook' | 'circulationCard' | 'financeSettlement' | 'carInvoice' | 'capture' | 'processPoaOcr' | 'processLoaOcr' | 'processAsylumSeekerVisaZaf' | 'processBankStatementOCR' | 'processBankCheck' | 'processV5CLogbook' | 'processCarInvoice' | 'processCirculationCard' | 'processFinanceSettlement' | 'processW8BenOcr' | 'processW8BenEOcr' | 'w8Ben' | 'w8BenE';
|
|
5
5
|
declare const DOCUMENT_CAPTURE_ERROR_CODES: {
|
|
@@ -1,82 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { t as
|
|
4
|
-
import { n as Flow, s as SelfieConcealmentOption } from "./types-KPvmag_B.js";
|
|
5
|
-
//#region ../infra/src/capabilities/IWasmUtilCapability.d.ts
|
|
6
|
-
type WasmUtilConfig = MLProviderConfig & {
|
|
7
|
-
pipelines?: WasmPipeline[];
|
|
8
|
-
};
|
|
9
|
-
type VirtualCameraCheckOutput = {
|
|
10
|
-
canvas: HTMLCanvasElement | null;
|
|
11
|
-
itr: boolean | null;
|
|
12
|
-
skipped: boolean | null;
|
|
13
|
-
};
|
|
14
|
-
type IWasmUtilCapability = {
|
|
15
|
-
/**
|
|
16
|
-
* Whether the provider has been initialized and is ready to be used.
|
|
17
|
-
*/
|
|
18
|
-
readonly initialized: boolean;
|
|
19
|
-
/**
|
|
20
|
-
* Initializes the provider with the given configuration.
|
|
21
|
-
* If WASM was already warmed up via `warmupWasm()`, this returns almost instantly.
|
|
22
|
-
* @param config - Provider configuration including WASM paths
|
|
23
|
-
*/
|
|
24
|
-
initialize(config: WasmUtilConfig): Promise<void>;
|
|
25
|
-
/**
|
|
26
|
-
* Encrypts a base64 image using the WASM utility API.
|
|
27
|
-
* @param image - Base64 image string (no data URL prefix)
|
|
28
|
-
* @returns Encrypted string
|
|
29
|
-
*/
|
|
30
|
-
encryptImage(image: string): string;
|
|
31
|
-
setSdkVersion(version: string): void;
|
|
32
|
-
setSdkPlatform(platform: string): void;
|
|
33
|
-
setDeviceInfo(deviceInfo: object, overrideExisting?: boolean): void;
|
|
34
|
-
setBrowserInfo(browserInfo: object, overrideExisting?: boolean): void;
|
|
35
|
-
setCameraInfo(cameraInfo: object, overrideExisting?: boolean): void;
|
|
36
|
-
setMotionStatus(status: string): void;
|
|
37
|
-
setBackgroundMode(backgroundMode: boolean): void;
|
|
38
|
-
/**
|
|
39
|
-
* Enables on-device mode: the native WASM module skips full fingerprint
|
|
40
|
-
* collection and keeps only the device-detection DTO. Additive; default off.
|
|
41
|
-
*/
|
|
42
|
-
setOnDeviceMode(enabled: boolean): void;
|
|
43
|
-
setZc(zc: string): void;
|
|
44
|
-
setInspectorOpened(opened: boolean): void;
|
|
45
|
-
/**
|
|
46
|
-
* Returns whether the DevTools inspector has been detected as open.
|
|
47
|
-
* Safe to call before WASM initialization (returns the in-memory flag).
|
|
48
|
-
*/
|
|
49
|
-
getInspectorOpened(): boolean;
|
|
50
|
-
/**
|
|
51
|
-
* Toggles the WASM module's production mode. When `true`, the native module
|
|
52
|
-
* suppresses its verbose debug logging/console output.
|
|
53
|
-
*/
|
|
54
|
-
setProductionMode(productionMode: boolean): Promise<void>;
|
|
55
|
-
getMetadata(): string;
|
|
56
|
-
analyzeFrame(image: ImageData): Promise<void>;
|
|
57
|
-
getCheck(): string;
|
|
58
|
-
/**
|
|
59
|
-
* Gets the current pipeline state. Must be called before setMotionStatus(),
|
|
60
|
-
* getCheck(), setBackgroundMode(), and getMetadata() for proper metadata generation.
|
|
61
|
-
*/
|
|
62
|
-
getPipelineState(): string;
|
|
63
|
-
estimatePerformance(): string;
|
|
64
|
-
isVirtualCamera(label: string | null): boolean;
|
|
65
|
-
prc(): Promise<void>;
|
|
66
|
-
poc(output: VirtualCameraCheckOutput): Promise<void>;
|
|
67
|
-
rsp(): Promise<void>;
|
|
68
|
-
ssl(): void;
|
|
69
|
-
stl(): void;
|
|
70
|
-
osv(): void;
|
|
71
|
-
oev(): void;
|
|
72
|
-
ckvcks(data: ArrayBuffer): void;
|
|
73
|
-
getVersions(): Promise<unknown>;
|
|
74
|
-
/**
|
|
75
|
-
* Disposes of resources and resets initialization state.
|
|
76
|
-
*/
|
|
77
|
-
dispose(): Promise<void>;
|
|
78
|
-
};
|
|
79
|
-
//#endregion
|
|
1
|
+
import { a as AvatarAssetsOverrides } from "./createFaceAvatar-BlcTYgJv.js";
|
|
2
|
+
import { n as Flow, s as SelfieConcealmentOption } from "./types-Do5rEXij.js";
|
|
3
|
+
import { a as IRecordingCapability, i as IStorageCapability, t as IWasmUtilCapability } from "./IWasmUtilCapability-CXXDA5l1.js";
|
|
80
4
|
//#region src/internal/faceCapture/types.d.ts
|
|
81
5
|
type CameraResolution = {
|
|
82
6
|
width?: number;
|
|
@@ -95,7 +19,7 @@ type FaceCapturedImageData = {
|
|
|
95
19
|
* Populated when local video recording is active
|
|
96
20
|
* (`enableFaceRecording === true` with `LocalRecordingService`).
|
|
97
21
|
* `undefined` when video recording is disabled, when the provider is
|
|
98
|
-
*
|
|
22
|
+
* an injected remote recorder, or when video assembly fails.
|
|
99
23
|
*
|
|
100
24
|
* Delivered as raw base64 (not encrypted via WASM `ens()` like the regular
|
|
101
25
|
* flow). Integrators receiving this are responsible for handling it as
|
|
@@ -129,6 +53,7 @@ type BaseFaceCaptureConfig = {
|
|
|
129
53
|
capability?: IRecordingCapability;
|
|
130
54
|
};
|
|
131
55
|
ds?: Flow['ds'];
|
|
56
|
+
manualUploadSelfieCapture?: boolean;
|
|
132
57
|
/**
|
|
133
58
|
* When true, face analysis runs on-device via the OnDevice WASM workflow
|
|
134
59
|
* (6 models) and only the results JSON is submitted to the backend
|
|
@@ -203,4 +128,4 @@ declare const FACE_ERROR_CODES: {
|
|
|
203
128
|
};
|
|
204
129
|
type FaceErrorCode = (typeof FACE_ERROR_CODES)[keyof typeof FACE_ERROR_CODES];
|
|
205
130
|
//#endregion
|
|
206
|
-
export { FaceCapturedImageData as a,
|
|
131
|
+
export { FaceCapturedImageData as a, FaceCaptureOnlyResponse as i, DetectionStatus as n, FaceErrorCode as o, FaceCaptureDependencies as r, BaseFaceCaptureConfig as t };
|
|
@@ -1,15 +1,177 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { a as
|
|
1
|
+
import { y as IncodeCanvas } from "./createFaceAvatar-BlcTYgJv.js";
|
|
2
|
+
import { a as RegulationTypes, n as Flow, o as TutorialIdConfig } from "./types-Do5rEXij.js";
|
|
3
|
+
import { a as IRecordingCapability, i as IStorageCapability, o as RecordingConnection } from "./IWasmUtilCapability-CXXDA5l1.js";
|
|
4
4
|
import { t as PermissionResult } from "./types-BEwVKkLJ.js";
|
|
5
|
-
import { n as
|
|
6
|
-
import {
|
|
5
|
+
import { n as DeepsightService, t as StreamCanvasCapture } from "./StreamCanvasCapture-B3YT2Bt6.js";
|
|
6
|
+
import { t as CameraStream } from "./camera-9wWD-pwg.js";
|
|
7
|
+
import { i as Pdf417DecodeResult, n as IIdCaptureCapability, r as IdCaptureSettings, t as DetectionOrientation } from "./IIdCaptureCapability-RNiFhvXR.js";
|
|
8
|
+
//#region ../infra/src/capabilities/IDigitalCredentialsCapability.d.ts
|
|
9
|
+
/**
|
|
10
|
+
* Digital Credentials capability — wraps the W3C Digital Credentials API
|
|
11
|
+
* (`navigator.credentials.get()` with a `digital` request) used to pull a
|
|
12
|
+
* verified credential (e.g. an mDL) from an OS wallet such as Apple Wallet
|
|
13
|
+
* (web) or Google Wallet.
|
|
14
|
+
*
|
|
15
|
+
* The request payloads are built entirely by the Incode backend and are
|
|
16
|
+
* opaque to the SDK; the wallet's response is likewise an opaque string that
|
|
17
|
+
* is forwarded to the backend for decryption.
|
|
18
|
+
*/
|
|
19
|
+
/** Wallet protocols the SDK requests credentials with. */
|
|
20
|
+
type DigitalCredentialProtocol = 'org-iso-mdoc' | 'openid4vp-v1-unsigned';
|
|
21
|
+
/** One entry of the Digital Credentials API `digital.requests` array. */
|
|
22
|
+
type DigitalCredentialRequest = {
|
|
23
|
+
protocol: DigitalCredentialProtocol;
|
|
24
|
+
/**
|
|
25
|
+
* Opaque protocol payload, built by the backend.
|
|
26
|
+
* Apple (`org-iso-mdoc`): `{ deviceRequest, encryptionInfo }` base64 strings.
|
|
27
|
+
* Google (`openid4vp-v1-unsigned`): the whole OIDC4VP/DCQL request object.
|
|
28
|
+
*/
|
|
29
|
+
data: unknown;
|
|
30
|
+
};
|
|
31
|
+
type DigitalCredentialResult = {
|
|
32
|
+
/**
|
|
33
|
+
* Opaque wallet response (Apple: encrypted deviceResponse; Google: a JWE).
|
|
34
|
+
* `undefined` when the OS sheet completed without producing a credential
|
|
35
|
+
* (user dismissed, or no eligible digital ID on the device) — that outcome
|
|
36
|
+
* is data, not an error.
|
|
37
|
+
*/
|
|
38
|
+
response: string | undefined;
|
|
39
|
+
};
|
|
40
|
+
interface IDigitalCredentialsCapability {
|
|
41
|
+
/**
|
|
42
|
+
* Whether the environment exposes Digital Credentials, not just the generic
|
|
43
|
+
* Credentials API used by passwords/WebAuthn.
|
|
44
|
+
*/
|
|
45
|
+
isAvailable(): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Presents the OS wallet sheet for the given request and resolves with the
|
|
48
|
+
* wallet's opaque response. Must be reached from a user gesture — iOS
|
|
49
|
+
* Safari requires transient user activation for `navigator.credentials.get()`.
|
|
50
|
+
* Rejects when the underlying API rejects (blocked, aborted, protocol error).
|
|
51
|
+
*/
|
|
52
|
+
get(request: DigitalCredentialRequest, options?: {
|
|
53
|
+
signal?: AbortSignal;
|
|
54
|
+
}): Promise<DigitalCredentialResult>;
|
|
55
|
+
}
|
|
56
|
+
//#endregion
|
|
57
|
+
//#region src/modules/digital-id-redirect/types.d.ts
|
|
58
|
+
/**
|
|
59
|
+
* Trinsic web-redirect Digital ID — module contracts.
|
|
60
|
+
*
|
|
61
|
+
* DRAFT (P1 core scaffolding) — shape for review before implementation.
|
|
62
|
+
* Ticket: Phase 1 "Integrate with Trinsic for Digital IDs - Web Redirect" (1509).
|
|
63
|
+
* API: "Digital ID Verification API — Frozen Definition v2.0"
|
|
64
|
+
* base /omni/v2/digital-id, auth x-api-key + X-Incode-Hardware-Id.
|
|
65
|
+
*/
|
|
66
|
+
/** Catalog-driven provider id (open set), e.g. `trinsic_netherlands_idin`. */
|
|
67
|
+
type DigitalIdProviderId = string;
|
|
68
|
+
type FlowType = 'REDIRECT' | 'DEEPLINK' | 'QR' | 'NATIVE_CHALLENGE' | 'PUSH';
|
|
69
|
+
/** Mapped from Trinsic `failCode` by the backend (Phase 1 §4.1). */
|
|
70
|
+
type FailureReason = 'USER_CANCELED' | 'AUTHENTICATION_FAILED' | 'SESSION_EXPIRED' | 'VERIFICATION_FAILED' | 'PROVIDER_INTERNAL_ERROR' | 'RESULTS_EXCHANGE_FAILED' | 'RP_CANCELED' | 'INVALID_REDIRECT_RESULT' | 'SESSION_TOKEN_EXPIRED';
|
|
71
|
+
/** Query params the provider appends to the return URL (open list — read these three, ignore the rest). */
|
|
72
|
+
type RedirectReturnParams = {
|
|
73
|
+
success: boolean;
|
|
74
|
+
sessionId: string;
|
|
75
|
+
resultsAccessKey: string;
|
|
76
|
+
};
|
|
77
|
+
//#endregion
|
|
78
|
+
//#region src/modules/id/digitalIdRegistry.d.ts
|
|
79
|
+
/**
|
|
80
|
+
* True when a digital-ID method uses a full-page web-redirect flow (Trinsic
|
|
81
|
+
* iDIN/FTN). Accepts both the module `FlowType` value (`REDIRECT`) and the
|
|
82
|
+
* backend value (`WEB_REDIRECT`). (Lives here rather than in
|
|
83
|
+
* `idCaptureHelpers` to keep the registry free of circular imports; the
|
|
84
|
+
* helpers re-export it.)
|
|
85
|
+
*/
|
|
86
|
+
declare function isRedirectFlowType(flowType: string): boolean;
|
|
87
|
+
/** Digital-ID document schemes the SDK knows how to verify. */
|
|
88
|
+
type DigitalIdDocumentType = 'mDL' | 'iDIN' | 'FTN';
|
|
89
|
+
/** One way to fulfil a `DigitalIdDocumentType`, in funnel priority order. */
|
|
90
|
+
type DigitalIdFunnelEntry = {
|
|
91
|
+
/** Incode-native device-wallet handshake (Apple Wallet web / Google Wallet). */
|
|
92
|
+
kind: 'incodeWallet';
|
|
93
|
+
/** Chooser tile this entry surfaces as. */
|
|
94
|
+
documentType: Extract<IdDocumentType, 'digitalId'>;
|
|
95
|
+
/** Config flag that activates this entry. */
|
|
96
|
+
configFlag: 'deviceWallet';
|
|
97
|
+
} | {
|
|
98
|
+
/** Trinsic web-redirect flow (existing `digitalIdRedirect` child). */
|
|
99
|
+
kind: 'trinsicRedirect';
|
|
100
|
+
documentType: Extract<IdDocumentType, 'digitalIdRedirect'>;
|
|
101
|
+
/** Catalog provider id passed to the `digitalIdRedirectMachine`. */
|
|
102
|
+
providerId: DigitalIdProviderId;
|
|
103
|
+
/**
|
|
104
|
+
* Persisted backend method name in `config.digitalIds.methods[]` that
|
|
105
|
+
* activates this entry (e.g. `IDIN`).
|
|
106
|
+
*/
|
|
107
|
+
method: string;
|
|
108
|
+
};
|
|
109
|
+
declare const DIGITAL_ID_REGISTRY: Record<DigitalIdDocumentType, readonly DigitalIdFunnelEntry[]>;
|
|
110
|
+
declare const DIGITAL_ID_DOCUMENT_TYPES: DigitalIdDocumentType[];
|
|
111
|
+
/** What the chooser routing actually launches for a document type. */
|
|
112
|
+
type ResolvedDigitalIdRoute = {
|
|
113
|
+
kind: 'incodeWallet';
|
|
114
|
+
} | {
|
|
115
|
+
kind: 'trinsicRedirect';
|
|
116
|
+
providerId: DigitalIdProviderId;
|
|
117
|
+
method?: IdCaptureDigitalIdMethod;
|
|
118
|
+
};
|
|
119
|
+
/** Platform capabilities consulted by the funnel. */
|
|
120
|
+
type DigitalIdPlatformSupport = {
|
|
121
|
+
/** `IDigitalCredentialsCapability.isAvailable()`. */
|
|
122
|
+
credentialsAvailable: boolean;
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* Resolves the implementation that should fulfil a digital-ID document type:
|
|
126
|
+
* the first funnel entry that is active under the given config and platform.
|
|
127
|
+
* `undefined` when nothing can run it (the chooser then shows no tile for it).
|
|
128
|
+
*/
|
|
129
|
+
declare function resolveDigitalIdImplementation(docType: DigitalIdDocumentType, config: Pick<IdCaptureConfig, 'deviceWallet' | 'digitalIds'>, platform: DigitalIdPlatformSupport): ResolvedDigitalIdRoute | undefined;
|
|
130
|
+
//#endregion
|
|
131
|
+
//#region src/modules/id/deviceWallet/types.d.ts
|
|
132
|
+
/** Which wallet backend the handshake talks to. */
|
|
133
|
+
type DeviceWalletPlatform = 'ios' | 'android';
|
|
134
|
+
/** Explicit provider override, mirroring V1's `DigitalIdWalletProvider`. */
|
|
135
|
+
type DeviceWalletProvider = 'apple_web' | 'google';
|
|
136
|
+
type DeviceWalletDecision = 'ACCEPTED' | 'REJECTED';
|
|
137
|
+
/**
|
|
138
|
+
* Failure classification.
|
|
139
|
+
* - `UNSUPPORTED_PLATFORM` — no Credentials API. The digital-ID funnel
|
|
140
|
+
* resolves this away before the machine is invoked; kept for the defensive
|
|
141
|
+
* path when the machine is started on an unsupported environment anyway.
|
|
142
|
+
* - `NO_CREDENTIAL` — the wallet sheet completed without a credential (user
|
|
143
|
+
* dismissed, or no eligible digital ID on the device).
|
|
144
|
+
* - `WALLET_ERROR` — anything else (request/decrypt HTTP failure, the
|
|
145
|
+
* Credentials API rejecting, missing activation, protocol errors).
|
|
146
|
+
*/
|
|
147
|
+
type DeviceWalletFailReason = 'UNSUPPORTED_PLATFORM' | 'NO_CREDENTIAL' | 'WALLET_ERROR';
|
|
148
|
+
/** Response of both decrypt endpoints. Attributes are not inline (see above). */
|
|
149
|
+
type DeviceWalletDecryptResponse = {
|
|
150
|
+
success: boolean;
|
|
151
|
+
decision?: DeviceWalletDecision;
|
|
152
|
+
[key: string]: unknown;
|
|
153
|
+
};
|
|
154
|
+
/**
|
|
155
|
+
* Terminal machine output read by the ID-Capture parent (`onDone`).
|
|
156
|
+
* Projected by the machine's ROOT `output` — a top-level final node's own
|
|
157
|
+
* `output` does not propagate in this XState version.
|
|
158
|
+
*/
|
|
159
|
+
type DeviceWalletOutput = {
|
|
160
|
+
result: 'success';
|
|
161
|
+
decision: DeviceWalletDecision | undefined;
|
|
162
|
+
response: DeviceWalletDecryptResponse;
|
|
163
|
+
} | {
|
|
164
|
+
result: 'dismissed';
|
|
165
|
+
};
|
|
166
|
+
//#endregion
|
|
7
167
|
//#region src/modules/id/manualUpload/types.d.ts
|
|
8
168
|
type ManualUploadTab = 'id' | 'passport';
|
|
9
169
|
type ManualUploadSide = 'front' | 'back' | 'passport';
|
|
10
170
|
type ManualUploadContext = {
|
|
11
171
|
/** Passed from parent machine input — used by guards and actor inputs. */
|
|
12
172
|
onlyFront: boolean;
|
|
173
|
+
/** Back-only takes precedence when both side-only flags are supplied. */
|
|
174
|
+
onlyBack: boolean;
|
|
13
175
|
isSecondId: boolean;
|
|
14
176
|
/** Retry budget for this manual upload (sourced from `config.captureAttempts`). */
|
|
15
177
|
captureAttempts: number;
|
|
@@ -45,11 +207,13 @@ interface IAnalyticsCapability {
|
|
|
45
207
|
//#region src/modules/id/types.d.ts
|
|
46
208
|
type IdCaptureMode = 'front' | 'back' | 'passport';
|
|
47
209
|
/**
|
|
48
|
-
* Document type options for the ID capture chooser (ID, passport, manual ID
|
|
210
|
+
* Document type options for the ID capture chooser (ID, passport, manual ID
|
|
211
|
+
* upload, digital ID upload (PDF), digital ID from device wallet, digital ID
|
|
212
|
+
* web-redirect (Trinsic iDIN/FTN)).
|
|
49
213
|
* Used for selection and for the list of available options derived from config.
|
|
50
214
|
*/
|
|
51
|
-
type IdDocumentType = 'id' | 'passport' | 'manualIdUpload' | 'digitalIdUpload' | 'digitalId';
|
|
52
|
-
type IdFlowStep = 'chooser' | 'ageVerification' | 'tutorial' | 'permissions' | 'capture' | 'mandatoryConsent' | 'frontFinished' | 'backFinished' | 'success' | 'processing' | 'expired' | 'finished' | 'error' | 'closed' | 'manualIdUpload' | 'digitalIdUpload';
|
|
215
|
+
type IdDocumentType = 'id' | 'passport' | 'manualIdUpload' | 'digitalIdUpload' | 'digitalId' | 'digitalIdRedirect';
|
|
216
|
+
type IdFlowStep = 'chooser' | 'ageVerification' | 'tutorial' | 'permissions' | 'capture' | 'mandatoryConsent' | 'frontFinished' | 'backFinished' | 'success' | 'processing' | 'expired' | 'finished' | 'error' | 'closed' | 'manualIdUpload' | 'digitalIdUpload' | 'digitalIdRedirect';
|
|
53
217
|
type DetectionStatus = 'idle' | 'detecting' | 'farAway' | 'blur' | 'glare' | 'wrongSide' | 'capturing' | 'manualCapture' | 'idNotDetected' | 'offline';
|
|
54
218
|
/**
|
|
55
219
|
* Represents the detection area dimensions in pixels.
|
|
@@ -86,6 +250,31 @@ type IdCaptureThresholds = {
|
|
|
86
250
|
idDetectedTimeout: number;
|
|
87
251
|
autocaptureTimeout: number;
|
|
88
252
|
};
|
|
253
|
+
/**
|
|
254
|
+
* Flow shape a digital-ID method uses. iDIN/FTN are `WEB_REDIRECT` (the backend
|
|
255
|
+
* value) / `REDIRECT` (the digital-id-redirect module's `FlowType`). Only the
|
|
256
|
+
* redirect variants are handled by the ID-Capture `digitalIdRedirect` child;
|
|
257
|
+
* the other shapes are declared for forward-compatibility with the catalog.
|
|
258
|
+
*/
|
|
259
|
+
type IdCaptureDigitalIdFlowType = FlowType | 'WEB_REDIRECT';
|
|
260
|
+
/**
|
|
261
|
+
* One digital-ID verification method offered inside ID-Capture, threaded from
|
|
262
|
+
* the backend flow node's `configuration.digitalIds` (unified path — same rails
|
|
263
|
+
* as Apple/Google Wallet). A `REDIRECT`/`WEB_REDIRECT` method surfaces the
|
|
264
|
+
* `digitalIdRedirect` chooser option and drives the `digitalIdRedirectMachine`
|
|
265
|
+
* child. iDIN-only for now (FTN is BE-blocked).
|
|
266
|
+
*/
|
|
267
|
+
type IdCaptureDigitalIdMethod = {
|
|
268
|
+
/** Persisted method name, e.g. `IDIN` / `FTN`. */
|
|
269
|
+
method?: string;
|
|
270
|
+
/** Catalog provider id passed to the child, e.g. `trinsic_netherlands_idin`. */
|
|
271
|
+
provider: DigitalIdProviderId;
|
|
272
|
+
/** Redirect vs. other flow shapes. Only the redirect variants are handled. */
|
|
273
|
+
flowType: IdCaptureDigitalIdFlowType;
|
|
274
|
+
/** ISO alpha-2 to bias provider ordering / prefill. */
|
|
275
|
+
country?: string;
|
|
276
|
+
displayName?: string;
|
|
277
|
+
};
|
|
89
278
|
type IdCaptureConfig = TutorialIdConfig & {
|
|
90
279
|
recording?: {
|
|
91
280
|
capability?: IRecordingCapability;
|
|
@@ -127,6 +316,30 @@ type IdCaptureConfig = TutorialIdConfig & {
|
|
|
127
316
|
* parameter-store read, no Statsig exposure, and no assignment event.
|
|
128
317
|
*/
|
|
129
318
|
supportsOptimizingStatus?: boolean;
|
|
319
|
+
/**
|
|
320
|
+
* Digital-ID methods offered inside ID-Capture (from the backend flow node's
|
|
321
|
+
* `configuration.digitalIds`). A `REDIRECT`/`WEB_REDIRECT` method surfaces the
|
|
322
|
+
* `digitalIdRedirect` chooser option and drives the `digitalIdRedirectMachine`
|
|
323
|
+
* child (Trinsic iDIN/FTN). Absent / empty → no redirect option shown.
|
|
324
|
+
*/
|
|
325
|
+
digitalIds?: IdCaptureDigitalIdMethod[];
|
|
326
|
+
/**
|
|
327
|
+
* https page the identity provider redirects back to on the digital-ID
|
|
328
|
+
* web-redirect return leg. The host onboarding app owns this route and passes
|
|
329
|
+
* it here; forwarded to the `digitalIdRedirectMachine` as its `returnUrl`.
|
|
330
|
+
*/
|
|
331
|
+
digitalIdReturnUrl?: string;
|
|
332
|
+
/**
|
|
333
|
+
* Digital-ID web-redirect RETURN leg. When present, ID-Capture skips the
|
|
334
|
+
* chooser and resumes straight into the `digitalIdRedirect` child in resume
|
|
335
|
+
* mode: the persisted `verificationId` is recovered from storage and the
|
|
336
|
+
* host-parsed `returnParams` are submitted. Set by the host on the return
|
|
337
|
+
* route (mirrors the old top-level `FlowConfig.digitalIdReturn`, re-targeted
|
|
338
|
+
* to the ID-Capture module).
|
|
339
|
+
*/
|
|
340
|
+
digitalIdReturn?: {
|
|
341
|
+
returnParams: RedirectReturnParams;
|
|
342
|
+
};
|
|
130
343
|
};
|
|
131
344
|
/**
|
|
132
345
|
* Public ID capture configuration for the captureOnly flow.
|
|
@@ -152,6 +365,23 @@ type IdError = {
|
|
|
152
365
|
message: string;
|
|
153
366
|
messageDescription?: string;
|
|
154
367
|
};
|
|
368
|
+
/**
|
|
369
|
+
* Document types the backend is known to report in
|
|
370
|
+
* `UploadIdResponse.acceptedDocuments` (`add-front-id-v2`: the list of document
|
|
371
|
+
* types accepted for the detected country when `failReason` is
|
|
372
|
+
* `ID_TYPE_UNACCEPTABLE`).
|
|
373
|
+
*
|
|
374
|
+
* The wire format is `array[string]`, so this union documents the known values
|
|
375
|
+
* rather than constraining them — see `AcceptedDocument`, which is what the
|
|
376
|
+
* response is actually typed as. Consumers must handle unknown values.
|
|
377
|
+
*/
|
|
378
|
+
type AcceptedDocumentType = 'IdentificationCard' | 'Passport' | 'DriversLicense' | 'ResidenceDocument' | 'BirthCertificate' | 'TravelDocument' | 'WeaponLicense' | 'MedicalCard' | 'TribalIdentification' | 'Currency' | 'VehicleRegistration' | 'TaxIdentification' | 'Visa' | 'Permit' | 'Military' | 'VoterIdentification' | 'FederalID' | 'Unknown' | 'Other';
|
|
379
|
+
/**
|
|
380
|
+
* A single entry of `UploadIdResponse.acceptedDocuments`. Widened to `string`
|
|
381
|
+
* so that a document type the backend adds later still type-checks, while
|
|
382
|
+
* `AcceptedDocumentType` keeps autocomplete for the known values.
|
|
383
|
+
*/
|
|
384
|
+
type AcceptedDocument = AcceptedDocumentType | (string & {});
|
|
155
385
|
type UploadIdResponse = {
|
|
156
386
|
sharpness: number;
|
|
157
387
|
correctSharpness: boolean;
|
|
@@ -171,10 +401,11 @@ type UploadIdResponse = {
|
|
|
171
401
|
skipGlareFront?: boolean;
|
|
172
402
|
skipGlareBack?: boolean;
|
|
173
403
|
documentIsOnTheEdge?: boolean;
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
404
|
+
/**
|
|
405
|
+
* List of document types accepted for the detected country when
|
|
406
|
+
* `failReason` is `ID_TYPE_UNACCEPTABLE`. BE-documented as `array[string]`.
|
|
407
|
+
*/
|
|
408
|
+
acceptedDocuments?: Array<AcceptedDocument>;
|
|
178
409
|
forceFrontIdCapture?: boolean;
|
|
179
410
|
/**
|
|
180
411
|
* US Smart Capture: when `true`, the backend has already validated the ID
|
|
@@ -377,6 +608,35 @@ type IdCaptureContext = {
|
|
|
377
608
|
* for the workflow orchestrator.
|
|
378
609
|
*/
|
|
379
610
|
isDigitalUpload: boolean;
|
|
611
|
+
/**
|
|
612
|
+
* `true` once a Digital ID web-redirect (Trinsic iDIN/FTN) has COMPLETED for
|
|
613
|
+
* this session. Like a digital upload, it is single-side (no back capture).
|
|
614
|
+
* Combined with `portraitPresent` it drives the downstream Face Match skip
|
|
615
|
+
* (iDIN returns no portrait → nothing to match) via `computeIdCaptureOutput`.
|
|
616
|
+
*/
|
|
617
|
+
isDigitalIdRedirect: boolean;
|
|
618
|
+
/**
|
|
619
|
+
* Whether the completed digital-ID web-redirect scheme returned a portrait.
|
|
620
|
+
* iDIN/FTN → `false`. When `false`, the ID has no face → the downstream Face
|
|
621
|
+
* Match step is skipped (`computeIdCaptureOutput.skipFaceMatch`).
|
|
622
|
+
*/
|
|
623
|
+
portraitPresent: boolean;
|
|
624
|
+
/**
|
|
625
|
+
* The digital-ID implementation resolved by the funnel when the user picked
|
|
626
|
+
* the Digital ID chooser tile (`resolveDigitalIdImplementation`). Stored so
|
|
627
|
+
* the `digitalIdRouting` state can branch on it and the Trinsic fallback can
|
|
628
|
+
* preset its provider on the `digitalIdRedirect` child input.
|
|
629
|
+
*/
|
|
630
|
+
digitalIdRoute: ResolvedDigitalIdRoute | undefined;
|
|
631
|
+
/**
|
|
632
|
+
* `true` once a device-wallet (mDL) handshake has completed for this
|
|
633
|
+
* session. Wallet credentials are single-side and carry no client-side
|
|
634
|
+
* image; the mDL portrait lands in the session server-side, so the
|
|
635
|
+
* downstream Face Match is NOT skipped (unlike a portrait-less redirect).
|
|
636
|
+
*/
|
|
637
|
+
isDeviceWallet: boolean;
|
|
638
|
+
/** Backend decision of the completed device-wallet handshake. */
|
|
639
|
+
deviceWalletDecision: DeviceWalletDecision | undefined;
|
|
380
640
|
/**
|
|
381
641
|
* Set when `expiredExhausted` was reached via the per-upload (camera)
|
|
382
642
|
* exhaustion path. Used by `CONTINUE_EXHAUSTED` to decide whether to run
|
|
@@ -467,6 +727,18 @@ type IdCaptureContext = {
|
|
|
467
727
|
captureResolution?: string;
|
|
468
728
|
/** Android camera access fallback level that succeeded */
|
|
469
729
|
cameraFallbackLevel?: number;
|
|
730
|
+
/**
|
|
731
|
+
* Digital-ID web-redirect RETURN leg (recovered on start from
|
|
732
|
+
* `config.digitalIdReturn`). Present only when re-mounting after the provider
|
|
733
|
+
* redirect; drives the direct route into the `digitalIdRedirect` child in
|
|
734
|
+
* resume mode. `verificationId`/`providerId` are read back from storage
|
|
735
|
+
* (persisted before the redirect); `returnParams` come from the host.
|
|
736
|
+
*/
|
|
737
|
+
digitalIdReturnParams: RedirectReturnParams | undefined;
|
|
738
|
+
digitalIdResumeVerificationId: string | undefined;
|
|
739
|
+
digitalIdResumeProviderId: DigitalIdProviderId | undefined;
|
|
740
|
+
/** Whether the live `stream` is genuinely the rear camera. */
|
|
741
|
+
usingBackCamera?: boolean;
|
|
470
742
|
};
|
|
471
743
|
type IdCaptureEvent = {
|
|
472
744
|
type: 'LOAD';
|
|
@@ -596,9 +868,27 @@ type IdCaptureEvent = {
|
|
|
596
868
|
type: 'DIGITAL_UPLOAD_SCAN_INSTEAD';
|
|
597
869
|
} | {
|
|
598
870
|
type: 'DIGITAL_UPLOAD_CHOOSE_ANOTHER';
|
|
871
|
+
} | {
|
|
872
|
+
type: 'DIGITAL_ID_REDIRECT_RETRY';
|
|
873
|
+
} | {
|
|
874
|
+
type: 'DIGITAL_ID_REDIRECT_USE_ANOTHER_METHOD';
|
|
875
|
+
} | {
|
|
876
|
+
type: 'DIGITAL_ID_REDIRECT_CONTINUE';
|
|
877
|
+
} | {
|
|
878
|
+
type: 'DIGITAL_ID_REDIRECT_REFRESH';
|
|
879
|
+
} | {
|
|
880
|
+
type: 'DEVICE_WALLET_RETRY';
|
|
881
|
+
} | {
|
|
882
|
+
type: 'DEVICE_WALLET_USE_ANOTHER_METHOD';
|
|
599
883
|
};
|
|
600
884
|
type IdCaptureDependencies = {
|
|
601
885
|
storage: IStorageCapability;
|
|
886
|
+
/**
|
|
887
|
+
* W3C Digital Credentials API access for the device-wallet (mDL) child.
|
|
888
|
+
* Optional for backward compatibility; defaults to
|
|
889
|
+
* `BrowserDigitalCredentialsProvider` at the composition points.
|
|
890
|
+
*/
|
|
891
|
+
credentials?: IDigitalCredentialsCapability;
|
|
602
892
|
trackCaptureAttemptFinished?: (payload: {
|
|
603
893
|
logs: string;
|
|
604
894
|
resolution?: string;
|
|
@@ -642,4 +932,4 @@ type IdCaptureOutput = {
|
|
|
642
932
|
skipFaceMatch: boolean;
|
|
643
933
|
} | undefined;
|
|
644
934
|
//#endregion
|
|
645
|
-
export {
|
|
935
|
+
export { MANUAL_UPLOAD_EXHAUSTION_FORWARD_MS as A, DeviceWalletPlatform as B, IdDocumentType as C, RecordingSession as D, IdFlowStep as E, ManualUploadTab as F, DigitalIdFunnelEntry as G, DIGITAL_ID_DOCUMENT_TYPES as H, DeviceWalletDecision as I, isRedirectFlowType as J, DigitalIdPlatformSupport as K, DeviceWalletDecryptResponse as L, MANUAL_UPLOAD_MAX_RETRIES as M, ManualUploadContext as N, UploadIdResponse as O, ManualUploadSide as P, RedirectReturnParams as Q, DeviceWalletFailReason as R, IdCapturedImageData as S, IdErrorCode as T, DIGITAL_ID_REGISTRY as U, DeviceWalletProvider as V, DigitalIdDocumentType as W, DigitalIdProviderId as X, resolveDigitalIdImplementation as Y, FailureReason as Z, IdCaptureInput as _, CaptureOnlyResponse as a, IdCaptureOutput as b, DetectionStatus as c, IdCaptureContext as d, IdCaptureDependencies as f, IdCaptureGeometry as g, IdCaptureEvent as h, CaptureIdResponse as i, MANUAL_UPLOAD_MAX_FILE_SIZE_BYTES as j, IAnalyticsCapability as k, ID_ERROR_CODES as l, IdCaptureDigitalIdMethod as m, AcceptedDocumentType as n, CapturedImage as o, IdCaptureDigitalIdFlowType as p, ResolvedDigitalIdRoute as q, AddBarcodeV3Response as r, DetectionArea as s, AcceptedDocument as t, IdCaptureConfig as u, IdCaptureMode as v, IdError as w, IdCaptureThresholds as x, IdCaptureOnlyConfig as y, DeviceWalletOutput as z };
|
|
@@ -1,9 +1,22 @@
|
|
|
1
1
|
//#region src/modules/electronic-signature/types.d.ts
|
|
2
2
|
type ElectronicSignatureVariant = 'ae' | 'qe';
|
|
3
|
+
declare const NAMIRIAL_QES_PROVIDER_CODE = "QES_3";
|
|
3
4
|
type ElectronicSignatureConfig = {
|
|
4
5
|
variant?: ElectronicSignatureVariant;
|
|
5
6
|
uploadDocument?: boolean;
|
|
6
7
|
downloadDocument?: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Opaque provider code returned by the onboarding flow configuration.
|
|
10
|
+
* `QES_3` enables the provider-terms QES flow; omitted and unknown values
|
|
11
|
+
* preserve the legacy consent flow.
|
|
12
|
+
*/
|
|
13
|
+
providerCode?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Locale requested by the SDK host (for example `en` or `de-DE`). The QES
|
|
16
|
+
* terms request normalizes supported values to `en`, `it`, or `de` and
|
|
17
|
+
* falls back to English.
|
|
18
|
+
*/
|
|
19
|
+
language?: string;
|
|
7
20
|
};
|
|
8
21
|
type ElectronicSignatureDocument = {
|
|
9
22
|
documentRef: string;
|
|
@@ -17,16 +30,18 @@ type SignedDocument = {
|
|
|
17
30
|
signed: boolean;
|
|
18
31
|
/**
|
|
19
32
|
* URL of the signed PDF when the endpoint returns one (AES `/process/sign`).
|
|
20
|
-
* QES `/process/signQes` returns only `{ success: true }
|
|
21
|
-
*
|
|
33
|
+
* QES `/process/signQes` initially returns only `{ success: true }`; the
|
|
34
|
+
* machine fills this URL after retrieving `/documents/signed`.
|
|
22
35
|
*/
|
|
23
36
|
signedDocumentUrl?: string;
|
|
24
37
|
};
|
|
25
38
|
declare const AE_CONSENT_KEYS: readonly ["terms", "signElectronically", "signDisplayed"];
|
|
26
39
|
declare const QE_CONSENT_KEYS: readonly ["issuance", "qesAcknowledgement", "qscdConfirmation", "termsAgreement", "documentsReviewed"];
|
|
40
|
+
declare const NAMIRIAL_QES_CONSENT_KEYS: readonly ["providerTerm0", "providerTerm1"];
|
|
27
41
|
type AeConsentKey = (typeof AE_CONSENT_KEYS)[number];
|
|
28
42
|
type QeConsentKey = (typeof QE_CONSENT_KEYS)[number];
|
|
29
|
-
type
|
|
43
|
+
type NamirialQesConsentKey = (typeof NAMIRIAL_QES_CONSENT_KEYS)[number];
|
|
44
|
+
type ConsentKey = AeConsentKey | QeConsentKey | NamirialQesConsentKey;
|
|
30
45
|
type ConsentChecks = Partial<Record<ConsentKey, boolean>>;
|
|
31
46
|
declare function getConsentKeys(variant: ElectronicSignatureVariant): readonly ConsentKey[];
|
|
32
47
|
declare function getDefaultConsentChecks(variant: ElectronicSignatureVariant): ConsentChecks;
|
|
@@ -34,7 +49,23 @@ declare function areAllConsented(checks: ConsentChecks): boolean;
|
|
|
34
49
|
type UnsignedDocsResponse = {
|
|
35
50
|
documents: ElectronicSignatureDocument[];
|
|
36
51
|
};
|
|
37
|
-
type
|
|
52
|
+
type QesTermsResponse = {
|
|
53
|
+
languageCode?: string;
|
|
54
|
+
contentType?: string;
|
|
55
|
+
contractText?: string;
|
|
56
|
+
checkBoxes?: string[];
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* The provider-supplied content required by the Namirial Review and Sign
|
|
60
|
+
* screen. This value is intentionally ephemeral and may contain personal
|
|
61
|
+
* holder information. Callers must not log, persist, or emit it as telemetry.
|
|
62
|
+
*/
|
|
63
|
+
type ElectronicSignatureProviderTerms = {
|
|
64
|
+
consentLabels: readonly [string, string];
|
|
65
|
+
contractText: string;
|
|
66
|
+
languageCode: string;
|
|
67
|
+
};
|
|
68
|
+
type ElectronicSignatureErrorSource = 'upload' | 'terms' | 'fetchDocs' | 'signing' | 'signedDocs';
|
|
38
69
|
/**
|
|
39
70
|
* Mutable in-memory holder for the document selected for upload.
|
|
40
71
|
*
|
|
@@ -61,7 +92,9 @@ type ElectronicSignatureContext = {
|
|
|
61
92
|
*/
|
|
62
93
|
preSignedUrl: string | null;
|
|
63
94
|
consentChecks: ConsentChecks;
|
|
95
|
+
providerTerms: ElectronicSignatureProviderTerms | null;
|
|
64
96
|
viewingDocumentUrl: string | null;
|
|
97
|
+
viewingApplicationForm: boolean;
|
|
65
98
|
errorMessage: string;
|
|
66
99
|
errorSource: ElectronicSignatureErrorSource | null;
|
|
67
100
|
};
|
|
@@ -79,4 +112,4 @@ type ElectronicSignatureInput = {
|
|
|
79
112
|
fileDataHolder?: never;
|
|
80
113
|
};
|
|
81
114
|
//#endregion
|
|
82
|
-
export { getDefaultConsentChecks as _, ElectronicSignatureConfig as a, ElectronicSignatureFileDataHolder as c,
|
|
115
|
+
export { getDefaultConsentChecks as S, QesTermsResponse as _, ElectronicSignatureConfig as a, areAllConsented as b, ElectronicSignatureFileDataHolder as c, ElectronicSignatureVariant as d, NAMIRIAL_QES_CONSENT_KEYS as f, QeConsentKey as g, QE_CONSENT_KEYS as h, ConsentKey as i, ElectronicSignatureInput as l, NamirialQesConsentKey as m, AeConsentKey as n, ElectronicSignatureContext as o, NAMIRIAL_QES_PROVIDER_CODE as p, ConsentChecks as r, ElectronicSignatureDocument as s, AE_CONSENT_KEYS as t, ElectronicSignatureProviderTerms as u, SignedDocument as v, getConsentKeys as x, UnsignedDocsResponse as y };
|