geotechcli 0.4.58 → 0.4.60
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.
- package/dist/commands/fem.d.ts.map +1 -1
- package/dist/commands/fem.js +318 -5
- package/dist/commands/fem.js.map +1 -1
- package/package.json +2 -2
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"fem.d.ts","sourceRoot":"","sources":["../../src/commands/fem.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0dpC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6OzD"}
|
package/dist/commands/fem.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
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, buildLLMConfig, buildRaftDemoAnalysisCase, renderFemWebglHtml, runAgent, runBuiltinElasticExcavationDemo, runBuiltinElasticRaftDemo, validateFemResultManifest, } from '@geotechcli/core';
|
|
4
|
+
import { analyzeWorkspace, buildFemDraftInputFromReadiness, 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';
|
|
@@ -12,6 +12,192 @@ const FEM_AGENT_TOOLS = [
|
|
|
12
12
|
'prepare_fem_analysis_case',
|
|
13
13
|
'validate_fem_analysis_case',
|
|
14
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 mergeFemDraftInputs(base, override) {
|
|
80
|
+
return {
|
|
81
|
+
...base,
|
|
82
|
+
...override,
|
|
83
|
+
geometry: {
|
|
84
|
+
...(base.geometry ?? {}),
|
|
85
|
+
...(override.geometry ?? {}),
|
|
86
|
+
},
|
|
87
|
+
excavation: {
|
|
88
|
+
...(base.excavation ?? {}),
|
|
89
|
+
...(override.excavation ?? {}),
|
|
90
|
+
},
|
|
91
|
+
load: {
|
|
92
|
+
...(base.load ?? {}),
|
|
93
|
+
...(override.load ?? {}),
|
|
94
|
+
},
|
|
95
|
+
material: {
|
|
96
|
+
...(base.material ?? {}),
|
|
97
|
+
...(override.material ?? {}),
|
|
98
|
+
},
|
|
99
|
+
groundwater: {
|
|
100
|
+
...(base.groundwater ?? {}),
|
|
101
|
+
...(override.groundwater ?? {}),
|
|
102
|
+
},
|
|
103
|
+
evidenceRefs: override.evidenceRefs ?? base.evidenceRefs ?? [],
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
function workflowForFemObjective(objective) {
|
|
107
|
+
if (objective === 'foundation-settlement')
|
|
108
|
+
return 'fem-foundation-settlement';
|
|
109
|
+
if (objective === 'excavation-deformation')
|
|
110
|
+
return 'fem-excavation-deformation';
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
async function loadFemWorkspaceBridge(objective, workspace) {
|
|
114
|
+
if (typeof workspace !== 'string' || !workspace.trim())
|
|
115
|
+
return undefined;
|
|
116
|
+
const workflowName = workflowForFemObjective(objective);
|
|
117
|
+
if (!workflowName) {
|
|
118
|
+
throw new Error(`--workspace FEM prefill is only available for implemented routes: foundation-settlement and excavation-deformation.`);
|
|
119
|
+
}
|
|
120
|
+
const manifest = await analyzeWorkspace(workspace, { includeCalculationInputDrafts: true });
|
|
121
|
+
if (!manifest.groundModel || !manifest.verifier) {
|
|
122
|
+
throw new Error(`Workspace did not produce GroundModel readiness for FEM drafting: ${workspace}`);
|
|
123
|
+
}
|
|
124
|
+
const workflow = manifest.verifier.calculationReadiness.workflows.find((item) => item.workflow === workflowName);
|
|
125
|
+
if (!workflow) {
|
|
126
|
+
throw new Error(`Workspace readiness did not include ${workflowName}.`);
|
|
127
|
+
}
|
|
128
|
+
return {
|
|
129
|
+
manifest,
|
|
130
|
+
bridge: buildFemDraftInputFromReadiness(workflow, manifest.groundModel),
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
function summarizeFemWorkspaceForAgent(manifest, bridge) {
|
|
134
|
+
const femWorkflows = manifest.verifier?.calculationReadiness.workflows
|
|
135
|
+
.filter((workflow) => workflow.workflow === 'fem-foundation-settlement' || workflow.workflow === 'fem-excavation-deformation')
|
|
136
|
+
?? [];
|
|
137
|
+
const workflowLines = femWorkflows.map((workflow) => [
|
|
138
|
+
`- ${workflow.workflow}: ${workflow.status} (${workflow.score}/100)`,
|
|
139
|
+
` missing: ${workflow.missing.join(', ') || 'none'}`,
|
|
140
|
+
` draft inputs: ${workflow.inputDraft?.missingUserInputs.join(', ') || 'none'}`,
|
|
141
|
+
` evidence: ${workflow.evidenceIds.join(', ') || 'none'}`,
|
|
142
|
+
].join('\n'));
|
|
143
|
+
return [
|
|
144
|
+
'FEM workspace evidence context:',
|
|
145
|
+
`Root: ${manifest.rootPath}`,
|
|
146
|
+
manifest.groundModel ? `GroundModel: ${manifest.groundModel.stats.boreholes} boreholes, ${manifest.groundModel.stats.strata} strata, ${manifest.groundModel.stats.parameters} parameters, ${manifest.groundModel.stats.evidenceRefs} evidence refs` : 'GroundModel: unavailable',
|
|
147
|
+
workflowLines.length > 0 ? `FEM readiness:\n${workflowLines.join('\n')}` : 'FEM readiness: unavailable',
|
|
148
|
+
bridge ? `Prepared deterministic FEM draft prefill:\n${bridge.summary}\nInput JSON: ${JSON.stringify(bridge.input)}` : '',
|
|
149
|
+
'Rule: workspace evidence may prefill material, groundwater, and evidenceRefs only. Geometry, load, staging, mesh intent, and design approval require explicit user confirmation.',
|
|
150
|
+
].filter(Boolean).join('\n\n');
|
|
151
|
+
}
|
|
152
|
+
function buildFemDraftInput(objective, opts, baseInput = {}) {
|
|
153
|
+
const parsed = mergeFemDraftInputs(baseInput, parseFemDraftInput(opts.input));
|
|
154
|
+
const geometry = {
|
|
155
|
+
...(parsed.geometry ?? {}),
|
|
156
|
+
raftLengthM: parseNumberOption(opts.raftLength, '--raft-length') ?? parsed.geometry?.raftLengthM,
|
|
157
|
+
raftWidthM: parseNumberOption(opts.raftWidth, '--raft-width') ?? parsed.geometry?.raftWidthM,
|
|
158
|
+
raftThicknessM: parseNumberOption(opts.raftThickness, '--raft-thickness') ?? parsed.geometry?.raftThicknessM,
|
|
159
|
+
domainLengthM: parseNumberOption(opts.domainLength, '--domain-length') ?? parsed.geometry?.domainLengthM,
|
|
160
|
+
domainWidthM: parseNumberOption(opts.domainWidth, '--domain-width') ?? parsed.geometry?.domainWidthM,
|
|
161
|
+
domainDepthM: parseNumberOption(opts.domainDepth, '--domain-depth') ?? parsed.geometry?.domainDepthM,
|
|
162
|
+
excavationLengthM: parseNumberOption(opts.excavationLength, '--excavation-length') ?? parsed.geometry?.excavationLengthM,
|
|
163
|
+
excavationWidthM: parseNumberOption(opts.excavationWidth, '--excavation-width') ?? parsed.geometry?.excavationWidthM,
|
|
164
|
+
excavationFinalDepthM: parseNumberOption(opts.excavationDepth, '--excavation-depth') ?? parsed.geometry?.excavationFinalDepthM,
|
|
165
|
+
wallToeDepthM: parseNumberOption(opts.wallToeDepth, '--wall-toe-depth') ?? parsed.geometry?.wallToeDepthM,
|
|
166
|
+
};
|
|
167
|
+
const excavation = {
|
|
168
|
+
...(parsed.excavation ?? {}),
|
|
169
|
+
stageDepthsM: parseNumberListOption(opts.stageDepths, '--stage-depths') ?? parsed.excavation?.stageDepthsM,
|
|
170
|
+
supportLevelsM: parseNumberListOption(opts.supportLevels, '--support-levels') ?? parsed.excavation?.supportLevelsM,
|
|
171
|
+
wallType: typeof opts.wallType === 'string' ? opts.wallType : parsed.excavation?.wallType,
|
|
172
|
+
};
|
|
173
|
+
const load = {
|
|
174
|
+
...(parsed.load ?? {}),
|
|
175
|
+
pressureKpa: parseNumberOption(opts.pressure, '--pressure') ?? parsed.load?.pressureKpa,
|
|
176
|
+
};
|
|
177
|
+
const material = {
|
|
178
|
+
...(parsed.material ?? {}),
|
|
179
|
+
elasticModulusKpa: parseNumberOption(opts.elasticModulus, '--elastic-modulus') ?? parsed.material?.elasticModulusKpa,
|
|
180
|
+
poissonRatio: parseNumberOption(opts.poissonRatio, '--poisson-ratio') ?? parsed.material?.poissonRatio,
|
|
181
|
+
unitWeightKnM3: parseNumberOption(opts.unitWeight, '--unit-weight') ?? parsed.material?.unitWeightKnM3,
|
|
182
|
+
};
|
|
183
|
+
const groundwater = {
|
|
184
|
+
...(parsed.groundwater ?? {}),
|
|
185
|
+
condition: typeof opts.groundwaterCondition === 'string' ? opts.groundwaterCondition : parsed.groundwater?.condition,
|
|
186
|
+
depthM: parseNumberOption(opts.groundwaterDepth, '--groundwater-depth') ?? parsed.groundwater?.depthM,
|
|
187
|
+
note: typeof opts.groundwaterNote === 'string' ? opts.groundwaterNote : parsed.groundwater?.note,
|
|
188
|
+
};
|
|
189
|
+
return {
|
|
190
|
+
...parsed,
|
|
191
|
+
objective,
|
|
192
|
+
useDemoDefaults: opts.demoDefaults === true || parsed.useDemoDefaults === true,
|
|
193
|
+
geometry,
|
|
194
|
+
excavation,
|
|
195
|
+
load,
|
|
196
|
+
material,
|
|
197
|
+
groundwater,
|
|
198
|
+
evidenceRefs: Array.isArray(parsed.evidenceRefs) ? parsed.evidenceRefs : [],
|
|
199
|
+
};
|
|
200
|
+
}
|
|
15
201
|
function writeUtf8File(filePath, content) {
|
|
16
202
|
const resolved = resolve(filePath);
|
|
17
203
|
mkdirSync(dirname(resolved), { recursive: true });
|
|
@@ -26,11 +212,12 @@ function buildWarnings(manifest) {
|
|
|
26
212
|
.map((finding) => finding.message),
|
|
27
213
|
];
|
|
28
214
|
}
|
|
29
|
-
function buildFemAgentTask(task, objective) {
|
|
215
|
+
function buildFemAgentTask(task, objective, workspaceSummary) {
|
|
30
216
|
return [
|
|
31
217
|
'FEM planning task:',
|
|
32
218
|
task,
|
|
33
219
|
objective ? `Preferred FEM objective hint: ${objective}` : '',
|
|
220
|
+
workspaceSummary ? `\n${workspaceSummary}` : '',
|
|
34
221
|
'',
|
|
35
222
|
'Use only geotechCLI FEM capability, draft, and validation tools.',
|
|
36
223
|
'Do not invent FEM displacement, reaction, mesh, stage, or result-envelope values.',
|
|
@@ -88,6 +275,36 @@ function renderPlainSummary(manifest, options) {
|
|
|
88
275
|
success(`FEM result manifest saved to ${options.resultPath}`);
|
|
89
276
|
}
|
|
90
277
|
}
|
|
278
|
+
function renderFemDraftSummary(draft, options) {
|
|
279
|
+
if (options.quiet) {
|
|
280
|
+
console.log(draft.analysisCase?.caseId ?? draft.recommendedAction);
|
|
281
|
+
return;
|
|
282
|
+
}
|
|
283
|
+
banner();
|
|
284
|
+
heading('FEM Analysis-Case Draft');
|
|
285
|
+
keyValue('Objective', draft.objective);
|
|
286
|
+
keyValue('Route status', draft.capability.status);
|
|
287
|
+
keyValue('Implemented demo', draft.implemented ? 'yes' : 'no');
|
|
288
|
+
keyValue('Recommended action', draft.recommendedAction);
|
|
289
|
+
keyValue('Auto proceed', draft.canAutoProceed ? 'yes' : 'no');
|
|
290
|
+
if (draft.recommendedCommand)
|
|
291
|
+
keyValue('Recommended command', draft.recommendedCommand);
|
|
292
|
+
if (draft.analysisCase) {
|
|
293
|
+
keyValue('Case', draft.analysisCase.caseId);
|
|
294
|
+
keyValue('Validation', draft.validation?.status ?? 'not-run');
|
|
295
|
+
}
|
|
296
|
+
if (draft.missingUserInputs.length > 0) {
|
|
297
|
+
warn(`Missing user inputs: ${draft.missingUserInputs.join(', ')}`);
|
|
298
|
+
}
|
|
299
|
+
for (const gate of draft.reviewGates) {
|
|
300
|
+
warn(`Review gate: ${gate}`);
|
|
301
|
+
}
|
|
302
|
+
warn('Draft only: this command does not run an FEM solver or create WebGL results.');
|
|
303
|
+
if (options.draftPath)
|
|
304
|
+
success(`FEM draft envelope saved to ${options.draftPath}`);
|
|
305
|
+
if (options.casePath)
|
|
306
|
+
success(`FEM analysis case saved to ${options.casePath}`);
|
|
307
|
+
}
|
|
91
308
|
async function runFemDemoCommand(demoKind, defaultHtmlPath, title, manifest, opts) {
|
|
92
309
|
const flags = getGlobalFlags(opts);
|
|
93
310
|
if (!opts.experimental) {
|
|
@@ -168,14 +385,103 @@ export function registerFemCommand(program) {
|
|
|
168
385
|
demo.addCommand(raft);
|
|
169
386
|
demo.addCommand(excavation);
|
|
170
387
|
fem.addCommand(demo);
|
|
388
|
+
const draft = new Command('draft')
|
|
389
|
+
.description('Prepare a validated experimental FEM analysis-case draft without running a solver')
|
|
390
|
+
.argument('<objective>', 'FEM objective, such as foundation-settlement or excavation-deformation')
|
|
391
|
+
.option('--input <jsonOrFile>', 'JSON object string or path containing prepare_fem_analysis_case-style inputs')
|
|
392
|
+
.option('--workspace <dir>', 'Analyze a workspace and prefill FEM draft inputs from GroundModel readiness evidence')
|
|
393
|
+
.option('--demo-defaults', 'Use built-in demo defaults for implemented demo routes')
|
|
394
|
+
.option('--case-output <file>', 'Write the analysis_case JSON only when the draft has a validated case')
|
|
395
|
+
.option('--raft-length <m>', 'Foundation-settlement raft length in metres')
|
|
396
|
+
.option('--raft-width <m>', 'Foundation-settlement raft width in metres')
|
|
397
|
+
.option('--raft-thickness <m>', 'Foundation-settlement raft thickness in metres')
|
|
398
|
+
.option('--domain-length <m>', 'Model domain length in metres')
|
|
399
|
+
.option('--domain-width <m>', 'Model domain width in metres')
|
|
400
|
+
.option('--domain-depth <m>', 'Model domain depth in metres')
|
|
401
|
+
.option('--excavation-length <m>', 'Excavation length in metres')
|
|
402
|
+
.option('--excavation-width <m>', 'Excavation width in metres')
|
|
403
|
+
.option('--excavation-depth <m>', 'Final excavation depth in metres')
|
|
404
|
+
.option('--wall-toe-depth <m>', 'Retaining wall toe depth in metres')
|
|
405
|
+
.option('--stage-depths <csv>', 'Comma-separated excavation stage depths in metres')
|
|
406
|
+
.option('--support-levels <csv>', 'Comma-separated excavation support levels in metres')
|
|
407
|
+
.option('--wall-type <type>', 'Excavation wall type: diaphragm_wall, secant_pile_wall, soldier_pile_lagging, unsupported_screening')
|
|
408
|
+
.option('--pressure <kPa>', 'Raft pressure or excavation surcharge pressure in kPa')
|
|
409
|
+
.option('--elastic-modulus <kPa>', 'Representative elastic modulus in kPa')
|
|
410
|
+
.option('--poisson-ratio <ratio>', 'Representative Poisson ratio')
|
|
411
|
+
.option('--unit-weight <kN/m3>', 'Representative unit weight in kN/m3')
|
|
412
|
+
.option('--groundwater-condition <condition>', 'Groundwater condition: not_modelled, below_domain, specified')
|
|
413
|
+
.option('--groundwater-depth <m>', 'Groundwater depth in metres when condition is specified')
|
|
414
|
+
.option('--groundwater-note <text>', 'Groundwater review note')
|
|
415
|
+
.addHelpText('after', `
|
|
416
|
+
Examples:
|
|
417
|
+
geotech fem draft foundation-settlement --raft-length 10 --raft-width 8 --pressure 150 --json
|
|
418
|
+
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
|
|
419
|
+
geotech fem draft excavation-deformation --input fem-input.json --case-output analysis_case.json
|
|
420
|
+
geotech fem draft foundation-settlement --workspace ./site-data --raft-length 10 --raft-width 8 --pressure 150 --json
|
|
421
|
+
|
|
422
|
+
This command prepares a review-gated FEM analysis-case draft only. It does not run a solver,
|
|
423
|
+
does not create WebGL results, and never auto-approves FEM output for design use.
|
|
424
|
+
`)
|
|
425
|
+
.action(async (objectiveArg, opts) => {
|
|
426
|
+
const flags = getGlobalFlags(opts);
|
|
427
|
+
const objective = normalizeFemObjective(objectiveArg);
|
|
428
|
+
const workspaceBridge = await loadFemWorkspaceBridge(objective, opts.workspace);
|
|
429
|
+
const draftInput = buildFemDraftInput(objective, opts, workspaceBridge?.bridge.input);
|
|
430
|
+
const femDraft = prepareFemAnalysisCaseDraft(draftInput);
|
|
431
|
+
let casePath;
|
|
432
|
+
if (typeof opts.caseOutput === 'string' && opts.caseOutput.trim()) {
|
|
433
|
+
if (!femDraft.analysisCase) {
|
|
434
|
+
throw new Error('Cannot write --case-output because the FEM draft is missing required inputs and has no analysisCase.');
|
|
435
|
+
}
|
|
436
|
+
casePath = writeUtf8File(opts.caseOutput, JSON.stringify(femDraft.analysisCase, null, 2));
|
|
437
|
+
}
|
|
438
|
+
const warnings = [
|
|
439
|
+
'FEM draft only; no solver or WebGL artifact was executed.',
|
|
440
|
+
...(workspaceBridge ? ['Workspace GroundModel prefilled material, groundwater, and evidenceRefs only; geometry/load/staging still require user review.'] : []),
|
|
441
|
+
...femDraft.reviewGates.map((gate) => `Review gate: ${gate}`),
|
|
442
|
+
];
|
|
443
|
+
let draftPath = typeof flags.output === 'string' && flags.output.trim()
|
|
444
|
+
? resolve(flags.output)
|
|
445
|
+
: undefined;
|
|
446
|
+
const envelope = {
|
|
447
|
+
kind: 'geotech-fem-draft-result',
|
|
448
|
+
schemaVersion: 'fem-draft-command.v0',
|
|
449
|
+
objective,
|
|
450
|
+
draft: femDraft,
|
|
451
|
+
workspace: workspaceBridge ? {
|
|
452
|
+
rootPath: workspaceBridge.manifest.rootPath,
|
|
453
|
+
bridge: workspaceBridge.bridge,
|
|
454
|
+
} : undefined,
|
|
455
|
+
draftPath,
|
|
456
|
+
casePath,
|
|
457
|
+
warnings,
|
|
458
|
+
};
|
|
459
|
+
if (draftPath) {
|
|
460
|
+
draftPath = writeUtf8File(draftPath, JSON.stringify(envelope, null, 2));
|
|
461
|
+
envelope.draftPath = draftPath;
|
|
462
|
+
}
|
|
463
|
+
if (flags.json) {
|
|
464
|
+
renderJSON(envelope);
|
|
465
|
+
return;
|
|
466
|
+
}
|
|
467
|
+
renderFemDraftSummary(femDraft, {
|
|
468
|
+
draftPath,
|
|
469
|
+
casePath,
|
|
470
|
+
quiet: flags.quiet,
|
|
471
|
+
});
|
|
472
|
+
});
|
|
473
|
+
addGlobalFlags(draft);
|
|
474
|
+
fem.addCommand(draft);
|
|
171
475
|
const agent = new Command('agent')
|
|
172
476
|
.description('Scoped FEM planning agent that can list, draft, and validate FEM cases without running solvers')
|
|
173
477
|
.argument('<task...>', 'FEM planning or review task in natural language')
|
|
174
478
|
.option('--objective <objective>', 'Optional FEM objective hint, such as foundation-settlement or excavation-deformation')
|
|
479
|
+
.option('--workspace <dir>', 'Analyze a workspace and attach FEM GroundModel readiness context to the scoped agent')
|
|
175
480
|
.addHelpText('after', `
|
|
176
481
|
Examples:
|
|
177
482
|
geotech fem agent "which FEM route fits a braced excavation near an existing building?"
|
|
178
483
|
geotech fem agent "draft a staged excavation FEM case" --objective excavation-deformation --json
|
|
484
|
+
geotech fem agent "review FEM readiness for this site" --workspace ./site-data --objective foundation-settlement
|
|
179
485
|
|
|
180
486
|
This command gives the LLM a narrow FEM brain. It may call only list_fem_capabilities,
|
|
181
487
|
prepare_fem_analysis_case, and validate_fem_analysis_case. It does not run FEM solvers,
|
|
@@ -187,14 +493,21 @@ export function registerFemCommand(program) {
|
|
|
187
493
|
const objective = typeof opts.objective === 'string' && opts.objective.trim()
|
|
188
494
|
? opts.objective.trim()
|
|
189
495
|
: undefined;
|
|
496
|
+
const normalizedObjective = objective ? normalizeFemObjective(objective) : undefined;
|
|
497
|
+
const workspaceBridge = normalizedObjective
|
|
498
|
+
? await loadFemWorkspaceBridge(normalizedObjective, opts.workspace)
|
|
499
|
+
: undefined;
|
|
500
|
+
const workspaceSummary = typeof opts.workspace === 'string' && opts.workspace.trim()
|
|
501
|
+
? summarizeFemWorkspaceForAgent(workspaceBridge?.manifest ?? await analyzeWorkspace(opts.workspace, { includeCalculationInputDrafts: true }), workspaceBridge?.bridge)
|
|
502
|
+
: undefined;
|
|
190
503
|
const config = {
|
|
191
504
|
...buildLLMConfig(),
|
|
192
505
|
skillsEnabled: false,
|
|
193
506
|
};
|
|
194
|
-
const scopedTask = buildFemAgentTask(task, objective);
|
|
507
|
+
const scopedTask = buildFemAgentTask(task, objective, workspaceSummary);
|
|
195
508
|
const session = await runAgent(scopedTask, config, (step) => renderFemAgentStep(step, flags), undefined, {
|
|
196
509
|
allowedTools: FEM_AGENT_TOOLS,
|
|
197
|
-
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.',
|
|
510
|
+
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. Workspace evidence may prefill material, groundwater, and evidenceRefs only; geometry, load, staging, mesh intent, and design approval require explicit user confirmation. Recommend `geotech fem demo ... --experimental` when execution or visualization is needed.',
|
|
198
511
|
});
|
|
199
512
|
const answer = session.steps.find((step) => step.type === 'answer')?.content ?? '';
|
|
200
513
|
if (flags.output && answer) {
|
package/dist/commands/fem.js.map
CHANGED
|
@@ -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.
|
|
3
|
+
"version": "0.4.60",
|
|
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.
|
|
19
|
+
"@geotechcli/core": "0.4.60",
|
|
20
20
|
"asciichart": "^1.5.25",
|
|
21
21
|
"boxen": "^8.0.1",
|
|
22
22
|
"chalk": "^5.4.0",
|