@geotechcli/core 0.2.0

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 (194) hide show
  1. package/dist/agents/brain.d.ts +39 -0
  2. package/dist/agents/brain.d.ts.map +1 -0
  3. package/dist/agents/brain.js +339 -0
  4. package/dist/agents/brain.js.map +1 -0
  5. package/dist/agents/bridge-tools.d.ts +2 -0
  6. package/dist/agents/bridge-tools.d.ts.map +1 -0
  7. package/dist/agents/bridge-tools.js +170 -0
  8. package/dist/agents/bridge-tools.js.map +1 -0
  9. package/dist/agents/data-tools.d.ts +2 -0
  10. package/dist/agents/data-tools.d.ts.map +1 -0
  11. package/dist/agents/data-tools.js +309 -0
  12. package/dist/agents/data-tools.js.map +1 -0
  13. package/dist/agents/filesystem-tools.d.ts +2 -0
  14. package/dist/agents/filesystem-tools.d.ts.map +1 -0
  15. package/dist/agents/filesystem-tools.js +267 -0
  16. package/dist/agents/filesystem-tools.js.map +1 -0
  17. package/dist/agents/guardrails.d.ts +17 -0
  18. package/dist/agents/guardrails.d.ts.map +1 -0
  19. package/dist/agents/guardrails.js +260 -0
  20. package/dist/agents/guardrails.js.map +1 -0
  21. package/dist/agents/orchestrator.d.ts +9 -0
  22. package/dist/agents/orchestrator.d.ts.map +1 -0
  23. package/dist/agents/orchestrator.js +136 -0
  24. package/dist/agents/orchestrator.js.map +1 -0
  25. package/dist/agents/safety.d.ts +9 -0
  26. package/dist/agents/safety.d.ts.map +1 -0
  27. package/dist/agents/safety.js +40 -0
  28. package/dist/agents/safety.js.map +1 -0
  29. package/dist/agents/sandbox.d.ts +34 -0
  30. package/dist/agents/sandbox.d.ts.map +1 -0
  31. package/dist/agents/sandbox.js +235 -0
  32. package/dist/agents/sandbox.js.map +1 -0
  33. package/dist/agents/swarm.d.ts +25 -0
  34. package/dist/agents/swarm.d.ts.map +1 -0
  35. package/dist/agents/swarm.js +434 -0
  36. package/dist/agents/swarm.js.map +1 -0
  37. package/dist/agents/tools.d.ts +37 -0
  38. package/dist/agents/tools.d.ts.map +1 -0
  39. package/dist/agents/tools.js +451 -0
  40. package/dist/agents/tools.js.map +1 -0
  41. package/dist/bridge/index.d.ts +52 -0
  42. package/dist/bridge/index.d.ts.map +1 -0
  43. package/dist/bridge/index.js +195 -0
  44. package/dist/bridge/index.js.map +1 -0
  45. package/dist/config/index.d.ts +106 -0
  46. package/dist/config/index.d.ts.map +1 -0
  47. package/dist/config/index.js +217 -0
  48. package/dist/config/index.js.map +1 -0
  49. package/dist/db/index.d.ts +4 -0
  50. package/dist/db/index.d.ts.map +1 -0
  51. package/dist/db/index.js +4 -0
  52. package/dist/db/index.js.map +1 -0
  53. package/dist/db/redis.d.ts +14 -0
  54. package/dist/db/redis.d.ts.map +1 -0
  55. package/dist/db/redis.js +204 -0
  56. package/dist/db/redis.js.map +1 -0
  57. package/dist/db/supabase.d.ts +57 -0
  58. package/dist/db/supabase.d.ts.map +1 -0
  59. package/dist/db/supabase.js +156 -0
  60. package/dist/db/supabase.js.map +1 -0
  61. package/dist/db/users.d.ts +50 -0
  62. package/dist/db/users.d.ts.map +1 -0
  63. package/dist/db/users.js +132 -0
  64. package/dist/db/users.js.map +1 -0
  65. package/dist/export/index.d.ts +51 -0
  66. package/dist/export/index.d.ts.map +1 -0
  67. package/dist/export/index.js +126 -0
  68. package/dist/export/index.js.map +1 -0
  69. package/dist/geo/bearing-capacity.d.ts +60 -0
  70. package/dist/geo/bearing-capacity.d.ts.map +1 -0
  71. package/dist/geo/bearing-capacity.js +195 -0
  72. package/dist/geo/bearing-capacity.js.map +1 -0
  73. package/dist/geo/classification.d.ts +107 -0
  74. package/dist/geo/classification.d.ts.map +1 -0
  75. package/dist/geo/classification.js +261 -0
  76. package/dist/geo/classification.js.map +1 -0
  77. package/dist/geo/index.d.ts +9 -0
  78. package/dist/geo/index.d.ts.map +1 -0
  79. package/dist/geo/index.js +9 -0
  80. package/dist/geo/index.js.map +1 -0
  81. package/dist/geo/lateral-earth-pressure.d.ts +75 -0
  82. package/dist/geo/lateral-earth-pressure.d.ts.map +1 -0
  83. package/dist/geo/lateral-earth-pressure.js +219 -0
  84. package/dist/geo/lateral-earth-pressure.js.map +1 -0
  85. package/dist/geo/liquefaction.d.ts +65 -0
  86. package/dist/geo/liquefaction.d.ts.map +1 -0
  87. package/dist/geo/liquefaction.js +163 -0
  88. package/dist/geo/liquefaction.js.map +1 -0
  89. package/dist/geo/pile-capacity.d.ts +91 -0
  90. package/dist/geo/pile-capacity.d.ts.map +1 -0
  91. package/dist/geo/pile-capacity.js +233 -0
  92. package/dist/geo/pile-capacity.js.map +1 -0
  93. package/dist/geo/settlement.d.ts +119 -0
  94. package/dist/geo/settlement.d.ts.map +1 -0
  95. package/dist/geo/settlement.js +184 -0
  96. package/dist/geo/settlement.js.map +1 -0
  97. package/dist/geo/slope-stability.d.ts +82 -0
  98. package/dist/geo/slope-stability.d.ts.map +1 -0
  99. package/dist/geo/slope-stability.js +214 -0
  100. package/dist/geo/slope-stability.js.map +1 -0
  101. package/dist/geo/tunnel/index.d.ts +2 -0
  102. package/dist/geo/tunnel/index.d.ts.map +1 -0
  103. package/dist/geo/tunnel/index.js +2 -0
  104. package/dist/geo/tunnel/index.js.map +1 -0
  105. package/dist/geo/tunnel/tbm.d.ts +135 -0
  106. package/dist/geo/tunnel/tbm.d.ts.map +1 -0
  107. package/dist/geo/tunnel/tbm.js +268 -0
  108. package/dist/geo/tunnel/tbm.js.map +1 -0
  109. package/dist/index.d.ts +20 -0
  110. package/dist/index.d.ts.map +1 -0
  111. package/dist/index.js +33 -0
  112. package/dist/index.js.map +1 -0
  113. package/dist/ingest/ags.d.ts +42 -0
  114. package/dist/ingest/ags.d.ts.map +1 -0
  115. package/dist/ingest/ags.js +133 -0
  116. package/dist/ingest/ags.js.map +1 -0
  117. package/dist/ingest/cpt.d.ts +47 -0
  118. package/dist/ingest/cpt.d.ts.map +1 -0
  119. package/dist/ingest/cpt.js +112 -0
  120. package/dist/ingest/cpt.js.map +1 -0
  121. package/dist/ingest/index.d.ts +3 -0
  122. package/dist/ingest/index.d.ts.map +1 -0
  123. package/dist/ingest/index.js +3 -0
  124. package/dist/ingest/index.js.map +1 -0
  125. package/dist/llm/index.d.ts +5 -0
  126. package/dist/llm/index.d.ts.map +1 -0
  127. package/dist/llm/index.js +4 -0
  128. package/dist/llm/index.js.map +1 -0
  129. package/dist/llm/middleware/metering.d.ts +55 -0
  130. package/dist/llm/middleware/metering.d.ts.map +1 -0
  131. package/dist/llm/middleware/metering.js +191 -0
  132. package/dist/llm/middleware/metering.js.map +1 -0
  133. package/dist/llm/middleware/persistent-usage.d.ts +7 -0
  134. package/dist/llm/middleware/persistent-usage.d.ts.map +1 -0
  135. package/dist/llm/middleware/persistent-usage.js +108 -0
  136. package/dist/llm/middleware/persistent-usage.js.map +1 -0
  137. package/dist/llm/middleware/retry.d.ts +7 -0
  138. package/dist/llm/middleware/retry.d.ts.map +1 -0
  139. package/dist/llm/middleware/retry.js +29 -0
  140. package/dist/llm/middleware/retry.js.map +1 -0
  141. package/dist/llm/providers/anthropic.d.ts +10 -0
  142. package/dist/llm/providers/anthropic.d.ts.map +1 -0
  143. package/dist/llm/providers/anthropic.js +107 -0
  144. package/dist/llm/providers/anthropic.js.map +1 -0
  145. package/dist/llm/providers/hosted-beta.d.ts +10 -0
  146. package/dist/llm/providers/hosted-beta.d.ts.map +1 -0
  147. package/dist/llm/providers/hosted-beta.js +106 -0
  148. package/dist/llm/providers/hosted-beta.js.map +1 -0
  149. package/dist/llm/providers/huggingface.d.ts +37 -0
  150. package/dist/llm/providers/huggingface.d.ts.map +1 -0
  151. package/dist/llm/providers/huggingface.js +133 -0
  152. package/dist/llm/providers/huggingface.js.map +1 -0
  153. package/dist/llm/providers/openai-compatible.d.ts +27 -0
  154. package/dist/llm/providers/openai-compatible.d.ts.map +1 -0
  155. package/dist/llm/providers/openai-compatible.js +99 -0
  156. package/dist/llm/providers/openai-compatible.js.map +1 -0
  157. package/dist/llm/providers/zhipu.d.ts +10 -0
  158. package/dist/llm/providers/zhipu.d.ts.map +1 -0
  159. package/dist/llm/providers/zhipu.js +81 -0
  160. package/dist/llm/providers/zhipu.js.map +1 -0
  161. package/dist/llm/router.d.ts +35 -0
  162. package/dist/llm/router.d.ts.map +1 -0
  163. package/dist/llm/router.js +109 -0
  164. package/dist/llm/router.js.map +1 -0
  165. package/dist/llm/types.d.ts +63 -0
  166. package/dist/llm/types.d.ts.map +1 -0
  167. package/dist/llm/types.js +38 -0
  168. package/dist/llm/types.js.map +1 -0
  169. package/dist/meta/index.d.ts +12 -0
  170. package/dist/meta/index.d.ts.map +1 -0
  171. package/dist/meta/index.js +8 -0
  172. package/dist/meta/index.js.map +1 -0
  173. package/dist/meta/metadata.json +46 -0
  174. package/dist/report/index.d.ts +20 -0
  175. package/dist/report/index.d.ts.map +1 -0
  176. package/dist/report/index.js +58 -0
  177. package/dist/report/index.js.map +1 -0
  178. package/dist/standards/index.d.ts +23 -0
  179. package/dist/standards/index.d.ts.map +1 -0
  180. package/dist/standards/index.js +89 -0
  181. package/dist/standards/index.js.map +1 -0
  182. package/dist/storage/index.d.ts +114 -0
  183. package/dist/storage/index.d.ts.map +1 -0
  184. package/dist/storage/index.js +465 -0
  185. package/dist/storage/index.js.map +1 -0
  186. package/dist/vision/index.d.ts +80 -0
  187. package/dist/vision/index.d.ts.map +1 -0
  188. package/dist/vision/index.js +298 -0
  189. package/dist/vision/index.js.map +1 -0
  190. package/dist/vision/parse.d.ts +20 -0
  191. package/dist/vision/parse.d.ts.map +1 -0
  192. package/dist/vision/parse.js +75 -0
  193. package/dist/vision/parse.js.map +1 -0
  194. package/package.json +55 -0
@@ -0,0 +1,2 @@
1
+ export { predictTBMPerformance, selectTBMType, predictCutterWear, TBMPredictInputSchema, TBMSelectInputSchema, CutterWearInputSchema, } from './tbm.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/geo/tunnel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,GAOtB,MAAM,UAAU,CAAC"}
@@ -0,0 +1,135 @@
1
+ import { z } from 'zod';
2
+ export declare const TBMPredictInputSchema: z.ZodObject<{
3
+ diameter: z.ZodNumber;
4
+ ucs: z.ZodNumber;
5
+ rqd: z.ZodNumber;
6
+ cai: z.ZodOptional<z.ZodNumber>;
7
+ bts: z.ZodOptional<z.ZodNumber>;
8
+ jointSpacing: z.ZodOptional<z.ZodNumber>;
9
+ alpha: z.ZodOptional<z.ZodNumber>;
10
+ cutterDiameter: z.ZodOptional<z.ZodNumber>;
11
+ cutterSpacing: z.ZodOptional<z.ZodNumber>;
12
+ rpm: z.ZodOptional<z.ZodNumber>;
13
+ numberOfCutters: z.ZodOptional<z.ZodNumber>;
14
+ }, "strip", z.ZodTypeAny, {
15
+ ucs: number;
16
+ rqd: number;
17
+ diameter: number;
18
+ cai?: number | undefined;
19
+ bts?: number | undefined;
20
+ jointSpacing?: number | undefined;
21
+ alpha?: number | undefined;
22
+ cutterDiameter?: number | undefined;
23
+ cutterSpacing?: number | undefined;
24
+ rpm?: number | undefined;
25
+ numberOfCutters?: number | undefined;
26
+ }, {
27
+ ucs: number;
28
+ rqd: number;
29
+ diameter: number;
30
+ cai?: number | undefined;
31
+ bts?: number | undefined;
32
+ jointSpacing?: number | undefined;
33
+ alpha?: number | undefined;
34
+ cutterDiameter?: number | undefined;
35
+ cutterSpacing?: number | undefined;
36
+ rpm?: number | undefined;
37
+ numberOfCutters?: number | undefined;
38
+ }>;
39
+ export type TBMPredictInput = z.infer<typeof TBMPredictInputSchema>;
40
+ export interface TBMPredictResult {
41
+ penetrationRate: number;
42
+ advanceRate: number;
43
+ fieldPenetrationIndex: number;
44
+ cutterWearIndex: number;
45
+ cutterLife: number;
46
+ requiredThrust: number;
47
+ requiredTorque: number;
48
+ cutterheadPower: number;
49
+ specificEnergy: number;
50
+ steps: string[];
51
+ }
52
+ export declare function predictTBMPerformance(input: TBMPredictInput): TBMPredictResult;
53
+ export declare const TBMSelectInputSchema: z.ZodObject<{
54
+ diameter: z.ZodNumber;
55
+ groundType: z.ZodEnum<["rock", "soft_ground", "mixed", "squeezing", "karst"]>;
56
+ ucs: z.ZodOptional<z.ZodNumber>;
57
+ waterPressure: z.ZodDefault<z.ZodNumber>;
58
+ overburden: z.ZodOptional<z.ZodNumber>;
59
+ finesContent: z.ZodOptional<z.ZodNumber>;
60
+ permeability: z.ZodOptional<z.ZodNumber>;
61
+ stickyClayRisk: z.ZodDefault<z.ZodBoolean>;
62
+ boulderRisk: z.ZodDefault<z.ZodBoolean>;
63
+ gasRisk: z.ZodDefault<z.ZodBoolean>;
64
+ minimumCoverDiameterRatio: z.ZodOptional<z.ZodNumber>;
65
+ }, "strip", z.ZodTypeAny, {
66
+ diameter: number;
67
+ groundType: "rock" | "soft_ground" | "mixed" | "squeezing" | "karst";
68
+ waterPressure: number;
69
+ stickyClayRisk: boolean;
70
+ boulderRisk: boolean;
71
+ gasRisk: boolean;
72
+ ucs?: number | undefined;
73
+ finesContent?: number | undefined;
74
+ overburden?: number | undefined;
75
+ permeability?: number | undefined;
76
+ minimumCoverDiameterRatio?: number | undefined;
77
+ }, {
78
+ diameter: number;
79
+ groundType: "rock" | "soft_ground" | "mixed" | "squeezing" | "karst";
80
+ ucs?: number | undefined;
81
+ finesContent?: number | undefined;
82
+ waterPressure?: number | undefined;
83
+ overburden?: number | undefined;
84
+ permeability?: number | undefined;
85
+ stickyClayRisk?: boolean | undefined;
86
+ boulderRisk?: boolean | undefined;
87
+ gasRisk?: boolean | undefined;
88
+ minimumCoverDiameterRatio?: number | undefined;
89
+ }>;
90
+ export type TBMSelectInput = z.infer<typeof TBMSelectInputSchema>;
91
+ export interface TBMSelectResult {
92
+ recommendation: string;
93
+ type: 'Open' | 'Single Shield' | 'Double Shield' | 'EPB' | 'Slurry' | 'Hybrid' | 'Convertible';
94
+ confidence: number;
95
+ keyFactors: string[];
96
+ alternatives: string[];
97
+ operationalNotes: string[];
98
+ steps: string[];
99
+ }
100
+ export declare function selectTBMType(input: TBMSelectInput): TBMSelectResult;
101
+ export declare const CutterWearInputSchema: z.ZodObject<{
102
+ cai: z.ZodNumber;
103
+ ucs: z.ZodNumber;
104
+ quartz: z.ZodOptional<z.ZodNumber>;
105
+ cutterDiameter: z.ZodOptional<z.ZodNumber>;
106
+ cutterRingType: z.ZodOptional<z.ZodEnum<["constant_section", "wedge"]>>;
107
+ totalDistance: z.ZodNumber;
108
+ numberOfCutters: z.ZodNumber;
109
+ }, "strip", z.ZodTypeAny, {
110
+ ucs: number;
111
+ cai: number;
112
+ numberOfCutters: number;
113
+ totalDistance: number;
114
+ cutterDiameter?: number | undefined;
115
+ quartz?: number | undefined;
116
+ cutterRingType?: "constant_section" | "wedge" | undefined;
117
+ }, {
118
+ ucs: number;
119
+ cai: number;
120
+ numberOfCutters: number;
121
+ totalDistance: number;
122
+ cutterDiameter?: number | undefined;
123
+ quartz?: number | undefined;
124
+ cutterRingType?: "constant_section" | "wedge" | undefined;
125
+ }>;
126
+ export type CutterWearInput = z.infer<typeof CutterWearInputSchema>;
127
+ export interface CutterWearResult {
128
+ wearRatePerCutter: number;
129
+ totalCutterChanges: number;
130
+ costEstimate: number;
131
+ abrasivityClass: string;
132
+ steps: string[];
133
+ }
134
+ export declare function predictCutterWear(input: CutterWearInput): CutterWearResult;
135
+ //# sourceMappingURL=tbm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tbm.d.ts","sourceRoot":"","sources":["../../../src/geo/tunnel/tbm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,eAAe,GAAG,gBAAgB,CA8E9E;AAMD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAC;IAC/F,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CAgHpE;AAMD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;EAQhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,GAAG,gBAAgB,CA2C1E"}
@@ -0,0 +1,268 @@
1
+ import { z } from 'zod';
2
+ // ---------------------------------------------------------------------------
3
+ // TBM Performance Prediction
4
+ // ---------------------------------------------------------------------------
5
+ export const TBMPredictInputSchema = z.object({
6
+ diameter: z.number().positive().describe('TBM diameter D (m)'),
7
+ ucs: z.number().positive().describe('Uniaxial compressive strength (MPa)'),
8
+ rqd: z.number().min(0).max(100).describe('Rock Quality Designation (%)'),
9
+ cai: z.number().min(0).max(7).optional().describe('Cerchar Abrasivity Index'),
10
+ bts: z.number().positive().optional().describe('Brazilian Tensile Strength (MPa)'),
11
+ jointSpacing: z.number().positive().optional().describe('Mean joint spacing (m)'),
12
+ alpha: z.number().min(0).max(90).optional().describe('Angle between tunnel axis and joints (deg)'),
13
+ cutterDiameter: z.number().positive().optional().describe('Cutter disc diameter (m)'),
14
+ cutterSpacing: z.number().positive().optional().describe('Cutter spacing (m)'),
15
+ rpm: z.number().positive().optional().describe('Cutterhead RPM'),
16
+ numberOfCutters: z.number().int().positive().optional().describe('Number of disc cutters'),
17
+ });
18
+ export function predictTBMPerformance(input) {
19
+ const v = TBMPredictInputSchema.parse(input);
20
+ const steps = [];
21
+ const { diameter: D, ucs, rqd } = v;
22
+ const cutterDiameter = v.cutterDiameter ?? 0.4318;
23
+ const s = v.cutterSpacing ?? 0.07;
24
+ const cai = v.cai ?? 2.0;
25
+ const bts = v.bts ?? ucs / 15;
26
+ const jointSpacing = v.jointSpacing ?? 0.3;
27
+ const alpha = v.alpha ?? 60;
28
+ // Number of cutters estimate if not provided
29
+ const nCutters = v.numberOfCutters ?? Math.round((D / 2 / s) * 1.1);
30
+ const rpm = v.rpm ?? Math.max(1, 8 - D * 0.5);
31
+ steps.push(`TBM diameter: ${D} m, ${nCutters} disc cutters @ ${cutterDiameter * 1000} mm`);
32
+ steps.push(`Rock: UCS = ${ucs} MPa, BTS = ${bts.toFixed(1)} MPa, RQD = ${rqd}%, CAI = ${cai}`);
33
+ // --- Field Penetration Index (FPI) ---
34
+ // Based on NTNU/CSM model simplified
35
+ // FPI = f(UCS, BTS, joint spacing, alpha)
36
+ const drillingRateIndex = ucs * bts / (jointSpacing * 10);
37
+ const alphaFactor = 1 + 0.5 * Math.sin((2 * alpha * Math.PI) / 180);
38
+ const fpi = (drillingRateIndex * alphaFactor) / 100;
39
+ steps.push(`Field Penetration Index (FPI): ${fpi.toFixed(2)} kN/cutter/mm/rev`);
40
+ // --- Penetration Rate (PR) ---
41
+ // Fn = average cutter normal force (kN), typically 250-300 kN for hard rock
42
+ const Fn = Math.min(300, Math.max(100, 450 - ucs * 2));
43
+ const PR = Fn / (fpi * 1000) * 1000; // mm/rev
44
+ steps.push(`Average cutter force: Fn = ${Fn.toFixed(0)} kN`);
45
+ steps.push(`Penetration rate: PR = ${PR.toFixed(2)} mm/rev`);
46
+ // --- Advance Rate (AR) ---
47
+ const utilization = 0.45; // typical 40-50%
48
+ const AR = PR * rpm * 60 * utilization / 1000; // m/hr
49
+ const dailyAdvance = AR * 16; // 16 operational hours/day
50
+ steps.push(`RPM: ${rpm.toFixed(1)}, Utilization: ${(utilization * 100).toFixed(0)}%`);
51
+ steps.push(`Advance rate: ${AR.toFixed(2)} m/hr (${dailyAdvance.toFixed(1)} m/day)`);
52
+ // --- Cutter Wear ---
53
+ // CLI (Cutter Life Index) based on CAI and UCS
54
+ const cli = 1000 / (cai * Math.sqrt(ucs / 50));
55
+ const cutterLife = Math.max(50, cli * 100); // meters of tunnel per cutter change
56
+ const cutterWearIndex = cai * (ucs / 100);
57
+ steps.push(`Cutter Life Index: ${cli.toFixed(2)}`);
58
+ steps.push(`Estimated cutter life: ${cutterLife.toFixed(0)} m/cutter`);
59
+ // --- Required Thrust ---
60
+ const totalThrust = Fn * nCutters;
61
+ steps.push(`Required thrust: ${(totalThrust / 1000).toFixed(0)} MN (${nCutters} cutters × ${Fn.toFixed(0)} kN)`);
62
+ // --- Required Torque ---
63
+ const rollingCoeff = 0.06;
64
+ const torque = rollingCoeff * totalThrust * (D / 2);
65
+ steps.push(`Required torque: ${torque.toFixed(0)} kNm`);
66
+ // --- Cutterhead Power ---
67
+ const power = (torque * 2 * Math.PI * rpm) / 60;
68
+ steps.push(`Cutterhead power: ${(power / 1000).toFixed(0)} MW`);
69
+ // --- Specific Energy ---
70
+ const se = (totalThrust * PR / 1000) / (Math.PI * (D / 2) ** 2 * PR / 1000);
71
+ steps.push(`Specific energy: ${se.toFixed(1)} MJ/m³`);
72
+ return {
73
+ penetrationRate: Math.round(PR * 100) / 100,
74
+ advanceRate: Math.round(dailyAdvance * 10) / 10,
75
+ fieldPenetrationIndex: Math.round(fpi * 100) / 100,
76
+ cutterWearIndex: Math.round(cutterWearIndex * 100) / 100,
77
+ cutterLife: Math.round(cutterLife),
78
+ requiredThrust: Math.round(totalThrust),
79
+ requiredTorque: Math.round(torque),
80
+ cutterheadPower: Math.round(power),
81
+ specificEnergy: Math.round(se * 10) / 10,
82
+ steps,
83
+ };
84
+ }
85
+ // ---------------------------------------------------------------------------
86
+ // TBM Type Selection
87
+ // ---------------------------------------------------------------------------
88
+ export const TBMSelectInputSchema = z.object({
89
+ diameter: z.number().positive().describe('Tunnel diameter (m)'),
90
+ groundType: z.enum(['rock', 'soft_ground', 'mixed', 'squeezing', 'karst']).describe('Predominant ground type'),
91
+ ucs: z.number().nonnegative().optional().describe('Average UCS (MPa)'),
92
+ waterPressure: z.number().nonnegative().default(0).describe('Max groundwater pressure (bar)'),
93
+ overburden: z.number().positive().optional().describe('Max overburden depth (m)'),
94
+ finesContent: z.number().min(0).max(100).optional().describe('% fines in soft ground'),
95
+ permeability: z.number().positive().optional().describe('Ground permeability k (m/s)'),
96
+ stickyClayRisk: z.boolean().default(false).describe('Risk of sticky clay / clogging'),
97
+ boulderRisk: z.boolean().default(false).describe('Risk of boulders in soft ground'),
98
+ gasRisk: z.boolean().default(false).describe('Risk of methane / H2S'),
99
+ minimumCoverDiameterRatio: z.number().positive().optional().describe('Min cover/diameter ratio'),
100
+ });
101
+ export function selectTBMType(input) {
102
+ const v = TBMSelectInputSchema.parse(input);
103
+ const steps = [];
104
+ const keyFactors = [];
105
+ const alternatives = [];
106
+ const operationalNotes = [];
107
+ steps.push(`Ground: ${v.groundType}, D=${v.diameter}m, water=${v.waterPressure} bar`);
108
+ let type;
109
+ let confidence;
110
+ if (v.groundType === 'rock') {
111
+ const ucs = v.ucs ?? 80;
112
+ steps.push(`Rock ground: UCS=${ucs} MPa`);
113
+ if (ucs > 150 && v.waterPressure < 1) {
114
+ type = 'Open';
115
+ confidence = 85;
116
+ keyFactors.push('Hard competent rock with low water inflow');
117
+ keyFactors.push(`High UCS (${ucs} MPa) — self-supporting`);
118
+ alternatives.push('Single Shield if ground conditions vary along alignment');
119
+ }
120
+ else if (v.waterPressure > 3) {
121
+ type = 'Single Shield';
122
+ confidence = 80;
123
+ keyFactors.push(`Significant water pressure (${v.waterPressure} bar)`);
124
+ keyFactors.push('Shield required for sealing with gaskets');
125
+ alternatives.push('Double Shield if mixed stable/unstable zones');
126
+ }
127
+ else {
128
+ type = 'Double Shield';
129
+ confidence = 75;
130
+ keyFactors.push('Variable rock quality expected');
131
+ keyFactors.push('Gripper mode in stable rock, shield mode in fault zones');
132
+ alternatives.push('Open TBM if consistently good rock (RMR > 60)');
133
+ alternatives.push('Single Shield if consistently poor rock');
134
+ }
135
+ }
136
+ else if (v.groundType === 'soft_ground') {
137
+ const fines = v.finesContent ?? 30;
138
+ steps.push(`Soft ground: fines=${fines}%, permeability=${v.permeability ?? 'unknown'}`);
139
+ if (fines > 30 && v.waterPressure < 3 && !v.stickyClayRisk) {
140
+ type = 'EPB';
141
+ confidence = 85;
142
+ keyFactors.push(`High fines content (${fines}%) — natural conditioning possible`);
143
+ keyFactors.push('Moderate water pressure manageable with foam/polymer');
144
+ if (v.stickyClayRisk) {
145
+ operationalNotes.push('Anti-clogging agents required for sticky clay');
146
+ }
147
+ alternatives.push('Slurry if fines decrease or water pressure increases');
148
+ }
149
+ else if (v.waterPressure > 5 || (v.permeability && v.permeability > 1e-4)) {
150
+ type = 'Slurry';
151
+ confidence = 82;
152
+ keyFactors.push(`High water pressure (${v.waterPressure} bar) or permeable ground`);
153
+ keyFactors.push('Slurry provides superior face support in high-permeability soils');
154
+ alternatives.push('EPB with high-pressure foam injection as backup');
155
+ }
156
+ else {
157
+ type = 'EPB';
158
+ confidence = 75;
159
+ keyFactors.push('General soft ground conditions suit EPB');
160
+ alternatives.push('Slurry TBM for better separation in coarse granular soil');
161
+ }
162
+ if (v.boulderRisk) {
163
+ operationalNotes.push('Boulder crusher in cutterhead chamber required');
164
+ operationalNotes.push('Hyperbaric intervention capability recommended');
165
+ confidence -= 5;
166
+ }
167
+ }
168
+ else if (v.groundType === 'mixed') {
169
+ type = 'Convertible';
170
+ confidence = 70;
171
+ keyFactors.push('Mixed face conditions require adaptable machine');
172
+ keyFactors.push('Convertible (Multi-mode) TBM can switch EPB/Open modes');
173
+ alternatives.push('EPB with rock cutters if soft ground dominates');
174
+ alternatives.push('Double Shield if rock dominates');
175
+ operationalNotes.push('Conversion between modes takes 2-5 days');
176
+ }
177
+ else if (v.groundType === 'squeezing') {
178
+ type = 'Double Shield';
179
+ confidence = 72;
180
+ keyFactors.push('Squeezing ground requires rapid advance and immediate support');
181
+ keyFactors.push('Double shield allows segment installation concurrent with boring');
182
+ operationalNotes.push('Oversized shield gap (60-80mm) to accommodate convergence');
183
+ operationalNotes.push('Compressible backfill grouting recommended');
184
+ alternatives.push('Single Shield with over-excavation profile');
185
+ }
186
+ else {
187
+ // karst
188
+ type = 'EPB';
189
+ confidence = 60;
190
+ keyFactors.push('Karst conditions require active face pressure control');
191
+ keyFactors.push('Risk of sudden loss of face pressure in cavities');
192
+ operationalNotes.push('Probe drilling ahead of face mandatory');
193
+ operationalNotes.push('Pre-treatment (grouting) for large cavities');
194
+ operationalNotes.push('Emergency foam injection system required');
195
+ alternatives.push('Slurry TBM for better cavity filling capability');
196
+ }
197
+ if (v.gasRisk) {
198
+ operationalNotes.push('ATEX-rated electrical equipment required (Zone 1)');
199
+ operationalNotes.push('Continuous gas monitoring with automatic shutdown');
200
+ confidence -= 3;
201
+ }
202
+ steps.push(`Recommendation: ${type} TBM (${confidence}% confidence)`);
203
+ return {
204
+ recommendation: `${type} TBM`,
205
+ type,
206
+ confidence,
207
+ keyFactors,
208
+ alternatives,
209
+ operationalNotes,
210
+ steps,
211
+ };
212
+ }
213
+ // ---------------------------------------------------------------------------
214
+ // TBM Cutter Wear Prediction (Gehring model)
215
+ // ---------------------------------------------------------------------------
216
+ export const CutterWearInputSchema = z.object({
217
+ cai: z.number().min(0).max(7).describe('Cerchar Abrasivity Index'),
218
+ ucs: z.number().positive().describe('UCS (MPa)'),
219
+ quartz: z.number().min(0).max(100).optional().describe('Quartz content (%)'),
220
+ cutterDiameter: z.number().positive().optional().describe('Cutter disc diameter (mm)'),
221
+ cutterRingType: z.enum(['constant_section', 'wedge']).optional().describe('Cutter ring type'),
222
+ totalDistance: z.number().positive().describe('Total tunnel length (m)'),
223
+ numberOfCutters: z.number().int().positive().describe('Number of cutters'),
224
+ });
225
+ export function predictCutterWear(input) {
226
+ const v = CutterWearInputSchema.parse(input);
227
+ const steps = [];
228
+ // Abrasivity classification
229
+ let abrasivityClass;
230
+ if (v.cai < 0.5)
231
+ abrasivityClass = 'Not abrasive';
232
+ else if (v.cai < 1.0)
233
+ abrasivityClass = 'Not very abrasive';
234
+ else if (v.cai < 2.0)
235
+ abrasivityClass = 'Slightly abrasive';
236
+ else if (v.cai < 3.0)
237
+ abrasivityClass = 'Medium abrasive';
238
+ else if (v.cai < 4.0)
239
+ abrasivityClass = 'Abrasive';
240
+ else if (v.cai < 5.0)
241
+ abrasivityClass = 'Very abrasive';
242
+ else
243
+ abrasivityClass = 'Extremely abrasive';
244
+ steps.push(`CAI = ${v.cai} → ${abrasivityClass}`);
245
+ const quartz = v.quartz ?? 30;
246
+ const cutterDiameter = v.cutterDiameter ?? 432;
247
+ const cutterRingType = v.cutterRingType ?? 'constant_section';
248
+ steps.push(`UCS = ${v.ucs} MPa, Quartz = ${quartz}%`);
249
+ // Cutter life estimation (meters per cutter)
250
+ const quartzFactor = 1 + (quartz - 30) * 0.01;
251
+ const cutterLife = Math.max(30, (800 / (v.cai * quartzFactor)) * (cutterRingType === 'wedge' ? 0.7 : 1.0));
252
+ steps.push(`Estimated cutter life: ${cutterLife.toFixed(0)} m/cutter`);
253
+ const changesPerCutter = Math.ceil(v.totalDistance / cutterLife);
254
+ const totalChanges = changesPerCutter * v.numberOfCutters;
255
+ steps.push(`Changes per cutter: ${changesPerCutter}, Total changes: ${totalChanges}`);
256
+ // Cost estimate (rough: €500-800 per 17" cutter)
257
+ const costPerCutter = cutterDiameter > 400 ? 700 : 500;
258
+ const costEstimate = totalChanges * costPerCutter;
259
+ steps.push(`Estimated cutter cost: €${costEstimate.toLocaleString()}`);
260
+ return {
261
+ wearRatePerCutter: Math.round(cutterLife),
262
+ totalCutterChanges: totalChanges,
263
+ costEstimate,
264
+ abrasivityClass,
265
+ steps,
266
+ };
267
+ }
268
+ //# sourceMappingURL=tbm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tbm.js","sourceRoot":"","sources":["../../../src/geo/tunnel/tbm.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export * from './llm/index.js';
2
+ export * from './geo/index.js';
3
+ export * from './config/index.js';
4
+ export * from './meta/index.js';
5
+ export * from './ingest/index.js';
6
+ export { queryStandards, listStandards, getStandardById, type StandardProvision, type StandardsQueryResult } from './standards/index.js';
7
+ export { createProject, loadProject, saveProject, listProjects, deleteProject, addSoilProfile, addSimulationResult, addNote, getSimulationHistory, saveNamedDataset, saveDerivedParameter, addAssumption, addArtifact, addAgentSession, setActiveAnalysisContext, setProjectPreference, getProjectAgentContext, type ProjectData, type ProjectMeta, type SoilProfile, type SimulationResult, type ProjectAssumption, type ProjectArtifact, type ProjectDataset, type DerivedParameter, type ProjectAgentSession, type ActiveAnalysisContext, } from './storage/index.js';
8
+ export { runMultiAgentTask, type AgentLog } from './agents/orchestrator.js';
9
+ export { runAgent, AgentConversation, type AgentStep, type AgentSession, type AgentCallback, } from './agents/brain.js';
10
+ export { runSwarm, type SwarmStep, type SwarmSession, type SwarmCallback, } from './agents/swarm.js';
11
+ export { toolRegistry, type ToolDefinition, type ToolResult, } from './agents/tools.js';
12
+ export { analyzeCoreBox, classifyRMRFromImage, classifySoilFromDescription, interpretBoreholeLog, queryGBRDocument, interpretSensorImage, type ParseSafety, type ParseStatus, type CoreBoxAnalysisResult, type HybridRMRResult, type SoilClassificationFromTextResult, type BoreholeInterpretation, type BoreholeLayer, type SensorInterpretation, } from './vision/index.js';
13
+ export { generateReport, type GeneratedReport, type ReportSection } from './report/index.js';
14
+ export { exportGeoJSON, exportBoreholeGeoJSON, exportDXF, exportBoreholeProfileDXF, exportCSV, exportJSON, type GeoJSONFeatureInput, type DXFEntity, } from './export/index.js';
15
+ export { detectSoftware, generatePLAXISScript, generateFLACScript, generateRocscienceScript, type BridgeStatus, type ScriptTemplate, type SoftwareType, } from './bridge/index.js';
16
+ export { InMemoryUsageStore, checkUsageAndAbuse, generateFingerprint, detectSuspiciousActivity, type UsageRecord, type UsageStore, type AbuseCheckResult, } from './llm/middleware/metering.js';
17
+ export { FileUsageStore } from './llm/middleware/persistent-usage.js';
18
+ export { validatePath, validateReadPath, validateWritePath, validateShellCommand, ensureWorkspace, getWorkspaceDir, type SandboxCheck, } from './agents/sandbox.js';
19
+ export { dbQuery, dbInsert, dbUpdate, dbUpsert, dbRpc, dbHealthCheck, getUserById, getUserByKey, getUserByEmail, getUserByStripeCustomer, createUser, updateSubscription, linkStripeCustomer, regenerateKey, generateGeotechKey, deleteUser, resolveEffectiveTier, RedisUsageStore, isIPRateLimitedRedis, redisHealthCheck, type GeotechUser, type CreateUserInput, type SupabaseConfig, } from './db/index.js';
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,33 @@
1
+ // LLM provider layer
2
+ export * from './llm/index.js';
3
+ // Geotechnical computation engines
4
+ export * from './geo/index.js';
5
+ // Configuration
6
+ export * from './config/index.js';
7
+ export * from './meta/index.js';
8
+ // Data ingestion (AGS, CPT)
9
+ export * from './ingest/index.js';
10
+ // Standards database
11
+ export { queryStandards, listStandards, getStandardById } from './standards/index.js';
12
+ // Persistent project storage
13
+ export { createProject, loadProject, saveProject, listProjects, deleteProject, addSoilProfile, addSimulationResult, addNote, getSimulationHistory, saveNamedDataset, saveDerivedParameter, addAssumption, addArtifact, addAgentSession, setActiveAnalysisContext, setProjectPreference, getProjectAgentContext, } from './storage/index.js';
14
+ // AI-powered features — Agentic system
15
+ export { runMultiAgentTask } from './agents/orchestrator.js';
16
+ export { runAgent, AgentConversation, } from './agents/brain.js';
17
+ export { runSwarm, } from './agents/swarm.js';
18
+ export { toolRegistry, } from './agents/tools.js';
19
+ export { analyzeCoreBox, classifyRMRFromImage, classifySoilFromDescription, interpretBoreholeLog, queryGBRDocument, interpretSensorImage, } from './vision/index.js';
20
+ // Report generation
21
+ export { generateReport } from './report/index.js';
22
+ // Export formats
23
+ export { exportGeoJSON, exportBoreholeGeoJSON, exportDXF, exportBoreholeProfileDXF, exportCSV, exportJSON, } from './export/index.js';
24
+ // Software bridges
25
+ export { detectSoftware, generatePLAXISScript, generateFLACScript, generateRocscienceScript, } from './bridge/index.js';
26
+ // Metering & anti-abuse
27
+ export { InMemoryUsageStore, checkUsageAndAbuse, generateFingerprint, detectSuspiciousActivity, } from './llm/middleware/metering.js';
28
+ export { FileUsageStore } from './llm/middleware/persistent-usage.js';
29
+ // Filesystem sandbox
30
+ export { validatePath, validateReadPath, validateWritePath, validateShellCommand, ensureWorkspace, getWorkspaceDir, } from './agents/sandbox.js';
31
+ // Database layer (Supabase + Upstash Redis)
32
+ export { dbQuery, dbInsert, dbUpdate, dbUpsert, dbRpc, dbHealthCheck, getUserById, getUserByKey, getUserByEmail, getUserByStripeCustomer, createUser, updateSubscription, linkStripeCustomer, regenerateKey, generateGeotechKey, deleteUser, resolveEffectiveTier, RedisUsageStore, isIPRateLimitedRedis, redisHealthCheck, } from './db/index.js';
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,cAAc,gBAAgB,CAAC;AAE/B,mCAAmC;AACnC,cAAc,gBAAgB,CAAC;AAE/B,gBAAgB;AAChB,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAEhC,4BAA4B;AAC5B,cAAc,mBAAmB,CAAC;AAElC,qBAAqB;AACrB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAqD,MAAM,sBAAsB,CAAC;AAEzI,6BAA6B;AAC7B,OAAO,EACL,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EACpE,cAAc,EAAE,mBAAmB,EAAE,OAAO,EAAE,oBAAoB,EAClE,gBAAgB,EAAE,oBAAoB,EAAE,aAAa,EAAE,WAAW,EAClE,eAAe,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,sBAAsB,GAIxF,MAAM,oBAAoB,CAAC;AAE5B,uCAAuC;AACvC,OAAO,EAAE,iBAAiB,EAAiB,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EACL,QAAQ,EACR,iBAAiB,GAIlB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,QAAQ,GAIT,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,YAAY,GAGb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,2BAA2B,EAC3B,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,GASrB,MAAM,mBAAmB,CAAC;AAE3B,oBAAoB;AACpB,OAAO,EAAE,cAAc,EAA4C,MAAM,mBAAmB,CAAC;AAE7F,iBAAiB;AACjB,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,SAAS,EACT,wBAAwB,EACxB,SAAS,EACT,UAAU,GAGX,MAAM,mBAAmB,CAAC;AAE3B,mBAAmB;AACnB,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,GAIzB,MAAM,mBAAmB,CAAC;AAE3B,wBAAwB;AACxB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,GAIzB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAEtE,qBAAqB;AACrB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,eAAe,GAEhB,MAAM,qBAAqB,CAAC;AAE7B,4CAA4C;AAC5C,OAAO,EACL,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAC3D,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,uBAAuB,EAClE,UAAU,EAAE,kBAAkB,EAAE,kBAAkB,EAClD,aAAa,EAAE,kBAAkB,EAAE,UAAU,EAAE,oBAAoB,EACnE,eAAe,EAAE,oBAAoB,EAAE,gBAAgB,GAExD,MAAM,eAAe,CAAC"}
@@ -0,0 +1,42 @@
1
+ export interface AGSGroup {
2
+ name: string;
3
+ headings: string[];
4
+ units: string[];
5
+ types: string[];
6
+ data: Record<string, string | number | null>[];
7
+ }
8
+ export interface AGSFile {
9
+ groups: Map<string, AGSGroup>;
10
+ projectInfo: Record<string, string>;
11
+ boreholes: Array<{
12
+ id: string;
13
+ easting: number | null;
14
+ northing: number | null;
15
+ groundLevel: number | null;
16
+ finalDepth: number | null;
17
+ }>;
18
+ samples: Array<{
19
+ boreholeId: string;
20
+ depthTop: number;
21
+ depthBase: number;
22
+ type: string;
23
+ description: string;
24
+ }>;
25
+ sptResults: Array<{
26
+ boreholeId: string;
27
+ depth: number;
28
+ nValue: number;
29
+ n60: number | null;
30
+ }>;
31
+ geology: Array<{
32
+ boreholeId: string;
33
+ depthTop: number;
34
+ depthBase: number;
35
+ legend: string;
36
+ description: string;
37
+ uscs: string;
38
+ }>;
39
+ }
40
+ export declare function parseAGS(filePath: string): AGSFile;
41
+ export declare function parseAGSContent(content: string): AGSFile;
42
+ //# sourceMappingURL=ags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ags.d.ts","sourceRoot":"","sources":["../../src/ingest/ags.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;CAChD;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,SAAS,EAAE,KAAK,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;KAC3B,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,UAAU,EAAE,KAAK,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;KACpB,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;CACJ;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGlD;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CA6GxD"}