@nhonh/qabot 1.0.1 → 1.0.2

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.
@@ -0,0 +1,15 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="none">
2
+ <defs>
3
+ <linearGradient id="sg" x1="0" y1="0" x2="0" y2="1">
4
+ <stop offset="0%" stop-color="#A78BFA"/>
5
+ <stop offset="100%" stop-color="#7C3AED"/>
6
+ </linearGradient>
7
+ <linearGradient id="cg" x1="0" y1="0" x2="1" y2="1">
8
+ <stop offset="0%" stop-color="#34D399"/>
9
+ <stop offset="100%" stop-color="#10B981"/>
10
+ </linearGradient>
11
+ </defs>
12
+ <path d="M16 2 L28 7.5 C28 7.5 29 18 16 29.5 C3 18 4 7.5 4 7.5 Z" fill="url(#sg)"/>
13
+ <path d="M16 5 L25.5 9.5 C25.5 9.5 26.2 17.5 16 27 C5.8 17.5 6.5 9.5 6.5 9.5 Z" fill="#0C0A1A"/>
14
+ <path d="M11.5 15.5 L14.5 18.5 L20.5 12.5" stroke="url(#cg)" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" fill="none"/>
15
+ </svg>
@@ -0,0 +1,56 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="none">
2
+ <defs>
3
+ <linearGradient id="shieldGrad" x1="0" y1="0" x2="0" y2="1">
4
+ <stop offset="0%" stop-color="#A78BFA"/>
5
+ <stop offset="100%" stop-color="#7C3AED"/>
6
+ </linearGradient>
7
+ <linearGradient id="innerGrad" x1="0" y1="0" x2="0" y2="1">
8
+ <stop offset="0%" stop-color="#1A1635"/>
9
+ <stop offset="100%" stop-color="#0C0A1A"/>
10
+ </linearGradient>
11
+ <linearGradient id="checkGrad" x1="0" y1="0" x2="1" y2="1">
12
+ <stop offset="0%" stop-color="#34D399"/>
13
+ <stop offset="100%" stop-color="#10B981"/>
14
+ </linearGradient>
15
+ <filter id="glow">
16
+ <feGaussianBlur stdDeviation="8" result="blur"/>
17
+ <feMerge><feMergeNode in="blur"/><feMergeNode in="SourceGraphic"/></feMerge>
18
+ </filter>
19
+ <filter id="innerShadow">
20
+ <feGaussianBlur stdDeviation="4" result="blur"/>
21
+ <feOffset dx="0" dy="2" result="offset"/>
22
+ <feComposite in="SourceGraphic" in2="offset" operator="over"/>
23
+ </filter>
24
+ </defs>
25
+
26
+ <!-- Outer glow -->
27
+ <path d="M256 28 L462 120 C462 120 474 300 256 484 C38 300 50 120 50 120 Z" fill="#A78BFA" opacity="0.15" filter="url(#glow)"/>
28
+
29
+ <!-- Shield body -->
30
+ <path d="M256 42 L448 128 C448 128 458 290 256 468 C54 290 64 128 64 128 Z" fill="url(#shieldGrad)" stroke="#C4B5FD" stroke-width="3"/>
31
+
32
+ <!-- Inner shield -->
33
+ <path d="M256 72 L420 146 C420 146 428 280 256 438 C84 280 92 146 92 146 Z" fill="url(#innerGrad)" stroke="#2D2852" stroke-width="2"/>
34
+
35
+ <!-- Checkmark circle background -->
36
+ <circle cx="256" cy="245" r="105" fill="#7C3AED" opacity="0.3"/>
37
+ <circle cx="256" cy="245" r="90" fill="none" stroke="#A78BFA" stroke-width="3" stroke-dasharray="6 4" opacity="0.5"/>
38
+
39
+ <!-- Main checkmark -->
40
+ <path d="M196 245 L236 285 L316 205" fill="none" stroke="url(#checkGrad)" stroke-width="24" stroke-linecap="round" stroke-linejoin="round" filter="url(#innerShadow)"/>
41
+
42
+ <!-- Small decorative checkmarks (verified layers) -->
43
+ <path d="M152 175 L162 185 L182 165" fill="none" stroke="#34D399" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" opacity="0.6"/>
44
+ <path d="M340 175 L350 185 L370 165" fill="none" stroke="#34D399" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" opacity="0.6"/>
45
+ <path d="M152 315 L162 325 L182 305" fill="none" stroke="#34D399" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" opacity="0.6"/>
46
+ <path d="M340 315 L350 325 L370 305" fill="none" stroke="#34D399" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" opacity="0.6"/>
47
+
48
+ <!-- QA text -->
49
+ <text x="256" y="400" text-anchor="middle" font-family="system-ui,-apple-system,sans-serif" font-size="52" font-weight="800" fill="#C4B5FD" letter-spacing="8">QA</text>
50
+
51
+ <!-- Horizontal scan lines (inspection feel) -->
52
+ <line x1="130" y1="210" x2="170" y2="210" stroke="#A78BFA" stroke-width="2" opacity="0.3"/>
53
+ <line x1="342" y1="210" x2="382" y2="210" stroke="#A78BFA" stroke-width="2" opacity="0.3"/>
54
+ <line x1="130" y1="280" x2="170" y2="280" stroke="#A78BFA" stroke-width="2" opacity="0.3"/>
55
+ <line x1="342" y1="280" x2="382" y2="280" stroke="#A78BFA" stroke-width="2" opacity="0.3"/>
56
+ </svg>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nhonh/qabot",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "AI-powered universal QA automation tool. Import any project, AI analyzes and runs tests across all layers.",
5
5
  "main": "src/index.js",
6
6
  "bin": {
@@ -59,6 +59,7 @@
59
59
  "files": [
60
60
  "bin/",
61
61
  "src/",
62
- "templates/"
62
+ "templates/",
63
+ "assets/"
63
64
  ]
64
65
  }
@@ -1,4 +1,4 @@
1
- export const VERSION = "1.0.1";
1
+ export const VERSION = "1.0.2";
2
2
  export const TOOL_NAME = "qabot";
3
3
 
4
4
  export const PROJECT_TYPES = [
@@ -15,6 +15,7 @@ export class HtmlBuilder {
15
15
  return `<!DOCTYPE html>
16
16
  <html lang="en"><head>
17
17
  <meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1">
18
+ <link rel="icon" type="image/svg+xml" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none'%3E%3Cdefs%3E%3ClinearGradient id='sg' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0%25' stop-color='%23A78BFA'/%3E%3Cstop offset='100%25' stop-color='%237C3AED'/%3E%3C/linearGradient%3E%3ClinearGradient id='cg' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0%25' stop-color='%2334D399'/%3E%3Cstop offset='100%25' stop-color='%2310B981'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M16 2L28 7.5C28 7.5 29 18 16 29.5 3 18 4 7.5 4 7.5Z' fill='url(%23sg)'/%3E%3Cpath d='M16 5L25.5 9.5C25.5 9.5 26.2 17.5 16 27 5.8 17.5 6.5 9.5 6.5 9.5Z' fill='%230C0A1A'/%3E%3Cpath d='M11.5 15.5L14.5 18.5 20.5 12.5' stroke='url(%23cg)' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E">
18
19
  <title>QABot Report \u2014 ${esc(meta.feature || "all")} | ${esc(meta.projectName || "")}</title>
19
20
  <style>
20
21
  :root{--bg:#0C0A1A;--bg2:#13102A;--card:#1A1635;--card2:#221E3D;--border:#2D2852;--text:#E8E4F0;--dim:#8B85A0;--v:#A78BFA;--v2:#7C3AED;--v3:#C4B5FD;--g:#34D399;--r:#F87171;--y:#FBBF24;--cyan:#22D3EE;--font:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--mono:'SF Mono',SFMono-Regular,'JetBrains Mono',Menlo,monospace}
@@ -103,6 +104,7 @@ footer{text-align:center;padding:2rem 0 1rem;color:var(--dim);font-size:.8rem;bo
103
104
  <div class="wrap">
104
105
 
105
106
  <div class="hero">
107
+ <div style="margin-bottom:1rem"><svg width="48" height="48" viewBox="0 0 32 32" fill="none"><defs><linearGradient id="hsg" x1="0" y1="0" x2="0" y2="1"><stop offset="0%" stop-color="#A78BFA"/><stop offset="100%" stop-color="#7C3AED"/></linearGradient><linearGradient id="hcg" x1="0" y1="0" x2="1" y2="1"><stop offset="0%" stop-color="#34D399"/><stop offset="100%" stop-color="#10B981"/></linearGradient></defs><path d="M16 2L28 7.5C28 7.5 29 18 16 29.5 3 18 4 7.5 4 7.5Z" fill="url(#hsg)"/><path d="M16 5L25.5 9.5C25.5 9.5 26.2 17.5 16 27 5.8 17.5 6.5 9.5 6.5 9.5Z" fill="#0C0A1A"/><path d="M11.5 15.5L14.5 18.5 20.5 12.5" stroke="url(#hcg)" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" fill="none"/></svg></div>
106
108
  <h1>QABot Test Report</h1>
107
109
  <div class="meta">
108
110
  <span>${esc(meta.projectName || "")}</span> &middot;