nothumanallowed 13.2.19 → 13.2.20

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.2.19",
3
+ "version": "13.2.20",
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": {
@@ -2758,14 +2758,92 @@ Respond with ONLY valid JSON, no markdown:
2758
2758
  // Tool-data agents: fetch real live data and use buildSystemPrompt (tool calls allowed)
2759
2759
  const isLiveDataAgent = ['CalendarAgent','EmailAgent','GitHubAgent','NotionAgent','SlackAgent','DriveAgent','BrowserAgent','WebSearchAgent','ResearchAgent'].includes(agent);
2760
2760
 
2761
- const canvasSystemPrompt = `You are an HTML report generator. Output a single complete HTML document in ${language}. No preamble, no explanation.
2762
- RULES:
2763
- - First character of your response must be < (start of <!DOCTYPE html>)
2764
- - Do NOT use markdown code blocks, JSON, or any wrapper
2765
- - All text content must be in ${language}
2766
- - Use clean design: white background, Inter/system-ui font, #6366f1 accent color
2767
- - Structure: gradient header, then card sections with the content
2768
- - Make it complete and self-contained`;
2761
+ const canvasSystemPrompt = `You are an HTML report generator. Output ONLY a single complete HTML document in ${language}. No preamble, no explanation, no markdown.
2762
+ STRICT RULES:
2763
+ - Your ENTIRE response must be valid HTML starting with <!DOCTYPE html>
2764
+ - Do NOT output markdown code blocks, JSON, or any wrapper text
2765
+ - ALL text content (titles, descriptions, labels, body text) must be in ${language}
2766
+ - Use EXACTLY this CSS template structure — only change the content inside, never the style
2767
+
2768
+ USE THIS EXACT HTML STRUCTURE (replace placeholders with real content):
2769
+ <!DOCTYPE html>
2770
+ <html lang="${language.slice(0,2).toLowerCase()}">
2771
+ <head>
2772
+ <meta charset="UTF-8">
2773
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
2774
+ <title>REPORT TITLE HERE</title>
2775
+ <style>
2776
+ *{margin:0;padding:0;box-sizing:border-box}
2777
+ body{font-family:'Inter',system-ui,sans-serif;background:#0d0d14;color:#f0f0f5;min-height:100vh;padding:24px}
2778
+ .header{background:linear-gradient(135deg,#6366f1 0%,#22d3ee 100%);border-radius:16px;padding:32px 40px;margin-bottom:24px}
2779
+ .header h1{font-size:28px;font-weight:700;color:#fff;margin-bottom:8px}
2780
+ .header p{font-size:14px;color:rgba(255,255,255,0.8)}
2781
+ .meta{display:flex;gap:16px;margin-top:16px;flex-wrap:wrap}
2782
+ .meta span{background:rgba(255,255,255,0.2);border-radius:20px;padding:4px 12px;font-size:12px;color:#fff}
2783
+ .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:24px}
2784
+ .card{background:#15151f;border:1px solid #2a2a38;border-radius:12px;padding:20px}
2785
+ .card h2{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:#6366f1;margin-bottom:12px;font-weight:600}
2786
+ .card h3{font-size:16px;font-weight:600;color:#f0f0f5;margin-bottom:8px}
2787
+ .card p{font-size:13px;color:#8b8b9e;line-height:1.6}
2788
+ .card ul{list-style:none;padding:0}
2789
+ .card ul li{font-size:13px;color:#8b8b9e;line-height:1.8;padding-left:16px;position:relative}
2790
+ .card ul li::before{content:'›';position:absolute;left:0;color:#6366f1}
2791
+ .badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;margin-right:6px;margin-bottom:4px}
2792
+ .badge-high{background:#7f1d1d;color:#ef4444}
2793
+ .badge-med{background:#713f12;color:#f59e0b}
2794
+ .badge-low{background:#14532d;color:#34d399}
2795
+ .badge-info{background:#1e1b4b;color:#6366f1}
2796
+ .section{background:#15151f;border:1px solid #2a2a38;border-radius:12px;padding:24px;margin-bottom:16px}
2797
+ .section h2{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:#22d3ee;margin-bottom:16px;font-weight:600}
2798
+ .section h3{font-size:15px;font-weight:600;color:#f0f0f5;margin-bottom:6px}
2799
+ .section p{font-size:13px;color:#8b8b9e;line-height:1.7;margin-bottom:12px}
2800
+ .priority-list{display:flex;flex-direction:column;gap:10px}
2801
+ .priority-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#1c1c28;border-radius:8px}
2802
+ .priority-num{width:28px;height:28px;border-radius:50%;background:#6366f1;color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
2803
+ .priority-item h4{font-size:13px;font-weight:600;color:#f0f0f5;margin-bottom:2px}
2804
+ .priority-item p{font-size:12px;color:#8b8b9e;line-height:1.5;margin:0}
2805
+ .footer{text-align:center;padding:20px;font-size:11px;color:#4a4a5e;margin-top:8px}
2806
+ </style>
2807
+ </head>
2808
+ <body>
2809
+ <!-- HEADER: put report title, subtitle, date, and 2-3 meta tags -->
2810
+ <div class="header">
2811
+ <h1>REPLACE WITH REPORT TITLE</h1>
2812
+ <p>REPLACE WITH SUBTITLE/DESCRIPTION</p>
2813
+ <div class="meta">
2814
+ <span>📅 ${today}</span>
2815
+ <span>META TAG 2</span>
2816
+ <span>META TAG 3</span>
2817
+ </div>
2818
+ </div>
2819
+
2820
+ <!-- STATS GRID: 3-4 cards with key numbers/stats -->
2821
+ <div class="grid">
2822
+ <div class="card">
2823
+ <h2>LABEL 1</h2>
2824
+ <h3>STAT OR TITLE</h3>
2825
+ <p>DESCRIPTION</p>
2826
+ </div>
2827
+ <!-- Add more cards for other stats -->
2828
+ </div>
2829
+
2830
+ <!-- MAIN SECTIONS: 2-4 sections with content -->
2831
+ <div class="section">
2832
+ <h2>SECTION LABEL</h2>
2833
+ <div class="priority-list">
2834
+ <div class="priority-item">
2835
+ <div class="priority-num">1</div>
2836
+ <div><h4>ITEM TITLE</h4><p>ITEM DESCRIPTION</p></div>
2837
+ </div>
2838
+ <!-- Add more priority items -->
2839
+ </div>
2840
+ </div>
2841
+
2842
+ <div class="footer">Generated by NHA Studio · ${today}</div>
2843
+ </body>
2844
+ </html>
2845
+
2846
+ Fill ALL placeholder text with the actual content from the data provided. Keep ALL CSS exactly as above. Output ONLY the HTML.`;
2769
2847
 
2770
2848
  let sysPrompt, userMsg;
2771
2849
 
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.2.19';
8
+ export const VERSION = '13.2.20';
9
9
  export const BASE_URL = 'https://nothumanallowed.com/cli';
10
10
  export const API_BASE = 'https://nothumanallowed.com/api/v1';
11
11