@kernel.chat/kbot 2.5.0 → 2.8.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.
Files changed (79) hide show
  1. package/README.md +98 -42
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +140 -21
  4. package/dist/agent.js.map +1 -1
  5. package/dist/architect.d.ts +44 -0
  6. package/dist/architect.d.ts.map +1 -0
  7. package/dist/architect.js +403 -0
  8. package/dist/architect.js.map +1 -0
  9. package/dist/auth.d.ts +11 -1
  10. package/dist/auth.d.ts.map +1 -1
  11. package/dist/auth.js +165 -7
  12. package/dist/auth.js.map +1 -1
  13. package/dist/cli.js +251 -22
  14. package/dist/cli.js.map +1 -1
  15. package/dist/graph-memory.d.ts +98 -0
  16. package/dist/graph-memory.d.ts.map +1 -0
  17. package/dist/graph-memory.js +926 -0
  18. package/dist/graph-memory.js.map +1 -0
  19. package/dist/ide/acp-server.js +2 -2
  20. package/dist/ide/mcp-server.js +1 -1
  21. package/dist/lsp-client.d.ts +167 -0
  22. package/dist/lsp-client.d.ts.map +1 -0
  23. package/dist/lsp-client.js +679 -0
  24. package/dist/lsp-client.js.map +1 -0
  25. package/dist/matrix.d.ts +6 -0
  26. package/dist/matrix.d.ts.map +1 -1
  27. package/dist/matrix.js +98 -0
  28. package/dist/matrix.js.map +1 -1
  29. package/dist/mcp-plugins.d.ts +62 -0
  30. package/dist/mcp-plugins.d.ts.map +1 -0
  31. package/dist/mcp-plugins.js +551 -0
  32. package/dist/mcp-plugins.js.map +1 -0
  33. package/dist/planner.d.ts.map +1 -1
  34. package/dist/planner.js +29 -0
  35. package/dist/planner.js.map +1 -1
  36. package/dist/provider-fallback.d.ts +51 -0
  37. package/dist/provider-fallback.d.ts.map +1 -0
  38. package/dist/provider-fallback.js +237 -0
  39. package/dist/provider-fallback.js.map +1 -0
  40. package/dist/repo-map.d.ts +9 -0
  41. package/dist/repo-map.d.ts.map +1 -0
  42. package/dist/repo-map.js +280 -0
  43. package/dist/repo-map.js.map +1 -0
  44. package/dist/self-eval.d.ts +45 -0
  45. package/dist/self-eval.d.ts.map +1 -0
  46. package/dist/self-eval.js +232 -0
  47. package/dist/self-eval.js.map +1 -0
  48. package/dist/streaming.d.ts.map +1 -1
  49. package/dist/streaming.js +22 -2
  50. package/dist/streaming.js.map +1 -1
  51. package/dist/task-ledger.d.ts +71 -0
  52. package/dist/task-ledger.d.ts.map +1 -0
  53. package/dist/task-ledger.js +282 -0
  54. package/dist/task-ledger.js.map +1 -0
  55. package/dist/tools/computer.js +3 -3
  56. package/dist/tools/computer.js.map +1 -1
  57. package/dist/tools/e2b-sandbox.d.ts +2 -0
  58. package/dist/tools/e2b-sandbox.d.ts.map +1 -0
  59. package/dist/tools/e2b-sandbox.js +460 -0
  60. package/dist/tools/e2b-sandbox.js.map +1 -0
  61. package/dist/tools/index.d.ts.map +1 -1
  62. package/dist/tools/index.js +15 -1
  63. package/dist/tools/index.js.map +1 -1
  64. package/dist/tools/lsp-tools.d.ts +2 -0
  65. package/dist/tools/lsp-tools.d.ts.map +1 -0
  66. package/dist/tools/lsp-tools.js +268 -0
  67. package/dist/tools/lsp-tools.js.map +1 -0
  68. package/dist/tools/memory-tools.d.ts +2 -0
  69. package/dist/tools/memory-tools.d.ts.map +1 -0
  70. package/dist/tools/memory-tools.js +228 -0
  71. package/dist/tools/memory-tools.js.map +1 -0
  72. package/dist/tools/quality.d.ts +2 -0
  73. package/dist/tools/quality.d.ts.map +1 -0
  74. package/dist/tools/quality.js +313 -0
  75. package/dist/tools/quality.js.map +1 -0
  76. package/dist/ui.d.ts.map +1 -1
  77. package/dist/ui.js +33 -18
  78. package/dist/ui.js.map +1 -1
  79. package/package.json +27 -3
@@ -0,0 +1,460 @@
1
+ // K:BOT E2B Cloud Sandbox — Run code in E2B cloud-hosted sandboxes
2
+ //
3
+ // E2B (e2b.dev) provides secure, ephemeral cloud sandboxes via API.
4
+ // Alternative to local Docker sandboxes for users without Docker installed
5
+ // or who want isolated cloud execution.
6
+ //
7
+ // API key stored in ~/.kbot/config.json under `e2b_api_key`.
8
+ // All tools are Pro-tier (cloud sandbox = paid feature).
9
+ //
10
+ // Tools:
11
+ // e2b_create — Create a new E2B sandbox
12
+ // e2b_execute — Execute code in a sandbox
13
+ // e2b_upload — Upload a file to a sandbox
14
+ // e2b_download — Download a file from a sandbox
15
+ // e2b_close — Close and clean up a sandbox
16
+ import { homedir } from 'node:os';
17
+ import { join } from 'node:path';
18
+ import { readFileSync, existsSync } from 'node:fs';
19
+ import { registerTool } from './index.js';
20
+ // ── Constants ──
21
+ const E2B_API_BASE = 'https://api.e2b.dev/v1';
22
+ const DEFAULT_TIMEOUT_S = 300; // 5 minutes
23
+ const CONFIG_PATH = join(homedir(), '.kbot', 'config.json');
24
+ /** Language → E2B template mapping */
25
+ const LANGUAGE_TEMPLATES = {
26
+ python: 'Python3',
27
+ node: 'Node18',
28
+ bash: 'Bash',
29
+ };
30
+ const activeSandboxes = new Map();
31
+ // ── Cleanup on process exit ──
32
+ let cleanupRegistered = false;
33
+ function registerCleanupHook() {
34
+ if (cleanupRegistered)
35
+ return;
36
+ cleanupRegistered = true;
37
+ const cleanup = () => {
38
+ const apiKey = getApiKey();
39
+ if (!apiKey || activeSandboxes.size === 0)
40
+ return;
41
+ // Best-effort cleanup — fire-and-forget since process is exiting
42
+ for (const [, sandbox] of activeSandboxes) {
43
+ try {
44
+ // Use sync XMLHttpRequest-style fetch isn't available at exit,
45
+ // so we fire the request and don't await it
46
+ fetch(`${E2B_API_BASE}/sandboxes/${sandbox.id}`, {
47
+ method: 'DELETE',
48
+ headers: {
49
+ 'X-API-Key': apiKey,
50
+ 'Content-Type': 'application/json',
51
+ },
52
+ }).catch(() => { });
53
+ }
54
+ catch {
55
+ // Best effort — process is exiting
56
+ }
57
+ }
58
+ activeSandboxes.clear();
59
+ };
60
+ process.on('exit', cleanup);
61
+ process.on('SIGINT', () => { cleanup(); process.exit(130); });
62
+ process.on('SIGTERM', () => { cleanup(); process.exit(143); });
63
+ }
64
+ // ── Helpers ──
65
+ /** Read the E2B API key from ~/.kbot/config.json */
66
+ function getApiKey() {
67
+ try {
68
+ if (!existsSync(CONFIG_PATH))
69
+ return null;
70
+ const raw = readFileSync(CONFIG_PATH, 'utf-8');
71
+ const config = JSON.parse(raw);
72
+ const key = config.e2b_api_key;
73
+ return typeof key === 'string' && key.length > 0 ? key : null;
74
+ }
75
+ catch {
76
+ return null;
77
+ }
78
+ }
79
+ /** Make an authenticated request to the E2B API */
80
+ async function e2bFetch(path, options = {}) {
81
+ const apiKey = getApiKey();
82
+ if (!apiKey) {
83
+ throw new Error('E2B API key not configured. Add "e2b_api_key" to ~/.kbot/config.json\n' +
84
+ 'Get your key at https://e2b.dev/dashboard');
85
+ }
86
+ const { method = 'GET', body, timeoutMs = 30_000 } = options;
87
+ const url = `${E2B_API_BASE}${path}`;
88
+ const headers = {
89
+ 'X-API-Key': apiKey,
90
+ 'Content-Type': 'application/json',
91
+ };
92
+ const controller = new AbortController();
93
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
94
+ try {
95
+ const response = await fetch(url, {
96
+ method,
97
+ headers,
98
+ body: body ? JSON.stringify(body) : undefined,
99
+ signal: controller.signal,
100
+ });
101
+ let data;
102
+ const contentType = response.headers.get('content-type') || '';
103
+ if (contentType.includes('application/json')) {
104
+ data = await response.json();
105
+ }
106
+ else {
107
+ data = await response.text();
108
+ }
109
+ return { ok: response.ok, status: response.status, data };
110
+ }
111
+ catch (err) {
112
+ if (err instanceof DOMException && err.name === 'AbortError') {
113
+ throw new Error(`E2B API request timed out after ${timeoutMs / 1000}s`);
114
+ }
115
+ throw err;
116
+ }
117
+ finally {
118
+ clearTimeout(timer);
119
+ }
120
+ }
121
+ /** Format an E2B API error for display */
122
+ function formatApiError(status, data) {
123
+ if (typeof data === 'object' && data !== null) {
124
+ const d = data;
125
+ const message = d.message || d.error || d.detail || JSON.stringify(data);
126
+ return `E2B API error (${status}): ${message}`;
127
+ }
128
+ return `E2B API error (${status}): ${String(data)}`;
129
+ }
130
+ /** Lookup a sandbox by its short ID (first 8 chars) */
131
+ function findSandbox(shortId) {
132
+ // Direct match on short ID
133
+ const direct = activeSandboxes.get(shortId);
134
+ if (direct)
135
+ return direct;
136
+ // Search by short ID prefix
137
+ for (const [, sandbox] of activeSandboxes) {
138
+ if (sandbox.shortId === shortId || sandbox.id.startsWith(shortId)) {
139
+ return sandbox;
140
+ }
141
+ }
142
+ return null;
143
+ }
144
+ // ── Tool Registration ──
145
+ export function registerE2bTools() {
146
+ registerCleanupHook();
147
+ // ── e2b_create ──
148
+ registerTool({
149
+ name: 'e2b_create',
150
+ description: 'Create a new E2B cloud sandbox. Returns a sandbox ID for use with other e2b_* tools. ' +
151
+ 'Cloud-hosted, no Docker required. Sandboxes auto-terminate after timeout.',
152
+ parameters: {
153
+ language: {
154
+ type: 'string',
155
+ description: 'Sandbox language/runtime: python, node, or bash',
156
+ required: true,
157
+ },
158
+ timeout: {
159
+ type: 'number',
160
+ description: `Sandbox timeout in seconds (default: ${DEFAULT_TIMEOUT_S}, max: 3600)`,
161
+ },
162
+ },
163
+ tier: 'pro',
164
+ async execute(args) {
165
+ const language = String(args.language).toLowerCase();
166
+ const timeoutS = Math.min(Math.max(typeof args.timeout === 'number' ? args.timeout : DEFAULT_TIMEOUT_S, 10), 3600);
167
+ const template = LANGUAGE_TEMPLATES[language];
168
+ if (!template) {
169
+ return `Error: Unsupported language "${language}". Supported: ${Object.keys(LANGUAGE_TEMPLATES).join(', ')}`;
170
+ }
171
+ try {
172
+ const { ok, status, data } = await e2bFetch('/sandboxes', {
173
+ method: 'POST',
174
+ body: {
175
+ template,
176
+ timeout: timeoutS,
177
+ },
178
+ timeoutMs: 60_000, // Sandbox creation can take longer
179
+ });
180
+ if (!ok) {
181
+ return formatApiError(status, data);
182
+ }
183
+ const result = data;
184
+ const sandboxId = String(result.sandboxID || result.id || result.sandbox_id || '');
185
+ if (!sandboxId) {
186
+ return 'Error: E2B API returned no sandbox ID. Response: ' + JSON.stringify(data);
187
+ }
188
+ const shortId = sandboxId.slice(0, 8);
189
+ const sandbox = {
190
+ id: sandboxId,
191
+ shortId,
192
+ language,
193
+ createdAt: new Date().toISOString(),
194
+ timeoutS,
195
+ };
196
+ activeSandboxes.set(shortId, sandbox);
197
+ return [
198
+ `E2B sandbox created`,
199
+ ` ID: ${shortId}`,
200
+ ` Language: ${language}`,
201
+ ` Timeout: ${timeoutS}s`,
202
+ ` Template: ${template}`,
203
+ '',
204
+ `Use e2b_execute with sandbox_id="${shortId}" to run code.`,
205
+ ].join('\n');
206
+ }
207
+ catch (err) {
208
+ return `Error creating E2B sandbox: ${err instanceof Error ? err.message : String(err)}`;
209
+ }
210
+ },
211
+ });
212
+ // ── e2b_execute ──
213
+ registerTool({
214
+ name: 'e2b_execute',
215
+ description: 'Execute code in an E2B cloud sandbox. Returns stdout, stderr, and exit code. ' +
216
+ 'The sandbox retains state between executions (installed packages, files, variables).',
217
+ parameters: {
218
+ sandbox_id: {
219
+ type: 'string',
220
+ description: 'Sandbox ID (from e2b_create)',
221
+ required: true,
222
+ },
223
+ code: {
224
+ type: 'string',
225
+ description: 'Code to execute in the sandbox',
226
+ required: true,
227
+ },
228
+ timeout: {
229
+ type: 'number',
230
+ description: 'Execution timeout in seconds (default: 60)',
231
+ },
232
+ },
233
+ tier: 'pro',
234
+ timeout: 120_000, // 2 min tool-level timeout for long executions
235
+ async execute(args) {
236
+ const shortId = String(args.sandbox_id);
237
+ const code = String(args.code);
238
+ const timeoutS = Math.min(typeof args.timeout === 'number' ? args.timeout : 60, 300);
239
+ const sandbox = findSandbox(shortId);
240
+ if (!sandbox) {
241
+ const ids = activeSandboxes.size > 0
242
+ ? `Active sandboxes: ${[...activeSandboxes.keys()].join(', ')}`
243
+ : 'No active sandboxes. Use e2b_create first.';
244
+ return `Error: Sandbox "${shortId}" not found. ${ids}`;
245
+ }
246
+ try {
247
+ const startTime = Date.now();
248
+ const { ok, status, data } = await e2bFetch(`/sandboxes/${sandbox.id}/executions`, {
249
+ method: 'POST',
250
+ body: {
251
+ code,
252
+ timeout: timeoutS,
253
+ },
254
+ timeoutMs: (timeoutS + 10) * 1000, // HTTP timeout slightly longer than exec timeout
255
+ });
256
+ const elapsed = ((Date.now() - startTime) / 1000).toFixed(1);
257
+ if (!ok) {
258
+ // Check if sandbox expired
259
+ if (status === 404) {
260
+ activeSandboxes.delete(sandbox.shortId);
261
+ return `Error: Sandbox "${shortId}" has expired or been terminated. Create a new one with e2b_create.`;
262
+ }
263
+ return formatApiError(status, data);
264
+ }
265
+ const result = data;
266
+ const stdout = String(result.stdout || '');
267
+ const stderr = String(result.stderr || '');
268
+ const exitCode = typeof result.exit_code === 'number' ? result.exit_code
269
+ : typeof result.exitCode === 'number' ? result.exitCode : null;
270
+ const error = result.error ? String(result.error) : '';
271
+ const parts = [];
272
+ if (stdout.trim())
273
+ parts.push(stdout.trim());
274
+ if (stderr.trim())
275
+ parts.push(`stderr: ${stderr.trim()}`);
276
+ if (error)
277
+ parts.push(`error: ${error}`);
278
+ if (parts.length === 0)
279
+ parts.push('(no output)');
280
+ if (exitCode !== null && exitCode !== 0) {
281
+ parts.unshift(`Exit code: ${exitCode}`);
282
+ }
283
+ parts.push(`\n[${elapsed}s, cloud sandbox ${shortId}, ${sandbox.language}]`);
284
+ return parts.join('\n');
285
+ }
286
+ catch (err) {
287
+ return `Error executing in E2B sandbox: ${err instanceof Error ? err.message : String(err)}`;
288
+ }
289
+ },
290
+ });
291
+ // ── e2b_upload ──
292
+ registerTool({
293
+ name: 'e2b_upload',
294
+ description: 'Upload a file to an E2B cloud sandbox. Writes content to the specified path inside the sandbox filesystem.',
295
+ parameters: {
296
+ sandbox_id: {
297
+ type: 'string',
298
+ description: 'Sandbox ID (from e2b_create)',
299
+ required: true,
300
+ },
301
+ path: {
302
+ type: 'string',
303
+ description: 'Destination path inside the sandbox (e.g., /home/user/data.csv)',
304
+ required: true,
305
+ },
306
+ content: {
307
+ type: 'string',
308
+ description: 'File content to upload (text)',
309
+ required: true,
310
+ },
311
+ },
312
+ tier: 'pro',
313
+ async execute(args) {
314
+ const shortId = String(args.sandbox_id);
315
+ const filePath = String(args.path);
316
+ const content = String(args.content);
317
+ const sandbox = findSandbox(shortId);
318
+ if (!sandbox) {
319
+ return `Error: Sandbox "${shortId}" not found. Use e2b_create first.`;
320
+ }
321
+ try {
322
+ const { ok, status, data } = await e2bFetch(`/sandboxes/${sandbox.id}/files`, {
323
+ method: 'POST',
324
+ body: {
325
+ path: filePath,
326
+ content,
327
+ },
328
+ });
329
+ if (!ok) {
330
+ if (status === 404) {
331
+ activeSandboxes.delete(sandbox.shortId);
332
+ return `Error: Sandbox "${shortId}" has expired. Create a new one with e2b_create.`;
333
+ }
334
+ return formatApiError(status, data);
335
+ }
336
+ const sizeKb = (Buffer.byteLength(content, 'utf-8') / 1024).toFixed(1);
337
+ return `Uploaded ${sizeKb}KB to ${filePath} in sandbox ${shortId}`;
338
+ }
339
+ catch (err) {
340
+ return `Error uploading to E2B sandbox: ${err instanceof Error ? err.message : String(err)}`;
341
+ }
342
+ },
343
+ });
344
+ // ── e2b_download ──
345
+ registerTool({
346
+ name: 'e2b_download',
347
+ description: 'Download a file from an E2B cloud sandbox. Returns the file content as text.',
348
+ parameters: {
349
+ sandbox_id: {
350
+ type: 'string',
351
+ description: 'Sandbox ID (from e2b_create)',
352
+ required: true,
353
+ },
354
+ path: {
355
+ type: 'string',
356
+ description: 'File path inside the sandbox to download (e.g., /home/user/output.txt)',
357
+ required: true,
358
+ },
359
+ },
360
+ tier: 'pro',
361
+ async execute(args) {
362
+ const shortId = String(args.sandbox_id);
363
+ const filePath = String(args.path);
364
+ const sandbox = findSandbox(shortId);
365
+ if (!sandbox) {
366
+ return `Error: Sandbox "${shortId}" not found. Use e2b_create first.`;
367
+ }
368
+ try {
369
+ const encodedPath = encodeURIComponent(filePath);
370
+ const { ok, status, data } = await e2bFetch(`/sandboxes/${sandbox.id}/files?path=${encodedPath}`, { method: 'GET' });
371
+ if (!ok) {
372
+ if (status === 404) {
373
+ // Could be sandbox expired or file not found
374
+ const result = data;
375
+ const message = String(result.message || result.error || '');
376
+ if (message.toLowerCase().includes('sandbox')) {
377
+ activeSandboxes.delete(sandbox.shortId);
378
+ return `Error: Sandbox "${shortId}" has expired. Create a new one with e2b_create.`;
379
+ }
380
+ return `Error: File "${filePath}" not found in sandbox ${shortId}.`;
381
+ }
382
+ return formatApiError(status, data);
383
+ }
384
+ // Response may be the file content directly or wrapped in an object
385
+ let content;
386
+ if (typeof data === 'string') {
387
+ content = data;
388
+ }
389
+ else if (typeof data === 'object' && data !== null) {
390
+ const d = data;
391
+ content = String(d.content || d.data || JSON.stringify(data));
392
+ }
393
+ else {
394
+ content = String(data);
395
+ }
396
+ if (content.length === 0) {
397
+ return `File "${filePath}" is empty.`;
398
+ }
399
+ const sizeKb = (Buffer.byteLength(content, 'utf-8') / 1024).toFixed(1);
400
+ return `File: ${filePath} (${sizeKb}KB)\n\n${content}`;
401
+ }
402
+ catch (err) {
403
+ return `Error downloading from E2B sandbox: ${err instanceof Error ? err.message : String(err)}`;
404
+ }
405
+ },
406
+ });
407
+ // ── e2b_close ──
408
+ registerTool({
409
+ name: 'e2b_close',
410
+ description: 'Close and clean up an E2B cloud sandbox. Frees cloud resources. ' +
411
+ 'Sandboxes also auto-terminate after their timeout expires.',
412
+ parameters: {
413
+ sandbox_id: {
414
+ type: 'string',
415
+ description: 'Sandbox ID to close (from e2b_create). Use "all" to close all active sandboxes.',
416
+ required: true,
417
+ },
418
+ },
419
+ tier: 'pro',
420
+ async execute(args) {
421
+ const shortId = String(args.sandbox_id);
422
+ // Close all sandboxes
423
+ if (shortId === 'all') {
424
+ if (activeSandboxes.size === 0) {
425
+ return 'No active E2B sandboxes to close.';
426
+ }
427
+ const results = [];
428
+ const toClose = [...activeSandboxes.values()];
429
+ for (const sandbox of toClose) {
430
+ try {
431
+ await e2bFetch(`/sandboxes/${sandbox.id}`, { method: 'DELETE' });
432
+ activeSandboxes.delete(sandbox.shortId);
433
+ results.push(` Closed ${sandbox.shortId} (${sandbox.language})`);
434
+ }
435
+ catch {
436
+ results.push(` Failed to close ${sandbox.shortId} (may have already expired)`);
437
+ activeSandboxes.delete(sandbox.shortId);
438
+ }
439
+ }
440
+ return `Closed ${toClose.length} sandbox(es):\n${results.join('\n')}`;
441
+ }
442
+ // Close a single sandbox
443
+ const sandbox = findSandbox(shortId);
444
+ if (!sandbox) {
445
+ return `Error: Sandbox "${shortId}" not found. No active sandboxes to close.`;
446
+ }
447
+ try {
448
+ await e2bFetch(`/sandboxes/${sandbox.id}`, { method: 'DELETE' });
449
+ activeSandboxes.delete(sandbox.shortId);
450
+ return `E2B sandbox ${sandbox.shortId} (${sandbox.language}) closed and resources freed.`;
451
+ }
452
+ catch {
453
+ // Sandbox may have already expired — remove from tracking either way
454
+ activeSandboxes.delete(sandbox.shortId);
455
+ return `Sandbox ${sandbox.shortId} removed (may have already expired).`;
456
+ }
457
+ },
458
+ });
459
+ }
460
+ //# sourceMappingURL=e2b-sandbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"e2b-sandbox.js","sourceRoot":"","sources":["../../src/tools/e2b-sandbox.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QACzB,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,EAAE,MAAM,CAAA;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,OAAO,CAAC,EAAE,OAAO,CAAA;KAClB,CAAC,CAAA;IACF,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IAC3D,8DAA8D;IAC9D,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,YAAY,CAAA;IAC9C,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,iCAAiC;AACjC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;CACnB;AAgBD,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAEvD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEhE;AAED,wBAAgB,WAAW,IAAI,cAAc,EAAE,CAE9C;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,CAM9D;AAED,iEAAiE;AACjE,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAC5D,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAC3F,CAAC,CAcD;AA+BD,mDAAmD;AACnD,wBAAgB,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,EAAE,CAM/D;AAED,qEAAqE;AACrE,wBAAsB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAiCrE;AAED,0FAA0F;AAC1F,wBAAsB,gBAAgB,CAAC,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoEtF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QACzB,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,EAAE,MAAM,CAAA;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,OAAO,CAAC,EAAE,OAAO,CAAA;KAClB,CAAC,CAAA;IACF,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IAC3D,8DAA8D;IAC9D,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,YAAY,CAAA;IAC9C,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,iCAAiC;AACjC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;CACnB;AAgBD,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAEvD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEhE;AAED,wBAAgB,WAAW,IAAI,cAAc,EAAE,CAE9C;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,CAM9D;AAED,iEAAiE;AACjE,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAC5D,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAC3F,CAAC,CAcD;AA+BD,mDAAmD;AACnD,wBAAgB,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,EAAE,CAM/D;AAED,qEAAqE;AACrE,wBAAsB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAiCrE;AAED,0FAA0F;AAC1F,wBAAsB,gBAAgB,CAAC,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAyFtF"}
@@ -124,7 +124,7 @@ export async function executeTool(call) {
124
124
  /** Register all built-in tools. Call once at startup. Uses parallel imports for speed. */
125
125
  export async function registerAllTools(opts) {
126
126
  // Parallel import all tool modules at once
127
- const [{ registerFileTools }, { registerBashTools }, { registerGitTools }, { registerSearchTools }, { registerFetchTools }, { registerGitHubTools }, { registerMatrixTools }, { registerParallelTools }, { registerMcpClientTools }, { registerTaskTools }, { registerNotebookTools }, { registerBackgroundTools }, { registerSandboxTools }, { registerBuildMatrixTools }, { registerSubagentTools }, { registerWorktreeTools }, { registerOpenClawTools },] = await Promise.all([
127
+ const [{ registerFileTools }, { registerBashTools }, { registerGitTools }, { registerSearchTools }, { registerFetchTools }, { registerGitHubTools }, { registerMatrixTools }, { registerParallelTools }, { registerMcpClientTools }, { registerTaskTools }, { registerNotebookTools }, { registerBackgroundTools }, { registerSandboxTools }, { registerBuildMatrixTools }, { registerSubagentTools }, { registerWorktreeTools }, { registerOpenClawTools }, { registerQualityTools }, { registerMemoryTools }, { registerBrowserTools }, { registerE2bTools }, { registerLspTools }, { registerMcpPluginTools }, { registerGraphMemoryTools },] = await Promise.all([
128
128
  import('./files.js'),
129
129
  import('./bash.js'),
130
130
  import('./git.js'),
@@ -142,6 +142,13 @@ export async function registerAllTools(opts) {
142
142
  import('./subagent.js'),
143
143
  import('./worktree.js'),
144
144
  import('./openclaw.js'),
145
+ import('./quality.js'),
146
+ import('./memory-tools.js'),
147
+ import('./browser.js'),
148
+ import('./e2b-sandbox.js'),
149
+ import('./lsp-tools.js'),
150
+ import('../mcp-plugins.js'),
151
+ import('../graph-memory.js'),
145
152
  ]);
146
153
  // Register all tools (synchronous, fast)
147
154
  registerFileTools();
@@ -161,6 +168,13 @@ export async function registerAllTools(opts) {
161
168
  registerSubagentTools();
162
169
  registerWorktreeTools();
163
170
  registerOpenClawTools();
171
+ registerQualityTools();
172
+ registerMemoryTools();
173
+ registerBrowserTools();
174
+ registerE2bTools();
175
+ registerLspTools();
176
+ registerMcpPluginTools();
177
+ registerGraphMemoryTools();
164
178
  // Computer use tools — opt-in only via --computer-use flag
165
179
  if (opts?.computerUse) {
166
180
  const { registerComputerTools } = await import('./computer.js');
@@ -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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"}
@@ -0,0 +1,2 @@
1
+ export declare function registerLspTools(): void;
2
+ //# sourceMappingURL=lsp-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lsp-tools.d.ts","sourceRoot":"","sources":["../../src/tools/lsp-tools.ts"],"names":[],"mappings":"AAsEA,wBAAgB,gBAAgB,IAAI,IAAI,CAoOvC"}