hyperclaw 5.2.3 β†’ 5.2.5

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.
Files changed (41) hide show
  1. package/README.md +17 -111
  2. package/dist/chat-CbntPqAD.js +324 -0
  3. package/dist/chat-ChYGHacA.js +324 -0
  4. package/dist/daemon-BVz136O4.js +7 -0
  5. package/dist/daemon-DY73xDpS.js +7 -0
  6. package/dist/daemon-jRZ0qvfS.js +404 -0
  7. package/dist/daemon-rXG1-sEx.js +404 -0
  8. package/dist/engine-8auuZb7x.js +7 -0
  9. package/dist/engine-CJtV0X2-.js +7 -0
  10. package/dist/engine-COYE-fVt.js +323 -0
  11. package/dist/engine-fLaefti6.js +323 -0
  12. package/dist/hyperclawbot-CFz_TKkS.js +508 -0
  13. package/dist/hyperclawbot-sfzAMwh-.js +508 -0
  14. package/dist/mcp-loader-CMtuM3oJ.js +93 -0
  15. package/dist/mcp-loader-D_NWYUqh.js +93 -0
  16. package/dist/onboard-CO0j5jJ1.js +13 -0
  17. package/dist/onboard-DMTgAKzs.js +3865 -0
  18. package/dist/onboard-I3AirQv9.js +13 -0
  19. package/dist/onboard-cY-Emhr7.js +3865 -0
  20. package/dist/orchestrator-6ljWiZWu.js +189 -0
  21. package/dist/orchestrator-BJ08fjSq.js +6 -0
  22. package/dist/orchestrator-DrFHEhaP.js +189 -0
  23. package/dist/orchestrator-mdElwt2i.js +6 -0
  24. package/dist/run-main.js +25 -25
  25. package/dist/server-CRqwlLX9.js +1294 -0
  26. package/dist/server-DG804qOP.js +4 -0
  27. package/dist/server-DqXe03-t.js +4 -0
  28. package/dist/server-jaMeUOfM.js +1294 -0
  29. package/dist/skill-runtime-C-3EKfkr.js +102 -0
  30. package/dist/skill-runtime-CZ8uTBra.js +102 -0
  31. package/dist/skill-runtime-CpPJV2Ga.js +5 -0
  32. package/dist/skill-runtime-DwNX3pnp.js +5 -0
  33. package/dist/src-B3eBN96E.js +458 -0
  34. package/dist/src-D0vSZWOd.js +458 -0
  35. package/dist/src-ij58SST0.js +63 -0
  36. package/dist/src-sWcDdkdR.js +63 -0
  37. package/dist/sub-agent-tools-BI8UISC4.js +39 -0
  38. package/dist/sub-agent-tools-DYKPR3aI.js +39 -0
  39. package/package.json +1 -1
  40. package/static/chat.html +314 -187
  41. package/static/dashboard.html +133 -20
@@ -1,33 +1,146 @@
1
1
  <!DOCTYPE html>
2
- <html lang="en" class="dark">
2
+ <html lang="en" data-theme="dark">
3
3
  <head>
4
4
  <meta charset="UTF-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>HyperClaw Dashboard</title>
7
7
  <script src="https://cdn.tailwindcss.com"></script>
8
- <style>body{background:#0f172a;color:#e2e8f0;font-family:system-ui}</style>
8
+ <link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;700&family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
9
+ <style>
10
+ :root {
11
+ --bg:#090e1a;--bg2:#0d1526;--bg3:#111d33;--border:#1e2d4a;
12
+ --accent:#00c2ff;--accent2:#0077b6;--text:#e2eaf8;--text2:#8ba0c0;
13
+ --card:#0d1829;--shadow:0 4px 24px rgba(0,194,255,0.07);
14
+ }
15
+ [data-theme="light"] {
16
+ --bg:#eef4ff;--bg2:#dde8ff;--bg3:#ffffff;--border:#b8cdf0;
17
+ --accent:#0077b6;--accent2:#005f99;--text:#0d1d3a;--text2:#3a5580;
18
+ --card:#ffffff;--shadow:0 4px 24px rgba(0,119,182,0.10);
19
+ }
20
+ *{box-sizing:border-box;margin:0;padding:0}
21
+ body{background:var(--bg);color:var(--text);font-family:'Inter',sans-serif;min-height:100vh}
22
+ .header{background:rgba(9,14,26,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);padding:14px 24px;display:flex;align-items:center;gap:14px;position:sticky;top:0;z-index:100}
23
+ [data-theme="light"] .header{background:rgba(238,244,255,.97)}
24
+ .logo{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:22px;letter-spacing:2px;background:linear-gradient(90deg,var(--accent),#7dd4fc,var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
25
+ .btn-icon{background:var(--bg3);border:1px solid var(--border);color:var(--text2);width:34px;height:34px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:15px;transition:all .2s;margin-left:auto}
26
+ .btn-icon:hover{border-color:var(--accent);color:var(--accent)}
27
+ .main{max-width:960px;margin:0 auto;padding:28px 20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
28
+ .card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:var(--shadow)}
29
+ .card-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--text2);margin-bottom:14px;display:flex;align-items:center;gap:8px}
30
+ .stat-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px}
31
+ .stat-row:last-child{border:none}
32
+ .stat-label{color:var(--text2)}
33
+ .stat-val{font-weight:600;font-family:'JetBrains Mono',monospace;font-size:12px}
34
+ .badge{padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600}
35
+ .badge-green{background:rgba(34,197,94,.15);color:#22c55e}
36
+ .badge-red{background:rgba(239,68,68,.15);color:#ef4444}
37
+ .badge-blue{background:rgba(0,194,255,.12);color:var(--accent)}
38
+ .link-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;border:1px solid var(--border);text-decoration:none;color:var(--text);font-size:13px;transition:all .2s;margin-bottom:8px}
39
+ .link-row:hover{border-color:var(--accent);color:var(--accent);background:rgba(0,194,255,.05)}
40
+ .pulse{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 6px #22c55e;animation:p 2s infinite;flex-shrink:0}
41
+ .pulse.off{background:#ef4444;box-shadow:0 0 6px #ef4444;animation:none}
42
+ @keyframes p{0%,100%{box-shadow:0 0 4px #22c55e}50%{box-shadow:0 0 12px #22c55e}}
43
+ .hero{grid-column:1/-1;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:24px 28px;display:flex;align-items:center;gap:20px;box-shadow:var(--shadow)}
44
+ .hero-logo{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:clamp(24px,5vw,44px);letter-spacing:3px;background:linear-gradient(135deg,#7dd4fc,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}
45
+ .hero-sub{font-size:13px;color:var(--text2);margin-top:6px}
46
+ </style>
9
47
  </head>
10
- <body class="min-h-screen p-8">
11
- <h1 class="text-2xl font-bold text-cyan-400 mb-6">πŸ¦… HyperClaw Dashboard</h1>
12
- <div id="content" class="grid gap-4 md:grid-cols-2 max-w-4xl">
13
- <div class="bg-slate-800 rounded-lg p-4">
14
- <h2 class="text-lg font-semibold text-cyan-300 mb-2">Gateway</h2>
15
- <pre id="status" class="text-sm text-slate-300 overflow-auto">Loading...</pre>
48
+ <body>
49
+
50
+ <div class="header">
51
+ <span style="font-size:26px;filter:drop-shadow(0 0 8px var(--accent))">πŸ¦…</span>
52
+ <span class="logo">HYPERCLAW</span>
53
+ <span style="font-size:12px;color:var(--text2);margin-left:4px">Dashboard</span>
54
+ <button class="btn-icon" id="theme-btn" title="Toggle theme">πŸŒ™</button>
55
+ </div>
56
+
57
+ <div class="main">
58
+ <!-- Hero -->
59
+ <div class="hero">
60
+ <div>
61
+ <div class="hero-logo">HYPERCLAW</div>
62
+ <div class="hero-sub">AI Gateway Platform &nbsp;Β·&nbsp; <span id="hero-model">β€”</span> &nbsp;Β·&nbsp; Agent: <span id="hero-agent">β€”</span></div>
16
63
  </div>
17
- <div class="bg-slate-800 rounded-lg p-4">
18
- <h2 class="text-lg font-semibold text-cyan-300 mb-2">Quick links</h2>
19
- <ul class="space-y-2 text-cyan-400">
20
- <li><a href="/chat" class="hover:underline">/chat</a> β€” Web chat</li>
21
- <li><a href="/api/status" class="hover:underline">/api/status</a> β€” API status</li>
22
- </ul>
64
+ <div style="margin-left:auto;display:flex;gap:8px;align-items:center">
65
+ <div class="pulse off" id="hero-pulse"></div>
66
+ <span id="hero-status" style="font-size:13px;color:var(--text2)">Connecting…</span>
23
67
  </div>
24
68
  </div>
25
- <script>
26
- const port = location.port || 18789;
27
- const apiUrl = `http://${location.hostname}:${port}`;
69
+
70
+ <!-- Gateway status -->
71
+ <div class="card">
72
+ <div class="card-title">⚑ Gateway</div>
73
+ <div class="stat-row"><span class="stat-label">Status</span><span class="stat-val" id="gw-running"><span class="badge badge-red">Stopped</span></span></div>
74
+ <div class="stat-row"><span class="stat-label">Port</span><span class="stat-val" id="gw-port">β€”</span></div>
75
+ <div class="stat-row"><span class="stat-label">Uptime</span><span class="stat-val" id="gw-uptime">β€”</span></div>
76
+ <div class="stat-row"><span class="stat-label">Sessions</span><span class="stat-val" id="gw-sessions">β€”</span></div>
77
+ <div class="stat-row"><span class="stat-label">Channels</span><span class="stat-val" id="gw-channels">β€”</span></div>
78
+ </div>
79
+
80
+ <!-- AI info -->
81
+ <div class="card">
82
+ <div class="card-title">πŸ€– Agent</div>
83
+ <div class="stat-row"><span class="stat-label">Name</span><span class="stat-val" id="ai-agent">β€”</span></div>
84
+ <div class="stat-row"><span class="stat-label">Model</span><span class="stat-val" id="ai-model">β€”</span></div>
85
+ <div class="stat-row"><span class="stat-label">Provider</span><span class="stat-val" id="ai-provider">β€”</span></div>
86
+ <div class="stat-row"><span class="stat-label">Version</span><span class="stat-val" id="ai-version">β€”</span></div>
87
+ </div>
88
+
89
+ <!-- Quick links -->
90
+ <div class="card">
91
+ <div class="card-title">πŸ”— Quick links</div>
92
+ <a class="link-row" href="/chat"><span>πŸ’¬</span><span>Web Chat</span><span style="margin-left:auto;font-size:11px;color:var(--text2)">/chat</span></a>
93
+ <a class="link-row" href="/api/status" target="_blank"><span>πŸ“Š</span><span>API Status (JSON)</span><span style="margin-left:auto;font-size:11px;color:var(--text2)">/api/status</span></a>
94
+ <a class="link-row" href="https://github.com/mylo-2001/hyperclaw" target="_blank"><span>πŸ™</span><span>GitHub Repository</span><span style="margin-left:auto;font-size:11px;color:var(--text2)">github</span></a>
95
+ </div>
96
+
97
+ <!-- Commands -->
98
+ <div class="card">
99
+ <div class="card-title">⌨️ CLI commands</div>
100
+ <div class="stat-row"><span class="stat-label" style="font-family:'JetBrains Mono',monospace;font-size:11px">hyperclaw chat</span><span class="badge badge-blue">Terminal</span></div>
101
+ <div class="stat-row"><span class="stat-label" style="font-family:'JetBrains Mono',monospace;font-size:11px">hyperclaw status</span><span class="badge badge-blue">Status</span></div>
102
+ <div class="stat-row"><span class="stat-label" style="font-family:'JetBrains Mono',monospace;font-size:11px">hyperclaw health</span><span class="badge badge-blue">Health</span></div>
103
+ <div class="stat-row"><span class="stat-label" style="font-family:'JetBrains Mono',monospace;font-size:11px">hyperclaw osint</span><span class="badge badge-blue">OSINT</span></div>
104
+ <div class="stat-row"><span class="stat-label" style="font-family:'JetBrains Mono',monospace;font-size:11px">hyperclaw hub</span><span class="badge badge-blue">Skills</span></div>
105
+ </div>
106
+ </div>
107
+
108
+ <script>
109
+ const apiUrl = `http://${location.hostname}:${location.port || 18789}`;
110
+ const themeBtn = document.getElementById('theme-btn');
111
+ let dark = true;
112
+ themeBtn.onclick = () => {
113
+ dark = !dark;
114
+ document.documentElement.setAttribute('data-theme', dark ? 'dark' : 'light');
115
+ themeBtn.textContent = dark ? 'πŸŒ™' : 'β˜€οΈ';
116
+ };
117
+
118
+ function load() {
28
119
  fetch(apiUrl + '/api/status').then(r => r.json()).then(d => {
29
- document.getElementById('status').textContent = JSON.stringify(d, null, 2);
30
- }).catch(() => document.getElementById('status').textContent = 'Gateway unreachable');
31
- </script>
120
+ const running = d.running;
121
+ document.getElementById('gw-running').innerHTML = running
122
+ ? '<span class="badge badge-green">Running</span>'
123
+ : '<span class="badge badge-red">Stopped</span>';
124
+ document.getElementById('gw-port').textContent = d.port || 'β€”';
125
+ document.getElementById('gw-uptime').textContent = d.uptime || 'β€”';
126
+ document.getElementById('gw-sessions').textContent = d.sessions ?? 'β€”';
127
+ document.getElementById('gw-channels').textContent = (d.channels?.length || d.channels) ?? '0';
128
+ document.getElementById('ai-agent').textContent = d.agentName || 'β€”';
129
+ document.getElementById('ai-model').textContent = d.model || 'β€”';
130
+ document.getElementById('ai-provider').textContent = d.provider || 'β€”';
131
+ document.getElementById('ai-version').textContent = d.version || 'β€”';
132
+ document.getElementById('hero-model').textContent = d.model || 'β€”';
133
+ document.getElementById('hero-agent').textContent = d.agentName || 'β€”';
134
+ const pulse = document.getElementById('hero-pulse');
135
+ const status = document.getElementById('hero-status');
136
+ if (running) { pulse.classList.remove('off'); status.textContent = 'Running'; status.style.color = '#22c55e'; }
137
+ else { pulse.classList.add('off'); status.textContent = 'Stopped'; status.style.color = '#ef4444'; }
138
+ }).catch(() => {
139
+ document.getElementById('hero-status').textContent = 'Unreachable';
140
+ });
141
+ }
142
+ load();
143
+ setInterval(load, 5000);
144
+ </script>
32
145
  </body>
33
146
  </html>