nothumanallowed 14.1.17 → 14.1.19
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 +1 -1
- package/src/constants.mjs +1 -1
- package/src/server/routes/webcraft.mjs +11 -3
- package/src/ui-dist/assets/{index-6pTX3Jyj.css → index-CIKvCFm_.css} +1 -1
- package/src/ui-dist/assets/index-Duwu_0IN.js +548 -0
- package/src/ui-dist/index.html +2 -2
- package/src/ui-dist/assets/index-C-cyuMgu.js +0 -545
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nothumanallowed",
|
|
3
|
-
"version": "14.1.
|
|
3
|
+
"version": "14.1.19",
|
|
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 = '14.1.
|
|
8
|
+
export const VERSION = '14.1.19';
|
|
9
9
|
export const BASE_URL = 'https://nothumanallowed.com/cli';
|
|
10
10
|
export const API_BASE = 'https://nothumanallowed.com/api/v1';
|
|
11
11
|
|
|
@@ -560,13 +560,21 @@ ${authDesc}
|
|
|
560
560
|
|
|
561
561
|
Design a COMPLETE production-ready file structure. Include ALL files needed for a fully working site: server, routes, middleware, models, public HTML/CSS/JS pages, config files, README. Minimum 20 files.`;
|
|
562
562
|
|
|
563
|
-
//
|
|
563
|
+
// Emit immediately so the browser connection stays alive and the UI shows activity
|
|
564
|
+
emit({ type: 'processing', msg: 'Planning file structure...' });
|
|
565
|
+
|
|
566
|
+
// Round 1: plan files — stream so the client gets bytes immediately
|
|
564
567
|
let filePlan = [];
|
|
565
568
|
let planTokensIn = countTokens(FILE_PLAN_SYSTEM) + countTokens(planPrompt);
|
|
566
569
|
let planTokensOut = 0;
|
|
567
570
|
try {
|
|
568
|
-
|
|
569
|
-
|
|
571
|
+
let planRaw = '';
|
|
572
|
+
await callLLMStream(config, FILE_PLAN_SYSTEM, planPrompt, (chunk) => {
|
|
573
|
+
planRaw += chunk;
|
|
574
|
+
planTokensOut += countTokens(chunk);
|
|
575
|
+
// Emit heartbeat tokens so browser doesn't timeout
|
|
576
|
+
emit({ type: 'planning', chunk });
|
|
577
|
+
}, { max_tokens: 4096 });
|
|
570
578
|
const clean = planRaw.replace(/<think>[\s\S]*?<\/think>/g, '').trim()
|
|
571
579
|
.replace(/^```[\w]*\n?/, '').replace(/\n?```$/, '').trim();
|
|
572
580
|
const arr = JSON.parse(clean.match(/\[[\s\S]*\]/)?.[0] ?? clean);
|