@incodetech/core 0.0.0-dev-20260818-8d8c8078 → 0.0.0-dev-20260819-0bebbdc2

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 (83) hide show
  1. package/dist/{BrowserDiagnosticsCryptoProvider-Cu1IKjNM.esm.js → BrowserDiagnosticsCryptoProvider-6aqaVS6s.esm.js} +1 -1
  2. package/dist/ae-signature.esm.js +1 -1
  3. package/dist/{apiError-CKBlCigk.esm.js → apiError-C8O9Jo18.esm.js} +1 -1
  4. package/dist/authentication.d.ts +3 -3
  5. package/dist/authentication.esm.js +2 -2
  6. package/dist/{authenticationManager-D1VqcMBJ.esm.js → authenticationManager-BDwG2MBg.esm.js} +2 -2
  7. package/dist/{authenticationManager-Cb4b4dgt.d.ts → authenticationManager-Bo5oW5Rh.d.ts} +1 -1
  8. package/dist/{authenticationStateMachine-BjnHIxpe.esm.js → authenticationStateMachine-B_k1nxxF.esm.js} +2 -2
  9. package/dist/curp-validation.d.ts +1 -1
  10. package/dist/{curpValidationManager-C_TQjX2P.d.ts → curpValidationManager-BAE-uh7L.d.ts} +1 -1
  11. package/dist/{deepsightLoader-CwhGc3xA.esm.js → deepsightLoader-DZOieIHK.esm.js} +3 -3
  12. package/dist/document-capture.d.ts +1 -1
  13. package/dist/document-upload.d.ts +4 -4
  14. package/dist/{documentCaptureManager-BykkLCQD.d.ts → documentCaptureManager-B3t0ydtg.d.ts} +1 -1
  15. package/dist/dynamic-forms.esm.js +2 -2
  16. package/dist/{dynamicFormsManager-DT2qxj2N.esm.js → dynamicFormsManager-CA2tDe_k.esm.js} +1 -1
  17. package/dist/{dynamicFormsStateMachine-DOQgp-9E.esm.js → dynamicFormsStateMachine-B4vHfk-3.esm.js} +1 -1
  18. package/dist/ekyb.d.ts +1 -1
  19. package/dist/ekyb.esm.js +3 -3
  20. package/dist/{ekybManager-DpdJpiHF.esm.js → ekybManager-DCQJu92m.esm.js} +1 -1
  21. package/dist/{ekybStateMachine-C_IZxlCB.esm.js → ekybStateMachine-DcNX5OXv.esm.js} +1 -1
  22. package/dist/electronic-signature.esm.js +1 -1
  23. package/dist/{electronicSignatureManager-DwWl9IZi.esm.js → electronicSignatureManager-C8pORqlF.esm.js} +1 -1
  24. package/dist/extensibility.d.ts +9 -9
  25. package/dist/extensibility.esm.js +9 -9
  26. package/dist/{faceCaptureManagerFactory-CKyaVKsu.d.ts → faceCaptureManagerFactory-C8MlI6-0.d.ts} +3 -3
  27. package/dist/{faceCaptureManagerFactory-BQRhQGax.esm.js → faceCaptureManagerFactory-DccAZCel.esm.js} +1 -1
  28. package/dist/{faceCaptureSetup-CojnhiBs.esm.js → faceCaptureSetup-eQ57H0LP.esm.js} +2 -2
  29. package/dist/flow-events.d.ts +1 -1
  30. package/dist/flow.d.ts +5 -5
  31. package/dist/flow.esm.js +3 -3
  32. package/dist/{flowCompletionService-C67N1vaw.esm.js → flowCompletionService-C6llWAAo.esm.js} +1 -1
  33. package/dist/{flowServices-DgCqlGY_.esm.js → flowServices-BwFbhVDV.esm.js} +3 -3
  34. package/dist/geolocation.esm.js +2 -2
  35. package/dist/{geolocationManager-CbA_9m_k.esm.js → geolocationManager-DIiUsJfx.esm.js} +1 -1
  36. package/dist/{geolocationStateMachine-KJiRrK1U.esm.js → geolocationStateMachine-C0RXwD9o.esm.js} +1 -1
  37. package/dist/home.d.ts +1 -1
  38. package/dist/id-selfie-flow.d.ts +1 -1
  39. package/dist/id-selfie-flow.esm.js +6 -6
  40. package/dist/id.d.ts +2 -2
  41. package/dist/id.esm.js +3 -3
  42. package/dist/{idCaptureManager-DlCqj6R1.d.ts → idCaptureManager-LCsgD9lb.d.ts} +2 -2
  43. package/dist/{idCaptureManager-45bnf4N4.esm.js → idCaptureManager-NBeR-cgG.esm.js} +2 -2
  44. package/dist/{idCaptureServices-P9EWJxOj.esm.js → idCaptureServices-p3NtcUxw.esm.js} +2 -2
  45. package/dist/{idCaptureStateMachine-CwaKLtJJ.esm.js → idCaptureStateMachine-BKbLET7m.esm.js} +7 -7
  46. package/dist/{index-BwudEtre.d.ts → index-LHJIYIKJ.d.ts} +1 -1
  47. package/dist/index.esm.js +1 -1
  48. package/dist/mandatory-consent.d.ts +2 -2
  49. package/dist/{mandatoryConsentManager-BZpKPJ1b.d.ts → mandatoryConsentManager-Cz98fh9O.d.ts} +1 -1
  50. package/dist/{onDeviceFaceResults-CDDraq7B.esm.js → onDeviceFaceResults-DFirNde6.esm.js} +3 -3
  51. package/dist/personhood.d.ts +1 -1
  52. package/dist/personhood.esm.js +3 -3
  53. package/dist/qe-signature.esm.js +1 -1
  54. package/dist/{recordingService-Bf2UJ7NW.esm.js → recordingService-Cs-zgcly.esm.js} +1 -1
  55. package/dist/{runChildModule-DWb9CUDi.esm.js → runChildModule-CJBpdJ9L.esm.js} +1 -1
  56. package/dist/selfie.d.ts +3 -3
  57. package/dist/selfie.esm.js +4 -4
  58. package/dist/{selfieManager-BiKEmAq3.esm.js → selfieManager-C6nSxXbC.esm.js} +2 -2
  59. package/dist/{selfieManager-Dxj984_L.d.ts → selfieManager-yz6zt2t0.d.ts} +1 -1
  60. package/dist/{selfieStateMachine-CH-eKkT_.esm.js → selfieStateMachine-CNBYEUhy.esm.js} +2 -2
  61. package/dist/{session-CjhWOIqO.esm.js → session-BpBMD2qe.esm.js} +4 -4
  62. package/dist/session.d.ts +1 -1
  63. package/dist/session.esm.js +4 -4
  64. package/dist/{sessionInitializer-DLUuR_hw.esm.js → sessionInitializer-CNBU6Zmm.esm.js} +2 -2
  65. package/dist/{setup-CTLBAXkq.esm.js → setup-MP1cPm8J.esm.js} +4 -4
  66. package/dist/trueSight-B42F3cH3.esm.js +1 -0
  67. package/dist/{trueSightService-DxdwurF6.esm.js → trueSightService-7S24UFNk.esm.js} +2 -2
  68. package/dist/{types-W5OCjqmi.d.ts → types-BNs7Klh_.d.ts} +1 -1
  69. package/dist/{types-RMhiEIm9.d.ts → types-CaqgEfzk.d.ts} +1 -1
  70. package/dist/{types-s0fF3TpX.d.ts → types-DNNUCM_n.d.ts} +1 -0
  71. package/dist/types-Dm7dzIXw.d.ts +6 -0
  72. package/dist/{types-BlrYfFj3.d.ts → types-DqtyPNWa.d.ts} +1 -1
  73. package/dist/{types-BUdX2CB-.d.ts → types-XXfuK9d8.d.ts} +1 -1
  74. package/dist/video-selfie.d.ts +27 -6
  75. package/dist/video-selfie.esm.js +213 -93
  76. package/dist/{videoSelfieCameraWarmer-DNbH5cem.esm.js → videoSelfieCameraWarmer-BIRjIgms.esm.js} +2 -2
  77. package/dist/{videoSelfieStepDetector-SuOT83r7.d.ts → videoSelfieStepDetector-CcBSD8Gc.d.ts} +2 -2
  78. package/dist/wasm.esm.js +1 -1
  79. package/dist/workflow.d.ts +5 -5
  80. package/dist/workflow.esm.js +14 -14
  81. package/package.json +3 -3
  82. package/dist/trueSight-DgMn_r0u.esm.js +0 -1
  83. package/dist/types-OehE3PKn.d.ts +0 -6
@@ -5,8 +5,8 @@ import { c as createManager, o as createActor } from "./xstate.esm-Cf4e0Cfd.esm.
5
5
  import { t as setWasmDsFlagSync } from "./wasmDsFlagSync-Dd7Yj25O.esm.js";
6
6
  import { t as BrowserVisibilityObserverProvider } from "./BrowserVisibilityObserverProvider-BX1BiLDK.esm.js";
7
7
  import { o as resetWasmMotionPrimedForModule, r as primeMotionFromUserGestureIfNeeded } from "./permissionServices-BPUkbztJ.esm.js";
8
- import { n as getManualUploadTabs, t as idCaptureMachine } from "./idCaptureStateMachine-CwaKLtJJ.esm.js";
9
- import { m as resolveIdCaptureThresholds, p as resolveCaptureResultPreviewTreatment } from "./idCaptureServices-P9EWJxOj.esm.js";
8
+ import { n as getManualUploadTabs, t as idCaptureMachine } from "./idCaptureStateMachine-BKbLET7m.esm.js";
9
+ import { m as resolveIdCaptureThresholds, p as resolveCaptureResultPreviewTreatment } from "./idCaptureServices-p3NtcUxw.esm.js";
10
10
  //#region src/modules/id/digitalUpload/instrumentation.ts
11
11
  const TERMINAL_REASONS = /* @__PURE__ */ new Set(["DIGITAL_ID_REQUESTED_BUT_OTHER_PROVIDED", "ID_TYPE_UNACCEPTABLE"]);
12
12
  function isHoldingState(value) {
@@ -2,10 +2,10 @@ import { i as numberParam, n as defineExperimentParams, t as booleanParam, u as
2
2
  import { t as api } from "./api-Bx3gKW_y.esm.js";
3
3
  import { t as endpoints } from "./endpoints-CCzL3XD_.esm.js";
4
4
  import { i as isDesktop } from "./platform-Q4r1nvWX.esm.js";
5
- import { h as stopRecording$1, m as startRecording, p as createRecordingSession } from "./onDeviceFaceResults-CDDraq7B.esm.js";
5
+ import { h as stopRecording$1, m as startRecording, p as createRecordingSession } from "./onDeviceFaceResults-DFirNde6.esm.js";
6
6
  import { n as getBackCameraStream } from "./backCameraStream-BMGalshK.esm.js";
7
7
  import { t as getDeviceClass } from "./getDeviceClass-Sh0zhEv7.esm.js";
8
- import { n as preloadOpenViduProvider } from "./recordingService-Bf2UJ7NW.esm.js";
8
+ import { n as preloadOpenViduProvider } from "./recordingService-Cs-zgcly.esm.js";
9
9
  import { n as DEFAULT_ID_CAPTURE_THRESHOLDS, r as IdCaptureProvider } from "./idCaptureDefaults-Dowxd3J3.esm.js";
10
10
  //#region src/modules/id/idCameraStream.ts
11
11
  async function getIdCameraStream(deviceId) {
@@ -2,17 +2,17 @@ import { t as BrowserTimerProvider } from "./BrowserTimerProvider-BXhgNxLt.esm.j
2
2
  import { s as exposeExperimentOnce } from "./feature-management-DS_Nj5Gg.esm.js";
3
3
  import { n as revokeObjectURL } from "./IBrowserEnvironmentCapability-DEaRRk-R.esm.js";
4
4
  import { r as getToken, t as api } from "./api-Bx3gKW_y.esm.js";
5
- import { c as trueSightHintTransition, l as trueSightLog, r as noteTrueSightCaptureActivity } from "./trueSightService-DxdwurF6.esm.js";
5
+ import { c as trueSightHintTransition, l as trueSightLog, r as noteTrueSightCaptureActivity } from "./trueSightService-7S24UFNk.esm.js";
6
6
  import { n as eventModuleNames, s as recordExperimentAssignmentOnce } from "./events-CxfNJVZW.esm.js";
7
- import { t as getDisableIpify } from "./sessionInitializer-DLUuR_hw.esm.js";
8
- import "./trueSight-DgMn_r0u.esm.js";
7
+ import { t as getDisableIpify } from "./sessionInitializer-CNBU6Zmm.esm.js";
8
+ import "./trueSight-B42F3cH3.esm.js";
9
9
  import { t as addDeviceStats } from "./stats-B0nFKawG.esm.js";
10
10
  import { t as isAndroid } from "./platform-Q4r1nvWX.esm.js";
11
- import "./session-CjhWOIqO.esm.js";
11
+ import "./session-BpBMD2qe.esm.js";
12
12
  import { a as and, n as sendTo, r as assign, s as not, t as setup } from "./xstate.esm-Cf4e0Cfd.esm.js";
13
13
  import { n as fromPromise, t as fromCallback } from "./xstate-actors.esm-CtI5S0f4.esm.js";
14
14
  import { n as invokeRequestPermissionActor, t as checkPermission } from "./permissionServices-BPUkbztJ.esm.js";
15
- import { _ as StreamCanvasProcessingSession } from "./onDeviceFaceResults-CDDraq7B.esm.js";
15
+ import { _ as StreamCanvasProcessingSession } from "./onDeviceFaceResults-DFirNde6.esm.js";
16
16
  import { t as sleep } from "./ITimerCapability-DgdDzp8G.esm.js";
17
17
  import { t as IncodeCanvas } from "./canvas-E1zGkel4.esm.js";
18
18
  import { t as getBrowser } from "./getBrowser-DNrQeL4T.esm.js";
@@ -20,7 +20,7 @@ import { n as getWindowDimensions } from "./getDeviceClass-CeBiEayS.esm.js";
20
20
  import { t as StreamCanvasCapture } from "./StreamCanvasCapture-D2XcXCZ4.esm.js";
21
21
  import { n as needsMotionPrimeOnlyFromPermission, r as resolveStoredPermissionResult, t as isReadyForCaptureFromPermission } from "./permissionGuards-BEgOUwwQ.esm.js";
22
22
  import { r as flagIdManualReview, t as imageFileToDataUrl } from "./imageFile-DutiOU7n.esm.js";
23
- import { a as processId, c as stopStream, d as validateUploadResponse, f as ID_ERROR_CODES, g as getIdCameraStream, h as CAPTURE_RESULT_PREVIEW, i as preloadIdRecordingProvider, l as uploadIdImage, m as resolveIdCaptureThresholds, o as startRecordingSession, r as initializeIdCapture, s as stopRecording, t as addBarcode, u as uploadManualIdFile } from "./idCaptureServices-P9EWJxOj.esm.js";
23
+ import { a as processId, c as stopStream, d as validateUploadResponse, f as ID_ERROR_CODES, g as getIdCameraStream, h as CAPTURE_RESULT_PREVIEW, i as preloadIdRecordingProvider, l as uploadIdImage, m as resolveIdCaptureThresholds, o as startRecordingSession, r as initializeIdCapture, s as stopRecording, t as addBarcode, u as uploadManualIdFile } from "./idCaptureServices-p3NtcUxw.esm.js";
24
24
  //#region src/modules/id/digitalUpload/digitalUploadErrors.ts
25
25
  const TERMINAL_FAIL_REASONS = /* @__PURE__ */ new Set(["DIGITAL_ID_REQUESTED_BUT_OTHER_PROVIDED", "ID_TYPE_UNACCEPTABLE"]);
26
26
  function isKnownFailReason(reason) {
@@ -1284,7 +1284,7 @@ const startRecordingActor = fromPromise(async ({ input }) => {
1284
1284
  });
1285
1285
  const initializeDeepsightSessionActor = fromPromise(async ({ input }) => {
1286
1286
  if (!input.dependencies) return;
1287
- const { loadDeepsightSession } = await import("./deepsightLoader-CwhGc3xA.esm.js");
1287
+ const { loadDeepsightSession } = await import("./deepsightLoader-DZOieIHK.esm.js");
1288
1288
  return loadDeepsightSession({
1289
1289
  ds: input.ds,
1290
1290
  storage: input.dependencies.storage,
@@ -1,5 +1,5 @@
1
1
  import "./Manager-CQQ99QOI.js";
2
- import { n as Flow } from "./types-s0fF3TpX.js";
2
+ import { n as Flow } from "./types-DNNUCM_n.js";
3
3
  import { n as FinishStatus } from "./flowCompletionService-BlAHsKyv.js";
4
4
  //#region src/internal/flow-events/flowEvents.d.ts
5
5
  type FlowStartedEvent = {
package/dist/index.esm.js CHANGED
@@ -1,2 +1,2 @@
1
- import { i as reset, r as isConfigured, s as setup } from "./setup-CTLBAXkq.esm.js";
1
+ import { i as reset, r as isConfigured, s as setup } from "./setup-MP1cPm8J.esm.js";
2
2
  export { isConfigured, reset, setup };
@@ -1,3 +1,3 @@
1
- import { r as MandatoryConsentConfig } from "./types-BlrYfFj3.js";
2
- import { a as MandatoryConsentActor, i as createMandatoryConsentManagerFromActor, n as MandatoryConsentState, o as mandatoryConsentMachine, r as createMandatoryConsentManager, t as MandatoryConsentManager } from "./mandatoryConsentManager-BZpKPJ1b.js";
1
+ import { r as MandatoryConsentConfig } from "./types-DqtyPNWa.js";
2
+ import { a as MandatoryConsentActor, i as createMandatoryConsentManagerFromActor, n as MandatoryConsentState, o as mandatoryConsentMachine, r as createMandatoryConsentManager, t as MandatoryConsentManager } from "./mandatoryConsentManager-Cz98fh9O.js";
3
3
  export { type MandatoryConsentActor, type MandatoryConsentConfig, type MandatoryConsentManager, type MandatoryConsentState, createMandatoryConsentManager, createMandatoryConsentManagerFromActor, mandatoryConsentMachine };
@@ -2,7 +2,7 @@ import { A as StateMachine, C as StateValue, D as PromiseActorLogic, a as ActorR
2
2
  import "./StateMachine-EDpYWy0i.js";
3
3
  import { t as Manager } from "./Manager-CQQ99QOI.js";
4
4
  import "./Actor-iTq7YY48.js";
5
- import { n as MandatoryConsent, r as MandatoryConsentConfig, t as FetchMandatoryConsentResponse } from "./types-BlrYfFj3.js";
5
+ import { n as MandatoryConsent, r as MandatoryConsentConfig, t as FetchMandatoryConsentResponse } from "./types-DqtyPNWa.js";
6
6
  //#region src/modules/mandatory-consent/mandatoryConsentStateMachine.d.ts
7
7
  type MandatoryConsentContext = {
8
8
  config: MandatoryConsentConfig;
@@ -1,8 +1,8 @@
1
1
  import { c as mlWasmJSApi_default, i as BaseWasmProvider } from "./safeStorage-2nOSCCnG.esm.js";
2
2
  import { r as getToken, t as api } from "./api-Bx3gKW_y.esm.js";
3
- import { c as trueSightHintTransition, l as trueSightLog, r as noteTrueSightCaptureActivity } from "./trueSightService-DxdwurF6.esm.js";
3
+ import { c as trueSightHintTransition, l as trueSightLog, r as noteTrueSightCaptureActivity } from "./trueSightService-7S24UFNk.esm.js";
4
4
  import { t as endpoints } from "./endpoints-CCzL3XD_.esm.js";
5
- import "./trueSight-DgMn_r0u.esm.js";
5
+ import "./trueSight-B42F3cH3.esm.js";
6
6
  import { t as addDeviceStats } from "./stats-B0nFKawG.esm.js";
7
7
  import { i as isDesktop, s as isIPhone14OrHigher } from "./platform-Q4r1nvWX.esm.js";
8
8
  import { a as stopCameraStream, r as requestCameraAccess } from "./camera-_2sXMXiF.esm.js";
@@ -523,7 +523,7 @@ async function stopRecording(session) {
523
523
  }
524
524
  }
525
525
  async function initializeDeepsightSession(options) {
526
- const { loadDeepsightSession } = await import("./deepsightLoader-CwhGc3xA.esm.js");
526
+ const { loadDeepsightSession } = await import("./deepsightLoader-DZOieIHK.esm.js");
527
527
  return loadDeepsightSession({
528
528
  ds: options.ds,
529
529
  storage: options.storage
@@ -6,7 +6,7 @@ import { t as CameraStream } from "./camera-9wWD-pwg.js";
6
6
  import { y as IncodeCanvas } from "./createFaceAvatar-pUEkdk4X.js";
7
7
  import { i as IStorageCapability, t as IWasmUtilCapability } from "./IWasmUtilCapability-5-Pncgma.js";
8
8
  import { n as PermissionStatus, t as PermissionResult } from "./types-BEwVKkLJ.js";
9
- import { n as DetectionStatus } from "./types-RMhiEIm9.js";
9
+ import { n as DetectionStatus } from "./types-CaqgEfzk.js";
10
10
  import { t as FaceDetectionProvider } from "./FaceDetectionProvider-Cn1wS-sA.js";
11
11
  import { n as StreamCanvasCapture, t as DeepsightService } from "./deepsightService-Dr7sNZ5r.js";
12
12
  //#region src/modules/personhood/types.d.ts
@@ -2,15 +2,15 @@ import { r as WasmUtilProvider } from "./safeStorage-2nOSCCnG.esm.js";
2
2
  import { t as BrowserStorageProvider } from "./BrowserStorageProvider-C8847M9W.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-DxdwurF6.esm.js";
5
+ import { b as getStoredHttpConfig, w as createApi$1, y as randomUUID } from "./trueSightService-7S24UFNk.esm.js";
6
6
  import { n as eventModuleNames } from "./events-CxfNJVZW.esm.js";
7
- import { _ as getDeviceFingerprintInfo, g as getThumbmarkId, n as getFingerprintEnabled, p as isBrowserSimulation, v as BrowserEnvironmentProvider } from "./sessionInitializer-DLUuR_hw.esm.js";
7
+ import { _ as getDeviceFingerprintInfo, g as getThumbmarkId, n as getFingerprintEnabled, p as isBrowserSimulation, v as BrowserEnvironmentProvider } from "./sessionInitializer-CNBU6Zmm.esm.js";
8
8
  import { t as endpoints } from "./endpoints-CCzL3XD_.esm.js";
9
9
  import { c as createManager, o as createActor, r as assign, t as setup } from "./xstate.esm-Cf4e0Cfd.esm.js";
10
10
  import { n as fromPromise, t as fromCallback } from "./xstate-actors.esm-CtI5S0f4.esm.js";
11
11
  import { a as stopCameraStream, r as requestCameraAccess } from "./camera-_2sXMXiF.esm.js";
12
12
  import { i as requestPermission, t as checkPermission } from "./permissionServices-BPUkbztJ.esm.js";
13
- import { f as stopStream, l as startDetection, s as initializeDeepsightSession, v as FaceDetectionProvider } from "./onDeviceFaceResults-CDDraq7B.esm.js";
13
+ import { f as stopStream, l as startDetection, s as initializeDeepsightSession, v as FaceDetectionProvider } from "./onDeviceFaceResults-DFirNde6.esm.js";
14
14
  import { t as sleep } from "./ITimerCapability-DgdDzp8G.esm.js";
15
15
  import { t as StreamCanvasCapture } from "./StreamCanvasCapture-D2XcXCZ4.esm.js";
16
16
  //#region src/modules/personhood/personhoodServices.ts
@@ -1,4 +1,4 @@
1
- import { a as QE_CONSENT_KEYS, c as getDefaultConsentChecks, o as areAllConsented, r as electronicSignatureMachine, t as createElectronicSignatureManager } from "./electronicSignatureManager-DwWl9IZi.esm.js";
1
+ import { a as QE_CONSENT_KEYS, c as getDefaultConsentChecks, o as areAllConsented, r as electronicSignatureMachine, t as createElectronicSignatureManager } from "./electronicSignatureManager-C8pORqlF.esm.js";
2
2
  //#region src/modules/qe-signature/index.ts
3
3
  function createQeSignatureManager(options) {
4
4
  return createElectronicSignatureManager({ config: {
@@ -1,5 +1,5 @@
1
1
  import { t as isAndroid } from "./platform-Q4r1nvWX.esm.js";
2
- import { d as stopRecording, g as uploadDeepsightVideo, u as startRecordingSession } from "./onDeviceFaceResults-CDDraq7B.esm.js";
2
+ import { d as stopRecording, g as uploadDeepsightVideo, u as startRecordingSession } from "./onDeviceFaceResults-DFirNde6.esm.js";
3
3
  import { t as getAdaptiveMediaRecorderOptions } from "./mediaRecorderOptions-vXDI73LZ.esm.js";
4
4
  //#region ../infra/src/media/VideoTrimmer.ts
5
5
  async function getDurationBySeek(videoBlob) {
@@ -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-DxdwurF6.esm.js";
2
+ import { a as notifyTrueSightManagerStopped, i as notifyTrueSightFlowEvent } from "./trueSightService-7S24UFNk.esm.js";
3
3
  import { C as createEventBus } from "./events-CxfNJVZW.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 { _ as SelfieCaptureOnlyConfig, a as SelfieCaptureOnlyMachine, c as SelfieActor, g as processFace, h as ProcessFaceResponse, i as SelfieCaptureOnlyActor, l as SelfieMachine, n as FaceCaptureManagerState, o as selfieCaptureOnlyMachine, r as CreateSelfieCaptureOnlyActorOptions, t as FaceCaptureManager, u as selfieMachine, v as SelfieConfig } from "./faceCaptureManagerFactory-CKyaVKsu.js";
2
+ import { _ as SelfieCaptureOnlyConfig, a as SelfieCaptureOnlyMachine, c as SelfieActor, g as processFace, h as ProcessFaceResponse, i as SelfieCaptureOnlyActor, l as SelfieMachine, n as FaceCaptureManagerState, o as selfieCaptureOnlyMachine, r as CreateSelfieCaptureOnlyActorOptions, t as FaceCaptureManager, u as selfieMachine, v as SelfieConfig } from "./faceCaptureManagerFactory-C8MlI6-0.js";
3
3
  import { t as CameraStream } from "./camera-9wWD-pwg.js";
4
4
  import { n as PermissionStatus, t as PermissionResult } from "./types-BEwVKkLJ.js";
5
- import { a as FaceCapturedImageData, i as FaceCaptureOnlyResponse, n as DetectionStatus, o as FaceErrorCode } from "./types-RMhiEIm9.js";
5
+ import { a as FaceCapturedImageData, i as FaceCaptureOnlyResponse, n as DetectionStatus, o as FaceErrorCode } from "./types-CaqgEfzk.js";
6
6
  import { t as DeepsightService } from "./deepsightService-Dr7sNZ5r.js";
7
- import { i as createSelfieManagerFromActor, n as SelfieState, r as createSelfieManager, t as SelfieManager } from "./selfieManager-Dxj984_L.js";
7
+ import { i as createSelfieManagerFromActor, n as SelfieState, r as createSelfieManager, t as SelfieManager } from "./selfieManager-yz6zt2t0.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-C8847M9W.e
3
3
  import { n as eventModuleNames } from "./events-CxfNJVZW.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-CojnhiBs.esm.js";
7
- import { t as createFaceCaptureManagerFromActor } from "./faceCaptureManagerFactory-BQRhQGax.esm.js";
6
+ import { t as faceCaptureMachine } from "./faceCaptureSetup-eQ57H0LP.esm.js";
7
+ import { t as createFaceCaptureManagerFromActor } from "./faceCaptureManagerFactory-DccAZCel.esm.js";
8
8
  import { r as processFace } from "./selfieErrorUtils-ArUCoICg.esm.js";
9
- import { t as selfieMachine } from "./selfieStateMachine-CH-eKkT_.esm.js";
10
- import { n as createSelfieManagerFromActor, t as createSelfieManager } from "./selfieManager-BiKEmAq3.esm.js";
9
+ import { t as selfieMachine } from "./selfieStateMachine-CNBYEUhy.esm.js";
10
+ import { n as createSelfieManagerFromActor, t as createSelfieManager } from "./selfieManager-C6nSxXbC.esm.js";
11
11
  import { t as invokeOnCaptureCallback } from "./invokeOnCaptureCallback-1m1VJ3Q4.esm.js";
12
12
  //#region src/modules/selfie/selfieCaptureOnlyStateMachine.ts
13
13
  /**
@@ -2,8 +2,8 @@ import { r as WasmUtilProvider } from "./safeStorage-2nOSCCnG.esm.js";
2
2
  import { t as BrowserStorageProvider } from "./BrowserStorageProvider-C8847M9W.esm.js";
3
3
  import { n as eventModuleNames } from "./events-CxfNJVZW.esm.js";
4
4
  import { o as createActor } from "./xstate.esm-Cf4e0Cfd.esm.js";
5
- import { t as createFaceCaptureManagerFromActor } from "./faceCaptureManagerFactory-BQRhQGax.esm.js";
6
- import { t as selfieMachine } from "./selfieStateMachine-CH-eKkT_.esm.js";
5
+ import { t as createFaceCaptureManagerFromActor } from "./faceCaptureManagerFactory-DccAZCel.esm.js";
6
+ import { t as selfieMachine } from "./selfieStateMachine-CNBYEUhy.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-CKyaVKsu.js";
3
+ import { c as SelfieActor, n as FaceCaptureManagerState, s as CreateSelfieActorOptions, t as FaceCaptureManager } from "./faceCaptureManagerFactory-C8MlI6-0.js";
4
4
  //#region src/modules/selfie/selfieManager.d.ts
5
5
  type SelfieState = FaceCaptureManagerState;
6
6
  /**
@@ -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 { n as manualFaceUploadMachine, t as faceCaptureMachine } from "./faceCaptureSetup-CojnhiBs.esm.js";
4
- import { i as prepareOnDeviceFaceUpload, n as isOnDeviceMode, r as postOnDeviceFaceResults, t as defaultPrepareFaceUpload } from "./onDeviceFaceResults-CDDraq7B.esm.js";
3
+ import { n as manualFaceUploadMachine, t as faceCaptureMachine } from "./faceCaptureSetup-eQ57H0LP.esm.js";
4
+ import { i as prepareOnDeviceFaceUpload, n as isOnDeviceMode, r as postOnDeviceFaceResults, t as defaultPrepareFaceUpload } from "./onDeviceFaceResults-DFirNde6.esm.js";
5
5
  import { t as FACE_ERROR_CODES } from "./types-BN5RPPIZ.esm.js";
6
6
  import { a as uploadSelfie, i as uploadManualSelfie, n as validateUploadResponse, r as processFace } from "./selfieErrorUtils-ArUCoICg.esm.js";
7
7
  //#region src/modules/selfie/selfieStateMachine.ts
@@ -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-DxdwurF6.esm.js";
3
- import "./sessionInitializer-DLUuR_hw.esm.js";
2
+ import { h as noteSessionCreated, l as trueSightLog } from "./trueSightService-7S24UFNk.esm.js";
3
+ import "./sessionInitializer-CNBU6Zmm.esm.js";
4
4
  import { t as endpoints } from "./endpoints-CCzL3XD_.esm.js";
5
- import "./trueSight-DgMn_r0u.esm.js";
6
- import { r as toIncodeApiError } from "./apiError-CKBlCigk.esm.js";
5
+ import "./trueSight-B42F3cH3.esm.js";
6
+ import { r as toIncodeApiError } from "./apiError-C8O9Jo18.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
package/dist/session.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { t as DeviceFingerprintResult } from "./types-W5OCjqmi.js";
1
+ import { t as DeviceFingerprintResult } from "./types-BNs7Klh_.js";
2
2
  import { n as FinishStatus, r as GetFinishStatusFn, s as getFinishStatus } from "./flowCompletionService-BlAHsKyv.js";
3
3
  //#region src/internal/session/sessionService.d.ts
4
4
  type CreateSessionOptions = {
@@ -1,5 +1,5 @@
1
- import { i as initializeSession } from "./sessionInitializer-DLUuR_hw.esm.js";
2
- import { t as IncodeApiError } from "./apiError-CKBlCigk.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-CjhWOIqO.esm.js";
4
- import { n as getFinishStatus } from "./flowCompletionService-C67N1vaw.esm.js";
1
+ import { i as initializeSession } from "./sessionInitializer-CNBU6Zmm.esm.js";
2
+ import { t as IncodeApiError } from "./apiError-C8O9Jo18.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-BpBMD2qe.esm.js";
4
+ import { n as getFinishStatus } from "./flowCompletionService-C6llWAAo.esm.js";
5
5
  export { IncodeApiError, QR_VALIDATION_ERROR_CODES, QrValidationError, bootstrapSession, createSession, getFinishStatus, initializeSession, refreshQrUrlUuid, validateQrUuid };
@@ -1,9 +1,9 @@
1
1
  import { E as updateFeatureManagementUser } from "./feature-management-DS_Nj5Gg.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-DxdwurF6.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-7S24UFNk.esm.js";
4
4
  import { v as addEvent, y as getAnalyticsBatcher } from "./events-CxfNJVZW.esm.js";
5
5
  import { t as endpoints } from "./endpoints-CCzL3XD_.esm.js";
6
- import "./trueSight-DgMn_r0u.esm.js";
6
+ import "./trueSight-B42F3cH3.esm.js";
7
7
  import { n as flushDeviceStatsQueue, r as resetDeviceStatsQueue } from "./stats-B0nFKawG.esm.js";
8
8
  import { n as UAParser, t as getParsedUserAgent } from "./getParsedUserAgent-pJjATANs.esm.js";
9
9
  import { a as isIOS } from "./platform-Q4r1nvWX.esm.js";
@@ -5,14 +5,14 @@ import { t as BrowserTimerProvider } from "./BrowserTimerProvider-BXhgNxLt.esm.j
5
5
  import { C as resetFeatureManagement, D as applyEnvironment, O as getEnvironment, S as optOutFeatureManagement, b as initializeFeatureManagement, c as resetResolvedExperiments, k as resetEnvironment, v as getIsFeatureManagementLocked, w as resetFeatureManagementProviderInstance } from "./feature-management-DS_Nj5Gg.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-DxdwurF6.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-7S24UFNk.esm.js";
9
9
  import { b as resetAnalyticsBatcher, c as resetExperimentAssignments, x as setAnalyticsBatcher, y as getAnalyticsBatcher } from "./events-CxfNJVZW.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-DLUuR_hw.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-CNBU6Zmm.esm.js";
11
11
  import { t as endpoints } from "./endpoints-CCzL3XD_.esm.js";
12
- import "./trueSight-DgMn_r0u.esm.js";
12
+ import "./trueSight-B42F3cH3.esm.js";
13
13
  import { r as resetDeviceStatsQueue, t as addDeviceStats } from "./stats-B0nFKawG.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-DgCqlGY_.esm.js";
15
+ import { n as preloadDashboardFlow, r as resetDashboardFlowCache } from "./flowServices-BwFbhVDV.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-7S24UFNk.esm.js";
@@ -727,7 +727,7 @@ function epochMsToIsoString(epochMs) {
727
727
  }
728
728
  //#endregion
729
729
  //#region src/internal/version/sdkVersion.ts
730
- const SDK_VERSION = "0.0.0-dev-20260818-8d8c8078";
730
+ const SDK_VERSION = "0.0.0-dev-20260819-0bebbdc2";
731
731
  //#endregion
732
732
  //#region src/internal/trueSight/recordBuilder.ts
733
733
  /**
@@ -1322,7 +1322,7 @@ let cryptoProviderPromise = null;
1322
1322
  * the service's prewarm).
1323
1323
  */
1324
1324
  function loadDiagnosticsCryptoProvider() {
1325
- cryptoProviderPromise ??= import("./BrowserDiagnosticsCryptoProvider-Cu1IKjNM.esm.js").then((module) => new module.BrowserDiagnosticsCryptoProvider());
1325
+ cryptoProviderPromise ??= import("./BrowserDiagnosticsCryptoProvider-6aqaVS6s.esm.js").then((module) => new module.BrowserDiagnosticsCryptoProvider());
1326
1326
  return cryptoProviderPromise;
1327
1327
  }
1328
1328
  /**
@@ -1,4 +1,4 @@
1
- import { a as RegulationTypes } from "./types-s0fF3TpX.js";
1
+ import { a as RegulationTypes } from "./types-DNNUCM_n.js";
2
2
  //#region src/internal/fingerprint/types.d.ts
3
3
  type DeviceFingerprintResult = {
4
4
  success: boolean;
@@ -1,5 +1,5 @@
1
1
  import { a as AvatarAssetsOverrides } from "./createFaceAvatar-pUEkdk4X.js";
2
- import { n as Flow, s as SelfieConcealmentOption } from "./types-s0fF3TpX.js";
2
+ import { n as Flow, s as SelfieConcealmentOption } from "./types-DNNUCM_n.js";
3
3
  import { a as IRecordingCapability, i as IStorageCapability, t as IWasmUtilCapability } from "./IWasmUtilCapability-5-Pncgma.js";
4
4
  //#region src/internal/faceCapture/types.d.ts
5
5
  type CameraResolution = {
@@ -292,6 +292,7 @@ type FlowModuleConfig = {
292
292
  /** Whether the consent audio is validated by backend speech-to-text. Default true. */
293
293
  speechToTextCheck?: boolean;
294
294
  selfieQualityAffectsScore: boolean;
295
+ /** Maximum active Video Selfie recording duration, in seconds. */
295
296
  maxWaitingVideoSelfieFile: number;
296
297
  lastSecondsVideoQualityCheck: boolean;
297
298
  lastSecondsVideoQualityCheckDuration: number;
@@ -0,0 +1,6 @@
1
+ import { i as FlowModuleConfig } from "./types-DNNUCM_n.js";
2
+ import { t as BaseFaceCaptureConfig } from "./types-CaqgEfzk.js";
3
+ //#region src/modules/authentication/types.d.ts
4
+ type AuthenticationConfig = FlowModuleConfig['AUTHENTICATION'] & BaseFaceCaptureConfig;
5
+ //#endregion
6
+ export { AuthenticationConfig as t };
@@ -1,4 +1,4 @@
1
- import { a as RegulationTypes } from "./types-s0fF3TpX.js";
1
+ import { a as RegulationTypes } from "./types-DNNUCM_n.js";
2
2
  //#region src/modules/mandatory-consent/types.d.ts
3
3
  type RegulatoryConsentType = 'MANDATORY' | 'ML';
4
4
  type MandatoryConsentConfig = {
@@ -1,6 +1,6 @@
1
1
  import { t as CameraStream } from "./camera-9wWD-pwg.js";
2
2
  import { y as IncodeCanvas } from "./createFaceAvatar-pUEkdk4X.js";
3
- import { a as RegulationTypes, n as Flow, o as TutorialIdConfig } from "./types-s0fF3TpX.js";
3
+ import { a as RegulationTypes, n as Flow, o as TutorialIdConfig } from "./types-DNNUCM_n.js";
4
4
  import { a as IRecordingCapability, i as IStorageCapability, o as RecordingConnection } from "./IWasmUtilCapability-5-Pncgma.js";
5
5
  import { t as PermissionResult } from "./types-BEwVKkLJ.js";
6
6
  import { n as StreamCanvasCapture, t as DeepsightService } from "./deepsightService-Dr7sNZ5r.js";
@@ -4,7 +4,16 @@ import "./StateMachine-EDpYWy0i.js";
4
4
  import "./Actor-iTq7YY48.js";
5
5
  import { t as CameraStream } from "./camera-9wWD-pwg.js";
6
6
  import { t as DetectionOrientation } from "./IIdCaptureCapability-DDWlQzhi.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-SuOT83r7.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-CcBSD8Gc.js";
8
+ //#region ../infra/src/capabilities/ITimerCapability.d.ts
9
+ type TimerHandle = ReturnType<typeof setTimeout>;
10
+ type ITimerCapability = {
11
+ setTimeout(callback: () => void, delayMs: number): TimerHandle;
12
+ setInterval(callback: () => void, delayMs: number): TimerHandle;
13
+ clearTimeout(handle: TimerHandle): void;
14
+ clearInterval(handle: TimerHandle): void;
15
+ };
16
+ //#endregion
8
17
  //#region src/internal/recordings/multipartRecordingService.d.ts
9
18
  type MultipartRecordingResult = {
10
19
  /**
@@ -38,9 +47,12 @@ declare class MultipartRecordingService {
38
47
  private session;
39
48
  private uploader;
40
49
  private chunksEmitted;
50
+ private stopPromise;
51
+ private abandonRequested;
41
52
  get isRecording(): boolean;
42
53
  start(stream: MediaStream): Promise<void>;
43
54
  stop(): Promise<MultipartRecordingResult>;
55
+ private finalizeRecording;
44
56
  cleanup(): void;
45
57
  /**
46
58
  * `complete` is idempotent server-side ("safe to repeat if the response
@@ -66,16 +78,19 @@ type VideoSelfieRecordingDependencies = {
66
78
  acquireCamera?: (facingMode: FacingMode, withAudio: boolean) => Promise<CameraStream>;
67
79
  /** Runs WASM detection + backend validation per step; resolves to advance. */
68
80
  detect?: StepDetector;
81
+ /** Timer used by the whole-session maximum recording duration. */
82
+ timer?: ITimerCapability;
69
83
  /** Minimum time to hold the switching-camera screen before resuming capture. */
70
84
  switchingCameraMinDwellMs?: number;
71
85
  };
72
86
  /**
73
87
  * Why the module errored: `connection` means a transport-level failure the
74
88
  * user can fix by getting back online (the UI shows the connection-error
75
- * copy); `technical` is everything else (raw detail stays in `error` for
76
- * diagnostics/hosts, the UI shows its generic fallback).
89
+ * copy); `technical` is every other recoverable failure (raw detail stays in
90
+ * `error` for diagnostics/hosts, the UI shows its generic fallback);
91
+ * `maxVideoLengthReached` is the configured recording limit.
77
92
  */
78
- type VideoSelfieErrorKind = 'connection' | 'technical';
93
+ type VideoSelfieErrorKind = 'connection' | 'technical' | 'maxVideoLengthReached';
79
94
  //#endregion
80
95
  //#region src/modules/video-selfie/videoSelfieRecordingActor.d.ts
81
96
  type CreateVideoSelfieRecordingActorOptions = {
@@ -116,12 +131,18 @@ type VideoSelfieRecordingState = {
116
131
  attemptsRemaining: number;
117
132
  /** The completed upload id, available during `success` and `finished`. */
118
133
  recordingId: string | null;
119
- /** Failure detail, set when `status === 'error'`. */
134
+ /**
135
+ * Failure detail for diagnostics, or the stable
136
+ * `maxVideoLengthReached` reason when the configured limit expires.
137
+ * Set when `status === 'error'`.
138
+ */
120
139
  error: string | undefined;
121
140
  /**
122
141
  * Why the module errored: `connection` (transport failure — the UI shows
123
142
  * the connection-error copy; raw detail stays in `error` for diagnostics)
124
- * or `technical` (everything else). Set when `status === 'error'`.
143
+ * or `technical` (recoverable technical failures), or
144
+ * `maxVideoLengthReached` (the configured recording limit). Set
145
+ * when `status === 'error'`.
125
146
  */
126
147
  errorKind: VideoSelfieErrorKind | undefined;
127
148
  };