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.
- package/README.md +17 -111
- package/dist/chat-CbntPqAD.js +324 -0
- package/dist/chat-ChYGHacA.js +324 -0
- package/dist/daemon-BVz136O4.js +7 -0
- package/dist/daemon-DY73xDpS.js +7 -0
- package/dist/daemon-jRZ0qvfS.js +404 -0
- package/dist/daemon-rXG1-sEx.js +404 -0
- package/dist/engine-8auuZb7x.js +7 -0
- package/dist/engine-CJtV0X2-.js +7 -0
- package/dist/engine-COYE-fVt.js +323 -0
- package/dist/engine-fLaefti6.js +323 -0
- package/dist/hyperclawbot-CFz_TKkS.js +508 -0
- package/dist/hyperclawbot-sfzAMwh-.js +508 -0
- package/dist/mcp-loader-CMtuM3oJ.js +93 -0
- package/dist/mcp-loader-D_NWYUqh.js +93 -0
- package/dist/onboard-CO0j5jJ1.js +13 -0
- package/dist/onboard-DMTgAKzs.js +3865 -0
- package/dist/onboard-I3AirQv9.js +13 -0
- package/dist/onboard-cY-Emhr7.js +3865 -0
- package/dist/orchestrator-6ljWiZWu.js +189 -0
- package/dist/orchestrator-BJ08fjSq.js +6 -0
- package/dist/orchestrator-DrFHEhaP.js +189 -0
- package/dist/orchestrator-mdElwt2i.js +6 -0
- package/dist/run-main.js +25 -25
- package/dist/server-CRqwlLX9.js +1294 -0
- package/dist/server-DG804qOP.js +4 -0
- package/dist/server-DqXe03-t.js +4 -0
- package/dist/server-jaMeUOfM.js +1294 -0
- package/dist/skill-runtime-C-3EKfkr.js +102 -0
- package/dist/skill-runtime-CZ8uTBra.js +102 -0
- package/dist/skill-runtime-CpPJV2Ga.js +5 -0
- package/dist/skill-runtime-DwNX3pnp.js +5 -0
- package/dist/src-B3eBN96E.js +458 -0
- package/dist/src-D0vSZWOd.js +458 -0
- package/dist/src-ij58SST0.js +63 -0
- package/dist/src-sWcDdkdR.js +63 -0
- package/dist/sub-agent-tools-BI8UISC4.js +39 -0
- package/dist/sub-agent-tools-DYKPR3aI.js +39 -0
- package/package.json +1 -1
- package/static/chat.html +314 -187
- package/static/dashboard.html +133 -20
package/static/dashboard.html
CHANGED
|
@@ -1,33 +1,146 @@
|
|
|
1
1
|
<!DOCTYPE html>
|
|
2
|
-
<html lang="en"
|
|
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
|
-
<
|
|
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
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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 Β· <span id="hero-model">β</span> Β· Agent: <span id="hero-agent">β</span></div>
|
|
16
63
|
</div>
|
|
17
|
-
<div
|
|
18
|
-
<
|
|
19
|
-
<
|
|
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
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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>
|