nothumanallowed 6.8.0 → 6.8.2
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/commands/chat.mjs +2 -1
- package/src/commands/ui.mjs +2 -1
- package/src/constants.mjs +1 -1
- package/src/services/web-ui.mjs +3 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nothumanallowed",
|
|
3
|
-
"version": "6.8.
|
|
3
|
+
"version": "6.8.2",
|
|
4
4
|
"description": "NotHumanAllowed — 38 AI agents for security, code, DevOps, data & daily ops. Per-agent memory, Telegram + Discord auto-responder, proactive intelligence daemon, voice chat, plugin system.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
package/src/commands/chat.mjs
CHANGED
|
@@ -437,7 +437,8 @@ async function executeTool(action, params, config) {
|
|
|
437
437
|
const gm = await import('../services/google-gmail.mjs');
|
|
438
438
|
if (params.all) {
|
|
439
439
|
const result = await gm.markAllAsRead(config);
|
|
440
|
-
|
|
440
|
+
if (result.count === 0) return 'All emails are already read. No changes needed.';
|
|
441
|
+
return `Success! ${result.count} email${result.count !== 1 ? 's' : ''} marked as read.`;
|
|
441
442
|
}
|
|
442
443
|
if (params.count) {
|
|
443
444
|
const msgs = await gm.listMessages(config, 'is:unread', params.count);
|
package/src/commands/ui.mjs
CHANGED
|
@@ -365,7 +365,8 @@ async function executeTool(action, params, config) {
|
|
|
365
365
|
const cfg = (await import('../config.mjs')).loadConfig();
|
|
366
366
|
if (params.all) {
|
|
367
367
|
const result = await gm.markAllAsRead(cfg);
|
|
368
|
-
|
|
368
|
+
if (result.count === 0) return 'All emails are already read. No changes needed.';
|
|
369
|
+
return `Success! ${result.count} email${result.count !== 1 ? 's' : ''} marked as read.`;
|
|
369
370
|
}
|
|
370
371
|
if (params.count) {
|
|
371
372
|
const msgs = await gm.listMessages(cfg, 'is:unread', params.count);
|
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 = '6.8.
|
|
8
|
+
export const VERSION = '6.8.2';
|
|
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
|
@@ -235,7 +235,7 @@ function loadDash(){
|
|
|
235
235
|
function loadAgents(){return apiGet('/api/agents').then(function(r){agentsList=(r&&r.agents)||[]})}
|
|
236
236
|
function updateBadges(){
|
|
237
237
|
var eb=document.getElementById('emailBadge'),tb=document.getElementById('taskBadge'),cb=document.getElementById('calBadge');
|
|
238
|
-
var ue=dash.emails.length,ut=dash.tasks.filter(function(t){return t.status!=='done'}).length,uc=dash.events.length;
|
|
238
|
+
var ue=dash.emails.filter(function(e){return e.isUnread}).length,ut=dash.tasks.filter(function(t){return t.status!=='done'}).length,uc=dash.events.length;
|
|
239
239
|
if(eb){eb.textContent=ue;eb.style.display=ue>0?'':'none'}
|
|
240
240
|
if(tb){tb.textContent=ut;tb.style.display=ut>0?'':'none'}
|
|
241
241
|
if(cb){cb.textContent=uc;cb.style.display=uc>0?'':'none'}
|
|
@@ -373,7 +373,8 @@ function renderEmails(el){
|
|
|
373
373
|
var e=dash.emails;
|
|
374
374
|
if(e.length===0){el.innerHTML='<div class="card" style="text-align:center;color:var(--dim);padding:30px">No unread emails</div>';return}
|
|
375
375
|
var h='';e.forEach(function(x){
|
|
376
|
-
|
|
376
|
+
var unreadStyle=x.isUnread?'border-left:3px solid var(--green);font-weight:700':'border-left:3px solid transparent;opacity:0.7';
|
|
377
|
+
h+='<div class="card email" style="cursor:pointer;'+unreadStyle+'" onclick="openEmail(\\x27'+esc(x.id)+'\\x27)"><div class="email__header"><span class="email__from">'+esc(x.from)+'</span><span class="email__date">'+esc(x.date)+(x.isUnread?' <span style="color:var(--green);font-size:9px">NEW</span>':'')+'</span></div><div class="email__subject">'+esc(x.subject)+'</div><div class="email__snippet" style="font-weight:400">'+esc((x.snippet||'').slice(0,150))+'</div></div>';
|
|
377
378
|
});
|
|
378
379
|
el.innerHTML=h;
|
|
379
380
|
}
|