nothumanallowed 13.5.14 → 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 +1 -1
- package/src/constants.mjs +1 -1
- package/src/services/web-ui.mjs +24 -20
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nothumanallowed",
|
|
3
|
-
"version": "13.5.
|
|
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.
|
|
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
|
|
package/src/services/web-ui.mjs
CHANGED
|
@@ -3813,7 +3813,7 @@ function isoCharSvg(opts) {
|
|
|
3813
3813
|
: \x27\x27);
|
|
3814
3814
|
var ringStyle = isActive
|
|
3815
3815
|
? (\x27outline:2.5px solid \x27+accentColor+\x27;box-shadow:0 0 16px \x27+accentColor+\x27AA\x27)
|
|
3816
|
-
: (isDone ? \x27outline:2px solid
|
|
3816
|
+
: (isDone ? \x27outline:2px solid rgba(0,0,0,.2)\x27 : \x27outline:none\x27);
|
|
3817
3817
|
var animClass = isActive ? \x27 prl-head\x27 : \x27\x27;
|
|
3818
3818
|
return \x27<div class="iso-char-wrap\x27+animClass+\x27" style="position:relative;display:inline-flex;align-items:center;justify-content:center;width:\x27+sz+\x27px;height:\x27+sz+\x27px;border-radius:50%;background:rgba(255,255,255,.15);\x27+ringStyle+\x27;\x27+glowFilter+\x27;transition:all .3s">\x27+
|
|
3819
3819
|
\x27<span style="font-size:\x27+Math.round(36*scale)+\x27px;line-height:1;user-select:none">\x27+emoji+\x27</span>\x27+
|
|
@@ -3824,14 +3824,13 @@ function isoCharSvg(opts) {
|
|
|
3824
3824
|
function isoOrchSvg(hasActive, doneRatio) {
|
|
3825
3825
|
void doneRatio;
|
|
3826
3826
|
var orchEmoji = String.fromCodePoint(0x1F9D1, 0x200D, 0x1F4BC); // person in suit
|
|
3827
|
-
var glowColor = hasActive ? \x27#818cf8\x27 : \x27#
|
|
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
|
-
|
|
3831
|
-
|
|
3832
|
-
\x27<
|
|
3833
|
-
|
|
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
|
|
|
@@ -3962,7 +3961,7 @@ function renderStudioNodes() {
|
|
|
3962
3961
|
// monitor on desk
|
|
3963
3962
|
\x27<div class="iso-monitor" style="border-color:\x27+accentColor+\x2777"><div class="iso-monitor-screen">\x27+monScreen+\x27</div></div>\x27+
|
|
3964
3963
|
// name
|
|
3965
|
-
\x27<div class="iso-name" style="color:\x27+nameColor+\x27;background:\x27+nameBg+\x27">\x27+(isOrch?\x27\u2666\xA0\x27:\x27\x27)+esc(label
|
|
3964
|
+
\x27<div class="iso-name" style="color:\x27+nameColor+\x27;background:\x27+nameBg+\x27">\x27+(isOrch?\x27\u2666\xA0\x27:\x27\x27)+esc(label)+\x27</div>\x27+
|
|
3966
3965
|
\x27</div>\x27;
|
|
3967
3966
|
}
|
|
3968
3967
|
|
|
@@ -5366,8 +5365,10 @@ async function runStudio() {
|
|
|
5366
5365
|
flyingDocHtml += \x27</div>\x27;
|
|
5367
5366
|
}
|
|
5368
5367
|
|
|
5369
|
-
// Persist across tab navigations
|
|
5370
|
-
if (pb.innerHTML && pb.innerHTML.length < 60000) {
|
|
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
|
-
|
|
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(
|
|
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 =
|
|
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
|
|
|
@@ -6736,11 +6740,11 @@ input:focus,textarea:focus{border-color:var(--green3)}
|
|
|
6736
6740
|
.iso-orch-wrap{transition:transform .2s}
|
|
6737
6741
|
.iso-orch-wrap.prl-head{animation:isoCharBob 1.4s ease-in-out infinite}
|
|
6738
6742
|
/* Thought bubble / speech bubble above character */
|
|
6739
|
-
.iso-bubble{font-size:9px;font-family:var(--mono);padding:3px 9px;border-radius:12px;border:1px solid #ccc;background:rgba(255,255,255,.9);color:#6b7280;white-space:
|
|
6740
|
-
.iso-bubble--active{background:rgba(30,20,60,.9);border-color:#6366f1;color:#a5b4fc;animation:isoBubblePop .35s ease;white-space:normal;max-width:
|
|
6743
|
+
.iso-bubble{font-size:9px;font-family:var(--mono);padding:3px 9px;border-radius:12px;border:1px solid #ccc;background:rgba(255,255,255,.9);color:#6b7280;white-space:normal;word-break:break-word;max-width:160px;line-height:1.4;transition:all .25s;pointer-events:none;backdrop-filter:blur(6px);text-align:center}
|
|
6744
|
+
.iso-bubble--active{background:rgba(30,20,60,.9);border-color:#6366f1;color:#a5b4fc;animation:isoBubblePop .35s ease;white-space:normal;max-width:160px;word-break:break-word;line-height:1.35}
|
|
6741
6745
|
.iso-bubble--orch{font-size:9px;padding:3px 9px;border-radius:12px;border-color:#818cf8;color:#a5b4fc;background:rgba(20,15,50,.9)}
|
|
6742
6746
|
@keyframes isoBubblePop{0%{transform:scale(.8) translateY(4px);opacity:.4}100%{transform:scale(1) translateY(0);opacity:1}}
|
|
6743
|
-
.iso-name{font-size:10px;font-family:var(--mono);font-weight:700;letter-spacing:.3px;text-align:center;max-width:
|
|
6747
|
+
.iso-name{font-size:10px;font-family:var(--mono);font-weight:700;letter-spacing:.3px;text-align:center;max-width:160px;white-space:normal;word-break:break-word;line-height:1.3;background:rgba(255,255,255,.85);border-radius:6px;padding:2px 6px;pointer-events:none;backdrop-filter:blur(4px)}
|
|
6744
6748
|
/* Desks row — kept for boardroom compat */
|
|
6745
6749
|
.prl-desks-row{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;position:relative;z-index:2;padding-bottom:8px}
|
|
6746
6750
|
.prl-desk{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 6px 4px;border-radius:12px;background:#1a1535;border:1.5px solid #3a3060;transition:border-color .4s,background .4s,box-shadow .4s;position:relative;min-width:80px;box-shadow:0 2px 8px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.06)}
|