@incodetech/core 2.3.0-rc.0 → 2.3.0-rc.2

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 (149) hide show
  1. package/dist/{BrowserDiagnosticsCryptoProvider-C_9o3L2L.esm.js → BrowserDiagnosticsCryptoProvider-Crg8fwBl.esm.js} +1 -1
  2. package/dist/{FaceDetectionProvider-DTetAE8H.esm.js → FaceDetectionProvider-i55W_Jkj.esm.js} +7 -52
  3. package/dist/{IWasmUtilCapability-CXXDA5l1.d.ts → IWasmUtilCapability-CNWRl7jr.d.ts} +1 -43
  4. package/dist/{StreamCanvasCapture-B3YT2Bt6.d.ts → StreamCanvasCapture-_8gdW5Lk.d.ts} +1 -1
  5. package/dist/{recordingsRepository-CCWy13M-.esm.js → StreamCanvasProcessingSession-CBnbTnOr.esm.js} +1 -31
  6. package/dist/{addressSearch-BRSu_aGA.esm.js → addressSearch-DyHGgeX8.esm.js} +1 -1
  7. package/dist/ae-signature.esm.js +1 -1
  8. package/dist/antifraud.esm.js +2 -2
  9. package/dist/{antifraudManager-Bg9ynGum.esm.js → antifraudManager-DNkw66oW.esm.js} +1 -1
  10. package/dist/{antifraudStateMachine-BHxehiJZ.esm.js → antifraudStateMachine-DBeq47D2.esm.js} +1 -1
  11. package/dist/{apiError-D0v5hFyN.esm.js → apiError-DcnaKSwk.esm.js} +1 -1
  12. package/dist/authentication.d.ts +3 -3
  13. package/dist/authentication.esm.js +2 -2
  14. package/dist/{authenticationManager-DXTIUcma.d.ts → authenticationManager-CjXBjC-c.d.ts} +1 -1
  15. package/dist/{authenticationManager-C4B4-29g.esm.js → authenticationManager-D-UWdyhr.esm.js} +3 -3
  16. package/dist/{authenticationStateMachine-DJ0zUm-A.esm.js → authenticationStateMachine-Cklrmjfo.esm.js} +3 -3
  17. package/dist/certificate-issuance.esm.js +2 -2
  18. package/dist/{certificateIssuanceManager-Bfvkq7Cy.esm.js → certificateIssuanceManager-C3-CI0_s.esm.js} +1 -1
  19. package/dist/{certificateIssuanceStateMachine-BBD5h8c4.esm.js → certificateIssuanceStateMachine-CxqS_nD-.esm.js} +1 -1
  20. package/dist/consent.d.ts +1 -1
  21. package/dist/consent.esm.js +2 -2
  22. package/dist/{consentManager-B5Vqdez-.esm.js → consentManager-B6E1XJDw.esm.js} +1 -1
  23. package/dist/{consentManager-uhDPdU6i.d.ts → consentManager-BhYFeKiG.d.ts} +8 -8
  24. package/dist/{consentStateMachine-DbUmqWgV.esm.js → consentStateMachine-DTSfdGiW.esm.js} +1 -1
  25. package/dist/{createCameraCycleOwnership-DQ5-F2oW.esm.js → createCameraCycleOwnership-CX3hJGKc.esm.js} +1 -1
  26. package/dist/cross-document-data-match.esm.js +1 -1
  27. package/dist/{crossDocumentDataMatchManager-QMOGwHXR.esm.js → crossDocumentDataMatchManager-9XhFVZ5S.esm.js} +1 -1
  28. package/dist/curp-validation.esm.js +2 -2
  29. package/dist/{curpValidationManager-D1ppROcF.esm.js → curpValidationManager-DbIMYFcJ.esm.js} +1 -1
  30. package/dist/{curpValidationStateMachine-DvUPC_8S.esm.js → curpValidationStateMachine-g5kMfuLj.esm.js} +1 -1
  31. package/dist/custom-fields.esm.js +1 -1
  32. package/dist/custom-watchlist.esm.js +2 -2
  33. package/dist/{customFieldsManager-2j_PBq4U.esm.js → customFieldsManager-CzWZTkW-.esm.js} +1 -1
  34. package/dist/{customWatchlistManager-DUVrEdw9.esm.js → customWatchlistManager-DWTED5Ur.esm.js} +1 -1
  35. package/dist/{customWatchlistStateMachine-qZVgkKgP.esm.js → customWatchlistStateMachine-DOQou6TW.esm.js} +1 -1
  36. package/dist/{deepsightLoader-Dm7ejW4v.esm.js → deepsightLoader-BNDIPbEK.esm.js} +4 -4
  37. package/dist/document-capture.esm.js +2 -2
  38. package/dist/{documentCaptureManager-DR_Wv-3H.esm.js → documentCaptureManager-CwAiM9WY.esm.js} +1 -1
  39. package/dist/{documentCaptureStateMachine-CWOATHfE.esm.js → documentCaptureStateMachine-DfGOBapD.esm.js} +1 -1
  40. package/dist/dynamic-forms.esm.js +2 -2
  41. package/dist/{dynamicFormsManager-Dt98SDfV.esm.js → dynamicFormsManager-DOu0Xgs0.esm.js} +1 -1
  42. package/dist/{dynamicFormsStateMachine-obKr4IIp.esm.js → dynamicFormsStateMachine-DehYndAZ.esm.js} +2 -2
  43. package/dist/ekyb.esm.js +3 -3
  44. package/dist/{ekybManager-DNZKrKF3.esm.js → ekybManager-CCcz4-FC.esm.js} +1 -1
  45. package/dist/{ekybStateMachine-DjhHQXZ8.esm.js → ekybStateMachine-xesYf5pK.esm.js} +3 -3
  46. package/dist/ekyc.esm.js +2 -2
  47. package/dist/{ekycManager-CmQBpeiI.esm.js → ekycManager-BlQ-Qj4E.esm.js} +1 -1
  48. package/dist/{ekycStateMachine-CmdW2gVm.esm.js → ekycStateMachine-CshSNJhh.esm.js} +2 -2
  49. package/dist/electronic-signature.esm.js +1 -1
  50. package/dist/{electronicSignatureManager-DzulxM4_.esm.js → electronicSignatureManager-8VGN2aKU.esm.js} +2 -2
  51. package/dist/email.esm.js +2 -2
  52. package/dist/{emailManager-B5ek_UfM.esm.js → emailManager-bR1N5rV_.esm.js} +1 -1
  53. package/dist/{emailStateMachine-CyPFZ7dW.esm.js → emailStateMachine-Bc_6oIYw.esm.js} +1 -1
  54. package/dist/{endpoints-D3B9mUHh.esm.js → endpoints-B-3Q-LUw.esm.js} +0 -3
  55. package/dist/extensibility.d.ts +10 -10
  56. package/dist/extensibility.esm.js +33 -33
  57. package/dist/face-match.esm.js +2 -2
  58. package/dist/{faceCaptureManagerFactory-CvtqcLxs.d.ts → faceCaptureManagerFactory-BeUl8fl1.d.ts} +4 -5
  59. package/dist/{faceCaptureManagerFactory-pCmG4MeF.esm.js → faceCaptureManagerFactory-Bl6EffXD.esm.js} +1 -1
  60. package/dist/{faceCaptureSetup-BSextack.esm.js → faceCaptureSetup-CDGmqC8J.esm.js} +46 -64
  61. package/dist/{faceMatchManager-Caal2zyV.esm.js → faceMatchManager-Bmv0HzuY.esm.js} +1 -1
  62. package/dist/{faceMatchStateMachine-BUc5FXYy.esm.js → faceMatchStateMachine-mRIHQ3dA.esm.js} +1 -1
  63. package/dist/{feature-management-B0sGlozZ.esm.js → feature-management-J3rr-HDW.esm.js} +1 -1
  64. package/dist/feature-management.esm.js +1 -1
  65. package/dist/field-comparison.esm.js +1 -1
  66. package/dist/{fieldComparisonManager-BIs6HPJG.esm.js → fieldComparisonManager-CC-klG0h.esm.js} +1 -1
  67. package/dist/fiscal-qr.d.ts +1 -1
  68. package/dist/fiscal-qr.esm.js +1 -1
  69. package/dist/{fiscalQrManager-CHcBJwUM.d.ts → fiscalQrManager-B1STmT6z.d.ts} +4 -1
  70. package/dist/{fiscalQrManager-Bp_-3LJr.esm.js → fiscalQrManager-BunLVFbd.esm.js} +16 -4
  71. package/dist/flow.d.ts +2 -2
  72. package/dist/flow.esm.js +3 -3
  73. package/dist/{flowCompletionService-CLtbWhSK.esm.js → flowCompletionService-CayNS1FR.esm.js} +2 -2
  74. package/dist/{flowServices-B5FwukTQ.esm.js → flowServices-DX5ygAyn.esm.js} +5 -5
  75. package/dist/geolocation.esm.js +2 -2
  76. package/dist/{geolocationManager-DIw-xq9a.esm.js → geolocationManager-DYXuNsN2.esm.js} +1 -1
  77. package/dist/{geolocationStateMachine-DpG0TFOU.esm.js → geolocationStateMachine-C-37vSiR.esm.js} +2 -2
  78. package/dist/government-validation.esm.js +2 -2
  79. package/dist/{governmentValidationManager-TjC9iVjH.esm.js → governmentValidationManager-CacFOtKO.esm.js} +1 -1
  80. package/dist/{governmentValidationStateMachine-D1ZnEqdd.esm.js → governmentValidationStateMachine-CoaZOSTP.esm.js} +1 -1
  81. package/dist/id-ocr.esm.js +2 -2
  82. package/dist/id-selfie-flow.d.ts +1 -1
  83. package/dist/id-selfie-flow.esm.js +9 -9
  84. package/dist/id-verification.esm.js +2 -2
  85. package/dist/id.d.ts +3 -3
  86. package/dist/id.esm.js +4 -4
  87. package/dist/{idCaptureDefaults-BcxjQDI3.esm.js → idCaptureDefaults-CxOh31Xf.esm.js} +272 -29
  88. package/dist/{idCaptureManager-Vby8oYqh.esm.js → idCaptureManager-BFtpmjsP.esm.js} +3 -3
  89. package/dist/{idCaptureManager-CvmHOWWd.d.ts → idCaptureManager-De7O0TOD.d.ts} +33 -15
  90. package/dist/{idCaptureServices-CJIxD9ep.esm.js → idCaptureServices-C7aPT72E.esm.js} +69 -120
  91. package/dist/{idCaptureStateMachine-CmqihkUy.esm.js → idCaptureStateMachine-BEbzg_R1.esm.js} +217 -83
  92. package/dist/{idOcrManager-DHU22hVn.esm.js → idOcrManager-r46XfZGE.esm.js} +1 -1
  93. package/dist/{idOcrStateMachine-33UvRAHE.esm.js → idOcrStateMachine-ClDEP-VI.esm.js} +1 -1
  94. package/dist/{idVerificationManager-CyaixD0D.esm.js → idVerificationManager-DT42c77H.esm.js} +1 -1
  95. package/dist/{idVerificationStateMachine-BPGrQZEm.esm.js → idVerificationStateMachine-DbDVIh9t.esm.js} +1 -1
  96. package/dist/identity-reuse.esm.js +2 -2
  97. package/dist/{identityReuseManager-CWaNHBO3.esm.js → identityReuseManager-yG3acUrQ.esm.js} +1 -1
  98. package/dist/{identityReuseStateMachine-CQgnATo5.esm.js → identityReuseStateMachine-BhAkuIra.esm.js} +1 -1
  99. package/dist/index.esm.js +1 -1
  100. package/dist/mandatory-consent.d.ts +1 -1
  101. package/dist/mandatory-consent.esm.js +2 -2
  102. package/dist/{mandatoryConsentManager-Du-m-tZ_.esm.js → mandatoryConsentManager-7dI0D08q.esm.js} +1 -1
  103. package/dist/{mandatoryConsentManager-CJSyhTpi.d.ts → mandatoryConsentManager-vhv1co_n.d.ts} +4 -4
  104. package/dist/{mandatoryConsentStateMachine-DSDAk7WZ.esm.js → mandatoryConsentStateMachine-DC5Mo6M1.esm.js} +1 -1
  105. package/dist/{multipartRecordingService-B3C_zlev.esm.js → multipartRecordingService-OEgIRvqC.esm.js} +14 -3
  106. package/dist/personhood.d.ts +3 -3
  107. package/dist/personhood.esm.js +5 -5
  108. package/dist/phone.esm.js +2 -2
  109. package/dist/{phoneManager-N1-sbrY4.esm.js → phoneManager-IjhSv5XS.esm.js} +1 -1
  110. package/dist/{phoneStateMachine-jl8LJKCo.esm.js → phoneStateMachine-CXdXufKg.esm.js} +1 -1
  111. package/dist/qe-signature.esm.js +1 -1
  112. package/dist/redirect-to-mobile.esm.js +2 -2
  113. package/dist/{redirectToMobileManager-DsFzdTwA.esm.js → redirectToMobileManager-FLEWJtv8.esm.js} +1 -1
  114. package/dist/{redirectToMobileStateMachine-v3otpT-L.esm.js → redirectToMobileStateMachine-CSWWgUTO.esm.js} +1 -1
  115. package/dist/{runChildModule-TuyGE00X.esm.js → runChildModule-CT0aKjFV.esm.js} +1 -1
  116. package/dist/{sdkVersion-CLxKvdyz.esm.js → sdkVersion-DTrl2Jm7.esm.js} +1 -1
  117. package/dist/selfie.d.ts +4 -4
  118. package/dist/selfie.esm.js +7 -7
  119. package/dist/{selfieErrorUtils-C77GXJH6.esm.js → selfieErrorUtils-UiQ46EBa.esm.js} +2 -2
  120. package/dist/{selfieManager-CihVnODO.esm.js → selfieManager-0gvnAH1m.esm.js} +3 -3
  121. package/dist/{selfieManager-D1KRJ39M.d.ts → selfieManager-4RRLi21P.d.ts} +1 -1
  122. package/dist/{selfieStateMachine-fwMmNtOi.esm.js → selfieStateMachine-rfneTd9x.esm.js} +4 -4
  123. package/dist/{session-BHIeAamR.esm.js → session-ZAdron5D.esm.js} +4 -4
  124. package/dist/session.esm.js +4 -4
  125. package/dist/{sessionInitializer-BLoK7SP9.esm.js → sessionInitializer-C1A6s33W.esm.js} +5 -5
  126. package/dist/{setup-msLybMbC.esm.js → setup-6e71xCI7.esm.js} +6 -6
  127. package/dist/signature.esm.js +2 -2
  128. package/dist/{signatureManager-ChsB-nMD.esm.js → signatureManager-B72np4ZO.esm.js} +1 -1
  129. package/dist/{signatureStateMachine-BHPwkJZS.esm.js → signatureStateMachine-ce_XMA3l.esm.js} +1 -1
  130. package/dist/{stats-DkK-f8JT.esm.js → stats-CZcy2J53.esm.js} +1 -1
  131. package/dist/stats.esm.js +1 -1
  132. package/dist/{trueSightService-CKrrfV0Q.esm.js → trueSightService-DJ1kSDlH.esm.js} +3 -3
  133. package/dist/{types-CM-jtjJ2.d.ts → types-Bnl58jUQ.d.ts} +2 -6
  134. package/dist/{types-ZT1XFIJ8.d.ts → types-ChAowIxT.d.ts} +1 -1
  135. package/dist/{types-CjKBS37a2.d.ts → types-byBHOzCG2.d.ts} +5 -15
  136. package/dist/video-selfie.d.ts +1 -1
  137. package/dist/video-selfie.esm.js +6 -6
  138. package/dist/{videoSelfieCameraWarmer-CB1IzZkt.esm.js → videoSelfieCameraWarmer-BqXupt3L.esm.js} +6 -6
  139. package/dist/{videoSelfieStepDetector-5YHFe0Mq.d.ts → videoSelfieStepDetector-Co0Gu2k2.d.ts} +43 -13
  140. package/dist/{virtualCameraCheck-WOloJ-do.esm.js → virtualCameraCheck-Cjab7FTI.esm.js} +1 -1
  141. package/dist/wasm.esm.js +1 -1
  142. package/dist/watchlist-for-business.esm.js +2 -2
  143. package/dist/watchlist.esm.js +2 -2
  144. package/dist/{watchlistForBusinessManager-CpuuB1J2.esm.js → watchlistForBusinessManager-CIMkpEhu.esm.js} +1 -1
  145. package/dist/{watchlistForBusinessStateMachine-DEzgjz7C.esm.js → watchlistForBusinessStateMachine-CJ-MvUre.esm.js} +1 -1
  146. package/dist/{watchlistManager-CI8BHFob.esm.js → watchlistManager-CixcLNDT.esm.js} +1 -1
  147. package/dist/{watchlistStateMachine-DvOby3a-.esm.js → watchlistStateMachine-CBqk2w-h.esm.js} +1 -1
  148. package/dist/workflow.esm.js +34 -34
  149. package/package.json +1 -1
@@ -1,31 +1,31 @@
1
- import { l as BrowserStorageProvider } from "./setup-msLybMbC.esm.js";
1
+ import { l as BrowserStorageProvider } from "./setup-6e71xCI7.esm.js";
2
2
  import { r as WasmUtilProvider } from "./safeStorage-B-trhxg6.esm.js";
3
3
  import { t as BrowserTimerProvider } from "./BrowserTimerProvider-BXhgNxLt.esm.js";
4
- import { s as exposeExperimentOnce } from "./feature-management-B0sGlozZ.esm.js";
4
+ import { s as exposeExperimentOnce } from "./feature-management-J3rr-HDW.esm.js";
5
5
  import { n as revokeObjectURL, t as getTimestamp } from "./IBrowserEnvironmentCapability-DEaRRk-R.esm.js";
6
6
  import { r as getToken, t as api } from "./api-Bx3gKW_y.esm.js";
7
- import { c as trueSightHintTransition, l as trueSightLog, m as isTrueSightTesting, r as noteTrueSightCaptureActivity } from "./trueSightService-CKrrfV0Q.esm.js";
7
+ import { c as trueSightHintTransition, l as trueSightLog, m as isTrueSightTesting, r as noteTrueSightCaptureActivity } from "./trueSightService-DJ1kSDlH.esm.js";
8
8
  import { n as eventModuleNames, s as recordExperimentAssignmentOnce } from "./events-ijlbX_Wx.esm.js";
9
- import { t as getDisableIpify } from "./sessionInitializer-BLoK7SP9.esm.js";
10
- import { t as endpoints } from "./endpoints-D3B9mUHh.esm.js";
11
- import { t as addDeviceStats } from "./stats-DkK-f8JT.esm.js";
9
+ import { t as getDisableIpify } from "./sessionInitializer-C1A6s33W.esm.js";
10
+ import { t as endpoints } from "./endpoints-B-3Q-LUw.esm.js";
11
+ import { t as addDeviceStats } from "./stats-CZcy2J53.esm.js";
12
12
  import { a as isIOS, s as isIPad, t as isAndroid, u as isMacOsSafari } from "./platform-DkcRc9JV.esm.js";
13
- import "./session-BHIeAamR.esm.js";
13
+ import "./session-ZAdron5D.esm.js";
14
14
  import { c as not, i as assign, l as raise, n as enqueueActions, o as and, r as sendTo, t as setup } from "./xstate.esm-BuFLFuzz.esm.js";
15
15
  import { n as fromPromise, t as fromCallback } from "./xstate-actors.esm-BXeQ-Ucz.esm.js";
16
16
  import { n as getUrlSearchParam, t as buildUrlWithSearchParams } from "./urlUtils-D6phjq1-.esm.js";
17
17
  import { r as getCameraReacquisitionConstraints } from "./camera-sIa9ceW2.esm.js";
18
18
  import { n as invokeRequestPermissionActor, t as checkPermission } from "./permissionServices-Bj_fyWtv.esm.js";
19
- import { i as imageFileToDataUrl, n as runProtectedAttempt, o as flagIdManualReview, r as cameraCycleProvider, s as PROTECTED_CAPTURE_TARGET, t as createCameraCycleOwnership } from "./createCameraCycleOwnership-DQ5-F2oW.esm.js";
19
+ import { i as imageFileToDataUrl, n as runProtectedAttempt, o as flagIdManualReview, r as cameraCycleProvider, s as PROTECTED_CAPTURE_TARGET, t as createCameraCycleOwnership } from "./createCameraCycleOwnership-CX3hJGKc.esm.js";
20
20
  import { t as IncodeCanvas } from "./canvas-BxFzWTt-.esm.js";
21
21
  import { n as needsMotionPrimeOnlyFromPermission, r as resolveStoredPermissionResult, t as isReadyForCaptureFromPermission } from "./permissionGuards-uYZYFu4J.esm.js";
22
- import { a as StreamCanvasProcessingSession } from "./recordingsRepository-CCWy13M-.esm.js";
22
+ import { t as StreamCanvasProcessingSession } from "./StreamCanvasProcessingSession-CBnbTnOr.esm.js";
23
23
  import { t as sleep } from "./ITimerCapability-DgdDzp8G.esm.js";
24
24
  import { t as getBrowser } from "./getBrowser-Cbe1C4Tn.esm.js";
25
25
  import { n as getWindowDimensions } from "./getDeviceClass-CeBiEayS.esm.js";
26
- import { n as runVirtualCameraCheck, t as frameSources } from "./virtualCameraCheck-WOloJ-do.esm.js";
27
- import { n as DEFAULT_ID_CAPTURE_THRESHOLDS, r as IdCaptureProvider } from "./idCaptureDefaults-BcxjQDI3.esm.js";
28
- import { S as getIdCameraStream, _ as ID_ERROR_CODES, a as getRealQualityValue, b as CAPTURE_OPTIMIZING, d as startRecordingSession, f as stopRecording, g as validateUploadResponse, h as uploadManualIdFile, i as finalizeRecordingSession, l as prepareRecordingForCameraRetry, m as uploadIdImage, o as initializeIdCapture, p as stopStream, r as disposeRecordingSession, t as addBarcode, u as processId, x as OPTIMIZING_WATCHDOG_MARGIN_MS, y as resolveIdCaptureThresholds } from "./idCaptureServices-CJIxD9ep.esm.js";
26
+ import { n as runVirtualCameraCheck, t as frameSources } from "./virtualCameraCheck-Cjab7FTI.esm.js";
27
+ import { n as DEFAULT_ID_CAPTURE_THRESHOLDS, r as IdCaptureProvider } from "./idCaptureDefaults-CxOh31Xf.esm.js";
28
+ import { C as getIdCameraStream, S as OPTIMIZING_WATCHDOG_MARGIN_MS, _ as validateUploadResponse, a as getRealQualityValue, b as resolveIdCaptureThresholds, c as pauseRecordingForAttempt, d as resumeRecordingAfterPause, f as startRecordingSession, g as uploadManualIdFile, h as uploadIdImage, i as finalizeRecordingSession, l as prepareRecordingForCameraRetry, m as stopStream, o as initializeIdCapture, p as stopRecording, r as disposeRecordingSession, s as isSuspendableRecordingSession, t as addBarcode, u as processId, v as ID_ERROR_CODES, x as CAPTURE_OPTIMIZING } from "./idCaptureServices-C7aPT72E.esm.js";
29
29
  import { t as StreamCanvasCapture } from "./StreamCanvasCapture-C9jtgBdT.esm.js";
30
30
  //#region src/modules/id/digitalUpload/digitalUploadErrors.ts
31
31
  const TERMINAL_FAIL_REASONS = /* @__PURE__ */ new Set(["DIGITAL_ID_REQUESTED_BUT_OTHER_PROVIDED", "ID_TYPE_UNACCEPTABLE"]);
@@ -1781,7 +1781,7 @@ fromPromise(async ({ input }) => {
1781
1781
  });
1782
1782
  fromPromise(async ({ input }) => {
1783
1783
  if (!input.dependencies) return;
1784
- const { loadDeepsightSession } = await import("./deepsightLoader-Dm7ejW4v.esm.js");
1784
+ const { loadDeepsightSession } = await import("./deepsightLoader-BNDIPbEK.esm.js");
1785
1785
  return loadDeepsightSession({
1786
1786
  ds: input.ds,
1787
1787
  storage: input.dependencies.storage,
@@ -2224,7 +2224,7 @@ function cleanup(service) {
2224
2224
  service.cleanup();
2225
2225
  } catch {}
2226
2226
  }
2227
- function createIdMetadataPreparationCoordinator(load = async (input) => (await import("./deepsightLoader-Dm7ejW4v.esm.js")).loadDeepsightSession(input)) {
2227
+ function createIdMetadataPreparationCoordinator(load = async (input) => (await import("./deepsightLoader-BNDIPbEK.esm.js")).loadDeepsightSession(input)) {
2228
2228
  let disposed = false;
2229
2229
  let preparation;
2230
2230
  let service;
@@ -2325,6 +2325,16 @@ function createIdProtectedCaptureController(dependencies = {}) {
2325
2325
  let attemptContext;
2326
2326
  let attemptSend;
2327
2327
  let diagnosticAttempt;
2328
+ const stepRecording = { retryPending: false };
2329
+ const recordingScopeFor = (context) => context.currentMode === "back" ? "backId" : "frontId";
2330
+ const completeStepRecording = () => {
2331
+ const session = stepRecording.session;
2332
+ stepRecording.session = void 0;
2333
+ stepRecording.scope = void 0;
2334
+ stepRecording.retryPending = false;
2335
+ if (!session) return;
2336
+ finalizeRecordingSession(session).catch(() => {});
2337
+ };
2328
2338
  const logDiagnostic = (event, fields = {}) => {
2329
2339
  if (!diagnosticAttempt) return;
2330
2340
  logIdCameraDiagnostic(event, {
@@ -2455,6 +2465,7 @@ function createIdProtectedCaptureController(dependencies = {}) {
2455
2465
  beginAttempt(context, send) {
2456
2466
  if (disposed) throw new Error("ID protected capture controller is disposed");
2457
2467
  clearAttempt();
2468
+ if (stepRecording.session && stepRecording.scope !== recordingScopeFor(context)) completeStepRecording();
2458
2469
  diagnosticAttempt = {
2459
2470
  attempt: ++protectedIdAttemptSequence,
2460
2471
  side: context.currentMode === "back" ? "back" : "front",
@@ -2492,6 +2503,27 @@ function createIdProtectedCaptureController(dependencies = {}) {
2492
2503
  metadataCoordinator.dispose();
2493
2504
  releasePreAcquired();
2494
2505
  clearAttempt();
2506
+ completeStepRecording();
2507
+ },
2508
+ getStepRecording() {
2509
+ return stepRecording;
2510
+ },
2511
+ keepRecordingForRetry() {
2512
+ stepRecording.retryPending = true;
2513
+ },
2514
+ completeStepRecording,
2515
+ endRecordingStep() {
2516
+ if (stepRecording.retryPending) {
2517
+ stepRecording.retryPending = false;
2518
+ return;
2519
+ }
2520
+ completeStepRecording();
2521
+ },
2522
+ pauseStepRecording() {
2523
+ if (stepRecording.session) pauseRecordingForAttempt(stepRecording.session);
2524
+ },
2525
+ resumeStepRecording() {
2526
+ if (stepRecording.session) resumeRecordingAfterPause(stepRecording.session);
2495
2527
  },
2496
2528
  preAcquire,
2497
2529
  setVisible(nextVisible) {
@@ -2738,33 +2770,118 @@ function createProtectedIdProvider(config) {
2738
2770
  const workflow = resolveProtectedIdWorkflow(config);
2739
2771
  return workflow === 0 ? new IdCaptureProvider() : new IdCaptureProvider(workflow);
2740
2772
  }
2773
+ /**
2774
+ * Recorder hooks for one protected ID attempt over a step-scoped recording.
2775
+ *
2776
+ * The attempt never completes the scoped upload. It starts or resumes the held
2777
+ * session after PRC, pauses it and ends its camera clone synchronously when the
2778
+ * capture is committed (before POC), and suspends it the same way on release.
2779
+ * The controller completes the upload when the backend accepts the capture or
2780
+ * when the step ends without a retry (ENG-56648). A session that is no longer
2781
+ * live — already finalized or disposed — cannot be paused, so it is dropped and
2782
+ * torn down instead.
2783
+ */
2741
2784
  function createProtectedIdRecorderHooks(input) {
2742
- let session;
2785
+ const holder = input.stepRecording ?? { retryPending: false };
2786
+ const scope = input.currentMode === "back" ? "backId" : "frontId";
2743
2787
  const enabled = input.enabled !== false && input.config.enableIdRecording === true;
2788
+ let disposed = false;
2789
+ const dropHeldSession = () => {
2790
+ const session = holder.session;
2791
+ holder.session = void 0;
2792
+ holder.scope = void 0;
2793
+ return session;
2794
+ };
2795
+ /**
2796
+ * Ends the camera clone on the calling thread and keeps the paused upload for
2797
+ * the next attempt. Idempotent; never finalizes a multipart session.
2798
+ */
2799
+ const suspend = () => {
2800
+ const session = holder.session;
2801
+ if (!session) return;
2802
+ if (!isSuspendableRecordingSession(session)) {
2803
+ dropHeldSession();
2804
+ disposeRecordingSession(session);
2805
+ return;
2806
+ }
2807
+ try {
2808
+ prepareRecordingForCameraRetry(session);
2809
+ } catch {}
2810
+ };
2811
+ const warn = (message) => {
2812
+ trueSightLog("warning", "recording", "idScan", message);
2813
+ };
2744
2814
  return {
2745
2815
  mode: enabled ? "finalizeBeforePoc" : "none",
2746
2816
  async start(stream) {
2747
2817
  if (!enabled) return;
2748
- session = await startRecordingSession({
2749
- config: input.config,
2750
- stream,
2751
- type: input.currentMode === "back" ? "backId" : "frontId"
2752
- });
2818
+ if (holder.session && holder.scope !== scope) {
2819
+ const stale = dropHeldSession();
2820
+ if (stale) disposeRecordingSession(stale);
2821
+ }
2822
+ const existing = holder.session;
2823
+ let session;
2824
+ try {
2825
+ session = await startRecordingSession({
2826
+ config: input.config,
2827
+ stream,
2828
+ type: scope,
2829
+ existing
2830
+ });
2831
+ } catch (error) {
2832
+ if (existing) {
2833
+ suspend();
2834
+ warn("ID recording did not resume for this attempt");
2835
+ return;
2836
+ }
2837
+ throw error;
2838
+ }
2839
+ if (disposed) {
2840
+ if (session && session !== existing) disposeRecordingSession(session);
2841
+ else suspend();
2842
+ return;
2843
+ }
2844
+ if (session) {
2845
+ holder.session = session;
2846
+ holder.scope = scope;
2847
+ }
2753
2848
  },
2754
2849
  async prepareForPoc() {
2850
+ const session = holder.session;
2755
2851
  if (!session) return {};
2756
- const currentSession = session;
2757
- session = void 0;
2758
- return finalizeRecordingSession(currentSession);
2852
+ if (!isSuspendableRecordingSession(session)) {
2853
+ dropHeldSession();
2854
+ return finalizeRecordingSession(session);
2855
+ }
2856
+ suspend();
2857
+ return {};
2759
2858
  },
2760
2859
  async resumeAfterPoc() {},
2761
- pauseForBackground() {},
2762
- async resumeFromBackground() {},
2860
+ pauseForBackground() {
2861
+ suspend();
2862
+ },
2863
+ async resumeFromBackground(stream) {
2864
+ const existing = holder.session;
2865
+ if (!enabled || disposed || !existing || holder.scope !== scope || !isSuspendableRecordingSession(existing)) return;
2866
+ try {
2867
+ await startRecordingSession({
2868
+ config: input.config,
2869
+ stream,
2870
+ type: scope,
2871
+ existing
2872
+ });
2873
+ } catch {
2874
+ suspend();
2875
+ warn("ID recording did not resume after foreground");
2876
+ }
2877
+ },
2763
2878
  dispose() {
2764
- input.disposeCaptureCallbacks();
2765
- if (!session) return;
2766
- disposeRecordingSession(session);
2767
- session = void 0;
2879
+ disposed = true;
2880
+ try {
2881
+ input.disposeCaptureCallbacks();
2882
+ } finally {
2883
+ suspend();
2884
+ }
2768
2885
  }
2769
2886
  };
2770
2887
  }
@@ -2995,7 +3112,8 @@ function createProtectedIdAttemptInput(input) {
2995
3112
  config: context.config,
2996
3113
  currentMode: context.currentMode,
2997
3114
  disposeCaptureCallbacks: callbackSession.dispose,
2998
- enabled: !captureOnly
3115
+ enabled: !captureOnly,
3116
+ stepRecording: controller.getStepRecording()
2999
3117
  }),
3000
3118
  releaseUnadoptedStream: stopStream,
3001
3119
  beforeAdopt: captureOnly ? void 0 : async (stream) => {
@@ -3788,6 +3906,21 @@ const idCaptureMachine = setup({
3788
3906
  clearProtectedAttempt: ({ self }) => {
3789
3907
  getIdProtectedCaptureController(self).clearAttempt();
3790
3908
  },
3909
+ keepProtectedRecordingForRetry: ({ self }) => {
3910
+ getIdProtectedCaptureController(self).keepRecordingForRetry();
3911
+ },
3912
+ completeProtectedRecording: ({ self }) => {
3913
+ getIdProtectedCaptureController(self).completeStepRecording();
3914
+ },
3915
+ endProtectedRecordingStep: ({ self }) => {
3916
+ getIdProtectedCaptureController(self).endRecordingStep();
3917
+ },
3918
+ pauseProtectedRecording: ({ self }) => {
3919
+ getIdProtectedCaptureController(self).pauseStepRecording();
3920
+ },
3921
+ resumeProtectedRecording: ({ self }) => {
3922
+ getIdProtectedCaptureController(self).resumeStepRecording();
3923
+ },
3791
3924
  disposeProvider: ({ context }) => {
3792
3925
  performDisposeProvider(context);
3793
3926
  },
@@ -3884,10 +4017,6 @@ const idCaptureMachine = setup({
3884
4017
  reportCaptureOptimizingAssignment: ({ context }) => {
3885
4018
  performReportCaptureOptimizingAssignment(context);
3886
4019
  },
3887
- preloadRecordingProvider: ({ context }) => {
3888
- if (isCaptureOnlyConfig(context.config)) return;
3889
- context.config;
3890
- },
3891
4020
  resetContext: assign(({ context }) => getResetContextValues(context)),
3892
4021
  resetDetection: () => {},
3893
4022
  captureImage: assign({ qualityElements: ({ event }) => {
@@ -4311,7 +4440,7 @@ const idCaptureMachine = setup({
4311
4440
  }] }
4312
4441
  },
4313
4442
  loading: {
4314
- entry: ["startProtectedMetadataPreparation", "preloadRecordingProvider"],
4443
+ entry: "startProtectedMetadataPreparation",
4315
4444
  type: "parallel",
4316
4445
  states: {
4317
4446
  permissionCheck: {
@@ -4344,11 +4473,7 @@ const idCaptureMachine = setup({
4344
4473
  },
4345
4474
  tutorial: {
4346
4475
  initial: "checkingPermission",
4347
- entry: [
4348
- "startProtectedMetadataPreparation",
4349
- "trackTutorialId",
4350
- "preloadRecordingProvider"
4351
- ],
4476
+ entry: ["startProtectedMetadataPreparation", "trackTutorialId"],
4352
4477
  states: {
4353
4478
  checkingPermission: {
4354
4479
  invoke: {
@@ -4461,7 +4586,6 @@ const idCaptureMachine = setup({
4461
4586
  }
4462
4587
  },
4463
4588
  permissions: {
4464
- entry: "preloadRecordingProvider",
4465
4589
  initial: "idle",
4466
4590
  states: {
4467
4591
  idle: {
@@ -4555,7 +4679,6 @@ const idCaptureMachine = setup({
4555
4679
  initial: "checkingStream",
4556
4680
  entry: [
4557
4681
  "trackCameraId",
4558
- "preloadRecordingProvider",
4559
4682
  "initializeProtectedProvider",
4560
4683
  "bindProtectedAttempt",
4561
4684
  "startProtectedAttempt"
@@ -4563,6 +4686,7 @@ const idCaptureMachine = setup({
4563
4686
  exit: [
4564
4687
  "stopMediaRecording",
4565
4688
  "clearRecordingSession",
4689
+ "endProtectedRecordingStep",
4566
4690
  "clearProtectedAttempt"
4567
4691
  ],
4568
4692
  invoke: {
@@ -4602,7 +4726,7 @@ const idCaptureMachine = setup({
4602
4726
  always: "#idCapture.closed"
4603
4727
  },
4604
4728
  releasingForRetry: {
4605
- entry: "releaseProtectedForRetry",
4729
+ entry: ["keepProtectedRecordingForRetry", "releaseProtectedForRetry"],
4606
4730
  always: {
4607
4731
  target: "#idCapture.capture",
4608
4732
  reenter: true
@@ -4770,21 +4894,27 @@ const idCaptureMachine = setup({
4770
4894
  onError: { target: "uploading" }
4771
4895
  } },
4772
4896
  capturingBarcode: { always: [{ target: "submittingBarcodePreCapture" }] },
4773
- submittingBarcodePreCapture: { invoke: {
4774
- id: "submitBarcode",
4775
- src: "submitBarcode",
4776
- input: ({ context }) => ({
4777
- rawBarcode: context.decodedBarcode?.text ?? "",
4778
- metrics: context.decodedBarcode,
4779
- processId: context.config.skipProcessId !== true,
4780
- minDurationMs: 1e3
4781
- }),
4782
- onDone: {
4783
- target: "success",
4784
- actions: ["storeBarcodeResponse", "markBarcodeFastPathCaptured"]
4785
- },
4786
- onError: { target: "choosingDetectionStrategy" }
4787
- } },
4897
+ submittingBarcodePreCapture: {
4898
+ entry: "pauseProtectedRecording",
4899
+ invoke: {
4900
+ id: "submitBarcode",
4901
+ src: "submitBarcode",
4902
+ input: ({ context }) => ({
4903
+ rawBarcode: context.decodedBarcode?.text ?? "",
4904
+ metrics: context.decodedBarcode,
4905
+ processId: context.config.skipProcessId !== true,
4906
+ minDurationMs: 1e3
4907
+ }),
4908
+ onDone: {
4909
+ target: "success",
4910
+ actions: ["storeBarcodeResponse", "markBarcodeFastPathCaptured"]
4911
+ },
4912
+ onError: {
4913
+ target: "choosingDetectionStrategy",
4914
+ actions: "resumeProtectedRecording"
4915
+ }
4916
+ }
4917
+ },
4788
4918
  capturingManual: {
4789
4919
  entry: "finalizeProtectedAttempt",
4790
4920
  on: { PROTECTED_ATTEMPT_FINALIZED_SIGNAL: [
@@ -4898,32 +5028,36 @@ const idCaptureMachine = setup({
4898
5028
  },
4899
5029
  { target: "success" }
4900
5030
  ] },
4901
- uploadError: { on: { CONTINUE_FROM_ERROR: [
4902
- {
4903
- target: "releasingForRetry",
4904
- guard: "hasAttemptsRemaining",
4905
- actions: [
4906
- "resetDetection",
4907
- "clearUploadFailure",
4908
- "clearStreamForRetry"
4909
- ]
4910
- },
4911
- {
4912
- target: "#idCapture.frontFinished",
4913
- guard: "shouldContinueToBack",
4914
- actions: ["flagIdManualReview"]
4915
- },
4916
- {
4917
- target: "#idCapture.backFinished",
4918
- guard: "shouldContinueToFront",
4919
- actions: ["flagIdManualReview"]
4920
- },
4921
- {
4922
- target: "#idCapture.processing",
4923
- actions: ["flagIdManualReview"]
4924
- }
4925
- ] } },
5031
+ uploadError: {
5032
+ entry: "pauseProtectedRecording",
5033
+ on: { CONTINUE_FROM_ERROR: [
5034
+ {
5035
+ target: "releasingForRetry",
5036
+ guard: "hasAttemptsRemaining",
5037
+ actions: [
5038
+ "resetDetection",
5039
+ "clearUploadFailure",
5040
+ "clearStreamForRetry"
5041
+ ]
5042
+ },
5043
+ {
5044
+ target: "#idCapture.frontFinished",
5045
+ guard: "shouldContinueToBack",
5046
+ actions: ["flagIdManualReview"]
5047
+ },
5048
+ {
5049
+ target: "#idCapture.backFinished",
5050
+ guard: "shouldContinueToFront",
5051
+ actions: ["flagIdManualReview"]
5052
+ },
5053
+ {
5054
+ target: "#idCapture.processing",
5055
+ actions: ["flagIdManualReview"]
5056
+ }
5057
+ ] }
5058
+ },
4926
5059
  success: {
5060
+ entry: "completeProtectedRecording",
4927
5061
  exit: "clearBarcodeFastPathCaptured",
4928
5062
  on: { NEXT_STEP: [
4929
5063
  {
@@ -1,6 +1,6 @@
1
1
  import { n as eventModuleNames, o as createManagerInstrumentation } from "./events-ijlbX_Wx.esm.js";
2
2
  import { s as createActor, u as createManager } from "./xstate.esm-BuFLFuzz.esm.js";
3
- import { t as idOcrStateMachine } from "./idOcrStateMachine-33UvRAHE.esm.js";
3
+ import { t as idOcrStateMachine } from "./idOcrStateMachine-ClDEP-VI.esm.js";
4
4
  //#region src/modules/id-ocr/idOcrActor.ts
5
5
  function createIdOcrActor(options) {
6
6
  return createActor(idOcrStateMachine, { input: { config: options.config } }).start();
@@ -1,6 +1,6 @@
1
1
  import { t as getTimestamp } from "./IBrowserEnvironmentCapability-DEaRRk-R.esm.js";
2
2
  import { t as api } from "./api-Bx3gKW_y.esm.js";
3
- import { t as endpoints } from "./endpoints-D3B9mUHh.esm.js";
3
+ import { t as endpoints } from "./endpoints-B-3Q-LUw.esm.js";
4
4
  import { i as assign, t as setup } from "./xstate.esm-BuFLFuzz.esm.js";
5
5
  import { n as fromPromise } from "./xstate-actors.esm-BXeQ-Ucz.esm.js";
6
6
  import { t as validateCPF } from "./cpf-BIADjddF.esm.js";
@@ -1,6 +1,6 @@
1
1
  import { n as eventModuleNames, o as createManagerInstrumentation } from "./events-ijlbX_Wx.esm.js";
2
2
  import { s as createActor, u as createManager } from "./xstate.esm-BuFLFuzz.esm.js";
3
- import { t as idVerificationMachine } from "./idVerificationStateMachine-BPGrQZEm.esm.js";
3
+ import { t as idVerificationMachine } from "./idVerificationStateMachine-DbDVIh9t.esm.js";
4
4
  //#region src/modules/id-verification/idVerificationActor.ts
5
5
  function createIdVerificationActor(options) {
6
6
  return createActor(idVerificationMachine, { input: { config: options.config } }).start();
@@ -1,5 +1,5 @@
1
1
  import { t as api } from "./api-Bx3gKW_y.esm.js";
2
- import { t as endpoints } from "./endpoints-D3B9mUHh.esm.js";
2
+ import { t as endpoints } from "./endpoints-B-3Q-LUw.esm.js";
3
3
  import { t as setup } from "./xstate.esm-BuFLFuzz.esm.js";
4
4
  import { n as fromPromise } from "./xstate-actors.esm-BXeQ-Ucz.esm.js";
5
5
  //#region src/modules/id-verification/idVerificationServices.ts
@@ -1,3 +1,3 @@
1
- import { n as identityReuseMachine, t as SCAN_NEW_DOCUMENT } from "./identityReuseStateMachine-CQgnATo5.esm.js";
2
- import { n as createIdentityReuseManagerFromActor, t as createIdentityReuseManager } from "./identityReuseManager-CWaNHBO3.esm.js";
1
+ import { n as identityReuseMachine, t as SCAN_NEW_DOCUMENT } from "./identityReuseStateMachine-BhAkuIra.esm.js";
2
+ import { n as createIdentityReuseManagerFromActor, t as createIdentityReuseManager } from "./identityReuseManager-yG3acUrQ.esm.js";
3
3
  export { SCAN_NEW_DOCUMENT, createIdentityReuseManager, createIdentityReuseManagerFromActor, identityReuseMachine };
@@ -1,6 +1,6 @@
1
1
  import { n as eventModuleNames, o as createManagerInstrumentation } from "./events-ijlbX_Wx.esm.js";
2
2
  import { s as createActor, u as createManager } from "./xstate.esm-BuFLFuzz.esm.js";
3
- import { n as identityReuseMachine } from "./identityReuseStateMachine-CQgnATo5.esm.js";
3
+ import { n as identityReuseMachine } from "./identityReuseStateMachine-BhAkuIra.esm.js";
4
4
  //#region src/modules/identity-reuse/identityReuseActor.ts
5
5
  /**
6
6
  * Creates and starts an IdentityReuse actor.
@@ -1,5 +1,5 @@
1
1
  import { t as api } from "./api-Bx3gKW_y.esm.js";
2
- import { t as endpoints } from "./endpoints-D3B9mUHh.esm.js";
2
+ import { t as endpoints } from "./endpoints-B-3Q-LUw.esm.js";
3
3
  import { i as assign, t as setup } from "./xstate.esm-BuFLFuzz.esm.js";
4
4
  import { n as fromPromise } from "./xstate-actors.esm-BXeQ-Ucz.esm.js";
5
5
  //#region src/modules/identity-reuse/identityReuseServices.ts
package/dist/index.esm.js CHANGED
@@ -1,2 +1,2 @@
1
- import { i as reset, r as isConfigured, s as setup } from "./setup-msLybMbC.esm.js";
1
+ import { i as reset, r as isConfigured, s as setup } from "./setup-6e71xCI7.esm.js";
2
2
  export { isConfigured, reset, setup };
@@ -1,3 +1,3 @@
1
1
  import { r as MandatoryConsentConfig } from "./types-9_esGTPj.js";
2
- import { a as MandatoryConsentActor, i as createMandatoryConsentManagerFromActor, n as MandatoryConsentState, o as mandatoryConsentMachine, r as createMandatoryConsentManager, t as MandatoryConsentManager } from "./mandatoryConsentManager-CJSyhTpi.js";
2
+ import { a as MandatoryConsentActor, i as createMandatoryConsentManagerFromActor, n as MandatoryConsentState, o as mandatoryConsentMachine, r as createMandatoryConsentManager, t as MandatoryConsentManager } from "./mandatoryConsentManager-vhv1co_n.js";
3
3
  export { type MandatoryConsentActor, type MandatoryConsentConfig, type MandatoryConsentManager, type MandatoryConsentState, createMandatoryConsentManager, createMandatoryConsentManagerFromActor, mandatoryConsentMachine };
@@ -1,3 +1,3 @@
1
- import { t as mandatoryConsentMachine } from "./mandatoryConsentStateMachine-DSDAk7WZ.esm.js";
2
- import { n as createMandatoryConsentManagerFromActor, t as createMandatoryConsentManager } from "./mandatoryConsentManager-Du-m-tZ_.esm.js";
1
+ import { t as mandatoryConsentMachine } from "./mandatoryConsentStateMachine-DC5Mo6M1.esm.js";
2
+ import { n as createMandatoryConsentManagerFromActor, t as createMandatoryConsentManager } from "./mandatoryConsentManager-7dI0D08q.esm.js";
3
3
  export { createMandatoryConsentManager, createMandatoryConsentManagerFromActor, mandatoryConsentMachine };
@@ -1,6 +1,6 @@
1
1
  import { n as eventModuleNames, o as createManagerInstrumentation } from "./events-ijlbX_Wx.esm.js";
2
2
  import { s as createActor, u as createManager } from "./xstate.esm-BuFLFuzz.esm.js";
3
- import { t as mandatoryConsentMachine } from "./mandatoryConsentStateMachine-DSDAk7WZ.esm.js";
3
+ import { t as mandatoryConsentMachine } from "./mandatoryConsentStateMachine-DC5Mo6M1.esm.js";
4
4
  //#region src/modules/mandatory-consent/mandatoryConsentActor.ts
5
5
  function createMandatoryConsentActor(options) {
6
6
  return createActor(mandatoryConsentMachine, { input: { config: options.config } }).start();
@@ -57,10 +57,6 @@ declare const mandatoryConsentMachine: StateMachine<MandatoryConsentContext, {
57
57
  type: "setError";
58
58
  params: NonReducibleUnknown;
59
59
  };
60
- toggleSigned: {
61
- type: "toggleSigned";
62
- params: NonReducibleUnknown;
63
- };
64
60
  clearError: {
65
61
  type: "clearError";
66
62
  params: NonReducibleUnknown;
@@ -69,6 +65,10 @@ declare const mandatoryConsentMachine: StateMachine<MandatoryConsentContext, {
69
65
  type: "resetContext";
70
66
  params: NonReducibleUnknown;
71
67
  };
68
+ toggleSigned: {
69
+ type: "toggleSigned";
70
+ params: NonReducibleUnknown;
71
+ };
72
72
  }>, {
73
73
  type: "canSubmit";
74
74
  params: unknown;
@@ -1,5 +1,5 @@
1
1
  import { t as api } from "./api-Bx3gKW_y.esm.js";
2
- import { t as endpoints } from "./endpoints-D3B9mUHh.esm.js";
2
+ import { t as endpoints } from "./endpoints-B-3Q-LUw.esm.js";
3
3
  import { i as assign, t as setup } from "./xstate.esm-BuFLFuzz.esm.js";
4
4
  import { n as fromPromise } from "./xstate-actors.esm-BXeQ-Ucz.esm.js";
5
5
  //#region src/modules/mandatory-consent/mandatoryConsentServices.ts
@@ -1,7 +1,7 @@
1
1
  import { t as BrowserTimerProvider } from "./BrowserTimerProvider-BXhgNxLt.esm.js";
2
2
  import { t as api } from "./api-Bx3gKW_y.esm.js";
3
- import { t as endpoints } from "./endpoints-D3B9mUHh.esm.js";
4
- import { a as isIOS } from "./platform-DkcRc9JV.esm.js";
3
+ import { t as endpoints } from "./endpoints-B-3Q-LUw.esm.js";
4
+ import { a as isIOS, t as isAndroid } from "./platform-DkcRc9JV.esm.js";
5
5
  //#region ../infra/src/media/mediaRecorderOptions.ts
6
6
  /**
7
7
  * Picks a `MediaRecorder` mime type the current browser actually supports.
@@ -19,6 +19,17 @@ function getSupportedMediaRecorderMimeType() {
19
19
  return "";
20
20
  }
21
21
  /**
22
+ * Mime type for the multipart (video-selfie-service) recorder. Android
23
+ * Chromium gets hardware H.264 in fragmented MP4 first — the fragment shape
24
+ * the service already ingests from Safari. Measured on a Galaxy S21 under ID
25
+ * detection load (ENG-55397): 720p VP8 dropped 16% of frames, H.264 dropped
26
+ * none. Everything else keeps the WebM-first order.
27
+ */
28
+ function getMultipartRecorderMimeType() {
29
+ if (isAndroid() && MediaRecorder.isTypeSupported("video/mp4;codecs=avc1")) return "video/mp4;codecs=avc1";
30
+ return getSupportedMediaRecorderMimeType();
31
+ }
32
+ /**
22
33
  * `MediaRecorder` options tuned per platform — a higher bitrate on iOS, lower
23
34
  * elsewhere — paired with the supported mime type.
24
35
  */
@@ -89,7 +100,7 @@ var MultipartRecordingProvider = class {
89
100
  this.partNumber = 0;
90
101
  this.onPart = onPart;
91
102
  try {
92
- this.mimeType = getSupportedMediaRecorderMimeType();
103
+ this.mimeType = getMultipartRecorderMimeType();
93
104
  const recorder = new MediaRecorder(stream.clone(), {
94
105
  mimeType: this.mimeType,
95
106
  videoBitsPerSecond: VIDEO_BITS_PER_SECOND
@@ -3,10 +3,10 @@ import "./StateMachine-EDpYWy0i.js";
3
3
  import { t as Manager } from "./Manager-CQQ99QOI.js";
4
4
  import "./Actor-iTq7YY48.js";
5
5
  import { y as IncodeCanvas } from "./createFaceAvatar-BlcTYgJv.js";
6
- import { i as IStorageCapability, t as IWasmUtilCapability } from "./IWasmUtilCapability-CXXDA5l1.js";
6
+ import { i as IStorageCapability, t as IWasmUtilCapability } from "./IWasmUtilCapability-CNWRl7jr.js";
7
7
  import { n as PermissionStatus, t as PermissionResult } from "./types-BEwVKkLJ.js";
8
- import { n as DetectionStatus } from "./types-CM-jtjJ2.js";
9
- import { n as DeepsightService, t as StreamCanvasCapture } from "./StreamCanvasCapture-B3YT2Bt6.js";
8
+ import { n as DetectionStatus } from "./types-Bnl58jUQ.js";
9
+ import { n as DeepsightService, t as StreamCanvasCapture } from "./StreamCanvasCapture-_8gdW5Lk.js";
10
10
  import { t as FaceDetectionProvider } from "./FaceDetectionProvider-LdZ47bWy.js";
11
11
  import { t as CameraStream } from "./camera-9wWD-pwg.js";
12
12
  //#region src/modules/personhood/types.d.ts
@@ -1,16 +1,16 @@
1
- import { l as BrowserStorageProvider } from "./setup-msLybMbC.esm.js";
1
+ import { l as BrowserStorageProvider } from "./setup-6e71xCI7.esm.js";
2
2
  import { r as WasmUtilProvider } from "./safeStorage-B-trhxg6.esm.js";
3
3
  import { t as BrowserTimerProvider } from "./BrowserTimerProvider-BXhgNxLt.esm.js";
4
4
  import { t as api } from "./api-Bx3gKW_y.esm.js";
5
- import { b as getStoredHttpConfig, w as createApi$1, y as randomUUID } from "./trueSightService-CKrrfV0Q.esm.js";
5
+ import { b as getStoredHttpConfig, w as createApi$1, y as randomUUID } from "./trueSightService-DJ1kSDlH.esm.js";
6
6
  import { n as eventModuleNames } from "./events-ijlbX_Wx.esm.js";
7
- import { b as BrowserEnvironmentProvider, h as isBrowserSimulation, n as getFingerprintEnabled, v as getThumbmarkId, y as getDeviceFingerprintInfo } from "./sessionInitializer-BLoK7SP9.esm.js";
8
- import { t as endpoints } from "./endpoints-D3B9mUHh.esm.js";
7
+ import { b as BrowserEnvironmentProvider, h as isBrowserSimulation, n as getFingerprintEnabled, v as getThumbmarkId, y as getDeviceFingerprintInfo } from "./sessionInitializer-C1A6s33W.esm.js";
8
+ import { t as endpoints } from "./endpoints-B-3Q-LUw.esm.js";
9
9
  import { i as assign, s as createActor, t as setup, u as createManager } from "./xstate.esm-BuFLFuzz.esm.js";
10
10
  import { n as fromPromise, t as fromCallback } from "./xstate-actors.esm-BXeQ-Ucz.esm.js";
11
11
  import { i as requestCameraAccess, o as stopCameraStream } from "./camera-sIa9ceW2.esm.js";
12
12
  import { i as requestPermission, t as checkPermission } from "./permissionServices-Bj_fyWtv.esm.js";
13
- import { i as initializeDeepsightSession, l as stopStream, o as startDetection, t as FaceDetectionProvider } from "./FaceDetectionProvider-DTetAE8H.esm.js";
13
+ import { i as initializeDeepsightSession, o as startDetection, s as stopStream, t as FaceDetectionProvider } from "./FaceDetectionProvider-i55W_Jkj.esm.js";
14
14
  import { t as sleep } from "./ITimerCapability-DgdDzp8G.esm.js";
15
15
  import { t as StreamCanvasCapture } from "./StreamCanvasCapture-C9jtgBdT.esm.js";
16
16
  //#region src/modules/personhood/personhoodServices.ts