nothumanallowed 13.5.28 → 13.5.29
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/commands/ui.mjs +11 -8
- package/src/constants.mjs +1 -1
- package/src/services/web-ui.mjs +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nothumanallowed",
|
|
3
|
-
"version": "13.5.
|
|
3
|
+
"version": "13.5.29",
|
|
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/commands/ui.mjs
CHANGED
|
@@ -3568,16 +3568,17 @@ Use ## prefix for each heading. Maximum 8 sections. Example:
|
|
|
3568
3568
|
fullOutputClean = stripThink(fullOutput);
|
|
3569
3569
|
} else {
|
|
3570
3570
|
// Phase 2: one call per section, each sees the sections already written
|
|
3571
|
+
// Cap context to 4000 chars max — passing the full output of previous agents
|
|
3572
|
+
// causes the model to think the content is already written and skip sections.
|
|
3573
|
+
const cappedContext = context && context.length > 4000 ? context.slice(-4000) : context;
|
|
3571
3574
|
const dataBlock = [
|
|
3572
3575
|
attachmentText ? `## ATTACHED FILE:\n${attachmentText}` : '',
|
|
3573
3576
|
toolData ? `## LIVE DATA:\n${toolData}` : '',
|
|
3574
|
-
|
|
3577
|
+
cappedContext ? `## RESEARCH DATA FROM PREVIOUS AGENTS (use as source material):\n${cappedContext}` : '',
|
|
3575
3578
|
].filter(Boolean).join('\n\n');
|
|
3576
3579
|
const sectionParts = [];
|
|
3577
3580
|
for (let si = 0; si < headingLines.length; si++) {
|
|
3578
3581
|
const heading = headingLines[si];
|
|
3579
|
-
// Pass only the headings of completed sections (not full content) to keep context small
|
|
3580
|
-
// and leave maximum token budget for the current section body.
|
|
3581
3582
|
const completedHeadings = sectionParts.map(p => p.split('\n')[0]).join('\n');
|
|
3582
3583
|
const secSys = `You are ${agent}, a specialist AI agent inside NHA Studio. Today is ${today}. Respond entirely in ${language}.
|
|
3583
3584
|
|
|
@@ -3585,14 +3586,16 @@ Use ## prefix for each heading. Maximum 8 sections. Example:
|
|
|
3585
3586
|
${task}
|
|
3586
3587
|
|
|
3587
3588
|
CRITICAL RULES:
|
|
3589
|
+
- The section below has NOT been written yet — YOU must write its full content now
|
|
3588
3590
|
- Write ONLY the body content for the section heading given — do NOT repeat the heading
|
|
3589
|
-
- Do NOT
|
|
3590
|
-
-
|
|
3591
|
-
- Be thorough
|
|
3591
|
+
- Do NOT skip, summarize, or reference "see above" — write complete original content for this section
|
|
3592
|
+
- Use the DATA block below as source material, but write in your own analytical voice
|
|
3593
|
+
- Be thorough: at least 3-5 bullet points or 2-3 full paragraphs per section
|
|
3594
|
+
- Do NOT invent data not present in the DATA block
|
|
3592
3595
|
|
|
3593
3596
|
${dataBlock}
|
|
3594
|
-
${completedHeadings ? `## SECTIONS ALREADY WRITTEN (headings only
|
|
3595
|
-
const secUser = `Write the
|
|
3597
|
+
${completedHeadings ? `## SECTIONS ALREADY WRITTEN (headings only):\n${completedHeadings}` : ''}`;
|
|
3598
|
+
const secUser = `This section has NOT been written yet. Write the COMPLETE body content for it now (minimum 150 words). Do NOT leave it empty or reference other sections:\n${heading}`;
|
|
3596
3599
|
sendToken('\n\n' + heading + '\n');
|
|
3597
3600
|
sendToken('[Sezione ' + (si + 1) + ' di ' + headingLines.length + '...] ');
|
|
3598
3601
|
let secContent = '';
|
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.5.
|
|
8
|
+
export const VERSION = '13.5.29';
|
|
9
9
|
export const BASE_URL = 'https://nothumanallowed.com/cli';
|
|
10
10
|
export const API_BASE = 'https://nothumanallowed.com/api/v1';
|
|
11
11
|
|
package/src/services/web-ui.mjs
CHANGED
|
@@ -3325,7 +3325,7 @@ var studioAbortController = null;
|
|
|
3325
3325
|
var parlActiveAgent = null; // active agent label during parliament streaming
|
|
3326
3326
|
var parlDoneAgents = {}; // set of completed agent labels during parliament
|
|
3327
3327
|
var _parlPersistHtml = null; // persists parliament block HTML across tab navigations
|
|
3328
|
-
var _PARL_STAMP = '<!--nha-parl-v13.5.
|
|
3328
|
+
var _PARL_STAMP = '<!--nha-parl-v13.5.29-->';
|
|
3329
3329
|
|
|
3330
3330
|
function stopStudio() {
|
|
3331
3331
|
if (!studioState.running) return;
|