@geotechcli/core 0.4.91 → 0.4.93

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/agents/brain.d.ts +2 -0
  2. package/dist/agents/brain.d.ts.map +1 -1
  3. package/dist/agents/brain.js +92 -2
  4. package/dist/agents/brain.js.map +1 -1
  5. package/dist/agents/data-tools.js +1 -6
  6. package/dist/agents/data-tools.js.map +1 -1
  7. package/dist/agents/fem-tools.js +101 -3
  8. package/dist/agents/fem-tools.js.map +1 -1
  9. package/dist/agents/safety.d.ts.map +1 -1
  10. package/dist/agents/safety.js +35 -2
  11. package/dist/agents/safety.js.map +1 -1
  12. package/dist/agents/swarm-planner.js +2 -2
  13. package/dist/agents/swarm-planner.js.map +1 -1
  14. package/dist/agents/swarm.d.ts.map +1 -1
  15. package/dist/agents/swarm.js +3 -0
  16. package/dist/agents/swarm.js.map +1 -1
  17. package/dist/agents/tool-normalization.d.ts.map +1 -1
  18. package/dist/agents/tool-normalization.js +372 -0
  19. package/dist/agents/tool-normalization.js.map +1 -1
  20. package/dist/fem/engineering-evidence.d.ts +236 -0
  21. package/dist/fem/engineering-evidence.d.ts.map +1 -0
  22. package/dist/fem/engineering-evidence.js +583 -0
  23. package/dist/fem/engineering-evidence.js.map +1 -0
  24. package/dist/fem/ground-model-draft.d.ts +12 -0
  25. package/dist/fem/ground-model-draft.d.ts.map +1 -1
  26. package/dist/fem/ground-model-draft.js +60 -0
  27. package/dist/fem/ground-model-draft.js.map +1 -1
  28. package/dist/fem/index.d.ts +4 -1
  29. package/dist/fem/index.d.ts.map +1 -1
  30. package/dist/fem/index.js +4 -1
  31. package/dist/fem/index.js.map +1 -1
  32. package/dist/fem/production-readiness.d.ts +36 -0
  33. package/dist/fem/production-readiness.d.ts.map +1 -0
  34. package/dist/fem/production-readiness.js +181 -0
  35. package/dist/fem/production-readiness.js.map +1 -0
  36. package/dist/fem/routing.js +3 -3
  37. package/dist/fem/routing.js.map +1 -1
  38. package/dist/fem/scenario-validation.d.ts +53 -0
  39. package/dist/fem/scenario-validation.d.ts.map +1 -0
  40. package/dist/fem/scenario-validation.js +125 -0
  41. package/dist/fem/scenario-validation.js.map +1 -0
  42. package/dist/ingest/document-evidence-packet.d.ts +4 -4
  43. package/dist/meta/metadata.json +1 -1
  44. package/dist/workspace/resolve-root.d.ts.map +1 -1
  45. package/dist/workspace/resolve-root.js +26 -18
  46. package/dist/workspace/resolve-root.js.map +1 -1
  47. package/package.json +1 -1
@@ -1,6 +1,87 @@
1
1
  function normalizeToken(value) {
2
2
  return value.toLowerCase().replace(/[^a-z0-9]+/g, ' ').trim();
3
3
  }
4
+ function normalizeKey(value) {
5
+ return value.toLowerCase().replace(/[^a-z0-9]+/g, '');
6
+ }
7
+ function isRecord(value) {
8
+ return !!value && typeof value === 'object' && !Array.isArray(value);
9
+ }
10
+ function compactRecord(value) {
11
+ const entries = Object.entries(value).filter(([, item]) => item !== undefined);
12
+ return entries.length > 0 ? Object.fromEntries(entries) : undefined;
13
+ }
14
+ function recordFromAliases(args, aliases) {
15
+ for (const alias of aliases) {
16
+ const value = args[alias];
17
+ if (isRecord(value))
18
+ return value;
19
+ }
20
+ const keyLookup = new Map(Object.keys(args).map((key) => [normalizeKey(key), key]));
21
+ for (const alias of aliases) {
22
+ const key = keyLookup.get(normalizeKey(alias));
23
+ const value = key ? args[key] : undefined;
24
+ if (isRecord(value))
25
+ return value;
26
+ }
27
+ return {};
28
+ }
29
+ function mergeRecords(primary, fallback) {
30
+ return { ...fallback, ...primary };
31
+ }
32
+ function valueFromAliases(source, aliases) {
33
+ for (const alias of aliases) {
34
+ if (Object.prototype.hasOwnProperty.call(source, alias)) {
35
+ return source[alias];
36
+ }
37
+ }
38
+ const keyLookup = new Map(Object.keys(source).map((key) => [normalizeKey(key), key]));
39
+ for (const alias of aliases) {
40
+ const key = keyLookup.get(normalizeKey(alias));
41
+ if (key)
42
+ return source[key];
43
+ }
44
+ return undefined;
45
+ }
46
+ function toFiniteNumber(value) {
47
+ if (typeof value === 'number' && Number.isFinite(value))
48
+ return value;
49
+ if (typeof value !== 'string')
50
+ return undefined;
51
+ const trimmed = value.trim();
52
+ if (!/^[+-]?(?:\d+\.?\d*|\.\d+)$/.test(trimmed))
53
+ return undefined;
54
+ const parsed = Number(trimmed);
55
+ return Number.isFinite(parsed) ? parsed : undefined;
56
+ }
57
+ function toFiniteNumberArray(value) {
58
+ if (!Array.isArray(value))
59
+ return undefined;
60
+ const values = value
61
+ .map((item) => toFiniteNumber(item))
62
+ .filter((item) => typeof item === 'number');
63
+ return values.length > 0 ? values : undefined;
64
+ }
65
+ function firstFiniteNumber(source, aliases) {
66
+ return toFiniteNumber(valueFromAliases(source, aliases));
67
+ }
68
+ function firstString(source, aliases) {
69
+ const value = valueFromAliases(source, aliases);
70
+ return typeof value === 'string' && value.trim() ? value : undefined;
71
+ }
72
+ function firstBoolean(source, aliases) {
73
+ const value = valueFromAliases(source, aliases);
74
+ if (typeof value === 'boolean')
75
+ return value;
76
+ if (typeof value === 'string') {
77
+ const normalized = normalizeToken(value);
78
+ if (normalized === 'true' || normalized === 'yes')
79
+ return true;
80
+ if (normalized === 'false' || normalized === 'no')
81
+ return false;
82
+ }
83
+ return undefined;
84
+ }
4
85
  function normalizeEnumValue(value, aliases) {
5
86
  if (typeof value !== 'string') {
6
87
  return value;
@@ -75,6 +156,291 @@ const SLOPE_METHOD_ALIASES = {
75
156
  fellenius: 'ordinary',
76
157
  'swedish circle': 'ordinary',
77
158
  };
159
+ const FEM_OBJECTIVE_ALIASES = {
160
+ 'foundation settlement': 'foundation-settlement',
161
+ 'raft settlement': 'foundation-settlement',
162
+ settlement: 'foundation-settlement',
163
+ 'foundation deformation': 'foundation-settlement',
164
+ 'excavation deformation': 'excavation-deformation',
165
+ excavation: 'excavation-deformation',
166
+ 'braced excavation': 'excavation-deformation',
167
+ 'tunnel volume loss settlement': 'tunnel-volume-loss-settlement',
168
+ 'tunnel settlement': 'tunnel-volume-loss-settlement',
169
+ tunnel: 'tunnel-volume-loss-settlement',
170
+ 'shaft deformation': 'shaft-deformation',
171
+ shaft: 'shaft-deformation',
172
+ 'pile group elastic interaction': 'pile-group-elastic-interaction',
173
+ 'pile group': 'pile-group-elastic-interaction',
174
+ 'slope embankment deformation': 'slope-embankment-deformation',
175
+ embankment: 'slope-embankment-deformation',
176
+ 'retaining wall excavation support': 'retaining-wall-excavation-support',
177
+ 'retaining wall': 'retaining-wall-excavation-support',
178
+ 'seepage groundwater coupling': 'seepage-groundwater-coupling',
179
+ seepage: 'seepage-groundwater-coupling',
180
+ 'staged settlement consolidation': 'staged-settlement-consolidation',
181
+ consolidation: 'staged-settlement-consolidation',
182
+ };
183
+ const GROUNDWATER_CONDITION_ALIASES = {
184
+ 'not modelled': 'not_modelled',
185
+ 'not modeled': 'not_modelled',
186
+ 'not included': 'not_modelled',
187
+ dry: 'not_modelled',
188
+ 'below domain': 'below_domain',
189
+ 'below model': 'below_domain',
190
+ 'below zone of influence': 'below_domain',
191
+ specified: 'specified',
192
+ known: 'specified',
193
+ };
194
+ function addNumber(target, key, source, aliases) {
195
+ const value = firstFiniteNumber(source, [key, ...aliases]);
196
+ if (value !== undefined)
197
+ target[key] = value;
198
+ }
199
+ function normalizeFemGeometry(source, objective) {
200
+ const target = {};
201
+ const objectiveText = typeof objective === 'string' ? normalizeToken(objective) : '';
202
+ const geometryKind = normalizeToken([
203
+ firstString(source, ['type', 'kind', 'geometryType']),
204
+ objectiveText,
205
+ ].filter(Boolean).join(' '));
206
+ const isFoundation = /foundation|raft|settlement/.test(geometryKind);
207
+ const isExcavation = /excavation|braced|wall/.test(geometryKind);
208
+ const isTunnel = /tunnel|volume loss/.test(geometryKind);
209
+ addNumber(target, 'raftLengthM', source, ['raftLength', 'raft_length', 'raft_length_m', 'length_m', 'lengthM', 'length', 'L']);
210
+ addNumber(target, 'raftWidthM', source, ['raftWidth', 'raft_width', 'raft_width_m', 'width_m', 'widthM', 'width', 'B']);
211
+ addNumber(target, 'raftThicknessM', source, ['raftThickness', 'raft_thickness', 'raft_thickness_m', 'thickness_m', 'thicknessM', 'thickness']);
212
+ addNumber(target, 'domainLengthM', source, ['domainLength', 'domain_length', 'domain_length_m', 'model_length_m']);
213
+ addNumber(target, 'domainWidthM', source, ['domainWidth', 'domain_width', 'domain_width_m', 'model_width_m']);
214
+ addNumber(target, 'domainDepthM', source, ['domainDepth', 'domain_depth', 'domain_depth_m', 'model_depth_m']);
215
+ addNumber(target, 'excavationLengthM', source, [
216
+ 'excavationLength',
217
+ 'excavation_length',
218
+ 'excavation_length_m',
219
+ ...(isExcavation ? ['length_m', 'lengthM', 'length'] : []),
220
+ ]);
221
+ addNumber(target, 'excavationWidthM', source, [
222
+ 'excavationWidth',
223
+ 'excavation_width',
224
+ 'excavation_width_m',
225
+ ...(isExcavation ? ['width_m', 'widthM', 'width'] : []),
226
+ ]);
227
+ addNumber(target, 'excavationFinalDepthM', source, [
228
+ 'excavationFinalDepth',
229
+ 'excavation_final_depth',
230
+ 'excavation_final_depth_m',
231
+ 'finalDepthM',
232
+ 'final_depth_m',
233
+ ...(isExcavation ? ['depth_m', 'depthM', 'depth'] : []),
234
+ ]);
235
+ addNumber(target, 'wallToeDepthM', source, ['wallToeDepth', 'wall_toe_depth', 'wall_toe_depth_m', 'toe_depth_m']);
236
+ addNumber(target, 'tunnelDiameterM', source, [
237
+ 'tunnelDiameter',
238
+ 'tunnel_diameter',
239
+ 'tunnel_diameter_m',
240
+ ...(isTunnel ? ['diameter_m', 'diameterM', 'diameter'] : []),
241
+ ]);
242
+ addNumber(target, 'tunnelAxisDepthM', source, [
243
+ 'tunnelAxisDepth',
244
+ 'tunnel_axis_depth',
245
+ 'tunnel_axis_depth_m',
246
+ 'axisDepthM',
247
+ 'axis_depth_m',
248
+ ...(isTunnel ? ['depth_m', 'depthM', 'depth'] : []),
249
+ ]);
250
+ addNumber(target, 'tunnelLengthM', source, [
251
+ 'tunnelLength',
252
+ 'tunnel_length',
253
+ 'tunnel_length_m',
254
+ ...(isTunnel ? ['length_m', 'lengthM', 'length'] : []),
255
+ ]);
256
+ addNumber(target, 'tunnelCenterXM', source, ['tunnelCenterX', 'tunnel_center_x', 'tunnel_center_x_m', 'center_x_m', 'centerXM']);
257
+ addNumber(target, 'tunnelCenterYM', source, ['tunnelCenterY', 'tunnel_center_y', 'tunnel_center_y_m', 'center_y_m', 'centerYM']);
258
+ addNumber(target, 'tunnelVolumeLossPercent', source, ['tunnelVolumeLoss', 'tunnel_volume_loss', 'tunnel_volume_loss_percent', 'volumeLossPercent', 'volume_loss_percent']);
259
+ addNumber(target, 'troughWidthParameterK', source, ['troughWidthK', 'trough_width_k', 'trough_width_parameter_k', 'troughWidthParameter', 'k']);
260
+ if (!isFoundation) {
261
+ delete target.raftLengthM;
262
+ delete target.raftWidthM;
263
+ delete target.raftThicknessM;
264
+ }
265
+ if (!isExcavation) {
266
+ delete target.excavationLengthM;
267
+ delete target.excavationWidthM;
268
+ delete target.excavationFinalDepthM;
269
+ }
270
+ if (!isTunnel) {
271
+ delete target.tunnelDiameterM;
272
+ delete target.tunnelAxisDepthM;
273
+ delete target.tunnelLengthM;
274
+ }
275
+ return compactRecord(target);
276
+ }
277
+ function normalizeFemExcavation(source) {
278
+ return compactRecord({
279
+ stageDepthsM: toFiniteNumberArray(valueFromAliases(source, ['stageDepthsM', 'stageDepths', 'stage_depths_m', 'stage_depths', 'stages'])),
280
+ supportLevelsM: toFiniteNumberArray(valueFromAliases(source, ['supportLevelsM', 'supportLevels', 'support_levels_m', 'support_levels'])),
281
+ wallType: normalizeEnumValue(valueFromAliases(source, ['wallType', 'wall_type']), {
282
+ 'diaphragm wall': 'diaphragm_wall',
283
+ diaphragm: 'diaphragm_wall',
284
+ 'secant pile wall': 'secant_pile_wall',
285
+ secant: 'secant_pile_wall',
286
+ 'soldier pile lagging': 'soldier_pile_lagging',
287
+ 'soldier pile': 'soldier_pile_lagging',
288
+ unsupported: 'unsupported_screening',
289
+ 'unsupported screening': 'unsupported_screening',
290
+ }),
291
+ });
292
+ }
293
+ function normalizeFemLoad(source) {
294
+ return compactRecord({
295
+ pressureKpa: firstFiniteNumber(source, [
296
+ 'pressureKpa',
297
+ 'pressureKPa',
298
+ 'pressure',
299
+ 'pressure_kpa',
300
+ 'servicePressure',
301
+ 'service_pressure',
302
+ 'servicePressureKPa',
303
+ 'bearingPressureKpa',
304
+ 'bearingPressureKPa',
305
+ 'bearing_pressure_kpa',
306
+ 'bearing_pressure_kPa',
307
+ 'raftPressureKpa',
308
+ 'servicePressureKpa',
309
+ 'service_pressure_kpa',
310
+ 'surchargeKpa',
311
+ 'surcharge_kpa',
312
+ ]),
313
+ });
314
+ }
315
+ function normalizeFemMaterial(source) {
316
+ return compactRecord({
317
+ elasticModulusKpa: firstFiniteNumber(source, [
318
+ 'elasticModulusKpa',
319
+ 'elasticModulusKPa',
320
+ 'elasticModulus',
321
+ 'elastic_modulus_kpa',
322
+ 'elastic_modulus',
323
+ 'soilElasticModulusKpa',
324
+ 'soilElasticModulusKPa',
325
+ 'soil_elastic_modulus_kpa',
326
+ 'soil_elastic_modulus_kPa',
327
+ 'soil_elastic_modulus',
328
+ 'youngsModulusKpa',
329
+ 'youngsModulus',
330
+ 'youngs_modulus_kpa',
331
+ 'youngs_modulus',
332
+ 'youngModulusKpa',
333
+ 'youngModulus',
334
+ 'young_modulus_kpa',
335
+ 'young_modulus',
336
+ 'modulusKpa',
337
+ 'modulus',
338
+ 'modulus_kpa',
339
+ 'E_kPa',
340
+ 'E_kpa',
341
+ 'E',
342
+ 'e',
343
+ ]),
344
+ poissonRatio: firstFiniteNumber(source, [
345
+ 'poissonRatio',
346
+ 'poisson_ratio',
347
+ 'poissonsRatio',
348
+ 'poissons_ratio',
349
+ 'soilPoissonRatio',
350
+ 'soil_poisson_ratio',
351
+ 'soilPoissonsRatio',
352
+ 'soil_poissons_ratio',
353
+ 'poisson',
354
+ 'nu',
355
+ 'v',
356
+ ]),
357
+ unitWeightKnM3: firstFiniteNumber(source, [
358
+ 'unitWeightKnM3',
359
+ 'unit_weight_kn_m3',
360
+ 'unitWeight',
361
+ 'unit_weight',
362
+ 'gamma',
363
+ 'gammaKnM3',
364
+ 'gamma_kn_m3',
365
+ ]),
366
+ });
367
+ }
368
+ function normalizeFemGroundwater(source) {
369
+ const rawCondition = valueFromAliases(source, ['condition', 'groundwaterCondition', 'groundwater_condition']);
370
+ const condition = normalizeEnumValue(rawCondition, GROUNDWATER_CONDITION_ALIASES);
371
+ return compactRecord({
372
+ condition: condition === 'not_modelled' || condition === 'below_domain' || condition === 'specified'
373
+ ? condition
374
+ : undefined,
375
+ depthM: firstFiniteNumber(source, ['depthM', 'depth_m', 'groundwaterDepthM', 'groundwater_depth_m', 'waterTableDepthM', 'water_table_depth_m', 'assumedDepthM', 'assumed_depth_m']),
376
+ note: firstString(source, ['note', 'assumption', 'description']),
377
+ });
378
+ }
379
+ function normalizePrepareFemAnalysisCaseArgs(args) {
380
+ const inputs = recordFromAliases(args, ['inputs', 'input']);
381
+ const objective = normalizeEnumValue(args.objective ?? inputs.objective, FEM_OBJECTIVE_ALIASES);
382
+ const inputGeometry = mergeRecords(recordFromAliases(inputs, ['geometry']), mergeRecords(recordFromAliases(inputs, ['plan_dimensions', 'planDimensions', 'dimensions']), recordFromAliases(inputs, ['raft_dimensions_m', 'raftDimensionsM', 'raft_dimensions', 'raftDimensions'])));
383
+ const geometry = normalizeFemGeometry(mergeRecords(recordFromAliases(args, ['geometry']), mergeRecords(recordFromAliases(args, ['raft_dimensions_m', 'raftDimensionsM', 'raft_dimensions', 'raftDimensions']), mergeRecords(inputGeometry, mergeRecords(inputs, args)))), objective);
384
+ const load = normalizeFemLoad(mergeRecords(recordFromAliases(args, ['load']), mergeRecords(recordFromAliases(args, ['loading', 'loads']), mergeRecords(recordFromAliases(inputs, ['load']), mergeRecords(recordFromAliases(inputs, ['loading', 'loads']), mergeRecords(inputs, args))))));
385
+ const material = normalizeFemMaterial(mergeRecords(recordFromAliases(args, ['material']), mergeRecords(recordFromAliases(args, ['materials', 'soil']), mergeRecords(recordFromAliases(inputs, ['material']), mergeRecords(recordFromAliases(inputs, ['materials', 'soil']), mergeRecords(inputs, args))))));
386
+ const excavation = normalizeFemExcavation(mergeRecords(recordFromAliases(args, ['excavation']), mergeRecords(recordFromAliases(inputs, ['excavation']), mergeRecords(inputs, args))));
387
+ const groundwater = normalizeFemGroundwater(mergeRecords(recordFromAliases(args, ['groundwater']), mergeRecords(recordFromAliases(args, ['ground_water', 'waterTable', 'water_table']), mergeRecords(recordFromAliases(inputs, ['groundwater']), mergeRecords(recordFromAliases(inputs, ['ground_water', 'waterTable', 'water_table']), mergeRecords(inputs, args))))));
388
+ const evidenceRefs = Array.isArray(args.evidenceRefs)
389
+ ? args.evidenceRefs
390
+ : Array.isArray(args.evidence_refs)
391
+ ? args.evidence_refs
392
+ : Array.isArray(inputs.evidenceRefs)
393
+ ? inputs.evidenceRefs
394
+ : Array.isArray(inputs.evidence_refs)
395
+ ? inputs.evidence_refs
396
+ : undefined;
397
+ const normalized = {
398
+ objective,
399
+ useDemoDefaults: firstBoolean(mergeRecords(args, inputs), ['useDemoDefaults', 'use_demo_defaults', 'demoDefaults', 'demo_defaults', 'demo']),
400
+ geometry,
401
+ load,
402
+ material,
403
+ excavation,
404
+ groundwater,
405
+ evidenceRefs,
406
+ };
407
+ return {
408
+ ...args,
409
+ ...compactRecord(normalized),
410
+ };
411
+ }
412
+ function normalizeStringList(value) {
413
+ if (Array.isArray(value)) {
414
+ const items = value
415
+ .map((item) => (typeof item === 'string' ? item.trim() : ''))
416
+ .filter(Boolean);
417
+ return items.length > 0 ? items : undefined;
418
+ }
419
+ if (typeof value === 'string') {
420
+ const items = value
421
+ .split(/[,;]/)
422
+ .map((item) => item.trim())
423
+ .filter(Boolean);
424
+ return items.length > 0 ? items : undefined;
425
+ }
426
+ return undefined;
427
+ }
428
+ function normalizeAssessFemProductionReadinessArgs(args) {
429
+ const objective = normalizeEnumValue(valueFromAliases(args, ['objective', 'femObjectiveHint', 'fem_objective_hint', 'objectiveHint', 'route', 'routeObjective']), FEM_OBJECTIVE_ALIASES);
430
+ const requestedFeatures = normalizeStringList(valueFromAliases(args, [
431
+ 'requestedFeatures',
432
+ 'requested_features',
433
+ 'features',
434
+ 'capabilities',
435
+ 'requestedCapabilities',
436
+ 'requested_capabilities',
437
+ ]));
438
+ return {
439
+ ...args,
440
+ ...(objective ? { objective } : {}),
441
+ ...(requestedFeatures ? { requestedFeatures } : {}),
442
+ };
443
+ }
78
444
  export function normalizeToolArgs(toolName, args) {
79
445
  switch (toolName) {
80
446
  case 'select_tbm_type':
@@ -85,6 +451,12 @@ export function normalizeToolArgs(toolName, args) {
85
451
  return applyAliases(args, 'pressureState', PRESSURE_STATE_ALIASES);
86
452
  case 'calculate_slope_stability':
87
453
  return applyAliases(args, 'method', SLOPE_METHOD_ALIASES);
454
+ case 'list_fem_capabilities':
455
+ return applyAliases(args, 'objective', FEM_OBJECTIVE_ALIASES);
456
+ case 'assess_fem_production_readiness':
457
+ return normalizeAssessFemProductionReadinessArgs(args);
458
+ case 'prepare_fem_analysis_case':
459
+ return normalizePrepareFemAnalysisCaseArgs(args);
88
460
  default:
89
461
  return args;
90
462
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tool-normalization.js","sourceRoot":"","sources":["../../src/agents/tool-normalization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-normalization.js","sourceRoot":"","sources":["../../src/agents/tool-normalization.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,236 @@
1
+ export type FemEngineeringKernelFeature = 'nonlinear-plasticity' | 'consolidation' | 'seepage-pore-pressure-coupling' | 'support-design' | 'solver-convergence-and-tolerance' | 'licensed-engineer-review-workflow';
2
+ export interface FemConvergencePolicy {
3
+ schemaVersion: 'fem-convergence-policy.v1';
4
+ residualTolerance: number;
5
+ forceBalanceTolerance: number;
6
+ porePressureMassBalanceTolerance: number;
7
+ maxIterations: number;
8
+ minAcceptedSteps: number;
9
+ }
10
+ export declare const DEFAULT_FEM_CONVERGENCE_POLICY: FemConvergencePolicy;
11
+ export interface FemToleranceCheck {
12
+ quantity: string;
13
+ actual: number;
14
+ expected: number;
15
+ absoluteTolerance: number;
16
+ relativeTolerance?: number;
17
+ unit?: string;
18
+ error: number;
19
+ relativeError: number;
20
+ accepted: boolean;
21
+ }
22
+ export interface FemMohrCoulombMaterialPointInput {
23
+ confiningEffectiveStressKpa: number;
24
+ axialStrain: number;
25
+ elasticModulusKpa: number;
26
+ poissonRatio: number;
27
+ frictionAngleDeg: number;
28
+ cohesionKpa: number;
29
+ dilationAngleDeg?: number;
30
+ increments?: number;
31
+ policy?: FemConvergencePolicy;
32
+ }
33
+ export interface FemMohrCoulombStressStep {
34
+ step: number;
35
+ axialStrain: number;
36
+ majorEffectiveStressKpa: number;
37
+ minorEffectiveStressKpa: number;
38
+ deviatorStressKpa: number;
39
+ yieldDeviatorStressKpa: number;
40
+ plasticAxialStrain: number;
41
+ mobilizedStrengthRatio: number;
42
+ yieldResidualRatio: number;
43
+ state: 'elastic' | 'plastic';
44
+ }
45
+ export interface FemMohrCoulombMaterialPointResult {
46
+ schemaVersion: 'fem-mohr-coulomb-material-point.v1';
47
+ signConvention: 'compression-positive';
48
+ model: 'mohr-coulomb-elastic-perfectly-plastic-triaxial-compression';
49
+ converged: boolean;
50
+ failureAxialStrain: number;
51
+ peakDeviatorStressKpa: number;
52
+ finalStep: FemMohrCoulombStressStep;
53
+ stressPath: FemMohrCoulombStressStep[];
54
+ policy: FemConvergencePolicy;
55
+ }
56
+ export interface FemConsolidationTimeStepperInput {
57
+ layerThicknessM: number;
58
+ drainage: 'single' | 'double';
59
+ coefficientOfConsolidationM2PerYear: number;
60
+ initialExcessPorePressureKpa: number;
61
+ primarySettlementMm: number;
62
+ timeStepsYears: number[];
63
+ nodeCount?: number;
64
+ policy?: FemConvergencePolicy;
65
+ }
66
+ export interface FemConsolidationStep {
67
+ timeYears: number;
68
+ timeFactor: number;
69
+ averageExcessPorePressureKpa: number;
70
+ degreeOfConsolidation: number;
71
+ referenceDegreeOfConsolidation: number;
72
+ settlementMm: number;
73
+ referenceError: number;
74
+ }
75
+ export interface FemConsolidationTimeStepperResult {
76
+ schemaVersion: 'fem-consolidation-time-stepper.v1';
77
+ method: 'backward-euler-1d-terzaghi';
78
+ drainagePathM: number;
79
+ nodeCount: number;
80
+ converged: boolean;
81
+ maxReferenceError: number;
82
+ finalStep: FemConsolidationStep;
83
+ steps: FemConsolidationStep[];
84
+ policy: FemConvergencePolicy;
85
+ }
86
+ export interface FemSeepage1DInput {
87
+ hydraulicConductivityMPerS: number;
88
+ domainLengthM: number;
89
+ upstreamHeadM: number;
90
+ downstreamHeadM: number;
91
+ nodeCount?: number;
92
+ transient?: {
93
+ specificStorage1PerM: number;
94
+ durationSeconds: number;
95
+ timeSteps: number;
96
+ initialHeadM?: number;
97
+ };
98
+ policy?: FemConvergencePolicy;
99
+ }
100
+ export interface FemSeepageNode {
101
+ xM: number;
102
+ headM: number;
103
+ porePressureKpa: number;
104
+ }
105
+ export interface FemSeepageTransientStep {
106
+ timeSeconds: number;
107
+ maxHeadErrorToSteadyM: number;
108
+ headsM: number[];
109
+ }
110
+ export interface FemSeepage1DResult {
111
+ schemaVersion: 'fem-seepage-1d.v1';
112
+ method: 'darcy-finite-difference-1d';
113
+ steadyFlowM3PerSPerM: number;
114
+ hydraulicGradient: number;
115
+ massBalanceErrorRatio: number;
116
+ converged: boolean;
117
+ nodes: FemSeepageNode[];
118
+ transientSteps: FemSeepageTransientStep[];
119
+ policy: FemConvergencePolicy;
120
+ }
121
+ export interface FemHydroMechanicalCouplingInput {
122
+ totalVerticalStressKpa: number;
123
+ porePressureBeforeKpa: number;
124
+ porePressureAfterKpa: number;
125
+ constrainedModulusKpa: number;
126
+ layerThicknessM: number;
127
+ policy?: FemConvergencePolicy;
128
+ }
129
+ export interface FemHydroMechanicalCouplingResult {
130
+ schemaVersion: 'fem-hydro-mechanical-coupling.v1';
131
+ method: 'effective-stress-1d-coupling';
132
+ effectiveStressBeforeKpa: number;
133
+ effectiveStressAfterKpa: number;
134
+ effectiveStressIncreaseKpa: number;
135
+ settlementMm: number;
136
+ stableEffectiveStress: boolean;
137
+ converged: boolean;
138
+ policy: FemConvergencePolicy;
139
+ }
140
+ export interface FemExcavationSupportDesignCheckInput {
141
+ excavationDepthM: number;
142
+ wallToeDepthM: number;
143
+ unitWeightKnM3: number;
144
+ frictionAngleDeg: number;
145
+ cohesionKpa: number;
146
+ surchargeKpa?: number;
147
+ waterTableDepthM?: number;
148
+ supportLevelsM: number[];
149
+ allowableSupportLoadKnPerM: number;
150
+ requiredPassiveSafetyFactor?: number;
151
+ requiredBasalHeaveSafetyFactor?: number;
152
+ policy?: FemConvergencePolicy;
153
+ }
154
+ export interface FemDesignCheck {
155
+ id: string;
156
+ actual: number;
157
+ required: number;
158
+ unit?: string;
159
+ status: 'accepted' | 'blocked';
160
+ }
161
+ export interface FemExcavationSupportDesignCheckResult {
162
+ schemaVersion: 'fem-excavation-support-design-check.v1';
163
+ method: 'rankine-earth-pressure-support-screening';
164
+ activeEarthPressureKnPerM: number;
165
+ passiveToeResistanceKnPerM: number;
166
+ supportDemandKnPerM: number;
167
+ supportCapacitySafetyFactor: number;
168
+ passiveSafetyFactor: number;
169
+ basalHeaveSafetyFactor: number;
170
+ checks: FemDesignCheck[];
171
+ status: 'accepted' | 'blocked';
172
+ policy: FemConvergencePolicy;
173
+ }
174
+ export interface FemReviewerApprovalRecord {
175
+ schemaVersion: 'fem-reviewer-approval.v1';
176
+ recordId: string;
177
+ caseId: string;
178
+ caseHashSha256: string;
179
+ validationSummary: {
180
+ status: 'ready' | 'review' | 'blocked';
181
+ blockers: number;
182
+ reviewItems: number;
183
+ findingCodes: string[];
184
+ };
185
+ reviewer: {
186
+ name: string;
187
+ licenseId: string;
188
+ jurisdiction: string;
189
+ };
190
+ approvedAt: string;
191
+ scope: 'experimental-preview' | 'production-design';
192
+ assumptions: string[];
193
+ limitations: string[];
194
+ approvalStatement: string;
195
+ }
196
+ export interface FemReviewerApprovalValidation {
197
+ schemaVersion: 'fem-reviewer-approval-validation.v1';
198
+ status: 'accepted' | 'blocked';
199
+ blockerCodes: string[];
200
+ warnings: string[];
201
+ }
202
+ export interface FemEngineeringBenchmarkCase {
203
+ id: string;
204
+ feature: FemEngineeringKernelFeature;
205
+ referenceType: 'closed-form' | 'internal-balance' | 'review-record-contract';
206
+ quantity: string;
207
+ actual: number;
208
+ expected: number;
209
+ tolerance: number;
210
+ unit?: string;
211
+ status: 'accepted' | 'blocked';
212
+ evidence: string;
213
+ }
214
+ export interface FemEngineeringEvidenceReport {
215
+ schemaVersion: 'fem-engineering-evidence.v1';
216
+ status: 'kernel-verified' | 'blocked';
217
+ productionReady: false;
218
+ verifiedFeatures: FemEngineeringKernelFeature[];
219
+ benchmarks: FemEngineeringBenchmarkCase[];
220
+ convergencePolicy: FemConvergencePolicy;
221
+ remainingProductionBlockers: string[];
222
+ releasePositioning: string;
223
+ }
224
+ export declare function evaluateFemTolerance(quantity: string, actual: number, expected: number, absoluteTolerance: number, options?: {
225
+ relativeTolerance?: number;
226
+ unit?: string;
227
+ }): FemToleranceCheck;
228
+ export declare function runMohrCoulombMaterialPoint(input: FemMohrCoulombMaterialPointInput): FemMohrCoulombMaterialPointResult;
229
+ export declare function terzaghiAverageConsolidation(timeFactor: number, terms?: number): number;
230
+ export declare function runTerzaghiConsolidationTimeStepper(input: FemConsolidationTimeStepperInput): FemConsolidationTimeStepperResult;
231
+ export declare function runDarcySeepage1D(input: FemSeepage1DInput): FemSeepage1DResult;
232
+ export declare function runHydroMechanicalCoupling1D(input: FemHydroMechanicalCouplingInput): FemHydroMechanicalCouplingResult;
233
+ export declare function runExcavationSupportDesignCheck(input: FemExcavationSupportDesignCheckInput): FemExcavationSupportDesignCheckResult;
234
+ export declare function validateFemReviewerApprovalRecord(record: Partial<FemReviewerApprovalRecord>): FemReviewerApprovalValidation;
235
+ export declare function runFemEngineeringEvidenceSuite(policy?: FemConvergencePolicy): FemEngineeringEvidenceReport;
236
+ //# sourceMappingURL=engineering-evidence.d.ts.map