nothumanallowed 13.5.15 → 13.5.16

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.15",
3
+ "version": "13.5.16",
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.15';
8
+ export const VERSION = '13.5.16';
9
9
  export const BASE_URL = 'https://nothumanallowed.com/cli';
10
10
  export const API_BASE = 'https://nothumanallowed.com/api/v1';
11
11
 
@@ -3827,11 +3827,10 @@ function isoOrchSvg(hasActive, doneRatio) {
3827
3827
  var glowColor = hasActive ? \x27#818cf8\x27 : \x27#374151\x27;
3828
3828
  var animClass = hasActive ? \x27 prl-head\x27 : \x27\x27;
3829
3829
  var crown = String.fromCodePoint(0x1F451); // crown emoji above
3830
- return \x27<div class="iso-orch-wrap\x27+animClass+\x27" style="position:relative;display:inline-flex;align-items:center;justify-content:center">\x27+
3831
- \x27<div style="position:relative;display:flex;align-items:center;justify-content:center;width:68px;height:68px;border-radius:50%;background:rgba(99,102,241,.15);outline:3px solid \x27+glowColor+\x27;box-shadow:0 0 20px \x27+glowColor+\x27AA">\x27+
3832
- \x27<span style="font-size:42px;line-height:1;user-select:none">\x27+orchEmoji+\x27</span>\x27+
3833
- \x27<span style="position:absolute;top:-12px;left:50%;transform:translateX(-50%);font-size:18px;line-height:1;pointer-events:none">\x27+crown+\x27</span>\x27+
3834
- \x27</div>\x27+
3830
+ var glowFilter = hasActive ? \x27filter:drop-shadow(0 0 12px #818cf8AA)\x27 : \x27filter:drop-shadow(0 0 6px rgba(0,0,0,.3))\x27;
3831
+ return \x27<div class="iso-orch-wrap\x27+animClass+\x27" style="position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:0">\x27+
3832
+ \x27<span style="font-size:18px;line-height:1;display:block;text-align:center">\x27+crown+\x27</span>\x27+
3833
+ \x27<span style="font-size:52px;line-height:1;user-select:none;display:block;\x27+glowFilter+\x27">\x27+orchEmoji+\x27</span>\x27+
3835
3834
  \x27</div>\x27;
3836
3835
  }
3837
3836
 
@@ -5366,8 +5365,10 @@ async function runStudio() {
5366
5365
  flyingDocHtml += \x27</div>\x27;
5367
5366
  }
5368
5367
 
5369
- // Persist across tab navigations (snapshot animations won\x27t replay but structure is preserved)
5370
- if (pb.innerHTML && pb.innerHTML.length < 60000) { _parlPersistHtml = pb.innerHTML; }
5368
+ // Persist across tab navigations — stamp version to invalidate stale HTML on update
5369
+ if (pb.innerHTML && pb.innerHTML.length < 60000) {
5370
+ _parlPersistHtml = \x27<!-- nha-v13.5.16 -->\x27 + pb.innerHTML;
5371
+ }
5371
5372
 
5372
5373
  }
5373
5374
 
@@ -5535,7 +5536,7 @@ async function runStudio() {
5535
5536
  }
5536
5537
  }
5537
5538
  if (parlFinal && parlFinal.style.display !== 'none' && parlFinal.innerHTML) {
5538
- _parlPersistHtml = parlFinal.innerHTML; // persist so tab nav doesn't lose it
5539
+ _parlPersistHtml = \x27<!-- nha-v13.5.16 -->\x27 + parlFinal.innerHTML; // persist so tab nav doesn't lose it
5539
5540
  doScroll(parlFinal);
5540
5541
  setTimeout(function(){ doScroll(resEl); }, 2200);
5541
5542
  } else if (resEl) {
@@ -5909,8 +5910,9 @@ function runStudioStep(idx, node, task, context, stepDef, signal) {
5909
5910
  function renderStudio(el) {
5910
5911
  // Persist parliament block across tab navigations
5911
5912
  var existingParl = document.getElementById('studioParliamentBlock');
5912
- if (existingParl && existingParl.innerHTML.trim()) {
5913
- _parlPersistHtml = existingParl.innerHTML;
5913
+ if (existingParl && existingParl.innerHTML.trim() && _parlPersistHtml === null) {
5914
+ // Only snapshot if not already persisted (avoid overwriting stamped version with un-stamped)
5915
+ _parlPersistHtml = \x27<!-- nha-v13.5.16 -->\x27 + existingParl.innerHTML;
5914
5916
  }
5915
5917
 
5916
5918
  var examplesHtml = STUDIO_EXAMPLES.map(function(ex) {
@@ -6082,12 +6084,14 @@ function renderStudio(el) {
6082
6084
  // Restore pipeline from state
6083
6085
  renderBuilderPipeline();
6084
6086
  // Restore parliament block if it was visible before tab navigation
6085
- if (_parlPersistHtml) {
6086
- var parlRestoreEl = document.getElementById('studioParliamentBlock');
6087
+ if (_parlPersistHtml && _parlPersistHtml.indexOf(\x27<!-- nha-v13.5.16 -->\x27) === 0) {
6088
+ var parlRestoreEl = document.getElementById(\x27studioParliamentBlock\x27);
6087
6089
  if (parlRestoreEl) {
6088
- parlRestoreEl.innerHTML = _parlPersistHtml;
6089
- parlRestoreEl.style.display = 'block';
6090
+ parlRestoreEl.innerHTML = _parlPersistHtml.slice(\x27<!-- nha-v13.5.16 -->\x27.length);
6091
+ parlRestoreEl.style.display = \x27block\x27;
6090
6092
  }
6093
+ } else {
6094
+ _parlPersistHtml = null; // stale — discard
6091
6095
  }
6092
6096
  }
6093
6097