nothumanallowed 13.5.0 → 13.5.1
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 +86 -10
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nothumanallowed",
|
|
3
|
-
"version": "13.5.
|
|
3
|
+
"version": "13.5.1",
|
|
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.1';
|
|
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
|
@@ -3556,6 +3556,53 @@ function buildWorkflowChar(n) {
|
|
|
3556
3556
|
return svg;
|
|
3557
3557
|
}
|
|
3558
3558
|
|
|
3559
|
+
// ── Office room decorations — window, wall art, plants, lamp ──────────────────
|
|
3560
|
+
// Used in both workflow and parliament office blocks.
|
|
3561
|
+
function officeRoomDecor() {
|
|
3562
|
+
// SVG plant: pot + soil + stem + leaves (monstera-ish)
|
|
3563
|
+
var plantSvg = \x27<svg viewBox="0 0 20 36" width="20" height="36" xmlns="http://www.w3.org/2000/svg">\x27+
|
|
3564
|
+
// Pot
|
|
3565
|
+
\x27<path d="M4 27 L6 34 L14 34 L16 27 Z" fill="#2a1a0a" stroke="#3d2810" stroke-width=".8"/>\x27+
|
|
3566
|
+
// Pot rim
|
|
3567
|
+
\x27<rect x="3" y="25" width="14" height="3" rx="1.5" fill="#3d2810" stroke="#4d3215" stroke-width=".5"/>\x27+
|
|
3568
|
+
// Soil
|
|
3569
|
+
\x27<ellipse cx="10" cy="26.5" rx="6" ry="1.5" fill="#1a0f05"/>\x27+
|
|
3570
|
+
// Main stem
|
|
3571
|
+
\x27<path d="M10 25 C10 20 9 14 10 8" stroke="#1a4a10" stroke-width="1.2" fill="none" stroke-linecap="round"/>\x27+
|
|
3572
|
+
// Left leaf
|
|
3573
|
+
\x27<path d="M10 18 C6 14 3 15 4 19 C5 22 9 21 10 18" fill="#166534" opacity=".9"/>\x27+
|
|
3574
|
+
\x27<path d="M10 18 C7.5 16.5 6 17.5 7 19" stroke="#14532d" stroke-width=".5" fill="none"/>\x27+
|
|
3575
|
+
// Right leaf
|
|
3576
|
+
\x27<path d="M10 13 C14 9 17 10 16 14 C15 17 11 16 10 13" fill="#15803d" opacity=".9"/>\x27+
|
|
3577
|
+
\x27<path d="M10 13 C12.5 11.5 14 12.5 13 14" stroke="#14532d" stroke-width=".5" fill="none"/>\x27+
|
|
3578
|
+
// Top leaf
|
|
3579
|
+
\x27<path d="M10 8 C8 4 5 5 6 8 C7 11 10 10 10 8" fill="#166534" opacity=".85"/>\x27+
|
|
3580
|
+
\x27</svg>\x27;
|
|
3581
|
+
// Second plant (taller, cactus-ish)
|
|
3582
|
+
var plant2Svg = \x27<svg viewBox="0 0 20 36" width="20" height="36" xmlns="http://www.w3.org/2000/svg">\x27+
|
|
3583
|
+
// Pot
|
|
3584
|
+
\x27<path d="M4 27 L6 34 L14 34 L16 27 Z" fill="#2a1a0a" stroke="#3d2810" stroke-width=".8"/>\x27+
|
|
3585
|
+
\x27<rect x="3" y="25" width="14" height="3" rx="1.5" fill="#3d2810" stroke="#4d3215" stroke-width=".5"/>\x27+
|
|
3586
|
+
\x27<ellipse cx="10" cy="26.5" rx="6" ry="1.5" fill="#1a0f05"/>\x27+
|
|
3587
|
+
// Main trunk (cactus)
|
|
3588
|
+
\x27<path d="M9 25 L9 10 Q9 8 10 8 Q11 8 11 10 L11 25 Z" fill="#1a5c18" stroke="#145214" stroke-width=".5"/>\x27+
|
|
3589
|
+
// Left arm
|
|
3590
|
+
\x27<path d="M9 16 C5 16 4 14 4 12 Q4 10 6 10 L9 10" fill="#166534" stroke="#145214" stroke-width=".5"/>\x27+
|
|
3591
|
+
// Right arm
|
|
3592
|
+
\x27<path d="M11 19 C15 19 16 17 16 15 Q16 13 14 13 L11 13" fill="#15803d" stroke="#145214" stroke-width=".5"/>\x27+
|
|
3593
|
+
// Spines
|
|
3594
|
+
\x27<line x1="10" y1="20" x2="12" y2="19" stroke="#4ade80" stroke-width=".6" opacity=".4"/>\x27+
|
|
3595
|
+
\x27<line x1="10" y1="14" x2="8" y2="13" stroke="#4ade80" stroke-width=".6" opacity=".4"/>\x27+
|
|
3596
|
+
\x27</svg>\x27;
|
|
3597
|
+
return \x27<div class="prl-office-window"></div>\x27+
|
|
3598
|
+
\x27<div class="prl-office-window-light"></div>\x27+
|
|
3599
|
+
\x27<div class="prl-office-frame"></div>\x27+
|
|
3600
|
+
\x27<div class="prl-office-frame2"></div>\x27+
|
|
3601
|
+
\x27<div class="prl-office-lamp"></div>\x27+
|
|
3602
|
+
\x27<div class="prl-office-plant">\x27+plantSvg+\x27</div>\x27+
|
|
3603
|
+
\x27<div class="prl-office-plant2">\x27+plant2Svg+\x27</div>\x27;
|
|
3604
|
+
}
|
|
3605
|
+
|
|
3559
3606
|
function renderStudioNodes() {
|
|
3560
3607
|
var el = document.getElementById('studioNodes');
|
|
3561
3608
|
if (!el) return;
|
|
@@ -3687,8 +3734,9 @@ function renderStudioNodes() {
|
|
|
3687
3734
|
var html = \x27<div class="prl-wrap" style="border-color:\x27+phaseColor2+\x2744;padding-bottom:16px">\x27+
|
|
3688
3735
|
\x27<div class="prl-header"><span class="prl-phase-chip" style="--pc:\x27+phaseColor2+\x27">\x27+phaseLabel2+\x27</span></div>\x27+
|
|
3689
3736
|
\x27<div class="prl-office wf-office" style="min-height:160px">\x27+
|
|
3737
|
+
officeRoomDecor()+
|
|
3690
3738
|
\x27<div class="prl-office-floor"></div>\x27+
|
|
3691
|
-
\x27<div class="prl-desks-row" style="justify-content:center;flex-wrap:wrap;gap:10px;padding-bottom:8px">\x27+desksHtml2+\x27</div>\x27+
|
|
3739
|
+
\x27<div class="prl-desks-row" style="justify-content:center;flex-wrap:wrap;gap:10px;padding-bottom:8px;position:relative;z-index:2">\x27+desksHtml2+\x27</div>\x27+
|
|
3692
3740
|
masterWfHtml+
|
|
3693
3741
|
\x27</div>\x27+
|
|
3694
3742
|
\x27</div>\x27;
|
|
@@ -4551,7 +4599,7 @@ async function runStudio() {
|
|
|
4551
4599
|
return \x27<div class="prl-desk\x27+(isActive?\x27 prl-desk--active\x27:\x27\x27)+(isDone?\x27 prl-desk--done\x27:\x27\x27)+\x27" style="--dc:\x27+phaseColor+\x27;box-shadow:\x27+shadow+\x27">\x27+
|
|
4552
4600
|
(actionStr ? \x27<div class="prl-action-bubble\x27+(isActive?\x27 prl-action-bubble--active\x27:\x27\x27)+\x27">\x27+actionStr+\x27</div>\x27 : \x27\x27)+
|
|
4553
4601
|
svgChar+
|
|
4554
|
-
\x27<div class="prl-desk-name" style="color:\x27+(isDone?\x27#4ade80\x27:(isActive?phaseColor:\x27#6b7280\x27))+\x27">\x27+esc(lbl
|
|
4602
|
+
\x27<div class="prl-desk-name" style="color:\x27+(isDone?\x27#4ade80\x27:(isActive?phaseColor:\x27#6b7280\x27))+\x27">\x27+esc(lbl)+\x27</div>\x27+
|
|
4555
4603
|
\x27</div>\x27;
|
|
4556
4604
|
}
|
|
4557
4605
|
|
|
@@ -4739,8 +4787,9 @@ async function runStudio() {
|
|
|
4739
4787
|
\x27<div class="prl-wrap">\x27+
|
|
4740
4788
|
\x27<div class="prl-header"><span class="prl-phase-chip" style="--pc:\x27+phaseColor+\x27">\x27+phaseLabel+\x27</span></div>\x27+
|
|
4741
4789
|
\x27<div class="prl-office">\x27+
|
|
4790
|
+
officeRoomDecor()+
|
|
4742
4791
|
\x27<div class="prl-office-floor"></div>\x27+
|
|
4743
|
-
\x27<div class="prl-desks-row">\x27+desksHtml+\x27</div>\x27+
|
|
4792
|
+
\x27<div class="prl-desks-row" style="position:relative;z-index:2">\x27+desksHtml+\x27</div>\x27+
|
|
4744
4793
|
masterHtml+
|
|
4745
4794
|
flyingDocHtml+
|
|
4746
4795
|
\x27</div>\x27+
|
|
@@ -5894,7 +5943,7 @@ input:focus,textarea:focus{border-color:var(--green3)}
|
|
|
5894
5943
|
.studio-arrow--done{color:#22c55e}
|
|
5895
5944
|
/* ── Workflow scene (office layout, replaces cramped pill nodes) ── */
|
|
5896
5945
|
.studio-canvas{background:none!important;border:none!important;padding:0!important;margin-bottom:0!important}
|
|
5897
|
-
#studioNodes .prl-office{border-radius:10px;border:1px solid
|
|
5946
|
+
#studioNodes .prl-office{border-radius:10px;border:1px solid rgba(99,102,241,.25);background:linear-gradient(180deg,#0e0c1e 0%,#13102a 55%,#1a172e 100%);margin-bottom:16px;min-height:200px;padding:16px 12px 12px;position:relative;overflow:hidden}
|
|
5898
5947
|
.wf-office{display:block}
|
|
5899
5948
|
.wf-desks-row{display:flex;align-items:flex-end;justify-content:center;gap:6px;flex-wrap:wrap;padding-bottom:10px}
|
|
5900
5949
|
.wf-desk{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;transition:opacity .2s}
|
|
@@ -5917,10 +5966,37 @@ body.canvas-open #studioParliamentBlock[style*="fixed"]{left:16px!important;tran
|
|
|
5917
5966
|
@keyframes parlPulse{0%,100%{border-color:#6366f1;box-shadow:none}50%{border-color:#818cf8;box-shadow:0 0 20px rgba(99,102,241,.3)}}
|
|
5918
5967
|
.prl-header{display:flex;align-items:center;margin-bottom:10px}
|
|
5919
5968
|
.prl-phase-chip{font-size:10px;font-weight:800;font-family:var(--mono);letter-spacing:.3px;color:var(--pc,#6366f1);background:rgba(99,102,241,.12);border:1px solid rgba(99,102,241,.35);border-radius:20px;padding:3px 12px;display:inline-block}
|
|
5920
|
-
/* Office scene container */
|
|
5921
|
-
.prl-office{position:relative;min-height:
|
|
5922
|
-
|
|
5923
|
-
|
|
5969
|
+
/* Office scene container — room with wall, floor, plants, art */
|
|
5970
|
+
.prl-office{position:relative;min-height:150px;display:flex;align-items:flex-end;padding:0 0 12px 0;overflow:hidden;border-radius:10px;
|
|
5971
|
+
background:linear-gradient(180deg,#0e0c1e 0%,#13102a 55%,#1a172e 100%)}
|
|
5972
|
+
/* Back wall — subtle panel lines */
|
|
5973
|
+
.prl-office::before{content:"";position:absolute;inset:0;background:
|
|
5974
|
+
repeating-linear-gradient(90deg,transparent,transparent 79px,rgba(255,255,255,.025) 80px),
|
|
5975
|
+
linear-gradient(180deg,rgba(30,28,60,.0) 0%,rgba(30,28,60,.5) 60%,rgba(10,10,30,.8) 100%);pointer-events:none;z-index:0}
|
|
5976
|
+
/* Floor — parquet wood planks */
|
|
5977
|
+
.prl-office-floor{position:absolute;bottom:0;left:0;right:0;height:14px;
|
|
5978
|
+
background:repeating-linear-gradient(90deg,#1c1630 0px,#221e38 40px,#1a1630 41px,#1c1630 80px);
|
|
5979
|
+
border-top:1px solid rgba(99,102,241,.15);box-shadow:0 -2px 8px rgba(0,0,0,.4);z-index:1}
|
|
5980
|
+
/* Window on back wall (top-left) */
|
|
5981
|
+
.prl-office-window{position:absolute;top:6px;left:10px;width:38px;height:50px;background:linear-gradient(180deg,#0d1a2e 0%,#162840 50%,#1e3a5a 100%);border:1.5px solid #2a3a50;border-radius:3px;box-shadow:inset 0 0 12px rgba(96,165,250,.15),0 0 8px rgba(96,165,250,.08);z-index:1;overflow:hidden}
|
|
5982
|
+
.prl-office-window::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:rgba(255,255,255,.15)}
|
|
5983
|
+
.prl-office-window::after{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:rgba(255,255,255,.15)}
|
|
5984
|
+
/* Sunlight ray from window */
|
|
5985
|
+
.prl-office-window-light{position:absolute;top:0;left:10px;width:80px;height:100%;background:linear-gradient(145deg,rgba(96,165,250,.06) 0%,transparent 60%);pointer-events:none;z-index:1}
|
|
5986
|
+
/* Wall art frame (top center-right) */
|
|
5987
|
+
.prl-office-frame{position:absolute;top:8px;right:12px;width:36px;height:28px;border:2px solid #2a2840;border-radius:2px;background:linear-gradient(135deg,#0d0a1e,#1a1030);box-shadow:0 2px 6px rgba(0,0,0,.5);z-index:1;overflow:hidden}
|
|
5988
|
+
.prl-office-frame::before{content:"";position:absolute;inset:3px;border-radius:1px;background:linear-gradient(135deg,#1a0a2e 0%,#0a1a2e 50%,#0e2010 100%);opacity:.9}
|
|
5989
|
+
.prl-office-frame::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.06);border-radius:1px}
|
|
5990
|
+
/* Second frame */
|
|
5991
|
+
.prl-office-frame2{position:absolute;top:8px;right:54px;width:24px;height:20px;border:2px solid #2a2840;border-radius:2px;background:linear-gradient(135deg,#0a1020,#1a1820);box-shadow:0 2px 6px rgba(0,0,0,.5);z-index:1}
|
|
5992
|
+
.prl-office-frame2::before{content:"";position:absolute;inset:2px;background:linear-gradient(45deg,#1e1030,#102018);border-radius:1px}
|
|
5993
|
+
/* Plant left */
|
|
5994
|
+
.prl-office-plant{position:absolute;bottom:12px;left:2px;width:20px;height:36px;z-index:2;pointer-events:none}
|
|
5995
|
+
/* Plant right */
|
|
5996
|
+
.prl-office-plant2{position:absolute;bottom:12px;right:2px;width:20px;height:36px;z-index:2;pointer-events:none}
|
|
5997
|
+
/* Ceiling lamp */
|
|
5998
|
+
.prl-office-lamp{position:absolute;top:0;left:50%;transform:translateX(-50%);width:2px;height:14px;background:rgba(255,255,255,.15);z-index:1}
|
|
5999
|
+
.prl-office-lamp::after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:16px;height:8px;border-radius:0 0 12px 12px;background:rgba(99,102,241,.25);box-shadow:0 4px 20px rgba(99,102,241,.3),0 2px 40px rgba(99,102,241,.1)}
|
|
5924
6000
|
/* Desks row */
|
|
5925
6001
|
.prl-desks-row{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;position:relative;z-index:2;padding-bottom:8px}
|
|
5926
6002
|
/* Individual desk card */
|
|
@@ -5928,7 +6004,7 @@ body.canvas-open #studioParliamentBlock[style*="fixed"]{left:16px!important;tran
|
|
|
5928
6004
|
.prl-desk--active{background:#0c0c20;border-color:var(--dc,#6366f1);box-shadow:0 0 20px rgba(99,102,241,.2),0 0 40px rgba(99,102,241,.08)}
|
|
5929
6005
|
.prl-desk--done{border-color:#1e3a1e;background:#0a150a}
|
|
5930
6006
|
/* Action bubble above character */
|
|
5931
|
-
.prl-action-bubble{font-size:9px;color:#6b7280;font-family:var(--mono);padding:2px 6px;border-radius:8px;background:#111;border:1px solid #2a2a38;min-height:16px;text-align:center;transition:all .3s}
|
|
6007
|
+
.prl-action-bubble{font-size:9px;color:#6b7280;font-family:var(--mono);padding:2px 6px;border-radius:8px;background:#111;border:1px solid #2a2a38;min-height:16px;text-align:center;white-space:normal;word-break:break-word;max-width:88px;line-height:1.3;transition:all .3s}
|
|
5932
6008
|
.prl-action-bubble--active{color:var(--dc,#6366f1);border-color:var(--dc,#6366f1);background:rgba(99,102,241,.08);animation:parlBubblePop .4s ease}
|
|
5933
6009
|
@keyframes parlBubblePop{0%{transform:scale(.85);opacity:.5}100%{transform:scale(1);opacity:1}}
|
|
5934
6010
|
/* Character SVG animations */
|
|
@@ -5939,7 +6015,7 @@ body.canvas-open #studioParliamentBlock[style*="fixed"]{left:16px!important;tran
|
|
|
5939
6015
|
.prl-head{transform-origin:50% 100%;animation:parlHeadNod .8s ease-in-out infinite}
|
|
5940
6016
|
.prl-doc-hold{transform-origin:center center;animation:parlDocBob .7s ease-in-out infinite}
|
|
5941
6017
|
/* Agent name label */
|
|
5942
|
-
.prl-desk-name{font-size:9px;font-family:var(--mono);font-weight:700;letter-spacing:.3px;text-align:center;white-space:
|
|
6018
|
+
.prl-desk-name{font-size:9px;font-family:var(--mono);font-weight:700;letter-spacing:.3px;text-align:center;white-space:normal;word-break:break-word;max-width:88px;line-height:1.3}
|
|
5943
6019
|
/* MASTER ORCHESTRATOR */
|
|
5944
6020
|
.prl-master{position:absolute;bottom:8px;right:8px;display:flex;flex-direction:column;align-items:center;gap:1px;z-index:3;transition:right .8s cubic-bezier(.4,0,.2,1)}
|
|
5945
6021
|
.prl-master-label{font-size:8px;font-family:var(--mono);font-weight:700;letter-spacing:.4px;text-align:center;text-shadow:0 0 8px currentColor}
|