nothumanallowed 9.8.7 → 9.8.9
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 +13 -7
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nothumanallowed",
|
|
3
|
-
"version": "9.8.
|
|
3
|
+
"version": "9.8.9",
|
|
4
4
|
"description": "NotHumanAllowed — 38 AI agents, 53 tools. Email, calendar, browser automation, screen capture, canvas, cron/heartbeat, GitHub, Notion, Slack, voice chat, 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 = '9.8.
|
|
8
|
+
export const VERSION = '9.8.9';
|
|
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
|
@@ -252,16 +252,22 @@ function stopChat(){
|
|
|
252
252
|
|
|
253
253
|
// ---- BROWSER VIEWER (live preview of headless Chrome) ----
|
|
254
254
|
function showBrowserViewer(title,status){
|
|
255
|
-
|
|
256
|
-
v.classList.add('browser-viewer--open');
|
|
255
|
+
// Update old monitor viewer
|
|
256
|
+
var v=document.getElementById('browserViewer');if(v)v.classList.add('browser-viewer--open');
|
|
257
257
|
var t=document.getElementById('bvTitle');if(t)t.textContent=title||'Browser';
|
|
258
258
|
var s=document.getElementById('bvStatus');if(s)s.textContent=status||'Loading...';
|
|
259
|
+
// Also auto-open canvas panel in browser tab
|
|
260
|
+
var p=document.getElementById('canvasPanel');
|
|
261
|
+
if(p&&!p.classList.contains('open')){canvasMode='browser';renderCanvasPanel();}
|
|
259
262
|
}
|
|
260
263
|
function updateBrowserFrame(base64,format,url){
|
|
261
|
-
|
|
262
|
-
f.innerHTML='<img src="data:image/'+(format||'jpeg')+';base64,'+base64+'" alt="Browser view">';
|
|
264
|
+
// Update old monitor viewer
|
|
265
|
+
var f=document.getElementById('bvFrame');if(f)f.innerHTML='<img src="data:image/'+(format||'jpeg')+';base64,'+base64+'" alt="Browser view">';
|
|
263
266
|
// Save to per-conversation browser history for canvas Browser tab
|
|
264
267
|
addBrowserPage(base64,url);
|
|
268
|
+
// Update canvas browser tab live if open
|
|
269
|
+
var p=document.getElementById('canvasPanel');
|
|
270
|
+
if(p&&p.classList.contains('open')&&canvasMode==='browser'){renderCanvasPanel();}
|
|
265
271
|
}
|
|
266
272
|
function updateBrowserStatus(status){
|
|
267
273
|
var s=document.getElementById('bvStatus');if(s)s.textContent=status;
|
|
@@ -409,7 +415,7 @@ function renderChat(el){
|
|
|
409
415
|
'</div>'+
|
|
410
416
|
'<div class="chat"><div class="chat__messages" id="chatMessages"></div>'+
|
|
411
417
|
'<div id="chatAttachInfo" style="display:none;padding:4px 12px;font-size:11px;color:var(--cyan);background:var(--bg2);border-top:1px solid var(--border)"><span id="chatAttachName"></span> <button onclick="clearChatAttach()" style="background:none;border:none;color:#f44;cursor:pointer;font-size:14px;font-weight:700">×</button></div>'+
|
|
412
|
-
'<div class="chat__bar"><button class="chat__mic" id="chatMic" onclick="toggleVoiceInput()" title="Voice input">🎤</button><button onclick="document.getElementById(\\x27chatFileInput\\x27).click()" style="background:none;border:none;cursor:pointer;font-size:16px;padding:4px" title="Attach file">📎</button><button onclick="document.getElementById(\\x27chatImageInput\\x27).click()" style="background:none;border:none;cursor:pointer;font-size:16px;padding:4px" title="Attach image">📷</button><input type="file" id="chatFileInput" style="display:none" onchange="handleChatFile(this)"><input type="file" id="chatImageInput" accept="image/*" style="display:none" onchange="handleChatImage(this)"><textarea class="chat__input" id="chatInput" placeholder="Ask anything... (or attach file/image first)" rows="1"></textarea><button class="chat__send" id="chatSend">Send</button><button class="chat__stop" id="chatStop" onclick="stopChat()">Stop</button><button onclick="reopenCanvas()" style="background:none;border:1px solid var(--border2);border-radius:6px;cursor:pointer;font-size:11px;padding:4px 8px;color:var(--dim);font-family:var(--mono);display:flex;align-items:center;gap:4px" title="Open Canvas / Browser panel"><span style="font-size:
|
|
418
|
+
'<div class="chat__bar"><button class="chat__mic" id="chatMic" onclick="toggleVoiceInput()" title="Voice input">🎤</button><button onclick="document.getElementById(\\x27chatFileInput\\x27).click()" style="background:none;border:none;cursor:pointer;font-size:16px;padding:4px" title="Attach file">📎</button><button onclick="document.getElementById(\\x27chatImageInput\\x27).click()" style="background:none;border:none;cursor:pointer;font-size:16px;padding:4px" title="Attach image">📷</button><input type="file" id="chatFileInput" style="display:none" onchange="handleChatFile(this)"><input type="file" id="chatImageInput" accept="image/*" style="display:none" onchange="handleChatImage(this)"><textarea class="chat__input" id="chatInput" placeholder="Ask anything... (or attach file/image first)" rows="1"></textarea><button class="chat__send" id="chatSend">Send</button><button class="chat__stop" id="chatStop" onclick="stopChat()">Stop</button><button onclick="reopenCanvas()" style="background:none;border:1px solid var(--border2);border-radius:6px;cursor:pointer;font-size:11px;padding:4px 8px;color:var(--dim);font-family:var(--mono);display:flex;align-items:center;gap:4px" title="Open Canvas / Browser panel"><span style="font-size:13px">▣</span>Panel</button></div>'+
|
|
413
419
|
'</div>'+
|
|
414
420
|
'</div>'+
|
|
415
421
|
'</div>';
|
|
@@ -685,7 +691,7 @@ function copyMsg(i){
|
|
|
685
691
|
function retryMsg(i){
|
|
686
692
|
if(i<1||chatHistory[i].role!=='assistant')return;
|
|
687
693
|
var userMsg=chatHistory[i-1];if(!userMsg||userMsg.role!=='user')return;
|
|
688
|
-
chatHistory.splice(i,1);
|
|
694
|
+
chatHistory.splice(i,1);renderMessages();
|
|
689
695
|
var inp=document.getElementById('chatInput');if(inp){inp.value=userMsg.content;}
|
|
690
696
|
sendChat();
|
|
691
697
|
}
|
|
@@ -693,7 +699,7 @@ function editMsg(i){
|
|
|
693
699
|
if(chatHistory[i].role!=='user')return;
|
|
694
700
|
var inp=document.getElementById('chatInput');if(!inp)return;
|
|
695
701
|
inp.value=chatHistory[i].content;inp.focus();
|
|
696
|
-
chatHistory.splice(i);
|
|
702
|
+
chatHistory.splice(i);renderMessages();
|
|
697
703
|
}
|
|
698
704
|
function sendChat(){
|
|
699
705
|
var inp=document.getElementById('chatInput');if(!inp)return;
|