@incodetech/core 0.0.0-dev-20260206-4cf3405 → 0.0.0-dev-20260209-c0e857b
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/Actor-uC1hxvGo.d.ts +2 -0
- package/dist/{OpenViduLogger-DrE4_cHh.esm.js → OpenViduLogger-Cut9zn-U.esm.js} +1 -1
- package/dist/OpenViduLogger-D_YCgaLD.esm.js +3 -0
- package/dist/authentication.d.ts +75 -0
- package/dist/authentication.esm.js +194 -0
- package/dist/{deepsightLoader-CHzDt5p2.esm.js → deepsightLoader-DHzfMqHS.esm.js} +4 -4
- package/dist/{deepsightService-D8qaikEi.d.ts → deepsightService-D9Isk8fg.d.ts} +4 -134
- package/dist/{deepsightService-C_AyxXhJ.esm.js → deepsightService-DLabZ49g.esm.js} +3 -3
- package/dist/email.d.ts +1 -1
- package/dist/email.esm.js +4 -4
- package/dist/{endpoints-Q2cBwc8v.esm.js → endpoints-CJtl25ka.esm.js} +1 -0
- package/dist/{events-BN5bIhsN.esm.js → events-CieIKgPk.esm.js} +3 -2
- package/dist/face-match.d.ts +1 -1
- package/dist/face-match.esm.js +4 -4
- package/dist/faceCaptureManagerFactory-CZgmP4pc.d.ts +227 -0
- package/dist/faceCaptureSetup-DRbBF7AJ.esm.js +1202 -0
- package/dist/flow.d.ts +2 -2
- package/dist/flow.esm.js +3 -3
- package/dist/{id-B6VREnGU.esm.js → id-2r4nZyH_.esm.js} +8 -8
- package/dist/id.d.ts +6 -4
- package/dist/id.esm.js +8 -8
- package/dist/{index-BOpNqAs7.d.ts → index-C0SJR9cc.d.ts} +5 -4
- package/dist/index.d.ts +7 -4
- package/dist/index.esm.js +8 -8
- package/dist/{lib-ieMlAKG1.esm.js → lib-BbiUxUyg.esm.js} +2 -2
- package/dist/phone.d.ts +1 -1
- package/dist/phone.esm.js +4 -4
- package/dist/selfie.d.ts +38 -224
- package/dist/selfie.esm.js +22 -1145
- package/dist/{src-B0UBQ8zw.esm.js → src-BFHUdMI6.esm.js} +3 -3
- package/dist/{stats-CpcCA-Ml.esm.js → stats-DuS7aVaJ.esm.js} +1 -1
- package/dist/stats.esm.js +2 -2
- package/dist/{streamingEvents-DhMoimL8.esm.js → streamingEvents-DM6KFfsz.esm.js} +3 -3
- package/dist/types-u31qr1MR.d.ts +133 -0
- package/package.json +5 -1
- package/dist/OpenViduLogger-B6-UWyJe.esm.js +0 -3
- /package/dist/{Manager-CWwvSZqZ.d.ts → Manager-BiAYYF50.d.ts} +0 -0
- /package/dist/{api-BkkE6cfa.esm.js → api-Cqrn4bGi.esm.js} +0 -0
- /package/dist/{chunk-CiY78uGR.esm.js → chunk-CbPq_V01.esm.js} +0 -0
- /package/dist/{types-BHcijCvX.d.ts → types-Dc1nBvy2.d.ts} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as __commonJS } from "./chunk-
|
|
1
|
+
import { t as __commonJS } from "./chunk-CbPq_V01.esm.js";
|
|
2
2
|
|
|
3
3
|
//#region ../../node_modules/.pnpm/jsnlog@2.30.0/node_modules/jsnlog/jsnlog.js
|
|
4
4
|
var require_jsnlog = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/jsnlog@2.30.0/node_modules/jsnlog/jsnlog.js": ((exports) => {
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import "./types-u31qr1MR.js";
|
|
2
|
+
import { a as AnyStateMachine, r as FlowModuleConfig } from "./types-Dc1nBvy2.js";
|
|
3
|
+
import { a as FaceCaptureDependencies, n as FaceCaptureManagerState, r as BaseFaceCaptureConfig, t as FaceCaptureManager } from "./faceCaptureManagerFactory-CZgmP4pc.js";
|
|
4
|
+
import { t as Manager } from "./Manager-BiAYYF50.js";
|
|
5
|
+
import { t as ActorRefFrom } from "./Actor-uC1hxvGo.js";
|
|
6
|
+
|
|
7
|
+
//#region src/modules/authentication/authenticationStateMachine.d.ts
|
|
8
|
+
declare const _authenticationMachine: AnyStateMachine;
|
|
9
|
+
type AuthenticationMachine = typeof _authenticationMachine;
|
|
10
|
+
declare const authenticationMachine: AnyStateMachine;
|
|
11
|
+
//#endregion
|
|
12
|
+
//#region src/modules/authentication/types.d.ts
|
|
13
|
+
type AuthenticationConfig = FlowModuleConfig['AUTHENTICATION'] & BaseFaceCaptureConfig;
|
|
14
|
+
//#endregion
|
|
15
|
+
//#region src/modules/authentication/authenticationActor.d.ts
|
|
16
|
+
type CreateAuthenticationActorOptions = {
|
|
17
|
+
config: AuthenticationConfig;
|
|
18
|
+
dependencies?: FaceCaptureDependencies;
|
|
19
|
+
authHint: string;
|
|
20
|
+
};
|
|
21
|
+
type AuthenticationActor = ActorRefFrom<AuthenticationMachine>;
|
|
22
|
+
declare function createAuthenticationActor(options: CreateAuthenticationActorOptions): AuthenticationActor;
|
|
23
|
+
//#endregion
|
|
24
|
+
//#region src/modules/authentication/authenticationManager.d.ts
|
|
25
|
+
type AuthenticationState = FaceCaptureManagerState;
|
|
26
|
+
/**
|
|
27
|
+
* Creates an authentication manager instance for handling face authentication flow.
|
|
28
|
+
*
|
|
29
|
+
* The authentication manager provides:
|
|
30
|
+
* - State management with statuses: `idle`, `loading`, `tutorial`, `permissions`, `capture`, `finished`, `closed`, `error`
|
|
31
|
+
* - Permission handling with nested states: `idle`, `requesting`, `denied`, `learnMore`
|
|
32
|
+
* - Capture handling with nested states: `initializing`, `startingRecorder`, `recordingActive`, `detecting`, `capturing`, `uploading`, `uploadError`, `success`
|
|
33
|
+
* - Camera stream access when in `capture` state
|
|
34
|
+
* - Detection status feedback during face detection
|
|
35
|
+
* - Attempt tracking with `attemptsRemaining`
|
|
36
|
+
*
|
|
37
|
+
* @param options - Configuration for the authentication actor
|
|
38
|
+
* @param options.config - The authentication module configuration from the flow
|
|
39
|
+
* @param options.authHint - Hint for identifying the user (e.g., phone number, email)
|
|
40
|
+
* @returns A manager instance with state subscription, API methods, and lifecycle controls
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```ts
|
|
44
|
+
* const authManager = createAuthenticationManager({
|
|
45
|
+
* config: authConfig,
|
|
46
|
+
* authHint: 'user@example.com'
|
|
47
|
+
* });
|
|
48
|
+
*
|
|
49
|
+
* authManager.subscribe((state) => {
|
|
50
|
+
* if (state.status === 'capture') {
|
|
51
|
+
* console.log('Camera ready:', state.stream);
|
|
52
|
+
* console.log('Detection status:', state.detectionStatus);
|
|
53
|
+
* }
|
|
54
|
+
* if (state.status === 'finished') {
|
|
55
|
+
* console.log('Authentication successful!');
|
|
56
|
+
* }
|
|
57
|
+
* });
|
|
58
|
+
*
|
|
59
|
+
* authManager.load();
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
declare function createAuthenticationManager(options: CreateAuthenticationActorOptions): Manager<FaceCaptureManagerState> & {
|
|
63
|
+
load(): void;
|
|
64
|
+
nextStep(): void;
|
|
65
|
+
requestPermission(): void;
|
|
66
|
+
goToLearnMore(): void;
|
|
67
|
+
back(): void;
|
|
68
|
+
close(): void;
|
|
69
|
+
reset(): void;
|
|
70
|
+
retryCapture(): void;
|
|
71
|
+
capture(): void;
|
|
72
|
+
};
|
|
73
|
+
type AuthenticationManager = FaceCaptureManager;
|
|
74
|
+
//#endregion
|
|
75
|
+
export { type AuthenticationActor, type AuthenticationConfig, type AuthenticationManager, type AuthenticationState, type CreateAuthenticationActorOptions, authenticationMachine, createAuthenticationActor, createAuthenticationManager };
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import { d as addEvent, n as eventModuleNames } from "./events-CieIKgPk.esm.js";
|
|
2
|
+
import { m as BrowserStorageProvider, r as WasmUtilProvider } from "./src-BFHUdMI6.esm.js";
|
|
3
|
+
import { a as fromPromise, o as createActor, r as assign, t as endpoints } from "./endpoints-CJtl25ka.esm.js";
|
|
4
|
+
import { c as getDeviceClass } from "./streamingEvents-DM6KFfsz.esm.js";
|
|
5
|
+
import "./deepsightService-DLabZ49g.esm.js";
|
|
6
|
+
import { t as api } from "./api-Cqrn4bGi.esm.js";
|
|
7
|
+
import "./stats-DuS7aVaJ.esm.js";
|
|
8
|
+
import { a as FACE_ERROR_CODES, n as faceCaptureMachine, o as createFaceCaptureManager, t as FACE_CAPTURE_EVENT_CODES } from "./faceCaptureSetup-DRbBF7AJ.esm.js";
|
|
9
|
+
|
|
10
|
+
//#region src/modules/authentication/authenticationErrorUtils.ts
|
|
11
|
+
const AUTH_ERROR_MAP = {
|
|
12
|
+
SPOOF_ATTEMPT_DETECTED: FACE_ERROR_CODES.SPOOF_ATTEMPT_DETECTED,
|
|
13
|
+
SELFIE_FACE_OCCLUDED: FACE_ERROR_CODES.FACE_OCCLUDED,
|
|
14
|
+
FACE_OCCLUDED: FACE_ERROR_CODES.FACE_OCCLUDED,
|
|
15
|
+
FACE_TOO_DARK: FACE_ERROR_CODES.FACE_TOO_DARK,
|
|
16
|
+
LENSES_DETECTED: FACE_ERROR_CODES.LENSES_DETECTED,
|
|
17
|
+
FACE_MASK_DETECTED: FACE_ERROR_CODES.FACE_MASK_DETECTED,
|
|
18
|
+
CLOSED_EYES_DETECTED: FACE_ERROR_CODES.CLOSED_EYES_DETECTED,
|
|
19
|
+
HEAD_COVER_DETECTED: FACE_ERROR_CODES.HEAD_COVER_DETECTED,
|
|
20
|
+
FACE_NOT_FOUND: FACE_ERROR_CODES.FACE_NOT_FOUND,
|
|
21
|
+
FACE_CROPPING_FAILED: FACE_ERROR_CODES.FACE_CROPPING_FAILED,
|
|
22
|
+
FACE_TOO_SMALL: FACE_ERROR_CODES.FACE_TOO_SMALL,
|
|
23
|
+
FACE_TOO_BLURRY: FACE_ERROR_CODES.FACE_TOO_BLURRY,
|
|
24
|
+
BAD_PHOTO_QUALITY: FACE_ERROR_CODES.BAD_PHOTO_QUALITY,
|
|
25
|
+
PROCESSING_ERROR: FACE_ERROR_CODES.PROCESSING_ERROR,
|
|
26
|
+
BAD_REQUEST: FACE_ERROR_CODES.BAD_REQUEST,
|
|
27
|
+
SERVER: FACE_ERROR_CODES.SERVER,
|
|
28
|
+
USER_IS_NOT_RECOGNIZED: FACE_ERROR_CODES.USER_IS_NOT_RECOGNIZED,
|
|
29
|
+
NONEXISTENT_CUSTOMER: FACE_ERROR_CODES.NONEXISTENT_CUSTOMER,
|
|
30
|
+
HINT_NOT_PROVIDED: FACE_ERROR_CODES.HINT_NOT_PROVIDED
|
|
31
|
+
};
|
|
32
|
+
const TERMINAL_AUTH_ERROR_CODES = [FACE_ERROR_CODES.NONEXISTENT_CUSTOMER, FACE_ERROR_CODES.HINT_NOT_PROVIDED];
|
|
33
|
+
const validateAuthUploadResponse = (response) => {
|
|
34
|
+
if (!response) return FACE_ERROR_CODES.SERVER;
|
|
35
|
+
if (response.overallStatus !== "PASS") return AUTH_ERROR_MAP[response.error?.name] ?? FACE_ERROR_CODES.SERVER;
|
|
36
|
+
};
|
|
37
|
+
const isTerminalAuthError = (response, attemptsRemaining) => {
|
|
38
|
+
if (!response) return false;
|
|
39
|
+
const mappedError = AUTH_ERROR_MAP[response.error?.name];
|
|
40
|
+
if (mappedError && TERMINAL_AUTH_ERROR_CODES.includes(mappedError)) return true;
|
|
41
|
+
if (attemptsRemaining <= 0) return true;
|
|
42
|
+
return false;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
//#endregion
|
|
46
|
+
//#region src/modules/authentication/authenticationUploadService.ts
|
|
47
|
+
async function uploadAuthFace(params) {
|
|
48
|
+
try {
|
|
49
|
+
const payload = {
|
|
50
|
+
base64Image: params.encryptedBase64Image,
|
|
51
|
+
faceCoordinates: params.faceCoordinates ?? void 0,
|
|
52
|
+
encrypted: true,
|
|
53
|
+
clientInfo: { deviceClass: getDeviceClass() },
|
|
54
|
+
metadata: params.metadata ?? void 0,
|
|
55
|
+
hint: params.authHint
|
|
56
|
+
};
|
|
57
|
+
const query = {};
|
|
58
|
+
if (params.recordingId) query.recordingId = params.recordingId;
|
|
59
|
+
const res = await api.post(endpoints.authenticate, payload, {
|
|
60
|
+
signal: params.signal,
|
|
61
|
+
query
|
|
62
|
+
});
|
|
63
|
+
if (!res.ok) throw new Error(`POST ${endpoints.authenticate} failed: ${res.status} ${res.statusText}`);
|
|
64
|
+
return res.data;
|
|
65
|
+
} catch (error) {
|
|
66
|
+
const errorCode = getAuthErrorCodeFromHttpError(error);
|
|
67
|
+
if (errorCode) throw new Error(errorCode);
|
|
68
|
+
throw new Error(FACE_ERROR_CODES.SERVER);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
const getAuthErrorCodeFromHttpError = (error) => {
|
|
72
|
+
const err = error;
|
|
73
|
+
if (err.ok !== false || typeof err.status !== "number") return;
|
|
74
|
+
if (err.status !== 400) return FACE_ERROR_CODES.SERVER;
|
|
75
|
+
const errorName = err.data?.error?.name;
|
|
76
|
+
if (!errorName) return FACE_ERROR_CODES.BAD_REQUEST;
|
|
77
|
+
return AUTH_ERROR_MAP[errorName] ?? FACE_ERROR_CODES.BAD_REQUEST;
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
//#endregion
|
|
81
|
+
//#region src/modules/authentication/authenticationStateMachine.ts
|
|
82
|
+
const _authenticationMachine = faceCaptureMachine.provide({
|
|
83
|
+
actors: {
|
|
84
|
+
uploadFace: fromPromise(async ({ input, signal }) => {
|
|
85
|
+
const ctx = input;
|
|
86
|
+
return uploadAuthFace({
|
|
87
|
+
encryptedBase64Image: ctx.encryptedBase64Image,
|
|
88
|
+
faceCoordinates: ctx.faceCoordinates,
|
|
89
|
+
authHint: ctx.authHint,
|
|
90
|
+
metadata: ctx.deepsightService?.getMetadata(),
|
|
91
|
+
recordingId: ctx.uploadRecordingId,
|
|
92
|
+
signal
|
|
93
|
+
});
|
|
94
|
+
}),
|
|
95
|
+
processFace: fromPromise(async () => ({}))
|
|
96
|
+
},
|
|
97
|
+
actions: {
|
|
98
|
+
trackContinue: () => {
|
|
99
|
+
addEvent({
|
|
100
|
+
code: FACE_CAPTURE_EVENT_CODES.CONTINUE,
|
|
101
|
+
module: eventModuleNames.authentication
|
|
102
|
+
});
|
|
103
|
+
},
|
|
104
|
+
setUploadErrorFromUploadValidation: assign({ uploadError: ({ context }) => {
|
|
105
|
+
const resp = context.uploadResponse;
|
|
106
|
+
return validateAuthUploadResponse(resp) ?? FACE_ERROR_CODES.SERVER;
|
|
107
|
+
} }),
|
|
108
|
+
setTerminalError: assign({ error: ({ context }) => {
|
|
109
|
+
const resp = context.uploadResponse;
|
|
110
|
+
if (context.attemptsRemaining <= 0) return {
|
|
111
|
+
type: "FACE_AUTH_ERROR",
|
|
112
|
+
message: "No more attempts remaining"
|
|
113
|
+
};
|
|
114
|
+
if (!resp) return {
|
|
115
|
+
type: "FACE_AUTH_ERROR",
|
|
116
|
+
message: "Authentication failed"
|
|
117
|
+
};
|
|
118
|
+
return {
|
|
119
|
+
type: "FACE_AUTH_ERROR",
|
|
120
|
+
message: resp.error?.message ?? resp.error?.name ?? "Face authentication error"
|
|
121
|
+
};
|
|
122
|
+
} })
|
|
123
|
+
},
|
|
124
|
+
guards: {
|
|
125
|
+
hasUploadValidationError: ({ context }) => {
|
|
126
|
+
const resp = context.uploadResponse;
|
|
127
|
+
return validateAuthUploadResponse(resp) !== void 0;
|
|
128
|
+
},
|
|
129
|
+
isTerminalUploadError: ({ context }) => {
|
|
130
|
+
const resp = context.uploadResponse;
|
|
131
|
+
return isTerminalAuthError(resp, context.attemptsRemaining);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
const authenticationMachine = _authenticationMachine;
|
|
136
|
+
|
|
137
|
+
//#endregion
|
|
138
|
+
//#region src/modules/authentication/authenticationActor.ts
|
|
139
|
+
function createAuthenticationActor(options) {
|
|
140
|
+
const dependencies = options.dependencies ?? {
|
|
141
|
+
storage: new BrowserStorageProvider(),
|
|
142
|
+
getWasmUtil: () => WasmUtilProvider.getInstance()
|
|
143
|
+
};
|
|
144
|
+
return createActor(authenticationMachine, { input: {
|
|
145
|
+
config: options.config,
|
|
146
|
+
dependencies,
|
|
147
|
+
authHint: options.authHint
|
|
148
|
+
} }).start();
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
//#endregion
|
|
152
|
+
//#region src/modules/authentication/authenticationManager.ts
|
|
153
|
+
/**
|
|
154
|
+
* Creates an authentication manager instance for handling face authentication flow.
|
|
155
|
+
*
|
|
156
|
+
* The authentication manager provides:
|
|
157
|
+
* - State management with statuses: `idle`, `loading`, `tutorial`, `permissions`, `capture`, `finished`, `closed`, `error`
|
|
158
|
+
* - Permission handling with nested states: `idle`, `requesting`, `denied`, `learnMore`
|
|
159
|
+
* - Capture handling with nested states: `initializing`, `startingRecorder`, `recordingActive`, `detecting`, `capturing`, `uploading`, `uploadError`, `success`
|
|
160
|
+
* - Camera stream access when in `capture` state
|
|
161
|
+
* - Detection status feedback during face detection
|
|
162
|
+
* - Attempt tracking with `attemptsRemaining`
|
|
163
|
+
*
|
|
164
|
+
* @param options - Configuration for the authentication actor
|
|
165
|
+
* @param options.config - The authentication module configuration from the flow
|
|
166
|
+
* @param options.authHint - Hint for identifying the user (e.g., phone number, email)
|
|
167
|
+
* @returns A manager instance with state subscription, API methods, and lifecycle controls
|
|
168
|
+
*
|
|
169
|
+
* @example
|
|
170
|
+
* ```ts
|
|
171
|
+
* const authManager = createAuthenticationManager({
|
|
172
|
+
* config: authConfig,
|
|
173
|
+
* authHint: 'user@example.com'
|
|
174
|
+
* });
|
|
175
|
+
*
|
|
176
|
+
* authManager.subscribe((state) => {
|
|
177
|
+
* if (state.status === 'capture') {
|
|
178
|
+
* console.log('Camera ready:', state.stream);
|
|
179
|
+
* console.log('Detection status:', state.detectionStatus);
|
|
180
|
+
* }
|
|
181
|
+
* if (state.status === 'finished') {
|
|
182
|
+
* console.log('Authentication successful!');
|
|
183
|
+
* }
|
|
184
|
+
* });
|
|
185
|
+
*
|
|
186
|
+
* authManager.load();
|
|
187
|
+
* ```
|
|
188
|
+
*/
|
|
189
|
+
function createAuthenticationManager(options) {
|
|
190
|
+
return createFaceCaptureManager(createAuthenticationActor(options));
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
//#endregion
|
|
194
|
+
export { authenticationMachine, createAuthenticationActor, createAuthenticationManager };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { g as BrowserEnvironmentProvider, l as MotionSensorProvider, r as WasmUtilProvider, s as VisibilityProvider } from "./src-
|
|
2
|
-
import { t as createDeepsightService } from "./deepsightService-
|
|
3
|
-
import "./api-
|
|
4
|
-
import "./stats-
|
|
1
|
+
import { g as BrowserEnvironmentProvider, l as MotionSensorProvider, r as WasmUtilProvider, s as VisibilityProvider } from "./src-BFHUdMI6.esm.js";
|
|
2
|
+
import { t as createDeepsightService } from "./deepsightService-DLabZ49g.esm.js";
|
|
3
|
+
import "./api-Cqrn4bGi.esm.js";
|
|
4
|
+
import "./stats-DuS7aVaJ.esm.js";
|
|
5
5
|
|
|
6
6
|
//#region src/internal/deepsight/deepsightLoader.ts
|
|
7
7
|
const SDK_VERSION = "2.0.0";
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { r as CameraStream } from "./types-u31qr1MR.js";
|
|
2
|
+
import { s as WasmPipeline } from "./types-Dc1nBvy2.js";
|
|
2
3
|
|
|
3
4
|
//#region ../infra/src/media/canvas.d.ts
|
|
4
5
|
/**
|
|
@@ -111,61 +112,8 @@ declare class IncodeCanvas {
|
|
|
111
112
|
getResizedCanvas(videoElementWidth: number, videoElementHeight: number): IncodeCanvas | null;
|
|
112
113
|
}
|
|
113
114
|
//#endregion
|
|
114
|
-
//#region ../infra/src/capabilities/IMLProviderCapability.d.ts
|
|
115
|
-
/**
|
|
116
|
-
* Base configuration shared by all ML provider capabilities.
|
|
117
|
-
*/
|
|
118
|
-
interface MLProviderConfig {
|
|
119
|
-
/** Path to the WASM binary */
|
|
120
|
-
wasmPath?: string;
|
|
121
|
-
/** Path to the SIMD-optimized WASM binary (optional) */
|
|
122
|
-
wasmSimdPath?: string;
|
|
123
|
-
/** Path to the WASM glue code */
|
|
124
|
-
glueCodePath?: string;
|
|
125
|
-
/** Whether to use SIMD optimizations (default: true) */
|
|
126
|
-
useSimd?: boolean;
|
|
127
|
-
/**
|
|
128
|
-
* Base path for ML model files. Models will be loaded from `${modelsBasePath}/${modelFileName}`.
|
|
129
|
-
* If not provided, models are expected in a 'models' subdirectory relative to the WASM binary.
|
|
130
|
-
*/
|
|
131
|
-
modelsBasePath?: string;
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Base interface for ML provider capabilities.
|
|
135
|
-
* Provides common lifecycle and frame processing methods shared by
|
|
136
|
-
* FaceDetectionCapability and IdCaptureCapability.
|
|
137
|
-
*/
|
|
138
|
-
interface IMLProviderCapability<TConfig extends MLProviderConfig> {
|
|
139
|
-
/**
|
|
140
|
-
* Whether the provider has been initialized and is ready to process frames.
|
|
141
|
-
*/
|
|
142
|
-
readonly initialized: boolean;
|
|
143
|
-
/**
|
|
144
|
-
* Initializes the provider with the given configuration.
|
|
145
|
-
* If WASM was already warmed up via `setup()` or `warmupWasm()`, this returns almost instantly.
|
|
146
|
-
* @param config - Provider configuration including WASM paths
|
|
147
|
-
*/
|
|
148
|
-
initialize(config: TConfig): Promise<void>;
|
|
149
|
-
/**
|
|
150
|
-
* Processes a frame through the ML pipeline.
|
|
151
|
-
* Callbacks set via `setCallbacks()` will be invoked based on the analysis results.
|
|
152
|
-
* @param image - Image data to process
|
|
153
|
-
* @throws Error if provider is not initialized
|
|
154
|
-
*/
|
|
155
|
-
processFrame(image: ImageData): Promise<void>;
|
|
156
|
-
/**
|
|
157
|
-
* Resets the pipeline to its initial state.
|
|
158
|
-
* Safe to call even if not initialized (no-op in that case).
|
|
159
|
-
*/
|
|
160
|
-
reset(): void;
|
|
161
|
-
/**
|
|
162
|
-
* Disposes of resources and resets initialization state.
|
|
163
|
-
* Safe to call even if not initialized.
|
|
164
|
-
*/
|
|
165
|
-
dispose(): Promise<void>;
|
|
166
|
-
}
|
|
167
|
-
//#endregion
|
|
168
115
|
//#region ../infra/src/capabilities/IMotionSensorCapability.d.ts
|
|
116
|
+
|
|
169
117
|
type MotionStatus = 'PASS' | 'FAIL' | 'UNCLEAR';
|
|
170
118
|
type MotionPermissionState = 'granted' | 'denied' | 'not-required';
|
|
171
119
|
type IMotionSensorCapability = {
|
|
@@ -177,80 +125,6 @@ type IMotionSensorCapability = {
|
|
|
177
125
|
readonly hasPermission: boolean;
|
|
178
126
|
};
|
|
179
127
|
//#endregion
|
|
180
|
-
//#region ../infra/src/capabilities/IRecordingCapability.d.ts
|
|
181
|
-
type RecordingPublisher = {
|
|
182
|
-
getStreamId: () => string | undefined;
|
|
183
|
-
replaceVideoTrack: (track: MediaStreamTrack) => Promise<void>;
|
|
184
|
-
destroy: () => void;
|
|
185
|
-
};
|
|
186
|
-
type RecordingConnection = {
|
|
187
|
-
sessionId: string | undefined;
|
|
188
|
-
publisher: RecordingPublisher;
|
|
189
|
-
disconnect: () => Promise<void>;
|
|
190
|
-
};
|
|
191
|
-
type RecordingConnectionEvents = {
|
|
192
|
-
onSessionConnected?: (sessionId: string | undefined) => void;
|
|
193
|
-
onSessionDisconnected?: (sessionId: string | undefined) => void;
|
|
194
|
-
onSessionException?: (params: {
|
|
195
|
-
name?: string;
|
|
196
|
-
message?: string;
|
|
197
|
-
sessionId?: string;
|
|
198
|
-
}) => void;
|
|
199
|
-
onPublisherCreated?: (params: {
|
|
200
|
-
streamId?: string;
|
|
201
|
-
sessionId?: string;
|
|
202
|
-
}) => void;
|
|
203
|
-
onPublisherError?: (params: {
|
|
204
|
-
message?: string;
|
|
205
|
-
sessionId?: string;
|
|
206
|
-
streamId?: string;
|
|
207
|
-
}) => void;
|
|
208
|
-
};
|
|
209
|
-
type ConnectRecordingParams = {
|
|
210
|
-
sessionToken: string;
|
|
211
|
-
stream: MediaStream;
|
|
212
|
-
events?: RecordingConnectionEvents;
|
|
213
|
-
};
|
|
214
|
-
type IRecordingCapability = {
|
|
215
|
-
/**
|
|
216
|
-
* Connects to a recording session and publishes the provided media stream.
|
|
217
|
-
* Returns a connection handle that can be disconnected and used to manage the publisher.
|
|
218
|
-
*/
|
|
219
|
-
connect: (params: ConnectRecordingParams) => Promise<RecordingConnection>;
|
|
220
|
-
};
|
|
221
|
-
//#endregion
|
|
222
|
-
//#region ../infra/src/capabilities/IStorageCapability.d.ts
|
|
223
|
-
/**
|
|
224
|
-
* Storage capability interface for abstracting storage operations.
|
|
225
|
-
* Enables swapping between browser localStorage and future WASM-based storage.
|
|
226
|
-
*/
|
|
227
|
-
interface IStorageCapability {
|
|
228
|
-
/**
|
|
229
|
-
* Retrieves a value from storage.
|
|
230
|
-
* @param key - The storage key
|
|
231
|
-
* @returns The stored value or null if not found
|
|
232
|
-
*/
|
|
233
|
-
get<T>(key: string): Promise<T | null>;
|
|
234
|
-
/**
|
|
235
|
-
* Stores a value in storage.
|
|
236
|
-
* @param key - The storage key
|
|
237
|
-
* @param value - The value to store (will be serialized)
|
|
238
|
-
*/
|
|
239
|
-
set<T>(key: string, value: T): Promise<void>;
|
|
240
|
-
/**
|
|
241
|
-
* Removes a value from storage.
|
|
242
|
-
* @param key - The storage key to remove
|
|
243
|
-
*/
|
|
244
|
-
remove(key: string): Promise<void>;
|
|
245
|
-
/**
|
|
246
|
-
* Clears all values from storage.
|
|
247
|
-
*/
|
|
248
|
-
clear(): Promise<void>;
|
|
249
|
-
}
|
|
250
|
-
//#endregion
|
|
251
|
-
//#region ../infra/src/media/camera.d.ts
|
|
252
|
-
type CameraStream = MediaStream;
|
|
253
|
-
//#endregion
|
|
254
128
|
//#region ../infra/src/media/StreamCanvasCapture.d.ts
|
|
255
129
|
type StreamCanvasCaptureOptions = {
|
|
256
130
|
fps?: number;
|
|
@@ -366,10 +240,6 @@ declare abstract class BaseWasmProvider {
|
|
|
366
240
|
dispose(): Promise<void>;
|
|
367
241
|
}
|
|
368
242
|
//#endregion
|
|
369
|
-
//#region src/internal/permissions/types.d.ts
|
|
370
|
-
type PermissionResult = 'granted' | 'denied' | 'prompt';
|
|
371
|
-
type PermissionStatus = 'idle' | 'requesting' | 'denied' | 'learnMore';
|
|
372
|
-
//#endregion
|
|
373
243
|
//#region src/internal/deepsight/metadataService.d.ts
|
|
374
244
|
type MetadataService = {
|
|
375
245
|
initialize(sdkVersion: string, disableIpify?: boolean): Promise<void>;
|
|
@@ -430,4 +300,4 @@ type DeepsightPrcCheckParams = {
|
|
|
430
300
|
constraints: MediaStreamConstraints;
|
|
431
301
|
};
|
|
432
302
|
//#endregion
|
|
433
|
-
export {
|
|
303
|
+
export { IncodeCanvas as a, IMotionSensorCapability as i, BaseWasmProvider as n, StreamCanvasCapture as r, DeepsightService as t };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { A as getUserAgent, O as getDeviceInfo, T as stopCameraStream, b as createHiddenVideoElement, w as requestCameraAccess, x as IncodeCanvas } from "./src-
|
|
2
|
-
import { t as api } from "./api-
|
|
3
|
-
import { t as addDeviceStats } from "./stats-
|
|
1
|
+
import { A as getUserAgent, O as getDeviceInfo, T as stopCameraStream, b as createHiddenVideoElement, w as requestCameraAccess, x as IncodeCanvas } from "./src-BFHUdMI6.esm.js";
|
|
2
|
+
import { t as api } from "./api-Cqrn4bGi.esm.js";
|
|
3
|
+
import { t as addDeviceStats } from "./stats-DuS7aVaJ.esm.js";
|
|
4
4
|
|
|
5
5
|
//#region src/internal/device/browserSimulation.ts
|
|
6
6
|
const AUTOMATION_MARKERS = {
|
package/dist/email.d.ts
CHANGED
package/dist/email.esm.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { d as addEvent, n as eventModuleNames, r as eventScreenNames } from "./events-
|
|
2
|
-
import { E as createManager, p as BrowserTimerProvider } from "./src-
|
|
3
|
-
import { a as fromPromise, i as fromCallback, n as setup, o as createActor, r as assign, t as endpoints } from "./endpoints-
|
|
4
|
-
import { t as api } from "./api-
|
|
1
|
+
import { d as addEvent, n as eventModuleNames, r as eventScreenNames } from "./events-CieIKgPk.esm.js";
|
|
2
|
+
import { E as createManager, p as BrowserTimerProvider } from "./src-BFHUdMI6.esm.js";
|
|
3
|
+
import { a as fromPromise, i as fromCallback, n as setup, o as createActor, r as assign, t as endpoints } from "./endpoints-CJtl25ka.esm.js";
|
|
4
|
+
import { t as api } from "./api-Cqrn4bGi.esm.js";
|
|
5
5
|
|
|
6
6
|
//#region src/modules/email/emailServices.ts
|
|
7
7
|
async function fetchEmail(signal) {
|
|
@@ -3264,6 +3264,7 @@ const endpoints = {
|
|
|
3264
3264
|
flow: "/omni/onboarding/flow",
|
|
3265
3265
|
events: "/omni/interview-events",
|
|
3266
3266
|
selfie: "/omni/add/face",
|
|
3267
|
+
authenticate: "/omni/onboarding-authentications/authenticate",
|
|
3267
3268
|
recordingCreateSessionV2: "/omni/recordings/create-session/v2",
|
|
3268
3269
|
recordingStartV2: "/omni/recordings/record-start/v2",
|
|
3269
3270
|
recordingStopV2: "/omni/recordings/record-stop/v2",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as endpoints } from "./endpoints-
|
|
2
|
-
import { i as isApiConfigured, r as getToken, t as api } from "./api-
|
|
1
|
+
import { t as endpoints } from "./endpoints-CJtl25ka.esm.js";
|
|
2
|
+
import { i as isApiConfigured, r as getToken, t as api } from "./api-Cqrn4bGi.esm.js";
|
|
3
3
|
|
|
4
4
|
//#region ../infra/src/capabilities/IBrowserEnvironmentCapability.ts
|
|
5
5
|
function getTimestamp() {
|
|
@@ -123,6 +123,7 @@ function screenClosed(module, screen, payload) {
|
|
|
123
123
|
//#region src/internal/events/types.ts
|
|
124
124
|
const eventModuleNames = {
|
|
125
125
|
selfie: "SELFIE",
|
|
126
|
+
authentication: "AUTHENTICATION",
|
|
126
127
|
authFace: "AUTH_FACE",
|
|
127
128
|
mlConsent: "ML_CONSENT",
|
|
128
129
|
combinedConsent: "COMBINED_CONSENT",
|
package/dist/face-match.d.ts
CHANGED
package/dist/face-match.esm.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { d as addEvent, n as eventModuleNames, r as eventScreenNames } from "./events-
|
|
2
|
-
import { E as createManager } from "./src-
|
|
3
|
-
import { a as fromPromise, n as setup, o as createActor, r as assign, t as endpoints } from "./endpoints-
|
|
4
|
-
import { t as api } from "./api-
|
|
1
|
+
import { d as addEvent, n as eventModuleNames, r as eventScreenNames } from "./events-CieIKgPk.esm.js";
|
|
2
|
+
import { E as createManager } from "./src-BFHUdMI6.esm.js";
|
|
3
|
+
import { a as fromPromise, n as setup, o as createActor, r as assign, t as endpoints } from "./endpoints-CJtl25ka.esm.js";
|
|
4
|
+
import { t as api } from "./api-Cqrn4bGi.esm.js";
|
|
5
5
|
|
|
6
6
|
//#region src/modules/face-match/faceMatchServices.ts
|
|
7
7
|
/**
|