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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nothumanallowed",
3
- "version": "13.5.28",
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": {
@@ -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
- context ? `## PREVIOUS AGENTS OUTPUT:\n${context}` : '',
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 open new headings or sub-sections — write flowing prose + bullet points
3590
- - Do NOT invent data use ONLY what is in the DATA block below
3591
- - Be thorough, specific, and complete this is one section of an executive report
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, for consistency):\n${completedHeadings}` : ''}`;
3595
- const secUser = `Write the complete body content for this section (do NOT repeat the heading):\n${heading}`;
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.28';
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
 
@@ -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.28-->';
3328
+ var _PARL_STAMP = '<!--nha-parl-v13.5.29-->';
3329
3329
 
3330
3330
  function stopStudio() {
3331
3331
  if (!studioState.running) return;