@geotechcli/core 0.3.0 → 0.4.1

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 (72) hide show
  1. package/dist/agents/brain.d.ts +1 -0
  2. package/dist/agents/brain.d.ts.map +1 -1
  3. package/dist/agents/brain.js +45 -41
  4. package/dist/agents/brain.js.map +1 -1
  5. package/dist/agents/bridge-tools.js +15 -3
  6. package/dist/agents/bridge-tools.js.map +1 -1
  7. package/dist/agents/case-file.d.ts +52 -0
  8. package/dist/agents/case-file.d.ts.map +1 -0
  9. package/dist/agents/case-file.js +657 -0
  10. package/dist/agents/case-file.js.map +1 -0
  11. package/dist/agents/contracts.d.ts +232 -0
  12. package/dist/agents/contracts.d.ts.map +1 -0
  13. package/dist/agents/contracts.js +14 -0
  14. package/dist/agents/contracts.js.map +1 -0
  15. package/dist/agents/data-tools.js +11 -3
  16. package/dist/agents/data-tools.js.map +1 -1
  17. package/dist/agents/deliverable-tools.d.ts +2 -0
  18. package/dist/agents/deliverable-tools.d.ts.map +1 -0
  19. package/dist/agents/deliverable-tools.js +497 -0
  20. package/dist/agents/deliverable-tools.js.map +1 -0
  21. package/dist/agents/evidence.d.ts +21 -0
  22. package/dist/agents/evidence.d.ts.map +1 -0
  23. package/dist/agents/evidence.js +302 -0
  24. package/dist/agents/evidence.js.map +1 -0
  25. package/dist/agents/orchestrator.js +13 -13
  26. package/dist/agents/sandbox.d.ts.map +1 -1
  27. package/dist/agents/sandbox.js +84 -31
  28. package/dist/agents/sandbox.js.map +1 -1
  29. package/dist/agents/swarm.d.ts +2 -0
  30. package/dist/agents/swarm.d.ts.map +1 -1
  31. package/dist/agents/swarm.js +177 -152
  32. package/dist/agents/swarm.js.map +1 -1
  33. package/dist/agents/tool-normalization.d.ts +4 -0
  34. package/dist/agents/tool-normalization.d.ts.map +1 -0
  35. package/dist/agents/tool-normalization.js +92 -0
  36. package/dist/agents/tool-normalization.js.map +1 -0
  37. package/dist/bridge/index.js +87 -87
  38. package/dist/geo/pile-capacity.d.ts.map +1 -1
  39. package/dist/geo/pile-capacity.js +47 -8
  40. package/dist/geo/pile-capacity.js.map +1 -1
  41. package/dist/geo/slope-stability.d.ts.map +1 -1
  42. package/dist/geo/slope-stability.js +9 -6
  43. package/dist/geo/slope-stability.js.map +1 -1
  44. package/dist/index.d.ts +4 -1
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +4 -1
  47. package/dist/index.js.map +1 -1
  48. package/dist/llm/middleware/metering.js +14 -14
  49. package/dist/meta/metadata.json +4 -4
  50. package/dist/report/casefile.d.ts +207 -0
  51. package/dist/report/casefile.d.ts.map +1 -0
  52. package/dist/report/casefile.js +438 -0
  53. package/dist/report/casefile.js.map +1 -0
  54. package/dist/report/docx.d.ts +0 -4
  55. package/dist/report/docx.d.ts.map +1 -1
  56. package/dist/report/docx.js +6 -1
  57. package/dist/report/docx.js.map +1 -1
  58. package/dist/report/index.d.ts +1 -0
  59. package/dist/report/index.d.ts.map +1 -1
  60. package/dist/report/index.js +21 -20
  61. package/dist/report/index.js.map +1 -1
  62. package/dist/report/pdf.d.ts +0 -4
  63. package/dist/report/pdf.d.ts.map +1 -1
  64. package/dist/report/pdf.js +6 -1
  65. package/dist/report/pdf.js.map +1 -1
  66. package/dist/vision/index.d.ts.map +1 -1
  67. package/dist/vision/index.js +270 -117
  68. package/dist/vision/index.js.map +1 -1
  69. package/dist/vision/parse.d.ts.map +1 -1
  70. package/dist/vision/parse.js +18 -0
  71. package/dist/vision/parse.js.map +1 -1
  72. package/package.json +58 -58
@@ -2,52 +2,59 @@ import { generateText, generateChat } from '../llm/router.js';
2
2
  import { toolRegistry } from './tools.js';
3
3
  import { validateToolArgs, formatViolations } from './guardrails.js';
4
4
  import { extractToolSafetyIssue, serializeContextForPrompt } from './safety.js';
5
+ import { normalizeToolArgs } from './tool-normalization.js';
5
6
  // Ensure all tools are registered
6
7
  import './filesystem-tools.js';
7
8
  import './bridge-tools.js';
8
9
  import './data-tools.js';
9
- const INTERPRETATION_TOOLS = [
10
- 'read_file',
11
- 'list_directory',
12
- 'parse_csv',
13
- 'scan_project',
14
- 'parse_ags',
15
- 'parse_cpt',
16
- 'classify_uscs',
17
- 'classify_rmr89',
18
- 'classify_q_system',
19
- 'query_standards',
20
- 'project_save_dataset',
21
- 'project_save_parameter',
22
- 'project_add_assumption',
23
- ];
24
- const SIMULATION_TOOLS = [
25
- 'calculate_bearing_capacity',
26
- 'calculate_liquefaction',
27
- 'predict_tbm_performance',
28
- 'select_tbm_type',
29
- 'predict_cutter_wear',
30
- 'calculate_tunnel_settlement',
31
- 'calculate_consolidation',
32
- 'calculate_schmertmann_settlement',
33
- 'calculate_pile_capacity',
34
- 'calculate_slope_stability',
35
- 'calculate_lateral_earth_pressure',
36
- 'plaxis_execute',
37
- 'plaxis_get_results',
38
- 'flac3d_execute',
39
- 'rocscience_execute',
40
- 'write_file',
41
- 'project_save_result',
42
- 'project_save_parameter',
43
- 'project_add_artifact',
44
- ];
45
- const REVIEWER_TOOLS = [
46
- 'query_standards',
47
- 'project_load',
48
- 'project_add_assumption',
49
- 'project_add_artifact',
50
- ];
10
+ const ROLE_TOOL_ALLOWLIST = {
11
+ interpretation: [
12
+ 'read_file',
13
+ 'list_directory',
14
+ 'parse_csv',
15
+ 'scan_project',
16
+ 'parse_ags',
17
+ 'parse_cpt',
18
+ 'classify_uscs',
19
+ 'classify_rmr89',
20
+ 'classify_q_system',
21
+ 'query_standards',
22
+ 'project_save_dataset',
23
+ 'project_save_parameter',
24
+ 'project_add_assumption',
25
+ ],
26
+ simulation: [
27
+ 'calculate_bearing_capacity',
28
+ 'calculate_liquefaction',
29
+ 'predict_tbm_performance',
30
+ 'select_tbm_type',
31
+ 'predict_cutter_wear',
32
+ 'calculate_tunnel_settlement',
33
+ 'calculate_consolidation',
34
+ 'calculate_schmertmann_settlement',
35
+ 'calculate_pile_capacity',
36
+ 'calculate_slope_stability',
37
+ 'calculate_lateral_earth_pressure',
38
+ 'plaxis_execute',
39
+ 'plaxis_get_results',
40
+ 'flac3d_execute',
41
+ 'rocscience_execute',
42
+ 'write_file',
43
+ 'project_save_result',
44
+ 'project_save_parameter',
45
+ 'project_add_artifact',
46
+ ],
47
+ reviewer: [
48
+ 'query_standards',
49
+ 'project_load',
50
+ ],
51
+ };
52
+ export function getAllowedToolsForAgent(agent) {
53
+ return agent === 'orchestrator' ? [] : ROLE_TOOL_ALLOWLIST[agent];
54
+ }
55
+ export function isToolAllowedForAgent(agent, toolName) {
56
+ return getAllowedToolsForAgent(agent).includes(toolName);
57
+ }
51
58
  function getToolDescriptionsFor(toolNames) {
52
59
  return toolRegistry
53
60
  .list()
@@ -61,125 +68,127 @@ function getToolDescriptionsFor(toolNames) {
61
68
  .join('\n\n');
62
69
  }
63
70
  function interpretationPrompt() {
64
- return `You are the INTERPRETATION AGENT in geotechCLI's multi-agent system.
65
-
66
- YOUR ROLE: Clean, parse, classify, and structure raw geotechnical data.
67
-
68
- YOU HANDLE:
69
- - Reading borehole logs, AGS files, CPT data from disk
70
- - Classifying soils (USCS, AASHTO) and rocks (RMR, Q-system)
71
- - Parsing CSV sensor data and site investigation reports
72
- - Scanning project directories to inventory available data
73
- - Looking up relevant standards for classification methods
74
- - Saving structured datasets, derived parameters, and assumptions into project memory when a project context is available
75
-
76
- YOUR TOOLS:
77
- ${getToolDescriptionsFor(INTERPRETATION_TOOLS)}
78
-
79
- RULES:
80
- - Call tools to do real work; never estimate or guess data values.
81
- - If a tool result indicates canAutoProceed=false or low-confidence parsing, stop automatic handoff from that output until you retry or clearly mark the limitation.
82
- - When you derive reusable structured data or assumptions for a project, persist them with project memory tools.
83
- - After processing all data, output a structured summary in this format:
84
-
85
- \`\`\`handoff
86
- {"to": "simulation", "data": {<structured data for the simulation agent>}, "summary": "<what you found>"}
87
- \`\`\`
88
-
89
- To call a tool:
90
- \`\`\`tool
91
- {"tool": "<name>", "args": {<params>}}
71
+ return `You are the INTERPRETATION AGENT in geotechCLI's multi-agent system.
72
+
73
+ YOUR ROLE: Clean, parse, classify, and structure raw geotechnical data.
74
+
75
+ YOU HANDLE:
76
+ - Reading borehole logs, AGS files, CPT data from disk
77
+ - Classifying soils (USCS, AASHTO) and rocks (RMR, Q-system)
78
+ - Parsing CSV sensor data and site investigation reports
79
+ - Scanning project directories to inventory available data
80
+ - Looking up relevant standards for classification methods
81
+ - Saving structured datasets, derived parameters, and assumptions into project memory when a project context is available
82
+
83
+ YOUR TOOLS:
84
+ ${getToolDescriptionsFor(ROLE_TOOL_ALLOWLIST.interpretation)}
85
+
86
+ RULES:
87
+ - Call tools to do real work; never estimate or guess data values.
88
+ - If a tool result indicates canAutoProceed=false or low-confidence parsing, stop automatic handoff from that output until you retry or clearly mark the limitation.
89
+ - When you derive reusable structured data or assumptions for a project, persist them with project memory tools.
90
+ - Normalize near-valid user language into supported tool enums before calling tools when the engineering meaning is clear.
91
+ - After processing all data, output a structured summary in this format:
92
+
93
+ \`\`\`handoff
94
+ {"to": "simulation", "data": {<structured data for the simulation agent>}, "summary": "<what you found>"}
95
+ \`\`\`
96
+
97
+ To call a tool:
98
+ \`\`\`tool
99
+ {"tool": "<name>", "args": {<params>}}
92
100
  \`\`\``;
93
101
  }
94
102
  function simulationPrompt() {
95
- return `You are the SIMULATION AGENT in geotechCLI's multi-agent system.
96
-
97
- YOUR ROLE: Execute engineering calculations and numerical simulations.
98
-
99
- YOU RECEIVE: Structured data from the Interpretation Agent (soil profiles, classification results, parameters).
100
-
101
- YOU HANDLE:
102
- - Bearing capacity calculations (Terzaghi, Meyerhof, Hansen, Vesic)
103
- - Liquefaction triggering analysis (Boulanger & Idriss 2014)
104
- - TBM performance prediction, type selection, cutter wear
105
- - Tunnel settlement calculation (Peck)
106
- - Sending commands to PLAXIS/FLAC/Rocscience
107
- - Saving results, derived parameters, and output artifacts to persistent project storage
108
-
109
- YOUR TOOLS:
110
- ${getToolDescriptionsFor(SIMULATION_TOOLS)}
111
-
112
- RULES:
113
- - Use the data provided by the Interpretation Agent; do not re-read files.
114
- - Run ALL relevant calculations for the task.
115
- - If an upstream or tool result is blocked, incomplete, or low confidence, do not continue blindly. Retry, use a safer alternative, or pass the limitation to the reviewer.
116
- - Save significant reusable outputs back into project memory when a project context is available.
117
- - After completing calculations, output a handoff to the Reviewer:
118
-
119
- \`\`\`handoff
120
- {"to": "reviewer", "results": {<all calculation results>}, "summary": "<what was calculated>"}
121
- \`\`\`
122
-
123
- To call a tool:
124
- \`\`\`tool
125
- {"tool": "<name>", "args": {<params>}}
103
+ return `You are the SIMULATION AGENT in geotechCLI's multi-agent system.
104
+
105
+ YOUR ROLE: Execute engineering calculations and numerical simulations.
106
+
107
+ YOU RECEIVE: Structured data from the Interpretation Agent (soil profiles, classification results, parameters).
108
+
109
+ YOU HANDLE:
110
+ - Bearing capacity calculations (Terzaghi, Meyerhof, Hansen, Vesic)
111
+ - Liquefaction triggering analysis (Boulanger & Idriss 2014)
112
+ - TBM performance prediction, type selection, cutter wear
113
+ - Tunnel settlement calculation (Peck)
114
+ - Sending commands to PLAXIS/FLAC/Rocscience
115
+ - Saving results, derived parameters, and output artifacts to persistent project storage
116
+
117
+ YOUR TOOLS:
118
+ ${getToolDescriptionsFor(ROLE_TOOL_ALLOWLIST.simulation)}
119
+
120
+ RULES:
121
+ - Use the data provided by the Interpretation Agent; do not re-read files.
122
+ - Run ALL relevant calculations for the task.
123
+ - If an upstream or tool result is blocked, incomplete, or low confidence, do not continue blindly. Retry, use a safer alternative, or pass the limitation to the reviewer.
124
+ - Save significant reusable outputs back into project memory when a project context is available.
125
+ - Normalize near-valid user language into supported tool enums before calling tools when the engineering meaning is clear.
126
+ - After completing calculations, output a handoff to the Reviewer:
127
+
128
+ \`\`\`handoff
129
+ {"to": "reviewer", "results": {<all calculation results>}, "summary": "<what was calculated>"}
130
+ \`\`\`
131
+
132
+ To call a tool:
133
+ \`\`\`tool
134
+ {"tool": "<name>", "args": {<params>}}
126
135
  \`\`\``;
127
136
  }
128
137
  function reviewerPrompt() {
129
- return `You are the REVIEWER AGENT in geotechCLI's multi-agent system.
130
-
131
- YOUR ROLE: Safety check, sanity check, and standards compliance review.
132
-
133
- YOU RECEIVE: Calculation results from the Simulation Agent.
134
-
135
- YOU CHECK:
136
- 1. SAFETY FACTORS: Are FOS values above code minimums?
137
- 2. PHYSICAL SANITY: Are values within physically reasonable ranges?
138
- 3. STANDARDS COMPLIANCE: Do methods used match the applicable standard?
139
- 4. PARAMETER CONSISTENCY: Are input parameters consistent with each other?
140
- 5. COMPLETENESS: Were all necessary checks performed?
141
- 6. PARSE SAFETY: If any upstream result includes parseStatus/confidence/warnings or canAutoProceed=false, flag it explicitly and reject automatic conclusions that depend on that output.
142
-
143
- YOUR TOOLS:
144
- ${getToolDescriptionsFor(REVIEWER_TOOLS)}
145
-
146
- OUTPUT FORMAT - you MUST output exactly one of:
147
-
148
- If everything passes:
149
- \`\`\`review
150
- {"verdict": "APPROVED", "notes": ["<any advisory notes>"], "confidence": <0-100>}
151
- \`\`\`
152
-
153
- If issues found:
154
- \`\`\`review
155
- {"verdict": "REJECTED", "issues": ["<specific issue 1>", "<issue 2>"], "corrections": ["<what simulation agent should fix>"], "confidence": <0-100>}
156
- \`\`\`
157
-
158
- To call a tool:
159
- \`\`\`tool
160
- {"tool": "<name>", "args": {<params>}}
138
+ return `You are the REVIEWER AGENT in geotechCLI's multi-agent system.
139
+
140
+ YOUR ROLE: Safety check, sanity check, and standards compliance review.
141
+
142
+ YOU RECEIVE: Calculation results from the Simulation Agent.
143
+
144
+ YOU CHECK:
145
+ 1. SAFETY FACTORS: Are FOS values above code minimums?
146
+ 2. PHYSICAL SANITY: Are values within physically reasonable ranges?
147
+ 3. STANDARDS COMPLIANCE: Do methods used match the applicable standard?
148
+ 4. PARAMETER CONSISTENCY: Are input parameters consistent with each other?
149
+ 5. COMPLETENESS: Were all necessary checks performed?
150
+ 6. PARSE SAFETY: If any upstream result includes parseStatus/confidence/warnings or canAutoProceed=false, flag it explicitly and reject automatic conclusions that depend on that output.
151
+
152
+ YOUR TOOLS:
153
+ ${getToolDescriptionsFor(ROLE_TOOL_ALLOWLIST.reviewer)}
154
+
155
+ OUTPUT FORMAT - you MUST output exactly one of:
156
+
157
+ If everything passes:
158
+ \`\`\`review
159
+ {"verdict": "APPROVED", "notes": ["<any advisory notes>"], "confidence": <0-100>}
160
+ \`\`\`
161
+
162
+ If issues found:
163
+ \`\`\`review
164
+ {"verdict": "REJECTED", "issues": ["<specific issue 1>", "<issue 2>"], "corrections": ["<what simulation agent should fix>"], "confidence": <0-100>}
165
+ \`\`\`
166
+
167
+ To call a tool:
168
+ \`\`\`tool
169
+ {"tool": "<name>", "args": {<params>}}
161
170
  \`\`\``;
162
171
  }
163
172
  function orchestratorPrompt() {
164
- return `You are the SWARM ORCHESTRATOR for geotechCLI.
165
-
166
- You coordinate three specialist agents:
167
- 1. INTERPRETATION AGENT - reads data, classifies soils/rocks, structures input
168
- 2. SIMULATION AGENT - runs calculations, executes numerical models
169
- 3. REVIEWER AGENT - safety checks, standards compliance, sanity validation
170
-
171
- For the given task, produce the FINAL engineering report by synthesizing all agent outputs.
172
-
173
- If the Reviewer rejected results, incorporate the corrections and note the issues that were found and resolved.
174
-
175
- Produce a comprehensive, professional engineering report with:
176
- - Data summary
177
- - Calculation results with key numbers
178
- - Review status, confidence, and any advisory notes
179
- - Explicit limitations where blocked low-confidence outputs prevented automatic conclusions
173
+ return `You are the SWARM ORCHESTRATOR for geotechCLI.
174
+
175
+ You coordinate three specialist agents:
176
+ 1. INTERPRETATION AGENT - reads data, classifies soils/rocks, structures input
177
+ 2. SIMULATION AGENT - runs calculations, executes numerical models
178
+ 3. REVIEWER AGENT - safety checks, standards compliance, sanity validation
179
+
180
+ For the given task, produce the FINAL engineering report by synthesizing all agent outputs.
181
+
182
+ If the Reviewer rejected results, incorporate the corrections and note the issues that were found and resolved.
183
+
184
+ Produce a comprehensive, professional engineering report with:
185
+ - Data summary
186
+ - Calculation results with key numbers
187
+ - Review status, confidence, and any advisory notes
188
+ - Explicit limitations where blocked low-confidence outputs prevented automatic conclusions
180
189
  - Final recommendations`;
181
190
  }
182
- async function runAgentLoop(input, config, systemPrompt, agentName, onStep, maxIter = 8) {
191
+ async function runAgentLoop(input, config, systemPrompt, agentName, onStep, maxIter = 6) {
183
192
  const messages = [
184
193
  { role: 'system', content: systemPrompt },
185
194
  { role: 'user', content: input },
@@ -192,7 +201,7 @@ async function runAgentLoop(input, config, systemPrompt, agentName, onStep, maxI
192
201
  try {
193
202
  response = await generateChat(messages, config, {
194
203
  temperature: 0.15,
195
- maxTokens: 3000,
204
+ maxTokens: 1700,
196
205
  });
197
206
  }
198
207
  catch (err) {
@@ -212,6 +221,7 @@ async function runAgentLoop(input, config, systemPrompt, agentName, onStep, maxI
212
221
  }
213
222
  try {
214
223
  const call = JSON.parse(toolMatch[1]);
224
+ call.args = normalizeToolArgs(call.tool, call.args);
215
225
  onStep({
216
226
  agent: agentName,
217
227
  type: 'tool_call',
@@ -235,6 +245,21 @@ async function runAgentLoop(input, config, systemPrompt, agentName, onStep, maxI
235
245
  });
236
246
  continue;
237
247
  }
248
+ if (!isToolAllowedForAgent(agentName, call.tool)) {
249
+ const allowedTools = getAllowedToolsForAgent(agentName);
250
+ onStep({
251
+ agent: agentName,
252
+ type: 'error',
253
+ content: `Blocked by role allowlist: ${call.tool}`,
254
+ toolName: call.tool,
255
+ timestamp: Date.now(),
256
+ });
257
+ messages.push({
258
+ role: 'user',
259
+ content: `[Role Allowlist Blocked: ${call.tool}]\nThe ${agentName} agent is not allowed to execute this tool.\nAllowed tools: ${allowedTools.length > 0 ? allowedTools.join(', ') : 'none'}.\nChoose an allowed tool or continue without tool use.`,
260
+ });
261
+ continue;
262
+ }
238
263
  const result = await toolRegistry.execute(call.tool, call.args);
239
264
  onStep({
240
265
  agent: agentName,
@@ -425,7 +450,7 @@ export async function runSwarm(task, config, onStep, sessionContext) {
425
450
  }
426
451
  }
427
452
  trackStep({ agent: 'orchestrator', type: 'thought', content: 'Synthesizing final report from all agents.', timestamp: Date.now() });
428
- const finalResult = await generateText(`${contextBlock}Task: ${task}\n\nInterpretation output:\n${interpData}\n\nSimulation output:\n${simOutput}\n\nReview status: ${session.reviewPassed ? 'APPROVED' : 'APPROVED WITH NOTES'}\nCorrections applied: ${session.corrections.length > 0 ? session.corrections.join('; ') : 'None'}\n\nSynthesize the final engineering report.`, config, { systemPrompt: orchestratorPrompt(), temperature: 0.2, maxTokens: 4000 });
453
+ const finalResult = await generateText(`${contextBlock}Task: ${task}\n\nInterpretation output:\n${interpData}\n\nSimulation output:\n${simOutput}\n\nReview status: ${session.reviewPassed ? 'APPROVED' : 'APPROVED WITH NOTES'}\nCorrections applied: ${session.corrections.length > 0 ? session.corrections.join('; ') : 'None'}\n\nSynthesize the final engineering report.`, config, { systemPrompt: orchestratorPrompt(), temperature: 0.2, maxTokens: 2200 });
429
454
  session.totalTokens += finalResult.usage.totalTokens;
430
455
  session.totalLatencyMs += finalResult.latencyMs;
431
456
  trackStep({ agent: 'orchestrator', type: 'answer', content: finalResult.text, timestamp: Date.now() });
@@ -1 +1 @@
1
- {"version":3,"file":"swarm.js","sourceRoot":"","sources":["../../src/agents/swarm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swarm.js","sourceRoot":"","sources":["../../src/agents/swarm.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ type ToolArgs = Record<string, unknown>;
2
+ export declare function normalizeToolArgs(toolName: string, args: ToolArgs): ToolArgs;
3
+ export {};
4
+ //# sourceMappingURL=tool-normalization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-normalization.d.ts","sourceRoot":"","sources":["../../src/agents/tool-normalization.ts"],"names":[],"mappings":"AAAA,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAiGxC,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAiB5E"}
@@ -0,0 +1,92 @@
1
+ function normalizeToken(value) {
2
+ return value.toLowerCase().replace(/[^a-z0-9]+/g, ' ').trim();
3
+ }
4
+ function normalizeEnumValue(value, aliases) {
5
+ if (typeof value !== 'string') {
6
+ return value;
7
+ }
8
+ const normalized = normalizeToken(value);
9
+ return aliases[normalized] ?? value;
10
+ }
11
+ function applyAliases(args, key, aliases) {
12
+ if (!(key in args)) {
13
+ return args;
14
+ }
15
+ const nextValue = normalizeEnumValue(args[key], aliases);
16
+ if (nextValue === args[key]) {
17
+ return args;
18
+ }
19
+ return {
20
+ ...args,
21
+ [key]: nextValue,
22
+ };
23
+ }
24
+ const TBM_GROUND_TYPE_ALIASES = {
25
+ rock: 'rock',
26
+ 'hard rock': 'rock',
27
+ rocky: 'rock',
28
+ 'competent rock': 'rock',
29
+ 'soft ground': 'soft_ground',
30
+ 'soft soil': 'soft_ground',
31
+ soil: 'soft_ground',
32
+ 'loose soil': 'soft_ground',
33
+ mixed: 'mixed',
34
+ 'mixed ground': 'mixed',
35
+ 'mixed face': 'mixed',
36
+ mixedface: 'mixed',
37
+ 'mixed geology': 'mixed',
38
+ squeezing: 'squeezing',
39
+ 'squeezing ground': 'squeezing',
40
+ 'squeezing rock': 'squeezing',
41
+ karst: 'karst',
42
+ karstic: 'karst',
43
+ karstified: 'karst',
44
+ };
45
+ const BEARING_METHOD_ALIASES = {
46
+ terzaghi: 'terzaghi',
47
+ meyerhof: 'meyerhof',
48
+ hansen: 'hansen',
49
+ vesic: 'vesic',
50
+ };
51
+ const FOUNDATION_SHAPE_ALIASES = {
52
+ strip: 'strip',
53
+ 'strip footing': 'strip',
54
+ square: 'square',
55
+ 'square footing': 'square',
56
+ circular: 'circular',
57
+ round: 'circular',
58
+ 'circular footing': 'circular',
59
+ rectangular: 'rectangular',
60
+ rectangle: 'rectangular',
61
+ 'rectangular footing': 'rectangular',
62
+ };
63
+ const PRESSURE_STATE_ALIASES = {
64
+ active: 'active',
65
+ passive: 'passive',
66
+ 'at rest': 'at_rest',
67
+ atrest: 'at_rest',
68
+ 'at rest pressure': 'at_rest',
69
+ };
70
+ const SLOPE_METHOD_ALIASES = {
71
+ bishop: 'bishop',
72
+ 'bishop simplified': 'bishop',
73
+ ordinary: 'ordinary',
74
+ 'ordinary method': 'ordinary',
75
+ fellenius: 'ordinary',
76
+ 'swedish circle': 'ordinary',
77
+ };
78
+ export function normalizeToolArgs(toolName, args) {
79
+ switch (toolName) {
80
+ case 'select_tbm_type':
81
+ return applyAliases(args, 'groundType', TBM_GROUND_TYPE_ALIASES);
82
+ case 'calculate_bearing_capacity':
83
+ return applyAliases(applyAliases(args, 'method', BEARING_METHOD_ALIASES), 'shape', FOUNDATION_SHAPE_ALIASES);
84
+ case 'calculate_lateral_earth_pressure':
85
+ return applyAliases(args, 'pressureState', PRESSURE_STATE_ALIASES);
86
+ case 'calculate_slope_stability':
87
+ return applyAliases(args, 'method', SLOPE_METHOD_ALIASES);
88
+ default:
89
+ return args;
90
+ }
91
+ }
92
+ //# sourceMappingURL=tool-normalization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-normalization.js","sourceRoot":"","sources":["../../src/agents/tool-normalization.ts"],"names":[],"mappings":"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"}