@incodetech/core 0.0.0-dev-20260729-9e7b030a → 0.0.0-dev-20260729-a31df3b7

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 (87) hide show
  1. package/dist/{FaceDetectionProvider-BHweGBEM.d.ts → FaceDetectionProvider-Mh6q3EbA.d.ts} +1 -2
  2. package/dist/IIdCaptureCapability-Cj_aceph.d.ts +231 -0
  3. package/dist/{IStorageCapability-B8IGxCwe.d.ts → IStorageCapability-ORkQfK3F.d.ts} +112 -1
  4. package/dist/ae-signature.esm.js +1 -1
  5. package/dist/{apiError-CzR7Y6Ua.esm.js → apiError-CS9ZMDr2.esm.js} +1 -1
  6. package/dist/authentication.d.ts +3 -3
  7. package/dist/authentication.esm.js +2 -2
  8. package/dist/{authenticationManager-CmkHvt7_.esm.js → authenticationManager-Cd4tefr2.esm.js} +2 -2
  9. package/dist/{authenticationManager-BGM8bpD0.d.ts → authenticationManager-Y2_MuGXy.d.ts} +1 -1
  10. package/dist/{authenticationStateMachine-O3acuOqq.esm.js → authenticationStateMachine-BnH1mizY.esm.js} +2 -2
  11. package/dist/consent.d.ts +1 -1
  12. package/dist/{consentManager-uhDPdU6i.d.ts → consentManager-5HWbGwOa.d.ts} +9 -9
  13. package/dist/{deepsightLoader-CaUpu0Dy.esm.js → deepsightLoader-CN4B5ugn.esm.js} +3 -3
  14. package/dist/{deepsightService-CR-CYdka.d.ts → deepsightService-DLVQS_RH.d.ts} +2 -112
  15. package/dist/document-capture.d.ts +1 -1
  16. package/dist/document-upload.d.ts +4 -4
  17. package/dist/{documentCaptureManager-pEqMY_Oo.d.ts → documentCaptureManager-DeSYkGWc.d.ts} +70 -70
  18. package/dist/dynamic-forms.esm.js +2 -2
  19. package/dist/{dynamicFormsManager-BxUgij0L.esm.js → dynamicFormsManager-B80PGYEF.esm.js} +1 -1
  20. package/dist/{dynamicFormsStateMachine-D0cEsDMH.esm.js → dynamicFormsStateMachine-B7R09HRI.esm.js} +1 -1
  21. package/dist/ekyb.esm.js +3 -3
  22. package/dist/{ekybManager-LicVPYug.esm.js → ekybManager-Cg_boKM5.esm.js} +1 -1
  23. package/dist/{ekybStateMachine-IgLa1nXx.esm.js → ekybStateMachine-CAXjJ2gA.esm.js} +1 -1
  24. package/dist/electronic-signature.esm.js +1 -1
  25. package/dist/{electronicSignatureManager-DqPJCXMG.esm.js → electronicSignatureManager-JuycNykG.esm.js} +1 -1
  26. package/dist/extensibility.d.ts +14 -14
  27. package/dist/extensibility.esm.js +8 -8
  28. package/dist/{faceCaptureManagerFactory-2W_XduCs.esm.js → faceCaptureManagerFactory-Cd1uQnGS.esm.js} +1 -1
  29. package/dist/{faceCaptureManagerFactory-B92LFT16.d.ts → faceCaptureManagerFactory-K8iLKaRl.d.ts} +5 -4
  30. package/dist/{faceCaptureSetup-D-9s0vUS.esm.js → faceCaptureSetup-CS7exiIh.esm.js} +3 -2
  31. package/dist/flow.d.ts +5 -5
  32. package/dist/flow.esm.js +3 -3
  33. package/dist/{flowCompletionService-D_DJ1dNA.esm.js → flowCompletionService-C77_-GvG.esm.js} +1 -1
  34. package/dist/{flowServices-ZgW3UGcz.esm.js → flowServices-BuSZYjB9.esm.js} +3 -3
  35. package/dist/geolocation.esm.js +2 -2
  36. package/dist/{geolocationManager-oLdeMbdy.esm.js → geolocationManager-D2ptN5BO.esm.js} +1 -1
  37. package/dist/{geolocationStateMachine-CSDKlrHE.esm.js → geolocationStateMachine-fOQUnMxw.esm.js} +1 -1
  38. package/dist/id-ocr.d.ts +1 -1
  39. package/dist/id-selfie-flow.d.ts +179 -0
  40. package/dist/id-selfie-flow.esm.js +917 -0
  41. package/dist/id.d.ts +3 -2
  42. package/dist/id.esm.js +3 -2
  43. package/dist/{idCaptureManager-DAsfVDWq.esm.js → idCaptureManager-BokR8KKO.esm.js} +2 -1
  44. package/dist/{idCaptureManager-B2w2CGuV.d.ts → idCaptureManager-wKz4MXR8.d.ts} +10 -2
  45. package/dist/idCaptureServices-C3nAZ64o.esm.js +353 -0
  46. package/dist/{idCaptureStateMachine-BMZCf9M7.esm.js → idCaptureStateMachine-CM8EP_MM.esm.js} +38 -374
  47. package/dist/{idOcrManager-DXc_xRN7.d.ts → idOcrManager-dLuxey6y.d.ts} +1 -1
  48. package/dist/identity-reuse.d.ts +1 -1
  49. package/dist/{identityReuseManager-v2TH5g7e.d.ts → identityReuseManager-D6pD4hcZ.d.ts} +1 -1
  50. package/dist/index.esm.js +1 -1
  51. package/dist/mandatory-consent.d.ts +2 -2
  52. package/dist/{mandatoryConsentManager-DOZSFZA2.d.ts → mandatoryConsentManager-DXlHM88Z.d.ts} +6 -6
  53. package/dist/manualReviewService-BnFXpAg9.esm.js +15 -0
  54. package/dist/{onDeviceFaceResults-D8FzOXsM.esm.js → onDeviceFaceResults-DFEU5wcC.esm.js} +3 -3
  55. package/dist/personhood.d.ts +4 -4
  56. package/dist/personhood.esm.js +3 -3
  57. package/dist/qe-signature.esm.js +1 -1
  58. package/dist/{recordingService-D6Hbc408.esm.js → recordingService-BwaHFQSV.esm.js} +2 -16
  59. package/dist/redirect-to-mobile.d.ts +2 -2
  60. package/dist/{redirectToMobileManager-BiVH2Ymm.d.ts → redirectToMobileManager-BD2PvT5B.d.ts} +1 -1
  61. package/dist/{runChildModule-CVKUUVl2.esm.js → runChildModule-1jsZfyb9.esm.js} +1 -1
  62. package/dist/selfie.d.ts +4 -4
  63. package/dist/selfie.esm.js +4 -4
  64. package/dist/{selfieManager-Cnw55Hp_.esm.js → selfieManager-hwv10r0j.esm.js} +2 -2
  65. package/dist/{selfieManager-CxeMb2tM.d.ts → selfieManager-tMxWiUk6.d.ts} +1 -1
  66. package/dist/{selfieStateMachine-D-wolitw.esm.js → selfieStateMachine-Cwb5y4OR.esm.js} +2 -2
  67. package/dist/{session-XugVyrIq.esm.js → session-DWfXLkyx.esm.js} +4 -4
  68. package/dist/session.esm.js +4 -4
  69. package/dist/{sessionInitializer-B3g2uAsl.esm.js → sessionInitializer-B58TmxdW.esm.js} +2 -2
  70. package/dist/{setup-BVuwm-QH.esm.js → setup-sxUVsl_J.esm.js} +4 -4
  71. package/dist/trueSight-D7YiTge6.esm.js +1 -0
  72. package/dist/{trueSightService-DGkNMx-E.esm.js → trueSightService-BIbE2pK1.esm.js} +1 -1
  73. package/dist/{types-4-pU2Nhm.d.ts → types-BsTkSXlg2.d.ts} +13 -232
  74. package/dist/{types-CrUhpMDP.d.ts → types-EELWyWpd.d.ts} +1 -1
  75. package/dist/{types-BBQjIaK4.d.ts → types-Hmd7U0JA.d.ts} +1 -1
  76. package/dist/video-selfie.d.ts +8 -100
  77. package/dist/video-selfie.esm.js +17 -608
  78. package/dist/videoSelfieCameraWarmer-lG-12ONu.esm.js +614 -0
  79. package/dist/videoSelfieStepDetector-144x423X.d.ts +117 -0
  80. package/dist/wasm.esm.js +1 -1
  81. package/dist/workflow.d.ts +1 -1
  82. package/dist/workflow.esm.js +14 -14
  83. package/package.json +8 -3
  84. package/dist/trueSight-DWfPmAL_.esm.js +0 -1
  85. /package/dist/{types-BX_XkMsQ.d.ts → types-BX_XkMsQ2.d.ts} +0 -0
  86. /package/dist/{types-BfgmV7s72.d.ts → types-BfgmV7s7.d.ts} +0 -0
  87. /package/dist/{types-DPIDuhut2.d.ts → types-DPIDuhut.d.ts} +0 -0
@@ -1,20 +1,6 @@
1
- import { t as api } from "./api-Bx3gKW_y.esm.js";
2
- import { t as endpoints } from "./endpoints-DOfmJylF.esm.js";
3
1
  import { t as isAndroid } from "./platform-Cd_yWGNG.esm.js";
4
- import { d as stopRecording, g as uploadDeepsightVideo, u as startRecordingSession } from "./onDeviceFaceResults-D8FzOXsM.esm.js";
2
+ import { d as stopRecording, g as uploadDeepsightVideo, u as startRecordingSession } from "./onDeviceFaceResults-DFEU5wcC.esm.js";
5
3
  import { t as getAdaptiveMediaRecorderOptions } from "./mediaRecorderOptions-CUsftWlH.esm.js";
6
- //#region src/internal/manualReview/manualReviewService.ts
7
- async function flagFaceManualReview() {
8
- try {
9
- await api.put(endpoints.updateSession, { manualSelfieCheckNeeded: true });
10
- } catch {}
11
- }
12
- async function flagIdManualReview() {
13
- try {
14
- await api.put(endpoints.updateSession, { manualIdCheckNeeded: true });
15
- } catch {}
16
- }
17
- //#endregion
18
4
  //#region ../infra/src/media/VideoTrimmer.ts
19
5
  async function getDurationBySeek(videoBlob) {
20
6
  const video = document.createElement("video");
@@ -340,4 +326,4 @@ function createRecordingService(params) {
340
326
  if (params.config.enableFaceRecording === true) return new OpenViduRecordingService(params.config);
341
327
  }
342
328
  //#endregion
343
- export { flagIdManualReview as i, preloadOpenViduProvider as n, flagFaceManualReview as r, createRecordingService as t };
329
+ export { preloadOpenViduProvider as n, createRecordingService as t };
@@ -1,5 +1,5 @@
1
- import { n as RedirectToMobileServices, t as RedirectToMobileConfig } from "./types-DPIDuhut2.js";
2
- import { a as RedirectToMobileActor, i as createRedirectToMobileManagerFromActor, n as RedirectToMobileState, o as redirectToMobileMachine, r as createRedirectToMobileManager, t as RedirectToMobileManager } from "./redirectToMobileManager-BiVH2Ymm.js";
1
+ import { n as RedirectToMobileServices, t as RedirectToMobileConfig } from "./types-DPIDuhut.js";
2
+ import { a as RedirectToMobileActor, i as createRedirectToMobileManagerFromActor, n as RedirectToMobileState, o as redirectToMobileMachine, r as createRedirectToMobileManager, t as RedirectToMobileManager } from "./redirectToMobileManager-BD2PvT5B.js";
3
3
  //#region src/modules/redirect-to-mobile/redirectToMobileServices.d.ts
4
4
  declare const defaultRedirectToMobileServices: RedirectToMobileServices;
5
5
  //#endregion
@@ -1,7 +1,7 @@
1
1
  import { i as ActorRefFrom } from "./spawn-D9jgw9pW.js";
2
2
  import { t as Manager } from "./Manager-CQQ99QOI.js";
3
3
  import "./Actor-iTq7YY48.js";
4
- import { n as RedirectToMobileServices, t as RedirectToMobileConfig } from "./types-DPIDuhut2.js";
4
+ import { n as RedirectToMobileServices, t as RedirectToMobileConfig } from "./types-DPIDuhut.js";
5
5
  //#region src/modules/redirect-to-mobile/redirectToMobileStateMachine.d.ts
6
6
  declare const redirectToMobileMachine: any;
7
7
  type RedirectToMobileMachine = typeof redirectToMobileMachine;
@@ -1,5 +1,5 @@
1
1
  import { t as getTimestamp } from "./IBrowserEnvironmentCapability-DEaRRk-R.esm.js";
2
- import { a as notifyTrueSightManagerStopped, i as notifyTrueSightFlowEvent } from "./trueSightService-DGkNMx-E.esm.js";
2
+ import { a as notifyTrueSightManagerStopped, i as notifyTrueSightFlowEvent } from "./trueSightService-BIbE2pK1.esm.js";
3
3
  import { C as createEventBus } from "./events-ethtfu2b.esm.js";
4
4
  import { o as createActor } from "./xstate.esm-Cf4e0Cfd.esm.js";
5
5
  import { t as fromCallback } from "./xstate-actors.esm-CtI5S0f4.esm.js";
package/dist/selfie.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  import { t as IVisibilityObserverCapability } from "./IVisibilityObserverCapability-D4tvIB5v.js";
2
- import { a as SelfieCaptureOnlyMachine, c as SelfieActor, g as SelfieConfig, h as SelfieCaptureOnlyConfig, i as SelfieCaptureOnlyActor, l as SelfieMachine, n as FaceCaptureManagerState, o as selfieCaptureOnlyMachine, r as CreateSelfieCaptureOnlyActorOptions, t as FaceCaptureManager, u as selfieMachine } from "./faceCaptureManagerFactory-B92LFT16.js";
2
+ import { a as SelfieCaptureOnlyMachine, c as SelfieActor, g as SelfieConfig, h as SelfieCaptureOnlyConfig, i as SelfieCaptureOnlyActor, l as SelfieMachine, n as FaceCaptureManagerState, o as selfieCaptureOnlyMachine, r as CreateSelfieCaptureOnlyActorOptions, t as FaceCaptureManager, u as selfieMachine } from "./faceCaptureManagerFactory-K8iLKaRl.js";
3
3
  import { t as CameraStream } from "./camera-9wWD-pwg.js";
4
- import { t as DeepsightService } from "./deepsightService-CR-CYdka.js";
5
- import { a as FaceCapturedImageData, i as FaceCaptureOnlyResponse, n as DetectionStatus, o as FaceErrorCode } from "./types-BBQjIaK4.js";
4
+ import { a as FaceCapturedImageData, i as FaceCaptureOnlyResponse, n as DetectionStatus, o as FaceErrorCode } from "./types-Hmd7U0JA.js";
6
5
  import { n as PermissionStatus, t as PermissionResult } from "./types-BT-aiBYV.js";
7
- import { a as ProcessFaceResponse, i as createSelfieManagerFromActor, n as SelfieState, o as processFace, r as createSelfieManager, t as SelfieManager } from "./selfieManager-CxeMb2tM.js";
6
+ import { t as DeepsightService } from "./deepsightService-DLVQS_RH.js";
7
+ import { a as ProcessFaceResponse, i as createSelfieManagerFromActor, n as SelfieState, o as processFace, r as createSelfieManager, t as SelfieManager } from "./selfieManager-tMxWiUk6.js";
8
8
  //#region src/modules/selfie/selfieCaptureOnlyManager.d.ts
9
9
  type SelfieCaptureOnlyState = FaceCaptureManagerState;
10
10
  type SelfieCaptureOnlyManager = FaceCaptureManager;
@@ -3,11 +3,11 @@ import { t as BrowserStorageProvider } from "./BrowserStorageProvider-P6aUarE9.e
3
3
  import { n as eventModuleNames } from "./events-ethtfu2b.esm.js";
4
4
  import { o as createActor, r as assign } from "./xstate.esm-Cf4e0Cfd.esm.js";
5
5
  import { n as fromPromise } from "./xstate-actors.esm-CtI5S0f4.esm.js";
6
- import { t as faceCaptureMachine } from "./faceCaptureSetup-D-9s0vUS.esm.js";
7
- import { t as createFaceCaptureManagerFromActor } from "./faceCaptureManagerFactory-2W_XduCs.esm.js";
6
+ import { t as faceCaptureMachine } from "./faceCaptureSetup-CS7exiIh.esm.js";
7
+ import { t as createFaceCaptureManagerFromActor } from "./faceCaptureManagerFactory-Cd1uQnGS.esm.js";
8
8
  import { r as processFace } from "./selfieErrorUtils-DCRRRj38.esm.js";
9
- import { t as selfieMachine } from "./selfieStateMachine-D-wolitw.esm.js";
10
- import { n as createSelfieManagerFromActor, t as createSelfieManager } from "./selfieManager-Cnw55Hp_.esm.js";
9
+ import { t as selfieMachine } from "./selfieStateMachine-Cwb5y4OR.esm.js";
10
+ import { n as createSelfieManagerFromActor, t as createSelfieManager } from "./selfieManager-hwv10r0j.esm.js";
11
11
  import { t as invokeOnCaptureCallback } from "./invokeOnCaptureCallback-DVtdZdpI.esm.js";
12
12
  //#region src/modules/selfie/selfieCaptureOnlyStateMachine.ts
13
13
  /**
@@ -2,8 +2,8 @@ import { t as WasmUtilProvider } from "./WasmUtilProvider-D13sxEmA.esm.js";
2
2
  import { t as BrowserStorageProvider } from "./BrowserStorageProvider-P6aUarE9.esm.js";
3
3
  import { n as eventModuleNames } from "./events-ethtfu2b.esm.js";
4
4
  import { o as createActor } from "./xstate.esm-Cf4e0Cfd.esm.js";
5
- import { t as createFaceCaptureManagerFromActor } from "./faceCaptureManagerFactory-2W_XduCs.esm.js";
6
- import { t as selfieMachine } from "./selfieStateMachine-D-wolitw.esm.js";
5
+ import { t as createFaceCaptureManagerFromActor } from "./faceCaptureManagerFactory-Cd1uQnGS.esm.js";
6
+ import { t as selfieMachine } from "./selfieStateMachine-Cwb5y4OR.esm.js";
7
7
  //#region src/modules/selfie/selfieActor.ts
8
8
  function createSelfieActor(options) {
9
9
  const dependencies = options.dependencies ?? {
@@ -1,6 +1,6 @@
1
1
  import { t as Manager } from "./Manager-CQQ99QOI.js";
2
2
  import { t as IVisibilityObserverCapability } from "./IVisibilityObserverCapability-D4tvIB5v.js";
3
- import { c as SelfieActor, n as FaceCaptureManagerState, s as CreateSelfieActorOptions, t as FaceCaptureManager } from "./faceCaptureManagerFactory-B92LFT16.js";
3
+ import { c as SelfieActor, n as FaceCaptureManagerState, s as CreateSelfieActorOptions, t as FaceCaptureManager } from "./faceCaptureManagerFactory-K8iLKaRl.js";
4
4
  //#region src/modules/selfie/selfieUploadService.d.ts
5
5
  type ProcessFaceImageType = 'selfie' | 'videoSelfie';
6
6
  type ProcessFaceResponse = {
@@ -1,7 +1,7 @@
1
1
  import { r as assign } from "./xstate.esm-Cf4e0Cfd.esm.js";
2
2
  import { n as fromPromise } from "./xstate-actors.esm-CtI5S0f4.esm.js";
3
- import { t as faceCaptureMachine } from "./faceCaptureSetup-D-9s0vUS.esm.js";
4
- import { i as prepareOnDeviceFaceUpload, n as isOnDeviceMode, r as postOnDeviceFaceResults, t as defaultPrepareFaceUpload } from "./onDeviceFaceResults-D8FzOXsM.esm.js";
3
+ import { t as faceCaptureMachine } from "./faceCaptureSetup-CS7exiIh.esm.js";
4
+ import { i as prepareOnDeviceFaceUpload, n as isOnDeviceMode, r as postOnDeviceFaceResults, t as defaultPrepareFaceUpload } from "./onDeviceFaceResults-DFEU5wcC.esm.js";
5
5
  import { t as FACE_ERROR_CODES } from "./types-BN5RPPIZ.esm.js";
6
6
  import { i as uploadSelfie, n as validateUploadResponse, r as processFace } from "./selfieErrorUtils-DCRRRj38.esm.js";
7
7
  /**
@@ -1,9 +1,9 @@
1
1
  import { n as getApi } from "./api-Bx3gKW_y.esm.js";
2
- import { h as noteSessionCreated, l as trueSightLog } from "./trueSightService-DGkNMx-E.esm.js";
3
- import "./sessionInitializer-B3g2uAsl.esm.js";
2
+ import { h as noteSessionCreated, l as trueSightLog } from "./trueSightService-BIbE2pK1.esm.js";
3
+ import "./sessionInitializer-B58TmxdW.esm.js";
4
4
  import { t as endpoints } from "./endpoints-DOfmJylF.esm.js";
5
- import "./trueSight-DWfPmAL_.esm.js";
6
- import { r as toIncodeApiError } from "./apiError-CzR7Y6Ua.esm.js";
5
+ import "./trueSight-D7YiTge6.esm.js";
6
+ import { r as toIncodeApiError } from "./apiError-CS9ZMDr2.esm.js";
7
7
  //#region src/internal/session/sessionService.ts
8
8
  /**
9
9
  * HTTP status codes the QR validation endpoint emits, keyed by their semantic
@@ -1,5 +1,5 @@
1
- import { i as initializeSession } from "./sessionInitializer-B3g2uAsl.esm.js";
2
- import { t as IncodeApiError } from "./apiError-CzR7Y6Ua.esm.js";
3
- import { a as refreshQrUrlUuid, i as createSession, n as QrValidationError, o as validateQrUuid, r as bootstrapSession, t as QR_VALIDATION_ERROR_CODES } from "./session-XugVyrIq.esm.js";
4
- import { n as getFinishStatus } from "./flowCompletionService-D_DJ1dNA.esm.js";
1
+ import { i as initializeSession } from "./sessionInitializer-B58TmxdW.esm.js";
2
+ import { t as IncodeApiError } from "./apiError-CS9ZMDr2.esm.js";
3
+ import { a as refreshQrUrlUuid, i as createSession, n as QrValidationError, o as validateQrUuid, r as bootstrapSession, t as QR_VALIDATION_ERROR_CODES } from "./session-DWfXLkyx.esm.js";
4
+ import { n as getFinishStatus } from "./flowCompletionService-C77_-GvG.esm.js";
5
5
  export { IncodeApiError, QR_VALIDATION_ERROR_CODES, QrValidationError, bootstrapSession, createSession, getFinishStatus, initializeSession, refreshQrUrlUuid, validateQrUuid };
@@ -1,9 +1,9 @@
1
1
  import { _ as updateFeatureManagementUser } from "./feature-management-CFRmD8Nr.esm.js";
2
2
  import { c as setToken, r as getToken, t as api } from "./api-Bx3gKW_y.esm.js";
3
- import { _ as noteTokenActivated, d as fetchFeatureConfig, f as isFeatureEnabled, l as trueSightLog, m as noteEnvironment, p as resetFeatureConfigCache, s as startTrueSightCollection, v as SDK_VERSION } from "./trueSightService-DGkNMx-E.esm.js";
3
+ import { _ as noteTokenActivated, d as fetchFeatureConfig, f as isFeatureEnabled, l as trueSightLog, m as noteEnvironment, p as resetFeatureConfigCache, s as startTrueSightCollection, v as SDK_VERSION } from "./trueSightService-BIbE2pK1.esm.js";
4
4
  import { v as addEvent, y as getAnalyticsBatcher } from "./events-ethtfu2b.esm.js";
5
5
  import { t as endpoints } from "./endpoints-DOfmJylF.esm.js";
6
- import "./trueSight-DWfPmAL_.esm.js";
6
+ import "./trueSight-D7YiTge6.esm.js";
7
7
  import { n as flushDeviceStatsQueue, r as resetDeviceStatsQueue } from "./stats-6sK3f5pc.esm.js";
8
8
  import { n as UAParser, t as getParsedUserAgent } from "./getParsedUserAgent-pJjATANs.esm.js";
9
9
  import { r as isIOS } from "./platform-Cd_yWGNG.esm.js";
@@ -5,14 +5,14 @@ import { t as BrowserTimerProvider } from "./BrowserTimerProvider-BXhgNxLt.esm.j
5
5
  import { b as resetEnvironment, d as initializeFeatureManagement, h as resetFeatureManagementProviderInstance, l as getIsFeatureManagementLocked, m as resetFeatureManagement, p as optOutFeatureManagement, v as applyEnvironment, y as getEnvironment } from "./feature-management-CFRmD8Nr.esm.js";
6
6
  import { t as getTimestamp } from "./IBrowserEnvironmentCapability-DEaRRk-R.esm.js";
7
7
  import { a as resetApi, i as isApiConfigured, n as getApi, r as getToken, s as setHttpRequestObserver, t as api } from "./api-Bx3gKW_y.esm.js";
8
- import { C as upgradeToWasmHttpClient$1, S as resetHttpClientState, b as getStoredHttpConfig, g as noteTestingSignals, l as trueSightLog, n as initializeTrueSightDiagnostics, o as resetTrueSight, t as finalizeTrueSight, u as categoryForEndpoint, x as installFreshHttpClient } from "./trueSightService-DGkNMx-E.esm.js";
8
+ import { C as upgradeToWasmHttpClient$1, S as resetHttpClientState, b as getStoredHttpConfig, g as noteTestingSignals, l as trueSightLog, n as initializeTrueSightDiagnostics, o as resetTrueSight, t as finalizeTrueSight, u as categoryForEndpoint, x as installFreshHttpClient } from "./trueSightService-BIbE2pK1.esm.js";
9
9
  import { b as resetAnalyticsBatcher, c as resetExperimentAssignments, x as setAnalyticsBatcher, y as getAnalyticsBatcher } from "./events-ethtfu2b.esm.js";
10
- import { a as resetSessionInit, d as resolveStandaloneFlowPolicy, f as setStandaloneFlowPolicy, i as initializeSession, l as registerFlowPreloader, o as setClientFingerprintEnabled, s as setClientIpLookupEnabled, u as resetStandaloneFlowPolicy, v as BrowserEnvironmentProvider } from "./sessionInitializer-B3g2uAsl.esm.js";
10
+ import { a as resetSessionInit, d as resolveStandaloneFlowPolicy, f as setStandaloneFlowPolicy, i as initializeSession, l as registerFlowPreloader, o as setClientFingerprintEnabled, s as setClientIpLookupEnabled, u as resetStandaloneFlowPolicy, v as BrowserEnvironmentProvider } from "./sessionInitializer-B58TmxdW.esm.js";
11
11
  import { t as endpoints } from "./endpoints-DOfmJylF.esm.js";
12
- import "./trueSight-DWfPmAL_.esm.js";
12
+ import "./trueSight-D7YiTge6.esm.js";
13
13
  import { r as resetDeviceStatsQueue, t as addDeviceStats } from "./stats-6sK3f5pc.esm.js";
14
14
  import { a as resetTRI, n as initializeTRI, o as resetTRIProviderInstance } from "./tri-4RsGrIt6.esm.js";
15
- import { n as preloadDashboardFlow, r as resetDashboardFlowCache } from "./flowServices-ZgW3UGcz.esm.js";
15
+ import { n as preloadDashboardFlow, r as resetDashboardFlowCache } from "./flowServices-BuSZYjB9.esm.js";
16
16
  //#region ../infra/src/providers/browser/BrowserPageLifecycleProvider.ts
17
17
  var BrowserPageLifecycleProvider = class {
18
18
  sendBeacon(url, body, contentType = "application/json") {
@@ -0,0 +1 @@
1
+ import "./trueSightService-BIbE2pK1.esm.js";
@@ -724,7 +724,7 @@ function epochMsToIsoString(epochMs) {
724
724
  }
725
725
  //#endregion
726
726
  //#region src/internal/version/sdkVersion.ts
727
- const SDK_VERSION = "0.0.0-dev-20260729-9e7b030a";
727
+ const SDK_VERSION = "0.0.0-dev-20260729-a31df3b7";
728
728
  //#endregion
729
729
  //#region src/internal/trueSight/recordBuilder.ts
730
730
  /**
@@ -1,237 +1,9 @@
1
1
  import { t as CameraStream } from "./camera-9wWD-pwg.js";
2
- import { n as StreamCanvasCapture, r as IncodeCanvas, t as DeepsightService } from "./deepsightService-CR-CYdka.js";
3
- import { a as MLProviderConfig, i as IMLProviderCapability, n as IRecordingCapability, r as RecordingConnection, t as IStorageCapability } from "./IStorageCapability-B8IGxCwe.js";
2
+ import { n as IRecordingCapability, o as IncodeCanvas, r as RecordingConnection, t as IStorageCapability } from "./IStorageCapability-ORkQfK3F.js";
4
3
  import { a as RegulationTypes, n as Flow, o as TutorialIdConfig } from "./types-KPvmag_B.js";
5
4
  import { t as PermissionResult } from "./types-BT-aiBYV.js";
6
- //#region ../infra/src/wasm/apiUtilities.d.ts
7
- /**
8
- * Shared WASM module loader.
9
- *
10
- * The pinned `webLib.wasm` (see `wasmDefaults.ts`) bundles BOTH the ML pipeline
11
- * APIs (used by `mlWasmJSApi.ts`) AND a C++ `WebClient` HTTP client (used by
12
- * `wasmWebClient.ts`). Both consumers must share a single instantiated
13
- * `wasmModule` — calling the glue `Module()` factory twice would re-instantiate
14
- * the WASM heap and produce divergent state.
15
- *
16
- * This module memoizes the load: the first caller (whichever arrives first —
17
- * ML init or HTTP init) triggers the fetch + glue load, and subsequent callers
18
- * await the same promise. Idempotent on success; on failure, the singleton is
19
- * cleared so the next caller retries.
20
- *
21
- * SIMD fallback mirrors the legacy behavior: try the SIMD binary + SIMD glue
22
- * (`webLibSimd.js` + `webLibSimd.wasm`) first, fall back to the non-SIMD pair
23
- * (`webLib.js` + `webLib.wasm`) on instantiation failure. Each binary MUST be
24
- * paired with its matching glue — the CDN ships them as paired artifacts and
25
- * mixing them produces an unusable module.
26
- */
27
- declare global {
28
- interface Window {
29
- Module?: WasmGlueFactory;
30
- wasmArrayBuffer: Uint8Array | null;
31
- }
32
- }
33
- /** Opaque handle for the loaded WASM module instance. */
34
- type WasmModule = Record<string, unknown>;
35
- type WasmGlueFactory = () => Promise<WasmModule>;
36
- //#endregion
37
- //#region ../infra/src/wasm/mlWasmBridgeTypes.d.ts
38
- /**
39
- * Decoded PDF417 barcode surfaced from the WASM ID-capture pipeline during
40
- * US Smart Capture. Mirrors SDK 1's `Pdf417DecodeResult`.
41
- */
42
- type Pdf417DecodeResult = {
43
- text: string;
44
- ecLevel: string;
45
- rowNumber: number;
46
- columnNumber: number;
47
- codewordLengthInPixelsMin: number;
48
- codewordLengthInPixelsMax: number;
49
- correctedErrorsCount: number;
50
- };
51
- //#endregion
52
- //#region ../infra/src/capabilities/IIdCaptureCapability.d.ts
53
- /**
54
- * Configuration for ID capture provider.
55
- * Extends base ML provider config with ID-capture specific options.
56
- */
57
- interface IdCaptureConfig$1 extends MLProviderConfig {
58
- /**
59
- * Load the video-selfie ID workflow (`IdVideoSelfiePipeline`, the simplified
60
- * ID-capture pipeline without a capturing-manager timer, used by the
61
- * video-selfie flow) instead of the default blur/glare ID pipeline.
62
- */
63
- videoSelfie?: boolean;
64
- }
65
- interface IdCaptureThresholds$1 {
66
- blurThreshold: number;
67
- blurChangeThreshold: number;
68
- glareThreshold: number;
69
- clsThreshold: number;
70
- sideThreshold: number;
71
- iouThreshold: number;
72
- idDetectedTimeout: number;
73
- autocaptureTimeout: number;
74
- framesAggregationInterval: number;
75
- }
76
- interface IdCaptureGeometry$1 {
77
- areaDown: number;
78
- areaUp: number;
79
- areaIOSPassportUp: number;
80
- areaIOSPassportDown: number;
81
- widthIOSUp: number;
82
- widthIOSDown: number;
83
- widthDown: number;
84
- widthUp: number;
85
- windowOuterWidth: number;
86
- windowOuterHeight: number;
87
- windowInnerWidth: number;
88
- windowInnerHeight: number;
89
- }
90
- interface IdCaptureSettings {
91
- isFixedMask: boolean;
92
- isIPhone14OrHigher: boolean;
93
- idType: string;
94
- blurCheckEnabled: boolean;
95
- glareCheckEnabled: boolean;
96
- faceQualityCheckEnabled: boolean;
97
- iouCheckEnabled: boolean;
98
- fpsLimitEnabled: boolean;
99
- }
100
- type IdCaptureModelType = 'v1' | 'v2' | 'v3';
101
- type DetectionOrientation = 'horizontal' | 'vertical';
102
- interface IdCaptureCallbacks {
103
- onFarAway?: () => void;
104
- onDetectionStarted?: () => void;
105
- onMaskChange?: (show: boolean, mask: boolean, top: number, orientation: DetectionOrientation) => void;
106
- onBlur?: () => void;
107
- onGlare?: () => void;
108
- onCapturing?: () => void;
109
- onCapture?: () => void;
110
- onBestFrame?: (blur: number, glare: number, orientation: string) => void;
111
- onIdNotDetected?: () => void;
112
- onSwitchToManualCapture?: () => void;
113
- onIdTypeChange?: (idType: string) => void;
114
- onIdSideChange?: (side: string) => void;
115
- onCapturingCounterValueChange?: (value: number) => void;
116
- /**
117
- * Fires when the WASM pipeline decodes a PDF417 barcode from the back of the
118
- * ID during US Smart Capture. Only fires when barcode capture is enabled via
119
- * `setBarcodeCaptureEnabled(true)`.
120
- */
121
- onBarcodeDecoded?: (decoded: Pdf417DecodeResult) => void;
122
- }
123
- /**
124
- * WASM array type for quad coordinates.
125
- * Use .get(index) instead of [index] to access elements.
126
- */
127
- interface QuadArray {
128
- get(index: number): {
129
- x: number;
130
- y: number;
131
- };
132
- size?(): number;
133
- length?: number;
134
- }
135
- interface IdCaptureProcessResult {
136
- cls: number;
137
- blur: number;
138
- glare: number;
139
- quad: QuadArray;
140
- barQuad: QuadArray;
141
- side: string;
142
- size: number;
143
- idType: string;
144
- networkInferenceTime: number;
145
- }
146
- /**
147
- * Capability interface for ID document capture.
148
- * Extends the base ML provider capability with ID-capture specific methods.
149
- */
150
- interface IIdCaptureCapability extends IMLProviderCapability<IdCaptureConfig$1> {
151
- /**
152
- * Sets callbacks for ID capture events.
153
- * @param callbacks - Object containing callback functions for various capture events
154
- */
155
- setCallbacks(callbacks: IdCaptureCallbacks): void;
156
- /**
157
- * Sets detection thresholds for quality checks.
158
- * @param thresholds - Threshold values for blur, glare, and other quality metrics
159
- */
160
- setThresholds(thresholds: IdCaptureThresholds$1): void;
161
- /**
162
- * Sets geometry constraints for ID detection.
163
- * @param geometry - Geometry parameters for ID positioning
164
- */
165
- setGeometry(geometry: IdCaptureGeometry$1): void;
166
- /**
167
- * Sets capture settings.
168
- * @param settings - Configuration for capture behavior
169
- */
170
- setSettings(settings: IdCaptureSettings): void;
171
- /**
172
- * Sets the ML model type to use for ID detection.
173
- * @param modelType - Model version ('v1', 'v2', or 'v3')
174
- */
175
- setModelType(modelType: IdCaptureModelType): void;
176
- /**
177
- * Gets the last process result from the most recent frame processing.
178
- * Returns null if no frame has been processed yet.
179
- * @returns The last process result with quad coordinates, or null if not available
180
- */
181
- getLastProcessResult(): IdCaptureProcessResult | null;
182
- /**
183
- * Transforms the canvas using perspective correction based on frame coordinates.
184
- * @param canvas - The canvas to transform
185
- * @param frameRect - Frame rectangle in canvas coordinates (x, y, w, h)
186
- * @returns The transformed canvas
187
- */
188
- transformPerspective(canvas: IncodeCanvas, frameRect: {
189
- x: number;
190
- y: number;
191
- w: number;
192
- h: number;
193
- }): IncodeCanvas;
194
- /**
195
- * Gets the captured canvas (transformed for preview).
196
- * @returns The captured canvas, or null if not available
197
- */
198
- getCapturedCanvas(): IncodeCanvas | null;
199
- /**
200
- * Gets the original captured canvas (full frame for upload).
201
- * @returns The original captured canvas, or null if not available
202
- */
203
- getOriginalCapturedCanvas(): IncodeCanvas | null;
204
- /**
205
- * Sets the captured canvases (original and transformed).
206
- * Called by the state machine after capture and transformation.
207
- * @param original - The original full-frame canvas (for upload)
208
- * @param transformed - The transformed canvas (for preview)
209
- */
210
- setCapturedCanvases(original: IncodeCanvas, transformed: IncodeCanvas): void;
211
- /**
212
- * Enables/disables on-device PDF417 barcode capture on the detection loop.
213
- * Used by US Smart Capture (enabled only on the back side).
214
- */
215
- setBarcodeCaptureEnabled(enabled: boolean): void;
216
- /**
217
- * When true, the WASM pipeline auto-captures the frame on barcode decode. The
218
- * Flow keeps this false so the JS layer owns the submit decision.
219
- */
220
- setBarcodeAutoCaptureOnDecode(enabled: boolean): void;
221
- /**
222
- * Lazily loads the PDF417 enhancement model, resolved from the active WASM
223
- * config's models base path (so self-hosted deployments resolve it too).
224
- * Resolves to whether the model was applied — best-effort; decode still works
225
- * without it. Loaded at most once per provider instance.
226
- */
227
- setBarcodeEnhancementModel(): Promise<boolean>;
228
- /**
229
- * The most recently decoded PDF417 barcode, or null if none decoded since the
230
- * last reset. Complements the `onBarcodeDecoded` callback.
231
- */
232
- getLastDecodedBarcode(): Pdf417DecodeResult | null;
233
- }
234
- //#endregion
5
+ import { n as StreamCanvasCapture, t as DeepsightService } from "./deepsightService-DLVQS_RH.js";
6
+ import { i as Pdf417DecodeResult, n as IIdCaptureCapability, r as IdCaptureSettings, t as DetectionOrientation } from "./IIdCaptureCapability-Cj_aceph.js";
235
7
  //#region src/modules/id/manualUpload/types.d.ts
236
8
  type ManualUploadTab = 'id' | 'passport';
237
9
  type ManualUploadSide = 'front' | 'back' | 'passport';
@@ -520,6 +292,15 @@ type IdCaptureContext = {
520
292
  * path. Reset on side flip / retry.
521
293
  */
522
294
  barcodeFastPathAttempted: boolean;
295
+ /**
296
+ * True while `success` was reached via the pre-capture barcode fast path. The
297
+ * fast path grabs an unframed analyzing frame only as a backend "no front, no
298
+ * match" signal, so that frame must NOT be shown as a captured photo: the UI
299
+ * keeps the "Hold on a sec" spinner and the step auto-advances. Set on the
300
+ * fast-path submit's `onDone`, cleared on `success` exit (so a later
301
+ * best-frame / front `success` shows its real captured image as usual).
302
+ */
303
+ barcodeFastPathCaptured: boolean;
523
304
  recordingSession: RecordingSession | undefined;
524
305
  attemptsRemaining: number;
525
306
  /**
@@ -778,4 +559,4 @@ type IdCaptureOutput = {
778
559
  skipFaceMatch: boolean;
779
560
  } | undefined;
780
561
  //#endregion
781
- export { ManualUploadSide as A, RecordingSession as C, MANUAL_UPLOAD_MAX_FILE_SIZE_BYTES as D, MANUAL_UPLOAD_EXHAUSTION_FORWARD_MS as E, Pdf417DecodeResult as F, DetectionOrientation as M, IIdCaptureCapability as N, MANUAL_UPLOAD_MAX_RETRIES as O, IdCaptureSettings as P, IdFlowStep as S, IAnalyticsCapability as T, IdCaptureThresholds as _, DetectionArea as a, IdError as b, IdCaptureConfig as c, IdCaptureEvent as d, IdCaptureGeometry as f, IdCaptureOutput as g, IdCaptureOnlyConfig as h, CapturedImage as i, ManualUploadTab as j, ManualUploadContext as k, IdCaptureContext as l, IdCaptureMode as m, CaptureIdResponse as n, DetectionStatus as o, IdCaptureInput as p, CaptureOnlyResponse as r, ID_ERROR_CODES as s, AddBarcodeV3Response as t, IdCaptureDependencies as u, IdCapturedImageData as v, UploadIdResponse as w, IdErrorCode as x, IdDocumentType as y };
562
+ export { ManualUploadSide as A, RecordingSession as C, MANUAL_UPLOAD_MAX_FILE_SIZE_BYTES as D, MANUAL_UPLOAD_EXHAUSTION_FORWARD_MS as E, MANUAL_UPLOAD_MAX_RETRIES as O, IdFlowStep as S, IAnalyticsCapability as T, IdCaptureThresholds as _, DetectionArea as a, IdError as b, IdCaptureConfig as c, IdCaptureEvent as d, IdCaptureGeometry as f, IdCaptureOutput as g, IdCaptureOnlyConfig as h, CapturedImage as i, ManualUploadTab as j, ManualUploadContext as k, IdCaptureContext as l, IdCaptureMode as m, CaptureIdResponse as n, DetectionStatus as o, IdCaptureInput as p, CaptureOnlyResponse as r, ID_ERROR_CODES as s, AddBarcodeV3Response as t, IdCaptureDependencies as u, IdCapturedImageData as v, UploadIdResponse as w, IdErrorCode as x, IdDocumentType as y };
@@ -1,5 +1,5 @@
1
1
  import { i as FlowModuleConfig } from "./types-KPvmag_B.js";
2
- import { t as BaseFaceCaptureConfig } from "./types-BBQjIaK4.js";
2
+ import { t as BaseFaceCaptureConfig } from "./types-Hmd7U0JA.js";
3
3
  //#region src/modules/authentication/types.d.ts
4
4
  type AuthenticationConfig = FlowModuleConfig['AUTHENTICATION'] & BaseFaceCaptureConfig;
5
5
  //#endregion
@@ -1,5 +1,5 @@
1
1
  import { n as WasmPipeline } from "./warmup-Dv2alr2-.js";
2
- import { a as MLProviderConfig, n as IRecordingCapability, t as IStorageCapability } from "./IStorageCapability-B8IGxCwe.js";
2
+ import { a as MLProviderConfig, n as IRecordingCapability, t as IStorageCapability } from "./IStorageCapability-ORkQfK3F.js";
3
3
  import { t as AvatarAssetsOverrides } from "./IFaceAvatarCapability-BrL19G0s.js";
4
4
  import { n as Flow, s as SelfieConcealmentOption } from "./types-KPvmag_B.js";
5
5
  //#region ../infra/src/capabilities/IWasmUtilCapability.d.ts
@@ -3,82 +3,8 @@ import { A as StateMachine, _ as MachineContext, c as AnyEventObject, p as Event
3
3
  import "./StateMachine-EDpYWy0i.js";
4
4
  import "./Actor-iTq7YY48.js";
5
5
  import { t as CameraStream } from "./camera-9wWD-pwg.js";
6
- import { i as FlowModuleConfig } from "./types-KPvmag_B.js";
7
- import { n as DetectionStatus } from "./types-BBQjIaK4.js";
8
- //#region src/modules/video-selfie/types.d.ts
9
- /**
10
- * The capture steps a Video Selfie session can run, in flow order. Which steps
11
- * are active is derived from the module config (e.g. `checkIdScan` enables
12
- * `frontId`/`backId`, `checkVoiceConsent` enables `speech`).
13
- */
14
- type VideoSelfieStep = 'selfie' | 'frontId' | 'backId' | 'poa' | 'questions' | 'speech';
15
- /**
16
- * Public Video Selfie configuration. Mirrors the backend `VIDEO_ONBOARDING`
17
- * workflow module.
18
- *
19
- * The whole session is recorded on-device and streamed to the backend via S3
20
- * multipart upload (`internal/recordings/multipartRecordingService`) — the
21
- * client-side replacement for V1's server-side OpenVidu recording. See
22
- * `docs/features/VIDEO_SELFIE.md`.
23
- */
24
- type VideoSelfieConfig = FlowModuleConfig['VIDEO_ONBOARDING'];
25
- //#endregion
26
- //#region ../infra/src/capabilities/ICameraCapability.d.ts
27
- type FacingMode = 'user' | 'environment';
28
- //#endregion
29
- //#region ../infra/src/media/CameraCompositor.d.ts
30
- type CameraCompositorOptions = {
31
- fps?: number;
32
- };
33
- /**
34
- * Composites the *active* camera into a canvas and exposes the canvas as a
35
- * single, stable `MediaStream` to record. Switching cameras (front ↔ back)
36
- * just repoints what the canvas draws — the output stream and its audio track
37
- * are never replaced — so a single `MediaRecorder` produces one continuous
38
- * video that follows the camera switches (V1 parity), instead of restarting
39
- * per camera.
40
- *
41
- * The audio track from the initial stream is carried through unchanged across
42
- * video switches, so there's no audio glitch when the camera flips.
43
- */
44
- declare class CameraCompositor {
45
- private readonly fps;
46
- private readonly frameIntervalMs;
47
- private canvas;
48
- private ctx;
49
- private video;
50
- private frameRequestId;
51
- private frameRequestKind;
52
- private lastDrawTimeMs;
53
- private lastVideoTimeSeconds;
54
- private audioTrack;
55
- private videoTrack;
56
- private composite;
57
- constructor(options?: CameraCompositorOptions);
58
- /**
59
- * Begin compositing `stream` and return the composite stream to record. The
60
- * stream's audio track (if any) is carried through unchanged across later
61
- * `switchVideo` calls.
62
- */
63
- start(stream: CameraStream): MediaStream;
64
- /**
65
- * Swap the camera feeding the canvas without interrupting the composite
66
- * stream. Pass a video-only stream (audio is kept from `start`). The previous
67
- * video track is stopped.
68
- */
69
- switchVideo(stream: CameraStream): void;
70
- /** The composite stream being recorded, if compositing is active. */
71
- get stream(): MediaStream | undefined;
72
- /** Stop compositing and release the canvas, audio, and video tracks. */
73
- stop(): void;
74
- private setVideoSource;
75
- private startDrawLoop;
76
- private scheduleNextFrame;
77
- private cancelDrawLoop;
78
- private drawCurrentFrame;
79
- private getBoundedDimensions;
80
- }
81
- //#endregion
6
+ import { t as DetectionOrientation } from "./IIdCaptureCapability-Cj_aceph.js";
7
+ import { a as FacingMode, i as CameraCompositor, n as VideoSelfieDetectionStatus, o as VideoSelfieConfig, r as VideoSelfieValidationFailure, s as VideoSelfieStep, t as StepDetector } from "./videoSelfieStepDetector-144x423X.js";
82
8
  //#region src/internal/recordings/multipartRecordingService.d.ts
83
9
  type MultipartRecordingResult = {
84
10
  /**
@@ -115,30 +41,6 @@ declare class MultipartRecordingService {
115
41
  cleanup(): void;
116
42
  }
117
43
  //#endregion
118
- //#region src/modules/video-selfie/videoSelfieStepDetector.d.ts
119
- type VideoSelfieDetectionStatus = DetectionStatus | 'wrongSide';
120
- type VideoSelfieValidationFailure = 'selfieVerificationFailed' | 'nameVerificationFailed' | 'photoVerificationFailed' | 'idTypeMismatch' | 'idScanFailed';
121
- type StepDetectionResult = {
122
- outcome: 'success';
123
- } | {
124
- outcome: 'validationFailed';
125
- failure: VideoSelfieValidationFailure;
126
- } | {
127
- outcome: 'retryableFailure';
128
- failure: 'idScanFailed';
129
- };
130
- /**
131
- * Runs the WASM detection + backend validation for a single capture step over
132
- * the given camera stream. Returns either success or a typed validation
133
- * failure, rejects on technical failures, and never settles for manual steps.
134
- */
135
- type StepDetector = (params: {
136
- step: VideoSelfieStep;
137
- stream: MediaStream;
138
- signal: AbortSignal;
139
- onStatus?: (status: VideoSelfieDetectionStatus) => void;
140
- }) => Promise<StepDetectionResult>;
141
- //#endregion
142
44
  //#region src/modules/video-selfie/videoSelfieRecordingMachine.d.ts
143
45
  type VideoSelfieRecordingDependencies = {
144
46
  createRecordingService?: () => MultipartRecordingService;
@@ -177,6 +79,12 @@ type VideoSelfieRecordingState = {
177
79
  composite: MediaStream | undefined;
178
80
  /** Live per-step detection feedback (e.g. `tooFar`, `blur`, `detecting`). */
179
81
  detectionStatus: VideoSelfieDetectionStatus | undefined;
82
+ /**
83
+ * Live document orientation from the ID detector, when the pipeline
84
+ * reports one — the mask follows a rotated ID. `undefined` keeps the
85
+ * default fixed frame.
86
+ */
87
+ orientation: DetectionOrientation | undefined;
180
88
  /** Validation failure shown during the current retry/exhaustion dwell. */
181
89
  validationFailure: VideoSelfieValidationFailure | undefined;
182
90
  /** Remaining validation attempts for the active capture step; `-1` means unlimited. */