@mikashboks/capture-intelligence-core 0.2.1 → 0.2.3

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.
@@ -0,0 +1,142 @@
1
+ export type CaptureTrustClient = 'web' | 'agent';
2
+ export type CaptureTrustPhase = 'capture' | 'review';
3
+ export type CaptureTrustCaptureSource = 'camera' | 'auto_capture' | 'manual' | 'gallery' | 'native_platform_scanner' | 'unknown';
4
+ export type CaptureTrustDocumentSide = 'front' | 'back' | 'selfie' | null;
5
+ export type CaptureTrustCropProvenance = 'same_candidate' | 'viewfinder_fallback' | 'unsafe_full_frame' | 'gallery' | 'review_auto_crop' | 'still_redetect' | 'native_platform_scanner' | 'viewfinder_candidate' | string;
6
+ export type CaptureTrustReasonCode = 'missing_metrics' | 'too_dark' | 'too_bright' | 'too_blurry' | 'cutoff_high' | 'glare' | 'edge_tight' | 'unsafe_crop' | 'wrong_side' | 'not_document_like' | 'weak_back_text' | 'weak_readable_text' | 'review_safe' | 'manual_ready' | 'face_unconfirmed' | 'auto_safe' | 'review_trusted' | 'review_untrusted' | 'crop_trusted' | 'crop_original_only' | 'crop_rejected';
7
+ export type CaptureTrustGate = 'hard_block' | 'soft_block' | 'review_candidate' | 'manual_ready' | 'auto_ready';
8
+ export type CropTrustTier = 'none' | 'original_frame' | 'unsafe_full_frame' | 'live_candidate' | 'verified_crop' | 'review_auto_crop' | 'native_platform_crop' | 'gallery';
9
+ export type DocumentFaceCorroborationTrustStatus = 'face_present' | 'no_face' | 'unavailable' | null;
10
+ export interface CaptureTrustContextInput {
11
+ client?: CaptureTrustClient;
12
+ phase?: CaptureTrustPhase;
13
+ documentType?: string | null;
14
+ documentSide?: CaptureTrustDocumentSide;
15
+ captureSource?: CaptureTrustCaptureSource;
16
+ }
17
+ export interface CaptureTrustLiveInput {
18
+ accepted?: boolean | null;
19
+ acceptedReason?: string | null;
20
+ path?: string | null;
21
+ strategy?: string | null;
22
+ backend?: string | null;
23
+ }
24
+ export interface CaptureTrustClassifierInput {
25
+ confidence?: number | null;
26
+ rescue?: boolean | null;
27
+ strategyFloorMet?: boolean | null;
28
+ highConfidence?: boolean | null;
29
+ likely?: boolean | null;
30
+ }
31
+ export interface CaptureTrustMrzInput {
32
+ present?: boolean | null;
33
+ confirmed?: boolean | null;
34
+ validated?: boolean | null;
35
+ checkDigitsValid?: boolean | null;
36
+ wrongSide?: boolean | null;
37
+ }
38
+ export interface CaptureTrustGeometryInput {
39
+ reliableQuad?: boolean | null;
40
+ marginSafeReliableQuad?: boolean | null;
41
+ safeSobelBounds?: boolean | null;
42
+ unsafeSobelBounds?: boolean | null;
43
+ unreliableSobelOverfull?: boolean | null;
44
+ placementReady?: boolean | null;
45
+ }
46
+ export interface CaptureTrustReadableTextInput {
47
+ backTextTrusted?: boolean | null;
48
+ readableTextTrusted?: boolean | null;
49
+ weakBackText?: boolean | null;
50
+ weakReadableText?: boolean | null;
51
+ }
52
+ export interface CaptureTrustCropInput {
53
+ applied?: boolean | null;
54
+ provenance?: CaptureTrustCropProvenance | null;
55
+ unsafe?: boolean | null;
56
+ unsafeReason?: string | null;
57
+ clamped?: boolean | null;
58
+ cutOffRisk?: 'low' | 'medium' | 'high' | string | null;
59
+ aspectSafe?: boolean | null;
60
+ cornersOk?: boolean | null;
61
+ footprintTrusted?: boolean | null;
62
+ renderedContentOk?: boolean | null;
63
+ cropVerified?: boolean | null;
64
+ cropSelectable?: boolean | null;
65
+ }
66
+ export interface CaptureTrustCaptureInput {
67
+ hasMetrics?: boolean | null;
68
+ score?: number | null;
69
+ reviewScoreMin?: number | null;
70
+ autoScoreMin?: number | null;
71
+ manualReady?: boolean | null;
72
+ documentCandidate?: boolean | null;
73
+ documentLike?: boolean | null;
74
+ glareDetected?: boolean | null;
75
+ glareReviewSafe?: boolean | null;
76
+ tooDark?: boolean | null;
77
+ tooBright?: boolean | null;
78
+ tooBlurry?: boolean | null;
79
+ cutOffHigh?: boolean | null;
80
+ edgeTight?: boolean | null;
81
+ unsafeCrop?: boolean | null;
82
+ unreliableSobelOverfull?: boolean | null;
83
+ reviewSafe?: boolean | null;
84
+ autoSafe?: boolean | null;
85
+ }
86
+ export interface CaptureTrustReviewInput {
87
+ semanticEvidence?: boolean | null;
88
+ footprintTrusted?: boolean | null;
89
+ liveEvidenceTrusted?: boolean | null;
90
+ uncorroboratedGeometry?: boolean | null;
91
+ wouldPassAllChecks?: boolean | null;
92
+ }
93
+ export interface CaptureTrustPolicyInput {
94
+ cardFrontSemanticArming?: boolean | null;
95
+ uncorroboratedGeometryAcceptance?: boolean | null;
96
+ faceCorroborationStatus?: DocumentFaceCorroborationTrustStatus;
97
+ faceCorroborationGatedAcceptance?: boolean | null;
98
+ }
99
+ export interface CaptureTrustInput {
100
+ context?: CaptureTrustContextInput;
101
+ live?: CaptureTrustLiveInput | null;
102
+ classifier?: CaptureTrustClassifierInput | null;
103
+ mrz?: CaptureTrustMrzInput | null;
104
+ geometry?: CaptureTrustGeometryInput | null;
105
+ readableText?: CaptureTrustReadableTextInput | null;
106
+ crop?: CaptureTrustCropInput | null;
107
+ capture?: CaptureTrustCaptureInput | null;
108
+ review?: CaptureTrustReviewInput | null;
109
+ policy?: CaptureTrustPolicyInput | null;
110
+ }
111
+ export interface CaptureTrustDiagnostics {
112
+ liveAccepted: boolean;
113
+ liveAcceptedReason: string | null;
114
+ reliableQuad: boolean;
115
+ marginSafeReliableQuad: boolean;
116
+ classifierLikely: boolean;
117
+ classifierStrategyFloorMet: boolean;
118
+ classifierHighConfidence: boolean;
119
+ classifierRescue: boolean;
120
+ mrzConfirmed: boolean;
121
+ mrzValidated: boolean;
122
+ wrongSideMrz: boolean;
123
+ readableTextTrusted: boolean;
124
+ backTextTrusted: boolean;
125
+ semanticArmingCapped: boolean;
126
+ faceCorroborationCapped: boolean;
127
+ cropUnsafe: boolean;
128
+ cropPromotable: boolean;
129
+ reviewSemanticEvidence: boolean;
130
+ reviewFootprintTrusted: boolean;
131
+ }
132
+ export interface CaptureTrustDecision {
133
+ autoAllowed: boolean;
134
+ manualAllowed: boolean;
135
+ reviewAllowed: boolean;
136
+ cropTrustTier: CropTrustTier;
137
+ reasonCode: CaptureTrustReasonCode;
138
+ captureGate: CaptureTrustGate;
139
+ diagnostics: CaptureTrustDiagnostics;
140
+ }
141
+ export declare function decideCaptureTrust(input: CaptureTrustInput): CaptureTrustDecision;
142
+ //# sourceMappingURL=capture-trust.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capture-trust.d.ts","sourceRoot":"","sources":["../../src/capture-trust.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,214 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.decideCaptureTrust = decideCaptureTrust;
4
+ const isTrue = (value) => value === true;
5
+ const hasFiniteScoreAtLeast = (score, floor) => typeof score === 'number' &&
6
+ Number.isFinite(score) &&
7
+ typeof floor === 'number' &&
8
+ Number.isFinite(floor) &&
9
+ score >= floor;
10
+ function getCropTrustTier(crop) {
11
+ if (!crop)
12
+ return 'none';
13
+ const provenance = String(crop.provenance || '');
14
+ const unsafe = Boolean(crop.unsafe ||
15
+ crop.clamped ||
16
+ crop.unsafeReason ||
17
+ crop.cutOffRisk === 'high' ||
18
+ crop.aspectSafe === false ||
19
+ crop.cornersOk === false ||
20
+ crop.renderedContentOk === false);
21
+ if (provenance === 'gallery')
22
+ return 'gallery';
23
+ if (provenance === 'unsafe_full_frame')
24
+ return 'unsafe_full_frame';
25
+ if (unsafe)
26
+ return crop.applied ? 'original_frame' : 'unsafe_full_frame';
27
+ if (!crop.applied)
28
+ return 'original_frame';
29
+ const selectable = crop.cropSelectable !== false;
30
+ const verified = crop.cropVerified !== false;
31
+ const footprintTrusted = crop.footprintTrusted !== false;
32
+ const promotable = selectable && verified && footprintTrusted;
33
+ if (!promotable)
34
+ return 'original_frame';
35
+ if (provenance === 'native_platform_scanner')
36
+ return 'native_platform_crop';
37
+ if (provenance === 'still_redetect') {
38
+ return crop.cropVerified === true && crop.cropSelectable === true
39
+ ? 'verified_crop'
40
+ : 'original_frame';
41
+ }
42
+ if (provenance === 'review_auto_crop')
43
+ return 'review_auto_crop';
44
+ if (provenance === 'same_candidate' || provenance === 'viewfinder_candidate') {
45
+ return 'live_candidate';
46
+ }
47
+ return 'original_frame';
48
+ }
49
+ function getDiagnostics(input, cropTrustTier) {
50
+ const classifier = input.classifier;
51
+ const mrz = input.mrz;
52
+ const geometry = input.geometry;
53
+ const readableText = input.readableText;
54
+ const policy = input.policy;
55
+ const review = input.review;
56
+ const live = input.live;
57
+ const semanticArmingCapped = Boolean(policy?.cardFrontSemanticArming && policy.uncorroboratedGeometryAcceptance);
58
+ const faceCorroborationCapped = Boolean(policy?.faceCorroborationStatus === 'no_face' && policy.faceCorroborationGatedAcceptance);
59
+ return {
60
+ liveAccepted: isTrue(live?.accepted),
61
+ liveAcceptedReason: live?.acceptedReason ?? null,
62
+ reliableQuad: isTrue(geometry?.reliableQuad),
63
+ marginSafeReliableQuad: isTrue(geometry?.marginSafeReliableQuad),
64
+ classifierLikely: isTrue(classifier?.likely),
65
+ classifierStrategyFloorMet: isTrue(classifier?.strategyFloorMet),
66
+ classifierHighConfidence: isTrue(classifier?.highConfidence),
67
+ classifierRescue: isTrue(classifier?.rescue),
68
+ mrzConfirmed: isTrue(mrz?.confirmed),
69
+ mrzValidated: isTrue(mrz?.validated),
70
+ wrongSideMrz: isTrue(mrz?.wrongSide),
71
+ readableTextTrusted: isTrue(readableText?.readableTextTrusted),
72
+ backTextTrusted: isTrue(readableText?.backTextTrusted),
73
+ semanticArmingCapped,
74
+ faceCorroborationCapped,
75
+ cropUnsafe: cropTrustTier === 'unsafe_full_frame' ||
76
+ Boolean(input.crop?.unsafe || input.crop?.clamped || input.crop?.unsafeReason),
77
+ cropPromotable: cropTrustTier === 'live_candidate' ||
78
+ cropTrustTier === 'verified_crop' ||
79
+ cropTrustTier === 'review_auto_crop' ||
80
+ cropTrustTier === 'native_platform_crop',
81
+ reviewSemanticEvidence: isTrue(review?.semanticEvidence),
82
+ reviewFootprintTrusted: isTrue(review?.footprintTrusted),
83
+ };
84
+ }
85
+ function decideReviewTrust(input, diagnostics, cropTrustTier) {
86
+ const review = input.review;
87
+ const reviewAllowed = Boolean(review?.wouldPassAllChecks &&
88
+ (review.liveEvidenceTrusted ||
89
+ (review.semanticEvidence && review.footprintTrusted) ||
90
+ diagnostics.cropPromotable) &&
91
+ !review.uncorroboratedGeometry);
92
+ return {
93
+ autoAllowed: false,
94
+ manualAllowed: true,
95
+ reviewAllowed,
96
+ cropTrustTier,
97
+ reasonCode: reviewAllowed ? 'review_trusted' : 'review_untrusted',
98
+ captureGate: reviewAllowed ? 'review_candidate' : 'soft_block',
99
+ diagnostics,
100
+ };
101
+ }
102
+ function decideCaptureTrust(input) {
103
+ const cropTrustTier = getCropTrustTier(input.crop);
104
+ const diagnostics = getDiagnostics(input, cropTrustTier);
105
+ if (input.context?.phase === 'review') {
106
+ return decideReviewTrust(input, diagnostics, cropTrustTier);
107
+ }
108
+ const capture = input.capture;
109
+ const readableText = input.readableText;
110
+ const hasMetrics = capture?.hasMetrics !== false;
111
+ const hardBlock = (reasonCode, gate = 'hard_block') => ({
112
+ autoAllowed: false,
113
+ manualAllowed: false,
114
+ reviewAllowed: false,
115
+ cropTrustTier,
116
+ reasonCode,
117
+ captureGate: gate,
118
+ diagnostics,
119
+ });
120
+ if (!hasMetrics)
121
+ return hardBlock('missing_metrics');
122
+ if (capture?.tooDark)
123
+ return hardBlock('too_dark');
124
+ if (capture?.tooBright)
125
+ return hardBlock('too_bright');
126
+ if (capture?.tooBlurry)
127
+ return hardBlock('too_blurry');
128
+ if (input.mrz?.wrongSide)
129
+ return hardBlock('wrong_side');
130
+ if (!capture?.documentCandidate) {
131
+ return hardBlock('not_document_like', 'soft_block');
132
+ }
133
+ if (capture?.glareDetected) {
134
+ const reviewAllowed = Boolean(capture.glareReviewSafe);
135
+ return {
136
+ autoAllowed: false,
137
+ manualAllowed: reviewAllowed,
138
+ reviewAllowed,
139
+ cropTrustTier,
140
+ reasonCode: 'glare',
141
+ captureGate: reviewAllowed ? 'review_candidate' : 'soft_block',
142
+ diagnostics,
143
+ };
144
+ }
145
+ if (capture?.cutOffHigh)
146
+ return hardBlock('cutoff_high');
147
+ if (capture?.edgeTight || capture?.unreliableSobelOverfull || capture?.unsafeCrop) {
148
+ return hardBlock(capture.edgeTight || capture.unreliableSobelOverfull ? 'edge_tight' : 'unsafe_crop', 'soft_block');
149
+ }
150
+ const weakBackText = isTrue(readableText?.weakBackText);
151
+ const weakReadableText = isTrue(readableText?.weakReadableText);
152
+ const reviewAllowed = capture?.reviewSafe ??
153
+ (hasFiniteScoreAtLeast(capture?.score, capture?.reviewScoreMin) &&
154
+ !capture?.edgeTight &&
155
+ !capture?.unreliableSobelOverfull &&
156
+ !capture?.unsafeCrop);
157
+ const baseAutoAllowed = capture?.autoSafe ??
158
+ Boolean(reviewAllowed && hasFiniteScoreAtLeast(capture?.score, capture?.autoScoreMin));
159
+ if (baseAutoAllowed &&
160
+ (diagnostics.semanticArmingCapped || diagnostics.faceCorroborationCapped)) {
161
+ return {
162
+ autoAllowed: false,
163
+ manualAllowed: true,
164
+ reviewAllowed: true,
165
+ cropTrustTier,
166
+ reasonCode: diagnostics.semanticArmingCapped ? 'manual_ready' : 'face_unconfirmed',
167
+ captureGate: 'manual_ready',
168
+ diagnostics,
169
+ };
170
+ }
171
+ if (baseAutoAllowed) {
172
+ return {
173
+ autoAllowed: true,
174
+ manualAllowed: true,
175
+ reviewAllowed: true,
176
+ cropTrustTier,
177
+ reasonCode: 'auto_safe',
178
+ captureGate: 'auto_ready',
179
+ diagnostics,
180
+ };
181
+ }
182
+ if (reviewAllowed) {
183
+ const reasonCode = weakBackText
184
+ ? 'weak_back_text'
185
+ : weakReadableText
186
+ ? 'weak_readable_text'
187
+ : capture?.manualReady
188
+ ? 'manual_ready'
189
+ : 'review_safe';
190
+ return {
191
+ autoAllowed: false,
192
+ manualAllowed: Boolean(capture?.manualReady),
193
+ reviewAllowed: true,
194
+ cropTrustTier,
195
+ reasonCode,
196
+ captureGate: capture?.manualReady ? 'manual_ready' : 'review_candidate',
197
+ diagnostics,
198
+ };
199
+ }
200
+ return {
201
+ autoAllowed: false,
202
+ manualAllowed: false,
203
+ reviewAllowed: false,
204
+ cropTrustTier,
205
+ reasonCode: weakBackText
206
+ ? 'weak_back_text'
207
+ : weakReadableText
208
+ ? 'weak_readable_text'
209
+ : 'not_document_like',
210
+ captureGate: 'soft_block',
211
+ diagnostics,
212
+ };
213
+ }
214
+ //# sourceMappingURL=capture-trust.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capture-trust.js","sourceRoot":"","sources":["../../src/capture-trust.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,8 @@ export type { MetadataReviewInput } from './metadata-review.js';
22
22
  export { analyzeImageMetadata } from './metadata-review.js';
23
23
  export type { CaptureImageSize, CapturePreviewRect, CaptureCropRect, CapturePreviewResizeMode, CaptureRotationDegrees, CaptureNormalizationUnsafeReason, CaptureClampedEdges, CaptureNormalizationDiagnostics, CaptureFrameMode, PreviewRectToImageCropInput, ExpectedOrientationInput, CaptureNormalizationPlanInput, CaptureResizePlan, CaptureNormalizationPlan, } from './capture-normalization.js';
24
24
  export { mapPreviewRectToImageCropWithDiagnostics, mapPreviewRectToImageCrop, getRotationToExpectedOrientation, buildCaptureNormalizationPlan, getDocumentCaptureFrameAspectRatio, } from './capture-normalization.js';
25
+ export type { CaptureTrustClient, CaptureTrustPhase, CaptureTrustCaptureSource, CaptureTrustDocumentSide, CaptureTrustCropProvenance, CaptureTrustReasonCode, CaptureTrustGate, CropTrustTier, DocumentFaceCorroborationTrustStatus, CaptureTrustContextInput, CaptureTrustLiveInput, CaptureTrustClassifierInput, CaptureTrustMrzInput, CaptureTrustGeometryInput, CaptureTrustReadableTextInput, CaptureTrustCropInput, CaptureTrustCaptureInput, CaptureTrustReviewInput, CaptureTrustPolicyInput, CaptureTrustInput, CaptureTrustDiagnostics, CaptureTrustDecision, } from './capture-trust.js';
26
+ export { decideCaptureTrust } from './capture-trust.js';
25
27
  export type { CapturePlacementShape, DocumentPlacementInput, DocumentPlacementDecision, DocumentPlacementReason, } from './document-placement.js';
26
28
  export { CAPTURE_READY_AREA_MIN_BY_SHAPE, RELAXED_CAPTURE_READY_AREA_MIN_BY_SHAPE, CAPTURE_READY_AREA_MAX_BY_SHAPE, CAPTURE_READY_CENTER_MAX_BY_SHAPE, CAPTURE_READY_SAFE_INSET_MIN, evaluateDocumentPlacement, } from './document-placement.js';
27
29
  export type { EdgeEnergyProfile } from './sobel.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -10,8 +10,8 @@
10
10
  */
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.getDocumentReviewProfile = exports.getDocumentCaptureGeometryProfile = exports.getPreviousFlowStepId = exports.getNextFlowStepId = exports.resolveIssuingCountry = exports.normalizeIssuingCountry = exports.getIssuingCountryMetadata = exports.validateKycMobileWorkflowConfigContract = exports.KYC_MOBILE_VALID_SUBMISSION_COMPLETION_MODES = exports.KYC_MOBILE_VALID_GPS_POLICIES = exports.KYC_MOBILE_VALID_CAPTURE_MODES = exports.KYC_MOBILE_VALID_ADDRESS_FIELD_MODES = exports.KYC_MOBILE_VALID_ADDRESS_METHODS = exports.KYC_MOBILE_SIERRA_LEONE_STEP_ORDER = exports.KYC_MOBILE_REQUIRED_TERMINAL_STEP_IDS = exports.KYC_MOBILE_KNOWN_STEP_IDS = exports.KYC_MOBILE_ADDRESS_STEP_IDS = exports.isAddressStepComplete = exports.hasStructuredAddress = exports.hasAddressProofCoordinates = exports.getEffectiveAddressMethod = exports.getAddressMethodStartBehavior = exports.getRecommendedAddressMethod = exports.sanitizeAllowedAddressMethods = exports.isAddressMethod = exports.ADDRESS_METHOD_ORDER = exports.PICO_ANALYSIS_H = exports.PICO_ANALYSIS_W = exports.ADDRESS_SUBMIT_ANYWAY_FAILURE_THRESHOLD = exports.SELFIE_SUBMIT_ANYWAY_FAILURE_THRESHOLD = exports.DOC_SUBMIT_ANYWAY_FAILURE_THRESHOLD = exports.DOC_GALLERY_FAILURE_THRESHOLD = exports.CAPTURE_DOCUMENT_EDGE_READY_MULTIPLIER = exports.CAPTURE_DOCUMENT_AREA_MIN = exports.CAPTURE_DOCUMENT_MANUAL_FALLBACK_SECS = exports.CAPTURE_DOCUMENT_SHARPNESS_MIN = exports.CAM_DOC_CENTER_OFFSET_MAX = exports.CAM_EDGE_COVERAGE_THRESHOLD = exports.CAM_EDGE_PIXEL_THRESHOLD = exports.CAM_FRAME_DIFF_THRESHOLD = exports.CAM_STABLE_FRAMES_NEEDED = exports.CAM_EDGE_THRESHOLD = exports.CAM_BLUR_THRESHOLD = exports.CAM_BRIGHTNESS_MAX = exports.SCENE_DARK_REGION_DYNAMIC_RANGE_MAX = exports.SCENE_DARK_SURROUND_LUMA_MAX = exports.CAM_BRIGHTNESS_MIN = exports.CAM_ANALYSIS_H = exports.CAM_ANALYSIS_W = exports.CamState = void 0;
13
- exports.DOCUMENT_PLACEMENT_GUIDANCE_REASON = exports.resolveCaptureGuidanceSignal = exports.CAPTURE_GUIDANCE_SIGNAL_TABLE = exports.resolveDocumentMrzPolicy = exports.parseMrzLines = exports.MRZ_TD1_LINE_LENGTH = exports.MRZ_TD3_LINE_LENGTH = exports.validateMrzCheckDigits = exports.parseMrzText = exports.normalizeMrzLines = exports.computeMrzCheckDigit = exports.getMrzCharacterValue = exports.MRZ_DENSITY_SCORE_SATURATION = exports.MRZ_SEARCH_TOP_FRAC = exports.MRZ_MAX_BAND_ASPECT = exports.MRZ_MIN_BAND_ASPECT = exports.MRZ_MIN_BAND_WIDTH_FRAC = exports.MRZ_MAX_BAND_HEIGHT = exports.MRZ_MIN_BAND_HEIGHT = exports.MRZ_ROW_DENSITY_RATIO_THRESHOLD = exports.MRZ_HORIZONTAL_GRADIENT_THRESHOLD = exports.detectPassportMrzBand = exports.looksLikeDocument = exports.analyzeFrame = exports.computeFrameDiff = exports.detectDocumentRect = exports.computeEdgeEnergy = exports.computeLaplacianVarianceFloat = exports.computeLaplacianVariance = exports.isSceneDark = exports.computeSceneLightProfile = exports.computeBrightness = exports.rgbaToGreyInPlace = exports.detectDocumentCropFromGrey = exports.computeEdgeEnergyProfile = exports.rgbaToGreyscalePico = exports.rgbaToGreyscale = exports.evaluateDocumentPlacement = exports.CAPTURE_READY_SAFE_INSET_MIN = exports.CAPTURE_READY_CENTER_MAX_BY_SHAPE = exports.CAPTURE_READY_AREA_MAX_BY_SHAPE = exports.RELAXED_CAPTURE_READY_AREA_MIN_BY_SHAPE = exports.CAPTURE_READY_AREA_MIN_BY_SHAPE = exports.getDocumentCaptureFrameAspectRatio = exports.buildCaptureNormalizationPlan = exports.getRotationToExpectedOrientation = exports.mapPreviewRectToImageCrop = exports.mapPreviewRectToImageCropWithDiagnostics = exports.analyzeImageMetadata = exports.checkDocumentLikelihood = void 0;
14
- exports.getOverrideBannerMessage = exports.getOverrideButtonText = exports.getNextButtonDisabledReason = exports.evaluateReviewFailure = exports.evaluateSelfieFailure = exports.evaluateDocumentFailure = exports.isFaceCentered = exports.checkFaceInImage = exports.runSelfieQualityChecks = exports.runDocumentQualityChecks = exports.getReviewModeFromDocumentType = exports.isRetryEscapableDocumentCornerFailure = exports.hasHardBlockingQualityFailure = exports.shouldShowSubmitAnyway = exports.countFailedReview = exports.createQualityFailureState = exports.getSubmitAnywayThreshold = exports.getQualityBucket = exports.CAPTURE_INTELLIGENCE_CORE_VERSION = exports.getMoveToMiddleFeedback = exports.getTiltAwayFromLightGuidance = exports.getDocumentSubjectLabel = exports.WRONG_SIDE_TURN_OVER_FEEDBACK = exports.AUTO_CAPTURE_BURST_ABORT_FEEDBACK = exports.INITIAL_DOCUMENT_FEEDBACK = exports.TAKING_PHOTO_META = exports.GOOD_HOLD_STILL_FEEDBACK = exports.MANUAL_CAPTURE_READY_FEEDBACK = exports.SELFIE_MANUAL_FALLBACK_HARD_BLOCK_EXTENSION_MS = exports.READY_CHIME_GAIN = exports.READY_CHIME_NOTES = exports.CAPTURE_CONFIRMATION_HOLD_MS = exports.READY_SIGNAL_COOLDOWN_MS = exports.CAPTURE_SIGNAL_VIBRATION_PATTERNS = exports.CAPTURE_GUIDANCE_DAMPING_PROFILES = exports.mapSelfieIssueToGuidanceReason = void 0;
13
+ exports.resolveCaptureGuidanceSignal = exports.CAPTURE_GUIDANCE_SIGNAL_TABLE = exports.resolveDocumentMrzPolicy = exports.parseMrzLines = exports.MRZ_TD1_LINE_LENGTH = exports.MRZ_TD3_LINE_LENGTH = exports.validateMrzCheckDigits = exports.parseMrzText = exports.normalizeMrzLines = exports.computeMrzCheckDigit = exports.getMrzCharacterValue = exports.MRZ_DENSITY_SCORE_SATURATION = exports.MRZ_SEARCH_TOP_FRAC = exports.MRZ_MAX_BAND_ASPECT = exports.MRZ_MIN_BAND_ASPECT = exports.MRZ_MIN_BAND_WIDTH_FRAC = exports.MRZ_MAX_BAND_HEIGHT = exports.MRZ_MIN_BAND_HEIGHT = exports.MRZ_ROW_DENSITY_RATIO_THRESHOLD = exports.MRZ_HORIZONTAL_GRADIENT_THRESHOLD = exports.detectPassportMrzBand = exports.looksLikeDocument = exports.analyzeFrame = exports.computeFrameDiff = exports.detectDocumentRect = exports.computeEdgeEnergy = exports.computeLaplacianVarianceFloat = exports.computeLaplacianVariance = exports.isSceneDark = exports.computeSceneLightProfile = exports.computeBrightness = exports.rgbaToGreyInPlace = exports.detectDocumentCropFromGrey = exports.computeEdgeEnergyProfile = exports.rgbaToGreyscalePico = exports.rgbaToGreyscale = exports.evaluateDocumentPlacement = exports.CAPTURE_READY_SAFE_INSET_MIN = exports.CAPTURE_READY_CENTER_MAX_BY_SHAPE = exports.CAPTURE_READY_AREA_MAX_BY_SHAPE = exports.RELAXED_CAPTURE_READY_AREA_MIN_BY_SHAPE = exports.CAPTURE_READY_AREA_MIN_BY_SHAPE = exports.decideCaptureTrust = exports.getDocumentCaptureFrameAspectRatio = exports.buildCaptureNormalizationPlan = exports.getRotationToExpectedOrientation = exports.mapPreviewRectToImageCrop = exports.mapPreviewRectToImageCropWithDiagnostics = exports.analyzeImageMetadata = exports.checkDocumentLikelihood = void 0;
14
+ exports.getOverrideBannerMessage = exports.getOverrideButtonText = exports.getNextButtonDisabledReason = exports.evaluateReviewFailure = exports.evaluateSelfieFailure = exports.evaluateDocumentFailure = exports.isFaceCentered = exports.checkFaceInImage = exports.runSelfieQualityChecks = exports.runDocumentQualityChecks = exports.getReviewModeFromDocumentType = exports.isRetryEscapableDocumentCornerFailure = exports.hasHardBlockingQualityFailure = exports.shouldShowSubmitAnyway = exports.countFailedReview = exports.createQualityFailureState = exports.getSubmitAnywayThreshold = exports.getQualityBucket = exports.CAPTURE_INTELLIGENCE_CORE_VERSION = exports.getMoveToMiddleFeedback = exports.getTiltAwayFromLightGuidance = exports.getDocumentSubjectLabel = exports.WRONG_SIDE_TURN_OVER_FEEDBACK = exports.AUTO_CAPTURE_BURST_ABORT_FEEDBACK = exports.INITIAL_DOCUMENT_FEEDBACK = exports.TAKING_PHOTO_META = exports.GOOD_HOLD_STILL_FEEDBACK = exports.MANUAL_CAPTURE_READY_FEEDBACK = exports.SELFIE_MANUAL_FALLBACK_HARD_BLOCK_EXTENSION_MS = exports.READY_CHIME_GAIN = exports.READY_CHIME_NOTES = exports.CAPTURE_CONFIRMATION_HOLD_MS = exports.READY_SIGNAL_COOLDOWN_MS = exports.CAPTURE_SIGNAL_VIBRATION_PATTERNS = exports.CAPTURE_GUIDANCE_DAMPING_PROFILES = exports.mapSelfieIssueToGuidanceReason = exports.DOCUMENT_PLACEMENT_GUIDANCE_REASON = void 0;
15
15
  var types_js_1 = require("./types.js");
16
16
  Object.defineProperty(exports, "CamState", { enumerable: true, get: function () { return types_js_1.CamState; } });
17
17
  Object.defineProperty(exports, "CAM_ANALYSIS_W", { enumerable: true, get: function () { return types_js_1.CAM_ANALYSIS_W; } });
@@ -78,6 +78,8 @@ Object.defineProperty(exports, "mapPreviewRectToImageCrop", { enumerable: true,
78
78
  Object.defineProperty(exports, "getRotationToExpectedOrientation", { enumerable: true, get: function () { return capture_normalization_js_1.getRotationToExpectedOrientation; } });
79
79
  Object.defineProperty(exports, "buildCaptureNormalizationPlan", { enumerable: true, get: function () { return capture_normalization_js_1.buildCaptureNormalizationPlan; } });
80
80
  Object.defineProperty(exports, "getDocumentCaptureFrameAspectRatio", { enumerable: true, get: function () { return capture_normalization_js_1.getDocumentCaptureFrameAspectRatio; } });
81
+ var capture_trust_js_1 = require("./capture-trust.js");
82
+ Object.defineProperty(exports, "decideCaptureTrust", { enumerable: true, get: function () { return capture_trust_js_1.decideCaptureTrust; } });
81
83
  var document_placement_js_1 = require("./document-placement.js");
82
84
  Object.defineProperty(exports, "CAPTURE_READY_AREA_MIN_BY_SHAPE", { enumerable: true, get: function () { return document_placement_js_1.CAPTURE_READY_AREA_MIN_BY_SHAPE; } });
83
85
  Object.defineProperty(exports, "RELAXED_CAPTURE_READY_AREA_MIN_BY_SHAPE", { enumerable: true, get: function () { return document_placement_js_1.RELAXED_CAPTURE_READY_AREA_MIN_BY_SHAPE; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -3,5 +3,5 @@
3
3
  * version.json). Must match package.json — test-locked in
4
4
  * test/capture-guidance.test.mjs. Bump both together.
5
5
  */
6
- export declare const CAPTURE_INTELLIGENCE_CORE_VERSION = "0.2.1";
6
+ export declare const CAPTURE_INTELLIGENCE_CORE_VERSION = "0.2.3";
7
7
  //# sourceMappingURL=version.d.ts.map
@@ -6,5 +6,5 @@ exports.CAPTURE_INTELLIGENCE_CORE_VERSION = void 0;
6
6
  * version.json). Must match package.json — test-locked in
7
7
  * test/capture-guidance.test.mjs. Bump both together.
8
8
  */
9
- exports.CAPTURE_INTELLIGENCE_CORE_VERSION = '0.2.1';
9
+ exports.CAPTURE_INTELLIGENCE_CORE_VERSION = '0.2.3';
10
10
  //# sourceMappingURL=version.js.map
@@ -0,0 +1,142 @@
1
+ export type CaptureTrustClient = 'web' | 'agent';
2
+ export type CaptureTrustPhase = 'capture' | 'review';
3
+ export type CaptureTrustCaptureSource = 'camera' | 'auto_capture' | 'manual' | 'gallery' | 'native_platform_scanner' | 'unknown';
4
+ export type CaptureTrustDocumentSide = 'front' | 'back' | 'selfie' | null;
5
+ export type CaptureTrustCropProvenance = 'same_candidate' | 'viewfinder_fallback' | 'unsafe_full_frame' | 'gallery' | 'review_auto_crop' | 'still_redetect' | 'native_platform_scanner' | 'viewfinder_candidate' | string;
6
+ export type CaptureTrustReasonCode = 'missing_metrics' | 'too_dark' | 'too_bright' | 'too_blurry' | 'cutoff_high' | 'glare' | 'edge_tight' | 'unsafe_crop' | 'wrong_side' | 'not_document_like' | 'weak_back_text' | 'weak_readable_text' | 'review_safe' | 'manual_ready' | 'face_unconfirmed' | 'auto_safe' | 'review_trusted' | 'review_untrusted' | 'crop_trusted' | 'crop_original_only' | 'crop_rejected';
7
+ export type CaptureTrustGate = 'hard_block' | 'soft_block' | 'review_candidate' | 'manual_ready' | 'auto_ready';
8
+ export type CropTrustTier = 'none' | 'original_frame' | 'unsafe_full_frame' | 'live_candidate' | 'verified_crop' | 'review_auto_crop' | 'native_platform_crop' | 'gallery';
9
+ export type DocumentFaceCorroborationTrustStatus = 'face_present' | 'no_face' | 'unavailable' | null;
10
+ export interface CaptureTrustContextInput {
11
+ client?: CaptureTrustClient;
12
+ phase?: CaptureTrustPhase;
13
+ documentType?: string | null;
14
+ documentSide?: CaptureTrustDocumentSide;
15
+ captureSource?: CaptureTrustCaptureSource;
16
+ }
17
+ export interface CaptureTrustLiveInput {
18
+ accepted?: boolean | null;
19
+ acceptedReason?: string | null;
20
+ path?: string | null;
21
+ strategy?: string | null;
22
+ backend?: string | null;
23
+ }
24
+ export interface CaptureTrustClassifierInput {
25
+ confidence?: number | null;
26
+ rescue?: boolean | null;
27
+ strategyFloorMet?: boolean | null;
28
+ highConfidence?: boolean | null;
29
+ likely?: boolean | null;
30
+ }
31
+ export interface CaptureTrustMrzInput {
32
+ present?: boolean | null;
33
+ confirmed?: boolean | null;
34
+ validated?: boolean | null;
35
+ checkDigitsValid?: boolean | null;
36
+ wrongSide?: boolean | null;
37
+ }
38
+ export interface CaptureTrustGeometryInput {
39
+ reliableQuad?: boolean | null;
40
+ marginSafeReliableQuad?: boolean | null;
41
+ safeSobelBounds?: boolean | null;
42
+ unsafeSobelBounds?: boolean | null;
43
+ unreliableSobelOverfull?: boolean | null;
44
+ placementReady?: boolean | null;
45
+ }
46
+ export interface CaptureTrustReadableTextInput {
47
+ backTextTrusted?: boolean | null;
48
+ readableTextTrusted?: boolean | null;
49
+ weakBackText?: boolean | null;
50
+ weakReadableText?: boolean | null;
51
+ }
52
+ export interface CaptureTrustCropInput {
53
+ applied?: boolean | null;
54
+ provenance?: CaptureTrustCropProvenance | null;
55
+ unsafe?: boolean | null;
56
+ unsafeReason?: string | null;
57
+ clamped?: boolean | null;
58
+ cutOffRisk?: 'low' | 'medium' | 'high' | string | null;
59
+ aspectSafe?: boolean | null;
60
+ cornersOk?: boolean | null;
61
+ footprintTrusted?: boolean | null;
62
+ renderedContentOk?: boolean | null;
63
+ cropVerified?: boolean | null;
64
+ cropSelectable?: boolean | null;
65
+ }
66
+ export interface CaptureTrustCaptureInput {
67
+ hasMetrics?: boolean | null;
68
+ score?: number | null;
69
+ reviewScoreMin?: number | null;
70
+ autoScoreMin?: number | null;
71
+ manualReady?: boolean | null;
72
+ documentCandidate?: boolean | null;
73
+ documentLike?: boolean | null;
74
+ glareDetected?: boolean | null;
75
+ glareReviewSafe?: boolean | null;
76
+ tooDark?: boolean | null;
77
+ tooBright?: boolean | null;
78
+ tooBlurry?: boolean | null;
79
+ cutOffHigh?: boolean | null;
80
+ edgeTight?: boolean | null;
81
+ unsafeCrop?: boolean | null;
82
+ unreliableSobelOverfull?: boolean | null;
83
+ reviewSafe?: boolean | null;
84
+ autoSafe?: boolean | null;
85
+ }
86
+ export interface CaptureTrustReviewInput {
87
+ semanticEvidence?: boolean | null;
88
+ footprintTrusted?: boolean | null;
89
+ liveEvidenceTrusted?: boolean | null;
90
+ uncorroboratedGeometry?: boolean | null;
91
+ wouldPassAllChecks?: boolean | null;
92
+ }
93
+ export interface CaptureTrustPolicyInput {
94
+ cardFrontSemanticArming?: boolean | null;
95
+ uncorroboratedGeometryAcceptance?: boolean | null;
96
+ faceCorroborationStatus?: DocumentFaceCorroborationTrustStatus;
97
+ faceCorroborationGatedAcceptance?: boolean | null;
98
+ }
99
+ export interface CaptureTrustInput {
100
+ context?: CaptureTrustContextInput;
101
+ live?: CaptureTrustLiveInput | null;
102
+ classifier?: CaptureTrustClassifierInput | null;
103
+ mrz?: CaptureTrustMrzInput | null;
104
+ geometry?: CaptureTrustGeometryInput | null;
105
+ readableText?: CaptureTrustReadableTextInput | null;
106
+ crop?: CaptureTrustCropInput | null;
107
+ capture?: CaptureTrustCaptureInput | null;
108
+ review?: CaptureTrustReviewInput | null;
109
+ policy?: CaptureTrustPolicyInput | null;
110
+ }
111
+ export interface CaptureTrustDiagnostics {
112
+ liveAccepted: boolean;
113
+ liveAcceptedReason: string | null;
114
+ reliableQuad: boolean;
115
+ marginSafeReliableQuad: boolean;
116
+ classifierLikely: boolean;
117
+ classifierStrategyFloorMet: boolean;
118
+ classifierHighConfidence: boolean;
119
+ classifierRescue: boolean;
120
+ mrzConfirmed: boolean;
121
+ mrzValidated: boolean;
122
+ wrongSideMrz: boolean;
123
+ readableTextTrusted: boolean;
124
+ backTextTrusted: boolean;
125
+ semanticArmingCapped: boolean;
126
+ faceCorroborationCapped: boolean;
127
+ cropUnsafe: boolean;
128
+ cropPromotable: boolean;
129
+ reviewSemanticEvidence: boolean;
130
+ reviewFootprintTrusted: boolean;
131
+ }
132
+ export interface CaptureTrustDecision {
133
+ autoAllowed: boolean;
134
+ manualAllowed: boolean;
135
+ reviewAllowed: boolean;
136
+ cropTrustTier: CropTrustTier;
137
+ reasonCode: CaptureTrustReasonCode;
138
+ captureGate: CaptureTrustGate;
139
+ diagnostics: CaptureTrustDiagnostics;
140
+ }
141
+ export declare function decideCaptureTrust(input: CaptureTrustInput): CaptureTrustDecision;
142
+ //# sourceMappingURL=capture-trust.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capture-trust.d.ts","sourceRoot":"","sources":["../../src/capture-trust.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,211 @@
1
+ const isTrue = (value) => value === true;
2
+ const hasFiniteScoreAtLeast = (score, floor) => typeof score === 'number' &&
3
+ Number.isFinite(score) &&
4
+ typeof floor === 'number' &&
5
+ Number.isFinite(floor) &&
6
+ score >= floor;
7
+ function getCropTrustTier(crop) {
8
+ if (!crop)
9
+ return 'none';
10
+ const provenance = String(crop.provenance || '');
11
+ const unsafe = Boolean(crop.unsafe ||
12
+ crop.clamped ||
13
+ crop.unsafeReason ||
14
+ crop.cutOffRisk === 'high' ||
15
+ crop.aspectSafe === false ||
16
+ crop.cornersOk === false ||
17
+ crop.renderedContentOk === false);
18
+ if (provenance === 'gallery')
19
+ return 'gallery';
20
+ if (provenance === 'unsafe_full_frame')
21
+ return 'unsafe_full_frame';
22
+ if (unsafe)
23
+ return crop.applied ? 'original_frame' : 'unsafe_full_frame';
24
+ if (!crop.applied)
25
+ return 'original_frame';
26
+ const selectable = crop.cropSelectable !== false;
27
+ const verified = crop.cropVerified !== false;
28
+ const footprintTrusted = crop.footprintTrusted !== false;
29
+ const promotable = selectable && verified && footprintTrusted;
30
+ if (!promotable)
31
+ return 'original_frame';
32
+ if (provenance === 'native_platform_scanner')
33
+ return 'native_platform_crop';
34
+ if (provenance === 'still_redetect') {
35
+ return crop.cropVerified === true && crop.cropSelectable === true
36
+ ? 'verified_crop'
37
+ : 'original_frame';
38
+ }
39
+ if (provenance === 'review_auto_crop')
40
+ return 'review_auto_crop';
41
+ if (provenance === 'same_candidate' || provenance === 'viewfinder_candidate') {
42
+ return 'live_candidate';
43
+ }
44
+ return 'original_frame';
45
+ }
46
+ function getDiagnostics(input, cropTrustTier) {
47
+ const classifier = input.classifier;
48
+ const mrz = input.mrz;
49
+ const geometry = input.geometry;
50
+ const readableText = input.readableText;
51
+ const policy = input.policy;
52
+ const review = input.review;
53
+ const live = input.live;
54
+ const semanticArmingCapped = Boolean(policy?.cardFrontSemanticArming && policy.uncorroboratedGeometryAcceptance);
55
+ const faceCorroborationCapped = Boolean(policy?.faceCorroborationStatus === 'no_face' && policy.faceCorroborationGatedAcceptance);
56
+ return {
57
+ liveAccepted: isTrue(live?.accepted),
58
+ liveAcceptedReason: live?.acceptedReason ?? null,
59
+ reliableQuad: isTrue(geometry?.reliableQuad),
60
+ marginSafeReliableQuad: isTrue(geometry?.marginSafeReliableQuad),
61
+ classifierLikely: isTrue(classifier?.likely),
62
+ classifierStrategyFloorMet: isTrue(classifier?.strategyFloorMet),
63
+ classifierHighConfidence: isTrue(classifier?.highConfidence),
64
+ classifierRescue: isTrue(classifier?.rescue),
65
+ mrzConfirmed: isTrue(mrz?.confirmed),
66
+ mrzValidated: isTrue(mrz?.validated),
67
+ wrongSideMrz: isTrue(mrz?.wrongSide),
68
+ readableTextTrusted: isTrue(readableText?.readableTextTrusted),
69
+ backTextTrusted: isTrue(readableText?.backTextTrusted),
70
+ semanticArmingCapped,
71
+ faceCorroborationCapped,
72
+ cropUnsafe: cropTrustTier === 'unsafe_full_frame' ||
73
+ Boolean(input.crop?.unsafe || input.crop?.clamped || input.crop?.unsafeReason),
74
+ cropPromotable: cropTrustTier === 'live_candidate' ||
75
+ cropTrustTier === 'verified_crop' ||
76
+ cropTrustTier === 'review_auto_crop' ||
77
+ cropTrustTier === 'native_platform_crop',
78
+ reviewSemanticEvidence: isTrue(review?.semanticEvidence),
79
+ reviewFootprintTrusted: isTrue(review?.footprintTrusted),
80
+ };
81
+ }
82
+ function decideReviewTrust(input, diagnostics, cropTrustTier) {
83
+ const review = input.review;
84
+ const reviewAllowed = Boolean(review?.wouldPassAllChecks &&
85
+ (review.liveEvidenceTrusted ||
86
+ (review.semanticEvidence && review.footprintTrusted) ||
87
+ diagnostics.cropPromotable) &&
88
+ !review.uncorroboratedGeometry);
89
+ return {
90
+ autoAllowed: false,
91
+ manualAllowed: true,
92
+ reviewAllowed,
93
+ cropTrustTier,
94
+ reasonCode: reviewAllowed ? 'review_trusted' : 'review_untrusted',
95
+ captureGate: reviewAllowed ? 'review_candidate' : 'soft_block',
96
+ diagnostics,
97
+ };
98
+ }
99
+ export function decideCaptureTrust(input) {
100
+ const cropTrustTier = getCropTrustTier(input.crop);
101
+ const diagnostics = getDiagnostics(input, cropTrustTier);
102
+ if (input.context?.phase === 'review') {
103
+ return decideReviewTrust(input, diagnostics, cropTrustTier);
104
+ }
105
+ const capture = input.capture;
106
+ const readableText = input.readableText;
107
+ const hasMetrics = capture?.hasMetrics !== false;
108
+ const hardBlock = (reasonCode, gate = 'hard_block') => ({
109
+ autoAllowed: false,
110
+ manualAllowed: false,
111
+ reviewAllowed: false,
112
+ cropTrustTier,
113
+ reasonCode,
114
+ captureGate: gate,
115
+ diagnostics,
116
+ });
117
+ if (!hasMetrics)
118
+ return hardBlock('missing_metrics');
119
+ if (capture?.tooDark)
120
+ return hardBlock('too_dark');
121
+ if (capture?.tooBright)
122
+ return hardBlock('too_bright');
123
+ if (capture?.tooBlurry)
124
+ return hardBlock('too_blurry');
125
+ if (input.mrz?.wrongSide)
126
+ return hardBlock('wrong_side');
127
+ if (!capture?.documentCandidate) {
128
+ return hardBlock('not_document_like', 'soft_block');
129
+ }
130
+ if (capture?.glareDetected) {
131
+ const reviewAllowed = Boolean(capture.glareReviewSafe);
132
+ return {
133
+ autoAllowed: false,
134
+ manualAllowed: reviewAllowed,
135
+ reviewAllowed,
136
+ cropTrustTier,
137
+ reasonCode: 'glare',
138
+ captureGate: reviewAllowed ? 'review_candidate' : 'soft_block',
139
+ diagnostics,
140
+ };
141
+ }
142
+ if (capture?.cutOffHigh)
143
+ return hardBlock('cutoff_high');
144
+ if (capture?.edgeTight || capture?.unreliableSobelOverfull || capture?.unsafeCrop) {
145
+ return hardBlock(capture.edgeTight || capture.unreliableSobelOverfull ? 'edge_tight' : 'unsafe_crop', 'soft_block');
146
+ }
147
+ const weakBackText = isTrue(readableText?.weakBackText);
148
+ const weakReadableText = isTrue(readableText?.weakReadableText);
149
+ const reviewAllowed = capture?.reviewSafe ??
150
+ (hasFiniteScoreAtLeast(capture?.score, capture?.reviewScoreMin) &&
151
+ !capture?.edgeTight &&
152
+ !capture?.unreliableSobelOverfull &&
153
+ !capture?.unsafeCrop);
154
+ const baseAutoAllowed = capture?.autoSafe ??
155
+ Boolean(reviewAllowed && hasFiniteScoreAtLeast(capture?.score, capture?.autoScoreMin));
156
+ if (baseAutoAllowed &&
157
+ (diagnostics.semanticArmingCapped || diagnostics.faceCorroborationCapped)) {
158
+ return {
159
+ autoAllowed: false,
160
+ manualAllowed: true,
161
+ reviewAllowed: true,
162
+ cropTrustTier,
163
+ reasonCode: diagnostics.semanticArmingCapped ? 'manual_ready' : 'face_unconfirmed',
164
+ captureGate: 'manual_ready',
165
+ diagnostics,
166
+ };
167
+ }
168
+ if (baseAutoAllowed) {
169
+ return {
170
+ autoAllowed: true,
171
+ manualAllowed: true,
172
+ reviewAllowed: true,
173
+ cropTrustTier,
174
+ reasonCode: 'auto_safe',
175
+ captureGate: 'auto_ready',
176
+ diagnostics,
177
+ };
178
+ }
179
+ if (reviewAllowed) {
180
+ const reasonCode = weakBackText
181
+ ? 'weak_back_text'
182
+ : weakReadableText
183
+ ? 'weak_readable_text'
184
+ : capture?.manualReady
185
+ ? 'manual_ready'
186
+ : 'review_safe';
187
+ return {
188
+ autoAllowed: false,
189
+ manualAllowed: Boolean(capture?.manualReady),
190
+ reviewAllowed: true,
191
+ cropTrustTier,
192
+ reasonCode,
193
+ captureGate: capture?.manualReady ? 'manual_ready' : 'review_candidate',
194
+ diagnostics,
195
+ };
196
+ }
197
+ return {
198
+ autoAllowed: false,
199
+ manualAllowed: false,
200
+ reviewAllowed: false,
201
+ cropTrustTier,
202
+ reasonCode: weakBackText
203
+ ? 'weak_back_text'
204
+ : weakReadableText
205
+ ? 'weak_readable_text'
206
+ : 'not_document_like',
207
+ captureGate: 'soft_block',
208
+ diagnostics,
209
+ };
210
+ }
211
+ //# sourceMappingURL=capture-trust.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capture-trust.js","sourceRoot":"","sources":["../../src/capture-trust.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,8 @@ export type { MetadataReviewInput } from './metadata-review.js';
22
22
  export { analyzeImageMetadata } from './metadata-review.js';
23
23
  export type { CaptureImageSize, CapturePreviewRect, CaptureCropRect, CapturePreviewResizeMode, CaptureRotationDegrees, CaptureNormalizationUnsafeReason, CaptureClampedEdges, CaptureNormalizationDiagnostics, CaptureFrameMode, PreviewRectToImageCropInput, ExpectedOrientationInput, CaptureNormalizationPlanInput, CaptureResizePlan, CaptureNormalizationPlan, } from './capture-normalization.js';
24
24
  export { mapPreviewRectToImageCropWithDiagnostics, mapPreviewRectToImageCrop, getRotationToExpectedOrientation, buildCaptureNormalizationPlan, getDocumentCaptureFrameAspectRatio, } from './capture-normalization.js';
25
+ export type { CaptureTrustClient, CaptureTrustPhase, CaptureTrustCaptureSource, CaptureTrustDocumentSide, CaptureTrustCropProvenance, CaptureTrustReasonCode, CaptureTrustGate, CropTrustTier, DocumentFaceCorroborationTrustStatus, CaptureTrustContextInput, CaptureTrustLiveInput, CaptureTrustClassifierInput, CaptureTrustMrzInput, CaptureTrustGeometryInput, CaptureTrustReadableTextInput, CaptureTrustCropInput, CaptureTrustCaptureInput, CaptureTrustReviewInput, CaptureTrustPolicyInput, CaptureTrustInput, CaptureTrustDiagnostics, CaptureTrustDecision, } from './capture-trust.js';
26
+ export { decideCaptureTrust } from './capture-trust.js';
25
27
  export type { CapturePlacementShape, DocumentPlacementInput, DocumentPlacementDecision, DocumentPlacementReason, } from './document-placement.js';
26
28
  export { CAPTURE_READY_AREA_MIN_BY_SHAPE, RELAXED_CAPTURE_READY_AREA_MIN_BY_SHAPE, CAPTURE_READY_AREA_MAX_BY_SHAPE, CAPTURE_READY_CENTER_MAX_BY_SHAPE, CAPTURE_READY_SAFE_INSET_MIN, evaluateDocumentPlacement, } from './document-placement.js';
27
29
  export type { EdgeEnergyProfile } from './sobel.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -16,6 +16,7 @@ export { getNextFlowStepId, getPreviousFlowStepId } from './flow-routing.js';
16
16
  export { getDocumentCaptureGeometryProfile, getDocumentReviewProfile, checkDocumentLikelihood, } from './document-classifier.js';
17
17
  export { analyzeImageMetadata } from './metadata-review.js';
18
18
  export { mapPreviewRectToImageCropWithDiagnostics, mapPreviewRectToImageCrop, getRotationToExpectedOrientation, buildCaptureNormalizationPlan, getDocumentCaptureFrameAspectRatio, } from './capture-normalization.js';
19
+ export { decideCaptureTrust } from './capture-trust.js';
19
20
  export { CAPTURE_READY_AREA_MIN_BY_SHAPE, RELAXED_CAPTURE_READY_AREA_MIN_BY_SHAPE, CAPTURE_READY_AREA_MAX_BY_SHAPE, CAPTURE_READY_CENTER_MAX_BY_SHAPE, CAPTURE_READY_SAFE_INSET_MIN, evaluateDocumentPlacement, } from './document-placement.js';
20
21
  export { rgbaToGreyscale, rgbaToGreyscalePico, computeEdgeEnergyProfile, detectDocumentCropFromGrey, } from './sobel.js';
21
22
  export { rgbaToGreyInPlace, computeBrightness, computeSceneLightProfile, isSceneDark, computeLaplacianVariance, computeLaplacianVarianceFloat, computeEdgeEnergy, detectDocumentRect, computeFrameDiff, analyzeFrame, looksLikeDocument, } from './metrics.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAyBH,OAAO,EACL,QAAQ,EACR,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,4BAA4B,EAC5B,mCAAmC,EACnC,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,8BAA8B,EAC9B,qCAAqC,EACrC,yBAAyB,EACzB,sCAAsC,EACtC,6BAA6B,EAC7B,mCAAmC,EACnC,sCAAsC,EACtC,uCAAuC,EACvC,eAAe,EACf,eAAe,GAChB,MAAM,YAAY,CAAC;AAUpB,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,6BAA6B,EAC7B,2BAA2B,EAC3B,6BAA6B,EAC7B,yBAAyB,EACzB,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,qCAAqC,EACrC,kCAAkC,EAClC,gCAAgC,EAChC,oCAAoC,EACpC,8BAA8B,EAC9B,6BAA6B,EAC7B,4CAA4C,EAC5C,uCAAuC,GACxC,MAAM,0BAA0B,CAAC;AAIlC,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE7E,+EAA+E;AAC/E,OAAO,EACL,iCAAiC,EACjC,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAIlC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAmB5D,OAAO,EACL,wCAAwC,EACxC,yBAAyB,EACzB,gCAAgC,EAChC,6BAA6B,EAC7B,kCAAkC,GACnC,MAAM,4BAA4B,CAAC;AASpC,OAAO,EACL,+BAA+B,EAC/B,uCAAuC,EACvC,+BAA+B,EAC/B,iCAAiC,EACjC,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,YAAY,CAAC;AAIpB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,WAAW,EACX,wBAAwB,EACxB,6BAA6B,EAC7B,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAQtB,OAAO,EACL,qBAAqB,EACrB,iCAAiC,EACjC,+BAA+B,EAC/B,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,4BAA4B,GAC7B,MAAM,wBAAwB,CAAC;AAchC,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,YAAY,EACZ,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAa/B,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAS1F,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAc3D,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,EAC5B,kCAAkC,EAClC,8BAA8B,EAC9B,iCAAiC,EACjC,iCAAiC,EACjC,wBAAwB,EACxB,4BAA4B,EAC5B,iBAAiB,EACjB,gBAAgB,EAChB,8CAA8C,EAC9C,6BAA6B,EAC7B,wBAAwB,EACxB,iBAAiB,EACjB,yBAAyB,EACzB,iCAAiC,EACjC,6BAA6B,EAC7B,uBAAuB,EACvB,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAE/B,gFAAgF;AAChF,OAAO,EAAE,iCAAiC,EAAE,MAAM,cAAc,CAAC;AASjE,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,yBAAyB,EACzB,iBAAiB,EACjB,sBAAsB,EACtB,6BAA6B,EAC7B,qCAAqC,EACrC,6BAA6B,EAC7B,wBAAwB,EACxB,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,2BAA2B,EAC3B,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -3,5 +3,5 @@
3
3
  * version.json). Must match package.json — test-locked in
4
4
  * test/capture-guidance.test.mjs. Bump both together.
5
5
  */
6
- export declare const CAPTURE_INTELLIGENCE_CORE_VERSION = "0.2.1";
6
+ export declare const CAPTURE_INTELLIGENCE_CORE_VERSION = "0.2.3";
7
7
  //# sourceMappingURL=version.d.ts.map
@@ -3,5 +3,5 @@
3
3
  * version.json). Must match package.json — test-locked in
4
4
  * test/capture-guidance.test.mjs. Bump both together.
5
5
  */
6
- export const CAPTURE_INTELLIGENCE_CORE_VERSION = '0.2.1';
6
+ export const CAPTURE_INTELLIGENCE_CORE_VERSION = '0.2.3';
7
7
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mikashboks/capture-intelligence-core",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "DOM-free algorithmic core for capture intelligence: document classification, edge detection, frame metrics, and quality checks",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/index.js",