@incodetech/core 0.0.0-dev-20260914-656e6757 → 0.0.0-dev-20260915-1e83a656
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.
- package/dist/{BrowserDiagnosticsCryptoProvider-CCQvC6Je.esm.js → BrowserDiagnosticsCryptoProvider-OJMavJQz.esm.js} +1 -1
- package/dist/{FaceDetectionProvider-Dz_zxzth.esm.js → FaceDetectionProvider-CWujhVWD.esm.js} +4 -4
- package/dist/ae-signature.esm.js +1 -1
- package/dist/{apiError-dPoZmip-.esm.js → apiError-DO9I5ydK.esm.js} +1 -1
- package/dist/authentication.esm.js +2 -2
- package/dist/{authenticationManager-kx--UIcD.esm.js → authenticationManager-D_1IoHik.esm.js} +3 -3
- package/dist/{authenticationStateMachine-GgtmM697.esm.js → authenticationStateMachine-CSb9j50d.esm.js} +2 -2
- package/dist/consent.d.ts +1 -1
- package/dist/{consentManager-5HWbGwOa.d.ts → consentManager-uhDPdU6i.d.ts} +9 -9
- package/dist/{deepsightLoader-CLFrwfgX.esm.js → deepsightLoader-DrRcGBbp.esm.js} +3 -3
- package/dist/document-capture.d.ts +1 -1
- package/dist/{documentCaptureManager-DD0qtFdE.d.ts → documentCaptureManager-DensIj5F.d.ts} +1 -1
- package/dist/dynamic-forms.esm.js +2 -2
- package/dist/{dynamicFormsManager-v80yAqNy.esm.js → dynamicFormsManager-Xo2J0LR-.esm.js} +1 -1
- package/dist/{dynamicFormsStateMachine-C2YYaamd.esm.js → dynamicFormsStateMachine-DCTBl39U.esm.js} +1 -1
- package/dist/ekyb.esm.js +3 -3
- package/dist/{ekybManager-BJOCBpFZ.esm.js → ekybManager-BYtX3uqP.esm.js} +1 -1
- package/dist/{ekybStateMachine-BP9BqHVy.esm.js → ekybStateMachine-C5mn42vC.esm.js} +1 -1
- package/dist/electronic-signature.esm.js +1 -1
- package/dist/{electronicSignatureManager-B85WICzC.esm.js → electronicSignatureManager-BGtmVYnW.esm.js} +1 -1
- package/dist/extensibility.d.ts +5 -5
- package/dist/extensibility.esm.js +10 -10
- package/dist/{faceCaptureManagerFactory-CbIMYS4-.esm.js → faceCaptureManagerFactory-jOdgsEsg.esm.js} +1 -1
- package/dist/{faceCaptureSetup-BlUhLA18.esm.js → faceCaptureSetup-BuI9bUDW.esm.js} +4 -4
- package/dist/{feature-management-DFmsuX0f.esm.js → feature-management-BEx5c9G9.esm.js} +1 -1
- package/dist/feature-management.esm.js +1 -1
- package/dist/flow.esm.js +3 -3
- package/dist/{flowCompletionService-CGROnLOn.esm.js → flowCompletionService-DFX3bbht.esm.js} +1 -1
- package/dist/{flowServices-B5FPMSB_.esm.js → flowServices-C7IuCG4r.esm.js} +4 -4
- package/dist/geolocation.esm.js +2 -2
- package/dist/{geolocationManager-COnUDd3H.esm.js → geolocationManager-B2ZC79qg.esm.js} +1 -1
- package/dist/{geolocationStateMachine-DLb2L18_.esm.js → geolocationStateMachine-C8U9DuMO.esm.js} +1 -1
- package/dist/id-ocr.d.ts +1 -1
- package/dist/id-selfie-flow.d.ts +1 -1
- package/dist/id-selfie-flow.esm.js +7 -7
- package/dist/id.esm.js +3 -3
- package/dist/{idCaptureDefaults-Cj1elqAi.esm.js → idCaptureDefaults-BqPUqWvx.esm.js} +272 -29
- package/dist/{idCaptureManager-ssRJRsGQ.esm.js → idCaptureManager-JfqtqR7F.esm.js} +3 -3
- package/dist/{idCaptureServices-BRq1TB4U.esm.js → idCaptureServices-DLL6vNtO.esm.js} +4 -4
- package/dist/{idCaptureStateMachine-DS6fNfwz.esm.js → idCaptureStateMachine-Dt-gpoLr.esm.js} +9 -9
- package/dist/{idOcrManager-CFlDwUvN.d.ts → idOcrManager-BF_cXZq8.d.ts} +1 -1
- package/dist/identity-reuse.d.ts +1 -1
- package/dist/{identityReuseManager-D6pD4hcZ.d.ts → identityReuseManager-v2TH5g7e.d.ts} +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/mandatory-consent.d.ts +1 -1
- package/dist/{mandatoryConsentManager-CkK0Qzue.d.ts → mandatoryConsentManager-2O5wztkg.d.ts} +5 -5
- package/dist/{multipartRecordingService-B3C_zlev.esm.js → multipartRecordingService-CWxZ5mTi.esm.js} +13 -2
- package/dist/personhood.esm.js +4 -4
- package/dist/qe-signature.esm.js +1 -1
- package/dist/{runChildModule-0wMdwznt.esm.js → runChildModule-BOJWRUG7.esm.js} +1 -1
- package/dist/{sdkVersion-CIExIk-y.esm.js → sdkVersion-BpWCQ-V3.esm.js} +1 -1
- package/dist/selfie.esm.js +5 -5
- package/dist/{selfieManager-BVK8Yo__.esm.js → selfieManager-gOb5R-nd.esm.js} +3 -3
- package/dist/{selfieStateMachine-CnrxNcRk.esm.js → selfieStateMachine-B1Ni3iDU.esm.js} +2 -2
- package/dist/{session-c5Zk9ScZ.esm.js → session-2LBHdwZv.esm.js} +3 -3
- package/dist/session.esm.js +4 -4
- package/dist/{sessionInitializer-HuJ4OYs0.esm.js → sessionInitializer-CX84J4ZG.esm.js} +3 -3
- package/dist/{setup-ItT0ngv1.esm.js → setup-CokQ-yUA.esm.js} +4 -4
- package/dist/{trueSightService-Cmein6eU.esm.js → trueSightService-D03Z4v0r.esm.js} +2 -2
- package/dist/video-selfie.d.ts +1 -1
- package/dist/video-selfie.esm.js +5 -5
- package/dist/{videoSelfieCameraWarmer-Djel_Uco.esm.js → videoSelfieCameraWarmer-DVmyNivl.esm.js} +3 -3
- package/dist/{videoSelfieStepDetector-5YHFe0Mq.d.ts → videoSelfieStepDetector-Ct2y9wZo.d.ts} +41 -11
- package/dist/wasm.esm.js +1 -1
- package/dist/workflow.d.ts +4 -4
- package/dist/workflow.esm.js +14 -14
- package/package.json +1 -1
|
@@ -1,20 +1,161 @@
|
|
|
1
1
|
import { b as resolveWasmSource, p as WASM_MODEL_FILES } from "./wasmWebClient-B7baE-Wf.esm.js";
|
|
2
|
-
import { p as getBarcodeEnhanceModelUrl } from "./setup-
|
|
2
|
+
import { p as getBarcodeEnhanceModelUrl } from "./setup-CokQ-yUA.esm.js";
|
|
3
3
|
import { s as wasmRuntime, t as getResolvedModelSource } from "./warmup-CUUnwYxe.esm.js";
|
|
4
4
|
import { i as BaseWasmProvider } from "./safeStorage-B-trhxg6.esm.js";
|
|
5
5
|
import { t as IncodeCanvas } from "./canvas-BxFzWTt-.esm.js";
|
|
6
|
+
//#region ../infra/src/media/cameraCompositorWorker.ts
|
|
7
|
+
/**
|
|
8
|
+
* Whether the worker transport is available here. Every probe must hold;
|
|
9
|
+
* anything missing routes `CameraCompositor` to its main-thread path.
|
|
10
|
+
*/
|
|
11
|
+
function canUseCameraCompositorWorker() {
|
|
12
|
+
const g = globalThis;
|
|
13
|
+
return typeof g.MediaStreamTrackProcessor === "function" && typeof g.MediaStreamTrackGenerator === "function" && typeof g.Worker === "function" && typeof g.OffscreenCanvas === "function" && typeof g.VideoFrame === "function";
|
|
14
|
+
}
|
|
15
|
+
function createTrackProcessor(track) {
|
|
16
|
+
const Ctor = globalThis.MediaStreamTrackProcessor;
|
|
17
|
+
if (!Ctor) throw new Error("MediaStreamTrackProcessor unavailable");
|
|
18
|
+
return new Ctor({ track });
|
|
19
|
+
}
|
|
20
|
+
function createTrackGenerator() {
|
|
21
|
+
const Ctor = globalThis.MediaStreamTrackGenerator;
|
|
22
|
+
if (!Ctor) throw new Error("MediaStreamTrackGenerator unavailable");
|
|
23
|
+
return new Ctor({ kind: "video" });
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The worker's entire logic. SELF-CONTAINED (serialized via toString into the
|
|
27
|
+
* blob): no module references. Frame loop: read → scale within the bound →
|
|
28
|
+
* write → close. The processor buffers at most one frame, so reads always
|
|
29
|
+
* yield the freshest frame; while paused, frames are still read and closed so
|
|
30
|
+
* the camera's frame pool stays healthy — an unclosed VideoFrame can stall the
|
|
31
|
+
* capture pipeline, which the recording must never do.
|
|
32
|
+
*/
|
|
33
|
+
function cameraCompositorWorkerMain(scope) {
|
|
34
|
+
const g = globalThis;
|
|
35
|
+
let maxLongEdge = 1280;
|
|
36
|
+
let maxShortEdge = 720;
|
|
37
|
+
let canvas = null;
|
|
38
|
+
let ctx = null;
|
|
39
|
+
let writer = null;
|
|
40
|
+
let activeReader = null;
|
|
41
|
+
let generation = 0;
|
|
42
|
+
let paused = false;
|
|
43
|
+
let announceNextFrame = false;
|
|
44
|
+
const boundedSize = (width, height) => {
|
|
45
|
+
const scale = Math.min(1, maxLongEdge / Math.max(width, height), maxShortEdge / Math.min(width, height));
|
|
46
|
+
return {
|
|
47
|
+
width: Math.max(1, Math.round(width * scale)),
|
|
48
|
+
height: Math.max(1, Math.round(height * scale))
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
const scaled = (frame) => {
|
|
52
|
+
const size = boundedSize(frame.displayWidth, frame.displayHeight);
|
|
53
|
+
if (!canvas || !ctx || size.width === frame.displayWidth && size.height === frame.displayHeight) return frame;
|
|
54
|
+
if (canvas.width !== size.width || canvas.height !== size.height) {
|
|
55
|
+
canvas.width = size.width;
|
|
56
|
+
canvas.height = size.height;
|
|
57
|
+
}
|
|
58
|
+
ctx.drawImage(frame, 0, 0, size.width, size.height);
|
|
59
|
+
const out = new g.VideoFrame(canvas, { timestamp: frame.timestamp });
|
|
60
|
+
frame.close();
|
|
61
|
+
return out;
|
|
62
|
+
};
|
|
63
|
+
const pump = async (readable, gen) => {
|
|
64
|
+
const reader = readable.getReader();
|
|
65
|
+
activeReader = reader;
|
|
66
|
+
try {
|
|
67
|
+
for (;;) {
|
|
68
|
+
const { value: frame, done } = await reader.read();
|
|
69
|
+
if (done) {
|
|
70
|
+
if (gen === generation) scope.postMessage({ type: "ended" });
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
if (gen !== generation) {
|
|
74
|
+
frame.close();
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
if (paused || !writer) {
|
|
78
|
+
frame.close();
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
await writer.write(scaled(frame));
|
|
82
|
+
if (announceNextFrame) {
|
|
83
|
+
announceNextFrame = false;
|
|
84
|
+
scope.postMessage({ type: "frame" });
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
} catch (error) {
|
|
88
|
+
if (gen === generation) scope.postMessage({
|
|
89
|
+
type: "fatal",
|
|
90
|
+
message: String(error)
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
const switchSource = (readable) => {
|
|
95
|
+
generation += 1;
|
|
96
|
+
const previous = activeReader;
|
|
97
|
+
activeReader = null;
|
|
98
|
+
previous?.cancel().catch(() => {});
|
|
99
|
+
pump(readable, generation);
|
|
100
|
+
};
|
|
101
|
+
scope.onmessage = (event) => {
|
|
102
|
+
const message = event.data;
|
|
103
|
+
switch (message.type) {
|
|
104
|
+
case "start":
|
|
105
|
+
maxLongEdge = message.maxLongEdge;
|
|
106
|
+
maxShortEdge = message.maxShortEdge;
|
|
107
|
+
canvas = new g.OffscreenCanvas(1, 1);
|
|
108
|
+
ctx = canvas.getContext("2d");
|
|
109
|
+
writer = message.writable.getWriter();
|
|
110
|
+
announceNextFrame = true;
|
|
111
|
+
switchSource(message.readable);
|
|
112
|
+
break;
|
|
113
|
+
case "source":
|
|
114
|
+
switchSource(message.readable);
|
|
115
|
+
break;
|
|
116
|
+
case "pause":
|
|
117
|
+
paused = true;
|
|
118
|
+
break;
|
|
119
|
+
case "resume":
|
|
120
|
+
paused = false;
|
|
121
|
+
announceNextFrame = true;
|
|
122
|
+
break;
|
|
123
|
+
default: break;
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
/** Assembles the classic-worker script from the serialized worker main. */
|
|
128
|
+
function buildCameraCompositorWorkerSource() {
|
|
129
|
+
return [`const workerMain = ${cameraCompositorWorkerMain.toString()};`, "workerMain(self);"].join("\n");
|
|
130
|
+
}
|
|
131
|
+
//#endregion
|
|
6
132
|
//#region ../infra/src/media/CameraCompositor.ts
|
|
7
133
|
const MAX_COMPOSITE_LONG_EDGE = 1280;
|
|
8
134
|
const MAX_COMPOSITE_SHORT_EDGE = 720;
|
|
9
135
|
const FRAME_INTERVAL_TOLERANCE_RATIO = .9;
|
|
10
136
|
const DEFAULT_RESUME_TIMEOUT_MS = 2e3;
|
|
11
137
|
/**
|
|
12
|
-
* Composites the *active* camera into a
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
138
|
+
* Composites the *active* camera into a single, stable `MediaStream` to
|
|
139
|
+
* record. Switching cameras (front ↔ back) just repoints the source — the
|
|
140
|
+
* output stream and its audio track are never replaced — so a single
|
|
141
|
+
* `MediaRecorder` produces one continuous video that follows the camera
|
|
142
|
+
* switches (V1 parity), instead of restarting per camera.
|
|
143
|
+
*
|
|
144
|
+
* Two transports (ENG-55397):
|
|
145
|
+
* - **Worker (preferred, Chromium 94+):** camera track →
|
|
146
|
+
* `MediaStreamTrackProcessor` → worker scales on an `OffscreenCanvas` →
|
|
147
|
+
* `MediaStreamTrackGenerator`. The main thread is not in the frame path, so
|
|
148
|
+
* the recording stays at camera rate while the synchronous ID detection
|
|
149
|
+
* tick saturates the main thread (measured: 4–9 fps main-thread vs 30 fps
|
|
150
|
+
* worker on a Galaxy S21 under the same load).
|
|
151
|
+
* - **Main thread (fallback):** hidden `<video>` → rVFC/rAF → canvas →
|
|
152
|
+
* `captureStream`, for Safari, Firefox and strict-CSP hosts that block blob
|
|
153
|
+
* workers.
|
|
154
|
+
*
|
|
155
|
+
* A worker that dies mid-recording (GPU-process crash, OOM) is released at
|
|
156
|
+
* once; the composite track stays valid but receives no further frames, and
|
|
157
|
+
* the next `resume()` reports `timed-out` so the caller reacquires the camera
|
|
158
|
+
* instead of talking to a dead worker.
|
|
18
159
|
*
|
|
19
160
|
* The audio track from the initial stream is carried through unchanged across
|
|
20
161
|
* video switches, so there's no audio glitch when the camera flips.
|
|
@@ -24,8 +165,11 @@ var CameraCompositor = class {
|
|
|
24
165
|
this.canvas = null;
|
|
25
166
|
this.ctx = null;
|
|
26
167
|
this.video = null;
|
|
168
|
+
this.transport = null;
|
|
169
|
+
this.generator = null;
|
|
27
170
|
this.frameRequestId = null;
|
|
28
171
|
this.frameRequestKind = null;
|
|
172
|
+
this.sourceExceedsTargetFps = false;
|
|
29
173
|
this.lastDrawTimeMs = null;
|
|
30
174
|
this.lastVideoTimeSeconds = null;
|
|
31
175
|
this.audioTrack = null;
|
|
@@ -41,29 +185,33 @@ var CameraCompositor = class {
|
|
|
41
185
|
* `switchVideo` calls.
|
|
42
186
|
*/
|
|
43
187
|
start(stream) {
|
|
44
|
-
this.canvas = document.createElement("canvas");
|
|
45
|
-
this.ctx = this.canvas.getContext("2d");
|
|
46
|
-
this.video = document.createElement("video");
|
|
47
|
-
this.video.muted = true;
|
|
48
|
-
this.video.playsInline = true;
|
|
49
188
|
this.audioTrack = stream.getAudioTracks()[0] ?? null;
|
|
50
|
-
this.
|
|
51
|
-
const composite = this.canvas.captureStream(this.fps);
|
|
189
|
+
const composite = this.startWorkerTransport(stream) ?? this.startMainThread(stream);
|
|
52
190
|
if (this.audioTrack) composite.addTrack(this.audioTrack);
|
|
53
191
|
this.composite = composite;
|
|
54
|
-
this.startDrawLoop();
|
|
55
192
|
return composite;
|
|
56
193
|
}
|
|
57
194
|
/**
|
|
58
|
-
* Swap the camera feeding the
|
|
195
|
+
* Swap the camera feeding the composite without interrupting the composite
|
|
59
196
|
* stream. Pass a video-only stream (audio is kept from `start`). The previous
|
|
60
197
|
* video track is stopped.
|
|
61
198
|
*/
|
|
62
199
|
switchVideo(stream) {
|
|
63
200
|
if (!this.composite) return;
|
|
64
201
|
const previousVideoTrack = this.videoTrack;
|
|
65
|
-
this.
|
|
66
|
-
|
|
202
|
+
if (this.transport) {
|
|
203
|
+
this.videoTrack = stream.getVideoTracks()[0] ?? null;
|
|
204
|
+
if (this.videoTrack) try {
|
|
205
|
+
const processor = createTrackProcessor(this.videoTrack);
|
|
206
|
+
this.postToWorker({
|
|
207
|
+
type: "source",
|
|
208
|
+
readable: processor.readable
|
|
209
|
+
}, [processor.readable]);
|
|
210
|
+
} catch {}
|
|
211
|
+
} else if (this.video) {
|
|
212
|
+
this.setVideoSource(stream);
|
|
213
|
+
this.startDrawLoop();
|
|
214
|
+
} else this.videoTrack = stream.getVideoTracks()[0] ?? null;
|
|
67
215
|
if (previousVideoTrack) previousVideoTrack.stop();
|
|
68
216
|
}
|
|
69
217
|
/** The composite stream being recorded, if compositing is active. */
|
|
@@ -73,26 +221,32 @@ var CameraCompositor = class {
|
|
|
73
221
|
/** Pause source playback and drawing while the page is backgrounded. */
|
|
74
222
|
pause() {
|
|
75
223
|
this.finishResume("timed-out");
|
|
224
|
+
if (this.transport) {
|
|
225
|
+
this.postToWorker({ type: "pause" });
|
|
226
|
+
return;
|
|
227
|
+
}
|
|
76
228
|
this.cancelDrawLoop();
|
|
77
229
|
this.video?.pause();
|
|
78
230
|
}
|
|
79
231
|
/**
|
|
80
|
-
* Restart source playback and wait for a genuinely new camera frame to
|
|
81
|
-
*
|
|
82
|
-
*
|
|
232
|
+
* Restart source playback and wait for a genuinely new camera frame to reach
|
|
233
|
+
* the stable composite stream. The caller must not resume encoding until
|
|
234
|
+
* this resolves with `resumed`.
|
|
83
235
|
*/
|
|
84
236
|
async resume(signal) {
|
|
85
237
|
const video = this.video;
|
|
86
|
-
if (!
|
|
238
|
+
if (!this.composite || !video && !this.transport) return "timed-out";
|
|
87
239
|
if (this.audioTrack?.readyState === "ended") return "audio-ended";
|
|
88
240
|
if (!this.videoTrack || this.videoTrack.readyState === "ended") return "video-ended";
|
|
89
241
|
if (signal?.aborted) return "timed-out";
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
242
|
+
if (video && !this.transport) {
|
|
243
|
+
try {
|
|
244
|
+
await video.play();
|
|
245
|
+
} catch {
|
|
246
|
+
return "timed-out";
|
|
247
|
+
}
|
|
248
|
+
if (signal?.aborted) return "timed-out";
|
|
94
249
|
}
|
|
95
|
-
if (signal?.aborted) return "timed-out";
|
|
96
250
|
this.finishResume("timed-out");
|
|
97
251
|
return new Promise((resolve) => {
|
|
98
252
|
const timeout = setTimeout(() => {
|
|
@@ -115,13 +269,20 @@ var CameraCompositor = class {
|
|
|
115
269
|
resolve,
|
|
116
270
|
timeout
|
|
117
271
|
};
|
|
272
|
+
if (this.transport) {
|
|
273
|
+
this.postToWorker({ type: "resume" });
|
|
274
|
+
return;
|
|
275
|
+
}
|
|
118
276
|
this.startDrawLoop(false);
|
|
119
277
|
});
|
|
120
278
|
}
|
|
121
|
-
/** Stop compositing and release the canvas, audio
|
|
279
|
+
/** Stop compositing and release the worker, canvas, audio and video tracks. */
|
|
122
280
|
stop() {
|
|
123
281
|
this.finishResume("timed-out");
|
|
124
282
|
this.cancelDrawLoop();
|
|
283
|
+
this.releaseWorker();
|
|
284
|
+
this.generator?.stop();
|
|
285
|
+
this.generator = null;
|
|
125
286
|
this.videoTrack?.stop();
|
|
126
287
|
this.audioTrack?.stop();
|
|
127
288
|
this.composite?.getTracks().forEach((track) => track.stop());
|
|
@@ -133,8 +294,90 @@ var CameraCompositor = class {
|
|
|
133
294
|
this.audioTrack = null;
|
|
134
295
|
this.composite = null;
|
|
135
296
|
}
|
|
297
|
+
/**
|
|
298
|
+
* Worker transport. Returns `null` — and leaves nothing behind — when the
|
|
299
|
+
* browser lacks insertable streams or a strict `worker-src` CSP blocks blob
|
|
300
|
+
* workers, so `start` falls through to the main-thread path. Never throws.
|
|
301
|
+
*/
|
|
302
|
+
startWorkerTransport(stream) {
|
|
303
|
+
const track = stream.getVideoTracks()[0];
|
|
304
|
+
if (!track || !canUseCameraCompositorWorker()) return null;
|
|
305
|
+
let worker = null;
|
|
306
|
+
let generator = null;
|
|
307
|
+
let blobUrl = null;
|
|
308
|
+
try {
|
|
309
|
+
const processor = createTrackProcessor(track);
|
|
310
|
+
generator = createTrackGenerator();
|
|
311
|
+
blobUrl = URL.createObjectURL(new Blob([buildCameraCompositorWorkerSource()], { type: "text/javascript" }));
|
|
312
|
+
worker = new Worker(blobUrl);
|
|
313
|
+
worker.onmessage = (event) => this.onWorkerMessage(event.data);
|
|
314
|
+
worker.onerror = (event) => this.onWorkerMessage({
|
|
315
|
+
type: "fatal",
|
|
316
|
+
message: event?.message || "worker error"
|
|
317
|
+
});
|
|
318
|
+
const message = {
|
|
319
|
+
type: "start",
|
|
320
|
+
readable: processor.readable,
|
|
321
|
+
writable: generator.writable,
|
|
322
|
+
maxLongEdge: MAX_COMPOSITE_LONG_EDGE,
|
|
323
|
+
maxShortEdge: MAX_COMPOSITE_SHORT_EDGE
|
|
324
|
+
};
|
|
325
|
+
worker.postMessage(message, [processor.readable, generator.writable]);
|
|
326
|
+
} catch {
|
|
327
|
+
worker?.terminate();
|
|
328
|
+
generator?.stop();
|
|
329
|
+
if (blobUrl) URL.revokeObjectURL(blobUrl);
|
|
330
|
+
return null;
|
|
331
|
+
}
|
|
332
|
+
this.videoTrack = track;
|
|
333
|
+
this.transport = {
|
|
334
|
+
worker,
|
|
335
|
+
blobUrl
|
|
336
|
+
};
|
|
337
|
+
this.generator = generator;
|
|
338
|
+
return new MediaStream([generator]);
|
|
339
|
+
}
|
|
340
|
+
/** Terminates the worker and frees its blob; idempotent. */
|
|
341
|
+
releaseWorker() {
|
|
342
|
+
if (!this.transport) return;
|
|
343
|
+
this.transport.worker.terminate();
|
|
344
|
+
URL.revokeObjectURL(this.transport.blobUrl);
|
|
345
|
+
this.transport = null;
|
|
346
|
+
}
|
|
347
|
+
startMainThread(stream) {
|
|
348
|
+
this.canvas = document.createElement("canvas");
|
|
349
|
+
this.ctx = this.canvas.getContext("2d");
|
|
350
|
+
this.video = document.createElement("video");
|
|
351
|
+
this.video.muted = true;
|
|
352
|
+
this.video.playsInline = true;
|
|
353
|
+
this.setVideoSource(stream);
|
|
354
|
+
const composite = this.canvas.captureStream(this.fps);
|
|
355
|
+
this.startDrawLoop();
|
|
356
|
+
return composite;
|
|
357
|
+
}
|
|
358
|
+
postToWorker(message, transfer = []) {
|
|
359
|
+
this.transport?.worker.postMessage(message, transfer);
|
|
360
|
+
}
|
|
361
|
+
onWorkerMessage(message) {
|
|
362
|
+
if (!this.transport) return;
|
|
363
|
+
switch (message.type) {
|
|
364
|
+
case "frame":
|
|
365
|
+
this.finishResume("resumed");
|
|
366
|
+
break;
|
|
367
|
+
case "ended":
|
|
368
|
+
this.finishResume("video-ended");
|
|
369
|
+
break;
|
|
370
|
+
case "fatal":
|
|
371
|
+
this.releaseWorker();
|
|
372
|
+
this.finishResume("timed-out");
|
|
373
|
+
break;
|
|
374
|
+
default: break;
|
|
375
|
+
}
|
|
376
|
+
}
|
|
136
377
|
setVideoSource(stream) {
|
|
137
378
|
this.videoTrack = stream.getVideoTracks()[0] ?? null;
|
|
379
|
+
const sourceFps = this.videoTrack && typeof this.videoTrack.getSettings === "function" ? this.videoTrack.getSettings().frameRate : void 0;
|
|
380
|
+
this.sourceExceedsTargetFps = typeof sourceFps === "number" && sourceFps > this.fps;
|
|
138
381
|
const video = this.video;
|
|
139
382
|
if (!video) return;
|
|
140
383
|
video.srcObject = new MediaStream(stream.getVideoTracks());
|
|
@@ -146,7 +389,7 @@ var CameraCompositor = class {
|
|
|
146
389
|
if (resetSourceTime) this.lastVideoTimeSeconds = null;
|
|
147
390
|
const draw = (timeMs) => {
|
|
148
391
|
const elapsed = this.lastDrawTimeMs === null ? Infinity : timeMs - this.lastDrawTimeMs;
|
|
149
|
-
if ((this.frameIntervalMs
|
|
392
|
+
if ((!(this.frameIntervalMs > 0 && (this.frameRequestKind !== "video" || this.sourceExceedsTargetFps)) || elapsed >= this.frameIntervalMs * FRAME_INTERVAL_TOLERANCE_RATIO) && this.drawCurrentFrame()) {
|
|
150
393
|
this.lastDrawTimeMs = timeMs;
|
|
151
394
|
this.finishResume("resumed");
|
|
152
395
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { l as BrowserStorageProvider } from "./setup-
|
|
1
|
+
import { l as BrowserStorageProvider } from "./setup-CokQ-yUA.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-B2e8p268.esm.js";
|
|
6
6
|
import { t as BrowserVisibilityObserverProvider } from "./BrowserVisibilityObserverProvider-BrJN1B8A.esm.js";
|
|
7
7
|
import { o as resetWasmMotionPrimedForModule, r as primeMotionFromUserGestureIfNeeded } from "./permissionServices-Bj_fyWtv.esm.js";
|
|
8
|
-
import { a as createIdProtectedCaptureController, n as provideIdProtectedCaptureController, o as findIdProtectedCaptureController, s as getManualUploadTabs, t as idCaptureMachine } from "./idCaptureStateMachine-
|
|
9
|
-
import { v as resolveCaptureOptimizingTreatment, y as resolveIdCaptureThresholds } from "./idCaptureServices-
|
|
8
|
+
import { a as createIdProtectedCaptureController, n as provideIdProtectedCaptureController, o as findIdProtectedCaptureController, s as getManualUploadTabs, t as idCaptureMachine } from "./idCaptureStateMachine-Dt-gpoLr.esm.js";
|
|
9
|
+
import { v as resolveCaptureOptimizingTreatment, y as resolveIdCaptureThresholds } from "./idCaptureServices-DLL6vNtO.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-
|
|
2
|
-
import { i as numberParam, n as defineExperimentParams, t as booleanParam, u as resolveExperimentOnce } from "./feature-management-
|
|
1
|
+
import { t as ensureWasmPipelines } from "./setup-CokQ-yUA.esm.js";
|
|
2
|
+
import { i as numberParam, n as defineExperimentParams, t as booleanParam, u as resolveExperimentOnce } from "./feature-management-BEx5c9G9.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-Bj_fyWtv.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-BOtyQowf.esm.js";
|
|
11
11
|
import { t as getDeviceClass } from "./getDeviceClass-5NYZg9s6.esm.js";
|
|
12
|
-
import { t as MultipartRecordingService } from "./multipartRecordingService-
|
|
13
|
-
import { i as CameraCompositor, n as DEFAULT_ID_CAPTURE_THRESHOLDS, r as IdCaptureProvider } from "./idCaptureDefaults-
|
|
12
|
+
import { t as MultipartRecordingService } from "./multipartRecordingService-CWxZ5mTi.esm.js";
|
|
13
|
+
import { i as CameraCompositor, n as DEFAULT_ID_CAPTURE_THRESHOLDS, r as IdCaptureProvider } from "./idCaptureDefaults-BqPUqWvx.esm.js";
|
|
14
14
|
//#region src/internal/camera/cameraServices.ts
|
|
15
15
|
function createCameraServices(camera) {
|
|
16
16
|
return {
|
package/dist/{idCaptureStateMachine-DS6fNfwz.esm.js → idCaptureStateMachine-Dt-gpoLr.esm.js}
RENAMED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { l as BrowserStorageProvider } from "./setup-
|
|
1
|
+
import { l as BrowserStorageProvider } from "./setup-CokQ-yUA.esm.js";
|
|
2
2
|
import { r as WasmUtilProvider } from "./safeStorage-B-trhxg6.esm.js";
|
|
3
3
|
import { t as BrowserTimerProvider } from "./BrowserTimerProvider-BXhgNxLt.esm.js";
|
|
4
|
-
import { s as exposeExperimentOnce } from "./feature-management-
|
|
4
|
+
import { s as exposeExperimentOnce } from "./feature-management-BEx5c9G9.esm.js";
|
|
5
5
|
import { n as revokeObjectURL, t as getTimestamp } from "./IBrowserEnvironmentCapability-DEaRRk-R.esm.js";
|
|
6
6
|
import { r as getToken, t as api } from "./api-Bx3gKW_y.esm.js";
|
|
7
|
-
import { c as trueSightHintTransition, l as trueSightLog, m as isTrueSightTesting, r as noteTrueSightCaptureActivity } from "./trueSightService-
|
|
7
|
+
import { c as trueSightHintTransition, l as trueSightLog, m as isTrueSightTesting, r as noteTrueSightCaptureActivity } from "./trueSightService-D03Z4v0r.esm.js";
|
|
8
8
|
import { n as eventModuleNames, s as recordExperimentAssignmentOnce } from "./events-ijlbX_Wx.esm.js";
|
|
9
|
-
import { t as getDisableIpify } from "./sessionInitializer-
|
|
9
|
+
import { t as getDisableIpify } from "./sessionInitializer-CX84J4ZG.esm.js";
|
|
10
10
|
import { t as endpoints } from "./endpoints-D3B9mUHh.esm.js";
|
|
11
11
|
import { t as addDeviceStats } from "./stats-DkK-f8JT.esm.js";
|
|
12
12
|
import { a as isIOS, s as isIPad, t as isAndroid, u as isMacOsSafari } from "./platform-DkcRc9JV.esm.js";
|
|
13
|
-
import "./session-
|
|
13
|
+
import "./session-2LBHdwZv.esm.js";
|
|
14
14
|
import { c as not, i as assign, l as raise, n as enqueueActions, o as and, r as sendTo, t as setup } from "./xstate.esm-BuFLFuzz.esm.js";
|
|
15
15
|
import { n as fromPromise, t as fromCallback } from "./xstate-actors.esm-BXeQ-Ucz.esm.js";
|
|
16
16
|
import { n as getUrlSearchParam, t as buildUrlWithSearchParams } from "./urlUtils-D6phjq1-.esm.js";
|
|
@@ -24,8 +24,8 @@ import { t as sleep } from "./ITimerCapability-DgdDzp8G.esm.js";
|
|
|
24
24
|
import { t as getBrowser } from "./getBrowser-Cbe1C4Tn.esm.js";
|
|
25
25
|
import { n as getWindowDimensions } from "./getDeviceClass-CeBiEayS.esm.js";
|
|
26
26
|
import { n as runVirtualCameraCheck, t as frameSources } from "./virtualCameraCheck-WOloJ-do.esm.js";
|
|
27
|
-
import { n as DEFAULT_ID_CAPTURE_THRESHOLDS, r as IdCaptureProvider } from "./idCaptureDefaults-
|
|
28
|
-
import { S as getIdCameraStream, _ as ID_ERROR_CODES, a as getRealQualityValue, b as CAPTURE_OPTIMIZING, d as startRecordingSession, f as stopRecording, g as validateUploadResponse, h as uploadManualIdFile, i as finalizeRecordingSession, l as prepareRecordingForCameraRetry, m as uploadIdImage, o as initializeIdCapture, p as stopStream, r as disposeRecordingSession, t as addBarcode, u as processId, x as OPTIMIZING_WATCHDOG_MARGIN_MS, y as resolveIdCaptureThresholds } from "./idCaptureServices-
|
|
27
|
+
import { n as DEFAULT_ID_CAPTURE_THRESHOLDS, r as IdCaptureProvider } from "./idCaptureDefaults-BqPUqWvx.esm.js";
|
|
28
|
+
import { S as getIdCameraStream, _ as ID_ERROR_CODES, a as getRealQualityValue, b as CAPTURE_OPTIMIZING, d as startRecordingSession, f as stopRecording, g as validateUploadResponse, h as uploadManualIdFile, i as finalizeRecordingSession, l as prepareRecordingForCameraRetry, m as uploadIdImage, o as initializeIdCapture, p as stopStream, r as disposeRecordingSession, t as addBarcode, u as processId, x as OPTIMIZING_WATCHDOG_MARGIN_MS, y as resolveIdCaptureThresholds } from "./idCaptureServices-DLL6vNtO.esm.js";
|
|
29
29
|
import { t as StreamCanvasCapture } from "./StreamCanvasCapture-C9jtgBdT.esm.js";
|
|
30
30
|
//#region src/modules/id/digitalUpload/digitalUploadErrors.ts
|
|
31
31
|
const TERMINAL_FAIL_REASONS = /* @__PURE__ */ new Set(["DIGITAL_ID_REQUESTED_BUT_OTHER_PROVIDED", "ID_TYPE_UNACCEPTABLE"]);
|
|
@@ -1781,7 +1781,7 @@ fromPromise(async ({ input }) => {
|
|
|
1781
1781
|
});
|
|
1782
1782
|
fromPromise(async ({ input }) => {
|
|
1783
1783
|
if (!input.dependencies) return;
|
|
1784
|
-
const { loadDeepsightSession } = await import("./deepsightLoader-
|
|
1784
|
+
const { loadDeepsightSession } = await import("./deepsightLoader-DrRcGBbp.esm.js");
|
|
1785
1785
|
return loadDeepsightSession({
|
|
1786
1786
|
ds: input.ds,
|
|
1787
1787
|
storage: input.dependencies.storage,
|
|
@@ -2224,7 +2224,7 @@ function cleanup(service) {
|
|
|
2224
2224
|
service.cleanup();
|
|
2225
2225
|
} catch {}
|
|
2226
2226
|
}
|
|
2227
|
-
function createIdMetadataPreparationCoordinator(load = async (input) => (await import("./deepsightLoader-
|
|
2227
|
+
function createIdMetadataPreparationCoordinator(load = async (input) => (await import("./deepsightLoader-DrRcGBbp.esm.js")).loadDeepsightSession(input)) {
|
|
2228
2228
|
let disposed = false;
|
|
2229
2229
|
let preparation;
|
|
2230
2230
|
let service;
|
|
@@ -110,7 +110,7 @@ declare const idOcrStateMachine: StateMachine<IdOcrContext, {
|
|
|
110
110
|
type: "shouldProceedWithoutSubmitToSecondId";
|
|
111
111
|
params: unknown;
|
|
112
112
|
};
|
|
113
|
-
}>, never, "error" | "idle" | "success" | "finished" | "
|
|
113
|
+
}>, never, "error" | "idle" | "success" | "finished" | "submitting" | "loading" | "inputting" | "readonly" | "validatingContinue", string, IdOcrInput, NonReducibleUnknown, EventObject, MetaObject, {
|
|
114
114
|
readonly id: "idOcr";
|
|
115
115
|
readonly initial: "idle";
|
|
116
116
|
readonly context: ({ input }: {
|
package/dist/identity-reuse.d.ts
CHANGED
|
@@ -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-
|
|
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 };
|
|
@@ -125,7 +125,7 @@ declare const identityReuseMachine: StateMachine<IdentityReuseContext, {
|
|
|
125
125
|
type: "hasSelection";
|
|
126
126
|
params: unknown;
|
|
127
127
|
};
|
|
128
|
-
}>, never, "error" | "idle" | "finished" | "
|
|
128
|
+
}>, never, "error" | "idle" | "finished" | "submitting" | "loading" | "documentsFound", string, IdentityReuseInput, NonReducibleUnknown, EventObject, MetaObject, {
|
|
129
129
|
readonly id: "identityReuse";
|
|
130
130
|
readonly initial: "idle";
|
|
131
131
|
readonly context: ({ input }: {
|
package/dist/index.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as reset, r as isConfigured, s as setup } from "./setup-
|
|
1
|
+
import { i as reset, r as isConfigured, s as setup } from "./setup-CokQ-yUA.esm.js";
|
|
2
2
|
export { isConfigured, reset, setup };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { r as MandatoryConsentConfig } from "./types-9_esGTPj.js";
|
|
2
|
-
import { a as MandatoryConsentActor, i as createMandatoryConsentManagerFromActor, n as MandatoryConsentState, o as mandatoryConsentMachine, r as createMandatoryConsentManager, t as MandatoryConsentManager } from "./mandatoryConsentManager-
|
|
2
|
+
import { a as MandatoryConsentActor, i as createMandatoryConsentManagerFromActor, n as MandatoryConsentState, o as mandatoryConsentMachine, r as createMandatoryConsentManager, t as MandatoryConsentManager } from "./mandatoryConsentManager-2O5wztkg.js";
|
|
3
3
|
export { type MandatoryConsentActor, type MandatoryConsentConfig, type MandatoryConsentManager, type MandatoryConsentState, createMandatoryConsentManager, createMandatoryConsentManagerFromActor, mandatoryConsentMachine };
|
package/dist/{mandatoryConsentManager-CkK0Qzue.d.ts → mandatoryConsentManager-2O5wztkg.d.ts}
RENAMED
|
@@ -53,6 +53,10 @@ declare const mandatoryConsentMachine: StateMachine<MandatoryConsentContext, {
|
|
|
53
53
|
type: "setConsent";
|
|
54
54
|
params: NonReducibleUnknown;
|
|
55
55
|
};
|
|
56
|
+
toggleSigned: {
|
|
57
|
+
type: "toggleSigned";
|
|
58
|
+
params: NonReducibleUnknown;
|
|
59
|
+
};
|
|
56
60
|
setError: {
|
|
57
61
|
type: "setError";
|
|
58
62
|
params: NonReducibleUnknown;
|
|
@@ -65,14 +69,10 @@ declare const mandatoryConsentMachine: StateMachine<MandatoryConsentContext, {
|
|
|
65
69
|
type: "resetContext";
|
|
66
70
|
params: NonReducibleUnknown;
|
|
67
71
|
};
|
|
68
|
-
toggleSigned: {
|
|
69
|
-
type: "toggleSigned";
|
|
70
|
-
params: NonReducibleUnknown;
|
|
71
|
-
};
|
|
72
72
|
}>, {
|
|
73
73
|
type: "canSubmit";
|
|
74
74
|
params: unknown;
|
|
75
|
-
}, never, "error" | "idle" | "closed" | "finished" | "
|
|
75
|
+
}, never, "error" | "idle" | "closed" | "finished" | "submitting" | "loading" | "display", string, MandatoryConsentInput, NonReducibleUnknown, EventObject, MetaObject, {
|
|
76
76
|
readonly id: "mandatoryConsent";
|
|
77
77
|
readonly initial: "idle";
|
|
78
78
|
readonly context: ({ input }: {
|
package/dist/{multipartRecordingService-B3C_zlev.esm.js → multipartRecordingService-CWxZ5mTi.esm.js}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as BrowserTimerProvider } from "./BrowserTimerProvider-BXhgNxLt.esm.js";
|
|
2
2
|
import { t as api } from "./api-Bx3gKW_y.esm.js";
|
|
3
3
|
import { t as endpoints } from "./endpoints-D3B9mUHh.esm.js";
|
|
4
|
-
import { a as isIOS } from "./platform-DkcRc9JV.esm.js";
|
|
4
|
+
import { a as isIOS, t as isAndroid } from "./platform-DkcRc9JV.esm.js";
|
|
5
5
|
//#region ../infra/src/media/mediaRecorderOptions.ts
|
|
6
6
|
/**
|
|
7
7
|
* Picks a `MediaRecorder` mime type the current browser actually supports.
|
|
@@ -19,6 +19,17 @@ function getSupportedMediaRecorderMimeType() {
|
|
|
19
19
|
return "";
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
|
+
* Mime type for the multipart (video-selfie-service) recorder. Android
|
|
23
|
+
* Chromium gets hardware H.264 in fragmented MP4 first — the fragment shape
|
|
24
|
+
* the service already ingests from Safari. Measured on a Galaxy S21 under ID
|
|
25
|
+
* detection load (ENG-55397): 720p VP8 dropped 16% of frames, H.264 dropped
|
|
26
|
+
* none. Everything else keeps the WebM-first order.
|
|
27
|
+
*/
|
|
28
|
+
function getMultipartRecorderMimeType() {
|
|
29
|
+
if (isAndroid() && MediaRecorder.isTypeSupported("video/mp4;codecs=avc1")) return "video/mp4;codecs=avc1";
|
|
30
|
+
return getSupportedMediaRecorderMimeType();
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
22
33
|
* `MediaRecorder` options tuned per platform — a higher bitrate on iOS, lower
|
|
23
34
|
* elsewhere — paired with the supported mime type.
|
|
24
35
|
*/
|
|
@@ -89,7 +100,7 @@ var MultipartRecordingProvider = class {
|
|
|
89
100
|
this.partNumber = 0;
|
|
90
101
|
this.onPart = onPart;
|
|
91
102
|
try {
|
|
92
|
-
this.mimeType =
|
|
103
|
+
this.mimeType = getMultipartRecorderMimeType();
|
|
93
104
|
const recorder = new MediaRecorder(stream.clone(), {
|
|
94
105
|
mimeType: this.mimeType,
|
|
95
106
|
videoBitsPerSecond: VIDEO_BITS_PER_SECOND
|
package/dist/personhood.esm.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { l as BrowserStorageProvider } from "./setup-
|
|
1
|
+
import { l as BrowserStorageProvider } from "./setup-CokQ-yUA.esm.js";
|
|
2
2
|
import { r as WasmUtilProvider } from "./safeStorage-B-trhxg6.esm.js";
|
|
3
3
|
import { t as BrowserTimerProvider } from "./BrowserTimerProvider-BXhgNxLt.esm.js";
|
|
4
4
|
import { t as api } from "./api-Bx3gKW_y.esm.js";
|
|
5
|
-
import { b as getStoredHttpConfig, w as createApi$1, y as randomUUID } from "./trueSightService-
|
|
5
|
+
import { b as getStoredHttpConfig, w as createApi$1, y as randomUUID } from "./trueSightService-D03Z4v0r.esm.js";
|
|
6
6
|
import { n as eventModuleNames } from "./events-ijlbX_Wx.esm.js";
|
|
7
|
-
import { b as BrowserEnvironmentProvider, h as isBrowserSimulation, n as getFingerprintEnabled, v as getThumbmarkId, y as getDeviceFingerprintInfo } from "./sessionInitializer-
|
|
7
|
+
import { b as BrowserEnvironmentProvider, h as isBrowserSimulation, n as getFingerprintEnabled, v as getThumbmarkId, y as getDeviceFingerprintInfo } from "./sessionInitializer-CX84J4ZG.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 { i as requestCameraAccess, o as stopCameraStream } from "./camera-sIa9ceW2.esm.js";
|
|
12
12
|
import { i as requestPermission, t as checkPermission } from "./permissionServices-Bj_fyWtv.esm.js";
|
|
13
|
-
import { i as initializeDeepsightSession, l as stopStream, o as startDetection, t as FaceDetectionProvider } from "./FaceDetectionProvider-
|
|
13
|
+
import { i as initializeDeepsightSession, l as stopStream, o as startDetection, t as FaceDetectionProvider } from "./FaceDetectionProvider-CWujhVWD.esm.js";
|
|
14
14
|
import { t as sleep } from "./ITimerCapability-DgdDzp8G.esm.js";
|
|
15
15
|
import { t as StreamCanvasCapture } from "./StreamCanvasCapture-C9jtgBdT.esm.js";
|
|
16
16
|
//#region src/modules/personhood/personhoodServices.ts
|
package/dist/qe-signature.esm.js
CHANGED
|
@@ -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-
|
|
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-BGtmVYnW.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-
|
|
2
|
+
import { a as notifyTrueSightManagerStopped, i as notifyTrueSightFlowEvent } from "./trueSightService-D03Z4v0r.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";
|
package/dist/selfie.esm.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { l as BrowserStorageProvider } from "./setup-
|
|
1
|
+
import { l as BrowserStorageProvider } from "./setup-CokQ-yUA.esm.js";
|
|
2
2
|
import { r as WasmUtilProvider } from "./safeStorage-B-trhxg6.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
5
|
import { n as fromPromise } from "./xstate-actors.esm-BXeQ-Ucz.esm.js";
|
|
6
|
-
import { n as createDefaultProtectedFaceControllerActor, t as faceCaptureMachine } from "./faceCaptureSetup-
|
|
7
|
-
import { t as createFaceCaptureManagerFromActor } from "./faceCaptureManagerFactory-
|
|
6
|
+
import { n as createDefaultProtectedFaceControllerActor, t as faceCaptureMachine } from "./faceCaptureSetup-BuI9bUDW.esm.js";
|
|
7
|
+
import { t as createFaceCaptureManagerFromActor } from "./faceCaptureManagerFactory-jOdgsEsg.esm.js";
|
|
8
8
|
import { s as PROTECTED_CAPTURE_TARGET } from "./createCameraCycleOwnership-DQ5-F2oW.esm.js";
|
|
9
9
|
import { r as processFace } from "./selfieErrorUtils-C77GXJH6.esm.js";
|
|
10
|
-
import { t as selfieMachine } from "./selfieStateMachine-
|
|
11
|
-
import { n as createSelfieManagerFromActor, t as createSelfieManager } from "./selfieManager-
|
|
10
|
+
import { t as selfieMachine } from "./selfieStateMachine-B1Ni3iDU.esm.js";
|
|
11
|
+
import { n as createSelfieManagerFromActor, t as createSelfieManager } from "./selfieManager-gOb5R-nd.esm.js";
|
|
12
12
|
import { t as invokeOnCaptureCallback } from "./invokeOnCaptureCallback-BjzPjJ_p.esm.js";
|
|
13
13
|
/**
|
|
14
14
|
* Selfie state machine variant for the captureOnly flow. Shares the full base
|