@kernel.chat/kbot 2.22.2 → 2.23.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.
@@ -0,0 +1,488 @@
1
+ // K:BOT Composio Integration — 1000+ authenticated tool integrations
2
+ //
3
+ // Composio provides pre-built auth flows for Gmail, Slack, Notion, Jira,
4
+ // GitHub, Salesforce, HubSpot, and hundreds more. This module bridges
5
+ // Composio's action catalog into kbot's native tool system.
6
+ //
7
+ // Config stored in ~/.kbot/composio.json (separate from main kbot config).
8
+ import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
9
+ import { join, dirname } from 'node:path';
10
+ import { homedir } from 'node:os';
11
+ import { registerTool } from './index.js';
12
+ // ---------------------------------------------------------------------------
13
+ // Config management
14
+ // ---------------------------------------------------------------------------
15
+ const CONFIG_PATH = join(homedir(), '.kbot', 'composio.json');
16
+ const BASE_URL = 'https://backend.composio.dev/api/v2';
17
+ const REQUEST_TIMEOUT = 30_000;
18
+ function loadConfig() {
19
+ try {
20
+ if (!existsSync(CONFIG_PATH))
21
+ return null;
22
+ const raw = readFileSync(CONFIG_PATH, 'utf-8');
23
+ return JSON.parse(raw);
24
+ }
25
+ catch {
26
+ return null;
27
+ }
28
+ }
29
+ function saveConfig(config) {
30
+ mkdirSync(dirname(CONFIG_PATH), { recursive: true });
31
+ writeFileSync(CONFIG_PATH, JSON.stringify(config, null, 2), 'utf-8');
32
+ }
33
+ function getApiKey() {
34
+ // Environment variable takes precedence
35
+ const envKey = process.env['COMPOSIO_API_KEY'];
36
+ if (envKey)
37
+ return envKey;
38
+ const config = loadConfig();
39
+ return config?.apiKey ?? null;
40
+ }
41
+ const SETUP_MSG = 'Composio is not configured. Set up with one of:\n' +
42
+ ' 1. Run: kbot composio setup\n' +
43
+ ' 2. Set env var: export COMPOSIO_API_KEY=your_key\n' +
44
+ ' 3. Add apiKey to ~/.kbot/composio.json\n\n' +
45
+ 'Get your API key at https://app.composio.dev/settings';
46
+ // ---------------------------------------------------------------------------
47
+ // Composio API client
48
+ // ---------------------------------------------------------------------------
49
+ async function composioFetch(path, options = {}) {
50
+ const apiKey = getApiKey();
51
+ if (!apiKey)
52
+ throw new Error(SETUP_MSG);
53
+ const controller = new AbortController();
54
+ const timer = setTimeout(() => controller.abort(), REQUEST_TIMEOUT);
55
+ try {
56
+ const res = await fetch(`${BASE_URL}${path}`, {
57
+ method: options.method ?? 'GET',
58
+ headers: {
59
+ 'X-API-KEY': apiKey,
60
+ 'Content-Type': 'application/json',
61
+ 'Accept': 'application/json',
62
+ },
63
+ ...(options.body ? { body: JSON.stringify(options.body) } : {}),
64
+ signal: controller.signal,
65
+ });
66
+ const text = await res.text();
67
+ let data;
68
+ try {
69
+ data = JSON.parse(text);
70
+ }
71
+ catch {
72
+ data = text;
73
+ }
74
+ return { ok: res.ok, status: res.status, data };
75
+ }
76
+ finally {
77
+ clearTimeout(timer);
78
+ }
79
+ }
80
+ /** List all available Composio apps */
81
+ async function listApps() {
82
+ const res = await composioFetch('/apps');
83
+ if (!res.ok)
84
+ throw new Error(`Composio API error ${res.status}: ${JSON.stringify(res.data)}`);
85
+ const data = res.data;
86
+ return data.items ?? (Array.isArray(res.data) ? res.data : []);
87
+ }
88
+ /** Get available actions for a specific app */
89
+ async function getActions(appName) {
90
+ const res = await composioFetch(`/actions?appNames=${encodeURIComponent(appName)}`);
91
+ if (!res.ok)
92
+ throw new Error(`Composio API error ${res.status}: ${JSON.stringify(res.data)}`);
93
+ const data = res.data;
94
+ return data.items ?? (Array.isArray(res.data) ? res.data : []);
95
+ }
96
+ /** Search actions across all apps by query */
97
+ async function searchActions(query) {
98
+ const res = await composioFetch(`/actions?useCase=${encodeURIComponent(query)}`);
99
+ if (!res.ok)
100
+ throw new Error(`Composio API error ${res.status}: ${JSON.stringify(res.data)}`);
101
+ const data = res.data;
102
+ return data.items ?? (Array.isArray(res.data) ? res.data : []);
103
+ }
104
+ /** Execute a Composio action */
105
+ async function executeAction(actionId, params, entityId = 'default') {
106
+ const res = await composioFetch(`/actions/${encodeURIComponent(actionId)}/execute`, {
107
+ method: 'POST',
108
+ body: {
109
+ entityId,
110
+ input: params,
111
+ },
112
+ });
113
+ if (!res.ok)
114
+ throw new Error(`Composio execute error ${res.status}: ${JSON.stringify(res.data)}`);
115
+ return res.data;
116
+ }
117
+ /** Get current connections */
118
+ async function getConnections() {
119
+ const res = await composioFetch('/connectedAccounts');
120
+ if (!res.ok)
121
+ throw new Error(`Composio API error ${res.status}: ${JSON.stringify(res.data)}`);
122
+ const data = res.data;
123
+ return data.items ?? (Array.isArray(res.data) ? res.data : []);
124
+ }
125
+ /** Initiate a connection to an app (returns auth URL) */
126
+ async function initiateConnection(appName, entityId = 'default') {
127
+ // First get the app's integration ID
128
+ const res = await composioFetch('/connectedAccounts', {
129
+ method: 'POST',
130
+ body: {
131
+ integrationId: appName.toLowerCase(),
132
+ entityId,
133
+ },
134
+ });
135
+ if (!res.ok)
136
+ throw new Error(`Composio connect error ${res.status}: ${JSON.stringify(res.data)}`);
137
+ return res.data;
138
+ }
139
+ // ---------------------------------------------------------------------------
140
+ // Tool registration
141
+ // ---------------------------------------------------------------------------
142
+ export function registerComposioTools() {
143
+ // ---- composio_connect ----
144
+ registerTool({
145
+ name: 'composio_connect',
146
+ description: 'Connect to a Composio app (Gmail, Slack, Notion, Jira, GitHub, Salesforce, etc.). ' +
147
+ 'Initiates the OAuth/auth flow and returns the authorization URL. ' +
148
+ 'After the user completes auth, the connection is stored locally.',
149
+ parameters: {
150
+ app_name: {
151
+ type: 'string',
152
+ description: 'Name of the app to connect (e.g., "gmail", "slack", "notion", "github", "jira")',
153
+ required: true,
154
+ },
155
+ entity_id: {
156
+ type: 'string',
157
+ description: 'Entity ID for multi-user setups (default: "default")',
158
+ },
159
+ },
160
+ tier: 'free',
161
+ timeout: 30_000,
162
+ async execute(args) {
163
+ const appName = String(args.app_name).toLowerCase().trim();
164
+ if (!appName)
165
+ return 'Error: app_name is required';
166
+ const entityId = args.entity_id ? String(args.entity_id) : 'default';
167
+ try {
168
+ const result = await initiateConnection(appName, entityId);
169
+ // Store connection locally
170
+ const config = loadConfig() ?? { apiKey: getApiKey() ?? '', connections: {} };
171
+ config.connections[appName] = {
172
+ appId: result.connectedAccountId,
173
+ connectedAt: new Date().toISOString(),
174
+ };
175
+ saveConfig(config);
176
+ const lines = [
177
+ `Composio connection initiated for: ${appName}`,
178
+ '',
179
+ `Authorization URL:`,
180
+ result.redirectUrl,
181
+ '',
182
+ 'Open this URL in a browser to complete authentication.',
183
+ `Connection ID: ${result.connectedAccountId}`,
184
+ ];
185
+ return lines.join('\n');
186
+ }
187
+ catch (err) {
188
+ if (err instanceof Error && err.message === SETUP_MSG)
189
+ return SETUP_MSG;
190
+ return `Error connecting to ${appName}: ${err instanceof Error ? err.message : String(err)}`;
191
+ }
192
+ },
193
+ });
194
+ // ---- composio_list_apps ----
195
+ registerTool({
196
+ name: 'composio_list_apps',
197
+ description: 'List available Composio apps and their connection status. ' +
198
+ 'Shows which apps are connected and available for use. ' +
199
+ 'Supports filtering by category.',
200
+ parameters: {
201
+ category: {
202
+ type: 'string',
203
+ description: 'Filter by category (e.g., "crm", "communication", "productivity")',
204
+ },
205
+ connected_only: {
206
+ type: 'string',
207
+ description: 'Set to "true" to show only connected apps',
208
+ },
209
+ },
210
+ tier: 'free',
211
+ timeout: 30_000,
212
+ async execute(args) {
213
+ const category = args.category ? String(args.category).toLowerCase() : '';
214
+ const connectedOnly = args.connected_only === 'true' || args.connected_only === true;
215
+ try {
216
+ const [apps, connections] = await Promise.all([
217
+ listApps(),
218
+ getConnections().catch(() => []),
219
+ ]);
220
+ const connectedIds = new Set(connections.map(c => c.appUniqueId?.toLowerCase()));
221
+ const config = loadConfig();
222
+ const localConnections = config?.connections ?? {};
223
+ let filtered = apps;
224
+ if (category) {
225
+ filtered = filtered.filter(app => app.categories?.some(c => c.toLowerCase().includes(category)));
226
+ }
227
+ if (connectedOnly) {
228
+ filtered = filtered.filter(app => connectedIds.has(app.key?.toLowerCase()) ||
229
+ localConnections[app.key?.toLowerCase()] != null);
230
+ }
231
+ if (filtered.length === 0) {
232
+ return connectedOnly
233
+ ? 'No connected apps found. Use composio_connect to connect an app.'
234
+ : `No apps found${category ? ` for category "${category}"` : ''}. Try without a category filter.`;
235
+ }
236
+ const lines = [`Composio Apps (${filtered.length} results):\n`];
237
+ for (const app of filtered.slice(0, 50)) {
238
+ const key = app.key?.toLowerCase() ?? app.name?.toLowerCase() ?? '';
239
+ const isConnected = connectedIds.has(key) || localConnections[key] != null;
240
+ const status = isConnected ? '[connected]' : '[available]';
241
+ const desc = app.description
242
+ ? ` — ${app.description.slice(0, 80)}`
243
+ : '';
244
+ lines.push(` ${status} ${app.name || app.key}${desc}`);
245
+ }
246
+ if (filtered.length > 50) {
247
+ lines.push(`\n ... and ${filtered.length - 50} more. Use a category filter to narrow results.`);
248
+ }
249
+ return lines.join('\n');
250
+ }
251
+ catch (err) {
252
+ if (err instanceof Error && err.message === SETUP_MSG)
253
+ return SETUP_MSG;
254
+ return `Error listing apps: ${err instanceof Error ? err.message : String(err)}`;
255
+ }
256
+ },
257
+ });
258
+ // ---- composio_execute ----
259
+ registerTool({
260
+ name: 'composio_execute',
261
+ description: 'Execute a Composio action on a connected app. ' +
262
+ 'For example: send a Slack message, create a Jira issue, read Gmail, update a Notion page. ' +
263
+ 'Use composio_search to discover available actions first.',
264
+ parameters: {
265
+ app: {
266
+ type: 'string',
267
+ description: 'App name (e.g., "gmail", "slack", "notion")',
268
+ required: true,
269
+ },
270
+ action: {
271
+ type: 'string',
272
+ description: 'Action ID to execute (e.g., "GMAIL_SEND_EMAIL", "SLACK_SEND_MESSAGE")',
273
+ required: true,
274
+ },
275
+ params: {
276
+ type: 'object',
277
+ description: 'Action parameters (varies per action — use composio_search to see required params)',
278
+ required: true,
279
+ properties: {},
280
+ },
281
+ entity_id: {
282
+ type: 'string',
283
+ description: 'Entity ID for multi-user setups (default: "default")',
284
+ },
285
+ },
286
+ tier: 'free',
287
+ timeout: 30_000,
288
+ async execute(args) {
289
+ const app = String(args.app).toLowerCase().trim();
290
+ const action = String(args.action).trim();
291
+ const params = (args.params && typeof args.params === 'object' ? args.params : {});
292
+ const entityId = args.entity_id ? String(args.entity_id) : 'default';
293
+ if (!app)
294
+ return 'Error: app is required';
295
+ if (!action)
296
+ return 'Error: action is required';
297
+ try {
298
+ const result = await executeAction(action, params, entityId);
299
+ // Format the result
300
+ const output = typeof result === 'string'
301
+ ? result
302
+ : JSON.stringify(result, null, 2);
303
+ return [
304
+ `Composio action executed: ${action} (${app})`,
305
+ '',
306
+ 'Result:',
307
+ output.length > 10_000
308
+ ? output.slice(0, 10_000) + `\n\n... (truncated, ${output.length} total chars)`
309
+ : output,
310
+ ].join('\n');
311
+ }
312
+ catch (err) {
313
+ if (err instanceof Error && err.message === SETUP_MSG)
314
+ return SETUP_MSG;
315
+ return `Error executing ${action}: ${err instanceof Error ? err.message : String(err)}`;
316
+ }
317
+ },
318
+ });
319
+ // ---- composio_search ----
320
+ registerTool({
321
+ name: 'composio_search',
322
+ description: 'Search available Composio actions across all connected apps. ' +
323
+ 'Find actions by describing what you want to do, e.g., "send an email", "create a task", "post a message". ' +
324
+ 'Returns action IDs, descriptions, and required parameters.',
325
+ parameters: {
326
+ query: {
327
+ type: 'string',
328
+ description: 'Natural language search query (e.g., "send email", "create issue", "list files")',
329
+ required: true,
330
+ },
331
+ app: {
332
+ type: 'string',
333
+ description: 'Optionally filter to a specific app (e.g., "gmail", "jira")',
334
+ },
335
+ limit: {
336
+ type: 'number',
337
+ description: 'Maximum results to return (default: 10)',
338
+ },
339
+ },
340
+ tier: 'free',
341
+ timeout: 30_000,
342
+ async execute(args) {
343
+ const query = String(args.query).trim();
344
+ if (!query)
345
+ return 'Error: query is required';
346
+ const appFilter = args.app ? String(args.app).toLowerCase().trim() : '';
347
+ const limit = typeof args.limit === 'number' ? Math.min(args.limit, 50) : 10;
348
+ try {
349
+ let actions;
350
+ if (appFilter) {
351
+ // Get actions for a specific app
352
+ actions = await getActions(appFilter);
353
+ // Client-side filter by query
354
+ const q = query.toLowerCase();
355
+ actions = actions.filter(a => (a.display_name?.toLowerCase().includes(q)) ||
356
+ (a.description?.toLowerCase().includes(q)) ||
357
+ (a.name?.toLowerCase().includes(q)));
358
+ }
359
+ else {
360
+ // Use Composio's semantic search
361
+ actions = await searchActions(query);
362
+ }
363
+ if (actions.length === 0) {
364
+ return `No actions found for "${query}"${appFilter ? ` in ${appFilter}` : ''}. Try a broader query.`;
365
+ }
366
+ const lines = [`Composio Actions (${Math.min(actions.length, limit)} of ${actions.length} results):\n`];
367
+ for (const action of actions.slice(0, limit)) {
368
+ const name = action.name || action.display_name;
369
+ const desc = action.description
370
+ ? action.description.slice(0, 100)
371
+ : '(no description)';
372
+ const app = action.appName || '?';
373
+ lines.push(` ${name}`);
374
+ lines.push(` App: ${app}`);
375
+ lines.push(` ${desc}`);
376
+ // Show required parameters
377
+ if (action.parameters?.required && action.parameters.required.length > 0) {
378
+ const reqParams = action.parameters.required.map(p => {
379
+ const propDef = action.parameters.properties?.[p];
380
+ const paramDesc = propDef?.description || propDef?.title || propDef?.type || '';
381
+ return `${p}${paramDesc ? ` (${paramDesc})` : ''}`;
382
+ });
383
+ lines.push(` Required: ${reqParams.join(', ')}`);
384
+ }
385
+ // Show optional parameters (up to 5)
386
+ if (action.parameters?.properties) {
387
+ const requiredSet = new Set(action.parameters.required ?? []);
388
+ const optional = Object.keys(action.parameters.properties)
389
+ .filter(k => !requiredSet.has(k))
390
+ .slice(0, 5);
391
+ if (optional.length > 0) {
392
+ lines.push(` Optional: ${optional.join(', ')}`);
393
+ }
394
+ }
395
+ lines.push('');
396
+ }
397
+ if (actions.length > limit) {
398
+ lines.push(` ... ${actions.length - limit} more results. Increase limit or narrow your query.`);
399
+ }
400
+ return lines.join('\n');
401
+ }
402
+ catch (err) {
403
+ if (err instanceof Error && err.message === SETUP_MSG)
404
+ return SETUP_MSG;
405
+ return `Error searching actions: ${err instanceof Error ? err.message : String(err)}`;
406
+ }
407
+ },
408
+ });
409
+ }
410
+ // ---------------------------------------------------------------------------
411
+ // Dynamic tool discovery — exposes connected app actions as native kbot tools
412
+ // ---------------------------------------------------------------------------
413
+ /**
414
+ * Fetch available actions for all connected Composio apps and return them
415
+ * as kbot-compatible ToolDefinition objects. This allows the agent to see
416
+ * Composio actions alongside built-in tools.
417
+ *
418
+ * Call this after registerComposioTools() to dynamically expand the toolset.
419
+ */
420
+ export async function getComposioTools() {
421
+ const apiKey = getApiKey();
422
+ if (!apiKey)
423
+ return []; // Composio not configured — skip silently
424
+ const tools = [];
425
+ try {
426
+ const connections = await getConnections();
427
+ if (connections.length === 0)
428
+ return [];
429
+ // Deduplicate connected app names
430
+ const connectedApps = [...new Set(connections
431
+ .filter(c => c.status === 'ACTIVE')
432
+ .map(c => c.appUniqueId?.toLowerCase())
433
+ .filter((v) => !!v))];
434
+ // Fetch actions for each connected app in parallel (cap at 5 concurrent)
435
+ const chunks = [];
436
+ for (let i = 0; i < connectedApps.length; i += 5) {
437
+ chunks.push(connectedApps.slice(i, i + 5));
438
+ }
439
+ for (const chunk of chunks) {
440
+ const results = await Promise.allSettled(chunk.map(appName => getActions(appName)));
441
+ for (const result of results) {
442
+ if (result.status !== 'fulfilled')
443
+ continue;
444
+ const actions = result.value;
445
+ for (const action of actions.slice(0, 20)) {
446
+ // Convert Composio action schema to kbot ToolDefinition
447
+ const parameters = {};
448
+ if (action.parameters?.properties) {
449
+ const requiredSet = new Set(action.parameters.required ?? []);
450
+ for (const [key, prop] of Object.entries(action.parameters.properties)) {
451
+ parameters[key] = {
452
+ type: prop.type || 'string',
453
+ description: prop.description || prop.title || key,
454
+ required: requiredSet.has(key),
455
+ };
456
+ }
457
+ }
458
+ const toolName = `composio_${(action.name || '').toLowerCase().replace(/[^a-z0-9_]/g, '_')}`;
459
+ const appName = action.appName || 'unknown';
460
+ tools.push({
461
+ name: toolName,
462
+ description: `[Composio/${appName}] ${action.display_name || action.name}: ` +
463
+ `${action.description || 'No description'}`.slice(0, 200),
464
+ parameters,
465
+ tier: 'free',
466
+ timeout: 30_000,
467
+ async execute(args) {
468
+ try {
469
+ const result = await executeAction(action.name, args);
470
+ return typeof result === 'string'
471
+ ? result
472
+ : JSON.stringify(result, null, 2);
473
+ }
474
+ catch (err) {
475
+ return `Composio error: ${err instanceof Error ? err.message : String(err)}`;
476
+ }
477
+ },
478
+ });
479
+ }
480
+ }
481
+ }
482
+ }
483
+ catch {
484
+ // Composio API unavailable — return empty, don't block kbot startup
485
+ }
486
+ return tools;
487
+ }
488
+ //# sourceMappingURL=composio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composio.js","sourceRoot":"","sources":["../../src/tools/composio.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;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC/B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACrC,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,CAwBD;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,CA0CrE;AAED,0FAA0F;AAC1F,wBAAsB,gBAAgB,CAAC,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsItF"}
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;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC/B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACrC,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,CAwBD;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,CA0CrE;AAED,0FAA0F;AAC1F,wBAAsB,gBAAgB,CAAC,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkJtF"}
@@ -144,7 +144,7 @@ export async function executeTool(call) {
144
144
  /** Register all built-in tools. Call once at startup. Uses parallel imports for speed. */
145
145
  export async function registerAllTools(opts) {
146
146
  // Parallel import all tool modules at once
147
- const [{ registerFileTools }, { registerBashTools }, { registerGitTools }, { registerSearchTools }, { registerFetchTools }, { registerGitHubTools }, { registerMatrixTools }, { registerParallelTools }, { registerMcpClientTools }, { registerTaskTools }, { registerNotebookTools }, { registerBackgroundTools }, { registerSandboxTools }, { registerBuildMatrixTools }, { registerSubagentTools }, { registerWorktreeTools }, { registerKbotLocalTools }, { registerQualityTools }, { registerMemoryTools }, { registerBrowserTools }, { registerE2bTools }, { registerLspTools }, { registerMcpPluginTools }, { registerGraphMemoryTools }, { registerConfidenceTools }, { registerAgentProtocolTools }, { registerTemporalTools }, { registerReasoningTools }, { registerIntentionalityTools }, { registerTestRunnerTools }, { registerCreativeTools }, { registerComfyUITools }, { registerMagentaTools }, { registerResearchTools }, { registerContainerTools }, { registerVfxTools }, { registerAuditTools }, { registerDocumentTools }, { registerContributeTools },] = await Promise.all([
147
+ const [{ registerFileTools }, { registerBashTools }, { registerGitTools }, { registerSearchTools }, { registerFetchTools }, { registerGitHubTools }, { registerMatrixTools }, { registerParallelTools }, { registerMcpClientTools }, { registerTaskTools }, { registerNotebookTools }, { registerBackgroundTools }, { registerSandboxTools }, { registerBuildMatrixTools }, { registerSubagentTools }, { registerWorktreeTools }, { registerKbotLocalTools }, { registerQualityTools }, { registerMemoryTools }, { registerBrowserTools }, { registerE2bTools }, { registerLspTools }, { registerMcpPluginTools }, { registerGraphMemoryTools }, { registerConfidenceTools }, { registerAgentProtocolTools }, { registerTemporalTools }, { registerReasoningTools }, { registerIntentionalityTools }, { registerTestRunnerTools }, { registerCreativeTools }, { registerComfyUITools }, { registerMagentaTools }, { registerResearchTools }, { registerContainerTools }, { registerVfxTools }, { registerAuditTools }, { registerDocumentTools }, { registerContributeTools }, { registerComposioTools }, { registerMarketplaceTools }, { registerBrowserAgentTools }, { registerWorkflowTools },] = await Promise.all([
148
148
  import('./files.js'),
149
149
  import('./bash.js'),
150
150
  import('./git.js'),
@@ -184,6 +184,10 @@ export async function registerAllTools(opts) {
184
184
  import('./audit.js'),
185
185
  import('./documents.js'),
186
186
  import('./contribute.js'),
187
+ import('./composio.js'),
188
+ import('../marketplace.js'),
189
+ import('./browser-agent.js'),
190
+ import('../workflows.js'),
187
191
  ]);
188
192
  // Register all tools (synchronous, fast)
189
193
  registerFileTools();
@@ -225,6 +229,10 @@ export async function registerAllTools(opts) {
225
229
  registerAuditTools();
226
230
  registerDocumentTools();
227
231
  registerContributeTools();
232
+ registerComposioTools();
233
+ registerMarketplaceTools();
234
+ registerBrowserAgentTools();
235
+ registerWorkflowTools();
228
236
  // Computer use tools — opt-in only via --computer-use flag
229
237
  if (opts?.computerUse) {
230
238
  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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"}