@mikashboks/capture-intelligence-core 0.2.16 → 0.2.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/cjs/__fixtures__/metadata-review.fixtures.d.ts.map +1 -1
  2. package/dist/cjs/__fixtures__/metadata-review.fixtures.js +32 -0
  3. package/dist/cjs/__fixtures__/metadata-review.fixtures.js.map +1 -1
  4. package/dist/cjs/index.d.ts +2 -0
  5. package/dist/cjs/index.d.ts.map +1 -1
  6. package/dist/cjs/index.js +23 -3
  7. package/dist/cjs/index.js.map +1 -1
  8. package/dist/cjs/metadata-review.d.ts +2 -2
  9. package/dist/cjs/metadata-review.d.ts.map +1 -1
  10. package/dist/cjs/metadata-review.js +12 -3
  11. package/dist/cjs/metadata-review.js.map +1 -1
  12. package/dist/cjs/pre-review-policy.d.ts +71 -0
  13. package/dist/cjs/pre-review-policy.d.ts.map +1 -0
  14. package/dist/cjs/pre-review-policy.js +181 -0
  15. package/dist/cjs/pre-review-policy.js.map +1 -0
  16. package/dist/cjs/version.d.ts +1 -1
  17. package/dist/cjs/version.js +1 -1
  18. package/dist/esm/__fixtures__/metadata-review.fixtures.d.ts.map +1 -1
  19. package/dist/esm/__fixtures__/metadata-review.fixtures.js +32 -0
  20. package/dist/esm/__fixtures__/metadata-review.fixtures.js.map +1 -1
  21. package/dist/esm/index.d.ts +2 -0
  22. package/dist/esm/index.d.ts.map +1 -1
  23. package/dist/esm/index.js +1 -0
  24. package/dist/esm/index.js.map +1 -1
  25. package/dist/esm/metadata-review.d.ts +2 -2
  26. package/dist/esm/metadata-review.d.ts.map +1 -1
  27. package/dist/esm/metadata-review.js +12 -3
  28. package/dist/esm/metadata-review.js.map +1 -1
  29. package/dist/esm/pre-review-policy.d.ts +71 -0
  30. package/dist/esm/pre-review-policy.d.ts.map +1 -0
  31. package/dist/esm/pre-review-policy.js +167 -0
  32. package/dist/esm/pre-review-policy.js.map +1 -0
  33. package/dist/esm/version.d.ts +1 -1
  34. package/dist/esm/version.js +1 -1
  35. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"metadata-review.fixtures.d.ts","sourceRoot":"","sources":["../../../src/__fixtures__/metadata-review.fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,mBAAmB,CAAC;IAC3B,QAAQ,EAAE,IAAI,CAAC,oBAAoB,EAAE,QAAQ,GAAG,aAAa,GAAG,YAAY,CAAC,GAAG;QAC9E,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED,eAAO,MAAM,sBAAsB,EAAE,qBAAqB,EAgEzD,CAAC"}
1
+ {"version":3,"file":"metadata-review.fixtures.d.ts","sourceRoot":"","sources":["../../../src/__fixtures__/metadata-review.fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,mBAAmB,CAAC;IAC3B,QAAQ,EAAE,IAAI,CAAC,oBAAoB,EAAE,QAAQ,GAAG,aAAa,GAAG,YAAY,CAAC,GAAG;QAC9E,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED,eAAO,MAAM,sBAAsB,EAAE,qBAAqB,EAgGzD,CAAC"}
@@ -49,6 +49,38 @@ exports.metadataReviewFixtures = [
49
49
  issueKeys: ['selfie_landscape', 'low_detail'],
50
50
  },
51
51
  },
52
+ {
53
+ id: 'address-document-keeps-page-review-mode-without-id-shape-check',
54
+ input: {
55
+ type: 'address-document',
56
+ width: 1000,
57
+ height: 1000,
58
+ documentType: 'utility_bill',
59
+ fileSize: 180_000,
60
+ },
61
+ expected: {
62
+ passed: true,
63
+ orientation: 'square',
64
+ isDocument: true,
65
+ issueKeys: [],
66
+ },
67
+ },
68
+ {
69
+ id: 'front-door-is-not-coerced-to-id-document-review',
70
+ input: {
71
+ type: 'front-door',
72
+ width: 1000,
73
+ height: 1000,
74
+ documentType: 'front_door_photo',
75
+ fileSize: 180_000,
76
+ },
77
+ expected: {
78
+ passed: true,
79
+ orientation: 'square',
80
+ isDocument: false,
81
+ issueKeys: [],
82
+ },
83
+ },
52
84
  {
53
85
  id: 'tiny-document-fails-immediately',
54
86
  input: {
@@ -1 +1 @@
1
- {"version":3,"file":"metadata-review.fixtures.js","sourceRoot":"","sources":["../../../src/__fixtures__/metadata-review.fixtures.ts"],"names":[],"mappings":";;;AAWa,QAAA,sBAAsB,GAA4B;IAC7D;QACE,EAAE,EAAE,mCAAmC;QACvC,KAAK,EAAE;YACL,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,UAAU;YACxB,QAAQ,EAAE,OAAO;SAClB;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,QAAQ;YACrB,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,CAAC,YAAY,CAAC;SAC1B;KACF;IACD;QACE,EAAE,EAAE,qCAAqC;QACzC,KAAK,EAAE;YACL,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,aAAa;YAC3B,QAAQ,EAAE,OAAO;SAClB;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,UAAU;YACvB,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,CAAC,kBAAkB,CAAC;SAChC;KACF;IACD;QACE,EAAE,EAAE,mDAAmD;QACvD,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,GAAG;YACX,QAAQ,EAAE,MAAM;SACjB;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,WAAW;YACxB,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,CAAC,kBAAkB,EAAE,YAAY,CAAC;SAC9C;KACF;IACD;QACE,EAAE,EAAE,iCAAiC;QACrC,KAAK,EAAE;YACL,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,YAAY,EAAE,iBAAiB;YAC/B,QAAQ,EAAE,MAAM;SACjB;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,WAAW;YACxB,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,CAAC,WAAW,CAAC;SACzB;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"metadata-review.fixtures.js","sourceRoot":"","sources":["../../../src/__fixtures__/metadata-review.fixtures.ts"],"names":[],"mappings":";;;AAWa,QAAA,sBAAsB,GAA4B;IAC7D;QACE,EAAE,EAAE,mCAAmC;QACvC,KAAK,EAAE;YACL,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,UAAU;YACxB,QAAQ,EAAE,OAAO;SAClB;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,QAAQ;YACrB,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,CAAC,YAAY,CAAC;SAC1B;KACF;IACD;QACE,EAAE,EAAE,qCAAqC;QACzC,KAAK,EAAE;YACL,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,aAAa;YAC3B,QAAQ,EAAE,OAAO;SAClB;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,UAAU;YACvB,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,CAAC,kBAAkB,CAAC;SAChC;KACF;IACD;QACE,EAAE,EAAE,mDAAmD;QACvD,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,GAAG;YACX,QAAQ,EAAE,MAAM;SACjB;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,WAAW;YACxB,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,CAAC,kBAAkB,EAAE,YAAY,CAAC;SAC9C;KACF;IACD;QACE,EAAE,EAAE,gEAAgE;QACpE,KAAK,EAAE;YACL,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,cAAc;YAC5B,QAAQ,EAAE,OAAO;SAClB;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,QAAQ;YACrB,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,EAAE;SACd;KACF;IACD;QACE,EAAE,EAAE,iDAAiD;QACrD,KAAK,EAAE;YACL,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,kBAAkB;YAChC,QAAQ,EAAE,OAAO;SAClB;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,QAAQ;YACrB,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,EAAE;SACd;KACF;IACD;QACE,EAAE,EAAE,iCAAiC;QACrC,KAAK,EAAE;YACL,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,YAAY,EAAE,iBAAiB;YAC/B,QAAQ,EAAE,MAAM;SACjB;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,WAAW;YACxB,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,CAAC,WAAW,CAAC;SACzB;KACF;CACF,CAAC"}
@@ -20,6 +20,8 @@ export { getNextFlowStepId, getPreviousFlowStepId } from './flow-routing.js';
20
20
  export { getDocumentCaptureGeometryProfile, getDocumentReviewProfile, checkDocumentLikelihood, } from './document-classifier.js';
21
21
  export type { MetadataReviewInput } from './metadata-review.js';
22
22
  export { analyzeImageMetadata } from './metadata-review.js';
23
+ export type { PreReviewDocumentContext, PreReviewMetadataSignal, PassportMrzPageEvidenceOptions, PreReviewRetakeSeverity, ReviewRetakeDecisionKind, ReviewRetakeDecisionSource, ReviewRetakeDecisionPolicyInput, ReviewRetakeDecisionPolicyResult, } from './pre-review-policy.js';
24
+ export { PRE_REVIEW_STRUCTURAL_RETAKE_REASONS, PRE_REVIEW_RECOVERABLE_SEND_FOR_REVIEW_REASONS, PRE_REVIEW_STRUCTURAL_UNSAFE_REASONS, PRE_REVIEW_DOCUMENT_PRESENT_CROP_PROVENANCE, PRE_REVIEW_MRZ_CONFIRMED_CONFIDENCE_MIN, PRE_REVIEW_DOCUMENT_EVIDENCE_MEDIUM_THRESHOLD, PRE_REVIEW_DOCUMENT_EVIDENCE_LOW_CLASSIFIER_THRESHOLD, normalizePreReviewReasonCode, isStructuralPreReviewRetakeReason, isRecoverablePreReviewSendForReviewReason, hasAcceptedPassportPageRecognition, hasCorroboratedPassportPageEvidence, hasTrustedPassportMrzPageEvidence, canTrustPassportPageEvidenceOverBadAspect, hasStructuralPreReviewMetadataSignal, hasDocumentPresentPreReviewEvidence, isReviewUncertainDocumentPresentMetadata, resolveReviewRetakeDecisionPolicy, } from './pre-review-policy.js';
23
25
  export type { ReviewReason, DocumentRegionBounds, DocumentRegionImageSize, ReviewDiagnostics, DocumentReviewQualityInput, DocumentRegionReviewDiagnostics, DocumentReviewQualityResult, NoCropClarityInput, } from './review-quality.js';
24
26
  export { DOCUMENT_REVIEW_REGION_MIN_READABLE_WIDTH_PX, evaluateDocumentReviewQuality, hasNoCropClarityUncertainty, } from './review-quality.js';
25
27
  export type { CaptureImageSize, CapturePreviewRect, CaptureCropRect, CapturePreviewResizeMode, CaptureRotationDegrees, CaptureNormalizationUnsafeReason, CaptureClampedEdges, CaptureNormalizationDiagnostics, CaptureFrameMode, PreviewRectToImageCropInput, ExpectedOrientationInput, CaptureNormalizationPlanInput, CaptureResizePlan, CaptureNormalizationPlan, } from './capture-normalization.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,YAAY,EACV,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,QAAQ,EACR,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAEpB,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;AAGpB,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,6BAA6B,EAC7B,2BAA2B,EAC3B,6BAA6B,EAC7B,yBAAyB,EACzB,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EACV,sBAAsB,EACtB,0BAA0B,EAC1B,+BAA+B,GAChC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,qCAAqC,EACrC,kCAAkC,EAClC,gCAAgC,EAChC,oCAAoC,EACpC,8BAA8B,EAC9B,6BAA6B,EAC7B,4CAA4C,EAC5C,kCAAkC,EAClC,8BAA8B,EAC9B,uCAAuC,GACxC,MAAM,0BAA0B,CAAC;AAGlC,YAAY,EAAE,6BAA6B,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAClG,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAG7E,OAAO,EACL,iCAAiC,EACjC,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAGlC,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG5D,YAAY,EACV,YAAY,EACZ,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,0BAA0B,EAC1B,+BAA+B,EAC/B,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,4CAA4C,EAC5C,6BAA6B,EAC7B,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,wBAAwB,EACxB,sBAAsB,EACtB,gCAAgC,EAChC,mBAAmB,EACnB,+BAA+B,EAC/B,gBAAgB,EAChB,2BAA2B,EAC3B,wBAAwB,EACxB,6BAA6B,EAC7B,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,wCAAwC,EACxC,yBAAyB,EACzB,gCAAgC,EAChC,6BAA6B,EAC7B,kCAAkC,GACnC,MAAM,4BAA4B,CAAC;AAGpC,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,EAC1B,sBAAsB,EACtB,gBAAgB,EAChB,aAAa,EACb,oCAAoC,EACpC,wBAAwB,EACxB,qBAAqB,EACrB,2BAA2B,EAC3B,oBAAoB,EACpB,yBAAyB,EACzB,6BAA6B,EAC7B,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,kBAAkB,EAClB,iCAAiC,EACjC,oCAAoC,GACrC,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EACV,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,YAAY,EACZ,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,+BAA+B,EAC/B,6BAA6B,EAC7B,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAG/B,YAAY,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAG1F,YAAY,EACV,uBAAuB,EACvB,wBAAwB,EACxB,+BAA+B,EAC/B,iCAAiC,EACjC,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,yBAAyB,EACzB,+BAA+B,EAC/B,kCAAkC,GACnC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,iCAAiC,EACjC,2CAA2C,EAC3C,uCAAuC,EACvC,wBAAwB,EACxB,wBAAwB,EACxB,sCAAsC,EACtC,kCAAkC,EAClC,wBAAwB,EACxB,oBAAoB,EACpB,0BAA0B,EAC1B,+BAA+B,EAC/B,gCAAgC,EAChC,wBAAwB,EACxB,mCAAmC,EACnC,+BAA+B,EAC/B,8BAA8B,EAC9B,gCAAgC,EAChC,iCAAiC,EACjC,gCAAgC,EAChC,iCAAiC,EACjC,wBAAwB,EACxB,yBAAyB,EACzB,6BAA6B,EAC7B,4BAA4B,EAC5B,oCAAoC,EACpC,gCAAgC,EAChC,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC5B,2BAA2B,EAC3B,iDAAiD,EACjD,sBAAsB,EACtB,6BAA6B,EAC7B,2BAA2B,EAC3B,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,gCAAgC,CAAC;AAExC,YAAY,EACV,eAAe,EACf,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,qBAAqB,EACrB,gCAAgC,EAChC,uBAAuB,EACvB,+BAA+B,EAC/B,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EACV,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,+BAA+B,EAC/B,uCAAuC,EACvC,+BAA+B,EAC/B,iCAAiC,EACjC,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AAGjC,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,YAAY,CAAC;AAGpB,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC1E,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;AAGtB,YAAY,EACV,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAChC,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;AAGhC,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,eAAe,EACf,cAAc,GACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,YAAY,EACZ,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAG/B,YAAY,EACV,SAAS,EACT,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAEhB,cAAc,IAAI,sBAAsB,GACzC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAG1F,YAAY,EACV,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACd,YAAY,GACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAG3D,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,iCAAiC,EACjC,0BAA0B,EAC1B,8BAA8B,EAC9B,6BAA6B,EAC7B,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAC/B,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;AAG/B,OAAO,EAAE,iCAAiC,EAAE,MAAM,cAAc,CAAC;AAGjE,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,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.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -10,9 +10,10 @@
10
10
  */
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.getPreviousFlowStepId = exports.getNextFlowStepId = exports.resolveIssuingCountry = exports.normalizeIssuingCountry = exports.getIssuingCountryMetadata = exports.validateKycMobileWorkflowConfigContract = exports.normalizeKycMobileDocumentType = exports.getKycMobileSupportedDocumentTypes = 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.hasNativeOverfullCaptureRisk = exports.hasHardCaptureCutOffEvidence = exports.hasReadySafeCardLiveEvidence = exports.hasReadyCaptureCandidateDecision = exports.hasTrustedCardFrontRecognitionReason = exports.hasTrustedMrzCaptureEvidence = exports.getCapturePageRecognitionText = exports.isCardFrontCaptureContext = exports.isCardLikeCaptureContext = exports.hasUnsafeInsetReliableCaptureQuad = exports.hasMarginSafeReliableCaptureQuad = exports.hasMarginSafeDocumentCropEvidence = exports.hasCaptureDocumentCutOffEvidence = exports.hasExplicitUnsafeCaptureReason = exports.hasExplicitDocumentCutOffReason = exports.getMeasuredDocumentCropMinAreaRatio = exports.isDocumentCropAspectSafe = exports.getDocumentCropSafetyAspectRatio = exports.getDocumentCropSafetyThresholds = exports.getDocumentCropShapeFamily = exports.isCardLikeCropAspect = exports.SAFE_LIVE_QUAD_INSET_MIN = exports.QUIET_ZONE_CLAMP_CUT_OFF_RISK_LOSS = exports.CARD_LIKE_MEASURED_CROP_MIN_AREA_RATIO = exports.DOCUMENT_CROP_ASPECT_MAX = exports.DOCUMENT_CROP_ASPECT_MIN = exports.DEFAULT_SUBMIT_CROP_INSET_FLOOR_ENABLED = exports.DEFAULT_RECTANGLE_CROP_CONFIDENCE_THRESHOLD = exports.DEFAULT_CROP_CONFIDENCE_THRESHOLD = exports.normalizeDocumentProfileType = exports.getDocumentProfile = exports.isCaptureDecisionEnvelope = exports.decideSubmittedDocumentImage = exports.CAPTURE_DECISION_ENVELOPE_KEY = exports.CAPTURE_ENVELOPE_SCHEMA_VERSION = exports.buildCaptureTrustDiagnosticsSnapshot = exports.buildCaptureTrustDecisionSnapshot = exports.decideCaptureTrust = exports.getDocumentCaptureFrameAspectRatio = exports.buildCaptureNormalizationPlan = exports.getRotationToExpectedOrientation = exports.mapPreviewRectToImageCrop = exports.mapPreviewRectToImageCropWithDiagnostics = exports.hasNoCropClarityUncertainty = exports.evaluateDocumentReviewQuality = exports.DOCUMENT_REVIEW_REGION_MIN_READABLE_WIDTH_PX = exports.analyzeImageMetadata = exports.checkDocumentLikelihood = exports.getDocumentReviewProfile = exports.getDocumentCaptureGeometryProfile = void 0;
14
- 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.maskSaturatedClusters = exports.isGlareDominantRegion = exports.computeSaturatedClusterCoverage = exports.GLARE_DOMINANT_COVERAGE = exports.GLARE_CLUSTER_MIN_NEIGHBOR_RATIO = exports.GLARE_SATURATION_LUMA = exports.getDocumentCropTrustTier = exports.getDocumentCropReviewPolicy = exports.assessDocumentCropCandidate = exports.getDocumentCropRejectedReason = exports.isDocumentCropVerified = exports.canTrustReadySafeCardEvidenceOverNativeUnsafeRisk = exports.hasNativeClampedCaptureRisk = void 0;
15
- 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 = exports.resolveCaptureGuidanceSignal = exports.CAPTURE_GUIDANCE_SIGNAL_TABLE = exports.resolveDocumentMrzPolicy = exports.parseMrzLines = exports.MRZ_TD1_LINE_LENGTH = void 0;
13
+ exports.getDocumentCropSafetyThresholds = exports.getDocumentCropShapeFamily = exports.isCardLikeCropAspect = exports.SAFE_LIVE_QUAD_INSET_MIN = exports.QUIET_ZONE_CLAMP_CUT_OFF_RISK_LOSS = exports.CARD_LIKE_MEASURED_CROP_MIN_AREA_RATIO = exports.DOCUMENT_CROP_ASPECT_MAX = exports.DOCUMENT_CROP_ASPECT_MIN = exports.DEFAULT_SUBMIT_CROP_INSET_FLOOR_ENABLED = exports.DEFAULT_RECTANGLE_CROP_CONFIDENCE_THRESHOLD = exports.DEFAULT_CROP_CONFIDENCE_THRESHOLD = exports.normalizeDocumentProfileType = exports.getDocumentProfile = exports.isCaptureDecisionEnvelope = exports.decideSubmittedDocumentImage = exports.CAPTURE_DECISION_ENVELOPE_KEY = exports.CAPTURE_ENVELOPE_SCHEMA_VERSION = exports.buildCaptureTrustDiagnosticsSnapshot = exports.buildCaptureTrustDecisionSnapshot = exports.decideCaptureTrust = exports.getDocumentCaptureFrameAspectRatio = exports.buildCaptureNormalizationPlan = exports.getRotationToExpectedOrientation = exports.mapPreviewRectToImageCrop = exports.mapPreviewRectToImageCropWithDiagnostics = exports.hasNoCropClarityUncertainty = exports.evaluateDocumentReviewQuality = exports.DOCUMENT_REVIEW_REGION_MIN_READABLE_WIDTH_PX = exports.resolveReviewRetakeDecisionPolicy = exports.isReviewUncertainDocumentPresentMetadata = exports.hasDocumentPresentPreReviewEvidence = exports.hasStructuralPreReviewMetadataSignal = exports.canTrustPassportPageEvidenceOverBadAspect = exports.hasTrustedPassportMrzPageEvidence = exports.hasCorroboratedPassportPageEvidence = exports.hasAcceptedPassportPageRecognition = exports.isRecoverablePreReviewSendForReviewReason = exports.isStructuralPreReviewRetakeReason = exports.normalizePreReviewReasonCode = exports.PRE_REVIEW_DOCUMENT_EVIDENCE_LOW_CLASSIFIER_THRESHOLD = exports.PRE_REVIEW_DOCUMENT_EVIDENCE_MEDIUM_THRESHOLD = exports.PRE_REVIEW_MRZ_CONFIRMED_CONFIDENCE_MIN = exports.PRE_REVIEW_DOCUMENT_PRESENT_CROP_PROVENANCE = exports.PRE_REVIEW_STRUCTURAL_UNSAFE_REASONS = exports.PRE_REVIEW_RECOVERABLE_SEND_FOR_REVIEW_REASONS = exports.PRE_REVIEW_STRUCTURAL_RETAKE_REASONS = exports.analyzeImageMetadata = exports.checkDocumentLikelihood = exports.getDocumentReviewProfile = exports.getDocumentCaptureGeometryProfile = void 0;
14
+ 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.maskSaturatedClusters = exports.isGlareDominantRegion = exports.computeSaturatedClusterCoverage = exports.GLARE_DOMINANT_COVERAGE = exports.GLARE_CLUSTER_MIN_NEIGHBOR_RATIO = exports.GLARE_SATURATION_LUMA = exports.getDocumentCropTrustTier = exports.getDocumentCropReviewPolicy = exports.assessDocumentCropCandidate = exports.getDocumentCropRejectedReason = exports.isDocumentCropVerified = exports.canTrustReadySafeCardEvidenceOverNativeUnsafeRisk = exports.hasNativeClampedCaptureRisk = exports.hasNativeOverfullCaptureRisk = exports.hasHardCaptureCutOffEvidence = exports.hasReadySafeCardLiveEvidence = exports.hasReadyCaptureCandidateDecision = exports.hasTrustedCardFrontRecognitionReason = exports.hasTrustedMrzCaptureEvidence = exports.getCapturePageRecognitionText = exports.isCardFrontCaptureContext = exports.isCardLikeCaptureContext = exports.hasUnsafeInsetReliableCaptureQuad = exports.hasMarginSafeReliableCaptureQuad = exports.hasMarginSafeDocumentCropEvidence = exports.hasCaptureDocumentCutOffEvidence = exports.hasExplicitUnsafeCaptureReason = exports.hasExplicitDocumentCutOffReason = exports.getMeasuredDocumentCropMinAreaRatio = exports.isDocumentCropAspectSafe = exports.getDocumentCropSafetyAspectRatio = void 0;
15
+ 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 = 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 = void 0;
16
+ exports.getOverrideBannerMessage = exports.getOverrideButtonText = exports.getNextButtonDisabledReason = exports.evaluateReviewFailure = exports.evaluateSelfieFailure = exports.evaluateDocumentFailure = exports.isFaceCentered = exports.checkFaceInImage = exports.runSelfieQualityChecks = exports.runDocumentQualityChecks = void 0;
16
17
  var types_js_1 = require("./types.js");
17
18
  Object.defineProperty(exports, "CamState", { enumerable: true, get: function () { return types_js_1.CamState; } });
18
19
  Object.defineProperty(exports, "CAM_ANALYSIS_W", { enumerable: true, get: function () { return types_js_1.CAM_ANALYSIS_W; } });
@@ -75,6 +76,25 @@ Object.defineProperty(exports, "getDocumentReviewProfile", { enumerable: true, g
75
76
  Object.defineProperty(exports, "checkDocumentLikelihood", { enumerable: true, get: function () { return document_classifier_js_1.checkDocumentLikelihood; } });
76
77
  var metadata_review_js_1 = require("./metadata-review.js");
77
78
  Object.defineProperty(exports, "analyzeImageMetadata", { enumerable: true, get: function () { return metadata_review_js_1.analyzeImageMetadata; } });
79
+ var pre_review_policy_js_1 = require("./pre-review-policy.js");
80
+ Object.defineProperty(exports, "PRE_REVIEW_STRUCTURAL_RETAKE_REASONS", { enumerable: true, get: function () { return pre_review_policy_js_1.PRE_REVIEW_STRUCTURAL_RETAKE_REASONS; } });
81
+ Object.defineProperty(exports, "PRE_REVIEW_RECOVERABLE_SEND_FOR_REVIEW_REASONS", { enumerable: true, get: function () { return pre_review_policy_js_1.PRE_REVIEW_RECOVERABLE_SEND_FOR_REVIEW_REASONS; } });
82
+ Object.defineProperty(exports, "PRE_REVIEW_STRUCTURAL_UNSAFE_REASONS", { enumerable: true, get: function () { return pre_review_policy_js_1.PRE_REVIEW_STRUCTURAL_UNSAFE_REASONS; } });
83
+ Object.defineProperty(exports, "PRE_REVIEW_DOCUMENT_PRESENT_CROP_PROVENANCE", { enumerable: true, get: function () { return pre_review_policy_js_1.PRE_REVIEW_DOCUMENT_PRESENT_CROP_PROVENANCE; } });
84
+ Object.defineProperty(exports, "PRE_REVIEW_MRZ_CONFIRMED_CONFIDENCE_MIN", { enumerable: true, get: function () { return pre_review_policy_js_1.PRE_REVIEW_MRZ_CONFIRMED_CONFIDENCE_MIN; } });
85
+ Object.defineProperty(exports, "PRE_REVIEW_DOCUMENT_EVIDENCE_MEDIUM_THRESHOLD", { enumerable: true, get: function () { return pre_review_policy_js_1.PRE_REVIEW_DOCUMENT_EVIDENCE_MEDIUM_THRESHOLD; } });
86
+ Object.defineProperty(exports, "PRE_REVIEW_DOCUMENT_EVIDENCE_LOW_CLASSIFIER_THRESHOLD", { enumerable: true, get: function () { return pre_review_policy_js_1.PRE_REVIEW_DOCUMENT_EVIDENCE_LOW_CLASSIFIER_THRESHOLD; } });
87
+ Object.defineProperty(exports, "normalizePreReviewReasonCode", { enumerable: true, get: function () { return pre_review_policy_js_1.normalizePreReviewReasonCode; } });
88
+ Object.defineProperty(exports, "isStructuralPreReviewRetakeReason", { enumerable: true, get: function () { return pre_review_policy_js_1.isStructuralPreReviewRetakeReason; } });
89
+ Object.defineProperty(exports, "isRecoverablePreReviewSendForReviewReason", { enumerable: true, get: function () { return pre_review_policy_js_1.isRecoverablePreReviewSendForReviewReason; } });
90
+ Object.defineProperty(exports, "hasAcceptedPassportPageRecognition", { enumerable: true, get: function () { return pre_review_policy_js_1.hasAcceptedPassportPageRecognition; } });
91
+ Object.defineProperty(exports, "hasCorroboratedPassportPageEvidence", { enumerable: true, get: function () { return pre_review_policy_js_1.hasCorroboratedPassportPageEvidence; } });
92
+ Object.defineProperty(exports, "hasTrustedPassportMrzPageEvidence", { enumerable: true, get: function () { return pre_review_policy_js_1.hasTrustedPassportMrzPageEvidence; } });
93
+ Object.defineProperty(exports, "canTrustPassportPageEvidenceOverBadAspect", { enumerable: true, get: function () { return pre_review_policy_js_1.canTrustPassportPageEvidenceOverBadAspect; } });
94
+ Object.defineProperty(exports, "hasStructuralPreReviewMetadataSignal", { enumerable: true, get: function () { return pre_review_policy_js_1.hasStructuralPreReviewMetadataSignal; } });
95
+ Object.defineProperty(exports, "hasDocumentPresentPreReviewEvidence", { enumerable: true, get: function () { return pre_review_policy_js_1.hasDocumentPresentPreReviewEvidence; } });
96
+ Object.defineProperty(exports, "isReviewUncertainDocumentPresentMetadata", { enumerable: true, get: function () { return pre_review_policy_js_1.isReviewUncertainDocumentPresentMetadata; } });
97
+ Object.defineProperty(exports, "resolveReviewRetakeDecisionPolicy", { enumerable: true, get: function () { return pre_review_policy_js_1.resolveReviewRetakeDecisionPolicy; } });
78
98
  var review_quality_js_1 = require("./review-quality.js");
79
99
  Object.defineProperty(exports, "DOCUMENT_REVIEW_REGION_MIN_READABLE_WIDTH_PX", { enumerable: true, get: function () { return review_quality_js_1.DOCUMENT_REVIEW_REGION_MIN_READABLE_WIDTH_PX; } });
80
100
  Object.defineProperty(exports, "evaluateDocumentReviewQuality", { enumerable: true, get: function () { return review_quality_js_1.evaluateDocumentReviewQuality; } });
@@ -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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"}
@@ -1,6 +1,6 @@
1
- import type { MetadataReviewResult } from './types.js';
1
+ import type { MetadataReviewResult, ReviewMode } from './types.js';
2
2
  export interface MetadataReviewInput {
3
- type: 'document' | 'selfie';
3
+ type: ReviewMode;
4
4
  width: number;
5
5
  height: number;
6
6
  fileSize?: number | null;
@@ -1 +1 @@
1
- {"version":3,"file":"metadata-review.d.ts","sourceRoot":"","sources":["../../src/metadata-review.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,oBAAoB,EAErB,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,UAAU,GAAG,QAAQ,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AA4BD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,GAAG,oBAAoB,CAoFrF"}
1
+ {"version":3,"file":"metadata-review.d.ts","sourceRoot":"","sources":["../../src/metadata-review.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,oBAAoB,EAEpB,UAAU,EACX,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AA4BD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,GAAG,oBAAoB,CA4FrF"}
@@ -14,7 +14,7 @@ function getOrientation(width, height) {
14
14
  return 'portrait';
15
15
  return 'square';
16
16
  }
17
- function buildResult(type, orientation, issues, isDocument = type === 'document') {
17
+ function buildResult(type, orientation, issues, isDocument = type === 'document' || type === 'address-document') {
18
18
  return {
19
19
  passed: issues.every(issue => issue.severity !== 'error'),
20
20
  issues,
@@ -70,7 +70,16 @@ function analyzeImageMetadata(input) {
70
70
  });
71
71
  }
72
72
  }
73
- else if (orientation === 'landscape') {
73
+ else if (input.type === 'address-document') {
74
+ if (orientation === 'landscape') {
75
+ issues.push({
76
+ key: 'address_document_landscape',
77
+ message: 'Make sure the name and address are readable before continuing.',
78
+ severity: 'warning',
79
+ });
80
+ }
81
+ }
82
+ else if (input.type === 'selfie' && orientation === 'landscape') {
74
83
  issues.push({
75
84
  key: 'selfie_landscape',
76
85
  message: 'Use portrait orientation so the full face and shoulders fit in frame.',
@@ -86,7 +95,7 @@ function analyzeImageMetadata(input) {
86
95
  severity: 'warning',
87
96
  });
88
97
  }
89
- const isDocument = input.type === 'document' &&
98
+ const isDocument = (input.type === 'document' || input.type === 'address-document') &&
90
99
  !issues.some(issue => issue.key === 'bad_aspect');
91
100
  return buildResult(input.type, orientation, issues, isDocument);
92
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"metadata-review.js","sourceRoot":"","sources":["../../src/metadata-review.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata-review.js","sourceRoot":"","sources":["../../src/metadata-review.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ import { type DocumentCropArbitrationMetadata } from './document-crop-arbitration.js';
2
+ export type PreReviewRetakeSeverity = 'likely_rejected' | 'advisory';
3
+ export type ReviewRetakeDecisionKind = 'none' | 'retake' | 'warn';
4
+ export type ReviewRetakeDecisionSource = 'pre_review_retake' | 'review' | 'legacy_review';
5
+ export interface PreReviewDocumentContext {
6
+ documentType?: string | null;
7
+ documentSide?: 'front' | 'back' | string | null;
8
+ }
9
+ export interface PreReviewMetadataSignal {
10
+ cropProvenance?: string | null;
11
+ cropSelectable?: boolean | null;
12
+ cropVerified?: boolean | null;
13
+ cutOffRisk?: 'low' | 'medium' | 'high' | string | null;
14
+ clamped?: boolean | null;
15
+ unsafeReason?: string | null;
16
+ preReviewRetakeReason?: string | null;
17
+ liveQuadPresent?: boolean | null;
18
+ liveBoundsReliable?: boolean | null;
19
+ liveQuadInsetMin?: number | null;
20
+ liveMrzConfidence?: number | null;
21
+ liveMrzCheckDigitsValid?: boolean | null;
22
+ liveMrzValidated?: boolean | null;
23
+ liveMrzUnexpectedForSide?: boolean | null;
24
+ documentEvidenceLevel?: 'high' | 'medium' | 'low' | string | null;
25
+ documentEvidenceScore?: number | null;
26
+ classifierConfidence?: number | null;
27
+ qualityViews?: Array<{
28
+ evidenceScore?: number | null;
29
+ classifierConfidence?: number | null;
30
+ }> | null;
31
+ }
32
+ export interface PassportMrzPageEvidenceOptions {
33
+ recognitionText?: string | null;
34
+ }
35
+ export interface ReviewRetakeDecisionPolicyInput {
36
+ preReviewReason?: string;
37
+ preReviewReasonCode?: string;
38
+ preReviewSeverity?: PreReviewRetakeSeverity;
39
+ preReviewOverrideAllowed?: boolean;
40
+ preReviewDocumentPresentReviewUncertain?: boolean;
41
+ reviewContradictsStructuralPreReview?: boolean;
42
+ reviewHardFailureActive?: boolean;
43
+ anyExplicitFail?: boolean;
44
+ failCount?: number;
45
+ submitAnywayThreshold?: number;
46
+ hardBlockingReviewFailure?: boolean;
47
+ }
48
+ export interface ReviewRetakeDecisionPolicyResult {
49
+ kind: ReviewRetakeDecisionKind;
50
+ source?: ReviewRetakeDecisionSource;
51
+ bannerStatus?: 'fail' | 'warn';
52
+ }
53
+ export declare const PRE_REVIEW_STRUCTURAL_RETAKE_REASONS: readonly ["cut_off", "too_small", "bad_aspect", "document_not_found"];
54
+ export declare const PRE_REVIEW_RECOVERABLE_SEND_FOR_REVIEW_REASONS: readonly ["too_blurry", "glare", "too_dark", "weak_back_text", "weak_readable_text"];
55
+ export declare const PRE_REVIEW_STRUCTURAL_UNSAFE_REASONS: readonly ["too_small", "too_large", "bad_aspect", "clamped_edge", "nearly_full_frame", "document_not_found"];
56
+ export declare const PRE_REVIEW_DOCUMENT_PRESENT_CROP_PROVENANCE: readonly ["same_candidate", "review_auto_crop", "still_redetect"];
57
+ export declare const PRE_REVIEW_MRZ_CONFIRMED_CONFIDENCE_MIN = 0.45;
58
+ export declare const PRE_REVIEW_DOCUMENT_EVIDENCE_MEDIUM_THRESHOLD = 45;
59
+ export declare const PRE_REVIEW_DOCUMENT_EVIDENCE_LOW_CLASSIFIER_THRESHOLD = 42;
60
+ export declare const normalizePreReviewReasonCode: (reasonCode: string | null | undefined) => string | undefined;
61
+ export declare const isStructuralPreReviewRetakeReason: (reasonCode: string | null | undefined) => boolean;
62
+ export declare const isRecoverablePreReviewSendForReviewReason: (reasonCode: string | null | undefined) => boolean;
63
+ export declare const hasAcceptedPassportPageRecognition: (metadata: DocumentCropArbitrationMetadata | null | undefined, recognitionText?: string | null) => boolean;
64
+ export declare const hasCorroboratedPassportPageEvidence: (metadata: DocumentCropArbitrationMetadata | null | undefined, options?: PassportMrzPageEvidenceOptions) => boolean;
65
+ export declare const hasTrustedPassportMrzPageEvidence: (metadata: DocumentCropArbitrationMetadata | null | undefined, options?: PassportMrzPageEvidenceOptions) => boolean;
66
+ export declare const canTrustPassportPageEvidenceOverBadAspect: (metadata: DocumentCropArbitrationMetadata | null | undefined, context: PreReviewDocumentContext | undefined, options?: PassportMrzPageEvidenceOptions) => boolean;
67
+ export declare const hasStructuralPreReviewMetadataSignal: (metadata: PreReviewMetadataSignal | undefined) => boolean;
68
+ export declare const hasDocumentPresentPreReviewEvidence: (metadata: PreReviewMetadataSignal | undefined) => boolean;
69
+ export declare const isReviewUncertainDocumentPresentMetadata: (metadata: PreReviewMetadataSignal | undefined) => boolean;
70
+ export declare function resolveReviewRetakeDecisionPolicy(input: ReviewRetakeDecisionPolicyInput): ReviewRetakeDecisionPolicyResult;
71
+ //# sourceMappingURL=pre-review-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pre-review-policy.d.ts","sourceRoot":"","sources":["../../src/pre-review-policy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isReviewUncertainDocumentPresentMetadata = exports.hasDocumentPresentPreReviewEvidence = exports.hasStructuralPreReviewMetadataSignal = exports.canTrustPassportPageEvidenceOverBadAspect = exports.hasTrustedPassportMrzPageEvidence = exports.hasCorroboratedPassportPageEvidence = exports.hasAcceptedPassportPageRecognition = exports.isRecoverablePreReviewSendForReviewReason = exports.isStructuralPreReviewRetakeReason = exports.normalizePreReviewReasonCode = exports.PRE_REVIEW_DOCUMENT_EVIDENCE_LOW_CLASSIFIER_THRESHOLD = exports.PRE_REVIEW_DOCUMENT_EVIDENCE_MEDIUM_THRESHOLD = exports.PRE_REVIEW_MRZ_CONFIRMED_CONFIDENCE_MIN = exports.PRE_REVIEW_DOCUMENT_PRESENT_CROP_PROVENANCE = exports.PRE_REVIEW_STRUCTURAL_UNSAFE_REASONS = exports.PRE_REVIEW_RECOVERABLE_SEND_FOR_REVIEW_REASONS = exports.PRE_REVIEW_STRUCTURAL_RETAKE_REASONS = void 0;
4
+ exports.resolveReviewRetakeDecisionPolicy = resolveReviewRetakeDecisionPolicy;
5
+ const document_crop_arbitration_js_1 = require("./document-crop-arbitration.js");
6
+ const document_profiles_js_1 = require("./document-profiles.js");
7
+ exports.PRE_REVIEW_STRUCTURAL_RETAKE_REASONS = [
8
+ 'cut_off',
9
+ 'too_small',
10
+ 'bad_aspect',
11
+ 'document_not_found',
12
+ ];
13
+ exports.PRE_REVIEW_RECOVERABLE_SEND_FOR_REVIEW_REASONS = [
14
+ 'too_blurry',
15
+ 'glare',
16
+ 'too_dark',
17
+ 'weak_back_text',
18
+ 'weak_readable_text',
19
+ ];
20
+ exports.PRE_REVIEW_STRUCTURAL_UNSAFE_REASONS = [
21
+ 'too_small',
22
+ 'too_large',
23
+ 'bad_aspect',
24
+ 'clamped_edge',
25
+ 'nearly_full_frame',
26
+ 'document_not_found',
27
+ ];
28
+ exports.PRE_REVIEW_DOCUMENT_PRESENT_CROP_PROVENANCE = [
29
+ 'same_candidate',
30
+ 'review_auto_crop',
31
+ 'still_redetect',
32
+ ];
33
+ exports.PRE_REVIEW_MRZ_CONFIRMED_CONFIDENCE_MIN = 0.45;
34
+ exports.PRE_REVIEW_DOCUMENT_EVIDENCE_MEDIUM_THRESHOLD = 45;
35
+ exports.PRE_REVIEW_DOCUMENT_EVIDENCE_LOW_CLASSIFIER_THRESHOLD = 42;
36
+ const STRUCTURAL_PRE_REVIEW_RETAKE_REASONS = new Set(exports.PRE_REVIEW_STRUCTURAL_RETAKE_REASONS);
37
+ const RECOVERABLE_PRE_REVIEW_SEND_FOR_REVIEW_REASONS = new Set(exports.PRE_REVIEW_RECOVERABLE_SEND_FOR_REVIEW_REASONS);
38
+ const STRUCTURAL_PRE_REVIEW_METADATA_UNSAFE_REASONS = new Set(exports.PRE_REVIEW_STRUCTURAL_UNSAFE_REASONS);
39
+ const DOCUMENT_PRESENT_PRE_REVIEW_CROP_PROVENANCE = new Set(exports.PRE_REVIEW_DOCUMENT_PRESENT_CROP_PROVENANCE);
40
+ const normalizePreReviewReasonCode = (reasonCode) => {
41
+ const normalized = reasonCode?.trim().toLowerCase();
42
+ return normalized || undefined;
43
+ };
44
+ exports.normalizePreReviewReasonCode = normalizePreReviewReasonCode;
45
+ const isStructuralPreReviewRetakeReason = (reasonCode) => {
46
+ const normalized = (0, exports.normalizePreReviewReasonCode)(reasonCode);
47
+ return Boolean(normalized && STRUCTURAL_PRE_REVIEW_RETAKE_REASONS.has(normalized));
48
+ };
49
+ exports.isStructuralPreReviewRetakeReason = isStructuralPreReviewRetakeReason;
50
+ const isRecoverablePreReviewSendForReviewReason = (reasonCode) => {
51
+ const normalized = (0, exports.normalizePreReviewReasonCode)(reasonCode);
52
+ return Boolean(normalized && RECOVERABLE_PRE_REVIEW_SEND_FOR_REVIEW_REASONS.has(normalized));
53
+ };
54
+ exports.isRecoverablePreReviewSendForReviewReason = isRecoverablePreReviewSendForReviewReason;
55
+ const hasFiniteValueAtLeast = (value, threshold) => typeof value === 'number' && Number.isFinite(value) && value >= threshold;
56
+ const isPassportFrontContext = (context) => (0, document_profiles_js_1.getDocumentProfile)(context?.documentType).family === 'passport' &&
57
+ context?.documentSide === 'front';
58
+ const toDocumentCropMetadata = (metadata) => metadata;
59
+ const hasAcceptedPassportPageRecognition = (metadata, recognitionText) => {
60
+ if (metadata?.liveRecognitionAccepted !== true)
61
+ return false;
62
+ const text = (0, document_crop_arbitration_js_1.getCapturePageRecognitionText)(metadata, recognitionText);
63
+ return text.includes('mrz') || text.includes('quad');
64
+ };
65
+ exports.hasAcceptedPassportPageRecognition = hasAcceptedPassportPageRecognition;
66
+ const hasCorroboratedPassportPageEvidence = (metadata, options = {}) => (0, exports.hasAcceptedPassportPageRecognition)(metadata, options.recognitionText) ||
67
+ (0, document_crop_arbitration_js_1.hasMarginSafeReliableCaptureQuad)(toDocumentCropMetadata(metadata));
68
+ exports.hasCorroboratedPassportPageEvidence = hasCorroboratedPassportPageEvidence;
69
+ const hasTrustedPassportMrzPageEvidence = (metadata, options = {}) => {
70
+ if (!metadata)
71
+ return false;
72
+ if ((0, document_crop_arbitration_js_1.hasUnsafeInsetReliableCaptureQuad)(toDocumentCropMetadata(metadata)))
73
+ return false;
74
+ if (!(0, document_crop_arbitration_js_1.hasTrustedMrzCaptureEvidence)(toDocumentCropMetadata(metadata), options.recognitionText)) {
75
+ return false;
76
+ }
77
+ if (metadata.cutOffRisk === 'high') {
78
+ // Book-continuation tolerance: cut-off risk grades the OUTER detected
79
+ // bounds, and for an open passport book that is the book. The second page
80
+ // can run past the frame even when the photo/MRZ page is framed well, so
81
+ // a confirmed MRZ plus an accepted mrz/quad recognition path is page-level
82
+ // evidence that outranks the book-level bbox. Unsafe page quads still veto
83
+ // above because that quad describes the page itself.
84
+ return (0, exports.hasAcceptedPassportPageRecognition)(metadata, options.recognitionText);
85
+ }
86
+ return (0, exports.hasCorroboratedPassportPageEvidence)(metadata, options);
87
+ };
88
+ exports.hasTrustedPassportMrzPageEvidence = hasTrustedPassportMrzPageEvidence;
89
+ const canTrustPassportPageEvidenceOverBadAspect = (metadata, context, options = {}) => isPassportFrontContext(context) && (0, exports.hasTrustedPassportMrzPageEvidence)(metadata, options);
90
+ exports.canTrustPassportPageEvidenceOverBadAspect = canTrustPassportPageEvidenceOverBadAspect;
91
+ const hasStructuralPreReviewMetadataSignal = (metadata) => {
92
+ if (!metadata)
93
+ return false;
94
+ if ((0, exports.isStructuralPreReviewRetakeReason)(metadata.preReviewRetakeReason))
95
+ return true;
96
+ if (metadata.cutOffRisk === 'high')
97
+ return true;
98
+ if (metadata.clamped === true)
99
+ return true;
100
+ if (metadata.liveMrzUnexpectedForSide === true)
101
+ return true;
102
+ const unsafeReason = (0, exports.normalizePreReviewReasonCode)(metadata.unsafeReason);
103
+ return Boolean(unsafeReason && STRUCTURAL_PRE_REVIEW_METADATA_UNSAFE_REASONS.has(unsafeReason));
104
+ };
105
+ exports.hasStructuralPreReviewMetadataSignal = hasStructuralPreReviewMetadataSignal;
106
+ const hasDocumentPresentPreReviewEvidence = (metadata) => {
107
+ if (!metadata)
108
+ return false;
109
+ const cropProvenance = (0, exports.normalizePreReviewReasonCode)(metadata.cropProvenance);
110
+ if (metadata.cropVerified === true &&
111
+ metadata.cropSelectable !== false &&
112
+ cropProvenance &&
113
+ DOCUMENT_PRESENT_PRE_REVIEW_CROP_PROVENANCE.has(cropProvenance)) {
114
+ return true;
115
+ }
116
+ if (metadata.liveQuadPresent === true &&
117
+ metadata.liveBoundsReliable !== false &&
118
+ hasFiniteValueAtLeast(metadata.liveQuadInsetMin, 0.02)) {
119
+ return true;
120
+ }
121
+ if (metadata.liveMrzValidated === true ||
122
+ metadata.liveMrzCheckDigitsValid === true ||
123
+ (hasFiniteValueAtLeast(metadata.liveMrzConfidence, exports.PRE_REVIEW_MRZ_CONFIRMED_CONFIDENCE_MIN) &&
124
+ metadata.liveMrzUnexpectedForSide !== true)) {
125
+ return true;
126
+ }
127
+ if (metadata.documentEvidenceLevel === 'high' ||
128
+ metadata.documentEvidenceLevel === 'medium' ||
129
+ hasFiniteValueAtLeast(metadata.documentEvidenceScore, exports.PRE_REVIEW_DOCUMENT_EVIDENCE_MEDIUM_THRESHOLD) ||
130
+ hasFiniteValueAtLeast(metadata.classifierConfidence, exports.PRE_REVIEW_DOCUMENT_EVIDENCE_LOW_CLASSIFIER_THRESHOLD)) {
131
+ return true;
132
+ }
133
+ return (metadata.qualityViews?.some(view => hasFiniteValueAtLeast(view.evidenceScore, exports.PRE_REVIEW_DOCUMENT_EVIDENCE_MEDIUM_THRESHOLD) ||
134
+ hasFiniteValueAtLeast(view.classifierConfidence, exports.PRE_REVIEW_DOCUMENT_EVIDENCE_LOW_CLASSIFIER_THRESHOLD)) === true);
135
+ };
136
+ exports.hasDocumentPresentPreReviewEvidence = hasDocumentPresentPreReviewEvidence;
137
+ const isReviewUncertainDocumentPresentMetadata = (metadata) => {
138
+ if (!metadata || (0, exports.hasStructuralPreReviewMetadataSignal)(metadata))
139
+ return false;
140
+ return (0, exports.hasDocumentPresentPreReviewEvidence)(metadata);
141
+ };
142
+ exports.isReviewUncertainDocumentPresentMetadata = isReviewUncertainDocumentPresentMetadata;
143
+ function resolveReviewRetakeDecisionPolicy(input) {
144
+ const reasonCode = (0, exports.normalizePreReviewReasonCode)(input.preReviewReasonCode);
145
+ const hasPreReviewWarning = Boolean(input.preReviewReason?.trim() || reasonCode);
146
+ if (input.reviewHardFailureActive) {
147
+ return hasPreReviewWarning ? { kind: 'retake', source: 'review' } : { kind: 'none' };
148
+ }
149
+ if (hasPreReviewWarning) {
150
+ if ((0, exports.isStructuralPreReviewRetakeReason)(reasonCode)) {
151
+ if (input.reviewContradictsStructuralPreReview === true) {
152
+ return { kind: 'none' };
153
+ }
154
+ return { kind: 'retake', source: 'pre_review_retake' };
155
+ }
156
+ if (input.preReviewOverrideAllowed === true &&
157
+ (0, exports.isRecoverablePreReviewSendForReviewReason)(reasonCode)) {
158
+ return {
159
+ kind: 'warn',
160
+ source: 'pre_review_retake',
161
+ bannerStatus: input.preReviewSeverity === 'likely_rejected' ? 'fail' : 'warn',
162
+ };
163
+ }
164
+ if (input.preReviewOverrideAllowed === true &&
165
+ input.preReviewDocumentPresentReviewUncertain === true) {
166
+ return {
167
+ kind: 'warn',
168
+ source: 'pre_review_retake',
169
+ bannerStatus: input.preReviewSeverity === 'likely_rejected' ? 'fail' : 'warn',
170
+ };
171
+ }
172
+ return { kind: 'retake', source: 'pre_review_retake' };
173
+ }
174
+ if (!input.anyExplicitFail || input.hardBlockingReviewFailure) {
175
+ return { kind: 'none' };
176
+ }
177
+ const failCount = input.failCount ?? 0;
178
+ const threshold = input.submitAnywayThreshold ?? Number.POSITIVE_INFINITY;
179
+ return failCount >= threshold ? { kind: 'warn', source: 'legacy_review' } : { kind: 'none' };
180
+ }
181
+ //# sourceMappingURL=pre-review-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pre-review-policy.js","sourceRoot":"","sources":["../../src/pre-review-policy.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.16";
6
+ export declare const CAPTURE_INTELLIGENCE_CORE_VERSION = "0.2.17";
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.16';
9
+ exports.CAPTURE_INTELLIGENCE_CORE_VERSION = '0.2.17';
10
10
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metadata-review.fixtures.d.ts","sourceRoot":"","sources":["../../../src/__fixtures__/metadata-review.fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,mBAAmB,CAAC;IAC3B,QAAQ,EAAE,IAAI,CAAC,oBAAoB,EAAE,QAAQ,GAAG,aAAa,GAAG,YAAY,CAAC,GAAG;QAC9E,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED,eAAO,MAAM,sBAAsB,EAAE,qBAAqB,EAgEzD,CAAC"}
1
+ {"version":3,"file":"metadata-review.fixtures.d.ts","sourceRoot":"","sources":["../../../src/__fixtures__/metadata-review.fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,mBAAmB,CAAC;IAC3B,QAAQ,EAAE,IAAI,CAAC,oBAAoB,EAAE,QAAQ,GAAG,aAAa,GAAG,YAAY,CAAC,GAAG;QAC9E,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED,eAAO,MAAM,sBAAsB,EAAE,qBAAqB,EAgGzD,CAAC"}
@@ -46,6 +46,38 @@ export const metadataReviewFixtures = [
46
46
  issueKeys: ['selfie_landscape', 'low_detail'],
47
47
  },
48
48
  },
49
+ {
50
+ id: 'address-document-keeps-page-review-mode-without-id-shape-check',
51
+ input: {
52
+ type: 'address-document',
53
+ width: 1000,
54
+ height: 1000,
55
+ documentType: 'utility_bill',
56
+ fileSize: 180_000,
57
+ },
58
+ expected: {
59
+ passed: true,
60
+ orientation: 'square',
61
+ isDocument: true,
62
+ issueKeys: [],
63
+ },
64
+ },
65
+ {
66
+ id: 'front-door-is-not-coerced-to-id-document-review',
67
+ input: {
68
+ type: 'front-door',
69
+ width: 1000,
70
+ height: 1000,
71
+ documentType: 'front_door_photo',
72
+ fileSize: 180_000,
73
+ },
74
+ expected: {
75
+ passed: true,
76
+ orientation: 'square',
77
+ isDocument: false,
78
+ issueKeys: [],
79
+ },
80
+ },
49
81
  {
50
82
  id: 'tiny-document-fails-immediately',
51
83
  input: {
@@ -1 +1 @@
1
- {"version":3,"file":"metadata-review.fixtures.js","sourceRoot":"","sources":["../../../src/__fixtures__/metadata-review.fixtures.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,sBAAsB,GAA4B;IAC7D;QACE,EAAE,EAAE,mCAAmC;QACvC,KAAK,EAAE;YACL,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,UAAU;YACxB,QAAQ,EAAE,OAAO;SAClB;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,QAAQ;YACrB,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,CAAC,YAAY,CAAC;SAC1B;KACF;IACD;QACE,EAAE,EAAE,qCAAqC;QACzC,KAAK,EAAE;YACL,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,aAAa;YAC3B,QAAQ,EAAE,OAAO;SAClB;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,UAAU;YACvB,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,CAAC,kBAAkB,CAAC;SAChC;KACF;IACD;QACE,EAAE,EAAE,mDAAmD;QACvD,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,GAAG;YACX,QAAQ,EAAE,MAAM;SACjB;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,WAAW;YACxB,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,CAAC,kBAAkB,EAAE,YAAY,CAAC;SAC9C;KACF;IACD;QACE,EAAE,EAAE,iCAAiC;QACrC,KAAK,EAAE;YACL,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,YAAY,EAAE,iBAAiB;YAC/B,QAAQ,EAAE,MAAM;SACjB;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,WAAW;YACxB,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,CAAC,WAAW,CAAC;SACzB;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"metadata-review.fixtures.js","sourceRoot":"","sources":["../../../src/__fixtures__/metadata-review.fixtures.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,sBAAsB,GAA4B;IAC7D;QACE,EAAE,EAAE,mCAAmC;QACvC,KAAK,EAAE;YACL,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,UAAU;YACxB,QAAQ,EAAE,OAAO;SAClB;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,QAAQ;YACrB,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,CAAC,YAAY,CAAC;SAC1B;KACF;IACD;QACE,EAAE,EAAE,qCAAqC;QACzC,KAAK,EAAE;YACL,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,aAAa;YAC3B,QAAQ,EAAE,OAAO;SAClB;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,UAAU;YACvB,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,CAAC,kBAAkB,CAAC;SAChC;KACF;IACD;QACE,EAAE,EAAE,mDAAmD;QACvD,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,GAAG;YACX,QAAQ,EAAE,MAAM;SACjB;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,WAAW;YACxB,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,CAAC,kBAAkB,EAAE,YAAY,CAAC;SAC9C;KACF;IACD;QACE,EAAE,EAAE,gEAAgE;QACpE,KAAK,EAAE;YACL,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,cAAc;YAC5B,QAAQ,EAAE,OAAO;SAClB;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,QAAQ;YACrB,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,EAAE;SACd;KACF;IACD;QACE,EAAE,EAAE,iDAAiD;QACrD,KAAK,EAAE;YACL,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,kBAAkB;YAChC,QAAQ,EAAE,OAAO;SAClB;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,QAAQ;YACrB,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,EAAE;SACd;KACF;IACD;QACE,EAAE,EAAE,iCAAiC;QACrC,KAAK,EAAE;YACL,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,YAAY,EAAE,iBAAiB;YAC/B,QAAQ,EAAE,MAAM;SACjB;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,WAAW;YACxB,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,CAAC,WAAW,CAAC;SACzB;KACF;CACF,CAAC"}
@@ -20,6 +20,8 @@ export { getNextFlowStepId, getPreviousFlowStepId } from './flow-routing.js';
20
20
  export { getDocumentCaptureGeometryProfile, getDocumentReviewProfile, checkDocumentLikelihood, } from './document-classifier.js';
21
21
  export type { MetadataReviewInput } from './metadata-review.js';
22
22
  export { analyzeImageMetadata } from './metadata-review.js';
23
+ export type { PreReviewDocumentContext, PreReviewMetadataSignal, PassportMrzPageEvidenceOptions, PreReviewRetakeSeverity, ReviewRetakeDecisionKind, ReviewRetakeDecisionSource, ReviewRetakeDecisionPolicyInput, ReviewRetakeDecisionPolicyResult, } from './pre-review-policy.js';
24
+ export { PRE_REVIEW_STRUCTURAL_RETAKE_REASONS, PRE_REVIEW_RECOVERABLE_SEND_FOR_REVIEW_REASONS, PRE_REVIEW_STRUCTURAL_UNSAFE_REASONS, PRE_REVIEW_DOCUMENT_PRESENT_CROP_PROVENANCE, PRE_REVIEW_MRZ_CONFIRMED_CONFIDENCE_MIN, PRE_REVIEW_DOCUMENT_EVIDENCE_MEDIUM_THRESHOLD, PRE_REVIEW_DOCUMENT_EVIDENCE_LOW_CLASSIFIER_THRESHOLD, normalizePreReviewReasonCode, isStructuralPreReviewRetakeReason, isRecoverablePreReviewSendForReviewReason, hasAcceptedPassportPageRecognition, hasCorroboratedPassportPageEvidence, hasTrustedPassportMrzPageEvidence, canTrustPassportPageEvidenceOverBadAspect, hasStructuralPreReviewMetadataSignal, hasDocumentPresentPreReviewEvidence, isReviewUncertainDocumentPresentMetadata, resolveReviewRetakeDecisionPolicy, } from './pre-review-policy.js';
23
25
  export type { ReviewReason, DocumentRegionBounds, DocumentRegionImageSize, ReviewDiagnostics, DocumentReviewQualityInput, DocumentRegionReviewDiagnostics, DocumentReviewQualityResult, NoCropClarityInput, } from './review-quality.js';
24
26
  export { DOCUMENT_REVIEW_REGION_MIN_READABLE_WIDTH_PX, evaluateDocumentReviewQuality, hasNoCropClarityUncertainty, } from './review-quality.js';
25
27
  export type { CaptureImageSize, CapturePreviewRect, CaptureCropRect, CapturePreviewResizeMode, CaptureRotationDegrees, CaptureNormalizationUnsafeReason, CaptureClampedEdges, CaptureNormalizationDiagnostics, CaptureFrameMode, PreviewRectToImageCropInput, ExpectedOrientationInput, CaptureNormalizationPlanInput, CaptureResizePlan, CaptureNormalizationPlan, } from './capture-normalization.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
@@ -15,6 +15,7 @@ export { getNextFlowStepId, getPreviousFlowStepId } from './flow-routing.js';
15
15
  /* -- Document classifier -------------------------------------------------- */
16
16
  export { getDocumentCaptureGeometryProfile, getDocumentReviewProfile, checkDocumentLikelihood, } from './document-classifier.js';
17
17
  export { analyzeImageMetadata } from './metadata-review.js';
18
+ export { PRE_REVIEW_STRUCTURAL_RETAKE_REASONS, PRE_REVIEW_RECOVERABLE_SEND_FOR_REVIEW_REASONS, PRE_REVIEW_STRUCTURAL_UNSAFE_REASONS, PRE_REVIEW_DOCUMENT_PRESENT_CROP_PROVENANCE, PRE_REVIEW_MRZ_CONFIRMED_CONFIDENCE_MIN, PRE_REVIEW_DOCUMENT_EVIDENCE_MEDIUM_THRESHOLD, PRE_REVIEW_DOCUMENT_EVIDENCE_LOW_CLASSIFIER_THRESHOLD, normalizePreReviewReasonCode, isStructuralPreReviewRetakeReason, isRecoverablePreReviewSendForReviewReason, hasAcceptedPassportPageRecognition, hasCorroboratedPassportPageEvidence, hasTrustedPassportMrzPageEvidence, canTrustPassportPageEvidenceOverBadAspect, hasStructuralPreReviewMetadataSignal, hasDocumentPresentPreReviewEvidence, isReviewUncertainDocumentPresentMetadata, resolveReviewRetakeDecisionPolicy, } from './pre-review-policy.js';
18
19
  export { DOCUMENT_REVIEW_REGION_MIN_READABLE_WIDTH_PX, evaluateDocumentReviewQuality, hasNoCropClarityUncertainty, } from './review-quality.js';
19
20
  export { mapPreviewRectToImageCropWithDiagnostics, mapPreviewRectToImageCrop, getRotationToExpectedOrientation, buildCaptureNormalizationPlan, getDocumentCaptureFrameAspectRatio, } from './capture-normalization.js';
20
21
  export { decideCaptureTrust, buildCaptureTrustDecisionSnapshot, buildCaptureTrustDiagnosticsSnapshot, } from './capture-trust.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,kCAAkC,EAClC,8BAA8B,EAC9B,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;AAa5D,OAAO,EACL,4CAA4C,EAC5C,6BAA6B,EAC7B,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAmB7B,OAAO,EACL,wCAAwC,EACxC,yBAAyB,EACzB,gCAAgC,EAChC,6BAA6B,EAC7B,kCAAkC,GACnC,MAAM,4BAA4B,CAAC;AA4BpC,OAAO,EACL,kBAAkB,EAClB,iCAAiC,EACjC,oCAAoC,GACrC,MAAM,oBAAoB,CAAC;AAU5B,OAAO,EACL,+BAA+B,EAC/B,6BAA6B,EAC7B,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAe1F,OAAO,EACL,iCAAiC,EACjC,2CAA2C,EAC3C,uCAAuC,EACvC,wBAAwB,EACxB,wBAAwB,EACxB,sCAAsC,EACtC,kCAAkC,EAClC,wBAAwB,EACxB,oBAAoB,EACpB,0BAA0B,EAC1B,+BAA+B,EAC/B,gCAAgC,EAChC,wBAAwB,EACxB,mCAAmC,EACnC,+BAA+B,EAC/B,8BAA8B,EAC9B,gCAAgC,EAChC,iCAAiC,EACjC,gCAAgC,EAChC,iCAAiC,EACjC,wBAAwB,EACxB,yBAAyB,EACzB,6BAA6B,EAC7B,4BAA4B,EAC5B,oCAAoC,EACpC,gCAAgC,EAChC,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC5B,2BAA2B,EAC3B,iDAAiD,EACjD,sBAAsB,EACtB,6BAA6B,EAC7B,2BAA2B,EAC3B,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,gCAAgC,CAAC;AAOxC,OAAO,EACL,qBAAqB,EACrB,gCAAgC,EAChC,uBAAuB,EACvB,+BAA+B,EAC/B,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AASzB,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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"}
@@ -1,6 +1,6 @@
1
- import type { MetadataReviewResult } from './types.js';
1
+ import type { MetadataReviewResult, ReviewMode } from './types.js';
2
2
  export interface MetadataReviewInput {
3
- type: 'document' | 'selfie';
3
+ type: ReviewMode;
4
4
  width: number;
5
5
  height: number;
6
6
  fileSize?: number | null;
@@ -1 +1 @@
1
- {"version":3,"file":"metadata-review.d.ts","sourceRoot":"","sources":["../../src/metadata-review.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,oBAAoB,EAErB,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,UAAU,GAAG,QAAQ,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AA4BD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,GAAG,oBAAoB,CAoFrF"}
1
+ {"version":3,"file":"metadata-review.d.ts","sourceRoot":"","sources":["../../src/metadata-review.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,oBAAoB,EAEpB,UAAU,EACX,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AA4BD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,GAAG,oBAAoB,CA4FrF"}
@@ -11,7 +11,7 @@ function getOrientation(width, height) {
11
11
  return 'portrait';
12
12
  return 'square';
13
13
  }
14
- function buildResult(type, orientation, issues, isDocument = type === 'document') {
14
+ function buildResult(type, orientation, issues, isDocument = type === 'document' || type === 'address-document') {
15
15
  return {
16
16
  passed: issues.every(issue => issue.severity !== 'error'),
17
17
  issues,
@@ -67,7 +67,16 @@ export function analyzeImageMetadata(input) {
67
67
  });
68
68
  }
69
69
  }
70
- else if (orientation === 'landscape') {
70
+ else if (input.type === 'address-document') {
71
+ if (orientation === 'landscape') {
72
+ issues.push({
73
+ key: 'address_document_landscape',
74
+ message: 'Make sure the name and address are readable before continuing.',
75
+ severity: 'warning',
76
+ });
77
+ }
78
+ }
79
+ else if (input.type === 'selfie' && orientation === 'landscape') {
71
80
  issues.push({
72
81
  key: 'selfie_landscape',
73
82
  message: 'Use portrait orientation so the full face and shoulders fit in frame.',
@@ -83,7 +92,7 @@ export function analyzeImageMetadata(input) {
83
92
  severity: 'warning',
84
93
  });
85
94
  }
86
- const isDocument = input.type === 'document' &&
95
+ const isDocument = (input.type === 'document' || input.type === 'address-document') &&
87
96
  !issues.some(issue => issue.key === 'bad_aspect');
88
97
  return buildResult(input.type, orientation, issues, isDocument);
89
98
  }
@@ -1 +1 @@
1
- {"version":3,"file":"metadata-review.js","sourceRoot":"","sources":["../../src/metadata-review.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata-review.js","sourceRoot":"","sources":["../../src/metadata-review.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ import { type DocumentCropArbitrationMetadata } from './document-crop-arbitration.js';
2
+ export type PreReviewRetakeSeverity = 'likely_rejected' | 'advisory';
3
+ export type ReviewRetakeDecisionKind = 'none' | 'retake' | 'warn';
4
+ export type ReviewRetakeDecisionSource = 'pre_review_retake' | 'review' | 'legacy_review';
5
+ export interface PreReviewDocumentContext {
6
+ documentType?: string | null;
7
+ documentSide?: 'front' | 'back' | string | null;
8
+ }
9
+ export interface PreReviewMetadataSignal {
10
+ cropProvenance?: string | null;
11
+ cropSelectable?: boolean | null;
12
+ cropVerified?: boolean | null;
13
+ cutOffRisk?: 'low' | 'medium' | 'high' | string | null;
14
+ clamped?: boolean | null;
15
+ unsafeReason?: string | null;
16
+ preReviewRetakeReason?: string | null;
17
+ liveQuadPresent?: boolean | null;
18
+ liveBoundsReliable?: boolean | null;
19
+ liveQuadInsetMin?: number | null;
20
+ liveMrzConfidence?: number | null;
21
+ liveMrzCheckDigitsValid?: boolean | null;
22
+ liveMrzValidated?: boolean | null;
23
+ liveMrzUnexpectedForSide?: boolean | null;
24
+ documentEvidenceLevel?: 'high' | 'medium' | 'low' | string | null;
25
+ documentEvidenceScore?: number | null;
26
+ classifierConfidence?: number | null;
27
+ qualityViews?: Array<{
28
+ evidenceScore?: number | null;
29
+ classifierConfidence?: number | null;
30
+ }> | null;
31
+ }
32
+ export interface PassportMrzPageEvidenceOptions {
33
+ recognitionText?: string | null;
34
+ }
35
+ export interface ReviewRetakeDecisionPolicyInput {
36
+ preReviewReason?: string;
37
+ preReviewReasonCode?: string;
38
+ preReviewSeverity?: PreReviewRetakeSeverity;
39
+ preReviewOverrideAllowed?: boolean;
40
+ preReviewDocumentPresentReviewUncertain?: boolean;
41
+ reviewContradictsStructuralPreReview?: boolean;
42
+ reviewHardFailureActive?: boolean;
43
+ anyExplicitFail?: boolean;
44
+ failCount?: number;
45
+ submitAnywayThreshold?: number;
46
+ hardBlockingReviewFailure?: boolean;
47
+ }
48
+ export interface ReviewRetakeDecisionPolicyResult {
49
+ kind: ReviewRetakeDecisionKind;
50
+ source?: ReviewRetakeDecisionSource;
51
+ bannerStatus?: 'fail' | 'warn';
52
+ }
53
+ export declare const PRE_REVIEW_STRUCTURAL_RETAKE_REASONS: readonly ["cut_off", "too_small", "bad_aspect", "document_not_found"];
54
+ export declare const PRE_REVIEW_RECOVERABLE_SEND_FOR_REVIEW_REASONS: readonly ["too_blurry", "glare", "too_dark", "weak_back_text", "weak_readable_text"];
55
+ export declare const PRE_REVIEW_STRUCTURAL_UNSAFE_REASONS: readonly ["too_small", "too_large", "bad_aspect", "clamped_edge", "nearly_full_frame", "document_not_found"];
56
+ export declare const PRE_REVIEW_DOCUMENT_PRESENT_CROP_PROVENANCE: readonly ["same_candidate", "review_auto_crop", "still_redetect"];
57
+ export declare const PRE_REVIEW_MRZ_CONFIRMED_CONFIDENCE_MIN = 0.45;
58
+ export declare const PRE_REVIEW_DOCUMENT_EVIDENCE_MEDIUM_THRESHOLD = 45;
59
+ export declare const PRE_REVIEW_DOCUMENT_EVIDENCE_LOW_CLASSIFIER_THRESHOLD = 42;
60
+ export declare const normalizePreReviewReasonCode: (reasonCode: string | null | undefined) => string | undefined;
61
+ export declare const isStructuralPreReviewRetakeReason: (reasonCode: string | null | undefined) => boolean;
62
+ export declare const isRecoverablePreReviewSendForReviewReason: (reasonCode: string | null | undefined) => boolean;
63
+ export declare const hasAcceptedPassportPageRecognition: (metadata: DocumentCropArbitrationMetadata | null | undefined, recognitionText?: string | null) => boolean;
64
+ export declare const hasCorroboratedPassportPageEvidence: (metadata: DocumentCropArbitrationMetadata | null | undefined, options?: PassportMrzPageEvidenceOptions) => boolean;
65
+ export declare const hasTrustedPassportMrzPageEvidence: (metadata: DocumentCropArbitrationMetadata | null | undefined, options?: PassportMrzPageEvidenceOptions) => boolean;
66
+ export declare const canTrustPassportPageEvidenceOverBadAspect: (metadata: DocumentCropArbitrationMetadata | null | undefined, context: PreReviewDocumentContext | undefined, options?: PassportMrzPageEvidenceOptions) => boolean;
67
+ export declare const hasStructuralPreReviewMetadataSignal: (metadata: PreReviewMetadataSignal | undefined) => boolean;
68
+ export declare const hasDocumentPresentPreReviewEvidence: (metadata: PreReviewMetadataSignal | undefined) => boolean;
69
+ export declare const isReviewUncertainDocumentPresentMetadata: (metadata: PreReviewMetadataSignal | undefined) => boolean;
70
+ export declare function resolveReviewRetakeDecisionPolicy(input: ReviewRetakeDecisionPolicyInput): ReviewRetakeDecisionPolicyResult;
71
+ //# sourceMappingURL=pre-review-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pre-review-policy.d.ts","sourceRoot":"","sources":["../../src/pre-review-policy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,167 @@
1
+ import { getCapturePageRecognitionText, hasMarginSafeReliableCaptureQuad, hasTrustedMrzCaptureEvidence, hasUnsafeInsetReliableCaptureQuad, } from './document-crop-arbitration.js';
2
+ import { getDocumentProfile } from './document-profiles.js';
3
+ export const PRE_REVIEW_STRUCTURAL_RETAKE_REASONS = [
4
+ 'cut_off',
5
+ 'too_small',
6
+ 'bad_aspect',
7
+ 'document_not_found',
8
+ ];
9
+ export const PRE_REVIEW_RECOVERABLE_SEND_FOR_REVIEW_REASONS = [
10
+ 'too_blurry',
11
+ 'glare',
12
+ 'too_dark',
13
+ 'weak_back_text',
14
+ 'weak_readable_text',
15
+ ];
16
+ export const PRE_REVIEW_STRUCTURAL_UNSAFE_REASONS = [
17
+ 'too_small',
18
+ 'too_large',
19
+ 'bad_aspect',
20
+ 'clamped_edge',
21
+ 'nearly_full_frame',
22
+ 'document_not_found',
23
+ ];
24
+ export const PRE_REVIEW_DOCUMENT_PRESENT_CROP_PROVENANCE = [
25
+ 'same_candidate',
26
+ 'review_auto_crop',
27
+ 'still_redetect',
28
+ ];
29
+ export const PRE_REVIEW_MRZ_CONFIRMED_CONFIDENCE_MIN = 0.45;
30
+ export const PRE_REVIEW_DOCUMENT_EVIDENCE_MEDIUM_THRESHOLD = 45;
31
+ export const PRE_REVIEW_DOCUMENT_EVIDENCE_LOW_CLASSIFIER_THRESHOLD = 42;
32
+ const STRUCTURAL_PRE_REVIEW_RETAKE_REASONS = new Set(PRE_REVIEW_STRUCTURAL_RETAKE_REASONS);
33
+ const RECOVERABLE_PRE_REVIEW_SEND_FOR_REVIEW_REASONS = new Set(PRE_REVIEW_RECOVERABLE_SEND_FOR_REVIEW_REASONS);
34
+ const STRUCTURAL_PRE_REVIEW_METADATA_UNSAFE_REASONS = new Set(PRE_REVIEW_STRUCTURAL_UNSAFE_REASONS);
35
+ const DOCUMENT_PRESENT_PRE_REVIEW_CROP_PROVENANCE = new Set(PRE_REVIEW_DOCUMENT_PRESENT_CROP_PROVENANCE);
36
+ export const normalizePreReviewReasonCode = (reasonCode) => {
37
+ const normalized = reasonCode?.trim().toLowerCase();
38
+ return normalized || undefined;
39
+ };
40
+ export const isStructuralPreReviewRetakeReason = (reasonCode) => {
41
+ const normalized = normalizePreReviewReasonCode(reasonCode);
42
+ return Boolean(normalized && STRUCTURAL_PRE_REVIEW_RETAKE_REASONS.has(normalized));
43
+ };
44
+ export const isRecoverablePreReviewSendForReviewReason = (reasonCode) => {
45
+ const normalized = normalizePreReviewReasonCode(reasonCode);
46
+ return Boolean(normalized && RECOVERABLE_PRE_REVIEW_SEND_FOR_REVIEW_REASONS.has(normalized));
47
+ };
48
+ const hasFiniteValueAtLeast = (value, threshold) => typeof value === 'number' && Number.isFinite(value) && value >= threshold;
49
+ const isPassportFrontContext = (context) => getDocumentProfile(context?.documentType).family === 'passport' &&
50
+ context?.documentSide === 'front';
51
+ const toDocumentCropMetadata = (metadata) => metadata;
52
+ export const hasAcceptedPassportPageRecognition = (metadata, recognitionText) => {
53
+ if (metadata?.liveRecognitionAccepted !== true)
54
+ return false;
55
+ const text = getCapturePageRecognitionText(metadata, recognitionText);
56
+ return text.includes('mrz') || text.includes('quad');
57
+ };
58
+ export const hasCorroboratedPassportPageEvidence = (metadata, options = {}) => hasAcceptedPassportPageRecognition(metadata, options.recognitionText) ||
59
+ hasMarginSafeReliableCaptureQuad(toDocumentCropMetadata(metadata));
60
+ export const hasTrustedPassportMrzPageEvidence = (metadata, options = {}) => {
61
+ if (!metadata)
62
+ return false;
63
+ if (hasUnsafeInsetReliableCaptureQuad(toDocumentCropMetadata(metadata)))
64
+ return false;
65
+ if (!hasTrustedMrzCaptureEvidence(toDocumentCropMetadata(metadata), options.recognitionText)) {
66
+ return false;
67
+ }
68
+ if (metadata.cutOffRisk === 'high') {
69
+ // Book-continuation tolerance: cut-off risk grades the OUTER detected
70
+ // bounds, and for an open passport book that is the book. The second page
71
+ // can run past the frame even when the photo/MRZ page is framed well, so
72
+ // a confirmed MRZ plus an accepted mrz/quad recognition path is page-level
73
+ // evidence that outranks the book-level bbox. Unsafe page quads still veto
74
+ // above because that quad describes the page itself.
75
+ return hasAcceptedPassportPageRecognition(metadata, options.recognitionText);
76
+ }
77
+ return hasCorroboratedPassportPageEvidence(metadata, options);
78
+ };
79
+ export const canTrustPassportPageEvidenceOverBadAspect = (metadata, context, options = {}) => isPassportFrontContext(context) && hasTrustedPassportMrzPageEvidence(metadata, options);
80
+ export const hasStructuralPreReviewMetadataSignal = (metadata) => {
81
+ if (!metadata)
82
+ return false;
83
+ if (isStructuralPreReviewRetakeReason(metadata.preReviewRetakeReason))
84
+ return true;
85
+ if (metadata.cutOffRisk === 'high')
86
+ return true;
87
+ if (metadata.clamped === true)
88
+ return true;
89
+ if (metadata.liveMrzUnexpectedForSide === true)
90
+ return true;
91
+ const unsafeReason = normalizePreReviewReasonCode(metadata.unsafeReason);
92
+ return Boolean(unsafeReason && STRUCTURAL_PRE_REVIEW_METADATA_UNSAFE_REASONS.has(unsafeReason));
93
+ };
94
+ export const hasDocumentPresentPreReviewEvidence = (metadata) => {
95
+ if (!metadata)
96
+ return false;
97
+ const cropProvenance = normalizePreReviewReasonCode(metadata.cropProvenance);
98
+ if (metadata.cropVerified === true &&
99
+ metadata.cropSelectable !== false &&
100
+ cropProvenance &&
101
+ DOCUMENT_PRESENT_PRE_REVIEW_CROP_PROVENANCE.has(cropProvenance)) {
102
+ return true;
103
+ }
104
+ if (metadata.liveQuadPresent === true &&
105
+ metadata.liveBoundsReliable !== false &&
106
+ hasFiniteValueAtLeast(metadata.liveQuadInsetMin, 0.02)) {
107
+ return true;
108
+ }
109
+ if (metadata.liveMrzValidated === true ||
110
+ metadata.liveMrzCheckDigitsValid === true ||
111
+ (hasFiniteValueAtLeast(metadata.liveMrzConfidence, PRE_REVIEW_MRZ_CONFIRMED_CONFIDENCE_MIN) &&
112
+ metadata.liveMrzUnexpectedForSide !== true)) {
113
+ return true;
114
+ }
115
+ if (metadata.documentEvidenceLevel === 'high' ||
116
+ metadata.documentEvidenceLevel === 'medium' ||
117
+ hasFiniteValueAtLeast(metadata.documentEvidenceScore, PRE_REVIEW_DOCUMENT_EVIDENCE_MEDIUM_THRESHOLD) ||
118
+ hasFiniteValueAtLeast(metadata.classifierConfidence, PRE_REVIEW_DOCUMENT_EVIDENCE_LOW_CLASSIFIER_THRESHOLD)) {
119
+ return true;
120
+ }
121
+ return (metadata.qualityViews?.some(view => hasFiniteValueAtLeast(view.evidenceScore, PRE_REVIEW_DOCUMENT_EVIDENCE_MEDIUM_THRESHOLD) ||
122
+ hasFiniteValueAtLeast(view.classifierConfidence, PRE_REVIEW_DOCUMENT_EVIDENCE_LOW_CLASSIFIER_THRESHOLD)) === true);
123
+ };
124
+ export const isReviewUncertainDocumentPresentMetadata = (metadata) => {
125
+ if (!metadata || hasStructuralPreReviewMetadataSignal(metadata))
126
+ return false;
127
+ return hasDocumentPresentPreReviewEvidence(metadata);
128
+ };
129
+ export function resolveReviewRetakeDecisionPolicy(input) {
130
+ const reasonCode = normalizePreReviewReasonCode(input.preReviewReasonCode);
131
+ const hasPreReviewWarning = Boolean(input.preReviewReason?.trim() || reasonCode);
132
+ if (input.reviewHardFailureActive) {
133
+ return hasPreReviewWarning ? { kind: 'retake', source: 'review' } : { kind: 'none' };
134
+ }
135
+ if (hasPreReviewWarning) {
136
+ if (isStructuralPreReviewRetakeReason(reasonCode)) {
137
+ if (input.reviewContradictsStructuralPreReview === true) {
138
+ return { kind: 'none' };
139
+ }
140
+ return { kind: 'retake', source: 'pre_review_retake' };
141
+ }
142
+ if (input.preReviewOverrideAllowed === true &&
143
+ isRecoverablePreReviewSendForReviewReason(reasonCode)) {
144
+ return {
145
+ kind: 'warn',
146
+ source: 'pre_review_retake',
147
+ bannerStatus: input.preReviewSeverity === 'likely_rejected' ? 'fail' : 'warn',
148
+ };
149
+ }
150
+ if (input.preReviewOverrideAllowed === true &&
151
+ input.preReviewDocumentPresentReviewUncertain === true) {
152
+ return {
153
+ kind: 'warn',
154
+ source: 'pre_review_retake',
155
+ bannerStatus: input.preReviewSeverity === 'likely_rejected' ? 'fail' : 'warn',
156
+ };
157
+ }
158
+ return { kind: 'retake', source: 'pre_review_retake' };
159
+ }
160
+ if (!input.anyExplicitFail || input.hardBlockingReviewFailure) {
161
+ return { kind: 'none' };
162
+ }
163
+ const failCount = input.failCount ?? 0;
164
+ const threshold = input.submitAnywayThreshold ?? Number.POSITIVE_INFINITY;
165
+ return failCount >= threshold ? { kind: 'warn', source: 'legacy_review' } : { kind: 'none' };
166
+ }
167
+ //# sourceMappingURL=pre-review-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pre-review-policy.js","sourceRoot":"","sources":["../../src/pre-review-policy.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.16";
6
+ export declare const CAPTURE_INTELLIGENCE_CORE_VERSION = "0.2.17";
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.16';
6
+ export const CAPTURE_INTELLIGENCE_CORE_VERSION = '0.2.17';
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.16",
3
+ "version": "0.2.17",
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",