nothumanallowed 13.2.21 → 13.2.23

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.2.21",
3
+ "version": "13.2.23",
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.21';
8
+ export const VERSION = '13.2.23';
9
9
  export const BASE_URL = 'https://nothumanallowed.com/cli';
10
10
  export const API_BASE = 'https://nothumanallowed.com/api/v1';
11
11
 
@@ -638,6 +638,11 @@ function onConversationSwitch(){
638
638
  }
639
639
  }
640
640
 
641
+ function openCanvasPanel(){
642
+ var cp = document.getElementById('canvasPanel');
643
+ if (cp) cp.classList.add('open');
644
+ }
645
+
641
646
  function reopenCanvas(){
642
647
  var d=getConvCanvasData();
643
648
  canvasIdx=d.canvases.length-1;
@@ -2830,7 +2835,11 @@ function renderStudioResult() {
2830
2835
  if (!el) return;
2831
2836
  if (!studioState.result) { el.style.display = 'none'; return; }
2832
2837
  el.style.display = 'block';
2833
- el.innerHTML = '<div class="studio-result__title">&#10003; Final Result</div><div class="studio-result__body md-body">' + renderMd(studioState.result) + '</div>';
2838
+ var isHtml = studioState.result.trimStart().startsWith('<');
2839
+ var body = isHtml
2840
+ ? '<div style="display:flex;align-items:center;gap:12px;flex-wrap:wrap"><span style="color:var(--dim);font-size:13px">&#10003; Dashboard HTML generata nel pannello Canvas.</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">&#x25A3; Apri Canvas</button></div>'
2841
+ : '<div class="md-body">' + renderMd(studioState.result) + '</div>';
2842
+ el.innerHTML = '<div class="studio-result__title">&#10003; Workflow completato</div>' + body;
2834
2843
  }
2835
2844
 
2836
2845
  function studioSetNodeStatus(idx, status) {
@@ -2903,7 +2912,8 @@ async function runStudio() {
2903
2912
  break;
2904
2913
  }
2905
2914
  studioSetNodeStatus(i, 'done');
2906
- studioLog(node.label, node.icon, stepResult.output || '(done)', 'agent', true);
2915
+ var realOutput = (stepResult.output && stepResult.output !== '(no output)') ? stepResult.output : null;
2916
+ studioLog(node.label, node.icon, realOutput || (stepResult.canvas ? '[Canvas report generated]' : '(done)'), 'agent', true);
2907
2917
  // If CanvasAgent produced HTML, open it in the canvas panel
2908
2918
  if (stepResult.canvas) {
2909
2919
  var cf = document.getElementById('canvasFrame');
@@ -2915,7 +2925,7 @@ async function runStudio() {
2915
2925
  if (ct) ct.textContent = node.label + ' Report';
2916
2926
  }
2917
2927
  }
2918
- context = stepResult.output || stepResult.canvas || context;
2928
+ context = realOutput || stepResult.canvas || context;
2919
2929
  }
2920
2930
 
2921
2931
  // Final result is the last step's output
@@ -3419,13 +3429,14 @@ async function runManualWorkflow() {
3419
3429
  break;
3420
3430
  }
3421
3431
  studioSetNodeStatus(i, 'done');
3422
- studioLog(s.label, s.icon, stepResult.output || '(done)', 'agent', true);
3432
+ var realOut2 = (stepResult.output && stepResult.output !== '(no output)') ? stepResult.output : null;
3433
+ studioLog(s.label, s.icon, realOut2 || (stepResult.canvas ? '[Canvas report generated]' : '(done)'), 'agent', true);
3423
3434
  if (stepResult.canvas) {
3424
3435
  var cf = document.getElementById('canvasFrame');
3425
3436
  var cp = document.getElementById('canvasPanel');
3426
3437
  if (cf && cp) { cf.srcdoc = stepResult.canvas; cp.classList.add('open'); var ct3=document.getElementById('canvasTitle'); if(ct3) ct3.textContent='Studio Report'; }
3427
3438
  }
3428
- context = stepResult.output || stepResult.canvas || context;
3439
+ context = realOut2 || stepResult.canvas || context;
3429
3440
  }
3430
3441
  studioState.result = context;
3431
3442
  renderStudioResult();