@kernel.chat/kbot 3.34.2 → 3.35.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.
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=kbot-channel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kbot-channel.d.ts","sourceRoot":"","sources":["../../src/channels/kbot-channel.ts"],"names":[],"mappings":""}
@@ -0,0 +1,319 @@
1
+ #!/usr/bin/env node
2
+ // kbot Channel for Claude Code
3
+ //
4
+ // Bridges kbot's cognitive engine (374+ tools, 41 agents, learning engine)
5
+ // into Claude Code sessions via the Channel protocol.
6
+ //
7
+ // Architecture:
8
+ // External world (WhatsApp, Telegram, Slack via OpenClaw)
9
+ // ↕ kbot Channel (this file)
10
+ // ↕ Claude Code session
11
+ //
12
+ // One-way events: kbot pushes learning updates, agent routing, forge notifications
13
+ // Two-way: Claude Code can reply through kbot to any OpenClaw platform
14
+ // Permission relay: approve/deny tool use from your phone via OpenClaw
15
+ //
16
+ // Usage:
17
+ // Add to .mcp.json: { "kbot-channel": { "command": "node", "args": ["path/to/kbot-channel.js"] } }
18
+ // Start: claude --channels server:kbot-channel
19
+ //
20
+ // Jensen Huang: "Agents are the iPhone of tokens."
21
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
22
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
23
+ import { ListToolsRequestSchema, CallToolRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
24
+ import { createServer } from 'node:http';
25
+ import { readFileSync, existsSync } from 'node:fs';
26
+ import { homedir } from 'node:os';
27
+ import { join } from 'node:path';
28
+ import { z } from 'zod';
29
+ // ── Config ──────────────────────────────────────────────────────────────────
30
+ const KBOT_PORT = parseInt(process.env.KBOT_CHANNEL_PORT || '7438', 10);
31
+ const OPENCLAW_URL = process.env.OPENCLAW_GATEWAY_URL || 'http://127.0.0.1:18789';
32
+ const KBOT_DIR = join(homedir(), '.kbot');
33
+ // ── Outbound: SSE listeners for testing / monitoring ────────────────────────
34
+ const listeners = new Set();
35
+ function broadcast(text) {
36
+ const chunk = text.split('\n').map(l => `data: ${l}\n`).join('') + '\n';
37
+ for (const emit of listeners)
38
+ emit(chunk);
39
+ }
40
+ // ── Sender allowlist ────────────────────────────────────────────────────────
41
+ function loadAllowlist() {
42
+ const path = join(KBOT_DIR, 'channel-allowlist.json');
43
+ try {
44
+ if (existsSync(path)) {
45
+ const list = JSON.parse(readFileSync(path, 'utf-8'));
46
+ return new Set(list);
47
+ }
48
+ }
49
+ catch { /* ignore */ }
50
+ // Default: allow local requests
51
+ return new Set(['local', 'kbot', 'openclaw']);
52
+ }
53
+ const allowed = loadAllowlist();
54
+ // ── MCP Server with Channel capability ──────────────────────────────────────
55
+ const mcp = new Server({ name: 'kbot', version: '3.34.2' }, {
56
+ capabilities: {
57
+ experimental: {
58
+ 'claude/channel': {},
59
+ 'claude/channel/permission': {},
60
+ },
61
+ tools: {},
62
+ },
63
+ instructions: `You are connected to kbot — a self-improving AI agent with 374+ tools and 41 specialist agents.
64
+
65
+ Events arrive as <channel source="kbot" ...>. They include:
66
+ - Messages from external platforms via OpenClaw (WhatsApp, Telegram, Slack, Discord, iMessage)
67
+ - Learning engine updates (new patterns, routing changes)
68
+ - Forge notifications (new tools created or installed)
69
+ - Agent status reports
70
+ - Security alerts from the self-defense system
71
+
72
+ For messages from people (has chat_id and platform attributes):
73
+ Reply using the kbot_reply tool, passing chat_id and platform from the tag.
74
+
75
+ For system events (learning, forge, security):
76
+ Read and act as appropriate. No reply expected.
77
+
78
+ You can also use:
79
+ kbot_agent — delegate a task to one of kbot's 26 specialist agents
80
+ kbot_tools — list or execute any of kbot's 374+ tools
81
+ kbot_status — check kbot's health, learning stats, and active sessions
82
+
83
+ kbot learns from every interaction. Patterns it extracts improve future routing and responses.`,
84
+ });
85
+ // ── Reply tool: Claude sends messages back through kbot ─────────────────────
86
+ mcp.setRequestHandler(ListToolsRequestSchema, async () => ({
87
+ tools: [
88
+ {
89
+ name: 'kbot_reply',
90
+ description: 'Reply to a message through kbot. Routes through OpenClaw to WhatsApp, Telegram, Slack, Discord, iMessage, or any connected platform.',
91
+ inputSchema: {
92
+ type: 'object',
93
+ properties: {
94
+ chat_id: { type: 'string', description: 'The conversation ID from the inbound channel tag' },
95
+ platform: { type: 'string', description: 'Platform to reply on (from the channel tag)' },
96
+ text: { type: 'string', description: 'The message to send' },
97
+ },
98
+ required: ['chat_id', 'text'],
99
+ },
100
+ },
101
+ {
102
+ name: 'kbot_agent',
103
+ description: 'Delegate a task to one of kbot\'s 26 specialist agents. Agents: kernel, coder, researcher, writer, analyst, aesthete, guardian, curator, strategist, infrastructure, quant, investigator, oracle, chronist, sage, communicator, adapter, trader.',
104
+ inputSchema: {
105
+ type: 'object',
106
+ properties: {
107
+ agent: { type: 'string', description: 'Agent to route to (or "auto" for Bayesian routing)' },
108
+ task: { type: 'string', description: 'The task or question' },
109
+ },
110
+ required: ['task'],
111
+ },
112
+ },
113
+ {
114
+ name: 'kbot_tools',
115
+ description: 'List or execute kbot tools. With action="list", returns available tools. With action="execute", runs a specific tool.',
116
+ inputSchema: {
117
+ type: 'object',
118
+ properties: {
119
+ action: { type: 'string', description: '"list" or "execute"' },
120
+ tool_name: { type: 'string', description: 'Tool to execute (for action="execute")' },
121
+ args: { type: 'object', description: 'Tool arguments (for action="execute")' },
122
+ filter: { type: 'string', description: 'Filter tools by keyword (for action="list")' },
123
+ },
124
+ required: ['action'],
125
+ },
126
+ },
127
+ {
128
+ name: 'kbot_status',
129
+ description: 'Get kbot\'s current status: version, tool count, learning stats, active sessions, defense health.',
130
+ inputSchema: {
131
+ type: 'object',
132
+ properties: {},
133
+ },
134
+ },
135
+ ],
136
+ }));
137
+ // ── Tool execution ──────────────────────────────────────────────────────────
138
+ async function kbotApiFetch(path, options) {
139
+ const KBOT_API = process.env.KBOT_SERVE_URL || 'http://127.0.0.1:7437';
140
+ const res = await fetch(`${KBOT_API}${path}`, {
141
+ method: options?.method || 'GET',
142
+ headers: { 'Content-Type': 'application/json' },
143
+ body: options?.body ? JSON.stringify(options.body) : undefined,
144
+ });
145
+ if (!res.ok)
146
+ throw new Error(`kbot API: ${res.status}`);
147
+ return res.json();
148
+ }
149
+ async function openclawSend(sessionId, message) {
150
+ await fetch(`${OPENCLAW_URL}/api/sessions/${sessionId}/send`, {
151
+ method: 'POST',
152
+ headers: { 'Content-Type': 'application/json' },
153
+ body: JSON.stringify({ message }),
154
+ });
155
+ }
156
+ mcp.setRequestHandler(CallToolRequestSchema, async (req) => {
157
+ const { name, arguments: args } = req.params;
158
+ const a = (args || {});
159
+ try {
160
+ switch (name) {
161
+ case 'kbot_reply': {
162
+ const text = String(a.text || '');
163
+ const chatId = String(a.chat_id || '');
164
+ const platform = String(a.platform || '');
165
+ // Try OpenClaw first, fall back to broadcast
166
+ try {
167
+ await openclawSend(chatId, text);
168
+ }
169
+ catch {
170
+ broadcast(`[${platform || 'reply'}] → ${chatId}: ${text}`);
171
+ }
172
+ return { content: [{ type: 'text', text: `Sent to ${chatId}${platform ? ` on ${platform}` : ''}` }] };
173
+ }
174
+ case 'kbot_agent': {
175
+ const result = await kbotApiFetch('/stream', {
176
+ method: 'POST',
177
+ body: { message: String(a.task), agent: String(a.agent || 'auto') },
178
+ });
179
+ return { content: [{ type: 'text', text: result.content || result.error || 'No response' }] };
180
+ }
181
+ case 'kbot_tools': {
182
+ if (a.action === 'list') {
183
+ const tools = await kbotApiFetch('/tools');
184
+ const filter = a.filter ? String(a.filter).toLowerCase() : '';
185
+ const filtered = filter
186
+ ? tools.filter(t => t.name.includes(filter) || t.description.toLowerCase().includes(filter))
187
+ : tools.slice(0, 30);
188
+ return { content: [{ type: 'text', text: filtered.map(t => `${t.name} — ${t.description}`).join('\n') }] };
189
+ }
190
+ if (a.action === 'execute' && a.tool_name) {
191
+ const result = await kbotApiFetch('/execute', {
192
+ method: 'POST',
193
+ body: { name: String(a.tool_name), args: a.args || {} },
194
+ });
195
+ return { content: [{ type: 'text', text: result.result || result.error || 'Done' }] };
196
+ }
197
+ return { content: [{ type: 'text', text: 'Use action="list" or action="execute" with tool_name' }] };
198
+ }
199
+ case 'kbot_status': {
200
+ const health = await kbotApiFetch('/health');
201
+ return { content: [{ type: 'text', text: JSON.stringify(health, null, 2) }] };
202
+ }
203
+ default:
204
+ throw new Error(`Unknown tool: ${name}`);
205
+ }
206
+ }
207
+ catch (err) {
208
+ return { content: [{ type: 'text', text: `Error: ${err instanceof Error ? err.message : String(err)}` }] };
209
+ }
210
+ });
211
+ // ── Permission relay ────────────────────────────────────────────────────────
212
+ const PermissionRequestSchema = z.object({
213
+ method: z.literal('notifications/claude/channel/permission_request'),
214
+ params: z.object({
215
+ request_id: z.string(),
216
+ tool_name: z.string(),
217
+ description: z.string(),
218
+ input_preview: z.string(),
219
+ }),
220
+ });
221
+ mcp.setNotificationHandler(PermissionRequestSchema, async ({ params }) => {
222
+ const prompt = `🔐 Claude wants to run ${params.tool_name}: ${params.description}\n\nReply "yes ${params.request_id}" or "no ${params.request_id}"`;
223
+ // Broadcast to SSE listeners
224
+ broadcast(prompt);
225
+ // Also try to send via OpenClaw to all active sessions
226
+ try {
227
+ await fetch(`${OPENCLAW_URL}/api/broadcast`, {
228
+ method: 'POST',
229
+ headers: { 'Content-Type': 'application/json' },
230
+ body: JSON.stringify({ message: prompt, platforms: [] }),
231
+ });
232
+ }
233
+ catch { /* OpenClaw might not be running — SSE is the fallback */ }
234
+ });
235
+ // ── Connect to Claude Code ──────────────────────────────────────────────────
236
+ await mcp.connect(new StdioServerTransport());
237
+ // ── HTTP server: receives events and forwards to Claude Code ────────────────
238
+ const PERMISSION_REPLY_RE = /^\s*(y|yes|n|no)\s+([a-km-z]{5})\s*$/i;
239
+ let nextId = 1;
240
+ function parseBody(req) {
241
+ return new Promise((resolve, reject) => {
242
+ const chunks = [];
243
+ req.on('data', (c) => chunks.push(c));
244
+ req.on('end', () => resolve(Buffer.concat(chunks).toString()));
245
+ req.on('error', reject);
246
+ });
247
+ }
248
+ const httpServer = createServer(async (req, res) => {
249
+ const url = new URL(req.url || '/', `http://127.0.0.1:${KBOT_PORT}`);
250
+ // GET /events — SSE stream for monitoring
251
+ if (req.method === 'GET' && url.pathname === '/events') {
252
+ res.writeHead(200, {
253
+ 'Content-Type': 'text/event-stream',
254
+ 'Cache-Control': 'no-cache',
255
+ Connection: 'keep-alive',
256
+ });
257
+ res.write(': connected\n\n');
258
+ const emit = (chunk) => res.write(chunk);
259
+ listeners.add(emit);
260
+ req.on('close', () => listeners.delete(emit));
261
+ return;
262
+ }
263
+ // GET /health — channel health check
264
+ if (req.method === 'GET' && url.pathname === '/health') {
265
+ res.writeHead(200, { 'Content-Type': 'application/json' });
266
+ res.end(JSON.stringify({ status: 'ok', name: 'kbot-channel', version: '3.34.2', port: KBOT_PORT }));
267
+ return;
268
+ }
269
+ // POST — inbound messages
270
+ if (req.method === 'POST') {
271
+ const body = await parseBody(req);
272
+ const sender = req.headers['x-sender'] || 'local';
273
+ const platform = req.headers['x-platform'] || 'http';
274
+ // Gate on sender
275
+ if (!allowed.has(sender) && !allowed.has('local')) {
276
+ res.writeHead(403);
277
+ res.end('forbidden');
278
+ return;
279
+ }
280
+ // Check for permission verdict
281
+ const m = PERMISSION_REPLY_RE.exec(body);
282
+ if (m) {
283
+ await mcp.notification({
284
+ method: 'notifications/claude/channel/permission',
285
+ params: {
286
+ request_id: m[2].toLowerCase(),
287
+ behavior: m[1].toLowerCase().startsWith('y') ? 'allow' : 'deny',
288
+ },
289
+ });
290
+ res.writeHead(200);
291
+ res.end('verdict recorded');
292
+ return;
293
+ }
294
+ // Forward as channel event
295
+ const chatId = String(nextId++);
296
+ await mcp.notification({
297
+ method: 'notifications/claude/channel',
298
+ params: {
299
+ content: body,
300
+ meta: {
301
+ chat_id: chatId,
302
+ platform,
303
+ sender,
304
+ path: url.pathname,
305
+ },
306
+ },
307
+ });
308
+ res.writeHead(200);
309
+ res.end('ok');
310
+ return;
311
+ }
312
+ res.writeHead(404);
313
+ res.end('not found');
314
+ });
315
+ httpServer.listen(KBOT_PORT, '127.0.0.1', () => {
316
+ // Channel is live — Claude Code has already connected via stdio
317
+ // HTTP server accepts webhook POSTs and OpenClaw forwarded messages
318
+ });
319
+ //# sourceMappingURL=kbot-channel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kbot-channel.js","sourceRoot":"","sources":["../../src/channels/kbot-channel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ export interface EmailMessage {
2
+ to: string | string[];
3
+ subject: string;
4
+ text?: string;
5
+ html?: string;
6
+ from?: string;
7
+ replyTo?: string;
8
+ }
9
+ export declare function sendEmail(msg: EmailMessage): Promise<{
10
+ success: boolean;
11
+ messageId?: string;
12
+ error?: string;
13
+ }>;
14
+ export declare function sendDigestEmail(to: string | string[], digest: string, version: string): Promise<{
15
+ success: boolean;
16
+ error?: string;
17
+ }>;
18
+ export declare function sendWelcomeEmail(to: string): Promise<{
19
+ success: boolean;
20
+ error?: string;
21
+ }>;
22
+ export declare function sendSecurityAlert(to: string, alert: string): Promise<{
23
+ success: boolean;
24
+ error?: string;
25
+ }>;
26
+ export declare function sendForgeNotification(to: string, toolName: string, description: string): Promise<{
27
+ success: boolean;
28
+ error?: string;
29
+ }>;
30
+ export declare function sendReleaseAnnouncement(to: string | string[], version: string, changelog: string): Promise<{
31
+ success: boolean;
32
+ error?: string;
33
+ }>;
34
+ //# sourceMappingURL=email-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-service.d.ts","sourceRoot":"","sources":["../src/email-service.ts"],"names":[],"mappings":"AA0EA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,wBAAsB,SAAS,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAkBpH;AAED,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAO3I;AAED,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA2ChG;AAED,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAOhH;AAED,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAM5I;AAED,wBAAsB,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAetJ"}
@@ -0,0 +1,158 @@
1
+ // kbot Email Service — kernel.chat@gmail.com
2
+ //
3
+ // Sends and reads email programmatically via Gmail API.
4
+ // Used by: digest, forge notifications, onboarding, security alerts, OpenClaw email channel.
5
+ //
6
+ // Setup: requires Gmail App Password (not OAuth — simpler for service accounts)
7
+ // Store in ~/.kbot/config.json as { "email": { "user": "kernel.chat@gmail.com", "pass": "app-password" } }
8
+ // Or set env vars: KBOT_EMAIL_USER, KBOT_EMAIL_PASS
9
+ import { readFileSync, existsSync } from 'node:fs';
10
+ import { homedir } from 'node:os';
11
+ import { join } from 'node:path';
12
+ import { createTransport } from 'nodemailer';
13
+ const KBOT_DIR = join(homedir(), '.kbot');
14
+ function loadEmailConfig() {
15
+ // Env vars first
16
+ if (process.env.KBOT_EMAIL_USER && process.env.KBOT_EMAIL_PASS) {
17
+ return {
18
+ user: process.env.KBOT_EMAIL_USER,
19
+ pass: process.env.KBOT_EMAIL_PASS,
20
+ };
21
+ }
22
+ // Fall back to config file
23
+ const configPath = join(KBOT_DIR, 'config.json');
24
+ if (existsSync(configPath)) {
25
+ try {
26
+ const config = JSON.parse(readFileSync(configPath, 'utf-8'));
27
+ if (config.email?.user && config.email?.pass)
28
+ return config.email;
29
+ }
30
+ catch { /* ignore */ }
31
+ }
32
+ return { user: 'kernel.chat@gmail.com', pass: '' };
33
+ }
34
+ let transporter = null;
35
+ function getTransporter() {
36
+ if (transporter)
37
+ return transporter;
38
+ const config = loadEmailConfig();
39
+ if (!config.pass) {
40
+ throw new Error('Email not configured. Set up a Gmail App Password:\n' +
41
+ '1. Go to https://myaccount.google.com/apppasswords\n' +
42
+ '2. Generate an app password for "kbot"\n' +
43
+ '3. Save to ~/.kbot/config.json: { "email": { "user": "kernel.chat@gmail.com", "pass": "your-app-password" } }\n' +
44
+ ' Or set KBOT_EMAIL_USER and KBOT_EMAIL_PASS environment variables');
45
+ }
46
+ transporter = createTransport({
47
+ host: config.smtp || 'smtp.gmail.com',
48
+ port: config.port || 587,
49
+ secure: false,
50
+ auth: {
51
+ user: config.user,
52
+ pass: config.pass,
53
+ },
54
+ });
55
+ return transporter;
56
+ }
57
+ export async function sendEmail(msg) {
58
+ try {
59
+ const config = loadEmailConfig();
60
+ const transport = getTransporter();
61
+ const result = await transport.sendMail({
62
+ from: msg.from || `kbot <${config.user}>`,
63
+ to: Array.isArray(msg.to) ? msg.to.join(', ') : msg.to,
64
+ subject: msg.subject,
65
+ text: msg.text,
66
+ html: msg.html,
67
+ replyTo: msg.replyTo || config.user,
68
+ });
69
+ return { success: true, messageId: result.messageId };
70
+ }
71
+ catch (err) {
72
+ return { success: false, error: err instanceof Error ? err.message : String(err) };
73
+ }
74
+ }
75
+ export async function sendDigestEmail(to, digest, version) {
76
+ return sendEmail({
77
+ to,
78
+ subject: `kbot Weekly Digest — v${version}`,
79
+ text: digest,
80
+ html: `<pre style="font-family: 'Courier Prime', Courier, monospace; background: #0d0d0d; color: #e8e6e3; padding: 24px; border-radius: 10px; max-width: 600px;">${digest.replace(/</g, '&lt;').replace(/>/g, '&gt;')}</pre>`,
81
+ });
82
+ }
83
+ export async function sendWelcomeEmail(to) {
84
+ return sendEmail({
85
+ to,
86
+ subject: 'Welcome to kbot — The AI that learns from you',
87
+ html: `
88
+ <div style="font-family: 'EB Garamond', Georgia, serif; max-width: 600px; margin: 0 auto; background: #0d0d0d; color: #e8e6e3; padding: 40px;">
89
+ <h1 style="font-family: 'Courier Prime', monospace; color: #FAF9F6; font-size: 32px;">kbot</h1>
90
+ <p style="color: #888; font-size: 16px;">The AI that gets smarter every time anyone uses it.</p>
91
+
92
+ <div style="background: #1a1a1a; border: 1px solid #333; border-radius: 8px; padding: 16px; margin: 24px 0;">
93
+ <code style="font-family: 'Courier Prime', monospace; color: #28c840;">$ npm install -g @kernel.chat/kbot</code>
94
+ </div>
95
+
96
+ <h2 style="font-family: 'Courier Prime', monospace; color: #6B5B95; font-size: 18px;">Quick Start</h2>
97
+ <ul style="color: #aaa; line-height: 1.8;">
98
+ <li><code>kbot init</code> — detect your project and configure tools</li>
99
+ <li><code>kbot "explain this codebase"</code> — ask anything</li>
100
+ <li><code>kbot --agent coder "fix the auth bug"</code> — use a specialist</li>
101
+ <li><code>kbot pair</code> — AI pair programming watch mode</li>
102
+ <li><code>kbot dashboard</code> — see what kbot has learned</li>
103
+ <li><code>kbot local</code> — run fully offline, $0</li>
104
+ </ul>
105
+
106
+ <h2 style="font-family: 'Courier Prime', monospace; color: #6B5B95; font-size: 18px;">What Makes kbot Different</h2>
107
+ <ul style="color: #aaa; line-height: 1.8;">
108
+ <li>374+ tools, 41 specialist agents</li>
109
+ <li>Learns from every session — gets smarter over time</li>
110
+ <li>Forges new tools at runtime when it encounters gaps</li>
111
+ <li>Self-defense: HMAC integrity, prompt injection detection</li>
112
+ <li>19 local models, runs fully offline</li>
113
+ <li>OpenClaw integration — reach 20+ messaging platforms</li>
114
+ <li>MIT licensed, open source, free forever</li>
115
+ </ul>
116
+
117
+ <div style="border-top: 1px solid #333; margin-top: 32px; padding-top: 16px;">
118
+ <p style="color: #666; font-size: 13px; font-family: 'Courier Prime', monospace;">
119
+ MIT · <a href="https://kernel.chat" style="color: #6B5B95;">kernel.chat</a> ·
120
+ <a href="https://github.com/isaacsight/kernel" style="color: #6B5B95;">GitHub</a> ·
121
+ <a href="https://discord.gg/kdMauM9abG" style="color: #6B5B95;">Discord</a>
122
+ </p>
123
+ </div>
124
+ </div>`,
125
+ });
126
+ }
127
+ export async function sendSecurityAlert(to, alert) {
128
+ return sendEmail({
129
+ to,
130
+ subject: '🔐 kbot Security Alert',
131
+ text: alert,
132
+ html: `<pre style="font-family: 'Courier Prime', monospace; background: #1a0a0a; color: #ff6b6b; padding: 24px; border: 1px solid #e11d48; border-radius: 10px;">${alert.replace(/</g, '&lt;').replace(/>/g, '&gt;')}</pre>`,
133
+ });
134
+ }
135
+ export async function sendForgeNotification(to, toolName, description) {
136
+ return sendEmail({
137
+ to,
138
+ subject: `🔧 New forged tool: ${toolName}`,
139
+ text: `A new tool was forged and published to the kbot Forge Registry.\n\n${toolName} — ${description}\n\nInstall: kbot forge install ${toolName}`,
140
+ });
141
+ }
142
+ export async function sendReleaseAnnouncement(to, version, changelog) {
143
+ return sendEmail({
144
+ to,
145
+ subject: `kbot v${version} released`,
146
+ text: `kbot v${version} is now available.\n\nnpm install -g @kernel.chat/kbot\n\n${changelog}`,
147
+ html: `
148
+ <div style="font-family: 'Courier Prime', monospace; max-width: 600px; background: #0d0d0d; color: #e8e6e3; padding: 32px;">
149
+ <h1 style="color: #6B5B95;">kbot v${version}</h1>
150
+ <div style="background: #1a1a1a; border: 1px solid #333; border-radius: 8px; padding: 16px; margin: 16px 0;">
151
+ <code style="color: #28c840;">$ npm install -g @kernel.chat/kbot</code>
152
+ </div>
153
+ <pre style="color: #aaa; white-space: pre-wrap;">${changelog.replace(/</g, '&lt;').replace(/>/g, '&gt;')}</pre>
154
+ <p style="color: #666; font-size: 12px; margin-top: 24px;">kernel.chat · MIT Licensed</p>
155
+ </div>`,
156
+ });
157
+ }
158
+ //# sourceMappingURL=email-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-service.js","sourceRoot":"","sources":["../src/email-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function registerEmailTools(): void;
2
+ //# sourceMappingURL=email.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../src/tools/email.ts"],"names":[],"mappings":"AAiEA,wBAAgB,kBAAkB,IAAI,IAAI,CAiIzC"}
@@ -0,0 +1,179 @@
1
+ // kbot Email Tools — Self-Distribution + Communication
2
+ //
3
+ // kbot can now: send its own install link, onboard users, send digests,
4
+ // broadcast releases, alert on security events, and distribute itself.
5
+ //
6
+ // Uses nodemailer with Gmail. Configured via ~/.kbot/config.json or env vars.
7
+ import { registerTool } from './index.js';
8
+ const NODEMAILER_AVAILABLE = (() => {
9
+ try {
10
+ require.resolve('nodemailer');
11
+ return true;
12
+ }
13
+ catch {
14
+ return false;
15
+ }
16
+ })();
17
+ async function sendViaGmail(to, subject, body, html) {
18
+ if (!NODEMAILER_AVAILABLE) {
19
+ // Fallback: use the system mail command or OpenClaw
20
+ const { execSync } = await import('node:child_process');
21
+ try {
22
+ execSync(`echo ${JSON.stringify(body)} | mail -s ${JSON.stringify(subject)} ${to}`, { timeout: 10000 });
23
+ return `Sent via system mail to ${to}`;
24
+ }
25
+ catch {
26
+ return `Email requires nodemailer: npm install nodemailer. Or use openclaw_send with email platform.`;
27
+ }
28
+ }
29
+ const nodemailer = await import('nodemailer');
30
+ const { readFileSync, existsSync } = await import('node:fs');
31
+ const { homedir } = await import('node:os');
32
+ const { join } = await import('node:path');
33
+ let user = process.env.KBOT_EMAIL_USER || 'kernel.chat@gmail.com';
34
+ let pass = process.env.KBOT_EMAIL_PASS || '';
35
+ if (!pass) {
36
+ const configPath = join(homedir(), '.kbot', 'config.json');
37
+ if (existsSync(configPath)) {
38
+ try {
39
+ const config = JSON.parse(readFileSync(configPath, 'utf-8'));
40
+ if (config.email?.pass) {
41
+ user = config.email.user || user;
42
+ pass = config.email.pass;
43
+ }
44
+ }
45
+ catch { /* ignore */ }
46
+ }
47
+ }
48
+ if (!pass) {
49
+ return 'Gmail not configured. Set KBOT_EMAIL_PASS or add to ~/.kbot/config.json: { "email": { "pass": "app-password" } }';
50
+ }
51
+ const transport = nodemailer.createTransport({
52
+ host: 'smtp.gmail.com',
53
+ port: 587,
54
+ secure: false,
55
+ auth: { user, pass },
56
+ });
57
+ const result = await transport.sendMail({
58
+ from: `kbot <${user}>`,
59
+ to,
60
+ subject,
61
+ text: body,
62
+ html: html || undefined,
63
+ });
64
+ return `Sent to ${to} (${result.messageId})`;
65
+ }
66
+ export function registerEmailTools() {
67
+ // ── email_send: General purpose email ──
68
+ registerTool({
69
+ name: 'email_send',
70
+ description: 'Send an email from kbot (kernel.chat@gmail.com). For any outbound communication: replies, notifications, announcements.',
71
+ parameters: {
72
+ to: { type: 'string', description: 'Recipient email address', required: true },
73
+ subject: { type: 'string', description: 'Email subject line', required: true },
74
+ body: { type: 'string', description: 'Email body text', required: true },
75
+ },
76
+ tier: 'free',
77
+ async execute(args) {
78
+ return sendViaGmail(String(args.to), String(args.subject), String(args.body));
79
+ },
80
+ });
81
+ // ── email_distribute: Send kbot's install link to someone ──
82
+ registerTool({
83
+ name: 'email_distribute',
84
+ description: 'Distribute kbot to a new user by email. Sends the install command, getting started guide, and what makes kbot different. This is how kbot spreads itself.',
85
+ parameters: {
86
+ to: { type: 'string', description: 'Email address to send to', required: true },
87
+ message: { type: 'string', description: 'Optional personal message to include' },
88
+ },
89
+ tier: 'free',
90
+ async execute(args) {
91
+ const personal = args.message ? `\n${args.message}\n` : '';
92
+ const body = `Hey — check out kbot.
93
+ ${personal}
94
+ It's a free, open source AI agent that learns from every session you use it. 374+ tools, 41 specialist agents, runs fully offline.
95
+
96
+ Install in one command:
97
+ npm install -g @kernel.chat/kbot
98
+
99
+ Then try:
100
+ kbot init — detects your project, configures everything
101
+ kbot "hello" — ask anything
102
+ kbot pair — AI pair programming
103
+ kbot dashboard — see what it's learned
104
+
105
+ What makes it different:
106
+ - Learns your patterns (gets smarter over time)
107
+ - Forges new tools at runtime when it hits a gap
108
+ - Self-defense system (HMAC integrity, injection detection)
109
+ - 19 local models, $0, fully offline
110
+ - OpenClaw integration — works across WhatsApp, Slack, Discord, and more
111
+
112
+ MIT licensed. Free forever. kernel.chat
113
+
114
+ GitHub: https://github.com/isaacsight/kernel
115
+ npm: https://www.npmjs.com/package/@kernel.chat/kbot
116
+ Discord: https://discord.gg/kdMauM9abG`;
117
+ const html = `
118
+ <div style="font-family: 'Courier Prime', Courier, monospace; max-width: 560px; margin: 0 auto; background: #0d0d0d; color: #e8e6e3; padding: 32px; border-radius: 12px;">
119
+ <h1 style="color: #FAF9F6; font-size: 28px; margin: 0 0 8px;">kbot</h1>
120
+ <p style="color: #6B5B95; margin: 0 0 20px;">The AI that gets smarter every time anyone uses it.</p>
121
+ ${personal ? `<p style="color: #aaa;">${personal}</p>` : ''}
122
+ <div style="background: #1a1a1a; border: 1px solid #333; border-radius: 8px; padding: 14px 18px; margin: 20px 0;">
123
+ <code style="color: #28c840; font-size: 15px;">$ npm install -g @kernel.chat/kbot</code>
124
+ </div>
125
+ <p style="color: #aaa; font-size: 14px; line-height: 1.7;">374+ tools · 41 agents · learns from you · runs offline · $0 · MIT licensed</p>
126
+ <div style="margin-top: 24px;">
127
+ <a href="https://github.com/isaacsight/kernel" style="color: #6B5B95; text-decoration: none; margin-right: 16px;">GitHub</a>
128
+ <a href="https://www.npmjs.com/package/@kernel.chat/kbot" style="color: #6B5B95; text-decoration: none; margin-right: 16px;">npm</a>
129
+ <a href="https://discord.gg/kdMauM9abG" style="color: #6B5B95; text-decoration: none; margin-right: 16px;">Discord</a>
130
+ <a href="https://kernel.chat" style="color: #6B5B95; text-decoration: none;">kernel.chat</a>
131
+ </div>
132
+ <p style="color: #444; font-size: 11px; margin-top: 24px;">Sent by kbot · kernel.chat group · MIT Licensed</p>
133
+ </div>`;
134
+ return sendViaGmail(String(args.to), 'Check out kbot — free AI agent that learns from you', body, html);
135
+ },
136
+ });
137
+ // ── email_digest: Send weekly learning report ──
138
+ registerTool({
139
+ name: 'email_digest',
140
+ description: 'Send the weekly kbot digest to a user. Shows learning progress, patterns extracted, tools used, growth metrics.',
141
+ parameters: {
142
+ to: { type: 'string', description: 'Recipient email', required: true },
143
+ digest: { type: 'string', description: 'Digest content (from kbot digest command)', required: true },
144
+ },
145
+ tier: 'free',
146
+ async execute(args) {
147
+ return sendViaGmail(String(args.to), 'Your kbot Weekly Digest', String(args.digest), `<pre style="font-family: 'Courier Prime', monospace; background: #0d0d0d; color: #e8e6e3; padding: 24px; border-radius: 10px; max-width: 560px;">${String(args.digest).replace(/</g, '&lt;').replace(/>/g, '&gt;')}</pre>`);
148
+ },
149
+ });
150
+ // ── email_announce: Send release announcement ──
151
+ registerTool({
152
+ name: 'email_announce',
153
+ description: 'Send a release announcement email for a new kbot version. Includes version, changelog, and install command.',
154
+ parameters: {
155
+ to: { type: 'string', description: 'Recipient(s) — comma-separated for multiple', required: true },
156
+ version: { type: 'string', description: 'Version number (e.g., "3.35.0")', required: true },
157
+ changelog: { type: 'string', description: 'What changed in this release', required: true },
158
+ },
159
+ tier: 'free',
160
+ async execute(args) {
161
+ const body = `kbot v${args.version} released.\n\nnpm install -g @kernel.chat/kbot\n\n${args.changelog}\n\nkernel.chat · MIT Licensed`;
162
+ return sendViaGmail(String(args.to), `kbot v${args.version} released`, body);
163
+ },
164
+ });
165
+ // ── email_security_alert: Send security notification ──
166
+ registerTool({
167
+ name: 'email_security_alert',
168
+ description: 'Send a security alert email from kbot\'s self-defense system. Used when anomalies, tampering, or injection attempts are detected.',
169
+ parameters: {
170
+ to: { type: 'string', description: 'Recipient email', required: true },
171
+ alert: { type: 'string', description: 'Security alert details', required: true },
172
+ },
173
+ tier: 'free',
174
+ async execute(args) {
175
+ return sendViaGmail(String(args.to), '🔐 kbot Security Alert', String(args.alert), `<pre style="font-family: 'Courier Prime', monospace; background: #1a0a0a; color: #ff6b6b; padding: 24px; border: 1px solid #e11d48; border-radius: 10px;">${String(args.alert).replace(/</g, '&lt;').replace(/>/g, '&gt;')}</pre>`);
176
+ },
177
+ });
178
+ }
179
+ //# sourceMappingURL=email.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email.js","sourceRoot":"","sources":["../../src/tools/email.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
@@ -257,6 +257,7 @@ const LAZY_MODULE_IMPORTS = [
257
257
  { path: './sentiment.js', registerFn: 'registerSentimentTools' },
258
258
  { path: './security.js', registerFn: 'registerSecurityTools' },
259
259
  { path: './openclaw.js', registerFn: 'registerOpenClawTools' },
260
+ { path: './email.js', registerFn: 'registerEmailTools' },
260
261
  ];
261
262
  /** Track whether lazy tools have been registered */
262
263
  let lazyToolsRegistered = false;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.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.2",
3
+ "version": "3.35.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": {
@@ -58,7 +58,6 @@
58
58
  "code-review",
59
59
  "pair-programming",
60
60
  "vibe-coding",
61
-
62
61
  "claude-code-alternative",
63
62
  "cursor-alternative",
64
63
  "copilot-alternative",
@@ -68,7 +67,6 @@
68
67
  "opencode-alternative",
69
68
  "langchain-alternative",
70
69
  "crewai-alternative",
71
-
72
70
  "free-ai-coding",
73
71
  "free-ai-agent",
74
72
  "no-subscription",
@@ -81,7 +79,6 @@
81
79
  "local-llm",
82
80
  "open-source",
83
81
  "open-source-ai",
84
-
85
82
  "multi-provider",
86
83
  "multi-model",
87
84
  "cost-aware",
@@ -98,7 +95,6 @@
98
95
  "ollama",
99
96
  "gguf",
100
97
  "llama-cpp",
101
-
102
98
  "crypto-trading-bot",
103
99
  "solana-trading-bot",
104
100
  "trading-bot",
@@ -115,7 +111,6 @@
115
111
  "financial-analysis",
116
112
  "sentiment-analysis",
117
113
  "whale-tracker",
118
-
119
114
  "mcp",
120
115
  "model-context-protocol",
121
116
  "mcp-server",
@@ -128,7 +123,6 @@
128
123
  "self-evolving",
129
124
  "self-improving",
130
125
  "autopoiesis",
131
-
132
126
  "cli",
133
127
  "terminal",
134
128
  "shell-assistant",
@@ -137,7 +131,6 @@
137
131
  "workflow-engine",
138
132
  "typescript",
139
133
  "llm",
140
-
141
134
  "docker",
142
135
  "terraform",
143
136
  "devops",
@@ -151,7 +144,6 @@
151
144
  "prisma",
152
145
  "sql",
153
146
  "postgres",
154
-
155
147
  "browser-automation",
156
148
  "playwright",
157
149
  "web-agent",
@@ -160,7 +152,6 @@
160
152
  "agent-protocol",
161
153
  "agent-marketplace",
162
154
  "plugin-sdk",
163
-
164
155
  "game-development",
165
156
  "game-engine",
166
157
  "godot",
@@ -168,7 +159,6 @@
168
159
  "unreal-engine",
169
160
  "vfx",
170
161
  "shader",
171
-
172
162
  "hardware-aware",
173
163
  "machine-profiler",
174
164
  "system-profiler",
@@ -178,7 +168,6 @@
178
168
  "metal",
179
169
  "apple-silicon",
180
170
  "copilot",
181
-
182
171
  "cybersecurity",
183
172
  "security-audit",
184
173
  "vulnerability-scanner",
@@ -197,10 +186,12 @@
197
186
  "license": "MIT",
198
187
  "dependencies": {
199
188
  "@modelcontextprotocol/sdk": "^1.0.0",
189
+ "@types/nodemailer": "^7.0.11",
200
190
  "chalk": "^5.3.0",
201
191
  "commander": "^12.1.0",
202
192
  "marked": "^14.0.0",
203
193
  "marked-terminal": "^7.2.0",
194
+ "nodemailer": "^8.0.3",
204
195
  "ora": "^8.1.0",
205
196
  "readline": "^1.3.0",
206
197
  "zod": "^3.23.0"