@geotechcli/core 0.4.76 → 0.4.78

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 (131) hide show
  1. package/dist/agents/data-tools.js +38 -1
  2. package/dist/agents/data-tools.js.map +1 -1
  3. package/dist/agents/fem-artifact-guards.d.ts +14 -0
  4. package/dist/agents/fem-artifact-guards.d.ts.map +1 -0
  5. package/dist/agents/fem-artifact-guards.js +53 -0
  6. package/dist/agents/fem-artifact-guards.js.map +1 -0
  7. package/dist/agents/fem-tools.js +86 -1
  8. package/dist/agents/fem-tools.js.map +1 -1
  9. package/dist/agents/filesystem-tools.js +13 -0
  10. package/dist/agents/filesystem-tools.js.map +1 -1
  11. package/dist/agents/provider-operating-contract.d.ts +3 -3
  12. package/dist/agents/provider-operating-contract.d.ts.map +1 -1
  13. package/dist/agents/provider-operating-contract.js +10 -46
  14. package/dist/agents/provider-operating-contract.js.map +1 -1
  15. package/dist/agents/runtime-bootstrap.d.ts +1 -0
  16. package/dist/agents/runtime-bootstrap.d.ts.map +1 -1
  17. package/dist/agents/runtime-bootstrap.js +1 -0
  18. package/dist/agents/runtime-bootstrap.js.map +1 -1
  19. package/dist/agents/safety.d.ts.map +1 -1
  20. package/dist/agents/safety.js +33 -0
  21. package/dist/agents/safety.js.map +1 -1
  22. package/dist/agents/signal-tools.d.ts +2 -0
  23. package/dist/agents/signal-tools.d.ts.map +1 -0
  24. package/dist/agents/signal-tools.js +96 -0
  25. package/dist/agents/signal-tools.js.map +1 -0
  26. package/dist/agents/swarm-planner.js +1 -1
  27. package/dist/agents/swarm-planner.js.map +1 -1
  28. package/dist/agents/swarm.d.ts +1 -0
  29. package/dist/agents/swarm.d.ts.map +1 -1
  30. package/dist/agents/swarm.js +202 -31
  31. package/dist/agents/swarm.js.map +1 -1
  32. package/dist/fem/ground-model-draft.d.ts +14 -0
  33. package/dist/fem/ground-model-draft.d.ts.map +1 -1
  34. package/dist/fem/ground-model-draft.js +86 -21
  35. package/dist/fem/ground-model-draft.js.map +1 -1
  36. package/dist/fem/index.d.ts +1 -1
  37. package/dist/fem/index.d.ts.map +1 -1
  38. package/dist/fem/index.js +1 -1
  39. package/dist/fem/index.js.map +1 -1
  40. package/dist/fem/routing.d.ts +15 -1
  41. package/dist/fem/routing.d.ts.map +1 -1
  42. package/dist/fem/routing.js +192 -14
  43. package/dist/fem/routing.js.map +1 -1
  44. package/dist/fem/validation.d.ts.map +1 -1
  45. package/dist/fem/validation.js +715 -30
  46. package/dist/fem/validation.js.map +1 -1
  47. package/dist/fem/webgl.d.ts.map +1 -1
  48. package/dist/fem/webgl.js +24 -8
  49. package/dist/fem/webgl.js.map +1 -1
  50. package/dist/index.d.ts +1 -0
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +1 -0
  53. package/dist/index.js.map +1 -1
  54. package/dist/ingest/document-evidence-packet.d.ts +603 -45
  55. package/dist/ingest/document-evidence-packet.d.ts.map +1 -1
  56. package/dist/ingest/document-evidence-packet.js +145 -5
  57. package/dist/ingest/document-evidence-packet.js.map +1 -1
  58. package/dist/ingest/geotech-benchmark-corpus.d.ts +108 -0
  59. package/dist/ingest/geotech-benchmark-corpus.d.ts.map +1 -0
  60. package/dist/ingest/geotech-benchmark-corpus.js +423 -0
  61. package/dist/ingest/geotech-benchmark-corpus.js.map +1 -0
  62. package/dist/ingest/geotech-document-benchmark.d.ts +133 -0
  63. package/dist/ingest/geotech-document-benchmark.d.ts.map +1 -1
  64. package/dist/ingest/geotech-document-benchmark.js +370 -2
  65. package/dist/ingest/geotech-document-benchmark.js.map +1 -1
  66. package/dist/ingest/geotech-document.d.ts +3 -0
  67. package/dist/ingest/geotech-document.d.ts.map +1 -1
  68. package/dist/ingest/geotech-document.js +7 -0
  69. package/dist/ingest/geotech-document.js.map +1 -1
  70. package/dist/ingest/index.d.ts +2 -1
  71. package/dist/ingest/index.d.ts.map +1 -1
  72. package/dist/ingest/index.js +1 -0
  73. package/dist/ingest/index.js.map +1 -1
  74. package/dist/ingest/job-store.d.ts.map +1 -1
  75. package/dist/ingest/job-store.js +193 -0
  76. package/dist/ingest/job-store.js.map +1 -1
  77. package/dist/ingest/job-worker.d.ts.map +1 -1
  78. package/dist/ingest/job-worker.js +5 -0
  79. package/dist/ingest/job-worker.js.map +1 -1
  80. package/dist/ingest/page-evidence-cache.d.ts +6 -2
  81. package/dist/ingest/page-evidence-cache.d.ts.map +1 -1
  82. package/dist/ingest/page-evidence-cache.js +226 -4
  83. package/dist/ingest/page-evidence-cache.js.map +1 -1
  84. package/dist/ingest/pdf.d.ts.map +1 -1
  85. package/dist/ingest/pdf.js +2 -2
  86. package/dist/ingest/pdf.js.map +1 -1
  87. package/dist/ingest/review-store.d.ts +3 -0
  88. package/dist/ingest/review-store.d.ts.map +1 -1
  89. package/dist/ingest/review-store.js +28 -0
  90. package/dist/ingest/review-store.js.map +1 -1
  91. package/dist/llm/capabilities.d.ts +6 -1
  92. package/dist/llm/capabilities.d.ts.map +1 -1
  93. package/dist/llm/capabilities.js +66 -0
  94. package/dist/llm/capabilities.js.map +1 -1
  95. package/dist/llm/index.d.ts +2 -2
  96. package/dist/llm/index.d.ts.map +1 -1
  97. package/dist/llm/index.js +1 -1
  98. package/dist/llm/index.js.map +1 -1
  99. package/dist/llm/types.d.ts +20 -0
  100. package/dist/llm/types.d.ts.map +1 -1
  101. package/dist/llm/types.js.map +1 -1
  102. package/dist/meta/metadata.json +1 -1
  103. package/dist/report/ingest-dossier.d.ts.map +1 -1
  104. package/dist/report/ingest-dossier.js +13 -1
  105. package/dist/report/ingest-dossier.js.map +1 -1
  106. package/dist/report/project-workflow.js +3 -3
  107. package/dist/report/project-workflow.js.map +1 -1
  108. package/dist/signal/index.d.ts +95 -0
  109. package/dist/signal/index.d.ts.map +1 -0
  110. package/dist/signal/index.js +375 -0
  111. package/dist/signal/index.js.map +1 -0
  112. package/dist/verifier/findings.d.ts +1 -1
  113. package/dist/verifier/findings.d.ts.map +1 -1
  114. package/dist/verifier/findings.js +329 -0
  115. package/dist/verifier/findings.js.map +1 -1
  116. package/dist/vision/ocr.d.ts +2 -0
  117. package/dist/vision/ocr.d.ts.map +1 -1
  118. package/dist/vision/ocr.js +78 -2
  119. package/dist/vision/ocr.js.map +1 -1
  120. package/dist/vision/preprocess.d.ts +65 -0
  121. package/dist/vision/preprocess.d.ts.map +1 -1
  122. package/dist/vision/preprocess.js +620 -7
  123. package/dist/vision/preprocess.js.map +1 -1
  124. package/dist/workspace/project-workflow-executor.d.ts +1 -1
  125. package/dist/workspace/project-workflow-executor.d.ts.map +1 -1
  126. package/dist/workspace/project-workflow-executor.js +275 -5
  127. package/dist/workspace/project-workflow-executor.js.map +1 -1
  128. package/dist/workspace/project-workflow-router.d.ts.map +1 -1
  129. package/dist/workspace/project-workflow-router.js +63 -1
  130. package/dist/workspace/project-workflow-router.js.map +1 -1
  131. package/package.json +1 -1
@@ -3,7 +3,7 @@ import { mkdtempSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
3
3
  import { join } from 'node:path';
4
4
  import { tmpdir } from 'node:os';
5
5
  import { assessPdfTextQuality } from '../ingest/pdf.js';
6
- import { extractPdfPageTextFromBuffer, preprocessVisionImageBuffer } from './preprocess.js';
6
+ import { extractPdfPageTextFromBuffer, preprocessVisionImageBuffer, resolveVisionImagePreprocessPolicy, } from './preprocess.js';
7
7
  import { parseDocumentLayoutWithGlmOcr, supportsGlmOcrLayoutParsing, } from './layout-ocr.js';
8
8
  let cachedLocalTesseractAvailability = null;
9
9
  async function loadSharp() {
@@ -93,6 +93,42 @@ async function buildVisionOcrChunkInputs(buffer, mimeType) {
93
93
  return [];
94
94
  }
95
95
  }
96
+ function buildVisionOcrPreprocessingRegionInputs(preprocessing) {
97
+ if (!preprocessing) {
98
+ return [];
99
+ }
100
+ return preprocessing.regions
101
+ .filter((region) => region.id !== 'normalized-full-page'
102
+ && region.id !== 'original-full-page'
103
+ && region.asset?.dataBase64
104
+ && region.asset.mimeType.startsWith('image/'))
105
+ .sort((left, right) => regionOcrPriority(left.id, left.label) - regionOcrPriority(right.id, right.label))
106
+ .flatMap((region) => {
107
+ const dataBase64 = region.asset?.dataBase64;
108
+ if (!dataBase64 || !region.asset) {
109
+ return [];
110
+ }
111
+ const buffer = Buffer.from(dataBase64, 'base64');
112
+ if (buffer.length === 0) {
113
+ return [];
114
+ }
115
+ return [{
116
+ buffer,
117
+ mimeType: region.asset.mimeType,
118
+ label: `Preprocessed region ${region.label}`,
119
+ }];
120
+ });
121
+ }
122
+ function regionOcrPriority(id, label) {
123
+ const value = `${id} ${label}`.toLowerCase();
124
+ if (value.includes('table') || value.includes('log-panel')) {
125
+ return 0;
126
+ }
127
+ if (value.includes('content')) {
128
+ return 1;
129
+ }
130
+ return 2;
131
+ }
96
132
  export function hasLocalTesseractOcr() {
97
133
  if (cachedLocalTesseractAvailability != null) {
98
134
  return cachedLocalTesseractAvailability;
@@ -231,7 +267,7 @@ export async function recoverDocumentTextHint(options) {
231
267
  }
232
268
  const warnings = [...nativeTextWarnings];
233
269
  const originalBuffer = Buffer.from(options.imageBase64, 'base64');
234
- const preprocessed = await preprocessVisionImageBuffer(originalBuffer, options.mimeType, 'ocr-optimized');
270
+ const preprocessed = await preprocessVisionImageBuffer(originalBuffer, options.mimeType, resolveVisionImagePreprocessPolicy());
235
271
  warnings.push(...preprocessed.warnings);
236
272
  const localText = normalizeTextHint(runLocalTesseractOcr(preprocessed.buffer, preprocessed.mimeType));
237
273
  if (localText && localText.length >= minimumLength) {
@@ -241,6 +277,7 @@ export async function recoverDocumentTextHint(options) {
241
277
  warnings,
242
278
  latencyMs: Date.now() - start,
243
279
  transformed: preprocessed.transformed,
280
+ preprocessing: preprocessed.preprocessing,
244
281
  };
245
282
  }
246
283
  const allowVisionOcr = options.allowVisionOcr ?? true;
@@ -270,11 +307,48 @@ export async function recoverDocumentTextHint(options) {
270
307
  warnings,
271
308
  latencyMs: Date.now() - start,
272
309
  transformed: preprocessed.transformed,
310
+ preprocessing: preprocessed.preprocessing,
273
311
  };
274
312
  }
275
313
  if (recoveredVisionText) {
276
314
  warnings.push('Vision OCR returned a text hint, but it was too short to trust for document extraction.');
277
315
  }
316
+ const regionInputs = buildVisionOcrPreprocessingRegionInputs(preprocessed.preprocessing);
317
+ if (regionInputs.length > 0) {
318
+ const regionTexts = [];
319
+ for (const regionInput of regionInputs) {
320
+ try {
321
+ const regionTranscription = await options.visionTranscribe(regionInput.buffer.toString('base64'), regionInput.mimeType, options.config);
322
+ const sanitized = sanitizeVisionOcrText(regionTranscription.text);
323
+ warnings.push(...regionTranscription.warnings.map((warning) => `${regionInput.label}: ${warning}`));
324
+ if (sanitized.rejectedReason) {
325
+ warnings.push(`${regionInput.label}: ${sanitized.rejectedReason}`);
326
+ continue;
327
+ }
328
+ if (sanitized.textHint) {
329
+ regionTexts.push(sanitized.textHint);
330
+ }
331
+ }
332
+ catch (error) {
333
+ warnings.push(`${regionInput.label} failed: ${error instanceof Error ? error.message : String(error)}`);
334
+ }
335
+ }
336
+ const combinedRegionText = normalizeTextHint(regionTexts.join('\n'), 4000);
337
+ if (combinedRegionText && combinedRegionText.length >= minimumLength) {
338
+ warnings.push(`Recovered OCR text from ${regionInputs.length} preprocessed region crop(s).`);
339
+ return {
340
+ textHint: combinedRegionText,
341
+ source: 'vision-ocr',
342
+ warnings: [...new Set(warnings)],
343
+ latencyMs: Date.now() - start,
344
+ transformed: preprocessed.transformed,
345
+ preprocessing: preprocessed.preprocessing,
346
+ };
347
+ }
348
+ if (combinedRegionText) {
349
+ warnings.push('Preprocessed region OCR recovered text fragments, but they were still too short to trust for document extraction.');
350
+ }
351
+ }
278
352
  const chunkInputs = await buildVisionOcrChunkInputs(preprocessed.buffer, preprocessed.mimeType);
279
353
  if (chunkInputs.length > 0) {
280
354
  const chunkTexts = [];
@@ -304,6 +378,7 @@ export async function recoverDocumentTextHint(options) {
304
378
  warnings: [...new Set(warnings)],
305
379
  latencyMs: Date.now() - start,
306
380
  transformed: preprocessed.transformed,
381
+ preprocessing: preprocessed.preprocessing,
307
382
  };
308
383
  }
309
384
  if (combinedChunkText) {
@@ -317,6 +392,7 @@ export async function recoverDocumentTextHint(options) {
317
392
  warnings: warnings.length > 0 ? warnings : ['No usable OCR text hint was recovered.'],
318
393
  latencyMs: Date.now() - start,
319
394
  transformed: preprocessed.transformed,
395
+ preprocessing: preprocessed.preprocessing,
320
396
  };
321
397
  }
322
398
  //# sourceMappingURL=ocr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ocr.js","sourceRoot":"","sources":["../../src/vision/ocr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,GAE5B,MAAM,iBAAiB,CAAC;AA2CzB,IAAI,gCAAgC,GAAmB,IAAI,CAAC;AAE5D,KAAK,UAAU,SAAS;IACtB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;QAClC,OAAO,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAgC,EAAE,SAAS,GAAG,IAAI;IAC3E,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACrD,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACjE,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAa;IACjD,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACvC,OAAO,CACL,UAAU,CAAC,QAAQ,CAAC,iCAAiC,CAAC;WACnD,UAAU,CAAC,QAAQ,CAAC,mBAAmB,CAAC;WACxC,UAAU,CAAC,QAAQ,CAAC,qBAAqB,CAAC;WAC1C,UAAU,CAAC,QAAQ,CAAC,0BAA0B,CAAC;WAC/C,UAAU,CAAC,QAAQ,CAAC,oBAAoB,CAAC;WACzC,UAAU,CAAC,QAAQ,CAAC,sBAAsB,CAAC;WAC3C,UAAU,CAAC,QAAQ,CAAC,oBAAoB,CAAC;WACzC,UAAU,CAAC,QAAQ,CAAC,2BAA2B,CAAC;WAChD,UAAU,CAAC,QAAQ,CAAC,6BAA6B,CAAC;WAClD,UAAU,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAC3D,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAgC;IAI7D,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,4BAA4B,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7C,OAAO;YACL,cAAc,EAAE,wEAAwE;SACzF,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAClC,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,MAAc,EACd,QAAgB;IAEhB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;IAChC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;QACpC,IAAI,KAAK,GAAG,EAAE,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;YAC/B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACvE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;QAC5C,MAAM,MAAM,GAA+D,EAAE,CAAC;QAE9E,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YACnD,MAAM,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAC;YAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YACpD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,KAAK,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YACzG,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;iBAClD,OAAO,CAAC;gBACP,IAAI,EAAE,CAAC;gBACP,GAAG;gBACH,KAAK;gBACL,MAAM,EAAE,WAAW;aACpB,CAAC;iBACD,GAAG,EAAE;iBACL,QAAQ,EAAE,CAAC;YAEd,MAAM,CAAC,IAAI,CAAC;gBACV,MAAM,EAAE,WAAW;gBACnB,QAAQ,EAAE,WAAW;gBACrB,KAAK,EAAE,aAAa,KAAK,GAAG,CAAC,IAAI,UAAU,EAAE;aAC9C,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,IAAI,gCAAgC,IAAI,IAAI,EAAE,CAAC;QAC7C,OAAO,gCAAgC,CAAC;IAC1C,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1E,gCAAgC,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,gCAAgC,GAAG,KAAK,CAAC;IAC3C,CAAC;IAED,OAAO,gCAAgC,CAAC;AAC1C,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc,EAAE,QAAgB;IAC5D,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GACb,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK;QAC/B,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK;YAChC,CAAC,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM;gBAClC,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK;oBAChC,CAAC,CAAC,KAAK,CAAC;IAClB,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,SAAS,EAAE,CAAC,CAAC;IAErD,IAAI,CAAC;QACH,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,YAAY,CACzB,WAAW,EACX,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,EACnC;gBACE,QAAQ,EAAE,MAAM;gBAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;gBACjC,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;aAC3B,CACF,CAAC;YACF,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,OAAuC;IAEvC,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;IAClD,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC/D,MAAM,iBAAiB,GAAG,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/E,MAAM,oBAAoB,GACxB,OAAO,CAAC,oBAAoB;WACzB,iBAAiB,EAAE,QAAQ;WAC3B,KAAK,CAAC;IACX,MAAM,kBAAkB,GACtB,CAAC,oBAAoB,IAAI,iBAAiB;QACxC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,2DAA2D,MAAM,EAAE,CAAC;QAChH,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEzB,IAAI,oBAAoB,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;QAC7E,OAAO;YACL,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,aAAa;YACrB,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC;IAED,IACE,OAAO,CAAC,WAAW;WAChB,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;WAClD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC;WACtC,CAAC,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC,GAAG,CAAC,EACnC,CAAC;QACD,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,iBAAiB,CACjC,MAAM,4BAA4B,CAChC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,EACjC,OAAO,CAAC,aAAa,CACtB,CACF,CAAC;YACF,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACxE,IAAI,SAAS,IAAI,YAAY,EAAE,QAAQ,IAAI,SAAS,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;gBAC7E,OAAO;oBACL,QAAQ,EAAE,SAAS;oBACnB,MAAM,EAAE,YAAY;oBACpB,QAAQ,EAAE,kBAAkB;oBAC5B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;oBAC7B,WAAW,EAAE,KAAK;iBACnB,CAAC;YACJ,CAAC;YACD,IAAI,SAAS,IAAI,YAAY,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;gBACxD,kBAAkB,CAAC,IAAI,CACrB,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,iDAAiD,MAAM,EAAE,CAAC,CACnG,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kBAAkB,CAAC,IAAI,CACrB,2CAA2C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACpG,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC;IACtD,IAAI,cAAc,IAAI,2BAA2B,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,6BAA6B,CAAC;QACzE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,MAAM,CACf,CAAC;YACF,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC3E,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;gBACrD,OAAO;oBACL,QAAQ,EAAE,UAAU;oBACpB,MAAM,EAAE,SAAS;oBACjB,QAAQ,EAAE;wBACR,GAAG,kBAAkB;wBACrB,GAAG,MAAM,CAAC,QAAQ;wBAClB,sCAAsC,MAAM,CAAC,KAAK,CAAC,MAAM,kBAAkB;qBAC5E;oBACD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;oBAC7B,WAAW,EAAE,KAAK;oBAClB,MAAM;iBACP,CAAC;YACJ,CAAC;YACD,kBAAkB,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;YAC9F,kBAAkB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kBAAkB,CAAC,IAAI,CACrB,kCAAkC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC3F,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC3B,kBAAkB,CAAC,IAAI,CAAC,oHAAoH,CAAC,CAAC;IAChJ,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3C,MAAM,cAAc,GAClB,CAAC,oBAAoB,IAAI,UAAU;YACjC,CAAC,CAAC;gBACA,GAAG,kBAAkB;gBACrB,2HAA2H;aAC5H;YACD,CAAC,CAAC,EAAE,CAAC;QACT,OAAO;YACL,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YACvD,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM;YACrD,QAAQ,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC;gBACjC,CAAC,CAAC,cAAc;gBAChB,CAAC,CAAC,UAAU;oBACV,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,CAAC,sEAAsE,CAAC;YAC5E,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,KAAK;SACnB,CAAC;IACN,CAAC;IAED,MAAM,QAAQ,GAAa,CAAC,GAAG,kBAAkB,CAAC,CAAC;IACnD,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAClE,MAAM,YAAY,GAAG,MAAM,2BAA2B,CAAC,cAAc,EAAE,OAAO,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IAC1G,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IAExC,MAAM,SAAS,GAAG,iBAAiB,CAAC,oBAAoB,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtG,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;QACnD,OAAO;YACL,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,WAAW;YACnB,QAAQ;YACR,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;YAC7B,WAAW,EAAE,YAAY,CAAC,WAAW;SACtC,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC;IACtD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,QAAQ,CAAC,IAAI,CAAC,0GAA0G,CAAC,CAAC;IAC5H,CAAC;IAED,IAAI,cAAc,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC/C,IAAI,mBAAuC,CAAC;QAE5C,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAClD,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EACtC,YAAY,CAAC,QAAQ,EACrB,OAAO,CAAC,MAAM,CACf,CAAC;YACF,MAAM,SAAS,GAAG,qBAAqB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC5D,QAAQ,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,SAAS,CAAC,cAAc,EAAE,CAAC;gBAC7B,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAC1C,CAAC;iBAAM,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;gBAC9B,mBAAmB,GAAG,SAAS,CAAC,QAAQ,CAAC;YAC3C,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC,uCAAuC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjH,CAAC;QAED,IAAI,mBAAmB,IAAI,mBAAmB,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;YACvE,OAAO;gBACL,QAAQ,EAAE,mBAAmB;gBAC7B,MAAM,EAAE,YAAY;gBACpB,QAAQ;gBACR,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;gBAC7B,WAAW,EAAE,YAAY,CAAC,WAAW;aACtC,CAAC;QACJ,CAAC;QAED,IAAI,mBAAmB,EAAE,CAAC;YACxB,QAAQ,CAAC,IAAI,CAAC,yFAAyF,CAAC,CAAC;QAC3G,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,yBAAyB,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;QAChG,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAa,EAAE,CAAC;YAEhC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;gBACrC,IAAI,CAAC;oBACH,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,gBAAgB,CACvD,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EACpC,UAAU,CAAC,QAAQ,EACnB,OAAO,CAAC,MAAM,CACf,CAAC;oBACF,MAAM,SAAS,GAAG,qBAAqB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;oBACjE,QAAQ,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC;oBAClG,IAAI,SAAS,CAAC,cAAc,EAAE,CAAC;wBAC7B,QAAQ,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,KAAK,SAAS,CAAC,cAAc,EAAE,CAAC,CAAC;wBAClE,SAAS;oBACX,CAAC;oBACD,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;wBACvB,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;oBACtC,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,QAAQ,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,YAAY,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACzG,CAAC;YACH,CAAC;YAED,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACnE,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;gBACnE,QAAQ,CAAC,IAAI,CAAC,8DAA8D,WAAW,CAAC,MAAM,YAAY,CAAC,CAAC;gBAC5G,OAAO;oBACL,QAAQ,EAAE,iBAAiB;oBAC3B,MAAM,EAAE,YAAY;oBACpB,QAAQ,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAChC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;oBAC7B,WAAW,EAAE,YAAY,CAAC,WAAW;iBACtC,CAAC;YACJ,CAAC;YAED,IAAI,iBAAiB,EAAE,CAAC;gBACtB,QAAQ,CAAC,IAAI,CAAC,8GAA8G,CAAC,CAAC;YAChI,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;QACvD,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM;QACrD,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,wCAAwC,CAAC;QACrF,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;QAC7B,WAAW,EAAE,YAAY,CAAC,WAAW;KACtC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ocr.js","sourceRoot":"","sources":["../../src/vision/ocr.ts"],"names":[],"mappings":"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"}
@@ -3,15 +3,80 @@ export interface VisionImagePreprocessResult {
3
3
  mimeType: string;
4
4
  transformed: boolean;
5
5
  warnings: string[];
6
+ preprocessing: VisionImagePreprocessMetadata;
6
7
  }
7
8
  export type VisionImagePreprocessPolicy = 'none' | 'ocr-optimized';
9
+ export declare const VISION_IMAGE_PREPROCESS_METADATA_SCHEMA_VERSION = 1;
10
+ export declare const VISION_IMAGE_PREPROCESS_PIPELINE_VERSION = "vision-image-preprocess-v2";
11
+ export interface VisionPreprocessImageMetadata {
12
+ mimeType: string;
13
+ byteLength: number;
14
+ width?: number;
15
+ height?: number;
16
+ }
17
+ export interface VisionPreprocessRegionMetadata {
18
+ id: string;
19
+ source: 'preprocessing';
20
+ label: string;
21
+ bbox2d?: [number, number, number, number];
22
+ coverageRatio?: number;
23
+ quality?: VisionPreprocessRegionQualityMetadata;
24
+ asset?: VisionPreprocessRegionAssetMetadata;
25
+ }
26
+ export interface VisionPreprocessRegionAssetMetadata {
27
+ mimeType: string;
28
+ byteLength: number;
29
+ sha256: string;
30
+ width?: number;
31
+ height?: number;
32
+ normalized?: boolean;
33
+ cacheRelativePath?: string;
34
+ dataBase64?: string;
35
+ }
36
+ export interface VisionPreprocessDeskewMetadata {
37
+ method: 'projection-profile';
38
+ angleDeg: number;
39
+ confidence: number;
40
+ applied: boolean;
41
+ }
42
+ export interface VisionPreprocessRegionQualityMetadata {
43
+ score: number;
44
+ darkPixelRatio: number;
45
+ lineDensity: number;
46
+ coverageRatio: number;
47
+ warnings: string[];
48
+ }
49
+ export interface VisionImagePreprocessQualityMetadata {
50
+ score: number;
51
+ contentCoverageRatio: number;
52
+ darkPixelRatio: number;
53
+ regionCoverageRatio: number;
54
+ regionCount: number;
55
+ cropAssetCount: number;
56
+ deskew: VisionPreprocessDeskewMetadata;
57
+ warnings: string[];
58
+ }
59
+ export interface VisionImagePreprocessMetadata {
60
+ schemaVersion: typeof VISION_IMAGE_PREPROCESS_METADATA_SCHEMA_VERSION;
61
+ pipelineVersion: string;
62
+ policy: VisionImagePreprocessPolicy;
63
+ transformed: boolean;
64
+ input: VisionPreprocessImageMetadata;
65
+ output: VisionPreprocessImageMetadata;
66
+ operations: string[];
67
+ regions: VisionPreprocessRegionMetadata[];
68
+ quality?: VisionImagePreprocessQualityMetadata;
69
+ warnings: string[];
70
+ }
8
71
  export interface PdfPageRasterRenderResult {
9
72
  buffer: Buffer;
10
73
  mimeType: 'image/png';
11
74
  width: number;
12
75
  height: number;
13
76
  warnings: string[];
77
+ preprocessing: VisionImagePreprocessMetadata;
14
78
  }
79
+ export declare function resolveVisionImagePreprocessPolicy(value?: string | null | undefined): VisionImagePreprocessPolicy;
15
80
  export declare function encodeRawRasterToPng(pixels: Uint8Array, details: {
16
81
  width: number;
17
82
  height: number;
@@ -1 +1 @@
1
- {"version":3,"file":"preprocess.d.ts","sourceRoot":"","sources":["../../src/vision/preprocess.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,MAAM,2BAA2B,GAAG,MAAM,GAAG,eAAe,CAAC;AAEnE,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AA4ED,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC3D,OAAO,CAAC,MAAM,CAAC,CAejB;AAED,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,2BAA6C,GACpD,OAAO,CAAC,2BAA2B,CAAC,CAwDtC;AAED,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,UAAU,EAClB,UAAU,SAAI,EACd,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,2BAA2B,CAAC;CAChD,GACA,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAmE3C;AAED,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,UAAU,EAClB,UAAU,SAAI,GACb,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmDxB"}
1
+ {"version":3,"file":"preprocess.d.ts","sourceRoot":"","sources":["../../src/vision/preprocess.ts"],"names":[],"mappings":"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"}