nothumanallowed 15.0.9 → 15.0.10

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": "15.0.9",
3
+ "version": "15.0.10",
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 = '15.0.9';
8
+ export const VERSION = '15.0.10';
9
9
  export const BASE_URL = 'https://nothumanallowed.com/cli';
10
10
  export const API_BASE = 'https://nothumanallowed.com/api/v1';
11
11
 
@@ -41,6 +41,7 @@ class SandboxManager {
41
41
  constructor() {
42
42
  /** @type {{ proc: import('child_process').ChildProcess; port: number; projectName: string; startedAt: Date; healthy: boolean } | null} */
43
43
  this._sandbox = null;
44
+ this._stoppedByUser = false;
44
45
  }
45
46
 
46
47
  isRunning() {
@@ -61,6 +62,7 @@ class SandboxManager {
61
62
 
62
63
  async stop() {
63
64
  if (!this._sandbox) return;
65
+ this._stoppedByUser = true;
64
66
  const { proc, port } = this._sandbox;
65
67
  this._sandbox = null;
66
68
 
@@ -104,6 +106,7 @@ class SandboxManager {
104
106
  */
105
107
  async start(projectName, projectDir, emit, _attempt = 1) {
106
108
  const MAX_RETRIES = 3;
109
+ this._stoppedByUser = false;
107
110
 
108
111
  // Kill any existing sandbox
109
112
  if (this.isRunning()) {
@@ -239,8 +242,8 @@ class SandboxManager {
239
242
 
240
243
  // ── Crash handling — auto-fix missing modules ─────────────────────────
241
244
  const exitCode = typeof healthy === 'object' ? healthy.exitCode : -1;
242
- // If sandbox was stopped by user (stop() nullifies _sandbox), don't report as crash
243
- if (!this._sandbox && exitCode <= 0) return;
245
+ // If user pressed Stop, don't report as crash
246
+ if (this._stoppedByUser) return;
244
247
  emit({ type: 'status', msg: `Process exited with code ${exitCode}` });
245
248
 
246
249
  // Extract missing module name from stderr