@geotechcli/core 0.4.125 → 0.4.127

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 (50) hide show
  1. package/dist/agents/deliverable-tools.js +108 -1
  2. package/dist/agents/deliverable-tools.js.map +1 -1
  3. package/dist/export/index.d.ts +46 -0
  4. package/dist/export/index.d.ts.map +1 -1
  5. package/dist/export/index.js +187 -0
  6. package/dist/export/index.js.map +1 -1
  7. package/dist/geo/index.d.ts +1 -0
  8. package/dist/geo/index.d.ts.map +1 -1
  9. package/dist/geo/index.js +1 -0
  10. package/dist/geo/index.js.map +1 -1
  11. package/dist/geo/lithology.d.ts +59 -0
  12. package/dist/geo/lithology.d.ts.map +1 -0
  13. package/dist/geo/lithology.js +148 -0
  14. package/dist/geo/lithology.js.map +1 -0
  15. package/dist/geo/pile-capacity.d.ts +4 -4
  16. package/dist/geo/tunnel/tbm.d.ts +2 -2
  17. package/dist/ground-model/builder.d.ts.map +1 -1
  18. package/dist/ground-model/builder.js +8 -0
  19. package/dist/ground-model/builder.js.map +1 -1
  20. package/dist/ground-model/model.d.ts +7 -0
  21. package/dist/ground-model/model.d.ts.map +1 -1
  22. package/dist/index.d.ts +1 -1
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +1 -1
  25. package/dist/index.js.map +1 -1
  26. package/dist/ingest/geotech-extract.d.ts.map +1 -1
  27. package/dist/ingest/geotech-extract.js +7 -0
  28. package/dist/ingest/geotech-extract.js.map +1 -1
  29. package/dist/meta/metadata.json +1 -1
  30. package/dist/report/html.d.ts.map +1 -1
  31. package/dist/report/html.js +3 -19
  32. package/dist/report/html.js.map +1 -1
  33. package/dist/report/ingest-dossier.d.ts.map +1 -1
  34. package/dist/report/ingest-dossier.js +3 -26
  35. package/dist/report/ingest-dossier.js.map +1 -1
  36. package/dist/report/integrated-review-model.d.ts +1 -1
  37. package/dist/report/integrated-review-model.d.ts.map +1 -1
  38. package/dist/report/integrated-review-model.js +4 -24
  39. package/dist/report/integrated-review-model.js.map +1 -1
  40. package/dist/vision/geotech-document.d.ts.map +1 -1
  41. package/dist/vision/geotech-document.js +2 -2
  42. package/dist/vision/geotech-document.js.map +1 -1
  43. package/dist/vision/index.d.ts +3 -0
  44. package/dist/vision/index.d.ts.map +1 -1
  45. package/dist/vision/index.js +2 -17
  46. package/dist/vision/index.js.map +1 -1
  47. package/dist/workspace/dossier.d.ts.map +1 -1
  48. package/dist/workspace/dossier.js +7 -13
  49. package/dist/workspace/dossier.js.map +1 -1
  50. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import { mkdirSync, writeFileSync } from 'node:fs';
2
2
  import { dirname } from 'node:path';
3
- import { exportCSV, exportGeoJSON, exportBoreholeProfileDXF, } from '../export/index.js';
3
+ import { exportCSV, exportGeoJSON, exportBoreholeProfileDXF, exportBoreholeAgsi, exportBoreholeDiggs, } from '../export/index.js';
4
4
  import { generateReportFromCaseFile, renderReportAsDocx, renderReportAsPdf, } from '../report/index.js';
5
5
  import { loadLatestScenarioArtifact, loadScenarioCaseFile, } from './case-file.js';
6
6
  import { listEvidenceRecords } from './evidence.js';
@@ -494,4 +494,111 @@ toolRegistry.register({
494
494
  summary: `Exported GeoJSON summary for scenario "${scenarioId}"`,
495
495
  };
496
496
  });
497
+ // Build a single interchange borehole from the stored ground-model artifact strata
498
+ // (mirrors export_dxf's sourcing). Returns the borehole plus its stratum count.
499
+ function interchangeBoreholeFromGroundModel(projectId, scenarioId, args) {
500
+ const groundModel = requireArtifact(projectId, scenarioId, 'ground-model');
501
+ const caseFile = loadScenarioCaseFile(projectId, scenarioId);
502
+ const strata = groundModel.payload.strata ?? [];
503
+ if (strata.length === 0) {
504
+ throw new Error(`Ground-model artifact for scenario "${scenarioId}" does not contain any strata.`);
505
+ }
506
+ const layers = strata.map((stratum) => ({
507
+ depthFrom: stratum.fromM,
508
+ depthTo: stratum.toM,
509
+ description: stratum.description ?? stratum.material,
510
+ uscs: stratum.uscsSymbol,
511
+ }));
512
+ const borehole = {
513
+ id: readOptionalString(args.boreholeId) ?? caseFile?.title ?? scenarioId,
514
+ lat: readOptionalNumber(args.latitude),
515
+ lng: readOptionalNumber(args.longitude),
516
+ crs: readOptionalString(args.crs),
517
+ depth: layers.reduce((max, layer) => Math.max(max, layer.depthTo), 0),
518
+ layers,
519
+ };
520
+ return { borehole, layerCount: strata.length };
521
+ }
522
+ toolRegistry.register({
523
+ name: 'export_agsi',
524
+ description: 'Export an AGSi ground-model interchange file (JSON) from the latest stored ground-model artifact.',
525
+ parameters: {
526
+ type: 'object',
527
+ required: ['projectId', 'scenarioId'],
528
+ properties: {
529
+ projectId: { type: 'string', description: 'Project identifier' },
530
+ scenarioId: { type: 'string', description: 'Scenario identifier' },
531
+ projectName: { type: 'string', description: 'Optional project name for the AGSi document' },
532
+ boreholeId: { type: 'string', description: 'Optional borehole label for the generated model' },
533
+ latitude: { type: 'number', description: 'Optional borehole latitude' },
534
+ longitude: { type: 'number', description: 'Optional borehole longitude' },
535
+ crs: { type: 'string', description: 'Optional coordinate reference system (e.g. EPSG:27700)' },
536
+ outputPath: { type: 'string', description: 'Optional file path for the AGSi output' },
537
+ },
538
+ },
539
+ }, (args) => {
540
+ const projectId = readString(args.projectId, 'projectId');
541
+ const scenarioId = readString(args.scenarioId, 'scenarioId');
542
+ const outputPath = readOptionalString(args.outputPath);
543
+ const { borehole, layerCount } = interchangeBoreholeFromGroundModel(projectId, scenarioId, args);
544
+ const agsi = exportBoreholeAgsi([borehole], {
545
+ projectName: readOptionalString(args.projectName),
546
+ crs: readOptionalString(args.crs),
547
+ });
548
+ return {
549
+ success: true,
550
+ data: {
551
+ source: 'case-file',
552
+ format: 'agsi',
553
+ mimeType: 'application/json',
554
+ boreholeCount: 1,
555
+ layerCount,
556
+ ...(outputPath
557
+ ? { outputPath: writeOutputFile(outputPath, agsi), byteLength: Buffer.byteLength(agsi, 'utf8') }
558
+ : inlineTextPayload(agsi)),
559
+ },
560
+ summary: `Exported AGSi from ${layerCount} stored ground-model layers`,
561
+ };
562
+ });
563
+ toolRegistry.register({
564
+ name: 'export_diggs',
565
+ description: 'Export a DIGGS 2.x interchange file (XML) from the latest stored ground-model artifact.',
566
+ parameters: {
567
+ type: 'object',
568
+ required: ['projectId', 'scenarioId'],
569
+ properties: {
570
+ projectId: { type: 'string', description: 'Project identifier' },
571
+ scenarioId: { type: 'string', description: 'Scenario identifier' },
572
+ projectName: { type: 'string', description: 'Optional project name for the DIGGS document' },
573
+ boreholeId: { type: 'string', description: 'Optional borehole label for the generated model' },
574
+ latitude: { type: 'number', description: 'Optional borehole latitude' },
575
+ longitude: { type: 'number', description: 'Optional borehole longitude' },
576
+ crs: { type: 'string', description: 'Optional coordinate reference system (e.g. EPSG:27700)' },
577
+ outputPath: { type: 'string', description: 'Optional file path for the DIGGS output' },
578
+ },
579
+ },
580
+ }, (args) => {
581
+ const projectId = readString(args.projectId, 'projectId');
582
+ const scenarioId = readString(args.scenarioId, 'scenarioId');
583
+ const outputPath = readOptionalString(args.outputPath);
584
+ const { borehole, layerCount } = interchangeBoreholeFromGroundModel(projectId, scenarioId, args);
585
+ const diggs = exportBoreholeDiggs([borehole], {
586
+ projectName: readOptionalString(args.projectName),
587
+ crs: readOptionalString(args.crs),
588
+ });
589
+ return {
590
+ success: true,
591
+ data: {
592
+ source: 'case-file',
593
+ format: 'diggs',
594
+ mimeType: 'application/xml',
595
+ boreholeCount: 1,
596
+ layerCount,
597
+ ...(outputPath
598
+ ? { outputPath: writeOutputFile(outputPath, diggs), byteLength: Buffer.byteLength(diggs, 'utf8') }
599
+ : inlineTextPayload(diggs)),
600
+ },
601
+ summary: `Exported DIGGS from ${layerCount} stored ground-model layers`,
602
+ };
603
+ });
497
604
  //# sourceMappingURL=deliverable-tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deliverable-tools.js","sourceRoot":"","sources":["../../src/agents/deliverable-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deliverable-tools.js","sourceRoot":"","sources":["../../src/agents/deliverable-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EACL,SAAS,EACT,aAAa,EACb,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,GAEpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,0BAA0B,EAC1B,kBAAkB,EAClB,iBAAiB,GAGlB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,YAAY,EAAmB,MAAM,YAAY,CAAC;AAE3D,MAAM,sBAAsB,GAAG,EAAE,GAAG,IAAI,CAAC;AACzC,MAAM,wBAAwB,GAAG,GAAG,GAAG,IAAI,CAAC;AAE5C,MAAM,oBAAoB,GAAG;IAC3B,SAAS;IACT,eAAe;IACf,kBAAkB;IAClB,aAAa;IACb,UAAU;CACF,CAAC;AAWX,SAAS,UAAU,CAAC,KAAc,EAAE,IAAY;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC;AAED,SAAS,UAAU,CAAC,KAAc,EAAE,IAAY;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACxD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,sCAAsC,IAAI,EAAE,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACxD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAE,oBAA0C,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9F,MAAM,IAAI,KAAK,CAAC,kCAAkC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,KAA0B,CAAC;AACpC,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY,EAAE,YAAoB,EAAE,SAAiB;IAC7E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;IACjE,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAClG,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC;IACzE,OAAO,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,SAAS,EAAE,CAAC;AAC7E,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe;IAOxC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACtD,IAAI,UAAU,IAAI,sBAAsB,EAAE,CAAC;QACzC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IACnD,CAAC;IAED,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,sBAAsB,CAAC;QACjD,SAAS,EAAE,IAAI;QACf,UAAU;QACV,IAAI,EAAE,kFAAkF;KACzF,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc;IAMzC,IAAI,MAAM,CAAC,MAAM,IAAI,wBAAwB,EAAE,CAAC;QAC9C,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACjC,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,MAAM,CAAC,MAAM;SAC1B,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,KAAK;QACb,UAAU,EAAE,MAAM,CAAC,MAAM;QACzB,IAAI,EAAE,yGAAyG;KAChH,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,UAAkB,EAAE,OAAwB;IACnE,MAAM,KAAK,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,wBAAwB,UAAU,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACvC,OAAO,KAAK,CAAC,QAAQ,CAAC;AACxB,CAAC;AAED,SAAS,eAAe,CAAC,IAA6B;IACpD,OAAO;QACL,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC;QAClD,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC;QACrD,WAAW,EAAE,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;QACjD,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;QACnC,QAAQ,EAAE,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC3C,KAAK,EAAE,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC;KACtC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,MAA+B;IACtD,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,IAA6B;IACnE,OAAO,0BAA0B,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,eAAe,CACtB,SAAiB,EACjB,UAAkB,EAClB,YAAe;IAEf,MAAM,QAAQ,GAAG,0BAA0B,CAAC,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IACjF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,MAAM,YAAY,iCAAiC,UAAU,iBAAiB,SAAS,IAAI,CAAC,CAAC;IAC/G,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,UAAU,CAAC,MAAwC;IAC1D,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAC/D,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CACvB,OAKc;IAEd,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;SACnB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACd,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpG,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvC,OAAO,GAAG,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC1G,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,SAAiB,EAAE,UAAkB,EAAE,cAAiC;IAC/F,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC5D,OAAO;YACL,cAAc;YACd,OAAO,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,mBAAmB,CAAC;YAC7F,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC7B,MAAM,CAAC,UAAU;gBACjB,MAAM,CAAC,KAAK;gBACZ,MAAM,CAAC,KAAK;gBACZ,MAAM,CAAC,MAAM;gBACb,MAAM,CAAC,OAAO;gBACd,MAAM,CAAC,MAAM;gBACb,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;aACpC,CAAC;SACH,CAAC;IACJ,CAAC;IAED,IAAI,cAAc,KAAK,aAAa,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QACvE,OAAO;YACL,cAAc;YACd,OAAO,EAAE,CAAC,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC;YACrE,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC;gBAC7D,UAAU,CAAC,YAAY;gBACvB,UAAU,CAAC,QAAQ;gBACnB,UAAU,CAAC,SAAS;gBACpB,UAAU,CAAC,MAAM;gBACjB,UAAU,CAAC,KAAK;aACjB,CAAC;SACH,CAAC;IACJ,CAAC;IAED,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QACnE,OAAO;YACL,cAAc;YACd,OAAO,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,UAAU,CAAC;YAC7F,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;gBACrD,MAAM,CAAC,QAAQ;gBACf,MAAM,CAAC,KAAK;gBACZ,MAAM,CAAC,MAAM;gBACb,MAAM,CAAC,QAAQ;gBACf,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC;gBAChC,MAAM,CAAC,cAAc;gBACrB,UAAU,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;aAClC,CAAC;SACH,CAAC;IACJ,CAAC;IAED,IAAI,cAAc,KAAK,eAAe,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;QACzE,OAAO;YACL,cAAc;YACd,OAAO,EAAE;gBACP,MAAM;gBACN,UAAU;gBACV,OAAO;gBACP,UAAU;gBACV,QAAQ;gBACR,YAAY;gBACZ,kBAAkB;gBAClB,MAAM;gBACN,cAAc;gBACd,WAAW;aACZ;YACD,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;gBAC/C,GAAG,CAAC,IAAI;gBACR,GAAG,CAAC,QAAQ;gBACZ,GAAG,CAAC,KAAK;gBACT,GAAG,CAAC,QAAQ;gBACZ,GAAG,CAAC,MAAM;gBACV,GAAG,CAAC,UAAU;gBACd,GAAG,CAAC,gBAAgB;gBACpB,GAAG,CAAC,IAAI;gBACR,GAAG,CAAC,YAAY;gBAChB,GAAG,CAAC,SAAS;aACd,CAAC;SACH,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC;IAC5E,OAAO;QACL,cAAc;QACd,OAAO,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC;QAC/D,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACjD,IAAI,CAAC,MAAM;YACX,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,MAAM;YACX,IAAI,CAAC,MAAM;SACZ,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,SAAiB,EACjB,UAAkB,EAClB,QAAgB,EAChB,SAAiB,EACjB,IAAa;IAEb,MAAM,QAAQ,GAAG,oBAAoB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC7D,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,SAAS,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAC;IAChG,MAAM,YAAY,GAAG,0BAA0B,CAAC,SAAS,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;IACxF,MAAM,OAAO,GAAG,0BAA0B,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAC7E,MAAM,aAAa,GAAG,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC;IACxE,MAAM,iBAAiB,GAAG,YAAY,EAAE,OAAO,CAAC,iBAAiB,CAAC;IAClE,MAAM,YAAY,GAAG,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,iBAAiB,CAAC,CAAC;IAEnG,OAAO;QACL,GAAG,EAAE,QAAQ;QACb,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,IAAI,IAAI,QAAQ,EAAE,KAAK,IAAI,UAAU;QAC3C,UAAU,EAAE;YACV,SAAS;YACT,UAAU;YACV,aAAa,EAAE,QAAQ,EAAE,KAAK,IAAI,UAAU;YAC5C,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI;YAClD,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;YACxD,iBAAiB,EAAE,gBAAgB,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI;YAC5D,iBAAiB,EAAE,iBAAiB,IAAI,IAAI;YAC5C,oBAAoB,EAAE,YAAY,EAAE,KAAK,IAAI,IAAI;YACjD,aAAa,EAAE,YAAY,EAAE,OAAO,CAAC,aAAa,IAAI,EAAE;YACxD,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;YAC/C,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;YAClD,aAAa;SACd;KACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAyB;IAClD,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,mBAAmB,CAAC;AAC3F,CAAC;AAED,YAAY,CAAC,QAAQ,CACnB;IACE,IAAI,EAAE,iBAAiB;IACvB,WAAW,EACT,kHAAkH;IACpH,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;QACrC,UAAU,EAAE;YACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;YAChE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;YAClE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE;YACrF,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sCAAsC,EAAE;YAC7E,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE;YACpE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE;SACvE;KACF;CACF,EACD,KAAK,EAAE,IAAI,EAAuB,EAAE;IAClC,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAEpD,OAAO;QACL,OAAO,EAAE,IAAI;QACb,IAAI,EAAE;YACJ,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC;YAC/B,QAAQ,EAAE,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC;SACjD;QACD,OAAO,EAAE,wBAAwB,MAAM,CAAC,KAAK,EAAE;KAChD,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,YAAY,CAAC,QAAQ,CACnB;IACE,IAAI,EAAE,YAAY;IAClB,WAAW,EACT,0HAA0H;IAC5H,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;QACrC,UAAU,EAAE;YACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;YAChE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;YAClE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE;YACrF,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sCAAsC,EAAE;YAC7E,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE;YACpE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE;YACtE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yCAAyC,EAAE;SACvF;KACF;CACF,EACD,KAAK,EAAE,IAAI,EAAuB,EAAE;IAClC,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAE1E,OAAO;QACL,OAAO,EAAE,IAAI;QACb,IAAI,EAAE;YACJ,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,iBAAiB;YAC3B,QAAQ;YACR,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC;YAC/B,GAAG,CAAC,UAAU;gBACZ,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;gBAC/F,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;SACjC;QACD,OAAO,EAAE,oBAAoB,MAAM,CAAC,KAAK,EAAE;KAC5C,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,YAAY,CAAC,QAAQ,CACnB;IACE,IAAI,EAAE,aAAa;IACnB,WAAW,EACT,2HAA2H;IAC7H,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;QACrC,UAAU,EAAE;YACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;YAChE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;YAClE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE;YACrF,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sCAAsC,EAAE;YAC7E,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE;YACpE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE;YACtE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0CAA0C,EAAE;SACxF;KACF;CACF,EACD,KAAK,EAAE,IAAI,EAAuB,EAAE;IAClC,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAE3E,OAAO;QACL,OAAO,EAAE,IAAI;QACb,IAAI,EAAE;YACJ,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,yEAAyE;YACnF,QAAQ;YACR,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC;YAC/B,GAAG,CAAC,UAAU;gBACZ,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;gBAC/F,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;SACjC;QACD,OAAO,EAAE,qBAAqB,MAAM,CAAC,KAAK,EAAE;KAC7C,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,YAAY,CAAC,QAAQ,CACnB;IACE,IAAI,EAAE,YAAY;IAClB,WAAW,EACT,qIAAqI;IACvI,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,gBAAgB,CAAC;QACvD,UAAU,EAAE;YACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;YAChE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;YAClE,cAAc,EAAE;gBACd,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,GAAG,oBAAoB,CAAC;gBAC/B,WAAW,EAAE,mCAAmC;aACjD;YACD,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE;SACrF;KACF;CACF,EACD,CAAC,IAAI,EAAc,EAAE;IACnB,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC7D,MAAM,cAAc,GAAG,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,eAAe,CAAC,SAAS,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;IAC1E,MAAM,GAAG,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IAE3D,OAAO;QACL,OAAO,EAAE,IAAI;QACb,IAAI,EAAE;YACJ,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,UAAU;YACpB,cAAc;YACd,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM;YAChC,GAAG,CAAC,UAAU;gBACZ,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE;gBAC9F,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;SAC5B;QACD,OAAO,EAAE,YAAY,cAAc,YAAY,UAAU,CAAC,IAAI,CAAC,MAAM,QAAQ;KAC9E,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,YAAY,CAAC,QAAQ,CACnB;IACE,IAAI,EAAE,YAAY;IAClB,WAAW,EACT,6EAA6E;IAC/E,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;QACrC,UAAU,EAAE;YACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;YAChE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;YAClE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mDAAmD,EAAE;YAChG,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qDAAqD,EAAE;YACzF,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE;YACpE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE;SACrF;KACF;CACF,EACD,CAAC,IAAI,EAAc,EAAE;IACnB,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,eAAe,CAAC,SAAS,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;IAC3E,MAAM,QAAQ,GAAG,oBAAoB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;IAEhD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,uCAAuC,UAAU,gCAAgC,CAAC,CAAC;IACrG,CAAC;IAED,MAAM,GAAG,GAAG,wBAAwB,CAClC;QACE;YACE,EAAE,EAAE,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,QAAQ,EAAE,KAAK,IAAI,UAAU;YACxE,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YAClC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAC/B,SAAS,EAAE,OAAO,CAAC,KAAK;gBACxB,OAAO,EAAE,OAAO,CAAC,GAAG;gBACpB,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,QAAQ;aACrD,CAAC,CAAC;SACJ;KACF,EACD,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CACvC,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,IAAI;QACb,IAAI,EAAE;YACJ,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,iBAAiB;YAC3B,aAAa,EAAE,CAAC;YAChB,UAAU,EAAE,MAAM,CAAC,MAAM;YACzB,GAAG,CAAC,UAAU;gBACZ,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE;gBAC9F,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;SAC5B;QACD,OAAO,EAAE,qBAAqB,MAAM,CAAC,MAAM,6BAA6B;KACzE,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,YAAY,CAAC,QAAQ,CACnB;IACE,IAAI,EAAE,gBAAgB;IACtB,WAAW,EACT,qHAAqH;IACvH,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,CAAC;QAC9D,UAAU,EAAE;YACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;YAChE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;YAClE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;YAC7D,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;YAC/D,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE;YACtE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2CAA2C,EAAE;SACzF;KACF;CACF,EACD,CAAC,IAAI,EAAc,EAAE;IACnB,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,oBAAoB,CAClC,SAAS,EACT,UAAU,EACV,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EACrC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,EACvC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAC9B,CAAC;IACF,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAE5D,OAAO;QACL,OAAO,EAAE,IAAI;QACb,IAAI,EAAE;YACJ,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,sBAAsB;YAChC,YAAY,EAAE,CAAC;YACf,eAAe,EAAE,iBAAiB,CAAC,QAAQ,CAAC;YAC5C,GAAG,CAAC,UAAU;gBACZ,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE;gBACtG,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;SAChC;QACD,OAAO,EAAE,0CAA0C,UAAU,GAAG;KACjE,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,mFAAmF;AACnF,gFAAgF;AAChF,SAAS,kCAAkC,CACzC,SAAiB,EACjB,UAAkB,EAClB,IAA6B;IAE7B,MAAM,WAAW,GAAG,eAAe,CAAC,SAAS,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;IAC3E,MAAM,QAAQ,GAAG,oBAAoB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;IAEhD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,uCAAuC,UAAU,gCAAgC,CAAC,CAAC;IACrG,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACtC,SAAS,EAAE,OAAO,CAAC,KAAK;QACxB,OAAO,EAAE,OAAO,CAAC,GAAG;QACpB,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,QAAQ;QACpD,IAAI,EAAE,OAAO,CAAC,UAAU;KACzB,CAAC,CAAC,CAAC;IAEJ,MAAM,QAAQ,GAAwB;QACpC,EAAE,EAAE,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,QAAQ,EAAE,KAAK,IAAI,UAAU;QACxE,GAAG,EAAE,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC;QACtC,GAAG,EAAE,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC;QACvC,GAAG,EAAE,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC;QACjC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrE,MAAM;KACP,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;AACjD,CAAC;AAED,YAAY,CAAC,QAAQ,CACnB;IACE,IAAI,EAAE,aAAa;IACnB,WAAW,EACT,mGAAmG;IACrG,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;QACrC,UAAU,EAAE;YACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;YAChE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;YAClE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6CAA6C,EAAE;YAC3F,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iDAAiD,EAAE;YAC9F,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;YACvE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6BAA6B,EAAE;YACzE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wDAAwD,EAAE;YAC9F,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wCAAwC,EAAE;SACtF;KACF;CACF,EACD,CAAC,IAAI,EAAc,EAAE;IACnB,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,kCAAkC,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IAEjG,MAAM,IAAI,GAAG,kBAAkB,CAAC,CAAC,QAAQ,CAAC,EAAE;QAC1C,WAAW,EAAE,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;QACjD,GAAG,EAAE,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC;KAClC,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,EAAE,IAAI;QACb,IAAI,EAAE;YACJ,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,kBAAkB;YAC5B,aAAa,EAAE,CAAC;YAChB,UAAU;YACV,GAAG,CAAC,UAAU;gBACZ,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;gBAChG,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SAC7B;QACD,OAAO,EAAE,sBAAsB,UAAU,6BAA6B;KACvE,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,YAAY,CAAC,QAAQ,CACnB;IACE,IAAI,EAAE,cAAc;IACpB,WAAW,EACT,yFAAyF;IAC3F,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;QACrC,UAAU,EAAE;YACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;YAChE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;YAClE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8CAA8C,EAAE;YAC5F,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iDAAiD,EAAE;YAC9F,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;YACvE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6BAA6B,EAAE;YACzE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wDAAwD,EAAE;YAC9F,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yCAAyC,EAAE;SACvF;KACF;CACF,EACD,CAAC,IAAI,EAAc,EAAE;IACnB,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,kCAAkC,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IAEjG,MAAM,KAAK,GAAG,mBAAmB,CAAC,CAAC,QAAQ,CAAC,EAAE;QAC5C,WAAW,EAAE,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;QACjD,GAAG,EAAE,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC;KAClC,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,EAAE,IAAI;QACb,IAAI,EAAE;YACJ,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE,OAAO;YACf,QAAQ,EAAE,iBAAiB;YAC3B,aAAa,EAAE,CAAC;YAChB,UAAU;YACV,GAAG,CAAC,UAAU;gBACZ,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE;gBAClG,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;SAC9B;QACD,OAAO,EAAE,uBAAuB,UAAU,6BAA6B;KACxE,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -19,8 +19,54 @@ export declare function exportBoreholeGeoJSON(boreholes: Array<{
19
19
  depthTo: number;
20
20
  description: string;
21
21
  uscs?: string;
22
+ lithology?: {
23
+ key: string;
24
+ materialClass: string;
25
+ uscsSymbol?: string | null;
26
+ confidence?: number;
27
+ } | null;
22
28
  }>;
23
29
  }>): string;
30
+ export interface InterchangeLayer {
31
+ depthFrom: number;
32
+ depthTo: number;
33
+ description: string;
34
+ uscs?: string;
35
+ lithology?: {
36
+ key: string;
37
+ materialClass: string;
38
+ uscsSymbol?: string | null;
39
+ confidence?: number;
40
+ } | null;
41
+ }
42
+ export interface InterchangeBorehole {
43
+ id: string;
44
+ lat?: number;
45
+ lng?: number;
46
+ easting?: number;
47
+ northing?: number;
48
+ groundLevel?: number;
49
+ depth?: number;
50
+ crs?: string;
51
+ layers: InterchangeLayer[];
52
+ }
53
+ export interface InterchangeExportOptions {
54
+ projectName?: string;
55
+ crs?: string;
56
+ generatedAt?: string;
57
+ }
58
+ /**
59
+ * Export an AGSi 1.x ground-model document (JSON) — project + coordinate system + one
60
+ * observational model whose elements are the per-borehole stratum intervals, plus the
61
+ * deduped geology units they reference.
62
+ */
63
+ export declare function exportBoreholeAgsi(boreholes: InterchangeBorehole[], options?: InterchangeExportOptions): string;
64
+ /**
65
+ * Export a DIGGS 2.x document (XML) — project + one Borehole sampling feature per borehole
66
+ * (location, total depth) + per-borehole geology intervals. Hand-rolled, fully escaped, and
67
+ * well-formed; no XML dependency.
68
+ */
69
+ export declare function exportBoreholeDiggs(boreholes: InterchangeBorehole[], options?: InterchangeExportOptions): string;
24
70
  export interface DXFEntity {
25
71
  type: 'LINE' | 'CIRCLE' | 'TEXT' | 'POINT';
26
72
  layer?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/export/index.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;CAC5C;AAMD,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,mBAAmB,EAAE,GAAG,MAAM,CAiBrE;AAED,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,KAAK,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3F,CAAC,GACD,MAAM,CAaR;AAMD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACnD,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAC1C,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CACxD;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAgDvE;AAED,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,KAAK,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5E,CAAC,EACF,OAAO,SAAK,GACX,MAAM,CAwBR;AAMD,wBAAgB,SAAS,CACvB,OAAO,EAAE,MAAM,EAAE,EACjB,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,EAAE,GAC7C,MAAM,CAaR;AAMD,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAKhD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/export/index.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  // Export utilities — format results for external tools
3
3
  // No heavy dependencies — pure string/buffer generation
4
4
  // ---------------------------------------------------------------------------
5
+ import { normalizeLithology } from '../geo/lithology.js';
5
6
  export function exportGeoJSON(features) {
6
7
  const geoJson = {
7
8
  type: 'FeatureCollection',
@@ -32,6 +33,192 @@ export function exportBoreholeGeoJSON(boreholes) {
32
33
  }));
33
34
  return JSON.stringify({ type: 'FeatureCollection', features }, null, 2);
34
35
  }
36
+ // Geology-unit colours reuse the exact palette from workspace/dossier.ts materialColor,
37
+ // keyed by the canonical lithology key from geo/lithology.ts.
38
+ const LITHOLOGY_KEY_COLOURS = {
39
+ organic: '#4d3b2e',
40
+ bedrock: '#657282',
41
+ 'weathered-rock': '#657282',
42
+ gravel: '#8a9aa4',
43
+ sand: '#d4a843',
44
+ clay: '#b87556',
45
+ silt: '#b9a77a',
46
+ fill: '#9a8065',
47
+ mixed: '#aab4b0',
48
+ };
49
+ function lithologyColour(key) {
50
+ return LITHOLOGY_KEY_COLOURS[key] ?? LITHOLOGY_KEY_COLOURS.mixed;
51
+ }
52
+ // Prefer a lithology already normalized upstream (ingest/ground-model); otherwise derive
53
+ // deterministically here so geology codes and colours are always populated.
54
+ function resolveLayerLithology(layer) {
55
+ const pre = layer.lithology;
56
+ if (pre && typeof pre.key === 'string') {
57
+ const norm = normalizeLithology(layer.description, layer.uscs);
58
+ return {
59
+ key: pre.key,
60
+ materialClass: typeof pre.materialClass === 'string' ? pre.materialClass : pre.key,
61
+ uscsSymbol: pre.uscsSymbol ?? layer.uscs ?? norm.uscsSymbol,
62
+ confidence: typeof pre.confidence === 'number' ? pre.confidence : norm.confidence,
63
+ };
64
+ }
65
+ const norm = normalizeLithology(layer.description, layer.uscs);
66
+ return { key: norm.key, materialClass: norm.materialClass, uscsSymbol: norm.uscsSymbol, confidence: norm.confidence };
67
+ }
68
+ function resolveCrs(boreholes, options) {
69
+ return options?.crs ?? boreholes.find((bh) => typeof bh.crs === 'string' && bh.crs.trim())?.crs;
70
+ }
71
+ function numberToXml(value) {
72
+ return Number.isFinite(value) ? String(value) : '';
73
+ }
74
+ function escapeXml(value) {
75
+ return value
76
+ .replace(/&/g, '&amp;')
77
+ .replace(/</g, '&lt;')
78
+ .replace(/>/g, '&gt;')
79
+ .replace(/"/g, '&quot;')
80
+ .replace(/'/g, '&apos;');
81
+ }
82
+ /**
83
+ * Export an AGSi 1.x ground-model document (JSON) — project + coordinate system + one
84
+ * observational model whose elements are the per-borehole stratum intervals, plus the
85
+ * deduped geology units they reference.
86
+ */
87
+ export function exportBoreholeAgsi(boreholes, options) {
88
+ const generatedAt = options?.generatedAt ?? new Date().toISOString();
89
+ const crs = resolveCrs(boreholes, options);
90
+ const elements = [];
91
+ const units = new Map();
92
+ for (const bh of boreholes) {
93
+ bh.layers.forEach((layer, index) => {
94
+ const litho = resolveLayerLithology(layer);
95
+ const colour = lithologyColour(litho.key);
96
+ const hasLevels = typeof bh.groundLevel === 'number' && Number.isFinite(bh.groundLevel);
97
+ elements.push({
98
+ elementID: `${bh.id}--${index + 1}`,
99
+ boreholeID: bh.id,
100
+ name: `${bh.id}: ${layer.depthFrom.toFixed(2)}-${layer.depthTo.toFixed(2)} m`,
101
+ description: layer.description,
102
+ geologyUnitID: litho.key,
103
+ colourRGB: colour,
104
+ topDepth: layer.depthFrom,
105
+ bottomDepth: layer.depthTo,
106
+ ...(hasLevels
107
+ ? { topLevel: bh.groundLevel - layer.depthFrom, bottomLevel: bh.groundLevel - layer.depthTo }
108
+ : {}),
109
+ ...(litho.uscsSymbol ? { uscs: litho.uscsSymbol } : {}),
110
+ confidence: litho.confidence,
111
+ });
112
+ if (!units.has(litho.key)) {
113
+ units.set(litho.key, {
114
+ geologyUnitID: litho.key,
115
+ geologyCode: litho.key,
116
+ description: litho.materialClass,
117
+ colourRGB: colour,
118
+ });
119
+ }
120
+ });
121
+ }
122
+ const document = {
123
+ agsSchema: { name: 'AGSi', version: '1.0.1' },
124
+ agsProject: {
125
+ projectName: options?.projectName ?? 'GeotechCLI ground model',
126
+ coordinateSystem: crs ?? 'unknown',
127
+ },
128
+ agsiModel: [
129
+ {
130
+ modelID: 'model-1',
131
+ modelName: 'Observational ground model',
132
+ category: 'Geological observations',
133
+ element: elements,
134
+ },
135
+ ],
136
+ agsiGeologyUnit: [...units.values()],
137
+ generatedAt,
138
+ };
139
+ return JSON.stringify(document, null, 2);
140
+ }
141
+ /**
142
+ * Export a DIGGS 2.x document (XML) — project + one Borehole sampling feature per borehole
143
+ * (location, total depth) + per-borehole geology intervals. Hand-rolled, fully escaped, and
144
+ * well-formed; no XML dependency.
145
+ */
146
+ export function exportBoreholeDiggs(boreholes, options) {
147
+ const generatedAt = options?.generatedAt ?? new Date().toISOString();
148
+ const fallbackCrs = resolveCrs(boreholes, options);
149
+ const projectName = options?.projectName ?? 'GeotechCLI ground model';
150
+ const referencePoint = (bh) => {
151
+ const srs = bh.crs ?? fallbackCrs;
152
+ if (typeof bh.easting === 'number' && typeof bh.northing === 'number') {
153
+ return { coords: `${numberToXml(bh.easting)} ${numberToXml(bh.northing)}`, srs };
154
+ }
155
+ if (typeof bh.lat === 'number' && typeof bh.lng === 'number') {
156
+ return { coords: `${numberToXml(bh.lat)} ${numberToXml(bh.lng)}`, srs };
157
+ }
158
+ return null;
159
+ };
160
+ const lines = [];
161
+ lines.push('<?xml version="1.0" encoding="UTF-8"?>');
162
+ lines.push('<Diggs xmlns="http://diggsml.org/schemas/2.6" xmlns:gml="http://www.opengis.net/gml/3.2" ' +
163
+ 'xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' +
164
+ 'gml:id="geotechcli-diggs">');
165
+ lines.push(' <documentInformation>');
166
+ lines.push(' <DocumentInformation gml:id="di-1">');
167
+ lines.push(` <creationDate>${escapeXml(generatedAt)}</creationDate>`);
168
+ lines.push(' <description>Generated by geotechCLI</description>');
169
+ lines.push(' </DocumentInformation>');
170
+ lines.push(' </documentInformation>');
171
+ lines.push(' <project>');
172
+ lines.push(' <Project gml:id="project-1">');
173
+ lines.push(` <gml:name>${escapeXml(projectName)}</gml:name>`);
174
+ lines.push(' </Project>');
175
+ lines.push(' </project>');
176
+ for (const bh of boreholes) {
177
+ lines.push(' <samplingFeature>');
178
+ lines.push(` <Borehole gml:id="${escapeXml(bh.id)}">`);
179
+ lines.push(` <gml:name>${escapeXml(bh.id)}</gml:name>`);
180
+ lines.push(' <investigationTarget>Geotechnical</investigationTarget>');
181
+ lines.push(' <samplingFeatureType>Borehole</samplingFeatureType>');
182
+ const pos = referencePoint(bh);
183
+ if (pos) {
184
+ lines.push(' <referencePoint>');
185
+ lines.push(` <gml:Point gml:id="${escapeXml(bh.id)}-rp"${pos.srs ? ` srsName="${escapeXml(pos.srs)}"` : ''}>`);
186
+ lines.push(` <gml:pos>${pos.coords}</gml:pos>`);
187
+ lines.push(' </gml:Point>');
188
+ lines.push(' </referencePoint>');
189
+ }
190
+ if (typeof bh.depth === 'number' && Number.isFinite(bh.depth)) {
191
+ lines.push(` <totalMeasuredDepth uom="m">${numberToXml(bh.depth)}</totalMeasuredDepth>`);
192
+ }
193
+ lines.push(' </Borehole>');
194
+ lines.push(' </samplingFeature>');
195
+ }
196
+ for (const bh of boreholes) {
197
+ if (bh.layers.length === 0)
198
+ continue;
199
+ lines.push(' <observation>');
200
+ lines.push(` <Geology gml:id="${escapeXml(bh.id)}-geol">`);
201
+ lines.push(` <samplingFeatureRef xlink:href="#${escapeXml(bh.id)}"/>`);
202
+ bh.layers.forEach((layer, index) => {
203
+ const litho = resolveLayerLithology(layer);
204
+ lines.push(' <geologyInterval>');
205
+ lines.push(` <GeologyInterval gml:id="${escapeXml(bh.id)}-geol-${index + 1}">`);
206
+ lines.push(` <topDepth uom="m">${numberToXml(layer.depthFrom)}</topDepth>`);
207
+ lines.push(` <baseDepth uom="m">${numberToXml(layer.depthTo)}</baseDepth>`);
208
+ lines.push(` <description>${escapeXml(layer.description)}</description>`);
209
+ lines.push(` <geologyCode>${escapeXml(litho.key)}</geologyCode>`);
210
+ if (litho.uscsSymbol) {
211
+ lines.push(` <uscs>${escapeXml(litho.uscsSymbol)}</uscs>`);
212
+ }
213
+ lines.push(' </GeologyInterval>');
214
+ lines.push(' </geologyInterval>');
215
+ });
216
+ lines.push(' </Geology>');
217
+ lines.push(' </observation>');
218
+ }
219
+ lines.push('</Diggs>');
220
+ return lines.join('\n');
221
+ }
35
222
  export function exportDXF(entities, title) {
36
223
  const lines = [];
37
224
  // Header
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/export/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/export/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  export { calculateBearingCapacity, type BearingCapacityResult, type BearingCapacityInput } from './bearing-capacity.js';
2
2
  export { parseCoordinateText, buildBoreholeLocation, detectCoordinateReferenceSystem, transformCoordinatesToWGS84, type CoordinateAxis, type CoordinateReferenceSystemDetectionInput, type CoordinateTransformInput, type BoreholeLocationInput, } from './coordinates.js';
3
3
  export { classifyUSCS, classifyRMR89, classifyQSystem, type USCSResult, type RMR89Result, type QSystemResult } from './classification.js';
4
+ export { normalizeLithology, extractUscsSymbol, detectLithologyDescriptors, lithologyClassForKey, LITHOLOGY_MATERIAL_KEYS, type LithologyMaterialKey, type LithologyClass, type LithologyTone, type LithologyNormalization, type LithologyDescriptors, } from './lithology.js';
4
5
  export { calculateLiquefaction, type LiquefactionResult } from './liquefaction.js';
5
6
  export { calculateConsolidation, calculateSchmertmann, calculatePeckSettlement, type ConsolidationInput, type ConsolidationResult, type SchmertmannInput, type SchmertmannResult, type PeckSettlementInput, type PeckSettlementResult, } from './settlement.js';
6
7
  export { predictTBMPerformance, selectTBMType, predictCutterWear } from './tunnel/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/geo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,KAAK,qBAAqB,EAAE,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACxH,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,+BAA+B,EAC/B,2BAA2B,EAC3B,KAAK,cAAc,EACnB,KAAK,uCAAuC,EAC5C,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,GAC3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC1I,OAAO,EAAE,qBAAqB,EAAE,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACnF,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACvB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,GAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5G,OAAO,EAAE,uBAAuB,EAAE,KAAK,oBAAoB,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACpH,OAAO,EAAE,6BAA6B,EAAE,KAAK,0BAA0B,EAAE,KAAK,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAC7I,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,aAAa,GACnB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/geo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,KAAK,qBAAqB,EAAE,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACxH,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,+BAA+B,EAC/B,2BAA2B,EAC3B,KAAK,cAAc,EACnB,KAAK,uCAAuC,EAC5C,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,GAC3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC1I,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,0BAA0B,EAC1B,oBAAoB,EACpB,uBAAuB,EACvB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,GAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACnF,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACvB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,GAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5G,OAAO,EAAE,uBAAuB,EAAE,KAAK,oBAAoB,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACpH,OAAO,EAAE,6BAA6B,EAAE,KAAK,0BAA0B,EAAE,KAAK,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAC7I,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,aAAa,GACnB,MAAM,cAAc,CAAC"}
package/dist/geo/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  export { calculateBearingCapacity } from './bearing-capacity.js';
2
2
  export { parseCoordinateText, buildBoreholeLocation, detectCoordinateReferenceSystem, transformCoordinatesToWGS84, } from './coordinates.js';
3
3
  export { classifyUSCS, classifyRMR89, classifyQSystem } from './classification.js';
4
+ export { normalizeLithology, extractUscsSymbol, detectLithologyDescriptors, lithologyClassForKey, LITHOLOGY_MATERIAL_KEYS, } from './lithology.js';
4
5
  export { calculateLiquefaction } from './liquefaction.js';
5
6
  export { calculateConsolidation, calculateSchmertmann, calculatePeckSettlement, } from './settlement.js';
6
7
  export { predictTBMPerformance, selectTBMType, predictCutterWear } from './tunnel/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/geo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAyD,MAAM,uBAAuB,CAAC;AACxH,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,+BAA+B,EAC/B,2BAA2B,GAK5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAyD,MAAM,qBAAqB,CAAC;AAC1I,OAAO,EAAE,qBAAqB,EAA2B,MAAM,mBAAmB,CAAC;AACnF,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,GAOxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAmD,MAAM,oBAAoB,CAAC;AAC5G,OAAO,EAAE,uBAAuB,EAAuD,MAAM,sBAAsB,CAAC;AACpH,OAAO,EAAE,6BAA6B,EAAmE,MAAM,6BAA6B,CAAC;AAC7I,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GAIxB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/geo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAyD,MAAM,uBAAuB,CAAC;AACxH,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,+BAA+B,EAC/B,2BAA2B,GAK5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAyD,MAAM,qBAAqB,CAAC;AAC1I,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,0BAA0B,EAC1B,oBAAoB,EACpB,uBAAuB,GAMxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAA2B,MAAM,mBAAmB,CAAC;AACnF,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,GAOxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAmD,MAAM,oBAAoB,CAAC;AAC5G,OAAO,EAAE,uBAAuB,EAAuD,MAAM,sBAAsB,CAAC;AACpH,OAAO,EAAE,6BAA6B,EAAmE,MAAM,6BAA6B,CAAC;AAC7I,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GAIxB,MAAM,cAAc,CAAC"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Shared deterministic lithology normalization.
3
+ *
4
+ * Soil/rock descriptions were classified by six independent ad-hoc matchers across the codebase
5
+ * (vision heuristic, ingest dossier material key/tone, integrated-review class, workspace dossier
6
+ * kind, html cross-section fallback, and USCS extraction) with subtly different vocabularies and two
7
+ * real bugs (organic dropped to 'unknown'/'mixed'). This module is the single controlled vocabulary
8
+ * they all delegate to. It is pure, deterministic, dependency-free, and never uses fuzzy matching.
9
+ *
10
+ * Raw descriptions are always preserved by callers; this only derives normalized labels.
11
+ */
12
+ export type LithologyMaterialKey = 'organic' | 'bedrock' | 'weathered-rock' | 'gravel' | 'sand' | 'clay' | 'silt' | 'fill' | 'mixed';
13
+ /** Collapsed class used by the integrated-review model (bedrock/weathered-rock -> 'rock'). */
14
+ export type LithologyClass = 'fill' | 'clay' | 'silt' | 'sand' | 'gravel' | 'rock' | 'organic' | 'mixed';
15
+ export type LithologyTone = 'neutral' | 'warning' | 'accent' | 'good';
16
+ export interface LithologyNormalization {
17
+ key: LithologyMaterialKey;
18
+ materialClass: LithologyClass;
19
+ uscsSymbol: string | null;
20
+ tone: LithologyTone;
21
+ confidence: number;
22
+ matchedTerms: string[];
23
+ }
24
+ export interface LithologyDescriptors {
25
+ hasClay: boolean;
26
+ hasSilt: boolean;
27
+ hasSand: boolean;
28
+ hasGravel: boolean;
29
+ hasOrganic: boolean;
30
+ hasPeat: boolean;
31
+ highPlasticity: boolean;
32
+ lowPlasticity: boolean;
33
+ wellGraded: boolean;
34
+ poorlyGraded: boolean;
35
+ lowPermeability: boolean;
36
+ highPermeability: boolean;
37
+ softConsistency: boolean;
38
+ stiffConsistency: boolean;
39
+ looseDensity: boolean;
40
+ denseDensity: boolean;
41
+ }
42
+ export declare const LITHOLOGY_MATERIAL_KEYS: readonly LithologyMaterialKey[];
43
+ /** Exact USCS-symbol regex (formerly inferUscsFromText in vision/geotech-document.ts). */
44
+ export declare function extractUscsSymbol(text: string | null | undefined): string | null;
45
+ export declare function lithologyClassForKey(key: LithologyMaterialKey): LithologyClass;
46
+ /**
47
+ * Detect the descriptor flags the vision heuristic relies on. Normalization matches the original
48
+ * vision routine exactly (lowercase + strip non-[a-z0-9\s/-]); the only intentional change is that
49
+ * `boulder` now counts as a coarse-grained (gravel-family) descriptor (D3).
50
+ */
51
+ export declare function detectLithologyDescriptors(description: string): LithologyDescriptors;
52
+ /**
53
+ * Normalize a soil/rock description (plus optional explicit USCS symbol) to a canonical material
54
+ * key, collapsed class, tone, and a 0-1 confidence. Key and tone matching use `.toLowerCase()` only
55
+ * (matching the original material-key/tone matchers); the explicit USCS symbol, when given, is
56
+ * appended to the matching text exactly as the dossier matchers did.
57
+ */
58
+ export declare function normalizeLithology(description: string | null | undefined, uscsSymbol?: string | null): LithologyNormalization;
59
+ //# sourceMappingURL=lithology.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lithology.d.ts","sourceRoot":"","sources":["../../src/geo/lithology.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,oBAAoB,GAC5B,SAAS,GACT,SAAS,GACT,gBAAgB,GAChB,QAAQ,GACR,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,OAAO,CAAC;AAEZ,8FAA8F;AAC9F,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAEzG,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEtE,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,oBAAoB,CAAC;IAC1B,aAAa,EAAE,cAAc,CAAC;IAC9B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,EAAE,aAAa,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,uBAAuB,EAAE,SAAS,oBAAoB,EAUlE,CAAC;AAIF,0FAA0F;AAC1F,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAIhF;AAkCD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,oBAAoB,GAAG,cAAc,CAG9E;AAMD;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,oBAAoB,CAqBpF;AAgBD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACtC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GACzB,sBAAsB,CAgCxB"}