nothumanallowed 9.3.15 → 9.3.16

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": "nothumanallowed",
3
- "version": "9.3.15",
3
+ "version": "9.3.16",
4
4
  "description": "NotHumanAllowed — 38 AI agents + 58 tools + browser automation + web search. Streaming chat, headless Chrome CDP, multi-conversation, export. Gmail, Calendar, Drive, GitHub, Notion, Slack. Zero-dependency CLI.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1001,7 +1001,7 @@ export async function cmdUI(args) {
1001
1001
  if (toolResults.length > 0) {
1002
1002
  // Second LLM call with real tool results — forces the LLM to use actual data
1003
1003
  const toolContext = toolResults.map(t => `[${t.action} result]: ${t.result.slice(0, 3000)}`).join('\n\n');
1004
- const followUp = `The user asked: "${body.message}"\n\nI executed these tools and got REAL results:\n\n${toolContext}\n\nNow respond to the user based ONLY on the REAL data above. Do NOT invent or fabricate any information. Present the actual results clearly.`;
1004
+ const followUp = `The user asked: "${body.message}"\n\nI executed these tools and got REAL results:\n\n${toolContext}\n\nNow respond conversationally based ONLY on the REAL data above. Do NOT output any JSON blocks just natural text.`;
1005
1005
  try {
1006
1006
  fullResponse = await callLLM(config, enrichedSystemPrompt, followUp);
1007
1007
  } catch {
@@ -1256,12 +1256,14 @@ export async function cmdUI(args) {
1256
1256
  let finalResponse = fullResponse;
1257
1257
  if (toolResults.length > 0) {
1258
1258
  const toolContext = toolResults.map(t => `[${t.action} result]: ${t.result.slice(0, 3000)}`).join('\n\n');
1259
- const followUp = `The user asked: "${msg}"\n\nI executed these tools and got REAL results:\n\n${toolContext}\n\nNow respond to the user based ONLY on the REAL data above. Present the actual results clearly.`;
1259
+ const followUp = `The user asked: "${msg}"\n\nI executed these tools and got REAL results:\n\n${toolContext}\n\nNow respond to the user conversationally based ONLY on the REAL data above. Present the results clearly. Do NOT output any JSON blocks — just natural text.`;
1260
1260
  sendSSE('tool_synthesis', {});
1261
1261
  try {
1262
1262
  finalResponse = await callLLMStream(config, enrichedPrompt, followUp, (chunk) => {
1263
1263
  sendSSE('token', { content: chunk });
1264
1264
  });
1265
+ // Strip any JSON blocks the LLM might have emitted anyway
1266
+ finalResponse = finalResponse.replace(/```json[\s\S]*?```/g, '').trim();
1265
1267
  } catch {
1266
1268
  finalResponse = toolResults.map(t => `${t.action}: ${t.result}`).join('\n\n');
1267
1269
  }
package/src/constants.mjs CHANGED
@@ -5,7 +5,7 @@ import { fileURLToPath } from 'url';
5
5
  const __filename = fileURLToPath(import.meta.url);
6
6
  const __dirname = path.dirname(__filename);
7
7
 
8
- export const VERSION = '9.3.15';
8
+ export const VERSION = '9.3.16';
9
9
  export const BASE_URL = 'https://nothumanallowed.com/cli';
10
10
  export const API_BASE = 'https://nothumanallowed.com/api/v1';
11
11