@incodetech/core 0.0.0-dev-20260902-6bf995eb → 0.0.0-dev-20260903-c8e0666c

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 (66) hide show
  1. package/dist/{BrowserDiagnosticsCryptoProvider-DwmAfiwB.esm.js → BrowserDiagnosticsCryptoProvider-ejqefbNY.esm.js} +1 -1
  2. package/dist/ae-signature.esm.js +1 -1
  3. package/dist/{apiError-DhziHa4B.esm.js → apiError-DPqMZSEi.esm.js} +1 -1
  4. package/dist/authentication.d.ts +2 -2
  5. package/dist/authentication.esm.js +2 -2
  6. package/dist/{authenticationManager-CpFvm_na.esm.js → authenticationManager-BPlKfex7.esm.js} +3 -3
  7. package/dist/{authenticationManager-B3-y3IRx.d.ts → authenticationManager-Be64Kl4X.d.ts} +1 -1
  8. package/dist/{authenticationStateMachine-DZ_KW_eb.esm.js → authenticationStateMachine-B-1phjYZ.esm.js} +2 -2
  9. package/dist/{deepsightLoader-BCsoAbCL.esm.js → deepsightLoader-CaJ0dcec.esm.js} +2 -2
  10. package/dist/document-capture.d.ts +1 -1
  11. package/dist/{documentCaptureManager-DD0qtFdE.d.ts → documentCaptureManager-DensIj5F.d.ts} +1 -1
  12. package/dist/dynamic-forms.esm.js +2 -2
  13. package/dist/{dynamicFormsManager-DIkSROGe.esm.js → dynamicFormsManager-06qPzUyP.esm.js} +1 -1
  14. package/dist/{dynamicFormsStateMachine-DPMGFx9g.esm.js → dynamicFormsStateMachine-CqOxAuc_.esm.js} +1 -1
  15. package/dist/ekyb.esm.js +3 -3
  16. package/dist/{ekybManager-Dbyzu1GZ.esm.js → ekybManager-bTzRS5is.esm.js} +1 -1
  17. package/dist/{ekybStateMachine-D6ERRSpc.esm.js → ekybStateMachine-FvJbkgYQ.esm.js} +1 -1
  18. package/dist/electronic-signature.esm.js +1 -1
  19. package/dist/{electronicSignatureManager-YTvxmh25.esm.js → electronicSignatureManager-CfQHthbQ.esm.js} +1 -1
  20. package/dist/extensibility.d.ts +7 -7
  21. package/dist/extensibility.esm.js +10 -10
  22. package/dist/{faceCaptureManagerFactory-BKkwc_5_.esm.js → faceCaptureManagerFactory-BQkLYICd.esm.js} +1 -1
  23. package/dist/{faceCaptureManagerFactory-BWChOW_5.d.ts → faceCaptureManagerFactory-CzEyW5zU.d.ts} +11 -0
  24. package/dist/{faceCaptureSetup-xL2SFeyk.esm.js → faceCaptureSetup-CUsRzGJ3.esm.js} +26 -8
  25. package/dist/{feature-management-DhZKhR-O.esm.js → feature-management-DaLgoYcH.esm.js} +1 -1
  26. package/dist/feature-management.esm.js +1 -1
  27. package/dist/flow.esm.js +3 -3
  28. package/dist/{flowCompletionService-DxeTRrHM.esm.js → flowCompletionService-B7nxH29M.esm.js} +1 -1
  29. package/dist/{flowServices-DgVmmebu.esm.js → flowServices-CuKc1NZ9.esm.js} +4 -4
  30. package/dist/geolocation.esm.js +2 -2
  31. package/dist/{geolocationManager-B0LFtKtF.esm.js → geolocationManager-CXH1lvvt.esm.js} +1 -1
  32. package/dist/{geolocationStateMachine-CCYT-s6u.esm.js → geolocationStateMachine-B6Gt3lGZ.esm.js} +1 -1
  33. package/dist/id-selfie-flow.esm.js +7 -7
  34. package/dist/id.d.ts +2 -2
  35. package/dist/id.esm.js +5 -5
  36. package/dist/{idCaptureDefaults-DgGzVUmU.esm.js → idCaptureDefaults-Bi22Ik5T.esm.js} +1 -1
  37. package/dist/{idCaptureManager-DFUR_tVA.d.ts → idCaptureManager-B2UfP1pP.d.ts} +2 -1
  38. package/dist/{idCaptureManager-ECBbFIAT.esm.js → idCaptureManager-B_Vu3mfK.esm.js} +3 -3
  39. package/dist/{idCaptureServices-B5ASsfjX.esm.js → idCaptureServices-CT7f0Lmo.esm.js} +33 -8
  40. package/dist/{idCaptureStateMachine-F8G8jBSq.esm.js → idCaptureStateMachine-D3SjjMBA.esm.js} +35 -10
  41. package/dist/identity-reuse.d.ts +1 -1
  42. package/dist/{identityReuseManager-BFDI7iFK.d.ts → identityReuseManager-v2TH5g7e.d.ts} +4 -4
  43. package/dist/index.esm.js +1 -1
  44. package/dist/mandatory-consent.d.ts +1 -1
  45. package/dist/{mandatoryConsentManager-CSh8HjSF.d.ts → mandatoryConsentManager-BxrRrlBs.d.ts} +4 -4
  46. package/dist/{multipartRecordingService-BMuxdyLL.esm.js → multipartRecordingService-B3C_zlev.esm.js} +1 -0
  47. package/dist/{onDeviceFaceResults-BpdmWw3Z.esm.js → onDeviceFaceResults-JP7YWQ7s.esm.js} +9 -7
  48. package/dist/personhood.esm.js +4 -4
  49. package/dist/qe-signature.esm.js +1 -1
  50. package/dist/{runChildModule-D4Xiapvw.esm.js → runChildModule-D15_JtbQ.esm.js} +1 -1
  51. package/dist/{sdkVersion-C5w7mfrv.esm.js → sdkVersion-DLdddYfl.esm.js} +1 -1
  52. package/dist/selfie.d.ts +2 -2
  53. package/dist/selfie.esm.js +5 -5
  54. package/dist/{selfieManager-D0IU0qx7.d.ts → selfieManager-CvJ2RUGy.d.ts} +1 -1
  55. package/dist/{selfieManager-FWxSq5Dv.esm.js → selfieManager-DCvOFsW1.esm.js} +3 -3
  56. package/dist/{selfieStateMachine-CU7NYRVn.esm.js → selfieStateMachine-Dz2NFt-5.esm.js} +2 -2
  57. package/dist/{session-Bm4DVQLE.esm.js → session-DKjNv_PV.esm.js} +3 -3
  58. package/dist/session.esm.js +4 -4
  59. package/dist/{sessionInitializer-CJ_RHW0q.esm.js → sessionInitializer-D8y4pR5h.esm.js} +3 -3
  60. package/dist/{setup-D4Zh-sVr.esm.js → setup-Ck63mQZ2.esm.js} +4 -4
  61. package/dist/{trueSightService-JMWO92g9.esm.js → trueSightService-Cg47zLyh.esm.js} +2 -2
  62. package/dist/video-selfie.esm.js +5 -5
  63. package/dist/{videoSelfieCameraWarmer-LNxKbRCG.esm.js → videoSelfieCameraWarmer-BihS8Q74.esm.js} +3 -3
  64. package/dist/wasm.esm.js +1 -1
  65. package/dist/workflow.esm.js +14 -14
  66. package/package.json +1 -1
@@ -107,6 +107,7 @@ type StartRecordingParams = {
107
107
  };
108
108
  declare function preloadIdRecordingProvider(config: IdCaptureConfig): void;
109
109
  declare function startRecordingSession(params: StartRecordingParams): Promise<RecordingSession | undefined>;
110
+ declare function prepareRecordingForCameraRetry(session: RecordingSession): void;
110
111
  declare function stopRecording(session: RecordingSession): void;
111
112
  declare function processId(isSecondId?: boolean, queueName?: string, signal?: AbortSignal): Promise<{
112
113
  isDocumentExpired: boolean;
@@ -555,4 +556,4 @@ declare function createIdCaptureManager(options: CreateIdCaptureActorOptions): M
555
556
  deviceWalletUseAnotherMethod(): void;
556
557
  };
557
558
  //#endregion
558
- export { createIdCaptureActor as A, CreateIdCaptureOnlyActorOptions as C, idCaptureOnlyMachine as D, IdCaptureOnlyMachine as E, idCaptureMachine as M, CreateIdCaptureActorOptions as O, validateUploadResponse as S, createIdCaptureOnlyActor as T, startRecordingSession as _, AddBarcodeParams as a, uploadIdImage as b, StartRecordingParams as c, ValidationError as d, addBarcode as f, processId as g, preloadIdRecordingProvider as h, createIdCaptureManagerFromActor as i, IdCaptureMachine as j, IdCaptureActor as k, UploadIdImageParams as l, initializeIdCapture as m, IdCaptureManager as n, IdCaptureInitResult as o, barcodeToBase64 as p, IdCaptureState as r, InitializeIdCaptureParams as s, createIdCaptureManager as t, UploadManualIdFileParams as u, stopRecording as v, IdCaptureOnlyActor as w, uploadManualIdFile as x, stopStream as y };
559
+ export { IdCaptureActor as A, validateUploadResponse as C, IdCaptureOnlyMachine as D, createIdCaptureOnlyActor as E, IdCaptureMachine as M, idCaptureMachine as N, idCaptureOnlyMachine as O, uploadManualIdFile as S, IdCaptureOnlyActor as T, processId as _, AddBarcodeParams as a, stopStream as b, StartRecordingParams as c, ValidationError as d, addBarcode as f, prepareRecordingForCameraRetry as g, preloadIdRecordingProvider as h, createIdCaptureManagerFromActor as i, createIdCaptureActor as j, CreateIdCaptureActorOptions as k, UploadIdImageParams as l, initializeIdCapture as m, IdCaptureManager as n, IdCaptureInitResult as o, barcodeToBase64 as p, IdCaptureState as r, InitializeIdCaptureParams as s, createIdCaptureManager as t, UploadManualIdFileParams as u, startRecordingSession as v, CreateIdCaptureOnlyActorOptions as w, uploadIdImage as x, stopRecording as y };
@@ -1,12 +1,12 @@
1
- import { l as BrowserStorageProvider } from "./setup-D4Zh-sVr.esm.js";
1
+ import { l as BrowserStorageProvider } from "./setup-Ck63mQZ2.esm.js";
2
2
  import { n as eventModuleNames, o as createManagerInstrumentation } from "./events-ijlbX_Wx.esm.js";
3
3
  import { t as topLevelStateName } from "./topLevelStateName-B5i2avbh.esm.js";
4
4
  import { s as createActor, u as createManager } from "./xstate.esm-BuFLFuzz.esm.js";
5
5
  import { t as setWasmDsFlagSync } from "./wasmDsFlagSync-CyCdsfox.esm.js";
6
6
  import { t as BrowserVisibilityObserverProvider } from "./BrowserVisibilityObserverProvider-BrJN1B8A.esm.js";
7
7
  import { o as resetWasmMotionPrimedForModule, r as primeMotionFromUserGestureIfNeeded } from "./permissionServices-J5S1dEIf.esm.js";
8
- import { n as getManualUploadTabs, t as idCaptureMachine } from "./idCaptureStateMachine-F8G8jBSq.esm.js";
9
- import { m as resolveIdCaptureThresholds, p as resolveCaptureOptimizingTreatment } from "./idCaptureServices-B5ASsfjX.esm.js";
8
+ import { n as getManualUploadTabs, t as idCaptureMachine } from "./idCaptureStateMachine-D3SjjMBA.esm.js";
9
+ import { h as resolveIdCaptureThresholds, m as resolveCaptureOptimizingTreatment } from "./idCaptureServices-CT7f0Lmo.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) {
@@ -1,5 +1,5 @@
1
- import { t as ensureWasmPipelines } from "./setup-D4Zh-sVr.esm.js";
2
- import { i as numberParam, n as defineExperimentParams, t as booleanParam, u as resolveExperimentOnce } from "./feature-management-DhZKhR-O.esm.js";
1
+ import { t as ensureWasmPipelines } from "./setup-Ck63mQZ2.esm.js";
2
+ import { i as numberParam, n as defineExperimentParams, t as booleanParam, u as resolveExperimentOnce } from "./feature-management-DaLgoYcH.esm.js";
3
3
  import { t as api } from "./api-Bx3gKW_y.esm.js";
4
4
  import { t as endpoints } from "./endpoints-D3B9mUHh.esm.js";
5
5
  import { i as isDesktop } from "./platform-DkcRc9JV.esm.js";
@@ -9,8 +9,8 @@ import { s as queryCameraPermission } from "./permissionServices-J5S1dEIf.esm.js
9
9
  import { n as startRecording, r as stopRecording$1, t as createRecordingSession } from "./recordingsRepository-CCWy13M-.esm.js";
10
10
  import { a as isBackFacingTrack, n as getBackCameraStream } from "./backCameraStream-DE_5qY04.esm.js";
11
11
  import { t as getDeviceClass } from "./getDeviceClass-q9LxdYDh.esm.js";
12
- import { t as MultipartRecordingService } from "./multipartRecordingService-BMuxdyLL.esm.js";
13
- import { i as CameraCompositor, n as DEFAULT_ID_CAPTURE_THRESHOLDS, r as IdCaptureProvider } from "./idCaptureDefaults-DgGzVUmU.esm.js";
12
+ import { t as MultipartRecordingService } from "./multipartRecordingService-B3C_zlev.esm.js";
13
+ import { i as CameraCompositor, n as DEFAULT_ID_CAPTURE_THRESHOLDS, r as IdCaptureProvider } from "./idCaptureDefaults-Bi22Ik5T.esm.js";
14
14
  //#region src/internal/camera/cameraServices.ts
15
15
  function createCameraServices(camera) {
16
16
  return {
@@ -585,7 +585,7 @@ function buildResolutionFromStream(stream) {
585
585
  }
586
586
  function preloadIdRecordingProvider(config) {}
587
587
  const multipartIdSessions = /* @__PURE__ */ new WeakMap();
588
- function createMultipartSessionHandle(service, compositor, resolution, hasAudio) {
588
+ function createMultipartSessionHandle(service, compositor, recordingSource, resolution, hasAudio) {
589
589
  const session = {
590
590
  token: "",
591
591
  sessionId: "",
@@ -604,13 +604,30 @@ function createMultipartSessionHandle(service, compositor, resolution, hasAudio)
604
604
  };
605
605
  multipartIdSessions.set(session, {
606
606
  compositor,
607
+ needsVideoSourceReplacement: false,
608
+ recorderPausedForRetry: false,
609
+ recordingSource,
607
610
  service
608
611
  });
609
612
  return session;
610
613
  }
611
614
  async function startRecordingSession(params) {
612
615
  if (params.config.enableIdRecording !== true) return;
613
- if (params.existing) return params.existing;
616
+ if (params.existing) {
617
+ const multipartSession = multipartIdSessions.get(params.existing);
618
+ if (multipartSession?.needsVideoSourceReplacement) {
619
+ const recordingSource = params.stream.clone();
620
+ recordingSource.getAudioTracks().forEach((track) => track.stop());
621
+ multipartSession.compositor.switchVideo(recordingSource);
622
+ multipartSession.needsVideoSourceReplacement = false;
623
+ multipartSession.recordingSource = recordingSource;
624
+ const resumeResult = await multipartSession.compositor.resume();
625
+ if (resumeResult !== "resumed") throw new Error(`ID recording camera did not resume: ${resumeResult}`);
626
+ if (multipartSession.recorderPausedForRetry && !multipartSession.service.resume()) throw new Error("ID recording did not resume");
627
+ multipartSession.recorderPausedForRetry = false;
628
+ }
629
+ return params.existing;
630
+ }
614
631
  const hasAudio = params.stream.getAudioTracks().length > 0;
615
632
  const resolution = buildResolutionFromStream(params.stream);
616
633
  if (!params.config.recording?.capability) {
@@ -625,7 +642,7 @@ async function startRecordingSession(params) {
625
642
  service.cleanup();
626
643
  throw error;
627
644
  }
628
- return createMultipartSessionHandle(service, compositor, resolution, hasAudio);
645
+ return createMultipartSessionHandle(service, compositor, recordingSource, resolution, hasAudio);
629
646
  }
630
647
  const provider = params.config.recording.capability;
631
648
  const clonedStream = params.stream.clone();
@@ -650,6 +667,14 @@ async function startRecordingSession(params) {
650
667
  hasAudio
651
668
  };
652
669
  }
670
+ function prepareRecordingForCameraRetry(session) {
671
+ const multipartSession = multipartIdSessions.get(session);
672
+ if (!multipartSession) return;
673
+ multipartSession.recorderPausedForRetry = multipartSession.service.pause();
674
+ multipartSession.compositor.pause();
675
+ multipartSession.recordingSource.getVideoTracks().forEach((track) => track.stop());
676
+ multipartSession.needsVideoSourceReplacement = true;
677
+ }
653
678
  function stopRecording(session) {
654
679
  const multipartSession = multipartIdSessions.get(session);
655
680
  if (multipartSession) {
@@ -740,4 +765,4 @@ async function addBarcode(params) {
740
765
  return res.data;
741
766
  }
742
767
  //#endregion
743
- export { getIdCameraStream as _, processId as a, stopStream as c, validateUploadResponse as d, ID_ERROR_CODES as f, OPTIMIZING_WATCHDOG_MARGIN_MS as g, CAPTURE_OPTIMIZING as h, preloadIdRecordingProvider as i, uploadIdImage as l, resolveIdCaptureThresholds as m, barcodeToBase64 as n, startRecordingSession as o, resolveCaptureOptimizingTreatment as p, initializeIdCapture as r, stopRecording as s, addBarcode as t, uploadManualIdFile as u };
768
+ export { OPTIMIZING_WATCHDOG_MARGIN_MS as _, prepareRecordingForCameraRetry as a, stopRecording as c, uploadManualIdFile as d, validateUploadResponse as f, CAPTURE_OPTIMIZING as g, resolveIdCaptureThresholds as h, preloadIdRecordingProvider as i, stopStream as l, resolveCaptureOptimizingTreatment as m, barcodeToBase64 as n, processId as o, ID_ERROR_CODES as p, initializeIdCapture as r, startRecordingSession as s, addBarcode as t, uploadIdImage as u, getIdCameraStream as v };
@@ -1,15 +1,15 @@
1
- import { l as BrowserStorageProvider } from "./setup-D4Zh-sVr.esm.js";
1
+ import { l as BrowserStorageProvider } from "./setup-Ck63mQZ2.esm.js";
2
2
  import { t as BrowserTimerProvider } from "./BrowserTimerProvider-BXhgNxLt.esm.js";
3
- import { s as exposeExperimentOnce } from "./feature-management-DhZKhR-O.esm.js";
3
+ import { s as exposeExperimentOnce } from "./feature-management-DaLgoYcH.esm.js";
4
4
  import { n as revokeObjectURL } from "./IBrowserEnvironmentCapability-DEaRRk-R.esm.js";
5
5
  import { r as getToken, t as api } from "./api-Bx3gKW_y.esm.js";
6
- import { c as trueSightHintTransition, l as trueSightLog, r as noteTrueSightCaptureActivity } from "./trueSightService-JMWO92g9.esm.js";
6
+ import { c as trueSightHintTransition, l as trueSightLog, r as noteTrueSightCaptureActivity } from "./trueSightService-Cg47zLyh.esm.js";
7
7
  import { n as eventModuleNames, s as recordExperimentAssignmentOnce } from "./events-ijlbX_Wx.esm.js";
8
- import { t as getDisableIpify } from "./sessionInitializer-CJ_RHW0q.esm.js";
8
+ import { t as getDisableIpify } from "./sessionInitializer-D8y4pR5h.esm.js";
9
9
  import { t as endpoints } from "./endpoints-D3B9mUHh.esm.js";
10
10
  import { t as addDeviceStats } from "./stats-DkK-f8JT.esm.js";
11
11
  import { a as isIOS, s as isIPad, t as isAndroid, u as isMacOsSafari } from "./platform-DkcRc9JV.esm.js";
12
- import "./session-Bm4DVQLE.esm.js";
12
+ import "./session-DKjNv_PV.esm.js";
13
13
  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";
14
14
  import { n as fromPromise, t as fromCallback } from "./xstate-actors.esm-BXeQ-Ucz.esm.js";
15
15
  import { n as getUrlSearchParam, t as buildUrlWithSearchParams } from "./urlUtils-D6phjq1-.esm.js";
@@ -22,7 +22,7 @@ import { n as getWindowDimensions } from "./getDeviceClass-CeBiEayS.esm.js";
22
22
  import { t as StreamCanvasCapture } from "./StreamCanvasCapture-D2XcXCZ4.esm.js";
23
23
  import { n as needsMotionPrimeOnlyFromPermission, r as resolveStoredPermissionResult, t as isReadyForCaptureFromPermission } from "./permissionGuards-BHw_SD3h.esm.js";
24
24
  import { r as flagIdManualReview, t as imageFileToDataUrl } from "./imageFile-CLaua6xO.esm.js";
25
- import { _ as getIdCameraStream, a as processId, c as stopStream, d as validateUploadResponse, f as ID_ERROR_CODES, g as OPTIMIZING_WATCHDOG_MARGIN_MS, h as CAPTURE_OPTIMIZING, l as uploadIdImage, m as resolveIdCaptureThresholds, o as startRecordingSession, r as initializeIdCapture, s as stopRecording, t as addBarcode, u as uploadManualIdFile } from "./idCaptureServices-B5ASsfjX.esm.js";
25
+ import { _ as OPTIMIZING_WATCHDOG_MARGIN_MS, a as prepareRecordingForCameraRetry, c as stopRecording, d as uploadManualIdFile, f as validateUploadResponse, g as CAPTURE_OPTIMIZING, h as resolveIdCaptureThresholds, l as stopStream, o as processId, p as ID_ERROR_CODES, r as initializeIdCapture, s as startRecordingSession, t as addBarcode, u as uploadIdImage, v as getIdCameraStream } from "./idCaptureServices-CT7f0Lmo.esm.js";
26
26
  //#region src/modules/id/digitalUpload/digitalUploadErrors.ts
27
27
  const TERMINAL_FAIL_REASONS = /* @__PURE__ */ new Set(["DIGITAL_ID_REQUESTED_BUT_OTHER_PROVIDED", "ID_TYPE_UNACCEPTABLE"]);
28
28
  function isKnownFailReason(reason) {
@@ -2123,7 +2123,7 @@ const startRecordingActor = fromPromise(async ({ input }) => {
2123
2123
  });
2124
2124
  const initializeDeepsightSessionActor = fromPromise(async ({ input }) => {
2125
2125
  if (!input.dependencies) return;
2126
- const { loadDeepsightSession } = await import("./deepsightLoader-BCsoAbCL.esm.js");
2126
+ const { loadDeepsightSession } = await import("./deepsightLoader-CaJ0dcec.esm.js");
2127
2127
  return loadDeepsightSession({
2128
2128
  ds: input.ds,
2129
2129
  storage: input.dependencies.storage,
@@ -2170,6 +2170,9 @@ function performReportCaptureOptimizingAssignment(context) {
2170
2170
  function performStopMediaRecording(context) {
2171
2171
  if (context.recordingSession) stopRecording(context.recordingSession);
2172
2172
  }
2173
+ function performPrepareRecordingForCameraRetry(context) {
2174
+ if (context.recordingSession) prepareRecordingForCameraRetry(context.recordingSession);
2175
+ }
2173
2176
  function getStreamFromEvent(event) {
2174
2177
  if ("output" in event) return event.output.stream;
2175
2178
  }
@@ -2728,6 +2731,7 @@ const idCaptureMachine = setup({
2728
2731
  },
2729
2732
  clearUploadFailure: assign(({ context }) => getClearUploadFailureValues(context)),
2730
2733
  clearStreamForRetry: assign(({ context }) => {
2734
+ performPrepareRecordingForCameraRetry(context);
2731
2735
  performStopMediaStream(context);
2732
2736
  performDisposeProvider(context);
2733
2737
  return {
@@ -2744,6 +2748,10 @@ const idCaptureMachine = setup({
2744
2748
  stopMediaRecording: ({ context }) => {
2745
2749
  performStopMediaRecording(context);
2746
2750
  },
2751
+ discardFailedRecordingSession: assign(({ context }) => {
2752
+ performStopMediaRecording(context);
2753
+ return { recordingSession: void 0 };
2754
+ }),
2747
2755
  clearRecordingSession: assign({ recordingSession: () => void 0 }),
2748
2756
  setSelectedDocument: assign({ selectedDocumentType: ({ event }) => {
2749
2757
  if ("documentType" in event) return event.documentType;
@@ -3501,7 +3509,7 @@ const idCaptureMachine = setup({
3501
3509
  onDone: { actions: assign({ recordingSession: ({ context, event }) => {
3502
3510
  return event.output ?? context.recordingSession;
3503
3511
  } }) },
3504
- onError: { actions: () => void 0 }
3512
+ onError: { actions: "discardFailedRecordingSession" }
3505
3513
  }, {
3506
3514
  id: "runDetection",
3507
3515
  src: "runDetection",
@@ -3570,7 +3578,7 @@ const idCaptureMachine = setup({
3570
3578
  onDone: { actions: assign({ recordingSession: ({ context, event }) => {
3571
3579
  return event.output ?? context.recordingSession;
3572
3580
  } }) },
3573
- onError: { actions: () => void 0 }
3581
+ onError: { actions: "discardFailedRecordingSession" }
3574
3582
  }, {
3575
3583
  id: "runDetection",
3576
3584
  src: "runDetection",
@@ -3646,7 +3654,23 @@ const idCaptureMachine = setup({
3646
3654
  }
3647
3655
  }
3648
3656
  },
3649
- manualCaptureWaiting: { on: { MANUAL_CAPTURE: { target: "capturingManual" } } },
3657
+ manualCaptureWaiting: {
3658
+ invoke: {
3659
+ id: "startRecording",
3660
+ src: "startRecording",
3661
+ input: ({ context }) => ({
3662
+ config: context.config,
3663
+ stream: context.stream,
3664
+ existing: context.recordingSession,
3665
+ currentMode: context.currentMode
3666
+ }),
3667
+ onDone: { actions: assign({ recordingSession: ({ context, event }) => {
3668
+ return event.output ?? context.recordingSession;
3669
+ } }) },
3670
+ onError: { actions: "discardFailedRecordingSession" }
3671
+ },
3672
+ on: { MANUAL_CAPTURE: { target: "capturingManual" } }
3673
+ },
3650
3674
  capturing: {
3651
3675
  entry: [
3652
3676
  "captureImage",
@@ -3861,6 +3885,7 @@ const idCaptureMachine = setup({
3861
3885
  }
3862
3886
  ] } },
3863
3887
  success: {
3888
+ entry: ["stopMediaRecording", "clearRecordingSession"],
3864
3889
  exit: "clearBarcodeFastPathCaptured",
3865
3890
  on: { NEXT_STEP: [
3866
3891
  {
@@ -1,2 +1,2 @@
1
- import { c as identityReuseMachine, d as ReusableDocument, f as SubmitResponse, i as createIdentityReuseManagerFromActor, l as FetchDocumentsResponse, n as IdentityReuseState, o as SCAN_NEW_DOCUMENT, r as createIdentityReuseManager, s as SelectedDocumentId, t as IdentityReuseManager, u as IdentityReuseConfig } from "./identityReuseManager-BFDI7iFK.js";
1
+ import { c as identityReuseMachine, d as ReusableDocument, f as SubmitResponse, i as createIdentityReuseManagerFromActor, l as FetchDocumentsResponse, n as IdentityReuseState, o as SCAN_NEW_DOCUMENT, r as createIdentityReuseManager, s as SelectedDocumentId, t as IdentityReuseManager, u as IdentityReuseConfig } from "./identityReuseManager-v2TH5g7e.js";
2
2
  export { type FetchDocumentsResponse, type IdentityReuseConfig, type IdentityReuseManager, type IdentityReuseState, type ReusableDocument, SCAN_NEW_DOCUMENT, type SelectedDocumentId, type SubmitResponse, createIdentityReuseManager, createIdentityReuseManagerFromActor, identityReuseMachine };
@@ -108,14 +108,14 @@ declare const identityReuseMachine: StateMachine<IdentityReuseContext, {
108
108
  type: "setError";
109
109
  params: NonReducibleUnknown;
110
110
  };
111
- setSelectedDocument: {
112
- type: "setSelectedDocument";
113
- params: NonReducibleUnknown;
114
- };
115
111
  clearError: {
116
112
  type: "clearError";
117
113
  params: NonReducibleUnknown;
118
114
  };
115
+ setSelectedDocument: {
116
+ type: "setSelectedDocument";
117
+ params: NonReducibleUnknown;
118
+ };
119
119
  }>, Values<{
120
120
  hasDocuments: {
121
121
  type: "hasDocuments";
package/dist/index.esm.js CHANGED
@@ -1,2 +1,2 @@
1
- import { i as reset, r as isConfigured, s as setup } from "./setup-D4Zh-sVr.esm.js";
1
+ import { i as reset, r as isConfigured, s as setup } from "./setup-Ck63mQZ2.esm.js";
2
2
  export { isConfigured, reset, setup };
@@ -1,3 +1,3 @@
1
1
  import { r as MandatoryConsentConfig } from "./types-DJ2OM9rw.js";
2
- import { a as MandatoryConsentActor, i as createMandatoryConsentManagerFromActor, n as MandatoryConsentState, o as mandatoryConsentMachine, r as createMandatoryConsentManager, t as MandatoryConsentManager } from "./mandatoryConsentManager-CSh8HjSF.js";
2
+ import { a as MandatoryConsentActor, i as createMandatoryConsentManagerFromActor, n as MandatoryConsentState, o as mandatoryConsentMachine, r as createMandatoryConsentManager, t as MandatoryConsentManager } from "./mandatoryConsentManager-BxrRrlBs.js";
3
3
  export { type MandatoryConsentActor, type MandatoryConsentConfig, type MandatoryConsentManager, type MandatoryConsentState, createMandatoryConsentManager, createMandatoryConsentManagerFromActor, mandatoryConsentMachine };
@@ -57,14 +57,14 @@ declare const mandatoryConsentMachine: StateMachine<MandatoryConsentContext, {
57
57
  type: "setError";
58
58
  params: NonReducibleUnknown;
59
59
  };
60
- clearError: {
61
- type: "clearError";
62
- params: NonReducibleUnknown;
63
- };
64
60
  toggleSigned: {
65
61
  type: "toggleSigned";
66
62
  params: NonReducibleUnknown;
67
63
  };
64
+ clearError: {
65
+ type: "clearError";
66
+ params: NonReducibleUnknown;
67
+ };
68
68
  resetContext: {
69
69
  type: "resetContext";
70
70
  params: NonReducibleUnknown;
@@ -478,6 +478,7 @@ var MultipartRecordingService = class {
478
478
  return this.recorder.isRecording;
479
479
  }
480
480
  async start(stream) {
481
+ if (this.recorder.isRecording) return;
481
482
  let initiated = await initiateVideoSelfieUpload(this.scope);
482
483
  if (initiated.parts.length > 0) {
483
484
  await abortVideoSelfieUpload(initiated).catch(() => {});
@@ -1,8 +1,8 @@
1
- import { t as ensureWasmPipelines } from "./setup-D4Zh-sVr.esm.js";
1
+ import { t as ensureWasmPipelines } from "./setup-Ck63mQZ2.esm.js";
2
2
  import { i as BaseWasmProvider, l as wasmRuntime } from "./safeStorage-0bZuUtSP.esm.js";
3
3
  import { r as getToken } from "./api-Bx3gKW_y.esm.js";
4
- import { c as trueSightHintTransition, l as trueSightLog, r as noteTrueSightCaptureActivity } from "./trueSightService-JMWO92g9.esm.js";
5
- import "./sessionInitializer-CJ_RHW0q.esm.js";
4
+ import { c as trueSightHintTransition, l as trueSightLog, r as noteTrueSightCaptureActivity } from "./trueSightService-Cg47zLyh.esm.js";
5
+ import "./sessionInitializer-D8y4pR5h.esm.js";
6
6
  import { t as addDeviceStats } from "./stats-DkK-f8JT.esm.js";
7
7
  import { c as isIPhone14OrHigher, i as isDesktop } from "./platform-DkcRc9JV.esm.js";
8
8
  import { a as stopCameraStream, r as requestCameraAccess } from "./camera-_2sXMXiF.esm.js";
@@ -516,7 +516,7 @@ async function stopRecording(session) {
516
516
  }
517
517
  }
518
518
  async function initializeDeepsightSession(options) {
519
- const { loadDeepsightSession } = await import("./deepsightLoader-BCsoAbCL.esm.js");
519
+ const { loadDeepsightSession } = await import("./deepsightLoader-CaJ0dcec.esm.js");
520
520
  return loadDeepsightSession({
521
521
  ds: options.ds,
522
522
  storage: options.storage
@@ -549,8 +549,10 @@ async function initializeDeepsightSession(options) {
549
549
  const isOnDeviceMode = (config) => config.onDeviceFaceResultsSubmissionEnabled === true;
550
550
  /**
551
551
  * The default (non-on-device) prepare-upload body shared by selfie and auth.
552
- * Stops any active recording, runs deepsight virtual-camera + frame checks,
553
- * tracks the capture attempt, and encrypts the captured image.
552
+ * Prepares any recording metadata required by the image upload, runs deepsight
553
+ * virtual-camera + frame checks, tracks the capture attempt, and encrypts the
554
+ * captured image. Scoped multipart recordings stay active across rejected
555
+ * attempts and are finalized by the state machine after backend acceptance.
554
556
  *
555
557
  * Lifted out of `faceCaptureSetup.ts`'s base `prepareFaceUpload` actor so the
556
558
  * default path can be reused by both variants while leaving room for an
@@ -558,7 +560,7 @@ const isOnDeviceMode = (config) => config.onDeviceFaceResultsSubmissionEnabled =
558
560
  */
559
561
  async function defaultPrepareFaceUpload(ctx) {
560
562
  const sessionToken = getToken();
561
- const recordingId = (await ctx.recordingService?.stop())?.recordingId ?? null;
563
+ const recordingId = (await ctx.recordingService?.prepareUpload())?.recordingId ?? null;
562
564
  try {
563
565
  if (ctx.deepsightService) await Promise.all([ctx.deepsightService.performVirtualCameraCheck(sessionToken, "SELFIE"), ctx.deepsightService.analyzeFrame(ctx.capturedImage.getImageData())]);
564
566
  } catch (error) {
@@ -1,16 +1,16 @@
1
- import { l as BrowserStorageProvider } from "./setup-D4Zh-sVr.esm.js";
1
+ import { l as BrowserStorageProvider } from "./setup-Ck63mQZ2.esm.js";
2
2
  import { r as WasmUtilProvider } from "./safeStorage-0bZuUtSP.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 { C as createApi$1, v as randomUUID, y as getStoredHttpConfig } from "./trueSightService-JMWO92g9.esm.js";
5
+ import { C as createApi$1, v as randomUUID, y as getStoredHttpConfig } from "./trueSightService-Cg47zLyh.esm.js";
6
6
  import { n as eventModuleNames } from "./events-ijlbX_Wx.esm.js";
7
- import { _ as getDeviceFingerprintInfo, g as getThumbmarkId, n as getFingerprintEnabled, p as isBrowserSimulation, v as BrowserEnvironmentProvider } from "./sessionInitializer-CJ_RHW0q.esm.js";
7
+ import { _ as getDeviceFingerprintInfo, g as getThumbmarkId, n as getFingerprintEnabled, p as isBrowserSimulation, v as BrowserEnvironmentProvider } from "./sessionInitializer-D8y4pR5h.esm.js";
8
8
  import { t as endpoints } from "./endpoints-D3B9mUHh.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 { a as stopCameraStream, r as requestCameraAccess } from "./camera-_2sXMXiF.esm.js";
12
12
  import { i as requestPermission, t as checkPermission } from "./permissionServices-J5S1dEIf.esm.js";
13
- import { f as stopStream, l as startDetection, p as FaceDetectionProvider, s as initializeDeepsightSession } from "./onDeviceFaceResults-BpdmWw3Z.esm.js";
13
+ import { f as stopStream, l as startDetection, p as FaceDetectionProvider, s as initializeDeepsightSession } from "./onDeviceFaceResults-JP7YWQ7s.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 NAMIRIAL_QES_CONSENT_KEYS, c as areAllConsented, o as NAMIRIAL_QES_PROVIDER_CODE, r as electronicSignatureMachine, s as QE_CONSENT_KEYS, t as createElectronicSignatureManager, u as getDefaultConsentChecks } from "./electronicSignatureManager-YTvxmh25.esm.js";
1
+ import { a as NAMIRIAL_QES_CONSENT_KEYS, c as areAllConsented, o as NAMIRIAL_QES_PROVIDER_CODE, r as electronicSignatureMachine, s as QE_CONSENT_KEYS, t as createElectronicSignatureManager, u as getDefaultConsentChecks } from "./electronicSignatureManager-CfQHthbQ.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 getTimestamp } from "./IBrowserEnvironmentCapability-DEaRRk-R.esm.js";
2
- import { a as notifyTrueSightManagerStopped, i as notifyTrueSightFlowEvent } from "./trueSightService-JMWO92g9.esm.js";
2
+ import { a as notifyTrueSightManagerStopped, i as notifyTrueSightFlowEvent } from "./trueSightService-Cg47zLyh.esm.js";
3
3
  import { C as createEventBus } from "./events-ijlbX_Wx.esm.js";
4
4
  import { s as createActor } from "./xstate.esm-BuFLFuzz.esm.js";
5
5
  import { t as fromCallback } from "./xstate-actors.esm-BXeQ-Ucz.esm.js";
@@ -1,4 +1,4 @@
1
1
  //#region src/internal/version/sdkVersion.ts
2
- const SDK_VERSION = "0.0.0-dev-20260902-6bf995eb";
2
+ const SDK_VERSION = "0.0.0-dev-20260903-c8e0666c";
3
3
  //#endregion
4
4
  export { SDK_VERSION as t };
package/dist/selfie.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  import { t as IVisibilityObserverCapability } from "./IVisibilityObserverCapability-D4tvIB5v.js";
2
- import { _ as SelfieCaptureOnlyConfig, a as SelfieCaptureOnlyMachine, c as SelfieActor, g as processFace, h as ProcessFaceResponse, i as SelfieCaptureOnlyActor, l as SelfieMachine, n as FaceCaptureManagerState, o as selfieCaptureOnlyMachine, r as CreateSelfieCaptureOnlyActorOptions, t as FaceCaptureManager, u as selfieMachine, v as SelfieConfig } from "./faceCaptureManagerFactory-BWChOW_5.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-CzEyW5zU.js";
3
3
  import { n as PermissionStatus, t as PermissionResult } from "./types-BEwVKkLJ.js";
4
4
  import { a as FaceCapturedImageData, i as FaceCaptureOnlyResponse, n as DetectionStatus, o as FaceErrorCode } from "./types-hSqUyXyw.js";
5
5
  import { t as CameraStream } from "./camera-9wWD-pwg.js";
6
6
  import { t as DeepsightService } from "./deepsightService-MZOpj7Vp.js";
7
- import { i as createSelfieManagerFromActor, n as SelfieState, r as createSelfieManager, t as SelfieManager } from "./selfieManager-D0IU0qx7.js";
7
+ import { i as createSelfieManagerFromActor, n as SelfieState, r as createSelfieManager, t as SelfieManager } from "./selfieManager-CvJ2RUGy.js";
8
8
  //#region src/modules/selfie/selfieCaptureOnlyManager.d.ts
9
9
  type SelfieCaptureOnlyState = FaceCaptureManagerState;
10
10
  type SelfieCaptureOnlyManager = FaceCaptureManager;
@@ -1,13 +1,13 @@
1
- import { l as BrowserStorageProvider } from "./setup-D4Zh-sVr.esm.js";
1
+ import { l as BrowserStorageProvider } from "./setup-Ck63mQZ2.esm.js";
2
2
  import { r as WasmUtilProvider } from "./safeStorage-0bZuUtSP.esm.js";
3
3
  import { n as eventModuleNames } from "./events-ijlbX_Wx.esm.js";
4
4
  import { i as assign, s as createActor } from "./xstate.esm-BuFLFuzz.esm.js";
5
5
  import { n as fromPromise } from "./xstate-actors.esm-BXeQ-Ucz.esm.js";
6
- import { t as faceCaptureMachine } from "./faceCaptureSetup-xL2SFeyk.esm.js";
7
- import { t as createFaceCaptureManagerFromActor } from "./faceCaptureManagerFactory-BKkwc_5_.esm.js";
6
+ import { t as faceCaptureMachine } from "./faceCaptureSetup-CUsRzGJ3.esm.js";
7
+ import { t as createFaceCaptureManagerFromActor } from "./faceCaptureManagerFactory-BQkLYICd.esm.js";
8
8
  import { r as processFace } from "./selfieErrorUtils-C3lAFggs.esm.js";
9
- import { t as selfieMachine } from "./selfieStateMachine-CU7NYRVn.esm.js";
10
- import { n as createSelfieManagerFromActor, t as createSelfieManager } from "./selfieManager-FWxSq5Dv.esm.js";
9
+ import { t as selfieMachine } from "./selfieStateMachine-Dz2NFt-5.esm.js";
10
+ import { n as createSelfieManagerFromActor, t as createSelfieManager } from "./selfieManager-DCvOFsW1.esm.js";
11
11
  import { t as invokeOnCaptureCallback } from "./invokeOnCaptureCallback-BjzPjJ_p.esm.js";
12
12
  //#region src/modules/selfie/selfieCaptureOnlyStateMachine.ts
13
13
  /**
@@ -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-BWChOW_5.js";
3
+ import { c as SelfieActor, n as FaceCaptureManagerState, s as CreateSelfieActorOptions, t as FaceCaptureManager } from "./faceCaptureManagerFactory-CzEyW5zU.js";
4
4
  //#region src/modules/selfie/selfieManager.d.ts
5
5
  type SelfieState = FaceCaptureManagerState;
6
6
  /**
@@ -1,9 +1,9 @@
1
- import { l as BrowserStorageProvider } from "./setup-D4Zh-sVr.esm.js";
1
+ import { l as BrowserStorageProvider } from "./setup-Ck63mQZ2.esm.js";
2
2
  import { r as WasmUtilProvider } from "./safeStorage-0bZuUtSP.esm.js";
3
3
  import { n as eventModuleNames } from "./events-ijlbX_Wx.esm.js";
4
4
  import { s as createActor } from "./xstate.esm-BuFLFuzz.esm.js";
5
- import { t as createFaceCaptureManagerFromActor } from "./faceCaptureManagerFactory-BKkwc_5_.esm.js";
6
- import { t as selfieMachine } from "./selfieStateMachine-CU7NYRVn.esm.js";
5
+ import { t as createFaceCaptureManagerFromActor } from "./faceCaptureManagerFactory-BQkLYICd.esm.js";
6
+ import { t as selfieMachine } from "./selfieStateMachine-Dz2NFt-5.esm.js";
7
7
  //#region src/modules/selfie/selfieActor.ts
8
8
  function createSelfieActor(options) {
9
9
  const dependencies = options.dependencies ?? {
@@ -1,7 +1,7 @@
1
1
  import { i as assign } from "./xstate.esm-BuFLFuzz.esm.js";
2
2
  import { n as fromPromise } from "./xstate-actors.esm-BXeQ-Ucz.esm.js";
3
- import { n as manualFaceUploadMachine, t as faceCaptureMachine } from "./faceCaptureSetup-xL2SFeyk.esm.js";
4
- import { i as prepareOnDeviceFaceUpload, n as isOnDeviceMode, r as postOnDeviceFaceResults, t as defaultPrepareFaceUpload } from "./onDeviceFaceResults-BpdmWw3Z.esm.js";
3
+ import { n as manualFaceUploadMachine, t as faceCaptureMachine } from "./faceCaptureSetup-CUsRzGJ3.esm.js";
4
+ import { i as prepareOnDeviceFaceUpload, n as isOnDeviceMode, r as postOnDeviceFaceResults, t as defaultPrepareFaceUpload } from "./onDeviceFaceResults-JP7YWQ7s.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-C3lAFggs.esm.js";
7
7
  //#region src/modules/selfie/selfieStateMachine.ts
@@ -1,8 +1,8 @@
1
1
  import { n as getApi } from "./api-Bx3gKW_y.esm.js";
2
- import { h as noteSessionCreated, l as trueSightLog } from "./trueSightService-JMWO92g9.esm.js";
3
- import "./sessionInitializer-CJ_RHW0q.esm.js";
2
+ import { h as noteSessionCreated, l as trueSightLog } from "./trueSightService-Cg47zLyh.esm.js";
3
+ import "./sessionInitializer-D8y4pR5h.esm.js";
4
4
  import { t as endpoints } from "./endpoints-D3B9mUHh.esm.js";
5
- import { i as toIncodeApiError } from "./apiError-DhziHa4B.esm.js";
5
+ import { i as toIncodeApiError } from "./apiError-DPqMZSEi.esm.js";
6
6
  //#region src/internal/session/sessionService.ts
7
7
  /**
8
8
  * HTTP status codes the QR validation endpoint emits, keyed by their semantic
@@ -1,5 +1,5 @@
1
- import { i as initializeSession } from "./sessionInitializer-CJ_RHW0q.esm.js";
2
- import { t as IncodeApiError } from "./apiError-DhziHa4B.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-Bm4DVQLE.esm.js";
4
- import { n as getFinishStatus } from "./flowCompletionService-DxeTRrHM.esm.js";
1
+ import { i as initializeSession } from "./sessionInitializer-D8y4pR5h.esm.js";
2
+ import { t as IncodeApiError } from "./apiError-DPqMZSEi.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-DKjNv_PV.esm.js";
4
+ import { n as getFinishStatus } from "./flowCompletionService-B7nxH29M.esm.js";
5
5
  export { IncodeApiError, QR_VALIDATION_ERROR_CODES, QrValidationError, bootstrapSession, createSession, getFinishStatus, initializeSession, refreshQrUrlUuid, validateQrUuid };
@@ -1,8 +1,8 @@
1
- import { E as updateFeatureManagementUser } from "./feature-management-DhZKhR-O.esm.js";
1
+ import { E as updateFeatureManagementUser } from "./feature-management-DaLgoYcH.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 } from "./trueSightService-JMWO92g9.esm.js";
3
+ import { _ as noteTokenActivated, d as fetchFeatureConfig, f as isFeatureEnabled, l as trueSightLog, m as noteEnvironment, p as resetFeatureConfigCache, s as startTrueSightCollection } from "./trueSightService-Cg47zLyh.esm.js";
4
4
  import { v as addEvent, y as getAnalyticsBatcher } from "./events-ijlbX_Wx.esm.js";
5
- import { t as SDK_VERSION } from "./sdkVersion-C5w7mfrv.esm.js";
5
+ import { t as SDK_VERSION } from "./sdkVersion-DLdddYfl.esm.js";
6
6
  import { t as endpoints } from "./endpoints-D3B9mUHh.esm.js";
7
7
  import { n as flushDeviceStatsQueue, r as resetDeviceStatsQueue } from "./stats-DkK-f8JT.esm.js";
8
8
  import { n as UAParser, t as getParsedUserAgent } from "./getParsedUserAgent-pJjATANs.esm.js";
@@ -1,16 +1,16 @@
1
1
  import { d as deriveSiblingJsPath, f as WASM_MODEL_FILES } from "./wasmWebClient-BJCaFeBL.esm.js";
2
2
  import { c as warmupWasm, r as WasmUtilProvider, s as setWasmOnDeviceMode, t as resolveLocalStorage } from "./safeStorage-0bZuUtSP.esm.js";
3
3
  import { t as BrowserTimerProvider } from "./BrowserTimerProvider-BXhgNxLt.esm.js";
4
- 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-DhZKhR-O.esm.js";
4
+ 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-DaLgoYcH.esm.js";
5
5
  import { t as getTimestamp } from "./IBrowserEnvironmentCapability-DEaRRk-R.esm.js";
6
6
  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";
7
- import { S as upgradeToWasmHttpClient$1, b as installFreshHttpClient, g as noteTestingSignals, l as trueSightLog, n as initializeTrueSightDiagnostics, o as resetTrueSight, t as finalizeTrueSight, u as categoryForEndpoint, x as resetHttpClientState, y as getStoredHttpConfig } from "./trueSightService-JMWO92g9.esm.js";
7
+ import { S as upgradeToWasmHttpClient$1, b as installFreshHttpClient, g as noteTestingSignals, l as trueSightLog, n as initializeTrueSightDiagnostics, o as resetTrueSight, t as finalizeTrueSight, u as categoryForEndpoint, x as resetHttpClientState, y as getStoredHttpConfig } from "./trueSightService-Cg47zLyh.esm.js";
8
8
  import { b as resetAnalyticsBatcher, c as resetExperimentAssignments, x as setAnalyticsBatcher, y as getAnalyticsBatcher } from "./events-ijlbX_Wx.esm.js";
9
- 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-CJ_RHW0q.esm.js";
9
+ 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-D8y4pR5h.esm.js";
10
10
  import { t as endpoints } from "./endpoints-D3B9mUHh.esm.js";
11
11
  import { r as resetDeviceStatsQueue, t as addDeviceStats } from "./stats-DkK-f8JT.esm.js";
12
12
  import { a as resetTRI, n as initializeTRI, o as resetTRIProviderInstance } from "./tri-4RsGrIt6.esm.js";
13
- import { n as preloadDashboardFlow, r as resetDashboardFlowCache } from "./flowServices-DgVmmebu.esm.js";
13
+ import { n as preloadDashboardFlow, r as resetDashboardFlowCache } from "./flowServices-CuKc1NZ9.esm.js";
14
14
  //#region ../infra/src/wasm/wasmDefaults.ts
15
15
  const WASM_CDN_BASE_URL = "https://cdn.incodesmile.com/ml-wasm-kit-release";
16
16
  /** The WASM version bundled and tested with this SDK release. */
@@ -2,7 +2,7 @@ import { a as setWebApiHttpTransport, i as initializeWasmWebClient, o as setupWa
2
2
  import { t as getTimestamp } from "./IBrowserEnvironmentCapability-DEaRRk-R.esm.js";
3
3
  import { i as isApiConfigured, n as getApi, o as setClient, r as getToken, t as api } from "./api-Bx3gKW_y.esm.js";
4
4
  import { S as subscribeEvent, n as eventModuleNames } from "./events-ijlbX_Wx.esm.js";
5
- import { t as SDK_VERSION } from "./sdkVersion-C5w7mfrv.esm.js";
5
+ import { t as SDK_VERSION } from "./sdkVersion-DLdddYfl.esm.js";
6
6
  import { t as endpoints } from "./endpoints-D3B9mUHh.esm.js";
7
7
  //#region ../infra/src/http/createApi.ts
8
8
  var FetchHttpError = class extends Error {
@@ -1320,7 +1320,7 @@ let cryptoProviderPromise = null;
1320
1320
  * the service's prewarm).
1321
1321
  */
1322
1322
  function loadDiagnosticsCryptoProvider() {
1323
- cryptoProviderPromise ??= import("./BrowserDiagnosticsCryptoProvider-DwmAfiwB.esm.js").then((module) => new module.BrowserDiagnosticsCryptoProvider());
1323
+ cryptoProviderPromise ??= import("./BrowserDiagnosticsCryptoProvider-ejqefbNY.esm.js").then((module) => new module.BrowserDiagnosticsCryptoProvider());
1324
1324
  return cryptoProviderPromise;
1325
1325
  }
1326
1326
  /**
@@ -1,16 +1,16 @@
1
- import { t as ensureWasmPipelines } from "./setup-D4Zh-sVr.esm.js";
1
+ import { t as ensureWasmPipelines } from "./setup-Ck63mQZ2.esm.js";
2
2
  import { r as WasmUtilProvider } from "./safeStorage-0bZuUtSP.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
5
  import { t as endpoints } from "./endpoints-D3B9mUHh.esm.js";
6
- import { d as videoSelfieWasmPipelines, l as facingModeForStep, u as resolveVideoSelfieSteps } from "./flowServices-DgVmmebu.esm.js";
6
+ import { d as videoSelfieWasmPipelines, l as facingModeForStep, u as resolveVideoSelfieSteps } from "./flowServices-CuKc1NZ9.esm.js";
7
7
  import { i as assign, r as sendTo, s as createActor, t as setup, u as createManager } from "./xstate.esm-BuFLFuzz.esm.js";
8
8
  import { n as fromPromise, t as fromCallback } from "./xstate-actors.esm-BXeQ-Ucz.esm.js";
9
9
  import { t as BrowserVisibilityObserverProvider } from "./BrowserVisibilityObserverProvider-BrJN1B8A.esm.js";
10
- import { t as MultipartRecordingService } from "./multipartRecordingService-BMuxdyLL.esm.js";
11
- import { i as CameraCompositor } from "./idCaptureDefaults-DgGzVUmU.esm.js";
10
+ import { t as MultipartRecordingService } from "./multipartRecordingService-B3C_zlev.esm.js";
11
+ import { i as CameraCompositor } from "./idCaptureDefaults-Bi22Ik5T.esm.js";
12
12
  import { t as VIDEO_SELFIE_VALIDATION_ATTEMPTS_EXHAUSTED_CODE } from "./advanceableErrors-CpF2cBy6.esm.js";
13
- import { a as isConnectionError, n as defaultAcquireCamera, r as createDefaultStepDetector, t as createVideoSelfieCameraWarmer } from "./videoSelfieCameraWarmer-LNxKbRCG.esm.js";
13
+ import { a as isConnectionError, n as defaultAcquireCamera, r as createDefaultStepDetector, t as createVideoSelfieCameraWarmer } from "./videoSelfieCameraWarmer-BihS8Q74.esm.js";
14
14
  import { t as videoSelfieFlowModuleMachine } from "./videoSelfieFlowModuleMachine-BUe2uACW.esm.js";
15
15
  //#region src/modules/video-selfie/videoSelfieWasm.ts
16
16
  function warmupVideoSelfieWasm(config, steps = resolveVideoSelfieSteps(config)) {
@@ -1,17 +1,17 @@
1
1
  import { t as BrowserTimerProvider } from "./BrowserTimerProvider-BXhgNxLt.esm.js";
2
2
  import { t as api } from "./api-Bx3gKW_y.esm.js";
3
3
  import { t as endpoints } from "./endpoints-D3B9mUHh.esm.js";
4
- import { l as facingModeForStep, u as resolveVideoSelfieSteps } from "./flowServices-DgVmmebu.esm.js";
4
+ import { l as facingModeForStep, u as resolveVideoSelfieSteps } from "./flowServices-CuKc1NZ9.esm.js";
5
5
  import { i as requestCameraWithFallback, r as requestCameraAccess } from "./camera-_2sXMXiF.esm.js";
6
6
  import { t as checkPermission } from "./permissionServices-J5S1dEIf.esm.js";
7
- import { a as encryptSelfieImage, l as startDetection, p as FaceDetectionProvider } from "./onDeviceFaceResults-BpdmWw3Z.esm.js";
7
+ import { a as encryptSelfieImage, l as startDetection, p as FaceDetectionProvider } from "./onDeviceFaceResults-JP7YWQ7s.esm.js";
8
8
  import { a as StreamCanvasProcessingSession } from "./recordingsRepository-CCWy13M-.esm.js";
9
9
  import { n as getBackCameraStream } from "./backCameraStream-DE_5qY04.esm.js";
10
10
  import { n as getWindowDimensions } from "./getDeviceClass-CeBiEayS.esm.js";
11
11
  import { t as FACE_ERROR_CODES } from "./types-BN5RPPIZ.esm.js";
12
12
  import { a as uploadSelfie, r as processFace, t as getFaceErrorCodeFromUnknown } from "./selfieErrorUtils-C3lAFggs.esm.js";
13
13
  import { t as StreamCanvasCapture } from "./StreamCanvasCapture-D2XcXCZ4.esm.js";
14
- import { n as DEFAULT_ID_CAPTURE_THRESHOLDS, r as IdCaptureProvider, t as DEFAULT_ID_CAPTURE_GEOMETRY } from "./idCaptureDefaults-DgGzVUmU.esm.js";
14
+ import { n as DEFAULT_ID_CAPTURE_THRESHOLDS, r as IdCaptureProvider, t as DEFAULT_ID_CAPTURE_GEOMETRY } from "./idCaptureDefaults-Bi22Ik5T.esm.js";
15
15
  //#region src/modules/video-selfie/videoSelfieCompareService.ts
16
16
  async function postVideoSelfieCompare(endpoint, base64Image) {
17
17
  return (await api.post(endpoint, { base64Image })).data;
package/dist/wasm.esm.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { f as WASM_MODEL_FILES, h as WASM_PIPELINE_MODEL_NAMES, p as WASM_PIPELINE_LAZY_MODEL_NAMES } from "./wasmWebClient-BJCaFeBL.esm.js";
2
- import { a as resolveWasmConfigForPipelines, c as upgradeToWasmHttpClient, d as buildDefaultWasmConfig, f as buildWasmConfigFromBasePath, m as resolveWasmConfig, n as initializeWasmUtil, o as setWasmConfig, t as ensureWasmPipelines, u as DEFAULT_WASM_VERSION } from "./setup-D4Zh-sVr.esm.js";
2
+ import { a as resolveWasmConfigForPipelines, c as upgradeToWasmHttpClient, d as buildDefaultWasmConfig, f as buildWasmConfigFromBasePath, m as resolveWasmConfig, n as initializeWasmUtil, o as setWasmConfig, t as ensureWasmPipelines, u as DEFAULT_WASM_VERSION } from "./setup-Ck63mQZ2.esm.js";
3
3
  import { c as warmupWasm } from "./safeStorage-0bZuUtSP.esm.js";
4
4
  //#region src/defineWasm.ts
5
5
  function requiredModels(pipelines) {