@mikashboks/capture-intelligence-core 0.1.21 → 0.1.22

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 (47) hide show
  1. package/dist/cjs/capture-normalization.d.ts +2 -1
  2. package/dist/cjs/capture-normalization.d.ts.map +1 -1
  3. package/dist/cjs/capture-normalization.js +33 -11
  4. package/dist/cjs/capture-normalization.js.map +1 -1
  5. package/dist/cjs/document-classifier.d.ts +2 -1
  6. package/dist/cjs/document-classifier.d.ts.map +1 -1
  7. package/dist/cjs/document-classifier.js +191 -14
  8. package/dist/cjs/document-classifier.js.map +1 -1
  9. package/dist/cjs/document-placement.js +5 -5
  10. package/dist/cjs/document-placement.js.map +1 -1
  11. package/dist/cjs/index.d.ts +2 -2
  12. package/dist/cjs/index.d.ts.map +1 -1
  13. package/dist/cjs/index.js +4 -3
  14. package/dist/cjs/index.js.map +1 -1
  15. package/dist/cjs/metrics.d.ts.map +1 -1
  16. package/dist/cjs/metrics.js +13 -3
  17. package/dist/cjs/metrics.js.map +1 -1
  18. package/dist/cjs/quality-checks.d.ts.map +1 -1
  19. package/dist/cjs/quality-checks.js +3 -1
  20. package/dist/cjs/quality-checks.js.map +1 -1
  21. package/dist/cjs/types.d.ts +16 -0
  22. package/dist/cjs/types.d.ts.map +1 -1
  23. package/dist/cjs/types.js.map +1 -1
  24. package/dist/esm/capture-normalization.d.ts +2 -1
  25. package/dist/esm/capture-normalization.d.ts.map +1 -1
  26. package/dist/esm/capture-normalization.js +33 -11
  27. package/dist/esm/capture-normalization.js.map +1 -1
  28. package/dist/esm/document-classifier.d.ts +2 -1
  29. package/dist/esm/document-classifier.d.ts.map +1 -1
  30. package/dist/esm/document-classifier.js +190 -14
  31. package/dist/esm/document-classifier.js.map +1 -1
  32. package/dist/esm/document-placement.js +5 -5
  33. package/dist/esm/document-placement.js.map +1 -1
  34. package/dist/esm/index.d.ts +2 -2
  35. package/dist/esm/index.d.ts.map +1 -1
  36. package/dist/esm/index.js +1 -1
  37. package/dist/esm/index.js.map +1 -1
  38. package/dist/esm/metrics.d.ts.map +1 -1
  39. package/dist/esm/metrics.js +13 -3
  40. package/dist/esm/metrics.js.map +1 -1
  41. package/dist/esm/quality-checks.d.ts.map +1 -1
  42. package/dist/esm/quality-checks.js +3 -1
  43. package/dist/esm/quality-checks.js.map +1 -1
  44. package/dist/esm/types.d.ts +16 -0
  45. package/dist/esm/types.d.ts.map +1 -1
  46. package/dist/esm/types.js.map +1 -1
  47. package/package.json +1 -1
@@ -35,6 +35,7 @@ export interface PreviewRectToImageCropInput {
35
35
  imageSize: CaptureImageSize;
36
36
  previewSize: CaptureImageSize;
37
37
  previewRect: CapturePreviewRect;
38
+ documentType?: string | null;
38
39
  resizeMode?: CapturePreviewResizeMode;
39
40
  paddingRatio?: number;
40
41
  }
@@ -59,7 +60,7 @@ export interface CaptureNormalizationPlan {
59
60
  diagnostics: CaptureNormalizationDiagnostics;
60
61
  }
61
62
  export type CaptureFrameMode = 'document' | 'address-document' | 'front-door' | 'selfie';
62
- export declare function mapPreviewRectToImageCropWithDiagnostics({ imageSize, previewSize, previewRect, resizeMode, paddingRatio, }: PreviewRectToImageCropInput): {
63
+ export declare function mapPreviewRectToImageCropWithDiagnostics({ imageSize, previewSize, previewRect, documentType, resizeMode, paddingRatio, }: PreviewRectToImageCropInput): {
63
64
  crop: CaptureCropRect;
64
65
  diagnostics: CaptureNormalizationDiagnostics;
65
66
  };
@@ -1 +1 @@
1
- {"version":3,"file":"capture-normalization.d.ts","sourceRoot":"","sources":["../../src/capture-normalization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capture-normalization.d.ts","sourceRoot":"","sources":["../../src/capture-normalization.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,wBAAwB,GAAG,OAAO,GAAG,SAAS,CAAC;AAC3D,MAAM,MAAM,sBAAsB,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC;AACxD,MAAM,MAAM,gCAAgC,GACxC,cAAc,GACd,WAAW,GACX,WAAW,GACX,YAAY,GACZ,mBAAmB,CAAC;AAExB,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,+BAA+B;IAC9C,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,mBAAmB,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,gCAAgC,GAAG,IAAI,CAAC;CACvD;AAED,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,gBAAgB,CAAC;IAC5B,WAAW,EAAE,gBAAgB,CAAC;IAC9B,WAAW,EAAE,kBAAkB,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,6BAA8B,SAAQ,2BAA2B;IAChF,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,WAAW,EAAE,+BAA+B,CAAC;CAC9C;AAED,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,kBAAkB,GAAG,YAAY,GAAG,QAAQ,CAAC;AAoGzF,wBAAgB,wCAAwC,CAAC,EACvD,SAAS,EACT,WAAW,EACX,WAAW,EACX,YAAY,EACZ,UAAoB,EACpB,YAAmB,GACpB,EAAE,2BAA2B,GAAG;IAC/B,IAAI,EAAE,eAAe,CAAC;IACtB,WAAW,EAAE,+BAA+B,CAAC;CAC9C,CAgFA;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,2BAA2B,GAAG,eAAe,CAE7F;AAED,wBAAgB,gCAAgC,CAAC,EAC/C,KAAK,EACL,MAAM,EACN,YAAY,GACb,EAAE,wBAAwB,GAAG,sBAAsB,CAYnD;AAYD,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,6BAA6B,GACnC,wBAAwB,CAmB1B;AAED,wBAAgB,kCAAkC,CAChD,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACvC,IAAI,EAAE,gBAAgB,GACrB,MAAM,GAAG,IAAI,CAiBf"}
@@ -8,9 +8,11 @@ exports.getDocumentCaptureFrameAspectRatio = getDocumentCaptureFrameAspectRatio;
8
8
  const document_classifier_js_1 = require("./document-classifier.js");
9
9
  const CARD_CAPTURE_FRAME_ASPECT_RATIO = 1.585;
10
10
  const ADDRESS_DOCUMENT_CAPTURE_FRAME_ASPECT_RATIO = 0.72;
11
- const CAPTURE_NORMALIZATION_MIN_AREA_RATIO = 0.04;
12
- const CAPTURE_NORMALIZATION_MAX_AREA_RATIO = 0.92;
13
- const CAPTURE_NORMALIZATION_NEAR_FULL_FRAME_AREA_RATIO = 0.9;
11
+ const DEFAULT_CAPTURE_NORMALIZATION_AREA_RANGE = {
12
+ minAreaRatio: 0.04,
13
+ nearFullFrameAreaRatio: 0.9,
14
+ maxAreaRatio: 0.92,
15
+ };
14
16
  const CAPTURE_NORMALIZATION_MIN_ASPECT_RATIO = 0.35;
15
17
  const CAPTURE_NORMALIZATION_MAX_ASPECT_RATIO = 2.4;
16
18
  function clamp(value, min, max) {
@@ -25,7 +27,26 @@ const NO_CLAMPED_EDGES = {
25
27
  right: false,
26
28
  bottom: false,
27
29
  };
28
- function getCropDiagnostics(crop, imageSize, paddingRatio, clampedEdges = NO_CLAMPED_EDGES) {
30
+ function resolveCaptureNormalizationAreaRange(documentType) {
31
+ const configured = (0, document_classifier_js_1.getDocumentReviewProfile)(documentType).captureAreaRange ??
32
+ DEFAULT_CAPTURE_NORMALIZATION_AREA_RANGE;
33
+ const minAreaRatio = Number.isFinite(configured.minAreaRatio)
34
+ ? configured.minAreaRatio
35
+ : DEFAULT_CAPTURE_NORMALIZATION_AREA_RANGE.minAreaRatio;
36
+ const maxAreaRatio = Number.isFinite(configured.maxAreaRatio)
37
+ ? configured.maxAreaRatio
38
+ : DEFAULT_CAPTURE_NORMALIZATION_AREA_RANGE.maxAreaRatio;
39
+ const resolvedMaxAreaRatio = Math.max(minAreaRatio, maxAreaRatio);
40
+ const nearFullFrameAreaRatio = Number.isFinite(configured.nearFullFrameAreaRatio)
41
+ ? configured.nearFullFrameAreaRatio
42
+ : DEFAULT_CAPTURE_NORMALIZATION_AREA_RANGE.nearFullFrameAreaRatio;
43
+ return {
44
+ minAreaRatio,
45
+ nearFullFrameAreaRatio: clamp(nearFullFrameAreaRatio, minAreaRatio, resolvedMaxAreaRatio),
46
+ maxAreaRatio: resolvedMaxAreaRatio,
47
+ };
48
+ }
49
+ function getCropDiagnostics(crop, imageSize, paddingRatio, clampedEdges = NO_CLAMPED_EDGES, areaRange = DEFAULT_CAPTURE_NORMALIZATION_AREA_RANGE) {
29
50
  const sourceArea = Math.max(1, imageSize.width * imageSize.height);
30
51
  const cropArea = crop.width * crop.height;
31
52
  const areaRatio = cropArea / sourceArea;
@@ -35,17 +56,17 @@ function getCropDiagnostics(crop, imageSize, paddingRatio, clampedEdges = NO_CLA
35
56
  if (clamped) {
36
57
  unsafeReason = 'clamped_edge';
37
58
  }
38
- else if (areaRatio < CAPTURE_NORMALIZATION_MIN_AREA_RATIO) {
59
+ else if (areaRatio < areaRange.minAreaRatio) {
39
60
  unsafeReason = 'too_small';
40
61
  }
41
- else if (areaRatio > CAPTURE_NORMALIZATION_MAX_AREA_RATIO) {
62
+ else if (areaRatio > areaRange.maxAreaRatio) {
42
63
  unsafeReason = 'too_large';
43
64
  }
44
65
  else if (aspectRatio < CAPTURE_NORMALIZATION_MIN_ASPECT_RATIO ||
45
66
  aspectRatio > CAPTURE_NORMALIZATION_MAX_ASPECT_RATIO) {
46
67
  unsafeReason = 'bad_aspect';
47
68
  }
48
- else if (areaRatio >= CAPTURE_NORMALIZATION_NEAR_FULL_FRAME_AREA_RATIO) {
69
+ else if (areaRatio >= areaRange.nearFullFrameAreaRatio) {
49
70
  unsafeReason = 'nearly_full_frame';
50
71
  }
51
72
  return {
@@ -65,12 +86,13 @@ function fullImageCrop(imageSize) {
65
86
  height: Math.max(1, Math.round(imageSize.height)),
66
87
  };
67
88
  }
68
- function mapPreviewRectToImageCropWithDiagnostics({ imageSize, previewSize, previewRect, resizeMode = 'cover', paddingRatio = 0.04, }) {
89
+ function mapPreviewRectToImageCropWithDiagnostics({ imageSize, previewSize, previewRect, documentType, resizeMode = 'cover', paddingRatio = 0.04, }) {
90
+ const areaRange = resolveCaptureNormalizationAreaRange(documentType);
69
91
  if (!hasPositiveSize(imageSize) || !hasPositiveSize(previewSize)) {
70
92
  const crop = fullImageCrop(imageSize);
71
93
  return {
72
94
  crop,
73
- diagnostics: getCropDiagnostics(crop, imageSize, paddingRatio),
95
+ diagnostics: getCropDiagnostics(crop, imageSize, paddingRatio, NO_CLAMPED_EDGES, areaRange),
74
96
  };
75
97
  }
76
98
  const imageWidth = imageSize.width;
@@ -82,7 +104,7 @@ function mapPreviewRectToImageCropWithDiagnostics({ imageSize, previewSize, prev
82
104
  const crop = fullImageCrop(imageSize);
83
105
  return {
84
106
  crop,
85
- diagnostics: getCropDiagnostics(crop, imageSize, paddingRatio),
107
+ diagnostics: getCropDiagnostics(crop, imageSize, paddingRatio, NO_CLAMPED_EDGES, areaRange),
86
108
  };
87
109
  }
88
110
  const renderedWidth = imageWidth * scale;
@@ -128,7 +150,7 @@ function mapPreviewRectToImageCropWithDiagnostics({ imageSize, previewSize, prev
128
150
  };
129
151
  return {
130
152
  crop,
131
- diagnostics: getCropDiagnostics(crop, imageSize, paddingRatio, clampedEdges),
153
+ diagnostics: getCropDiagnostics(crop, imageSize, paddingRatio, clampedEdges, areaRange),
132
154
  };
133
155
  }
134
156
  function mapPreviewRectToImageCrop(input) {
@@ -1 +1 @@
1
- {"version":3,"file":"capture-normalization.js","sourceRoot":"","sources":["../../src/capture-normalization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capture-normalization.js","sourceRoot":"","sources":["../../src/capture-normalization.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,8 @@
4
4
  * DOM-free: operates on raw greyscale (Uint8Array) and RGBA (Uint8ClampedArray)
5
5
  * pixel data. No Canvas, no HTMLImageElement.
6
6
  */
7
- import type { DocumentLikelihoodResult, DocumentReviewProfile } from './types.js';
7
+ import type { CaptureGeometryProfile, DocumentLikelihoodResult, DocumentReviewProfile } from './types.js';
8
+ export declare function getDocumentCaptureGeometryProfile(documentType: string | null | undefined): CaptureGeometryProfile;
8
9
  export declare function getDocumentReviewProfile(documentType: string | null | undefined): DocumentReviewProfile;
9
10
  /**
10
11
  * Determine whether a greyscale + RGBA image looks like a document.
@@ -1 +1 @@
1
- {"version":3,"file":"document-classifier.d.ts","sourceRoot":"","sources":["../../src/document-classifier.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AA8ElF,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACtC,qBAAqB,CA4DvB;AAID;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,iBAAiB,EAC1B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAC3B,wBAAwB,CA6K1B"}
1
+ {"version":3,"file":"document-classifier.d.ts","sourceRoot":"","sources":["../../src/document-classifier.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAEV,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAmIpB,wBAAgB,iCAAiC,CAC/C,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACtC,sBAAsB,CAuCxB;AAED,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACtC,qBAAqB,CAgFvB;AAID;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,iBAAiB,EAC1B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAC3B,wBAAwB,CAqQ1B"}
@@ -6,13 +6,17 @@
6
6
  * pixel data. No Canvas, no HTMLImageElement.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.getDocumentCaptureGeometryProfile = getDocumentCaptureGeometryProfile;
9
10
  exports.getDocumentReviewProfile = getDocumentReviewProfile;
10
11
  exports.checkDocumentLikelihood = checkDocumentLikelihood;
11
12
  /* -- Document type normaliser (mirrors host normalizeDocType) ------------- */
12
13
  function normalizeDocType(docType) {
13
14
  if (!docType)
14
15
  return null;
15
- const raw = String(docType).trim().toLowerCase().replace(/[\s-]+/g, '_');
16
+ const raw = String(docType)
17
+ .trim()
18
+ .toLowerCase()
19
+ .replace(/[\s-]+/g, '_');
16
20
  switch (raw) {
17
21
  case 'national_id':
18
22
  case 'national_id_card':
@@ -82,6 +86,85 @@ function normalizeDocType(docType) {
82
86
  }
83
87
  }
84
88
  /* -- Per-document-type aspect ratio profiles ------------------------------ */
89
+ const CARD_CAPTURE_AREA_RANGE = {
90
+ minAreaRatio: 0.04,
91
+ nearFullFrameAreaRatio: 0.9,
92
+ maxAreaRatio: 0.92,
93
+ };
94
+ const PASSPORT_CAPTURE_AREA_RANGE = {
95
+ minAreaRatio: 0.04,
96
+ nearFullFrameAreaRatio: 0.96,
97
+ maxAreaRatio: 0.985,
98
+ };
99
+ const PAGE_CAPTURE_AREA_RANGE = {
100
+ minAreaRatio: 0.04,
101
+ nearFullFrameAreaRatio: 0.98,
102
+ maxAreaRatio: 0.99,
103
+ };
104
+ const CARD_CAPTURE_GEOMETRY_PROFILE = {
105
+ centerMax: 0.32,
106
+ aspectMin: 1.15,
107
+ aspectMax: 1.95,
108
+ safeInsetMinRatio: 0.02,
109
+ tiltSkewMaxRatio: 0.22,
110
+ scannerMaxWidthDiffRatio: 0.45,
111
+ scannerMaxHeightDiffRatio: 0.45,
112
+ };
113
+ const PASSPORT_CAPTURE_GEOMETRY_PROFILE = {
114
+ centerMax: 0.3,
115
+ aspectMin: 1.05,
116
+ aspectMax: 1.8,
117
+ useNormalizedAspect: true,
118
+ safeInsetMinRatio: 0.02,
119
+ tiltSkewMaxRatio: 0.26,
120
+ scannerMaxWidthDiffRatio: 0.5,
121
+ scannerMaxHeightDiffRatio: 0.5,
122
+ };
123
+ const PAGE_CAPTURE_GEOMETRY_PROFILE = {
124
+ centerMax: 0.32,
125
+ aspectMin: 0.5,
126
+ aspectMax: 2.05,
127
+ useNormalizedAspect: true,
128
+ safeInsetMinRatio: 0.02,
129
+ tiltSkewMaxRatio: 0.3,
130
+ scannerMaxWidthDiffRatio: 0.55,
131
+ scannerMaxHeightDiffRatio: 0.55,
132
+ };
133
+ function getDocumentCaptureGeometryProfile(documentType) {
134
+ const normalizedType = normalizeDocType(documentType);
135
+ if (normalizedType === 'passport') {
136
+ return PASSPORT_CAPTURE_GEOMETRY_PROFILE;
137
+ }
138
+ if (normalizedType === 'address_proof' ||
139
+ normalizedType === 'a4_proof' ||
140
+ normalizedType === 'a4' ||
141
+ normalizedType === 'utility_bill' ||
142
+ normalizedType === 'proof_of_address' ||
143
+ normalizedType === 'bank_statement' ||
144
+ normalizedType === 'business_registration' ||
145
+ normalizedType === 'business_document' ||
146
+ normalizedType === 'business_license' ||
147
+ normalizedType === 'operating_license' ||
148
+ normalizedType === 'proof_of_business' ||
149
+ normalizedType === 'proof_of_registration' ||
150
+ normalizedType === 'proof_of_ownership' ||
151
+ normalizedType === 'proof_of_business_tax_id' ||
152
+ normalizedType === 'business_tax_id' ||
153
+ normalizedType === 'tax_certificate' ||
154
+ normalizedType === 'tin_certificate' ||
155
+ normalizedType === 'corporate_tax_certificate' ||
156
+ normalizedType === 'business_utility_bill' ||
157
+ normalizedType === 'mobile_money' ||
158
+ normalizedType === 'address_document' ||
159
+ normalizedType === 'readable_document' ||
160
+ normalizedType === 'readable_text_document' ||
161
+ normalizedType === 'text_document' ||
162
+ normalizedType === 'document_page' ||
163
+ normalizedType === 'tax_id') {
164
+ return PAGE_CAPTURE_GEOMETRY_PROFILE;
165
+ }
166
+ return CARD_CAPTURE_GEOMETRY_PROFILE;
167
+ }
85
168
  function getDocumentReviewProfile(documentType) {
86
169
  const normalizedType = normalizeDocType(documentType);
87
170
  // Passports -- biodata/photo page is landscape (~1.42:1).
@@ -90,6 +173,7 @@ function getDocumentReviewProfile(documentType) {
90
173
  aspectTargets: [1.42],
91
174
  threshold: 58,
92
175
  expectedOrientation: 'landscape',
176
+ captureAreaRange: PASSPORT_CAPTURE_AREA_RANGE,
93
177
  };
94
178
  }
95
179
  // ID card, voter ID, driver's licence -- standard card-shaped documents
@@ -110,29 +194,48 @@ function getDocumentReviewProfile(documentType) {
110
194
  aspectTargets: [1.585],
111
195
  threshold: 62,
112
196
  expectedOrientation: 'landscape',
197
+ captureAreaRange: CARD_CAPTURE_AREA_RANGE,
113
198
  };
114
199
  }
115
200
  // Address proof / utility bills -- A4/letter shaped documents
116
201
  if (normalizedType === 'address_proof' ||
202
+ normalizedType === 'a4_proof' ||
203
+ normalizedType === 'a4' ||
117
204
  normalizedType === 'utility_bill' ||
118
205
  normalizedType === 'proof_of_address' ||
119
206
  normalizedType === 'bank_statement' ||
120
207
  normalizedType === 'business_registration' ||
208
+ normalizedType === 'business_document' ||
209
+ normalizedType === 'business_license' ||
121
210
  normalizedType === 'operating_license' ||
211
+ normalizedType === 'proof_of_business' ||
212
+ normalizedType === 'proof_of_registration' ||
213
+ normalizedType === 'proof_of_ownership' ||
122
214
  normalizedType === 'proof_of_business_tax_id' ||
215
+ normalizedType === 'business_tax_id' ||
216
+ normalizedType === 'tax_certificate' ||
217
+ normalizedType === 'tin_certificate' ||
218
+ normalizedType === 'corporate_tax_certificate' ||
219
+ normalizedType === 'business_utility_bill' ||
123
220
  normalizedType === 'mobile_money' ||
124
221
  normalizedType === 'address_document' ||
222
+ normalizedType === 'readable_document' ||
223
+ normalizedType === 'readable_text_document' ||
224
+ normalizedType === 'text_document' ||
225
+ normalizedType === 'document_page' ||
125
226
  normalizedType === 'tax_id') {
126
227
  return {
127
228
  aspectTargets: [1.414, 1.294],
128
229
  threshold: 55,
129
230
  expectedOrientation: 'either',
231
+ captureAreaRange: PAGE_CAPTURE_AREA_RANGE,
130
232
  };
131
233
  }
132
234
  return {
133
235
  aspectTargets: [1.585, 1.42],
134
236
  threshold: 60,
135
237
  expectedOrientation: 'either',
238
+ captureAreaRange: CARD_CAPTURE_AREA_RANGE,
136
239
  };
137
240
  }
138
241
  /* -- 5-signal document likelihood classifier ------------------------------ */
@@ -157,6 +260,9 @@ function checkDocumentLikelihood(grey, imgData, w, h, documentType) {
157
260
  let edgePixels = 0;
158
261
  let hEdgeSum = 0;
159
262
  let vEdgeSum = 0;
263
+ const zoneEdgeCounts = new Array(9).fill(0);
264
+ const zonePixelCounts = new Array(9).fill(0);
265
+ const zoneBrightnessSums = new Array(9).fill(0);
160
266
  for (let ey = 1; ey < h - 1; ey++) {
161
267
  for (let ex = 1; ex < w - 1; ex++) {
162
268
  const gx = -grey[(ey - 1) * w + (ex - 1)] +
@@ -176,10 +282,21 @@ function checkDocumentLikelihood(grey, imgData, w, h, documentType) {
176
282
  edgeMap[ey * w + ex] = 1;
177
283
  edgePixels++;
178
284
  }
285
+ const zoneX = Math.min(2, Math.floor((ex * 3) / w));
286
+ const zoneY = Math.min(2, Math.floor((ey * 3) / h));
287
+ const zoneIndex = zoneY * 3 + zoneX;
288
+ zonePixelCounts[zoneIndex]++;
289
+ zoneBrightnessSums[zoneIndex] += grey[ey * w + ex];
290
+ if (mag > 30)
291
+ zoneEdgeCounts[zoneIndex]++;
179
292
  hEdgeSum += Math.abs(gy);
180
293
  vEdgeSum += Math.abs(gx);
181
294
  }
182
295
  }
296
+ const zoneEdgeDensities = zoneEdgeCounts.map((count, index) => zonePixelCounts[index] > 0 ? count / zonePixelCounts[index] : 0);
297
+ const zoneBrightnessMeans = zoneBrightnessSums.map((sum, index) => zonePixelCounts[index] > 0 ? sum / zonePixelCounts[index] : 0);
298
+ const zoneEdgeDensityRange = Math.max(...zoneEdgeDensities) - Math.min(...zoneEdgeDensities);
299
+ const zoneBrightnessRange = Math.max(...zoneBrightnessMeans) - Math.min(...zoneBrightnessMeans);
183
300
  // 1. Edge density (widened for worn/faded Sierra Leone national IDs)
184
301
  const edgeDensity = totalPixels > 0 ? edgePixels / totalPixels : 0;
185
302
  if (isPassport) {
@@ -216,19 +333,26 @@ function checkDocumentLikelihood(grey, imgData, w, h, documentType) {
216
333
  // 3. Color channel variance
217
334
  let rSum = 0, gSum = 0, bSum = 0;
218
335
  let rSq = 0, gSq = 0, bSq = 0;
336
+ let chromaDeltaSum = 0;
219
337
  const px = imgData.length / 4;
220
338
  for (let ci = 0; ci < imgData.length; ci += 4) {
221
- rSum += imgData[ci];
222
- gSum += imgData[ci + 1];
223
- bSum += imgData[ci + 2];
224
- rSq += imgData[ci] * imgData[ci];
225
- gSq += imgData[ci + 1] * imgData[ci + 1];
226
- bSq += imgData[ci + 2] * imgData[ci + 2];
339
+ const r = imgData[ci];
340
+ const g = imgData[ci + 1];
341
+ const b = imgData[ci + 2];
342
+ rSum += r;
343
+ gSum += g;
344
+ bSum += b;
345
+ rSq += r * r;
346
+ gSq += g * g;
347
+ bSq += b * b;
348
+ chromaDeltaSum += Math.max(r, g, b) - Math.min(r, g, b);
227
349
  }
228
350
  const rVar = rSq / px - (rSum / px) * (rSum / px);
229
351
  const gVar = gSq / px - (gSum / px) * (gSum / px);
230
352
  const bVar = bSq / px - (bSum / px) * (bSum / px);
231
353
  const avgVar = (rVar + gVar + bVar) / 3;
354
+ const channelVarianceRange = Math.max(rVar, gVar, bVar) - Math.min(rVar, gVar, bVar);
355
+ const avgChromaDelta = px > 0 ? chromaDeltaSum / px : 0;
232
356
  if (avgVar >= 400 && avgVar <= 4000)
233
357
  score += 20;
234
358
  else if (avgVar >= 200 && avgVar <= 5500)
@@ -238,7 +362,20 @@ function checkDocumentLikelihood(grey, imgData, w, h, documentType) {
238
362
  const gridW = Math.floor(w / 3);
239
363
  const gridH = Math.floor(h / 3);
240
364
  let centerEdges = 0, centerTotal = 0;
241
- let maxBrightness = 0;
365
+ // A pixel at or above this grey level counts as a blown-out highlight.
366
+ const glareSaturationLevel = 250;
367
+ // Minimum fraction of the center region that must be blown out to call it
368
+ // glare. Tuned so a holographic / laminated ID (e.g. the Sierra Leone national
369
+ // ID) keeps its scattered near-white sparkle below the bar, while a real
370
+ // specular hotspot that obscures text trips it. The previous single-pixel
371
+ // `maxBrightness > 245` rule false-flagged reflective IDs, which permanently
372
+ // zeroed the live auto-capture stable counter and stopped the green capture
373
+ // lock from ever forming. Borderline glare is still caught at the review /
374
+ // server quality stage, so the live gate can afford to be lenient here.
375
+ const glareSaturatedAreaRatioMin = 0.02;
376
+ let centerSaturatedCount = 0;
377
+ const centerRowSaturatedCounts = new Array(h).fill(0);
378
+ const centerColSaturatedCounts = new Array(w).fill(0);
242
379
  for (let ry = 1; ry < h - 1; ry++) {
243
380
  const rowZone = ry < gridH ? 0 : ry >= gridH * 2 ? 2 : 1;
244
381
  if (rowZone !== 1)
@@ -249,14 +386,23 @@ function checkDocumentLikelihood(grey, imgData, w, h, documentType) {
249
386
  continue;
250
387
  centerEdges += edgeMap[ry * w + rx];
251
388
  centerTotal++;
252
- // Track max brightness in center region for glare detection
253
- const pixBrightness = grey[ry * w + rx];
254
- if (pixBrightness > maxBrightness)
255
- maxBrightness = pixBrightness;
389
+ // Count fully blown-out pixels for glare-cluster detection (below).
390
+ if (grey[ry * w + rx] >= glareSaturationLevel) {
391
+ centerSaturatedCount++;
392
+ centerRowSaturatedCounts[ry]++;
393
+ centerColSaturatedCounts[rx]++;
394
+ }
256
395
  }
257
396
  }
258
397
  const centerDensity = centerTotal > 0 ? centerEdges / centerTotal : 0;
259
- const hasGlare = maxBrightness > 245;
398
+ const centerSaturatedRatio = centerTotal > 0 ? centerSaturatedCount / centerTotal : 0;
399
+ const centerRegionWidth = Math.max(1, gridW);
400
+ const centerRegionHeight = Math.max(1, gridH);
401
+ const maxSaturatedRowFraction = Math.max(...centerRowSaturatedCounts) / centerRegionWidth;
402
+ const maxSaturatedColFraction = Math.max(...centerColSaturatedCounts) / centerRegionHeight;
403
+ const hasGlare = centerSaturatedRatio >= glareSaturatedAreaRatioMin ||
404
+ maxSaturatedRowFraction >= 0.45 ||
405
+ maxSaturatedColFraction >= 0.45;
260
406
  if (isPassport) {
261
407
  if (centerDensity >= 0.06 && centerDensity <= 0.34)
262
408
  score += 15;
@@ -275,9 +421,10 @@ function checkDocumentLikelihood(grey, imgData, w, h, documentType) {
275
421
  }
276
422
  // 5. Horizontal-edge dominance (text signature)
277
423
  const edgeTotal = hEdgeSum + vEdgeSum;
424
+ const horizontalEdgeRatio = edgeTotal > 0 ? hEdgeSum / edgeTotal : 0.5;
278
425
  let hasTextSignature = false;
279
426
  if (edgeTotal > 0) {
280
- const hRatio = hEdgeSum / edgeTotal;
427
+ const hRatio = horizontalEdgeRatio;
281
428
  const vRatio = vEdgeSum / edgeTotal;
282
429
  if (isPassport) {
283
430
  // Passport pages can be captured with note text or page header rotated
@@ -318,6 +465,36 @@ function checkDocumentLikelihood(grey, imgData, w, h, documentType) {
318
465
  (hasTextSignature || centerDensity >= 0.12)) {
319
466
  score = Math.max(score, reviewProfile.threshold + 2);
320
467
  }
468
+ // Card analog of the passport floor above. Security-printed national IDs
469
+ // (e.g. the Sierra Leone national ID's guilloche + hologram face) carry
470
+ // dense, direction-less fine texture across the WHOLE card, so the band
471
+ // scoring above penalises them twice (`edgeDensity > 0.3` and
472
+ // `centerDensity > 0.2`) and real IDs plateau at 10–20 vs the 60+
473
+ // threshold — every classifier-backed rescue stays inert and detection
474
+ // rides on bare quad geometry. When the crop is strongly card-shaped AND
475
+ // its texture sits in exactly that penalised dense band, floor the score
476
+ // just over the threshold. The conditions keep the floor scoped to the
477
+ // double-penalty case: sparse-texture documents already score well through
478
+ // the normal bands, direction-dominant content (text rows or stripe
479
+ // patterns pull the horizontal-edge ratio away from the ~0.5 isotropy of a
480
+ // guilloche) keeps its honest band score, and true noise (edge density
481
+ // above 0.6) stays excluded. The `aspectTargets[0]` check scopes this to
482
+ // card-family profiles (1.585); passports use the floor above and A4/page
483
+ // profiles (1.414-first) keep their stricter band scoring.
484
+ const isCardShapedProfile = !isPassport && Math.abs(reviewProfile.aspectTargets[0] - 1.585) < 0.01;
485
+ const hasCardLayoutVariation = zoneEdgeDensityRange >= 0.08 || zoneBrightnessRange >= 35;
486
+ const hasCardColorLayoutEvidence = avgChromaDelta >= 10 && channelVarianceRange >= 80 && zoneEdgeDensityRange >= 0.04;
487
+ if (isCardShapedProfile &&
488
+ !hasTextSignature &&
489
+ (hasCardLayoutVariation || hasCardColorLayoutEvidence) &&
490
+ horizontalEdgeRatio >= 0.44 &&
491
+ horizontalEdgeRatio <= 0.54 &&
492
+ bestAspectDiff < 0.16 &&
493
+ edgeDensity > 0.28 &&
494
+ edgeDensity <= 0.6 &&
495
+ centerDensity >= 0.12) {
496
+ score = Math.max(score, reviewProfile.threshold + 2);
497
+ }
321
498
  return {
322
499
  isLikelyDoc: score >= reviewProfile.threshold,
323
500
  confidence: score,
@@ -1 +1 @@
1
- {"version":3,"file":"document-classifier.js","sourceRoot":"","sources":["../../src/document-classifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-classifier.js","sourceRoot":"","sources":["../../src/document-classifier.ts"],"names":[],"mappings":"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"}
@@ -8,14 +8,14 @@ exports.CAPTURE_READY_AREA_MIN_BY_SHAPE = {
8
8
  a4: 0.24,
9
9
  };
10
10
  exports.CAPTURE_READY_AREA_MAX_BY_SHAPE = {
11
- card: 0.9,
12
- passport: 0.92,
13
- a4: 0.96,
11
+ card: 0.92,
12
+ passport: 0.985,
13
+ a4: 0.99,
14
14
  };
15
15
  exports.CAPTURE_READY_CENTER_MAX_BY_SHAPE = {
16
- card: 0.25,
16
+ card: 0.32,
17
17
  passport: 0.3,
18
- a4: 0.25,
18
+ a4: 0.32,
19
19
  };
20
20
  exports.CAPTURE_READY_SAFE_INSET_MIN = 0.02;
21
21
  const GUIDANCE_BY_REASON = {
@@ -1 +1 @@
1
- {"version":3,"file":"document-placement.js","sourceRoot":"","sources":["../../src/document-placement.ts"],"names":[],"mappings":";;;AAoEA,8DA2BC;AAvEY,QAAA,+BAA+B,GAA0C;IACpF,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,IAAI;IACd,EAAE,EAAE,IAAI;CACT,CAAC;AAEW,QAAA,+BAA+B,GAA0C;IACpF,IAAI,EAAE,GAAG;IACT,QAAQ,EAAE,IAAI;IACd,EAAE,EAAE,IAAI;CACT,CAAC;AAEW,QAAA,iCAAiC,GAA0C;IACtF,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,GAAG;IACb,EAAE,EAAE,IAAI;CACT,CAAC;AAEW,QAAA,4BAA4B,GAAG,IAAI,CAAC;AAEjD,MAAM,kBAAkB,GAA4C;IAClE,SAAS,EAAE,aAAa;IACxB,SAAS,EAAE,wCAAwC;IACnD,UAAU,EAAE,qBAAqB;IACjC,UAAU,EAAE,wCAAwC;IACpD,EAAE,EAAE,OAAO;CACZ,CAAC;AAEF,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,eAAe,CAAC,KAA6B;IACpD,8EAA8E;IAC9E,yEAAyE;IACzE,MAAM,MAAM,GAAG;QACb,KAAK,CAAC,YAAY;QAClB,KAAK,CAAC,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc;KAC7D,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACzB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAErC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,SAAgB,yBAAyB,CACvC,KAA6B;IAE7B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACjF,MAAM,OAAO,GAAG,uCAA+B,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,uCAA+B,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,eAAe,GAAG,yCAAiC,CAAC,KAAK,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAE5C,IAAI,MAAM,GAA4B,IAAI,CAAC;IAC3C,IAAI,SAAS,GAAG,OAAO,EAAE,CAAC;QACxB,MAAM,GAAG,WAAW,CAAC;IACvB,CAAC;SAAM,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,GAAG,oCAA4B,EAAE,CAAC;QAChF,MAAM,GAAG,YAAY,CAAC;IACxB,CAAC;SAAM,IAAI,SAAS,GAAG,OAAO,EAAE,CAAC;QAC/B,MAAM,GAAG,WAAW,CAAC;IACvB,CAAC;SAAM,IAAI,YAAY,GAAG,eAAe,EAAE,CAAC;QAC1C,MAAM,GAAG,YAAY,CAAC;IACxB,CAAC;IAED,OAAO;QACL,KAAK,EAAE,MAAM,KAAK,IAAI;QACtB,MAAM;QACN,QAAQ,EAAE,kBAAkB,CAAC,MAAM,CAAC;KACrC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"document-placement.js","sourceRoot":"","sources":["../../src/document-placement.ts"],"names":[],"mappings":";;;AAoEA,8DA2BC;AAvEY,QAAA,+BAA+B,GAA0C;IACpF,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,IAAI;IACd,EAAE,EAAE,IAAI;CACT,CAAC;AAEW,QAAA,+BAA+B,GAA0C;IACpF,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,KAAK;IACf,EAAE,EAAE,IAAI;CACT,CAAC;AAEW,QAAA,iCAAiC,GAA0C;IACtF,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,GAAG;IACb,EAAE,EAAE,IAAI;CACT,CAAC;AAEW,QAAA,4BAA4B,GAAG,IAAI,CAAC;AAEjD,MAAM,kBAAkB,GAA4C;IAClE,SAAS,EAAE,aAAa;IACxB,SAAS,EAAE,wCAAwC;IACnD,UAAU,EAAE,qBAAqB;IACjC,UAAU,EAAE,wCAAwC;IACpD,EAAE,EAAE,OAAO;CACZ,CAAC;AAEF,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,eAAe,CAAC,KAA6B;IACpD,8EAA8E;IAC9E,yEAAyE;IACzE,MAAM,MAAM,GAAG;QACb,KAAK,CAAC,YAAY;QAClB,KAAK,CAAC,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc;KAC7D,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACzB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAErC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,SAAgB,yBAAyB,CACvC,KAA6B;IAE7B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACjF,MAAM,OAAO,GAAG,uCAA+B,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,uCAA+B,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,eAAe,GAAG,yCAAiC,CAAC,KAAK,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAE5C,IAAI,MAAM,GAA4B,IAAI,CAAC;IAC3C,IAAI,SAAS,GAAG,OAAO,EAAE,CAAC;QACxB,MAAM,GAAG,WAAW,CAAC;IACvB,CAAC;SAAM,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,GAAG,oCAA4B,EAAE,CAAC;QAChF,MAAM,GAAG,YAAY,CAAC;IACxB,CAAC;SAAM,IAAI,SAAS,GAAG,OAAO,EAAE,CAAC;QAC/B,MAAM,GAAG,WAAW,CAAC;IACvB,CAAC;SAAM,IAAI,YAAY,GAAG,eAAe,EAAE,CAAC;QAC1C,MAAM,GAAG,YAAY,CAAC;IACxB,CAAC;IAED,OAAO;QACL,KAAK,EAAE,MAAM,KAAK,IAAI;QACtB,MAAM;QACN,QAAQ,EAAE,kBAAkB,CAAC,MAAM,CAAC;KACrC,CAAC;AACJ,CAAC"}
@@ -7,7 +7,7 @@
7
7
  * All exports operate on raw data (Uint8Array pixel arrays, FrameMetrics
8
8
  * objects, numeric values). Zero browser dependencies.
9
9
  */
10
- export type { CamStateValue, FrameMetrics, DocumentReviewProfile, DocumentLikelihoodResult, CropRect, DocumentCropResult, OverlayRegion, OverlayVariant, QualityCheckResults, FaceBoundingBox, DetectedFace, MetadataReviewIssue, MetadataReviewResult, ReviewOrientation, ReviewMode, QualityBucket, ReviewDecisionOptions, } from './types.js';
10
+ export type { CamStateValue, FrameMetrics, CaptureAreaRange, CaptureGeometryProfile, DocumentReviewProfile, DocumentLikelihoodResult, CropRect, DocumentCropResult, OverlayRegion, OverlayVariant, QualityCheckResults, FaceBoundingBox, DetectedFace, MetadataReviewIssue, MetadataReviewResult, ReviewOrientation, ReviewMode, QualityBucket, ReviewDecisionOptions, } from './types.js';
11
11
  export { CamState, CAM_ANALYSIS_W, CAM_ANALYSIS_H, CAM_BRIGHTNESS_MIN, CAM_BRIGHTNESS_MAX, CAM_BLUR_THRESHOLD, CAM_EDGE_THRESHOLD, CAM_STABLE_FRAMES_NEEDED, CAM_FRAME_DIFF_THRESHOLD, CAM_EDGE_PIXEL_THRESHOLD, CAM_EDGE_COVERAGE_THRESHOLD, CAM_DOC_CENTER_OFFSET_MAX, CAPTURE_DOCUMENT_SHARPNESS_MIN, CAPTURE_DOCUMENT_MANUAL_FALLBACK_SECS, CAPTURE_DOCUMENT_AREA_MIN, CAPTURE_DOCUMENT_EDGE_READY_MULTIPLIER, DOC_GALLERY_FAILURE_THRESHOLD, DOC_SUBMIT_ANYWAY_FAILURE_THRESHOLD, SELFIE_SUBMIT_ANYWAY_FAILURE_THRESHOLD, ADDRESS_SUBMIT_ANYWAY_FAILURE_THRESHOLD, PICO_ANALYSIS_W, PICO_ANALYSIS_H, } from './types.js';
12
12
  export type { AddressMethod, AddressProofMode, AddressCoordinatesLike, AddressStepState, AddressMethodStartBehavior, } from './address-proof.js';
13
13
  export { ADDRESS_METHOD_ORDER, isAddressMethod, sanitizeAllowedAddressMethods, getRecommendedAddressMethod, getAddressMethodStartBehavior, getEffectiveAddressMethod, hasAddressProofCoordinates, hasStructuredAddress, isAddressStepComplete, } from './address-proof.js';
@@ -17,7 +17,7 @@ export type { IssuingCountryResolutionInput, ResolvedIssuingCountry } from './is
17
17
  export { getIssuingCountryMetadata, normalizeIssuingCountry, resolveIssuingCountry, } from './issuing-country.js';
18
18
  export type { FlowStepDefinition } from './flow-routing.js';
19
19
  export { getNextFlowStepId, getPreviousFlowStepId } from './flow-routing.js';
20
- export { getDocumentReviewProfile, checkDocumentLikelihood } from './document-classifier.js';
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
23
  export type { CaptureImageSize, CapturePreviewRect, CaptureCropRect, CapturePreviewResizeMode, CaptureRotationDegrees, CaptureNormalizationUnsafeReason, CaptureClampedEdges, CaptureNormalizationDiagnostics, CaptureFrameMode, PreviewRectToImageCropInput, ExpectedOrientationInput, CaptureNormalizationPlanInput, CaptureResizePlan, CaptureNormalizationPlan, } from './capture-normalization.js';