@kernel.chat/kbot 3.34.0 → 3.34.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/dist/cli.js +36 -5
- package/dist/cli.js.map +1 -1
- package/dist/compete.d.ts.map +1 -1
- package/dist/compete.js +216 -73
- package/dist/compete.js.map +1 -1
- package/dist/dashboard.d.ts +1 -1
- package/dist/dashboard.d.ts.map +1 -1
- package/dist/dashboard.js +257 -84
- package/dist/dashboard.js.map +1 -1
- package/package.json +1 -1
package/dist/dashboard.js
CHANGED
|
@@ -1,104 +1,277 @@
|
|
|
1
|
-
// kbot Dashboard — Live Learning
|
|
1
|
+
// kbot Dashboard — Live Learning Dashboard TUI
|
|
2
2
|
//
|
|
3
|
-
//
|
|
4
|
-
//
|
|
5
|
-
|
|
3
|
+
// Usage: kbot dashboard
|
|
4
|
+
//
|
|
5
|
+
// Renders a live terminal dashboard showing learning stats, tool usage,
|
|
6
|
+
// agent routing, session history, and growth metrics.
|
|
7
|
+
// Refreshes every 5 seconds. Press 'q' to quit.
|
|
8
|
+
//
|
|
9
|
+
// Uses only Node built-ins + ANSI escape codes — no external deps.
|
|
10
|
+
import { readFileSync, existsSync, readdirSync } from 'fs';
|
|
6
11
|
import { homedir } from 'os';
|
|
7
12
|
import { join } from 'path';
|
|
13
|
+
import { createRequire } from 'module';
|
|
14
|
+
const __require = createRequire(import.meta.url);
|
|
15
|
+
const PKG_VERSION = __require('../package.json').version;
|
|
8
16
|
const KBOT_DIR = join(homedir(), '.kbot');
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
17
|
+
const MEMORY_DIR = join(KBOT_DIR, 'memory');
|
|
18
|
+
const SESSIONS_DIR = join(KBOT_DIR, 'sessions');
|
|
19
|
+
// ── ANSI escape codes ──
|
|
20
|
+
const ESC = '\x1b';
|
|
21
|
+
const BOLD = `${ESC}[1m`;
|
|
22
|
+
const DIM_START = `${ESC}[2m`;
|
|
23
|
+
const RESET = `${ESC}[0m`;
|
|
24
|
+
const GREEN = `${ESC}[32m`;
|
|
25
|
+
const RED = `${ESC}[31m`;
|
|
26
|
+
const PURPLE = `${ESC}[35m`;
|
|
27
|
+
const CYAN = `${ESC}[36m`;
|
|
28
|
+
const YELLOW = `${ESC}[33m`;
|
|
29
|
+
const WHITE = `${ESC}[37m`;
|
|
30
|
+
function dim(s) { return `${DIM_START}${s}${RESET}`; }
|
|
31
|
+
function bold(s) { return `${BOLD}${s}${RESET}`; }
|
|
32
|
+
function purple(s) { return `${PURPLE}${s}${RESET}`; }
|
|
33
|
+
function green(s) { return `${GREEN}${s}${RESET}`; }
|
|
34
|
+
function cyan(s) { return `${CYAN}${s}${RESET}`; }
|
|
35
|
+
function yellow(s) { return `${YELLOW}${s}${RESET}`; }
|
|
36
|
+
function white(s) { return `${WHITE}${s}${RESET}`; }
|
|
37
|
+
// ── Box drawing ──
|
|
38
|
+
const BOX = { tl: '\u256d', tr: '\u256e', bl: '\u2570', br: '\u256f', h: '\u2500', v: '\u2502' };
|
|
39
|
+
function stripAnsi(str) {
|
|
40
|
+
return str.replace(/\x1b\[[0-9;]*m/g, '');
|
|
24
41
|
}
|
|
25
42
|
function bar(value, max, width = 20) {
|
|
26
43
|
const filled = Math.round((value / Math.max(max, 1)) * width);
|
|
27
|
-
return GREEN + '
|
|
44
|
+
return GREEN + '\u2588'.repeat(filled) + DIM_START + '\u2591'.repeat(width - filled) + RESET;
|
|
45
|
+
}
|
|
46
|
+
function loadJSON(path, fallback) {
|
|
47
|
+
if (!existsSync(path))
|
|
48
|
+
return fallback;
|
|
49
|
+
try {
|
|
50
|
+
return JSON.parse(readFileSync(path, 'utf-8'));
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
return fallback;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
const DEFAULT_PROFILE = {
|
|
57
|
+
responseStyle: 'auto',
|
|
58
|
+
techStack: [],
|
|
59
|
+
taskPatterns: {},
|
|
60
|
+
preferredAgents: {},
|
|
61
|
+
totalMessages: 0,
|
|
62
|
+
totalTokens: 0,
|
|
63
|
+
tokensSaved: 0,
|
|
64
|
+
avgTokensPerMessage: 0,
|
|
65
|
+
sessions: 0,
|
|
66
|
+
};
|
|
67
|
+
function loadDashboardData() {
|
|
68
|
+
const patterns = loadJSON(join(MEMORY_DIR, 'patterns.json'), []);
|
|
69
|
+
const solutions = loadJSON(join(MEMORY_DIR, 'solutions.json'), []);
|
|
70
|
+
const knowledge = loadJSON(join(MEMORY_DIR, 'knowledge.json'), []);
|
|
71
|
+
const profile = loadJSON(join(MEMORY_DIR, 'profile.json'), DEFAULT_PROFILE);
|
|
72
|
+
const routingHistory = loadJSON(join(MEMORY_DIR, 'routing-history.json'), []);
|
|
73
|
+
// Load sessions from directory listing
|
|
74
|
+
const sessions = [];
|
|
75
|
+
if (existsSync(SESSIONS_DIR)) {
|
|
76
|
+
const files = readdirSync(SESSIONS_DIR).filter(f => f.endsWith('.json'));
|
|
77
|
+
for (const file of files) {
|
|
78
|
+
try {
|
|
79
|
+
const raw = JSON.parse(readFileSync(join(SESSIONS_DIR, file), 'utf-8'));
|
|
80
|
+
sessions.push({
|
|
81
|
+
id: raw.id,
|
|
82
|
+
name: raw.name,
|
|
83
|
+
updated: raw.updated,
|
|
84
|
+
turnCount: raw.turnCount,
|
|
85
|
+
agent: raw.agent,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
sessions.sort((a, b) => new Date(b.updated).getTime() - new Date(a.updated).getTime());
|
|
93
|
+
}
|
|
94
|
+
return { patterns, solutions, knowledge, profile, routingHistory, sessions };
|
|
28
95
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
const
|
|
34
|
-
const
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const
|
|
49
|
-
const
|
|
50
|
-
//
|
|
51
|
-
const
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
const
|
|
96
|
+
// ── Render ──
|
|
97
|
+
function render(data) {
|
|
98
|
+
const cols = process.stdout.columns || 80;
|
|
99
|
+
const panelWidth = Math.min(cols - 2, 78);
|
|
100
|
+
const halfWidth = Math.floor((panelWidth - 1) / 2);
|
|
101
|
+
const barWidth = Math.max(8, halfWidth - 22);
|
|
102
|
+
const lines = [];
|
|
103
|
+
// Clear screen and move cursor to top
|
|
104
|
+
process.stdout.write(`${ESC}[2J${ESC}[H`);
|
|
105
|
+
// ── Header ──
|
|
106
|
+
const now = new Date().toLocaleTimeString();
|
|
107
|
+
lines.push('');
|
|
108
|
+
lines.push(` ${purple('\u25cf')} ${bold(`kbot Dashboard \u2014 v${PKG_VERSION}`)} ${dim(now)} ${dim('(q to quit)')}`);
|
|
109
|
+
lines.push(` ${dim(BOX.h.repeat(panelWidth))}`);
|
|
110
|
+
// ── Learning Stats ──
|
|
111
|
+
const totalPatterns = data.patterns.length;
|
|
112
|
+
const totalSolutions = data.solutions.length;
|
|
113
|
+
const totalKnowledge = data.knowledge.length;
|
|
114
|
+
const totalMessages = data.profile.totalMessages;
|
|
115
|
+
const tokensSaved = data.profile.tokensSaved;
|
|
116
|
+
const tokensSavedStr = tokensSaved > 1000 ? `${(tokensSaved / 1000).toFixed(1)}k` : String(tokensSaved);
|
|
117
|
+
// Classify patterns by tool bucket
|
|
118
|
+
const patternsByCategory = {};
|
|
119
|
+
for (const p of data.patterns) {
|
|
120
|
+
const cat = p.toolSequence[0] || 'general';
|
|
121
|
+
const bucket = cat.includes('file') || cat.includes('read') || cat.includes('write') ? 'file-ops'
|
|
122
|
+
: cat.includes('git') ? 'git'
|
|
123
|
+
: cat.includes('bash') || cat.includes('shell') ? 'shell'
|
|
124
|
+
: cat.includes('search') || cat.includes('grep') ? 'search'
|
|
125
|
+
: cat.includes('web') || cat.includes('fetch') ? 'web'
|
|
126
|
+
: 'other';
|
|
127
|
+
patternsByCategory[bucket] = (patternsByCategory[bucket] || 0) + 1;
|
|
128
|
+
}
|
|
129
|
+
lines.push('');
|
|
130
|
+
lines.push(` ${cyan(bold('Learning Engine'))}`);
|
|
131
|
+
lines.push(` Patterns: ${bold(String(totalPatterns))}`);
|
|
132
|
+
lines.push(` Solutions: ${bold(String(totalSolutions))}`);
|
|
133
|
+
lines.push(` Knowledge: ${bold(String(totalKnowledge))}`);
|
|
134
|
+
lines.push(` Messages: ${dim(String(totalMessages))}`);
|
|
135
|
+
lines.push(` Tokens saved: ${green(tokensSavedStr)}`);
|
|
136
|
+
const catEntries = Object.entries(patternsByCategory).sort((a, b) => b[1] - a[1]);
|
|
137
|
+
if (catEntries.length > 0) {
|
|
138
|
+
lines.push('');
|
|
139
|
+
lines.push(` ${dim('Patterns by category:')}`);
|
|
140
|
+
const maxCat = catEntries[0][1];
|
|
141
|
+
for (const [cat, count] of catEntries.slice(0, 5)) {
|
|
142
|
+
lines.push(` ${cat.padEnd(14)} ${bar(count, maxCat, barWidth)} ${dim(String(count))}`);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
// ── Top Tools ──
|
|
146
|
+
const toolCounts = {};
|
|
147
|
+
for (const p of data.patterns) {
|
|
148
|
+
for (const t of p.toolSequence) {
|
|
149
|
+
toolCounts[t] = (toolCounts[t] || 0) + p.hits;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
const topTools = Object.entries(toolCounts).sort((a, b) => b[1] - a[1]).slice(0, 8);
|
|
153
|
+
lines.push('');
|
|
154
|
+
lines.push(` ${dim(BOX.h.repeat(panelWidth))}`);
|
|
155
|
+
lines.push(` ${yellow(bold('Top Tools'))}`);
|
|
70
156
|
if (topTools.length > 0) {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
157
|
+
const maxTool = topTools[0][1];
|
|
158
|
+
for (const [tool, count] of topTools) {
|
|
159
|
+
lines.push(` ${tool.padEnd(14)} ${bar(count, maxTool, barWidth)} ${dim(String(count))}`);
|
|
74
160
|
}
|
|
75
161
|
}
|
|
76
162
|
else {
|
|
77
|
-
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
163
|
+
lines.push(` ${dim('No tool usage data yet. Start using kbot to populate.')}`);
|
|
164
|
+
}
|
|
165
|
+
// ── Agent Routing ──
|
|
166
|
+
const agentCounts = { ...data.profile.preferredAgents };
|
|
167
|
+
for (const r of data.routingHistory) {
|
|
168
|
+
agentCounts[r.agent] = (agentCounts[r.agent] || 0) + 1;
|
|
169
|
+
}
|
|
170
|
+
const topAgents = Object.entries(agentCounts).sort((a, b) => b[1] - a[1]).slice(0, 7);
|
|
171
|
+
// Routing method breakdown
|
|
172
|
+
const methodCounts = {};
|
|
173
|
+
for (const r of data.routingHistory) {
|
|
174
|
+
methodCounts[r.method] = (methodCounts[r.method] || 0) + 1;
|
|
175
|
+
}
|
|
176
|
+
const totalRoutes = data.routingHistory.length;
|
|
177
|
+
const cached = totalRoutes - (methodCounts['llm'] || 0);
|
|
178
|
+
const cacheRate = totalRoutes > 0 ? Math.round((cached / totalRoutes) * 100) : 0;
|
|
179
|
+
lines.push('');
|
|
180
|
+
lines.push(` ${dim(BOX.h.repeat(panelWidth))}`);
|
|
181
|
+
lines.push(` ${green(bold('Agent Routing'))}`);
|
|
182
|
+
if (topAgents.length > 0) {
|
|
183
|
+
const maxAgent = topAgents[0][1];
|
|
184
|
+
for (const [agent, count] of topAgents) {
|
|
185
|
+
lines.push(` ${agent.padEnd(14)} ${bar(count, maxAgent, barWidth)} ${dim(String(count))}`);
|
|
86
186
|
}
|
|
187
|
+
lines.push(` ${dim(`Routes: ${totalRoutes} Cache hit: ${cacheRate}%`)}`);
|
|
87
188
|
}
|
|
88
189
|
else {
|
|
89
|
-
|
|
190
|
+
lines.push(` ${dim('No routing data yet. kbot learns which agents perform best over time.')}`);
|
|
191
|
+
}
|
|
192
|
+
// ── Sessions ──
|
|
193
|
+
const totalSessions = data.sessions.length;
|
|
194
|
+
const profileSessions = data.profile.sessions || totalSessions;
|
|
195
|
+
const lastSession = data.sessions[0];
|
|
196
|
+
lines.push('');
|
|
197
|
+
lines.push(` ${dim(BOX.h.repeat(panelWidth))}`);
|
|
198
|
+
lines.push(` ${purple(bold('Sessions'))}`);
|
|
199
|
+
lines.push(` Total: ${bold(String(totalSessions))} saved sessions (${dim(`${profileSessions} lifetime`)})`);
|
|
200
|
+
if (lastSession) {
|
|
201
|
+
const d = new Date(lastSession.updated);
|
|
202
|
+
lines.push(` Last: ${dim(d.toLocaleDateString())} ${dim(d.toLocaleTimeString())} ${dim(`\u2014 ${lastSession.name}`)}`);
|
|
90
203
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
for (const
|
|
95
|
-
|
|
204
|
+
const recentSessions = data.sessions.slice(0, 5);
|
|
205
|
+
if (recentSessions.length > 0) {
|
|
206
|
+
lines.push(` ${dim('Recent:')}`);
|
|
207
|
+
for (const s of recentSessions) {
|
|
208
|
+
const d = new Date(s.updated);
|
|
209
|
+
const date = `${d.getMonth() + 1}/${d.getDate()}`;
|
|
210
|
+
const name = s.name.length > panelWidth - 20 ? s.name.slice(0, panelWidth - 23) + '...' : s.name;
|
|
211
|
+
lines.push(` ${dim(date)} ${name} ${dim(`(${s.turnCount} turns)`)}`);
|
|
96
212
|
}
|
|
97
213
|
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
${
|
|
101
|
-
|
|
102
|
-
`)
|
|
214
|
+
// ── Footer: Growth summary ──
|
|
215
|
+
lines.push('');
|
|
216
|
+
lines.push(` ${dim(BOX.h.repeat(panelWidth))}`);
|
|
217
|
+
const growthMsg = totalPatterns > 0
|
|
218
|
+
? `kbot has learned ${bold(String(totalPatterns))} patterns across ${bold(String(profileSessions))} sessions`
|
|
219
|
+
: 'kbot is ready to learn \u2014 start a conversation to build patterns';
|
|
220
|
+
lines.push(` ${purple('\u25cf')} ${growthMsg}`);
|
|
221
|
+
const techStack = data.profile.techStack.slice(0, 5).join(', ');
|
|
222
|
+
if (techStack) {
|
|
223
|
+
lines.push(` ${dim(`Tech stack: ${techStack}`)}`);
|
|
224
|
+
}
|
|
225
|
+
lines.push(` ${dim('Refreshes every 5s \u00b7 Press q to quit')}`);
|
|
226
|
+
lines.push('');
|
|
227
|
+
process.stdout.write(lines.join('\n'));
|
|
228
|
+
}
|
|
229
|
+
// ── Main loop ──
|
|
230
|
+
export async function runDashboard() {
|
|
231
|
+
// Validate TTY
|
|
232
|
+
if (!process.stdout.isTTY) {
|
|
233
|
+
console.error('kbot dashboard requires an interactive terminal.');
|
|
234
|
+
process.exit(1);
|
|
235
|
+
}
|
|
236
|
+
// Hide cursor
|
|
237
|
+
process.stdout.write(`${ESC}[?25l`);
|
|
238
|
+
// Clean exit
|
|
239
|
+
const cleanup = () => {
|
|
240
|
+
process.stdout.write(`${ESC}[?25h`); // show cursor
|
|
241
|
+
process.stdout.write(`${ESC}[2J${ESC}[H`); // clear screen
|
|
242
|
+
process.stdout.write(`${purple('\u25cf')} Dashboard closed.\n`);
|
|
243
|
+
process.exit(0);
|
|
244
|
+
};
|
|
245
|
+
process.on('SIGINT', cleanup);
|
|
246
|
+
process.on('SIGTERM', cleanup);
|
|
247
|
+
// Enable raw mode for keypress detection
|
|
248
|
+
if (process.stdin.setRawMode) {
|
|
249
|
+
process.stdin.setRawMode(true);
|
|
250
|
+
}
|
|
251
|
+
process.stdin.resume();
|
|
252
|
+
process.stdin.setEncoding('utf-8');
|
|
253
|
+
process.stdin.on('data', (key) => {
|
|
254
|
+
// q, Q, or Ctrl+C
|
|
255
|
+
if (key === 'q' || key === 'Q' || key === '\x03') {
|
|
256
|
+
cleanup();
|
|
257
|
+
}
|
|
258
|
+
});
|
|
259
|
+
// Initial render
|
|
260
|
+
const data = loadDashboardData();
|
|
261
|
+
render(data);
|
|
262
|
+
// Refresh loop
|
|
263
|
+
const interval = setInterval(() => {
|
|
264
|
+
try {
|
|
265
|
+
const freshData = loadDashboardData();
|
|
266
|
+
render(freshData);
|
|
267
|
+
}
|
|
268
|
+
catch {
|
|
269
|
+
// Non-fatal — skip this render cycle
|
|
270
|
+
}
|
|
271
|
+
}, 5000);
|
|
272
|
+
// Keep process alive until cleanup() is called
|
|
273
|
+
await new Promise(() => {
|
|
274
|
+
process.on('exit', () => clearInterval(interval));
|
|
275
|
+
});
|
|
103
276
|
}
|
|
104
277
|
//# sourceMappingURL=dashboard.js.map
|
package/dist/dashboard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../src/dashboard.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../src/dashboard.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kernel.chat/kbot",
|
|
3
|
-
"version": "3.34.
|
|
3
|
+
"version": "3.34.1",
|
|
4
4
|
"description": "The only AI agent that builds its own tools — and defends itself. Self-Defense System: HMAC memory integrity, prompt injection detection, knowledge sanitization, forge verification, anomaly detection, incident logging. Cybersecurity tools: dep_audit, secret_scan, ssl_check, headers_check, cve_lookup, port_scan, owasp_check. Machine-aware situated intelligence: full hardware profiling (CPU, GPU, RAM, display, battery, dev tools), resource-adaptive tool pipeline, memory-pressure throttling, GPU-accelerated model routing. Multi-channel cognitive engine: email agent, iMessage agent, consultation pipeline, Trader agent with paper trading & DeFi, 26 specialist agents, 345+ tools, 20 providers. Finance stack: 31 tools across market data, wallet & swaps, stocks, and sentiment. Synthesis Engine: closed-loop intelligence compounding. Runtime tool forging, Forge Registry, autopoietic health, immune self-audit. Cost-aware model routing, fallback chains, Bayesian skill routing. 11 local models (Llama 3.3, Qwen 3, DeepSeek R1, Codestral 22B). Embedded llama.cpp, MCP server, SDK. MIT.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|