@recursiv/mcp 0.1.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.
- package/README.md +135 -0
- package/dist/__tests__/scopes.test.d.ts +2 -0
- package/dist/__tests__/scopes.test.d.ts.map +1 -0
- package/dist/__tests__/scopes.test.js +85 -0
- package/dist/__tests__/scopes.test.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +125 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/approval-gate.d.ts +45 -0
- package/dist/lib/approval-gate.d.ts.map +1 -0
- package/dist/lib/approval-gate.js +143 -0
- package/dist/lib/approval-gate.js.map +1 -0
- package/dist/scopes.d.ts +99 -0
- package/dist/scopes.d.ts.map +1 -0
- package/dist/scopes.js +122 -0
- package/dist/scopes.js.map +1 -0
- package/dist/tools/__tests__/agents.test.d.ts +2 -0
- package/dist/tools/__tests__/agents.test.d.ts.map +1 -0
- package/dist/tools/__tests__/agents.test.js +248 -0
- package/dist/tools/__tests__/agents.test.js.map +1 -0
- package/dist/tools/__tests__/devtools.test.d.ts +2 -0
- package/dist/tools/__tests__/devtools.test.d.ts.map +1 -0
- package/dist/tools/__tests__/devtools.test.js +206 -0
- package/dist/tools/__tests__/devtools.test.js.map +1 -0
- package/dist/tools/__tests__/dispatcher.test.d.ts +2 -0
- package/dist/tools/__tests__/dispatcher.test.d.ts.map +1 -0
- package/dist/tools/__tests__/dispatcher.test.js +178 -0
- package/dist/tools/__tests__/dispatcher.test.js.map +1 -0
- package/dist/tools/__tests__/memory.test.d.ts +2 -0
- package/dist/tools/__tests__/memory.test.d.ts.map +1 -0
- package/dist/tools/__tests__/memory.test.js +151 -0
- package/dist/tools/__tests__/memory.test.js.map +1 -0
- package/dist/tools/__tests__/projects.test.d.ts +2 -0
- package/dist/tools/__tests__/projects.test.d.ts.map +1 -0
- package/dist/tools/__tests__/projects.test.js +168 -0
- package/dist/tools/__tests__/projects.test.js.map +1 -0
- package/dist/tools/__tests__/sandbox.test.d.ts +2 -0
- package/dist/tools/__tests__/sandbox.test.d.ts.map +1 -0
- package/dist/tools/__tests__/sandbox.test.js +113 -0
- package/dist/tools/__tests__/sandbox.test.js.map +1 -0
- package/dist/tools/__tests__/social.test.d.ts +2 -0
- package/dist/tools/__tests__/social.test.d.ts.map +1 -0
- package/dist/tools/__tests__/social.test.js +127 -0
- package/dist/tools/__tests__/social.test.js.map +1 -0
- package/dist/tools/__tests__/swarms.test.d.ts +2 -0
- package/dist/tools/__tests__/swarms.test.d.ts.map +1 -0
- package/dist/tools/__tests__/swarms.test.js +320 -0
- package/dist/tools/__tests__/swarms.test.js.map +1 -0
- package/dist/tools/__tests__/templates.test.d.ts +2 -0
- package/dist/tools/__tests__/templates.test.d.ts.map +1 -0
- package/dist/tools/__tests__/templates.test.js +176 -0
- package/dist/tools/__tests__/templates.test.js.map +1 -0
- package/dist/tools/agents.d.ts +4 -0
- package/dist/tools/agents.d.ts.map +1 -0
- package/dist/tools/agents.js +170 -0
- package/dist/tools/agents.js.map +1 -0
- package/dist/tools/devtools.d.ts +4 -0
- package/dist/tools/devtools.d.ts.map +1 -0
- package/dist/tools/devtools.js +511 -0
- package/dist/tools/devtools.js.map +1 -0
- package/dist/tools/dispatcher.d.ts +4 -0
- package/dist/tools/dispatcher.d.ts.map +1 -0
- package/dist/tools/dispatcher.js +647 -0
- package/dist/tools/dispatcher.js.map +1 -0
- package/dist/tools/memory.d.ts +4 -0
- package/dist/tools/memory.d.ts.map +1 -0
- package/dist/tools/memory.js +92 -0
- package/dist/tools/memory.js.map +1 -0
- package/dist/tools/platform.d.ts +4 -0
- package/dist/tools/platform.d.ts.map +1 -0
- package/dist/tools/platform.js +359 -0
- package/dist/tools/platform.js.map +1 -0
- package/dist/tools/projects.d.ts +4 -0
- package/dist/tools/projects.d.ts.map +1 -0
- package/dist/tools/projects.js +79 -0
- package/dist/tools/projects.js.map +1 -0
- package/dist/tools/rate-limiter.d.ts +53 -0
- package/dist/tools/rate-limiter.d.ts.map +1 -0
- package/dist/tools/rate-limiter.js +87 -0
- package/dist/tools/rate-limiter.js.map +1 -0
- package/dist/tools/remaining.d.ts +8 -0
- package/dist/tools/remaining.d.ts.map +1 -0
- package/dist/tools/remaining.js +283 -0
- package/dist/tools/remaining.js.map +1 -0
- package/dist/tools/sandbox.d.ts +4 -0
- package/dist/tools/sandbox.d.ts.map +1 -0
- package/dist/tools/sandbox.js +35 -0
- package/dist/tools/sandbox.js.map +1 -0
- package/dist/tools/social.d.ts +11 -0
- package/dist/tools/social.d.ts.map +1 -0
- package/dist/tools/social.js +136 -0
- package/dist/tools/social.js.map +1 -0
- package/dist/tools/swarms.d.ts +4 -0
- package/dist/tools/swarms.d.ts.map +1 -0
- package/dist/tools/swarms.js +184 -0
- package/dist/tools/swarms.js.map +1 -0
- package/dist/tools/templates.d.ts +4 -0
- package/dist/tools/templates.d.ts.map +1 -0
- package/dist/tools/templates.js +102 -0
- package/dist/tools/templates.js.map +1 -0
- package/dist/tools/utils.d.ts +9 -0
- package/dist/tools/utils.d.ts.map +1 -0
- package/dist/tools/utils.js +8 -0
- package/dist/tools/utils.js.map +1 -0
- package/package.json +50 -0
|
@@ -0,0 +1,511 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { Scopes } from '../scopes.js';
|
|
3
|
+
export function registerDevTools(registry, client) {
|
|
4
|
+
const registerReadProjectTool = (name, description, schema, handler) => registry.tool(name, description, [Scopes.PROJECTS_READ], schema, handler);
|
|
5
|
+
const registerWriteProjectTool = (name, description, schema, handler) => registry.tool(name, description, [Scopes.PROJECTS_WRITE], schema, handler);
|
|
6
|
+
const registerReadBillingTool = (name, description, schema, handler) => registry.tool(name, description, [Scopes.BILLING_READ], schema, handler);
|
|
7
|
+
const registerReadSettingsTool = (name, description, schema, handler) => registry.tool(name, description, [Scopes.SETTINGS_READ], schema, handler);
|
|
8
|
+
const registerWriteSettingsTool = (name, description, schema, handler) => registry.tool(name, description, [Scopes.SETTINGS_WRITE], schema, handler);
|
|
9
|
+
const registerReadAgentsTool = (name, description, schema, handler) => registry.tool(name, description, [Scopes.AGENTS_READ], schema, handler);
|
|
10
|
+
const registerWriteAgentsTool = (name, description, schema, handler) => registry.tool(name, description, [Scopes.AGENTS_WRITE], schema, handler);
|
|
11
|
+
const registerReadTagsTool = (name, description, schema, handler) => registry.tool(name, description, [Scopes.TAGS_READ], schema, handler);
|
|
12
|
+
const registerWriteTagsTool = (name, description, schema, handler) => registry.tool(name, description, [Scopes.TAGS_WRITE], schema, handler);
|
|
13
|
+
const registerReadOrganizationsTool = (name, description, schema, handler) => registry.tool(name, description, [Scopes.ORGANIZATIONS_READ], schema, handler);
|
|
14
|
+
const registerWriteOrganizationsTool = (name, description, schema, handler) => registry.tool(name, description, [Scopes.ORGANIZATIONS_WRITE], schema, handler);
|
|
15
|
+
const registerReadCommandsTool = (name, description, schema, handler) => registry.tool(name, description, [Scopes.COMMANDS_READ], schema, handler);
|
|
16
|
+
const registerWriteCommandsTool = (name, description, schema, handler) => registry.tool(name, description, [Scopes.COMMANDS_WRITE], schema, handler);
|
|
17
|
+
// ─── Storage ────────────────────────────────────────────────────────
|
|
18
|
+
registerReadProjectTool('list_storage_buckets', 'List all storage buckets for a project', {
|
|
19
|
+
project_id: z.string().describe('Project UUID'),
|
|
20
|
+
}, async (params) => {
|
|
21
|
+
const result = await client.storage.listBuckets(params);
|
|
22
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
23
|
+
});
|
|
24
|
+
registerWriteProjectTool('create_storage_bucket', 'Create a new storage bucket for a project', {
|
|
25
|
+
project_id: z.string().describe('Project UUID'),
|
|
26
|
+
name: z.string().describe('Bucket name'),
|
|
27
|
+
}, async (params) => {
|
|
28
|
+
const result = await client.storage.createBucket(params);
|
|
29
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
30
|
+
});
|
|
31
|
+
registerReadProjectTool('list_storage_items', 'List items in a storage bucket', {
|
|
32
|
+
project_id: z.string().describe('Project UUID'),
|
|
33
|
+
bucket_name: z.string().describe('Bucket name'),
|
|
34
|
+
prefix: z.string().optional().describe('Filter by key prefix (folder path)'),
|
|
35
|
+
limit: z.number().optional().describe('Max items to return'),
|
|
36
|
+
}, async (params) => {
|
|
37
|
+
const result = await client.storage.listItems(params);
|
|
38
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
39
|
+
});
|
|
40
|
+
registerWriteProjectTool('get_upload_url', 'Get a presigned URL for uploading a file to storage', {
|
|
41
|
+
project_id: z.string().describe('Project UUID'),
|
|
42
|
+
bucket_name: z.string().describe('Bucket name'),
|
|
43
|
+
key: z.string().describe('Object key (file path)'),
|
|
44
|
+
content_type: z.string().optional().describe('MIME type of the file'),
|
|
45
|
+
}, async (params) => {
|
|
46
|
+
const result = await client.storage.getUploadUrl(params);
|
|
47
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
48
|
+
});
|
|
49
|
+
registerReadProjectTool('get_download_url', 'Get a presigned URL for downloading a file from storage', {
|
|
50
|
+
project_id: z.string().describe('Project UUID'),
|
|
51
|
+
bucket_name: z.string().describe('Bucket name'),
|
|
52
|
+
key: z.string().describe('Object key (file path)'),
|
|
53
|
+
}, async (params) => {
|
|
54
|
+
const result = await client.storage.getDownloadUrl(params);
|
|
55
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
56
|
+
});
|
|
57
|
+
registerWriteProjectTool('delete_storage_object', 'Delete an object or folder from a storage bucket', {
|
|
58
|
+
project_id: z.string().describe('Project UUID'),
|
|
59
|
+
bucket_name: z.string().describe('Bucket name'),
|
|
60
|
+
key: z.string().describe('Object key (file path)'),
|
|
61
|
+
}, async (params) => {
|
|
62
|
+
const result = await client.storage.deleteObject(params);
|
|
63
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
64
|
+
});
|
|
65
|
+
registerWriteProjectTool('create_storage_folder', 'Create a folder in a storage bucket', {
|
|
66
|
+
project_id: z.string().describe('Project UUID'),
|
|
67
|
+
bucket_name: z.string().describe('Bucket name'),
|
|
68
|
+
folder_path: z.string().describe('Folder path to create'),
|
|
69
|
+
}, async (params) => {
|
|
70
|
+
const result = await client.storage.createFolder(params);
|
|
71
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
72
|
+
});
|
|
73
|
+
// ─── Databases ──────────────────────────────────────────────────────
|
|
74
|
+
registerReadProjectTool('list_databases', 'List all databases for a project', {
|
|
75
|
+
project_id: z.string().describe('Project UUID'),
|
|
76
|
+
}, async (params) => {
|
|
77
|
+
const result = await client.databases.list(params);
|
|
78
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
79
|
+
});
|
|
80
|
+
registerWriteProjectTool('create_database', 'Create a new database for a project', {
|
|
81
|
+
project_id: z.string().describe('Project UUID'),
|
|
82
|
+
name: z.string().describe('Database name'),
|
|
83
|
+
}, async (params) => {
|
|
84
|
+
const result = await client.databases.create(params);
|
|
85
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
86
|
+
});
|
|
87
|
+
registerReadProjectTool('get_database_credentials', 'Get database connection credentials', {
|
|
88
|
+
project_id: z.string().describe('Project UUID'),
|
|
89
|
+
name: z.string().describe('Database name'),
|
|
90
|
+
}, async (params) => {
|
|
91
|
+
const result = await client.databases.getCredentials(params);
|
|
92
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
93
|
+
});
|
|
94
|
+
const MAX_QUERY_LENGTH = 10 * 1024; // 10 KB
|
|
95
|
+
const MAX_RESULT_ROWS = 1000;
|
|
96
|
+
const DEFAULT_TIMEOUT_SECONDS = 10;
|
|
97
|
+
const MAX_TIMEOUT_SECONDS = 30;
|
|
98
|
+
registerReadProjectTool('run_sql_query', 'Execute a read-only SQL query against a project\'s database. Only SELECT statements are allowed. Results are limited to 1000 rows. Max query size is 10 KB. Max timeout is 30 seconds.', {
|
|
99
|
+
project_id: z.string().describe('Project UUID'),
|
|
100
|
+
sql: z.string().max(MAX_QUERY_LENGTH).describe('SQL SELECT query to execute (write operations are blocked, max 10 KB)'),
|
|
101
|
+
params: z.array(z.unknown()).optional().describe('Query parameters for prepared statements'),
|
|
102
|
+
database_name: z.string().optional().describe('Target database name (uses default if omitted)'),
|
|
103
|
+
timeout_seconds: z.number().min(1).max(MAX_TIMEOUT_SECONDS).optional().describe('Query timeout in seconds (default: 10, max: 30)'),
|
|
104
|
+
}, async (input) => {
|
|
105
|
+
// Security: enforce query size limit
|
|
106
|
+
if (input.sql.length > MAX_QUERY_LENGTH) {
|
|
107
|
+
return {
|
|
108
|
+
content: [{
|
|
109
|
+
type: 'text',
|
|
110
|
+
text: JSON.stringify({ error: `Query exceeds maximum length of ${MAX_QUERY_LENGTH} bytes (${input.sql.length} bytes provided).` }, null, 2),
|
|
111
|
+
}],
|
|
112
|
+
isError: true,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
// Security: strip comments before validation
|
|
116
|
+
const normalized = input.sql.trim().replace(/\/\*[\s\S]*?\*\//g, '').replace(/--.*$/gm, '').trim();
|
|
117
|
+
// Security: only allow SELECT statements (must start with SELECT)
|
|
118
|
+
if (!(/^\s*SELECT\b/i.test(normalized))) {
|
|
119
|
+
return {
|
|
120
|
+
content: [{
|
|
121
|
+
type: 'text',
|
|
122
|
+
text: JSON.stringify({ error: 'Only SELECT queries are allowed. INSERT, UPDATE, DELETE, DROP, ALTER, CREATE, TRUNCATE, and other write operations are blocked.' }, null, 2),
|
|
123
|
+
}],
|
|
124
|
+
isError: true,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
// Security: reject any forbidden keywords anywhere in the query (not just at the start)
|
|
128
|
+
const forbidden = /\b(INSERT|UPDATE|DELETE|DROP|ALTER|CREATE|TRUNCATE|GRANT|REVOKE|EXEC|EXECUTE|CALL|MERGE|UPSERT|REPLACE|RENAME|LOCK|UNLOCK|LOAD|COPY)\b/i;
|
|
129
|
+
// Strip string literals before checking for forbidden keywords to avoid false positives
|
|
130
|
+
const withoutStrings = normalized.replace(/'[^']*'/g, '').replace(/"[^"]*"/g, '');
|
|
131
|
+
if (forbidden.test(withoutStrings)) {
|
|
132
|
+
return {
|
|
133
|
+
content: [{
|
|
134
|
+
type: 'text',
|
|
135
|
+
text: JSON.stringify({ error: 'Only SELECT queries are allowed. Write/DDL operations (INSERT, UPDATE, DELETE, DROP, ALTER, CREATE, TRUNCATE, etc.) are blocked even within subqueries.' }, null, 2),
|
|
136
|
+
}],
|
|
137
|
+
isError: true,
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
// Security: reject multiple statements (prevent SELECT ...; DROP ...)
|
|
141
|
+
if (withoutStrings.replace(/;[\s]*$/, '').includes(';')) {
|
|
142
|
+
return {
|
|
143
|
+
content: [{
|
|
144
|
+
type: 'text',
|
|
145
|
+
text: JSON.stringify({ error: 'Multiple SQL statements are not allowed.' }, null, 2),
|
|
146
|
+
}],
|
|
147
|
+
isError: true,
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
const effectiveTimeout = Math.min(input.timeout_seconds ?? DEFAULT_TIMEOUT_SECONDS, MAX_TIMEOUT_SECONDS);
|
|
151
|
+
const timeoutMs = effectiveTimeout * 1000;
|
|
152
|
+
const queryPromise = client.databases.query({
|
|
153
|
+
project_id: input.project_id,
|
|
154
|
+
sql: input.sql,
|
|
155
|
+
params: input.params,
|
|
156
|
+
database_name: input.database_name,
|
|
157
|
+
});
|
|
158
|
+
const timeoutPromise = new Promise((_, reject) => setTimeout(() => reject(new Error(`Query timed out after ${effectiveTimeout} seconds`)), timeoutMs));
|
|
159
|
+
let result;
|
|
160
|
+
try {
|
|
161
|
+
result = await Promise.race([queryPromise, timeoutPromise]);
|
|
162
|
+
}
|
|
163
|
+
catch (err) {
|
|
164
|
+
return {
|
|
165
|
+
content: [{
|
|
166
|
+
type: 'text',
|
|
167
|
+
text: JSON.stringify({ error: err instanceof Error ? err.message : String(err) }, null, 2),
|
|
168
|
+
}],
|
|
169
|
+
isError: true,
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
// Limit result rows
|
|
173
|
+
const data = result;
|
|
174
|
+
if (data && Array.isArray(data.rows) && data.rows.length > MAX_RESULT_ROWS) {
|
|
175
|
+
const originalCount = data.rows.length;
|
|
176
|
+
data.rows = data.rows.slice(0, MAX_RESULT_ROWS);
|
|
177
|
+
data.truncated = true;
|
|
178
|
+
data.total_rows = originalCount;
|
|
179
|
+
data.max_rows = MAX_RESULT_ROWS;
|
|
180
|
+
}
|
|
181
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
182
|
+
});
|
|
183
|
+
// ─── GitHub ─────────────────────────────────────────────────────────
|
|
184
|
+
registerReadProjectTool('get_github_repository', 'Get repository info with recent commits for a project', {
|
|
185
|
+
project_id: z.string().describe('Project UUID'),
|
|
186
|
+
}, async (params) => {
|
|
187
|
+
const result = await client.github.getRepository(params);
|
|
188
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
189
|
+
});
|
|
190
|
+
registerReadProjectTool('get_github_file_tree', 'Get the file tree for a project\'s repository', {
|
|
191
|
+
project_id: z.string().describe('Project UUID'),
|
|
192
|
+
path: z.string().optional().describe('Subdirectory path (root if omitted)'),
|
|
193
|
+
}, async (params) => {
|
|
194
|
+
const result = await client.github.getTree(params);
|
|
195
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
196
|
+
});
|
|
197
|
+
registerReadProjectTool('get_github_file_content', 'Get file content from a project\'s repository', {
|
|
198
|
+
project_id: z.string().describe('Project UUID'),
|
|
199
|
+
path: z.string().describe('File path in the repository'),
|
|
200
|
+
}, async (params) => {
|
|
201
|
+
const result = await client.github.getFileContent(params);
|
|
202
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
203
|
+
});
|
|
204
|
+
registerReadProjectTool('get_github_commits', 'Get recent commits for a project\'s repository', {
|
|
205
|
+
project_id: z.string().describe('Project UUID'),
|
|
206
|
+
limit: z.number().optional().describe('Max commits to return'),
|
|
207
|
+
}, async (params) => {
|
|
208
|
+
const result = await client.github.getCommits(params);
|
|
209
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
210
|
+
});
|
|
211
|
+
// ─── Project Brain ──────────────────────────────────────────────────
|
|
212
|
+
registerReadProjectTool('get_project_tasks', 'List tasks for a project (from the project brain)', {
|
|
213
|
+
project_id: z.string().describe('Project UUID'),
|
|
214
|
+
status: z.string().optional().describe('Filter by status'),
|
|
215
|
+
milestone: z.string().optional().describe('Filter by milestone'),
|
|
216
|
+
layer: z.string().optional().describe('Filter by layer'),
|
|
217
|
+
}, async ({ project_id, ...params }) => {
|
|
218
|
+
const result = await client.projectBrain.tasks(project_id, params);
|
|
219
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
220
|
+
});
|
|
221
|
+
registerReadProjectTool('get_project_stats', 'Get project statistics overview', {
|
|
222
|
+
project_id: z.string().describe('Project UUID'),
|
|
223
|
+
}, async ({ project_id }) => {
|
|
224
|
+
const result = await client.projectBrain.stats(project_id);
|
|
225
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
226
|
+
});
|
|
227
|
+
registerReadProjectTool('get_project_decisions', 'List architectural and technical decisions for a project', {
|
|
228
|
+
project_id: z.string().describe('Project UUID'),
|
|
229
|
+
limit: z.number().optional().describe('Max decisions to return'),
|
|
230
|
+
}, async ({ project_id, ...params }) => {
|
|
231
|
+
const result = await client.projectBrain.decisions(project_id, params);
|
|
232
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
233
|
+
});
|
|
234
|
+
registerReadProjectTool('get_project_milestones', 'List milestones with task progress for a project', {
|
|
235
|
+
project_id: z.string().describe('Project UUID'),
|
|
236
|
+
}, async ({ project_id }) => {
|
|
237
|
+
const result = await client.projectBrain.milestones(project_id);
|
|
238
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
239
|
+
});
|
|
240
|
+
registerWriteProjectTool('get_project_team_activity', 'Get team activity including agent claims and completed work', {
|
|
241
|
+
project_id: z.string().describe('Project UUID'),
|
|
242
|
+
}, async ({ project_id }) => {
|
|
243
|
+
const result = await client.projectBrain.teamActivity(project_id);
|
|
244
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
245
|
+
});
|
|
246
|
+
registerReadBillingTool('get_project_usage', 'Get project usage stats (API calls, tokens, compute hours)', {
|
|
247
|
+
project_id: z.string().describe('Project UUID'),
|
|
248
|
+
}, async ({ project_id }) => {
|
|
249
|
+
const result = await client.projectBrain.usage(project_id);
|
|
250
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
251
|
+
});
|
|
252
|
+
registerReadBillingTool('browser_inspect_page', 'Inspect a rendered web page in a real browser and return a structured UI summary', {
|
|
253
|
+
project_id: z.string().describe('Project UUID'),
|
|
254
|
+
url: z.string().describe('Full URL to inspect'),
|
|
255
|
+
viewport: z.enum(['desktop', 'tablet', 'mobile']).optional().describe('Viewport preset'),
|
|
256
|
+
include_screenshot: z.boolean().optional().describe('Attach a screenshot path in the result'),
|
|
257
|
+
full_page: z.boolean().optional().describe('If capturing a screenshot, save the full page'),
|
|
258
|
+
wait_ms: z.number().optional().describe('Milliseconds to wait for the page to settle'),
|
|
259
|
+
}, async ({ project_id, ...input }) => {
|
|
260
|
+
const result = await client.projectBrain.inspectPage(project_id, input);
|
|
261
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
262
|
+
});
|
|
263
|
+
registerReadBillingTool('browser_screenshot', 'Capture a screenshot of a rendered web page in a real browser', {
|
|
264
|
+
project_id: z.string().describe('Project UUID'),
|
|
265
|
+
url: z.string().describe('Full URL to screenshot'),
|
|
266
|
+
viewport: z.enum(['desktop', 'tablet', 'mobile']).optional().describe('Viewport preset'),
|
|
267
|
+
full_page: z.boolean().optional().describe('Capture the full scrollable page'),
|
|
268
|
+
wait_ms: z.number().optional().describe('Milliseconds to wait for the page to settle'),
|
|
269
|
+
}, async ({ project_id, ...input }) => {
|
|
270
|
+
const result = await client.projectBrain.screenshot(project_id, input);
|
|
271
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
272
|
+
});
|
|
273
|
+
registerReadBillingTool('run_visual_audit', 'Run a multi-route visual audit against a deployed or preview URL', {
|
|
274
|
+
project_id: z.string().describe('Project UUID'),
|
|
275
|
+
base_url: z.string().describe('Base URL to audit'),
|
|
276
|
+
lane: z.string().optional().describe('Route lane: critical, evolution, or all'),
|
|
277
|
+
routes: z.array(z.string()).optional().describe('Specific route IDs to audit'),
|
|
278
|
+
update_baseline: z.boolean().optional().describe('Update the stored baseline after confirmation'),
|
|
279
|
+
}, async ({ project_id, ...input }) => {
|
|
280
|
+
const result = await client.projectBrain.visualAudit(project_id, input);
|
|
281
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
282
|
+
});
|
|
283
|
+
registerReadSettingsTool('browser_use_run_task', 'Use Browser Use to run a multi-step autonomous browser task for a project', {
|
|
284
|
+
project_id: z.string().describe('Project UUID'),
|
|
285
|
+
task: z.string().describe('The browsing task to complete'),
|
|
286
|
+
start_url: z.string().optional().describe('Optional initial URL'),
|
|
287
|
+
allowed_domains: z.array(z.string()).optional().describe('Optional allowlist of hostnames or URLs'),
|
|
288
|
+
max_steps: z.number().optional().describe('Maximum Browser Use steps'),
|
|
289
|
+
wait_for_completion: z.boolean().optional().describe('Wait for Browser Use to finish before returning'),
|
|
290
|
+
create_share_url: z.boolean().optional().describe('Create a Browser Use live share URL'),
|
|
291
|
+
profile_id: z.string().optional().describe('Optional Browser Use profile ID'),
|
|
292
|
+
system_prompt_extension: z.string().optional().describe('Optional extra Browser Use system guidance'),
|
|
293
|
+
}, async ({ project_id, ...input }) => {
|
|
294
|
+
const result = await client.projectBrain.browserUseRunTask(project_id, input);
|
|
295
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
296
|
+
});
|
|
297
|
+
registerReadSettingsTool('browser_use_list_tasks', 'List recent Browser Use tasks for a project', {
|
|
298
|
+
project_id: z.string().describe('Project UUID'),
|
|
299
|
+
limit: z.number().optional().describe('Maximum tasks to return'),
|
|
300
|
+
}, async ({ project_id, limit }) => {
|
|
301
|
+
const result = await client.projectBrain.browserUseTasks(project_id, { limit });
|
|
302
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
303
|
+
});
|
|
304
|
+
registerReadSettingsTool('browser_use_get_task', 'Get one Browser Use task for a project', {
|
|
305
|
+
project_id: z.string().describe('Project UUID'),
|
|
306
|
+
task_id: z.string().describe('Browser Use task ID'),
|
|
307
|
+
}, async ({ project_id, task_id }) => {
|
|
308
|
+
const result = await client.projectBrain.browserUseTask(project_id, task_id);
|
|
309
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
310
|
+
});
|
|
311
|
+
registerReadOrganizationsTool('browser_use_stop_task', 'Stop a Browser Use task and its session for a project', {
|
|
312
|
+
project_id: z.string().describe('Project UUID'),
|
|
313
|
+
task_id: z.string().describe('Browser Use task ID'),
|
|
314
|
+
}, async ({ project_id, task_id }) => {
|
|
315
|
+
const result = await client.projectBrain.stopBrowserUseTask(project_id, task_id);
|
|
316
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
317
|
+
});
|
|
318
|
+
registerReadOrganizationsTool('get_project_settings', 'Get project brain settings (orchestrator model, tool permissions)', {
|
|
319
|
+
project_id: z.string().describe('Project UUID'),
|
|
320
|
+
}, async ({ project_id }) => {
|
|
321
|
+
const result = await client.projectBrain.getSettings(project_id);
|
|
322
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
323
|
+
});
|
|
324
|
+
registerReadOrganizationsTool('update_project_settings', 'Update project brain settings', {
|
|
325
|
+
project_id: z.string().describe('Project UUID'),
|
|
326
|
+
orchestrator_model: z.string().optional().describe('AI model for the orchestrator'),
|
|
327
|
+
tool_permissions: z
|
|
328
|
+
.record(z.string(), z.enum(['auto', 'approval', 'off']))
|
|
329
|
+
.optional()
|
|
330
|
+
.describe('Per-bundle or per-tool policy map. Supports auto, approval, or off.'),
|
|
331
|
+
max_steps_per_run: z.number().optional().describe('Max steps per orchestrator run'),
|
|
332
|
+
heartbeat_timeout_minutes: z.number().optional().describe('Heartbeat timeout in minutes'),
|
|
333
|
+
}, async ({ project_id, ...input }) => {
|
|
334
|
+
const result = await client.projectBrain.updateSettings(project_id, input);
|
|
335
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
336
|
+
});
|
|
337
|
+
// ─── Billing ────────────────────────────────────────────────────────
|
|
338
|
+
registerWriteOrganizationsTool('get_billing_info', 'Get comprehensive billing info (customer, credits, subscriptions)', {
|
|
339
|
+
user_id: z.string().optional().describe('User UUID (defaults to current user)'),
|
|
340
|
+
organization_id: z.string().optional().describe('Organization UUID'),
|
|
341
|
+
}, async (params) => {
|
|
342
|
+
const result = await client.billing.get(params);
|
|
343
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
344
|
+
});
|
|
345
|
+
registerWriteAgentsTool('get_billing_status', 'Get billing status (Stripe account, subscription, payment method)', {
|
|
346
|
+
user_id: z.string().optional().describe('User UUID'),
|
|
347
|
+
organization_id: z.string().optional().describe('Organization UUID'),
|
|
348
|
+
}, async (params) => {
|
|
349
|
+
const result = await client.billing.getStatus(params);
|
|
350
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
351
|
+
});
|
|
352
|
+
registerWriteAgentsTool('get_billing_usage', 'Get usage summary for a billing period', {
|
|
353
|
+
user_id: z.string().optional().describe('User UUID'),
|
|
354
|
+
organization_id: z.string().optional().describe('Organization UUID'),
|
|
355
|
+
year: z.number().optional().describe('Year'),
|
|
356
|
+
month: z.number().optional().describe('Month (1-12)'),
|
|
357
|
+
}, async (params) => {
|
|
358
|
+
const result = await client.billing.getUsage(params);
|
|
359
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
360
|
+
});
|
|
361
|
+
registerWriteAgentsTool('get_billing_usage_by_project', 'Get usage breakdown by project for a billing period', {
|
|
362
|
+
user_id: z.string().optional().describe('User UUID'),
|
|
363
|
+
organization_id: z.string().optional().describe('Organization UUID'),
|
|
364
|
+
year: z.number().optional().describe('Year'),
|
|
365
|
+
month: z.number().optional().describe('Month (1-12)'),
|
|
366
|
+
}, async (params) => {
|
|
367
|
+
const result = await client.billing.getUsageByProject(params);
|
|
368
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
369
|
+
});
|
|
370
|
+
// ─── Free Tier ──────────────────────────────────────────────────────
|
|
371
|
+
registerReadAgentsTool('get_tier', 'Get the current user\'s subscription tier and limits', {}, async () => {
|
|
372
|
+
const result = await client.freeTier.getTier();
|
|
373
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
374
|
+
});
|
|
375
|
+
registerWriteAgentsTool('get_tier_usage', 'Get usage summary against tier limits (API calls, agents, projects, sandboxes)', {}, async () => {
|
|
376
|
+
const result = await client.freeTier.getUsage();
|
|
377
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
378
|
+
});
|
|
379
|
+
registerReadTagsTool('get_tier_warnings', 'Get limit warnings for items at >80% capacity', {}, async () => {
|
|
380
|
+
const result = await client.freeTier.getWarnings();
|
|
381
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
382
|
+
});
|
|
383
|
+
// ─── Integrations ──────────────────────────────────────────────────
|
|
384
|
+
registerWriteTagsTool('list_integration_apps', 'List available integration apps (Slack, GitHub, Linear, etc.)', {
|
|
385
|
+
search: z.string().optional().describe('Search by name'),
|
|
386
|
+
category: z.string().optional().describe('Filter by category'),
|
|
387
|
+
}, async (params) => {
|
|
388
|
+
const result = await client.integrations.listApps(params);
|
|
389
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
390
|
+
});
|
|
391
|
+
registerWriteTagsTool('get_integration_tools', 'Get available tools for an integration provider', {
|
|
392
|
+
provider: z.string().describe('Integration provider name (e.g. slack, github, linear)'),
|
|
393
|
+
}, async ({ provider }) => {
|
|
394
|
+
const result = await client.integrations.getTools(provider);
|
|
395
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
396
|
+
});
|
|
397
|
+
registerWriteProjectTool('list_connected_integrations', 'List user\'s connected integrations for an organization', {
|
|
398
|
+
organization_id: z.string().describe('Organization UUID'),
|
|
399
|
+
}, async ({ organization_id }) => {
|
|
400
|
+
const result = await client.integrations.listConnections(organization_id);
|
|
401
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
402
|
+
});
|
|
403
|
+
registerWriteOrganizationsTool('disconnect_integration', 'Disconnect an integration', {
|
|
404
|
+
id: z.string().describe('Connection UUID'),
|
|
405
|
+
}, async ({ id }) => {
|
|
406
|
+
const result = await client.integrations.disconnect(id);
|
|
407
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
408
|
+
});
|
|
409
|
+
registerReadCommandsTool('list_pending_tool_executions', 'List pending tool executions awaiting approval for a conversation', {
|
|
410
|
+
conversation_id: z.string().describe('Conversation UUID'),
|
|
411
|
+
}, async ({ conversation_id }) => {
|
|
412
|
+
const result = await client.integrations.listPendingExecutions(conversation_id);
|
|
413
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
414
|
+
});
|
|
415
|
+
registerWriteCommandsTool('approve_tool_execution', 'Approve a pending tool execution', {
|
|
416
|
+
id: z.string().describe('Tool execution UUID'),
|
|
417
|
+
}, async ({ id }) => {
|
|
418
|
+
const result = await client.integrations.approveExecution(id);
|
|
419
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
420
|
+
});
|
|
421
|
+
registerWriteCommandsTool('reject_tool_execution', 'Reject a pending tool execution', {
|
|
422
|
+
id: z.string().describe('Tool execution UUID'),
|
|
423
|
+
}, async ({ id }) => {
|
|
424
|
+
const result = await client.integrations.rejectExecution(id);
|
|
425
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
426
|
+
});
|
|
427
|
+
// ─── Agent Gaps (tools missing from agents.ts) ─────────────────────
|
|
428
|
+
registerReadAgentsTool('list_discoverable_agents', 'List discoverable agents (public + same-org)', {
|
|
429
|
+
limit: z.number().optional().describe('Max results'),
|
|
430
|
+
offset: z.number().optional().describe('Pagination offset'),
|
|
431
|
+
organization_id: z.string().optional().describe('Filter by organization'),
|
|
432
|
+
include_global: z.boolean().optional().describe('Include global agents'),
|
|
433
|
+
}, async (params) => {
|
|
434
|
+
const result = await client.agents.listDiscoverable(params);
|
|
435
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
436
|
+
});
|
|
437
|
+
registerReadAgentsTool('agent_leaderboard', 'Get agent engagement leaderboard (ranked by posts + reactions)', {
|
|
438
|
+
limit: z.number().optional().describe('Max results'),
|
|
439
|
+
offset: z.number().optional().describe('Pagination offset'),
|
|
440
|
+
}, async (params) => {
|
|
441
|
+
const result = await client.agents.leaderboard(params);
|
|
442
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
443
|
+
});
|
|
444
|
+
registerReadAgentsTool('orchestrator_status', 'Get orchestrator status — which agents are actively working on tasks', {}, async () => {
|
|
445
|
+
const result = await client.agents.orchestratorStatus();
|
|
446
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
447
|
+
});
|
|
448
|
+
registerWriteAgentsTool('grant_agent_project_access', 'Grant an agent access to a project with specific permissions', {
|
|
449
|
+
agent_id: z.string().describe('Agent UUID'),
|
|
450
|
+
project_id: z.string().describe('Project UUID'),
|
|
451
|
+
permissions: z.array(z.string()).describe('Permission list (e.g. read, write, deploy)'),
|
|
452
|
+
}, async ({ agent_id, ...input }) => {
|
|
453
|
+
const result = await client.agents.grantProjectAccess(agent_id, input);
|
|
454
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
455
|
+
});
|
|
456
|
+
registerWriteAgentsTool('revoke_agent_project_access', 'Revoke an agent\'s access to a project', {
|
|
457
|
+
agent_id: z.string().describe('Agent UUID'),
|
|
458
|
+
project_id: z.string().describe('Project UUID'),
|
|
459
|
+
}, async ({ agent_id, project_id }) => {
|
|
460
|
+
const result = await client.agents.revokeProjectAccess(agent_id, project_id);
|
|
461
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
462
|
+
});
|
|
463
|
+
registerWriteAgentsTool('reset_agent_request_count', 'Reset an agent\'s daily request count', {
|
|
464
|
+
agent_id: z.string().describe('Agent UUID'),
|
|
465
|
+
}, async ({ agent_id }) => {
|
|
466
|
+
const result = await client.agents.resetRequestCount(agent_id);
|
|
467
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
468
|
+
});
|
|
469
|
+
registerReadAgentsTool('agent_unread_count', 'Get unread message count for an agent\'s inbox', {
|
|
470
|
+
agent_id: z.string().describe('Agent UUID'),
|
|
471
|
+
}, async ({ agent_id }) => {
|
|
472
|
+
const result = await client.agents.unreadCount(agent_id);
|
|
473
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
474
|
+
});
|
|
475
|
+
registerWriteAgentsTool('mark_all_agent_messages_read', 'Mark all messages in an agent\'s inbox as read', {
|
|
476
|
+
agent_id: z.string().describe('Agent UUID'),
|
|
477
|
+
}, async ({ agent_id }) => {
|
|
478
|
+
const result = await client.agents.markAllRead(agent_id);
|
|
479
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
480
|
+
});
|
|
481
|
+
// ─── Tags ───────────────────────────────────────────────────────────
|
|
482
|
+
registerReadTagsTool('list_tags', 'List tags, optionally filtered by search', {
|
|
483
|
+
search: z.string().optional().describe('Search by tag name'),
|
|
484
|
+
limit: z.number().optional().describe('Max results'),
|
|
485
|
+
offset: z.number().optional().describe('Pagination offset'),
|
|
486
|
+
}, async (params) => {
|
|
487
|
+
const result = await client.tags.list(params);
|
|
488
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
489
|
+
});
|
|
490
|
+
registerWriteTagsTool('create_tag', 'Create a new tag', {
|
|
491
|
+
name: z.string().describe('Tag name'),
|
|
492
|
+
slug: z.string().optional().describe('URL-friendly slug'),
|
|
493
|
+
}, async (params) => {
|
|
494
|
+
const result = await client.tags.create(params);
|
|
495
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
496
|
+
});
|
|
497
|
+
registerWriteTagsTool('delete_tag', 'Delete a tag', {
|
|
498
|
+
id: z.string().describe('Tag UUID'),
|
|
499
|
+
}, async ({ id }) => {
|
|
500
|
+
const result = await client.tags.delete(id);
|
|
501
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
502
|
+
});
|
|
503
|
+
// ─── Templates (gap: delete) ────────────────────────────────────────
|
|
504
|
+
registerWriteProjectTool('delete_template', 'Delete a template', {
|
|
505
|
+
id: z.string().describe('Template UUID'),
|
|
506
|
+
}, async ({ id }) => {
|
|
507
|
+
const result = await client.templates.delete(id);
|
|
508
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
509
|
+
});
|
|
510
|
+
}
|
|
511
|
+
//# sourceMappingURL=devtools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devtools.js","sourceRoot":"","sources":["../../src/tools/devtools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/tools/dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAU,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAM/D,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,QAAQ,QAs0BrF"}
|