@rudderhq/agent-runtime-utils 0.5.1 → 0.5.2-canary.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.
@@ -2,19 +2,20 @@ import { promises as fs } from "node:fs";
2
2
  import os from "node:os";
3
3
  import path from "node:path";
4
4
  import { afterEach, describe, expect, it } from "vitest";
5
- import { assertRudderMcpCoreAvailable, preflightRudderMcpServer, } from "./rudder-mcp-preflight.js";
6
- import { RUDDER_BROWSER_MCP_CONTRACT_HASH, RUDDER_BROWSER_MCP_TOOL_NAMES, RUDDER_CORE_MCP_CONTRACT_HASH, RUDDER_MCP_CANONICAL_TOOL_CONTRACTS, RUDDER_MCP_CONTRACT_VERSION, } from "./rudder-mcp.js";
5
+ import { assertRudderMcpCoreAvailable, preflightRudderBrowserMcpServer, preflightRudderMcpServer, } from "./rudder-mcp-preflight.js";
6
+ import { RUDDER_BROWSER_MCP_CONTRACT_HASH, RUDDER_BROWSER_MCP_TOOL_NAMES, RUDDER_CORE_MCP_CONTRACT_HASH, RUDDER_CORE_MCP_TOOL_NAMES, RUDDER_MCP_CANONICAL_TOOL_CONTRACTS, RUDDER_MCP_CONTRACT_VERSION, } from "./rudder-mcp.js";
7
7
  const roots = [];
8
8
  afterEach(async () => {
9
9
  await Promise.all(roots.splice(0).map((root) => fs.rm(root, { recursive: true, force: true })));
10
10
  });
11
- async function fixtureCommand(mode, expectedVersion = "0.4.6") {
11
+ async function fixtureCommand(mode, expectedVersion = "0.4.6", surface = "control-plane") {
12
12
  const root = await fs.mkdtemp(path.join(os.tmpdir(), "rudder-mcp-preflight-"));
13
13
  roots.push(root);
14
14
  const script = path.join(root, "server.mjs");
15
15
  await fs.writeFile(script, `
16
16
  import readline from "node:readline";
17
17
  const mode = process.env.RUDDER_PREFLIGHT_FIXTURE_MODE;
18
+ const surface = process.env.RUDDER_PREFLIGHT_FIXTURE_SURFACE;
18
19
  const canonicalTools = ${JSON.stringify(RUDDER_MCP_CANONICAL_TOOL_CONTRACTS)};
19
20
  const canonicalByName = new Map(canonicalTools.map((tool) => [tool.name, tool]));
20
21
  const browserTools = canonicalTools.filter((tool) => tool.name.startsWith("rudder_browser_")).map((tool) => tool.name);
@@ -26,6 +27,7 @@ function advertisedName(name) {
26
27
  if (mode === "whitespace-browser-name" && name === browserTools[0]) return " " + name + " ";
27
28
  return name;
28
29
  }
30
+
29
31
  function advertisedDescription(name) {
30
32
  const description = canonicalByName.get(name)?.description ?? "Forged Rudder MCP tool.";
31
33
  if (mode === "semantic-core-description" && name === coreTools[0]) return description + " changed";
@@ -84,7 +86,8 @@ for await (const line of lines) {
84
86
  coreContractHash: ${JSON.stringify(RUDDER_CORE_MCP_CONTRACT_HASH)},
85
87
  browserContractHash: hash,
86
88
  } } },
87
- serverInfo: { name: mode === "server" || desktopCliEntryLeaked ? "not-rudder" : "rudder-tools", version },
89
+ serverInfo: { name: mode === "server" || desktopCliEntryLeaked ? "not-rudder" : surface === "browser" ? "rudder-browser" : "rudder-tools", version },
90
+
88
91
  } }));
89
92
  }
90
93
  if (request.method === "tools/list") {
@@ -108,7 +111,7 @@ for await (const line of lines) {
108
111
  const selectedBrowserTools = process.env.RUDDER_BROWSER_ENABLED === "true" || mode === "version-ignore-browser-env"
109
112
  ? (mode === "tools" ? browserTools.slice(0, -1) : browserTools)
110
113
  : [];
111
- const tools = [...selectedCoreTools, ...selectedBrowserTools];
114
+ const tools = surface === "browser" ? selectedBrowserTools : [...selectedCoreTools, ...selectedBrowserTools];
112
115
  console.log(JSON.stringify({ jsonrpc: "2.0", id: request.id, result: {
113
116
  tools: tools.map((name) => ({
114
117
  name: advertisedName(name),
@@ -122,30 +125,94 @@ for await (const line of lines) {
122
125
  return {
123
126
  command: process.execPath,
124
127
  args: [script],
125
- env: { RUDDER_PREFLIGHT_FIXTURE_MODE: mode },
128
+ env: { RUDDER_PREFLIGHT_FIXTURE_MODE: mode, RUDDER_PREFLIGHT_FIXTURE_SURFACE: surface },
129
+ provenance: "repo",
130
+ expectedVersion,
131
+ };
132
+ }
133
+ async function browserFixtureCommand(expectedVersion = "0.4.6") {
134
+ const root = await fs.mkdtemp(path.join(os.tmpdir(), "rudder-browser-mcp-preflight-"));
135
+ roots.push(root);
136
+ const script = path.join(root, "server.mjs");
137
+ const browserContracts = RUDDER_MCP_CANONICAL_TOOL_CONTRACTS
138
+ .filter((tool) => tool.name.startsWith("rudder_browser_"));
139
+ await fs.writeFile(script, `
140
+ import readline from "node:readline";
141
+ const tools = ${JSON.stringify(browserContracts)};
142
+ const lines = readline.createInterface({ input: process.stdin });
143
+ for await (const line of lines) {
144
+ const request = JSON.parse(line);
145
+ if (request.id == null) continue;
146
+ if (request.method === "initialize") {
147
+ console.log(JSON.stringify({ jsonrpc: "2.0", id: request.id, result: {
148
+ protocolVersion: "2024-11-05",
149
+ capabilities: { tools: {}, experimental: { rudder: {
150
+ contractVersion: ${JSON.stringify(RUDDER_MCP_CONTRACT_VERSION)},
151
+ coreContractHash: ${JSON.stringify(RUDDER_CORE_MCP_CONTRACT_HASH)},
152
+ browserContractHash: ${JSON.stringify(RUDDER_BROWSER_MCP_CONTRACT_HASH)},
153
+ } } },
154
+ serverInfo: { name: "rudder-browser", version: "0.4.6" },
155
+ } }));
156
+ }
157
+ if (request.method === "tools/list") {
158
+ console.log(JSON.stringify({ jsonrpc: "2.0", id: request.id, result: { tools } }));
159
+ }
160
+ }
161
+ `, "utf8");
162
+ return {
163
+ command: process.execPath,
164
+ args: [script],
126
165
  provenance: "repo",
127
166
  expectedVersion,
128
167
  };
129
168
  }
130
169
  describe("preflightRudderMcpServer", () => {
131
- it("accepts the exact version, contract hash, and eight Browser tools", async () => {
170
+ it("does not validate or retain Browser contract state for the core server", async () => {
132
171
  const result = await preflightRudderMcpServer({
133
- command: await fixtureCommand("ok"),
172
+ command: await fixtureCommand("contract"),
134
173
  runtimeEnv: {},
135
174
  browserEnabled: true,
136
175
  });
176
+ expect(result).toMatchObject({
177
+ available: true,
178
+ coreContractHash: RUDDER_CORE_MCP_CONTRACT_HASH,
179
+ diagnosticCode: null,
180
+ });
181
+ expect(result.tools.map((tool) => tool.name)).toEqual([...RUDDER_CORE_MCP_TOOL_NAMES]);
182
+ expect(result).not.toHaveProperty("browserAvailable");
183
+ expect(result).not.toHaveProperty("contractHash");
184
+ });
185
+ it("verifies the isolated Browser server identity and exact semantic manifest", async () => {
186
+ const result = await preflightRudderBrowserMcpServer({
187
+ command: await browserFixtureCommand(),
188
+ runtimeEnv: {},
189
+ });
137
190
  expect(result).toMatchObject({
138
191
  available: true,
139
192
  browserAvailable: true,
193
+ contractVersion: RUDDER_MCP_CONTRACT_VERSION,
194
+ contractHash: RUDDER_BROWSER_MCP_CONTRACT_HASH,
195
+ diagnosticCode: null,
196
+ });
197
+ expect(result.tools.map((tool) => tool.name)).toEqual([...RUDDER_BROWSER_MCP_TOOL_NAMES]);
198
+ });
199
+ it("accepts the exact isolated core manifest and ignores the deprecated Browser flag", async () => {
200
+ const result = await preflightRudderMcpServer({
201
+ command: await fixtureCommand("ok"),
202
+ runtimeEnv: {},
203
+ browserEnabled: true,
204
+ });
205
+ expect(result).toMatchObject({
206
+ available: true,
140
207
  provenance: "repo",
141
208
  version: "0.4.6",
142
209
  contractVersion: RUDDER_MCP_CONTRACT_VERSION,
143
210
  coreContractHash: RUDDER_CORE_MCP_CONTRACT_HASH,
144
- contractHash: RUDDER_BROWSER_MCP_CONTRACT_HASH,
145
211
  diagnosticCode: null,
146
212
  });
147
- expect(result.tools.map((tool) => tool.name).filter((name) => name.startsWith("rudder_browser_")))
148
- .toEqual([...RUDDER_BROWSER_MCP_TOOL_NAMES]);
213
+ expect(result.tools.map((tool) => tool.name)).toEqual([...RUDDER_CORE_MCP_TOOL_NAMES]);
214
+ expect(result).not.toHaveProperty("browserAvailable");
215
+ expect(result).not.toHaveProperty("contractHash");
149
216
  });
150
217
  it("accepts the recursive schema dialect emitted by the canonical registry", async () => {
151
218
  const result = await preflightRudderMcpServer({
@@ -153,35 +220,33 @@ describe("preflightRudderMcpServer", () => {
153
220
  runtimeEnv: {},
154
221
  browserEnabled: true,
155
222
  });
156
- expect(result).toMatchObject({ available: true, browserAvailable: true, diagnosticCode: null });
223
+ expect(result).toMatchObject({ available: true, diagnosticCode: null });
157
224
  });
158
225
  it.each([
159
- ["server", "browser_bundle_server_mismatch"],
160
- ["version", "browser_bundle_version_mismatch"],
161
- ["contract", "browser_bundle_contract_mismatch"],
162
- ["tools", "browser_bundle_tools_mismatch"],
163
- ["exit", "browser_bundle_handshake_failed"],
164
- ])("degrades Browser with a stable diagnostic for %s mismatch", async (mode, diagnosticCode) => {
226
+ ["server", "core_bundle_server_mismatch"],
227
+ ["version", "core_bundle_version_mismatch"],
228
+ ["exit", "core_bundle_handshake_failed"],
229
+ ])("fails isolated core preflight with a stable diagnostic for %s", async (mode, diagnosticCode) => {
165
230
  const result = await preflightRudderMcpServer({
166
231
  command: await fixtureCommand(mode),
167
232
  runtimeEnv: {},
168
233
  browserEnabled: true,
169
234
  });
170
- expect(result.browserAvailable).toBe(false);
235
+ expect(result.available).toBe(false);
171
236
  expect(result.diagnosticCode).toBe(diagnosticCode);
237
+ expect(result).not.toHaveProperty("browserAvailable");
238
+ expect(result).not.toHaveProperty("contractHash");
172
239
  });
173
- it("fails closed when Browser downgrade cannot establish an exact core-only provider surface", async () => {
240
+ it("rejects Browser tools leaked onto the isolated core server", async () => {
174
241
  const result = await preflightRudderMcpServer({
175
- command: await fixtureCommand("version-ignore-browser-env"),
242
+ command: await fixtureCommand("version-ignore-browser-env", "0.4.5"),
176
243
  runtimeEnv: {},
177
244
  browserEnabled: true,
178
245
  });
179
246
  expect(result).toMatchObject({
180
247
  available: false,
181
- browserAvailable: false,
182
- diagnosticCode: "browser_bundle_handshake_failed",
248
+ diagnosticCode: "core_bundle_tools_mismatch",
183
249
  });
184
- expect(result.diagnostic).toContain("exact core-only provider surface");
185
250
  expect(() => assertRudderMcpCoreAvailable(result)).toThrow(/Rudder MCP/u);
186
251
  });
187
252
  it("does not expose the private Desktop CLI entry to the preflight child", async () => {
@@ -190,16 +255,7 @@ describe("preflightRudderMcpServer", () => {
190
255
  runtimeEnv: { RUDDER_DESKTOP_CLI_ENTRY: "/private/Desktop.app/desktop-cli.js" },
191
256
  browserEnabled: true,
192
257
  });
193
- expect(result).toMatchObject({ available: true, browserAvailable: true, diagnosticCode: null });
194
- });
195
- it.each(["server", "exit"])("fails core MCP fast for %s failure", async (mode) => {
196
- const result = await preflightRudderMcpServer({
197
- command: await fixtureCommand(mode),
198
- runtimeEnv: {},
199
- browserEnabled: true,
200
- });
201
- expect(result.available).toBe(false);
202
- expect(() => assertRudderMcpCoreAvailable(result)).toThrow(/Rudder MCP/u);
258
+ expect(result).toMatchObject({ available: true, diagnosticCode: null });
203
259
  });
204
260
  it("reports the exit context and trailing stderr detail", async () => {
205
261
  const result = await preflightRudderMcpServer({
@@ -231,8 +287,7 @@ describe("preflightRudderMcpServer", () => {
231
287
  });
232
288
  expect(result).toMatchObject({
233
289
  available: false,
234
- browserAvailable: false,
235
- diagnosticCode: "browser_bundle_handshake_failed",
290
+ diagnosticCode: "core_bundle_tools_mismatch",
236
291
  });
237
292
  expect(() => assertRudderMcpCoreAvailable(result)).toThrow(/Rudder MCP/u);
238
293
  });
@@ -245,29 +300,20 @@ describe("preflightRudderMcpServer", () => {
245
300
  expect(result).toMatchObject({
246
301
  available: false,
247
302
  coreContractHash: RUDDER_CORE_MCP_CONTRACT_HASH,
248
- contractHash: RUDDER_BROWSER_MCP_CONTRACT_HASH,
249
- diagnosticCode: "browser_bundle_handshake_failed",
303
+ diagnosticCode: "core_bundle_tools_mismatch",
250
304
  });
251
305
  expect(() => assertRudderMcpCoreAvailable(result)).toThrow(/Rudder MCP/u);
252
306
  });
253
- it("keeps canonical core MCP while degrading Browser for a malformed Browser schema", async () => {
254
- const result = await preflightRudderMcpServer({
255
- command: await fixtureCommand("malformed-browser-schema"),
256
- runtimeEnv: {},
257
- browserEnabled: true,
258
- });
259
- expect(result).toMatchObject({
260
- available: true,
261
- browserAvailable: false,
262
- diagnosticCode: "browser_bundle_tools_mismatch",
263
- });
264
- expect(() => assertRudderMcpCoreAvailable(result)).not.toThrow();
265
- });
266
307
  it.each([
308
+ "contract",
309
+ "tools",
310
+ "malformed-browser-schema",
267
311
  "whitespace-browser-name",
268
312
  "malformed-browser-keyword",
269
313
  "unsupported-browser-schema-draft",
270
- ])("keeps canonical core MCP while degrading Browser for %s", async (mode) => {
314
+ "semantic-browser-required",
315
+ "semantic-browser-description",
316
+ ])("ignores Browser-only failure mode %s during isolated core preflight", async (mode) => {
271
317
  const result = await preflightRudderMcpServer({
272
318
  command: await fixtureCommand(mode),
273
319
  runtimeEnv: {},
@@ -275,41 +321,59 @@ describe("preflightRudderMcpServer", () => {
275
321
  });
276
322
  expect(result).toMatchObject({
277
323
  available: true,
278
- browserAvailable: false,
279
- diagnosticCode: "browser_bundle_tools_mismatch",
324
+ diagnosticCode: null,
280
325
  });
326
+ expect(result).not.toHaveProperty("browserAvailable");
327
+ expect(result).not.toHaveProperty("contractHash");
281
328
  expect(() => assertRudderMcpCoreAvailable(result)).not.toThrow();
282
329
  });
283
- it.each(["semantic-browser-required", "semantic-browser-description"])("degrades Browser for legal semantic forgery %s despite matching advertised hashes", async (mode) => {
330
+ it("rejects a forged core name even alongside all Browser names and malformed schemas", async () => {
284
331
  const result = await preflightRudderMcpServer({
285
- command: await fixtureCommand(mode),
332
+ command: await fixtureCommand("forged-core-malformed-schema"),
286
333
  runtimeEnv: {},
287
334
  browserEnabled: true,
288
335
  });
336
+ expect(result).toMatchObject({
337
+ available: false,
338
+ diagnosticCode: "core_bundle_tools_mismatch",
339
+ });
340
+ expect(result.tools.map((tool) => tool.name)).toEqual(["rudder_forged_core"]);
341
+ });
342
+ });
343
+ describe("preflightRudderBrowserMcpServer", () => {
344
+ it("accepts the exact separate Browser server identity and semantic manifest", async () => {
345
+ const result = await preflightRudderBrowserMcpServer({
346
+ command: await fixtureCommand("ok", "0.4.6", "browser"),
347
+ runtimeEnv: {},
348
+ });
289
349
  expect(result).toMatchObject({
290
350
  available: true,
291
- browserAvailable: false,
292
- coreContractHash: RUDDER_CORE_MCP_CONTRACT_HASH,
351
+ browserAvailable: true,
352
+ provenance: "repo",
353
+ version: "0.4.6",
354
+ contractVersion: RUDDER_MCP_CONTRACT_VERSION,
293
355
  contractHash: RUDDER_BROWSER_MCP_CONTRACT_HASH,
294
- diagnosticCode: "browser_bundle_tools_mismatch",
356
+ diagnosticCode: null,
295
357
  });
296
- expect(() => assertRudderMcpCoreAvailable(result)).not.toThrow();
358
+ expect(result.tools.map((tool) => tool.name)).toEqual([...RUDDER_BROWSER_MCP_TOOL_NAMES]);
297
359
  });
298
- it("rejects a forged core name even alongside all eight Browser names and malformed schemas", async () => {
299
- const result = await preflightRudderMcpServer({
300
- command: await fixtureCommand("forged-core-malformed-schema"),
360
+ it.each([
361
+ ["server", "browser_bundle_server_mismatch"],
362
+ ["version", "browser_bundle_version_mismatch"],
363
+ ["contract", "browser_bundle_contract_mismatch"],
364
+ ["tools", "browser_bundle_tools_mismatch"],
365
+ ["exit", "browser_bundle_handshake_failed"],
366
+ ])("disables only the separate Browser surface for %s mismatch", async (mode, diagnosticCode) => {
367
+ const result = await preflightRudderBrowserMcpServer({
368
+ command: await fixtureCommand(mode, "0.4.6", "browser"),
301
369
  runtimeEnv: {},
302
- browserEnabled: true,
303
370
  });
304
371
  expect(result).toMatchObject({
305
- available: false,
372
+ available: true,
306
373
  browserAvailable: false,
307
- diagnosticCode: "browser_bundle_handshake_failed",
374
+ diagnosticCode,
308
375
  });
309
- expect(result.tools.map((tool) => tool.name)).toEqual([
310
- "rudder_forged_core",
311
- ...RUDDER_BROWSER_MCP_TOOL_NAMES,
312
- ]);
376
+ expect(() => assertRudderMcpCoreAvailable(result)).not.toThrow();
313
377
  });
314
378
  });
315
379
  //# sourceMappingURL=rudder-mcp-preflight.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rudder-mcp-preflight.test.js","sourceRoot":"","sources":["../src/rudder-mcp-preflight.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rudder-mcp-preflight.test.js","sourceRoot":"","sources":["../src/rudder-mcp-preflight.test.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import { type RudderMcpCliCommand } from "./rudder-mcp.js";
2
2
  export declare function resolveRudderMcpCliCommand(moduleDir: string): Promise<RudderMcpCliCommand>;
3
+ export declare function resolveRudderBrowserMcpCliCommand(moduleDir: string): Promise<RudderMcpCliCommand>;
3
4
  //# sourceMappingURL=rudder-mcp-server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rudder-mcp-server.d.ts","sourceRoot":"","sources":["../src/rudder-mcp-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAGhF,wBAAsB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAehG"}
1
+ {"version":3,"file":"rudder-mcp-server.d.ts","sourceRoot":"","sources":["../src/rudder-mcp-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,iBAAiB,CAAC;AAGzB,wBAAsB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAehG;AAED,wBAAsB,iCAAiC,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAevG"}
@@ -1,4 +1,4 @@
1
- import { rudderMcpCliCommand } from "./rudder-mcp.js";
1
+ import { rudderBrowserMcpCliCommand, rudderMcpCliCommand, } from "./rudder-mcp.js";
2
2
  import { materializeRudderCliShim, resolveRudderCliShimTarget } from "./server-utils.cli.js";
3
3
  export async function resolveRudderMcpCliCommand(moduleDir) {
4
4
  const target = await resolveRudderCliShimTarget(moduleDir);
@@ -16,4 +16,20 @@ export async function resolveRudderMcpCliCommand(moduleDir) {
16
16
  expectedVersion: target.version,
17
17
  };
18
18
  }
19
+ export async function resolveRudderBrowserMcpCliCommand(moduleDir) {
20
+ const target = await resolveRudderCliShimTarget(moduleDir);
21
+ if (!target)
22
+ return rudderBrowserMcpCliCommand();
23
+ const cliShim = await materializeRudderCliShim(target);
24
+ return {
25
+ command: target.command,
26
+ args: [...target.args, "mcp-server", "--server", "browser"],
27
+ env: {
28
+ ...(target.env ?? {}),
29
+ RUDDER_MCP_RUDDER_BIN: cliShim,
30
+ },
31
+ provenance: target.provenance,
32
+ expectedVersion: target.version,
33
+ };
34
+ }
19
35
  //# sourceMappingURL=rudder-mcp-server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rudder-mcp-server.js","sourceRoot":"","sources":["../src/rudder-mcp-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAA4B,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAE7F,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,SAAiB;IAChE,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,SAAS,CAAC,CAAC;IAC3D,IAAI,CAAC,MAAM;QAAE,OAAO,mBAAmB,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAEvD,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC;QACpC,GAAG,EAAE;YACH,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;YACrB,qBAAqB,EAAE,OAAO;SAC/B;QACD,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,eAAe,EAAE,MAAM,CAAC,OAAO;KAChC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"rudder-mcp-server.js","sourceRoot":"","sources":["../src/rudder-mcp-server.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,GAEpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAE7F,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,SAAiB;IAChE,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,SAAS,CAAC,CAAC;IAC3D,IAAI,CAAC,MAAM;QAAE,OAAO,mBAAmB,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAEvD,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC;QACpC,GAAG,EAAE;YACH,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;YACrB,qBAAqB,EAAE,OAAO;SAC/B;QACD,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,eAAe,EAAE,MAAM,CAAC,OAAO;KAChC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iCAAiC,CAAC,SAAiB;IACvE,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,SAAS,CAAC,CAAC;IAC3D,IAAI,CAAC,MAAM;QAAE,OAAO,0BAA0B,EAAE,CAAC;IACjD,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAEvD,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,CAAC;QAC3D,GAAG,EAAE;YACH,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;YACrB,qBAAqB,EAAE,OAAO;SAC/B;QACD,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,eAAe,EAAE,MAAM,CAAC,OAAO;KAChC,CAAC;AACJ,CAAC"}
@@ -310,6 +310,14 @@ export declare const RUDDER_MCP_TOOL_DESCRIPTORS: readonly [{
310
310
  readonly requiresOrgId: true;
311
311
  readonly requiresAgentId: true;
312
312
  readonly attachesRunIdWhenAvailable: false;
313
+ }, {
314
+ readonly capabilityId: "browser.user-tabs";
315
+ readonly name: "rudder_browser_user_tabs";
316
+ readonly description: "List user-visible tabs currently open in Rudder's built-in Browser without taking control of them.";
317
+ readonly mutating: false;
318
+ readonly requiresOrgId: true;
319
+ readonly requiresAgentId: true;
320
+ readonly attachesRunIdWhenAvailable: false;
313
321
  }, {
314
322
  readonly capabilityId: "browser.open";
315
323
  readonly name: "rudder_browser_open";
@@ -326,6 +334,134 @@ export declare const RUDDER_MCP_TOOL_DESCRIPTORS: readonly [{
326
334
  readonly requiresOrgId: true;
327
335
  readonly requiresAgentId: true;
328
336
  readonly attachesRunIdWhenAvailable: true;
337
+ }, {
338
+ readonly capabilityId: "browser.back";
339
+ readonly name: "rudder_browser_back";
340
+ readonly description: "Navigate a run-owned Rudder Browser tab back in history.";
341
+ readonly mutating: true;
342
+ readonly requiresOrgId: true;
343
+ readonly requiresAgentId: true;
344
+ readonly attachesRunIdWhenAvailable: true;
345
+ }, {
346
+ readonly capabilityId: "browser.forward";
347
+ readonly name: "rudder_browser_forward";
348
+ readonly description: "Navigate a run-owned Rudder Browser tab forward in history.";
349
+ readonly mutating: true;
350
+ readonly requiresOrgId: true;
351
+ readonly requiresAgentId: true;
352
+ readonly attachesRunIdWhenAvailable: true;
353
+ }, {
354
+ readonly capabilityId: "browser.reload";
355
+ readonly name: "rudder_browser_reload";
356
+ readonly description: "Reload a run-owned Rudder Browser tab.";
357
+ readonly mutating: true;
358
+ readonly requiresOrgId: true;
359
+ readonly requiresAgentId: true;
360
+ readonly attachesRunIdWhenAvailable: true;
361
+ }, {
362
+ readonly capabilityId: "browser.viewport";
363
+ readonly name: "rudder_browser_viewport";
364
+ readonly description: "Inspect, set, or reset the responsive viewport for the current Rudder Browser run.";
365
+ readonly mutating: true;
366
+ readonly requiresOrgId: true;
367
+ readonly requiresAgentId: true;
368
+ readonly attachesRunIdWhenAvailable: true;
369
+ }, {
370
+ readonly capabilityId: "browser.visibility";
371
+ readonly name: "rudder_browser_visibility";
372
+ readonly description: "Inspect or change whether the current run's selected Rudder Browser tab is visible.";
373
+ readonly mutating: true;
374
+ readonly requiresOrgId: true;
375
+ readonly requiresAgentId: true;
376
+ readonly attachesRunIdWhenAvailable: true;
377
+ }, {
378
+ readonly capabilityId: "browser.snapshot";
379
+ readonly name: "rudder_browser_snapshot";
380
+ readonly description: "Capture a bounded DOM and accessibility-oriented snapshot, including frame structure and ephemeral node ids.";
381
+ readonly mutating: false;
382
+ readonly requiresOrgId: true;
383
+ readonly requiresAgentId: true;
384
+ readonly attachesRunIdWhenAvailable: true;
385
+ }, {
386
+ readonly capabilityId: "browser.locator";
387
+ readonly name: "rudder_browser_locator";
388
+ readonly description: "Perform read-only bounded Browser locator text, attribute, state, count, or wait operations.";
389
+ readonly mutating: false;
390
+ readonly requiresOrgId: true;
391
+ readonly requiresAgentId: true;
392
+ readonly attachesRunIdWhenAvailable: true;
393
+ }, {
394
+ readonly capabilityId: "browser.cua";
395
+ readonly name: "rudder_browser_cua";
396
+ readonly description: "Perform trusted coordinate mouse, scroll, drag, keyboard, and text input in a run-owned Browser tab.";
397
+ readonly mutating: true;
398
+ readonly requiresOrgId: true;
399
+ readonly requiresAgentId: true;
400
+ readonly attachesRunIdWhenAvailable: true;
401
+ }, {
402
+ readonly capabilityId: "browser.dom-cua";
403
+ readonly name: "rudder_browser_dom_cua";
404
+ readonly description: "Inspect a bounded read-only DOM snapshot with ephemeral node ids.";
405
+ readonly mutating: false;
406
+ readonly requiresOrgId: true;
407
+ readonly requiresAgentId: true;
408
+ readonly attachesRunIdWhenAvailable: true;
409
+ }, {
410
+ readonly capabilityId: "browser.dialog";
411
+ readonly name: "rudder_browser_dialog";
412
+ readonly description: "Inspect, accept, or dismiss the active JavaScript dialog in a run-owned Browser tab.";
413
+ readonly mutating: true;
414
+ readonly requiresOrgId: true;
415
+ readonly requiresAgentId: true;
416
+ readonly attachesRunIdWhenAvailable: true;
417
+ }, {
418
+ readonly capabilityId: "browser.clipboard";
419
+ readonly name: "rudder_browser_clipboard";
420
+ readonly description: "Read or write the isolated virtual clipboard for the current Browser run without touching the OS clipboard.";
421
+ readonly mutating: true;
422
+ readonly requiresOrgId: true;
423
+ readonly requiresAgentId: true;
424
+ readonly attachesRunIdWhenAvailable: true;
425
+ }, {
426
+ readonly capabilityId: "browser.logs";
427
+ readonly name: "rudder_browser_logs";
428
+ readonly description: "Read bounded console and runtime logs captured for a run-owned Browser tab.";
429
+ readonly mutating: true;
430
+ readonly requiresOrgId: true;
431
+ readonly requiresAgentId: true;
432
+ readonly attachesRunIdWhenAvailable: true;
433
+ }, {
434
+ readonly capabilityId: "browser.download";
435
+ readonly name: "rudder_browser_download";
436
+ readonly description: "Download explicit locator media without dispatching page input into a bounded run-owned artifact.";
437
+ readonly mutating: true;
438
+ readonly requiresOrgId: true;
439
+ readonly requiresAgentId: true;
440
+ readonly attachesRunIdWhenAvailable: true;
441
+ }, {
442
+ readonly capabilityId: "browser.assets";
443
+ readonly name: "rudder_browser_assets";
444
+ readonly description: "List page assets or bundle an explicit bounded selection into a run-owned temporary artifact.";
445
+ readonly mutating: true;
446
+ readonly requiresOrgId: true;
447
+ readonly requiresAgentId: true;
448
+ readonly attachesRunIdWhenAvailable: true;
449
+ }, {
450
+ readonly capabilityId: "browser.content";
451
+ readonly name: "rudder_browser_content";
452
+ readonly description: "Export current page content or an eligible Google Workspace document into a bounded run-owned artifact.";
453
+ readonly mutating: true;
454
+ readonly requiresOrgId: true;
455
+ readonly requiresAgentId: true;
456
+ readonly attachesRunIdWhenAvailable: true;
457
+ }, {
458
+ readonly capabilityId: "browser.wait";
459
+ readonly name: "rudder_browser_wait";
460
+ readonly description: "Wait for bounded URL, text, disappearance, or time conditions in a run-owned Browser tab.";
461
+ readonly mutating: false;
462
+ readonly requiresOrgId: true;
463
+ readonly requiresAgentId: true;
464
+ readonly attachesRunIdWhenAvailable: true;
329
465
  }, {
330
466
  readonly capabilityId: "browser.read";
331
467
  readonly name: "rudder_browser_read";
@@ -616,5 +752,5 @@ export declare const RUDDER_MCP_TOOL_DESCRIPTORS: readonly [{
616
752
  readonly attachesRunIdWhenAvailable: true;
617
753
  }];
618
754
  export declare const GENERATED_RUDDER_CORE_MCP_CONTRACT_HASH = "998b5f7a23d57634148a59a04f002b46b480570952d9f7eb4a9fa559f756cb7c";
619
- export declare const GENERATED_RUDDER_BROWSER_MCP_CONTRACT_HASH = "c4d41b5aaa22d76e528877c17cee84e0fb363b38ebe9d2ff4e1c36a46edecfbe";
755
+ export declare const GENERATED_RUDDER_BROWSER_MCP_CONTRACT_HASH = "640c060df9ef9ae3c649d973d123fdcfc0d1456217cbe1ec48dbba337de75923";
620
756
  //# sourceMappingURL=rudder-mcp-tool-descriptors.generated.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rudder-mcp-tool-descriptors.generated.d.ts","sourceRoot":"","sources":["../src/rudder-mcp-tool-descriptors.generated.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsrB9B,CAAC;AACX,eAAO,MAAM,uCAAuC,qEAAqE,CAAC;AAC1H,eAAO,MAAM,0CAA0C,qEAAqE,CAAC"}
1
+ {"version":3,"file":"rudder-mcp-tool-descriptors.generated.d.ts","sourceRoot":"","sources":["../src/rudder-mcp-tool-descriptors.generated.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+0B9B,CAAC;AACX,eAAO,MAAM,uCAAuC,qEAAqE,CAAC;AAC1H,eAAO,MAAM,0CAA0C,qEAAqE,CAAC"}