@kernel.chat/kbot 3.55.0 → 3.56.0
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 +314 -41
- package/dist/cli.js.map +1 -1
- package/dist/tools/admin.d.ts +2 -0
- package/dist/tools/admin.d.ts.map +1 -0
- package/dist/tools/admin.js +422 -0
- package/dist/tools/admin.js.map +1 -0
- package/dist/tools/analytics.d.ts +2 -0
- package/dist/tools/analytics.d.ts.map +1 -0
- package/dist/tools/analytics.js +338 -0
- package/dist/tools/analytics.js.map +1 -0
- package/dist/tools/db-admin.d.ts +2 -0
- package/dist/tools/db-admin.d.ts.map +1 -0
- package/dist/tools/db-admin.js +364 -0
- package/dist/tools/db-admin.js.map +1 -0
- package/dist/tools/deploy-all.d.ts +2 -0
- package/dist/tools/deploy-all.d.ts.map +1 -0
- package/dist/tools/deploy-all.js +261 -0
- package/dist/tools/deploy-all.js.map +1 -0
- package/dist/tools/env-manager.d.ts +2 -0
- package/dist/tools/env-manager.d.ts.map +1 -0
- package/dist/tools/env-manager.js +240 -0
- package/dist/tools/env-manager.js.map +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +6 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/monitor.d.ts +2 -0
- package/dist/tools/monitor.d.ts.map +1 -0
- package/dist/tools/monitor.js +270 -0
- package/dist/tools/monitor.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
// kbot Monitor — Live TUI dashboard for kernel.chat platform health
|
|
2
|
+
//
|
|
3
|
+
// Commands:
|
|
4
|
+
// platform_monitor — Live dashboard: requests, errors, costs, active users
|
|
5
|
+
// platform_logs — Recent edge function logs
|
|
6
|
+
// platform_uptime — Uptime and health check for all services
|
|
7
|
+
// platform_alerts — View/manage platform alerts
|
|
8
|
+
import { execSync } from 'node:child_process';
|
|
9
|
+
import { registerTool } from './index.js';
|
|
10
|
+
// ── Helpers ──────────────────────────────────────────────────────────
|
|
11
|
+
function supabaseQuery(table, query) {
|
|
12
|
+
const url = process.env.SUPABASE_URL || process.env.VITE_SUPABASE_URL;
|
|
13
|
+
const key = process.env.SUPABASE_SERVICE_KEY || process.env.SUPABASE_SERVICE_ROLE_KEY;
|
|
14
|
+
if (!url || !key)
|
|
15
|
+
throw new Error('Missing SUPABASE_URL or SUPABASE_SERVICE_KEY');
|
|
16
|
+
return execSync(`curl -sS "${url}/rest/v1/${table}?${query}" \
|
|
17
|
+
-H "apikey: ${key}" \
|
|
18
|
+
-H "Authorization: Bearer ${key}" \
|
|
19
|
+
-H "Content-Type: application/json"`, {
|
|
20
|
+
encoding: 'utf-8', timeout: 15_000,
|
|
21
|
+
}).trim();
|
|
22
|
+
}
|
|
23
|
+
function supabaseRpc(fnName, body = {}) {
|
|
24
|
+
const url = process.env.SUPABASE_URL || process.env.VITE_SUPABASE_URL;
|
|
25
|
+
const key = process.env.SUPABASE_SERVICE_KEY || process.env.SUPABASE_SERVICE_ROLE_KEY;
|
|
26
|
+
if (!url || !key)
|
|
27
|
+
throw new Error('Missing SUPABASE_URL or SUPABASE_SERVICE_KEY');
|
|
28
|
+
return execSync(`curl -sS -X POST "${url}/rest/v1/rpc/${fnName}" \
|
|
29
|
+
-H "apikey: ${key}" \
|
|
30
|
+
-H "Authorization: Bearer ${key}" \
|
|
31
|
+
-H "Content-Type: application/json" \
|
|
32
|
+
-d '${JSON.stringify(body)}'`, {
|
|
33
|
+
encoding: 'utf-8', timeout: 15_000,
|
|
34
|
+
}).trim();
|
|
35
|
+
}
|
|
36
|
+
function httpCheck(url, label) {
|
|
37
|
+
const start = Date.now();
|
|
38
|
+
try {
|
|
39
|
+
const code = execSync(`curl -sS -o /dev/null -w "%{http_code}" --max-time 10 "${url}"`, {
|
|
40
|
+
encoding: 'utf-8', timeout: 15_000,
|
|
41
|
+
}).trim();
|
|
42
|
+
const latency = Date.now() - start;
|
|
43
|
+
return {
|
|
44
|
+
label,
|
|
45
|
+
status: code === '200' || code === '204' ? '✓ UP' : `⚠ ${code}`,
|
|
46
|
+
latency: `${latency}ms`,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
return { label, status: '✗ DOWN', latency: `${Date.now() - start}ms` };
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
// ── Tools ────────────────────────────────────────────────────────────
|
|
54
|
+
export function registerMonitorTools() {
|
|
55
|
+
let count = 0;
|
|
56
|
+
registerTool({
|
|
57
|
+
name: 'platform_monitor',
|
|
58
|
+
description: 'Platform health dashboard: message volume, error rate, active users, cost burn, service status. One-shot snapshot.',
|
|
59
|
+
parameters: {
|
|
60
|
+
period: { type: 'string', description: 'Period: "1h", "24h", "7d"', default: '24h' },
|
|
61
|
+
},
|
|
62
|
+
tier: 'enterprise',
|
|
63
|
+
execute: async (args) => {
|
|
64
|
+
const period = String(args.period || '24h');
|
|
65
|
+
const hours = period === '1h' ? 1 : period === '7d' ? 168 : 24;
|
|
66
|
+
const since = new Date(Date.now() - hours * 3600_000).toISOString();
|
|
67
|
+
// Message states (recent)
|
|
68
|
+
let msgStats = { total: 0, success: 0, failed: 0, pending: 0 };
|
|
69
|
+
try {
|
|
70
|
+
const raw = supabaseQuery('message_states', `select=state&created_at=gte.${since}&limit=5000`);
|
|
71
|
+
const states = JSON.parse(raw);
|
|
72
|
+
msgStats.total = states.length;
|
|
73
|
+
msgStats.success = states.filter(s => s.state === 'success').length;
|
|
74
|
+
msgStats.failed = states.filter(s => s.state.startsWith('failed')).length;
|
|
75
|
+
msgStats.pending = states.filter(s => s.state === 'pending' || s.state === 'streaming').length;
|
|
76
|
+
}
|
|
77
|
+
catch { /* table may not exist */ }
|
|
78
|
+
const errorRate = msgStats.total > 0
|
|
79
|
+
? ((msgStats.failed / msgStats.total) * 100).toFixed(1) + '%'
|
|
80
|
+
: 'n/a';
|
|
81
|
+
// Active users (unique user_ids in message_states)
|
|
82
|
+
let activeUsers = 0;
|
|
83
|
+
try {
|
|
84
|
+
const raw = supabaseQuery('message_states', `select=user_id&created_at=gte.${since}&limit=5000`);
|
|
85
|
+
const msgs = JSON.parse(raw);
|
|
86
|
+
activeUsers = new Set(msgs.map(m => m.user_id).filter(Boolean)).size;
|
|
87
|
+
}
|
|
88
|
+
catch { /* */ }
|
|
89
|
+
// Cost burn
|
|
90
|
+
let costInfo = 'check audit_log';
|
|
91
|
+
try {
|
|
92
|
+
const raw = supabaseQuery('usage_costs', `select=cost_usd&created_at=gte.${since}`);
|
|
93
|
+
const costs = JSON.parse(raw);
|
|
94
|
+
const total = costs.reduce((sum, c) => sum + (c.cost_usd || 0), 0);
|
|
95
|
+
costInfo = `$${total.toFixed(2)}`;
|
|
96
|
+
}
|
|
97
|
+
catch { /* table may not exist */ }
|
|
98
|
+
// Audit events
|
|
99
|
+
let auditCount = 0;
|
|
100
|
+
try {
|
|
101
|
+
const raw = supabaseQuery('audit_log', `select=id&created_at=gte.${since}&limit=0`);
|
|
102
|
+
// Use length if array returned
|
|
103
|
+
const events = JSON.parse(raw);
|
|
104
|
+
auditCount = Array.isArray(events) ? events.length : 0;
|
|
105
|
+
}
|
|
106
|
+
catch { /* */ }
|
|
107
|
+
// Service health checks
|
|
108
|
+
const supabaseUrl = process.env.SUPABASE_URL || process.env.VITE_SUPABASE_URL || '';
|
|
109
|
+
const services = [
|
|
110
|
+
httpCheck('https://kernel.chat', 'kernel.chat'),
|
|
111
|
+
httpCheck(`${supabaseUrl}/functions/v1/claude-proxy`, 'claude-proxy'),
|
|
112
|
+
httpCheck('https://api.anthropic.com/v1/messages', 'anthropic-api'),
|
|
113
|
+
httpCheck('https://registry.npmjs.org/@kernel.chat/kbot', 'npm-registry'),
|
|
114
|
+
];
|
|
115
|
+
const svcTable = services.map(s => ` ${s.status.padEnd(8)} ${s.label.padEnd(20)} ${s.latency}`).join('\n');
|
|
116
|
+
return [
|
|
117
|
+
`╔══════════════════════════════════════╗`,
|
|
118
|
+
`║ KERNEL PLATFORM MONITOR ║`,
|
|
119
|
+
`║ Period: ${period.padEnd(24)}║`,
|
|
120
|
+
`╚══════════════════════════════════════╝`,
|
|
121
|
+
``,
|
|
122
|
+
`── Messages ──`,
|
|
123
|
+
` Total: ${msgStats.total}`,
|
|
124
|
+
` Success: ${msgStats.success}`,
|
|
125
|
+
` Failed: ${msgStats.failed}`,
|
|
126
|
+
` Pending: ${msgStats.pending}`,
|
|
127
|
+
` Error rate: ${errorRate}`,
|
|
128
|
+
``,
|
|
129
|
+
`── Users ──`,
|
|
130
|
+
` Active (${period}): ${activeUsers}`,
|
|
131
|
+
``,
|
|
132
|
+
`── Cost ──`,
|
|
133
|
+
` Burn (${period}): ${costInfo}`,
|
|
134
|
+
` Audit events: ${auditCount}`,
|
|
135
|
+
``,
|
|
136
|
+
`── Services ──`,
|
|
137
|
+
svcTable,
|
|
138
|
+
].join('\n');
|
|
139
|
+
},
|
|
140
|
+
});
|
|
141
|
+
count++;
|
|
142
|
+
registerTool({
|
|
143
|
+
name: 'platform_logs',
|
|
144
|
+
description: 'View recent platform logs from audit_log table — edge function calls, errors, rate limits.',
|
|
145
|
+
parameters: {
|
|
146
|
+
filter: { type: 'string', description: 'Filter: "all", "errors", "rate_limited", "claude-proxy"', default: 'all' },
|
|
147
|
+
limit: { type: 'string', description: 'Max results', default: '30' },
|
|
148
|
+
},
|
|
149
|
+
tier: 'enterprise',
|
|
150
|
+
execute: async (args) => {
|
|
151
|
+
const filter = String(args.filter || 'all');
|
|
152
|
+
const limit = parseInt(String(args.limit || '30'));
|
|
153
|
+
let query = `select=id,actor_id,action,status,status_code,created_at,ip&order=created_at.desc&limit=${limit}`;
|
|
154
|
+
if (filter === 'errors')
|
|
155
|
+
query += '&status=eq.error';
|
|
156
|
+
else if (filter === 'rate_limited')
|
|
157
|
+
query += '&status=eq.rate_limited';
|
|
158
|
+
else if (filter === 'claude-proxy')
|
|
159
|
+
query += '&action=eq.claude-proxy';
|
|
160
|
+
const raw = supabaseQuery('audit_log', query);
|
|
161
|
+
let logs;
|
|
162
|
+
try {
|
|
163
|
+
logs = JSON.parse(raw);
|
|
164
|
+
}
|
|
165
|
+
catch {
|
|
166
|
+
return `Error parsing logs: ${raw}`;
|
|
167
|
+
}
|
|
168
|
+
if (!logs.length)
|
|
169
|
+
return 'No logs found for this filter.';
|
|
170
|
+
const formatted = logs.map((l) => {
|
|
171
|
+
const time = String(l.created_at || '').slice(11, 19);
|
|
172
|
+
const status = String(l.status || '');
|
|
173
|
+
const icon = status === 'error' ? '✗' : status === 'rate_limited' ? '⚠' : '·';
|
|
174
|
+
return `${icon} ${time} ${String(l.action || '').padEnd(20)} ${String(l.status_code || '').padEnd(4)} ${status.padEnd(14)} ${String(l.actor_id || '').slice(0, 8)}`;
|
|
175
|
+
});
|
|
176
|
+
return `── Platform Logs (${filter}, last ${logs.length}) ──\n\n` +
|
|
177
|
+
` TIME ACTION CODE STATUS USER\n` +
|
|
178
|
+
` ${'─'.repeat(70)}\n` +
|
|
179
|
+
formatted.join('\n');
|
|
180
|
+
},
|
|
181
|
+
});
|
|
182
|
+
count++;
|
|
183
|
+
registerTool({
|
|
184
|
+
name: 'platform_uptime',
|
|
185
|
+
description: 'Health check all kernel.chat services and report latency.',
|
|
186
|
+
parameters: {},
|
|
187
|
+
tier: 'free',
|
|
188
|
+
execute: async () => {
|
|
189
|
+
const supabaseUrl = process.env.SUPABASE_URL || process.env.VITE_SUPABASE_URL || '';
|
|
190
|
+
const checks = [
|
|
191
|
+
httpCheck('https://kernel.chat', 'Web (kernel.chat)'),
|
|
192
|
+
httpCheck(`${supabaseUrl}/functions/v1/claude-proxy`, 'Claude Proxy'),
|
|
193
|
+
httpCheck(`${supabaseUrl}/functions/v1/web-search`, 'Web Search'),
|
|
194
|
+
httpCheck(`${supabaseUrl}/functions/v1/create-checkout`, 'Checkout'),
|
|
195
|
+
httpCheck(`${supabaseUrl}/functions/v1/stripe-webhook`, 'Stripe Webhook'),
|
|
196
|
+
httpCheck(`${supabaseUrl}/rest/v1/`, 'Supabase REST'),
|
|
197
|
+
httpCheck('https://api.anthropic.com/v1/messages', 'Anthropic API'),
|
|
198
|
+
httpCheck('https://api.openai.com/v1/models', 'OpenAI API'),
|
|
199
|
+
httpCheck('https://registry.npmjs.org/@kernel.chat/kbot', 'npm Registry'),
|
|
200
|
+
httpCheck('https://api.github.com/repos/isaacsight/kernel', 'GitHub API'),
|
|
201
|
+
];
|
|
202
|
+
const up = checks.filter(c => c.status.includes('UP')).length;
|
|
203
|
+
const down = checks.filter(c => c.status.includes('DOWN')).length;
|
|
204
|
+
const warn = checks.length - up - down;
|
|
205
|
+
const table = checks.map(c => ` ${c.status.padEnd(10)} ${c.label.padEnd(25)} ${c.latency}`).join('\n');
|
|
206
|
+
return [
|
|
207
|
+
`── Service Health ──`,
|
|
208
|
+
` ${up} up / ${warn} warning / ${down} down`,
|
|
209
|
+
``,
|
|
210
|
+
` STATUS SERVICE LATENCY`,
|
|
211
|
+
` ${'─'.repeat(50)}`,
|
|
212
|
+
table,
|
|
213
|
+
].join('\n');
|
|
214
|
+
},
|
|
215
|
+
});
|
|
216
|
+
count++;
|
|
217
|
+
registerTool({
|
|
218
|
+
name: 'platform_alerts',
|
|
219
|
+
description: 'View platform alerts: high error rates, cost spikes, service outages.',
|
|
220
|
+
parameters: {
|
|
221
|
+
period: { type: 'string', description: 'Period: "1h", "24h"', default: '24h' },
|
|
222
|
+
},
|
|
223
|
+
tier: 'enterprise',
|
|
224
|
+
execute: async (args) => {
|
|
225
|
+
const hours = String(args.period) === '1h' ? 1 : 24;
|
|
226
|
+
const since = new Date(Date.now() - hours * 3600_000).toISOString();
|
|
227
|
+
const alerts = [];
|
|
228
|
+
// Check error rate
|
|
229
|
+
try {
|
|
230
|
+
const raw = supabaseQuery('message_states', `select=state&created_at=gte.${since}&limit=5000`);
|
|
231
|
+
const states = JSON.parse(raw);
|
|
232
|
+
const total = states.length;
|
|
233
|
+
const failed = states.filter(s => s.state.startsWith('failed')).length;
|
|
234
|
+
if (total > 0 && (failed / total) > 0.05) {
|
|
235
|
+
alerts.push(`🔴 HIGH ERROR RATE: ${((failed / total) * 100).toFixed(1)}% (${failed}/${total} messages failed)`);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
catch { /* */ }
|
|
239
|
+
// Check rate limits
|
|
240
|
+
try {
|
|
241
|
+
const raw = supabaseQuery('audit_log', `select=id&status=eq.rate_limited&created_at=gte.${since}&limit=100`);
|
|
242
|
+
const rls = JSON.parse(raw);
|
|
243
|
+
if (rls.length > 10) {
|
|
244
|
+
alerts.push(`🟡 RATE LIMITING: ${rls.length} rate-limited requests in period`);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
catch { /* */ }
|
|
248
|
+
// Check costs
|
|
249
|
+
try {
|
|
250
|
+
const raw = supabaseQuery('usage_costs', `select=cost_usd&created_at=gte.${since}`);
|
|
251
|
+
const costs = JSON.parse(raw);
|
|
252
|
+
const total = costs.reduce((sum, c) => sum + (c.cost_usd || 0), 0);
|
|
253
|
+
if (total > 3) {
|
|
254
|
+
alerts.push(`🟡 COST SPIKE: $${total.toFixed(2)} in ${hours}h (threshold: $3.00)`);
|
|
255
|
+
}
|
|
256
|
+
if (total > 5) {
|
|
257
|
+
alerts.push(`🔴 COST CRITICAL: $${total.toFixed(2)} exceeds hard limit`);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
catch { /* */ }
|
|
261
|
+
if (!alerts.length) {
|
|
262
|
+
return `── Platform Alerts ──\n\n ✓ All clear — no alerts in the last ${hours}h`;
|
|
263
|
+
}
|
|
264
|
+
return `── Platform Alerts (${alerts.length}) ──\n\n` + alerts.map(a => ` ${a}`).join('\n');
|
|
265
|
+
},
|
|
266
|
+
});
|
|
267
|
+
count++;
|
|
268
|
+
return count;
|
|
269
|
+
}
|
|
270
|
+
//# sourceMappingURL=monitor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../src/tools/monitor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kernel.chat/kbot",
|
|
3
|
-
"version": "3.
|
|
4
|
-
"description": "The only AI agent that builds its own tools \u2014 and defends itself. NEW:
|
|
3
|
+
"version": "3.56.0",
|
|
4
|
+
"description": "The only AI agent that builds its own tools \u2014 and defends itself. NEW: Full terminal control \u2014 admin, monitor, deploy, analytics, env, db. Ship everything from CLI: kbot deploy all. Platform dashboard: kbot monitor. User management: kbot admin. 599+ tools, 35 agents, 20 providers. AI Producer Engine for Ableton Live, Max for Live bridge. 690 tests. Security: sandboxed forge, HMAC memory, prompt injection detection, security_hunt. Science lab: 114 tools. Finance: 31 tools. Machine-aware intelligence, Bayesian routing. 11 local models. MIT.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|