@incodetech/core 2.4.0 → 2.4.1-agentic.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (252) hide show
  1. package/dist/BrowserNetworkStatusProvider-BrDXBEDd.esm.js +21 -0
  2. package/dist/{multipartRecordingService-CLwrF5wD.esm.js → CameraCompositor-DN7NkJzV.esm.js} +7 -744
  3. package/dist/{FaceDetectionProvider-DcPOC2gS.esm.js → FaceDetectionProvider-CAY43vSI.esm.js} +28 -64
  4. package/dist/IBrowserEnvironmentCapability-D7JG7ML3.esm.js +16 -0
  5. package/dist/IGeolocationCapability-r49Qo7rR.d.ts +10 -0
  6. package/dist/{IWasmUtilCapability-GF2n7sfm.d.ts → IWasmUtilCapability-Cqiaxydi.d.ts} +31 -4
  7. package/dist/MultipartRecordingProvider-D9mauUdS.esm.js +146 -0
  8. package/dist/{PhoneValidationProvider-SZiOS0jB.esm.js → PhoneValidationProvider-Co4zk2en.esm.js} +7 -0
  9. package/dist/{StreamCanvasCapture-7JRf-2ck.d.ts → StreamCanvasCapture-C3xNfOsv.d.ts} +12 -3
  10. package/dist/StreamCanvasProcessingSession-CBnbTnOr.esm.js +42 -0
  11. package/dist/{WasmUtilProvider-DtJuBdt-.esm.js → WasmUtilProvider-Dp2V-Uct.esm.js} +75 -22
  12. package/dist/WorkerEncoderRecordingProvider-B1ODYtgN.esm.js +80 -0
  13. package/dist/addressSearch-DzbE9Ogt.esm.js +254 -0
  14. package/dist/{advanceableErrors-q_pfU3Cn.esm.js → advanceableErrors-k-U-cL5m.esm.js} +1 -2
  15. package/dist/ae-signature.esm.js +1 -1
  16. package/dist/antifraud.esm.js +2 -2
  17. package/dist/{antifraudManager-CaweCYnY.esm.js → antifraudManager-BObuHBjn.esm.js} +2 -2
  18. package/dist/{antifraudStateMachine-DRl0UVyA.esm.js → antifraudStateMachine-Dfrd2-26.esm.js} +1 -1
  19. package/dist/{api-Cz90EHyu.esm.js → api-CpP4PS4S.esm.js} +8 -5
  20. package/dist/{apiError-DPwFas2f.esm.js → apiError-DH-CH4Nz.esm.js} +1 -1
  21. package/dist/attemptCarry-WOkfvFMw.esm.js +45 -0
  22. package/dist/authentication.d.ts +3 -3
  23. package/dist/authentication.esm.js +2 -2
  24. package/dist/{authenticationManager-BIZC55Bi.d.ts → authenticationManager-CWmh7aSY.d.ts} +1 -1
  25. package/dist/{authenticationManager-2Lr5V_7p.esm.js → authenticationManager-DjX0XDyH.esm.js} +5 -5
  26. package/dist/{authenticationStateMachine-C99B0GFP.esm.js → authenticationStateMachine-BMbZL8wm.esm.js} +3 -3
  27. package/dist/backCameraLabel-yda5ugE4.esm.js +67 -0
  28. package/dist/{backCameraStream-CMvXj4X4.esm.js → backCameraStream-DS1oDiUq.esm.js} +12 -107
  29. package/dist/{browser-DlFgHpoC-DnyrCR8r.esm.js → browser-pQZA35G2-DtkAf6sn.esm.js} +161 -150
  30. package/dist/{camera-sIa9ceW2.esm.js → camera-E_Kcre4O.esm.js} +15 -23
  31. package/dist/camera.d.ts +2 -2
  32. package/dist/camera.esm.js +1 -1
  33. package/dist/certificate-issuance.esm.js +2 -2
  34. package/dist/{certificateIssuanceManager-BfeMv2PU.esm.js → certificateIssuanceManager-C1nETQos.esm.js} +2 -2
  35. package/dist/{certificateIssuanceStateMachine-Frgjbjw8.esm.js → certificateIssuanceStateMachine-DThXMDqr.esm.js} +2 -2
  36. package/dist/cnpj-Co1ottYN.esm.js +77 -0
  37. package/dist/connectivity-BCuEoQ-n.esm.js +114 -0
  38. package/dist/consent.d.ts +1 -1
  39. package/dist/consent.esm.js +2 -2
  40. package/dist/{consentManager-CvEu8h_W.esm.js → consentManager-DMlSL6Ax.esm.js} +4 -3
  41. package/dist/{consentManager-Cv_0QKLD.d.ts → consentManager-bjfVXO7p.d.ts} +9 -2
  42. package/dist/{consentStateMachine-DJTgN_-1.esm.js → consentStateMachine-DIYSMxKQ.esm.js} +20 -7
  43. package/dist/cross-document-data-match.esm.js +1 -1
  44. package/dist/{crossDocumentDataMatchManager-Cu141CE8.esm.js → crossDocumentDataMatchManager-BFTdiEDB.esm.js} +2 -2
  45. package/dist/curp-validation.d.ts +1 -1
  46. package/dist/curp-validation.esm.js +2 -2
  47. package/dist/{curpValidationManager-B-z9q5V3.esm.js → curpValidationManager-DNpC3wyf.esm.js} +3 -2
  48. package/dist/{curpValidationManager-C9sqoh9n.d.ts → curpValidationManager-z8428oCM.d.ts} +1 -1
  49. package/dist/{curpValidationStateMachine-vDEFLMPw.esm.js → curpValidationStateMachine-B3iVsDyt.esm.js} +28 -20
  50. package/dist/custom-fields.esm.js +1 -1
  51. package/dist/custom-watchlist.esm.js +2 -2
  52. package/dist/{customFieldsManager-D1ex2cFM.esm.js → customFieldsManager-CvI-pDT3.esm.js} +2 -2
  53. package/dist/{customWatchlistManager-CTI-SGk0.esm.js → customWatchlistManager-BuHtUb0y.esm.js} +2 -2
  54. package/dist/{customWatchlistStateMachine-hmRd0f2I.esm.js → customWatchlistStateMachine-CiVD9wyF.esm.js} +1 -1
  55. package/dist/{deepsightService-CKTYDIXD.esm.js → deepsightLoader-B7DEYoyY.esm.js} +40 -74
  56. package/dist/{createCameraCycleOwnership-Dj_LHUvN.esm.js → desktopCameraElection-BGMtYwk3.esm.js} +177 -40
  57. package/dist/device.esm.js +2 -2
  58. package/dist/document-capture.d.ts +3 -3
  59. package/dist/document-capture.esm.js +2 -2
  60. package/dist/{documentCaptureManager-DkyDtm3Y.d.ts → documentCaptureManager-CD5iQiUI.d.ts} +37 -4
  61. package/dist/{documentCaptureManager-DUJwpKC5.esm.js → documentCaptureManager-DLPqruXJ.esm.js} +27 -19
  62. package/dist/{documentCaptureStateMachine-B8i7GnLh.esm.js → documentCaptureStateMachine-DCvWQhFG.esm.js} +105 -56
  63. package/dist/dynamic-forms.d.ts +2 -2
  64. package/dist/dynamic-forms.esm.js +2 -2
  65. package/dist/{dynamicFormsManager-C0dHs1ty.d.ts → dynamicFormsManager-9kwY8Bf5.d.ts} +1 -1
  66. package/dist/{dynamicFormsManager-DiKYjcF3.esm.js → dynamicFormsManager-DfqCEPg9.esm.js} +2 -2
  67. package/dist/{dynamicFormsStateMachine-DEI45xYW.esm.js → dynamicFormsStateMachine-USQMB-uV.esm.js} +2 -2
  68. package/dist/ekyb.d.ts +4 -4
  69. package/dist/ekyb.esm.js +3 -3
  70. package/dist/{ekybManager-BaZ_7CEu.d.ts → ekybManager-BLOkwmWO.d.ts} +2 -2
  71. package/dist/{ekybManager-8WLkNcqg.esm.js → ekybManager-CR8YSYux.esm.js} +2 -2
  72. package/dist/{ekybStateMachine-BLRT45Ex.esm.js → ekybStateMachine-kHwdz6hm.esm.js} +28 -44
  73. package/dist/ekybUtils-Cw8Ta9Qi.esm.js +140 -0
  74. package/dist/ekyc.d.ts +4 -3
  75. package/dist/ekyc.esm.js +3 -3
  76. package/dist/{ekycManager-DW-ynodd.d.ts → ekycManager-DlGIn9wA.d.ts} +2 -1
  77. package/dist/{ekycManager-BO-Lui3t.esm.js → ekycManager-DymCvmVB.esm.js} +2 -2
  78. package/dist/ekycStateMachine-CoFCUJ2z.esm.js +7578 -0
  79. package/dist/ekycUtils-GRuMELYr.esm.js +1472 -0
  80. package/dist/electronic-signature.esm.js +1 -1
  81. package/dist/{electronicSignatureManager-CcIMOb_Y.esm.js → electronicSignatureManager-BCE3uA3z.esm.js} +4 -4
  82. package/dist/email.esm.js +2 -2
  83. package/dist/{emailManager-ButFktRm.esm.js → emailManager-CGoE3CUe.esm.js} +2 -2
  84. package/dist/{emailStateMachine-BXtlC0NV.esm.js → emailStateMachine-KgHfDNvM.esm.js} +32 -20
  85. package/dist/{events-Du2A4-Qr.esm.js → events-ggpBBaZ8.esm.js} +2 -2
  86. package/dist/events.esm.js +1 -1
  87. package/dist/extensibility.d.ts +37 -22
  88. package/dist/extensibility.esm.js +36 -35
  89. package/dist/{externalFetch-DrR9xshk.esm.js → externalFetch-CQY41QT1.esm.js} +4 -1
  90. package/dist/face-match.d.ts +1 -1
  91. package/dist/face-match.esm.js +2 -2
  92. package/dist/{faceCaptureManagerFactory-1hzeS_rB.d.ts → faceCaptureManagerFactory-DV2ULUYS.d.ts} +71 -66
  93. package/dist/{faceCaptureManagerFactory-BlGvXzXA.esm.js → faceCaptureManagerFactory-Dp90bedH.esm.js} +4 -4
  94. package/dist/{faceCaptureSetup-TY8RXc2N.esm.js → faceCaptureSetup-ZfiWg0fo.esm.js} +84 -457
  95. package/dist/{faceMatchManager-DWFUQjMQ.esm.js → faceMatchManager-D2xKPjjQ.esm.js} +2 -2
  96. package/dist/{faceMatchManager-DIgG-UFS.d.ts → faceMatchManager-Z4UDLwAv.d.ts} +16 -7
  97. package/dist/{faceMatchStateMachine-CUCvlydD.esm.js → faceMatchStateMachine-CUvwiQi9.esm.js} +40 -27
  98. package/dist/{feature-management-B5rR10uS.esm.js → feature-management-BbCIA4og.esm.js} +35 -21
  99. package/dist/feature-management.esm.js +1 -1
  100. package/dist/field-comparison.esm.js +1 -1
  101. package/dist/{fieldComparisonManager-v3knTYV_.esm.js → fieldComparisonManager-DgDbEeFZ.esm.js} +2 -2
  102. package/dist/fiscal-qr.esm.js +1 -1
  103. package/dist/{fiscalQrManager-Dt9fHG7h.esm.js → fiscalQrManager-BZeklojR.esm.js} +4 -4
  104. package/dist/flow-events.d.ts +1 -1
  105. package/dist/flow.d.ts +10 -10
  106. package/dist/flow.esm.js +10 -9
  107. package/dist/{flowCompletionService-BDI5QpfR.esm.js → flowCompletionService-CcCnPs_T.esm.js} +2 -2
  108. package/dist/{flowServices-roD0oIQL.esm.js → flowServices-Dmnc8Rye.esm.js} +69 -185
  109. package/dist/geolocation.d.ts +1 -1
  110. package/dist/geolocation.esm.js +2 -2
  111. package/dist/{geolocationManager-Dn24g1fl.d.ts → geolocationManager-6e1i9UIR.d.ts} +15 -17
  112. package/dist/{geolocationManager-DnONzWL5.esm.js → geolocationManager-BJJ3m_I8.esm.js} +6 -8
  113. package/dist/{geolocationStateMachine-eWy_G4Os.esm.js → geolocationStateMachine-CTI3m4Ie.esm.js} +12 -8
  114. package/dist/{getDeviceClass-bsWdEDxP.esm.js → getDeviceClass-DoIWuKI8.esm.js} +1 -1
  115. package/dist/government-validation.esm.js +2 -2
  116. package/dist/{governmentValidationManager-BtXWHICu.esm.js → governmentValidationManager-CjChjZ3C.esm.js} +2 -2
  117. package/dist/{governmentValidationStateMachine-COL-Vs48.esm.js → governmentValidationStateMachine-AEbn3Afi.esm.js} +1 -1
  118. package/dist/home.d.ts +1 -1
  119. package/dist/home.esm.js +1 -1
  120. package/dist/http.esm.js +1 -1
  121. package/dist/id-ocr.d.ts +1 -1
  122. package/dist/id-ocr.esm.js +2 -2
  123. package/dist/id-selfie-flow.d.ts +1 -1
  124. package/dist/id-selfie-flow.esm.js +10 -9
  125. package/dist/id-verification.esm.js +2 -2
  126. package/dist/id.d.ts +3 -16
  127. package/dist/id.esm.js +4 -4
  128. package/dist/{idCaptureDefaults-BGsG2OAs.esm.js → idCaptureDefaults-Dszuq9ng.esm.js} +3 -3
  129. package/dist/{idCaptureManager-BrfYjCm_.esm.js → idCaptureManager-B3oR4RnA.esm.js} +64 -17
  130. package/dist/{idCaptureManager-0M02hSuC.d.ts → idCaptureManager-CCA2D1Ah.d.ts} +68 -5
  131. package/dist/{idCaptureServices-BSj6EH2l.esm.js → idCaptureServices-DK0QboqT.esm.js} +29 -198
  132. package/dist/{idCaptureStateMachine-dXKBYHQp.esm.js → idCaptureStateMachine-zzar9MPy.esm.js} +914 -536
  133. package/dist/{idOcrManager-DT3kPIB3.d.ts → idOcrManager-BTdHlJ9D.d.ts} +1 -1
  134. package/dist/{idOcrManager-D3-HNMXP.esm.js → idOcrManager-xyEZNOBa.esm.js} +2 -2
  135. package/dist/{idOcrStateMachine-DyENX6Ki.esm.js → idOcrStateMachine-DNKXh4Rn.esm.js} +2 -2
  136. package/dist/{idVerificationManager-iWz7Avkr.esm.js → idVerificationManager-DdnvYfgN.esm.js} +2 -2
  137. package/dist/{idVerificationStateMachine-CL1kUdBe.esm.js → idVerificationStateMachine-DtIBCa32.esm.js} +1 -1
  138. package/dist/identity-reuse.esm.js +2 -2
  139. package/dist/{identityReuseManager-CD1ucp1d.esm.js → identityReuseManager-CcpovlfD.esm.js} +2 -2
  140. package/dist/{identityReuseStateMachine-DfV81wQC.esm.js → identityReuseStateMachine-DxZFWy47.esm.js} +1 -1
  141. package/dist/{index-CKQ9QBZP.d.ts → index-DC0P2Vzw.d.ts} +1 -1
  142. package/dist/{index-BKOWUhxG.d.ts → index-DEfwds5y.d.ts} +55 -8
  143. package/dist/index.d.ts +1 -1
  144. package/dist/index.esm.js +1 -1
  145. package/dist/{invokeOnCaptureCallback-DYrkOXO6.esm.js → invokeOnCaptureCallback-BJ0GVHGr.esm.js} +1 -1
  146. package/dist/kyb-checks.d.ts +3 -0
  147. package/dist/kyb-checks.esm.js +3 -0
  148. package/dist/kybChecksManager-CblEL97E.d.ts +95 -0
  149. package/dist/kybChecksManager-DpGOp4Su.esm.js +89 -0
  150. package/dist/kybChecksStateMachine-B43NAnv7.esm.js +718 -0
  151. package/dist/mandatory-consent.d.ts +2 -2
  152. package/dist/mandatory-consent.esm.js +2 -2
  153. package/dist/{mandatoryConsentManager-Cwqx1nK7.esm.js → mandatoryConsentManager-B4vCYslr.esm.js} +4 -3
  154. package/dist/{mandatoryConsentManager-BQ43yndC.d.ts → mandatoryConsentManager-B88Sm5nd.d.ts} +10 -3
  155. package/dist/{mandatoryConsentStateMachine-pXWqAHo_.esm.js → mandatoryConsentStateMachine-DWslYPA3.esm.js} +20 -7
  156. package/dist/mediaRecorderOptions-B9-IEVtV.esm.js +70 -0
  157. package/dist/multipartRecordingService-BTqkHGG9.esm.js +407 -0
  158. package/dist/nationalIds-B91f_RuB.esm.js +99 -0
  159. package/dist/{permissionGuards-gcy3U0SL.esm.js → permissionGuards-DFV-Ws0a.esm.js} +1 -1
  160. package/dist/{permissionServices-Ca-tSNhT.esm.js → permissionServices-D190ATGD.esm.js} +11 -9
  161. package/dist/phone-number.d.ts +7 -1
  162. package/dist/phone-number.esm.js +15 -2
  163. package/dist/phone.d.ts +1 -1
  164. package/dist/phone.esm.js +2 -2
  165. package/dist/phoneFormat-JJNaWthV.esm.js +75 -0
  166. package/dist/{phoneManager-BO-LTih5.d.ts → phoneManager-6nrJkvkG.d.ts} +5 -0
  167. package/dist/{phoneManager-KKUq-Vgo.esm.js → phoneManager-Dy5tODCU.esm.js} +3 -3
  168. package/dist/phoneServices-DJgyOzU2.esm.js +77 -0
  169. package/dist/{phoneStateMachine-D2QWS2cu.esm.js → phoneStateMachine-DnlPhnw7.esm.js} +54 -82
  170. package/dist/{phoneValidation-DnBcNUNh.esm.js → phoneValidation-OggtfjRt.esm.js} +1 -2
  171. package/dist/{platform-DkcRc9JV.esm.js → platform-aPh7gTWh.esm.js} +15 -1
  172. package/dist/processFaceMatch-Bst83HaS.esm.js +21 -0
  173. package/dist/qe-signature.esm.js +1 -1
  174. package/dist/recordingService-CTko6Cjn.esm.js +397 -0
  175. package/dist/redirect-to-mobile.d.ts +2 -2
  176. package/dist/redirect-to-mobile.esm.js +2 -2
  177. package/dist/{redirectToMobileManager-uHW3dyuQ.esm.js → redirectToMobileManager-CgGaT2NP.esm.js} +5 -4
  178. package/dist/{redirectToMobileManager-CVsvpVbQ.d.ts → redirectToMobileManager-Dm9ctRCC.d.ts} +3 -1
  179. package/dist/{redirectToMobileStateMachine-b-H-ipGM.esm.js → redirectToMobileStateMachine-CbhN8uVN.esm.js} +65 -26
  180. package/dist/resolveForm-O7-r79VA.esm.js +351 -0
  181. package/dist/{runChildModule-BF_atgNx.esm.js → runChildModule-BffFArwl.esm.js} +3 -3
  182. package/dist/{sdkVersion-CsIbltJF.esm.js → sdkVersion-CDd_gaR7.esm.js} +1 -1
  183. package/dist/selfie.d.ts +4 -4
  184. package/dist/selfie.esm.js +10 -10
  185. package/dist/{selfieErrorUtils-BY0-YbPW.esm.js → selfieErrorUtils-f4MgAG2A.esm.js} +1 -1
  186. package/dist/{selfieManager-BJdNu_nd.d.ts → selfieManager-DmZFzs1-.d.ts} +1 -1
  187. package/dist/{selfieManager-vAAwzsHk.esm.js → selfieManager-hopelYEk.esm.js} +5 -5
  188. package/dist/{selfieStateMachine-BFVp3ElQ.esm.js → selfieStateMachine-DaZIVv3Q.esm.js} +3 -3
  189. package/dist/{session-CpwfoVdH.esm.js → session-CdSX4wsZ.esm.js} +77 -9
  190. package/dist/session.d.ts +96 -10
  191. package/dist/session.esm.js +7 -6
  192. package/dist/{sessionInitializer-BTjYgE-V.esm.js → sessionInitializer-DsL7X2j9.esm.js} +465 -206
  193. package/dist/{setup-YPKTUCY5.d.ts → setup-D9qt8YVU.d.ts} +2 -2
  194. package/dist/{setup-BInNAvQw.esm.js → setup-DDahygZs.esm.js} +44 -30
  195. package/dist/signature.esm.js +2 -2
  196. package/dist/{signatureManager-f_dPAGXn.esm.js → signatureManager-CwqjcxPg.esm.js} +2 -2
  197. package/dist/{signatureStateMachine-C-nUq_oq.esm.js → signatureStateMachine-DBVDd1Eu.esm.js} +1 -1
  198. package/dist/{stats-BEvexnKC.esm.js → stats-CatA2dea.esm.js} +1 -1
  199. package/dist/stats.esm.js +1 -1
  200. package/dist/textRules-D4NRinKY.d.ts +41 -0
  201. package/dist/{tri-xzRLIIMN.esm.js → tri-DG6priFa.esm.js} +142 -8
  202. package/dist/tri.d.ts +1 -1
  203. package/dist/tri.esm-CzTNi5Q_.esm.js +3826 -0
  204. package/dist/tri.esm.js +1 -1
  205. package/dist/{trueSightService-BMT-TubT.esm.js → trueSightService-GuLthUVK.esm.js} +19 -10
  206. package/dist/trust-graph.esm.js +1 -1
  207. package/dist/types-B9C8W01q.d.ts +34 -0
  208. package/dist/{types-yPH8lAH-.d.ts → types-BEVHQbbC.d.ts} +2 -2
  209. package/dist/{types-BAxn7MpY.d.ts → types-BPm1JSu7.d.ts} +123 -48
  210. package/dist/{types-0L-eFDmr.d.ts → types-BgRHw-dR.d.ts} +1 -1
  211. package/dist/{types-B6HsSzpk.d.ts → types-CRaFu6wS.d.ts} +6 -3
  212. package/dist/types-CTaL0XJz.d.ts +80 -0
  213. package/dist/{types-Ckir_BEs.d.ts → types-Cd0J0F9D.d.ts} +1 -1
  214. package/dist/{types-CK8Jbjkp.d.ts → types-Csh8vzPo.d.ts} +1 -1
  215. package/dist/types-CuMJ2M7D.d.ts +210 -0
  216. package/dist/{types-DUnFZ08M.d.ts → types-CyNndVAT.d.ts} +16 -8
  217. package/dist/{types-DPIDuhut.d.ts → types-DNVzoRvi.d.ts} +2 -1
  218. package/dist/types-J6g6iKe_.d.ts +6 -0
  219. package/dist/{urlUtils-6jsE6rKp.esm.js → urlUtils-eYiyWjh0.esm.js} +4 -1
  220. package/dist/video-selfie.d.ts +8 -8
  221. package/dist/video-selfie.esm.js +97 -22
  222. package/dist/{videoSelfieCameraWarmer-D1xA0u8y.esm.js → videoSelfieCameraWarmer-e3irGfcO.esm.js} +18 -21
  223. package/dist/{videoSelfieStepDetector-CGsTltqB.d.ts → videoSelfieStepDetector-Dv3Mgws-.d.ts} +9 -4
  224. package/dist/virtualCameraCheck-eFOm2C9q.esm.js +27 -0
  225. package/dist/{warmup-BElYWRh7.esm.js → warmup-DtB0DJpl.esm.js} +198 -27
  226. package/dist/wasm.d.ts +2 -2
  227. package/dist/wasm.esm.js +3 -3
  228. package/dist/{wasmDsFlagSync-CYj5LL9z.esm.js → wasmDsFlagSync-BtiR5pig.esm.js} +1 -1
  229. package/dist/wasmMetadataVersionSync-U8EFUr1T.esm.js +27 -0
  230. package/dist/{wasmWebClient-BjZw_7OB.esm.js → wasmWebClient-BDrax6Eu.esm.js} +55 -26
  231. package/dist/watchlist-for-business.d.ts +2 -1
  232. package/dist/watchlist-for-business.esm.js +2 -2
  233. package/dist/watchlist.esm.js +2 -2
  234. package/dist/{watchlistForBusinessManager-B3GDPZrr.d.ts → watchlistForBusinessManager-DX2AyM4Y.d.ts} +54 -18
  235. package/dist/{watchlistForBusinessManager-CZZOFkGl.esm.js → watchlistForBusinessManager-DqUpAEj_.esm.js} +37 -7
  236. package/dist/watchlistForBusinessStateMachine-DdaPl2PS.esm.js +166 -0
  237. package/dist/{watchlistManager-DXtX94SN.esm.js → watchlistManager-CdpXzT4B.esm.js} +2 -2
  238. package/dist/{watchlistStateMachine-McALifag.esm.js → watchlistStateMachine-ofHW_lPk.esm.js} +1 -1
  239. package/dist/workflow.d.ts +5 -2
  240. package/dist/workflow.esm.js +60 -50
  241. package/package.json +12 -5
  242. package/dist/IBrowserEnvironmentCapability-DEaRRk-R.esm.js +0 -9
  243. package/dist/addressSearch-DPjIKJrX.esm.js +0 -563
  244. package/dist/deepsightLoader-DeNvGU3c.esm.js +0 -55
  245. package/dist/ekycStateMachine-CDnI_NRq.esm.js +0 -1443
  246. package/dist/ekycUtils-zY8CdKJL.esm.js +0 -300
  247. package/dist/thumbmark.esm-CRc0cYvz.esm.js +0 -1242
  248. package/dist/tri.esm-BIjHhBJ2.esm.js +0 -2620
  249. package/dist/types-BvLo3U4u.d.ts +0 -134
  250. package/dist/types-zOgZqMni.d.ts +0 -6
  251. package/dist/watchlistForBusinessStateMachine-B66E7jud.esm.js +0 -78
  252. /package/dist/{types-BSBzhHRH2.d.ts → types-BSBzhHRH.d.ts} +0 -0
@@ -0,0 +1,210 @@
1
+ import { r as FieldDef, t as CharacterClass } from "./textRules-D4NRinKY.js";
2
+ //#region src/modules/ekyc/types.d.ts
3
+ type EkycFieldSource = 'user_input' | 'document_scan' | 'poa_document' | 'phone_module_input' | 'email_module_input' | false;
4
+ type EkycVerificationFields = {
5
+ name?: EkycFieldSource;
6
+ address?: EkycFieldSource;
7
+ phone?: EkycFieldSource;
8
+ email?: EkycFieldSource;
9
+ SSN?: EkycFieldSource;
10
+ taxId?: EkycFieldSource;
11
+ nationality?: EkycFieldSource;
12
+ 'date of birth'?: EkycFieldSource;
13
+ dlNumber?: EkycFieldSource;
14
+ dlState?: EkycFieldSource;
15
+ dlExpireAt?: EkycFieldSource;
16
+ last4SSN?: EkycFieldSource;
17
+ idNum?: EkycFieldSource;
18
+ idNum1?: EkycFieldSource;
19
+ gender?: EkycFieldSource;
20
+ panNumber?: EkycFieldSource;
21
+ idType?: EkycFieldSource;
22
+ issueDate?: EkycFieldSource;
23
+ fileNumber?: EkycFieldSource;
24
+ };
25
+ /** How module configuration asks a group's fields to show. */
26
+ type EkycFieldDisplayMode = 'editable' | 'readOnly' | 'hidden';
27
+ /** Each group's configured display mode, keyed like `EkycVerificationFields`. */
28
+ type EkycDisplayModes = Partial<Record<keyof EkycVerificationFields, EkycFieldDisplayMode>>;
29
+ type EkycModuleConfig = {
30
+ source: string;
31
+ enablePhoneRisk?: boolean;
32
+ checkName?: boolean;
33
+ nameSource?: string;
34
+ checkEmail?: boolean;
35
+ emailSource?: string;
36
+ checkAddress?: boolean;
37
+ addressSource?: string;
38
+ checkPhone?: boolean;
39
+ phoneSource?: string;
40
+ checkSsn?: boolean;
41
+ ssnSource?: string;
42
+ checkDob?: boolean;
43
+ dobSource?: string;
44
+ checkNationality?: boolean;
45
+ nationalitySource?: string;
46
+ checkDlNumber?: boolean;
47
+ dlNumberSource?: string;
48
+ checkDlState?: boolean;
49
+ dlStateSource?: string;
50
+ checkDlExpireAt?: boolean;
51
+ dlExpireAtSource?: string;
52
+ checkLast4SSN?: boolean;
53
+ last4SSNSource?: string;
54
+ checkIdNum?: boolean;
55
+ idNumSource?: string;
56
+ checkIdNum1?: boolean;
57
+ idNum1Source?: string;
58
+ checkGender?: boolean;
59
+ genderSource?: string;
60
+ checkPanNumber?: boolean;
61
+ panNumberSource?: string;
62
+ checkIdType?: boolean;
63
+ idTypeSource?: string;
64
+ checkIssueDate?: boolean;
65
+ issueDateSource?: string;
66
+ checkFileNumber?: boolean;
67
+ fileNumberSource?: string;
68
+ nameDisplayMode?: EkycFieldDisplayMode;
69
+ emailDisplayMode?: EkycFieldDisplayMode;
70
+ addressDisplayMode?: EkycFieldDisplayMode;
71
+ phoneDisplayMode?: EkycFieldDisplayMode;
72
+ ssnDisplayMode?: EkycFieldDisplayMode;
73
+ dobDisplayMode?: EkycFieldDisplayMode;
74
+ nationalityDisplayMode?: EkycFieldDisplayMode;
75
+ dlNumberDisplayMode?: EkycFieldDisplayMode;
76
+ dlStateDisplayMode?: EkycFieldDisplayMode;
77
+ dlExpireAtDisplayMode?: EkycFieldDisplayMode;
78
+ last4SSNDisplayMode?: EkycFieldDisplayMode;
79
+ idNumDisplayMode?: EkycFieldDisplayMode;
80
+ idNum1DisplayMode?: EkycFieldDisplayMode;
81
+ genderDisplayMode?: EkycFieldDisplayMode;
82
+ panNumberDisplayMode?: EkycFieldDisplayMode;
83
+ idTypeDisplayMode?: EkycFieldDisplayMode;
84
+ issueDateDisplayMode?: EkycFieldDisplayMode;
85
+ fileNumberDisplayMode?: EkycFieldDisplayMode;
86
+ riskAddons?: RiskAddon[];
87
+ };
88
+ type EkycFormValues = Record<string, string | undefined>;
89
+ /** Manager creation config */
90
+ type EkycConfig = {
91
+ flowId?: string;
92
+ verificationFields?: EkycVerificationFields;
93
+ source?: string;
94
+ fieldsCountry?: string;
95
+ enablePhoneRisk?: boolean;
96
+ /** Each group's display mode; a group that is absent is editable. */
97
+ displayModes?: EkycDisplayModes;
98
+ };
99
+ type EkycValidationRule = ({
100
+ type: 'required';
101
+ } | {
102
+ type: 'streetLevelRequired';
103
+ } | {
104
+ type: 'cpf';
105
+ } | {
106
+ type: 'ssnFormat';
107
+ } | {
108
+ type: 'noPoBox';
109
+ } | {
110
+ type: 'postalCodeFormat';
111
+ country: string;
112
+ } | {
113
+ type: 'phoneFormat';
114
+ country: string;
115
+ optional: boolean;
116
+ } | {
117
+ type: 'emailFormat';
118
+ } | {
119
+ type: 'exactLength';
120
+ length: number;
121
+ } |
122
+ /** `message` replaces the DOB-or-SSN message, for any other pair. */
123
+ {
124
+ type: 'oneOfRequired';
125
+ fields: string[];
126
+ message?: string;
127
+ } | {
128
+ type: 'nameCharacters';
129
+ } | {
130
+ type: 'notFuture';
131
+ } | {
132
+ type: 'phoneDigits';
133
+ country: string;
134
+ min: number;
135
+ max: number;
136
+ } | {
137
+ type: 'digitCount';
138
+ lengths?: number[];
139
+ min?: number;
140
+ max?: number;
141
+ } | {
142
+ type: 'allowedCharacters';
143
+ classes: CharacterClass[];
144
+ extra?: string;
145
+ } | {
146
+ type: 'charTemplate';
147
+ templates: string[];
148
+ ignoreCase?: boolean;
149
+ } | {
150
+ type: 'numericRange';
151
+ min: number;
152
+ max: number;
153
+ } |
154
+ /** National ID checks, each with its own message key. */
155
+ {
156
+ type: 'rut';
157
+ } | {
158
+ type: 'esDni';
159
+ } | {
160
+ type: 'fiPersonalIdentityCode';
161
+ } | {
162
+ type: 'inDrivingLicenseNumber';
163
+ } | {
164
+ type: 'curp';
165
+ } |
166
+ /** Required while any of `fields` has a value. */
167
+ {
168
+ type: 'requiredIfFilled';
169
+ fields: string[];
170
+ } |
171
+ /** The rules for the `selector` field's current value. */
172
+ {
173
+ type: 'rulesByOption';
174
+ selector: string;
175
+ cases: Record<string, EkycValidationRule[]>;
176
+ }) & {
177
+ /**
178
+ * A message key shown instead of the rule's own.
179
+ */
180
+ message?: string;
181
+ };
182
+ type EkycValidationError = {
183
+ key: string;
184
+ /** A list param is shown as a list in the user's language ("8 or 10"). */
185
+ params?: Record<string, string | number | number[]>;
186
+ };
187
+ type EkycValidationErrors = Partial<Record<string, EkycValidationError>>;
188
+ type EkycFieldDef = FieldDef & {
189
+ source: EkycFieldSource;
190
+ validation?: EkycValidationRule[];
191
+ /**
192
+ * How the request sends a phone: its national number, or E.164 without
193
+ * the `+`. E.164 when unset.
194
+ */
195
+ phoneFormat?: 'nationalNumber' | 'e164NoPlus';
196
+ /** The request key, when it isn't the field name. */
197
+ payloadKey?: string;
198
+ /**
199
+ * How the field shows once prefill has run. `hidden` fields aren't
200
+ * rendered but are validated and sent; `readOnly` ones also set
201
+ * `readonly`. Unset means editable.
202
+ */
203
+ displayMode?: EkycFieldDisplayMode;
204
+ /** Formatting applied to the value as the user types, in order. */
205
+ inputFormat?: EkycInputFormat[];
206
+ };
207
+ type EkycInputFormat = 'uppercase' | 'stripSeparators';
208
+ type RiskAddon = 'phoneCheck' | 'advancedPhoneCheck' | 'emailCheck' | 'phoneProfile';
209
+ //#endregion
210
+ export { EkycFormValues as a, EkycValidationErrors as c, EkycFieldDisplayMode as i, RiskAddon as l, EkycDisplayModes as n, EkycModuleConfig as o, EkycFieldDef as r, EkycValidationError as s, EkycConfig as t };
@@ -1,7 +1,7 @@
1
1
  import { t as PermissionResult } from "./types-BEwVKkLJ.js";
2
2
  import { t as CameraStream } from "./camera-9wWD-pwg.js";
3
3
  //#region src/modules/document-capture/types.d.ts
4
- type DocumentType = 'addressStatement' | 'otherDocument1' | 'otherDocument2' | 'otherDocument3' | 'v5cMultiPageLogbook' | 'circulationCard' | 'financeSettlement' | 'carInvoice' | 'capture' | 'processPoaOcr' | 'processLoaOcr' | 'processAsylumSeekerVisaZaf' | 'processBankStatementOCR' | 'processBankCheck' | 'processIneMex' | 'processColombiaRutForm' | 'processV5CLogbook' | 'processCarInvoice' | 'processCirculationCard' | 'processFinanceSettlement' | 'processW8BenOcr' | 'processW8BenEOcr' | 'w8Ben' | 'w8BenE';
4
+ type DocumentType = 'addressStatement' | 'otherDocument1' | 'otherDocument2' | 'otherDocument3' | 'v5cMultiPageLogbook' | 'circulationCard' | 'financeSettlement' | 'carInvoice' | 'capture' | 'processPoaOcr' | 'processLoaOcr' | 'processAsylumSeekerVisaZaf' | 'processBankStatementOCR' | 'processBankCheck' | 'processIneMex' | 'processColombiaRutForm' | 'processV5CLogbook' | 'processCarInvoice' | 'processCirculationCard' | 'processFinanceSettlement' | 'processW8BenOcr' | 'processW8BenEOcr' | 'w8Ben' | 'w8BenE' | 'signature' | 'document' | 'medicalDoc' | 'thirdId' | 'contract' | 'asyncProcessCarInvoice' | 'asyncProcessCirculationCard';
5
5
  declare const DOCUMENT_CAPTURE_ERROR_CODES: {
6
6
  readonly FILE_TOO_LARGE: "FILE_TOO_LARGE";
7
7
  readonly UPLOAD_FAILED: "UPLOAD_FAILED";
@@ -29,13 +29,16 @@ type DocumentCaptureConfig = {
29
29
  allowSkipDocumentCapture?: boolean;
30
30
  /** Backend ADDRESS config field. Inverted: `disableSkipPoa: true` → skip disabled. If both are set, `allowSkipDocumentCapture` takes precedence. */
31
31
  disableSkipPoa?: boolean;
32
- /** Tutorial screen title override */
32
+ /**
33
+ * Tutorial screen title override. Also sent as the `title` query parameter
34
+ * on uploads, matching Web SDK 1.
35
+ */
33
36
  title?: string;
34
37
  /** Tutorial screen text override */
35
38
  text?: string;
36
- /** Title override for the second-page tutorial (multi-page flows). Falls back to `title`. */
39
+ /** Title override for the second-page tutorial (multi-page flows). Falls back to the default copy. */
37
40
  step2Title?: string;
38
- /** Text override for the second-page tutorial (multi-page flows). Falls back to `text`. */
41
+ /** Text override for the second-page tutorial (multi-page flows). Falls back to the default copy. */
39
42
  step2Text?: string;
40
43
  /** Number of capture/upload attempts before auto-advancing. @default 3 */
41
44
  captureAttempts?: number;
@@ -51,12 +54,15 @@ type CapturedDocument = {
51
54
  file: File;
52
55
  fileType: string;
53
56
  };
57
+ /** Mirrors the AddDocumentStatus enum returned by POST /omni/add/document/v3. */
58
+ type DocumentUploadStatus = 'SUCCESS' | 'ADD_NEXT_PAGE' | 'OPTIONAL_PAGE_CAPTURE' | 'PROCESS_DOC_ERROR' | 'SESSION_ERROR' | 'CLASSIFICATION_ERROR' | 'MULTI_PAGE_CLASSIFICATION_ERROR' | 'V5C_REGISTRATION_NUMBER_MISMATCH' | 'V5C_REFERENCE_NUMBER_MISMATCH' | 'V5C_NUMBER_MISMATCH' | 'FSL_AGREEMENT_REFERENCE_MISMATCH' | 'FSL_NAME_MISMATCH' | 'MANDATORY_FIELD_MISSING' | 'UNSUPPORTED_PAGE_NUMBERS' | 'VALIDATION_ERROR' | 'UNEXPECTED_ERROR' | 'FINALIZE_ERROR_NO_PAGES' | 'UNSUPPORTED_MP_DOCUMENT_TYPE';
54
59
  type DocumentUploadResponse = {
55
- success: boolean;
56
- status?: 'ADD_NEXT_PAGE' | 'OPTIONAL_PAGE_CAPTURE' | 'SUCCESS';
60
+ /** Legacy flag returned by the v2 endpoints. v3 responses only carry `status`. */
61
+ success?: boolean;
62
+ status?: DocumentUploadStatus;
57
63
  };
58
64
  type FinalizeDocumentResponse = {
59
- status?: string;
65
+ status?: DocumentUploadStatus;
60
66
  success?: boolean;
61
67
  };
62
68
  type DocumentCaptureResolvedConfig = {
@@ -94,6 +100,8 @@ type DocumentCaptureContext = {
94
100
  helpOpen: boolean;
95
101
  progress: number;
96
102
  error: DocumentCaptureErrorCode | DocumentCaptureFinalizeErrorCode | undefined;
103
+ /** Server status that rejected the last upload or finalize call, if any. */
104
+ rejectionStatus: DocumentUploadStatus | undefined;
97
105
  attemptsRemaining: number;
98
106
  pageNumber: number;
99
107
  nextPageType: DocumentCaptureNextPageType;
@@ -102,4 +110,4 @@ type DocumentCaptureInput = {
102
110
  config: DocumentCaptureConfig;
103
111
  };
104
112
  //#endregion
105
- export { DocumentCaptureErrorCode as a, DocumentType as c, DocumentCaptureContext as i, DocumentUploadResponse as l, DOCUMENT_CAPTURE_ERROR_CODES as n, DocumentCaptureInput as o, DocumentCaptureConfig as r, DocumentCaptureNextPageType as s, CapturedDocument as t, FinalizeDocumentResponse as u };
113
+ export { DocumentCaptureErrorCode as a, DocumentType as c, FinalizeDocumentResponse as d, DocumentCaptureContext as i, DocumentUploadResponse as l, DOCUMENT_CAPTURE_ERROR_CODES as n, DocumentCaptureInput as o, DocumentCaptureConfig as r, DocumentCaptureNextPageType as s, CapturedDocument as t, DocumentUploadStatus as u };
@@ -9,6 +9,7 @@ type RedirectToMobileConfig = {
9
9
  externalId?: string;
10
10
  lang?: string;
11
11
  };
12
+ type RedirectToMobileErrorCode = 'INVALID_REDIRECT_URL';
12
13
  type OnboardingStatus = 'ONBOARDING_FINISHED' | 'ONBOARDING_IN_PROGRESS' | 'ONBOARDING_NOT_STARTED';
13
14
  type OnboardingStatusResponse = {
14
15
  onboardingStatus: OnboardingStatus;
@@ -37,4 +38,4 @@ type RedirectToMobileServices = {
37
38
  fetchStartInfo: (signal?: AbortSignal) => Promise<StartInfoResponse>;
38
39
  };
39
40
  //#endregion
40
- export { RedirectToMobileServices as n, RedirectToMobileConfig as t };
41
+ export { RedirectToMobileErrorCode as n, RedirectToMobileServices as r, RedirectToMobileConfig as t };
@@ -0,0 +1,6 @@
1
+ import { i as FlowModuleConfig } from "./types-CRaFu6wS.js";
2
+ import { t as BaseFaceCaptureConfig } from "./types-BEVHQbbC.js";
3
+ //#region src/modules/authentication/types.d.ts
4
+ type AuthenticationConfig = FlowModuleConfig['AUTHENTICATION'] & BaseFaceCaptureConfig;
5
+ //#endregion
6
+ export { AuthenticationConfig as t };
@@ -6,6 +6,9 @@ function getUrlSearchParam(url, param) {
6
6
  return null;
7
7
  }
8
8
  }
9
+ function resolveAgainstPageOrigin(path) {
10
+ return new URL(path, window.location.origin).href;
11
+ }
9
12
  function buildUrlWithSearchParams(baseUrl, params) {
10
13
  const url = new URL(baseUrl);
11
14
  for (const [key, value] of Object.entries(params)) if (value !== void 0) url.searchParams.set(key, value);
@@ -20,4 +23,4 @@ function stripUrlQueryAndFragment(url) {
20
23
  }
21
24
  }
22
25
  //#endregion
23
- export { getUrlSearchParam as n, stripUrlQueryAndFragment as r, buildUrlWithSearchParams as t };
26
+ export { stripUrlQueryAndFragment as i, getUrlSearchParam as n, resolveAgainstPageOrigin as r, buildUrlWithSearchParams as t };
@@ -5,7 +5,7 @@ import "./Actor-DpTj5PFb.js";
5
5
  import { t as IVisibilityObserverCapability } from "./IVisibilityObserverCapability-D4tvIB5v.js";
6
6
  import { t as CameraStream } from "./camera-9wWD-pwg.js";
7
7
  import { t as DetectionOrientation } from "./IIdCaptureCapability-CGcEt2Cw.js";
8
- import { a as FacingMode, i as CameraCompositor, n as VideoSelfieDetectionStatus, o as VideoSelfieConfig, r as VideoSelfieValidationFailure, s as VideoSelfieStep, t as StepDetector } from "./videoSelfieStepDetector-CGsTltqB.js";
8
+ import { a as FacingMode, c as VideoSelfieStep, i as CameraCompositor, n as VideoSelfieDetectionStatus, o as VideoSelfieConfig, r as VideoSelfieValidationFailure, s as VideoSelfieSpeechResult, t as StepDetector } from "./videoSelfieStepDetector-Dv3Mgws-.js";
9
9
  //#region ../infra/src/capabilities/ITimerCapability.d.ts
10
10
  type TimerHandle = ReturnType<typeof setTimeout>;
11
11
  type ITimerCapability = {
@@ -162,7 +162,7 @@ type VideoSelfieRecordingDependencies = {
162
162
  * `error` for diagnostics/hosts, the UI shows its generic fallback);
163
163
  * `maxVideoLengthReached` is the configured recording limit; and
164
164
  * `validationAttemptsExhausted` terminates the module after the last allowed
165
- * ID or selfie validation failure.
165
+ * ID, selfie, or speech validation failure.
166
166
  */
167
167
  type VideoSelfieErrorKind = 'connection' | 'technical' | 'maxVideoLengthReached' | 'validationAttemptsExhausted';
168
168
  //#endregion
@@ -201,7 +201,7 @@ type VideoSelfieRecordingState = {
201
201
  orientation: DetectionOrientation | undefined;
202
202
  /** Validation failure shown during the current retry/exhaustion dwell. */
203
203
  validationFailure: VideoSelfieValidationFailure | undefined;
204
- /** Remaining validation attempts for the active capture step; `-1` means unlimited. */
204
+ /** Remaining validation attempts for the active capture or speech step; `-1` means unlimited. */
205
205
  attemptsRemaining: number;
206
206
  /** The completed upload id, available during `success` and `finished`. */
207
207
  recordingId: string | null;
@@ -216,7 +216,7 @@ type VideoSelfieRecordingState = {
216
216
  * the connection-error copy; raw detail stays in `error` for diagnostics)
217
217
  * or `technical` (recoverable technical failures), or
218
218
  * `maxVideoLengthReached` (the configured recording limit), or
219
- * `validationAttemptsExhausted` (terminal ID/selfie validation failure).
219
+ * `validationAttemptsExhausted` (terminal ID/selfie/speech validation failure).
220
220
  * Set when `status === 'error'`.
221
221
  */
222
222
  errorKind: VideoSelfieErrorKind | undefined;
@@ -238,6 +238,8 @@ declare function createVideoSelfieRecordingManager(options?: CreateVideoSelfieRe
238
238
  * facing mode differs; finalizes the upload on the last step.
239
239
  */
240
240
  nextStep(): void;
241
+ /** Report a speech verdict; Core counts rejections and finalizes on exhaustion. */
242
+ reportSpeechResult(result: VideoSelfieSpeechResult): void;
241
243
  /** Abandon the session without finalizing the upload. */
242
244
  abort(): void;
243
245
  };
@@ -340,9 +342,7 @@ type ConsentRecorder = {
340
342
  /** Start capturing audio from the given stream (uses its audio tracks). */
341
343
  start(stream: MediaStream): void;
342
344
  /** Stop, encode to MP3 base64, and upload. Resolves the backend verdict. */
343
- submit(): Promise<{
344
- success: boolean;
345
- }>;
345
+ submit(): Promise<VideoSelfieSpeechResult>;
346
346
  /** Stop and discard without uploading (consent check disabled, or abort). */
347
347
  cancel(): void;
348
348
  };
@@ -383,4 +383,4 @@ declare const videoSelfieFlowModuleMachine: StateMachine<MachineContext, AnyEven
383
383
  //#region src/internal/orchestration/advanceableErrors.d.ts
384
384
  declare const VIDEO_SELFIE_VALIDATION_ATTEMPTS_EXHAUSTED_CODE = "VIDEO_SELFIE_VALIDATION_ATTEMPTS_EXHAUSTED";
385
385
  //#endregion
386
- export { type ConsentRecorder, type CreateVideoSelfieRecordingActorOptions, VIDEO_SELFIE_VALIDATION_ATTEMPTS_EXHAUSTED_CODE, type VideoSelfieCameraWarmer, type VideoSelfieConfig, type VideoSelfieQuestion, type VideoSelfieRecordingManager, type VideoSelfieRecordingState, type VideoSelfieRecordingStatus, type VideoSelfieStep, createConsentRecorder, createVideoSelfieCameraWarmer, createVideoSelfieRecordingManager, facingModeForStep, getVideoSelfieQuestions, getVoiceConsentPhrase, resolveVideoSelfieSteps, videoSelfieFlowModuleMachine, videoSelfieWasmPipelines, warmupVideoSelfieWasm };
386
+ export { type ConsentRecorder, type CreateVideoSelfieRecordingActorOptions, VIDEO_SELFIE_VALIDATION_ATTEMPTS_EXHAUSTED_CODE, type VideoSelfieCameraWarmer, type VideoSelfieConfig, type VideoSelfieQuestion, type VideoSelfieRecordingManager, type VideoSelfieRecordingState, type VideoSelfieRecordingStatus, type VideoSelfieSpeechResult, type VideoSelfieStep, createConsentRecorder, createVideoSelfieCameraWarmer, createVideoSelfieRecordingManager, facingModeForStep, getVideoSelfieQuestions, getVoiceConsentPhrase, resolveVideoSelfieSteps, videoSelfieFlowModuleMachine, videoSelfieWasmPipelines, warmupVideoSelfieWasm };
@@ -1,15 +1,18 @@
1
- import { t as ensureWasmPipelines } from "./setup-BInNAvQw.esm.js";
2
- import { t as WasmUtilProvider } from "./WasmUtilProvider-DtJuBdt-.esm.js";
3
- import { t as api, u as endpoints } from "./api-Cz90EHyu.esm.js";
1
+ import { t as ensureWasmPipelines } from "./setup-DDahygZs.esm.js";
2
+ import { t as WasmUtilProvider } from "./WasmUtilProvider-Dp2V-Uct.esm.js";
3
+ import { t as api, u as endpoints } from "./api-CpP4PS4S.esm.js";
4
4
  import { t as BrowserTimerProvider } from "./BrowserTimerProvider-BXhgNxLt.esm.js";
5
5
  import { t as BrowserLazyImportProvider } from "./BrowserLazyImportProvider-BhoA957O.esm.js";
6
- import { d as facingModeForStep, f as resolveVideoSelfieSteps, p as videoSelfieWasmPipelines } from "./flowServices-roD0oIQL.esm.js";
7
- import { i as assign, r as sendTo, s as createActor, t as setup, u as createManager } from "./xstate.esm-DSajW7CJ.esm.js";
6
+ import { f as facingModeForStep, m as videoSelfieWasmPipelines, p as resolveVideoSelfieSteps } from "./flowServices-Dmnc8Rye.esm.js";
7
+ import { i as assign, l as raise, r as sendTo, s as createActor, t as setup, u as createManager } from "./xstate.esm-DSajW7CJ.esm.js";
8
8
  import { n as fromPromise, t as fromCallback } from "./xstate-actors.esm-8Gzepa_A.esm.js";
9
9
  import { t as BrowserVisibilityObserverProvider } from "./BrowserVisibilityObserverProvider-BrJN1B8A.esm.js";
10
- import { i as createRecordingCompositor, n as WorkerEncoderRecordingProvider, t as MultipartRecordingService } from "./multipartRecordingService-CLwrF5wD.esm.js";
11
- import { t as VIDEO_SELFIE_VALIDATION_ATTEMPTS_EXHAUSTED_CODE } from "./advanceableErrors-q_pfU3Cn.esm.js";
12
- import { a as isConnectionError, n as defaultAcquireCamera, r as createDefaultStepDetector, t as createVideoSelfieCameraWarmer } from "./videoSelfieCameraWarmer-D1xA0u8y.esm.js";
10
+ import { t as carryAttempts } from "./attemptCarry-WOkfvFMw.esm.js";
11
+ import { t as VIDEO_SELFIE_VALIDATION_ATTEMPTS_EXHAUSTED_CODE } from "./advanceableErrors-k-U-cL5m.esm.js";
12
+ import { n as defaultAcquireCamera, r as createDefaultStepDetector, s as isConnectionError, t as createVideoSelfieCameraWarmer } from "./videoSelfieCameraWarmer-e3irGfcO.esm.js";
13
+ import { r as createRecordingCompositor } from "./CameraCompositor-DN7NkJzV.esm.js";
14
+ import { t as WorkerEncoderRecordingProvider } from "./WorkerEncoderRecordingProvider-B1ODYtgN.esm.js";
15
+ import { t as MultipartRecordingService } from "./multipartRecordingService-BTqkHGG9.esm.js";
13
16
  import { t as videoSelfieFlowModuleMachine } from "./videoSelfieFlowModuleMachine-BCFVHBQ1.esm.js";
14
17
  //#region ../../node_modules/.pnpm/audio-recorder-polyfill@0.4.1/node_modules/audio-recorder-polyfill/wave-encoder/index.js
15
18
  var wave_encoder_default = () => {
@@ -726,6 +729,7 @@ const videoSelfieRecordingSetup = setup({
726
729
  error: () => "Video selfie validation attempts exhausted",
727
730
  errorKind: () => "validationAttemptsExhausted"
728
731
  }),
732
+ consumeSpeechAttempt: assign({ speechAttemptsRemaining: ({ context }) => context.speechAttemptsRemaining === UNLIMITED_ATTEMPTS ? UNLIMITED_ATTEMPTS : Math.max(0, context.speechAttemptsRemaining - 1) }),
729
733
  resetSession: assign(({ context }) => ({
730
734
  stepIndex: 0,
731
735
  cameraSwitchRetried: false,
@@ -739,6 +743,7 @@ const videoSelfieRecordingSetup = setup({
739
743
  recordingId: null,
740
744
  error: void 0,
741
745
  errorKind: void 0,
746
+ speechAccepted: false,
742
747
  resumeState: "recording"
743
748
  })),
744
749
  cleanup: ({ context }) => {
@@ -771,9 +776,15 @@ const videoSelfieRecordingSetup = setup({
771
776
  }
772
777
  },
773
778
  guards: {
779
+ ignoreSpeechResult: ({ context }) => context.steps[context.stepIndex] !== "speech" || context.speechAccepted,
780
+ speechSubmissionFailed: ({ event }) => event.type === "SPEECH_RESULT" && event.result.errorKind !== void 0,
781
+ speechWasAccepted: ({ event }) => event.type === "SPEECH_RESULT" && event.result.success,
782
+ isLastSpeechAttempt: ({ context }) => context.speechAttemptsRemaining !== UNLIMITED_ATTEMPTS && context.speechAttemptsRemaining <= 1,
783
+ speechAccepted: ({ context }) => context.speechAccepted,
774
784
  shouldEnterWasmGate: ({ context }) => context.ensureWasmReady !== void 0 && context.errorKind !== "maxVideoLengthReached" && context.errorKind !== "validationAttemptsExhausted",
775
785
  isLastStep: ({ context }) => context.stepIndex >= context.steps.length - 1,
776
786
  hasAttemptsRemaining: ({ context }) => context.attemptsRemaining === UNLIMITED_ATTEMPTS || context.attemptsRemaining > 0,
787
+ isOutOfAttempts: ({ context }) => context.attemptsRemaining === 0 || context.steps.includes("speech") && context.speechAttemptsRemaining === 0,
777
788
  nextStepFlipsId: ({ context }) => context.steps[context.stepIndex] === "frontId" && context.steps[context.stepIndex + 1] === "backId",
778
789
  nextStepFlipsCamera: ({ context }) => facingModeForStep(context.steps[context.stepIndex]) !== facingModeForStep(context.steps[context.stepIndex + 1]),
779
790
  uploadReturnedNoRecordingId: ({ event }) => recordingIdFromEvent(event) === null,
@@ -812,11 +823,39 @@ const ADVANCE_TRANSITIONS = [
812
823
  actions: "advanceStep"
813
824
  }
814
825
  ];
826
+ const SPEECH_RESULT_TRANSITIONS = [
827
+ { guard: "ignoreSpeechResult" },
828
+ {
829
+ guard: "speechSubmissionFailed",
830
+ target: "error",
831
+ actions: videoSelfieRecordingSetup.assign(({ event }) => ({
832
+ error: "Speech validation could not be completed",
833
+ errorKind: event.type === "SPEECH_RESULT" ? event.result.errorKind : void 0
834
+ }))
835
+ },
836
+ {
837
+ guard: "speechWasAccepted",
838
+ actions: videoSelfieRecordingSetup.assign({ speechAccepted: () => true })
839
+ },
840
+ {
841
+ guard: "isLastSpeechAttempt",
842
+ target: "finalizing",
843
+ actions: ["consumeSpeechAttempt", "setValidationAttemptsExhausted"]
844
+ },
845
+ { actions: "consumeSpeechAttempt" }
846
+ ];
815
847
  const videoSelfieRecordingMachine = videoSelfieRecordingSetup.createMachine({
816
848
  id: "videoSelfieRecording",
817
849
  initial: "idle",
818
- context: ({ input }) => {
850
+ context: ({ input, self }) => {
819
851
  const visibilityObserver = input.visibilityObserver;
852
+ const carried = carryAttempts("videoSelfieRecording", self, (s) => ({
853
+ attemptsRemaining: s.context.attemptsRemaining,
854
+ speechAttemptsRemaining: s.context.speechAttemptsRemaining
855
+ }));
856
+ const perStep = normalizeAttempts(input.attemptsPerStep);
857
+ const attempts = perStep === UNLIMITED_ATTEMPTS ? perStep : Math.min(perStep, carried.attemptsRemaining ?? perStep);
858
+ const speechAttempts = perStep === UNLIMITED_ATTEMPTS ? perStep : Math.min(perStep, carried.speechAttemptsRemaining ?? perStep);
820
859
  const compositor = input.dependencies?.createCompositor?.() ?? createRecordingCompositor();
821
860
  return {
822
861
  service: input.dependencies?.createRecordingService?.() ?? new MultipartRecordingService("videoselfie", new WorkerEncoderRecordingProvider(compositor)),
@@ -836,8 +875,10 @@ const videoSelfieRecordingMachine = videoSelfieRecordingSetup.createMachine({
836
875
  orientation: void 0,
837
876
  detectionError: void 0,
838
877
  validationFailure: void 0,
839
- attemptsPerStep: normalizeAttempts(input.attemptsPerStep),
840
- attemptsRemaining: normalizeAttempts(input.attemptsPerStep),
878
+ attemptsPerStep: attempts,
879
+ attemptsRemaining: attempts,
880
+ speechAttemptsRemaining: speechAttempts,
881
+ speechAccepted: false,
841
882
  maxVideoLengthSeconds: normalizeMaxVideoLength(input.maxVideoLengthSeconds),
842
883
  recordingId: null,
843
884
  error: void 0,
@@ -861,10 +902,18 @@ const videoSelfieRecordingMachine = videoSelfieRecordingSetup.createMachine({
861
902
  FOREGROUND: { actions: "markPageVisible" }
862
903
  },
863
904
  states: {
864
- idle: { on: { START: [{
865
- target: "preparingWasm",
866
- guard: "shouldEnterWasmGate"
867
- }, { target: "acquiringCamera" }] } },
905
+ idle: { on: { START: [
906
+ {
907
+ target: "error",
908
+ guard: "isOutOfAttempts",
909
+ actions: "setValidationAttemptsExhausted"
910
+ },
911
+ {
912
+ target: "preparingWasm",
913
+ guard: "shouldEnterWasmGate"
914
+ },
915
+ { target: "acquiringCamera" }
916
+ ] } },
868
917
  preparingWasm: { invoke: {
869
918
  src: "prepareWasm",
870
919
  input: ({ context }) => ({ ensure: context.ensureWasmReady }),
@@ -916,6 +965,10 @@ const videoSelfieRecordingMachine = videoSelfieRecordingSetup.createMachine({
916
965
  } },
917
966
  recording: {
918
967
  entry: "clearDetectionFeedback",
968
+ always: {
969
+ guard: "speechAccepted",
970
+ actions: [assign({ speechAccepted: () => false }), raise({ type: "NEXT_STEP" })]
971
+ },
919
972
  invoke: {
920
973
  src: "detectStep",
921
974
  input: ({ context }) => ({
@@ -937,6 +990,7 @@ const videoSelfieRecordingMachine = videoSelfieRecordingSetup.createMachine({
937
990
  ORIENTATION: { actions: "setOrientation" },
938
991
  DETECTION_DONE: ADVANCE_TRANSITIONS,
939
992
  NEXT_STEP: ADVANCE_TRANSITIONS,
993
+ SPEECH_RESULT: SPEECH_RESULT_TRANSITIONS,
940
994
  VALIDATION_FAILED: {
941
995
  target: "validationFeedback",
942
996
  actions: "setValidationFailure"
@@ -1038,7 +1092,10 @@ const videoSelfieRecordingMachine = videoSelfieRecordingSetup.createMachine({
1038
1092
  after: { CAMERA_RELEASE_SETTLE: { target: "switchingCamera" } }
1039
1093
  },
1040
1094
  pausing: {
1041
- on: { MAX_VIDEO_LENGTH_REACHED: { actions: "setMaxVideoLengthReached" } },
1095
+ on: {
1096
+ SPEECH_RESULT: SPEECH_RESULT_TRANSITIONS,
1097
+ MAX_VIDEO_LENGTH_REACHED: { actions: "setMaxVideoLengthReached" }
1098
+ },
1042
1099
  invoke: {
1043
1100
  src: "pauseCapture",
1044
1101
  input: ({ context }) => ({
@@ -1071,6 +1128,7 @@ const videoSelfieRecordingMachine = videoSelfieRecordingSetup.createMachine({
1071
1128
  }
1072
1129
  },
1073
1130
  suspended: { on: {
1131
+ SPEECH_RESULT: SPEECH_RESULT_TRANSITIONS,
1074
1132
  FOREGROUND: {
1075
1133
  target: "resumingCompositor",
1076
1134
  actions: "markPageVisible"
@@ -1082,6 +1140,7 @@ const videoSelfieRecordingMachine = videoSelfieRecordingSetup.createMachine({
1082
1140
  } },
1083
1141
  resumingCompositor: {
1084
1142
  on: {
1143
+ SPEECH_RESULT: SPEECH_RESULT_TRANSITIONS,
1085
1144
  BACKGROUND: {
1086
1145
  target: "pausing",
1087
1146
  actions: "markPageHidden"
@@ -1118,6 +1177,7 @@ const videoSelfieRecordingMachine = videoSelfieRecordingSetup.createMachine({
1118
1177
  },
1119
1178
  reacquiringCamera: {
1120
1179
  on: {
1180
+ SPEECH_RESULT: SPEECH_RESULT_TRANSITIONS,
1121
1181
  BACKGROUND: {
1122
1182
  target: "pausing",
1123
1183
  actions: "markPageHidden"
@@ -1148,6 +1208,7 @@ const videoSelfieRecordingMachine = videoSelfieRecordingSetup.createMachine({
1148
1208
  },
1149
1209
  validatingRecoveredCamera: {
1150
1210
  on: {
1211
+ SPEECH_RESULT: SPEECH_RESULT_TRANSITIONS,
1151
1212
  BACKGROUND: {
1152
1213
  target: "pausing",
1153
1214
  actions: "markPageHidden"
@@ -1181,6 +1242,7 @@ const videoSelfieRecordingMachine = videoSelfieRecordingSetup.createMachine({
1181
1242
  },
1182
1243
  resumingRecorder: {
1183
1244
  on: {
1245
+ SPEECH_RESULT: SPEECH_RESULT_TRANSITIONS,
1184
1246
  BACKGROUND: {
1185
1247
  target: "pausing",
1186
1248
  actions: "markPageHidden"
@@ -1341,7 +1403,7 @@ function mapState(snapshot) {
1341
1403
  detectionStatus: context.detectionStatus,
1342
1404
  orientation: context.orientation,
1343
1405
  validationFailure: context.validationFailure,
1344
- attemptsRemaining: context.attemptsRemaining,
1406
+ attemptsRemaining: steps[stepIndex] === "speech" ? context.speechAttemptsRemaining : context.attemptsRemaining,
1345
1407
  recordingId: context.recordingId,
1346
1408
  error: context.error,
1347
1409
  errorKind: context.errorKind
@@ -1363,6 +1425,13 @@ function createApi({ actor }) {
1363
1425
  nextStep() {
1364
1426
  actor.send({ type: "NEXT_STEP" });
1365
1427
  },
1428
+ /** Report a speech verdict; Core counts rejections and finalizes on exhaustion. */
1429
+ reportSpeechResult(result) {
1430
+ actor.send({
1431
+ type: "SPEECH_RESULT",
1432
+ result
1433
+ });
1434
+ },
1366
1435
  /** Abandon the session without finalizing the upload. */
1367
1436
  abort() {
1368
1437
  actor.send({ type: "ABORT" });
@@ -1412,8 +1481,8 @@ async function getVoiceConsentPhrase() {
1412
1481
  }
1413
1482
  /**
1414
1483
  * Uploads the recorded consent audio (base64 MP3) for speech-to-text
1415
- * validation. Resolves `{ success: false }` on a network/validation error so
1416
- * the UI can drive its retry loop instead of throwing.
1484
+ * validation. Transport/technical failures carry an error kind so they do not
1485
+ * consume validation attempts.
1417
1486
  */
1418
1487
  async function addSpeech(base64Mp3) {
1419
1488
  try {
@@ -1421,8 +1490,11 @@ async function addSpeech(base64Mp3) {
1421
1490
  base64Media: base64Mp3,
1422
1491
  audioOnly: true
1423
1492
  })).data.success === true };
1424
- } catch {
1425
- return { success: false };
1493
+ } catch (error) {
1494
+ return {
1495
+ success: false,
1496
+ errorKind: isConnectionError(error) ? "connection" : "technical"
1497
+ };
1426
1498
  }
1427
1499
  }
1428
1500
  //#endregion
@@ -1435,7 +1507,10 @@ function createConsentRecorder() {
1435
1507
  },
1436
1508
  async submit() {
1437
1509
  const base64 = await provider.stopAsBase64();
1438
- if (base64.length === 0) return { success: false };
1510
+ if (base64.length === 0) return {
1511
+ success: false,
1512
+ errorKind: "technical"
1513
+ };
1439
1514
  return addSpeech(base64);
1440
1515
  },
1441
1516
  cancel() {