@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.
@@ -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;AAMhC,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;AAgStD,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,CAqQvB;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"}
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"}
@@ -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
- 'Hosted beta was temporarily unavailable, so the agent switched to deterministic fallback reasoning instead of returning no analysis.',
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
- 'Hosted beta was temporarily unavailable, and this request does not currently have a direct deterministic fallback in geotechCLI.',
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 toolDescriptions = toolRegistry.toToolDescriptions();
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: 'Hosted beta is temporarily unavailable. Switching to deterministic fallback reasoning.',
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);
@@ -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":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAmB,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACL,+BAA+B,EAC/B,gCAAgC,GACjC,MAAM,aAAa,CAAC;AAErB,2EAA2E;AAC3E,OAAO,uBAAuB,CAAC;AAC/B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,iBAAiB,CAAC;AACzB,OAAO,wBAAwB,CAAC;AAChC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AA6B1D,SAAS,uBAAuB,CAAC,MAAiB,EAAE,KAAuB;IACzE,IAAI,MAAM,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;QACtC,OAAO,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACxC,CAAC;IAED,OAAO,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AACtC,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAe;IAC9C,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACzC,OAAO,CACL,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACvC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC;QACjC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC;QAChC,UAAU,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QAC9C,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QACrC,UAAU,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QACpD,UAAU,CAAC,QAAQ,CAAC,0CAA0C,CAAC;QAC/D,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACvC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,CACpC,CAAC;AACJ,CAAC;AAID,SAAS,qBAAqB,CAAC,OAAe;IAC5C,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACzC,IACE,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC;QAChC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QACrC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC;QACjC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,EACpC,CAAC;QACD,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa,EAAE,OAAe;IACzD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACzC,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC;IAChG,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3D,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACtC,CAAC;AAED,SAAS,qBAAqB,CAAC,cAAwC;IACrE,OAAO,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAa;IACjD,OAAO,0GAA0G,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChI,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAa;IAC5C,OAAO,8CAA8C,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa;IAC1C,OAAO,8WAA8W,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpY,CAAC;AAED,SAAS,gCAAgC,CAAC,SAAiB;IACzD,MAAM,UAAU,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,aAAa,GAAG,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,UAAU,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;IAE9E,OAAO;QACL,wEAAwE,aAAa,gDAAgD;QACrI,EAAE;QACF,mBAAmB;QACnB,8DAA8D;QAC9D,gDAAgD;QAChD,2EAA2E;QAC3E,qBAAqB;QACrB,sDAAsD;QACtD,EAAE;QACF,sEAAsE;QACtE,2CAA2C;QAC3C,iEAAiE;QACjE,sEAAsE;QACtE,EAAE;QACF,iHAAiH;KAClH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,iCAAiC,CACxC,SAAiB,EACjB,MAAiB,EACjB,cAAwC;IAExC,OAAO,gCAAgC,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,gCAAgC,CACvC,SAAiB,EACjB,cAAwC,EACxC,OAA2B,WAAW;IAEtC,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,YAAY,GAChB,IAAI,KAAK,iBAAiB;QACxB,CAAC,CAAC,iLAAiL;QACnL,CAAC,CAAC,sIAAsI,CAAC;IAE7I,MAAM,cAAc,GAAG,+BAA+B,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAClF,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,IAAI,uCAAuC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7D,MAAM,GAAG,GAAG,mBAAmB,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,EAAE,yBAAyB,CAAC,CAAC;QAC1E,MAAM,QAAQ,GACZ,mBAAmB,CAAC,UAAU,EAAE,+CAA+C,CAAC;YAChF,mBAAmB,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;QAC3D,MAAM,aAAa,GAAG,wCAAwC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChF,MAAM,aAAa,GAAG,0CAA0C,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAElF,MAAM,KAAK,GAAG;YACZ,YAAY;YACZ,EAAE;YACF,yBAAyB;SAC1B,CAAC;QAEF,IAAI,aAAa,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,KAAK,CAAC,IAAI,CAAC,0HAA0H,CAAC,CAAC;QACzI,CAAC;QACD,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,gCAAgC,GAAG,OAAO,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,sBAAsB,MAAM,MAAM,CAAC,CAAC;QACjD,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAExC,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,sGAAsG,CAAC,CAAC;QACrH,CAAC;QACD,IAAI,aAAa,IAAI,CAAC,aAAa,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,0MAA0M,CAAC,CAAC;QACzN,CAAC;aAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,yIAAyI,CAAC,CAAC;QACxJ,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,8JAA8J,CAAC,CAAC;QAC3K,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,2GAA2G,CAAC,CAAC;QACxH,KAAK,CAAC,IAAI,CAAC,6HAA6H,CAAC,CAAC;QAC1I,KAAK,CAAC,IAAI,CAAC,yIAAyI,CAAC,CAAC;QAEtJ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO;QACL,IAAI,KAAK,iBAAiB;YACxB,CAAC,CAAC,6KAA6K;YAC/K,CAAC,CAAC,kIAAkI;QACtI,wIAAwI;KACzI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjB,CAAC;AAED,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E,SAAS,wBAAwB,CAAC,aAAa,GAAG,KAAK;IACrD,MAAM,KAAK,GAAG,YAAY;SACvB,IAAI,EAAE;SACN,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;SACpD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;;;EAGP,KAAK;;;;;;;;;;;;;iDAa0C,CAAC;AAClD,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAkB;IAC3C,IAAI,MAAM,EAAE,QAAQ,KAAK,aAAa,EAAE,CAAC;QACvC,OAAO,wBAAwB,CAAC,MAAM,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;IACrD,MAAM,gBAAgB,GAAG,YAAY;SAClC,IAAI,EAAE;SACN,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAC1B,IAAI,CAAC,UAAkB,CAAC,UAAU,IAAI,EAAE,CAC1C;aACE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAgB,EAAE,EAAE;YAC7B,MAAM,GAAG,GAAG,CAAE,IAAI,CAAC,UAAkB,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC;YAClG,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;QACxD,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,OAAO,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;IAC1D,CAAC,CAAC;SACD,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,OAAO;;;;;EAKP,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sCAkCoB,CAAC;AACvC,CAAC;AAED,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAE9E,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAElC,SAAS,UAAU,CAAC,QAA+B;IACjD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,gBAAgB,CAAC,QAA+B;IACvD,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC;IAE1C,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,CAAC,CAAC;IACnB,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IAE5C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAEzC,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YAC3E,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACzE,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACnC,YAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,KAAK,WAAW,EAAE,CAAC,CAAC;YACjD,SAAS;QACX,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACjF,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,SAAS;QACX,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC5E,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM;QACN,SAAS;QACT;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,sBAAsB,YAAY,CAAC,MAAM,sCAAsC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,iFAAiF;SACjM;QACD,GAAG,IAAI;KACR,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,SAAiB,EACjB,MAAiB,EACjB,MAAqB,EACrB,cAAwC;IAExC,MAAM,OAAO,GAAiB;QAC5B,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,EAAE,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC,EAAE;QACtC,WAAW,EAAE,CAAC;QACd,cAAc,EAAE,CAAC;KAClB,CAAC;IAEF,MAAM,eAAe,GAAG,iCAAiC,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;IAC7F,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,UAAU,GAAc;YAC5B,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,eAAe;YACxB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/B,MAAM,CAAC,UAAU,CAAC,CAAC;QACnB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,QAAQ,GAA0B;QACtC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAAE;KACvD,CAAC;IAEF,MAAM,iBAAiB,GAAG,yBAAyB,CAAC,cAAc,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG,iBAAiB;QACnC,CAAC,CAAC,4BAA4B,iBAAiB,wBAAwB,SAAS,EAAE;QAClF,CAAC,CAAC,SAAS,CAAC;IACd,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;IAEtD,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,cAAc,EAAE,SAAS,EAAE,EAAE,CAAC;QAChE,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,kBAAkB,EAAE,CAAC;YAC9C,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC9C,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,QAA4B,CAAC;QACjC,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE;gBAC9C,WAAW,EAAE,GAAG;gBAChB,SAAS,EAAE,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC;aACnD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChE,IAAI,SAAS,KAAK,CAAC,IAAI,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvD,MAAM,YAAY,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;gBACnD,MAAM,eAAe,GAAc;oBACjC,IAAI,EAAE,SAAS;oBACf,OAAO,EACL,YAAY,KAAK,iBAAiB;wBAChC,CAAC,CAAC,+HAA+H;wBACjI,CAAC,CAAC,wFAAwF;oBAC9F,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC;gBACF,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBACpC,MAAM,CAAC,eAAe,CAAC,CAAC;gBAExB,MAAM,cAAc,GAAc;oBAChC,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,gCAAgC,CAAC,SAAS,EAAE,cAAc,EAAE,YAAY,CAAC;oBAClF,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC;gBACF,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACnC,MAAM,CAAC,cAAc,CAAC,CAAC;gBACvB,MAAM;YACR,CAAC;YAED,MAAM,IAAI,GAAc;gBACtB,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,cAAc,MAAM,EAAE;gBAC/B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YACF,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,CAAC;YACb,MAAM;QACR,CAAC;QAED,OAAO,CAAC,WAAW,IAAI,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC;QAClD,OAAO,CAAC,cAAc,IAAI,QAAQ,CAAC,SAAS,CAAC;QAE7C,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC;QAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QAEzD,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACvE,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,UAAU,GAAc;gBAC5B,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,SAAS;gBAClB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YACF,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/B,MAAM,CAAC,UAAU,CAAC,CAAC;YACnB,MAAM;QACR,CAAC;QAED,MAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QACtE,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,WAAW,GAAc;gBAC7B,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,cAAc;gBACvB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YACF,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAChC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtB,CAAC;QAED,IAAI,QAAyD,CAAC;QAC9D,IAAI,CAAC;YACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,QAAQ,CAAC,IAAI,GAAG,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClE,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,OAAO,GAAc;gBACzB,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,6CAA6C;gBACtD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YACF,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5B,MAAM,CAAC,OAAO,CAAC,CAAC;YAEhB,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,mFAAmF;aAC7F,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,MAAM,QAAQ,GAAc;YAC1B,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,WAAW,QAAQ,CAAC,IAAI,EAAE;YACnC,QAAQ,EAAE,QAAQ,CAAC,IAAI;YACvB,QAAQ,EAAE,QAAQ,CAAC,IAAI;YACvB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEjB,IAAI,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YACjE,MAAM,WAAW,GAAc;gBAC7B,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,uBAAuB,QAAQ,CAAC,IAAI,kCAAkC;gBAC/E,QAAQ,EAAE,QAAQ,CAAC,IAAI;gBACvB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YACF,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAChC,MAAM,CAAC,WAAW,CAAC,CAAC;YAEpB,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,kBAAkB,QAAQ,CAAC,IAAI,oGAAoG;aAC7I,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,MAAM,cAAc,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,aAAa,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;YACvD,MAAM,SAAS,GAAc;gBAC3B,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,qBAAqB,QAAQ,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC/K,QAAQ,EAAE,QAAQ,CAAC,IAAI;gBACvB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YACF,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9B,MAAM,CAAC,SAAS,CAAC,CAAC;YAElB,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,uBAAuB,QAAQ,CAAC,IAAI,MAAM,aAAa,0KAA0K;aAC3O,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,IAAI,cAAc,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAc;gBAC1B,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,uBAAuB,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACzG,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YACF,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7B,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,SAAS,GAAc;gBAC3B,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,gBAAgB,MAAM,CAAC,KAAK,EAAE;gBACvC,QAAQ,EAAE,QAAQ,CAAC,IAAI;gBACvB,UAAU,EAAE,MAAM;gBAClB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YACF,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9B,MAAM,CAAC,SAAS,CAAC,CAAC;YAElB,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,iBAAiB,QAAQ,CAAC,IAAI,aAAa,MAAM,CAAC,KAAK,2KAA2K;aAC5O,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GAAc;YAC5B,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE,QAAQ,CAAC,IAAI;YACvB,UAAU,EAAE,MAAM;YAClB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/B,MAAM,CAAC,UAAU,CAAC,CAAC;QAEnB,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;QAE7C,MAAM,WAAW,GAAG,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,WAAW,GAAc;gBAC7B,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,6BAA6B,WAAW,CAAC,OAAO,EAAE;gBAC3E,QAAQ,EAAE,QAAQ,CAAC,IAAI;gBACvB,UAAU,EAAE,MAAM;gBAClB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YACF,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAChC,MAAM,CAAC,WAAW,CAAC,CAAC;YAEpB,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,kBAAkB,QAAQ,CAAC,IAAI,MAAM,WAAW,CAAC,OAAO,eAAe,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,uLAAuL;aACjT,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,OAAO,GACX,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC;QAE1F,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,iBAAiB,QAAQ,CAAC,IAAI,MAAM,MAAM,CAAC,OAAO,WAAW,OAAO,8FAA8F;SAC5K,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC1F,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,0JAA0J;SACpK,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE;gBACzD,WAAW,EAAE,GAAG;gBAChB,SAAS,EAAE,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC;aACpD,CAAC,CAAC;YAEH,OAAO,CAAC,WAAW,IAAI,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC;YACvD,OAAO,CAAC,cAAc,IAAI,aAAa,CAAC,SAAS,CAAC;YAElD,MAAM,SAAS,GAAc;gBAC3B,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,aAAa,CAAC,IAAI;gBAC3B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YACF,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9B,MAAM,CAAC,SAAS,CAAC,CAAC;QACpB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,WAAW,GAAc;gBAC7B,IAAI,EAAE,QAAQ;gBACd,OAAO,EACL,wDAAwD;oBACxD,OAAO,CAAC,KAAK;yBACV,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC;yBACzE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;yBAClC,IAAI,CAAC,IAAI,CAAC;gBACf,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YACF,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAChC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,8EAA8E;AAC9E,uCAAuC;AACvC,8EAA8E;AAE9E,MAAM,OAAO,iBAAiB;IACpB,OAAO,GAA4B,EAAE,CAAC;IACtC,OAAO,GAAmB,EAAE,CAAC;IAErC,YAAY,OAAyE;QACnF,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QAC/C,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,GAAG,CACP,KAAa,EACb,MAAiB,EACjB,MAAqB;QAErB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACpE,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QACvD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,CAAC,OAAwE;QAC9E,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,cAAc,CAAC,OAAgC;QAC7C,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;IAChC,CAAC;IAED,UAAU;QACR,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,UAAU;QACR,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,YAAY;QACV,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=skill-tools.d.ts.map
@@ -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":"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"}
@@ -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;AAEzB,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;AAuDtD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,SAAS,MAAM,EAAE,CAEpF;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE1F;AAuSD,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"}
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"}
@@ -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
- return agent === 'orchestrator' ? [] : ROLE_TOOL_ALLOWLIST[agent];
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?```/);