nothumanallowed 9.4.12 → 9.4.14
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 +7 -9
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nothumanallowed",
|
|
3
|
-
"version": "9.4.
|
|
3
|
+
"version": "9.4.14",
|
|
4
4
|
"description": "NotHumanAllowed — 38 AI agents + 58 tools + browser automation + web search. Streaming chat, headless Chrome CDP, multi-conversation, export. Gmail, Calendar, Drive, GitHub, Notion, Slack. 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 = '9.4.
|
|
8
|
+
export const VERSION = '9.4.14';
|
|
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
|
@@ -435,9 +435,12 @@ function renderMessages(){
|
|
|
435
435
|
}
|
|
436
436
|
var h='';chatHistory.forEach(function(m){
|
|
437
437
|
var raw=m.content||'';
|
|
438
|
+
// Strip any raw base64 data that leaked into content (from LLM hallucinations)
|
|
439
|
+
raw=raw.replace(/data:image\\/[a-z]+;base64,[A-Za-z0-9+\\/=]{200,}/g,'[image]');
|
|
440
|
+
raw=raw.replace(/[A-Za-z0-9+\\/=]{500,}/g,'');
|
|
438
441
|
var imgs=[];var idx=0;
|
|
439
|
-
// Match both
|
|
440
|
-
var safe=raw.replace(/!\\[([^\\]]*)\\]\\((
|
|
442
|
+
// Match both /api/screenshots/ URLs and data:image (short ones only, for inline display)
|
|
443
|
+
var safe=raw.replace(/!\\[([^\\]]*)\\]\\((\\/api\\/screenshots\\/[a-zA-Z0-9._-]+)\\)/g,function(_,alt,src){var ph='__IMG'+idx+'__';imgs.push({ph:ph,alt:alt,src:src});idx++;return ph;});
|
|
441
444
|
var content=esc(safe);
|
|
442
445
|
for(var i=0;i<imgs.length;i++){content=content.replace(imgs[i].ph,'<img class="screenshot-preview" alt="'+esc(imgs[i].alt)+'" src="'+imgs[i].src+'">');}
|
|
443
446
|
h+='<div class="msg msg--'+esc(m.role)+'"><div class="msg__label">'+esc(m.role==='user'?'You':'NHA')+'</div><div class="msg__bubble">'+content+'</div></div>';
|
|
@@ -576,12 +579,7 @@ function sendChat(){
|
|
|
576
579
|
renderMessages();
|
|
577
580
|
}
|
|
578
581
|
if(currentEvent==='screenshot'&&data.base64){
|
|
579
|
-
|
|
580
|
-
var ssUrl=data.filename?'/api/screenshots/'+data.filename:'data:image/'+(data.format||'jpeg')+';base64,'+data.base64;
|
|
581
|
-
chatHistory[streamIdx]._screenshots.push(ssUrl);
|
|
582
|
-
chatHistory[streamIdx].content+='\\n\\n';
|
|
583
|
-
renderMessages();
|
|
584
|
-
// Show and update browser viewer with the screenshot
|
|
582
|
+
// Only update the browser viewer — the actual image in chat is handled by the 'done' event via screenshotFiles
|
|
585
583
|
showBrowserViewer('Screenshot','Captured');
|
|
586
584
|
updateBrowserFrame(data.base64,data.format||'jpeg');
|
|
587
585
|
updateBrowserStatus('Screenshot captured');
|
|
@@ -593,7 +591,7 @@ function sendChat(){
|
|
|
593
591
|
if(data.url)updateBrowserStatus(data.url);
|
|
594
592
|
}
|
|
595
593
|
if(currentEvent==='tool_synthesis'){chatHistory[streamIdx].content='';renderMessages();}
|
|
596
|
-
if(currentEvent==='done'){endStreaming();if(data.content)chatHistory[streamIdx].content=data.content;var ssf=data.screenshotFiles||[];for(var fi=0;fi<ssf.length;fi++){chatHistory[streamIdx].content+='\\n\\n';}
|
|
594
|
+
if(currentEvent==='done'){endStreaming();if(data.content)chatHistory[streamIdx].content=data.content;var ssf=data.screenshotFiles||[];for(var fi=0;fi<ssf.length;fi++){chatHistory[streamIdx].content+='\\n\\n';}renderMessages();loadConvList();if(ssf.length>0)setTimeout(closeBrowserViewer,5000);}
|
|
597
595
|
if(currentEvent==='error'){endStreaming();chatHistory[streamIdx].content='Error: '+(data.message||'Unknown');renderMessages();}
|
|
598
596
|
}catch(e){}
|
|
599
597
|
}
|