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.
- package/dist/commands/fem.d.ts.map +1 -1
- package/dist/commands/fem.js +322 -3
- 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;AAyXpC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyNzD"}
|
package/dist/commands/fem.js
CHANGED
|
@@ -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
|
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.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.
|
|
19
|
+
"@geotechcli/core": "0.4.59",
|
|
20
20
|
"asciichart": "^1.5.25",
|
|
21
21
|
"boxen": "^8.0.1",
|
|
22
22
|
"chalk": "^5.4.0",
|