@rudderhq/agent-runtime-pi-local 0.5.2-canary.2 → 0.6.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.
@@ -1 +1 @@
1
- {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/server/execute.ts"],"names":[],"mappings":"AAAA,OAAO,EAWL,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,EACjC,MAAM,+BAA+B,CAAC;AA8RvC,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC,CAAC;AAEF,wBAAgB,6BAA6B,CAC3C,aAAa,EAAE,0BAA0B,EAAE,EAC3C,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,0BAA0B,EAAE,CAgB9B;AA2TD,wBAAsB,OAAO,CAAC,GAAG,EAAE,4BAA4B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CA6mBrG"}
1
+ {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/server/execute.ts"],"names":[],"mappings":"AAAA,OAAO,EAWL,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,EACjC,MAAM,+BAA+B,CAAC;AAmSvC,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC,CAAC;AAEF,wBAAgB,6BAA6B,CAC3C,aAAa,EAAE,0BAA0B,EAAE,EAC3C,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,0BAA0B,EAAE,CAgB9B;AA2TD,wBAAsB,OAAO,CAAC,GAAG,EAAE,4BAA4B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CA2pBrG"}
@@ -8,6 +8,7 @@ import fs from "node:fs/promises";
8
8
  import os from "node:os";
9
9
  import path from "node:path";
10
10
  import { fileURLToPath } from "node:url";
11
+ import { discoverPiManagedExternalMcpBindings, renderPiManagedExternalMcpExtension, } from "./managed-external-mcp.js";
11
12
  import { ensurePiModelConfiguredAndAvailable } from "./models.js";
12
13
  import { ensurePiOpenCodeAnonymousModelsConfig, parsePiModelId, parsePiModelProvider, } from "./opencode-anonymous-config.js";
13
14
  import { isPiUnknownSessionError, parsePiJsonl, parsePiJsonlLine } from "./parse.js";
@@ -15,6 +16,7 @@ import { resolveManagedPiHomeDir } from "./skills.js";
15
16
  const __moduleDir = path.dirname(fileURLToPath(import.meta.url));
16
17
  const MAX_PI_LOG_TEXT_CHARS = 4_000;
17
18
  const MAX_PI_RESULT_STDOUT_BYTES = 64 * 1024;
19
+ const PI_MANAGED_EXTERNAL_MCP_EXTENSION_NAME = "rudder-managed-external-mcp";
18
20
  const PI_PROTECTED_ENV_KEYS = new Set([
19
21
  "AGENT_HOME",
20
22
  "HOME",
@@ -651,6 +653,32 @@ export async function execute(ctx) {
651
653
  runtimeEnv,
652
654
  onLog,
653
655
  });
656
+ const managedExternalMcpBindings = await discoverPiManagedExternalMcpBindings(config, runtimeEnv, {
657
+ signal: ctx.abortSignal,
658
+ onOptionalFailure: async (serverName) => {
659
+ await onLog("stderr", `[rudder] Optional managed MCP server "${serverName}" was unavailable during Pi tool discovery and was omitted.\n`);
660
+ },
661
+ });
662
+ const managedExternalMcpExtensionDir = path.join(resolvePiExtensionsDir(managedHome), PI_MANAGED_EXTERNAL_MCP_EXTENSION_NAME);
663
+ const managedExternalMcpExtensionPath = managedExternalMcpBindings.length > 0
664
+ ? path.join(managedExternalMcpExtensionDir, "index.ts")
665
+ : null;
666
+ if (managedExternalMcpExtensionPath) {
667
+ await fs.mkdir(managedExternalMcpExtensionDir, { recursive: true });
668
+ const tempPath = `${managedExternalMcpExtensionPath}.${runId}.tmp`;
669
+ try {
670
+ await fs.writeFile(tempPath, renderPiManagedExternalMcpExtension(managedExternalMcpBindings), { encoding: "utf8", mode: 0o600 });
671
+ await fs.rename(tempPath, managedExternalMcpExtensionPath);
672
+ await fs.chmod(managedExternalMcpExtensionPath, 0o600);
673
+ }
674
+ finally {
675
+ await fs.rm(tempPath, { force: true });
676
+ }
677
+ await onLog("stdout", `[rudder] Wrote managed Pi external MCP bridge with ${managedExternalMcpBindings.length} independent server${managedExternalMcpBindings.length === 1 ? "" : "s"}.\n`);
678
+ }
679
+ else {
680
+ await fs.rm(managedExternalMcpExtensionDir, { recursive: true, force: true });
681
+ }
654
682
  const browserExtensionDir = path.join(resolvePiExtensionsDir(managedHome), RUDDER_BROWSER_MCP_SERVER_NAME);
655
683
  const attemptedBrowserPiExtension = browserEnabled
656
684
  ? await ensurePiRudderToolsExtension({
@@ -850,11 +878,15 @@ export async function execute(ctx) {
850
878
  "ls",
851
879
  ...rudderPiExtensionPath.toolNames,
852
880
  ...(rudderBrowserPiExtensionPath?.toolNames ?? []),
881
+ ...managedExternalMcpBindings.flatMap((binding) => binding.tools.map((tool) => tool.name)),
853
882
  ].join(","));
854
883
  args.push("--session", sessionFile);
855
884
  args.push("--extension", rudderPiExtensionPath.path);
856
885
  if (rudderBrowserPiExtensionPath)
857
886
  args.push("--extension", rudderBrowserPiExtensionPath.path);
887
+ if (managedExternalMcpExtensionPath) {
888
+ args.push("--extension", managedExternalMcpExtensionPath);
889
+ }
858
890
  // Disable Pi's default user/project skill discovery, then add only Rudder's
859
891
  // selected managed skill directory for this run.
860
892
  args.push("--no-skills", "--skill", skillsDir);
@@ -1 +1 @@
1
- {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/server/execute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/server/execute.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { type ResolvedManagedExternalMcpBinding } from "@rudderhq/agent-runtime-utils";
2
+ export interface PiManagedExternalMcpTool {
3
+ name: string;
4
+ description?: string;
5
+ inputSchema: Record<string, unknown>;
6
+ }
7
+ export interface PiManagedExternalMcpBinding extends ResolvedManagedExternalMcpBinding {
8
+ tools: PiManagedExternalMcpTool[];
9
+ }
10
+ export declare function discoverPiManagedExternalMcpBindings(runtimeConfig: unknown, env: NodeJS.ProcessEnv | Record<string, string | undefined>, options?: {
11
+ signal?: AbortSignal;
12
+ onOptionalFailure?: (serverName: string, error: Error) => void | Promise<void>;
13
+ }): Promise<PiManagedExternalMcpBinding[]>;
14
+ export declare function callManagedExternalMcpProxy(input: {
15
+ proxyUrl: string;
16
+ toolName: string;
17
+ args: Record<string, unknown>;
18
+ timeoutMs: number;
19
+ env: NodeJS.ProcessEnv | Record<string, string | undefined>;
20
+ signal?: AbortSignal;
21
+ }): Promise<Record<string, unknown>>;
22
+ export declare function renderPiManagedExternalMcpExtension(bindings: PiManagedExternalMcpBinding[]): string;
23
+ //# sourceMappingURL=managed-external-mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-external-mcp.d.ts","sourceRoot":"","sources":["../../src/server/managed-external-mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iCAAiC,EACvC,MAAM,+BAA+B,CAAC;AAKvC,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,2BACf,SAAQ,iCAAiC;IACzC,KAAK,EAAE,wBAAwB,EAAE,CAAC;CACnC;AAwJD,wBAAsB,oCAAoC,CACxD,aAAa,EAAE,OAAO,EACtB,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAC3D,OAAO,GAAE;IACP,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3E,GACL,OAAO,CAAC,2BAA2B,EAAE,CAAC,CAuCxC;AAED,wBAAsB,2BAA2B,CAAC,KAAK,EAAE;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC5D,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAYnC;AAQD,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,2BAA2B,EAAE,GACtC,MAAM,CA8JR"}
@@ -0,0 +1,352 @@
1
+ import { resolveManagedExternalMcpBindings, } from "@rudderhq/agent-runtime-utils";
2
+ const MAX_MCP_RESPONSE_BYTES = 2 * 1024 * 1024;
3
+ const MAX_TOOL_DESCRIPTION_CHARS = 4_000;
4
+ function isRecord(value) {
5
+ return typeof value === "object" && value !== null && !Array.isArray(value);
6
+ }
7
+ async function readBoundedJson(response) {
8
+ const declaredLength = Number(response.headers.get("content-length"));
9
+ if (Number.isFinite(declaredLength) && declaredLength > MAX_MCP_RESPONSE_BYTES) {
10
+ throw new Error("Managed MCP response exceeded the size limit");
11
+ }
12
+ if (!response.body)
13
+ throw new Error("Managed MCP returned an empty response");
14
+ const reader = response.body.getReader();
15
+ const chunks = [];
16
+ let totalBytes = 0;
17
+ try {
18
+ while (true) {
19
+ const { done, value } = await reader.read();
20
+ if (done)
21
+ break;
22
+ totalBytes += value.byteLength;
23
+ if (totalBytes > MAX_MCP_RESPONSE_BYTES) {
24
+ await reader.cancel();
25
+ throw new Error("Managed MCP response exceeded the size limit");
26
+ }
27
+ chunks.push(value);
28
+ }
29
+ }
30
+ finally {
31
+ reader.releaseLock();
32
+ }
33
+ const bytes = new Uint8Array(totalBytes);
34
+ let offset = 0;
35
+ for (const chunk of chunks) {
36
+ bytes.set(chunk, offset);
37
+ offset += chunk.byteLength;
38
+ }
39
+ let parsed;
40
+ try {
41
+ parsed = JSON.parse(new TextDecoder().decode(bytes));
42
+ }
43
+ catch {
44
+ throw new Error("Managed MCP returned invalid JSON");
45
+ }
46
+ if (!isRecord(parsed))
47
+ throw new Error("Managed MCP returned an invalid response");
48
+ return parsed;
49
+ }
50
+ function safeJsonRpcError(response) {
51
+ if (!isRecord(response.error))
52
+ return null;
53
+ const message = typeof response.error.message === "string"
54
+ ? response.error.message.slice(0, 240)
55
+ : "Managed MCP request failed";
56
+ return new Error(message);
57
+ }
58
+ async function postManagedExternalMcpRequest(input) {
59
+ const runToken = input.env.RUDDER_API_KEY?.trim();
60
+ if (!runToken)
61
+ throw new Error("Managed MCP run authentication is unavailable");
62
+ const timeoutSignal = AbortSignal.timeout(input.timeoutMs);
63
+ const signal = input.signal
64
+ ? AbortSignal.any([input.signal, timeoutSignal])
65
+ : timeoutSignal;
66
+ let response;
67
+ try {
68
+ response = await fetch(input.proxyUrl, {
69
+ method: "POST",
70
+ headers: {
71
+ accept: "application/json",
72
+ authorization: `Bearer ${runToken}`,
73
+ "content-type": "application/json",
74
+ },
75
+ body: JSON.stringify({
76
+ jsonrpc: "2.0",
77
+ id: "pi-managed-mcp",
78
+ method: input.method,
79
+ ...(input.params ? { params: input.params } : {}),
80
+ }),
81
+ signal,
82
+ });
83
+ }
84
+ catch (error) {
85
+ if (timeoutSignal.aborted && !input.signal?.aborted) {
86
+ throw new Error("Managed MCP request timed out");
87
+ }
88
+ if (signal.aborted)
89
+ throw new Error("Managed MCP request aborted");
90
+ throw new Error("Managed MCP request failed", { cause: error });
91
+ }
92
+ if (!response.ok) {
93
+ await response.body?.cancel().catch(() => undefined);
94
+ throw new Error(`Managed MCP request failed with HTTP ${response.status}`);
95
+ }
96
+ const payload = await readBoundedJson(response);
97
+ const rpcError = safeJsonRpcError(payload);
98
+ if (rpcError)
99
+ throw rpcError;
100
+ if (!isRecord(payload.result)) {
101
+ throw new Error("Managed MCP returned an invalid result");
102
+ }
103
+ return payload.result;
104
+ }
105
+ function parseDiscoveredTools(binding, result) {
106
+ if (!Array.isArray(result.tools)) {
107
+ throw new Error(`Managed MCP schema discovery failed for "${binding.serverName}"`);
108
+ }
109
+ const allowedNames = new Set(binding.toolPolicy.allowedToolNames);
110
+ const seenNames = new Set();
111
+ const tools = result.tools.map((value, index) => {
112
+ if (!isRecord(value)) {
113
+ throw new Error(`Managed MCP schema ${index} is invalid`);
114
+ }
115
+ const name = value.name;
116
+ const inputSchema = value.inputSchema;
117
+ if (typeof name !== "string"
118
+ || !allowedNames.has(name)
119
+ || seenNames.has(name)
120
+ || !isRecord(inputSchema)) {
121
+ throw new Error(`Managed MCP schema ${index} is invalid`);
122
+ }
123
+ seenNames.add(name);
124
+ return {
125
+ name,
126
+ ...(typeof value.description === "string"
127
+ ? { description: value.description.slice(0, MAX_TOOL_DESCRIPTION_CHARS) }
128
+ : {}),
129
+ inputSchema,
130
+ };
131
+ });
132
+ if (seenNames.size !== allowedNames.size
133
+ || binding.toolPolicy.allowedToolNames.some((name) => !seenNames.has(name))) {
134
+ throw new Error(`Managed MCP schema allowlist changed for "${binding.serverName}"`);
135
+ }
136
+ return tools;
137
+ }
138
+ export async function discoverPiManagedExternalMcpBindings(runtimeConfig, env, options = {}) {
139
+ const bindings = resolveManagedExternalMcpBindings(runtimeConfig, env);
140
+ const discovered = await Promise.all(bindings.map(async (binding) => {
141
+ try {
142
+ const result = await postManagedExternalMcpRequest({
143
+ proxyUrl: binding.proxyUrl,
144
+ method: "tools/list",
145
+ timeoutMs: binding.startupTimeoutMs,
146
+ env,
147
+ signal: options.signal,
148
+ });
149
+ return {
150
+ ...binding,
151
+ tools: parseDiscoveredTools(binding, result),
152
+ };
153
+ }
154
+ catch (error) {
155
+ const safeError = error instanceof Error ? error : new Error("Managed MCP discovery failed");
156
+ if (binding.required)
157
+ throw safeError;
158
+ await options.onOptionalFailure?.(binding.serverName, safeError);
159
+ return null;
160
+ }
161
+ }));
162
+ const active = discovered.filter((binding) => binding !== null);
163
+ const toolOwners = new Map();
164
+ for (const binding of active) {
165
+ for (const tool of binding.tools) {
166
+ const owner = toolOwners.get(tool.name);
167
+ if (owner) {
168
+ throw new Error(`Managed MCP tool name "${tool.name}" is duplicated by "${owner}" and "${binding.serverName}"`);
169
+ }
170
+ toolOwners.set(tool.name, binding.serverName);
171
+ }
172
+ }
173
+ return active;
174
+ }
175
+ export async function callManagedExternalMcpProxy(input) {
176
+ return postManagedExternalMcpRequest({
177
+ proxyUrl: input.proxyUrl,
178
+ method: "tools/call",
179
+ params: {
180
+ name: input.toolName,
181
+ arguments: input.args,
182
+ },
183
+ timeoutMs: input.timeoutMs,
184
+ env: input.env,
185
+ signal: input.signal,
186
+ });
187
+ }
188
+ function renderJsonForTs(value) {
189
+ return JSON.stringify(value)
190
+ .replace(/\u2028/g, "\\u2028")
191
+ .replace(/\u2029/g, "\\u2029");
192
+ }
193
+ export function renderPiManagedExternalMcpExtension(bindings) {
194
+ const bridgeDescriptors = bindings.map((binding) => ({
195
+ serverName: binding.serverName,
196
+ proxyUrl: binding.proxyUrl,
197
+ toolTimeoutMs: binding.toolTimeoutMs,
198
+ tools: binding.tools,
199
+ }));
200
+ return `import { Type } from "@earendil-works/pi-ai";
201
+ import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
202
+
203
+ const MAX_MCP_RESPONSE_BYTES = 2 * 1024 * 1024;
204
+
205
+ const RUDDER_MANAGED_MCP_BINDINGS = ${renderJsonForTs(bridgeDescriptors)} as Array<{
206
+ serverName: string;
207
+ proxyUrl: string;
208
+ toolTimeoutMs: number;
209
+ tools: Array<{
210
+ name: string;
211
+ description?: string;
212
+ inputSchema: Record<string, unknown>;
213
+ }>;
214
+ }>;
215
+
216
+ async function readBoundedMcpJson(response: Response): Promise<{
217
+ result?: Record<string, unknown>;
218
+ error?: { message?: unknown };
219
+ }> {
220
+ const declaredLength = Number(response.headers.get("content-length"));
221
+ if (Number.isFinite(declaredLength) && declaredLength > MAX_MCP_RESPONSE_BYTES) {
222
+ await response.body?.cancel().catch(() => undefined);
223
+ throw new Error("Managed MCP response exceeded the size limit");
224
+ }
225
+ if (!response.body) throw new Error("Managed MCP returned an empty response");
226
+
227
+ const reader = response.body.getReader();
228
+ const chunks: Uint8Array[] = [];
229
+ let totalBytes = 0;
230
+ try {
231
+ while (true) {
232
+ const { done, value } = await reader.read();
233
+ if (done) break;
234
+ totalBytes += value.byteLength;
235
+ if (totalBytes > MAX_MCP_RESPONSE_BYTES) {
236
+ await reader.cancel();
237
+ throw new Error("Managed MCP response exceeded the size limit");
238
+ }
239
+ chunks.push(value);
240
+ }
241
+ } finally {
242
+ reader.releaseLock();
243
+ }
244
+
245
+ const bytes = new Uint8Array(totalBytes);
246
+ let offset = 0;
247
+ for (const chunk of chunks) {
248
+ bytes.set(chunk, offset);
249
+ offset += chunk.byteLength;
250
+ }
251
+ let payload: unknown;
252
+ try {
253
+ payload = JSON.parse(new TextDecoder().decode(bytes));
254
+ } catch {
255
+ throw new Error("Managed MCP returned invalid JSON");
256
+ }
257
+ if (!payload || typeof payload !== "object" || Array.isArray(payload)) {
258
+ throw new Error("Managed MCP returned an invalid response");
259
+ }
260
+ return payload as {
261
+ result?: Record<string, unknown>;
262
+ error?: { message?: unknown };
263
+ };
264
+ }
265
+
266
+ export async function callManagedMcp(
267
+ proxyUrl: string,
268
+ toolName: string,
269
+ args: Record<string, unknown>,
270
+ timeoutMs: number,
271
+ signal?: AbortSignal,
272
+ ): Promise<Record<string, unknown>> {
273
+ const runToken = process.env.RUDDER_API_KEY?.trim();
274
+ if (!runToken) throw new Error("Managed MCP run authentication is unavailable");
275
+ const timeoutSignal = AbortSignal.timeout(timeoutMs);
276
+ const requestSignal = signal
277
+ ? AbortSignal.any([signal, timeoutSignal])
278
+ : timeoutSignal;
279
+ let response: Response;
280
+ try {
281
+ response = await fetch(proxyUrl, {
282
+ method: "POST",
283
+ headers: {
284
+ accept: "application/json",
285
+ authorization: \`Bearer \${runToken}\`,
286
+ "content-type": "application/json",
287
+ },
288
+ body: JSON.stringify({
289
+ jsonrpc: "2.0",
290
+ id: "pi-managed-mcp",
291
+ method: "tools/call",
292
+ params: { name: toolName, arguments: args ?? {} },
293
+ }),
294
+ signal: requestSignal,
295
+ });
296
+ } catch (error) {
297
+ if (timeoutSignal.aborted && !signal?.aborted) {
298
+ throw new Error("Managed MCP tool call timed out");
299
+ }
300
+ if (requestSignal.aborted) throw new Error("Managed MCP tool call aborted");
301
+ throw new Error("Managed MCP tool call failed", { cause: error });
302
+ }
303
+ if (!response.ok) {
304
+ await response.body?.cancel().catch(() => undefined);
305
+ throw new Error(\`Managed MCP tool call failed with HTTP \${response.status}\`);
306
+ }
307
+ const payload = await readBoundedMcpJson(response);
308
+ if (payload.error) {
309
+ throw new Error(
310
+ typeof payload.error.message === "string"
311
+ ? payload.error.message.slice(0, 240)
312
+ : "Managed MCP tool call failed",
313
+ );
314
+ }
315
+ if (!payload.result || typeof payload.result !== "object" || Array.isArray(payload.result)) {
316
+ throw new Error("Managed MCP returned an invalid tool result");
317
+ }
318
+ return payload.result;
319
+ }
320
+
321
+ export default function rudderManagedExternalMcpTools(pi: ExtensionAPI) {
322
+ for (const binding of RUDDER_MANAGED_MCP_BINDINGS) {
323
+ for (const tool of binding.tools) {
324
+ pi.registerTool({
325
+ name: tool.name,
326
+ label: tool.name,
327
+ description: tool.description || \`Managed external MCP tool \${tool.name}.\`,
328
+ promptSnippet: \`Call managed external MCP tool \${tool.name} with runtime-managed authentication.\`,
329
+ promptGuidelines: [
330
+ "Use only the exposed managed MCP tools. Authentication and provider credentials are managed by Rudder.",
331
+ ],
332
+ parameters: tool.inputSchema ?? Type.Object({}, { additionalProperties: true }),
333
+ async execute(_toolCallId, params, signal) {
334
+ const result = await callManagedMcp(
335
+ binding.proxyUrl,
336
+ tool.name,
337
+ params as Record<string, unknown>,
338
+ binding.toolTimeoutMs,
339
+ signal,
340
+ );
341
+ const content = Array.isArray(result.content)
342
+ ? result.content
343
+ : [{ type: "text", text: JSON.stringify(result.structuredContent ?? result) }];
344
+ return { content, details: result };
345
+ },
346
+ });
347
+ }
348
+ }
349
+ }
350
+ `;
351
+ }
352
+ //# sourceMappingURL=managed-external-mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-external-mcp.js","sourceRoot":"","sources":["../../src/server/managed-external-mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,GAElC,MAAM,+BAA+B,CAAC;AAEvC,MAAM,sBAAsB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAC/C,MAAM,0BAA0B,GAAG,KAAK,CAAC;AAmBzC,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,QAAkB;IAC/C,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACtE,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,cAAc,GAAG,sBAAsB,EAAE,CAAC;QAC/E,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAE9E,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IACzC,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI;gBAAE,MAAM;YAChB,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC;YAC/B,IAAI,UAAU,GAAG,sBAAsB,EAAE,CAAC;gBACxC,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAClE,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;IACzC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC;IAC7B,CAAC;IACD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IACnF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,QAA4B;IACpD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,OAAO,GAAG,OAAO,QAAQ,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ;QACxD,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;QACtC,CAAC,CAAC,4BAA4B,CAAC;IACjC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,6BAA6B,CAAC,KAO5C;IACC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC;IAClD,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAChF,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM;QACzB,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAChD,CAAC,CAAC,aAAa,CAAC;IAClB,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE;YACrC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,aAAa,EAAE,UAAU,QAAQ,EAAE;gBACnC,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,gBAAgB;gBACpB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClD,CAAC;YACF,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,aAAa,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,4BAA4B,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,wCAAwC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,QAAQ;QAAE,MAAM,QAAQ,CAAC;IAC7B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,CAAC;AACxB,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAA0C,EAC1C,MAA+B;IAE/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,4CAA4C,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC;IACrF,CAAC;IACD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC9C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,aAAa,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACtC,IACE,OAAO,IAAI,KAAK,QAAQ;eACrB,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;eACvB,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;eACnB,CAAC,QAAQ,CAAC,WAAW,CAAC,EACzB,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,aAAa,CAAC,CAAC;QAC5D,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,OAAO;YACL,IAAI;YACJ,GAAG,CAAC,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;gBACvC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,0BAA0B,CAAC,EAAE;gBACzE,CAAC,CAAC,EAAE,CAAC;YACP,WAAW;SACZ,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,IACE,SAAS,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI;WACjC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAC3E,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,6CAA6C,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oCAAoC,CACxD,aAAsB,EACtB,GAA2D,EAC3D,UAGI,EAAE;IAEN,MAAM,QAAQ,GAAG,iCAAiC,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IACvE,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAClE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,6BAA6B,CAAC;gBACjD,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,MAAM,EAAE,YAAY;gBACpB,SAAS,EAAE,OAAO,CAAC,gBAAgB;gBACnC,GAAG;gBACH,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CAAC;YACH,OAAO;gBACL,GAAG,OAAO;gBACV,KAAK,EAAE,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC;aAC7C,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC7F,IAAI,OAAO,CAAC,QAAQ;gBAAE,MAAM,SAAS,CAAC;YACtC,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACjE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC,CAAC;IAEJ,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAC9B,CAAC,OAAO,EAA0C,EAAE,CAAC,OAAO,KAAK,IAAI,CACtE,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;QAC7B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CACb,0BAA0B,IAAI,CAAC,IAAI,uBAAuB,KAAK,UAAU,OAAO,CAAC,UAAU,GAAG,CAC/F,CAAC;YACJ,CAAC;YACD,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,KAOjD;IACC,OAAO,6BAA6B,CAAC;QACnC,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE;YACN,IAAI,EAAE,KAAK,CAAC,QAAQ;YACpB,SAAS,EAAE,KAAK,CAAC,IAAI;SACtB;QACD,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;SACzB,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC;SAC7B,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,QAAuC;IAEvC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACnD,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC,CAAC;IACJ,OAAO;;;;;sCAK6B,eAAe,CAAC,iBAAiB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiJvE,CAAC;AACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=managed-external-mcp.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-external-mcp.test.d.ts","sourceRoot":"","sources":["../../src/server/managed-external-mcp.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,314 @@
1
+ import { createServer, } from "node:http";
2
+ import ts from "typescript";
3
+ import { describe, expect, it } from "vitest";
4
+ import { callManagedExternalMcpProxy, discoverPiManagedExternalMcpBindings, renderPiManagedExternalMcpExtension, } from "./managed-external-mcp.js";
5
+ const FIRST_BINDING_ID = "11111111-1111-4111-8111-111111111111";
6
+ const SECOND_BINDING_ID = "22222222-2222-4222-8222-222222222222";
7
+ function binding(overrides = {}) {
8
+ return {
9
+ bindingId: FIRST_BINDING_ID,
10
+ serverName: "supabase-memos",
11
+ toolPolicy: {
12
+ mode: "allowlist",
13
+ allowedToolNames: ["external.supabase-memos.list_tables"],
14
+ },
15
+ required: true,
16
+ startupTimeoutMs: 1_000,
17
+ toolTimeoutMs: 1_000,
18
+ ...overrides,
19
+ };
20
+ }
21
+ async function listen(handler) {
22
+ const server = createServer((req, res) => {
23
+ void Promise.resolve(handler(req, res)).catch(() => {
24
+ if (!res.headersSent)
25
+ res.statusCode = 500;
26
+ res.end();
27
+ });
28
+ });
29
+ await new Promise((resolve) => server.listen(0, "127.0.0.1", resolve));
30
+ const address = server.address();
31
+ if (!address || typeof address === "string")
32
+ throw new Error("missing address");
33
+ return { server, origin: `http://127.0.0.1:${address.port}` };
34
+ }
35
+ async function close(server) {
36
+ server.closeAllConnections();
37
+ await new Promise((resolve) => server.close(() => resolve()));
38
+ }
39
+ function loadGeneratedCallManagedMcp(source) {
40
+ const outputText = ts.transpileModule(source, {
41
+ compilerOptions: {
42
+ module: ts.ModuleKind.CommonJS,
43
+ target: ts.ScriptTarget.ES2023,
44
+ },
45
+ }).outputText;
46
+ const module = { exports: {} };
47
+ const evaluate = new Function("require", "module", "exports", "process", outputText);
48
+ evaluate((specifier) => {
49
+ if (specifier === "@earendil-works/pi-ai")
50
+ return { Type: {} };
51
+ throw new Error(`Unexpected generated extension dependency: ${specifier}`);
52
+ }, module, module.exports, { env: { RUDDER_API_KEY: "run-secret" } });
53
+ const callManagedMcp = module.exports.callManagedMcp;
54
+ if (typeof callManagedMcp !== "function") {
55
+ throw new Error("Generated extension does not export callManagedMcp");
56
+ }
57
+ return callManagedMcp;
58
+ }
59
+ describe("Pi managed external MCP bridge", () => {
60
+ it("enforces required/optional setup when run authentication is missing", async () => {
61
+ await expect(discoverPiManagedExternalMcpBindings({ managedExternalMcpBindings: [binding()] }, {})).rejects.toThrow(/required managed MCP binding/i);
62
+ await expect(discoverPiManagedExternalMcpBindings({ managedExternalMcpBindings: [binding({ required: false })] }, {})).resolves.toEqual([]);
63
+ });
64
+ it("discovers two independent schemas and renders a provider-neutral native bridge", async () => {
65
+ const requests = [];
66
+ const { server, origin } = await listen(async (req, res) => {
67
+ const chunks = [];
68
+ for await (const chunk of req)
69
+ chunks.push(Buffer.from(chunk));
70
+ const body = JSON.parse(Buffer.concat(chunks).toString("utf8"));
71
+ requests.push({
72
+ path: req.url ?? "",
73
+ auth: req.headers.authorization,
74
+ });
75
+ const isSupabase = req.url?.includes(FIRST_BINDING_ID);
76
+ res.setHeader("content-type", "application/json");
77
+ res.end(JSON.stringify({
78
+ jsonrpc: "2.0",
79
+ id: "pi-managed-mcp",
80
+ result: {
81
+ tools: [{
82
+ name: isSupabase
83
+ ? "external.supabase-memos.list_tables"
84
+ : "external.linear-product.list_issues",
85
+ description: isSupabase ? "List tables" : "List issues",
86
+ inputSchema: {
87
+ type: "object",
88
+ properties: isSupabase
89
+ ? { schema: { type: "string" } }
90
+ : { team: { type: "string" } },
91
+ },
92
+ }],
93
+ },
94
+ }));
95
+ expect(body.method).toBe("tools/list");
96
+ });
97
+ try {
98
+ const discovered = await discoverPiManagedExternalMcpBindings({
99
+ managedExternalMcpBindings: [
100
+ binding(),
101
+ binding({
102
+ bindingId: SECOND_BINDING_ID,
103
+ serverName: "linear-product",
104
+ toolPolicy: {
105
+ mode: "allowlist",
106
+ allowedToolNames: ["external.linear-product.list_issues"],
107
+ },
108
+ }),
109
+ ],
110
+ }, {
111
+ RUDDER_API_URL: origin,
112
+ RUDDER_API_KEY: "run-secret",
113
+ });
114
+ expect(discovered.map((entry) => entry.serverName)).toEqual([
115
+ "supabase-memos",
116
+ "linear-product",
117
+ ]);
118
+ expect(discovered.flatMap((entry) => entry.tools.map((tool) => tool.name))).toEqual([
119
+ "external.supabase-memos.list_tables",
120
+ "external.linear-product.list_issues",
121
+ ]);
122
+ expect(requests).toEqual([
123
+ expect.objectContaining({
124
+ path: `/api/mcp/runtime/bindings/${FIRST_BINDING_ID}`,
125
+ auth: "Bearer run-secret",
126
+ }),
127
+ expect.objectContaining({
128
+ path: `/api/mcp/runtime/bindings/${SECOND_BINDING_ID}`,
129
+ auth: "Bearer run-secret",
130
+ }),
131
+ ]);
132
+ const source = renderPiManagedExternalMcpExtension(discovered);
133
+ expect(source).toContain("external.supabase-memos.list_tables");
134
+ expect(source).toContain("external.linear-product.list_issues");
135
+ expect(source).toContain(`/api/mcp/runtime/bindings/${FIRST_BINDING_ID}`);
136
+ expect(source).toContain(`/api/mcp/runtime/bindings/${SECOND_BINDING_ID}`);
137
+ expect(source).toContain("process.env.RUDDER_API_KEY");
138
+ expect(source).toContain("AbortSignal.timeout");
139
+ expect(source).not.toContain("run-secret");
140
+ expect(source).not.toContain("rudder_issue_get");
141
+ expect(source).not.toContain("supabase:");
142
+ expect(source).not.toContain("linear:");
143
+ }
144
+ finally {
145
+ await close(server);
146
+ }
147
+ });
148
+ it("dispatches calls to the selected binding URL and returns safe failures", async () => {
149
+ const paths = [];
150
+ const { server, origin } = await listen(async (req, res) => {
151
+ const chunks = [];
152
+ for await (const chunk of req)
153
+ chunks.push(Buffer.from(chunk));
154
+ const body = JSON.parse(Buffer.concat(chunks).toString("utf8"));
155
+ paths.push(req.url ?? "");
156
+ if (body.params?.name === "external.linear-product.slow") {
157
+ setTimeout(() => {
158
+ if (!res.destroyed) {
159
+ res.setHeader("content-type", "application/json");
160
+ res.end(JSON.stringify({
161
+ jsonrpc: "2.0",
162
+ id: "pi-managed-mcp",
163
+ result: {},
164
+ }));
165
+ }
166
+ }, 200);
167
+ return;
168
+ }
169
+ res.setHeader("content-type", "application/json");
170
+ res.end(JSON.stringify(body.params?.name?.endsWith(".fail")
171
+ ? {
172
+ jsonrpc: "2.0",
173
+ id: "pi-managed-mcp",
174
+ error: { code: -32002, message: "Managed MCP tool call failed" },
175
+ }
176
+ : {
177
+ jsonrpc: "2.0",
178
+ id: "pi-managed-mcp",
179
+ result: { content: [{ type: "text", text: "ok" }] },
180
+ }));
181
+ });
182
+ const env = { RUDDER_API_KEY: "run-secret" };
183
+ try {
184
+ await expect(callManagedExternalMcpProxy({
185
+ proxyUrl: `${origin}/api/mcp/runtime/bindings/${SECOND_BINDING_ID}`,
186
+ toolName: "external.linear-product.list_issues",
187
+ args: { team: "ENG" },
188
+ timeoutMs: 1_000,
189
+ env,
190
+ })).resolves.toEqual({
191
+ content: [{ type: "text", text: "ok" }],
192
+ });
193
+ expect(paths.at(-1)).toBe(`/api/mcp/runtime/bindings/${SECOND_BINDING_ID}`);
194
+ await expect(callManagedExternalMcpProxy({
195
+ proxyUrl: `${origin}/api/mcp/runtime/bindings/${SECOND_BINDING_ID}`,
196
+ toolName: "external.linear-product.fail",
197
+ args: {},
198
+ timeoutMs: 1_000,
199
+ env,
200
+ })).rejects.toThrow("Managed MCP tool call failed");
201
+ await expect(callManagedExternalMcpProxy({
202
+ proxyUrl: `${origin}/api/mcp/runtime/bindings/${SECOND_BINDING_ID}`,
203
+ toolName: "external.linear-product.slow",
204
+ args: {},
205
+ timeoutMs: 20,
206
+ env,
207
+ })).rejects.toThrow(/timed out/i);
208
+ }
209
+ finally {
210
+ await close(server);
211
+ }
212
+ });
213
+ it("bounds the response read in the generated extension call path", async () => {
214
+ const { server, origin } = await listen((_req, res) => {
215
+ res.setHeader("content-type", "application/json");
216
+ res.end(JSON.stringify({
217
+ jsonrpc: "2.0",
218
+ id: "pi-managed-mcp",
219
+ result: {
220
+ content: [{
221
+ type: "text",
222
+ text: "x".repeat((2 * 1024 * 1024) + 1),
223
+ }],
224
+ },
225
+ }));
226
+ });
227
+ try {
228
+ const source = renderPiManagedExternalMcpExtension([{
229
+ ...binding(),
230
+ toolPolicy: {
231
+ mode: "allowlist",
232
+ allowedToolNames: ["external.supabase-memos.list_tables"],
233
+ },
234
+ proxyUrl: `${origin}/api/mcp/runtime/bindings/${FIRST_BINDING_ID}`,
235
+ bearerTokenEnvVar: "RUDDER_API_KEY",
236
+ tools: [{
237
+ name: "external.supabase-memos.list_tables",
238
+ inputSchema: { type: "object" },
239
+ }],
240
+ }]);
241
+ expect(source).toContain("export async function callManagedMcp");
242
+ const callManagedMcp = loadGeneratedCallManagedMcp(source);
243
+ await expect(callManagedMcp(`${origin}/api/mcp/runtime/bindings/${FIRST_BINDING_ID}`, "external.supabase-memos.list_tables", {}, 1_000)).rejects.toThrow(/size limit/i);
244
+ }
245
+ finally {
246
+ await close(server);
247
+ }
248
+ });
249
+ it("aborts a slow generated extension call promptly", async () => {
250
+ let markRequestStarted;
251
+ const requestStarted = new Promise((resolve) => {
252
+ markRequestStarted = resolve;
253
+ });
254
+ const { server, origin } = await listen((_req, res) => {
255
+ res.writeHead(200, { "content-type": "application/json" });
256
+ res.write('{"jsonrpc":"2.0","id":"pi-managed-mcp","result":{"content":[');
257
+ markRequestStarted?.();
258
+ });
259
+ const controller = new AbortController();
260
+ try {
261
+ const source = renderPiManagedExternalMcpExtension([{
262
+ ...binding(),
263
+ toolPolicy: {
264
+ mode: "allowlist",
265
+ allowedToolNames: ["external.supabase-memos.list_tables"],
266
+ },
267
+ proxyUrl: `${origin}/api/mcp/runtime/bindings/${FIRST_BINDING_ID}`,
268
+ bearerTokenEnvVar: "RUDDER_API_KEY",
269
+ tools: [{
270
+ name: "external.supabase-memos.list_tables",
271
+ inputSchema: { type: "object" },
272
+ }],
273
+ }]);
274
+ const callManagedMcp = loadGeneratedCallManagedMcp(source);
275
+ const pendingCall = callManagedMcp(`${origin}/api/mcp/runtime/bindings/${FIRST_BINDING_ID}`, "external.supabase-memos.list_tables", {}, 5_000, controller.signal);
276
+ await requestStarted;
277
+ const abortStartedAt = performance.now();
278
+ controller.abort();
279
+ await expect(pendingCall).rejects.toThrow();
280
+ expect(performance.now() - abortStartedAt).toBeLessThan(1_000);
281
+ }
282
+ finally {
283
+ controller.abort();
284
+ await close(server);
285
+ }
286
+ });
287
+ it("fails required schema discovery and omits optional discovery failures", async () => {
288
+ const { server, origin } = await listen((_req, res) => {
289
+ res.setHeader("content-type", "application/json");
290
+ res.end(JSON.stringify({
291
+ jsonrpc: "2.0",
292
+ id: "pi-managed-mcp",
293
+ result: {
294
+ tools: [{
295
+ name: "external.supabase-memos.list_tables",
296
+ inputSchema: "not-an-object",
297
+ }],
298
+ },
299
+ }));
300
+ });
301
+ const env = {
302
+ RUDDER_API_URL: origin,
303
+ RUDDER_API_KEY: "run-secret",
304
+ };
305
+ try {
306
+ await expect(discoverPiManagedExternalMcpBindings({ managedExternalMcpBindings: [binding()] }, env)).rejects.toThrow(/schema/i);
307
+ await expect(discoverPiManagedExternalMcpBindings({ managedExternalMcpBindings: [binding({ required: false })] }, env)).resolves.toEqual([]);
308
+ }
309
+ finally {
310
+ await close(server);
311
+ }
312
+ });
313
+ });
314
+ //# sourceMappingURL=managed-external-mcp.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-external-mcp.test.js","sourceRoot":"","sources":["../../src/server/managed-external-mcp.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rudderhq/agent-runtime-pi-local",
3
- "version": "0.5.2-canary.2",
3
+ "version": "0.6.0",
4
4
  "license": "SEE LICENSE IN LICENSE",
5
5
  "homepage": "https://github.com/Undertone0809/rudder",
6
6
  "bugs": {
@@ -66,8 +66,8 @@
66
66
  "typecheck": "tsc --noEmit"
67
67
  },
68
68
  "dependencies": {
69
- "@rudderhq/agent-runtime-utils": "0.5.2-canary.2",
70
- "@rudderhq/shared": "0.5.2-canary.2",
69
+ "@rudderhq/agent-runtime-utils": "0.6.0",
70
+ "@rudderhq/shared": "0.6.0",
71
71
  "picocolors": "^1.1.1"
72
72
  },
73
73
  "devDependencies": {