nothumanallowed 13.2.20 → 13.2.21

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": "13.2.20",
3
+ "version": "13.2.21",
4
4
  "description": "NotHumanAllowed — 38 AI agents, 80 tools, Studio (visual agentic workflows). Email, calendar, browser automation, screen capture, canvas, cron/heartbeat, Alexandria E2E messaging, GitHub, Notion, Slack, voice chat, free AI (Liara), 28 languages. Zero-dependency CLI.",
5
5
  "type": "module",
6
6
  "bin": {
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 = '13.2.20';
8
+ export const VERSION = '13.2.21';
9
9
  export const BASE_URL = 'https://nothumanallowed.com/cli';
10
10
  export const API_BASE = 'https://nothumanallowed.com/api/v1';
11
11
 
@@ -661,6 +661,10 @@ function parseSSEText(text, format, onToken) {
661
661
  }
662
662
  }
663
663
  if (out) {
664
+ // Qwen3 emits tokens without spaces between words — insert space when needed
665
+ if (fullText && out && !/[\s\n]$/.test(fullText) && !/^[\s\n.,;:!?)\]}'"]/.test(out)) {
666
+ out = ' ' + out;
667
+ }
664
668
  fullText += out;
665
669
  if (onToken) onToken(out);
666
670
  }
@@ -724,6 +728,10 @@ async function streamSSEWithCallback(res, format, onToken) {
724
728
  }
725
729
  }
726
730
  if (out) {
731
+ // Qwen3 emits tokens without spaces between words — insert space when needed
732
+ if (fullText && out && !/[\s\n]$/.test(fullText) && !/^[\s\n.,;:!?)\]}'"]/.test(out)) {
733
+ out = ' ' + out;
734
+ }
727
735
  fullText += out;
728
736
  if (onToken) onToken(out);
729
737
  }