nothumanallowed 13.2.79 → 13.2.80
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/services/web-ui.mjs +14 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nothumanallowed",
|
|
3
|
-
"version": "13.2.
|
|
3
|
+
"version": "13.2.80",
|
|
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.
|
|
8
|
+
export const VERSION = '13.2.80';
|
|
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
|
@@ -3278,6 +3278,8 @@ function studioReset() {
|
|
|
3278
3278
|
if (ta) ta.value = '';
|
|
3279
3279
|
var tb = document.getElementById('studioTokenBar');
|
|
3280
3280
|
if (tb) tb.textContent = '';
|
|
3281
|
+
var inlinePdfBtn = document.getElementById('studioInlinePdfBtn');
|
|
3282
|
+
if (inlinePdfBtn) inlinePdfBtn.style.display = 'none';
|
|
3281
3283
|
renderStudioNodes();
|
|
3282
3284
|
renderStudioLog();
|
|
3283
3285
|
renderStudioResult();
|
|
@@ -3655,8 +3657,17 @@ function renderStudioResult() {
|
|
|
3655
3657
|
var body = hasCanvas
|
|
3656
3658
|
? '<div style="display:flex;align-items:center;gap:12px;flex-wrap:wrap"><span style="color:var(--dim);font-size:13px">✓ ' + t('canvas_generated') + '</span><button onclick="openCanvasPanel()" style="padding:6px 14px;background:var(--greendim);border:1px solid var(--green3);border-radius:8px;color:var(--green);font-size:12px;cursor:pointer;font-weight:700">▣ ' + t('canvas_open') + '</button></div>'
|
|
3657
3659
|
: '<div class="md-body">' + renderMd(studioState.result) + '</div>';
|
|
3658
|
-
var
|
|
3659
|
-
|
|
3660
|
+
var tokLine = (studioTokens && (studioTokens.in > 0 || studioTokens.out > 0))
|
|
3661
|
+
? '<div style="margin-top:8px;font-size:11px;color:var(--dim);font-family:var(--mono)">⬆ ' + (studioTokens.in||0).toLocaleString() + ' token in ⬇ ' + (studioTokens.out||0).toLocaleString() + ' token out • <strong style="color:var(--green)">' + ((studioTokens.in||0)+(studioTokens.out||0)).toLocaleString() + '</strong> totale</div>'
|
|
3662
|
+
: '';
|
|
3663
|
+
var dlBtn = '<div style="margin-top:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap">' +
|
|
3664
|
+
'<button onclick="downloadStudioPDF()" title="Scarica il workflow come PDF" style="display:inline-flex;align-items:center;gap:6px;padding:8px 18px;background:linear-gradient(135deg,#4f46e5,#2563eb);border:none;border-radius:8px;color:#fff;font-size:12px;font-weight:600;cursor:pointer;letter-spacing:.3px;box-shadow:0 2px 8px rgba(79,70,229,.35)">⤓ Download PDF</button>' +
|
|
3665
|
+
'<span style="font-size:11px;color:var(--dim)">Scarica il workflow completo come documento PDF</span>' +
|
|
3666
|
+
'</div>';
|
|
3667
|
+
el.innerHTML = '<div class="studio-result__title">✓ ' + t('workflow_complete') + '</div>' + body + tokLine + dlBtn;
|
|
3668
|
+
// Show/hide inline PDF button in the prompt bar
|
|
3669
|
+
var inlinePdfBtn = document.getElementById('studioInlinePdfBtn');
|
|
3670
|
+
if (inlinePdfBtn) inlinePdfBtn.style.display = 'inline-flex';
|
|
3660
3671
|
// Update canvas button style: bright green when canvas exists, dimmed otherwise
|
|
3661
3672
|
var canvasBtn = document.getElementById('studioCanvasBtn');
|
|
3662
3673
|
if (canvasBtn) {
|
|
@@ -4186,6 +4197,7 @@ function renderStudio(el) {
|
|
|
4186
4197
|
'<button onclick="document.getElementById(\\x27studioFileInput\\x27).click()" title="Attach PDF or image" style="padding:8px 10px;background:none;border:1px solid var(--border);border-radius:8px;color:var(--dim);cursor:pointer;font-size:15px" ' + (studioState.running ? 'disabled' : '') + '>📎</button>' +
|
|
4187
4198
|
'<button id="studioRunBtn" class="studio-run-btn" onclick="runStudio()" style="flex:1" ' + (studioState.running ? 'disabled' : '') + '>' + t('run') + '</button>' +
|
|
4188
4199
|
'<button id="studioStopBtn" onclick="stopStudio()" title="' + t('stop') + '" style="padding:8px 14px;background:#7f1d1d;border:1px solid #ef4444;border-radius:8px;color:#ef4444;cursor:pointer;font-size:13px;font-weight:700;white-space:nowrap;' + (studioState.running ? '' : 'display:none') + '">■ ' + t('stop') + '</button>' +
|
|
4200
|
+
'<button id="studioInlinePdfBtn" onclick="downloadStudioPDF()" title="Scarica PDF del risultato" style="display:' + (studioState.result ? 'inline-flex' : 'none') + ';align-items:center;gap:5px;padding:8px 12px;background:linear-gradient(135deg,#4f46e5,#2563eb);border:none;border-radius:8px;color:#fff;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;box-shadow:0 2px 6px rgba(79,70,229,.35)">⤓ PDF</button>' +
|
|
4189
4201
|
'<button onclick="studioReset()" title="' + t('reset') + '" style="padding:8px 12px;background:none;border:1px solid var(--border);border-radius:8px;color:var(--dim);cursor:pointer;font-size:16px;line-height:1" ' + (studioState.running ? 'disabled' : '') + '>↻</button>' +
|
|
4190
4202
|
'</div>' +
|
|
4191
4203
|
'</div>' +
|