@moveris/shared 2.4.0 → 2.5.0
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/index.d.mts +6 -4
- package/dist/index.d.ts +6 -4
- package/dist/index.js +17 -6
- package/dist/index.mjs +15 -6
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -263,7 +263,7 @@ interface FrameQualityResult {
|
|
|
263
263
|
rejectionReason?: 'blur' | 'backlit' | 'low_light' | 'partial_face' | 'no_face' | 'too_close' | 'too_far' | 'misaligned';
|
|
264
264
|
}
|
|
265
265
|
declare const DEFAULT_BLUR_THRESHOLD = 100;
|
|
266
|
-
declare const BLUR_THRESHOLD_MOBILE =
|
|
266
|
+
declare const BLUR_THRESHOLD_MOBILE = 60;
|
|
267
267
|
declare const BACKLIT_RATIO_THRESHOLD = 0.6;
|
|
268
268
|
declare const LOW_LIGHT_THRESHOLD = 50;
|
|
269
269
|
declare const MIN_FACE_TOP_MARGIN = 0.1;
|
|
@@ -286,6 +286,8 @@ declare function rgbaToGrayscale(rgbaPixels: Uint8ClampedArray | number[]): numb
|
|
|
286
286
|
declare function calculateBrightness(rgbaPixels: Uint8ClampedArray | number[]): number;
|
|
287
287
|
declare function analyzeLighting(faceBrightness: number, backgroundBrightness: number): LightingAnalysis;
|
|
288
288
|
declare function isFaceFullyVisible(boundingBox: FaceBoundingBox, frameWidth: number, frameHeight: number): FaceVisibilityResult;
|
|
289
|
+
declare const OVAL_REGION_DESKTOP: OvalRegion;
|
|
290
|
+
declare const OVAL_REGION_MOBILE: OvalRegion;
|
|
289
291
|
declare const DEFAULT_OVAL_REGION: OvalRegion;
|
|
290
292
|
declare function isFaceInOval(faceBox: FaceBoundingBox, frameWidth: number, frameHeight: number, oval?: OvalRegion, tolerance?: number): FaceInOvalResult;
|
|
291
293
|
declare function calculateFaceAlignment(boundingBox: FaceBoundingBox, frameWidth: number, frameHeight: number): FaceAlignmentResult;
|
|
@@ -619,8 +621,8 @@ declare function getApiErrorMessage(code: string | undefined, message?: string,
|
|
|
619
621
|
declare function isRetryableError(code: string | undefined): boolean;
|
|
620
622
|
|
|
621
623
|
declare const ALIGNMENT_THRESHOLD_CAPTURE = 0.6;
|
|
622
|
-
declare const ALIGNMENT_THRESHOLD_POOR = 0.
|
|
623
|
-
declare const ALIGNMENT_THRESHOLD_GOOD = 0.
|
|
624
|
+
declare const ALIGNMENT_THRESHOLD_POOR = 0.6;
|
|
625
|
+
declare const ALIGNMENT_THRESHOLD_GOOD = 0.6;
|
|
624
626
|
declare const ALIGNMENT_THRESHOLD_PERFECT = 0.85;
|
|
625
627
|
type OvalGuideState = 'no_face' | 'poor' | 'good' | 'perfect';
|
|
626
628
|
declare const OVAL_GUIDE_COLORS: {
|
|
@@ -762,4 +764,4 @@ declare function analyzeEyeRegionContrast(pixels: Uint8Array | Uint8ClampedArray
|
|
|
762
764
|
declare function detectSpecularHighlights(pixels: Uint8Array | Uint8ClampedArray, threshold?: number): number;
|
|
763
765
|
declare function checkEyeRegionQuality(pixels: Uint8Array | Uint8ClampedArray, thresholds?: EyeQualityThresholds): EyeRegionQuality;
|
|
764
766
|
|
|
765
|
-
export { ALIGNMENT_THRESHOLD_CAPTURE, ALIGNMENT_THRESHOLD_GOOD, ALIGNMENT_THRESHOLD_PERFECT, ALIGNMENT_THRESHOLD_POOR, API_ENDPOINTS, API_ERROR_CODES, API_PATHS, AUTH_CONFIG, type ApiErrorCode, BACKLIT_RATIO_THRESHOLD, BLUR_THRESHOLD_MOBILE, BaseFrameCollector, type BlurAnalysis, type CaptureQualityState, type CapturedFrame, type CropData, DEFAULT_BLUR_THRESHOLD, DEFAULT_ENDPOINT, DEFAULT_FACE_DETECTION_TIERS, DEFAULT_GAZE_THRESHOLDS, DEFAULT_HAND_OCCLUSION_CONFIG, DEFAULT_LIVENESS_CONFIG, DEFAULT_LOCALE, DEFAULT_OVAL_REGION, DEFAULT_STABILIZER_CONFIG, DEFAULT_STATUS_MESSAGES, type DetectionResult, type DetectionSummary, type DetectorConfig, ERROR_MESSAGES, ERROR_MESSAGES_ES, ES_LOCALE, EYE_LANDMARK_INDICES, EYE_QUALITY_THRESHOLDS, type ErrorResponse, type EyeQualityThresholds, type EyeRegionBounds, type EyeRegionQuality, type EyeRegionsBounds, FACE_CENTER_VERTICAL_OFFSET, FACE_CROP_OUTPUT_SIZE, FEEDBACK_MESSAGES, FRAME_BUFFER_CONFIG, FRAME_CONFIG, type FaceAlignmentResult, type FaceBoundingBox, type FaceDetectionTiers, type FaceInOvalResult, type FaceLandmarkPoint, type FaceVisibilityResult, type FastCheckCropsRequest, type FastCheckModel, type FastCheckRequest, type FastCheckResponse, type FastCheckStreamRequest, type FastCheckStreamResponse, type FeedbackLocale, type FeedbackMessageKey, type Frame, FrameBuffer, type FrameData, type FrameQualityResult, FrameQueue, type FrameSource, GOOD_ALIGNMENT, type GazeThresholds, HIGH_ALIGNMENT, HYBRID_MODEL_CONFIGS, type HandOcclusionConfig, type HeadPose, type HealthResponse, type Hybrid150CheckRequest, type Hybrid50CheckRequest, type HybridCheckRequest, type HybridCheckResponse, type HybridFrameData, type HybridModelConfig, IDEAL_CROP_MULTIPLIER, type JobStatus, type JobStatusResponse, LANDMARK_INDEX, LANDMARK_MAX_BOUND, LANDMARK_MIN_BOUND, LOW_LIGHT_THRESHOLD, type LandmarkValidationResult, type LightingAnalysis, LivenessApiError, type LivenessCallbacks, LivenessClient, type LivenessClientConfig, type LivenessConfig, type LivenessResult, type LivenessState, MAX_CROP_MULTIPLIER, MAX_FACE_PERCENTAGE_IN_CROP, MAX_FACE_RATIO, MIN_CAPTURE_ALIGNMENT, MIN_CROP_MULTIPLIER, MIN_FACE_BOTTOM_MARGIN, MIN_FACE_RATIO, MIN_FACE_SIDE_MARGIN, MIN_FACE_TOP_MARGIN, MIN_LANDMARK_COUNT, MODEL_CONFIGS, type ModelConfig, type ModelEntry, type ModelType, type ModelsResponse, OVAL_GUIDE_COLORS, OVAL_GUIDE_STYLES, type OnErrorCallback, type OnFrameCapturedCallback, type OnProgressCallback, type OnResultCallback, type OnStateChangeCallback, type OvalGuideState, type OvalRegion, type QueueStatsResponse, RETRY_CONFIG, type RetryOptions, type StabilizationProgress, type StabilizationResult, type StabilizerConfig, type StatusMessageKey, type StreamingStatus, TARGET_FACE_PERCENTAGE_IN_CROP, type Verdict, type VerifyRequest, type VerifyResponse, type VideoFrameMetadata, analyzeBlur, analyzeEyeRegionBrightness, analyzeEyeRegionContrast, analyzeLighting, calculateAdaptiveCropMultiplier, calculateBrightness, calculateFaceAlignment, calculateFaceCropRegion, canCaptureFrame, checkEyeRegionQuality, checkFrameQuality, decodeBase64, detectSpecularHighlights, encodeBase64, generateSessionId, getActiveModels, getApiErrorMessage, getCaptureQualityFeedback, getEyeRegionBounds, getFeedbackMessage, getMinFramesForModel, getOvalGuideState, getStatusMessage, hasEnoughFrames, isDeprecatedModel, isFaceCropFullyInFrame, isFaceFullyVisible, isFaceInOval, isRetryableError, retryWithBackoff, rgbaToGrayscale, sleep, toFrameData, toHybridFrameData, toLivenessResult, toLivenessResultFromStream, validateApiKey, validateFaceLandmarks, validateFrameCount, validateFrameData, validateFrameIndex, validateTimestamp, validateUUID, validateUrl };
|
|
767
|
+
export { ALIGNMENT_THRESHOLD_CAPTURE, ALIGNMENT_THRESHOLD_GOOD, ALIGNMENT_THRESHOLD_PERFECT, ALIGNMENT_THRESHOLD_POOR, API_ENDPOINTS, API_ERROR_CODES, API_PATHS, AUTH_CONFIG, type ApiErrorCode, BACKLIT_RATIO_THRESHOLD, BLUR_THRESHOLD_MOBILE, BaseFrameCollector, type BlurAnalysis, type CaptureQualityState, type CapturedFrame, type CropData, DEFAULT_BLUR_THRESHOLD, DEFAULT_ENDPOINT, DEFAULT_FACE_DETECTION_TIERS, DEFAULT_GAZE_THRESHOLDS, DEFAULT_HAND_OCCLUSION_CONFIG, DEFAULT_LIVENESS_CONFIG, DEFAULT_LOCALE, DEFAULT_OVAL_REGION, DEFAULT_STABILIZER_CONFIG, DEFAULT_STATUS_MESSAGES, type DetectionResult, type DetectionSummary, type DetectorConfig, ERROR_MESSAGES, ERROR_MESSAGES_ES, ES_LOCALE, EYE_LANDMARK_INDICES, EYE_QUALITY_THRESHOLDS, type ErrorResponse, type EyeQualityThresholds, type EyeRegionBounds, type EyeRegionQuality, type EyeRegionsBounds, FACE_CENTER_VERTICAL_OFFSET, FACE_CROP_OUTPUT_SIZE, FEEDBACK_MESSAGES, FRAME_BUFFER_CONFIG, FRAME_CONFIG, type FaceAlignmentResult, type FaceBoundingBox, type FaceDetectionTiers, type FaceInOvalResult, type FaceLandmarkPoint, type FaceVisibilityResult, type FastCheckCropsRequest, type FastCheckModel, type FastCheckRequest, type FastCheckResponse, type FastCheckStreamRequest, type FastCheckStreamResponse, type FeedbackLocale, type FeedbackMessageKey, type Frame, FrameBuffer, type FrameData, type FrameQualityResult, FrameQueue, type FrameSource, GOOD_ALIGNMENT, type GazeThresholds, HIGH_ALIGNMENT, HYBRID_MODEL_CONFIGS, type HandOcclusionConfig, type HeadPose, type HealthResponse, type Hybrid150CheckRequest, type Hybrid50CheckRequest, type HybridCheckRequest, type HybridCheckResponse, type HybridFrameData, type HybridModelConfig, IDEAL_CROP_MULTIPLIER, type JobStatus, type JobStatusResponse, LANDMARK_INDEX, LANDMARK_MAX_BOUND, LANDMARK_MIN_BOUND, LOW_LIGHT_THRESHOLD, type LandmarkValidationResult, type LightingAnalysis, LivenessApiError, type LivenessCallbacks, LivenessClient, type LivenessClientConfig, type LivenessConfig, type LivenessResult, type LivenessState, MAX_CROP_MULTIPLIER, MAX_FACE_PERCENTAGE_IN_CROP, MAX_FACE_RATIO, MIN_CAPTURE_ALIGNMENT, MIN_CROP_MULTIPLIER, MIN_FACE_BOTTOM_MARGIN, MIN_FACE_RATIO, MIN_FACE_SIDE_MARGIN, MIN_FACE_TOP_MARGIN, MIN_LANDMARK_COUNT, MODEL_CONFIGS, type ModelConfig, type ModelEntry, type ModelType, type ModelsResponse, OVAL_GUIDE_COLORS, OVAL_GUIDE_STYLES, OVAL_REGION_DESKTOP, OVAL_REGION_MOBILE, type OnErrorCallback, type OnFrameCapturedCallback, type OnProgressCallback, type OnResultCallback, type OnStateChangeCallback, type OvalGuideState, type OvalRegion, type QueueStatsResponse, RETRY_CONFIG, type RetryOptions, type StabilizationProgress, type StabilizationResult, type StabilizerConfig, type StatusMessageKey, type StreamingStatus, TARGET_FACE_PERCENTAGE_IN_CROP, type Verdict, type VerifyRequest, type VerifyResponse, type VideoFrameMetadata, analyzeBlur, analyzeEyeRegionBrightness, analyzeEyeRegionContrast, analyzeLighting, calculateAdaptiveCropMultiplier, calculateBrightness, calculateFaceAlignment, calculateFaceCropRegion, canCaptureFrame, checkEyeRegionQuality, checkFrameQuality, decodeBase64, detectSpecularHighlights, encodeBase64, generateSessionId, getActiveModels, getApiErrorMessage, getCaptureQualityFeedback, getEyeRegionBounds, getFeedbackMessage, getMinFramesForModel, getOvalGuideState, getStatusMessage, hasEnoughFrames, isDeprecatedModel, isFaceCropFullyInFrame, isFaceFullyVisible, isFaceInOval, isRetryableError, retryWithBackoff, rgbaToGrayscale, sleep, toFrameData, toHybridFrameData, toLivenessResult, toLivenessResultFromStream, validateApiKey, validateFaceLandmarks, validateFrameCount, validateFrameData, validateFrameIndex, validateTimestamp, validateUUID, validateUrl };
|
package/dist/index.d.ts
CHANGED
|
@@ -263,7 +263,7 @@ interface FrameQualityResult {
|
|
|
263
263
|
rejectionReason?: 'blur' | 'backlit' | 'low_light' | 'partial_face' | 'no_face' | 'too_close' | 'too_far' | 'misaligned';
|
|
264
264
|
}
|
|
265
265
|
declare const DEFAULT_BLUR_THRESHOLD = 100;
|
|
266
|
-
declare const BLUR_THRESHOLD_MOBILE =
|
|
266
|
+
declare const BLUR_THRESHOLD_MOBILE = 60;
|
|
267
267
|
declare const BACKLIT_RATIO_THRESHOLD = 0.6;
|
|
268
268
|
declare const LOW_LIGHT_THRESHOLD = 50;
|
|
269
269
|
declare const MIN_FACE_TOP_MARGIN = 0.1;
|
|
@@ -286,6 +286,8 @@ declare function rgbaToGrayscale(rgbaPixels: Uint8ClampedArray | number[]): numb
|
|
|
286
286
|
declare function calculateBrightness(rgbaPixels: Uint8ClampedArray | number[]): number;
|
|
287
287
|
declare function analyzeLighting(faceBrightness: number, backgroundBrightness: number): LightingAnalysis;
|
|
288
288
|
declare function isFaceFullyVisible(boundingBox: FaceBoundingBox, frameWidth: number, frameHeight: number): FaceVisibilityResult;
|
|
289
|
+
declare const OVAL_REGION_DESKTOP: OvalRegion;
|
|
290
|
+
declare const OVAL_REGION_MOBILE: OvalRegion;
|
|
289
291
|
declare const DEFAULT_OVAL_REGION: OvalRegion;
|
|
290
292
|
declare function isFaceInOval(faceBox: FaceBoundingBox, frameWidth: number, frameHeight: number, oval?: OvalRegion, tolerance?: number): FaceInOvalResult;
|
|
291
293
|
declare function calculateFaceAlignment(boundingBox: FaceBoundingBox, frameWidth: number, frameHeight: number): FaceAlignmentResult;
|
|
@@ -619,8 +621,8 @@ declare function getApiErrorMessage(code: string | undefined, message?: string,
|
|
|
619
621
|
declare function isRetryableError(code: string | undefined): boolean;
|
|
620
622
|
|
|
621
623
|
declare const ALIGNMENT_THRESHOLD_CAPTURE = 0.6;
|
|
622
|
-
declare const ALIGNMENT_THRESHOLD_POOR = 0.
|
|
623
|
-
declare const ALIGNMENT_THRESHOLD_GOOD = 0.
|
|
624
|
+
declare const ALIGNMENT_THRESHOLD_POOR = 0.6;
|
|
625
|
+
declare const ALIGNMENT_THRESHOLD_GOOD = 0.6;
|
|
624
626
|
declare const ALIGNMENT_THRESHOLD_PERFECT = 0.85;
|
|
625
627
|
type OvalGuideState = 'no_face' | 'poor' | 'good' | 'perfect';
|
|
626
628
|
declare const OVAL_GUIDE_COLORS: {
|
|
@@ -762,4 +764,4 @@ declare function analyzeEyeRegionContrast(pixels: Uint8Array | Uint8ClampedArray
|
|
|
762
764
|
declare function detectSpecularHighlights(pixels: Uint8Array | Uint8ClampedArray, threshold?: number): number;
|
|
763
765
|
declare function checkEyeRegionQuality(pixels: Uint8Array | Uint8ClampedArray, thresholds?: EyeQualityThresholds): EyeRegionQuality;
|
|
764
766
|
|
|
765
|
-
export { ALIGNMENT_THRESHOLD_CAPTURE, ALIGNMENT_THRESHOLD_GOOD, ALIGNMENT_THRESHOLD_PERFECT, ALIGNMENT_THRESHOLD_POOR, API_ENDPOINTS, API_ERROR_CODES, API_PATHS, AUTH_CONFIG, type ApiErrorCode, BACKLIT_RATIO_THRESHOLD, BLUR_THRESHOLD_MOBILE, BaseFrameCollector, type BlurAnalysis, type CaptureQualityState, type CapturedFrame, type CropData, DEFAULT_BLUR_THRESHOLD, DEFAULT_ENDPOINT, DEFAULT_FACE_DETECTION_TIERS, DEFAULT_GAZE_THRESHOLDS, DEFAULT_HAND_OCCLUSION_CONFIG, DEFAULT_LIVENESS_CONFIG, DEFAULT_LOCALE, DEFAULT_OVAL_REGION, DEFAULT_STABILIZER_CONFIG, DEFAULT_STATUS_MESSAGES, type DetectionResult, type DetectionSummary, type DetectorConfig, ERROR_MESSAGES, ERROR_MESSAGES_ES, ES_LOCALE, EYE_LANDMARK_INDICES, EYE_QUALITY_THRESHOLDS, type ErrorResponse, type EyeQualityThresholds, type EyeRegionBounds, type EyeRegionQuality, type EyeRegionsBounds, FACE_CENTER_VERTICAL_OFFSET, FACE_CROP_OUTPUT_SIZE, FEEDBACK_MESSAGES, FRAME_BUFFER_CONFIG, FRAME_CONFIG, type FaceAlignmentResult, type FaceBoundingBox, type FaceDetectionTiers, type FaceInOvalResult, type FaceLandmarkPoint, type FaceVisibilityResult, type FastCheckCropsRequest, type FastCheckModel, type FastCheckRequest, type FastCheckResponse, type FastCheckStreamRequest, type FastCheckStreamResponse, type FeedbackLocale, type FeedbackMessageKey, type Frame, FrameBuffer, type FrameData, type FrameQualityResult, FrameQueue, type FrameSource, GOOD_ALIGNMENT, type GazeThresholds, HIGH_ALIGNMENT, HYBRID_MODEL_CONFIGS, type HandOcclusionConfig, type HeadPose, type HealthResponse, type Hybrid150CheckRequest, type Hybrid50CheckRequest, type HybridCheckRequest, type HybridCheckResponse, type HybridFrameData, type HybridModelConfig, IDEAL_CROP_MULTIPLIER, type JobStatus, type JobStatusResponse, LANDMARK_INDEX, LANDMARK_MAX_BOUND, LANDMARK_MIN_BOUND, LOW_LIGHT_THRESHOLD, type LandmarkValidationResult, type LightingAnalysis, LivenessApiError, type LivenessCallbacks, LivenessClient, type LivenessClientConfig, type LivenessConfig, type LivenessResult, type LivenessState, MAX_CROP_MULTIPLIER, MAX_FACE_PERCENTAGE_IN_CROP, MAX_FACE_RATIO, MIN_CAPTURE_ALIGNMENT, MIN_CROP_MULTIPLIER, MIN_FACE_BOTTOM_MARGIN, MIN_FACE_RATIO, MIN_FACE_SIDE_MARGIN, MIN_FACE_TOP_MARGIN, MIN_LANDMARK_COUNT, MODEL_CONFIGS, type ModelConfig, type ModelEntry, type ModelType, type ModelsResponse, OVAL_GUIDE_COLORS, OVAL_GUIDE_STYLES, type OnErrorCallback, type OnFrameCapturedCallback, type OnProgressCallback, type OnResultCallback, type OnStateChangeCallback, type OvalGuideState, type OvalRegion, type QueueStatsResponse, RETRY_CONFIG, type RetryOptions, type StabilizationProgress, type StabilizationResult, type StabilizerConfig, type StatusMessageKey, type StreamingStatus, TARGET_FACE_PERCENTAGE_IN_CROP, type Verdict, type VerifyRequest, type VerifyResponse, type VideoFrameMetadata, analyzeBlur, analyzeEyeRegionBrightness, analyzeEyeRegionContrast, analyzeLighting, calculateAdaptiveCropMultiplier, calculateBrightness, calculateFaceAlignment, calculateFaceCropRegion, canCaptureFrame, checkEyeRegionQuality, checkFrameQuality, decodeBase64, detectSpecularHighlights, encodeBase64, generateSessionId, getActiveModels, getApiErrorMessage, getCaptureQualityFeedback, getEyeRegionBounds, getFeedbackMessage, getMinFramesForModel, getOvalGuideState, getStatusMessage, hasEnoughFrames, isDeprecatedModel, isFaceCropFullyInFrame, isFaceFullyVisible, isFaceInOval, isRetryableError, retryWithBackoff, rgbaToGrayscale, sleep, toFrameData, toHybridFrameData, toLivenessResult, toLivenessResultFromStream, validateApiKey, validateFaceLandmarks, validateFrameCount, validateFrameData, validateFrameIndex, validateTimestamp, validateUUID, validateUrl };
|
|
767
|
+
export { ALIGNMENT_THRESHOLD_CAPTURE, ALIGNMENT_THRESHOLD_GOOD, ALIGNMENT_THRESHOLD_PERFECT, ALIGNMENT_THRESHOLD_POOR, API_ENDPOINTS, API_ERROR_CODES, API_PATHS, AUTH_CONFIG, type ApiErrorCode, BACKLIT_RATIO_THRESHOLD, BLUR_THRESHOLD_MOBILE, BaseFrameCollector, type BlurAnalysis, type CaptureQualityState, type CapturedFrame, type CropData, DEFAULT_BLUR_THRESHOLD, DEFAULT_ENDPOINT, DEFAULT_FACE_DETECTION_TIERS, DEFAULT_GAZE_THRESHOLDS, DEFAULT_HAND_OCCLUSION_CONFIG, DEFAULT_LIVENESS_CONFIG, DEFAULT_LOCALE, DEFAULT_OVAL_REGION, DEFAULT_STABILIZER_CONFIG, DEFAULT_STATUS_MESSAGES, type DetectionResult, type DetectionSummary, type DetectorConfig, ERROR_MESSAGES, ERROR_MESSAGES_ES, ES_LOCALE, EYE_LANDMARK_INDICES, EYE_QUALITY_THRESHOLDS, type ErrorResponse, type EyeQualityThresholds, type EyeRegionBounds, type EyeRegionQuality, type EyeRegionsBounds, FACE_CENTER_VERTICAL_OFFSET, FACE_CROP_OUTPUT_SIZE, FEEDBACK_MESSAGES, FRAME_BUFFER_CONFIG, FRAME_CONFIG, type FaceAlignmentResult, type FaceBoundingBox, type FaceDetectionTiers, type FaceInOvalResult, type FaceLandmarkPoint, type FaceVisibilityResult, type FastCheckCropsRequest, type FastCheckModel, type FastCheckRequest, type FastCheckResponse, type FastCheckStreamRequest, type FastCheckStreamResponse, type FeedbackLocale, type FeedbackMessageKey, type Frame, FrameBuffer, type FrameData, type FrameQualityResult, FrameQueue, type FrameSource, GOOD_ALIGNMENT, type GazeThresholds, HIGH_ALIGNMENT, HYBRID_MODEL_CONFIGS, type HandOcclusionConfig, type HeadPose, type HealthResponse, type Hybrid150CheckRequest, type Hybrid50CheckRequest, type HybridCheckRequest, type HybridCheckResponse, type HybridFrameData, type HybridModelConfig, IDEAL_CROP_MULTIPLIER, type JobStatus, type JobStatusResponse, LANDMARK_INDEX, LANDMARK_MAX_BOUND, LANDMARK_MIN_BOUND, LOW_LIGHT_THRESHOLD, type LandmarkValidationResult, type LightingAnalysis, LivenessApiError, type LivenessCallbacks, LivenessClient, type LivenessClientConfig, type LivenessConfig, type LivenessResult, type LivenessState, MAX_CROP_MULTIPLIER, MAX_FACE_PERCENTAGE_IN_CROP, MAX_FACE_RATIO, MIN_CAPTURE_ALIGNMENT, MIN_CROP_MULTIPLIER, MIN_FACE_BOTTOM_MARGIN, MIN_FACE_RATIO, MIN_FACE_SIDE_MARGIN, MIN_FACE_TOP_MARGIN, MIN_LANDMARK_COUNT, MODEL_CONFIGS, type ModelConfig, type ModelEntry, type ModelType, type ModelsResponse, OVAL_GUIDE_COLORS, OVAL_GUIDE_STYLES, OVAL_REGION_DESKTOP, OVAL_REGION_MOBILE, type OnErrorCallback, type OnFrameCapturedCallback, type OnProgressCallback, type OnResultCallback, type OnStateChangeCallback, type OvalGuideState, type OvalRegion, type QueueStatsResponse, RETRY_CONFIG, type RetryOptions, type StabilizationProgress, type StabilizationResult, type StabilizerConfig, type StatusMessageKey, type StreamingStatus, TARGET_FACE_PERCENTAGE_IN_CROP, type Verdict, type VerifyRequest, type VerifyResponse, type VideoFrameMetadata, analyzeBlur, analyzeEyeRegionBrightness, analyzeEyeRegionContrast, analyzeLighting, calculateAdaptiveCropMultiplier, calculateBrightness, calculateFaceAlignment, calculateFaceCropRegion, canCaptureFrame, checkEyeRegionQuality, checkFrameQuality, decodeBase64, detectSpecularHighlights, encodeBase64, generateSessionId, getActiveModels, getApiErrorMessage, getCaptureQualityFeedback, getEyeRegionBounds, getFeedbackMessage, getMinFramesForModel, getOvalGuideState, getStatusMessage, hasEnoughFrames, isDeprecatedModel, isFaceCropFullyInFrame, isFaceFullyVisible, isFaceInOval, isRetryableError, retryWithBackoff, rgbaToGrayscale, sleep, toFrameData, toHybridFrameData, toLivenessResult, toLivenessResultFromStream, validateApiKey, validateFaceLandmarks, validateFrameCount, validateFrameData, validateFrameIndex, validateTimestamp, validateUUID, validateUrl };
|
package/dist/index.js
CHANGED
|
@@ -76,6 +76,8 @@ __export(index_exports, {
|
|
|
76
76
|
MODEL_CONFIGS: () => MODEL_CONFIGS,
|
|
77
77
|
OVAL_GUIDE_COLORS: () => OVAL_GUIDE_COLORS,
|
|
78
78
|
OVAL_GUIDE_STYLES: () => OVAL_GUIDE_STYLES,
|
|
79
|
+
OVAL_REGION_DESKTOP: () => OVAL_REGION_DESKTOP,
|
|
80
|
+
OVAL_REGION_MOBILE: () => OVAL_REGION_MOBILE,
|
|
79
81
|
RETRY_CONFIG: () => RETRY_CONFIG,
|
|
80
82
|
TARGET_FACE_PERCENTAGE_IN_CROP: () => TARGET_FACE_PERCENTAGE_IN_CROP,
|
|
81
83
|
analyzeBlur: () => analyzeBlur,
|
|
@@ -1176,8 +1178,8 @@ function isRetryableError(code) {
|
|
|
1176
1178
|
|
|
1177
1179
|
// src/constants/feedback.ts
|
|
1178
1180
|
var ALIGNMENT_THRESHOLD_CAPTURE = 0.6;
|
|
1179
|
-
var ALIGNMENT_THRESHOLD_POOR = 0.
|
|
1180
|
-
var ALIGNMENT_THRESHOLD_GOOD = 0.
|
|
1181
|
+
var ALIGNMENT_THRESHOLD_POOR = 0.6;
|
|
1182
|
+
var ALIGNMENT_THRESHOLD_GOOD = 0.6;
|
|
1181
1183
|
var ALIGNMENT_THRESHOLD_PERFECT = 0.85;
|
|
1182
1184
|
var OVAL_GUIDE_COLORS = {
|
|
1183
1185
|
no_face: "#ef4444",
|
|
@@ -1428,7 +1430,7 @@ function decodeBase64(base64) {
|
|
|
1428
1430
|
|
|
1429
1431
|
// src/utils/frameAnalysis.ts
|
|
1430
1432
|
var DEFAULT_BLUR_THRESHOLD = 100;
|
|
1431
|
-
var BLUR_THRESHOLD_MOBILE =
|
|
1433
|
+
var BLUR_THRESHOLD_MOBILE = 60;
|
|
1432
1434
|
var BACKLIT_RATIO_THRESHOLD = 0.6;
|
|
1433
1435
|
var LOW_LIGHT_THRESHOLD = 50;
|
|
1434
1436
|
var MIN_FACE_TOP_MARGIN = 0.1;
|
|
@@ -1531,14 +1533,21 @@ function isFaceFullyVisible(boundingBox, frameWidth, frameHeight) {
|
|
|
1531
1533
|
}
|
|
1532
1534
|
return { visible: true };
|
|
1533
1535
|
}
|
|
1534
|
-
var
|
|
1536
|
+
var OVAL_REGION_DESKTOP = {
|
|
1535
1537
|
centerX: 0.5,
|
|
1536
1538
|
centerY: 0.5,
|
|
1537
1539
|
width: 0.36,
|
|
1538
|
-
// 36% of frame width (+20%)
|
|
1539
1540
|
height: 0.48
|
|
1540
|
-
// 36
|
|
1541
|
+
// 0.36 * (4/3)
|
|
1541
1542
|
};
|
|
1543
|
+
var OVAL_REGION_MOBILE = {
|
|
1544
|
+
centerX: 0.5,
|
|
1545
|
+
centerY: 0.5,
|
|
1546
|
+
width: 0.55,
|
|
1547
|
+
height: 0.73
|
|
1548
|
+
// 0.55 * (4/3)
|
|
1549
|
+
};
|
|
1550
|
+
var DEFAULT_OVAL_REGION = OVAL_REGION_DESKTOP;
|
|
1542
1551
|
function isFaceInOval(faceBox, frameWidth, frameHeight, oval = DEFAULT_OVAL_REGION, tolerance = 0.3) {
|
|
1543
1552
|
const faceCenterX = (faceBox.originX + faceBox.width / 2) / frameWidth;
|
|
1544
1553
|
const faceCenterY = (faceBox.originY + faceBox.height / 2) / frameHeight;
|
|
@@ -1962,6 +1971,8 @@ function checkEyeRegionQuality(pixels, thresholds = EYE_QUALITY_THRESHOLDS) {
|
|
|
1962
1971
|
MODEL_CONFIGS,
|
|
1963
1972
|
OVAL_GUIDE_COLORS,
|
|
1964
1973
|
OVAL_GUIDE_STYLES,
|
|
1974
|
+
OVAL_REGION_DESKTOP,
|
|
1975
|
+
OVAL_REGION_MOBILE,
|
|
1965
1976
|
RETRY_CONFIG,
|
|
1966
1977
|
TARGET_FACE_PERCENTAGE_IN_CROP,
|
|
1967
1978
|
analyzeBlur,
|
package/dist/index.mjs
CHANGED
|
@@ -1049,8 +1049,8 @@ function isRetryableError(code) {
|
|
|
1049
1049
|
|
|
1050
1050
|
// src/constants/feedback.ts
|
|
1051
1051
|
var ALIGNMENT_THRESHOLD_CAPTURE = 0.6;
|
|
1052
|
-
var ALIGNMENT_THRESHOLD_POOR = 0.
|
|
1053
|
-
var ALIGNMENT_THRESHOLD_GOOD = 0.
|
|
1052
|
+
var ALIGNMENT_THRESHOLD_POOR = 0.6;
|
|
1053
|
+
var ALIGNMENT_THRESHOLD_GOOD = 0.6;
|
|
1054
1054
|
var ALIGNMENT_THRESHOLD_PERFECT = 0.85;
|
|
1055
1055
|
var OVAL_GUIDE_COLORS = {
|
|
1056
1056
|
no_face: "#ef4444",
|
|
@@ -1301,7 +1301,7 @@ function decodeBase64(base64) {
|
|
|
1301
1301
|
|
|
1302
1302
|
// src/utils/frameAnalysis.ts
|
|
1303
1303
|
var DEFAULT_BLUR_THRESHOLD = 100;
|
|
1304
|
-
var BLUR_THRESHOLD_MOBILE =
|
|
1304
|
+
var BLUR_THRESHOLD_MOBILE = 60;
|
|
1305
1305
|
var BACKLIT_RATIO_THRESHOLD = 0.6;
|
|
1306
1306
|
var LOW_LIGHT_THRESHOLD = 50;
|
|
1307
1307
|
var MIN_FACE_TOP_MARGIN = 0.1;
|
|
@@ -1404,14 +1404,21 @@ function isFaceFullyVisible(boundingBox, frameWidth, frameHeight) {
|
|
|
1404
1404
|
}
|
|
1405
1405
|
return { visible: true };
|
|
1406
1406
|
}
|
|
1407
|
-
var
|
|
1407
|
+
var OVAL_REGION_DESKTOP = {
|
|
1408
1408
|
centerX: 0.5,
|
|
1409
1409
|
centerY: 0.5,
|
|
1410
1410
|
width: 0.36,
|
|
1411
|
-
// 36% of frame width (+20%)
|
|
1412
1411
|
height: 0.48
|
|
1413
|
-
// 36
|
|
1412
|
+
// 0.36 * (4/3)
|
|
1414
1413
|
};
|
|
1414
|
+
var OVAL_REGION_MOBILE = {
|
|
1415
|
+
centerX: 0.5,
|
|
1416
|
+
centerY: 0.5,
|
|
1417
|
+
width: 0.55,
|
|
1418
|
+
height: 0.73
|
|
1419
|
+
// 0.55 * (4/3)
|
|
1420
|
+
};
|
|
1421
|
+
var DEFAULT_OVAL_REGION = OVAL_REGION_DESKTOP;
|
|
1415
1422
|
function isFaceInOval(faceBox, frameWidth, frameHeight, oval = DEFAULT_OVAL_REGION, tolerance = 0.3) {
|
|
1416
1423
|
const faceCenterX = (faceBox.originX + faceBox.width / 2) / frameWidth;
|
|
1417
1424
|
const faceCenterY = (faceBox.originY + faceBox.height / 2) / frameHeight;
|
|
@@ -1834,6 +1841,8 @@ export {
|
|
|
1834
1841
|
MODEL_CONFIGS,
|
|
1835
1842
|
OVAL_GUIDE_COLORS,
|
|
1836
1843
|
OVAL_GUIDE_STYLES,
|
|
1844
|
+
OVAL_REGION_DESKTOP,
|
|
1845
|
+
OVAL_REGION_MOBILE,
|
|
1837
1846
|
RETRY_CONFIG,
|
|
1838
1847
|
TARGET_FACE_PERCENTAGE_IN_CROP,
|
|
1839
1848
|
analyzeBlur,
|