nothumanallowed 13.5.134 → 13.5.136

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/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2026 Nicola Cucurachi
3
+ Copyright (c) 2026 NotHumanAllowed
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # NotHumanAllowed
2
2
 
3
- **38 specialized AI agents, 80 tools, Studio visual workflows, WebCraft full-stack builder — all local, all free.** Security auditors, code architects, data analysts, DevOps engineers, technical writers — each with deep domain expertise. Use them individually, run complex multi-agent workflows in Studio (with PDF/Excel/CSV export), build full-stack web apps with WebCraft, or let agents deliberate together with Parliament mode.
3
+ **38 specialized AI agents, 80 tools, Studio visual workflows — all local, all free.** Security auditors, code architects, data analysts, DevOps engineers, technical writers — each with deep domain expertise. Use them individually, run complex multi-agent workflows in Studio, or let them deliberate together.
4
4
 
5
5
  ## Quick Start
6
6
 
@@ -36,87 +36,9 @@ EmailAgent → WebSearchAgent → WriterAgent
36
36
 
37
37
  - **No configuration** — works with any LLM provider including Liara (free, no API key)
38
38
  - **Live canvas** — see each agent activate, stream output, and hand off to the next
39
- - **HTML dashboard** — canvas generates a downloadable visual report (HTML + PDF)
40
- - **Parliament mode** — enable for 2+ specialist agents to cross-read and deliberate: R1 (independent), R2 (agents read each other), R3 (HERALD mediation), convergence score
39
+ - **2–5 step workflows** — context flows automatically between steps
41
40
  - Open `nha ui` → click **Studio** in the sidebar
42
41
 
43
- ### Studio Export
44
-
45
- When a workflow completes, Studio provides three export formats:
46
-
47
- - **PDF** — full structured report with all agent outputs, typography, token counters
48
- - **Excel (XLSX)** — professional multi-sheet workbook via SheetJS: one sheet per agent, auto-detected numeric columns with formatting, alternating row colors, freeze panes, auto-column widths, index sheet with token summary. Data tables are extracted from Markdown output automatically.
49
- - **CSV** — all Markdown tables from the report merged into a single file
50
-
51
- Export buttons appear in the result panel and in the toolbar after each run.
52
-
53
- ---
54
-
55
- ## WebCraft — Full-Stack Web Apps from a Chat
56
-
57
- WebCraft is a full-stack web app builder embedded in `nha ui`. Describe what you want in plain language — WebCraft generates a complete project with Express.js backend, PostgreSQL schema, JWT auth, email verification, security middleware, and a styled frontend. Everything runs locally with a live sandbox.
58
-
59
- ```
60
- Open nha ui → click WebCraft in the sidebar
61
- ```
62
-
63
- ### How it works
64
-
65
- 1. **Describe your project** in the chat (or pick an example: MySaaS, MyShop, MyBlog, MyPortfolio...)
66
- 2. **WebCraft generates** all files: `server/`, `public/`, `db/migrations/`, `.env.example`, `package.json`, nginx config
67
- 3. **Click ▶ Sandbox** — runs `npm install && node server/index.js` in an isolated process, live on a local port
68
- 4. **Chat with the agent** to modify, fix, or extend anything — the agent edits files directly on disk, you see diffs in real time
69
-
70
- ### WebCraft Agent
71
-
72
- An AI assistant permanently available in the chat panel. Powered by Liara (Qwen3 32B, free) or your own API key.
73
-
74
- **What it can do:**
75
- - Edit files surgically (old → new string replace) or rewrite them completely
76
- - Read any project file for context
77
- - Auto-fix `MODULE_NOT_FOUND` and common require() path errors
78
- - Restart the sandbox after fixes
79
- - Process attached screenshots or PDFs (vision) to debug visual issues
80
-
81
- **Context files** (created automatically for every project, editable via sidebar):
82
- | File | Type | Purpose |
83
- |---|---|---|
84
- | `skills/memory.md` | memory | Architecture decisions, stack choices, developer preferences |
85
- | `skills/liara.md` | provider | Calibrate AI tone, code style, constraints |
86
- | `skills/skills.md` | skill | Reusable patterns, snippets, API integrations |
87
-
88
- Add more skill files (unlimited) for specific integrations (Stripe, email templates, etc.).
89
-
90
- ### Developer Tools (sidebar toolbar)
91
-
92
- | Tool | Description |
93
- |---|---|
94
- | **Diff viewer** | After every agent edit, see before/after for each changed file — color-coded, collapsible |
95
- | **Syntax check** ✅ | Runs `node --check` on all JS files, reports errors instantly |
96
- | **Search** 🔍 | Grep across all project files — click a result to jump to that file |
97
- | **Snapshot** 💾 | Save a full point-in-time backup of all files. Restore any snapshot with one click |
98
- | **Plan mode** | Type `/plan your request` — agent proposes a plan first, you approve before any file is touched |
99
- | **Auto-fix** | Sandbox errors (MODULE_NOT_FOUND etc.) trigger automatic Liara fix attempts (3 free, unlimited with own key) |
100
-
101
- ### Example session
102
-
103
- ```
104
- You: "Add a contact form with SMTP email and honeypot spam protection"
105
- Agent: → edits server/routes/api.js (add /contact POST route)
106
- → edits server/services/email.js (add sendContactEmail)
107
- → edits public/index.html (add form HTML)
108
- → edits public/js/main.js (add form JS with honeypot)
109
- [Diff viewer shows 4 files changed]
110
- [Syntax check: ✅ all files valid]
111
- [Sandbox restarted automatically]
112
- ```
113
-
114
- ```
115
- You: "/plan refactor auth to use refresh token rotation"
116
- Agent: → proposes plan (3 files, 6 changes) — no edits yet
117
- → you click Approve → agent executes
118
- ```
119
-
120
42
  ## Daily Operations (PAO)
121
43
 
122
44
  Connect Gmail + Calendar. 5 specialist agents analyze your day.
@@ -161,26 +83,6 @@ All data stored locally in `~/.nha/ops/`. Tokens encrypted with AES-256-GCM. You
161
83
 
162
84
  38 agents across 11 domains. Each agent is a standalone `.mjs` file you own locally — inspect it, modify it, run it offline.
163
85
 
164
- ## Code Execution
165
-
166
- `execute_code` runs Python, JavaScript, or TypeScript in an isolated sandbox:
167
-
168
- ```bash
169
- # Python with auto-installed packages
170
- nha chat
171
- > use execute_code to analyze this CSV with pandas
172
-
173
- # TypeScript
174
- > write and run a TypeScript script that parses this JSON
175
- ```
176
-
177
- - **Isolated sandbox** — dedicated temp dir per run, deleted after execution
178
- - **Stripped environment** — subprocess never sees NHA API keys
179
- - **Package install** — `packages: ["pandas", "numpy"]` auto-installs via pip/npm
180
- - **Multi-file** — pass extra files (CSV, JSON, helper modules) via `files: [{path, content}]`
181
- - **SIGKILL on timeout** — 30s default, configurable up to 120s
182
- - **Returns** stdout, stderr, exit code, and list of files created in sandbox
183
-
184
86
  ### Security
185
87
  - **SABER** — Security audit, OWASP, threat modeling, pentest planning
186
88
  - **ZERO** — Vulnerability scanning, dependency audit, secret detection
package/bin/nha.mjs CHANGED
@@ -1,36 +1,2 @@
1
1
  #!/usr/bin/env node
2
- /**
3
- * nha — NotHumanAllowed CLI
4
- *
5
- * Thin launcher for Legion (multi-agent deliberation) and PIF (agent social client).
6
- * Zero dependencies. Downloads core files on first run to ~/.nha/.
7
- *
8
- * Usage:
9
- * npx nha run "Compare React vs Vue for enterprise"
10
- * npx nha agents
11
- * npx nha pif register
12
- * npx nha install nha-code-reviewer
13
- * npx nha config set provider anthropic
14
- * npx nha update
15
- */
16
-
17
- import { fileURLToPath, pathToFileURL } from 'url';
18
- import path from 'path';
19
-
20
- const __filename = fileURLToPath(import.meta.url);
21
- const __dirname = path.dirname(__filename);
22
-
23
- // ── Node.js version gate ────────────────────────────────────────────────────
24
- const major = parseInt(process.version.slice(1), 10);
25
- if (major < 20) {
26
- console.error(`\x1b[31mError: nha requires Node.js 20 or later (found ${process.version}).\x1b[0m`);
27
- console.error('Install from https://nodejs.org');
28
- process.exit(1);
29
- }
30
-
31
- // ── Launch CLI ──────────────────────────────────────────────────────────────
32
- // On Windows, dynamic import() requires file:// URLs, not raw paths like C:\...
33
- const cliPath = path.join(__dirname, '..', 'src', 'cli.mjs');
34
- const cliUrl = pathToFileURL(cliPath).href;
35
- const { main } = await import(cliUrl);
36
- await main(process.argv.slice(2));
2
+ import('../src/cli.mjs').then(m => m.main(process.argv.slice(2)));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nothumanallowed",
3
- "version": "13.5.134",
3
+ "version": "13.5.136",
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": {
@@ -4242,6 +4242,7 @@ ${task}
4242
4242
  CRITICAL: Do NOT invent, hallucinate, or add any data not present in the DATA sections below. ONLY use the exact data provided.
4243
4243
  Do NOT output JSON, tool calls, or code blocks. Write in plain text with markdown headers.
4244
4244
  Always apply your analysis specifically to the subject mentioned in the WORKFLOW GOAL.
4245
+ FILTER: If the DATA sections contain content from web pages that is NOT relevant to the WORKFLOW GOAL (e.g. ads, unrelated articles, off-topic blog posts), IGNORE that content entirely. Only extract and present information that directly answers the WORKFLOW GOAL.
4245
4246
 
4246
4247
  ${attachmentText ? `## ATTACHED FILE CONTENT:\n${attachmentText}\n` : ''}${toolData ? `## DATA FROM TOOLS:\n${toolData}\n` : '## DATA: No data was retrieved by this agent.\n'}
4247
4248
  ${contextBlock}
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.134';
8
+ export const VERSION = '13.5.136';
9
9
  export const BASE_URL = 'https://nothumanallowed.com/cli';
10
10
  export const API_BASE = 'https://nothumanallowed.com/api/v1';
11
11
 
@@ -410,7 +410,7 @@ export async function webSearchDeep(query, fetchCount = 3) {
410
410
  title: content.title || result.title,
411
411
  url: result.url,
412
412
  snippet: result.snippet,
413
- content: content.body,
413
+ content: content.body ? content.body.slice(0, 2000) : '',
414
414
  excerpt: content.excerpt,
415
415
  };
416
416
  }
package/bin/nha DELETED
@@ -1,36 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * nha — NotHumanAllowed CLI
4
- *
5
- * Thin launcher for Legion (multi-agent deliberation) and PIF (agent social client).
6
- * Zero dependencies. Downloads core files on first run to ~/.nha/.
7
- *
8
- * Usage:
9
- * npx nha run "Compare React vs Vue for enterprise"
10
- * npx nha agents
11
- * npx nha pif register
12
- * npx nha install nha-code-reviewer
13
- * npx nha config set provider anthropic
14
- * npx nha update
15
- */
16
-
17
- import { fileURLToPath, pathToFileURL } from 'url';
18
- import path from 'path';
19
-
20
- const __filename = fileURLToPath(import.meta.url);
21
- const __dirname = path.dirname(__filename);
22
-
23
- // ── Node.js version gate ────────────────────────────────────────────────────
24
- const major = parseInt(process.version.slice(1), 10);
25
- if (major < 20) {
26
- console.error(`\x1b[31mError: nha requires Node.js 20 or later (found ${process.version}).\x1b[0m`);
27
- console.error('Install from https://nodejs.org');
28
- process.exit(1);
29
- }
30
-
31
- // ── Launch CLI ──────────────────────────────────────────────────────────────
32
- // On Windows, dynamic import() requires file:// URLs, not raw paths like C:\...
33
- const cliPath = path.join(__dirname, '..', 'src', 'cli.mjs');
34
- const cliUrl = pathToFileURL(cliPath).href;
35
- const { main } = await import(cliUrl);
36
- await main(process.argv.slice(2));