@incodetech/core 2.3.2 → 2.4.0-rc.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 (271) hide show
  1. package/THIRD_PARTY_NOTICES.txt +1243 -3
  2. package/dist/Actor-DpTj5PFb.d.ts +1 -0
  3. package/dist/{BaseWasmProvider-Dyi6dKp1.d.ts → BaseWasmProvider-Bq3OHo7P.d.ts} +2 -2
  4. package/dist/BrowserDiagnosticsEnvelopeProvider-BQca6KPG.esm.js +43 -0
  5. package/dist/{FaceDetectionProvider-DtmtCKa9.esm.js → FaceDetectionProvider-BIImDZrc.esm.js} +125 -10
  6. package/dist/HttpRequestError-Bh0pNGSC.esm.js +35 -0
  7. package/dist/{IIdCaptureCapability-RNiFhvXR.d.ts → IIdCaptureCapability-CGcEt2Cw.d.ts} +2 -2
  8. package/dist/{IWasmUtilCapability-CNWRl7jr.d.ts → IWasmUtilCapability-GF2n7sfm.d.ts} +28 -5
  9. package/dist/{Manager-CQQ99QOI.d.ts → Manager-C9T5amUN.d.ts} +7 -1
  10. package/dist/{MotionSensorProvider-DyhbM4Si.esm.js → MotionSensorProvider-DYxh8TjR.esm.js} +1 -1
  11. package/dist/{ekycStateMachine-UeJRO8_p.esm.js → PhoneValidationProvider-SZiOS0jB.esm.js} +232 -827
  12. package/dist/{StreamCanvasCapture-_8gdW5Lk.d.ts → StreamCanvasCapture-7JRf-2ck.d.ts} +2 -2
  13. package/dist/{safeStorage-BdU9_m2E.esm.js → WasmUtilProvider-DtJuBdt-.esm.js} +111 -49
  14. package/dist/{addressSearch-DyHGgeX8.esm.js → addressSearch-DPjIKJrX.esm.js} +142 -4
  15. package/dist/{advanceableErrors-CpF2cBy6.esm.js → advanceableErrors-q_pfU3Cn.esm.js} +5 -4
  16. package/dist/ae-signature.d.ts +2 -2
  17. package/dist/ae-signature.esm.js +1 -1
  18. package/dist/antifraud.d.ts +1 -1
  19. package/dist/antifraud.esm.js +2 -2
  20. package/dist/{antifraudManager-DNkw66oW.esm.js → antifraudManager-CaweCYnY.esm.js} +3 -3
  21. package/dist/{antifraudManager-BY36bS12.d.ts → antifraudManager-DbGCvlJs.d.ts} +2 -2
  22. package/dist/{antifraudStateMachine-DBeq47D2.esm.js → antifraudStateMachine-DRl0UVyA.esm.js} +3 -4
  23. package/dist/{endpoints-B-3Q-LUw.esm.js → api-Cz90EHyu.esm.js} +151 -1
  24. package/dist/{apiError-CmGEmaGU.esm.js → apiError-D5u6HIDG.esm.js} +2 -1
  25. package/dist/authentication.d.ts +3 -3
  26. package/dist/authentication.esm.js +2 -2
  27. package/dist/{authenticationManager-CboRCl_N.d.ts → authenticationManager-BIZC55Bi.d.ts} +2 -8
  28. package/dist/{authenticationManager-BFjSjtQ_.esm.js → authenticationManager-CB3YW6EK.esm.js} +6 -6
  29. package/dist/{authenticationStateMachine-Dfo34ZiI.esm.js → authenticationStateMachine-BJJhLmdH.esm.js} +5 -6
  30. package/dist/avatar.d.ts +1 -1
  31. package/dist/{backCameraStream-B0-YgP_y.esm.js → backCameraStream-CMvXj4X4.esm.js} +1 -1
  32. package/dist/camera.esm.js +1 -1
  33. package/dist/certificate-issuance.d.ts +1 -1
  34. package/dist/certificate-issuance.esm.js +2 -2
  35. package/dist/{certificateIssuanceManager-C3-CI0_s.esm.js → certificateIssuanceManager-BfeMv2PU.esm.js} +3 -3
  36. package/dist/{certificateIssuanceManager-DCgEidHz.d.ts → certificateIssuanceManager-Dr8A4Lgr.d.ts} +2 -3
  37. package/dist/{certificateIssuanceStateMachine-CxqS_nD-.esm.js → certificateIssuanceStateMachine-Frgjbjw8.esm.js} +4 -5
  38. package/dist/consent.d.ts +1 -1
  39. package/dist/consent.esm.js +2 -2
  40. package/dist/{consentManager-B6E1XJDw.esm.js → consentManager-CvEu8h_W.esm.js} +3 -3
  41. package/dist/{consentManager-2h_w6wFc.d.ts → consentManager-Cv_0QKLD.d.ts} +7 -8
  42. package/dist/{consentStateMachine-DTSfdGiW.esm.js → consentStateMachine-DJTgN_-1.esm.js} +3 -4
  43. package/dist/{createCameraCycleOwnership-DnwTl1ad.esm.js → createCameraCycleOwnership-Dj_LHUvN.esm.js} +71 -66
  44. package/dist/{createFaceAvatar-BlcTYgJv.d.ts → createFaceAvatar-lYX0VTYs.d.ts} +1 -1
  45. package/dist/cross-document-data-match.d.ts +1 -1
  46. package/dist/cross-document-data-match.esm.js +1 -1
  47. package/dist/{crossDocumentDataMatchManager-9XhFVZ5S.esm.js → crossDocumentDataMatchManager-Cu141CE8.esm.js} +4 -5
  48. package/dist/{crossDocumentDataMatchManager-Dq8Z3SOg.d.ts → crossDocumentDataMatchManager-yCWCOzcU.d.ts} +2 -2
  49. package/dist/curp-validation.d.ts +1 -1
  50. package/dist/curp-validation.esm.js +2 -2
  51. package/dist/{curpValidationManager-DbIMYFcJ.esm.js → curpValidationManager-B-z9q5V3.esm.js} +15 -22
  52. package/dist/{curpValidationManager-DNuZn9fn.d.ts → curpValidationManager-C9sqoh9n.d.ts} +3 -3
  53. package/dist/{curpValidationStateMachine-g5kMfuLj.esm.js → curpValidationStateMachine-vDEFLMPw.esm.js} +4 -5
  54. package/dist/custom-fields.d.ts +1 -1
  55. package/dist/custom-fields.esm.js +1 -1
  56. package/dist/custom-watchlist.d.ts +1 -1
  57. package/dist/custom-watchlist.esm.js +2 -2
  58. package/dist/{customFieldsManager-8-W2KY4n.d.ts → customFieldsManager-CF-cO8ap.d.ts} +2 -2
  59. package/dist/{customFieldsManager-CzWZTkW-.esm.js → customFieldsManager-D1ex2cFM.esm.js} +4 -5
  60. package/dist/{customWatchlistManager-DWTED5Ur.esm.js → customWatchlistManager-CTI-SGk0.esm.js} +3 -3
  61. package/dist/{customWatchlistManager-PBWHr_oM.d.ts → customWatchlistManager-DolUswyR.d.ts} +2 -2
  62. package/dist/{customWatchlistStateMachine-DOQou6TW.esm.js → customWatchlistStateMachine-hmRd0f2I.esm.js} +3 -4
  63. package/dist/deepsightLoader-DZMdYSl-.esm.js +55 -0
  64. package/dist/{deepsightLoader-v-dLejS-.esm.js → deepsightService-tGP53cSS.esm.js} +51 -56
  65. package/dist/device.esm.js +1 -1
  66. package/dist/document-capture.d.ts +2 -2
  67. package/dist/document-capture.esm.js +2 -2
  68. package/dist/{documentCaptureManager-BRPxqYD2.esm.js → documentCaptureManager-DUJwpKC5.esm.js} +17 -18
  69. package/dist/{documentCaptureManager-lEtCM320.d.ts → documentCaptureManager-DkyDtm3Y.d.ts} +11 -34
  70. package/dist/{documentCaptureStateMachine-D312sSIu.esm.js → documentCaptureStateMachine-B8i7GnLh.esm.js} +55 -59
  71. package/dist/dynamic-forms.d.ts +2 -2
  72. package/dist/dynamic-forms.esm.js +2 -2
  73. package/dist/{dynamicFormsManager-C-9Jhnd3.esm.js → dynamicFormsManager-Bxmv_9PB.esm.js} +3 -3
  74. package/dist/{dynamicFormsManager-D5R_uxLQ.d.ts → dynamicFormsManager-C0dHs1ty.d.ts} +3 -3
  75. package/dist/{dynamicFormsStateMachine-DGI_F2PP.esm.js → dynamicFormsStateMachine-CoOWTzyM.esm.js} +4 -5
  76. package/dist/ekyb.d.ts +5 -5
  77. package/dist/ekyb.esm.js +3 -3
  78. package/dist/{ekybManager-DeoMcZEz.esm.js → ekybManager-BBkdPxUY.esm.js} +23 -27
  79. package/dist/{ekybManager-BwRuGAwt.d.ts → ekybManager-BaZ_7CEu.d.ts} +4 -4
  80. package/dist/{ekybStateMachine-D1IJ1Z72.esm.js → ekybStateMachine-n4Iz9iLc.esm.js} +338 -14
  81. package/dist/ekyc.d.ts +2 -2
  82. package/dist/ekyc.esm.js +3 -3
  83. package/dist/{ekycManager-BX2d46FY.esm.js → ekycManager-BO-Lui3t.esm.js} +29 -36
  84. package/dist/{ekycManager-DLzDuBzI.d.ts → ekycManager-DW-ynodd.d.ts} +3 -3
  85. package/dist/ekycStateMachine-CDnI_NRq.esm.js +1443 -0
  86. package/dist/{ekycUtils-D6wfSpPN.esm.js → ekycUtils-zY8CdKJL.esm.js} +53 -3
  87. package/dist/electronic-signature.d.ts +1 -1
  88. package/dist/electronic-signature.esm.js +1 -1
  89. package/dist/{electronicSignatureManager-yYUc30na.esm.js → electronicSignatureManager-BtWCrz5_.esm.js} +10 -11
  90. package/dist/{electronicSignatureManager-Ds-KEVTq.d.ts → electronicSignatureManager-DTSLOvKR.d.ts} +2 -3
  91. package/dist/email.d.ts +1 -1
  92. package/dist/email.esm.js +2 -2
  93. package/dist/{emailManager-bR1N5rV_.esm.js → emailManager-ButFktRm.esm.js} +20 -26
  94. package/dist/{emailManager-CADXW_9X.d.ts → emailManager-Dy6omJVp.d.ts} +2 -2
  95. package/dist/{emailStateMachine-Bc_6oIYw.esm.js → emailStateMachine-BXtlC0NV.esm.js} +3 -4
  96. package/dist/{events-ijlbX_Wx.esm.js → events-Du2A4-Qr.esm.js} +203 -8
  97. package/dist/events.d.ts +3 -2
  98. package/dist/events.esm.js +1 -1
  99. package/dist/extensibility.d.ts +38 -38
  100. package/dist/extensibility.esm.js +36 -36
  101. package/dist/{externalFetch-BKBThAUC.esm.js → externalFetch-DrR9xshk.esm.js} +3 -2
  102. package/dist/face-match.d.ts +1 -1
  103. package/dist/face-match.esm.js +2 -2
  104. package/dist/{faceCaptureManagerFactory-m-7ae67q.d.ts → faceCaptureManagerFactory-1hzeS_rB.d.ts} +11 -51
  105. package/dist/{faceCaptureManagerFactory-B6i9QcAk.esm.js → faceCaptureManagerFactory-CwZUeYfq.esm.js} +19 -54
  106. package/dist/{faceCaptureSetup-DU1mjRr6.esm.js → faceCaptureSetup-CYbdKNlI.esm.js} +104 -396
  107. package/dist/{faceMatchManager-BnvrZM2F.d.ts → faceMatchManager-DIgG-UFS.d.ts} +1 -2
  108. package/dist/{faceMatchManager-Bmv0HzuY.esm.js → faceMatchManager-DWFUQjMQ.esm.js} +3 -3
  109. package/dist/{faceMatchStateMachine-mRIHQ3dA.esm.js → faceMatchStateMachine-CUCvlydD.esm.js} +6 -5
  110. package/dist/{feature-management-C8CuN0os.esm.js → feature-management-rTfjzdDa.esm.js} +3 -3
  111. package/dist/feature-management.esm.js +1 -1
  112. package/dist/field-comparison.d.ts +2 -2
  113. package/dist/field-comparison.esm.js +1 -1
  114. package/dist/{fieldComparisonManager-CBvEGxFx.d.ts → fieldComparisonManager-CUX4gza2.d.ts} +6 -3
  115. package/dist/{fieldComparisonManager-CC-klG0h.esm.js → fieldComparisonManager-v3knTYV_.esm.js} +35 -18
  116. package/dist/fiscal-qr.d.ts +1 -1
  117. package/dist/fiscal-qr.esm.js +1 -1
  118. package/dist/{fiscalQrManager-B1STmT6z.d.ts → fiscalQrManager-D0Iy7EKR.d.ts} +2 -2
  119. package/dist/fiscalQrManager-Dt9fHG7h.esm.js +6798 -0
  120. package/dist/flow-events.d.ts +1 -1
  121. package/dist/flow.d.ts +14 -13
  122. package/dist/flow.esm.js +14 -14
  123. package/dist/{flowCompletionService-DccgtDnm.esm.js → flowCompletionService-oiK1PjPr.esm.js} +2 -3
  124. package/dist/{flowServices-CdsWsppG.esm.js → flowServices-CTc-zqfN.esm.js} +11 -8
  125. package/dist/geolocation.d.ts +1 -1
  126. package/dist/geolocation.esm.js +2 -2
  127. package/dist/{geolocationManager-CGHBxtMb.esm.js → geolocationManager-BOdtVuR8.esm.js} +6 -7
  128. package/dist/{geolocationManager-Cz744E5S.d.ts → geolocationManager-Dn24g1fl.d.ts} +2 -3
  129. package/dist/{geolocationStateMachine-CdEb1Gn0.esm.js → geolocationStateMachine-BnGuZ3hn.esm.js} +4 -5
  130. package/dist/{getDeviceClass-5NYZg9s6.esm.js → getDeviceClass-bsWdEDxP.esm.js} +1 -1
  131. package/dist/{getParsedUserAgent-B2iFDql1.esm.js → getParsedUserAgent-DhQPeKqw.esm.js} +1 -1
  132. package/dist/government-validation.d.ts +1 -1
  133. package/dist/government-validation.esm.js +2 -2
  134. package/dist/{governmentValidationManager-D02vT4yY.d.ts → governmentValidationManager-B82zOut8.d.ts} +3 -3
  135. package/dist/{governmentValidationManager-CacFOtKO.esm.js → governmentValidationManager-BtXWHICu.esm.js} +3 -3
  136. package/dist/{governmentValidationStateMachine-CoaZOSTP.esm.js → governmentValidationStateMachine-COL-Vs48.esm.js} +3 -4
  137. package/dist/home.d.ts +3 -26
  138. package/dist/home.esm.js +2 -2
  139. package/dist/http.esm.js +1 -1
  140. package/dist/id-ocr.d.ts +1 -1
  141. package/dist/id-ocr.esm.js +2 -2
  142. package/dist/id-selfie-flow.d.ts +6 -9
  143. package/dist/id-selfie-flow.esm.js +23 -28
  144. package/dist/id-verification.d.ts +1 -1
  145. package/dist/id-verification.esm.js +2 -2
  146. package/dist/id.d.ts +4 -4
  147. package/dist/id.esm.js +4 -205
  148. package/dist/{idCaptureDefaults-Dl64Trv5.esm.js → idCaptureDefaults-BGsG2OAs.esm.js} +7 -5
  149. package/dist/{idCaptureManager-BHwL2Z0V.d.ts → idCaptureManager-0M02hSuC.d.ts} +242 -98
  150. package/dist/{idCaptureManager-BNmVJQkd.esm.js → idCaptureManager-BKedt48Y.esm.js} +276 -210
  151. package/dist/{idCaptureServices-dtDG2HXS.esm.js → idCaptureServices-D0p_RFqk.esm.js} +21 -40
  152. package/dist/{idCaptureStateMachine-BbiZD3uf.esm.js → idCaptureStateMachine-CxwoN5ff.esm.js} +992 -872
  153. package/dist/{idOcrManager-ByWuQ4ej.esm.js → idOcrManager-D3-HNMXP.esm.js} +3 -3
  154. package/dist/{idOcrManager-CFlDwUvN.d.ts → idOcrManager-DT3kPIB3.d.ts} +3 -4
  155. package/dist/{idOcrStateMachine-Bt_abXQQ.esm.js → idOcrStateMachine-DyENX6Ki.esm.js} +3 -4
  156. package/dist/{idVerificationManager-BB4Pj_N6.d.ts → idVerificationManager-BJapZfpy.d.ts} +2 -3
  157. package/dist/{idVerificationManager-DT42c77H.esm.js → idVerificationManager-iWz7Avkr.esm.js} +3 -3
  158. package/dist/{idVerificationStateMachine-DbDVIh9t.esm.js → idVerificationStateMachine-CL1kUdBe.esm.js} +3 -4
  159. package/dist/identity-reuse.d.ts +2 -2
  160. package/dist/identity-reuse.esm.js +2 -2
  161. package/dist/{identityReuseManager-BXEBBI3N.d.ts → identityReuseManager-B1birg5X.d.ts} +162 -44
  162. package/dist/{identityReuseManager-yG3acUrQ.esm.js → identityReuseManager-CD1ucp1d.esm.js} +26 -13
  163. package/dist/{identityReuseStateMachine-BhAkuIra.esm.js → identityReuseStateMachine-DfV81wQC.esm.js} +89 -24
  164. package/dist/{index-CeaC32qI.d.ts → index-CKQ9QBZP.d.ts} +2 -2
  165. package/dist/index-DpTj5PFb.d.ts +1 -0
  166. package/dist/index.d.ts +1 -1
  167. package/dist/index.esm.js +1 -1
  168. package/dist/{invokeOnCaptureCallback-BjzPjJ_p.esm.js → invokeOnCaptureCallback-DYrkOXO6.esm.js} +1 -1
  169. package/dist/lamejs-B6TzhU5q.esm.js +10 -0
  170. package/dist/mandatory-consent.d.ts +2 -2
  171. package/dist/mandatory-consent.esm.js +2 -2
  172. package/dist/{mandatoryConsentManager-7dI0D08q.esm.js → mandatoryConsentManager-Cwqx1nK7.esm.js} +3 -3
  173. package/dist/{mandatoryConsentManager-DFVm_i2B.d.ts → mandatoryConsentManager-okPILEru.d.ts} +8 -9
  174. package/dist/{mandatoryConsentStateMachine-DC5Mo6M1.esm.js → mandatoryConsentStateMachine-pXWqAHo_.esm.js} +3 -4
  175. package/dist/{multipartRecordingService-mwKFTlhR.esm.js → multipartRecordingService-CLwrF5wD.esm.js} +1 -2
  176. package/dist/{permissionGuards-D6TfVop2.esm.js → permissionGuards-gcy3U0SL.esm.js} +1 -1
  177. package/dist/{permissionServices-EY3_Vx6c.esm.js → permissionServices-Ca-tSNhT.esm.js} +34 -3
  178. package/dist/phone-number.d.ts +24 -0
  179. package/dist/phone-number.esm.js +1922 -0
  180. package/dist/phone.d.ts +1 -1
  181. package/dist/phone.esm.js +2 -2
  182. package/dist/{phoneManager-BBU8Lq0O.d.ts → phoneManager-BO-LTih5.d.ts} +16 -3
  183. package/dist/{phoneManager-IjhSv5XS.esm.js → phoneManager-KKUq-Vgo.esm.js} +31 -22
  184. package/dist/{phoneStateMachine-CXdXufKg.esm.js → phoneStateMachine-D2QWS2cu.esm.js} +38 -20
  185. package/dist/phoneValidation-DnBcNUNh.esm.js +48 -0
  186. package/dist/qe-signature.d.ts +2 -2
  187. package/dist/qe-signature.esm.js +1 -1
  188. package/dist/redirect-to-mobile.d.ts +1 -1
  189. package/dist/redirect-to-mobile.esm.js +2 -2
  190. package/dist/{redirectToMobileManager-BD2PvT5B.d.ts → redirectToMobileManager-CVsvpVbQ.d.ts} +2 -2
  191. package/dist/{redirectToMobileManager-FLEWJtv8.esm.js → redirectToMobileManager-uHW3dyuQ.esm.js} +4 -4
  192. package/dist/{redirectToMobileStateMachine-CSWWgUTO.esm.js → redirectToMobileStateMachine-b-H-ipGM.esm.js} +4 -5
  193. package/dist/{rolldown-runtime-FDOR9p9I.esm.js → rolldown-runtime-B-1-B7_t.esm.js} +10 -1
  194. package/dist/{runChildModule-B2Y_hlix.esm.js → runChildModule-CPa0i2_C.esm.js} +13 -12
  195. package/dist/safeStorage-UxDrnjwa.esm.js +35 -0
  196. package/dist/{sdkVersion-N1UiyFiY.esm.js → sdkVersion-BtROs6OA.esm.js} +1 -1
  197. package/dist/selfie.d.ts +4 -4
  198. package/dist/selfie.esm.js +12 -12
  199. package/dist/selfieErrorUtils-sMc0MaNh.esm.js +21 -0
  200. package/dist/{selfieManager-BSZG891S.d.ts → selfieManager-BJdNu_nd.d.ts} +2 -8
  201. package/dist/{selfieManager-AS6wfUvZ.esm.js → selfieManager-Ch9xJbWJ.esm.js} +6 -6
  202. package/dist/selfieStateMachine-DT8QCfKR.esm.js +41 -0
  203. package/dist/{session-BESZc05k.esm.js → session-CNNTckUS.esm.js} +5 -6
  204. package/dist/session.d.ts +15 -3
  205. package/dist/session.esm.js +30 -5
  206. package/dist/sessionInitializer-DVWMJh25.esm.js +973 -0
  207. package/dist/{setup-BuPbxpwF.esm.js → setup-B7ehQ-lf.esm.js} +155 -140
  208. package/dist/{setup-Cyko6cAn.d.ts → setup-YPKTUCY5.d.ts} +42 -15
  209. package/dist/signature.d.ts +1 -1
  210. package/dist/signature.esm.js +2 -2
  211. package/dist/{signatureManager-DGBSWz2_.d.ts → signatureManager-BpVt_Jv7.d.ts} +2 -2
  212. package/dist/{signatureManager-B72np4ZO.esm.js → signatureManager-f_dPAGXn.esm.js} +7 -11
  213. package/dist/{signatureStateMachine-ce_XMA3l.esm.js → signatureStateMachine-C-nUq_oq.esm.js} +3 -4
  214. package/dist/splitTrackedName-3zJRd2RD.esm.js +19 -0
  215. package/dist/{src-35ekGRzK.esm.js → src-DJAJjRYQ.esm.js} +1 -1
  216. package/dist/{stats-CZcy2J53.esm.js → stats-BEvexnKC.esm.js} +1 -2
  217. package/dist/stats.esm.js +1 -1
  218. package/dist/{sessionInitializer-CnhAkMUN.esm.js → thumbmark.esm-CRc0cYvz.esm.js} +33 -776
  219. package/dist/{trueSightService-M5VpCo96.esm.js → trueSightService-BzLdXpmJ.esm.js} +1391 -709
  220. package/dist/trust-graph.d.ts +1 -2
  221. package/dist/trust-graph.esm.js +2 -2
  222. package/dist/{types-C0oWGUzg.d.ts → types-0L-eFDmr.d.ts} +1 -1
  223. package/dist/{types-C1g9itHE.d.ts → types-B6HsSzpk.d.ts} +6 -7
  224. package/dist/{types-DEGVXwsk2.d.ts → types-BAxn7MpY.d.ts} +110 -62
  225. package/dist/{types-BfgmV7s7.d.ts → types-BQA7lRDV.d.ts} +1 -1
  226. package/dist/{types-Cx-1zo-i.d.ts → types-BvLo3U4u.d.ts} +1 -1
  227. package/dist/{types-Bx-BWveD.d.ts → types-CK8Jbjkp.d.ts} +1 -1
  228. package/dist/{types-CxGdmzxa.d.ts → types-Ckir_BEs.d.ts} +1 -1
  229. package/dist/{types-BjSly8cp.d.ts → types-DUnFZ08M.d.ts} +1 -1
  230. package/dist/{types-ESdtnHtg.d.ts → types-yPH8lAH-.d.ts} +3 -4
  231. package/dist/types-zOgZqMni.d.ts +6 -0
  232. package/dist/{urlUtils-D6phjq1-.esm.js → urlUtils-6jsE6rKp.esm.js} +9 -1
  233. package/dist/video-selfie.d.ts +6 -9
  234. package/dist/video-selfie.esm.js +1390 -1349
  235. package/dist/{videoSelfieCameraWarmer-q9ZjvXu9.esm.js → videoSelfieCameraWarmer-DWoFBJAn.esm.js} +10 -11
  236. package/dist/{videoSelfieFlowModuleMachine-BUe2uACW.esm.js → videoSelfieFlowModuleMachine-BCFVHBQ1.esm.js} +1 -1
  237. package/dist/{videoSelfieStepDetector-ChYgFM15.d.ts → videoSelfieStepDetector-CGsTltqB.d.ts} +4 -4
  238. package/dist/videoTrimByCopy-BFfAiNpv.esm.js +15901 -0
  239. package/dist/{warmup-ChDwHSel.esm.js → warmup-BElYWRh7.esm.js} +348 -11
  240. package/dist/{warmup-Cis2p6O0.d.ts → warmup-BO57syF6.d.ts} +8 -0
  241. package/dist/wasm.d.ts +2 -2
  242. package/dist/wasm.esm.js +3 -4
  243. package/dist/{wasmDsFlagSync-DYrLUEII.esm.js → wasmDsFlagSync-CYj5LL9z.esm.js} +1 -1
  244. package/dist/{wasmWebClient-B7baE-Wf.esm.js → wasmWebClient-BjZw_7OB.esm.js} +570 -33
  245. package/dist/watchlist-for-business.d.ts +1 -1
  246. package/dist/watchlist-for-business.esm.js +2 -2
  247. package/dist/watchlist.d.ts +1 -1
  248. package/dist/watchlist.esm.js +2 -2
  249. package/dist/{watchlistForBusinessManager-CsnJnG-C.d.ts → watchlistForBusinessManager-B3GDPZrr.d.ts} +2 -2
  250. package/dist/{watchlistForBusinessManager-CIMkpEhu.esm.js → watchlistForBusinessManager-CZZOFkGl.esm.js} +7 -5
  251. package/dist/{watchlistForBusinessStateMachine-CJ-MvUre.esm.js → watchlistForBusinessStateMachine-B66E7jud.esm.js} +3 -4
  252. package/dist/{watchlistManager-DLXef90v.d.ts → watchlistManager-DJQOd8Pw.d.ts} +2 -2
  253. package/dist/{watchlistManager-CixcLNDT.esm.js → watchlistManager-DXtX94SN.esm.js} +3 -3
  254. package/dist/{watchlistStateMachine-CBqk2w-h.esm.js → watchlistStateMachine-McALifag.esm.js} +3 -4
  255. package/dist/workflow.d.ts +34 -5
  256. package/dist/workflow.esm.js +64 -47
  257. package/dist/{xstate-actors.esm-BXeQ-Ucz.esm.js → xstate-actors.esm-8Gzepa_A.esm.js} +1 -1
  258. package/dist/{xstate.esm-BuFLFuzz.esm.js → xstate.esm-DSajW7CJ.esm.js} +24 -10
  259. package/package.json +13 -5
  260. package/dist/Actor-iTq7YY48.d.ts +0 -1
  261. package/dist/BrowserDiagnosticsCryptoProvider-BuzqvbhN.esm.js +0 -77
  262. package/dist/StateMachine-EDpYWy0i.d.ts +0 -6
  263. package/dist/api-Bx3gKW_y.esm.js +0 -129
  264. package/dist/fiscalQrManager-DbCVMIBx.esm.js +0 -34143
  265. package/dist/index-B8weJxmL.d.ts +0 -1
  266. package/dist/selfieErrorUtils-UiQ46EBa.esm.js +0 -116
  267. package/dist/selfieStateMachine-DY7vJVNY.esm.js +0 -71
  268. package/dist/types-BN5RPPIZ.esm.js +0 -34
  269. package/dist/types-Bt9RuRqt.d.ts +0 -6
  270. package/dist/virtualCameraCheck-Cjab7FTI.esm.js +0 -48
  271. /package/dist/{types-BSBzhHRH.d.ts → types-BSBzhHRH2.d.ts} +0 -0
@@ -1,5 +1,5 @@
1
- import { y as IncodeCanvas } from "./createFaceAvatar-BlcTYgJv.js";
2
- import "./IWasmUtilCapability-CNWRl7jr.js";
1
+ import { y as IncodeCanvas } from "./createFaceAvatar-lYX0VTYs.js";
2
+ import "./IWasmUtilCapability-GF2n7sfm.js";
3
3
  import { t as CameraStream } from "./camera-9wWD-pwg.js";
4
4
  //#region ../infra/src/capabilities/IMotionSensorCapability.d.ts
5
5
  type MotionStatus = 'PASS' | 'FAIL' | 'UNCLEAR';
@@ -1,5 +1,6 @@
1
- import { c as wasmCallWrapper, s as ML_CALL_MAX_POLLS } from "./wasmWebClient-B7baE-Wf.esm.js";
2
- import { a as waitForWasm, n as getWasmStatus, o as warmupWasm, r as isWasmReady, s as wasmRuntime } from "./warmup-ChDwHSel.esm.js";
1
+ import { n as __exportAll } from "./rolldown-runtime-B-1-B7_t.esm.js";
2
+ import { c as wasmCallWrapper, d as noteUnlockedCallStart, s as ML_CALL_MAX_POLLS, u as noteUnlockedCallEnd } from "./wasmWebClient-BjZw_7OB.esm.js";
3
+ import { c as wasmRuntime, i as isWasmReady, o as waitForWasm, r as getWasmStatus, s as warmupWasm } from "./warmup-BElYWRh7.esm.js";
3
4
  //#region ../infra/src/wasm/utilityWasmApi.ts
4
5
  /**
5
6
  * Utility / metadata domain facade over {@link WasmRuntime}.
@@ -17,8 +18,11 @@ import { a as waitForWasm, n as getWasmStatus, o as warmupWasm, r as isWasmReady
17
18
  * Both are deliberately **unguarded** setters: they never throw, so the SDK can
18
19
  * record them during setup and have them honored once WASM comes up.
19
20
  *
21
+ * `fpPrefetch_` is a third, derived piece of JS state: the memoized `ppf` poll
22
+ * that `getFPData` awaits, keyed by the embind handle it was started on.
23
+ *
20
24
  * `prc`/`poc`/`rsp` are the only methods here that hold the ML semaphore.
21
- * `ssl`/`stl`/`osv`/`oev`/`ckvcks` and everything else are unlocked **by design**
25
+ * `ssl`/`stl`/`osv`/`oev`/`ckvcks`/`sbc`/`ppf` and everything else are unlocked **by design**
22
26
  * (decision D6) — never add locking.
23
27
  *
24
28
  * Method names, argument order and the pre-initialization error strings are
@@ -26,10 +30,27 @@ import { a as waitForWasm, n as getWasmStatus, o as warmupWasm, r as isWasmReady
26
30
  * stays a diff against upstream (`docs/processes/WASM_VERSION_MIGRATION.md`).
27
31
  * `setSdkPlatform`'s message says "device type" on purpose — do not "fix" it.
28
32
  */
33
+ /**
34
+ * Upstream `SignalDataType` (`MetadataController.h`): the `signalsType` argument
35
+ * of `getFPData`. `SIGNAL_NETWORK = 4` is reserved upstream and not mirrored.
36
+ */
37
+ const SignalDataType = {
38
+ Device: 1,
39
+ Behaviour: 2,
40
+ Pid: 3
41
+ };
42
+ /**
43
+ * Poll bound for the `ppf` fingerprint prefetch. Larger than
44
+ * {@link ML_CALL_MAX_POLLS} because the prefetch waits on async browser APIs
45
+ * (storage estimate, persistent ID) rather than camera frames, and it is
46
+ * unlocked, so a stuck poll cannot freeze detection — it only delays signals.
47
+ */
48
+ const FP_PREFETCH_MAX_POLLS = 1e4;
29
49
  var UtilityWasmApi = class {
30
50
  constructor(runtime = wasmRuntime) {
31
51
  this.runtime = runtime;
32
52
  this.inspectorOpened_ = false;
53
+ this.fpPrefetch_ = null;
33
54
  this.dsEnabled_ = false;
34
55
  }
35
56
  ens(image) {
@@ -50,14 +71,20 @@ var UtilityWasmApi = class {
50
71
  const message = "Unable to analyze the frame, cpp API hasn't been initialized";
51
72
  this.runtime.requireUtilityApi(message);
52
73
  await this.runtime.allocateImageBuffers(image.width, image.height);
53
- this.runtime.writeFrame(image);
54
- this.runtime.requireUtilityApi(message).analyzeFrame();
74
+ noteUnlockedCallStart("analyzeFrame");
75
+ const startedAt = performance.now();
76
+ try {
77
+ this.runtime.writeFrame(image);
78
+ this.runtime.requireUtilityApi(message).analyzeFrame();
79
+ } finally {
80
+ noteUnlockedCallEnd("analyzeFrame", performance.now() - startedAt);
81
+ }
55
82
  }
56
83
  /**
57
- * Sets the native (C++) utility API's production mode. When `true`, the WASM
58
- * module suppresses its verbose debug logging; when `false`, it emits it.
84
+ * Retained for callers that manually control the native log level. Console
85
+ * output still requires `wasm.showLogs: true` at the first module load.
59
86
  *
60
- * @param productionMode - `true` to silence WASM logs, `false` to emit them.
87
+ * @param productionMode - `true` for native errors only, `false` for debug logs.
61
88
  * @throws If the WASM C++ API has not been initialized yet.
62
89
  */
63
90
  async setProductionMode(productionMode) {
@@ -97,13 +124,66 @@ var UtilityWasmApi = class {
97
124
  this.dsEnabled_ = enabled;
98
125
  }
99
126
  getCheck() {
100
- return this.runtime.requireUtilityApi("Unable to get check, cpp API hasn't been initialized").getCheck();
127
+ const utilityApi = this.runtime.requireUtilityApi("Unable to get check, cpp API hasn't been initialized");
128
+ noteUnlockedCallStart("getCheck");
129
+ const startedAt = performance.now();
130
+ try {
131
+ return utilityApi.getCheck();
132
+ } finally {
133
+ noteUnlockedCallEnd("getCheck", performance.now() - startedAt);
134
+ }
101
135
  }
102
136
  getMetadata() {
103
137
  const utilityApi = this.runtime.requireUtilityApi("Unable to get metadata, cpp API hasn't been initialized");
104
138
  utilityApi.setInspectorOpened(this.inspectorOpened_);
105
139
  return utilityApi.getMetadata();
106
140
  }
141
+ /**
142
+ * Behaviour-signals collection switch (`sbc`). Collection is on by default
143
+ * in the native module; `false` stops and discards new behaviour events.
144
+ */
145
+ sbc(enabled) {
146
+ this.runtime.requireUtilityApi("Unable to sbc, cpp API hasn't been initialized").sbc(enabled);
147
+ }
148
+ /**
149
+ * Reads one fingerprint signal bucket (see {@link SignalDataType}), encrypted
150
+ * by the native module. Waits for the one-time async prefetch (`ppf`) first.
151
+ * An empty string means the bucket has no data.
152
+ *
153
+ * @throws If the WASM C++ API has not been initialized yet.
154
+ */
155
+ async getFPData(signalsType = SignalDataType.Device) {
156
+ const message = "Unable to get fingerprint data, cpp API hasn't been initialized";
157
+ const handle = this.runtime.requireUtilityApi(message);
158
+ await this.prefetchFingerprintData(handle, message);
159
+ return this.runtime.requireUtilityApi(message).getFPData(signalsType);
160
+ }
161
+ /**
162
+ * Starts (or joins) the one-time async prefetch (`ppf`) that {@link getFPData}
163
+ * awaits, so the collection can run before the first read needs it.
164
+ *
165
+ * @throws If the WASM C++ API has not been initialized yet.
166
+ */
167
+ prefetchFPData() {
168
+ const message = "Unable to prefetch fingerprint data, cpp API hasn't been initialized";
169
+ return this.prefetchFingerprintData(this.runtime.requireUtilityApi(message), message);
170
+ }
171
+ prefetchFingerprintData(handle, message) {
172
+ if (this.fpPrefetch_?.handle === handle) return this.fpPrefetch_.promise;
173
+ const promise = wasmCallWrapper(this.runtime.mlCallSemaphore, () => this.runtime.requireUtilityApi(message).ppf(), false, {
174
+ maxPolls: FP_PREFETCH_MAX_POLLS,
175
+ label: "ppf"
176
+ });
177
+ const entry = {
178
+ handle,
179
+ promise
180
+ };
181
+ this.fpPrefetch_ = entry;
182
+ promise.catch(() => {
183
+ if (this.fpPrefetch_ === entry) this.fpPrefetch_ = null;
184
+ });
185
+ return promise;
186
+ }
107
187
  async prc() {
108
188
  const message = "Unable to prc, cpp API hasn't been initialized";
109
189
  this.runtime.requireUtilityApi(message);
@@ -244,6 +324,12 @@ var BaseWasmProvider = class {
244
324
  };
245
325
  //#endregion
246
326
  //#region ../infra/src/providers/wasm/WasmUtilProvider.ts
327
+ var WasmUtilProvider_exports = /* @__PURE__ */ __exportAll({ WasmUtilProvider: () => WasmUtilProvider });
328
+ const SIGNAL_TYPE_TO_WASM = {
329
+ device: SignalDataType.Device,
330
+ behaviour: SignalDataType.Behaviour,
331
+ pid: SignalDataType.Pid
332
+ };
247
333
  var WasmUtilProvider = class WasmUtilProvider extends BaseWasmProvider {
248
334
  static async getInstance() {
249
335
  if (WasmUtilProvider.instance) return WasmUtilProvider.instance;
@@ -318,12 +404,10 @@ var WasmUtilProvider = class WasmUtilProvider extends BaseWasmProvider {
318
404
  return utilityWasmApi.getInspectorOpened();
319
405
  }
320
406
  /**
321
- * Toggles the WASM module's production mode. When `true`, the native module
322
- * suppresses its verbose debug logging/console output; when `false`, those
323
- * logs are emitted. The SDK forces this to `true` by default and only flips
324
- * it off when the caller opts in via `setup({ wasm: { showLogs: true } })`.
407
+ * Retained for callers that manually control the native log level. Console
408
+ * output still requires `wasm.showLogs: true` at the first module load.
325
409
  *
326
- * @param productionMode - `true` to silence WASM logs, `false` to emit them.
410
+ * @param productionMode - `true` for native errors only, `false` for debug logs.
327
411
  */
328
412
  async setProductionMode(productionMode) {
329
413
  this.ensureInitialized();
@@ -333,6 +417,18 @@ var WasmUtilProvider = class WasmUtilProvider extends BaseWasmProvider {
333
417
  this.ensureInitialized();
334
418
  return utilityWasmApi.getMetadata();
335
419
  }
420
+ setBehaviourSignalsCollection(enabled) {
421
+ this.ensureInitialized();
422
+ utilityWasmApi.sbc(enabled);
423
+ }
424
+ async getFingerprintSignals(type) {
425
+ this.ensureInitialized();
426
+ return utilityWasmApi.getFPData(SIGNAL_TYPE_TO_WASM[type]);
427
+ }
428
+ async prefetchFingerprintSignals() {
429
+ this.ensureInitialized();
430
+ await utilityWasmApi.prefetchFPData();
431
+ }
336
432
  async analyzeFrame(image) {
337
433
  this.ensureInitialized();
338
434
  await utilityWasmApi.analyzeFrame(image);
@@ -386,38 +482,4 @@ var WasmUtilProvider = class WasmUtilProvider extends BaseWasmProvider {
386
482
  }
387
483
  };
388
484
  //#endregion
389
- //#region ../infra/src/storage/safeStorage.ts
390
- /**
391
- * Storage resolvers that tolerate hosts which make Web Storage unreachable.
392
- *
393
- * Two hostile shapes occur in the field, and they fail differently:
394
- *
395
- * 1. **Deleted bare global** — a page mitigates self-XSS with
396
- * `delete window.localStorage` and keeps a module-private reference. Since
397
- * `window` *is* the global object, the identifier stops resolving: a bare
398
- * read throws `ReferenceError`. `typeof` is the only safe probe, because it
399
- * is the one operator that tolerates an unresolvable identifier.
400
- * 2. **Blocked storage** — a webview or a cross-origin/partitioned context
401
- * makes the accessor itself throw (`SecurityError`). Here `typeof` is *not*
402
- * enough: it invokes the getter, so the throw escapes the guard.
403
- *
404
- * Handling only one shape leaves the other live, so always go through these
405
- * resolvers instead of touching the globals directly. A `null` return means
406
- * "no storage in this host" — callers degrade, they do not throw.
407
- */
408
- function resolveLocalStorage() {
409
- try {
410
- return typeof localStorage === "undefined" ? null : localStorage;
411
- } catch {
412
- return null;
413
- }
414
- }
415
- function resolveSessionStorage() {
416
- try {
417
- return typeof sessionStorage === "undefined" ? null : sessionStorage;
418
- } catch {
419
- return null;
420
- }
421
- }
422
- //#endregion
423
- export { utilityWasmApi as a, BaseWasmProvider as i, resolveSessionStorage as n, WasmUtilProvider as r, resolveLocalStorage as t };
485
+ export { utilityWasmApi as i, WasmUtilProvider_exports as n, BaseWasmProvider as r, WasmUtilProvider as t };
@@ -1,7 +1,6 @@
1
+ import { t as api, u as endpoints } from "./api-Cz90EHyu.esm.js";
1
2
  import { t as BrowserTimerProvider } from "./BrowserTimerProvider-BXhgNxLt.esm.js";
2
- import { t as api } from "./api-Bx3gKW_y.esm.js";
3
- import { t as endpoints } from "./endpoints-B-3Q-LUw.esm.js";
4
- import { t as fromCallback } from "./xstate-actors.esm-BXeQ-Ucz.esm.js";
3
+ import { t as fromCallback } from "./xstate-actors.esm-8Gzepa_A.esm.js";
5
4
  const usStateOptions = Object.values({
6
5
  AL: {
7
6
  code: "AL",
@@ -376,6 +375,145 @@ function formatPostalCode(value, country) {
376
375
  return value.slice(0, 8);
377
376
  }
378
377
  //#endregion
378
+ //#region src/internal/forms/checkSupport.ts
379
+ const GROUP_POLICIES = /* @__PURE__ */ new Set(["hide", "forceShow"]);
380
+ /**
381
+ * Compares `major.minor` vocabulary versions. The compiler's twin is
382
+ * `compareVersions` in `packages/form-definitions/scripts/lib/checks.mjs`;
383
+ * both are tested against that package's `fixtures/vocabularyVersions.json`.
384
+ */
385
+ function compareVocabulary(a, b) {
386
+ const [aMajor = 0, aMinor = 0] = a.split(".").map(Number);
387
+ const [bMajor = 0, bMinor = 0] = b.split(".").map(Number);
388
+ return aMajor - bMajor || aMinor - bMinor;
389
+ }
390
+ /**
391
+ * Whether this build can use a definition. Any id it doesn't implement makes
392
+ * the definition unsupported, so the caller falls back to its bundled
393
+ * definition or current form. Presentation hints (widget, keyboard, autofill)
394
+ * never fail: an unknown hint falls back to the platform default.
395
+ */
396
+ function checkSupport(definition, ids) {
397
+ const problems = [];
398
+ const need = (category, known, id, path) => {
399
+ if (!known.has(id)) problems.push({
400
+ category,
401
+ id,
402
+ path
403
+ });
404
+ };
405
+ if (!ids.schemaVersions.includes(definition.schemaVersion)) problems.push({
406
+ category: "schemaVersion",
407
+ id: String(definition.schemaVersion),
408
+ path: "schemaVersion"
409
+ });
410
+ if (compareVocabulary(definition.vocabulary, ids.vocabulary) > 0) problems.push({
411
+ category: "vocabulary",
412
+ id: definition.vocabulary,
413
+ path: "vocabulary"
414
+ });
415
+ const checkField = (field, path) => {
416
+ need("kind", ids.kinds, field.kind, `${path}.kind`);
417
+ need("group", ids.groups, field.group, `${path}.group`);
418
+ field.rules?.forEach((rule, i) => need("rule", ids.rules, rule.id, `${path}.rules[${i}]`));
419
+ field.input?.format?.forEach((t, i) => need("transform", ids.transforms, t.id, `${path}.input.format[${i}]`));
420
+ field.payload?.transforms?.forEach((t, i) => need("transform", ids.transforms, t.id, `${path}.payload.transforms[${i}]`));
421
+ if (field.optionsRef) need("optionList", ids.optionLists, field.optionsRef, `${path}.optionsRef`);
422
+ if (field.suggestionsRef) need("optionList", ids.optionLists, field.suggestionsRef, `${path}.suggestionsRef`);
423
+ field.requiredWhen?.forEach((condition, i) => {
424
+ const keys = Object.keys(condition);
425
+ if (keys.length !== 1) problems.push({
426
+ category: "condition",
427
+ id: keys.join("+") || "(empty)",
428
+ path: `${path}.requiredWhen[${i}]`
429
+ });
430
+ for (const key of keys) need("condition", ids.conditions, key, `${path}.requiredWhen[${i}]`);
431
+ });
432
+ const lock = field.phone?.lockCountry;
433
+ if (typeof lock === "string" && lock !== "whenPhoneRisk") problems.push({
434
+ category: "phoneLock",
435
+ id: lock,
436
+ path: `${path}.phone`
437
+ });
438
+ };
439
+ definition.fields.forEach((field) => checkField(field, `fields.${field.name}`));
440
+ definition.groups?.forEach((policy) => {
441
+ need("group", ids.groups, policy.group, `groups.${policy.group}`);
442
+ if (!GROUP_POLICIES.has(policy.whenDisabled)) problems.push({
443
+ category: "groupPolicy",
444
+ id: policy.whenDisabled,
445
+ path: `groups.${policy.group}`
446
+ });
447
+ });
448
+ definition.groupRules?.forEach((rule, i) => need("groupRule", ids.groupRules, rule.id, `groupRules[${i}]`));
449
+ definition.collections?.forEach((collection) => {
450
+ need("group", ids.groups, collection.group, `collections.${collection.id}`);
451
+ collection.fields.forEach((field) => checkField(field, `collections.${collection.id}.fields.${field.name}`));
452
+ });
453
+ return problems.length === 0 ? { supported: true } : {
454
+ supported: false,
455
+ problems
456
+ };
457
+ }
458
+ //#endregion
459
+ //#region src/internal/forms/definitionSource.ts
460
+ const queryKey = ({ module, source, country }) => `${module}|${source ?? ""}|${country ?? ""}`;
461
+ /**
462
+ * The definitions bundled with this build. Matches module, source and country
463
+ * exactly, so a pair without its own definition keeps the current builder.
464
+ */
465
+ function createBundledDefinitionSource(definitions) {
466
+ const byQuery = new Map(Object.values(definitions).map((definition) => [queryKey(definition), definition]));
467
+ return { select: (query) => byQuery.get(queryKey(query)) };
468
+ }
469
+ //#endregion
470
+ //#region src/internal/forms/resolveForm.ts
471
+ const FORCE_SHOW = "forceShow";
472
+ const WHEN_PHONE_RISK = "whenPhoneRisk";
473
+ /**
474
+ * Resolves a definition against module configuration: which fields show,
475
+ * which are required, whether the phone is locked, and which group rules and
476
+ * collections apply. Pure and synchronous, so it runs inside an assign action.
477
+ *
478
+ * Call `checkSupport` first for any definition that wasn't bundled with this
479
+ * build; `resolveForm` ignores ids it doesn't know.
480
+ */
481
+ function resolveForm(definition, context) {
482
+ const forcedGroups = new Set((definition.groups ?? []).filter((policy) => policy.whenDisabled === FORCE_SHOW).map((policy) => policy.group));
483
+ const isOn = (group) => context.groups[group] === true;
484
+ const isShown = (group) => isOn(group) || forcedGroups.has(group);
485
+ const riskAddons = new Set(context.riskAddons ?? []);
486
+ const shownFields = definition.fields.filter((field) => isShown(field.group));
487
+ const shownNames = new Set(shownFields.map((field) => field.name));
488
+ const fields = shownFields.map((field) => {
489
+ const conditions = field.requiredWhen ?? [];
490
+ const addonRequired = conditions.some((condition) => condition.riskAddon !== void 0 && riskAddons.has(condition.riskAddon));
491
+ const requiredIfFilled = conditions.map((condition) => condition.fieldFilled).filter((name) => name !== void 0 && shownNames.has(name));
492
+ const lock = field.phone?.lockCountry;
493
+ return {
494
+ field,
495
+ required: field.required === true || addonRequired,
496
+ requiredIfFilled,
497
+ forced: !isOn(field.group),
498
+ phoneLocked: field.kind === "phone" && (lock === true || lock === WHEN_PHONE_RISK && context.phoneRisk === true)
499
+ };
500
+ });
501
+ const order = shownFields.map((field) => field.name);
502
+ return {
503
+ definition,
504
+ fields,
505
+ groupRules: (definition.groupRules ?? []).map((rule) => ({
506
+ rule,
507
+ fields: order.filter((name) => rule.fields.includes(name))
508
+ })).filter((resolved) => resolved.fields.length > 0),
509
+ collections: (definition.collections ?? []).filter((collection) => isShown(collection.group)).map((collection) => ({
510
+ collection,
511
+ min: collection.min ?? 0,
512
+ max: collection.max
513
+ }))
514
+ };
515
+ }
516
+ //#endregion
379
517
  //#region src/shared/addressSearch.ts
380
518
  /** Searches for address suggestions via the address autocomplete API. */
381
519
  async function searchAddress(query, signal) {
@@ -422,4 +560,4 @@ const debounceSearchActor = fromCallback(({ input, sendBack }) => {
422
560
  };
423
561
  });
424
562
  //#endregion
425
- export { getPostalCodeMaxLength as a, STREET_LEVEL_REQUIRED_ERROR as c, usStateOptions as d, getPostalCodeErrorKey as i, fillFromSuggestion as l, FIXED_DIGIT_POSTAL_CODE_LENGTH as n, validatePostalCode as o, formatPostalCode as r, DYNAMIC_REQUIRED_KEY as s, debounceSearchActor as t, getStreetLevelErrorForSuggestion as u };
563
+ export { FIXED_DIGIT_POSTAL_CODE_LENGTH as a, getPostalCodeMaxLength as c, STREET_LEVEL_REQUIRED_ERROR as d, fillFromSuggestion as f, checkSupport as i, validatePostalCode as l, usStateOptions as m, resolveForm as n, formatPostalCode as o, getStreetLevelErrorForSuggestion as p, createBundledDefinitionSource as r, getPostalCodeErrorKey as s, debounceSearchActor as t, DYNAMIC_REQUIRED_KEY as u };
@@ -1,4 +1,3 @@
1
- import { t as FACE_ERROR_CODES } from "./types-BN5RPPIZ.esm.js";
2
1
  //#region src/internal/orchestration/advanceableErrors.ts
3
2
  const VIDEO_SELFIE_VALIDATION_ATTEMPTS_EXHAUSTED_CODE = "VIDEO_SELFIE_VALIDATION_ATTEMPTS_EXHAUSTED";
4
3
  /**
@@ -8,11 +7,13 @@ const VIDEO_SELFIE_VALIDATION_ATTEMPTS_EXHAUSTED_CODE = "VIDEO_SELFIE_VALIDATION
8
7
  * "retryable" (the module's own concern): it only decides what the flow does
9
8
  * *after* a terminal error. Note `NO_MORE_ATTEMPTS` subsumes the former
10
9
  * `USER_IS_NOT_RECOGNIZED` entry — see the contract test for the full matrix.
10
+ * The face codes are literals (checked against `FaceErrorCode`), so modules
11
+ * without face capture do not bundle `FACE_ERROR_CODES`.
11
12
  */
12
13
  const ADVANCEABLE_ERROR_CODES = [
13
- FACE_ERROR_CODES.NONEXISTENT_CUSTOMER,
14
- FACE_ERROR_CODES.HINT_NOT_PROVIDED,
15
- FACE_ERROR_CODES.NO_MORE_ATTEMPTS,
14
+ "NONEXISTENT_CUSTOMER",
15
+ "HINT_NOT_PROVIDED",
16
+ "NO_MORE_ATTEMPTS",
16
17
  VIDEO_SELFIE_VALIDATION_ATTEMPTS_EXHAUSTED_CODE
17
18
  ];
18
19
  /** True when the given code is a module terminal error the flow should advance past rather than fail on. */
@@ -1,6 +1,6 @@
1
- import { t as Manager } from "./Manager-CQQ99QOI.js";
1
+ import { t as Manager } from "./Manager-C9T5amUN.js";
2
2
  import { S as getDefaultConsentChecks, a as ElectronicSignatureConfig, b as areAllConsented, i as ConsentKey, r as ConsentChecks, s as ElectronicSignatureDocument, t as AE_CONSENT_KEYS } from "./types-D0gekt4U.js";
3
- import { n as ElectronicSignatureState, o as electronicSignatureMachine } from "./electronicSignatureManager-Ds-KEVTq.js";
3
+ import { n as ElectronicSignatureState, o as electronicSignatureMachine } from "./electronicSignatureManager-DTSLOvKR.js";
4
4
  import "./electronic-signature.js";
5
5
  //#region src/modules/ae-signature/index.d.ts
6
6
  type AeSignatureConfig = Omit<ElectronicSignatureConfig, 'variant'>;
@@ -1,4 +1,4 @@
1
- import { c as areAllConsented, i as AE_CONSENT_KEYS, r as electronicSignatureMachine, t as createElectronicSignatureManager, u as getDefaultConsentChecks } from "./electronicSignatureManager-yYUc30na.esm.js";
1
+ import { c as areAllConsented, i as AE_CONSENT_KEYS, r as electronicSignatureMachine, t as createElectronicSignatureManager, u as getDefaultConsentChecks } from "./electronicSignatureManager-BtWCrz5_.esm.js";
2
2
  //#region src/modules/ae-signature/index.ts
3
3
  function createAeSignatureManager(options) {
4
4
  return createElectronicSignatureManager({ config: {
@@ -1,4 +1,4 @@
1
- import { i as createAntifraudManagerFromActor, n as AntifraudState, o as antifraudMachine, r as createAntifraudManager, t as AntifraudManager } from "./antifraudManager-BY36bS12.js";
1
+ import { i as createAntifraudManagerFromActor, n as AntifraudState, o as antifraudMachine, r as createAntifraudManager, t as AntifraudManager } from "./antifraudManager-DbGCvlJs.js";
2
2
  //#region src/modules/antifraud/types.d.ts
3
3
  /**
4
4
  * Configuration options for the antifraud module.
@@ -1,3 +1,3 @@
1
- import { t as antifraudMachine } from "./antifraudStateMachine-DBeq47D2.esm.js";
2
- import { n as createAntifraudManagerFromActor, t as createAntifraudManager } from "./antifraudManager-DNkw66oW.esm.js";
1
+ import { t as antifraudMachine } from "./antifraudStateMachine-DRl0UVyA.esm.js";
2
+ import { n as createAntifraudManagerFromActor, t as createAntifraudManager } from "./antifraudManager-CaweCYnY.esm.js";
3
3
  export { antifraudMachine, createAntifraudManager, createAntifraudManagerFromActor };
@@ -1,7 +1,7 @@
1
- import { n as eventModuleNames, o as createManagerInstrumentation } from "./events-ijlbX_Wx.esm.js";
1
+ import { n as eventModuleNames, o as createManagerInstrumentation } from "./events-Du2A4-Qr.esm.js";
2
2
  import { t as topLevelStateName } from "./topLevelStateName-B5i2avbh.esm.js";
3
- import { s as createActor, u as createManager } from "./xstate.esm-BuFLFuzz.esm.js";
4
- import { t as antifraudMachine } from "./antifraudStateMachine-DBeq47D2.esm.js";
3
+ import { s as createActor, u as createManager } from "./xstate.esm-DSajW7CJ.esm.js";
4
+ import { t as antifraudMachine } from "./antifraudStateMachine-DRl0UVyA.esm.js";
5
5
  //#region src/modules/antifraud/antifraudActor.ts
6
6
  function createAntifraudActor() {
7
7
  return createActor(antifraudMachine).start();
@@ -1,6 +1,6 @@
1
1
  import { i as ActorRefFrom } from "./spawn-D9jgw9pW.js";
2
- import { t as Manager } from "./Manager-CQQ99QOI.js";
3
- import "./Actor-iTq7YY48.js";
2
+ import { t as Manager } from "./Manager-C9T5amUN.js";
3
+ import "./Actor-DpTj5PFb.js";
4
4
  //#region src/modules/antifraud/antifraudStateMachine.d.ts
5
5
  declare const antifraudMachine: any;
6
6
  type AntifraudMachine = typeof antifraudMachine;
@@ -1,7 +1,6 @@
1
- import { t as api } from "./api-Bx3gKW_y.esm.js";
2
- import { t as endpoints } from "./endpoints-B-3Q-LUw.esm.js";
3
- import { t as setup } from "./xstate.esm-BuFLFuzz.esm.js";
4
- import { n as fromPromise } from "./xstate-actors.esm-BXeQ-Ucz.esm.js";
1
+ import { t as api, u as endpoints } from "./api-Cz90EHyu.esm.js";
2
+ import { t as setup } from "./xstate.esm-DSajW7CJ.esm.js";
3
+ import { n as fromPromise } from "./xstate-actors.esm-8Gzepa_A.esm.js";
5
4
  //#region src/modules/antifraud/antifraudServices.ts
6
5
  async function processAntifraud(signal) {
7
6
  const res = await api.get(endpoints.processAntifraud, { signal });
@@ -1,3 +1,4 @@
1
+ import { t as getTimestamp } from "./IBrowserEnvironmentCapability-DEaRRk-R.esm.js";
1
2
  //#region src/internal/http/endpoints.ts
2
3
  const endpoints = {
3
4
  createSession: "/omni/start",
@@ -48,6 +49,7 @@ const endpoints = {
48
49
  deviceStats: "/omni/device/stats",
49
50
  featureConfig: "/omni/feature-config",
50
51
  deviceFingerprint: "/omni/add/device-fingerprint",
52
+ deviceFingerprintSignals: "/omni/add/device-fingerprint-signals",
51
53
  onboardingStatus: "/omni/get/onboarding/status",
52
54
  customFields: "/omni/get/custom-fields",
53
55
  addCustomFields: "/omni/add/custom-fields",
@@ -83,6 +85,7 @@ const endpoints = {
83
85
  qrValidateUuid: "/omni/qr/validate",
84
86
  addSignature: "/omni/add/signature",
85
87
  addSignatureV2: "/omni/add/signature/v2",
88
+ identityReuseCandidates: "/omni/identity-reuse/candidates",
86
89
  identityReuseDocuments: "/omni/identity-reuse/documents",
87
90
  identityReuseSubmit: "/omni/identity-reuse/submit",
88
91
  processAntifraud: "/omni/process/antifraud",
@@ -165,4 +168,151 @@ const endpoints = {
165
168
  deviceWalletGoogleDecrypt: "/omni/v1/device/wallet/google/decrypt"
166
169
  };
167
170
  //#endregion
168
- export { endpoints as t };
171
+ //#region src/internal/http/api.ts
172
+ let client = null;
173
+ let currentToken = null;
174
+ function setClient(httpClient) {
175
+ client = httpClient;
176
+ }
177
+ function setToken(token) {
178
+ currentToken = token;
179
+ }
180
+ function getToken() {
181
+ return currentToken;
182
+ }
183
+ function getApi() {
184
+ if (!client) throw new Error("SDK not configured. Call setup({ apiURL: \"...\" }) first.");
185
+ return client;
186
+ }
187
+ function isApiConfigured() {
188
+ return client !== null;
189
+ }
190
+ function resetApi() {
191
+ client = null;
192
+ currentToken = null;
193
+ requestObserver = null;
194
+ }
195
+ let requestObserver = null;
196
+ /**
197
+ * Observer fired around every `api.*` call (ENG-48677 event map row 23b —
198
+ * Android-dashboard parity: every request gets a timing line, not just
199
+ * failures). Deliberately a plain setter, not a direct `trueSightLog` import:
200
+ * `trueSightService` already imports from this module, so importing it back
201
+ * here would create a cycle. `setup.ts` wires the real observer.
202
+ */
203
+ function setHttpRequestObserver(observer) {
204
+ requestObserver = observer;
205
+ }
206
+ function notifyRequestObserver(entry) {
207
+ if (!requestObserver) return;
208
+ try {
209
+ requestObserver(entry);
210
+ } catch {}
211
+ }
212
+ /**
213
+ * Endpoints whose next path segment is a per-request id
214
+ * (`…/verifications/{id}/status`). The id is collapsed to `:id`: it is not a
215
+ * label, and digital-id polling would otherwise mint one label per verification.
216
+ */
217
+ const DYNAMIC_SEGMENT_PREFIXES = [`${endpoints.digitalIdVerifications}/`];
218
+ /**
219
+ * Strips a query string so `?communicationchannel=SMS`-style call sites don't
220
+ * fragment the endpoint label, and collapses per-request path ids to `:id`.
221
+ */
222
+ function normalizeEndpoint(url) {
223
+ const queryIndex = url.indexOf("?");
224
+ const path = queryIndex === -1 ? url : url.slice(0, queryIndex);
225
+ for (const prefix of DYNAMIC_SEGMENT_PREFIXES) if (path.startsWith(prefix)) {
226
+ const rest = path.slice(prefix.length);
227
+ const nextSlash = rest.indexOf("/");
228
+ return `${prefix}:id${nextSlash === -1 ? "" : rest.slice(nextSlash)}`;
229
+ }
230
+ return path;
231
+ }
232
+ function httpStatusOf(error) {
233
+ if (typeof error === "object" && error !== null && "status" in error && typeof error.status === "number") return error.status;
234
+ return null;
235
+ }
236
+ /**
237
+ * Runs one request under the timing observer. The `api.*` helpers use it,
238
+ * and so does any path that reaches the HTTP client directly — the WASM
239
+ * `WebApi` transport behind protected image uploads (`clientLifecycle.ts`).
240
+ */
241
+ async function withTiming(method, url, call) {
242
+ const endpoint = normalizeEndpoint(url);
243
+ const startedAt = getTimestamp();
244
+ let response;
245
+ try {
246
+ response = await call();
247
+ } catch (error) {
248
+ notifyRequestObserver({
249
+ method,
250
+ endpoint,
251
+ httpStatus: httpStatusOf(error),
252
+ durationMs: getTimestamp() - startedAt,
253
+ outcome: "failure"
254
+ });
255
+ throw error;
256
+ }
257
+ notifyRequestObserver({
258
+ method,
259
+ endpoint,
260
+ httpStatus: response.status,
261
+ durationMs: getTimestamp() - startedAt,
262
+ outcome: "success"
263
+ });
264
+ return response;
265
+ }
266
+ /**
267
+ * Header-precedence contract: when a caller passes
268
+ * `X-Incode-Hardware-Id` in `config.headers`, their value wins over
269
+ * `currentToken`. Spreading `config?.headers` LAST achieves that
270
+ * (later keys overwrite earlier ones in object spread).
271
+ *
272
+ * Existing call sites that already pass an explicit
273
+ * `X-Incode-Hardware-Id` header (`recordingsRepository.uploadDeepsightVideo`,
274
+ * `internal/virtualCameraCheck.logFrame`) now use the value they
275
+ * passed in unconditionally — previously the auto-injection silently
276
+ * clobbered them. Both call sites pass tokens that are already
277
+ * supposed to be the active session token, so behaviour is
278
+ * unchanged in practice; the change unblocks personhood (which
279
+ * needs to attach its own slot's token) without bypassing the
280
+ * shared `api` wrapper.
281
+ *
282
+ * Regression coverage lives in `api.test.ts → "should let explicit
283
+ * X-Incode-Hardware-Id override the auto-injected token"`.
284
+ */
285
+ function addTokenHeader(config) {
286
+ if (!currentToken) return config ?? {};
287
+ return {
288
+ ...config,
289
+ headers: {
290
+ "X-Incode-Hardware-Id": currentToken,
291
+ ...config?.headers
292
+ }
293
+ };
294
+ }
295
+ const api = {
296
+ get(url, config) {
297
+ const client = getApi();
298
+ return withTiming("GET", url, () => client.get(url, addTokenHeader(config)));
299
+ },
300
+ post(url, data, config) {
301
+ const client = getApi();
302
+ return withTiming("POST", url, () => client.post(url, data, addTokenHeader(config)));
303
+ },
304
+ put(url, data, config) {
305
+ const client = getApi();
306
+ return withTiming("PUT", url, () => client.put(url, data, addTokenHeader(config)));
307
+ },
308
+ patch(url, data, config) {
309
+ const client = getApi();
310
+ return withTiming("PATCH", url, () => client.patch(url, data, addTokenHeader(config)));
311
+ },
312
+ delete(url, config) {
313
+ const client = getApi();
314
+ return withTiming("DELETE", url, () => client.delete(url, addTokenHeader(config)));
315
+ }
316
+ };
317
+ //#endregion
318
+ export { resetApi as a, setToken as c, isApiConfigured as i, withTiming as l, getApi as n, setClient as o, getToken as r, setHttpRequestObserver as s, api as t, endpoints as u };