natureco-cli 2.11.4 → 2.11.6

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "natureco-cli",
3
- "version": "2.11.4",
3
+ "version": "2.11.6",
4
4
  "description": "NatureCo AI Bot Terminal Interface",
5
5
  "main": "bin/natureco.js",
6
6
  "bin": {
@@ -211,7 +211,7 @@ body::before{
211
211
  <div class="header-bot-name" id="header-bot-name">Nature Bot</div>
212
212
  <div class="header-bot-model" id="header-bot-model">NatureCo</div>
213
213
  </div>
214
- <div class="version-badge" id="version-badge">v2.11.4</div>
214
+ <div class="version-badge" id="version-badge">v2.11.6</div>
215
215
  </div>
216
216
  <div class="messages" id="messages"></div>
217
217
  <div class="input-area">
@@ -341,7 +341,7 @@ function dashboard(action) {
341
341
  apiKey: cfg.apiKey,
342
342
  defaultBot: cfg.defaultBot,
343
343
  defaultBotId: cfg.defaultBotId,
344
- version: 'v2.11.4',
344
+ version: 'v2.11.6',
345
345
  bots: cfg.bots || [],
346
346
  telegramToken: cfg.telegramToken || null,
347
347
  whatsappConnected: cfg.whatsappConnected || false,
package/src/utils/api.js CHANGED
@@ -136,6 +136,18 @@ function getMcpTools() {
136
136
  return allTools;
137
137
  }
138
138
 
139
+ // Groq-incompatible MCP tools (strict validation issues)
140
+ const BLOCKED_MCP_TOOLS = ['search_issues', 'search_repositories'];
141
+
142
+ /**
143
+ * Get MCP tools filtered for AI consumption
144
+ * Removes tools that are incompatible with Groq's strict validation
145
+ */
146
+ function getMcpToolsForAI() {
147
+ const tools = getMcpTools();
148
+ return tools.filter(t => !BLOCKED_MCP_TOOLS.includes(t.name));
149
+ }
150
+
139
151
  /**
140
152
  * Normalize MCP tool schema for AI consumption
141
153
  * Adds hints to number/integer parameters to prevent string conversion
@@ -358,7 +370,7 @@ function getProviderConfig() {
358
370
  */
359
371
  function formatToolsForOpenAI() {
360
372
  const localTools = getToolDefinitions();
361
- const mcpTools = getMcpTools();
373
+ const mcpTools = getMcpToolsForAI(); // Use filtered MCP tools
362
374
 
363
375
  // Normalize MCP tools before combining
364
376
  const normalizedMcpTools = mcpTools.map(tool => normalizeMcpToolSchema(tool));
@@ -381,7 +393,7 @@ function formatToolsForOpenAI() {
381
393
  */
382
394
  function formatToolsForAnthropic() {
383
395
  const localTools = getToolDefinitions();
384
- const mcpTools = getMcpTools();
396
+ const mcpTools = getMcpToolsForAI(); // Use filtered MCP tools
385
397
 
386
398
  // Normalize MCP tools before combining
387
399
  const normalizedMcpTools = mcpTools.map(tool => normalizeMcpToolSchema(tool));
@@ -721,6 +733,7 @@ TOOL SELECTION GUIDE:
721
733
  systemPrompt += `\n\nCRITICAL: When filesystem MCP server is loaded, you MUST use list_directory (NOT list_dir), read_file from MCP (NOT local read_file).`;
722
734
  systemPrompt += `\nLocal tools are DISABLED when MCP equivalents exist. Always check MCP tools first.`;
723
735
  systemPrompt += `\nMCP tools have more features and better error handling than local tools.`;
736
+ systemPrompt += `\n\nFor GitHub MCP, prefer list_issues over search_issues when listing issues.`;
724
737
  }
725
738
 
726
739
  return sendMessageToProvider(apiKey, message, conversationId, systemPrompt);