nothumanallowed 13.5.37 → 13.5.38
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 +56 -16
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nothumanallowed",
|
|
3
|
-
"version": "13.5.
|
|
3
|
+
"version": "13.5.38",
|
|
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.5.
|
|
8
|
+
export const VERSION = '13.5.38';
|
|
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
|
@@ -3136,6 +3136,14 @@ var I18N = {
|
|
|
3136
3136
|
nav_slack:'Slack', nav_birthdays:'Birthdays', nav_agents:'Agents',
|
|
3137
3137
|
nav_studio:'Studio', nav_collab:'AgentMessenger', nav_settings:'Settings',
|
|
3138
3138
|
nav_docs:'Documentation', nav_agents_guide:'Agents Guide', nav_mobile:'Mobile App',
|
|
3139
|
+
nav_webcraft:'WebCraft',
|
|
3140
|
+
wc_title:'WebCraft', wc_subtitle:'Generate enterprise-grade web projects — security headers A+, BEM CSS, PostgreSQL pool, Auth, GDPR cookie banner.',
|
|
3141
|
+
wc_project:'Project', wc_project_name:'Project name (e.g. MySaaS)', wc_desc:'Describe your project...',
|
|
3142
|
+
wc_blocks:'Included Blocks', wc_auth_fields:'Auth Fields', wc_add_field:'+ Add field',
|
|
3143
|
+
wc_required_hint:'Checked = Required | Edit label & type inline',
|
|
3144
|
+
wc_generate:'Generate Project', wc_generating:'Generating',
|
|
3145
|
+
wc_download:'Download Archive', wc_describe_first:'Please describe your project first.',
|
|
3146
|
+
wc_no_files:'Describe your project and click Generate',
|
|
3139
3147
|
},
|
|
3140
3148
|
it: {
|
|
3141
3149
|
chat:'Chat', studio:'Studio', settings:'Impostazioni', agents:'Agenti',
|
|
@@ -3163,6 +3171,14 @@ var I18N = {
|
|
|
3163
3171
|
nav_slack:'Slack', nav_birthdays:'Compleanni', nav_agents:'Agenti',
|
|
3164
3172
|
nav_studio:'Studio', nav_collab:'AgentMessenger', nav_settings:'Impostazioni',
|
|
3165
3173
|
nav_docs:'Documentazione', nav_agents_guide:'Guida Agenti', nav_mobile:'App Mobile',
|
|
3174
|
+
nav_webcraft:'WebCraft',
|
|
3175
|
+
wc_title:'WebCraft', wc_subtitle:'Genera progetti web enterprise — security headers A+, CSS BEM, PostgreSQL pool, Auth, cookie banner GDPR.',
|
|
3176
|
+
wc_project:'Progetto', wc_project_name:'Nome progetto (es. MioSaaS)', wc_desc:'Descrivi il tuo progetto...',
|
|
3177
|
+
wc_blocks:'Blocchi inclusi', wc_auth_fields:'Campi registrazione', wc_add_field:'+ Aggiungi campo',
|
|
3178
|
+
wc_required_hint:'Spuntato = Obbligatorio | Modifica etichetta e tipo inline',
|
|
3179
|
+
wc_generate:'Genera progetto', wc_generating:'Generazione in corso',
|
|
3180
|
+
wc_download:'Scarica archivio', wc_describe_first:'Descrivi prima il tuo progetto.',
|
|
3181
|
+
wc_no_files:'Descrivi il progetto e clicca Genera',
|
|
3166
3182
|
},
|
|
3167
3183
|
es: {
|
|
3168
3184
|
chat:'Chat', studio:'Studio', settings:'Configuración', agents:'Agentes',
|
|
@@ -3189,6 +3205,14 @@ var I18N = {
|
|
|
3189
3205
|
nav_slack:'Slack', nav_birthdays:'Cumplea\u00f1os', nav_agents:'Agentes',
|
|
3190
3206
|
nav_studio:'Studio', nav_collab:'AgentMessenger', nav_settings:'Configuraci\u00f3n',
|
|
3191
3207
|
nav_docs:'Documentaci\u00f3n', nav_agents_guide:'Gu\u00eda Agentes', nav_mobile:'App M\u00f3vil',
|
|
3208
|
+
nav_webcraft:'WebCraft',
|
|
3209
|
+
wc_title:'WebCraft', wc_subtitle:'Genera proyectos web empresariales — headers A+, CSS BEM, PostgreSQL pool, Auth, banner de cookies GDPR.',
|
|
3210
|
+
wc_project:'Proyecto', wc_project_name:'Nombre del proyecto (ej. MiSaaS)', wc_desc:'Describe tu proyecto...',
|
|
3211
|
+
wc_blocks:'Bloques incluidos', wc_auth_fields:'Campos de registro', wc_add_field:'+ A\u00f1adir campo',
|
|
3212
|
+
wc_required_hint:'Marcado = Obligatorio | Edita etiqueta y tipo inline',
|
|
3213
|
+
wc_generate:'Generar proyecto', wc_generating:'Generando',
|
|
3214
|
+
wc_download:'Descargar archivo', wc_describe_first:'Por favor describe tu proyecto primero.',
|
|
3215
|
+
wc_no_files:'Describe el proyecto y haz clic en Generar',
|
|
3192
3216
|
},
|
|
3193
3217
|
fr: {
|
|
3194
3218
|
chat:'Chat', studio:'Studio', settings:'Paramètres', agents:'Agents',
|
|
@@ -3215,6 +3239,14 @@ var I18N = {
|
|
|
3215
3239
|
nav_slack:'Slack', nav_birthdays:'Anniversaires', nav_agents:'Agents',
|
|
3216
3240
|
nav_studio:'Studio', nav_collab:'AgentMessenger', nav_settings:'Param\u00e8tres',
|
|
3217
3241
|
nav_docs:'Documentation', nav_agents_guide:'Guide Agents', nav_mobile:'App Mobile',
|
|
3242
|
+
nav_webcraft:'WebCraft',
|
|
3243
|
+
wc_title:'WebCraft', wc_subtitle:'G\u00e9n\u00e9rez des projets web entreprise — headers A+, CSS BEM, pool PostgreSQL, Auth, bandeau cookies RGPD.',
|
|
3244
|
+
wc_project:'Projet', wc_project_name:'Nom du projet (ex. MonSaaS)', wc_desc:'D\u00e9crivez votre projet...',
|
|
3245
|
+
wc_blocks:'Blocs inclus', wc_auth_fields:'Champs inscription', wc_add_field:'+ Ajouter un champ',
|
|
3246
|
+
wc_required_hint:'Coch\u00e9 = Obligatoire | Modifier \u00e9tiquette et type inline',
|
|
3247
|
+
wc_generate:'G\u00e9n\u00e9rer le projet', wc_generating:'G\u00e9n\u00e9ration en cours',
|
|
3248
|
+
wc_download:'T\u00e9l\u00e9charger archive', wc_describe_first:'Veuillez d\u00e9crire votre projet.',
|
|
3249
|
+
wc_no_files:'D\u00e9crivez le projet et cliquez sur G\u00e9n\u00e9rer',
|
|
3218
3250
|
},
|
|
3219
3251
|
de: {
|
|
3220
3252
|
chat:'Chat', studio:'Studio', settings:'Einstellungen', agents:'Agenten',
|
|
@@ -3241,6 +3273,14 @@ var I18N = {
|
|
|
3241
3273
|
nav_slack:'Slack', nav_birthdays:'Geburtstage', nav_agents:'Agenten',
|
|
3242
3274
|
nav_studio:'Studio', nav_collab:'AgentMessenger', nav_settings:'Einstellungen',
|
|
3243
3275
|
nav_docs:'Dokumentation', nav_agents_guide:'Agenten-Leitfaden', nav_mobile:'Mobile App',
|
|
3276
|
+
nav_webcraft:'WebCraft',
|
|
3277
|
+
wc_title:'WebCraft', wc_subtitle:'Enterprise-Web-Projekte generieren — Security-Headers A+, BEM CSS, PostgreSQL Pool, Auth, DSGVO Cookie-Banner.',
|
|
3278
|
+
wc_project:'Projekt', wc_project_name:'Projektname (z.B. MeinSaaS)', wc_desc:'Beschreibe dein Projekt...',
|
|
3279
|
+
wc_blocks:'Enthaltene Bl\u00f6cke', wc_auth_fields:'Registrierungsfelder', wc_add_field:'+ Feld hinzuf\u00fcgen',
|
|
3280
|
+
wc_required_hint:'Aktiviert = Pflichtfeld | Beschriftung und Typ inline bearbeiten',
|
|
3281
|
+
wc_generate:'Projekt generieren', wc_generating:'Generierung',
|
|
3282
|
+
wc_download:'Archiv herunterladen', wc_describe_first:'Bitte beschreibe zuerst dein Projekt.',
|
|
3283
|
+
wc_no_files:'Beschreibe das Projekt und klicke auf Generieren',
|
|
3244
3284
|
},
|
|
3245
3285
|
};
|
|
3246
3286
|
// Fallback to 'en' for unmapped languages
|
|
@@ -3309,7 +3349,7 @@ function renderSidebar() {
|
|
|
3309
3349
|
\x27<span style="font-size:8px;padding:1px 5px;border-radius:4px;background:rgba(99,102,241,.25);color:var(--green);margin-left:4px;font-weight:700">NEW</span>\x27+
|
|
3310
3350
|
\x27</div>\x27+
|
|
3311
3351
|
\x27<div class="nav-item\x27+(activeView===\x27webcraft\x27?\x27 nav-item--active\x27:\x27\x27)+\x27" data-view="webcraft" onclick="switchView(\\\x27webcraft\\\x27)">\x27+
|
|
3312
|
-
\x27<span class="nav-item__icon">🛠</span>
|
|
3352
|
+
\x27<span class="nav-item__icon">🛠</span> \x27+t(\x27nav_webcraft\x27)+
|
|
3313
3353
|
\x27<span style="font-size:8px;padding:1px 5px;border-radius:4px;background:rgba(99,102,241,.25);color:var(--green);margin-left:4px;font-weight:700">NEW</span>\x27+
|
|
3314
3354
|
\x27</div>\x27+
|
|
3315
3355
|
\x27<div class="nav-item\x27+(activeView===\x27collab\x27?\x27 nav-item--active\x27:\x27\x27)+\x27" data-view="collab" onclick="switchView(\\\x27collab\\\x27)">\x27+
|
|
@@ -3345,7 +3385,7 @@ var studioAbortController = null;
|
|
|
3345
3385
|
var parlActiveAgent = null; // active agent label during parliament streaming
|
|
3346
3386
|
var parlDoneAgents = {}; // set of completed agent labels during parliament
|
|
3347
3387
|
var _parlPersistHtml = null; // persists parliament block HTML across tab navigations
|
|
3348
|
-
var _PARL_STAMP = '<!--nha-parl-v13.5.
|
|
3388
|
+
var _PARL_STAMP = '<!--nha-parl-v13.5.38-->';
|
|
3349
3389
|
|
|
3350
3390
|
function stopStudio() {
|
|
3351
3391
|
if (!studioState.running) return;
|
|
@@ -6185,7 +6225,7 @@ function renderWebCraft(el) {
|
|
|
6185
6225
|
'</div>'
|
|
6186
6226
|
: '<div style="flex:1;display:flex;align-items:center;justify-content:center;color:var(--dim);font-size:12px;flex-direction:column;gap:8px">' +
|
|
6187
6227
|
'<span style="font-size:36px;opacity:.25">🛠</span>' +
|
|
6188
|
-
'<span>
|
|
6228
|
+
'<span>'+t('wc_no_files')+'</span>' +
|
|
6189
6229
|
'</div>';
|
|
6190
6230
|
|
|
6191
6231
|
var authFieldsHtml = wcState.authFields.map(function(f,i){
|
|
@@ -6202,8 +6242,8 @@ function renderWebCraft(el) {
|
|
|
6202
6242
|
el.innerHTML =
|
|
6203
6243
|
'<div style="max-width:1100px;margin:0 auto;padding:0 8px">' +
|
|
6204
6244
|
'<div style="margin-bottom:18px">' +
|
|
6205
|
-
'<h2 style="font-size:15px;color:var(--green);margin-bottom:4px">🛠
|
|
6206
|
-
'<p style="font-size:11px;color:var(--dim);line-height:1.5">
|
|
6245
|
+
'<h2 style="font-size:15px;color:var(--green);margin-bottom:4px">🛠 '+t('wc_title')+'</h2>' +
|
|
6246
|
+
'<p style="font-size:11px;color:var(--dim);line-height:1.5">'+t('wc_subtitle')+'</p>' +
|
|
6207
6247
|
'</div>' +
|
|
6208
6248
|
|
|
6209
6249
|
'<div style="display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap">' +
|
|
@@ -6213,14 +6253,14 @@ function renderWebCraft(el) {
|
|
|
6213
6253
|
|
|
6214
6254
|
// Project name + description
|
|
6215
6255
|
'<div style="background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:14px">' +
|
|
6216
|
-
'<div style="font-size:10px;color:var(--dim);text-transform:uppercase;letter-spacing:.8px;margin-bottom:8px">
|
|
6217
|
-
'<input id="wcProjectName" placeholder="
|
|
6218
|
-
'<textarea id="wcDesc" placeholder="
|
|
6256
|
+
'<div style="font-size:10px;color:var(--dim);text-transform:uppercase;letter-spacing:.8px;margin-bottom:8px">'+t('wc_project')+'</div>' +
|
|
6257
|
+
'<input id="wcProjectName" placeholder="'+t('wc_project_name')+'" value="'+wcEsc(wcState.projectName)+'" oninput="wcState.projectName=this.value" style="width:100%;padding:8px 10px;font-size:12px;border-radius:6px;border:1px solid var(--border2);background:var(--bg3);color:var(--text);margin-bottom:8px;box-sizing:border-box">' +
|
|
6258
|
+
'<textarea id="wcDesc" placeholder="'+t('wc_desc')+' e.g. SaaS landing page with user registration, dashboard, Stripe-ready pricing section" rows="4" oninput="wcState.description=this.value" style="width:100%;padding:8px 10px;font-size:12px;border-radius:6px;border:1px solid var(--border2);background:var(--bg3);color:var(--text);resize:vertical;box-sizing:border-box;line-height:1.5">'+wcEsc(wcState.description)+'</textarea>' +
|
|
6219
6259
|
'</div>' +
|
|
6220
6260
|
|
|
6221
6261
|
// Blocks
|
|
6222
6262
|
'<div style="background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:14px">' +
|
|
6223
|
-
'<div style="font-size:10px;color:var(--dim);text-transform:uppercase;letter-spacing:.8px;margin-bottom:10px">
|
|
6263
|
+
'<div style="font-size:10px;color:var(--dim);text-transform:uppercase;letter-spacing:.8px;margin-bottom:10px">'+t('wc_blocks')+'</div>' +
|
|
6224
6264
|
['auth','cookieBanner','securityMiddleware','emailVerification'].map(function(b){
|
|
6225
6265
|
var labels = {auth:'Auth (register/login/JWT)',cookieBanner:'GDPR Cookie Banner',securityMiddleware:'Security Middleware',emailVerification:'Email Verification'};
|
|
6226
6266
|
var icons = {auth:'🔒',cookieBanner:'🍪',securityMiddleware:'🛡',emailVerification:'✉'};
|
|
@@ -6234,20 +6274,20 @@ function renderWebCraft(el) {
|
|
|
6234
6274
|
// Auth fields configurator
|
|
6235
6275
|
'<div id="wcAuthFieldsPanel" style="background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:14px;'+(wcState.blocks.auth?'':'display:none')+'">' +
|
|
6236
6276
|
'<div style="display:flex;align-items:center;justify-content:space-between;margin-bottom:8px">' +
|
|
6237
|
-
'<div style="font-size:10px;color:var(--dim);text-transform:uppercase;letter-spacing:.8px">
|
|
6238
|
-
'<button onclick="wcAddField()" style="font-size:10px;padding:3px 8px;background:var(--bg3);border:1px solid var(--border2);border-radius:5px;color:var(--green);cursor:pointer"
|
|
6277
|
+
'<div style="font-size:10px;color:var(--dim);text-transform:uppercase;letter-spacing:.8px">'+t('wc_auth_fields')+'</div>' +
|
|
6278
|
+
'<button onclick="wcAddField()" style="font-size:10px;padding:3px 8px;background:var(--bg3);border:1px solid var(--border2);border-radius:5px;color:var(--green);cursor:pointer">'+t('wc_add_field')+'</button>' +
|
|
6239
6279
|
'</div>' +
|
|
6240
6280
|
'<div id="wcFieldsList">'+authFieldsHtml+'</div>' +
|
|
6241
|
-
'<div style="font-size:9px;color:var(--dim);margin-top:4px"
|
|
6281
|
+
'<div style="font-size:9px;color:var(--dim);margin-top:4px">'+t('wc_required_hint')+'</div>' +
|
|
6242
6282
|
'</div>' +
|
|
6243
6283
|
|
|
6244
6284
|
// Generate button
|
|
6245
6285
|
'<button id="wcRunBtn" onclick="wcGenerate()" style="width:100%;padding:12px;background:var(--green3);border:none;border-radius:8px;color:var(--bg);font-size:13px;font-weight:700;cursor:pointer;letter-spacing:.2px"'+(wcState.running?' disabled':'')+'>'+
|
|
6246
|
-
(wcState.running ? '⏳
|
|
6286
|
+
(wcState.running ? '⏳ '+t('wc_generating')+'...' : '▶ '+t('wc_generate')) +
|
|
6247
6287
|
'</button>' +
|
|
6248
6288
|
|
|
6249
6289
|
(wcState.generatedFiles.length > 0 ?
|
|
6250
|
-
'<button onclick="wcDownloadZip()" style="width:100%;padding:10px;background:var(--bg3);border:1px solid var(--border2);border-radius:8px;color:var(--text);font-size:12px;font-weight:600;cursor:pointer">⇩
|
|
6290
|
+
'<button onclick="wcDownloadZip()" style="width:100%;padding:10px;background:var(--bg3);border:1px solid var(--border2);border-radius:8px;color:var(--text);font-size:12px;font-weight:600;cursor:pointer">⇩ '+t('wc_download')+'</button>' : '') +
|
|
6251
6291
|
|
|
6252
6292
|
'</div>' +
|
|
6253
6293
|
|
|
@@ -6275,7 +6315,7 @@ async function wcGenerate() {
|
|
|
6275
6315
|
if (wcState.running) return;
|
|
6276
6316
|
var desc = (document.getElementById('wcDesc')||{}).value || wcState.description;
|
|
6277
6317
|
var projName = (document.getElementById('wcProjectName')||{}).value || wcState.projectName || 'myproject';
|
|
6278
|
-
if (!desc || desc.length < 10) { alert('
|
|
6318
|
+
if (!desc || desc.length < 10) { alert(t('wc_describe_first')); return; }
|
|
6279
6319
|
wcState.description = desc;
|
|
6280
6320
|
wcState.projectName = projName;
|
|
6281
6321
|
wcState.running = true;
|
|
@@ -6342,7 +6382,7 @@ async function wcGenerate() {
|
|
|
6342
6382
|
for (var fi = 0; fi < filePlan.length; fi++) {
|
|
6343
6383
|
var fp = filePlan[fi];
|
|
6344
6384
|
var runBtn = document.getElementById('wcRunBtn');
|
|
6345
|
-
if (runBtn) runBtn.textContent = '⏳
|
|
6385
|
+
if (runBtn) runBtn.textContent = '⏳ '+t('wc_generating')+' ' + fp.name + ' (' + (fi+1) + '/' + filePlan.length + ')...';
|
|
6346
6386
|
try {
|
|
6347
6387
|
var _nl2 = String.fromCharCode(10);
|
|
6348
6388
|
var content = await wcCallLLM(sysPreamble, fp.prompt + _nl2 + _nl2 + 'File to generate: ' + fp.name);
|