nothumanallowed 13.5.5 → 13.5.6
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 +2 -0
- package/src/constants.mjs +1 -1
- package/src/services/web-ui.mjs +42 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nothumanallowed",
|
|
3
|
-
"version": "13.5.
|
|
3
|
+
"version": "13.5.6",
|
|
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
|
@@ -3529,6 +3529,7 @@ ${context ? `## OUTPUT FROM PREVIOUS AGENTS (use only what is RELEVANT to the wo
|
|
|
3529
3529
|
} else if (useStructuredGen) {
|
|
3530
3530
|
// ── Structured Generation ─────────────────────────────────
|
|
3531
3531
|
// Phase 1: ask for ONLY the section outline (headings list), fast and cheap
|
|
3532
|
+
sendToken('[Pianificazione struttura report...] ');
|
|
3532
3533
|
const structConfig = Object.assign({}, config, { thinking: 'off' });
|
|
3533
3534
|
const outlineSys = `You are ${agent}, a specialist AI agent. Today is ${today}. Respond in ${language}.
|
|
3534
3535
|
Your task: plan the sections of a complete structured report for this goal: ${task}
|
|
@@ -3591,6 +3592,7 @@ ${dataBlock}
|
|
|
3591
3592
|
${writtenSoFar ? `## REPORT WRITTEN SO FAR (for consistency):\n${writtenSoFar.slice(-3000)}` : ''}`;
|
|
3592
3593
|
const secUser = `Write the complete body content for this section (do NOT repeat the heading):\n${heading}`;
|
|
3593
3594
|
sendToken('\n\n' + heading + '\n');
|
|
3595
|
+
sendToken('[Sezione ' + (si + 1) + ' di ' + headingLines.length + '...] ');
|
|
3594
3596
|
let secContent = '';
|
|
3595
3597
|
try {
|
|
3596
3598
|
secContent = await streamCall(secSys, secUser, { max_tokens: 2000, thinking: 'off' }, 60000, sendToken);
|
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.6';
|
|
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
|
@@ -3405,7 +3405,20 @@ function studioLog(agent, icon, text, type, update) {
|
|
|
3405
3405
|
var time = new Date().toLocaleTimeString('en', {hour:'2-digit', minute:'2-digit', second:'2-digit', hour12:false});
|
|
3406
3406
|
if (update && studioState.log.length) {
|
|
3407
3407
|
var last = studioState.log[studioState.log.length - 1];
|
|
3408
|
-
if (last.agent === agent) {
|
|
3408
|
+
if (last.agent === agent) {
|
|
3409
|
+
last.text = text; last.type = type || last.type;
|
|
3410
|
+
// Streaming finished: remove data-rlen from the DOM entry so renderStudioLog re-renders it as markdown
|
|
3411
|
+
var logEl = document.getElementById('studioLog');
|
|
3412
|
+
if (logEl) {
|
|
3413
|
+
var entries = logEl.querySelectorAll('.studio-log-entry');
|
|
3414
|
+
var lastEntry = entries[entries.length - 1];
|
|
3415
|
+
if (lastEntry) {
|
|
3416
|
+
var tb2 = lastEntry.querySelector('.studio-log-entry__text');
|
|
3417
|
+
if (tb2) tb2.removeAttribute(String.fromCharCode(100,97,116,97,45,114,108,101,110));
|
|
3418
|
+
}
|
|
3419
|
+
}
|
|
3420
|
+
renderStudioLog(); return;
|
|
3421
|
+
}
|
|
3409
3422
|
}
|
|
3410
3423
|
studioState.log.push({agent: agent, icon: icon, text: text, time: time, type: type||'agent'});
|
|
3411
3424
|
renderStudioLog();
|
|
@@ -3946,9 +3959,18 @@ function renderStudioLog() {
|
|
|
3946
3959
|
if (!el) return;
|
|
3947
3960
|
if (!studioState.log.length) { el.style.display = 'none'; return; }
|
|
3948
3961
|
el.style.display = 'block';
|
|
3949
|
-
|
|
3962
|
+
var existingEntries = el.querySelectorAll('.studio-log-entry');
|
|
3963
|
+
studioState.log.forEach(function(e, i) {
|
|
3964
|
+
var isStreaming = false;
|
|
3965
|
+
if (existingEntries[i]) {
|
|
3966
|
+
var tb = existingEntries[i].querySelector('.studio-log-entry__text');
|
|
3967
|
+
if (tb && tb.getAttribute(String.fromCharCode(100,97,116,97,45,114,108,101,110)) !== null) {
|
|
3968
|
+
isStreaming = true;
|
|
3969
|
+
}
|
|
3970
|
+
}
|
|
3971
|
+
if (isStreaming) return; // leave streaming entry DOM untouched
|
|
3950
3972
|
var cls = 'studio-log-entry' + (e.type === 'system' ? ' studio-log-entry--system' : e.type === 'error' ? ' studio-log-entry--error' : '');
|
|
3951
|
-
|
|
3973
|
+
var html = '<div class="' + cls + '">' +
|
|
3952
3974
|
'<div class="studio-log-entry__header">' +
|
|
3953
3975
|
'<span class="studio-log-entry__icon">' + e.icon + '</span>' +
|
|
3954
3976
|
'<span class="studio-log-entry__agent">' + esc(e.agent) + '</span>' +
|
|
@@ -3956,7 +3978,20 @@ function renderStudioLog() {
|
|
|
3956
3978
|
'</div>' +
|
|
3957
3979
|
'<div class="studio-log-entry__text md-body">' + renderMd(e.text) + '</div>' +
|
|
3958
3980
|
'</div>';
|
|
3959
|
-
|
|
3981
|
+
if (existingEntries[i]) {
|
|
3982
|
+
existingEntries[i].outerHTML = html;
|
|
3983
|
+
} else {
|
|
3984
|
+
var div = document.createElement('div');
|
|
3985
|
+
div.innerHTML = html;
|
|
3986
|
+
el.appendChild(div.firstChild);
|
|
3987
|
+
}
|
|
3988
|
+
// refresh reference after replacement
|
|
3989
|
+
existingEntries = el.querySelectorAll('.studio-log-entry');
|
|
3990
|
+
});
|
|
3991
|
+
// remove extra entries (shouldn't happen but be safe)
|
|
3992
|
+
while (el.querySelectorAll('.studio-log-entry').length > studioState.log.length) {
|
|
3993
|
+
el.removeChild(el.lastChild);
|
|
3994
|
+
}
|
|
3960
3995
|
el.scrollTop = el.scrollHeight;
|
|
3961
3996
|
}
|
|
3962
3997
|
|
|
@@ -5541,6 +5576,9 @@ function runStudioStep(idx, node, task, context, stepDef, signal) {
|
|
|
5541
5576
|
var stEl = document.getElementById(\x27streamText_\x27 + idx);
|
|
5542
5577
|
if (stEl) { stEl.appendChild(document.createTextNode(newChars)); }
|
|
5543
5578
|
tb.setAttribute(String.fromCharCode(100,97,116,97,45,114,108,101,110), String(output.length));
|
|
5579
|
+
// Keep studioState.log in sync so renderStudioLog() final call has current text
|
|
5580
|
+
var logLen = studioState.log.length;
|
|
5581
|
+
if (logLen > 0) { studioState.log[logLen - 1].text = output; }
|
|
5544
5582
|
}
|
|
5545
5583
|
// Update iso thought bubble of the active agent
|
|
5546
5584
|
var isoB = document.getElementById(\x27isobubble_\x27+idx);
|