@kernel.chat/kbot 3.36.0 → 3.37.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/codebase-guardian.d.ts +64 -0
- package/dist/codebase-guardian.d.ts.map +1 -0
- package/dist/codebase-guardian.js +486 -0
- package/dist/codebase-guardian.js.map +1 -0
- package/dist/dream-mode.d.ts +23 -0
- package/dist/dream-mode.d.ts.map +1 -0
- package/dist/dream-mode.js +352 -0
- package/dist/dream-mode.js.map +1 -0
- package/dist/meta-agent.d.ts +62 -0
- package/dist/meta-agent.d.ts.map +1 -0
- package/dist/meta-agent.js +288 -0
- package/dist/meta-agent.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
// kbot Meta-Agent — Self-Referential Self-Improvement
|
|
2
|
+
//
|
|
3
|
+
// Inspired by Meta's HyperAgents (arXiv 2603.19461, 2026).
|
|
4
|
+
// Two-agent loop: Task agents solve problems. The Meta-Agent watches,
|
|
5
|
+
// analyzes performance, and rewrites the task agents to be better.
|
|
6
|
+
//
|
|
7
|
+
// Unlike HyperAgents (CC BY-NC-SA, non-commercial), kbot is MIT — the only
|
|
8
|
+
// self-improving agent framework companies can actually use.
|
|
9
|
+
//
|
|
10
|
+
// Architecture:
|
|
11
|
+
// Meta-Agent (this file)
|
|
12
|
+
// ↓ observes task agent performance
|
|
13
|
+
// ↓ identifies improvement opportunities
|
|
14
|
+
// ↓ generates improved prompts/routing/tools
|
|
15
|
+
// ↓ applies improvements
|
|
16
|
+
// ↓ measures impact
|
|
17
|
+
// ↓ loop forever
|
|
18
|
+
import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'node:fs';
|
|
19
|
+
import { homedir } from 'node:os';
|
|
20
|
+
import { join } from 'node:path';
|
|
21
|
+
const KBOT_DIR = join(homedir(), '.kbot');
|
|
22
|
+
const META_DIR = join(KBOT_DIR, 'meta-agent');
|
|
23
|
+
const HISTORY_PATH = join(META_DIR, 'improvement-history.json');
|
|
24
|
+
const OBSERVATIONS_PATH = join(META_DIR, 'observations.json');
|
|
25
|
+
// ── Helpers ─────────────────────────────────────────────────────────────────
|
|
26
|
+
function ensureMetaDir() {
|
|
27
|
+
if (!existsSync(META_DIR))
|
|
28
|
+
mkdirSync(META_DIR, { recursive: true });
|
|
29
|
+
}
|
|
30
|
+
function loadJson(path, fallback) {
|
|
31
|
+
try {
|
|
32
|
+
if (existsSync(path))
|
|
33
|
+
return JSON.parse(readFileSync(path, 'utf-8'));
|
|
34
|
+
}
|
|
35
|
+
catch { /* ignore */ }
|
|
36
|
+
return fallback;
|
|
37
|
+
}
|
|
38
|
+
function saveJson(path, data) {
|
|
39
|
+
ensureMetaDir();
|
|
40
|
+
writeFileSync(path, JSON.stringify(data, null, 2));
|
|
41
|
+
}
|
|
42
|
+
function generateId() {
|
|
43
|
+
return `imp_${Date.now().toString(36)}_${Math.random().toString(36).slice(2, 6)}`;
|
|
44
|
+
}
|
|
45
|
+
// ── Core: Observe ───────────────────────────────────────────────────────────
|
|
46
|
+
export function recordObservation(obs) {
|
|
47
|
+
ensureMetaDir();
|
|
48
|
+
const observations = loadJson(OBSERVATIONS_PATH, []);
|
|
49
|
+
observations.push(obs);
|
|
50
|
+
// Keep last 1000 observations
|
|
51
|
+
if (observations.length > 1000)
|
|
52
|
+
observations.splice(0, observations.length - 1000);
|
|
53
|
+
saveJson(OBSERVATIONS_PATH, observations);
|
|
54
|
+
}
|
|
55
|
+
// ── Core: Analyze ───────────────────────────────────────────────────────────
|
|
56
|
+
export function analyzePerformance() {
|
|
57
|
+
const observations = loadJson(OBSERVATIONS_PATH, []);
|
|
58
|
+
if (observations.length === 0)
|
|
59
|
+
return [];
|
|
60
|
+
// Group by agent
|
|
61
|
+
const byAgent = new Map();
|
|
62
|
+
for (const obs of observations) {
|
|
63
|
+
const list = byAgent.get(obs.agent) || [];
|
|
64
|
+
list.push(obs);
|
|
65
|
+
byAgent.set(obs.agent, list);
|
|
66
|
+
}
|
|
67
|
+
const profiles = [];
|
|
68
|
+
for (const [agent, tasks] of byAgent) {
|
|
69
|
+
const successes = tasks.filter(t => t.success);
|
|
70
|
+
const failures = tasks.filter(t => !t.success);
|
|
71
|
+
// Tool frequency
|
|
72
|
+
const toolCounts = new Map();
|
|
73
|
+
for (const t of tasks) {
|
|
74
|
+
for (const tool of t.tools_used) {
|
|
75
|
+
toolCounts.set(tool, (toolCounts.get(tool) || 0) + 1);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
const commonTools = Array.from(toolCounts.entries())
|
|
79
|
+
.sort((a, b) => b[1] - a[1])
|
|
80
|
+
.slice(0, 5)
|
|
81
|
+
.map(([name, count]) => ({ name, frequency: count / tasks.length }));
|
|
82
|
+
// Failure patterns
|
|
83
|
+
const errorCounts = new Map();
|
|
84
|
+
for (const f of failures) {
|
|
85
|
+
const pattern = f.error?.slice(0, 100) || 'unknown';
|
|
86
|
+
errorCounts.set(pattern, (errorCounts.get(pattern) || 0) + 1);
|
|
87
|
+
}
|
|
88
|
+
const failurePatterns = Array.from(errorCounts.entries())
|
|
89
|
+
.sort((a, b) => b[1] - a[1])
|
|
90
|
+
.slice(0, 3)
|
|
91
|
+
.map(([pattern]) => pattern);
|
|
92
|
+
const successRate = tasks.length > 0 ? successes.length / tasks.length : 0;
|
|
93
|
+
const avgDuration = tasks.length > 0 ? tasks.reduce((s, t) => s + t.duration_ms, 0) / tasks.length : 0;
|
|
94
|
+
const avgCost = tasks.length > 0 ? tasks.reduce((s, t) => s + t.cost, 0) / tasks.length : 0;
|
|
95
|
+
profiles.push({
|
|
96
|
+
agent,
|
|
97
|
+
total_tasks: tasks.length,
|
|
98
|
+
success_rate: Math.round(successRate * 100) / 100,
|
|
99
|
+
avg_duration_ms: Math.round(avgDuration),
|
|
100
|
+
avg_cost: Math.round(avgCost * 10000) / 10000,
|
|
101
|
+
common_tools: commonTools,
|
|
102
|
+
failure_patterns: failurePatterns,
|
|
103
|
+
improvement_potential: successRate < 0.7 ? 'high' : successRate < 0.9 ? 'medium' : 'low',
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
return profiles.sort((a, b) => a.success_rate - b.success_rate);
|
|
107
|
+
}
|
|
108
|
+
// ── Core: Improve ───────────────────────────────────────────────────────────
|
|
109
|
+
export function proposeImprovements(profiles) {
|
|
110
|
+
const improvements = [];
|
|
111
|
+
for (const profile of profiles) {
|
|
112
|
+
// High failure rate → improve prompt
|
|
113
|
+
if (profile.success_rate < 0.7 && profile.total_tasks >= 5) {
|
|
114
|
+
improvements.push({
|
|
115
|
+
id: generateId(),
|
|
116
|
+
timestamp: new Date().toISOString(),
|
|
117
|
+
target: 'prompt',
|
|
118
|
+
agent: profile.agent,
|
|
119
|
+
description: `Agent "${profile.agent}" has ${Math.round(profile.success_rate * 100)}% success rate across ${profile.total_tasks} tasks. Top failure patterns: ${profile.failure_patterns.join(', ') || 'unknown'}. Propose refined system prompt with explicit instructions for handling these failure cases.`,
|
|
120
|
+
before: `Current ${profile.agent} agent prompt`,
|
|
121
|
+
after: `Enhanced prompt with: failure pattern guards, tool selection hints for common tasks, fallback instructions`,
|
|
122
|
+
expected_impact: `Success rate from ${Math.round(profile.success_rate * 100)}% → ${Math.min(95, Math.round(profile.success_rate * 100) + 20)}%`,
|
|
123
|
+
status: 'proposed',
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
// Slow agent → optimize tool selection
|
|
127
|
+
if (profile.avg_duration_ms > 10000 && profile.total_tasks >= 3) {
|
|
128
|
+
improvements.push({
|
|
129
|
+
id: generateId(),
|
|
130
|
+
timestamp: new Date().toISOString(),
|
|
131
|
+
target: 'tool_selection',
|
|
132
|
+
agent: profile.agent,
|
|
133
|
+
description: `Agent "${profile.agent}" averages ${Math.round(profile.avg_duration_ms / 1000)}s per task. Most used tools: ${profile.common_tools.map(t => t.name).join(', ')}. Propose tool pre-selection to skip discovery phase.`,
|
|
134
|
+
before: `Dynamic tool discovery on every invocation`,
|
|
135
|
+
after: `Pre-loaded tool set for ${profile.agent}: [${profile.common_tools.map(t => t.name).join(', ')}]`,
|
|
136
|
+
expected_impact: `Duration from ${Math.round(profile.avg_duration_ms / 1000)}s → ${Math.round(profile.avg_duration_ms / 1000 * 0.6)}s`,
|
|
137
|
+
status: 'proposed',
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
// Expensive agent → route to cheaper model for simple tasks
|
|
141
|
+
if (profile.avg_cost > 0.01 && profile.total_tasks >= 5) {
|
|
142
|
+
improvements.push({
|
|
143
|
+
id: generateId(),
|
|
144
|
+
timestamp: new Date().toISOString(),
|
|
145
|
+
target: 'routing',
|
|
146
|
+
agent: profile.agent,
|
|
147
|
+
description: `Agent "${profile.agent}" costs $${profile.avg_cost.toFixed(4)}/task avg. For simple tasks (< 500 tokens), route to local model to reduce cost by ~100%.`,
|
|
148
|
+
before: `All tasks use cloud model`,
|
|
149
|
+
after: `Simple tasks (< 500 tokens) → local model. Complex tasks → cloud.`,
|
|
150
|
+
expected_impact: `Cost from $${profile.avg_cost.toFixed(4)} → $${(profile.avg_cost * 0.4).toFixed(4)} per task`,
|
|
151
|
+
status: 'proposed',
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
return improvements;
|
|
156
|
+
}
|
|
157
|
+
// ── Core: Apply ─────────────────────────────────────────────────────────────
|
|
158
|
+
export function applyImprovement(improvement) {
|
|
159
|
+
ensureMetaDir();
|
|
160
|
+
// Save the improvement to routing hints file
|
|
161
|
+
const hintsPath = join(KBOT_DIR, 'meta-agent', 'active-improvements.json');
|
|
162
|
+
const active = loadJson(hintsPath, []);
|
|
163
|
+
improvement.status = 'applied';
|
|
164
|
+
active.push(improvement);
|
|
165
|
+
saveJson(hintsPath, active);
|
|
166
|
+
// Log to history
|
|
167
|
+
const history = loadJson(HISTORY_PATH, []);
|
|
168
|
+
history.push(improvement);
|
|
169
|
+
if (history.length > 500)
|
|
170
|
+
history.splice(0, history.length - 500);
|
|
171
|
+
saveJson(HISTORY_PATH, history);
|
|
172
|
+
return true;
|
|
173
|
+
}
|
|
174
|
+
// ── Core: Measure ───────────────────────────────────────────────────────────
|
|
175
|
+
export function measureImpact(improvementId) {
|
|
176
|
+
const history = loadJson(HISTORY_PATH, []);
|
|
177
|
+
const imp = history.find(i => i.id === improvementId);
|
|
178
|
+
if (!imp)
|
|
179
|
+
return `Improvement ${improvementId} not found.`;
|
|
180
|
+
const observations = loadJson(OBSERVATIONS_PATH, []);
|
|
181
|
+
const appliedAt = new Date(imp.timestamp).getTime();
|
|
182
|
+
const before = observations.filter(o => new Date(o.timestamp).getTime() < appliedAt && o.agent === imp.agent);
|
|
183
|
+
const after = observations.filter(o => new Date(o.timestamp).getTime() >= appliedAt && o.agent === imp.agent);
|
|
184
|
+
if (after.length < 3)
|
|
185
|
+
return `Not enough data yet. ${after.length}/3 observations since improvement applied.`;
|
|
186
|
+
const beforeRate = before.length > 0 ? before.filter(o => o.success).length / before.length : 0;
|
|
187
|
+
const afterRate = after.length > 0 ? after.filter(o => o.success).length / after.length : 0;
|
|
188
|
+
const beforeDuration = before.length > 0 ? before.reduce((s, o) => s + o.duration_ms, 0) / before.length : 0;
|
|
189
|
+
const afterDuration = after.length > 0 ? after.reduce((s, o) => s + o.duration_ms, 0) / after.length : 0;
|
|
190
|
+
imp.measured_impact = `Success: ${Math.round(beforeRate * 100)}% → ${Math.round(afterRate * 100)}%. Duration: ${Math.round(beforeDuration)}ms → ${Math.round(afterDuration)}ms.`;
|
|
191
|
+
imp.status = 'measured';
|
|
192
|
+
saveJson(HISTORY_PATH, history);
|
|
193
|
+
return imp.measured_impact;
|
|
194
|
+
}
|
|
195
|
+
// ── Main Loop ───────────────────────────────────────────────────────────────
|
|
196
|
+
export async function runMetaAgent() {
|
|
197
|
+
ensureMetaDir();
|
|
198
|
+
const cycleCountPath = join(META_DIR, 'cycle-count.json');
|
|
199
|
+
const cycleCount = (loadJson(cycleCountPath, { count: 0 })).count + 1;
|
|
200
|
+
saveJson(cycleCountPath, { count: cycleCount });
|
|
201
|
+
console.log(`\n🧠 Meta-Agent — Cycle #${cycleCount}`);
|
|
202
|
+
console.log('─'.repeat(50));
|
|
203
|
+
// 1. Analyze
|
|
204
|
+
console.log('\n📊 Analyzing task agent performance...');
|
|
205
|
+
const profiles = analyzePerformance();
|
|
206
|
+
if (profiles.length === 0) {
|
|
207
|
+
console.log(' No observations yet. Use kbot to generate data.');
|
|
208
|
+
return {
|
|
209
|
+
timestamp: new Date().toISOString(),
|
|
210
|
+
observations_analyzed: 0,
|
|
211
|
+
profiles: [],
|
|
212
|
+
improvements_proposed: [],
|
|
213
|
+
improvements_applied: [],
|
|
214
|
+
cycle_number: cycleCount,
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
for (const p of profiles) {
|
|
218
|
+
const bar = p.success_rate >= 0.9 ? '🟢' : p.success_rate >= 0.7 ? '🟡' : '🔴';
|
|
219
|
+
console.log(` ${bar} ${p.agent}: ${Math.round(p.success_rate * 100)}% success, ${p.total_tasks} tasks, ${Math.round(p.avg_duration_ms)}ms avg`);
|
|
220
|
+
}
|
|
221
|
+
// 2. Propose improvements
|
|
222
|
+
console.log('\n💡 Proposing improvements...');
|
|
223
|
+
const proposed = proposeImprovements(profiles);
|
|
224
|
+
if (proposed.length === 0) {
|
|
225
|
+
console.log(' All agents performing well. No improvements needed.');
|
|
226
|
+
}
|
|
227
|
+
for (const imp of proposed) {
|
|
228
|
+
console.log(` → [${imp.target}] ${imp.agent}: ${imp.description.slice(0, 100)}...`);
|
|
229
|
+
console.log(` Expected: ${imp.expected_impact}`);
|
|
230
|
+
}
|
|
231
|
+
// 3. Apply improvements (auto-apply low-risk ones)
|
|
232
|
+
const applied = [];
|
|
233
|
+
for (const imp of proposed) {
|
|
234
|
+
if (imp.target === 'routing' || imp.target === 'tool_selection') {
|
|
235
|
+
// Low risk — auto-apply
|
|
236
|
+
applyImprovement(imp);
|
|
237
|
+
applied.push(imp);
|
|
238
|
+
console.log(` ✓ Applied: ${imp.description.slice(0, 80)}`);
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
// Higher risk — propose only
|
|
242
|
+
console.log(` ⏸ Proposed (needs review): ${imp.description.slice(0, 80)}`);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
// 4. Measure previous improvements
|
|
246
|
+
console.log('\n📏 Measuring previous improvements...');
|
|
247
|
+
const history = loadJson(HISTORY_PATH, []);
|
|
248
|
+
const unmeasured = history.filter(i => i.status === 'applied');
|
|
249
|
+
for (const imp of unmeasured.slice(0, 5)) {
|
|
250
|
+
const result = measureImpact(imp.id);
|
|
251
|
+
console.log(` ${imp.agent} [${imp.target}]: ${result}`);
|
|
252
|
+
}
|
|
253
|
+
const observations = loadJson(OBSERVATIONS_PATH, []);
|
|
254
|
+
const report = {
|
|
255
|
+
timestamp: new Date().toISOString(),
|
|
256
|
+
observations_analyzed: observations.length,
|
|
257
|
+
profiles,
|
|
258
|
+
improvements_proposed: proposed,
|
|
259
|
+
improvements_applied: applied,
|
|
260
|
+
cycle_number: cycleCount,
|
|
261
|
+
};
|
|
262
|
+
// Save report
|
|
263
|
+
const reportPath = join(META_DIR, `report-${cycleCount}.json`);
|
|
264
|
+
saveJson(reportPath, report);
|
|
265
|
+
console.log(`\n✅ Meta-Agent cycle #${cycleCount} complete.`);
|
|
266
|
+
console.log(` ${observations.length} observations analyzed`);
|
|
267
|
+
console.log(` ${proposed.length} improvements proposed`);
|
|
268
|
+
console.log(` ${applied.length} improvements auto-applied`);
|
|
269
|
+
console.log(` Report: ${reportPath}\n`);
|
|
270
|
+
return report;
|
|
271
|
+
}
|
|
272
|
+
// ── Get improvement history ─────────────────────────────────────────────────
|
|
273
|
+
export function getImprovementHistory() {
|
|
274
|
+
return loadJson(HISTORY_PATH, []);
|
|
275
|
+
}
|
|
276
|
+
export function getActiveImprovements() {
|
|
277
|
+
const hintsPath = join(META_DIR, 'active-improvements.json');
|
|
278
|
+
return loadJson(hintsPath, []);
|
|
279
|
+
}
|
|
280
|
+
export function getMetaStats() {
|
|
281
|
+
const cycleCountPath = join(META_DIR, 'cycle-count.json');
|
|
282
|
+
const cycles = (loadJson(cycleCountPath, { count: 0 })).count;
|
|
283
|
+
const observations = loadJson(OBSERVATIONS_PATH, []).length;
|
|
284
|
+
const improvements = loadJson(HISTORY_PATH, []).length;
|
|
285
|
+
const active = getActiveImprovements().length;
|
|
286
|
+
return { cycles, observations, improvements, active };
|
|
287
|
+
}
|
|
288
|
+
//# sourceMappingURL=meta-agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta-agent.js","sourceRoot":"","sources":["../src/meta-agent.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.
|
|
3
|
+
"version": "3.37.0",
|
|
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": {
|