nothumanallowed 13.2.98 → 13.2.99

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.98",
3
+ "version": "13.2.99",
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.98';
8
+ export const VERSION = '13.2.99';
9
9
  export const BASE_URL = 'https://nothumanallowed.com/cli';
10
10
  export const API_BASE = 'https://nothumanallowed.com/api/v1';
11
11
 
@@ -3949,10 +3949,19 @@ async function runStudio() {
3949
3949
  studioSetNodeStatus(i, 'error');
3950
3950
  break;
3951
3951
  }
3952
+ var NL = String.fromCharCode(10);
3952
3953
  if (stepResult.error) {
3953
3954
  studioSetNodeStatus(i, 'error');
3954
3955
  studioLog(node.label, node.icon, 'Error: ' + stepResult.error, 'error');
3955
- break;
3956
+ // For live-data/tool agents (first steps), a failure is critical — stop
3957
+ // For specialist/synthesis agents, log the error in context and continue
3958
+ var isEarlyToolStep = (node.agent === 'EmailAgent' || node.agent === 'CalendarAgent' || node.agent === 'GitHubAgent' || node.agent === 'WebSearchAgent' || node.agent === 'BrowserAgent');
3959
+ if (isEarlyToolStep && i === 0) { break; }
3960
+ // Non-critical: inject error note into context so CanvasAgent can note the gap
3961
+ var errNote = '## ' + node.label + ':' + NL + '[Agent unavailable: ' + stepResult.error.slice(0, 120) + ']';
3962
+ context = context ? context + NL + NL + '---' + NL + errNote : errNote;
3963
+ studioState.nodes[i].output = errNote;
3964
+ continue; // proceed to next agent
3956
3965
  }
3957
3966
  studioSetNodeStatus(i, 'done');
3958
3967
  var realOutput = (stepResult.output && stepResult.output !== '(no output)') ? stepResult.output : null;
@@ -3970,7 +3979,6 @@ async function runStudio() {
3970
3979
  }
3971
3980
  }
3972
3981
  // Accumulate context: append each step's output so specialist agents see ALL previous data
3973
- var NL = String.fromCharCode(10);
3974
3982
  if (realOutput) {
3975
3983
  context = context
3976
3984
  ? context + NL + NL + '---' + NL + '## ' + node.label + ':' + NL + realOutput