@kernel.chat/kbot 1.3.1 → 2.3.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 (176) hide show
  1. package/README.md +94 -0
  2. package/dist/agent.d.ts +9 -0
  3. package/dist/agent.d.ts.map +1 -1
  4. package/dist/agent.js +576 -119
  5. package/dist/agent.js.map +1 -1
  6. package/dist/auth.d.ts +20 -35
  7. package/dist/auth.d.ts.map +1 -1
  8. package/dist/auth.js +224 -66
  9. package/dist/auth.js.map +1 -1
  10. package/dist/auth.test.d.ts +2 -0
  11. package/dist/auth.test.d.ts.map +1 -0
  12. package/dist/auth.test.js +89 -0
  13. package/dist/auth.test.js.map +1 -0
  14. package/dist/build-targets.d.ts +37 -0
  15. package/dist/build-targets.d.ts.map +1 -0
  16. package/dist/build-targets.js +507 -0
  17. package/dist/build-targets.js.map +1 -0
  18. package/dist/cli.js +1210 -130
  19. package/dist/cli.js.map +1 -1
  20. package/dist/context.d.ts +2 -0
  21. package/dist/context.d.ts.map +1 -1
  22. package/dist/context.js +72 -22
  23. package/dist/context.js.map +1 -1
  24. package/dist/hooks.d.ts +27 -0
  25. package/dist/hooks.d.ts.map +1 -0
  26. package/dist/hooks.js +145 -0
  27. package/dist/hooks.js.map +1 -0
  28. package/dist/ide/acp-server.d.ts +6 -0
  29. package/dist/ide/acp-server.d.ts.map +1 -0
  30. package/dist/ide/acp-server.js +319 -0
  31. package/dist/ide/acp-server.js.map +1 -0
  32. package/dist/ide/bridge.d.ts +128 -0
  33. package/dist/ide/bridge.d.ts.map +1 -0
  34. package/dist/ide/bridge.js +185 -0
  35. package/dist/ide/bridge.js.map +1 -0
  36. package/dist/ide/index.d.ts +5 -0
  37. package/dist/ide/index.d.ts.map +1 -0
  38. package/dist/ide/index.js +11 -0
  39. package/dist/ide/index.js.map +1 -0
  40. package/dist/ide/lsp-bridge.d.ts +27 -0
  41. package/dist/ide/lsp-bridge.d.ts.map +1 -0
  42. package/dist/ide/lsp-bridge.js +267 -0
  43. package/dist/ide/lsp-bridge.js.map +1 -0
  44. package/dist/ide/mcp-server.d.ts +7 -0
  45. package/dist/ide/mcp-server.d.ts.map +1 -0
  46. package/dist/ide/mcp-server.js +451 -0
  47. package/dist/ide/mcp-server.js.map +1 -0
  48. package/dist/learning.d.ts +179 -0
  49. package/dist/learning.d.ts.map +1 -0
  50. package/dist/learning.js +829 -0
  51. package/dist/learning.js.map +1 -0
  52. package/dist/learning.test.d.ts +2 -0
  53. package/dist/learning.test.d.ts.map +1 -0
  54. package/dist/learning.test.js +115 -0
  55. package/dist/learning.test.js.map +1 -0
  56. package/dist/matrix.d.ts +49 -0
  57. package/dist/matrix.d.ts.map +1 -0
  58. package/dist/matrix.js +302 -0
  59. package/dist/matrix.js.map +1 -0
  60. package/dist/memory.d.ts +11 -0
  61. package/dist/memory.d.ts.map +1 -1
  62. package/dist/memory.js +54 -2
  63. package/dist/memory.js.map +1 -1
  64. package/dist/multimodal.d.ts +57 -0
  65. package/dist/multimodal.d.ts.map +1 -0
  66. package/dist/multimodal.js +206 -0
  67. package/dist/multimodal.js.map +1 -0
  68. package/dist/permissions.d.ts +21 -0
  69. package/dist/permissions.d.ts.map +1 -0
  70. package/dist/permissions.js +122 -0
  71. package/dist/permissions.js.map +1 -0
  72. package/dist/planner.d.ts +54 -0
  73. package/dist/planner.d.ts.map +1 -0
  74. package/dist/planner.js +298 -0
  75. package/dist/planner.js.map +1 -0
  76. package/dist/plugins.d.ts +30 -0
  77. package/dist/plugins.d.ts.map +1 -0
  78. package/dist/plugins.js +135 -0
  79. package/dist/plugins.js.map +1 -0
  80. package/dist/sessions.d.ts +38 -0
  81. package/dist/sessions.d.ts.map +1 -0
  82. package/dist/sessions.js +177 -0
  83. package/dist/sessions.js.map +1 -0
  84. package/dist/streaming.d.ts +88 -0
  85. package/dist/streaming.d.ts.map +1 -0
  86. package/dist/streaming.js +317 -0
  87. package/dist/streaming.js.map +1 -0
  88. package/dist/tools/background.d.ts +2 -0
  89. package/dist/tools/background.d.ts.map +1 -0
  90. package/dist/tools/background.js +163 -0
  91. package/dist/tools/background.js.map +1 -0
  92. package/dist/tools/bash.d.ts.map +1 -1
  93. package/dist/tools/bash.js +26 -1
  94. package/dist/tools/bash.js.map +1 -1
  95. package/dist/tools/browser.js +7 -7
  96. package/dist/tools/browser.js.map +1 -1
  97. package/dist/tools/build-matrix.d.ts +2 -0
  98. package/dist/tools/build-matrix.d.ts.map +1 -0
  99. package/dist/tools/build-matrix.js +463 -0
  100. package/dist/tools/build-matrix.js.map +1 -0
  101. package/dist/tools/computer.js +5 -5
  102. package/dist/tools/computer.js.map +1 -1
  103. package/dist/tools/fetch.d.ts +2 -0
  104. package/dist/tools/fetch.d.ts.map +1 -0
  105. package/dist/tools/fetch.js +106 -0
  106. package/dist/tools/fetch.js.map +1 -0
  107. package/dist/tools/files.d.ts.map +1 -1
  108. package/dist/tools/files.js +112 -6
  109. package/dist/tools/files.js.map +1 -1
  110. package/dist/tools/git.js +3 -3
  111. package/dist/tools/git.js.map +1 -1
  112. package/dist/tools/github.d.ts +2 -0
  113. package/dist/tools/github.d.ts.map +1 -0
  114. package/dist/tools/github.js +196 -0
  115. package/dist/tools/github.js.map +1 -0
  116. package/dist/tools/index.d.ts +29 -5
  117. package/dist/tools/index.d.ts.map +1 -1
  118. package/dist/tools/index.js +136 -20
  119. package/dist/tools/index.js.map +1 -1
  120. package/dist/tools/index.test.d.ts +2 -0
  121. package/dist/tools/index.test.d.ts.map +1 -0
  122. package/dist/tools/index.test.js +162 -0
  123. package/dist/tools/index.test.js.map +1 -0
  124. package/dist/tools/matrix.d.ts +2 -0
  125. package/dist/tools/matrix.d.ts.map +1 -0
  126. package/dist/tools/matrix.js +79 -0
  127. package/dist/tools/matrix.js.map +1 -0
  128. package/dist/tools/mcp-client.d.ts +2 -0
  129. package/dist/tools/mcp-client.d.ts.map +1 -0
  130. package/dist/tools/mcp-client.js +295 -0
  131. package/dist/tools/mcp-client.js.map +1 -0
  132. package/dist/tools/notebook.d.ts +2 -0
  133. package/dist/tools/notebook.d.ts.map +1 -0
  134. package/dist/tools/notebook.js +207 -0
  135. package/dist/tools/notebook.js.map +1 -0
  136. package/dist/tools/openclaw.d.ts +2 -0
  137. package/dist/tools/openclaw.d.ts.map +1 -0
  138. package/dist/tools/openclaw.js +187 -0
  139. package/dist/tools/openclaw.js.map +1 -0
  140. package/dist/tools/parallel.d.ts +2 -0
  141. package/dist/tools/parallel.d.ts.map +1 -0
  142. package/dist/tools/parallel.js +60 -0
  143. package/dist/tools/parallel.js.map +1 -0
  144. package/dist/tools/sandbox.d.ts +2 -0
  145. package/dist/tools/sandbox.d.ts.map +1 -0
  146. package/dist/tools/sandbox.js +352 -0
  147. package/dist/tools/sandbox.js.map +1 -0
  148. package/dist/tools/search.d.ts.map +1 -1
  149. package/dist/tools/search.js +135 -28
  150. package/dist/tools/search.js.map +1 -1
  151. package/dist/tools/subagent.d.ts +4 -0
  152. package/dist/tools/subagent.d.ts.map +1 -0
  153. package/dist/tools/subagent.js +260 -0
  154. package/dist/tools/subagent.js.map +1 -0
  155. package/dist/tools/tasks.d.ts +14 -0
  156. package/dist/tools/tasks.d.ts.map +1 -0
  157. package/dist/tools/tasks.js +210 -0
  158. package/dist/tools/tasks.js.map +1 -0
  159. package/dist/tools/worktree.d.ts +2 -0
  160. package/dist/tools/worktree.d.ts.map +1 -0
  161. package/dist/tools/worktree.js +223 -0
  162. package/dist/tools/worktree.js.map +1 -0
  163. package/dist/tui.d.ts +73 -0
  164. package/dist/tui.d.ts.map +1 -0
  165. package/dist/tui.js +257 -0
  166. package/dist/tui.js.map +1 -0
  167. package/dist/ui.d.ts +11 -19
  168. package/dist/ui.d.ts.map +1 -1
  169. package/dist/ui.js +143 -171
  170. package/dist/ui.js.map +1 -1
  171. package/dist/updater.d.ts +3 -0
  172. package/dist/updater.d.ts.map +1 -0
  173. package/dist/updater.js +70 -0
  174. package/dist/updater.js.map +1 -0
  175. package/install.sh +5 -7
  176. package/package.json +8 -4
@@ -0,0 +1,163 @@
1
+ // K:BOT Background Tasks — Run long commands asynchronously
2
+ //
3
+ // Mirrors Claude Code's run_in_background + TaskOutput pattern.
4
+ // Start a command, continue working, check output later.
5
+ //
6
+ // Flow:
7
+ // 1. background_run — spawn a command in background, get task ID
8
+ // 2. background_check — check output of a running/completed background task
9
+ // 3. background_stop — kill a background task
10
+ // 4. background_list — list all background tasks
11
+ import { spawn } from 'node:child_process';
12
+ import { registerTool } from './index.js';
13
+ const backgroundTasks = new Map();
14
+ let nextTaskId = 1;
15
+ export function registerBackgroundTools() {
16
+ registerTool({
17
+ name: 'background_run',
18
+ description: 'Run a shell command in the background. Returns a task ID to check output later. Useful for long-running builds, tests, or servers.',
19
+ parameters: {
20
+ command: { type: 'string', description: 'Shell command to run', required: true },
21
+ label: { type: 'string', description: 'Optional human-readable label for the task' },
22
+ },
23
+ tier: 'free',
24
+ async execute(args) {
25
+ const command = String(args.command);
26
+ const label = args.label ? String(args.label) : command.slice(0, 60);
27
+ const id = String(nextTaskId++);
28
+ const proc = spawn('sh', ['-c', command], {
29
+ stdio: ['ignore', 'pipe', 'pipe'],
30
+ cwd: process.cwd(),
31
+ detached: false,
32
+ });
33
+ const task = {
34
+ id,
35
+ command,
36
+ process: proc,
37
+ stdout: '',
38
+ stderr: '',
39
+ status: 'running',
40
+ exitCode: null,
41
+ startedAt: new Date().toISOString(),
42
+ pid: proc.pid || 0,
43
+ };
44
+ proc.stdout?.on('data', (chunk) => {
45
+ task.stdout += chunk.toString();
46
+ // Cap at 5MB to prevent memory issues
47
+ if (task.stdout.length > 5 * 1024 * 1024) {
48
+ task.stdout = task.stdout.slice(-2 * 1024 * 1024);
49
+ }
50
+ });
51
+ proc.stderr?.on('data', (chunk) => {
52
+ task.stderr += chunk.toString();
53
+ if (task.stderr.length > 5 * 1024 * 1024) {
54
+ task.stderr = task.stderr.slice(-2 * 1024 * 1024);
55
+ }
56
+ });
57
+ proc.on('close', (code) => {
58
+ task.exitCode = code;
59
+ task.status = code === 0 ? 'completed' : 'failed';
60
+ task.completedAt = new Date().toISOString();
61
+ });
62
+ proc.on('error', (err) => {
63
+ task.status = 'failed';
64
+ task.stderr += `\nProcess error: ${err.message}`;
65
+ task.completedAt = new Date().toISOString();
66
+ });
67
+ backgroundTasks.set(id, task);
68
+ return `Background task #${id} started (PID ${task.pid}): ${label}`;
69
+ },
70
+ });
71
+ registerTool({
72
+ name: 'background_check',
73
+ description: 'Check the output and status of a background task. Returns stdout, stderr, and status.',
74
+ parameters: {
75
+ id: { type: 'string', description: 'Background task ID', required: true },
76
+ tail: { type: 'number', description: 'Number of lines to return from the end (default: all)' },
77
+ },
78
+ tier: 'free',
79
+ async execute(args) {
80
+ const id = String(args.id);
81
+ const task = backgroundTasks.get(id);
82
+ if (!task)
83
+ return `Error: Background task #${id} not found`;
84
+ const tailLines = typeof args.tail === 'number' ? args.tail : 0;
85
+ let stdout = task.stdout;
86
+ let stderr = task.stderr;
87
+ if (tailLines > 0) {
88
+ stdout = stdout.split('\n').slice(-tailLines).join('\n');
89
+ stderr = stderr.split('\n').slice(-tailLines).join('\n');
90
+ }
91
+ const lines = [
92
+ `Task #${id}: ${task.status}${task.exitCode !== null ? ` (exit ${task.exitCode})` : ''}`,
93
+ `Command: ${task.command}`,
94
+ `Started: ${task.startedAt}`,
95
+ ];
96
+ if (task.completedAt)
97
+ lines.push(`Completed: ${task.completedAt}`);
98
+ if (stdout) {
99
+ lines.push('', '── stdout ──', stdout);
100
+ }
101
+ if (stderr) {
102
+ lines.push('', '── stderr ──', stderr);
103
+ }
104
+ if (!stdout && !stderr) {
105
+ lines.push('', '(no output yet)');
106
+ }
107
+ return lines.join('\n');
108
+ },
109
+ });
110
+ registerTool({
111
+ name: 'background_stop',
112
+ description: 'Stop a running background task.',
113
+ parameters: {
114
+ id: { type: 'string', description: 'Background task ID', required: true },
115
+ },
116
+ tier: 'free',
117
+ async execute(args) {
118
+ const id = String(args.id);
119
+ const task = backgroundTasks.get(id);
120
+ if (!task)
121
+ return `Error: Background task #${id} not found`;
122
+ if (task.status !== 'running') {
123
+ return `Task #${id} already ${task.status}`;
124
+ }
125
+ task.process.kill('SIGTERM');
126
+ // Force kill after 5 seconds
127
+ setTimeout(() => {
128
+ try {
129
+ task.process.kill('SIGKILL');
130
+ }
131
+ catch { /* already dead */ }
132
+ }, 5000);
133
+ task.status = 'stopped';
134
+ task.completedAt = new Date().toISOString();
135
+ return `Background task #${id} stopped`;
136
+ },
137
+ });
138
+ registerTool({
139
+ name: 'background_list',
140
+ description: 'List all background tasks and their status.',
141
+ parameters: {},
142
+ tier: 'free',
143
+ async execute() {
144
+ if (backgroundTasks.size === 0)
145
+ return 'No background tasks.';
146
+ const lines = [];
147
+ for (const [id, task] of backgroundTasks) {
148
+ const elapsed = task.completedAt
149
+ ? `${Math.round((new Date(task.completedAt).getTime() - new Date(task.startedAt).getTime()) / 1000)}s`
150
+ : `${Math.round((Date.now() - new Date(task.startedAt).getTime()) / 1000)}s`;
151
+ const statusIcon = {
152
+ running: '●',
153
+ completed: '✓',
154
+ failed: '✗',
155
+ stopped: '■',
156
+ }[task.status];
157
+ lines.push(`${statusIcon} #${id} [${task.status}] ${task.command.slice(0, 60)} (${elapsed})`);
158
+ }
159
+ return lines.join('\n');
160
+ },
161
+ });
162
+ }
163
+ //# sourceMappingURL=background.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"background.js","sourceRoot":"","sources":["../../src/tools/background.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"bash.d.ts","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"AAgCA,wBAAgB,iBAAiB,IAAI,IAAI,CAuCxC"}
1
+ {"version":3,"file":"bash.d.ts","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"AAqCA,wBAAgB,iBAAiB,IAAI,IAAI,CA6DxC"}
@@ -1,7 +1,11 @@
1
1
  // K:BOT Bash Tool — Execute shell commands with safety checks
2
2
  // All execution is local — zero API calls.
3
3
  import { execSync } from 'node:child_process';
4
+ import { existsSync } from 'node:fs';
5
+ import { resolve } from 'node:path';
4
6
  import { registerTool } from './index.js';
7
+ /** Persistent working directory across bash calls within the session */
8
+ let sessionCwd = process.cwd();
5
9
  /** Dangerous command patterns that are blocked by default */
6
10
  const BLOCKED_PATTERNS = [
7
11
  /^rm\s+-rf\s+\/\s*$/, // rm -rf /
@@ -32,7 +36,7 @@ export function registerBashTools() {
32
36
  command: { type: 'string', description: 'The shell command to execute', required: true },
33
37
  timeout: { type: 'number', description: 'Timeout in milliseconds (default: 120000, max: 600000)' },
34
38
  },
35
- tier: 'starter',
39
+ tier: 'free',
36
40
  async execute(args) {
37
41
  const command = String(args.command);
38
42
  const timeout = Math.min(typeof args.timeout === 'number' ? args.timeout : 120_000, 600_000);
@@ -41,13 +45,34 @@ export function registerBashTools() {
41
45
  if (!check.safe) {
42
46
  return `Error: Command blocked for safety. ${check.reason}`;
43
47
  }
48
+ // Detect cd commands and update sessionCwd
49
+ const cdMatch = command.match(/^\s*cd\s+(.+?)(?:\s*&&|$)/);
50
+ if (cdMatch) {
51
+ const target = cdMatch[1].replace(/^['"]|['"]$/g, '').replace(/^~/, process.env.HOME || '');
52
+ const resolved = resolve(sessionCwd, target);
53
+ if (existsSync(resolved)) {
54
+ sessionCwd = resolved;
55
+ }
56
+ }
44
57
  try {
45
58
  const result = execSync(command, {
46
59
  encoding: 'utf-8',
47
60
  timeout,
61
+ cwd: sessionCwd,
48
62
  maxBuffer: 10 * 1024 * 1024, // 10MB
49
63
  stdio: ['pipe', 'pipe', 'pipe'],
50
64
  });
65
+ // If the command was a standalone cd, update cwd from the shell
66
+ if (/^\s*cd\s/.test(command) && !command.includes('&&') && !command.includes(';')) {
67
+ try {
68
+ const newCwd = execSync(`cd ${JSON.stringify(sessionCwd)} && ${command} && pwd`, {
69
+ encoding: 'utf-8', timeout: 5000,
70
+ }).trim();
71
+ if (newCwd && existsSync(newCwd))
72
+ sessionCwd = newCwd;
73
+ }
74
+ catch { /* keep current cwd */ }
75
+ }
51
76
  return result.trim() || '(no output)';
52
77
  }
53
78
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"bash.js","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bash.js","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  // K:BOT Browser Tool — Playwright-based web browsing
2
2
  // Requires: npx playwright install (run once)
3
- // Available at Growth tier and above
3
+ // Available to all users
4
4
  import { registerTool } from './index.js';
5
5
  // Lazy-load playwright to avoid requiring it for non-browser users
6
6
  let browserInstance = null;
@@ -36,7 +36,7 @@ export function registerBrowserTools() {
36
36
  parameters: {
37
37
  url: { type: 'string', description: 'URL to navigate to', required: true },
38
38
  },
39
- tier: 'growth',
39
+ tier: 'free',
40
40
  async execute(args) {
41
41
  const url = String(args.url);
42
42
  const page = await getPage();
@@ -52,7 +52,7 @@ export function registerBrowserTools() {
52
52
  name: 'browser_snapshot',
53
53
  description: 'Get the current page\'s accessibility tree (structured text representation).',
54
54
  parameters: {},
55
- tier: 'growth',
55
+ tier: 'free',
56
56
  async execute() {
57
57
  const page = await getPage();
58
58
  const snapshot = await page.accessibility.snapshot();
@@ -65,7 +65,7 @@ export function registerBrowserTools() {
65
65
  parameters: {
66
66
  selector: { type: 'string', description: 'CSS selector of element to click', required: true },
67
67
  },
68
- tier: 'growth',
68
+ tier: 'free',
69
69
  async execute(args) {
70
70
  const page = await getPage();
71
71
  await page.click(String(args.selector), { timeout: 10_000 });
@@ -79,7 +79,7 @@ export function registerBrowserTools() {
79
79
  selector: { type: 'string', description: 'CSS selector of input element', required: true },
80
80
  text: { type: 'string', description: 'Text to type', required: true },
81
81
  },
82
- tier: 'growth',
82
+ tier: 'free',
83
83
  async execute(args) {
84
84
  const page = await getPage();
85
85
  await page.fill(String(args.selector), String(args.text));
@@ -92,7 +92,7 @@ export function registerBrowserTools() {
92
92
  parameters: {
93
93
  fullPage: { type: 'boolean', description: 'Capture full page (default: false)' },
94
94
  },
95
- tier: 'growth',
95
+ tier: 'free',
96
96
  async execute(args) {
97
97
  const page = await getPage();
98
98
  const buffer = await page.screenshot({
@@ -106,7 +106,7 @@ export function registerBrowserTools() {
106
106
  name: 'browser_close',
107
107
  description: 'Close the browser instance.',
108
108
  parameters: {},
109
- tier: 'growth',
109
+ tier: 'free',
110
110
  async execute() {
111
111
  await closeBrowser();
112
112
  return 'Browser closed';
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/tools/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/tools/browser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function registerBuildMatrixTools(): void;
2
+ //# sourceMappingURL=build-matrix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-matrix.d.ts","sourceRoot":"","sources":["../../src/tools/build-matrix.ts"],"names":[],"mappings":"AAsEA,wBAAgB,wBAAwB,IAAI,IAAI,CAsb/C"}