nothumanallowed 13.5.90 → 13.5.91

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nothumanallowed",
3
- "version": "13.5.90",
3
+ "version": "13.5.91",
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": {
@@ -6558,6 +6558,53 @@ var _wcLastFilePlan = []; // saved for manual repair trigger
6558
6558
  var _wcLastSysPreamble = '';
6559
6559
  var _wcTokIn = 0; // global token counters (accumulate across generation + repair)
6560
6560
  var _wcTokOut = 0;
6561
+ var _wcGenOverlayState = { fi: 0, total: 0, name: '' };
6562
+ var _wcGenStartTime = 0;
6563
+ var _wcTimerInterval = null;
6564
+
6565
+ function wcGenElapsed() {
6566
+ var s = Math.floor((Date.now() - _wcGenStartTime) / 1000);
6567
+ var m = Math.floor(s / 60); s = s % 60;
6568
+ return (m > 0 ? m + 'm ' : '') + s + 's';
6569
+ }
6570
+
6571
+ function wcStartGenTimer() {
6572
+ if (_wcTimerInterval) clearInterval(_wcTimerInterval);
6573
+ _wcTimerInterval = setInterval(function() {
6574
+ if (!wcState.running) { clearInterval(_wcTimerInterval); _wcTimerInterval = null; return; }
6575
+ if (_wcOverlayMinimized) {
6576
+ var pill = document.getElementById('wcPillLabel');
6577
+ if (pill) pill.textContent = _wcGenOverlayState.name || 'Generando...';
6578
+ var ov = document.getElementById('wcGenOverlay');
6579
+ if (ov) { var spans = ov.querySelectorAll('span'); if (spans[1]) spans[1].textContent = wcGenElapsed(); }
6580
+ } else {
6581
+ wcUpdateGenOverlay(_wcGenOverlayState.fi, _wcGenOverlayState.total, _wcGenOverlayState.name);
6582
+ }
6583
+ }, 1000);
6584
+ }
6585
+
6586
+ function wcUpdateGenOverlay(fi2, total, name) {
6587
+ _wcGenOverlayState = { fi: fi2, total: total, name: name };
6588
+ if (_wcOverlayMinimized) return;
6589
+ var ov = document.getElementById('wcGenOverlay');
6590
+ if (!ov) return;
6591
+ var pct = Math.round((fi2 / total) * 100);
6592
+ var tokLabel = (_wcTokIn + _wcTokOut) > 0
6593
+ ? '<div style="font-size:10px;color:var(--dim);margin-top:4px;font-family:var(--mono)">&#8679;' + _wcTokIn.toLocaleString() + ' &#8681;' + _wcTokOut.toLocaleString() + ' tok</div>'
6594
+ : '';
6595
+ ov.innerHTML =
6596
+ '<div style="font-size:38px;animation:wcRobotBob 1s ease-in-out infinite">&#129302;</div>' +
6597
+ '<div style="font-size:13px;font-weight:700;color:var(--green);margin-top:12px">' + (name.indexOf('Retry:') === 0 ? 'Retry in corso...' : name.indexOf('Fix:') === 0 ? 'Correzione in corso...' : 'Generazione in corso...') + '</div>' +
6598
+ '<div style="font-size:10px;color:var(--dim);margin-top:2px">Clicca per navigare i file</div>' +
6599
+ '<div style="font-size:11px;color:'+(name.indexOf('Retry:')===0?'#fb923c':name.indexOf('Fix:')===0?'#facc15':'var(--dim)')+';font-family:var(--mono);max-width:300px;text-align:center;word-break:break-all;margin-top:8px">'+wcEsc(name)+'</div>' +
6600
+ '<div style="width:220px;height:4px;background:rgba(255,255,255,0.1);border-radius:2px;overflow:hidden;margin-top:12px">' +
6601
+ '<div style="height:100%;width:'+pct+'%;background:var(--green);border-radius:2px;transition:width .4s ease;animation:wcBarPulse 1.5s ease-in-out infinite"></div>' +
6602
+ '</div>' +
6603
+ '<div style="font-size:10px;color:var(--dim);margin-top:6px">'+fi2+' / '+total+' file &nbsp;&#183;&nbsp; '+wcGenElapsed()+'</div>' +
6604
+ tokLabel +
6605
+ '<div style="display:flex;gap:4px;margin-top:10px">'+[0,1,2,3,4].map(function(_,idx){ return '<div style="width:6px;height:6px;border-radius:50%;background:var(--green);animation:wcDot 1.1s ease-in-out infinite '+(idx*0.14)+'s"></div>'; }).join('')+'</div>';
6606
+ }
6607
+
6561
6608
  // Skills state
6562
6609
  var wcSkills = []; // [{name, content, type}] type: 'skill'|'memory'|'provider'
6563
6610
  var wcSkillModal = null; // null | {mode:'edit'|'new', idx:number|null, name, content, type, generating}
@@ -7937,55 +7984,8 @@ async function wcGenerate() {
7937
7984
  _wcLastFilePlan = filePlan;
7938
7985
  _wcLastSysPreamble = sysPreamble;
7939
7986
 
7940
- var _wcGenStartTime = Date.now();
7987
+ _wcGenStartTime = Date.now();
7941
7988
  _wcTokIn = 0; _wcTokOut = 0; // reset global counters for this generation run
7942
- var _wcTimerInterval = null;
7943
-
7944
- function wcGenElapsed() {
7945
- var s = Math.floor((Date.now() - _wcGenStartTime) / 1000);
7946
- var m = Math.floor(s / 60); s = s % 60;
7947
- return (m > 0 ? m + 'm ' : '') + s + 's';
7948
- }
7949
-
7950
- function wcStartGenTimer() {
7951
- if (_wcTimerInterval) clearInterval(_wcTimerInterval);
7952
- _wcTimerInterval = setInterval(function() {
7953
- if (!wcState.running) { clearInterval(_wcTimerInterval); _wcTimerInterval = null; return; }
7954
- if (_wcOverlayMinimized) {
7955
- // Update pill label + elapsed without full re-render
7956
- var pill = document.getElementById('wcPillLabel');
7957
- if (pill) pill.textContent = _wcGenOverlayState.name || 'Generando...';
7958
- var ov = document.getElementById('wcGenOverlay');
7959
- if (ov) { var spans = ov.querySelectorAll('span'); if (spans[1]) spans[1].textContent = wcGenElapsed(); }
7960
- } else {
7961
- wcUpdateGenOverlay(_wcGenOverlayState.fi, _wcGenOverlayState.total, _wcGenOverlayState.name);
7962
- }
7963
- }, 1000);
7964
- }
7965
-
7966
- var _wcGenOverlayState = { fi: 0, total: 0, name: '' };
7967
-
7968
- function wcUpdateGenOverlay(fi2, total, name) {
7969
- _wcGenOverlayState = { fi: fi2, total: total, name: name };
7970
- if (_wcOverlayMinimized) return;
7971
- var ov = document.getElementById('wcGenOverlay');
7972
- if (!ov) return;
7973
- var pct = Math.round((fi2 / total) * 100);
7974
- var tokLabel = (_wcTokIn + _wcTokOut) > 0
7975
- ? '<div style="font-size:10px;color:var(--dim);margin-top:4px;font-family:var(--mono)">&#8679;' + _wcTokIn.toLocaleString() + ' &#8681;' + _wcTokOut.toLocaleString() + ' tok</div>'
7976
- : '';
7977
- ov.innerHTML =
7978
- '<div style="font-size:38px;animation:wcRobotBob 1s ease-in-out infinite">&#129302;</div>' +
7979
- '<div style="font-size:13px;font-weight:700;color:var(--green);margin-top:12px">' + (name.indexOf('Retry:') === 0 ? 'Retry in corso...' : name.indexOf('Fix:') === 0 ? 'Correzione in corso...' : 'Generazione in corso...') + '</div>' +
7980
- '<div style="font-size:10px;color:var(--dim);margin-top:2px">Clicca per navigare i file</div>' +
7981
- '<div style="font-size:11px;color:'+(name.indexOf('Retry:')===0?'#fb923c':name.indexOf('Fix:')===0?'#facc15':'var(--dim)')+';font-family:var(--mono);max-width:300px;text-align:center;word-break:break-all;margin-top:8px">'+wcEsc(name)+'</div>' +
7982
- '<div style="width:220px;height:4px;background:rgba(255,255,255,0.1);border-radius:2px;overflow:hidden;margin-top:12px">' +
7983
- '<div style="height:100%;width:'+pct+'%;background:var(--green);border-radius:2px;transition:width .4s ease;animation:wcBarPulse 1.5s ease-in-out infinite"></div>' +
7984
- '</div>' +
7985
- '<div style="font-size:10px;color:var(--dim);margin-top:6px">'+fi2+' / '+total+' file &nbsp;&#183;&nbsp; '+wcGenElapsed()+'</div>' +
7986
- tokLabel +
7987
- '<div style="display:flex;gap:4px;margin-top:10px">'+[0,1,2,3,4].map(function(_,idx){ return '<div style="width:6px;height:6px;border-radius:50%;background:var(--green);animation:wcDot 1.1s ease-in-out infinite '+(idx*0.14)+'s"></div>'; }).join('')+'</div>';
7988
- }
7989
7989
 
7990
7990
  // Helper: generate one file
7991
7991
  async function wcGenOneFile(fp, signal) {