@incodetech/core 0.0.0-dev-20260127-938ff95 → 0.0.0-dev-20260130-5bb04b9

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 (33) hide show
  1. package/dist/OpenViduLogger-Cu0BjUgP.esm.js +3 -0
  2. package/dist/{deepsightLoader-Ct3HSIhk.esm.js → deepsightLoader-CGdK3U_s.esm.js} +7 -8
  3. package/dist/{deepsightService-B8c8aZje.esm.js → deepsightService-BqN04Xvz.esm.js} +53 -5
  4. package/dist/{types-CRVSv38Q.d.ts → deepsightService-C-8SR9TZ.d.ts} +91 -2
  5. package/dist/email.d.ts +1 -1
  6. package/dist/email.esm.js +3 -3
  7. package/dist/{endpoints-BUsSVoJV.esm.js → endpoints-CmGlc9UG.esm.js} +7 -1
  8. package/dist/{events-B8ZkhAZo.esm.js → events-CLVaKe2J.esm.js} +1 -1
  9. package/dist/flow.d.ts +2 -2
  10. package/dist/flow.esm.js +3 -3
  11. package/dist/id-DE76bgjS.esm.js +2498 -0
  12. package/dist/id.d.ts +5 -5
  13. package/dist/id.esm.js +7 -6
  14. package/dist/{index-CJMK8K5u.d.ts → index-aadmCg5s.d.ts} +84 -62
  15. package/dist/index.d.ts +78 -6
  16. package/dist/index.esm.js +12 -46
  17. package/dist/{lib-CbAibJlt.esm.js → lib-Cmee0CBZ.esm.js} +1 -1
  18. package/dist/phone.d.ts +1 -1
  19. package/dist/phone.esm.js +3 -3
  20. package/dist/selfie.d.ts +8 -87
  21. package/dist/selfie.esm.js +39 -19
  22. package/dist/{src-XSoNGEQW.esm.js → src-BEaVRVtC.esm.js} +6 -2
  23. package/dist/stats.d.ts +4 -0
  24. package/dist/stats.esm.js +1 -1
  25. package/dist/{streamingEvents-J6ffKmJL.esm.js → streamingEvents-EcGvh3bl.esm.js} +13 -4
  26. package/package.json +1 -1
  27. package/dist/OpenViduLogger-DyqID_-7.esm.js +0 -3
  28. package/dist/getDeviceClass-DkfbtsIJ.esm.js +0 -41
  29. package/dist/id-GPFS1Wo_.esm.js +0 -1827
  30. /package/dist/{Manager-Co-PsiG9.d.ts → Manager-WTb99jnh.d.ts} +0 -0
  31. /package/dist/{OpenViduLogger-BLxxXoyF.esm.js → OpenViduLogger-XKcjntVs.esm.js} +0 -0
  32. /package/dist/{stats-DnU4uUFv.esm.js → stats-onWUN0tY.esm.js} +0 -0
  33. /package/dist/{types-CMR6NkxW.d.ts → types-CflhN94Q.d.ts} +0 -0
package/dist/id.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { a as CameraStream, n as PermissionStatus, t as PermissionResult } from "./types-CRVSv38Q.js";
2
- import { A as IdCaptureMode, B as IIdCaptureCapability, C as CaptureIdResponse, D as ID_ERROR_CODES, E as DetectionStatus, F as IdFlowStep, I as RecordingSession, L as UploadIdResponse, M as IdDocumentType, N as IdError, O as IdCaptureConfig, P as IdErrorCode, R as IdCaptureProvider, S as validateUploadResponse, T as DetectionArea, V as IdCaptureSettings, _ as processId, a as IdCaptureActor, b as stopStream, c as IdCaptureEvent, d as idCaptureMachine, f as IdCaptureInitResult, g as initializeIdCapture, h as ValidationError, i as CreateIdCaptureActorOptions, j as IdCaptureThresholds, k as IdCaptureGeometry, l as IdCaptureInput, m as UploadIdImageParams, n as IdCaptureState, o as createIdCaptureActor, p as StartRecordingParams, r as createIdCaptureManager, s as IdCaptureContext, t as IdCaptureManager, u as IdCaptureMachine, v as startRecordingSession, w as CapturedImage, x as uploadIdImage, y as stopRecording, z as DetectionOrientation } from "./index-CJMK8K5u.js";
3
- import "./types-CMR6NkxW.js";
4
- import "./Manager-Co-PsiG9.js";
5
- export { CameraStream, CaptureIdResponse, CapturedImage, CreateIdCaptureActorOptions, DetectionArea, DetectionOrientation, DetectionStatus, ID_ERROR_CODES, IIdCaptureCapability, IdCaptureActor, IdCaptureConfig, IdCaptureContext, IdCaptureEvent, IdCaptureGeometry, IdCaptureInitResult, IdCaptureInput, IdCaptureMachine, IdCaptureManager, IdCaptureMode, IdCaptureProvider, IdCaptureSettings, IdCaptureState, IdCaptureThresholds, IdDocumentType, IdError, IdErrorCode, IdFlowStep, PermissionResult, PermissionStatus, RecordingSession, StartRecordingParams, UploadIdImageParams, UploadIdResponse, ValidationError, createIdCaptureActor, createIdCaptureManager, idCaptureMachine, initializeIdCapture, processId, startRecordingSession, stopRecording, stopStream, uploadIdImage, validateUploadResponse };
1
+ import { A as IdCaptureGeometry, B as IdCaptureProvider, C as DetectionArea, D as IdCaptureContext, E as IdCaptureConfig, F as IdError, H as IIdCaptureCapability, I as IdErrorCode, L as IdFlowStep, M as IdCaptureMode, N as IdCaptureThresholds, O as IdCaptureDependencies, P as IdDocumentType, R as RecordingSession, S as CapturedImage, T as ID_ERROR_CODES, U as IdCaptureSettings, V as DetectionOrientation, _ as IdCaptureActor, a as InitializeIdCaptureParams, b as idCaptureMachine, c as ValidationError, d as startRecordingSession, f as stopRecording, g as CreateIdCaptureActorOptions, h as validateUploadResponse, i as IdCaptureInitResult, j as IdCaptureInput, k as IdCaptureEvent, l as initializeIdCapture, m as uploadIdImage, n as IdCaptureState, o as StartRecordingParams, p as stopStream, r as createIdCaptureManager, s as UploadIdImageParams, t as IdCaptureManager, u as processId, v as createIdCaptureActor, w as DetectionStatus, x as CaptureIdResponse, y as IdCaptureMachine, z as UploadIdResponse } from "./index-aadmCg5s.js";
2
+ import { n as PermissionResult, o as CameraStream, r as PermissionStatus } from "./deepsightService-C-8SR9TZ.js";
3
+ import "./types-CflhN94Q.js";
4
+ import "./Manager-WTb99jnh.js";
5
+ export { CameraStream, CaptureIdResponse, CapturedImage, CreateIdCaptureActorOptions, DetectionArea, DetectionOrientation, DetectionStatus, ID_ERROR_CODES, IIdCaptureCapability, IdCaptureActor, IdCaptureConfig, IdCaptureContext, IdCaptureDependencies, IdCaptureEvent, IdCaptureGeometry, IdCaptureInitResult, IdCaptureInput, IdCaptureMachine, IdCaptureManager, IdCaptureMode, IdCaptureProvider, IdCaptureSettings, IdCaptureState, IdCaptureThresholds, IdDocumentType, IdError, IdErrorCode, IdFlowStep, InitializeIdCaptureParams, PermissionResult, PermissionStatus, RecordingSession, StartRecordingParams, UploadIdImageParams, UploadIdResponse, ValidationError, createIdCaptureActor, createIdCaptureManager, idCaptureMachine, initializeIdCapture, processId, startRecordingSession, stopRecording, stopStream, uploadIdImage, validateUploadResponse };
package/dist/id.esm.js CHANGED
@@ -1,9 +1,10 @@
1
- import "./events-B8ZkhAZo.esm.js";
2
- import { a as processId, c as stopStream, d as ID_ERROR_CODES, i as initializeIdCapture, l as uploadIdImage, n as createIdCaptureActor, o as startRecordingSession, r as idCaptureMachine, s as stopRecording, t as createIdCaptureManager, u as validateUploadResponse } from "./id-GPFS1Wo_.esm.js";
3
- import { i as IdCaptureProvider } from "./src-XSoNGEQW.esm.js";
4
- import "./getDeviceClass-DkfbtsIJ.esm.js";
5
- import "./endpoints-BUsSVoJV.esm.js";
6
- import "./streamingEvents-J6ffKmJL.esm.js";
1
+ import "./events-CLVaKe2J.esm.js";
2
+ import { a as processId, c as stopStream, d as ID_ERROR_CODES, i as initializeIdCapture, l as uploadIdImage, n as createIdCaptureActor, o as startRecordingSession, r as idCaptureMachine, s as stopRecording, t as createIdCaptureManager, u as validateUploadResponse } from "./id-DE76bgjS.esm.js";
3
+ import { i as IdCaptureProvider } from "./src-BEaVRVtC.esm.js";
4
+ import "./deepsightService-BqN04Xvz.esm.js";
5
+ import "./endpoints-CmGlc9UG.esm.js";
6
+ import "./streamingEvents-EcGvh3bl.esm.js";
7
7
  import "./api-DfRLAneb.esm.js";
8
+ import "./stats-onWUN0tY.esm.js";
8
9
 
9
10
  export { ID_ERROR_CODES, IdCaptureProvider, createIdCaptureActor, createIdCaptureManager, idCaptureMachine, initializeIdCapture, processId, startRecordingSession, stopRecording, stopStream, uploadIdImage, validateUploadResponse };
@@ -1,8 +1,17 @@
1
- import { a as CameraStream, c as IMotionSensorCapability, d as IMLProviderCapability, f as MLProviderConfig, i as StreamCanvasCapture, n as PermissionStatus, o as IRecordingCapability, p as IncodeCanvas, r as BaseWasmProvider, s as RecordingConnection, t as PermissionResult } from "./types-CRVSv38Q.js";
2
- import { a as AnyStateMachine, i as TutorialIdConfig, o as StateMachine } from "./types-CMR6NkxW.js";
3
- import { t as Manager } from "./Manager-Co-PsiG9.js";
1
+ import { a as StreamCanvasCapture, c as IRecordingCapability, d as IMLProviderCapability, f as MLProviderConfig, i as BaseWasmProvider, l as RecordingConnection, n as PermissionResult, o as CameraStream, p as IncodeCanvas, r as PermissionStatus, s as IStorageCapability, t as DeepsightService, u as IMotionSensorCapability } from "./deepsightService-C-8SR9TZ.js";
2
+ import { a as AnyStateMachine, i as TutorialIdConfig, o as StateMachine, t as Flow } from "./types-CflhN94Q.js";
3
+ import { t as Manager } from "./Manager-WTb99jnh.js";
4
4
  import { ActorRefFrom } from "xstate";
5
5
 
6
+ //#region ../infra/src/capabilities/IAnalyticsCapability.d.ts
7
+ interface IAnalyticsCapability {
8
+ analyzeFrame(image: ImageData): Promise<void>;
9
+ update(): void;
10
+ getAnalysisStatus(): string;
11
+ getMotionStatus(): string;
12
+ getMetadata(): string;
13
+ }
14
+ //#endregion
6
15
  //#region ../infra/src/capabilities/IIdCaptureCapability.d.ts
7
16
  /**
8
17
  * Configuration for ID capture provider.
@@ -258,6 +267,7 @@ type IdCaptureConfig = TutorialIdConfig & {
258
267
  thresholds?: Partial<IdCaptureThresholds>;
259
268
  settings?: Partial<IdCaptureSettings>;
260
269
  modelVersion?: 'v1' | 'v2' | 'v3';
270
+ ds?: Flow['ds'];
261
271
  };
262
272
  type IdErrorCode = 'UPLOAD_ERROR' | 'CLASSIFICATION_FAILED' | 'LOW_SHARPNESS' | 'GLARE_DETECTED' | 'WRONG_DOCUMENT_SIDE' | 'ID_TYPE_UNACCEPTABLE' | 'READABILITY_ISSUE' | 'RETRY_EXHAUSTED_CONTINUE_TO_BACK' | 'RETRY_EXHAUSTED_SKIP_BACK' | 'NO_MORE_TRIES' | 'UNEXPECTED_ERROR' | 'NO_TOKEN' | 'PERMISSION_DENIED' | 'USER_CANCELLED' | 'SERVER_ERROR';
263
273
  type IdError = {
@@ -328,57 +338,6 @@ declare const ID_ERROR_CODES: {
328
338
  readonly USER_CANCELLED: "USER_CANCELLED";
329
339
  readonly SERVER: "SERVER_ERROR";
330
340
  };
331
- //#endregion
332
- //#region src/modules/id/idCaptureServices.d.ts
333
- type IdCaptureInitResult = {
334
- stream: CameraStream;
335
- provider: IIdCaptureCapability;
336
- };
337
- declare function initializeIdCapture(provider: IIdCaptureCapability, config: IdCaptureConfig): Promise<IdCaptureInitResult>;
338
- declare function stopStream(stream: CameraStream): void;
339
- type UploadIdImageParams = {
340
- image: string;
341
- type: 'front' | 'back';
342
- sendBase64?: boolean;
343
- isSecondId?: boolean;
344
- onlyFront?: boolean;
345
- glare?: number;
346
- sharpness?: number;
347
- shouldSkipGlareBack?: boolean;
348
- shouldSkipGlareFront?: boolean;
349
- captureType?: string;
350
- ageAssurance?: boolean;
351
- onProgress?: (progress: number) => void;
352
- metadata?: string;
353
- signal?: AbortSignal;
354
- };
355
- type ValidationError = {
356
- error: boolean;
357
- message: string;
358
- messageDescription?: string;
359
- errorKey: IdErrorCode;
360
- };
361
- declare function validateUploadResponse(response: UploadIdResponse & {
362
- failReason?: string;
363
- side?: 'front' | 'back';
364
- }, sessionState?: {
365
- skipGlareFront?: boolean;
366
- skipGlareBack?: boolean;
367
- }): ValidationError | undefined;
368
- declare function uploadIdImage(params: UploadIdImageParams): Promise<CaptureIdResponse>;
369
- type StartRecordingParams = {
370
- config: IdCaptureConfig;
371
- stream: CameraStream;
372
- existing?: RecordingSession;
373
- type: 'frontId' | 'backId';
374
- };
375
- declare function startRecordingSession(params: StartRecordingParams): Promise<RecordingSession | undefined>;
376
- declare function stopRecording(session: RecordingSession): void;
377
- declare function processId(isSecondId?: boolean, queueName?: string, signal?: AbortSignal): Promise<{
378
- isDocumentExpired: boolean;
379
- }>;
380
- //#endregion
381
- //#region src/modules/id/idCaptureStateMachine.d.ts
382
341
  type IdCaptureContext = {
383
342
  config: IdCaptureConfig;
384
343
  currentMode: IdCaptureMode;
@@ -412,17 +371,16 @@ type IdCaptureContext = {
412
371
  w: number;
413
372
  h: number;
414
373
  } | undefined;
415
- /** Detection area from UI for WASM geometry calculation */
416
- detectionArea: {
417
- x: number;
418
- y: number;
419
- width: number;
420
- height: number;
421
- } | undefined;
374
+ detectionArea: DetectionArea | undefined;
422
375
  previewImageUrl?: string;
423
376
  uploadProgress?: number;
424
377
  motionStatus?: 'PASS' | 'FAIL' | 'UNCLEAR';
425
378
  manualCaptureTriggered: boolean;
379
+ deepsightService: DeepsightService | undefined;
380
+ analyticsProvider: IAnalyticsCapability | undefined;
381
+ dependencies: IdCaptureDependencies | undefined;
382
+ disableIpify: boolean;
383
+ deepsightInitAttempted: boolean;
426
384
  };
427
385
  type IdCaptureEvent = {
428
386
  type: 'LOAD';
@@ -510,11 +468,18 @@ type IdCaptureEvent = {
510
468
  type: 'MOTION_STATUS';
511
469
  status: 'PASS' | 'FAIL' | 'UNCLEAR';
512
470
  };
471
+ type IdCaptureDependencies = {
472
+ storage: IStorageCapability;
473
+ };
513
474
  type IdCaptureInput = {
514
475
  config: IdCaptureConfig;
515
476
  provider: IIdCaptureCapability;
516
477
  motionProvider?: IMotionSensorCapability;
478
+ analyticsProvider?: IAnalyticsCapability;
479
+ dependencies?: IdCaptureDependencies;
517
480
  };
481
+ //#endregion
482
+ //#region src/modules/id/idCaptureStateMachine.d.ts
518
483
  declare const idCaptureMachine: AnyStateMachine;
519
484
  type IdCaptureMachine = StateMachine<IdCaptureContext, IdCaptureEvent, any, any, any, any, any, any, any, IdCaptureInput, any, any, any, any>;
520
485
  //#endregion
@@ -522,10 +487,67 @@ type IdCaptureMachine = StateMachine<IdCaptureContext, IdCaptureEvent, any, any,
522
487
  type CreateIdCaptureActorOptions = {
523
488
  config: IdCaptureConfig;
524
489
  provider: IIdCaptureCapability;
490
+ dependencies?: IdCaptureDependencies;
525
491
  };
526
492
  type IdCaptureActor = ActorRefFrom<IdCaptureMachine>;
527
493
  declare function createIdCaptureActor(options: CreateIdCaptureActorOptions): IdCaptureActor;
528
494
  //#endregion
495
+ //#region src/modules/id/idCaptureServices.d.ts
496
+ type IdCaptureInitResult = {
497
+ stream: CameraStream;
498
+ provider: IIdCaptureCapability;
499
+ };
500
+ type InitializeIdCaptureParams = {
501
+ provider: IIdCaptureCapability;
502
+ config: IdCaptureConfig;
503
+ deepsightService?: DeepsightService;
504
+ };
505
+ declare function initializeIdCapture(params: InitializeIdCaptureParams): Promise<IdCaptureInitResult>;
506
+ declare function stopStream(stream: CameraStream): void;
507
+ type UploadIdImageParams = {
508
+ image: string;
509
+ type: 'front' | 'back';
510
+ sendBase64?: boolean;
511
+ isSecondId?: boolean;
512
+ onlyFront?: boolean;
513
+ glare?: number;
514
+ sharpness?: number;
515
+ shouldSkipGlareBack?: boolean;
516
+ shouldSkipGlareFront?: boolean;
517
+ captureType?: string;
518
+ ageAssurance?: boolean;
519
+ onProgress?: (progress: number) => void;
520
+ metadata?: string;
521
+ signal?: AbortSignal;
522
+ analyticsProvider?: IAnalyticsCapability;
523
+ imageData?: ImageData;
524
+ };
525
+ type ValidationError = {
526
+ error: boolean;
527
+ message: string;
528
+ messageDescription?: string;
529
+ errorKey: IdErrorCode;
530
+ };
531
+ declare function validateUploadResponse(response: UploadIdResponse & {
532
+ failReason?: string;
533
+ side?: 'front' | 'back';
534
+ }, sessionState?: {
535
+ skipGlareFront?: boolean;
536
+ skipGlareBack?: boolean;
537
+ }): ValidationError | undefined;
538
+ declare function uploadIdImage(params: UploadIdImageParams): Promise<CaptureIdResponse>;
539
+ type StartRecordingParams = {
540
+ config: IdCaptureConfig;
541
+ stream: CameraStream;
542
+ existing?: RecordingSession;
543
+ type: 'frontId' | 'backId';
544
+ };
545
+ declare function startRecordingSession(params: StartRecordingParams): Promise<RecordingSession | undefined>;
546
+ declare function stopRecording(session: RecordingSession): void;
547
+ declare function processId(isSecondId?: boolean, queueName?: string, signal?: AbortSignal): Promise<{
548
+ isDocumentExpired: boolean;
549
+ }>;
550
+ //#endregion
529
551
  //#region src/modules/id/idCaptureManager.d.ts
530
552
  type CaptureStatus = 'initializing' | 'detecting' | 'capturing' | 'uploading' | 'uploadError' | 'success';
531
553
  type IdCaptureIdleState = {
@@ -611,4 +633,4 @@ declare function createIdCaptureManager(options: CreateIdCaptureActorOptions): M
611
633
  };
612
634
  type IdCaptureManager = ReturnType<typeof createIdCaptureManager>;
613
635
  //#endregion
614
- export { IdCaptureMode as A, IIdCaptureCapability as B, CaptureIdResponse as C, ID_ERROR_CODES as D, DetectionStatus as E, IdFlowStep as F, RecordingSession as I, UploadIdResponse as L, IdDocumentType as M, IdError as N, IdCaptureConfig as O, IdErrorCode as P, IdCaptureProvider as R, validateUploadResponse as S, DetectionArea as T, IdCaptureSettings as V, processId as _, IdCaptureActor as a, stopStream as b, IdCaptureEvent as c, idCaptureMachine as d, IdCaptureInitResult as f, initializeIdCapture as g, ValidationError as h, CreateIdCaptureActorOptions as i, IdCaptureThresholds as j, IdCaptureGeometry as k, IdCaptureInput as l, UploadIdImageParams as m, IdCaptureState as n, createIdCaptureActor as o, StartRecordingParams as p, createIdCaptureManager as r, IdCaptureContext as s, IdCaptureManager as t, IdCaptureMachine as u, startRecordingSession as v, CapturedImage as w, uploadIdImage as x, stopRecording as y, DetectionOrientation as z };
636
+ export { IdCaptureGeometry as A, IdCaptureProvider as B, DetectionArea as C, IdCaptureContext as D, IdCaptureConfig as E, IdError as F, IIdCaptureCapability as H, IdErrorCode as I, IdFlowStep as L, IdCaptureMode as M, IdCaptureThresholds as N, IdCaptureDependencies as O, IdDocumentType as P, RecordingSession as R, CapturedImage as S, ID_ERROR_CODES as T, IdCaptureSettings as U, DetectionOrientation as V, IdCaptureActor as _, InitializeIdCaptureParams as a, idCaptureMachine as b, ValidationError as c, startRecordingSession as d, stopRecording as f, CreateIdCaptureActorOptions as g, validateUploadResponse as h, IdCaptureInitResult as i, IdCaptureInput as j, IdCaptureEvent as k, initializeIdCapture as l, uploadIdImage as m, IdCaptureState as n, StartRecordingParams as o, stopStream as p, createIdCaptureManager as r, UploadIdImageParams as s, IdCaptureManager as t, processId as u, createIdCaptureActor as v, DetectionStatus as w, CaptureIdResponse as x, IdCaptureMachine as y, UploadIdResponse as z };
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { a as CameraStream, n as PermissionStatus, t as PermissionResult } from "./types-CRVSv38Q.js";
2
- import { A as IdCaptureMode, B as IIdCaptureCapability, C as CaptureIdResponse, D as ID_ERROR_CODES, E as DetectionStatus, F as IdFlowStep, I as RecordingSession, L as UploadIdResponse, M as IdDocumentType, N as IdError, O as IdCaptureConfig, P as IdErrorCode, R as IdCaptureProvider, S as validateUploadResponse, T as DetectionArea, V as IdCaptureSettings, _ as processId, a as IdCaptureActor, b as stopStream, c as IdCaptureEvent, d as idCaptureMachine, f as IdCaptureInitResult, g as initializeIdCapture, h as ValidationError, i as CreateIdCaptureActorOptions, j as IdCaptureThresholds, k as IdCaptureGeometry, l as IdCaptureInput, m as UploadIdImageParams, n as IdCaptureState, o as createIdCaptureActor, p as StartRecordingParams, r as createIdCaptureManager, s as IdCaptureContext, t as IdCaptureManager, u as IdCaptureMachine, v as startRecordingSession, w as CapturedImage, x as uploadIdImage, y as stopRecording, z as DetectionOrientation } from "./index-CJMK8K5u.js";
3
- import { c as warmupWasm, s as WasmPipeline } from "./types-CMR6NkxW.js";
4
- import "./Manager-Co-PsiG9.js";
1
+ import { A as IdCaptureGeometry, B as IdCaptureProvider, C as DetectionArea, D as IdCaptureContext, E as IdCaptureConfig, F as IdError, H as IIdCaptureCapability, I as IdErrorCode, L as IdFlowStep, M as IdCaptureMode, N as IdCaptureThresholds, O as IdCaptureDependencies, P as IdDocumentType, R as RecordingSession, S as CapturedImage, T as ID_ERROR_CODES, U as IdCaptureSettings, V as DetectionOrientation, _ as IdCaptureActor, a as InitializeIdCaptureParams, b as idCaptureMachine, c as ValidationError, d as startRecordingSession, f as stopRecording, g as CreateIdCaptureActorOptions, h as validateUploadResponse, i as IdCaptureInitResult, j as IdCaptureInput, k as IdCaptureEvent, l as initializeIdCapture, m as uploadIdImage, n as IdCaptureState, o as StartRecordingParams, p as stopStream, r as createIdCaptureManager, s as UploadIdImageParams, t as IdCaptureManager, u as processId, v as createIdCaptureActor, w as DetectionStatus, x as CaptureIdResponse, y as IdCaptureMachine, z as UploadIdResponse } from "./index-aadmCg5s.js";
2
+ import { n as PermissionResult, o as CameraStream, r as PermissionStatus } from "./deepsightService-C-8SR9TZ.js";
3
+ import { c as warmupWasm, s as WasmPipeline } from "./types-CflhN94Q.js";
4
+ import "./Manager-WTb99jnh.js";
5
5
 
6
6
  //#region ../infra/src/http/types.d.ts
7
7
  type CreateApiConfig = {
@@ -81,7 +81,8 @@ declare const api: ApiClient;
81
81
  declare function checkPermission(): Promise<PermissionResult>;
82
82
  /**
83
83
  * Requests camera permission by attempting to access the camera, then immediately
84
- * stops the obtained stream. This function does not keep or return the stream.
84
+ * stops the obtained stream. Also requests motion sensor permission (required on iOS
85
+ * to be called during a user gesture). This function does not keep or return the stream.
85
86
  */
86
87
  declare function requestPermission(): Promise<PermissionResult>;
87
88
  //#endregion
@@ -128,6 +129,77 @@ type Session = {
128
129
  */
129
130
  declare function createSession(apiKey: string, options: CreateSessionOptions, signal?: AbortSignal): Promise<Session>;
130
131
  //#endregion
132
+ //#region src/internal/featureConfig/types.d.ts
133
+ type FeatureName = 'VIDEO_SELFIE_V2' | 'USE_CLIENT_GLARE' | 'USE_OPEN_VIDU' | 'DISABLE_IPIFY';
134
+ type FeatureConfig = {
135
+ enabled: boolean;
136
+ feature: FeatureName;
137
+ config?: number | string;
138
+ };
139
+ type Features = {
140
+ features?: FeatureConfig[];
141
+ sessionIdentifier: string;
142
+ };
143
+ //#endregion
144
+ //#region src/internal/session/sessionInitializer.d.ts
145
+ type SessionInitOptions = {
146
+ /** Custom hosting app name for fingerprint */
147
+ hostingApp?: string;
148
+ /** Abort signal for cancellation */
149
+ signal?: AbortSignal;
150
+ };
151
+ type SessionInitResult = {
152
+ features: Features;
153
+ disableIpify: boolean;
154
+ fingerprintSuccess: boolean;
155
+ };
156
+ /**
157
+ * Initializes session-level services after the token is set.
158
+ * This should be called once after createSession() or setToken().
159
+ *
160
+ * Performs:
161
+ * 1. Fetches feature configuration from backend
162
+ * 2. Submits device fingerprint
163
+ *
164
+ * Results are cached for the session lifetime.
165
+ *
166
+ * @param options - Optional configuration
167
+ * @returns Session initialization result with feature config
168
+ *
169
+ * @example
170
+ * ```ts
171
+ * // After creating a session
172
+ * const session = await createSession('api-key', options);
173
+ * setup({ apiURL, token: session.token });
174
+ * const { features } = await initializeSession();
175
+ *
176
+ * // Check feature flags
177
+ * if (isFeatureEnabled('DISABLE_IPIFY', features.features)) {
178
+ * // Handle disabled ipify
179
+ * }
180
+ * ```
181
+ */
182
+ declare function initializeSession(options?: SessionInitOptions): Promise<SessionInitResult>;
183
+ /**
184
+ * Gets the cached feature configuration.
185
+ * Returns undefined if session hasn't been initialized.
186
+ */
187
+ declare function getSessionFeatures(): Features | undefined;
188
+ /**
189
+ * Gets the cached disableIpify flag.
190
+ * Returns false if session hasn't been initialized.
191
+ */
192
+ declare function getDisableIpify(): boolean;
193
+ /**
194
+ * Checks if the session has been initialized.
195
+ */
196
+ declare function isSessionInitialized(): boolean;
197
+ /**
198
+ * Resets session initialization state.
199
+ * Useful for testing or when starting a new session.
200
+ */
201
+ declare function resetSessionInit(): void;
202
+ //#endregion
131
203
  //#region src/setup.d.ts
132
204
  /**
133
205
  * WASM warmup configuration.
@@ -442,4 +514,4 @@ declare function moduleClosed(module: EventModule | string, screen?: EventScreen
442
514
  declare function screenOpened(module: EventModule | string, screen: EventScreen | string, payload?: Record<string, unknown>): void;
443
515
  declare function screenClosed(module: EventModule | string, screen: EventScreen | string, payload?: Record<string, unknown>): void;
444
516
  //#endregion
445
- export { type Browser, CameraStream, CaptureIdResponse, CapturedImage, CreateIdCaptureActorOptions, type CreateSessionOptions, DetectionArea, DetectionOrientation, DetectionStatus, type DeviceClass, type Event, type EventModule, type EventScreen, type HttpClient, ID_ERROR_CODES, IIdCaptureCapability, IdCaptureActor, IdCaptureConfig, IdCaptureContext, IdCaptureEvent, IdCaptureGeometry, IdCaptureInitResult, IdCaptureInput, IdCaptureMachine, IdCaptureManager, IdCaptureMode, IdCaptureProvider, IdCaptureSettings, IdCaptureState, IdCaptureThresholds, IdDocumentType, IdError, IdErrorCode, IdFlowStep, type PermissionResult, type PermissionStatus, RecordingSession, type Session, type SetupOptions, StartRecordingParams, UploadIdImageParams, UploadIdResponse, ValidationError, type WasmConfig, type WasmPipeline, addEvent, api, cameraScreenNamesMapper, checkPermission as checkCameraPermission, createApi, createIdCaptureActor, createIdCaptureManager, createSession, eventModuleNames, eventScreenNames, flushEventQueue, getApi, getBrowser, getDeviceClass, idCaptureMachine, initializeIdCapture, initializeWasmUtil, isConfigured, moduleClosed, moduleOpened, processId, requestPermission as requestCameraPermission, reset, screenClosed, screenEvent, screenOpened, setWasmConfig, setup, startRecordingSession, stopRecording, stopStream, subscribeEvent, tutorialScreenNamesMapper, uploadIdImage, validateUploadResponse, videoSelfieEvents, warmupWasm };
517
+ export { type Browser, CameraStream, CaptureIdResponse, CapturedImage, CreateIdCaptureActorOptions, type CreateSessionOptions, DetectionArea, DetectionOrientation, DetectionStatus, type DeviceClass, type Event, type EventModule, type EventScreen, type HttpClient, ID_ERROR_CODES, IIdCaptureCapability, IdCaptureActor, IdCaptureConfig, IdCaptureContext, IdCaptureDependencies, IdCaptureEvent, IdCaptureGeometry, IdCaptureInitResult, IdCaptureInput, IdCaptureMachine, IdCaptureManager, IdCaptureMode, IdCaptureProvider, IdCaptureSettings, IdCaptureState, IdCaptureThresholds, IdDocumentType, IdError, IdErrorCode, IdFlowStep, InitializeIdCaptureParams, type PermissionResult, type PermissionStatus, RecordingSession, type Session, type SessionInitOptions, type SessionInitResult, type SetupOptions, StartRecordingParams, UploadIdImageParams, UploadIdResponse, ValidationError, type WasmConfig, type WasmPipeline, addEvent, api, cameraScreenNamesMapper, checkPermission as checkCameraPermission, createApi, createIdCaptureActor, createIdCaptureManager, createSession, eventModuleNames, eventScreenNames, flushEventQueue, getApi, getBrowser, getDeviceClass, getDisableIpify, getSessionFeatures, idCaptureMachine, initializeIdCapture, initializeSession, initializeWasmUtil, isConfigured, isSessionInitialized, moduleClosed, moduleOpened, processId, requestPermission as requestCameraPermission, reset, resetSessionInit, screenClosed, screenEvent, screenOpened, setWasmConfig, setup, startRecordingSession, stopRecording, stopStream, subscribeEvent, tutorialScreenNamesMapper, uploadIdImage, validateUploadResponse, videoSelfieEvents, warmupWasm };
package/dist/index.esm.js CHANGED
@@ -1,50 +1,12 @@
1
- import { a as videoSelfieEvents, c as screenClosed, d as addEvent, f as flushEventQueue, i as tutorialScreenNamesMapper, l as screenEvent, n as eventModuleNames, o as moduleClosed, p as subscribeEvent, r as eventScreenNames, s as moduleOpened, t as cameraScreenNamesMapper, u as screenOpened } from "./events-B8ZkhAZo.esm.js";
2
- import { a as processId, c as stopStream, d as ID_ERROR_CODES, i as initializeIdCapture, l as uploadIdImage, n as createIdCaptureActor, o as startRecordingSession, r as idCaptureMachine, s as stopRecording, t as createIdCaptureManager, u as validateUploadResponse } from "./id-GPFS1Wo_.esm.js";
3
- import { i as IdCaptureProvider, o as warmupWasm, r as WasmUtilProvider, w as createApi_default } from "./src-XSoNGEQW.esm.js";
4
- import "./getDeviceClass-DkfbtsIJ.esm.js";
5
- import { t as endpoints } from "./endpoints-BUsSVoJV.esm.js";
6
- import { c as getDeviceClass, l as getBrowser, o as checkPermission, s as requestPermission } from "./streamingEvents-J6ffKmJL.esm.js";
1
+ import { a as videoSelfieEvents, c as screenClosed, d as addEvent, f as flushEventQueue, i as tutorialScreenNamesMapper, l as screenEvent, n as eventModuleNames, o as moduleClosed, p as subscribeEvent, r as eventScreenNames, s as moduleOpened, t as cameraScreenNamesMapper, u as screenOpened } from "./events-CLVaKe2J.esm.js";
2
+ import { _ as createSession, a as processId, c as stopStream, d as ID_ERROR_CODES, f as getDisableIpify, g as resetSessionInit, h as isSessionInitialized, i as initializeIdCapture, l as uploadIdImage, m as initializeSession, n as createIdCaptureActor, o as startRecordingSession, p as getSessionFeatures, r as idCaptureMachine, s as stopRecording, t as createIdCaptureManager, u as validateUploadResponse } from "./id-DE76bgjS.esm.js";
3
+ import { i as IdCaptureProvider, o as warmupWasm, r as WasmUtilProvider, w as createApi_default } from "./src-BEaVRVtC.esm.js";
4
+ import "./deepsightService-BqN04Xvz.esm.js";
5
+ import "./endpoints-CmGlc9UG.esm.js";
6
+ import { c as getDeviceClass, l as getBrowser, o as checkPermission, s as requestPermission } from "./streamingEvents-EcGvh3bl.esm.js";
7
7
  import { a as resetApi, n as getApi, o as setClient, s as setToken, t as api } from "./api-DfRLAneb.esm.js";
8
+ import "./stats-onWUN0tY.esm.js";
8
9
 
9
- //#region src/internal/session/sessionService.ts
10
- /**
11
- * Creates a new onboarding session.
12
- *
13
- * @param apiKey - The API key from the Incode dashboard
14
- * @param options - Session creation options
15
- * @param signal - Optional AbortSignal for request cancellation
16
- * @returns The created session with token
17
- *
18
- * @example
19
- * ```ts
20
- * const session = await createSession('your-api-key', {
21
- * configurationId: 'your-flow-id',
22
- * language: 'en-US',
23
- * });
24
- * console.log(session.token); // Use this token for subsequent API calls
25
- * ```
26
- */
27
- async function createSession(apiKey, options, signal) {
28
- const res = await getApi().post(endpoints.createSession, {
29
- configurationId: options.configurationId,
30
- externalId: options.externalId,
31
- externalCustomerId: options.externalCustomerId,
32
- language: options.language ?? "en-US",
33
- customFields: options.customFields,
34
- uuid: options.uuid ?? null,
35
- interviewId: options.interviewId ?? null
36
- }, {
37
- headers: {
38
- "x-api-key": apiKey,
39
- "api-version": "1.0"
40
- },
41
- signal
42
- });
43
- if (!res.ok) throw new Error(`POST ${endpoints.createSession} failed: ${res.status} ${res.statusText}`);
44
- return res.data;
45
- }
46
-
47
- //#endregion
48
10
  //#region src/setup.ts
49
11
  let wasmConfig;
50
12
  let configured = false;
@@ -92,6 +54,9 @@ async function setup(options) {
92
54
  if (options.token) {
93
55
  setToken(options.token);
94
56
  flushEventQueue();
57
+ initializeSession().catch((error) => {
58
+ console.warn("Session initialization failed:", error);
59
+ });
95
60
  }
96
61
  configured = true;
97
62
  if (options.wasm) {
@@ -155,9 +120,10 @@ function isConfigured() {
155
120
  */
156
121
  function reset() {
157
122
  resetApi();
123
+ resetSessionInit();
158
124
  configured = false;
159
125
  WasmUtilProvider.resetInstance();
160
126
  }
161
127
 
162
128
  //#endregion
163
- export { ID_ERROR_CODES, IdCaptureProvider, addEvent, api, cameraScreenNamesMapper, checkPermission as checkCameraPermission, createApi_default as createApi, createIdCaptureActor, createIdCaptureManager, createSession, eventModuleNames, eventScreenNames, flushEventQueue, getApi, getBrowser, getDeviceClass, idCaptureMachine, initializeIdCapture, initializeWasmUtil, isConfigured, moduleClosed, moduleOpened, processId, requestPermission as requestCameraPermission, reset, screenClosed, screenEvent, screenOpened, setWasmConfig, setup, startRecordingSession, stopRecording, stopStream, subscribeEvent, tutorialScreenNamesMapper, uploadIdImage, validateUploadResponse, videoSelfieEvents, warmupWasm };
129
+ export { ID_ERROR_CODES, IdCaptureProvider, addEvent, api, cameraScreenNamesMapper, checkPermission as checkCameraPermission, createApi_default as createApi, createIdCaptureActor, createIdCaptureManager, createSession, eventModuleNames, eventScreenNames, flushEventQueue, getApi, getBrowser, getDeviceClass, getDisableIpify, getSessionFeatures, idCaptureMachine, initializeIdCapture, initializeSession, initializeWasmUtil, isConfigured, isSessionInitialized, moduleClosed, moduleOpened, processId, requestPermission as requestCameraPermission, reset, resetSessionInit, screenClosed, screenEvent, screenOpened, setWasmConfig, setup, startRecordingSession, stopRecording, stopStream, subscribeEvent, tutorialScreenNamesMapper, uploadIdImage, validateUploadResponse, videoSelfieEvents, warmupWasm };
@@ -1,5 +1,5 @@
1
1
  import { i as __toCommonJS, n as __esm, r as __export, t as __commonJS } from "./chunk-V5DOKNPJ.esm.js";
2
- import { n as require_jsnlog, t as require_OpenViduLogger } from "./OpenViduLogger-BLxxXoyF.esm.js";
2
+ import { n as require_jsnlog, t as require_OpenViduLogger } from "./OpenViduLogger-XKcjntVs.esm.js";
3
3
 
4
4
  //#region ../../node_modules/.pnpm/openvidu-browser@2.32.1/node_modules/openvidu-browser/lib/OpenViduInternal/Enums/LocalRecorderState.js
5
5
  var require_LocalRecorderState = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/openvidu-browser@2.32.1/node_modules/openvidu-browser/lib/OpenViduInternal/Enums/LocalRecorderState.js": ((exports) => {
package/dist/phone.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { t as Manager } from "./Manager-Co-PsiG9.js";
1
+ import { t as Manager } from "./Manager-WTb99jnh.js";
2
2
 
3
3
  //#region src/modules/phone/types.d.ts
4
4
 
package/dist/phone.esm.js CHANGED
@@ -1,6 +1,6 @@
1
- import { d as addEvent, n as eventModuleNames, r as eventScreenNames } from "./events-B8ZkhAZo.esm.js";
2
- import { C as createManager, d as BrowserTimerProvider } from "./src-XSoNGEQW.esm.js";
3
- import { a as fromPromise, i as fromCallback, n as setup, o as createActor, r as assign, t as endpoints } from "./endpoints-BUsSVoJV.esm.js";
1
+ import { d as addEvent, n as eventModuleNames, r as eventScreenNames } from "./events-CLVaKe2J.esm.js";
2
+ import { C as createManager, d as BrowserTimerProvider } from "./src-BEaVRVtC.esm.js";
3
+ import { a as fromPromise, i as fromCallback, n as setup, o as createActor, r as assign, t as endpoints } from "./endpoints-CmGlc9UG.esm.js";
4
4
  import { t as api } from "./api-DfRLAneb.esm.js";
5
5
 
6
6
  //#region src/modules/phone/phoneServices.ts
package/dist/selfie.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { a as CameraStream, d as IMLProviderCapability, f as MLProviderConfig, i as StreamCanvasCapture, l as MotionPermissionState, n as PermissionStatus, o as IRecordingCapability, p as IncodeCanvas, r as BaseWasmProvider, t as PermissionResult, u as MotionStatus } from "./types-CRVSv38Q.js";
2
- import { a as AnyStateMachine, o as StateMachine, r as FlowModuleConfig, s as WasmPipeline, t as Flow } from "./types-CMR6NkxW.js";
3
- import { t as Manager } from "./Manager-Co-PsiG9.js";
1
+ import { a as StreamCanvasCapture, c as IRecordingCapability, d as IMLProviderCapability, f as MLProviderConfig, i as BaseWasmProvider, n as PermissionResult, o as CameraStream, p as IncodeCanvas, r as PermissionStatus, s as IStorageCapability, t as DeepsightService } from "./deepsightService-C-8SR9TZ.js";
2
+ import { a as AnyStateMachine, o as StateMachine, r as FlowModuleConfig, s as WasmPipeline, t as Flow } from "./types-CflhN94Q.js";
3
+ import { t as Manager } from "./Manager-WTb99jnh.js";
4
4
 
5
5
  //#region ../infra/src/capabilities/IFaceDetectionCapability.d.ts
6
6
 
@@ -143,35 +143,6 @@ interface IFaceDetectionCapability extends IMLProviderCapability<FaceDetectionCo
143
143
  setVideoSelfieMode(enabled: boolean): void;
144
144
  }
145
145
  //#endregion
146
- //#region ../infra/src/capabilities/IStorageCapability.d.ts
147
- /**
148
- * Storage capability interface for abstracting storage operations.
149
- * Enables swapping between browser localStorage and future WASM-based storage.
150
- */
151
- interface IStorageCapability {
152
- /**
153
- * Retrieves a value from storage.
154
- * @param key - The storage key
155
- * @returns The stored value or null if not found
156
- */
157
- get<T>(key: string): Promise<T | null>;
158
- /**
159
- * Stores a value in storage.
160
- * @param key - The storage key
161
- * @param value - The value to store (will be serialized)
162
- */
163
- set<T>(key: string, value: T): Promise<void>;
164
- /**
165
- * Removes a value from storage.
166
- * @param key - The storage key to remove
167
- */
168
- remove(key: string): Promise<void>;
169
- /**
170
- * Clears all values from storage.
171
- */
172
- clear(): Promise<void>;
173
- }
174
- //#endregion
175
146
  //#region ../infra/src/capabilities/IWasmUtilCapability.d.ts
176
147
  type WasmUtilConfig = MLProviderConfig & {
177
148
  pipelines?: WasmPipeline[];
@@ -210,6 +181,11 @@ type IWasmUtilCapability = {
210
181
  getMetadata(): string;
211
182
  analyzeFrame(image: ImageData): Promise<void>;
212
183
  getCheck(): string;
184
+ /**
185
+ * Gets the current pipeline state. Must be called before setMotionStatus(),
186
+ * getCheck(), setBackgroundMode(), and getMetadata() for proper metadata generation.
187
+ */
188
+ getPipelineState(): string;
213
189
  estimatePerformance(): string;
214
190
  isVirtualCamera(label: string | null): boolean;
215
191
  prc(): Promise<void>;
@@ -245,61 +221,6 @@ declare class FaceDetectionProvider extends BaseWasmProvider implements IFaceDet
245
221
  private formatFaceCoordinates;
246
222
  }
247
223
  //#endregion
248
- //#region src/internal/deepsight/metadataService.d.ts
249
- type MetadataService = {
250
- initialize(sdkVersion: string, disableIpify?: boolean): Promise<void>;
251
- updateCameraInfo(videoTrack: MediaStreamTrack): void;
252
- checkForVirtualCameraByLabel(videoTrack: MediaStreamTrack | null): Promise<boolean>;
253
- analyzeFrame(imageData: ImageData): Promise<void>;
254
- setMotionStatus(status: string): void;
255
- setBackgroundMode(backgroundMode: boolean): void;
256
- estimatePerformance(): string;
257
- getMetadata(): string;
258
- getCheck(): string;
259
- };
260
- //#endregion
261
- //#region src/internal/deepsight/motionStatusService.d.ts
262
- type MotionStatusService = {
263
- requestPermission(): Promise<MotionPermissionState>;
264
- start(): Promise<void>;
265
- stop(): void;
266
- check(): MotionStatus;
267
- readonly isRunning: boolean;
268
- readonly hasPermission: boolean;
269
- };
270
- //#endregion
271
- //#region src/internal/virtualCameraCheck.d.ts
272
- declare const frameSources: {
273
- readonly front: "FRONT_ID";
274
- readonly back: "BACK_ID";
275
- readonly selfie: "SELFIE";
276
- };
277
- type FrameSource = (typeof frameSources)[keyof typeof frameSources];
278
- //#endregion
279
- //#region src/internal/deepsight/deepsightService.d.ts
280
- type DeepsightService = {
281
- readonly metadata: MetadataService;
282
- readonly motion: MotionStatusService;
283
- initialize(disableIpify?: boolean): Promise<void>;
284
- requestMotionPermission(): Promise<'granted' | 'denied' | 'not-required'>;
285
- startMotionSensors(): Promise<void>;
286
- stopMotionSensors(): void;
287
- checkVirtualCamera(videoTrack: MediaStreamTrack): Promise<boolean>;
288
- performVirtualCameraCheck(sessionToken: string | null, source: FrameSource): Promise<void>;
289
- /**
290
- * Runs PRC warmup and stores DS flag using infrastructure providers.
291
- */
292
- performPrcCheck(params: DeepsightPrcCheckParams): Promise<void>;
293
- analyzeFrame(imageData: ImageData): Promise<void>;
294
- getMetadata(): string;
295
- cleanup(): void;
296
- };
297
- type DeepsightPrcCheckParams = {
298
- constraints: MediaStreamConstraints;
299
- ds?: boolean;
300
- storage: IStorageCapability;
301
- };
302
- //#endregion
303
224
  //#region src/modules/selfie/types.d.ts
304
225
  type SelfieConfig = FlowModuleConfig['SELFIE'] & {
305
226
  recording?: {