@geotechcli/core 0.4.44 → 0.4.45

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 (33) hide show
  1. package/dist/agents/brain.d.ts.map +1 -1
  2. package/dist/agents/brain.js +2 -3
  3. package/dist/agents/brain.js.map +1 -1
  4. package/dist/agents/data-tools.js +44 -5
  5. package/dist/agents/data-tools.js.map +1 -1
  6. package/dist/agents/safety.d.ts +1 -0
  7. package/dist/agents/safety.d.ts.map +1 -1
  8. package/dist/agents/safety.js +26 -0
  9. package/dist/agents/safety.js.map +1 -1
  10. package/dist/agents/swarm.d.ts.map +1 -1
  11. package/dist/agents/swarm.js +2 -3
  12. package/dist/agents/swarm.js.map +1 -1
  13. package/dist/ingest/document-evidence-packet.d.ts +777 -0
  14. package/dist/ingest/document-evidence-packet.d.ts.map +1 -0
  15. package/dist/ingest/document-evidence-packet.js +542 -0
  16. package/dist/ingest/document-evidence-packet.js.map +1 -0
  17. package/dist/ingest/geotech-document-benchmark.d.ts +15 -0
  18. package/dist/ingest/geotech-document-benchmark.d.ts.map +1 -1
  19. package/dist/ingest/geotech-document-benchmark.js +18 -0
  20. package/dist/ingest/geotech-document-benchmark.js.map +1 -1
  21. package/dist/ingest/geotech-document.d.ts +2 -0
  22. package/dist/ingest/geotech-document.d.ts.map +1 -1
  23. package/dist/ingest/geotech-document.js +3 -1
  24. package/dist/ingest/geotech-document.js.map +1 -1
  25. package/dist/ingest/index.d.ts +1 -0
  26. package/dist/ingest/index.d.ts.map +1 -1
  27. package/dist/ingest/index.js +1 -0
  28. package/dist/ingest/index.js.map +1 -1
  29. package/dist/ingest/job-worker.d.ts.map +1 -1
  30. package/dist/ingest/job-worker.js +4 -2
  31. package/dist/ingest/job-worker.js.map +1 -1
  32. package/dist/meta/metadata.json +1 -1
  33. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-evidence-packet.d.ts","sourceRoot":"","sources":["../../src/ingest/document-evidence-packet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAGV,2BAA2B,EAE5B,MAAM,uBAAuB,CAAC;AAE/B,eAAO,MAAM,uCAAuC,IAAI,CAAC;AAEzD,eAAO,MAAM,4BAA4B,oFAMvC,CAAC;AAEH,eAAO,MAAM,kCAAkC,iEAK7C,CAAC;AAEH,eAAO,MAAM,qCAAqC,wDAIhD,CAAC;AAqFH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsCvC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAE9F,MAAM,WAAW,8CAA8C;IAC7D,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,2BAA2B,GAAG,sBAAsB,CA4GvG;AAED,wBAAgB,4BAA4B,CAAC,CAAC,SAAS,2BAA2B,EAChF,MAAM,EAAE,CAAC,GACR,CAAC,GAAG;IAAE,cAAc,EAAE,sBAAsB,CAAA;CAAE,CAKhD;AAED,wBAAgB,uCAAuC,CACrD,MAAM,EAAE,sBAAsB,EAC9B,OAAO,GAAE,8CAAmD,GAC3D,MAAM,CAqDR;AAED,wBAAgB,sCAAsC,CACpD,MAAM,EAAE,2BAA2B,EACnC,OAAO,GAAE,8CAAmD,GAC3D,MAAM,CAKR"}
@@ -0,0 +1,542 @@
1
+ import { z } from 'zod';
2
+ export const DOCUMENT_EVIDENCE_PACKET_SCHEMA_VERSION = 1;
3
+ export const DocumentEvidenceMethodSchema = z.enum([
4
+ 'native-pdf-text',
5
+ 'layout-ocr',
6
+ 'visual-reasoning',
7
+ 'hybrid',
8
+ 'none',
9
+ ]);
10
+ export const DocumentEvidenceReviewStatusSchema = z.enum([
11
+ 'verified',
12
+ 'needs_review',
13
+ 'missing',
14
+ 'uncertain',
15
+ ]);
16
+ export const DocumentEvidenceObservationTypeSchema = z.enum([
17
+ 'material',
18
+ 'classification',
19
+ 'parameter',
20
+ ]);
21
+ const SourceSchema = z.object({
22
+ fileName: z.string().optional(),
23
+ filePath: z.string().optional(),
24
+ inputKind: z.enum(['image', 'pdf']),
25
+ pageRange: z.tuple([z.number().int().positive(), z.number().int().positive()]).optional(),
26
+ totalPages: z.number().int().nonnegative(),
27
+ successfulPages: z.number().int().nonnegative(),
28
+ failedPages: z.number().int().nonnegative(),
29
+ });
30
+ const DocumentSchema = z.object({
31
+ title: z.string().nullable(),
32
+ documentClass: z.string().nullable(),
33
+ parseStatus: z.enum(['parsed', 'partial', 'failed']),
34
+ confidence: z.number().min(0).max(100),
35
+ reviewRequired: z.boolean(),
36
+ canAutoProceed: z.boolean(),
37
+ });
38
+ const PageSchema = z.object({
39
+ pageNumber: z.number().int().positive(),
40
+ classification: z.string().nullable(),
41
+ parseStatus: z.enum(['parsed', 'partial', 'failed']),
42
+ confidence: z.number().min(0).max(100),
43
+ method: DocumentEvidenceMethodSchema,
44
+ rawSource: z.string(),
45
+ sourceCategory: z.enum(['native-text', 'layout-ocr', 'vision', 'none']),
46
+ cacheStatus: z.enum(['hit', 'miss', 'stored', 'skipped', 'unavailable']),
47
+ cacheEntryId: z.string().optional(),
48
+ counts: z.object({
49
+ materials: z.number().int().nonnegative(),
50
+ classifications: z.number().int().nonnegative(),
51
+ parameters: z.number().int().nonnegative(),
52
+ }),
53
+ warnings: z.array(z.string()),
54
+ });
55
+ const ObservationSchema = z.object({
56
+ id: z.string(),
57
+ type: DocumentEvidenceObservationTypeSchema,
58
+ label: z.string(),
59
+ value: z.union([z.string(), z.number(), z.boolean(), z.null()]),
60
+ numericValue: z.number().nullable().optional(),
61
+ unit: z.string().nullable().optional(),
62
+ material: z.string().nullable().optional(),
63
+ context: z.string().nullable().optional(),
64
+ sourcePages: z.array(z.number().int().positive()),
65
+ method: DocumentEvidenceMethodSchema,
66
+ confidence: z.number().min(0).max(100),
67
+ reviewStatus: DocumentEvidenceReviewStatusSchema,
68
+ warnings: z.array(z.string()),
69
+ });
70
+ const ContentChunkSchema = z.object({
71
+ chunkId: z.string(),
72
+ pageRange: z.tuple([z.number().int().positive(), z.number().int().positive()]),
73
+ headingAncestry: z.array(z.string()),
74
+ scope: z.enum(['page', 'table', 'figure', 'section']),
75
+ sectionType: z.string().optional(),
76
+ significance: z.number().optional(),
77
+ sourcePages: z.array(z.number().int().positive()),
78
+ text: z.string(),
79
+ });
80
+ const ReviewFindingSchema = z.object({
81
+ code: z.string(),
82
+ severity: z.enum(['advisory', 'review', 'blocking']),
83
+ scope: z.enum(['document', 'page', 'material']),
84
+ message: z.string(),
85
+ pageNumber: z.number().int().positive().optional(),
86
+ materialDescription: z.string().optional(),
87
+ });
88
+ const SynthesisSchema = z.object({
89
+ takeaways: z.array(z.string()),
90
+ groundModel: z.array(z.string()),
91
+ keyParameters: z.array(z.string()),
92
+ interpretation: z.array(z.string()),
93
+ limitations: z.array(z.string()),
94
+ sourcePages: z.array(z.number().int().positive()),
95
+ latencyMs: z.number().nonnegative().optional(),
96
+ }).nullable();
97
+ export const DocumentEvidencePacketSchema = z.object({
98
+ kind: z.literal('document-evidence-packet'),
99
+ schemaVersion: z.literal(DOCUMENT_EVIDENCE_PACKET_SCHEMA_VERSION),
100
+ generatedAt: z.string(),
101
+ providerContract: z.object({
102
+ providerNeutral: z.literal(true),
103
+ purpose: z.literal('byok-document-understanding'),
104
+ normalizedMethods: z.array(DocumentEvidenceMethodSchema),
105
+ reviewGates: z.array(z.string()),
106
+ }),
107
+ source: SourceSchema,
108
+ document: DocumentSchema,
109
+ pages: z.array(PageSchema),
110
+ observations: z.object({
111
+ materials: z.array(ObservationSchema),
112
+ classifications: z.array(ObservationSchema),
113
+ parameters: z.array(ObservationSchema),
114
+ }),
115
+ contentChunks: z.array(ContentChunkSchema),
116
+ synthesis: SynthesisSchema,
117
+ review: z.object({
118
+ warnings: z.array(z.string()),
119
+ reviewReasons: z.array(z.string()),
120
+ findings: z.array(ReviewFindingSchema),
121
+ }),
122
+ traceability: z.object({
123
+ sourcePages: z.array(z.number().int().positive()),
124
+ pagesWithEvidence: z.array(z.number().int().positive()),
125
+ directVisualPages: z.array(z.number().int().positive()),
126
+ layoutOcrPages: z.array(z.number().int().positive()),
127
+ nativeTextPages: z.array(z.number().int().positive()),
128
+ boreholeIds: z.array(z.string()),
129
+ maxDepthMeters: z.number().nullable(),
130
+ parametersWithSourcePage: z.number().int().nonnegative(),
131
+ parametersWithoutSourcePage: z.number().int().nonnegative(),
132
+ parameterTraceabilityRate: z.number().min(0).max(1),
133
+ methodCounts: z.record(z.string(), z.number().int().nonnegative()),
134
+ }),
135
+ });
136
+ export function buildDocumentEvidencePacket(result) {
137
+ const pages = result.pageAudits.map((audit) => buildEvidencePage(audit));
138
+ const traceability = buildTraceability(result, pages);
139
+ const packet = {
140
+ kind: 'document-evidence-packet',
141
+ schemaVersion: DOCUMENT_EVIDENCE_PACKET_SCHEMA_VERSION,
142
+ generatedAt: result.generatedAt,
143
+ providerContract: {
144
+ providerNeutral: true,
145
+ purpose: 'byok-document-understanding',
146
+ normalizedMethods: ['native-pdf-text', 'layout-ocr', 'visual-reasoning', 'hybrid', 'none'],
147
+ reviewGates: buildReviewGates(result),
148
+ },
149
+ source: {
150
+ ...(result.source.fileName ? { fileName: result.source.fileName } : {}),
151
+ ...(result.source.filePath ? { filePath: result.source.filePath } : {}),
152
+ inputKind: result.source.inputKind,
153
+ ...(result.source.pageRange ? { pageRange: result.source.pageRange } : {}),
154
+ totalPages: result.source.totalPages,
155
+ successfulPages: result.source.successfulPages,
156
+ failedPages: result.source.failedPages,
157
+ },
158
+ document: {
159
+ title: result.title,
160
+ documentClass: result.documentClass,
161
+ parseStatus: result.parseStatus,
162
+ confidence: normalizeConfidence(result.confidence),
163
+ reviewRequired: result.reviewRequired,
164
+ canAutoProceed: result.canAutoProceed,
165
+ },
166
+ pages,
167
+ observations: {
168
+ materials: result.materials.map((material, index) => {
169
+ const sourcePages = sourcePagesFromObservation(material.sourcePages, material.description);
170
+ return {
171
+ id: observationId('material', index, material.description),
172
+ type: 'material',
173
+ label: material.kind,
174
+ value: material.description,
175
+ material: material.lithology,
176
+ context: material.uscsSymbol ? `USCS ${material.uscsSymbol}` : null,
177
+ sourcePages,
178
+ method: methodForSourcePages(sourcePages, pages),
179
+ confidence: confidenceForSourcePages(sourcePages, pages, result.confidence),
180
+ reviewStatus: sourcePages.length > 0 ? 'verified' : 'needs_review',
181
+ warnings: [],
182
+ };
183
+ }),
184
+ classifications: result.classifications.map((classification, index) => {
185
+ const sourcePages = sourcePagesFromObservation(classification.sourcePages, classification.context);
186
+ return {
187
+ id: observationId('classification', index, `${classification.system}:${classification.value}`),
188
+ type: 'classification',
189
+ label: classification.system,
190
+ value: classification.value,
191
+ context: classification.context,
192
+ sourcePages,
193
+ method: methodForSourcePages(sourcePages, pages),
194
+ confidence: confidenceForSourcePages(sourcePages, pages, result.confidence),
195
+ reviewStatus: sourcePages.length > 0 ? 'verified' : 'needs_review',
196
+ warnings: [],
197
+ };
198
+ }),
199
+ parameters: result.parameters.map((parameter, index) => {
200
+ const sourcePages = sourcePagesFromObservation(parameter.sourcePages, parameter.context);
201
+ const missing = isMissingValue(parameter.valueText, parameter.numericValue);
202
+ return {
203
+ id: observationId('parameter', index, `${parameter.name}:${parameter.valueText}`),
204
+ type: 'parameter',
205
+ label: parameter.name,
206
+ value: parameter.valueText,
207
+ numericValue: parameter.numericValue,
208
+ unit: parameter.unit,
209
+ material: parameter.material,
210
+ context: parameter.context,
211
+ sourcePages,
212
+ method: methodForSourcePages(sourcePages, pages),
213
+ confidence: missing ? 0 : confidenceForSourcePages(sourcePages, pages, result.confidence),
214
+ reviewStatus: missing
215
+ ? 'missing'
216
+ : sourcePages.length > 0
217
+ ? 'verified'
218
+ : 'needs_review',
219
+ warnings: missing ? ['Value is missing or not extracted.'] : [],
220
+ };
221
+ }),
222
+ },
223
+ contentChunks: (result.contentChunks ?? []).map(compactContentChunk),
224
+ synthesis: result.synthesis
225
+ ? {
226
+ takeaways: result.synthesis.takeaways,
227
+ groundModel: result.synthesis.groundModel,
228
+ keyParameters: result.synthesis.keyParameters,
229
+ interpretation: result.synthesis.interpretation,
230
+ limitations: result.synthesis.limitations,
231
+ sourcePages: normalizePages(result.synthesis.sourcePages),
232
+ ...(Number.isFinite(result.synthesis.latencyMs) ? { latencyMs: Math.max(0, Math.round(result.synthesis.latencyMs)) } : {}),
233
+ }
234
+ : null,
235
+ review: {
236
+ warnings: result.warnings,
237
+ reviewReasons: result.reviewReasons,
238
+ findings: result.reviewFindings.map(compactReviewFinding),
239
+ },
240
+ traceability,
241
+ };
242
+ return DocumentEvidencePacketSchema.parse(packet);
243
+ }
244
+ export function attachDocumentEvidencePacket(result) {
245
+ return {
246
+ ...result,
247
+ evidencePacket: buildDocumentEvidencePacket(result),
248
+ };
249
+ }
250
+ export function summarizeDocumentEvidencePacketForAgent(packet, options = {}) {
251
+ const maxObservationsPerGroup = options.maxObservationsPerGroup ?? 8;
252
+ const maxReviewGates = options.maxReviewGates ?? 8;
253
+ const maxContentChars = options.maxContentChars ?? 2400;
254
+ const pageOutcomes = countPageOutcomes(packet);
255
+ const methods = Object.entries(packet.traceability.methodCounts)
256
+ .filter(([, count]) => count > 0)
257
+ .map(([method, count]) => `${method}:${count}`)
258
+ .join(', ') || 'none';
259
+ const reviewGates = packet.providerContract.reviewGates.slice(0, maxReviewGates);
260
+ const missingParameters = packet.observations.parameters
261
+ .filter((parameter) => parameter.reviewStatus === 'missing')
262
+ .slice(0, maxObservationsPerGroup)
263
+ .map((parameter) => parameter.label);
264
+ const reviewParameters = packet.observations.parameters
265
+ .filter((parameter) => parameter.reviewStatus === 'needs_review' || parameter.reviewStatus === 'uncertain')
266
+ .slice(0, maxObservationsPerGroup)
267
+ .map((parameter) => `${parameter.label}${parameter.context ? ` (${parameter.context})` : ''}`);
268
+ const verifiedParameters = packet.observations.parameters
269
+ .filter((parameter) => parameter.reviewStatus === 'verified')
270
+ .slice(0, maxObservationsPerGroup)
271
+ .map((parameter) => formatObservationForAgent(parameter));
272
+ const materials = packet.observations.materials
273
+ .slice(0, maxObservationsPerGroup)
274
+ .map((material) => formatObservationForAgent(material));
275
+ const classifications = packet.observations.classifications
276
+ .slice(0, maxObservationsPerGroup)
277
+ .map((classification) => formatObservationForAgent(classification));
278
+ const synthesis = [
279
+ ...(packet.synthesis?.takeaways.slice(0, 4) ?? []),
280
+ ...(packet.synthesis?.groundModel.slice(0, 4) ?? []),
281
+ ...(packet.synthesis?.interpretation.slice(0, 3) ?? []),
282
+ ...(packet.synthesis?.limitations.slice(0, 3) ?? []),
283
+ ];
284
+ return compactText([
285
+ 'DocumentEvidencePacket v1 provider-neutral agent context.',
286
+ `Source: ${packet.source.fileName ?? packet.source.filePath ?? packet.source.inputKind}; pages ${packet.source.successfulPages}/${packet.source.totalPages}; evidence pages ${pageList(packet.traceability.pagesWithEvidence)}.`,
287
+ `Document: ${packet.document.title ?? 'untitled'}; class ${packet.document.documentClass ?? 'unknown'}; status ${packet.document.parseStatus}; confidence ${packet.document.confidence}%; reviewRequired ${packet.document.reviewRequired ? 'yes' : 'no'}; canAutoProceed ${packet.document.canAutoProceed ? 'yes' : 'no'}.`,
288
+ `Methods: ${methods}; native pages ${pageList(packet.traceability.nativeTextPages)}; layout/OCR pages ${pageList(packet.traceability.layoutOcrPages)}; direct visual pages ${pageList(packet.traceability.directVisualPages)}.`,
289
+ `Page outcomes: parsed ${pageOutcomes.parsed}, partial ${pageOutcomes.partial}, failed ${pageOutcomes.failed}.`,
290
+ `Traceability: source pages ${pageList(packet.traceability.sourcePages)}; parameter source-page rate ${Math.round(packet.traceability.parameterTraceabilityRate * 100)}%; with source ${packet.traceability.parametersWithSourcePage}, without source ${packet.traceability.parametersWithoutSourcePage}.`,
291
+ `Boreholes: ${packet.traceability.boreholeIds.join(', ') || 'not detected'}; max depth ${packet.traceability.maxDepthMeters != null ? `${packet.traceability.maxDepthMeters} m` : 'not extracted'}.`,
292
+ reviewGates.length > 0 ? `Review gates: ${reviewGates.join('; ')}.` : 'Review gates: none.',
293
+ missingParameters.length > 0 ? `Missing parameters: ${missingParameters.join('; ')}.` : 'Missing parameters: none flagged in packet.',
294
+ reviewParameters.length > 0 ? `Parameters needing review: ${reviewParameters.join('; ')}.` : '',
295
+ verifiedParameters.length > 0 ? `Verified parameters: ${verifiedParameters.join('; ')}.` : '',
296
+ materials.length > 0 ? `Materials: ${materials.join('; ')}.` : '',
297
+ classifications.length > 0 ? `Classifications: ${classifications.join('; ')}.` : '',
298
+ synthesis.length > 0 ? `Synthesis evidence: ${synthesis.map((item) => compactText(item, 180)).join(' | ')}.` : '',
299
+ packet.review.warnings.length > 0 ? `Warnings: ${packet.review.warnings.slice(0, 6).join('; ')}.` : '',
300
+ 'Agent rule: cite source pages from this packet; do not run deterministic calculations from missing, direct-visual-only, or needs-review evidence without explicit review/approval.',
301
+ ].filter(Boolean).join('\n'), maxContentChars);
302
+ }
303
+ export function summarizeGeotechDocumentResultForAgent(result, options = {}) {
304
+ return summarizeDocumentEvidencePacketForAgent(result.evidencePacket ?? buildDocumentEvidencePacket(result), options);
305
+ }
306
+ function buildEvidencePage(audit) {
307
+ const cache = audit.evidenceCache;
308
+ return {
309
+ pageNumber: audit.pageNumber,
310
+ classification: audit.classification,
311
+ parseStatus: audit.parseStatus,
312
+ confidence: normalizeConfidence(audit.confidence),
313
+ method: methodFromTextHintSource(audit.textHintSource),
314
+ rawSource: audit.textHintSource,
315
+ sourceCategory: sourceCategoryFromTextHintSource(audit.textHintSource),
316
+ cacheStatus: cache?.status ?? 'unavailable',
317
+ ...(cache?.entryId ? { cacheEntryId: cache.entryId } : {}),
318
+ counts: {
319
+ materials: audit.materialCount,
320
+ classifications: audit.classificationCount,
321
+ parameters: audit.parameterCount,
322
+ },
323
+ warnings: audit.warnings,
324
+ };
325
+ }
326
+ function countPageOutcomes(packet) {
327
+ return packet.pages.reduce((counts, page) => {
328
+ counts[page.parseStatus] += 1;
329
+ return counts;
330
+ }, { parsed: 0, partial: 0, failed: 0 });
331
+ }
332
+ function pageList(pages) {
333
+ return pages.length > 0 ? pages.join(', ') : 'none';
334
+ }
335
+ function formatObservationForAgent(observation) {
336
+ const value = observation.unit ? `${String(observation.value)} ${observation.unit}` : String(observation.value);
337
+ const pageSuffix = observation.sourcePages.length > 0 ? ` p${observation.sourcePages.join(',')}` : ' no-source-page';
338
+ const confidenceSuffix = observation.confidence > 0 ? ` ${observation.confidence}%` : '';
339
+ return `${observation.label}=${value}${observation.material ? ` ${observation.material}` : ''}${pageSuffix}${confidenceSuffix}`;
340
+ }
341
+ function buildTraceability(result, pages) {
342
+ const parameterSourcePages = result.parameters.map((parameter) => sourcePagesFromObservation(parameter.sourcePages, parameter.context));
343
+ const parametersWithSourcePage = parameterSourcePages.filter((pagesForParameter) => pagesForParameter.length > 0).length;
344
+ const sourcePages = normalizePages([
345
+ ...parameterSourcePages.flat(),
346
+ ...result.materials.flatMap((material) => sourcePagesFromObservation(material.sourcePages, material.description)),
347
+ ...result.classifications.flatMap((classification) => sourcePagesFromObservation(classification.sourcePages, classification.context)),
348
+ ...(result.synthesis?.sourcePages ?? []),
349
+ ...(result.contentChunks ?? []).flatMap((chunk) => chunk.sourcePages),
350
+ ]);
351
+ const pagesWithEvidence = pages
352
+ .filter((page) => page.counts.materials + page.counts.classifications + page.counts.parameters > 0)
353
+ .map((page) => page.pageNumber);
354
+ const methodCounts = countMethods(pages);
355
+ const evidenceText = collectEvidenceText(result);
356
+ return {
357
+ sourcePages,
358
+ pagesWithEvidence: normalizePages(pagesWithEvidence),
359
+ directVisualPages: normalizePages(pages.filter((page) => page.rawSource === 'vision-visual').map((page) => page.pageNumber)),
360
+ layoutOcrPages: normalizePages(pages.filter((page) => page.sourceCategory === 'layout-ocr').map((page) => page.pageNumber)),
361
+ nativeTextPages: normalizePages(pages.filter((page) => page.sourceCategory === 'native-text').map((page) => page.pageNumber)),
362
+ boreholeIds: inferBoreholeIds(evidenceText),
363
+ maxDepthMeters: inferMaxDepthMeters(evidenceText),
364
+ parametersWithSourcePage,
365
+ parametersWithoutSourcePage: Math.max(0, result.parameters.length - parametersWithSourcePage),
366
+ parameterTraceabilityRate: result.parameters.length > 0
367
+ ? roundRatio(parametersWithSourcePage / result.parameters.length)
368
+ : 0,
369
+ methodCounts,
370
+ };
371
+ }
372
+ function compactContentChunk(chunk) {
373
+ return {
374
+ chunkId: chunk.chunkId,
375
+ pageRange: chunk.pageRange,
376
+ headingAncestry: chunk.headingAncestry,
377
+ scope: chunk.scope,
378
+ ...(chunk.sectionType ? { sectionType: chunk.sectionType } : {}),
379
+ ...(Number.isFinite(chunk.significance) ? { significance: chunk.significance } : {}),
380
+ sourcePages: normalizePages(chunk.sourcePages),
381
+ text: compactText(chunk.text, 1200),
382
+ };
383
+ }
384
+ function compactReviewFinding(finding) {
385
+ return {
386
+ code: finding.code,
387
+ severity: finding.severity,
388
+ scope: finding.scope,
389
+ message: finding.message,
390
+ ...(finding.pageNumber != null ? { pageNumber: finding.pageNumber } : {}),
391
+ ...(finding.materialDescription ? { materialDescription: finding.materialDescription } : {}),
392
+ };
393
+ }
394
+ function methodFromTextHintSource(source) {
395
+ if (source === 'native-text' || source === 'pdfjs-text') {
396
+ return 'native-pdf-text';
397
+ }
398
+ if (source === 'glm-ocr' || source === 'local-ocr') {
399
+ return 'layout-ocr';
400
+ }
401
+ if (source === 'vision-ocr' || source === 'vision-visual') {
402
+ return 'visual-reasoning';
403
+ }
404
+ return 'none';
405
+ }
406
+ function sourceCategoryFromTextHintSource(source) {
407
+ if (source === 'native-text' || source === 'pdfjs-text') {
408
+ return 'native-text';
409
+ }
410
+ if (source === 'glm-ocr' || source === 'local-ocr') {
411
+ return 'layout-ocr';
412
+ }
413
+ if (source === 'vision-ocr' || source === 'vision-visual') {
414
+ return 'vision';
415
+ }
416
+ return 'none';
417
+ }
418
+ function methodForSourcePages(sourcePages, pages) {
419
+ const methods = new Set(pages
420
+ .filter((page) => sourcePages.includes(page.pageNumber))
421
+ .map((page) => page.method)
422
+ .filter((method) => method !== 'none'));
423
+ if (methods.size > 1) {
424
+ return 'hybrid';
425
+ }
426
+ return [...methods][0] ?? 'none';
427
+ }
428
+ function confidenceForSourcePages(sourcePages, pages, fallback) {
429
+ const matching = pages
430
+ .filter((page) => sourcePages.includes(page.pageNumber) && Number.isFinite(page.confidence))
431
+ .map((page) => page.confidence);
432
+ if (matching.length === 0) {
433
+ return normalizeConfidence(fallback);
434
+ }
435
+ return normalizeConfidence(matching.reduce((sum, value) => sum + value, 0) / matching.length);
436
+ }
437
+ function countMethods(pages) {
438
+ const counts = {
439
+ 'native-pdf-text': 0,
440
+ 'layout-ocr': 0,
441
+ 'visual-reasoning': 0,
442
+ hybrid: 0,
443
+ none: 0,
444
+ };
445
+ for (const page of pages) {
446
+ counts[page.method] = (counts[page.method] ?? 0) + 1;
447
+ }
448
+ return counts;
449
+ }
450
+ function buildReviewGates(result) {
451
+ return [
452
+ result.reviewRequired ? 'human-review-required' : null,
453
+ result.pageFailures.length > 0 ? 'page-failures-present' : null,
454
+ result.pageAudits.some((audit) => audit.parseStatus === 'partial') ? 'partial-pages-present' : null,
455
+ result.pageAudits.some((audit) => audit.textHintSource === 'vision-visual') ? 'direct-visual-verification-required' : null,
456
+ result.parameters.some((parameter) => isMissingValue(parameter.valueText, parameter.numericValue)) ? 'missing-parameters-present' : null,
457
+ ].filter((value) => value != null);
458
+ }
459
+ function sourcePagesFromObservation(sourcePages, context) {
460
+ return normalizePages([
461
+ ...(sourcePages ?? []),
462
+ ...extractPageNumbers(context),
463
+ ]);
464
+ }
465
+ function extractPageNumbers(value) {
466
+ if (!value) {
467
+ return [];
468
+ }
469
+ return normalizePages([...value.matchAll(/\b(?:page|p\.?)\s*#?\s*(\d{1,4})\b/gi)]
470
+ .map((match) => Number(match[1])));
471
+ }
472
+ function normalizePages(values) {
473
+ return [...new Set(values
474
+ .map((value) => Number(value))
475
+ .filter((value) => Number.isInteger(value) && value > 0))].sort((left, right) => left - right);
476
+ }
477
+ function isMissingValue(valueText, numericValue) {
478
+ if (numericValue != null && Number.isFinite(numericValue)) {
479
+ return false;
480
+ }
481
+ const value = String(valueText ?? '').trim();
482
+ return !value || /^(?:-|--|—|n\/?a|nil|none|not\s+(?:reported|extracted|encountered|available)|unavailable|missing)$/i.test(value);
483
+ }
484
+ function normalizeConfidence(value) {
485
+ return Math.max(0, Math.min(100, Math.round(Number.isFinite(value) ? value : 0)));
486
+ }
487
+ function roundRatio(value) {
488
+ return Math.round(Math.max(0, Math.min(1, value)) * 1000) / 1000;
489
+ }
490
+ function observationId(type, index, label) {
491
+ const slug = label
492
+ .toLowerCase()
493
+ .replace(/[^a-z0-9]+/g, '-')
494
+ .replace(/^-+|-+$/g, '')
495
+ .slice(0, 28) || 'item';
496
+ return `${type}-${index + 1}-${slug}`;
497
+ }
498
+ function compactText(value, maxLength) {
499
+ const normalized = String(value ?? '').replace(/\s+/g, ' ').trim();
500
+ return normalized.length > maxLength
501
+ ? `${normalized.slice(0, Math.max(0, maxLength - 3)).trimEnd()}...`
502
+ : normalized;
503
+ }
504
+ function collectEvidenceText(result) {
505
+ return [
506
+ result.title,
507
+ result.summary,
508
+ ...result.materials.flatMap((material) => [material.description, material.uscsSymbol, material.lithology]),
509
+ ...result.parameters.flatMap((parameter) => [parameter.name, parameter.valueText, parameter.material, parameter.context]),
510
+ ...result.classifications.flatMap((classification) => [classification.system, classification.value, classification.context]),
511
+ ...result.risks,
512
+ ...result.recommendations,
513
+ ...(result.contentChunks ?? []).flatMap((chunk) => [...chunk.headingAncestry, chunk.text]),
514
+ ...(result.synthesis
515
+ ? [
516
+ ...result.synthesis.takeaways,
517
+ ...result.synthesis.groundModel,
518
+ ...result.synthesis.keyParameters,
519
+ ...result.synthesis.interpretation,
520
+ ...result.synthesis.limitations,
521
+ ]
522
+ : []),
523
+ ].filter((value) => typeof value === 'string' && value.trim().length > 0).join('\n');
524
+ }
525
+ function inferBoreholeIds(text) {
526
+ const patterns = [
527
+ /\bB\.?\s*H\.?\s*(?:NO\.?)?\s*[:#-]?\s*0*(\d{1,3})\b/gi,
528
+ /\bBORE\s*HOLE\s*NO\.?\s*[:#-]?\s*0*(\d{1,3})\b/gi,
529
+ /\bBOREHOLE\s*NO\.?\s*[:#-]?\s*0*(\d{1,3})\b/gi,
530
+ ];
531
+ return [...new Set(patterns.flatMap((pattern) => [...text.matchAll(pattern)]
532
+ .map((match) => `BH${match[1]}`)
533
+ .filter((id) => !/^BH0$/.test(id))))].sort((left, right) => left.localeCompare(right, undefined, { numeric: true }));
534
+ }
535
+ function inferMaxDepthMeters(text) {
536
+ const depths = [
537
+ ...[...text.matchAll(/\b(\d{1,3}(?:\.\d+)?)\s*m\b/gi)].map((match) => Number(match[1])),
538
+ ...[...text.matchAll(/\b(?:maximum\s+depth|termination|terminated)\b[^0-9]{0,60}(\d{1,3}(?:\.\d+)?)\b/gi)].map((match) => Number(match[1])),
539
+ ].filter((depth) => Number.isFinite(depth) && depth > 0 && depth <= 120);
540
+ return depths.length > 0 ? Math.max(...depths) : null;
541
+ }
542
+ //# sourceMappingURL=document-evidence-packet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-evidence-packet.js","sourceRoot":"","sources":["../../src/ingest/document-evidence-packet.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { PdfPageClassification } from './pdf.js';
2
2
  import type { GeotechDocumentIngestResult, GeotechDocumentPageAudit, GeotechDocumentPageEvidenceCacheStatus } from './geotech-document.js';
3
3
  import type { DocumentTextHintSource } from '../vision/ocr.js';
4
+ import { type DocumentEvidenceMethod } from './document-evidence-packet.js';
4
5
  export interface GeotechDocumentBenchmarkJobContext {
5
6
  jobId?: string;
6
7
  createdAt?: string;
@@ -97,6 +98,20 @@ export interface GeotechDocumentBenchmark {
97
98
  missingCriticalData: string[];
98
99
  gates: string[];
99
100
  };
101
+ evidenceContract: {
102
+ schemaVersion: number;
103
+ providerNeutral: true;
104
+ pages: number;
105
+ observations: {
106
+ materials: number;
107
+ classifications: number;
108
+ parameters: number;
109
+ total: number;
110
+ };
111
+ methodCounts: Record<DocumentEvidenceMethod, number>;
112
+ sourcePages: number[];
113
+ reviewGateCount: number;
114
+ };
100
115
  pages: GeotechDocumentBenchmarkPage[];
101
116
  }
102
117
  export interface GeotechDocumentBenchmarkPage {
@@ -1 +1 @@
1
- {"version":3,"file":"geotech-document-benchmark.d.ts","sourceRoot":"","sources":["../../src/ingest/geotech-document-benchmark.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"geotech-document-benchmark.d.ts","sourceRoot":"","sources":["../../src/ingest/geotech-document-benchmark.ts"],"names":[],"mappings":"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"}