@incodetech/core 2.4.1-agentic → 2.4.1-agentic.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. package/dist/BrowserNetworkStatusProvider-BrDXBEDd.esm.js +21 -0
  2. package/dist/{multipartRecordingService-DMBxHKS2.esm.js → CameraCompositor-DN7NkJzV.esm.js} +7 -734
  3. package/dist/{FaceDetectionProvider-B83VmClw.esm.js → FaceDetectionProvider-CAY43vSI.esm.js} +11 -12
  4. package/dist/MultipartRecordingProvider-D9mauUdS.esm.js +146 -0
  5. package/dist/StreamCanvasProcessingSession-CBnbTnOr.esm.js +42 -0
  6. package/dist/{WasmUtilProvider-GTkoJyFY.esm.js → WasmUtilProvider-Dp2V-Uct.esm.js} +2 -2
  7. package/dist/WorkerEncoderRecordingProvider-B1ODYtgN.esm.js +80 -0
  8. package/dist/{addressSearch-41sMcnJk.esm.js → addressSearch-DzbE9Ogt.esm.js} +2 -352
  9. package/dist/ae-signature.esm.js +1 -1
  10. package/dist/antifraud.esm.js +2 -2
  11. package/dist/{antifraudManager-CQ08atTC.esm.js → antifraudManager-BObuHBjn.esm.js} +2 -2
  12. package/dist/{antifraudStateMachine-BcsUTTIr.esm.js → antifraudStateMachine-Dfrd2-26.esm.js} +1 -1
  13. package/dist/{api-BO8JA7Pf.esm.js → api-CpP4PS4S.esm.js} +2 -0
  14. package/dist/{apiError-CfuIvnUy.esm.js → apiError-DH-CH4Nz.esm.js} +1 -1
  15. package/dist/{attemptCarry-BjTJ6bMQ.esm.js → attemptCarry-WOkfvFMw.esm.js} +2 -2
  16. package/dist/authentication.d.ts +3 -3
  17. package/dist/authentication.esm.js +2 -2
  18. package/dist/{authenticationManager-C-cOki0Y.d.ts → authenticationManager-CWmh7aSY.d.ts} +1 -1
  19. package/dist/{authenticationManager-DvmklBTE.esm.js → authenticationManager-DjX0XDyH.esm.js} +5 -5
  20. package/dist/{authenticationStateMachine-BL2ptOA0.esm.js → authenticationStateMachine-BMbZL8wm.esm.js} +3 -3
  21. package/dist/backCameraLabel-yda5ugE4.esm.js +67 -0
  22. package/dist/{backCameraStream-C5_NNfUN.esm.js → backCameraStream-DS1oDiUq.esm.js} +10 -65
  23. package/dist/camera.d.ts +2 -2
  24. package/dist/camera.esm.js +1 -1
  25. package/dist/certificate-issuance.esm.js +2 -2
  26. package/dist/{certificateIssuanceManager-CM0fuqDC.esm.js → certificateIssuanceManager-C1nETQos.esm.js} +2 -2
  27. package/dist/{certificateIssuanceStateMachine-kksIUOPD.esm.js → certificateIssuanceStateMachine-DThXMDqr.esm.js} +1 -1
  28. package/dist/{connectivity-HSl0diCx.esm.js → connectivity-BCuEoQ-n.esm.js} +2 -21
  29. package/dist/consent.d.ts +1 -1
  30. package/dist/consent.esm.js +2 -2
  31. package/dist/{consentManager-CBwFozhv.esm.js → consentManager-DMlSL6Ax.esm.js} +2 -2
  32. package/dist/{consentManager-_q9yJUku.d.ts → consentManager-bjfVXO7p.d.ts} +9 -9
  33. package/dist/{consentStateMachine-CpmRAcr2.esm.js → consentStateMachine-DIYSMxKQ.esm.js} +1 -1
  34. package/dist/cross-document-data-match.esm.js +1 -1
  35. package/dist/{crossDocumentDataMatchManager-64O8t10a.esm.js → crossDocumentDataMatchManager-BFTdiEDB.esm.js} +2 -2
  36. package/dist/curp-validation.d.ts +1 -1
  37. package/dist/curp-validation.esm.js +2 -2
  38. package/dist/{curpValidationManager-CLgJQcx0.esm.js → curpValidationManager-DNpC3wyf.esm.js} +2 -2
  39. package/dist/{curpValidationManager-CXpFE-Mv.d.ts → curpValidationManager-z8428oCM.d.ts} +1 -1
  40. package/dist/{curpValidationStateMachine-Bx9YhVkJ.esm.js → curpValidationStateMachine-B3iVsDyt.esm.js} +2 -2
  41. package/dist/custom-fields.esm.js +1 -1
  42. package/dist/custom-watchlist.esm.js +2 -2
  43. package/dist/{customFieldsManager-DWt_0YtJ.esm.js → customFieldsManager-CvI-pDT3.esm.js} +2 -2
  44. package/dist/{customWatchlistManager-D8o-2Nej.esm.js → customWatchlistManager-BuHtUb0y.esm.js} +2 -2
  45. package/dist/{customWatchlistStateMachine-Sbi6DIcK.esm.js → customWatchlistStateMachine-CiVD9wyF.esm.js} +1 -1
  46. package/dist/{deepsightService-twg3bXqY.esm.js → deepsightLoader-B7DEYoyY.esm.js} +34 -29
  47. package/dist/{desktopCameraElection-kHY2IDJi.esm.js → desktopCameraElection-BGMtYwk3.esm.js} +5 -5
  48. package/dist/document-capture.d.ts +3 -3
  49. package/dist/document-capture.esm.js +2 -2
  50. package/dist/{documentCaptureManager-6tnnDkMX.d.ts → documentCaptureManager-CD5iQiUI.d.ts} +24 -3
  51. package/dist/{documentCaptureManager-CMSC_Mhd.esm.js → documentCaptureManager-DLPqruXJ.esm.js} +3 -2
  52. package/dist/{documentCaptureStateMachine-BCwD5Rto.esm.js → documentCaptureStateMachine-DCvWQhFG.esm.js} +67 -26
  53. package/dist/dynamic-forms.esm.js +2 -2
  54. package/dist/{dynamicFormsManager-DU6W1e20.esm.js → dynamicFormsManager-DfqCEPg9.esm.js} +2 -2
  55. package/dist/{dynamicFormsStateMachine-C8Z7k3vo.esm.js → dynamicFormsStateMachine-USQMB-uV.esm.js} +2 -2
  56. package/dist/ekyb.d.ts +4 -4
  57. package/dist/ekyb.esm.js +3 -3
  58. package/dist/{ekybManager-TB6ZG5lX.d.ts → ekybManager-BLOkwmWO.d.ts} +2 -2
  59. package/dist/{ekybManager-TGfqyjuu.esm.js → ekybManager-CR8YSYux.esm.js} +2 -2
  60. package/dist/{ekybStateMachine-DBgFuEPK.esm.js → ekybStateMachine-kHwdz6hm.esm.js} +5 -3
  61. package/dist/ekybUtils-Cw8Ta9Qi.esm.js +140 -0
  62. package/dist/ekyc.d.ts +3 -2
  63. package/dist/ekyc.esm.js +3 -3
  64. package/dist/{ekycManager-BSQteIfC.d.ts → ekycManager-DlGIn9wA.d.ts} +2 -1
  65. package/dist/{ekycManager-C2cgG2Pl.esm.js → ekycManager-DymCvmVB.esm.js} +2 -2
  66. package/dist/{ekycStateMachine-CuNF7z4O.esm.js → ekycStateMachine-CoFCUJ2z.esm.js} +141 -68
  67. package/dist/{ekycUtils-BFncpC4F.esm.js → ekycUtils-GRuMELYr.esm.js} +80 -9
  68. package/dist/electronic-signature.esm.js +1 -1
  69. package/dist/{electronicSignatureManager-C7pqXsRm.esm.js → electronicSignatureManager-BCE3uA3z.esm.js} +3 -3
  70. package/dist/email.esm.js +2 -2
  71. package/dist/{emailManager-FH_CP0cT.esm.js → emailManager-CGoE3CUe.esm.js} +2 -2
  72. package/dist/{emailStateMachine-Cx-uTaBV.esm.js → emailStateMachine-KgHfDNvM.esm.js} +2 -2
  73. package/dist/{events-CQteqXfy.esm.js → events-ggpBBaZ8.esm.js} +1 -1
  74. package/dist/events.esm.js +1 -1
  75. package/dist/extensibility.d.ts +15 -14
  76. package/dist/extensibility.esm.js +36 -35
  77. package/dist/face-match.esm.js +2 -2
  78. package/dist/{faceCaptureManagerFactory-C-xKdj-d.d.ts → faceCaptureManagerFactory-DV2ULUYS.d.ts} +3 -3
  79. package/dist/{faceCaptureManagerFactory-CBm05KnT.esm.js → faceCaptureManagerFactory-Dp90bedH.esm.js} +4 -4
  80. package/dist/{faceCaptureSetup-BQjCbL51.esm.js → faceCaptureSetup-ZfiWg0fo.esm.js} +12 -403
  81. package/dist/{faceMatchManager-B2zp7yP4.esm.js → faceMatchManager-D2xKPjjQ.esm.js} +2 -2
  82. package/dist/{faceMatchStateMachine-ByTMQCUC.esm.js → faceMatchStateMachine-CUvwiQi9.esm.js} +2 -2
  83. package/dist/{feature-management-DjAG5lsJ.esm.js → feature-management-BbCIA4og.esm.js} +35 -21
  84. package/dist/feature-management.esm.js +1 -1
  85. package/dist/field-comparison.esm.js +1 -1
  86. package/dist/{fieldComparisonManager-CC0vKmpf.esm.js → fieldComparisonManager-DgDbEeFZ.esm.js} +2 -2
  87. package/dist/fiscal-qr.esm.js +1 -1
  88. package/dist/{fiscalQrManager-Be-r4oZj.esm.js → fiscalQrManager-BZeklojR.esm.js} +3 -3
  89. package/dist/flow-events.d.ts +1 -1
  90. package/dist/flow.d.ts +8 -8
  91. package/dist/flow.esm.js +10 -6
  92. package/dist/{flowCompletionService-ChMU2v79.esm.js → flowCompletionService-CcCnPs_T.esm.js} +2 -2
  93. package/dist/{flowServices-g2tVWsJl.esm.js → flowServices-Dmnc8Rye.esm.js} +69 -143
  94. package/dist/geolocation.esm.js +2 -2
  95. package/dist/{geolocationManager-DLbvZwUB.esm.js → geolocationManager-BJJ3m_I8.esm.js} +2 -2
  96. package/dist/{geolocationStateMachine-CAJVongM.esm.js → geolocationStateMachine-CTI3m4Ie.esm.js} +3 -3
  97. package/dist/government-validation.esm.js +2 -2
  98. package/dist/{governmentValidationManager-CkX9TEkh.esm.js → governmentValidationManager-CjChjZ3C.esm.js} +2 -2
  99. package/dist/{governmentValidationStateMachine-PTPCP26N.esm.js → governmentValidationStateMachine-AEbn3Afi.esm.js} +1 -1
  100. package/dist/home.d.ts +1 -1
  101. package/dist/home.esm.js +1 -1
  102. package/dist/http.esm.js +1 -1
  103. package/dist/id-ocr.d.ts +1 -1
  104. package/dist/id-ocr.esm.js +2 -2
  105. package/dist/id-selfie-flow.d.ts +1 -1
  106. package/dist/id-selfie-flow.esm.js +10 -9
  107. package/dist/id-verification.esm.js +2 -2
  108. package/dist/id.d.ts +3 -3
  109. package/dist/id.esm.js +4 -4
  110. package/dist/{idCaptureDefaults-MSQoqScU.esm.js → idCaptureDefaults-Dszuq9ng.esm.js} +3 -3
  111. package/dist/{idCaptureManager-zZdTcpG1.esm.js → idCaptureManager-B3oR4RnA.esm.js} +9 -8
  112. package/dist/{idCaptureManager-DzTfQ1Am.d.ts → idCaptureManager-CCA2D1Ah.d.ts} +5 -3
  113. package/dist/{idCaptureServices-8OHinO0N.esm.js → idCaptureServices-DK0QboqT.esm.js} +27 -196
  114. package/dist/{idCaptureStateMachine-B3G6XoDG.esm.js → idCaptureStateMachine-zzar9MPy.esm.js} +20 -20
  115. package/dist/{idOcrManager-DT3kPIB3.d.ts → idOcrManager-BTdHlJ9D.d.ts} +1 -1
  116. package/dist/{idOcrManager-B64-fjWg.esm.js → idOcrManager-xyEZNOBa.esm.js} +2 -2
  117. package/dist/{idOcrStateMachine-B1aZnobs.esm.js → idOcrStateMachine-DNKXh4Rn.esm.js} +1 -1
  118. package/dist/{idVerificationManager-_Kebv-Ue.esm.js → idVerificationManager-DdnvYfgN.esm.js} +2 -2
  119. package/dist/{idVerificationStateMachine-DQn6c84z.esm.js → idVerificationStateMachine-DtIBCa32.esm.js} +1 -1
  120. package/dist/identity-reuse.esm.js +2 -2
  121. package/dist/{identityReuseManager-DDXkNVZi.esm.js → identityReuseManager-CcpovlfD.esm.js} +2 -2
  122. package/dist/{identityReuseStateMachine-Bcnkbjf8.esm.js → identityReuseStateMachine-DxZFWy47.esm.js} +1 -1
  123. package/dist/{index-DMDAk85K.d.ts → index-DC0P2Vzw.d.ts} +1 -1
  124. package/dist/index.esm.js +1 -1
  125. package/dist/{invokeOnCaptureCallback-CXIBwBeE.esm.js → invokeOnCaptureCallback-BJ0GVHGr.esm.js} +1 -1
  126. package/dist/kyb-checks.d.ts +3 -0
  127. package/dist/kyb-checks.esm.js +3 -0
  128. package/dist/kybChecksManager-CblEL97E.d.ts +95 -0
  129. package/dist/kybChecksManager-DpGOp4Su.esm.js +89 -0
  130. package/dist/kybChecksStateMachine-B43NAnv7.esm.js +718 -0
  131. package/dist/mandatory-consent.d.ts +2 -2
  132. package/dist/mandatory-consent.esm.js +2 -2
  133. package/dist/{mandatoryConsentManager-43W5d_8G.esm.js → mandatoryConsentManager-B4vCYslr.esm.js} +2 -2
  134. package/dist/{mandatoryConsentManager-xx3mY-xw.d.ts → mandatoryConsentManager-B88Sm5nd.d.ts} +6 -6
  135. package/dist/{mandatoryConsentStateMachine-CVlgdlnt.esm.js → mandatoryConsentStateMachine-DWslYPA3.esm.js} +1 -1
  136. package/dist/mediaRecorderOptions-B9-IEVtV.esm.js +70 -0
  137. package/dist/multipartRecordingService-BTqkHGG9.esm.js +407 -0
  138. package/dist/{permissionGuards-B3OPL8Si.esm.js → permissionGuards-DFV-Ws0a.esm.js} +1 -1
  139. package/dist/{permissionServices-DnBAN_hW.esm.js → permissionServices-D190ATGD.esm.js} +8 -6
  140. package/dist/phone.esm.js +2 -2
  141. package/dist/phoneFormat-JJNaWthV.esm.js +75 -0
  142. package/dist/{phoneManager-C6jut_pz.esm.js → phoneManager-Dy5tODCU.esm.js} +3 -3
  143. package/dist/phoneServices-DJgyOzU2.esm.js +77 -0
  144. package/dist/{phoneStateMachine-T1-drWfG.esm.js → phoneStateMachine-DnlPhnw7.esm.js} +20 -60
  145. package/dist/{processFaceMatch-BWme3kVV.esm.js → processFaceMatch-Bst83HaS.esm.js} +1 -1
  146. package/dist/qe-signature.esm.js +1 -1
  147. package/dist/recordingService-CTko6Cjn.esm.js +397 -0
  148. package/dist/redirect-to-mobile.esm.js +2 -2
  149. package/dist/{redirectToMobileManager-BJXC6Kx9.esm.js → redirectToMobileManager-CgGaT2NP.esm.js} +3 -3
  150. package/dist/{redirectToMobileStateMachine-BBMAc2Gb.esm.js → redirectToMobileStateMachine-CbhN8uVN.esm.js} +39 -21
  151. package/dist/resolveForm-O7-r79VA.esm.js +351 -0
  152. package/dist/{runChildModule-DPHTqSdF.esm.js → runChildModule-BffFArwl.esm.js} +2 -2
  153. package/dist/{sdkVersion-C3_P-Qbq.esm.js → sdkVersion-CDd_gaR7.esm.js} +1 -1
  154. package/dist/selfie.d.ts +3 -3
  155. package/dist/selfie.esm.js +10 -10
  156. package/dist/{selfieErrorUtils-BL0BLMnp.esm.js → selfieErrorUtils-f4MgAG2A.esm.js} +1 -1
  157. package/dist/{selfieManager-BMmpUii2.d.ts → selfieManager-DmZFzs1-.d.ts} +1 -1
  158. package/dist/{selfieManager-Cbliomv7.esm.js → selfieManager-hopelYEk.esm.js} +5 -5
  159. package/dist/{selfieStateMachine-B5m_Kn0O.esm.js → selfieStateMachine-DaZIVv3Q.esm.js} +3 -3
  160. package/dist/{session-DAaAewMX.esm.js → session-CdSX4wsZ.esm.js} +4 -4
  161. package/dist/session.d.ts +1 -1
  162. package/dist/session.esm.js +6 -6
  163. package/dist/{sessionInitializer-CWFT4dfw.esm.js → sessionInitializer-DsL7X2j9.esm.js} +83 -24
  164. package/dist/{setup-CDAKwTr7.esm.js → setup-DDahygZs.esm.js} +28 -27
  165. package/dist/signature.esm.js +2 -2
  166. package/dist/{signatureManager-BeEVCcsC.esm.js → signatureManager-CwqjcxPg.esm.js} +2 -2
  167. package/dist/{signatureStateMachine-_1c1vSid.esm.js → signatureStateMachine-DBVDd1Eu.esm.js} +1 -1
  168. package/dist/{stats-BpMz-hTP.esm.js → stats-CatA2dea.esm.js} +1 -1
  169. package/dist/stats.esm.js +1 -1
  170. package/dist/textRules-D4NRinKY.d.ts +41 -0
  171. package/dist/{tri-BajQnjbf.esm.js → tri-DG6priFa.esm.js} +1 -1
  172. package/dist/tri.esm.js +1 -1
  173. package/dist/{trueSightService-BujtUIW6.esm.js → trueSightService-GuLthUVK.esm.js} +4 -4
  174. package/dist/trust-graph.esm.js +1 -1
  175. package/dist/{types--3HDl2SF.d.ts → types-BEVHQbbC.d.ts} +1 -1
  176. package/dist/{types-xEEWCx1j.d.ts → types-BPm1JSu7.d.ts} +1 -1
  177. package/dist/{types-C397LhmN.d.ts → types-BgRHw-dR.d.ts} +1 -1
  178. package/dist/{types-DuD8TRJU.d.ts → types-CRaFu6wS.d.ts} +4 -2
  179. package/dist/types-CTaL0XJz.d.ts +80 -0
  180. package/dist/{types-PTZHRhGX.d.ts → types-Cd0J0F9D.d.ts} +1 -1
  181. package/dist/{types-e8fCsvvk.d.ts → types-Csh8vzPo.d.ts} +1 -1
  182. package/dist/{types-B2FK_wYb.d.ts → types-CuMJ2M7D.d.ts} +2 -41
  183. package/dist/{types-ZTZelfbM.d.ts → types-CyNndVAT.d.ts} +14 -6
  184. package/dist/types-J6g6iKe_.d.ts +6 -0
  185. package/dist/video-selfie.d.ts +1 -1
  186. package/dist/video-selfie.esm.js +9 -7
  187. package/dist/{videoSelfieCameraWarmer-DjkPpoj_.esm.js → videoSelfieCameraWarmer-e3irGfcO.esm.js} +8 -8
  188. package/dist/{videoSelfieStepDetector-RfSmlFFW.d.ts → videoSelfieStepDetector-Dv3Mgws-.d.ts} +2 -2
  189. package/dist/virtualCameraCheck-eFOm2C9q.esm.js +27 -0
  190. package/dist/{warmup-BkfxQZsC.esm.js → warmup-DtB0DJpl.esm.js} +24 -17
  191. package/dist/wasm.esm.js +3 -3
  192. package/dist/{wasmDsFlagSync-BhU5H2oR.esm.js → wasmDsFlagSync-BtiR5pig.esm.js} +1 -1
  193. package/dist/{wasmWebClient-DTj9auyA.esm.js → wasmWebClient-BDrax6Eu.esm.js} +12 -9
  194. package/dist/watchlist-for-business.esm.js +2 -2
  195. package/dist/watchlist.esm.js +2 -2
  196. package/dist/{watchlistForBusinessManager-CVay6-9A.esm.js → watchlistForBusinessManager-DqUpAEj_.esm.js} +2 -2
  197. package/dist/{watchlistForBusinessStateMachine-DA6K5na4.esm.js → watchlistForBusinessStateMachine-DdaPl2PS.esm.js} +1 -1
  198. package/dist/{watchlistManager-B8gQ_rw3.esm.js → watchlistManager-CdpXzT4B.esm.js} +2 -2
  199. package/dist/{watchlistStateMachine-CSi_ZhtT.esm.js → watchlistStateMachine-ofHW_lPk.esm.js} +1 -1
  200. package/dist/workflow.d.ts +1 -1
  201. package/dist/workflow.esm.js +42 -42
  202. package/package.json +11 -5
  203. package/dist/deepsightLoader-DMxtowCm.esm.js +0 -33
  204. package/dist/types-D9r3zRfY.d.ts +0 -6
@@ -1,37 +1,38 @@
1
- import { u as BrowserStorageProvider } from "./setup-CDAKwTr7.esm.js";
2
- import { t as WasmUtilProvider } from "./WasmUtilProvider-GTkoJyFY.esm.js";
3
- import { v as getFingerprint, y as getDeviceFingerprintInfo } from "./sessionInitializer-CWFT4dfw.esm.js";
1
+ import { u as BrowserStorageProvider } from "./setup-DDahygZs.esm.js";
2
+ import { t as WasmUtilProvider } from "./WasmUtilProvider-Dp2V-Uct.esm.js";
3
+ import { b as getDeviceFingerprintInfo, y as getFingerprint } from "./sessionInitializer-DsL7X2j9.esm.js";
4
4
  import { s as createActor } from "./xstate.esm-DSajW7CJ.esm.js";
5
5
  import { n as fromPromise, t as fromCallback } from "./xstate-actors.esm-8Gzepa_A.esm.js";
6
- import { n as createElectronicSignatureManagerFromActor } from "./electronicSignatureManager-C7pqXsRm.esm.js";
7
- import { n as createAntifraudManagerFromActor } from "./antifraudManager-CQ08atTC.esm.js";
8
- import { t as faceCaptureMachine } from "./faceCaptureSetup-BQjCbL51.esm.js";
9
- import { n as createAuthenticationManagerFromActor } from "./authenticationManager-DvmklBTE.esm.js";
10
- import { n as createCertificateIssuanceManagerFromActor } from "./certificateIssuanceManager-CM0fuqDC.esm.js";
11
- import { n as createConsentManagerFromActor } from "./consentManager-CBwFozhv.esm.js";
12
- import { n as createCrossDocumentDataMatchManagerFromActor } from "./crossDocumentDataMatchManager-64O8t10a.esm.js";
13
- import { n as createCurpValidationManagerFromActor } from "./curpValidationManager-CLgJQcx0.esm.js";
14
- import { n as createCustomFieldsManagerFromActor } from "./customFieldsManager-DWt_0YtJ.esm.js";
15
- import { n as createCustomWatchlistManagerFromActor } from "./customWatchlistManager-D8o-2Nej.esm.js";
16
- import { n as createDocumentCaptureManagerFromActor } from "./documentCaptureManager-CMSC_Mhd.esm.js";
17
- import { n as createDynamicFormsManagerFromActor } from "./dynamicFormsManager-DU6W1e20.esm.js";
18
- import { n as createEkybManagerFromActor } from "./ekybManager-TGfqyjuu.esm.js";
19
- import { n as createEkycManagerFromActor } from "./ekycManager-C2cgG2Pl.esm.js";
20
- import { n as createEmailManagerFromActor } from "./emailManager-FH_CP0cT.esm.js";
21
- import { n as createSelfieManagerFromActor } from "./selfieManager-Cbliomv7.esm.js";
22
- import { s as createIdCaptureManagerFromActor } from "./idCaptureManager-zZdTcpG1.esm.js";
23
- import { n as createPhoneManagerFromActor } from "./phoneManager-C6jut_pz.esm.js";
24
- import { n as createWatchlistManagerFromActor } from "./watchlistManager-B8gQ_rw3.esm.js";
25
- import { n as createWatchlistForBusinessManagerFromActor } from "./watchlistForBusinessManager-CVay6-9A.esm.js";
26
- import { n as createIdentityReuseManagerFromActor } from "./identityReuseManager-DDXkNVZi.esm.js";
27
- import { n as createFieldComparisonManagerFromActor } from "./fieldComparisonManager-CC0vKmpf.esm.js";
28
- import { n as createMandatoryConsentManagerFromActor } from "./mandatoryConsentManager-43W5d_8G.esm.js";
29
- import { n as createIdOcrManagerFromActor } from "./idOcrManager-B64-fjWg.esm.js";
30
- import { n as createRedirectToMobileManagerFromActor } from "./redirectToMobileManager-BJXC6Kx9.esm.js";
31
- import { n as createSignatureManagerFromActor } from "./signatureManager-BeEVCcsC.esm.js";
32
- import { n as createGeolocationManagerFromActor } from "./geolocationManager-DLbvZwUB.esm.js";
33
- import { n as createGovernmentValidationManagerFromActor } from "./governmentValidationManager-CkX9TEkh.esm.js";
34
- import { n as createIdVerificationManagerFromActor } from "./idVerificationManager-_Kebv-Ue.esm.js";
35
- import { n as createFaceMatchManagerFromActor } from "./faceMatchManager-B2zp7yP4.esm.js";
36
- import { n as createFiscalQrManagerFromActor } from "./fiscalQrManager-Be-r4oZj.esm.js";
37
- export { BrowserStorageProvider, WasmUtilProvider, createActor, createAntifraudManagerFromActor, createAuthenticationManagerFromActor, createCertificateIssuanceManagerFromActor, createConsentManagerFromActor, createCrossDocumentDataMatchManagerFromActor, createCurpValidationManagerFromActor, createCustomFieldsManagerFromActor, createCustomWatchlistManagerFromActor, createDocumentCaptureManagerFromActor, createDynamicFormsManagerFromActor, createEkybManagerFromActor, createEkycManagerFromActor, createElectronicSignatureManagerFromActor, createEmailManagerFromActor, createFaceMatchManagerFromActor, createFieldComparisonManagerFromActor, createFiscalQrManagerFromActor, createGeolocationManagerFromActor, createGovernmentValidationManagerFromActor, createIdCaptureManagerFromActor, createIdOcrManagerFromActor, createIdVerificationManagerFromActor, createIdentityReuseManagerFromActor, createMandatoryConsentManagerFromActor, createPhoneManagerFromActor, createRedirectToMobileManagerFromActor, createSelfieManagerFromActor, createSignatureManagerFromActor, createWatchlistForBusinessManagerFromActor, createWatchlistManagerFromActor, faceCaptureMachine, fromCallback, fromPromise, getDeviceFingerprintInfo, getFingerprint };
6
+ import { n as createElectronicSignatureManagerFromActor } from "./electronicSignatureManager-BCE3uA3z.esm.js";
7
+ import { n as createAntifraudManagerFromActor } from "./antifraudManager-BObuHBjn.esm.js";
8
+ import { t as faceCaptureMachine } from "./faceCaptureSetup-ZfiWg0fo.esm.js";
9
+ import { n as createAuthenticationManagerFromActor } from "./authenticationManager-DjX0XDyH.esm.js";
10
+ import { n as createCertificateIssuanceManagerFromActor } from "./certificateIssuanceManager-C1nETQos.esm.js";
11
+ import { n as createConsentManagerFromActor } from "./consentManager-DMlSL6Ax.esm.js";
12
+ import { n as createCrossDocumentDataMatchManagerFromActor } from "./crossDocumentDataMatchManager-BFTdiEDB.esm.js";
13
+ import { n as createCurpValidationManagerFromActor } from "./curpValidationManager-DNpC3wyf.esm.js";
14
+ import { n as createCustomFieldsManagerFromActor } from "./customFieldsManager-CvI-pDT3.esm.js";
15
+ import { n as createCustomWatchlistManagerFromActor } from "./customWatchlistManager-BuHtUb0y.esm.js";
16
+ import { n as createDocumentCaptureManagerFromActor } from "./documentCaptureManager-DLPqruXJ.esm.js";
17
+ import { n as createDynamicFormsManagerFromActor } from "./dynamicFormsManager-DfqCEPg9.esm.js";
18
+ import { n as createEkybManagerFromActor } from "./ekybManager-CR8YSYux.esm.js";
19
+ import { n as createEkycManagerFromActor } from "./ekycManager-DymCvmVB.esm.js";
20
+ import { n as createEmailManagerFromActor } from "./emailManager-CGoE3CUe.esm.js";
21
+ import { n as createSelfieManagerFromActor } from "./selfieManager-hopelYEk.esm.js";
22
+ import { s as createIdCaptureManagerFromActor } from "./idCaptureManager-B3oR4RnA.esm.js";
23
+ import { n as createPhoneManagerFromActor } from "./phoneManager-Dy5tODCU.esm.js";
24
+ import { n as createWatchlistManagerFromActor } from "./watchlistManager-CdpXzT4B.esm.js";
25
+ import { n as createWatchlistForBusinessManagerFromActor } from "./watchlistForBusinessManager-DqUpAEj_.esm.js";
26
+ import { n as createIdentityReuseManagerFromActor } from "./identityReuseManager-CcpovlfD.esm.js";
27
+ import { n as createFieldComparisonManagerFromActor } from "./fieldComparisonManager-DgDbEeFZ.esm.js";
28
+ import { n as createMandatoryConsentManagerFromActor } from "./mandatoryConsentManager-B4vCYslr.esm.js";
29
+ import { n as createIdOcrManagerFromActor } from "./idOcrManager-xyEZNOBa.esm.js";
30
+ import { n as createRedirectToMobileManagerFromActor } from "./redirectToMobileManager-CgGaT2NP.esm.js";
31
+ import { n as createSignatureManagerFromActor } from "./signatureManager-CwqjcxPg.esm.js";
32
+ import { n as createGeolocationManagerFromActor } from "./geolocationManager-BJJ3m_I8.esm.js";
33
+ import { n as createGovernmentValidationManagerFromActor } from "./governmentValidationManager-CjChjZ3C.esm.js";
34
+ import { n as createIdVerificationManagerFromActor } from "./idVerificationManager-DdnvYfgN.esm.js";
35
+ import { n as createFaceMatchManagerFromActor } from "./faceMatchManager-D2xKPjjQ.esm.js";
36
+ import { n as createFiscalQrManagerFromActor } from "./fiscalQrManager-BZeklojR.esm.js";
37
+ import { n as createKybChecksManagerFromActor } from "./kybChecksManager-DpGOp4Su.esm.js";
38
+ export { BrowserStorageProvider, WasmUtilProvider, createActor, createAntifraudManagerFromActor, createAuthenticationManagerFromActor, createCertificateIssuanceManagerFromActor, createConsentManagerFromActor, createCrossDocumentDataMatchManagerFromActor, createCurpValidationManagerFromActor, createCustomFieldsManagerFromActor, createCustomWatchlistManagerFromActor, createDocumentCaptureManagerFromActor, createDynamicFormsManagerFromActor, createEkybManagerFromActor, createEkycManagerFromActor, createElectronicSignatureManagerFromActor, createEmailManagerFromActor, createFaceMatchManagerFromActor, createFieldComparisonManagerFromActor, createFiscalQrManagerFromActor, createGeolocationManagerFromActor, createGovernmentValidationManagerFromActor, createIdCaptureManagerFromActor, createIdOcrManagerFromActor, createIdVerificationManagerFromActor, createIdentityReuseManagerFromActor, createKybChecksManagerFromActor, createMandatoryConsentManagerFromActor, createPhoneManagerFromActor, createRedirectToMobileManagerFromActor, createSelfieManagerFromActor, createSignatureManagerFromActor, createWatchlistForBusinessManagerFromActor, createWatchlistManagerFromActor, faceCaptureMachine, fromCallback, fromPromise, getDeviceFingerprintInfo, getFingerprint };
@@ -1,3 +1,3 @@
1
- import { n as ID_FACE_EXTRACTION_SKIPPED_CODE, r as isFaceExtractionSkippedError, t as faceMatchMachine } from "./faceMatchStateMachine-ByTMQCUC.esm.js";
2
- import { n as createFaceMatchManagerFromActor, t as createFaceMatchManager } from "./faceMatchManager-B2zp7yP4.esm.js";
1
+ import { n as ID_FACE_EXTRACTION_SKIPPED_CODE, r as isFaceExtractionSkippedError, t as faceMatchMachine } from "./faceMatchStateMachine-CUvwiQi9.esm.js";
2
+ import { n as createFaceMatchManagerFromActor, t as createFaceMatchManager } from "./faceMatchManager-D2xKPjjQ.esm.js";
3
3
  export { ID_FACE_EXTRACTION_SKIPPED_CODE, createFaceMatchManager, createFaceMatchManagerFromActor, faceMatchMachine, isFaceExtractionSkippedError };
@@ -4,11 +4,11 @@ import "./Actor-DpTj5PFb.js";
4
4
  import { t as IVisibilityObserverCapability } from "./IVisibilityObserverCapability-D4tvIB5v.js";
5
5
  import "./index-DpTj5PFb.js";
6
6
  import { c as FaceAttributesThresholds, d as FaceDetectionCallbacks, f as FaceDetectionConfig, h as IFaceDetectionCapability, l as FaceChecksConfig, m as FacePositionConstraints, p as FaceDetectionThresholds, s as FaceFeed, t as AvatarId, u as FaceCoordinates, v as WebApiHostRequestConfig, y as IncodeCanvas } from "./createFaceAvatar-lYX0VTYs.js";
7
- import { i as FlowModuleConfig } from "./types-DuD8TRJU.js";
7
+ import { i as FlowModuleConfig } from "./types-CRaFu6wS.js";
8
8
  import "./IWasmUtilCapability-Cqiaxydi.js";
9
9
  import { n as PermissionStatus, t as PermissionResult } from "./types-BEwVKkLJ.js";
10
- import { a as FaceCapturedImageData, i as FaceCaptureOnlyResponse, n as DetectionStatus, o as FaceErrorCode, r as FaceCaptureDependencies, t as BaseFaceCaptureConfig } from "./types--3HDl2SF.js";
11
- import { t as AuthenticationConfig } from "./types-D9r3zRfY.js";
10
+ import { a as FaceCapturedImageData, i as FaceCaptureOnlyResponse, n as DetectionStatus, o as FaceErrorCode, r as FaceCaptureDependencies, t as BaseFaceCaptureConfig } from "./types-BEVHQbbC.js";
11
+ import { t as AuthenticationConfig } from "./types-J6g6iKe_.js";
12
12
  import { t as BaseWasmProvider } from "./BaseWasmProvider-Bq3OHo7P.js";
13
13
  import { n as DeepsightService, t as StreamCanvasCapture } from "./StreamCanvasCapture-C3xNfOsv.js";
14
14
  import { t as CameraStream } from "./camera-9wWD-pwg.js";
@@ -1,11 +1,11 @@
1
- import { n as eventModuleNames, o as createManagerInstrumentation, r as eventScreenNames } from "./events-CQteqXfy.esm.js";
1
+ import { n as eventModuleNames, o as createManagerInstrumentation, r as eventScreenNames } from "./events-ggpBBaZ8.esm.js";
2
2
  import { t as topLevelStateName } from "./topLevelStateName-B5i2avbh.esm.js";
3
3
  import { u as createManager } from "./xstate.esm-DSajW7CJ.esm.js";
4
4
  import { t as splitTrackedName } from "./splitTrackedName-3zJRd2RD.esm.js";
5
- import { r as concealmentToAvatar } from "./faceCaptureSetup-BQjCbL51.esm.js";
6
- import { t as setWasmDsFlagSync } from "./wasmDsFlagSync-BhU5H2oR.esm.js";
5
+ import { r as concealmentToAvatar } from "./faceCaptureSetup-ZfiWg0fo.esm.js";
6
+ import { t as setWasmDsFlagSync } from "./wasmDsFlagSync-BtiR5pig.esm.js";
7
7
  import { t as BrowserVisibilityObserverProvider } from "./BrowserVisibilityObserverProvider-BrJN1B8A.esm.js";
8
- import { r as primeMotionFromUserGestureIfNeeded } from "./permissionServices-DnBAN_hW.esm.js";
8
+ import { r as primeMotionFromUserGestureIfNeeded } from "./permissionServices-D190ATGD.esm.js";
9
9
  //#region src/internal/faceCapture/faceCaptureManagerFactory.ts
10
10
  function getPermissionStatus(snapshot) {
11
11
  if (!snapshot.matches("permissions")) return;
@@ -1,21 +1,19 @@
1
1
  import { n as getTimestamp } from "./IBrowserEnvironmentCapability-D7JG7ML3.esm.js";
2
- import { r as getToken, t as api, u as endpoints } from "./api-BO8JA7Pf.esm.js";
3
- import { l as trueSightHintTransition, r as noteTrueSightCaptureActivity, u as trueSightLog, y as isTrueSightTesting } from "./trueSightService-BujtUIW6.esm.js";
4
- import "./sessionInitializer-CWFT4dfw.esm.js";
5
- import { t as addDeviceStats } from "./stats-BpMz-hTP.esm.js";
2
+ import { r as getToken } from "./api-CpP4PS4S.esm.js";
3
+ import { l as trueSightHintTransition, r as noteTrueSightCaptureActivity, u as trueSightLog, y as isTrueSightTesting } from "./trueSightService-GuLthUVK.esm.js";
4
+ import "./sessionInitializer-DsL7X2j9.esm.js";
5
+ import { t as addDeviceStats } from "./stats-CatA2dea.esm.js";
6
6
  import { c as isIPhone14OrHigher } from "./platform-aPh7gTWh.esm.js";
7
- import { t as BrowserLazyImportProvider } from "./BrowserLazyImportProvider-BhoA957O.esm.js";
8
7
  import { i as assign, n as enqueueActions, r as sendTo, t as setup } from "./xstate.esm-DSajW7CJ.esm.js";
9
8
  import { n as fromPromise, t as fromCallback } from "./xstate-actors.esm-8Gzepa_A.esm.js";
10
9
  import { s as isCameraDenialErrorName } from "./camera-E_Kcre4O.esm.js";
11
- import { n as invokeRequestPermissionActor, t as checkPermission } from "./permissionServices-DnBAN_hW.esm.js";
12
- import { a as sendLabelInspectionEvent, i as probeFaceCamera, l as getFaceUploadErrorCode, r as initializeDeepsightSession, t as FaceDetectionProvider, u as FACE_ERROR_CODES } from "./FaceDetectionProvider-B83VmClw.esm.js";
13
- import { a as flagFaceManualReview, i as cameraCycleProvider, n as createCameraCycleOwnership, r as runProtectedAttempt, s as PROTECTED_CAPTURE_TARGET, t as electDesktopCameraDevice } from "./desktopCameraElection-kHY2IDJi.esm.js";
10
+ import { n as invokeRequestPermissionActor, t as checkPermission } from "./permissionServices-D190ATGD.esm.js";
11
+ import { a as sendLabelInspectionEvent, i as probeFaceCamera, l as getFaceUploadErrorCode, r as initializeDeepsightSession, t as FaceDetectionProvider, u as FACE_ERROR_CODES } from "./FaceDetectionProvider-CAY43vSI.esm.js";
12
+ import { a as flagFaceManualReview, i as cameraCycleProvider, n as createCameraCycleOwnership, r as runProtectedAttempt, s as PROTECTED_CAPTURE_TARGET, t as electDesktopCameraDevice } from "./desktopCameraElection-BGMtYwk3.esm.js";
14
13
  import { n as releaseFaceAvatarWarmup, r as warmFaceAvatar, t as createFaceAvatar } from "./createFaceAvatar-BNHdeFj8.esm.js";
15
14
  import { t as IncodeCanvas } from "./canvas-BxFzWTt-.esm.js";
16
- import { n as needsMotionPrimeOnlyFromPermission, r as resolveStoredPermissionResult, t as isReadyForCaptureFromPermission } from "./permissionGuards-B3OPL8Si.esm.js";
17
- import { t as carryAttempts } from "./attemptCarry-BjTJ6bMQ.esm.js";
18
- import { a as getAdaptiveMediaRecorderOptions, i as createRecordingCompositor, n as WorkerEncoderRecordingProvider, t as MultipartRecordingService } from "./multipartRecordingService-DMBxHKS2.esm.js";
15
+ import { n as needsMotionPrimeOnlyFromPermission, r as resolveStoredPermissionResult, t as isReadyForCaptureFromPermission } from "./permissionGuards-DFV-Ws0a.esm.js";
16
+ import { t as carryAttempts } from "./attemptCarry-WOkfvFMw.esm.js";
19
17
  import { t as getDeviceClass } from "./getDeviceClass-DoIWuKI8.esm.js";
20
18
  //#region src/internal/avatar/concealment.ts
21
19
  /**
@@ -72,396 +70,6 @@ function logFaceCameraDiagnostic(event, fields) {
72
70
  console.debug(`${FACE_CAMERA_DIAGNOSTIC_PREFIX} ${event} ${JSON.stringify(fields)}`);
73
71
  }
74
72
  //#endregion
75
- //#region ../infra/src/media/VideoTrimmer.ts
76
- /** A trim that runs longer than this uploads the full recording instead. */
77
- const TRIM_TIMEOUT_MS = 1e4;
78
- const trimmer = BrowserLazyImportProvider.getInstance().create(() => import("./videoTrimByCopy-BFfAiNpv.esm.js").then((module) => module.trimLastNSecondsByCopy), {
79
- label: "Video liveness",
80
- moduleName: "mediabunny",
81
- timeoutMs: 1e4,
82
- disabledMessage: "the full recording will be uploaded untrimmed."
83
- });
84
- /** Starts loading the trimmer, e.g. when a recording that will be trimmed starts. */
85
- function preloadVideoTrimmer() {
86
- trimmer.load();
87
- }
88
- /**
89
- * Keeps about the last `seconds` of a recording. Never rejects and never
90
- * hangs: when the trimmer cannot load, fails, or takes longer than
91
- * {@link TRIM_TIMEOUT_MS}, it resolves the untrimmed recording.
92
- */
93
- async function trimLastNSeconds(videoBlob, seconds) {
94
- const trim = await trimmer.load();
95
- if (!trim) return videoBlob;
96
- let timeout;
97
- try {
98
- return await Promise.race([trim(videoBlob, seconds), new Promise((resolve) => {
99
- timeout = setTimeout(() => {
100
- console.warn("[Video liveness] Trimming timed out; the full recording will be uploaded untrimmed.");
101
- resolve(videoBlob);
102
- }, TRIM_TIMEOUT_MS);
103
- })]);
104
- } catch (error) {
105
- console.warn("[Video liveness] Trimming failed; the full recording will be uploaded untrimmed.", error);
106
- return videoBlob;
107
- } finally {
108
- clearTimeout(timeout);
109
- }
110
- }
111
- //#endregion
112
- //#region ../infra/src/providers/browser/LocalRecordingProvider.ts
113
- function toBase64(videoBlob) {
114
- return new Promise((resolve, reject) => {
115
- const reader = new FileReader();
116
- reader.onloadend = () => {
117
- const base64 = reader.result.split(",")[1];
118
- resolve(base64);
119
- };
120
- reader.onerror = () => reject(reader.error ?? /* @__PURE__ */ new Error("FileReader error"));
121
- reader.readAsDataURL(videoBlob);
122
- });
123
- }
124
- /** `MediaRecorderOptions.videoKeyFrameIntervalDuration`, see `startRecording`. */
125
- const KEYFRAME_INTERVAL_MS = 1e3;
126
- var LocalRecordingProvider = class {
127
- constructor() {
128
- this.mediaRecorder = null;
129
- this._isRecording = false;
130
- this._hasError = false;
131
- this._error = null;
132
- this.mimeType = "";
133
- this.stream = null;
134
- this.pauseRecordingBound = this.pauseRecording.bind(this);
135
- }
136
- get isRecording() {
137
- return this._isRecording;
138
- }
139
- get hasError() {
140
- return this._hasError;
141
- }
142
- get error() {
143
- return this._error;
144
- }
145
- startRecording(stream) {
146
- this.reset();
147
- preloadVideoTrimmer();
148
- this.registerEventListeners();
149
- this.stream = stream;
150
- try {
151
- const options = getAdaptiveMediaRecorderOptions();
152
- this.mimeType = options.mimeType;
153
- const recorder = new MediaRecorder(stream.clone(), {
154
- ...options,
155
- videoKeyFrameIntervalDuration: KEYFRAME_INTERVAL_MS
156
- });
157
- recorder.onerror = (event) => {
158
- this._error = `Recording error: ${event}`;
159
- this._isRecording = false;
160
- this._hasError = true;
161
- };
162
- recorder.start();
163
- this.mediaRecorder = recorder;
164
- this._isRecording = true;
165
- this._error = null;
166
- this._hasError = false;
167
- } catch (err) {
168
- this._error = `Failed to start recording: ${err}`;
169
- this._hasError = true;
170
- }
171
- }
172
- async stopRecording(trimSeconds, encrypt, generateChecksum) {
173
- const recorder = this.mediaRecorder;
174
- return new Promise((resolve, reject) => {
175
- this.removeEventListeners();
176
- if (recorder && this._isRecording) {
177
- const chunks = [];
178
- recorder.ondataavailable = (event) => {
179
- if (event.data.size > 0) chunks.push(event.data);
180
- };
181
- recorder.onstop = async () => {
182
- try {
183
- const trimmedVideo = await trimLastNSeconds(new Blob(chunks, { type: this.mimeType }), trimSeconds);
184
- const encryptedVideoBase64 = encrypt(await toBase64(trimmedVideo));
185
- generateChecksum(await trimmedVideo.arrayBuffer());
186
- this._isRecording = false;
187
- resolve({
188
- trimmedBlob: trimmedVideo,
189
- encryptedVideo: encryptedVideoBase64
190
- });
191
- } catch (error) {
192
- this._isRecording = false;
193
- this._error = `Recording stop failed: ${error}`;
194
- this._hasError = true;
195
- reject(error);
196
- }
197
- };
198
- recorder.stop();
199
- this._isRecording = false;
200
- } else resolve({
201
- trimmedBlob: new Blob([], { type: this.mimeType }),
202
- encryptedVideo: ""
203
- });
204
- recorder?.stream?.getTracks().forEach((track) => track.stop());
205
- });
206
- }
207
- /**
208
- * Discards the in-progress recording without producing a result: detaches
209
- * the recorder's handlers, stops it, releases its cloned tracks and clears
210
- * the flags. Idempotent, and safe after `stopRecording` or when never
211
- * started. Mirrors `MultipartRecordingProvider.reset()` so an attempt that is
212
- * released before finalization cannot leave a live camera clone behind
213
- * (ENG-56648).
214
- */
215
- reset() {
216
- this.removeEventListeners();
217
- const recorder = this.mediaRecorder;
218
- if (recorder) {
219
- recorder.ondataavailable = null;
220
- recorder.onerror = null;
221
- recorder.onstop = null;
222
- if (recorder.state !== "inactive") try {
223
- recorder.stop();
224
- } catch {}
225
- recorder.stream?.getTracks().forEach((track) => track.stop());
226
- this.mediaRecorder = null;
227
- }
228
- this.stream = null;
229
- this._isRecording = false;
230
- this._error = null;
231
- this._hasError = false;
232
- }
233
- pauseRecording() {
234
- if (!this._isRecording) return;
235
- if (this.mediaRecorder?.state === "recording") try {
236
- this.mediaRecorder.pause();
237
- } catch {}
238
- }
239
- registerEventListeners() {
240
- document.addEventListener("visibilitychange", this.pauseRecordingBound);
241
- }
242
- removeEventListeners() {
243
- document.removeEventListener("visibilitychange", this.pauseRecordingBound);
244
- }
245
- };
246
- //#endregion
247
- //#region src/internal/recordings/recordingsRepository.ts
248
- async function uploadDeepsightVideo(encryptedVideo, token) {
249
- try {
250
- return (await api.post(endpoints.deepsightVideoImport, {
251
- video: encryptedVideo,
252
- type: "selfie"
253
- }, { headers: { "X-Incode-Hardware-Id": token } })).data.recordingId ?? "";
254
- } catch {
255
- return "";
256
- }
257
- }
258
- //#endregion
259
- //#region src/internal/faceCapture/recordingService.ts
260
- /**
261
- * Records on-device and uploads encrypted video for liveness.
262
- */
263
- var LocalRecordingService = class {
264
- constructor(wasmUtil, sessionToken) {
265
- this.recorder = new LocalRecordingProvider();
266
- this.sessionToken = sessionToken;
267
- this.wasmUtil = wasmUtil;
268
- }
269
- async start(stream) {
270
- this.recorder.startRecording(stream);
271
- this.wasmUtil.osv();
272
- }
273
- async stop() {
274
- if (!this.recorder.isRecording) return { recordingId: null };
275
- this.wasmUtil.oev();
276
- const result = await this.recorder.stopRecording(10, (base64) => this.wasmUtil.encryptImage(base64), (buffer) => this.wasmUtil.ckvcks(buffer));
277
- if (!this.sessionToken) return { recordingId: null };
278
- return { recordingId: await uploadDeepsightVideo(result.encryptedVideo, this.sessionToken) };
279
- }
280
- prepareUpload() {
281
- return this.stop();
282
- }
283
- async stopAndGetVideo() {
284
- if (!this.recorder.isRecording) return { videoBase64: void 0 };
285
- try {
286
- this.wasmUtil.oev();
287
- const videoBase64 = (await this.recorder.stopRecording(10, (base64) => base64, () => {})).encryptedVideo;
288
- return { videoBase64: videoBase64 ? videoBase64 : void 0 };
289
- } catch {
290
- return { videoBase64: void 0 };
291
- }
292
- }
293
- cleanup() {
294
- this.recorder.reset();
295
- }
296
- };
297
- /**
298
- * Records a regular Selfie capture locally and streams it through the scoped
299
- * video-selfie-service multipart protocol. The recording is associated with
300
- * the interview asynchronously by the backend's `selfie` scope consumer, so
301
- * its upload id must not be forwarded to `/omni/add/face` as a legacy
302
- * `recordingId`.
303
- *
304
- * The recording is scoped to the capture step (ENG-56648). The recorder
305
- * records a stable `CameraCompositor` stream instead of a raw camera clone, so
306
- * every attempt can end its own clone before PRC and POC run and the next
307
- * attempt swaps a fresh clone into the same multipart upload. The owning
308
- * controller completes the upload once the backend accepts a capture or the
309
- * step ends without a retry.
310
- */
311
- var MultipartFaceRecordingService = class {
312
- constructor() {
313
- this.recordingCompositor = createRecordingCompositor();
314
- this.service = new MultipartRecordingService("selfie", new WorkerEncoderRecordingProvider(this.recordingCompositor));
315
- this.audioSource = [];
316
- this.needsVideoSourceReplacement = false;
317
- this.pausedForAttempt = false;
318
- this.startInFlight = false;
319
- this.suspendRequested = false;
320
- this.stopping = false;
321
- }
322
- async start(stream) {
323
- if (this.stopping) throw new Error("Face recording already completed");
324
- if (this.compositor) {
325
- await this.resume(stream);
326
- return;
327
- }
328
- const recordingSource = stream.clone();
329
- const compositor = this.recordingCompositor;
330
- this.startInFlight = true;
331
- try {
332
- const composite = compositor.start(recordingSource);
333
- await this.service.start(composite);
334
- } catch (error) {
335
- compositor.stop();
336
- recordingSource.getTracks().forEach((track) => track.stop());
337
- this.service.cleanup();
338
- throw error;
339
- } finally {
340
- this.startInFlight = false;
341
- }
342
- if (this.stopping) {
343
- compositor.stop();
344
- recordingSource.getTracks().forEach((track) => track.stop());
345
- this.service.cleanup();
346
- return;
347
- }
348
- this.compositor = compositor;
349
- this.recordingSource = recordingSource;
350
- this.audioSource = recordingSource.getAudioTracks();
351
- if (this.suspendRequested) {
352
- this.suspendRequested = false;
353
- this.suspend();
354
- }
355
- }
356
- /**
357
- * Pauses the container and ends the camera clone on the calling thread. The
358
- * composite stream and the upload stay open for the next attempt.
359
- */
360
- suspend() {
361
- if (this.stopping) return;
362
- if (!this.compositor) {
363
- this.suspendRequested = this.startInFlight;
364
- return;
365
- }
366
- if (!this.pausedForAttempt) this.pausedForAttempt = this.service.pause();
367
- this.releaseCameraClone({ keepAudio: true });
368
- this.needsVideoSourceReplacement = true;
369
- }
370
- async prepareUpload() {
371
- this.suspend();
372
- return { recordingId: null };
373
- }
374
- async stop() {
375
- await this.complete();
376
- return { recordingId: null };
377
- }
378
- pauseForBackground() {
379
- this.suspend();
380
- }
381
- async resumeFromBackground(stream) {
382
- if (!this.compositor || this.stopping) return;
383
- await this.resume(stream);
384
- }
385
- async stopAndGetVideo() {
386
- await this.complete();
387
- return { videoBase64: void 0 };
388
- }
389
- cleanup() {
390
- this.suspendRequested = false;
391
- this.pausedForAttempt = false;
392
- this.needsVideoSourceReplacement = false;
393
- this.releaseCameraClone({ keepAudio: false });
394
- this.compositor?.stop();
395
- this.compositor = void 0;
396
- this.recordingSource = void 0;
397
- this.audioSource = [];
398
- this.service.cleanup();
399
- }
400
- /** Swaps this attempt's camera clone into the composite and resumes. */
401
- async resume(stream) {
402
- const compositor = this.compositor;
403
- if (!compositor) return;
404
- if (this.needsVideoSourceReplacement) {
405
- const recordingSource = stream.clone();
406
- recordingSource.getAudioTracks().forEach((track) => track.stop());
407
- compositor.switchVideo(recordingSource);
408
- this.needsVideoSourceReplacement = false;
409
- this.recordingSource = recordingSource;
410
- const result = await compositor.resume();
411
- if (result !== "resumed") throw new Error(`Face recording camera did not resume: ${result}`);
412
- }
413
- if (this.pausedForAttempt && !this.service.resume()) throw new Error("Face recording did not resume");
414
- this.pausedForAttempt = false;
415
- }
416
- /**
417
- * Completes the scoped upload. The camera clone ends synchronously before the
418
- * drain so a step that ends mid-attempt never pins the camera; the composite
419
- * stays alive until the recorder has emitted its final chunk.
420
- */
421
- async complete() {
422
- this.stopping = true;
423
- this.suspendRequested = false;
424
- this.releaseCameraClone({ keepAudio: false });
425
- try {
426
- await this.service.stop();
427
- } finally {
428
- this.compositor?.stop();
429
- this.compositor = void 0;
430
- this.recordingSource = void 0;
431
- this.audioSource = [];
432
- this.pausedForAttempt = false;
433
- this.needsVideoSourceReplacement = false;
434
- }
435
- }
436
- releaseCameraClone(options) {
437
- try {
438
- this.compositor?.pause();
439
- } catch {}
440
- const tracks = options.keepAudio ? this.recordingSource?.getVideoTracks() ?? [] : /* @__PURE__ */ new Set([...this.recordingSource?.getTracks() ?? [], ...this.audioSource]);
441
- for (const track of tracks) try {
442
- track.stop();
443
- } catch {}
444
- }
445
- };
446
- /**
447
- * Creates the recording service for the current configuration.
448
- *
449
- * Order of precedence:
450
- * 1. `onDeviceFaceResultsSubmissionEnabled === true` → no recording. The
451
- * on-device workflow never uploads media, only the staged face-results
452
- * JSON via `WebApi.postFaceResults`. Mirrors V1's
453
- * `FaceFlowManager.setRecorders()` early return.
454
- * 2. `deepsightLiveness === 'VIDEOLIVENESS'` → local Deepsight recorder.
455
- * 3. `enableFaceRecording === true` → scoped multipart recorder.
456
- * 4. otherwise → no recording.
457
- */
458
- function createRecordingService(params) {
459
- if (params.config.onDeviceFaceResultsSubmissionEnabled === true) return;
460
- if (params.localDelivery === true) return params.config.enableFaceRecording === true || params.config.deepsightLiveness === "VIDEOLIVENESS" ? new LocalRecordingService(params.wasmUtil, null) : void 0;
461
- if (params.config.deepsightLiveness === "VIDEOLIVENESS") return new LocalRecordingService(params.wasmUtil, params.sessionToken);
462
- if (params.config.enableFaceRecording === true) return new MultipartFaceRecordingService();
463
- }
464
- //#endregion
465
73
  //#region src/internal/faceCapture/protectedFaceAttempt.ts
466
74
  const ON_DEVICE_MANUAL_CAPTURE_TIMEOUT_MS = 2147483647;
467
75
  /**
@@ -573,7 +181,7 @@ var ProtectedFaceAttemptRuntime = class ProtectedFaceAttemptRuntime {
573
181
  /** Per-attempt fallback when no step owner supplies the recording service. */
574
182
  async createAttemptRecordingService() {
575
183
  const wasmUtil = await this.options.dependencies.getWasmUtil();
576
- return createRecordingService({
184
+ return (await import("./recordingService-CTko6Cjn.esm.js")).createRecordingService({
577
185
  config: this.options.config,
578
186
  wasmUtil,
579
187
  sessionToken: getToken(),
@@ -871,8 +479,9 @@ function createProtectedFaceControllerActor(options) {
871
479
  const input = getControllerInput();
872
480
  const pending = (async () => {
873
481
  const wasmUtil = await input.dependencies.getWasmUtil();
482
+ const recordingModule = await import("./recordingService-CTko6Cjn.esm.js");
874
483
  if (!active) return;
875
- stepRecording ??= createRecordingService({
484
+ stepRecording ??= recordingModule.createRecordingService({
876
485
  config: input.config,
877
486
  wasmUtil,
878
487
  sessionToken: getToken(),
@@ -1,6 +1,6 @@
1
- import { n as eventModuleNames, o as createManagerInstrumentation } from "./events-CQteqXfy.esm.js";
1
+ import { n as eventModuleNames, o as createManagerInstrumentation } from "./events-ggpBBaZ8.esm.js";
2
2
  import { s as createActor, u as createManager } from "./xstate.esm-DSajW7CJ.esm.js";
3
- import { t as faceMatchMachine } from "./faceMatchStateMachine-ByTMQCUC.esm.js";
3
+ import { t as faceMatchMachine } from "./faceMatchStateMachine-CUvwiQi9.esm.js";
4
4
  //#region src/modules/face-match/faceMatchActor.ts
5
5
  function createFaceMatchActor(options) {
6
6
  return createActor(faceMatchMachine, { input: { config: options.config } }).start();
@@ -1,7 +1,7 @@
1
- import { t as api, u as endpoints } from "./api-BO8JA7Pf.esm.js";
1
+ import { t as api, u as endpoints } from "./api-CpP4PS4S.esm.js";
2
2
  import { i as assign, t as setup } from "./xstate.esm-DSajW7CJ.esm.js";
3
3
  import { n as fromPromise } from "./xstate-actors.esm-8Gzepa_A.esm.js";
4
- import { t as getProcessFaceMatch } from "./processFaceMatch-BWme3kVV.esm.js";
4
+ import { t as getProcessFaceMatch } from "./processFaceMatch-Bst83HaS.esm.js";
5
5
  //#region src/modules/face-match/constants.ts
6
6
  /**
7
7
  * Backend error code returned by face-match endpoints (e.g. `/omni/process/face`,