@geotechcli/core 0.4.10 → 0.4.13
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/agents/brain.d.ts +1 -0
- package/dist/agents/brain.d.ts.map +1 -1
- package/dist/agents/brain.js +57 -8
- package/dist/agents/brain.js.map +1 -1
- package/dist/agents/skill-tools.d.ts +2 -0
- package/dist/agents/skill-tools.d.ts.map +1 -0
- package/dist/agents/skill-tools.js +132 -0
- package/dist/agents/skill-tools.js.map +1 -0
- package/dist/agents/swarm.d.ts +3 -2
- package/dist/agents/swarm.d.ts.map +1 -1
- package/dist/agents/swarm.js +46 -16
- package/dist/agents/swarm.js.map +1 -1
- package/dist/config/index.d.ts +31 -7
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +11 -1
- package/dist/config/index.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/llm/providers/hosted-beta.js +1 -1
- package/dist/llm/types.d.ts +1 -0
- package/dist/llm/types.d.ts.map +1 -1
- package/dist/llm/types.js.map +1 -1
- package/dist/meta/metadata.json +1 -1
- package/dist/skills/approval.d.ts +10 -0
- package/dist/skills/approval.d.ts.map +1 -0
- package/dist/skills/approval.js +70 -0
- package/dist/skills/approval.js.map +1 -0
- package/dist/skills/index.d.ts +89 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +869 -0
- package/dist/skills/index.js.map +1 -0
- package/package.json +1 -1
package/dist/agents/brain.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import './filesystem-tools.js';
|
|
|
4
4
|
import './bridge-tools.js';
|
|
5
5
|
import './data-tools.js';
|
|
6
6
|
import './deliverable-tools.js';
|
|
7
|
+
import './skill-tools.js';
|
|
7
8
|
export interface AgentStep {
|
|
8
9
|
type: 'thought' | 'tool_call' | 'tool_result' | 'answer' | 'error';
|
|
9
10
|
content: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain.d.ts","sourceRoot":"","sources":["../../src/agents/brain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAsB,MAAM,iBAAiB,CAAC;AAErE,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAU3D,OAAO,uBAAuB,CAAC;AAC/B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,iBAAiB,CAAC;AACzB,OAAO,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"brain.d.ts","sourceRoot":"","sources":["../../src/agents/brain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAsB,MAAM,iBAAiB,CAAC;AAErE,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAU3D,OAAO,uBAAuB,CAAC;AAC/B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,iBAAiB,CAAC;AACzB,OAAO,wBAAwB,CAAC;AAChC,OAAO,kBAAkB,CAAC;AAO1B,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,aAAa,GAAG,QAAQ,GAAG,OAAO,CAAC;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;AAsUtD,wBAAsB,QAAQ,CAC5B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,aAAa,EACrB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvC,OAAO,CAAC,YAAY,CAAC,CA0RvB;AAMD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,OAAO,CAAsB;gBAEzB,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,YAAY,EAAE,CAAA;KAAE;IAK/E,GAAG,CACP,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,YAAY,CAAC;IAOxB,OAAO,CAAC,OAAO,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,YAAY,EAAE,CAAA;KAAE,GAAG,IAAI;IAKvF,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAItD,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAIrC,UAAU,IAAI,YAAY,EAAE;IAI5B,YAAY,IAAI,IAAI;CAGrB"}
|
package/dist/agents/brain.js
CHANGED
|
@@ -9,6 +9,8 @@ import './filesystem-tools.js';
|
|
|
9
9
|
import './bridge-tools.js';
|
|
10
10
|
import './data-tools.js';
|
|
11
11
|
import './deliverable-tools.js';
|
|
12
|
+
import './skill-tools.js';
|
|
13
|
+
import { isAgentSkillToolName } from '../skills/index.js';
|
|
12
14
|
function getHostedAgentMaxTokens(config, phase) {
|
|
13
15
|
if (config.provider !== 'hosted-beta') {
|
|
14
16
|
return phase === 'loop' ? 1600 : 1800;
|
|
@@ -27,6 +29,16 @@ function isHostedBetaUnavailable(message) {
|
|
|
27
29
|
normalized.includes('empty completion') ||
|
|
28
30
|
normalized.includes('fetch failed'));
|
|
29
31
|
}
|
|
32
|
+
function getHostedFallbackMode(message) {
|
|
33
|
+
const normalized = message.toLowerCase();
|
|
34
|
+
if (normalized.includes('timed out') ||
|
|
35
|
+
normalized.includes('timeout budget') ||
|
|
36
|
+
normalized.includes('warming up') ||
|
|
37
|
+
normalized.includes('modal.com gpu')) {
|
|
38
|
+
return 'warming_timeout';
|
|
39
|
+
}
|
|
40
|
+
return 'temporary';
|
|
41
|
+
}
|
|
30
42
|
function extractNumericValue(query, pattern) {
|
|
31
43
|
const match = query.match(pattern);
|
|
32
44
|
return match ? Number(match[1]) : null;
|
|
@@ -74,8 +86,11 @@ function buildFoundationDataRequestAnswer(userQuery) {
|
|
|
74
86
|
function buildDeterministicPreflightAnswer(userQuery, config, sessionContext) {
|
|
75
87
|
return buildGeotechnicalPreflightAnswer(userQuery, config, sessionContext);
|
|
76
88
|
}
|
|
77
|
-
function buildDeterministicFallbackAnswer(userQuery, sessionContext) {
|
|
89
|
+
function buildDeterministicFallbackAnswer(userQuery, sessionContext, mode = 'temporary') {
|
|
78
90
|
const normalized = userQuery.toLowerCase();
|
|
91
|
+
const fallbackLead = mode === 'warming_timeout'
|
|
92
|
+
? 'Hosted model on Modal.com GPU is warming up or exceeded the current timeout budget, so the agent switched to deterministic fallback reasoning instead of returning no analysis.'
|
|
93
|
+
: 'Hosted beta was temporarily unavailable, so the agent switched to deterministic fallback reasoning instead of returning no analysis.';
|
|
79
94
|
const intakeFallback = buildGeotechnicalFallbackAnswer(userQuery, sessionContext);
|
|
80
95
|
if (intakeFallback) {
|
|
81
96
|
return intakeFallback;
|
|
@@ -88,7 +103,7 @@ function buildDeterministicFallbackAnswer(userQuery, sessionContext) {
|
|
|
88
103
|
const hasSoftGround = /(clay|silt|sand|soft ground|soft soil)/.test(normalized);
|
|
89
104
|
const hasRockInputs = /(ucs|rqd|cai|joint spacing|jointspacing)/.test(normalized);
|
|
90
105
|
const lines = [
|
|
91
|
-
|
|
106
|
+
fallbackLead,
|
|
92
107
|
'',
|
|
93
108
|
'Engineering assessment:',
|
|
94
109
|
];
|
|
@@ -121,16 +136,19 @@ function buildDeterministicFallbackAnswer(userQuery, sessionContext) {
|
|
|
121
136
|
return lines.join('\n');
|
|
122
137
|
}
|
|
123
138
|
return [
|
|
124
|
-
|
|
139
|
+
mode === 'warming_timeout'
|
|
140
|
+
? 'Hosted model on Modal.com GPU is warming up or exceeded the current timeout budget, and this request does not currently have a direct deterministic fallback in geotechCLI.'
|
|
141
|
+
: 'Hosted beta was temporarily unavailable, and this request does not currently have a direct deterministic fallback in geotechCLI.',
|
|
125
142
|
'Retry shortly, or reformulate the task as one of the built-in deterministic commands so the CLI can continue without the hosted model.',
|
|
126
143
|
].join('\n\n');
|
|
127
144
|
}
|
|
128
145
|
// ---------------------------------------------------------------------------
|
|
129
146
|
// System prompt
|
|
130
147
|
// ---------------------------------------------------------------------------
|
|
131
|
-
function buildCompactSystemPrompt() {
|
|
148
|
+
function buildCompactSystemPrompt(skillsEnabled = false) {
|
|
132
149
|
const tools = toolRegistry
|
|
133
150
|
.list()
|
|
151
|
+
.filter((tool) => skillsEnabled || !isAgentSkillToolName(tool.name))
|
|
134
152
|
.map((tool) => `- ${tool.name}: ${tool.description}`)
|
|
135
153
|
.join('\n');
|
|
136
154
|
return `You are geotechCLI Agent, a geotechnical engineering assistant that must use real tools for calculations.
|
|
@@ -153,9 +171,22 @@ Rules:
|
|
|
153
171
|
}
|
|
154
172
|
function buildSystemPrompt(config) {
|
|
155
173
|
if (config?.provider === 'hosted-beta') {
|
|
156
|
-
return buildCompactSystemPrompt();
|
|
174
|
+
return buildCompactSystemPrompt(config.skillsEnabled === true);
|
|
157
175
|
}
|
|
158
|
-
const
|
|
176
|
+
const skillsEnabled = config?.skillsEnabled === true;
|
|
177
|
+
const toolDescriptions = toolRegistry
|
|
178
|
+
.list()
|
|
179
|
+
.filter((tool) => skillsEnabled || !isAgentSkillToolName(tool.name))
|
|
180
|
+
.map((tool) => {
|
|
181
|
+
const params = Object.entries(tool.parameters.properties ?? {})
|
|
182
|
+
.map(([k, v]) => {
|
|
183
|
+
const req = (tool.parameters.required ?? []).includes(k) ? ' (required)' : ' (optional)';
|
|
184
|
+
return ` - ${k}: ${v.description ?? v.type}${req}`;
|
|
185
|
+
})
|
|
186
|
+
.join('\n');
|
|
187
|
+
return ` ${tool.name}: ${tool.description}\n${params}`;
|
|
188
|
+
})
|
|
189
|
+
.join('\n\n');
|
|
159
190
|
return `You are geotechCLI Agent, an expert geotechnical engineering AI that solves problems by EXECUTING real calculations, not just describing them.
|
|
160
191
|
|
|
161
192
|
## YOUR TOOLS
|
|
@@ -287,16 +318,19 @@ export async function runAgent(userQuery, config, onStep, sessionContext) {
|
|
|
287
318
|
catch (err) {
|
|
288
319
|
const errMsg = err instanceof Error ? err.message : String(err);
|
|
289
320
|
if (iteration === 0 && isHostedBetaUnavailable(errMsg)) {
|
|
321
|
+
const fallbackMode = getHostedFallbackMode(errMsg);
|
|
290
322
|
const fallbackThought = {
|
|
291
323
|
type: 'thought',
|
|
292
|
-
content:
|
|
324
|
+
content: fallbackMode === 'warming_timeout'
|
|
325
|
+
? 'Hosted model on Modal.com GPU is warming up or hit the current timeout budget. Switching to deterministic fallback reasoning.'
|
|
326
|
+
: 'Hosted beta is temporarily unavailable. Switching to deterministic fallback reasoning.',
|
|
293
327
|
timestamp: Date.now(),
|
|
294
328
|
};
|
|
295
329
|
session.steps.push(fallbackThought);
|
|
296
330
|
onStep(fallbackThought);
|
|
297
331
|
const fallbackAnswer = {
|
|
298
332
|
type: 'answer',
|
|
299
|
-
content: buildDeterministicFallbackAnswer(userQuery, sessionContext),
|
|
333
|
+
content: buildDeterministicFallbackAnswer(userQuery, sessionContext, fallbackMode),
|
|
300
334
|
timestamp: Date.now(),
|
|
301
335
|
};
|
|
302
336
|
session.steps.push(fallbackAnswer);
|
|
@@ -365,6 +399,21 @@ export async function runAgent(userQuery, config, onStep, sessionContext) {
|
|
|
365
399
|
};
|
|
366
400
|
session.steps.push(callStep);
|
|
367
401
|
onStep(callStep);
|
|
402
|
+
if (isAgentSkillToolName(toolCall.tool) && !config.skillsEnabled) {
|
|
403
|
+
const blockedStep = {
|
|
404
|
+
type: 'error',
|
|
405
|
+
content: `Skill tool blocked: ${toolCall.tool} is not enabled in this session.`,
|
|
406
|
+
toolName: toolCall.tool,
|
|
407
|
+
timestamp: Date.now(),
|
|
408
|
+
};
|
|
409
|
+
session.steps.push(blockedStep);
|
|
410
|
+
onStep(blockedStep);
|
|
411
|
+
messages.push({
|
|
412
|
+
role: 'user',
|
|
413
|
+
content: `[Tool Blocked: ${toolCall.tool}]\nSkill tools are disabled in this session. Continue without skill use or explain the limitation.`,
|
|
414
|
+
});
|
|
415
|
+
continue;
|
|
416
|
+
}
|
|
368
417
|
const guardrailCheck = validateToolArgs(toolCall.tool, toolCall.args);
|
|
369
418
|
if (!guardrailCheck.passed) {
|
|
370
419
|
const violationText = formatViolations(guardrailCheck);
|
package/dist/agents/brain.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain.js","sourceRoot":"","sources":["../../src/agents/brain.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"brain.js","sourceRoot":"","sources":["../../src/agents/brain.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-tools.d.ts","sourceRoot":"","sources":["../../src/agents/skill-tools.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { toolRegistry } from './tools.js';
|
|
2
|
+
import { getInstalledSkill, getStrongBetaSkillApproval, isStrongBetaSkillApproved, listInstalledSkills, readInstalledSkillGuide, runInstalledSkill, } from '../skills/index.js';
|
|
3
|
+
toolRegistry.register({
|
|
4
|
+
name: 'list_skills',
|
|
5
|
+
description: 'List installed local geotechCLI skills that are available for explicit agent use when skills are enabled.',
|
|
6
|
+
parameters: {
|
|
7
|
+
type: 'object',
|
|
8
|
+
properties: {},
|
|
9
|
+
},
|
|
10
|
+
}, () => {
|
|
11
|
+
const skills = listInstalledSkills().map((skill) => ({
|
|
12
|
+
name: skill.name,
|
|
13
|
+
displayName: skill.displayName,
|
|
14
|
+
description: skill.description,
|
|
15
|
+
runtime: skill.runtime,
|
|
16
|
+
approval: getStrongBetaSkillApproval(skill.name),
|
|
17
|
+
}))
|
|
18
|
+
.filter((skill) => skill.approval.status === 'approved');
|
|
19
|
+
return {
|
|
20
|
+
success: true,
|
|
21
|
+
data: { skills },
|
|
22
|
+
summary: skills.length > 0
|
|
23
|
+
? `${skills.length} installed skill${skills.length === 1 ? '' : 's'} available`
|
|
24
|
+
: 'No installed skills available',
|
|
25
|
+
};
|
|
26
|
+
});
|
|
27
|
+
toolRegistry.register({
|
|
28
|
+
name: 'describe_skill',
|
|
29
|
+
description: 'Describe one installed local skill, including its runtime and concise guide excerpt.',
|
|
30
|
+
parameters: {
|
|
31
|
+
type: 'object',
|
|
32
|
+
required: ['name'],
|
|
33
|
+
properties: {
|
|
34
|
+
name: { type: 'string', description: 'Installed skill name' },
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
}, (args) => {
|
|
38
|
+
try {
|
|
39
|
+
const name = String(args.name);
|
|
40
|
+
if (!isStrongBetaSkillApproved(name)) {
|
|
41
|
+
const approval = getStrongBetaSkillApproval(name);
|
|
42
|
+
return {
|
|
43
|
+
success: false,
|
|
44
|
+
data: null,
|
|
45
|
+
summary: '',
|
|
46
|
+
error: `Skill "${name}" is not approved for strong-beta agent use. ${approval.reason}`,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
const skill = getInstalledSkill(name);
|
|
50
|
+
const guide = readInstalledSkillGuide(skill.name);
|
|
51
|
+
const guideExcerpt = guide.split(/\r?\n/).slice(0, 40).join('\n');
|
|
52
|
+
return {
|
|
53
|
+
success: true,
|
|
54
|
+
data: {
|
|
55
|
+
skill: {
|
|
56
|
+
name: skill.name,
|
|
57
|
+
displayName: skill.displayName,
|
|
58
|
+
description: skill.description,
|
|
59
|
+
runtime: skill.runtime,
|
|
60
|
+
entryScript: skill.entryScript,
|
|
61
|
+
hasOpenAIYaml: skill.hasOpenAIYaml,
|
|
62
|
+
approval: getStrongBetaSkillApproval(skill.name),
|
|
63
|
+
},
|
|
64
|
+
guideExcerpt,
|
|
65
|
+
},
|
|
66
|
+
summary: `Skill "${skill.name}" loaded (${skill.runtime})`,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
return {
|
|
71
|
+
success: false,
|
|
72
|
+
data: null,
|
|
73
|
+
summary: '',
|
|
74
|
+
error: err instanceof Error ? err.message : String(err),
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
toolRegistry.register({
|
|
79
|
+
name: 'run_skill',
|
|
80
|
+
description: 'Run one installed deterministic local skill against a prepared input directory. Intended for explicit, controlled agent use when skills are enabled.',
|
|
81
|
+
parameters: {
|
|
82
|
+
type: 'object',
|
|
83
|
+
required: ['name', 'inputDir'],
|
|
84
|
+
properties: {
|
|
85
|
+
name: { type: 'string', description: 'Installed skill name' },
|
|
86
|
+
inputDir: { type: 'string', description: 'Directory containing the skill input contract files' },
|
|
87
|
+
projectId: { type: 'string', description: 'Optional project id for persistence of outputs' },
|
|
88
|
+
},
|
|
89
|
+
},
|
|
90
|
+
}, (args) => {
|
|
91
|
+
try {
|
|
92
|
+
const name = String(args.name);
|
|
93
|
+
if (!isStrongBetaSkillApproved(name)) {
|
|
94
|
+
const approval = getStrongBetaSkillApproval(name);
|
|
95
|
+
return {
|
|
96
|
+
success: false,
|
|
97
|
+
data: null,
|
|
98
|
+
summary: '',
|
|
99
|
+
error: `Skill "${name}" is not approved for strong-beta agent use. ${approval.reason}`,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
const run = runInstalledSkill(name, {
|
|
103
|
+
inputDir: String(args.inputDir),
|
|
104
|
+
projectId: typeof args.projectId === 'string' ? args.projectId : undefined,
|
|
105
|
+
});
|
|
106
|
+
return {
|
|
107
|
+
success: run.success,
|
|
108
|
+
data: {
|
|
109
|
+
skill: run.skill.name,
|
|
110
|
+
summary: run.summary,
|
|
111
|
+
outputDir: run.outputDir,
|
|
112
|
+
runDir: run.runDir,
|
|
113
|
+
swarmHandoff: run.swarmHandoff ?? null,
|
|
114
|
+
engineeringReport: run.engineeringReport ?? null,
|
|
115
|
+
artifactMap: run.caseFileArtifactMap ?? null,
|
|
116
|
+
stdout: run.stdout,
|
|
117
|
+
stderr: run.stderr,
|
|
118
|
+
},
|
|
119
|
+
summary: run.summary,
|
|
120
|
+
error: run.success ? undefined : (run.stderr.trim() || `Skill "${run.skill.name}" failed.`),
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
catch (err) {
|
|
124
|
+
return {
|
|
125
|
+
success: false,
|
|
126
|
+
data: null,
|
|
127
|
+
summary: '',
|
|
128
|
+
error: err instanceof Error ? err.message : String(err),
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
//# sourceMappingURL=skill-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-tools.js","sourceRoot":"","sources":["../../src/agents/skill-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAmB,MAAM,YAAY,CAAC;AAC3D,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,yBAAyB,EACzB,mBAAmB,EACnB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAE5B,YAAY,CAAC,QAAQ,CACnB;IACE,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,2GAA2G;IACxH,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;KACf;CACF,EACD,GAAe,EAAE;IACf,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACnD,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ,EAAE,0BAA0B,CAAC,KAAK,CAAC,IAAI,CAAC;KACjD,CAAC,CAAC;SACA,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;IAE3D,OAAO;QACL,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,EAAE,MAAM,EAAE;QAChB,OAAO,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC;YACxB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,mBAAmB,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,YAAY;YAC/E,CAAC,CAAC,+BAA+B;KACpC,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,YAAY,CAAC,QAAQ,CACnB;IACE,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,sFAAsF;IACnG,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE;YACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;SAC9D;KACF;CACF,EACD,CAAC,IAAI,EAAc,EAAE;IACnB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;YAClD,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,EAAE;gBACX,KAAK,EAAE,UAAU,IAAI,gDAAgD,QAAQ,CAAC,MAAM,EAAE;aACvF,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAElE,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE;gBACJ,KAAK,EAAE;oBACL,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,aAAa,EAAE,KAAK,CAAC,aAAa;oBAClC,QAAQ,EAAE,0BAA0B,CAAC,KAAK,CAAC,IAAI,CAAC;iBACjD;gBACD,YAAY;aACb;YACD,OAAO,EAAE,UAAU,KAAK,CAAC,IAAI,aAAa,KAAK,CAAC,OAAO,GAAG;SAC3D,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACxD,CAAC;IACJ,CAAC;AACH,CAAC,CACF,CAAC;AAEF,YAAY,CAAC,QAAQ,CACnB;IACE,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,sJAAsJ;IACnK,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;QAC9B,UAAU,EAAE;YACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;YAC7D,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qDAAqD,EAAE;YAChG,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gDAAgD,EAAE;SAC7F;KACF;CACF,EACD,CAAC,IAAI,EAAc,EAAE;IACnB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;YAClD,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,EAAE;gBACX,KAAK,EAAE,UAAU,IAAI,gDAAgD,QAAQ,CAAC,MAAM,EAAE;aACvF,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAI,EAAE;YAClC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC/B,SAAS,EAAE,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;SAC3E,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,IAAI,EAAE;gBACJ,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI;gBACrB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,IAAI;gBACtC,iBAAiB,EAAE,GAAG,CAAC,iBAAiB,IAAI,IAAI;gBAChD,WAAW,EAAE,GAAG,CAAC,mBAAmB,IAAI,IAAI;gBAC5C,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,EAAE,GAAG,CAAC,MAAM;aACnB;YACD,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,UAAU,GAAG,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC;SAC5F,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACxD,CAAC;IACJ,CAAC;AACH,CAAC,CACF,CAAC"}
|
package/dist/agents/swarm.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { type ToolResult } from './tools.js';
|
|
|
3
3
|
import './filesystem-tools.js';
|
|
4
4
|
import './bridge-tools.js';
|
|
5
5
|
import './data-tools.js';
|
|
6
|
+
import './skill-tools.js';
|
|
6
7
|
export interface SwarmStep {
|
|
7
8
|
agent: 'orchestrator' | 'interpretation' | 'simulation' | 'reviewer';
|
|
8
9
|
type: 'thought' | 'tool_call' | 'tool_result' | 'handoff' | 'review' | 'correction' | 'answer' | 'error';
|
|
@@ -21,7 +22,7 @@ export interface SwarmSession {
|
|
|
21
22
|
corrections: string[];
|
|
22
23
|
}
|
|
23
24
|
export type SwarmCallback = (step: SwarmStep) => void;
|
|
24
|
-
export declare function getAllowedToolsForAgent(agent: SwarmStep['agent']): readonly string[];
|
|
25
|
-
export declare function isToolAllowedForAgent(agent: SwarmStep['agent'], toolName: string): boolean;
|
|
25
|
+
export declare function getAllowedToolsForAgent(agent: SwarmStep['agent'], skillsEnabled?: boolean): readonly string[];
|
|
26
|
+
export declare function isToolAllowedForAgent(agent: SwarmStep['agent'], toolName: string, skillsEnabled?: boolean): boolean;
|
|
26
27
|
export declare function runSwarm(task: string, config: LLMConfig, onStep: SwarmCallback, sessionContext?: Record<string, unknown>): Promise<SwarmSession>;
|
|
27
28
|
//# sourceMappingURL=swarm.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swarm.d.ts","sourceRoot":"","sources":["../../src/agents/swarm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAsB,MAAM,iBAAiB,CAAC;AAErE,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAM3D,OAAO,uBAAuB,CAAC;AAC/B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"swarm.d.ts","sourceRoot":"","sources":["../../src/agents/swarm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAsB,MAAM,iBAAiB,CAAC;AAErE,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAM3D,OAAO,uBAAuB,CAAC;AAC/B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,iBAAiB,CAAC;AACzB,OAAO,kBAAkB,CAAC;AAG1B,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,cAAc,GAAG,gBAAgB,GAAG,YAAY,GAAG,UAAU,CAAC;IACrE,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC;IACzG,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;AA+DtD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,aAAa,UAAQ,GAAG,SAAS,MAAM,EAAE,CAM3G;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,UAAQ,GAAG,OAAO,CAEjH;AAwTD,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,aAAa,EACrB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvC,OAAO,CAAC,YAAY,CAAC,CA+KvB"}
|
package/dist/agents/swarm.js
CHANGED
|
@@ -7,6 +7,8 @@ import { normalizeToolArgs } from './tool-normalization.js';
|
|
|
7
7
|
import './filesystem-tools.js';
|
|
8
8
|
import './bridge-tools.js';
|
|
9
9
|
import './data-tools.js';
|
|
10
|
+
import './skill-tools.js';
|
|
11
|
+
import { isAgentSkillToolName } from '../skills/index.js';
|
|
10
12
|
const ROLE_TOOL_ALLOWLIST = {
|
|
11
13
|
interpretation: [
|
|
12
14
|
'read_file',
|
|
@@ -22,6 +24,9 @@ const ROLE_TOOL_ALLOWLIST = {
|
|
|
22
24
|
'project_save_dataset',
|
|
23
25
|
'project_save_parameter',
|
|
24
26
|
'project_add_assumption',
|
|
27
|
+
'list_skills',
|
|
28
|
+
'describe_skill',
|
|
29
|
+
'run_skill',
|
|
25
30
|
],
|
|
26
31
|
simulation: [
|
|
27
32
|
'calculate_bearing_capacity',
|
|
@@ -43,10 +48,15 @@ const ROLE_TOOL_ALLOWLIST = {
|
|
|
43
48
|
'project_save_result',
|
|
44
49
|
'project_save_parameter',
|
|
45
50
|
'project_add_artifact',
|
|
51
|
+
'list_skills',
|
|
52
|
+
'describe_skill',
|
|
53
|
+
'run_skill',
|
|
46
54
|
],
|
|
47
55
|
reviewer: [
|
|
48
56
|
'query_standards',
|
|
49
57
|
'project_load',
|
|
58
|
+
'list_skills',
|
|
59
|
+
'describe_skill',
|
|
50
60
|
],
|
|
51
61
|
};
|
|
52
62
|
function getHostedSwarmMaxTokens(config, phase) {
|
|
@@ -55,16 +65,21 @@ function getHostedSwarmMaxTokens(config, phase) {
|
|
|
55
65
|
}
|
|
56
66
|
return phase === 'loop' ? 700 : 900;
|
|
57
67
|
}
|
|
58
|
-
export function getAllowedToolsForAgent(agent) {
|
|
59
|
-
|
|
68
|
+
export function getAllowedToolsForAgent(agent, skillsEnabled = false) {
|
|
69
|
+
const allowed = agent === 'orchestrator' ? [] : ROLE_TOOL_ALLOWLIST[agent];
|
|
70
|
+
if (skillsEnabled) {
|
|
71
|
+
return allowed;
|
|
72
|
+
}
|
|
73
|
+
return allowed.filter((toolName) => !isAgentSkillToolName(toolName));
|
|
60
74
|
}
|
|
61
|
-
export function isToolAllowedForAgent(agent, toolName) {
|
|
62
|
-
return getAllowedToolsForAgent(agent).includes(toolName);
|
|
75
|
+
export function isToolAllowedForAgent(agent, toolName, skillsEnabled = false) {
|
|
76
|
+
return getAllowedToolsForAgent(agent, skillsEnabled).includes(toolName);
|
|
63
77
|
}
|
|
64
|
-
function getToolDescriptionsFor(toolNames) {
|
|
78
|
+
function getToolDescriptionsFor(toolNames, skillsEnabled = false) {
|
|
65
79
|
return toolRegistry
|
|
66
80
|
.list()
|
|
67
81
|
.filter((tool) => toolNames.includes(tool.name))
|
|
82
|
+
.filter((tool) => skillsEnabled || !isAgentSkillToolName(tool.name))
|
|
68
83
|
.map((tool) => {
|
|
69
84
|
const params = Object.entries(tool.parameters.properties ?? {})
|
|
70
85
|
.map(([key, value]) => ` - ${key}: ${value.description ?? value.type}`)
|
|
@@ -73,7 +88,7 @@ function getToolDescriptionsFor(toolNames) {
|
|
|
73
88
|
})
|
|
74
89
|
.join('\n\n');
|
|
75
90
|
}
|
|
76
|
-
function interpretationPrompt() {
|
|
91
|
+
function interpretationPrompt(skillsEnabled = false) {
|
|
77
92
|
return `You are the INTERPRETATION AGENT in geotechCLI's multi-agent system.
|
|
78
93
|
|
|
79
94
|
YOUR ROLE: Clean, parse, classify, and structure raw geotechnical data.
|
|
@@ -87,7 +102,7 @@ YOU HANDLE:
|
|
|
87
102
|
- Saving structured datasets, derived parameters, and assumptions into project memory when a project context is available
|
|
88
103
|
|
|
89
104
|
YOUR TOOLS:
|
|
90
|
-
${getToolDescriptionsFor(ROLE_TOOL_ALLOWLIST.interpretation)}
|
|
105
|
+
${getToolDescriptionsFor(ROLE_TOOL_ALLOWLIST.interpretation, skillsEnabled)}
|
|
91
106
|
|
|
92
107
|
RULES:
|
|
93
108
|
- Call tools to do real work; never estimate or guess data values.
|
|
@@ -105,7 +120,7 @@ To call a tool:
|
|
|
105
120
|
{"tool": "<name>", "args": {<params>}}
|
|
106
121
|
\`\`\``;
|
|
107
122
|
}
|
|
108
|
-
function simulationPrompt() {
|
|
123
|
+
function simulationPrompt(skillsEnabled = false) {
|
|
109
124
|
return `You are the SIMULATION AGENT in geotechCLI's multi-agent system.
|
|
110
125
|
|
|
111
126
|
YOUR ROLE: Execute engineering calculations and numerical simulations.
|
|
@@ -121,7 +136,7 @@ YOU HANDLE:
|
|
|
121
136
|
- Saving results, derived parameters, and output artifacts to persistent project storage
|
|
122
137
|
|
|
123
138
|
YOUR TOOLS:
|
|
124
|
-
${getToolDescriptionsFor(ROLE_TOOL_ALLOWLIST.simulation)}
|
|
139
|
+
${getToolDescriptionsFor(ROLE_TOOL_ALLOWLIST.simulation, skillsEnabled)}
|
|
125
140
|
|
|
126
141
|
RULES:
|
|
127
142
|
- Use the data provided by the Interpretation Agent; do not re-read files.
|
|
@@ -140,7 +155,7 @@ To call a tool:
|
|
|
140
155
|
{"tool": "<name>", "args": {<params>}}
|
|
141
156
|
\`\`\``;
|
|
142
157
|
}
|
|
143
|
-
function reviewerPrompt() {
|
|
158
|
+
function reviewerPrompt(skillsEnabled = false) {
|
|
144
159
|
return `You are the REVIEWER AGENT in geotechCLI's multi-agent system.
|
|
145
160
|
|
|
146
161
|
YOUR ROLE: Safety check, sanity check, and standards compliance review.
|
|
@@ -156,7 +171,7 @@ YOU CHECK:
|
|
|
156
171
|
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.
|
|
157
172
|
|
|
158
173
|
YOUR TOOLS:
|
|
159
|
-
${getToolDescriptionsFor(ROLE_TOOL_ALLOWLIST.reviewer)}
|
|
174
|
+
${getToolDescriptionsFor(ROLE_TOOL_ALLOWLIST.reviewer, skillsEnabled)}
|
|
160
175
|
|
|
161
176
|
OUTPUT FORMAT - you MUST output exactly one of:
|
|
162
177
|
|
|
@@ -195,6 +210,7 @@ Produce a comprehensive, professional engineering report with:
|
|
|
195
210
|
- Final recommendations`;
|
|
196
211
|
}
|
|
197
212
|
async function runAgentLoop(input, config, systemPrompt, agentName, onStep, maxIter = 6) {
|
|
213
|
+
const skillsEnabled = config.skillsEnabled === true;
|
|
198
214
|
const messages = [
|
|
199
215
|
{ role: 'system', content: systemPrompt },
|
|
200
216
|
{ role: 'user', content: input },
|
|
@@ -251,8 +267,8 @@ async function runAgentLoop(input, config, systemPrompt, agentName, onStep, maxI
|
|
|
251
267
|
});
|
|
252
268
|
continue;
|
|
253
269
|
}
|
|
254
|
-
if (!isToolAllowedForAgent(agentName, call.tool)) {
|
|
255
|
-
const allowedTools = getAllowedToolsForAgent(agentName);
|
|
270
|
+
if (!isToolAllowedForAgent(agentName, call.tool, skillsEnabled)) {
|
|
271
|
+
const allowedTools = getAllowedToolsForAgent(agentName, skillsEnabled);
|
|
256
272
|
onStep({
|
|
257
273
|
agent: agentName,
|
|
258
274
|
type: 'error',
|
|
@@ -266,6 +282,20 @@ async function runAgentLoop(input, config, systemPrompt, agentName, onStep, maxI
|
|
|
266
282
|
});
|
|
267
283
|
continue;
|
|
268
284
|
}
|
|
285
|
+
if (isAgentSkillToolName(call.tool) && !config.skillsEnabled) {
|
|
286
|
+
onStep({
|
|
287
|
+
agent: agentName,
|
|
288
|
+
type: 'error',
|
|
289
|
+
content: `Skill tool blocked: ${call.tool} is not enabled in this session.`,
|
|
290
|
+
toolName: call.tool,
|
|
291
|
+
timestamp: Date.now(),
|
|
292
|
+
});
|
|
293
|
+
messages.push({
|
|
294
|
+
role: 'user',
|
|
295
|
+
content: `[Skill Tool Blocked: ${call.tool}]\nSkill tools are disabled in this session. Continue without skill use.`,
|
|
296
|
+
});
|
|
297
|
+
continue;
|
|
298
|
+
}
|
|
269
299
|
const result = await toolRegistry.execute(call.tool, call.args);
|
|
270
300
|
onStep({
|
|
271
301
|
agent: agentName,
|
|
@@ -341,7 +371,7 @@ export async function runSwarm(task, config, onStep, sessionContext) {
|
|
|
341
371
|
const serializedContext = serializeContextForPrompt(sessionContext, 5000);
|
|
342
372
|
const contextBlock = serializedContext ? `Project/session context:\n${serializedContext}\n\n` : '';
|
|
343
373
|
trackStep({ agent: 'orchestrator', type: 'handoff', content: 'Routing to Interpretation Agent', timestamp: Date.now() });
|
|
344
|
-
const interpResult = await runAgentLoop(`${contextBlock}Task: ${task}\n\nRead, classify, and structure all relevant data for this task.`, config, interpretationPrompt(), 'interpretation', trackStep);
|
|
374
|
+
const interpResult = await runAgentLoop(`${contextBlock}Task: ${task}\n\nRead, classify, and structure all relevant data for this task.`, config, interpretationPrompt(config.skillsEnabled === true), 'interpretation', trackStep);
|
|
345
375
|
session.totalTokens += interpResult.tokens;
|
|
346
376
|
session.totalLatencyMs += interpResult.latency;
|
|
347
377
|
session.context = { ...session.context, interpretation: interpResult.context };
|
|
@@ -376,7 +406,7 @@ export async function runSwarm(task, config, onStep, sessionContext) {
|
|
|
376
406
|
const correctionNote = session.corrections.length > 0
|
|
377
407
|
? `\n\nREVIEWER CORRECTIONS FROM PREVIOUS CYCLE:\n${session.corrections.join('\n')}\nApply these corrections in your calculations.`
|
|
378
408
|
: '';
|
|
379
|
-
const simResult = await runAgentLoop(`${contextBlock}Data from Interpretation Agent:\n${interpData}\n\nOriginal task: ${task}${correctionNote}\n\nRun all necessary calculations.`, config, simulationPrompt(), 'simulation', trackStep);
|
|
409
|
+
const simResult = await runAgentLoop(`${contextBlock}Data from Interpretation Agent:\n${interpData}\n\nOriginal task: ${task}${correctionNote}\n\nRun all necessary calculations.`, config, simulationPrompt(config.skillsEnabled === true), 'simulation', trackStep);
|
|
380
410
|
session.totalTokens += simResult.tokens;
|
|
381
411
|
session.totalLatencyMs += simResult.latency;
|
|
382
412
|
session.context = { ...session.context, simulation: simResult.context };
|
|
@@ -402,7 +432,7 @@ export async function runSwarm(task, config, onStep, sessionContext) {
|
|
|
402
432
|
simData = simResult.output;
|
|
403
433
|
}
|
|
404
434
|
trackStep({ agent: 'orchestrator', type: 'handoff', content: 'Routing to Reviewer Agent', timestamp: Date.now() });
|
|
405
|
-
const reviewResult = await runAgentLoop(`${contextBlock}Original task: ${task}\n\nInterpretation summary:\n${interpData}\n\nSimulation results:\n${simData}\n\nReview these results for safety, sanity, standards compliance, and parse safety.`, config, reviewerPrompt(), 'reviewer', trackStep);
|
|
435
|
+
const reviewResult = await runAgentLoop(`${contextBlock}Original task: ${task}\n\nInterpretation summary:\n${interpData}\n\nSimulation results:\n${simData}\n\nReview these results for safety, sanity, standards compliance, and parse safety.`, config, reviewerPrompt(config.skillsEnabled === true), 'reviewer', trackStep);
|
|
406
436
|
session.totalTokens += reviewResult.tokens;
|
|
407
437
|
session.totalLatencyMs += reviewResult.latency;
|
|
408
438
|
const reviewBlock = reviewResult.output.match(/```review\s*\n?([\s\S]*?)\n?```/);
|