@minicor/mcp-server 2.0.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.
- package/README.md +169 -0
- package/dist/__tests__/diff.test.d.ts +2 -0
- package/dist/__tests__/diff.test.d.ts.map +1 -0
- package/dist/__tests__/diff.test.js +23 -0
- package/dist/__tests__/diff.test.js.map +1 -0
- package/dist/__tests__/helpers.test.d.ts +2 -0
- package/dist/__tests__/helpers.test.d.ts.map +1 -0
- package/dist/__tests__/helpers.test.js +70 -0
- package/dist/__tests__/helpers.test.js.map +1 -0
- package/dist/__tests__/inspect-scripts.test.d.ts +2 -0
- package/dist/__tests__/inspect-scripts.test.d.ts.map +1 -0
- package/dist/__tests__/inspect-scripts.test.js +66 -0
- package/dist/__tests__/inspect-scripts.test.js.map +1 -0
- package/dist/browser-client.d.ts +42 -0
- package/dist/browser-client.d.ts.map +1 -0
- package/dist/browser-client.js +66 -0
- package/dist/browser-client.js.map +1 -0
- package/dist/cli.d.ts +14 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +256 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +21 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +57 -0
- package/dist/config.js.map +1 -0
- package/dist/diff.d.ts +7 -0
- package/dist/diff.d.ts.map +1 -0
- package/dist/diff.js +97 -0
- package/dist/diff.js.map +1 -0
- package/dist/helpers.d.ts +28 -0
- package/dist/helpers.d.ts.map +1 -0
- package/dist/helpers.js +91 -0
- package/dist/helpers.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +193 -0
- package/dist/index.js.map +1 -0
- package/dist/inspect-scripts.d.ts +18 -0
- package/dist/inspect-scripts.d.ts.map +1 -0
- package/dist/inspect-scripts.js +572 -0
- package/dist/inspect-scripts.js.map +1 -0
- package/dist/laminar-client.d.ts +160 -0
- package/dist/laminar-client.d.ts.map +1 -0
- package/dist/laminar-client.js +237 -0
- package/dist/laminar-client.js.map +1 -0
- package/dist/lds-client.d.ts +107 -0
- package/dist/lds-client.d.ts.map +1 -0
- package/dist/lds-client.js +81 -0
- package/dist/lds-client.js.map +1 -0
- package/dist/paths.d.ts +17 -0
- package/dist/paths.d.ts.map +1 -0
- package/dist/paths.js +46 -0
- package/dist/paths.js.map +1 -0
- package/dist/prompts/build-browser-rpa.d.ts +3 -0
- package/dist/prompts/build-browser-rpa.d.ts.map +1 -0
- package/dist/prompts/build-browser-rpa.js +90 -0
- package/dist/prompts/build-browser-rpa.js.map +1 -0
- package/dist/prompts/build-rpa.d.ts +3 -0
- package/dist/prompts/build-rpa.d.ts.map +1 -0
- package/dist/prompts/build-rpa.js +168 -0
- package/dist/prompts/build-rpa.js.map +1 -0
- package/dist/prompts/debug-execution.d.ts +3 -0
- package/dist/prompts/debug-execution.d.ts.map +1 -0
- package/dist/prompts/debug-execution.js +50 -0
- package/dist/prompts/debug-execution.js.map +1 -0
- package/dist/prompts/workflow-guide.d.ts +3 -0
- package/dist/prompts/workflow-guide.d.ts.map +1 -0
- package/dist/prompts/workflow-guide.js +175 -0
- package/dist/prompts/workflow-guide.js.map +1 -0
- package/dist/services.d.ts +61 -0
- package/dist/services.d.ts.map +1 -0
- package/dist/services.js +249 -0
- package/dist/services.js.map +1 -0
- package/dist/setup.d.ts +11 -0
- package/dist/setup.d.ts.map +1 -0
- package/dist/setup.js +790 -0
- package/dist/setup.js.map +1 -0
- package/dist/state.d.ts +23 -0
- package/dist/state.d.ts.map +1 -0
- package/dist/state.js +24 -0
- package/dist/state.js.map +1 -0
- package/dist/sync.d.ts +86 -0
- package/dist/sync.d.ts.map +1 -0
- package/dist/sync.js +394 -0
- package/dist/sync.js.map +1 -0
- package/dist/tools/browser.d.ts +3 -0
- package/dist/tools/browser.d.ts.map +1 -0
- package/dist/tools/browser.js +254 -0
- package/dist/tools/browser.js.map +1 -0
- package/dist/tools/config-stores.d.ts +3 -0
- package/dist/tools/config-stores.d.ts.map +1 -0
- package/dist/tools/config-stores.js +54 -0
- package/dist/tools/config-stores.js.map +1 -0
- package/dist/tools/core.d.ts +3 -0
- package/dist/tools/core.d.ts.map +1 -0
- package/dist/tools/core.js +202 -0
- package/dist/tools/core.js.map +1 -0
- package/dist/tools/cron.d.ts +3 -0
- package/dist/tools/cron.d.ts.map +1 -0
- package/dist/tools/cron.js +168 -0
- package/dist/tools/cron.js.map +1 -0
- package/dist/tools/elasticsearch.d.ts +3 -0
- package/dist/tools/elasticsearch.d.ts.map +1 -0
- package/dist/tools/elasticsearch.js +248 -0
- package/dist/tools/elasticsearch.js.map +1 -0
- package/dist/tools/issues.d.ts +3 -0
- package/dist/tools/issues.d.ts.map +1 -0
- package/dist/tools/issues.js +39 -0
- package/dist/tools/issues.js.map +1 -0
- package/dist/tools/stats.d.ts +3 -0
- package/dist/tools/stats.d.ts.map +1 -0
- package/dist/tools/stats.js +18 -0
- package/dist/tools/stats.js.map +1 -0
- package/dist/tools/sync-tools.d.ts +3 -0
- package/dist/tools/sync-tools.d.ts.map +1 -0
- package/dist/tools/sync-tools.js +121 -0
- package/dist/tools/sync-tools.js.map +1 -0
- package/dist/tools/vm-rpa.d.ts +3 -0
- package/dist/tools/vm-rpa.d.ts.map +1 -0
- package/dist/tools/vm-rpa.js +281 -0
- package/dist/tools/vm-rpa.js.map +1 -0
- package/dist/tools/vm.d.ts +3 -0
- package/dist/tools/vm.d.ts.map +1 -0
- package/dist/tools/vm.js +280 -0
- package/dist/tools/vm.js.map +1 -0
- package/dist/tools/workflow-ops.d.ts +3 -0
- package/dist/tools/workflow-ops.d.ts.map +1 -0
- package/dist/tools/workflow-ops.js +313 -0
- package/dist/tools/workflow-ops.js.map +1 -0
- package/dist/types.d.ts +14 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { ok, text, json, safe, NOT_CONNECTED_BROWSER } from "../helpers.js";
|
|
3
|
+
import { browserConnection, setBrowserConnection, updateBrowserSession, } from "../state.js";
|
|
4
|
+
function requireBrowser() {
|
|
5
|
+
if (!browserConnection)
|
|
6
|
+
return text(NOT_CONNECTED_BROWSER);
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
function requireBrowserSession() {
|
|
10
|
+
const conn = requireBrowser();
|
|
11
|
+
if (conn)
|
|
12
|
+
return conn;
|
|
13
|
+
if (!browserConnection.sessionId)
|
|
14
|
+
return text("No active browser session. Call browser_create_session first.");
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
function browserFetch(path, init) {
|
|
18
|
+
const url = `${browserConnection.baseUrl.replace(/\/+$/, "")}${path}`;
|
|
19
|
+
return fetch(url, {
|
|
20
|
+
...init,
|
|
21
|
+
headers: {
|
|
22
|
+
Authorization: `Bearer ${browserConnection.bearerToken}`,
|
|
23
|
+
"Content-Type": "application/json",
|
|
24
|
+
...init?.headers,
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
function sessionId(override) {
|
|
29
|
+
return override ?? browserConnection.sessionId;
|
|
30
|
+
}
|
|
31
|
+
export function register(deps) {
|
|
32
|
+
const { server } = deps;
|
|
33
|
+
// ── Connection ────────────────────────────────────────────
|
|
34
|
+
server.tool("browser_connect", "Connect to a browser RPA service (e.g. Browser-Use). Provide the base URL and bearer token.", {
|
|
35
|
+
baseUrl: z.string().describe("Browser service base URL"),
|
|
36
|
+
bearerToken: z.string().describe("Bearer authentication token"),
|
|
37
|
+
slackChannelId: z
|
|
38
|
+
.string()
|
|
39
|
+
.optional()
|
|
40
|
+
.describe("Optional Slack channel ID for notifications"),
|
|
41
|
+
}, async ({ baseUrl, bearerToken, slackChannelId }) => {
|
|
42
|
+
setBrowserConnection({ baseUrl, bearerToken, slackChannelId });
|
|
43
|
+
return ok({
|
|
44
|
+
connected: true,
|
|
45
|
+
baseUrl,
|
|
46
|
+
hasSlackChannel: !!slackChannelId,
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
// ── Session management ────────────────────────────────────
|
|
50
|
+
server.tool("browser_create_session", "Create a new browser session on the connected service", {}, async () => {
|
|
51
|
+
const err = requireBrowser();
|
|
52
|
+
if (err)
|
|
53
|
+
return err;
|
|
54
|
+
try {
|
|
55
|
+
const res = await browserFetch("/sessions", { method: "POST" });
|
|
56
|
+
if (!res.ok) {
|
|
57
|
+
const body = await res.text().catch(() => "");
|
|
58
|
+
return text(`Failed to create session (${res.status}): ${body}`);
|
|
59
|
+
}
|
|
60
|
+
const data = (await res.json());
|
|
61
|
+
updateBrowserSession(data.id);
|
|
62
|
+
return ok({ sessionId: data.id, ...data });
|
|
63
|
+
}
|
|
64
|
+
catch (e) {
|
|
65
|
+
return text(`Failed to create session: ${e.message}`);
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
server.tool("browser_close_session", "Close a browser session", {
|
|
69
|
+
sessionId: z
|
|
70
|
+
.string()
|
|
71
|
+
.optional()
|
|
72
|
+
.describe("Session ID (defaults to current session)"),
|
|
73
|
+
}, async ({ sessionId: sid }) => {
|
|
74
|
+
const err = requireBrowserSession();
|
|
75
|
+
if (err && !sid)
|
|
76
|
+
return err;
|
|
77
|
+
const id = sessionId(sid);
|
|
78
|
+
try {
|
|
79
|
+
const res = await browserFetch(`/sessions/${id}`, {
|
|
80
|
+
method: "DELETE",
|
|
81
|
+
});
|
|
82
|
+
if (!res.ok) {
|
|
83
|
+
const body = await res.text().catch(() => "");
|
|
84
|
+
return text(`Failed to close session (${res.status}): ${body}`);
|
|
85
|
+
}
|
|
86
|
+
if (!sid || sid === browserConnection.sessionId) {
|
|
87
|
+
updateBrowserSession(undefined);
|
|
88
|
+
}
|
|
89
|
+
return ok({ closed: true, sessionId: id });
|
|
90
|
+
}
|
|
91
|
+
catch (e) {
|
|
92
|
+
return text(`Failed to close session: ${e.message}`);
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
// ── Browser actions ───────────────────────────────────────
|
|
96
|
+
server.tool("browser_act", "Send a natural-language action to the browser session (e.g. 'click login button', 'type hello into search').", {
|
|
97
|
+
message: z.string().describe("Natural-language action instruction"),
|
|
98
|
+
sessionId: z
|
|
99
|
+
.string()
|
|
100
|
+
.optional()
|
|
101
|
+
.describe("Session ID (defaults to current session)"),
|
|
102
|
+
}, async ({ message, sessionId: sid }) => {
|
|
103
|
+
const err = requireBrowserSession();
|
|
104
|
+
if (err && !sid)
|
|
105
|
+
return err;
|
|
106
|
+
const id = sessionId(sid);
|
|
107
|
+
try {
|
|
108
|
+
const res = await browserFetch(`/sessions/${id}/act`, {
|
|
109
|
+
method: "POST",
|
|
110
|
+
body: JSON.stringify({ message }),
|
|
111
|
+
});
|
|
112
|
+
if (!res.ok) {
|
|
113
|
+
const body = await res.text().catch(() => "");
|
|
114
|
+
return text(`browser_act failed (${res.status}): ${body}`);
|
|
115
|
+
}
|
|
116
|
+
return ok(await res.json());
|
|
117
|
+
}
|
|
118
|
+
catch (e) {
|
|
119
|
+
return text(`browser_act failed: ${e.message}`);
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
server.tool("browser_extract", "Extract structured data from the current browser page using natural-language instructions.", {
|
|
123
|
+
instructions: z.string().describe("What data to extract from the page"),
|
|
124
|
+
sessionId: z
|
|
125
|
+
.string()
|
|
126
|
+
.optional()
|
|
127
|
+
.describe("Session ID (defaults to current session)"),
|
|
128
|
+
}, async ({ instructions, sessionId: sid }) => {
|
|
129
|
+
const err = requireBrowserSession();
|
|
130
|
+
if (err && !sid)
|
|
131
|
+
return err;
|
|
132
|
+
const id = sessionId(sid);
|
|
133
|
+
try {
|
|
134
|
+
const res = await browserFetch(`/sessions/${id}/extract`, {
|
|
135
|
+
method: "POST",
|
|
136
|
+
body: JSON.stringify({ instructions }),
|
|
137
|
+
});
|
|
138
|
+
if (!res.ok) {
|
|
139
|
+
const body = await res.text().catch(() => "");
|
|
140
|
+
return text(`browser_extract failed (${res.status}): ${body}`);
|
|
141
|
+
}
|
|
142
|
+
return ok(await res.json());
|
|
143
|
+
}
|
|
144
|
+
catch (e) {
|
|
145
|
+
return text(`browser_extract failed: ${e.message}`);
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
// ── Screenshot ────────────────────────────────────────────
|
|
149
|
+
server.tool("browser_screenshot", "Take a screenshot of the current browser session", {
|
|
150
|
+
sessionId: z
|
|
151
|
+
.string()
|
|
152
|
+
.optional()
|
|
153
|
+
.describe("Session ID (defaults to current session)"),
|
|
154
|
+
}, async ({ sessionId: sid }) => {
|
|
155
|
+
const err = requireBrowserSession();
|
|
156
|
+
if (err && !sid)
|
|
157
|
+
return err;
|
|
158
|
+
const id = sessionId(sid);
|
|
159
|
+
try {
|
|
160
|
+
const res = await browserFetch(`/sessions/${id}/screenshot`, {
|
|
161
|
+
method: "GET",
|
|
162
|
+
});
|
|
163
|
+
if (!res.ok) {
|
|
164
|
+
const body = await res.text().catch(() => "");
|
|
165
|
+
return text(`browser_screenshot failed (${res.status}): ${body}`);
|
|
166
|
+
}
|
|
167
|
+
const data = (await res.json());
|
|
168
|
+
return {
|
|
169
|
+
content: [
|
|
170
|
+
{
|
|
171
|
+
type: "image",
|
|
172
|
+
data: data.image,
|
|
173
|
+
mimeType: "image/png",
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
type: "text",
|
|
177
|
+
text: json({ sessionId: id }),
|
|
178
|
+
},
|
|
179
|
+
],
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
catch (e) {
|
|
183
|
+
return text(`browser_screenshot failed: ${e.message}`);
|
|
184
|
+
}
|
|
185
|
+
});
|
|
186
|
+
// ── Browser RPA flow creation ─────────────────────────────
|
|
187
|
+
server.tool("create_browser_rpa_flow", "Create a browser RPA flow step that makes HTTP requests to the browser service. Builds the lam.httpRequest program with config variables for the action type.", {
|
|
188
|
+
workflowId: z.number().describe("Workflow ID"),
|
|
189
|
+
name: z.string().describe("Step name"),
|
|
190
|
+
description: z.string().describe("Step description"),
|
|
191
|
+
executionOrder: z.number().describe("Step position (starts at 1)"),
|
|
192
|
+
actionType: z
|
|
193
|
+
.enum(["create_session", "act", "extract", "close_session"])
|
|
194
|
+
.describe("Browser action type"),
|
|
195
|
+
actionPayload: z
|
|
196
|
+
.record(z.string(), z.unknown())
|
|
197
|
+
.optional()
|
|
198
|
+
.describe("Additional payload fields (e.g. { message } for act, { instructions } for extract)"),
|
|
199
|
+
sessionIdRef: z
|
|
200
|
+
.string()
|
|
201
|
+
.optional()
|
|
202
|
+
.describe('Expression to resolve session ID at runtime (e.g. "data.sessionId")'),
|
|
203
|
+
}, async ({ workflowId, name, description, executionOrder, actionType, actionPayload, sessionIdRef, }) => {
|
|
204
|
+
const sidExpr = sessionIdRef ?? "data.sessionId";
|
|
205
|
+
let method;
|
|
206
|
+
let pathExpr;
|
|
207
|
+
let bodyExpr;
|
|
208
|
+
switch (actionType) {
|
|
209
|
+
case "create_session":
|
|
210
|
+
method = "POST";
|
|
211
|
+
pathExpr = "/sessions";
|
|
212
|
+
bodyExpr = "{}";
|
|
213
|
+
break;
|
|
214
|
+
case "act":
|
|
215
|
+
method = "POST";
|
|
216
|
+
pathExpr = `\`/sessions/\${${sidExpr}}/act\``;
|
|
217
|
+
bodyExpr = JSON.stringify(actionPayload ?? { message: "{{data.message}}" });
|
|
218
|
+
break;
|
|
219
|
+
case "extract":
|
|
220
|
+
method = "POST";
|
|
221
|
+
pathExpr = `\`/sessions/\${${sidExpr}}/extract\``;
|
|
222
|
+
bodyExpr = JSON.stringify(actionPayload ?? { instructions: "{{data.instructions}}" });
|
|
223
|
+
break;
|
|
224
|
+
case "close_session":
|
|
225
|
+
method = "DELETE";
|
|
226
|
+
pathExpr = `\`/sessions/\${${sidExpr}}\``;
|
|
227
|
+
bodyExpr = "undefined";
|
|
228
|
+
break;
|
|
229
|
+
}
|
|
230
|
+
const program = `(data) => {
|
|
231
|
+
const sessionPath = ${actionType === "create_session" ? `"${pathExpr}"` : pathExpr};
|
|
232
|
+
return {
|
|
233
|
+
"lam.httpRequest": {
|
|
234
|
+
"method": "${method}",
|
|
235
|
+
"url": \`\${"{{config.browser_service_url}}"}\${sessionPath}\`,
|
|
236
|
+
"headers": {
|
|
237
|
+
"Authorization": "Bearer {{config.browser_service_token}}",
|
|
238
|
+
"Content-Type": "application/json"
|
|
239
|
+
}${bodyExpr !== "undefined" ? `,\n "body": ${bodyExpr}` : ""}
|
|
240
|
+
}
|
|
241
|
+
};
|
|
242
|
+
}`;
|
|
243
|
+
return safe(() => deps.client().createFlow({
|
|
244
|
+
workflowId,
|
|
245
|
+
name,
|
|
246
|
+
description,
|
|
247
|
+
program,
|
|
248
|
+
executionOrder,
|
|
249
|
+
flowType: "HTTP_REQUEST",
|
|
250
|
+
language: "js",
|
|
251
|
+
}));
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
//# sourceMappingURL=browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/tools/browser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-stores.d.ts","sourceRoot":"","sources":["../../src/tools/config-stores.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,QAwHtC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { safe } from "../helpers.js";
|
|
3
|
+
export function register(deps) {
|
|
4
|
+
const { server } = deps;
|
|
5
|
+
server.tool("list_config_stores", "List all configuration stores in a workspace", { workspaceId: z.number().describe("Workspace ID") }, async ({ workspaceId }) => safe(() => deps.client().listConfigStores(workspaceId)));
|
|
6
|
+
server.tool("get_config_store", "Get a configuration store by its external ID", {
|
|
7
|
+
externalId: z.string().describe("Configuration store external ID"),
|
|
8
|
+
workspaceId: z.number().describe("Workspace ID"),
|
|
9
|
+
}, async ({ externalId, workspaceId }) => safe(() => deps.client().getConfigStore(externalId, workspaceId)));
|
|
10
|
+
server.tool("get_config_properties", "Get all properties (key-value pairs) from a configuration store", {
|
|
11
|
+
externalId: z.string().describe("Configuration store external ID"),
|
|
12
|
+
workspaceId: z.number().describe("Workspace ID"),
|
|
13
|
+
}, async ({ externalId, workspaceId }) => safe(() => deps.client().getConfigProperties(externalId, workspaceId)));
|
|
14
|
+
server.tool("get_config_property", "Get a specific property value from a configuration store", {
|
|
15
|
+
externalId: z.string().describe("Configuration store external ID"),
|
|
16
|
+
key: z.string().describe("Property key"),
|
|
17
|
+
workspaceId: z.number().describe("Workspace ID"),
|
|
18
|
+
}, async ({ externalId, key, workspaceId }) => safe(() => deps.client().getConfigProperty(externalId, key, workspaceId)));
|
|
19
|
+
server.tool("update_config_property", "Create or update a property in a configuration store", {
|
|
20
|
+
externalId: z.string().describe("Configuration store external ID"),
|
|
21
|
+
workspaceId: z.number().describe("Workspace ID"),
|
|
22
|
+
key: z.string().describe("Property key"),
|
|
23
|
+
value: z.string().describe("Property value"),
|
|
24
|
+
}, async ({ externalId, workspaceId, key, value }) => safe(() => deps
|
|
25
|
+
.client()
|
|
26
|
+
.updateConfigProperty(externalId, workspaceId, { key, value })));
|
|
27
|
+
server.tool("remove_config_property", "Remove a property from a configuration store", {
|
|
28
|
+
externalId: z.string().describe("Configuration store external ID"),
|
|
29
|
+
key: z.string().describe("Property key"),
|
|
30
|
+
workspaceId: z.number().describe("Workspace ID"),
|
|
31
|
+
}, async ({ externalId, key, workspaceId }) => safe(() => deps.client().removeConfigProperty(externalId, key, workspaceId)));
|
|
32
|
+
server.tool("create_config_store", "Create a new configuration store", {
|
|
33
|
+
workspaceId: z.number().describe("Workspace ID"),
|
|
34
|
+
name: z.string().describe("Config store name"),
|
|
35
|
+
externalId: z
|
|
36
|
+
.string()
|
|
37
|
+
.describe("Unique external ID (used in {{config.xxx}} references)"),
|
|
38
|
+
properties: z
|
|
39
|
+
.array(z.object({
|
|
40
|
+
key: z.string().describe("Property key"),
|
|
41
|
+
value: z.string().describe("Property value"),
|
|
42
|
+
}))
|
|
43
|
+
.describe("Initial properties"),
|
|
44
|
+
}, async (args) => safe(() => deps.client().createConfigStore(args)));
|
|
45
|
+
server.tool("delete_config_store", "Delete (archive) a configuration store", {
|
|
46
|
+
externalId: z.string().describe("Configuration store external ID"),
|
|
47
|
+
workspaceId: z.number().describe("Workspace ID"),
|
|
48
|
+
}, async ({ externalId, workspaceId }) => safe(() => deps.client().deleteConfigStore(externalId, workspaceId)));
|
|
49
|
+
server.tool("restore_config_store", "Restore a previously archived configuration store", {
|
|
50
|
+
externalId: z.string().describe("Configuration store external ID"),
|
|
51
|
+
workspaceId: z.number().describe("Workspace ID"),
|
|
52
|
+
}, async ({ externalId, workspaceId }) => safe(() => deps.client().restoreConfigStore(externalId, workspaceId)));
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=config-stores.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-stores.js","sourceRoot":"","sources":["../../src/tools/config-stores.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/tools/core.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,QAidtC"}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { text, safe } from "../helpers.js";
|
|
3
|
+
export function register(deps) {
|
|
4
|
+
const { server } = deps;
|
|
5
|
+
// ── Auth / User ──────────────────────────────────────────────
|
|
6
|
+
server.tool("get_current_user", "Get the current authenticated user info", {}, async () => safe(() => deps.client().getMe()));
|
|
7
|
+
// ── Workspaces ───────────────────────────────────────────────
|
|
8
|
+
server.tool("list_workspaces", "List all workspaces the user has access to", {}, async () => safe(() => deps.client().listWorkspaces()));
|
|
9
|
+
server.tool("get_workspace", "Get workspace details by ID", { workspaceId: z.number().describe("Workspace ID") }, async ({ workspaceId }) => safe(() => deps.client().getWorkspace(workspaceId)));
|
|
10
|
+
server.tool("get_workspace_users", "List all users in a workspace", { workspaceId: z.number().describe("Workspace ID") }, async ({ workspaceId }) => safe(() => deps.client().getWorkspaceUsers(workspaceId)));
|
|
11
|
+
// ── Workflows ────────────────────────────────────────────────
|
|
12
|
+
server.tool("list_workflows", "List all workflows in a workspace", { workspaceId: z.number().describe("Workspace ID") }, async ({ workspaceId }) => safe(() => deps.client().listWorkflows(workspaceId)));
|
|
13
|
+
server.tool("list_archived_workflows", "List archived workflows in a workspace", { workspaceId: z.number().describe("Workspace ID") }, async ({ workspaceId }) => safe(() => deps.client().listArchivedWorkflows(workspaceId)));
|
|
14
|
+
server.tool("get_workflow", "Get workflow details including name, description, created date", { workflowId: z.number().describe("Workflow ID") }, async ({ workflowId }) => safe(() => deps.client().getWorkflow(workflowId)));
|
|
15
|
+
server.tool("create_workflow", "Create a new workflow in a workspace", {
|
|
16
|
+
workspaceId: z.number().describe("Workspace ID"),
|
|
17
|
+
name: z.string().describe("Workflow name"),
|
|
18
|
+
description: z.string().describe("Workflow description"),
|
|
19
|
+
}, async ({ workspaceId, name, description }) => safe(() => deps.client().createWorkflow({ workspaceId, name, description })));
|
|
20
|
+
server.tool("update_workflow", "Update workflow name and/or description", {
|
|
21
|
+
workflowId: z.number().describe("Workflow ID"),
|
|
22
|
+
name: z.string().optional().describe("New name"),
|
|
23
|
+
description: z.string().optional().describe("New description"),
|
|
24
|
+
}, async ({ workflowId, name, description }) => safe(() => deps.client().updateWorkflow({ workflowId, name, description })));
|
|
25
|
+
server.tool("delete_workflow", "Delete (archive) a workflow", { workflowId: z.number().describe("Workflow ID") }, async ({ workflowId }) => safe(() => deps.client().deleteWorkflow(workflowId)));
|
|
26
|
+
server.tool("restore_workflow", "Restore a previously deleted/archived workflow", { workflowId: z.number().describe("Workflow ID") }, async ({ workflowId }) => safe(() => deps.client().restoreWorkflow(workflowId)));
|
|
27
|
+
server.tool("clone_workflow", "Clone an existing workflow", {
|
|
28
|
+
workflowId: z.number().describe("Source workflow ID"),
|
|
29
|
+
name: z.string().describe("Name for the cloned workflow"),
|
|
30
|
+
workspaceId: z
|
|
31
|
+
.number()
|
|
32
|
+
.optional()
|
|
33
|
+
.describe("Target workspace ID (defaults to same workspace)"),
|
|
34
|
+
}, async ({ workflowId, name, workspaceId }) => safe(() => deps.client().cloneWorkflow(workflowId, { name, workspaceId })));
|
|
35
|
+
// ── Flows (Steps) ──────────────────────────────────────────
|
|
36
|
+
server.tool("list_workflow_flows", "List all flows/steps in a workflow, including their code", { workflowId: z.number().describe("Workflow ID") }, async ({ workflowId }) => safe(() => deps.client().getWorkflowFlows(workflowId)));
|
|
37
|
+
server.tool("get_flow", "Get a single flow/step details", { flowId: z.number().describe("Flow ID") }, async ({ flowId }) => safe(() => deps.client().getFlow(flowId)));
|
|
38
|
+
server.tool("read_flow", "Read the program code of a flow/step", { flowId: z.number().describe("Flow ID") }, async ({ flowId }) => safe(() => deps.client().readFlow(flowId)));
|
|
39
|
+
server.tool("create_flow", "Create a new flow/step in a workflow. flowType: HTTP_REQUEST, GENERAL_FUNCTION, SHELL_SCRIPT, or RPA. language: js or py. For RPA flows: prefer using create_rpa_flow instead — it auto-wraps your Python script in the correct format. If you use this tool directly for RPA, the program MUST be a JS arrow function returning lam.httpRequest or lam.rpa (NOT raw Python).", {
|
|
40
|
+
workflowId: z.number().describe("Workflow ID"),
|
|
41
|
+
name: z.string().describe("Step name"),
|
|
42
|
+
description: z.string().describe("Step description"),
|
|
43
|
+
program: z
|
|
44
|
+
.string()
|
|
45
|
+
.describe("Program code. JS: (data) => { ... } Python: def transform(data): ..."),
|
|
46
|
+
executionOrder: z.number().describe("Step position (starts at 1)"),
|
|
47
|
+
language: z.enum(["js", "py"]).describe("Programming language"),
|
|
48
|
+
flowType: z
|
|
49
|
+
.enum(["HTTP_REQUEST", "GENERAL_FUNCTION", "SHELL_SCRIPT", "RPA"])
|
|
50
|
+
.describe("Flow type"),
|
|
51
|
+
}, async (args) => {
|
|
52
|
+
if (args.flowType === "RPA") {
|
|
53
|
+
if (args.language !== "js") {
|
|
54
|
+
return text(`Error: RPA flows must use language "js", not "${args.language}". The Python script must be embedded inside a JS arrow function. Use the create_rpa_flow tool instead — it handles this automatically.`);
|
|
55
|
+
}
|
|
56
|
+
const prog = args.program.trim();
|
|
57
|
+
if (!prog.includes("lam.httpRequest") && !prog.includes("lam.rpa")) {
|
|
58
|
+
return text(`Error: RPA flow program must be a JS arrow function that returns "lam.httpRequest" or "lam.rpa" with the Python script embedded. You appear to have passed raw Python. Use the create_rpa_flow tool instead — it wraps your Python script in the correct format automatically.`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return safe(() => deps.client().createFlow(args));
|
|
62
|
+
});
|
|
63
|
+
server.tool("create_or_update_flows", "Bulk create or update multiple flows/steps in a workflow at once", {
|
|
64
|
+
workflowId: z.number().describe("Workflow ID"),
|
|
65
|
+
flows: z
|
|
66
|
+
.array(z.object({
|
|
67
|
+
workflowId: z.number(),
|
|
68
|
+
name: z.string(),
|
|
69
|
+
description: z.string(),
|
|
70
|
+
program: z.string(),
|
|
71
|
+
executionOrder: z.number(),
|
|
72
|
+
language: z.string(),
|
|
73
|
+
flowType: z.string(),
|
|
74
|
+
}))
|
|
75
|
+
.describe("Array of flow objects"),
|
|
76
|
+
}, async ({ workflowId, flows }) => safe(() => deps.client().createOrUpdateFlows(workflowId, flows)));
|
|
77
|
+
server.tool("update_flow", "Update an existing flow/step (name, description, program code, language)", {
|
|
78
|
+
flowId: z.number().describe("Flow ID"),
|
|
79
|
+
name: z.string().optional().describe("New name"),
|
|
80
|
+
description: z.string().optional().describe("New description"),
|
|
81
|
+
program: z.string().optional().describe("New program code"),
|
|
82
|
+
language: z.string().optional().describe("New language (js or py)"),
|
|
83
|
+
}, async (args) => safe(() => deps.client().updateFlow(args)));
|
|
84
|
+
server.tool("delete_flow", "Delete a flow/step from a workflow", { flowId: z.number().describe("Flow ID") }, async ({ flowId }) => safe(() => deps.client().deleteFlow(flowId)));
|
|
85
|
+
server.tool("get_flow_versions", "Get version history of a flow/step", { flowId: z.number().describe("Flow ID") }, async ({ flowId }) => safe(() => deps.client().getFlowVersions(flowId)));
|
|
86
|
+
server.tool("read_flow_version", "Read a specific historical version of a flow's code", {
|
|
87
|
+
flowId: z.number().describe("Flow ID"),
|
|
88
|
+
versionId: z.number().describe("Version ID"),
|
|
89
|
+
}, async ({ flowId, versionId }) => safe(() => deps.client().readFlowVersion(flowId, versionId)));
|
|
90
|
+
// ── Executions ─────────────────────────────────────────────
|
|
91
|
+
server.tool("list_executions", "List and search workflow executions with optional filters (date range, status, search text). Paginated.", {
|
|
92
|
+
workflowId: z.number().describe("Workflow ID"),
|
|
93
|
+
page: z.number().optional().describe("Page number (0-based, default 0)"),
|
|
94
|
+
size: z.number().optional().describe("Page size (default 20)"),
|
|
95
|
+
startDate: z
|
|
96
|
+
.string()
|
|
97
|
+
.optional()
|
|
98
|
+
.describe("Filter: start date (ISO 8601)"),
|
|
99
|
+
endDate: z
|
|
100
|
+
.string()
|
|
101
|
+
.optional()
|
|
102
|
+
.describe("Filter: end date (ISO 8601)"),
|
|
103
|
+
search: z.string().optional().describe("Search text"),
|
|
104
|
+
status: z
|
|
105
|
+
.string()
|
|
106
|
+
.optional()
|
|
107
|
+
.describe("Filter: SUCCESS, FAILED, RUNNING, PENDING, SKIPPED, UNKNOWN"),
|
|
108
|
+
configurationId: z
|
|
109
|
+
.union([z.number(), z.string()])
|
|
110
|
+
.optional()
|
|
111
|
+
.describe("Filter by configuration store ID (number or string)"),
|
|
112
|
+
sortDirection: z
|
|
113
|
+
.enum(["asc", "desc"])
|
|
114
|
+
.optional()
|
|
115
|
+
.describe("Sort direction (default desc)"),
|
|
116
|
+
}, async ({ workflowId, ...params }) => safe(() => deps.client().listExecutions(workflowId, params)));
|
|
117
|
+
server.tool("get_execution", "Get full details of a specific workflow execution including all flow run results", {
|
|
118
|
+
workflowId: z.number().describe("Workflow ID"),
|
|
119
|
+
executionId: z.number().describe("Execution ID"),
|
|
120
|
+
}, async ({ workflowId, executionId }) => safe(() => deps.client().getExecution(workflowId, executionId)));
|
|
121
|
+
server.tool("get_execution_status", "Quick lightweight check of execution status (for polling async executions)", {
|
|
122
|
+
workflowId: z.number().describe("Workflow ID"),
|
|
123
|
+
executionId: z.number().describe("Execution ID"),
|
|
124
|
+
}, async ({ workflowId, executionId }) => safe(() => deps.client().getExecutionStatus(workflowId, executionId)));
|
|
125
|
+
server.tool("get_execution_result", "Get only the final result of an execution (last step output)", {
|
|
126
|
+
workflowId: z.number().describe("Workflow ID"),
|
|
127
|
+
executionId: z.number().describe("Execution ID"),
|
|
128
|
+
}, async ({ workflowId, executionId }) => safe(() => deps.client().getExecutionResult(workflowId, executionId)));
|
|
129
|
+
server.tool("get_full_execution", "Get the complete untruncated execution data (large payloads)", {
|
|
130
|
+
workflowId: z.number().describe("Workflow ID"),
|
|
131
|
+
executionId: z.number().describe("Execution ID"),
|
|
132
|
+
}, async ({ workflowId, executionId }) => safe(() => deps.client().getFullExecution(workflowId, executionId)));
|
|
133
|
+
server.tool("get_global_workflow_object", "Get the global workflow object (shared state) for an execution", {
|
|
134
|
+
workflowId: z.number().describe("Workflow ID"),
|
|
135
|
+
executionId: z.number().describe("Execution ID"),
|
|
136
|
+
}, async ({ workflowId, executionId }) => safe(() => deps.client().getGlobalWorkflowObject(workflowId, executionId)));
|
|
137
|
+
server.tool("get_flow_run_response", "Get the full response data for a specific flow run within an execution", {
|
|
138
|
+
workflowId: z.number().describe("Workflow ID"),
|
|
139
|
+
executionId: z.number().describe("Execution ID"),
|
|
140
|
+
flowRunId: z.number().describe("Flow Run ID"),
|
|
141
|
+
}, async ({ workflowId, executionId, flowRunId }) => safe(() => deps.client().getFlowRunResponse(workflowId, executionId, flowRunId)));
|
|
142
|
+
server.tool("get_flow_run_transformation", "Get the transformation/input data for a specific flow run", {
|
|
143
|
+
workflowId: z.number().describe("Workflow ID"),
|
|
144
|
+
executionId: z.number().describe("Execution ID"),
|
|
145
|
+
flowRunId: z.number().describe("Flow Run ID"),
|
|
146
|
+
}, async ({ workflowId, executionId, flowRunId }) => safe(() => deps
|
|
147
|
+
.client()
|
|
148
|
+
.getFlowRunTransformation(workflowId, executionId, flowRunId)));
|
|
149
|
+
server.tool("get_flow_run_program", "Get the program code that was executed for a specific flow run", {
|
|
150
|
+
workflowId: z.number().describe("Workflow ID"),
|
|
151
|
+
executionId: z.number().describe("Execution ID"),
|
|
152
|
+
flowRunId: z.number().describe("Flow Run ID"),
|
|
153
|
+
}, async ({ workflowId, executionId, flowRunId }) => safe(() => deps.client().getFlowRunProgram(workflowId, executionId, flowRunId)));
|
|
154
|
+
// ── Execute ────────────────────────────────────────────────
|
|
155
|
+
server.tool("execute_workflow", "Execute a workflow synchronously and return the result. Pass input data as the body.", {
|
|
156
|
+
workflowId: z.number().describe("Workflow ID"),
|
|
157
|
+
body: z.any().optional().describe("Input data for the workflow (JSON)"),
|
|
158
|
+
configurationId: z
|
|
159
|
+
.union([z.number(), z.string()])
|
|
160
|
+
.optional()
|
|
161
|
+
.describe("Configuration store ID to use (number or string)"),
|
|
162
|
+
startFromStep: z
|
|
163
|
+
.number()
|
|
164
|
+
.optional()
|
|
165
|
+
.describe("Start execution from this step number"),
|
|
166
|
+
endAtStep: z
|
|
167
|
+
.number()
|
|
168
|
+
.optional()
|
|
169
|
+
.describe("End execution at this step number"),
|
|
170
|
+
}, async ({ workflowId, body, configurationId, startFromStep, endAtStep }) => safe(() => deps.client().executeWorkflow(workflowId, body, {
|
|
171
|
+
configuration_id: configurationId,
|
|
172
|
+
start_from_step: startFromStep,
|
|
173
|
+
end_at_step: endAtStep,
|
|
174
|
+
})));
|
|
175
|
+
server.tool("execute_workflow_async", "Trigger an async workflow execution. Returns an execution ID for polling.", {
|
|
176
|
+
workflowId: z.number().describe("Workflow ID"),
|
|
177
|
+
body: z.any().optional().describe("Input data for the workflow (JSON)"),
|
|
178
|
+
configurationId: z
|
|
179
|
+
.union([z.number(), z.string()])
|
|
180
|
+
.optional()
|
|
181
|
+
.describe("Configuration store ID to use (number or string)"),
|
|
182
|
+
startFromStep: z
|
|
183
|
+
.number()
|
|
184
|
+
.optional()
|
|
185
|
+
.describe("Start execution from this step number"),
|
|
186
|
+
endAtStep: z
|
|
187
|
+
.number()
|
|
188
|
+
.optional()
|
|
189
|
+
.describe("End execution at this step number"),
|
|
190
|
+
}, async ({ workflowId, body, configurationId, startFromStep, endAtStep }) => safe(() => deps.client().executeWorkflowAsync(workflowId, body, {
|
|
191
|
+
configuration_id: configurationId,
|
|
192
|
+
start_from_step: startFromStep,
|
|
193
|
+
end_at_step: endAtStep,
|
|
194
|
+
})));
|
|
195
|
+
// ── Conversations ──────────────────────────────────────────
|
|
196
|
+
server.tool("list_conversations", "List all AI conversations for a workflow", { workflowId: z.number().describe("Workflow ID") }, async ({ workflowId }) => safe(() => deps.client().listConversations(workflowId)));
|
|
197
|
+
server.tool("get_conversation_messages", "Get all messages from a specific workflow conversation", {
|
|
198
|
+
workflowId: z.number().describe("Workflow ID"),
|
|
199
|
+
conversationId: z.number().describe("Conversation ID"),
|
|
200
|
+
}, async ({ workflowId, conversationId }) => safe(() => deps.client().getConversationMessages(workflowId, conversationId)));
|
|
201
|
+
}
|
|
202
|
+
//# sourceMappingURL=core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/tools/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cron.d.ts","sourceRoot":"","sources":["../../src/tools/cron.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAO5C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,QAiNtC"}
|