geotechcli 0.4.57 → 0.4.59

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.
@@ -1 +1 @@
1
- {"version":3,"file":"fem.d.ts","sourceRoot":"","sources":["../../src/commands/fem.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqKpC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmDzD"}
1
+ {"version":3,"file":"fem.d.ts","sourceRoot":"","sources":["../../src/commands/fem.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyXpC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyNzD"}
@@ -1,12 +1,130 @@
1
- import { mkdirSync, writeFileSync } from 'node:fs';
1
+ import { mkdirSync, readFileSync, writeFileSync } from 'node:fs';
2
2
  import { dirname, resolve } from 'node:path';
3
3
  import { Command } from 'commander';
4
- import { buildExcavationDemoAnalysisCase, buildRaftDemoAnalysisCase, renderFemWebglHtml, runBuiltinElasticExcavationDemo, runBuiltinElasticRaftDemo, validateFemResultManifest, } from '@geotechcli/core';
4
+ import { buildExcavationDemoAnalysisCase, buildLLMConfig, buildRaftDemoAnalysisCase, prepareFemAnalysisCaseDraft, renderFemWebglHtml, runAgent, runBuiltinElasticExcavationDemo, runBuiltinElasticRaftDemo, validateFemResultManifest, } from '@geotechcli/core';
5
5
  import { banner, heading, keyValue, renderJSON, success, warn, } from '../ui/terminal.js';
6
6
  import { openFileInBrowser } from '../ui/browser.js';
7
7
  import { addGlobalFlags, getGlobalFlags } from '../util/flags.js';
8
8
  const DEFAULT_RAFT_HTML = 'geotech-fem-raft-demo.html';
9
9
  const DEFAULT_EXCAVATION_HTML = 'geotech-fem-excavation-demo.html';
10
+ const FEM_AGENT_TOOLS = [
11
+ 'list_fem_capabilities',
12
+ 'prepare_fem_analysis_case',
13
+ 'validate_fem_analysis_case',
14
+ ];
15
+ function normalizeFemObjective(value) {
16
+ const normalized = value.trim().toLowerCase().replaceAll('_', '-');
17
+ switch (normalized) {
18
+ case 'foundation-settlement':
19
+ case 'raft-settlement':
20
+ case 'settlement':
21
+ return 'foundation-settlement';
22
+ case 'excavation-deformation':
23
+ case 'excavation':
24
+ case 'retaining-excavation':
25
+ return 'excavation-deformation';
26
+ case 'shaft-deformation':
27
+ case 'shaft':
28
+ case 'pit-deformation':
29
+ return 'shaft-deformation';
30
+ case 'tunnel-volume-loss-settlement':
31
+ case 'tunnel-settlement':
32
+ case 'volume-loss-settlement':
33
+ return 'tunnel-volume-loss-settlement';
34
+ case 'pile-group-elastic-interaction':
35
+ case 'pile-group':
36
+ case 'pile-interaction':
37
+ return 'pile-group-elastic-interaction';
38
+ default:
39
+ throw new Error(`Unsupported FEM objective: ${value}`);
40
+ }
41
+ }
42
+ function parseNumberOption(value, label) {
43
+ if (value == null || value === '')
44
+ return undefined;
45
+ const parsed = Number(value);
46
+ if (!Number.isFinite(parsed)) {
47
+ throw new Error(`${label} must be a finite number.`);
48
+ }
49
+ return parsed;
50
+ }
51
+ function parseNumberListOption(value, label) {
52
+ if (value == null || value === '')
53
+ return undefined;
54
+ if (Array.isArray(value))
55
+ return value.map((item, index) => parseNumberOption(item, `${label}[${index}]`));
56
+ if (typeof value !== 'string')
57
+ throw new Error(`${label} must be a comma-separated number list.`);
58
+ const parsed = value.split(',').map((item, index) => parseNumberOption(item.trim(), `${label}[${index}]`));
59
+ if (parsed.length === 0 || parsed.some((item) => !Number.isFinite(item))) {
60
+ throw new Error(`${label} must contain at least one finite number.`);
61
+ }
62
+ return parsed;
63
+ }
64
+ function parseFemDraftInput(value) {
65
+ if (value == null || value === '')
66
+ return {};
67
+ if (typeof value !== 'string')
68
+ throw new Error('--input must be a JSON object string or path to a JSON file.');
69
+ const trimmed = value.trim();
70
+ const raw = trimmed.startsWith('{')
71
+ ? trimmed
72
+ : readFileSync(resolve(trimmed), 'utf-8');
73
+ const parsed = JSON.parse(raw);
74
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
75
+ throw new Error('--input must resolve to a JSON object.');
76
+ }
77
+ return parsed;
78
+ }
79
+ function buildFemDraftInput(objective, opts) {
80
+ const parsed = parseFemDraftInput(opts.input);
81
+ const geometry = {
82
+ ...(parsed.geometry ?? {}),
83
+ raftLengthM: parseNumberOption(opts.raftLength, '--raft-length') ?? parsed.geometry?.raftLengthM,
84
+ raftWidthM: parseNumberOption(opts.raftWidth, '--raft-width') ?? parsed.geometry?.raftWidthM,
85
+ raftThicknessM: parseNumberOption(opts.raftThickness, '--raft-thickness') ?? parsed.geometry?.raftThicknessM,
86
+ domainLengthM: parseNumberOption(opts.domainLength, '--domain-length') ?? parsed.geometry?.domainLengthM,
87
+ domainWidthM: parseNumberOption(opts.domainWidth, '--domain-width') ?? parsed.geometry?.domainWidthM,
88
+ domainDepthM: parseNumberOption(opts.domainDepth, '--domain-depth') ?? parsed.geometry?.domainDepthM,
89
+ excavationLengthM: parseNumberOption(opts.excavationLength, '--excavation-length') ?? parsed.geometry?.excavationLengthM,
90
+ excavationWidthM: parseNumberOption(opts.excavationWidth, '--excavation-width') ?? parsed.geometry?.excavationWidthM,
91
+ excavationFinalDepthM: parseNumberOption(opts.excavationDepth, '--excavation-depth') ?? parsed.geometry?.excavationFinalDepthM,
92
+ wallToeDepthM: parseNumberOption(opts.wallToeDepth, '--wall-toe-depth') ?? parsed.geometry?.wallToeDepthM,
93
+ };
94
+ const excavation = {
95
+ ...(parsed.excavation ?? {}),
96
+ stageDepthsM: parseNumberListOption(opts.stageDepths, '--stage-depths') ?? parsed.excavation?.stageDepthsM,
97
+ supportLevelsM: parseNumberListOption(opts.supportLevels, '--support-levels') ?? parsed.excavation?.supportLevelsM,
98
+ wallType: typeof opts.wallType === 'string' ? opts.wallType : parsed.excavation?.wallType,
99
+ };
100
+ const load = {
101
+ ...(parsed.load ?? {}),
102
+ pressureKpa: parseNumberOption(opts.pressure, '--pressure') ?? parsed.load?.pressureKpa,
103
+ };
104
+ const material = {
105
+ ...(parsed.material ?? {}),
106
+ elasticModulusKpa: parseNumberOption(opts.elasticModulus, '--elastic-modulus') ?? parsed.material?.elasticModulusKpa,
107
+ poissonRatio: parseNumberOption(opts.poissonRatio, '--poisson-ratio') ?? parsed.material?.poissonRatio,
108
+ unitWeightKnM3: parseNumberOption(opts.unitWeight, '--unit-weight') ?? parsed.material?.unitWeightKnM3,
109
+ };
110
+ const groundwater = {
111
+ ...(parsed.groundwater ?? {}),
112
+ condition: typeof opts.groundwaterCondition === 'string' ? opts.groundwaterCondition : parsed.groundwater?.condition,
113
+ depthM: parseNumberOption(opts.groundwaterDepth, '--groundwater-depth') ?? parsed.groundwater?.depthM,
114
+ note: typeof opts.groundwaterNote === 'string' ? opts.groundwaterNote : parsed.groundwater?.note,
115
+ };
116
+ return {
117
+ ...parsed,
118
+ objective,
119
+ useDemoDefaults: opts.demoDefaults === true || parsed.useDemoDefaults === true,
120
+ geometry,
121
+ excavation,
122
+ load,
123
+ material,
124
+ groundwater,
125
+ evidenceRefs: Array.isArray(parsed.evidenceRefs) ? parsed.evidenceRefs : [],
126
+ };
127
+ }
10
128
  function writeUtf8File(filePath, content) {
11
129
  const resolved = resolve(filePath);
12
130
  mkdirSync(dirname(resolved), { recursive: true });
@@ -21,6 +139,30 @@ function buildWarnings(manifest) {
21
139
  .map((finding) => finding.message),
22
140
  ];
23
141
  }
142
+ function buildFemAgentTask(task, objective) {
143
+ return [
144
+ 'FEM planning task:',
145
+ task,
146
+ objective ? `Preferred FEM objective hint: ${objective}` : '',
147
+ '',
148
+ 'Use only geotechCLI FEM capability, draft, and validation tools.',
149
+ 'Do not invent FEM displacement, reaction, mesh, stage, or result-envelope values.',
150
+ 'If a deterministic preview is appropriate, recommend the matching geotech fem demo command instead of claiming you ran it.',
151
+ ].filter(Boolean).join('\n');
152
+ }
153
+ function renderFemAgentStep(step, flags) {
154
+ if (flags.json || flags.quiet || !flags.verbose)
155
+ return;
156
+ if (step.type === 'tool_call') {
157
+ console.log(` > ${step.toolName}(${JSON.stringify(step.toolArgs).slice(0, 100)})`);
158
+ }
159
+ else if (step.type === 'tool_result') {
160
+ console.log(` = ${step.content}`);
161
+ }
162
+ else if (step.type === 'error') {
163
+ warn(step.content);
164
+ }
165
+ }
24
166
  function renderPlainSummary(manifest, options) {
25
167
  if (options.quiet) {
26
168
  console.log(`${manifest.envelope.maxSettlementMm.toFixed(2)} mm`);
@@ -59,6 +201,36 @@ function renderPlainSummary(manifest, options) {
59
201
  success(`FEM result manifest saved to ${options.resultPath}`);
60
202
  }
61
203
  }
204
+ function renderFemDraftSummary(draft, options) {
205
+ if (options.quiet) {
206
+ console.log(draft.analysisCase?.caseId ?? draft.recommendedAction);
207
+ return;
208
+ }
209
+ banner();
210
+ heading('FEM Analysis-Case Draft');
211
+ keyValue('Objective', draft.objective);
212
+ keyValue('Route status', draft.capability.status);
213
+ keyValue('Implemented demo', draft.implemented ? 'yes' : 'no');
214
+ keyValue('Recommended action', draft.recommendedAction);
215
+ keyValue('Auto proceed', draft.canAutoProceed ? 'yes' : 'no');
216
+ if (draft.recommendedCommand)
217
+ keyValue('Recommended command', draft.recommendedCommand);
218
+ if (draft.analysisCase) {
219
+ keyValue('Case', draft.analysisCase.caseId);
220
+ keyValue('Validation', draft.validation?.status ?? 'not-run');
221
+ }
222
+ if (draft.missingUserInputs.length > 0) {
223
+ warn(`Missing user inputs: ${draft.missingUserInputs.join(', ')}`);
224
+ }
225
+ for (const gate of draft.reviewGates) {
226
+ warn(`Review gate: ${gate}`);
227
+ }
228
+ warn('Draft only: this command does not run an FEM solver or create WebGL results.');
229
+ if (options.draftPath)
230
+ success(`FEM draft envelope saved to ${options.draftPath}`);
231
+ if (options.casePath)
232
+ success(`FEM analysis case saved to ${options.casePath}`);
233
+ }
62
234
  async function runFemDemoCommand(demoKind, defaultHtmlPath, title, manifest, opts) {
63
235
  const flags = getGlobalFlags(opts);
64
236
  if (!opts.experimental) {
@@ -107,7 +279,7 @@ async function runFemDemoCommand(demoKind, defaultHtmlPath, title, manifest, opt
107
279
  }
108
280
  export function registerFemCommand(program) {
109
281
  const fem = new Command('fem')
110
- .description('Experimental deterministic 3D FEM previews and WebGL artifacts');
282
+ .description('Experimental deterministic 3D FEM previews, scoped FEM agent planning, and WebGL artifacts');
111
283
  const demo = new Command('demo')
112
284
  .description('Experimental FEM demonstration models');
113
285
  const raft = new Command('raft')
@@ -139,6 +311,153 @@ export function registerFemCommand(program) {
139
311
  demo.addCommand(raft);
140
312
  demo.addCommand(excavation);
141
313
  fem.addCommand(demo);
314
+ const draft = new Command('draft')
315
+ .description('Prepare a validated experimental FEM analysis-case draft without running a solver')
316
+ .argument('<objective>', 'FEM objective, such as foundation-settlement or excavation-deformation')
317
+ .option('--input <jsonOrFile>', 'JSON object string or path containing prepare_fem_analysis_case-style inputs')
318
+ .option('--demo-defaults', 'Use built-in demo defaults for implemented demo routes')
319
+ .option('--case-output <file>', 'Write the analysis_case JSON only when the draft has a validated case')
320
+ .option('--raft-length <m>', 'Foundation-settlement raft length in metres')
321
+ .option('--raft-width <m>', 'Foundation-settlement raft width in metres')
322
+ .option('--raft-thickness <m>', 'Foundation-settlement raft thickness in metres')
323
+ .option('--domain-length <m>', 'Model domain length in metres')
324
+ .option('--domain-width <m>', 'Model domain width in metres')
325
+ .option('--domain-depth <m>', 'Model domain depth in metres')
326
+ .option('--excavation-length <m>', 'Excavation length in metres')
327
+ .option('--excavation-width <m>', 'Excavation width in metres')
328
+ .option('--excavation-depth <m>', 'Final excavation depth in metres')
329
+ .option('--wall-toe-depth <m>', 'Retaining wall toe depth in metres')
330
+ .option('--stage-depths <csv>', 'Comma-separated excavation stage depths in metres')
331
+ .option('--support-levels <csv>', 'Comma-separated excavation support levels in metres')
332
+ .option('--wall-type <type>', 'Excavation wall type: diaphragm_wall, secant_pile_wall, soldier_pile_lagging, unsupported_screening')
333
+ .option('--pressure <kPa>', 'Raft pressure or excavation surcharge pressure in kPa')
334
+ .option('--elastic-modulus <kPa>', 'Representative elastic modulus in kPa')
335
+ .option('--poisson-ratio <ratio>', 'Representative Poisson ratio')
336
+ .option('--unit-weight <kN/m3>', 'Representative unit weight in kN/m3')
337
+ .option('--groundwater-condition <condition>', 'Groundwater condition: not_modelled, below_domain, specified')
338
+ .option('--groundwater-depth <m>', 'Groundwater depth in metres when condition is specified')
339
+ .option('--groundwater-note <text>', 'Groundwater review note')
340
+ .addHelpText('after', `
341
+ Examples:
342
+ geotech fem draft foundation-settlement --raft-length 10 --raft-width 8 --pressure 150 --json
343
+ geotech fem draft excavation-deformation --excavation-length 22 --excavation-width 14 --excavation-depth 9 --stage-depths 3,6,9 --support-levels 0,2,5 --json
344
+ geotech fem draft excavation-deformation --input fem-input.json --case-output analysis_case.json
345
+
346
+ This command prepares a review-gated FEM analysis-case draft only. It does not run a solver,
347
+ does not create WebGL results, and never auto-approves FEM output for design use.
348
+ `)
349
+ .action(async (objectiveArg, opts) => {
350
+ const flags = getGlobalFlags(opts);
351
+ const objective = normalizeFemObjective(objectiveArg);
352
+ const draftInput = buildFemDraftInput(objective, opts);
353
+ const femDraft = prepareFemAnalysisCaseDraft(draftInput);
354
+ let casePath;
355
+ if (typeof opts.caseOutput === 'string' && opts.caseOutput.trim()) {
356
+ if (!femDraft.analysisCase) {
357
+ throw new Error('Cannot write --case-output because the FEM draft is missing required inputs and has no analysisCase.');
358
+ }
359
+ casePath = writeUtf8File(opts.caseOutput, JSON.stringify(femDraft.analysisCase, null, 2));
360
+ }
361
+ const warnings = [
362
+ 'FEM draft only; no solver or WebGL artifact was executed.',
363
+ ...femDraft.reviewGates.map((gate) => `Review gate: ${gate}`),
364
+ ];
365
+ let draftPath = typeof flags.output === 'string' && flags.output.trim()
366
+ ? resolve(flags.output)
367
+ : undefined;
368
+ const envelope = {
369
+ kind: 'geotech-fem-draft-result',
370
+ schemaVersion: 'fem-draft-command.v0',
371
+ objective,
372
+ draft: femDraft,
373
+ draftPath,
374
+ casePath,
375
+ warnings,
376
+ };
377
+ if (draftPath) {
378
+ draftPath = writeUtf8File(draftPath, JSON.stringify(envelope, null, 2));
379
+ envelope.draftPath = draftPath;
380
+ }
381
+ if (flags.json) {
382
+ renderJSON(envelope);
383
+ return;
384
+ }
385
+ renderFemDraftSummary(femDraft, {
386
+ draftPath,
387
+ casePath,
388
+ quiet: flags.quiet,
389
+ });
390
+ });
391
+ addGlobalFlags(draft);
392
+ fem.addCommand(draft);
393
+ const agent = new Command('agent')
394
+ .description('Scoped FEM planning agent that can list, draft, and validate FEM cases without running solvers')
395
+ .argument('<task...>', 'FEM planning or review task in natural language')
396
+ .option('--objective <objective>', 'Optional FEM objective hint, such as foundation-settlement or excavation-deformation')
397
+ .addHelpText('after', `
398
+ Examples:
399
+ geotech fem agent "which FEM route fits a braced excavation near an existing building?"
400
+ geotech fem agent "draft a staged excavation FEM case" --objective excavation-deformation --json
401
+
402
+ This command gives the LLM a narrow FEM brain. It may call only list_fem_capabilities,
403
+ prepare_fem_analysis_case, and validate_fem_analysis_case. It does not run FEM solvers,
404
+ write WebGL artifacts, or produce design-ready FEM results.
405
+ `)
406
+ .action(async (taskParts, opts) => {
407
+ const flags = getGlobalFlags(opts);
408
+ const task = taskParts.join(' ');
409
+ const objective = typeof opts.objective === 'string' && opts.objective.trim()
410
+ ? opts.objective.trim()
411
+ : undefined;
412
+ const config = {
413
+ ...buildLLMConfig(),
414
+ skillsEnabled: false,
415
+ };
416
+ const scopedTask = buildFemAgentTask(task, objective);
417
+ const session = await runAgent(scopedTask, config, (step) => renderFemAgentStep(step, flags), undefined, {
418
+ allowedTools: FEM_AGENT_TOOLS,
419
+ systemPromptSuffix: 'FEM scoped-agent rule: use only FEM routing, drafting, and validation tools. Never claim to run a solver or produce FEM numerical results unless they came from a deterministic geotechCLI FEM manifest. Recommend `geotech fem demo ... --experimental` when execution or visualization is needed.',
420
+ });
421
+ const answer = session.steps.find((step) => step.type === 'answer')?.content ?? '';
422
+ if (flags.output && answer) {
423
+ writeUtf8File(flags.output, answer);
424
+ }
425
+ if (flags.json) {
426
+ const envelope = {
427
+ kind: 'geotech-fem-agent-result',
428
+ schemaVersion: 'fem-agent-command.v0',
429
+ task,
430
+ objective,
431
+ answer,
432
+ allowedTools: FEM_AGENT_TOOLS,
433
+ steps: session.steps.map((step) => ({
434
+ type: step.type,
435
+ content: step.content,
436
+ toolName: step.toolName,
437
+ toolArgs: step.toolArgs,
438
+ toolResult: step.toolResult ? {
439
+ success: step.toolResult.success,
440
+ summary: step.toolResult.summary,
441
+ } : undefined,
442
+ })),
443
+ tokens: session.totalTokens,
444
+ latencyMs: session.totalLatencyMs,
445
+ };
446
+ renderJSON(envelope);
447
+ return;
448
+ }
449
+ if (!flags.quiet) {
450
+ banner();
451
+ heading('FEM Agent Plan');
452
+ console.log(answer || 'No FEM agent answer was produced.');
453
+ warn('FEM agent output is route/draft/validation guidance only. Numerical FEM results must come from deterministic geotechCLI FEM manifests.');
454
+ if (flags.output && answer) {
455
+ success(`FEM agent answer saved to ${flags.output}`);
456
+ }
457
+ }
458
+ });
459
+ addGlobalFlags(agent);
460
+ fem.addCommand(agent);
142
461
  program.addCommand(fem);
143
462
  }
144
463
  //# sourceMappingURL=fem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fem.js","sourceRoot":"","sources":["../../src/commands/fem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fem.js","sourceRoot":"","sources":["../../src/commands/fem.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "geotechcli",
3
- "version": "0.4.57",
3
+ "version": "0.4.59",
4
4
  "description": "AI-native CLI for geotechnical engineering",
5
5
  "type": "module",
6
6
  "bin": {
@@ -16,7 +16,7 @@
16
16
  "start": "node dist/index.js"
17
17
  },
18
18
  "dependencies": {
19
- "@geotechcli/core": "0.4.57",
19
+ "@geotechcli/core": "0.4.59",
20
20
  "asciichart": "^1.5.25",
21
21
  "boxen": "^8.0.1",
22
22
  "chalk": "^5.4.0",