@incodetech/core 2.4.0 → 2.4.1-agentic

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. package/dist/{FaceDetectionProvider-DcPOC2gS.esm.js → FaceDetectionProvider-B83VmClw.esm.js} +29 -64
  2. package/dist/IBrowserEnvironmentCapability-D7JG7ML3.esm.js +16 -0
  3. package/dist/IGeolocationCapability-r49Qo7rR.d.ts +10 -0
  4. package/dist/{IWasmUtilCapability-GF2n7sfm.d.ts → IWasmUtilCapability-Cqiaxydi.d.ts} +31 -4
  5. package/dist/{PhoneValidationProvider-SZiOS0jB.esm.js → PhoneValidationProvider-Co4zk2en.esm.js} +7 -0
  6. package/dist/{StreamCanvasCapture-7JRf-2ck.d.ts → StreamCanvasCapture-C3xNfOsv.d.ts} +12 -3
  7. package/dist/{WasmUtilProvider-DtJuBdt-.esm.js → WasmUtilProvider-GTkoJyFY.esm.js} +75 -22
  8. package/dist/{addressSearch-DPjIKJrX.esm.js → addressSearch-41sMcnJk.esm.js} +72 -31
  9. package/dist/{advanceableErrors-q_pfU3Cn.esm.js → advanceableErrors-k-U-cL5m.esm.js} +1 -2
  10. package/dist/ae-signature.esm.js +1 -1
  11. package/dist/antifraud.esm.js +2 -2
  12. package/dist/{antifraudManager-CaweCYnY.esm.js → antifraudManager-CQ08atTC.esm.js} +2 -2
  13. package/dist/{antifraudStateMachine-DRl0UVyA.esm.js → antifraudStateMachine-BcsUTTIr.esm.js} +1 -1
  14. package/dist/{api-Cz90EHyu.esm.js → api-BO8JA7Pf.esm.js} +6 -5
  15. package/dist/{apiError-DPwFas2f.esm.js → apiError-CfuIvnUy.esm.js} +1 -1
  16. package/dist/attemptCarry-BjTJ6bMQ.esm.js +45 -0
  17. package/dist/authentication.d.ts +3 -3
  18. package/dist/authentication.esm.js +2 -2
  19. package/dist/{authenticationManager-BIZC55Bi.d.ts → authenticationManager-C-cOki0Y.d.ts} +1 -1
  20. package/dist/{authenticationManager-2Lr5V_7p.esm.js → authenticationManager-DvmklBTE.esm.js} +5 -5
  21. package/dist/{authenticationStateMachine-C99B0GFP.esm.js → authenticationStateMachine-BL2ptOA0.esm.js} +3 -3
  22. package/dist/{backCameraStream-CMvXj4X4.esm.js → backCameraStream-C5_NNfUN.esm.js} +3 -43
  23. package/dist/{browser-DlFgHpoC-DnyrCR8r.esm.js → browser-pQZA35G2-DtkAf6sn.esm.js} +161 -150
  24. package/dist/{camera-sIa9ceW2.esm.js → camera-E_Kcre4O.esm.js} +15 -23
  25. package/dist/camera.esm.js +1 -1
  26. package/dist/certificate-issuance.esm.js +2 -2
  27. package/dist/{certificateIssuanceManager-BfeMv2PU.esm.js → certificateIssuanceManager-CM0fuqDC.esm.js} +2 -2
  28. package/dist/{certificateIssuanceStateMachine-Frgjbjw8.esm.js → certificateIssuanceStateMachine-kksIUOPD.esm.js} +2 -2
  29. package/dist/cnpj-Co1ottYN.esm.js +77 -0
  30. package/dist/connectivity-HSl0diCx.esm.js +133 -0
  31. package/dist/consent.d.ts +1 -1
  32. package/dist/consent.esm.js +2 -2
  33. package/dist/{consentManager-CvEu8h_W.esm.js → consentManager-CBwFozhv.esm.js} +4 -3
  34. package/dist/{consentManager-Cv_0QKLD.d.ts → consentManager-_q9yJUku.d.ts} +14 -7
  35. package/dist/{consentStateMachine-DJTgN_-1.esm.js → consentStateMachine-CpmRAcr2.esm.js} +20 -7
  36. package/dist/cross-document-data-match.esm.js +1 -1
  37. package/dist/{crossDocumentDataMatchManager-Cu141CE8.esm.js → crossDocumentDataMatchManager-64O8t10a.esm.js} +2 -2
  38. package/dist/curp-validation.d.ts +1 -1
  39. package/dist/curp-validation.esm.js +2 -2
  40. package/dist/{curpValidationManager-B-z9q5V3.esm.js → curpValidationManager-CLgJQcx0.esm.js} +3 -2
  41. package/dist/{curpValidationManager-C9sqoh9n.d.ts → curpValidationManager-CXpFE-Mv.d.ts} +1 -1
  42. package/dist/{curpValidationStateMachine-vDEFLMPw.esm.js → curpValidationStateMachine-Bx9YhVkJ.esm.js} +28 -20
  43. package/dist/custom-fields.esm.js +1 -1
  44. package/dist/custom-watchlist.esm.js +2 -2
  45. package/dist/{customFieldsManager-D1ex2cFM.esm.js → customFieldsManager-DWt_0YtJ.esm.js} +2 -2
  46. package/dist/{customWatchlistManager-CTI-SGk0.esm.js → customWatchlistManager-D8o-2Nej.esm.js} +2 -2
  47. package/dist/{customWatchlistStateMachine-hmRd0f2I.esm.js → customWatchlistStateMachine-Sbi6DIcK.esm.js} +1 -1
  48. package/dist/{deepsightLoader-DeNvGU3c.esm.js → deepsightLoader-DMxtowCm.esm.js} +6 -28
  49. package/dist/{deepsightService-CKTYDIXD.esm.js → deepsightService-twg3bXqY.esm.js} +20 -59
  50. package/dist/{createCameraCycleOwnership-Dj_LHUvN.esm.js → desktopCameraElection-kHY2IDJi.esm.js} +177 -40
  51. package/dist/device.esm.js +2 -2
  52. package/dist/document-capture.d.ts +2 -2
  53. package/dist/document-capture.esm.js +2 -2
  54. package/dist/{documentCaptureManager-DkyDtm3Y.d.ts → documentCaptureManager-6tnnDkMX.d.ts} +14 -2
  55. package/dist/{documentCaptureManager-DUJwpKC5.esm.js → documentCaptureManager-CMSC_Mhd.esm.js} +26 -19
  56. package/dist/{documentCaptureStateMachine-B8i7GnLh.esm.js → documentCaptureStateMachine-BCwD5Rto.esm.js} +43 -35
  57. package/dist/dynamic-forms.d.ts +2 -2
  58. package/dist/dynamic-forms.esm.js +2 -2
  59. package/dist/{dynamicFormsManager-C0dHs1ty.d.ts → dynamicFormsManager-9kwY8Bf5.d.ts} +1 -1
  60. package/dist/{dynamicFormsManager-DiKYjcF3.esm.js → dynamicFormsManager-DU6W1e20.esm.js} +2 -2
  61. package/dist/{dynamicFormsStateMachine-DEI45xYW.esm.js → dynamicFormsStateMachine-C8Z7k3vo.esm.js} +2 -2
  62. package/dist/ekyb.d.ts +4 -4
  63. package/dist/ekyb.esm.js +3 -3
  64. package/dist/{ekybManager-BaZ_7CEu.d.ts → ekybManager-TB6ZG5lX.d.ts} +2 -2
  65. package/dist/{ekybManager-8WLkNcqg.esm.js → ekybManager-TGfqyjuu.esm.js} +2 -2
  66. package/dist/{ekybStateMachine-BLRT45Ex.esm.js → ekybStateMachine-DBgFuEPK.esm.js} +26 -44
  67. package/dist/ekyc.d.ts +3 -3
  68. package/dist/ekyc.esm.js +3 -3
  69. package/dist/{ekycManager-DW-ynodd.d.ts → ekycManager-BSQteIfC.d.ts} +1 -1
  70. package/dist/{ekycManager-BO-Lui3t.esm.js → ekycManager-C2cgG2Pl.esm.js} +2 -2
  71. package/dist/ekycStateMachine-CuNF7z4O.esm.js +7505 -0
  72. package/dist/ekycUtils-BFncpC4F.esm.js +1401 -0
  73. package/dist/electronic-signature.esm.js +1 -1
  74. package/dist/{electronicSignatureManager-CcIMOb_Y.esm.js → electronicSignatureManager-C7pqXsRm.esm.js} +4 -4
  75. package/dist/email.esm.js +2 -2
  76. package/dist/{emailManager-ButFktRm.esm.js → emailManager-FH_CP0cT.esm.js} +2 -2
  77. package/dist/{emailStateMachine-BXtlC0NV.esm.js → emailStateMachine-Cx-uTaBV.esm.js} +32 -20
  78. package/dist/{events-Du2A4-Qr.esm.js → events-CQteqXfy.esm.js} +2 -2
  79. package/dist/events.esm.js +1 -1
  80. package/dist/extensibility.d.ts +34 -20
  81. package/dist/extensibility.esm.js +34 -34
  82. package/dist/{externalFetch-DrR9xshk.esm.js → externalFetch-CQY41QT1.esm.js} +4 -1
  83. package/dist/face-match.d.ts +1 -1
  84. package/dist/face-match.esm.js +2 -2
  85. package/dist/{faceCaptureManagerFactory-1hzeS_rB.d.ts → faceCaptureManagerFactory-C-xKdj-d.d.ts} +71 -66
  86. package/dist/{faceCaptureManagerFactory-BlGvXzXA.esm.js → faceCaptureManagerFactory-CBm05KnT.esm.js} +4 -4
  87. package/dist/{faceCaptureSetup-TY8RXc2N.esm.js → faceCaptureSetup-BQjCbL51.esm.js} +82 -64
  88. package/dist/{faceMatchManager-DWFUQjMQ.esm.js → faceMatchManager-B2zp7yP4.esm.js} +2 -2
  89. package/dist/{faceMatchManager-DIgG-UFS.d.ts → faceMatchManager-Z4UDLwAv.d.ts} +16 -7
  90. package/dist/{faceMatchStateMachine-CUCvlydD.esm.js → faceMatchStateMachine-ByTMQCUC.esm.js} +40 -27
  91. package/dist/{feature-management-B5rR10uS.esm.js → feature-management-DjAG5lsJ.esm.js} +1 -1
  92. package/dist/feature-management.esm.js +1 -1
  93. package/dist/field-comparison.esm.js +1 -1
  94. package/dist/{fieldComparisonManager-v3knTYV_.esm.js → fieldComparisonManager-CC0vKmpf.esm.js} +2 -2
  95. package/dist/fiscal-qr.esm.js +1 -1
  96. package/dist/{fiscalQrManager-Dt9fHG7h.esm.js → fiscalQrManager-Be-r4oZj.esm.js} +4 -4
  97. package/dist/flow-events.d.ts +1 -1
  98. package/dist/flow.d.ts +10 -10
  99. package/dist/flow.esm.js +8 -11
  100. package/dist/{flowCompletionService-BDI5QpfR.esm.js → flowCompletionService-ChMU2v79.esm.js} +2 -2
  101. package/dist/{flowServices-roD0oIQL.esm.js → flowServices-g2tVWsJl.esm.js} +8 -50
  102. package/dist/geolocation.d.ts +1 -1
  103. package/dist/geolocation.esm.js +2 -2
  104. package/dist/{geolocationManager-Dn24g1fl.d.ts → geolocationManager-6e1i9UIR.d.ts} +15 -17
  105. package/dist/{geolocationManager-DnONzWL5.esm.js → geolocationManager-DLbvZwUB.esm.js} +6 -8
  106. package/dist/{geolocationStateMachine-eWy_G4Os.esm.js → geolocationStateMachine-CAJVongM.esm.js} +12 -8
  107. package/dist/{getDeviceClass-bsWdEDxP.esm.js → getDeviceClass-DoIWuKI8.esm.js} +1 -1
  108. package/dist/government-validation.esm.js +2 -2
  109. package/dist/{governmentValidationManager-BtXWHICu.esm.js → governmentValidationManager-CkX9TEkh.esm.js} +2 -2
  110. package/dist/{governmentValidationStateMachine-COL-Vs48.esm.js → governmentValidationStateMachine-PTPCP26N.esm.js} +1 -1
  111. package/dist/home.d.ts +1 -1
  112. package/dist/home.esm.js +1 -1
  113. package/dist/http.esm.js +1 -1
  114. package/dist/id-ocr.esm.js +2 -2
  115. package/dist/id-selfie-flow.d.ts +1 -1
  116. package/dist/id-selfie-flow.esm.js +9 -9
  117. package/dist/id-verification.esm.js +2 -2
  118. package/dist/id.d.ts +3 -16
  119. package/dist/id.esm.js +3 -3
  120. package/dist/{idCaptureDefaults-BGsG2OAs.esm.js → idCaptureDefaults-MSQoqScU.esm.js} +3 -3
  121. package/dist/{idCaptureManager-0M02hSuC.d.ts → idCaptureManager-DzTfQ1Am.d.ts} +66 -5
  122. package/dist/{idCaptureManager-BrfYjCm_.esm.js → idCaptureManager-zZdTcpG1.esm.js} +63 -17
  123. package/dist/{idCaptureServices-BSj6EH2l.esm.js → idCaptureServices-8OHinO0N.esm.js} +9 -9
  124. package/dist/{idCaptureStateMachine-dXKBYHQp.esm.js → idCaptureStateMachine-B3G6XoDG.esm.js} +914 -536
  125. package/dist/{idOcrManager-D3-HNMXP.esm.js → idOcrManager-B64-fjWg.esm.js} +2 -2
  126. package/dist/{idOcrStateMachine-DyENX6Ki.esm.js → idOcrStateMachine-B1aZnobs.esm.js} +2 -2
  127. package/dist/{idVerificationManager-iWz7Avkr.esm.js → idVerificationManager-_Kebv-Ue.esm.js} +2 -2
  128. package/dist/{idVerificationStateMachine-CL1kUdBe.esm.js → idVerificationStateMachine-DQn6c84z.esm.js} +1 -1
  129. package/dist/identity-reuse.esm.js +2 -2
  130. package/dist/{identityReuseManager-CD1ucp1d.esm.js → identityReuseManager-DDXkNVZi.esm.js} +2 -2
  131. package/dist/{identityReuseStateMachine-DfV81wQC.esm.js → identityReuseStateMachine-Bcnkbjf8.esm.js} +1 -1
  132. package/dist/{index-BKOWUhxG.d.ts → index-DEfwds5y.d.ts} +55 -8
  133. package/dist/{index-CKQ9QBZP.d.ts → index-DMDAk85K.d.ts} +1 -1
  134. package/dist/index.d.ts +1 -1
  135. package/dist/index.esm.js +1 -1
  136. package/dist/{invokeOnCaptureCallback-DYrkOXO6.esm.js → invokeOnCaptureCallback-CXIBwBeE.esm.js} +1 -1
  137. package/dist/mandatory-consent.d.ts +2 -2
  138. package/dist/mandatory-consent.esm.js +2 -2
  139. package/dist/{mandatoryConsentManager-Cwqx1nK7.esm.js → mandatoryConsentManager-43W5d_8G.esm.js} +4 -3
  140. package/dist/{mandatoryConsentManager-BQ43yndC.d.ts → mandatoryConsentManager-xx3mY-xw.d.ts} +11 -4
  141. package/dist/{mandatoryConsentStateMachine-pXWqAHo_.esm.js → mandatoryConsentStateMachine-CVlgdlnt.esm.js} +20 -7
  142. package/dist/{multipartRecordingService-CLwrF5wD.esm.js → multipartRecordingService-DMBxHKS2.esm.js} +3 -13
  143. package/dist/nationalIds-B91f_RuB.esm.js +99 -0
  144. package/dist/{permissionGuards-gcy3U0SL.esm.js → permissionGuards-B3OPL8Si.esm.js} +1 -1
  145. package/dist/{permissionServices-Ca-tSNhT.esm.js → permissionServices-DnBAN_hW.esm.js} +4 -4
  146. package/dist/phone-number.d.ts +7 -1
  147. package/dist/phone-number.esm.js +15 -2
  148. package/dist/phone.d.ts +1 -1
  149. package/dist/phone.esm.js +2 -2
  150. package/dist/{phoneManager-BO-LTih5.d.ts → phoneManager-6nrJkvkG.d.ts} +5 -0
  151. package/dist/{phoneManager-KKUq-Vgo.esm.js → phoneManager-C6jut_pz.esm.js} +3 -3
  152. package/dist/{phoneStateMachine-D2QWS2cu.esm.js → phoneStateMachine-T1-drWfG.esm.js} +37 -25
  153. package/dist/{phoneValidation-DnBcNUNh.esm.js → phoneValidation-OggtfjRt.esm.js} +1 -2
  154. package/dist/{platform-DkcRc9JV.esm.js → platform-aPh7gTWh.esm.js} +15 -1
  155. package/dist/processFaceMatch-BWme3kVV.esm.js +21 -0
  156. package/dist/qe-signature.esm.js +1 -1
  157. package/dist/redirect-to-mobile.d.ts +2 -2
  158. package/dist/redirect-to-mobile.esm.js +2 -2
  159. package/dist/{redirectToMobileManager-uHW3dyuQ.esm.js → redirectToMobileManager-BJXC6Kx9.esm.js} +4 -3
  160. package/dist/{redirectToMobileManager-CVsvpVbQ.d.ts → redirectToMobileManager-Dm9ctRCC.d.ts} +3 -1
  161. package/dist/{redirectToMobileStateMachine-b-H-ipGM.esm.js → redirectToMobileStateMachine-BBMAc2Gb.esm.js} +27 -6
  162. package/dist/{runChildModule-BF_atgNx.esm.js → runChildModule-DPHTqSdF.esm.js} +3 -3
  163. package/dist/{sdkVersion-CsIbltJF.esm.js → sdkVersion-C3_P-Qbq.esm.js} +1 -1
  164. package/dist/selfie.d.ts +4 -4
  165. package/dist/selfie.esm.js +10 -10
  166. package/dist/{selfieErrorUtils-BY0-YbPW.esm.js → selfieErrorUtils-BL0BLMnp.esm.js} +1 -1
  167. package/dist/{selfieManager-BJdNu_nd.d.ts → selfieManager-BMmpUii2.d.ts} +1 -1
  168. package/dist/{selfieManager-vAAwzsHk.esm.js → selfieManager-Cbliomv7.esm.js} +5 -5
  169. package/dist/{selfieStateMachine-BFVp3ElQ.esm.js → selfieStateMachine-B5m_Kn0O.esm.js} +3 -3
  170. package/dist/{session-CpwfoVdH.esm.js → session-DAaAewMX.esm.js} +77 -9
  171. package/dist/session.d.ts +96 -10
  172. package/dist/session.esm.js +7 -6
  173. package/dist/{sessionInitializer-BTjYgE-V.esm.js → sessionInitializer-CWFT4dfw.esm.js} +402 -202
  174. package/dist/{setup-BInNAvQw.esm.js → setup-CDAKwTr7.esm.js} +32 -19
  175. package/dist/{setup-YPKTUCY5.d.ts → setup-D9qt8YVU.d.ts} +2 -2
  176. package/dist/signature.esm.js +2 -2
  177. package/dist/{signatureManager-f_dPAGXn.esm.js → signatureManager-BeEVCcsC.esm.js} +2 -2
  178. package/dist/{signatureStateMachine-C-nUq_oq.esm.js → signatureStateMachine-_1c1vSid.esm.js} +1 -1
  179. package/dist/{stats-BEvexnKC.esm.js → stats-BpMz-hTP.esm.js} +1 -1
  180. package/dist/stats.esm.js +1 -1
  181. package/dist/{tri-xzRLIIMN.esm.js → tri-BajQnjbf.esm.js} +142 -8
  182. package/dist/tri.d.ts +1 -1
  183. package/dist/tri.esm-CzTNi5Q_.esm.js +3826 -0
  184. package/dist/tri.esm.js +1 -1
  185. package/dist/{trueSightService-BMT-TubT.esm.js → trueSightService-BujtUIW6.esm.js} +19 -10
  186. package/dist/trust-graph.esm.js +1 -1
  187. package/dist/{types-yPH8lAH-.d.ts → types--3HDl2SF.d.ts} +2 -2
  188. package/dist/types-B2FK_wYb.d.ts +249 -0
  189. package/dist/types-B9C8W01q.d.ts +34 -0
  190. package/dist/{types-0L-eFDmr.d.ts → types-C397LhmN.d.ts} +1 -1
  191. package/dist/types-D9r3zRfY.d.ts +6 -0
  192. package/dist/{types-DPIDuhut.d.ts → types-DNVzoRvi.d.ts} +2 -1
  193. package/dist/{types-B6HsSzpk.d.ts → types-DuD8TRJU.d.ts} +3 -2
  194. package/dist/{types-Ckir_BEs.d.ts → types-PTZHRhGX.d.ts} +1 -1
  195. package/dist/{types-DUnFZ08M.d.ts → types-ZTZelfbM.d.ts} +2 -2
  196. package/dist/{types-CK8Jbjkp.d.ts → types-e8fCsvvk.d.ts} +1 -1
  197. package/dist/{types-BAxn7MpY.d.ts → types-xEEWCx1j.d.ts} +123 -48
  198. package/dist/{urlUtils-6jsE6rKp.esm.js → urlUtils-eYiyWjh0.esm.js} +4 -1
  199. package/dist/video-selfie.d.ts +8 -8
  200. package/dist/video-selfie.esm.js +95 -22
  201. package/dist/{videoSelfieCameraWarmer-D1xA0u8y.esm.js → videoSelfieCameraWarmer-DjkPpoj_.esm.js} +18 -21
  202. package/dist/{videoSelfieStepDetector-CGsTltqB.d.ts → videoSelfieStepDetector-RfSmlFFW.d.ts} +9 -4
  203. package/dist/{warmup-BElYWRh7.esm.js → warmup-BkfxQZsC.esm.js} +175 -11
  204. package/dist/wasm.d.ts +2 -2
  205. package/dist/wasm.esm.js +3 -3
  206. package/dist/{wasmDsFlagSync-CYj5LL9z.esm.js → wasmDsFlagSync-BhU5H2oR.esm.js} +1 -1
  207. package/dist/wasmMetadataVersionSync-U8EFUr1T.esm.js +27 -0
  208. package/dist/{wasmWebClient-BjZw_7OB.esm.js → wasmWebClient-DTj9auyA.esm.js} +43 -17
  209. package/dist/watchlist-for-business.d.ts +2 -1
  210. package/dist/watchlist-for-business.esm.js +2 -2
  211. package/dist/watchlist.esm.js +2 -2
  212. package/dist/{watchlistForBusinessManager-CZZOFkGl.esm.js → watchlistForBusinessManager-CVay6-9A.esm.js} +37 -7
  213. package/dist/{watchlistForBusinessManager-B3GDPZrr.d.ts → watchlistForBusinessManager-DX2AyM4Y.d.ts} +54 -18
  214. package/dist/watchlistForBusinessStateMachine-DA6K5na4.esm.js +166 -0
  215. package/dist/{watchlistManager-DXtX94SN.esm.js → watchlistManager-B8gQ_rw3.esm.js} +2 -2
  216. package/dist/{watchlistStateMachine-McALifag.esm.js → watchlistStateMachine-CSi_ZhtT.esm.js} +1 -1
  217. package/dist/workflow.d.ts +5 -2
  218. package/dist/workflow.esm.js +57 -47
  219. package/package.json +2 -1
  220. package/dist/IBrowserEnvironmentCapability-DEaRRk-R.esm.js +0 -9
  221. package/dist/ekycStateMachine-CDnI_NRq.esm.js +0 -1443
  222. package/dist/ekycUtils-zY8CdKJL.esm.js +0 -300
  223. package/dist/thumbmark.esm-CRc0cYvz.esm.js +0 -1242
  224. package/dist/tri.esm-BIjHhBJ2.esm.js +0 -2620
  225. package/dist/types-BvLo3U4u.d.ts +0 -134
  226. package/dist/types-zOgZqMni.d.ts +0 -6
  227. package/dist/watchlistForBusinessStateMachine-B66E7jud.esm.js +0 -78
  228. /package/dist/{types-BSBzhHRH2.d.ts → types-BSBzhHRH.d.ts} +0 -0
@@ -1,8 +1,9 @@
1
- import { t as api, u as endpoints } from "./api-Cz90EHyu.esm.js";
1
+ import { t as api, u as endpoints } from "./api-BO8JA7Pf.esm.js";
2
2
  import { t as BrowserTimerProvider } from "./BrowserTimerProvider-BXhgNxLt.esm.js";
3
3
  import { i as assign, t as setup } from "./xstate.esm-DSajW7CJ.esm.js";
4
4
  import { n as fromPromise, t as fromCallback } from "./xstate-actors.esm-8Gzepa_A.esm.js";
5
- import { n as loadPhoneValidation } from "./phoneValidation-DnBcNUNh.esm.js";
5
+ import { t as carryAttempts } from "./attemptCarry-BjTJ6bMQ.esm.js";
6
+ import { n as loadPhoneValidation } from "./phoneValidation-OggtfjRt.esm.js";
6
7
  import { n as isOtpComplete, t as computeOtpValidationErrors } from "./otp-D2k3PeSL.esm.js";
7
8
  //#region src/modules/phone/phoneServices.ts
8
9
  function getPhoneServerFailureReason(error, invalidStatus) {
@@ -210,30 +211,41 @@ const phoneMachine = setup({
210
211
  }).createMachine({
211
212
  id: "phone",
212
213
  initial: "idle",
213
- context: ({ input }) => ({
214
- config: input.config,
215
- phone: "",
216
- isValid: false,
217
- phoneError: void 0,
218
- validationErrors: void 0,
219
- countryCode: "",
220
- phonePrefix: "",
221
- prefilledPhone: void 0,
222
- optInGranted: false,
223
- startInfo: void 0,
224
- error: void 0,
225
- otpCode: "",
226
- otpError: void 0,
227
- otpValidationErrors: void 0,
228
- attemptsRemaining: input.config.maxOtpAttempts ?? 3,
229
- resendTimer: 0,
230
- resendTimerActive: false
231
- }),
214
+ context: ({ input, self }) => {
215
+ const carried = carryAttempts("phone", self, (s) => ({ attemptsRemaining: s.matches("error") ? s.context.attemptsRemaining - 1 : s.context.attemptsRemaining }));
216
+ return {
217
+ config: input.config,
218
+ phone: "",
219
+ isValid: false,
220
+ phoneError: void 0,
221
+ validationErrors: void 0,
222
+ countryCode: "",
223
+ phonePrefix: "",
224
+ prefilledPhone: void 0,
225
+ optInGranted: false,
226
+ startInfo: void 0,
227
+ error: void 0,
228
+ otpCode: "",
229
+ otpError: void 0,
230
+ otpValidationErrors: void 0,
231
+ attemptsRemaining: carried.attemptsRemaining ?? input.config.maxOtpAttempts ?? 3,
232
+ resendTimer: 0,
233
+ resendTimerActive: false
234
+ };
235
+ },
232
236
  states: {
233
- idle: { on: { LOAD: [{
234
- target: "loadingPrefill",
235
- guard: "hasPrefill"
236
- }, { target: "loadingStartInfo" }] } },
237
+ idle: { on: { LOAD: [
238
+ {
239
+ target: "error",
240
+ guard: ({ context }) => context.attemptsRemaining <= 0 && context.attemptsRemaining < (context.config.maxOtpAttempts ?? 3),
241
+ actions: assign({ error: () => "Maximum OTP attempts exceeded" })
242
+ },
243
+ {
244
+ target: "loadingPrefill",
245
+ guard: "hasPrefill"
246
+ },
247
+ { target: "loadingStartInfo" }
248
+ ] } },
237
249
  loadingPrefill: {
238
250
  entry: "startLoadingPhoneRules",
239
251
  invoke: {
@@ -18,8 +18,7 @@ const LAZY_IMPORT_OPTIONS = {
18
18
  var LazyPhoneValidationProvider = class LazyPhoneValidationProvider {
19
19
  constructor() {
20
20
  this._lazy = BrowserLazyImportProvider.getInstance().create(async () => {
21
- const { PhoneValidationProvider } = await import("./PhoneValidationProvider-SZiOS0jB.esm.js").then((n) => n.n);
22
- return new PhoneValidationProvider();
21
+ return new (await (import("./PhoneValidationProvider-Co4zk2en.esm.js").then((n) => n.n))).PhoneValidationProvider();
23
22
  }, LAZY_IMPORT_OPTIONS);
24
23
  }
25
24
  static getInstance() {
@@ -16,6 +16,20 @@ function isAndroid(userAgent) {
16
16
  return /Android/i.test(ua);
17
17
  }
18
18
  /**
19
+ * True on a Samsung Android device, as far as the user agent tells.
20
+ *
21
+ * Two signals: Samsung Internet stamps `SamsungBrowser/<n>`, and unreduced
22
+ * user agents (WebViews, older Chrome) carry the `SAMSUNG` / `SM-<model>`
23
+ * device token. Chrome 110+ reduces the Android model to `K`, so Chrome on a
24
+ * Samsung phone is NOT detected — callers gating a Samsung-only feature on
25
+ * this err on the side of hiding it.
26
+ */
27
+ function isSamsungDevice(userAgent) {
28
+ const ua = userAgent || (typeof navigator !== "undefined" ? navigator.userAgent : "");
29
+ if (!isAndroid(ua)) return false;
30
+ return /SamsungBrowser\/|\bSAMSUNG\b|\bSM-[A-Z0-9]+/i.test(ua);
31
+ }
32
+ /**
19
33
  * True when the page runs inside an Android WebView — web content hosted by a
20
34
  * native app — rather than a standalone Android browser.
21
35
  *
@@ -128,4 +142,4 @@ function isIPhone14OrHigher() {
128
142
  return IPHONE_14_PLUS_DIMENSIONS.some((dims) => dims.outerHeight === outerHeight && dims.outerWidth === outerWidth || dims.innerHeight === innerHeight && dims.innerWidth === innerWidth);
129
143
  }
130
144
  //#endregion
131
- export { isIOS as a, isIPhone14OrHigher as c, isSafari as d, isTabletWithoutAndroid as f, isDesktop as i, isIslandBrowser as l, isAndroidWebView as n, isIOSWebView as o, isBraveBrowser as r, isIPad as s, isAndroid as t, isMacOsSafari as u };
145
+ export { isIOS as a, isIPhone14OrHigher as c, isSafari as d, isSamsungDevice as f, isDesktop as i, isIslandBrowser as l, isAndroidWebView as n, isIOSWebView as o, isTabletWithoutAndroid as p, isBraveBrowser as r, isIPad as s, isAndroid as t, isMacOsSafari as u };
@@ -0,0 +1,21 @@
1
+ import { r as getToken } from "./api-BO8JA7Pf.esm.js";
2
+ //#region src/internal/session/processFaceMatch.ts
3
+ let saved = null;
4
+ /**
5
+ * Saves the `success` field of a selfie `/omni/process/face` response, so a
6
+ * later face match in the same session shows it without a second call. A
7
+ * response without `success` clears the saved result.
8
+ */
9
+ function saveProcessFaceMatch(success) {
10
+ const token = getToken();
11
+ saved = token !== null && typeof success === "boolean" ? {
12
+ token,
13
+ matched: success
14
+ } : null;
15
+ }
16
+ /** The saved face match result of the current session, or `null`. */
17
+ function getProcessFaceMatch() {
18
+ return saved !== null && saved.token === getToken() ? saved.matched : null;
19
+ }
20
+ //#endregion
21
+ export { saveProcessFaceMatch as n, getProcessFaceMatch as t };
@@ -1,4 +1,4 @@
1
- import { a as NAMIRIAL_QES_CONSENT_KEYS, c as areAllConsented, o as NAMIRIAL_QES_PROVIDER_CODE, r as electronicSignatureMachine, s as QE_CONSENT_KEYS, t as createElectronicSignatureManager, u as getDefaultConsentChecks } from "./electronicSignatureManager-CcIMOb_Y.esm.js";
1
+ import { a as NAMIRIAL_QES_CONSENT_KEYS, c as areAllConsented, o as NAMIRIAL_QES_PROVIDER_CODE, r as electronicSignatureMachine, s as QE_CONSENT_KEYS, t as createElectronicSignatureManager, u as getDefaultConsentChecks } from "./electronicSignatureManager-C7pqXsRm.esm.js";
2
2
  //#region src/modules/qe-signature/index.ts
3
3
  function createQeSignatureManager(options) {
4
4
  return createElectronicSignatureManager({ config: {
@@ -1,5 +1,5 @@
1
- import { n as RedirectToMobileServices, t as RedirectToMobileConfig } from "./types-DPIDuhut.js";
2
- import { a as RedirectToMobileActor, i as createRedirectToMobileManagerFromActor, n as RedirectToMobileState, o as redirectToMobileMachine, r as createRedirectToMobileManager, t as RedirectToMobileManager } from "./redirectToMobileManager-CVsvpVbQ.js";
1
+ import { r as RedirectToMobileServices, t as RedirectToMobileConfig } from "./types-DNVzoRvi.js";
2
+ import { a as RedirectToMobileActor, i as createRedirectToMobileManagerFromActor, n as RedirectToMobileState, o as redirectToMobileMachine, r as createRedirectToMobileManager, t as RedirectToMobileManager } from "./redirectToMobileManager-Dm9ctRCC.js";
3
3
  //#region src/modules/redirect-to-mobile/redirectToMobileServices.d.ts
4
4
  declare const defaultRedirectToMobileServices: RedirectToMobileServices;
5
5
  //#endregion
@@ -1,3 +1,3 @@
1
- import { n as redirectToMobileMachine, r as defaultRedirectToMobileServices } from "./redirectToMobileStateMachine-b-H-ipGM.esm.js";
2
- import { n as createRedirectToMobileManagerFromActor, t as createRedirectToMobileManager } from "./redirectToMobileManager-uHW3dyuQ.esm.js";
1
+ import { n as redirectToMobileMachine, r as defaultRedirectToMobileServices } from "./redirectToMobileStateMachine-BBMAc2Gb.esm.js";
2
+ import { n as createRedirectToMobileManagerFromActor, t as createRedirectToMobileManager } from "./redirectToMobileManager-BJXC6Kx9.esm.js";
3
3
  export { createRedirectToMobileManager, createRedirectToMobileManagerFromActor, defaultRedirectToMobileServices, redirectToMobileMachine };
@@ -1,8 +1,8 @@
1
- import { n as eventModuleNames, o as createManagerInstrumentation } from "./events-Du2A4-Qr.esm.js";
1
+ import { n as eventModuleNames, o as createManagerInstrumentation } from "./events-CQteqXfy.esm.js";
2
2
  import { t as BrowserTimerProvider } from "./BrowserTimerProvider-BXhgNxLt.esm.js";
3
3
  import { s as createActor, u as createManager } from "./xstate.esm-DSajW7CJ.esm.js";
4
4
  import { n as fromPromise, t as fromCallback } from "./xstate-actors.esm-8Gzepa_A.esm.js";
5
- import { n as redirectToMobileMachine, r as defaultRedirectToMobileServices, t as canResendSmsFromContext } from "./redirectToMobileStateMachine-b-H-ipGM.esm.js";
5
+ import { n as redirectToMobileMachine, r as defaultRedirectToMobileServices, t as canResendSmsFromContext } from "./redirectToMobileStateMachine-BBMAc2Gb.esm.js";
6
6
  //#region src/modules/redirect-to-mobile/redirectToMobileActor.ts
7
7
  const POLL_INTERVAL_MS = 5e3;
8
8
  const QR_REFRESH_INTERVAL_MS = 5e3;
@@ -74,7 +74,8 @@ function mapState(snapshot) {
74
74
  if (typedSnapshot.matches("closed")) return { status: "closed" };
75
75
  if (typedSnapshot.matches("error")) return {
76
76
  status: "error",
77
- error: context.error ?? "An error occurred"
77
+ error: context.error ?? "An error occurred",
78
+ moduleErrorCode: context.moduleErrorCode
78
79
  };
79
80
  return { status: "idle" };
80
81
  }
@@ -1,7 +1,7 @@
1
1
  import { i as ActorRefFrom } from "./spawn-D9jgw9pW.js";
2
2
  import { t as Manager } from "./Manager-C9T5amUN.js";
3
3
  import "./Actor-DpTj5PFb.js";
4
- import { n as RedirectToMobileServices, t as RedirectToMobileConfig } from "./types-DPIDuhut.js";
4
+ import { n as RedirectToMobileErrorCode, r as RedirectToMobileServices, t as RedirectToMobileConfig } from "./types-DNVzoRvi.js";
5
5
  //#region src/modules/redirect-to-mobile/redirectToMobileStateMachine.d.ts
6
6
  declare const redirectToMobileMachine: any;
7
7
  type RedirectToMobileMachine = typeof redirectToMobileMachine;
@@ -48,6 +48,8 @@ type RedirectToMobileClosedState = {
48
48
  type RedirectToMobileErrorState = {
49
49
  status: 'error';
50
50
  error: string;
51
+ /** Machine-readable code, forwarded as `onError`'s third argument. */
52
+ moduleErrorCode: RedirectToMobileErrorCode | undefined;
51
53
  };
52
54
  type RedirectToMobileState = RedirectToMobileIdleState | RedirectToMobileLoadingState | RedirectToMobileRedirectingState | RedirectToMobileFinishedState | RedirectToMobileContinueState | RedirectToMobileClosedState | RedirectToMobileErrorState;
53
55
  /**
@@ -1,8 +1,8 @@
1
- import { t as api, u as endpoints } from "./api-Cz90EHyu.esm.js";
1
+ import { t as api, u as endpoints } from "./api-BO8JA7Pf.esm.js";
2
2
  import { t as BrowserTimerProvider } from "./BrowserTimerProvider-BXhgNxLt.esm.js";
3
3
  import { i as assign, t as setup } from "./xstate.esm-DSajW7CJ.esm.js";
4
4
  import { n as fromPromise, t as fromCallback } from "./xstate-actors.esm-8Gzepa_A.esm.js";
5
- import { n as getUrlSearchParam, t as buildUrlWithSearchParams } from "./urlUtils-6jsE6rKp.esm.js";
5
+ import { n as getUrlSearchParam, r as resolveAgainstPageOrigin, t as buildUrlWithSearchParams } from "./urlUtils-eYiyWjh0.esm.js";
6
6
  //#region src/modules/redirect-to-mobile/redirectToMobileServices.ts
7
7
  async function fetchRedirectUrl(signal) {
8
8
  const res = await api.get(endpoints.onboardingUrl, { signal });
@@ -59,6 +59,14 @@ function buildRedirectUrl(baseUrl, customUrl, config, urlUuid) {
59
59
  url_uuid: urlUuid || void 0
60
60
  });
61
61
  }
62
+ const INVALID_URL_ERROR = "Invalid Redirect to Mobile URL. Use an absolute http or https URL.";
63
+ const ABSOLUTE_HTTP_URL = /^https?:\/\//i;
64
+ function withAbsoluteUrl(config) {
65
+ return config.url?.startsWith("/") ? {
66
+ ...config,
67
+ url: resolveAgainstPageOrigin(config.url)
68
+ } : config;
69
+ }
62
70
  function extractUuidFromUrl(url) {
63
71
  return getUrlSearchParam(url, "uuid") ?? "";
64
72
  }
@@ -132,6 +140,10 @@ const redirectToMobileMachine = setup({
132
140
  return { phonePrefix: event.output.phonePrefix };
133
141
  }),
134
142
  setError: assign(({ event }) => ({ error: String(event.error) })),
143
+ setInvalidUrlError: assign(() => ({
144
+ error: INVALID_URL_ERROR,
145
+ moduleErrorCode: "INVALID_REDIRECT_URL"
146
+ })),
135
147
  completeSmsSend: assign(() => {
136
148
  return {
137
149
  smsSent: true,
@@ -172,13 +184,14 @@ const redirectToMobileMachine = setup({
172
184
  },
173
185
  guards: {
174
186
  hasPhishingResistance: ({ context }) => context.config.qrPhishingResistance === true,
187
+ hasInvalidUrl: ({ context }) => context.config.url !== void 0 && !ABSOLUTE_HTTP_URL.test(context.config.url),
175
188
  canResendSms: ({ context }) => canResendSmsFromContext(context)
176
189
  }
177
190
  }).createMachine({
178
191
  id: "redirectToMobile",
179
192
  initial: "idle",
180
193
  context: ({ input }) => ({
181
- config: input.config,
194
+ config: withAbsoluteUrl(input.config),
182
195
  redirectUrl: "",
183
196
  fetchedBaseUrl: "",
184
197
  uuid: "",
@@ -188,10 +201,15 @@ const redirectToMobileMachine = setup({
188
201
  smsFailed: false,
189
202
  smsResendTimer: 0,
190
203
  smsResendTimerActive: false,
191
- error: void 0
204
+ error: void 0,
205
+ moduleErrorCode: void 0
192
206
  }),
193
207
  states: {
194
- idle: { on: { LOAD: "generatingUrl" } },
208
+ idle: { on: { LOAD: [{
209
+ target: "error",
210
+ guard: "hasInvalidUrl",
211
+ actions: "setInvalidUrlError"
212
+ }, { target: "generatingUrl" }] } },
195
213
  generatingUrl: { invoke: {
196
214
  id: "fetchRedirectUrl",
197
215
  src: "fetchRedirectUrl",
@@ -294,7 +312,10 @@ const redirectToMobileMachine = setup({
294
312
  },
295
313
  continue: { type: "final" },
296
314
  closed: { type: "final" },
297
- error: { on: { RETRY: "generatingUrl" } }
315
+ error: { on: { RETRY: [{
316
+ guard: "hasInvalidUrl",
317
+ actions: "setInvalidUrlError"
318
+ }, { target: "generatingUrl" }] } }
298
319
  }
299
320
  });
300
321
  //#endregion
@@ -1,6 +1,6 @@
1
- import { t as getTimestamp } from "./IBrowserEnvironmentCapability-DEaRRk-R.esm.js";
2
- import { w as createEventBus } from "./events-Du2A4-Qr.esm.js";
3
- import { a as notifyTrueSightManagerStopped, i as notifyTrueSightFlowEvent } from "./trueSightService-BMT-TubT.esm.js";
1
+ import { n as getTimestamp } from "./IBrowserEnvironmentCapability-D7JG7ML3.esm.js";
2
+ import { w as createEventBus } from "./events-CQteqXfy.esm.js";
3
+ import { a as notifyTrueSightManagerStopped, i as notifyTrueSightFlowEvent } from "./trueSightService-BujtUIW6.esm.js";
4
4
  import { s as createActor } from "./xstate.esm-DSajW7CJ.esm.js";
5
5
  import { t as fromCallback } from "./xstate-actors.esm-8Gzepa_A.esm.js";
6
6
  //#region src/internal/flow-events/flowEvents.ts
@@ -1,4 +1,4 @@
1
1
  //#region src/internal/version/sdkVersion.ts
2
- const SDK_VERSION = "2.4.0";
2
+ const SDK_VERSION = "2.4.1-agentic";
3
3
  //#endregion
4
4
  export { SDK_VERSION as t };
package/dist/selfie.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  import { t as IVisibilityObserverCapability } from "./IVisibilityObserverCapability-D4tvIB5v.js";
2
- import { _ as SelfieCaptureOnlyConfig, a as SelfieCaptureOnlyMachine, c as SelfieActor, g as processFace, h as ProcessFaceResponse, i as SelfieCaptureOnlyActor, l as SelfieMachine, n as FaceCaptureManagerState, o as selfieCaptureOnlyMachine, r as CreateSelfieCaptureOnlyActorOptions, t as FaceCaptureManager, u as selfieMachine, v as SelfieConfig } from "./faceCaptureManagerFactory-1hzeS_rB.js";
2
+ import { _ as SelfieCaptureOnlyConfig, a as SelfieCaptureOnlyMachine, c as SelfieActor, g as processFace, h as ProcessFaceResponse, i as SelfieCaptureOnlyActor, l as SelfieMachine, n as FaceCaptureManagerState, o as selfieCaptureOnlyMachine, r as CreateSelfieCaptureOnlyActorOptions, t as FaceCaptureManager, u as selfieMachine, v as SelfieConfig } from "./faceCaptureManagerFactory-C-xKdj-d.js";
3
3
  import { n as PermissionStatus, t as PermissionResult } from "./types-BEwVKkLJ.js";
4
- import { a as FaceCapturedImageData, i as FaceCaptureOnlyResponse, n as DetectionStatus, o as FaceErrorCode } from "./types-yPH8lAH-.js";
5
- import { n as DeepsightService } from "./StreamCanvasCapture-7JRf-2ck.js";
4
+ import { a as FaceCapturedImageData, i as FaceCaptureOnlyResponse, n as DetectionStatus, o as FaceErrorCode } from "./types--3HDl2SF.js";
5
+ import { n as DeepsightService } from "./StreamCanvasCapture-C3xNfOsv.js";
6
6
  import { t as CameraStream } from "./camera-9wWD-pwg.js";
7
- import { i as createSelfieManagerFromActor, n as SelfieState, r as createSelfieManager, t as SelfieManager } from "./selfieManager-BJdNu_nd.js";
7
+ import { i as createSelfieManagerFromActor, n as SelfieState, r as createSelfieManager, t as SelfieManager } from "./selfieManager-BMmpUii2.js";
8
8
  //#region src/modules/selfie/selfieCaptureOnlyManager.d.ts
9
9
  type SelfieCaptureOnlyState = FaceCaptureManagerState;
10
10
  type SelfieCaptureOnlyManager = FaceCaptureManager;
@@ -1,15 +1,15 @@
1
- import { u as BrowserStorageProvider } from "./setup-BInNAvQw.esm.js";
2
- import { t as WasmUtilProvider } from "./WasmUtilProvider-DtJuBdt-.esm.js";
3
- import { n as eventModuleNames } from "./events-Du2A4-Qr.esm.js";
1
+ import { u as BrowserStorageProvider } from "./setup-CDAKwTr7.esm.js";
2
+ import { t as WasmUtilProvider } from "./WasmUtilProvider-GTkoJyFY.esm.js";
3
+ import { n as eventModuleNames } from "./events-CQteqXfy.esm.js";
4
4
  import { s as createActor } from "./xstate.esm-DSajW7CJ.esm.js";
5
5
  import { n as fromPromise } from "./xstate-actors.esm-8Gzepa_A.esm.js";
6
- import { n as createDefaultProtectedFaceControllerActor, t as faceCaptureMachine } from "./faceCaptureSetup-TY8RXc2N.esm.js";
7
- import { t as createFaceCaptureManagerFromActor } from "./faceCaptureManagerFactory-BlGvXzXA.esm.js";
8
- import { c as processFace } from "./FaceDetectionProvider-DcPOC2gS.esm.js";
9
- import { o as PROTECTED_CAPTURE_TARGET } from "./createCameraCycleOwnership-Dj_LHUvN.esm.js";
10
- import { t as selfieMachine } from "./selfieStateMachine-BFVp3ElQ.esm.js";
11
- import { n as createSelfieManagerFromActor, t as createSelfieManager } from "./selfieManager-vAAwzsHk.esm.js";
12
- import { t as invokeOnCaptureCallback } from "./invokeOnCaptureCallback-DYrkOXO6.esm.js";
6
+ import { n as createDefaultProtectedFaceControllerActor, t as faceCaptureMachine } from "./faceCaptureSetup-BQjCbL51.esm.js";
7
+ import { t as createFaceCaptureManagerFromActor } from "./faceCaptureManagerFactory-CBm05KnT.esm.js";
8
+ import { s as processFace } from "./FaceDetectionProvider-B83VmClw.esm.js";
9
+ import { s as PROTECTED_CAPTURE_TARGET } from "./desktopCameraElection-kHY2IDJi.esm.js";
10
+ import { t as selfieMachine } from "./selfieStateMachine-B5m_Kn0O.esm.js";
11
+ import { n as createSelfieManagerFromActor, t as createSelfieManager } from "./selfieManager-Cbliomv7.esm.js";
12
+ import { t as invokeOnCaptureCallback } from "./invokeOnCaptureCallback-CXIBwBeE.esm.js";
13
13
  /**
14
14
  * Selfie state machine variant for the captureOnly flow. Shares the full base
15
15
  * face-capture state tree; only the upload/process step is local instead of
@@ -1,4 +1,4 @@
1
- import { d as FACE_ERROR_CODES } from "./FaceDetectionProvider-DcPOC2gS.esm.js";
1
+ import { u as FACE_ERROR_CODES } from "./FaceDetectionProvider-B83VmClw.esm.js";
2
2
  //#region src/modules/selfie/selfieErrorUtils.ts
3
3
  const FACE_ERROR_CODE_VALUES = Object.values(FACE_ERROR_CODES);
4
4
  const isFaceErrorCode = (value) => {
@@ -1,6 +1,6 @@
1
1
  import { t as Manager } from "./Manager-C9T5amUN.js";
2
2
  import { t as IVisibilityObserverCapability } from "./IVisibilityObserverCapability-D4tvIB5v.js";
3
- import { c as SelfieActor, n as FaceCaptureManagerState, s as CreateSelfieActorOptions, t as FaceCaptureManager } from "./faceCaptureManagerFactory-1hzeS_rB.js";
3
+ import { c as SelfieActor, n as FaceCaptureManagerState, s as CreateSelfieActorOptions, t as FaceCaptureManager } from "./faceCaptureManagerFactory-C-xKdj-d.js";
4
4
  //#region src/modules/selfie/selfieManager.d.ts
5
5
  type SelfieState = FaceCaptureManagerState;
6
6
  /**
@@ -1,9 +1,9 @@
1
- import { u as BrowserStorageProvider } from "./setup-BInNAvQw.esm.js";
2
- import { t as WasmUtilProvider } from "./WasmUtilProvider-DtJuBdt-.esm.js";
3
- import { n as eventModuleNames } from "./events-Du2A4-Qr.esm.js";
1
+ import { u as BrowserStorageProvider } from "./setup-CDAKwTr7.esm.js";
2
+ import { t as WasmUtilProvider } from "./WasmUtilProvider-GTkoJyFY.esm.js";
3
+ import { n as eventModuleNames } from "./events-CQteqXfy.esm.js";
4
4
  import { s as createActor } from "./xstate.esm-DSajW7CJ.esm.js";
5
- import { t as createFaceCaptureManagerFromActor } from "./faceCaptureManagerFactory-BlGvXzXA.esm.js";
6
- import { t as selfieMachine } from "./selfieStateMachine-BFVp3ElQ.esm.js";
5
+ import { t as createFaceCaptureManagerFromActor } from "./faceCaptureManagerFactory-CBm05KnT.esm.js";
6
+ import { t as selfieMachine } from "./selfieStateMachine-B5m_Kn0O.esm.js";
7
7
  //#region src/modules/selfie/selfieActor.ts
8
8
  function createSelfieActor(options) {
9
9
  const dependencies = options.dependencies ?? {
@@ -1,8 +1,8 @@
1
1
  import { i as assign } from "./xstate.esm-DSajW7CJ.esm.js";
2
2
  import { n as fromPromise } from "./xstate-actors.esm-8Gzepa_A.esm.js";
3
- import { t as faceCaptureMachine } from "./faceCaptureSetup-TY8RXc2N.esm.js";
4
- import { c as processFace, d as FACE_ERROR_CODES, f as isOnDeviceMode } from "./FaceDetectionProvider-DcPOC2gS.esm.js";
5
- import { n as validateUploadResponse } from "./selfieErrorUtils-BY0-YbPW.esm.js";
3
+ import { t as faceCaptureMachine } from "./faceCaptureSetup-BQjCbL51.esm.js";
4
+ import { d as isOnDeviceMode, s as processFace, u as FACE_ERROR_CODES } from "./FaceDetectionProvider-B83VmClw.esm.js";
5
+ import { n as validateUploadResponse } from "./selfieErrorUtils-BL0BLMnp.esm.js";
6
6
  /**
7
7
  * The selfie capture state machine.
8
8
  *
@@ -1,7 +1,7 @@
1
- import { n as getApi, u as endpoints } from "./api-Cz90EHyu.esm.js";
2
- import { u as trueSightLog, x as noteSessionCreated } from "./trueSightService-BMT-TubT.esm.js";
3
- import "./sessionInitializer-BTjYgE-V.esm.js";
4
- import { i as toIncodeApiError } from "./apiError-DPwFas2f.esm.js";
1
+ import { n as getApi, u as endpoints } from "./api-BO8JA7Pf.esm.js";
2
+ import { u as trueSightLog, x as noteSessionCreated } from "./trueSightService-BujtUIW6.esm.js";
3
+ import "./sessionInitializer-CWFT4dfw.esm.js";
4
+ import { i as toIncodeApiError } from "./apiError-CfuIvnUy.esm.js";
5
5
  //#region src/internal/session/sessionService.ts
6
6
  /**
7
7
  * HTTP status codes the QR validation endpoint emits, keyed by their semantic
@@ -14,6 +14,18 @@ const QR_VALIDATION_ERROR_CODES = {
14
14
  invalidQRuuid: 4081,
15
15
  onboardingUrlAlreadyUsed: 4083
16
16
  };
17
+ /**
18
+ * Incode status codes `POST /omni/session/continue` rejects a handoff link
19
+ * with (as `IncodeApiError.status`). Trying again does not help: the same link
20
+ * fails the same way.
21
+ */
22
+ const SESSION_CONTINUE_ERROR_CODES = {
23
+ invalidUuid: 4026,
24
+ invalidQrValidation: 4081,
25
+ continuationPeriodExpired: 4086,
26
+ continuationLimitReached: 4087,
27
+ sessionNotActive: 4088
28
+ };
17
29
  var QrValidationError = class extends Error {
18
30
  constructor(status, statusText) {
19
31
  super(`POST ${endpoints.qrValidateUuid} failed: ${status} ${statusText}`);
@@ -23,7 +35,14 @@ var QrValidationError = class extends Error {
23
35
  }
24
36
  };
25
37
  /**
26
- * Creates a new onboarding session.
38
+ * Creates a new onboarding session, or continues an existing one when
39
+ * `options.uuid` is set (see {@link CreateSessionOptions.uuid}).
40
+ *
41
+ * The server allows a limited number of continues (a server setting, two by
42
+ * default), within 48 hours of the session start. Each successful call with a
43
+ * `uuid` spends one, a reload of the handoff link included. A refused continue
44
+ * throws an `IncodeApiError` whose `status` is one of
45
+ * {@link SESSION_CONTINUE_ERROR_CODES}.
27
46
  *
28
47
  * @param apiKey - The API key from the Incode dashboard
29
48
  * @param options - Session creation options
@@ -40,6 +59,17 @@ var QrValidationError = class extends Error {
40
59
  * ```
41
60
  */
42
61
  async function createSession(apiKey, options, signal) {
62
+ if (options.uuid) {
63
+ const session = await continueSession(apiKey, {
64
+ uuid: options.uuid,
65
+ urlUuid: options.urlUuid
66
+ }, signal);
67
+ noteSessionCreated(session, {
68
+ configurationId: options.configurationId,
69
+ language: options.language
70
+ });
71
+ return session;
72
+ }
43
73
  try {
44
74
  const session = (await getApi().post(endpoints.createSession, {
45
75
  configurationId: options.configurationId,
@@ -47,7 +77,6 @@ async function createSession(apiKey, options, signal) {
47
77
  externalCustomerId: options.externalCustomerId,
48
78
  language: options.language ?? "en-US",
49
79
  customFields: options.customFields,
50
- uuid: options.uuid ?? null,
51
80
  urlUuid: options.urlUuid ?? null,
52
81
  interviewId: options.interviewId ?? null,
53
82
  ...options.loginHint != null && options.loginHint !== "" ? { loginHint: options.loginHint } : {}
@@ -71,6 +100,45 @@ async function createSession(apiKey, options, signal) {
71
100
  }
72
101
  }
73
102
  /**
103
+ * Continues the session behind a desktop→mobile handoff link through
104
+ * `POST /omni/session/continue`. Only `uuid` and `urlUuid` are sent, and the
105
+ * response `sessionId` is returned as `interviewId`. `createSession` and
106
+ * `bootstrapSession` call it when `uuid` is set.
107
+ *
108
+ * Each successful call spends one continue. A refused continue throws an
109
+ * `IncodeApiError` whose `status` is one of {@link SESSION_CONTINUE_ERROR_CODES}.
110
+ *
111
+ * @param apiKey - The API key from the Incode dashboard
112
+ * @param options - The handoff link's `uuid` and `urlUuid`
113
+ * @param signal - Optional AbortSignal for request cancellation
114
+ * @returns The continued session with token
115
+ */
116
+ async function continueSession(apiKey, options, signal) {
117
+ try {
118
+ const { sessionId, token, endScreenTitle, endScreenText } = (await getApi().post(endpoints.sessionContinue, {
119
+ uuid: options.uuid,
120
+ urlUuid: options.urlUuid ?? null
121
+ }, {
122
+ headers: {
123
+ "x-api-key": apiKey,
124
+ "api-version": "1.0"
125
+ },
126
+ signal
127
+ })).data;
128
+ const session = {
129
+ token,
130
+ interviewId: sessionId,
131
+ endScreenTitle,
132
+ endScreenText
133
+ };
134
+ noteSessionCreated(session);
135
+ trueSightLog("info", "session", "orchestration", "session continued");
136
+ return session;
137
+ } catch (error) {
138
+ toIncodeApiError(endpoints.sessionContinue, error);
139
+ }
140
+ }
141
+ /**
74
142
  * Validates and rotates a QR anti-phishing URL UUID before creating a session.
75
143
  *
76
144
  * This call is unauthenticated; the `{ onboardingId, urlUuid }` pair itself
@@ -121,8 +189,8 @@ async function refreshQrUrlUuid(options, signal) {
121
189
  }
122
190
  /**
123
191
  * Validates and rotates a QR anti-phishing `urlUuid` (when present), then
124
- * creates a session bound to the refreshed value. When `urlUuid` is absent,
125
- * behaves identically to {@link createSession}.
192
+ * creates (or, with `uuid`, continues) a session bound to the refreshed value.
193
+ * When `urlUuid` is absent, behaves identically to {@link createSession}.
126
194
  *
127
195
  * Use this when the host owns session creation and wants the SDK to handle
128
196
  * phishing-resistance rotation in a single call. For raw control, compose
@@ -156,4 +224,4 @@ async function bootstrapSession(apiKey, options, signal) {
156
224
  }, signal);
157
225
  }
158
226
  //#endregion
159
- export { refreshQrUrlUuid as a, createSession as i, QrValidationError as n, validateQrUuid as o, bootstrapSession as r, QR_VALIDATION_ERROR_CODES as t };
227
+ export { continueSession as a, validateQrUuid as c, bootstrapSession as i, QrValidationError as n, createSession as o, SESSION_CONTINUE_ERROR_CODES as r, refreshQrUrlUuid as s, QR_VALIDATION_ERROR_CODES as t };