@simprints/simface-sdk 0.6.1 → 0.8.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"camera.js","sourceRoot":"","sources":["../../src/services/camera.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"camera.js","sourceRoot":"","sources":["../../src/services/camera.ts"],"names":[],"mappings":"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"}
@@ -57,10 +57,10 @@ export function evaluateFaceQuality(input) {
57
57
  const faceCenterX = (bbox.originX + bbox.width / 2) / width;
58
58
  const faceCenterY = (bbox.originY + bbox.height / 2) / height;
59
59
  if (faceCenterX < 0.5 - CENTER_TOLERANCE_X) {
60
- return createFrameAdjustmentResult(detection.confidence, 'move-right', 'Move your face a little to the right.');
60
+ return createFrameAdjustmentResult(detection.confidence, 'move-left', 'Move your face a little to the left.');
61
61
  }
62
62
  if (faceCenterX > 0.5 + CENTER_TOLERANCE_X) {
63
- return createFrameAdjustmentResult(detection.confidence, 'move-left', 'Move your face a little to the left.');
63
+ return createFrameAdjustmentResult(detection.confidence, 'move-right', 'Move your face a little to the right.');
64
64
  }
65
65
  if (faceCenterY < 0.5 - CENTER_TOLERANCE_Y) {
66
66
  return createFrameAdjustmentResult(detection.confidence, 'move-down', 'Move your face slightly down.');
@@ -98,14 +98,14 @@ function detectTurnFeedback(keypoints) {
98
98
  const noseOffsetRatio = (nose.x - eyeMidpointX) / eyeDistance;
99
99
  if (noseOffsetRatio <= -MAX_NOSE_OFFSET_RATIO) {
100
100
  return {
101
- feedback: 'turn-right',
102
- message: 'Turn slightly right so your face points at the camera.',
101
+ feedback: 'turn-left',
102
+ message: 'Turn slightly left so your face points at the camera.',
103
103
  };
104
104
  }
105
105
  if (noseOffsetRatio >= MAX_NOSE_OFFSET_RATIO) {
106
106
  return {
107
- feedback: 'turn-left',
108
- message: 'Turn slightly left so your face points at the camera.',
107
+ feedback: 'turn-right',
108
+ message: 'Turn slightly right so your face points at the camera.',
109
109
  };
110
110
  }
111
111
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"face-quality.js","sourceRoot":"","sources":["../../src/services/face-quality.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"face-quality.js","sourceRoot":"","sources":["../../src/services/face-quality.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { CapturePreference, CapturePresentation, SimFaceCaptureOptions } from '../types/index.js';
2
+ export type CapturePlanStep = 'auto-camera' | 'manual-camera' | 'media-picker';
3
+ export interface NormalizedCaptureOptions {
4
+ presentation: CapturePresentation;
5
+ capturePreference: CapturePreference;
6
+ allowMediaPickerFallback: boolean;
7
+ container?: HTMLElement | string;
8
+ label: string;
9
+ confirmLabel: string;
10
+ }
11
+ export interface CaptureCapabilities {
12
+ prefersMediaPicker: boolean;
13
+ supportsMediaDevices: boolean;
14
+ supportsAutoCapture: boolean;
15
+ }
16
+ export interface CapturePlan {
17
+ presentation: CapturePresentation;
18
+ steps: CapturePlanStep[];
19
+ capabilities: CaptureCapabilities;
20
+ }
21
+ export declare function normalizeCaptureOptions(options: SimFaceCaptureOptions | undefined): NormalizedCaptureOptions;
22
+ export declare function resolveCaptureCapabilities(options: {
23
+ capturePreference: CapturePreference;
24
+ userAgent?: string;
25
+ hasMediaDevices?: boolean;
26
+ probeAutoCapture?: () => Promise<boolean>;
27
+ }): Promise<CaptureCapabilities>;
28
+ export declare function buildCapturePlan(options: NormalizedCaptureOptions, capabilities: CaptureCapabilities): CapturePlan;
@@ -0,0 +1,61 @@
1
+ import { getVideoDetector } from '../services/face-detection.js';
2
+ const DEFAULT_LABEL = 'Take a selfie';
3
+ const DEFAULT_CONFIRM_LABEL = 'Use this capture';
4
+ export function normalizeCaptureOptions(options) {
5
+ return {
6
+ presentation: options?.presentation ?? 'popup',
7
+ capturePreference: options?.capturePreference ?? 'auto-preferred',
8
+ allowMediaPickerFallback: options?.allowMediaPickerFallback ?? true,
9
+ container: options?.container,
10
+ label: options?.label ?? DEFAULT_LABEL,
11
+ confirmLabel: options?.confirmLabel ?? DEFAULT_CONFIRM_LABEL,
12
+ };
13
+ }
14
+ export async function resolveCaptureCapabilities(options) {
15
+ const prefersMediaPicker = /WhatsApp/i.test(options.userAgent ?? navigator.userAgent);
16
+ const supportsMediaDevices = options.hasMediaDevices ?? typeof navigator.mediaDevices?.getUserMedia === 'function';
17
+ let supportsAutoCapture = false;
18
+ if (!prefersMediaPicker && supportsMediaDevices && options.capturePreference === 'auto-preferred') {
19
+ supportsAutoCapture = await (options.probeAutoCapture?.() ?? supportsRealtimeAutoCapture());
20
+ }
21
+ return {
22
+ prefersMediaPicker,
23
+ supportsMediaDevices,
24
+ supportsAutoCapture,
25
+ };
26
+ }
27
+ export function buildCapturePlan(options, capabilities) {
28
+ const steps = [];
29
+ if (capabilities.supportsMediaDevices) {
30
+ if (options.capturePreference === 'auto-preferred' && capabilities.supportsAutoCapture) {
31
+ steps.push('auto-camera');
32
+ }
33
+ steps.push('manual-camera');
34
+ }
35
+ if (options.allowMediaPickerFallback
36
+ && (steps.length === 0 || steps[steps.length - 1] !== 'media-picker')) {
37
+ steps.push('media-picker');
38
+ }
39
+ return {
40
+ presentation: options.presentation,
41
+ steps,
42
+ capabilities,
43
+ };
44
+ }
45
+ async function supportsRealtimeAutoCapture() {
46
+ if (typeof window.requestAnimationFrame !== 'function'
47
+ || typeof window.cancelAnimationFrame !== 'function') {
48
+ return false;
49
+ }
50
+ if (!document.createElement('canvas').getContext('2d')) {
51
+ return false;
52
+ }
53
+ try {
54
+ await getVideoDetector();
55
+ return true;
56
+ }
57
+ catch {
58
+ return false;
59
+ }
60
+ }
61
+ //# sourceMappingURL=capture-flow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capture-flow.js","sourceRoot":"","sources":["../../src/shared/capture-flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA8BjE,MAAM,aAAa,GAAG,eAAe,CAAC;AACtC,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AAEjD,MAAM,UAAU,uBAAuB,CACrC,OAA0C;IAE1C,OAAO;QACL,YAAY,EAAE,OAAO,EAAE,YAAY,IAAI,OAAO;QAC9C,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,IAAI,gBAAgB;QACjE,wBAAwB,EAAE,OAAO,EAAE,wBAAwB,IAAI,IAAI;QACnE,SAAS,EAAE,OAAO,EAAE,SAAS;QAC7B,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,aAAa;QACtC,YAAY,EAAE,OAAO,EAAE,YAAY,IAAI,qBAAqB;KAC7D,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,OAKhD;IACC,MAAM,kBAAkB,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC;IACtF,MAAM,oBAAoB,GACxB,OAAO,CAAC,eAAe,IAAI,OAAO,SAAS,CAAC,YAAY,EAAE,YAAY,KAAK,UAAU,CAAC;IAExF,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAChC,IAAI,CAAC,kBAAkB,IAAI,oBAAoB,IAAI,OAAO,CAAC,iBAAiB,KAAK,gBAAgB,EAAE,CAAC;QAClG,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,IAAI,2BAA2B,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,OAAO;QACL,kBAAkB;QAClB,oBAAoB;QACpB,mBAAmB;KACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,OAAiC,EACjC,YAAiC;IAEjC,MAAM,KAAK,GAAsB,EAAE,CAAC;IAEpC,IAAI,YAAY,CAAC,oBAAoB,EAAE,CAAC;QACtC,IAAI,OAAO,CAAC,iBAAiB,KAAK,gBAAgB,IAAI,YAAY,CAAC,mBAAmB,EAAE,CAAC;YACvF,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5B,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC9B,CAAC;IAED,IACE,OAAO,CAAC,wBAAwB;WAC7B,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,cAAc,CAAC,EACrE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO;QACL,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,KAAK;QACL,YAAY;KACb,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,2BAA2B;IACxC,IACE,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;WAC/C,OAAO,MAAM,CAAC,oBAAoB,KAAK,UAAU,EACpD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACvD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,MAAM,gBAAgB,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -0,0 +1,21 @@
1
+ export declare class CameraAccessError extends Error {
2
+ name: string;
3
+ constructor(message: string, options?: {
4
+ cause?: unknown;
5
+ });
6
+ }
7
+ export interface ReusableFrameCapture {
8
+ captureBlob: (video: HTMLVideoElement) => Promise<Blob>;
9
+ storeBestFrame: (video: HTMLVideoElement) => void;
10
+ hasStoredBestFrame: () => boolean;
11
+ storedBestFrameToBlob: () => Promise<Blob>;
12
+ resetStoredBestFrame: () => void;
13
+ }
14
+ export declare function openUserFacingCameraStream(): Promise<MediaStream>;
15
+ export declare function waitForVideoReady(video: HTMLVideoElement, errorMessage?: string): Promise<void>;
16
+ export declare function resumeVideoPlayback(video: HTMLVideoElement): void;
17
+ export declare function createReusableFrameCapture(): ReusableFrameCapture;
18
+ export declare function captureFromFileInput(): Promise<Blob | null>;
19
+ export declare function blobToImage(blob: Blob): Promise<HTMLImageElement>;
20
+ export declare function blobToDataURL(blob: Blob): Promise<string>;
21
+ export declare function describeCameraError(error: unknown): string;
@@ -0,0 +1,183 @@
1
+ export class CameraAccessError extends Error {
2
+ constructor(message, options) {
3
+ super(message);
4
+ this.name = 'CameraAccessError';
5
+ if (options?.cause !== undefined) {
6
+ Object.defineProperty(this, 'cause', {
7
+ configurable: true,
8
+ value: options.cause,
9
+ });
10
+ }
11
+ }
12
+ }
13
+ export async function openUserFacingCameraStream() {
14
+ if (!navigator.mediaDevices?.getUserMedia) {
15
+ throw new CameraAccessError('In-browser camera capture is not supported in this browser.');
16
+ }
17
+ try {
18
+ return await navigator.mediaDevices.getUserMedia({
19
+ video: { facingMode: { ideal: 'user' } },
20
+ audio: false,
21
+ });
22
+ }
23
+ catch (error) {
24
+ throw new CameraAccessError(describeCameraError(error), { cause: error });
25
+ }
26
+ }
27
+ export async function waitForVideoReady(video, errorMessage = 'Failed to start the camera preview.') {
28
+ if (video.readyState >= HTMLMediaElement.HAVE_CURRENT_DATA) {
29
+ await video.play();
30
+ return;
31
+ }
32
+ await new Promise((resolve, reject) => {
33
+ const handleReady = () => {
34
+ cleanup();
35
+ resolve();
36
+ };
37
+ const handleError = () => {
38
+ cleanup();
39
+ reject(new Error(errorMessage));
40
+ };
41
+ const cleanup = () => {
42
+ video.removeEventListener('loadedmetadata', handleReady);
43
+ video.removeEventListener('error', handleError);
44
+ };
45
+ video.addEventListener('loadedmetadata', handleReady, { once: true });
46
+ video.addEventListener('error', handleError, { once: true });
47
+ });
48
+ await video.play();
49
+ }
50
+ export function resumeVideoPlayback(video) {
51
+ void video.play().catch(() => {
52
+ // Ignore resume failures here; startup paths already surface preview errors loudly.
53
+ });
54
+ }
55
+ export function createReusableFrameCapture() {
56
+ const workingCanvas = document.createElement('canvas');
57
+ const bestFrameCanvas = document.createElement('canvas');
58
+ let hasStoredBestFrame = false;
59
+ const getContext = (canvas) => {
60
+ const context = canvas.getContext('2d');
61
+ if (!context) {
62
+ throw new Error('Failed to initialize camera capture.');
63
+ }
64
+ return context;
65
+ };
66
+ const drawFrame = (video, canvas) => {
67
+ if (!video.videoWidth || !video.videoHeight) {
68
+ throw new Error('Camera preview is not ready yet.');
69
+ }
70
+ if (canvas.width !== video.videoWidth || canvas.height !== video.videoHeight) {
71
+ canvas.width = video.videoWidth;
72
+ canvas.height = video.videoHeight;
73
+ }
74
+ getContext(canvas).drawImage(video, 0, 0, canvas.width, canvas.height);
75
+ };
76
+ return {
77
+ async captureBlob(video) {
78
+ drawFrame(video, workingCanvas);
79
+ return canvasToBlob(workingCanvas);
80
+ },
81
+ storeBestFrame(video) {
82
+ drawFrame(video, bestFrameCanvas);
83
+ hasStoredBestFrame = true;
84
+ },
85
+ hasStoredBestFrame() {
86
+ return hasStoredBestFrame;
87
+ },
88
+ async storedBestFrameToBlob() {
89
+ if (!hasStoredBestFrame) {
90
+ throw new Error('No best frame is available.');
91
+ }
92
+ return canvasToBlob(bestFrameCanvas);
93
+ },
94
+ resetStoredBestFrame() {
95
+ hasStoredBestFrame = false;
96
+ bestFrameCanvas.width = 0;
97
+ bestFrameCanvas.height = 0;
98
+ },
99
+ };
100
+ }
101
+ export function captureFromFileInput() {
102
+ return new Promise((resolve) => {
103
+ const input = document.createElement('input');
104
+ input.type = 'file';
105
+ input.accept = 'image/*';
106
+ input.capture = 'user';
107
+ input.style.display = 'none';
108
+ input.addEventListener('change', () => {
109
+ const file = input.files?.[0] ?? null;
110
+ cleanup();
111
+ resolve(file);
112
+ });
113
+ const handleFocus = () => {
114
+ setTimeout(() => {
115
+ if (!input.files?.length) {
116
+ cleanup();
117
+ resolve(null);
118
+ }
119
+ }, 500);
120
+ };
121
+ window.addEventListener('focus', handleFocus, { once: true });
122
+ function cleanup() {
123
+ window.removeEventListener('focus', handleFocus);
124
+ input.remove();
125
+ }
126
+ document.body.appendChild(input);
127
+ input.click();
128
+ });
129
+ }
130
+ export function blobToImage(blob) {
131
+ return new Promise((resolve, reject) => {
132
+ const url = URL.createObjectURL(blob);
133
+ const image = new Image();
134
+ image.onload = () => {
135
+ URL.revokeObjectURL(url);
136
+ resolve(image);
137
+ };
138
+ image.onerror = () => {
139
+ URL.revokeObjectURL(url);
140
+ reject(new Error('Failed to load captured image'));
141
+ };
142
+ image.src = url;
143
+ });
144
+ }
145
+ export function blobToDataURL(blob) {
146
+ return new Promise((resolve, reject) => {
147
+ const reader = new FileReader();
148
+ reader.onload = () => resolve(reader.result);
149
+ reader.onerror = () => reject(new Error('Failed to read image'));
150
+ reader.readAsDataURL(blob);
151
+ });
152
+ }
153
+ export function describeCameraError(error) {
154
+ if (error instanceof DOMException) {
155
+ switch (error.name) {
156
+ case 'NotAllowedError':
157
+ case 'SecurityError':
158
+ return 'Camera access was denied. Allow camera access and try again.';
159
+ case 'NotFoundError':
160
+ return 'No camera was found on this device.';
161
+ case 'NotReadableError':
162
+ return 'The camera is already in use by another application.';
163
+ default:
164
+ return error.message || 'Failed to access the camera.';
165
+ }
166
+ }
167
+ if (error instanceof Error) {
168
+ return error.message;
169
+ }
170
+ return 'Failed to access the camera.';
171
+ }
172
+ function canvasToBlob(canvas) {
173
+ return new Promise((resolve, reject) => {
174
+ canvas.toBlob((blob) => {
175
+ if (!blob) {
176
+ reject(new Error('Failed to capture an image.'));
177
+ return;
178
+ }
179
+ resolve(blob);
180
+ }, 'image/jpeg', 0.92);
181
+ });
182
+ }
183
+ //# sourceMappingURL=capture-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capture-runtime.js","sourceRoot":"","sources":["../../src/shared/capture-runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ import type { FaceQualityResult } from '../types/index.js';
2
+ export type CaptureFeedbackTone = 'neutral' | 'success' | 'error' | 'manual';
3
+ export type LiveCaptureMode = 'auto' | 'manual';
4
+ export type CaptureFallbackReason = 'auto-capture-unavailable';
5
+ interface CameraCaptureStateBase {
6
+ mode: LiveCaptureMode;
7
+ feedbackMessage: string;
8
+ feedbackTone: CaptureFeedbackTone;
9
+ countdownProgress: number;
10
+ qualityResult: FaceQualityResult | null;
11
+ fallbackReason: CaptureFallbackReason | null;
12
+ }
13
+ export interface CameraCaptureStartingState extends CameraCaptureStateBase {
14
+ phase: 'starting';
15
+ previewBlob: null;
16
+ errorMessage: '';
17
+ canConfirm: false;
18
+ canTakePhoto: false;
19
+ }
20
+ export interface CameraCaptureLiveState extends CameraCaptureStateBase {
21
+ phase: 'live';
22
+ previewBlob: null;
23
+ errorMessage: '';
24
+ canConfirm: false;
25
+ /**
26
+ * `true` when the user may trigger a manual capture; `false` once the
27
+ * auto-capture countdown has started and the session is about to capture
28
+ * automatically.
29
+ */
30
+ canTakePhoto: boolean;
31
+ }
32
+ export interface CameraCapturePreviewState extends CameraCaptureStateBase {
33
+ phase: 'preview';
34
+ previewBlob: Blob;
35
+ errorMessage: '';
36
+ canConfirm: boolean;
37
+ canTakePhoto: false;
38
+ }
39
+ export interface CameraCaptureErrorState extends CameraCaptureStateBase {
40
+ phase: 'error';
41
+ previewBlob: null;
42
+ errorMessage: string;
43
+ canConfirm: false;
44
+ canTakePhoto: false;
45
+ }
46
+ export type CameraCaptureSessionState = CameraCaptureStartingState | CameraCaptureLiveState | CameraCapturePreviewState | CameraCaptureErrorState;
47
+ export interface CameraCaptureSessionCopy {
48
+ autoReadyMessage: string;
49
+ manualReadyMessage: string;
50
+ autoUnavailableMessage: string;
51
+ retakeReadyMessage?: string;
52
+ }
53
+ export interface CameraCaptureSessionControllerOptions {
54
+ videoElement: HTMLVideoElement;
55
+ initialMode: LiveCaptureMode;
56
+ copy: CameraCaptureSessionCopy;
57
+ onStateChange: (state: CameraCaptureSessionState) => void;
58
+ waitForReady?: (video: HTMLVideoElement) => Promise<void>;
59
+ assessLiveQuality?: (videoElement: HTMLVideoElement, timestamp: number) => Promise<FaceQualityResult>;
60
+ assessPreviewBlob?: (blob: Blob) => Promise<FaceQualityResult | null>;
61
+ }
62
+ export declare class CameraCaptureSessionController {
63
+ private readonly videoElement;
64
+ private readonly copy;
65
+ private readonly onStateChange;
66
+ private readonly waitForReady;
67
+ private readonly assessLiveQuality;
68
+ private readonly assessPreviewBlob;
69
+ private readonly frameCapture;
70
+ private stopped;
71
+ private mode;
72
+ private state;
73
+ private animationFrameId;
74
+ private analysisTimerId;
75
+ private analysisInFlight;
76
+ private lastAnalysisTimestamp;
77
+ private countdownStartedAt;
78
+ private bestCaptureScore;
79
+ private bestQualityResult;
80
+ constructor(options: CameraCaptureSessionControllerOptions);
81
+ getState(): CameraCaptureSessionState;
82
+ start(): Promise<void>;
83
+ takePhotoNow(): Promise<void>;
84
+ retake(): Promise<void>;
85
+ confirm(): Blob;
86
+ stop(): void;
87
+ private createStartingState;
88
+ private createLiveState;
89
+ private createPreviewState;
90
+ emitError(errorMessage: string): void;
91
+ private emit;
92
+ private scheduleAutoAnalysis;
93
+ private runAutoAnalysis;
94
+ private finishAutoCapture;
95
+ private switchToManual;
96
+ private cancelScheduledAnalysis;
97
+ private resetAutoState;
98
+ }
99
+ export {};