@superblocksteam/gateway 2.0.177 → 2.0.178-next.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 +52 -19
- package/dist/agents/hosted-boundary.d.ts +36 -0
- package/dist/agents/hosted-boundary.d.ts.map +1 -0
- package/dist/agents/hosted-boundary.js +66 -0
- package/dist/agents/hosted-boundary.js.map +1 -0
- package/dist/agents/resolve-orchestrator-url.d.ts +8 -0
- package/dist/agents/resolve-orchestrator-url.d.ts.map +1 -1
- package/dist/agents/resolve-orchestrator-url.js +5 -0
- package/dist/agents/resolve-orchestrator-url.js.map +1 -1
- package/dist/capabilities/integration-metadata.d.ts.map +1 -1
- package/dist/capabilities/integration-metadata.js +12 -1
- package/dist/capabilities/integration-metadata.js.map +1 -1
- package/dist/capabilities/lifecycle.d.ts +1 -6
- package/dist/capabilities/lifecycle.d.ts.map +1 -1
- package/dist/capabilities/lifecycle.js +339 -21
- package/dist/capabilities/lifecycle.js.map +1 -1
- package/dist/capabilities/live-state-attaches.d.ts +28 -0
- package/dist/capabilities/live-state-attaches.d.ts.map +1 -1
- package/dist/capabilities/live-state-attaches.js +33 -0
- package/dist/capabilities/live-state-attaches.js.map +1 -1
- package/dist/capabilities/query-integration.d.ts.map +1 -1
- package/dist/capabilities/query-integration.js +12 -1
- package/dist/capabilities/query-integration.js.map +1 -1
- package/dist/capabilities/tool-permission-reply.d.ts.map +1 -1
- package/dist/capabilities/tool-permission-reply.js.map +1 -1
- package/dist/capabilities/types.d.ts +3 -4
- package/dist/capabilities/types.d.ts.map +1 -1
- package/dist/capabilities/types.js.map +1 -1
- package/dist/capture/browser-contract.d.ts +1 -18
- package/dist/capture/browser-contract.d.ts.map +1 -1
- package/dist/capture/browser-contract.js +1 -13
- package/dist/capture/browser-contract.js.map +1 -1
- package/dist/capture/browser-instructions.d.ts +3 -3
- package/dist/capture/browser-instructions.d.ts.map +1 -1
- package/dist/capture/browser-instructions.js +4 -5
- package/dist/capture/browser-instructions.js.map +1 -1
- package/dist/capture/capture-library-probe.d.ts +0 -1
- package/dist/capture/capture-library-probe.d.ts.map +1 -1
- package/dist/capture/capture-library-probe.js +1 -1
- package/dist/capture/capture-library-probe.js.map +1 -1
- package/dist/capture/capture-library.d.ts +2 -1
- package/dist/capture/capture-library.d.ts.map +1 -1
- package/dist/capture/classify-library-paint.d.ts +2 -1
- package/dist/capture/classify-library-paint.d.ts.map +1 -1
- package/dist/capture/library-parent-script.d.ts +3 -2
- package/dist/capture/library-parent-script.d.ts.map +1 -1
- package/dist/capture/mode.d.ts +2 -3
- package/dist/capture/mode.d.ts.map +1 -1
- package/dist/capture/mode.js +2 -3
- package/dist/capture/mode.js.map +1 -1
- package/dist/config.d.ts +21 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +3 -0
- package/dist/config.js.map +1 -1
- package/dist/debug.js.map +1 -1
- package/dist/deps.d.ts +3 -3
- package/dist/health/readiness.d.ts +2 -1
- package/dist/health/readiness.d.ts.map +1 -1
- package/dist/http/main.d.ts +3 -0
- package/dist/http/main.d.ts.map +1 -0
- package/dist/http/main.js +11 -0
- package/dist/http/main.js.map +1 -0
- package/dist/http/serve.d.ts +26 -0
- package/dist/http/serve.d.ts.map +1 -0
- package/dist/http/serve.js +298 -0
- package/dist/http/serve.js.map +1 -0
- package/dist/integrations/filters.d.ts.map +1 -1
- package/dist/integrations/filters.js +1 -16
- package/dist/integrations/filters.js.map +1 -1
- package/dist/integrations/map.d.ts +0 -5
- package/dist/integrations/map.d.ts.map +1 -1
- package/dist/integrations/map.js +1 -1
- package/dist/integrations/map.js.map +1 -1
- package/dist/internal-ingress.d.ts +47 -0
- package/dist/internal-ingress.d.ts.map +1 -0
- package/dist/internal-ingress.js +90 -0
- package/dist/internal-ingress.js.map +1 -0
- package/dist/orchestrator/client.d.ts +11 -5
- package/dist/orchestrator/client.d.ts.map +1 -1
- package/dist/orchestrator/client.js +14 -3
- package/dist/orchestrator/client.js.map +1 -1
- package/dist/playwright/ensure-chromium.js.map +1 -1
- package/dist/preview/capture-screenshot.d.ts +2 -2
- package/dist/preview/capture-screenshot.d.ts.map +1 -1
- package/dist/preview/capture-screenshot.js +2 -2
- package/dist/preview/capture-screenshot.js.map +1 -1
- package/dist/process/fault-barrier.d.ts +4 -3
- package/dist/process/fault-barrier.d.ts.map +1 -1
- package/dist/sabs/app-state.d.ts +2 -13
- package/dist/sabs/app-state.d.ts.map +1 -1
- package/dist/sabs/app-state.js +7 -2
- package/dist/sabs/app-state.js.map +1 -1
- package/dist/sabs/awaited-decision.d.ts.map +1 -1
- package/dist/sabs/browser-context.d.ts +4 -1
- package/dist/sabs/browser-context.d.ts.map +1 -1
- package/dist/sabs/browser-context.js +1 -0
- package/dist/sabs/browser-context.js.map +1 -1
- package/dist/sabs/editor-client-methods.d.ts.map +1 -1
- package/dist/sabs/editor-client-methods.js +1 -1
- package/dist/sabs/editor-client-methods.js.map +1 -1
- package/dist/sabs/editor-socket.d.ts.map +1 -1
- package/dist/sabs/editor-socket.js.map +1 -1
- package/dist/sabs/session-peer.d.ts +13 -1
- package/dist/sabs/session-peer.d.ts.map +1 -1
- package/dist/sabs/session-peer.js.map +1 -1
- package/dist/sabs/streamed-reply.d.ts.map +1 -1
- package/dist/sabs/streamed-reply.js.map +1 -1
- package/dist/sabs/turn-collector.d.ts.map +1 -1
- package/dist/sabs/turn-collector.js.map +1 -1
- package/dist/sabs/websocket-session-peer.d.ts +17 -1
- package/dist/sabs/websocket-session-peer.d.ts.map +1 -1
- package/dist/sabs/websocket-session-peer.js +89 -15
- package/dist/sabs/websocket-session-peer.js.map +1 -1
- package/dist/server/client.d.ts +48 -0
- package/dist/server/client.d.ts.map +1 -1
- package/dist/server/client.js +91 -173
- package/dist/server/client.js.map +1 -1
- package/dist/server/identity-reads.d.ts +5 -3
- package/dist/server/identity-reads.d.ts.map +1 -1
- package/dist/server/identity-reads.js +31 -4
- package/dist/server/identity-reads.js.map +1 -1
- package/dist/start.d.ts +5 -1
- package/dist/start.d.ts.map +1 -1
- package/dist/start.js +23 -9
- package/dist/start.js.map +1 -1
- package/dist/stores/memory.d.ts.map +1 -1
- package/dist/stores/types.d.ts +2 -1
- package/dist/stores/types.d.ts.map +1 -1
- package/dist/telemetry/mcp-client.d.ts +2 -1
- package/dist/telemetry/mcp-client.d.ts.map +1 -1
- package/dist/telemetry/mcp-client.js.map +1 -1
- package/dist/telemetry/mcp-usage.d.ts +22 -0
- package/dist/telemetry/mcp-usage.d.ts.map +1 -0
- package/dist/telemetry/mcp-usage.js +102 -0
- package/dist/telemetry/mcp-usage.js.map +1 -0
- package/dist/telemetry/metrics.d.ts +9 -0
- package/dist/telemetry/metrics.d.ts.map +1 -1
- package/dist/telemetry/metrics.js +21 -0
- package/dist/telemetry/metrics.js.map +1 -1
- package/dist/telemetry/runtime.d.ts +2 -1
- package/dist/telemetry/runtime.d.ts.map +1 -1
- package/dist/telemetry/runtime.js +18 -5
- package/dist/telemetry/runtime.js.map +1 -1
- package/dist/transports/mcp/admin-tools.d.ts +3 -7
- package/dist/transports/mcp/admin-tools.d.ts.map +1 -1
- package/dist/transports/mcp/admin-tools.js +9 -82
- package/dist/transports/mcp/admin-tools.js.map +1 -1
- package/dist/transports/mcp/app-status-html.d.ts +2 -2
- package/dist/transports/mcp/app-status-html.d.ts.map +1 -1
- package/dist/transports/mcp/app-status-html.js +1 -27
- package/dist/transports/mcp/app-status-html.js.map +1 -1
- package/dist/transports/mcp/client-presentation.d.ts +10 -13
- package/dist/transports/mcp/client-presentation.d.ts.map +1 -1
- package/dist/transports/mcp/client-presentation.js +2 -14
- package/dist/transports/mcp/client-presentation.js.map +1 -1
- package/dist/transports/mcp/decision-elicitation.js +23 -1
- package/dist/transports/mcp/decision-elicitation.js.map +1 -1
- package/dist/transports/mcp/dispatch-probe.js.map +1 -1
- package/dist/transports/mcp/editor-document-probe.js.map +1 -1
- package/dist/transports/mcp/editor-integration-setup-url.d.ts +0 -1
- package/dist/transports/mcp/editor-integration-setup-url.d.ts.map +1 -1
- package/dist/transports/mcp/editor-integration-setup-url.js +0 -3
- package/dist/transports/mcp/editor-integration-setup-url.js.map +1 -1
- package/dist/transports/mcp/format-tool-content.js +1 -1
- package/dist/transports/mcp/format-tool-content.js.map +1 -1
- package/dist/transports/mcp/instructions/tools/build-app.d.ts +2 -3
- package/dist/transports/mcp/instructions/tools/build-app.d.ts.map +1 -1
- package/dist/transports/mcp/instructions/tools/build-app.js +5 -11
- package/dist/transports/mcp/instructions/tools/build-app.js.map +1 -1
- package/dist/transports/mcp/instructions/tools/check-app-progress.d.ts.map +1 -1
- package/dist/transports/mcp/instructions/tools/check-app-progress.js +1 -25
- package/dist/transports/mcp/instructions/tools/check-app-progress.js.map +1 -1
- package/dist/transports/mcp/instructions/tools/check-publish-progress.d.ts +1 -2
- package/dist/transports/mcp/instructions/tools/check-publish-progress.d.ts.map +1 -1
- package/dist/transports/mcp/instructions/tools/check-publish-progress.js +2 -11
- package/dist/transports/mcp/instructions/tools/check-publish-progress.js.map +1 -1
- package/dist/transports/mcp/instructions/tools/copy.d.ts +1 -8
- package/dist/transports/mcp/instructions/tools/copy.d.ts.map +1 -1
- package/dist/transports/mcp/instructions/tools/copy.js +4 -28
- package/dist/transports/mcp/instructions/tools/copy.js.map +1 -1
- package/dist/transports/mcp/instructions/tools/create-integration.d.ts +1 -2
- package/dist/transports/mcp/instructions/tools/create-integration.d.ts.map +1 -1
- package/dist/transports/mcp/instructions/tools/create-integration.js +4 -8
- package/dist/transports/mcp/instructions/tools/create-integration.js.map +1 -1
- package/dist/transports/mcp/instructions/tools/edit-app.js +2 -2
- package/dist/transports/mcp/instructions/tools/edit-app.js.map +1 -1
- package/dist/transports/mcp/instructions/tools/get-app.d.ts.map +1 -1
- package/dist/transports/mcp/instructions/tools/get-app.js +1 -23
- package/dist/transports/mcp/instructions/tools/get-app.js.map +1 -1
- package/dist/transports/mcp/instructions/tools/index.d.ts.map +1 -1
- package/dist/transports/mcp/instructions/tools/index.js +0 -4
- package/dist/transports/mcp/instructions/tools/index.js.map +1 -1
- package/dist/transports/mcp/instructions/tools/publish-app.d.ts +1 -2
- package/dist/transports/mcp/instructions/tools/publish-app.d.ts.map +1 -1
- package/dist/transports/mcp/instructions/tools/publish-app.js +1 -10
- package/dist/transports/mcp/instructions/tools/publish-app.js.map +1 -1
- package/dist/transports/mcp/instructions/tools/start-app.d.ts +1 -2
- package/dist/transports/mcp/instructions/tools/start-app.d.ts.map +1 -1
- package/dist/transports/mcp/instructions/tools/start-app.js +3 -3
- package/dist/transports/mcp/instructions/tools/start-app.js.map +1 -1
- package/dist/transports/mcp/mount.d.ts +8 -15
- package/dist/transports/mcp/mount.d.ts.map +1 -1
- package/dist/transports/mcp/mount.js +233 -206
- package/dist/transports/mcp/mount.js.map +1 -1
- package/dist/transports/mcp/plan-approval.d.ts.map +1 -1
- package/dist/transports/mcp/plan-approval.js.map +1 -1
- package/dist/transports/mcp/tool-permissions.d.ts +30 -0
- package/dist/transports/mcp/tool-permissions.d.ts.map +1 -0
- package/dist/transports/mcp/tool-permissions.js +39 -0
- package/dist/transports/mcp/tool-permissions.js.map +1 -0
- package/package.json +28 -22
- package/skills/superblocks-import/SKILL.md +5 -3
- package/dist/capture/cowork-editor-url.d.ts +0 -7
- package/dist/capture/cowork-editor-url.d.ts.map +0 -1
- package/dist/capture/cowork-editor-url.js +0 -12
- package/dist/capture/cowork-editor-url.js.map +0 -1
- package/dist/transports/mcp/native-browser-presence.d.ts +0 -46
- package/dist/transports/mcp/native-browser-presence.d.ts.map +0 -1
- package/dist/transports/mcp/native-browser-presence.js +0 -158
- package/dist/transports/mcp/native-browser-presence.js.map +0 -1
- package/skills/superblocks-build/SKILL.md +0 -59
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { createHash, randomUUID } from "node:crypto";
|
|
2
|
+
import { EntitlementError } from "@superblocksteam/mcp-server";
|
|
3
|
+
import { BuilderCaller } from "@superblocksteam/shared";
|
|
4
|
+
import { ServerHttpError, ServerTimeoutError, ServerTransportError, } from "../server/client.js";
|
|
5
|
+
import { recordMcpUsageDelivery, recordMcpUsageDeliveryAttempt, } from "./metrics.js";
|
|
6
|
+
export class McpUsage {
|
|
7
|
+
report;
|
|
8
|
+
sessionId = randomUUID();
|
|
9
|
+
constructor(report) {
|
|
10
|
+
this.report = report;
|
|
11
|
+
}
|
|
12
|
+
async run(input, execute) {
|
|
13
|
+
const toolName = input.toolName;
|
|
14
|
+
if (toolName !== "start_app" &&
|
|
15
|
+
toolName !== "edit_app" &&
|
|
16
|
+
toolName !== "get_app" &&
|
|
17
|
+
toolName !== "publish_app" &&
|
|
18
|
+
toolName !== "build_app") {
|
|
19
|
+
return execute();
|
|
20
|
+
}
|
|
21
|
+
const key = input.arguments?.idempotencyKey;
|
|
22
|
+
const applicationId = input.arguments?.applicationId;
|
|
23
|
+
const branch = input.arguments?.branch;
|
|
24
|
+
const replayKey = toolName !== "start_app" &&
|
|
25
|
+
typeof applicationId === "string" &&
|
|
26
|
+
applicationId &&
|
|
27
|
+
typeof key === "string" &&
|
|
28
|
+
key
|
|
29
|
+
? key
|
|
30
|
+
: randomUUID();
|
|
31
|
+
const operationId = createHash("sha256")
|
|
32
|
+
.update(JSON.stringify([
|
|
33
|
+
toolName,
|
|
34
|
+
applicationId ?? null,
|
|
35
|
+
typeof branch === "string" ? branch.trim() || null : null,
|
|
36
|
+
replayKey,
|
|
37
|
+
]))
|
|
38
|
+
.digest("hex");
|
|
39
|
+
const event = {
|
|
40
|
+
operationId,
|
|
41
|
+
sessionId: this.sessionId,
|
|
42
|
+
toolName,
|
|
43
|
+
mcpClient: BuilderCaller.fromPeer("gateway", input.clientName).client ?? "unknown",
|
|
44
|
+
phase: "started",
|
|
45
|
+
};
|
|
46
|
+
void this.deliver(input.apiKey, event);
|
|
47
|
+
let outcome = "error";
|
|
48
|
+
try {
|
|
49
|
+
const result = await execute();
|
|
50
|
+
outcome = result.kind;
|
|
51
|
+
return result;
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
if (error instanceof EntitlementError)
|
|
55
|
+
outcome = "not_entitled";
|
|
56
|
+
throw error;
|
|
57
|
+
}
|
|
58
|
+
finally {
|
|
59
|
+
void this.deliver(input.apiKey, { ...event, phase: "finished", outcome });
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
async deliver(apiKey, event) {
|
|
63
|
+
let timeout;
|
|
64
|
+
try {
|
|
65
|
+
recordMcpUsageDeliveryAttempt();
|
|
66
|
+
await Promise.race([
|
|
67
|
+
this.report({ apiKey, event }),
|
|
68
|
+
new Promise((_resolve, reject) => {
|
|
69
|
+
timeout = setTimeout(() => reject(new ServerTimeoutError("MCP activity delivery timed out")), 1000);
|
|
70
|
+
timeout.unref();
|
|
71
|
+
}),
|
|
72
|
+
]);
|
|
73
|
+
recordMcpUsageDelivery("accepted");
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
recordMcpUsageDelivery("failed", this.deliveryFailureReason(error));
|
|
77
|
+
}
|
|
78
|
+
finally {
|
|
79
|
+
clearTimeout(timeout);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
deliveryFailureReason(error) {
|
|
83
|
+
if (error instanceof ServerTimeoutError)
|
|
84
|
+
return "timeout";
|
|
85
|
+
if (error instanceof ServerTransportError)
|
|
86
|
+
return "network";
|
|
87
|
+
if (!(error instanceof ServerHttpError))
|
|
88
|
+
return "unknown";
|
|
89
|
+
if (error.status === 400)
|
|
90
|
+
return "invalid_request";
|
|
91
|
+
if (error.status === 401 || error.status === 403)
|
|
92
|
+
return "authentication";
|
|
93
|
+
if (error.status === 404)
|
|
94
|
+
return "unsupported";
|
|
95
|
+
if (error.status === 408)
|
|
96
|
+
return "timeout";
|
|
97
|
+
if (error.status === 429)
|
|
98
|
+
return "rate_limited";
|
|
99
|
+
return error.status >= 500 ? "server_error" : "http_error";
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=mcp-usage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-usage.js","sourceRoot":"","sources":["../../src/telemetry/mcp-usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,cAAc,CAAC;AActB,MAAM,OAAO,QAAQ;IAGU,MAAM;IAFlB,SAAS,GAAG,UAAU,EAAE,CAAC;IAE1C,YAA6B,MAAwB;sBAAxB,MAAM;IAAqB,CAAC;IAEzD,KAAK,CAAC,GAAG,CACP,KAAoB,EACpB,OAA2C;QAE3C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAChC,IACE,QAAQ,KAAK,WAAW;YACxB,QAAQ,KAAK,UAAU;YACvB,QAAQ,KAAK,SAAS;YACtB,QAAQ,KAAK,aAAa;YAC1B,QAAQ,KAAK,WAAW,EACxB,CAAC;YACD,OAAO,OAAO,EAAE,CAAC;QACnB,CAAC;QACD,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,EAAE,cAAc,CAAC;QAC5C,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC;QACrD,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC;QACvC,MAAM,SAAS,GACb,QAAQ,KAAK,WAAW;YACxB,OAAO,aAAa,KAAK,QAAQ;YACjC,aAAa;YACb,OAAO,GAAG,KAAK,QAAQ;YACvB,GAAG;YACD,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,UAAU,EAAE,CAAC;QACnB,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC;aACrC,MAAM,CACL,IAAI,CAAC,SAAS,CAAC;YACb,QAAQ;YACR,aAAa,IAAI,IAAI;YACrB,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI;YACzD,SAAS;SACV,CAAC,CACH;aACA,MAAM,CAAC,KAAK,CAAC,CAAC;QACjB,MAAM,KAAK,GAAyB;YAClC,WAAW;YACX,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ;YACR,SAAS,EACP,aAAa,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,IAAI,SAAS;YACzE,KAAK,EAAE,SAAS;SACjB,CAAC;QACF,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACvC,IAAI,OAAO,GAAoC,OAAO,CAAC;QACvD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,EAAE,CAAC;YAC/B,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;YACtB,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,gBAAgB;gBAAE,OAAO,GAAG,cAAc,CAAC;YAChE,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,OAAO,CACnB,MAAc,EACd,KAA2B;QAE3B,IAAI,OAAkD,CAAC;QACvD,IAAI,CAAC;YACH,6BAA6B,EAAE,CAAC;YAChC,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;gBAC9B,IAAI,OAAO,CAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;oBACtC,OAAO,GAAG,UAAU,CAClB,GAAG,EAAE,CACH,MAAM,CAAC,IAAI,kBAAkB,CAAC,iCAAiC,CAAC,CAAC,EACnE,IAAI,CACL,CAAC;oBACF,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,CAAC,CAAC;aACH,CAAC,CAAC;YACH,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sBAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAEO,qBAAqB,CAAC,KAAc;QAC1C,IAAI,KAAK,YAAY,kBAAkB;YAAE,OAAO,SAAS,CAAC;QAC1D,IAAI,KAAK,YAAY,oBAAoB;YAAE,OAAO,SAAS,CAAC;QAC5D,IAAI,CAAC,CAAC,KAAK,YAAY,eAAe,CAAC;YAAE,OAAO,SAAS,CAAC;QAC1D,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,iBAAiB,CAAC;QACnD,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,gBAAgB,CAAC;QAC1E,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,aAAa,CAAC;QAC/C,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,SAAS,CAAC;QAC3C,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,cAAc,CAAC;QAChD,OAAO,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC;IAC7D,CAAC;CACF"}
|
|
@@ -36,6 +36,12 @@ export declare function recordGatewayFault(fault: {
|
|
|
36
36
|
fatal: boolean;
|
|
37
37
|
kind: string;
|
|
38
38
|
}): void;
|
|
39
|
+
export type HostedOrchestratorRefusalReason = "customer_hosted_agent" | "unknown_agent_type";
|
|
40
|
+
/**
|
|
41
|
+
* How often the hosted Platform MCP declines to reach an orchestrator it does
|
|
42
|
+
* not run. The organization is never a label; the refusal log line carries it.
|
|
43
|
+
*/
|
|
44
|
+
export declare function recordHostedOrchestratorRefusal(reason: HostedOrchestratorRefusalReason): void;
|
|
39
45
|
export declare function recordIntegrationProfileResolution(input: {
|
|
40
46
|
reason: ProfileKeyReason;
|
|
41
47
|
scope: "held_session" | "integration_metadata" | "integration_query";
|
|
@@ -53,4 +59,7 @@ export declare function recordReadinessVerdict(input: {
|
|
|
53
59
|
ready: boolean;
|
|
54
60
|
upstream: string;
|
|
55
61
|
}): void;
|
|
62
|
+
export declare function recordMcpUsageDeliveryAttempt(): void;
|
|
63
|
+
export type McpUsageDeliveryReason = "authentication" | "http_error" | "invalid_request" | "network" | "none" | "rate_limited" | "server_error" | "timeout" | "unknown" | "unsupported";
|
|
64
|
+
export declare function recordMcpUsageDelivery(outcome: "accepted" | "failed", reason?: McpUsageDeliveryReason): void;
|
|
56
65
|
//# sourceMappingURL=metrics.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/telemetry/metrics.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AA+DvE;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,IAAI,CAQP;AAED,MAAM,MAAM,uBAAuB,GAC/B,wBAAwB,GACxB,iBAAiB,GACjB,kBAAkB,GAClB,oBAAoB,GACpB,OAAO,GACP,cAAc,GACd,iBAAiB,GACjB,WAAW,CAAC;AAiBhB,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAC1C,IAAI,CAIN;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAE5E;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,WAAW,CAAC;AACxD,MAAM,MAAM,wBAAwB,GAChC,cAAc,GACd,gBAAgB,GAChB,UAAU,GACV,aAAa,GACb,WAAW,GACX,uBAAuB,GACvB,OAAO,GACP,uBAAuB,CAAC;AAE5B,wBAAgB,4BAA4B,CAAC,KAAK,EAAE;IAClD,KAAK,EAAE,oBAAoB,CAAC;IAC5B,SAAS,EAAE,wBAAwB,CAAC;IACpC,OAAO,EAAE,WAAW,GAAG,WAAW,GAAG,UAAU,CAAC;CACjD,GAAG,IAAI,CAMP;AAOD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,uBAAuB,GAC/B,IAAI,CAEN;AAOD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,IAAI,CAKP;AAOD,wBAAgB,kCAAkC,CAAC,KAAK,EAAE;IACxD,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,EAAE,cAAc,GAAG,sBAAsB,GAAG,mBAAmB,CAAC;IACrE,MAAM,EAAE,gBAAgB,CAAC;CAC1B,GAAG,IAAI,CAMP;AAOD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,UAAU,GAAG,WAAW,CAAC;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,IAAI,CAOP"}
|
|
1
|
+
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/telemetry/metrics.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AA+DvE;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,IAAI,CAQP;AAED,MAAM,MAAM,uBAAuB,GAC/B,wBAAwB,GACxB,iBAAiB,GACjB,kBAAkB,GAClB,oBAAoB,GACpB,OAAO,GACP,cAAc,GACd,iBAAiB,GACjB,WAAW,CAAC;AAiBhB,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAC1C,IAAI,CAIN;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAE5E;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,WAAW,CAAC;AACxD,MAAM,MAAM,wBAAwB,GAChC,cAAc,GACd,gBAAgB,GAChB,UAAU,GACV,aAAa,GACb,WAAW,GACX,uBAAuB,GACvB,OAAO,GACP,uBAAuB,CAAC;AAE5B,wBAAgB,4BAA4B,CAAC,KAAK,EAAE;IAClD,KAAK,EAAE,oBAAoB,CAAC;IAC5B,SAAS,EAAE,wBAAwB,CAAC;IACpC,OAAO,EAAE,WAAW,GAAG,WAAW,GAAG,UAAU,CAAC;CACjD,GAAG,IAAI,CAMP;AAOD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,uBAAuB,GAC/B,IAAI,CAEN;AAOD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,IAAI,CAKP;AAOD,MAAM,MAAM,+BAA+B,GACvC,uBAAuB,GACvB,oBAAoB,CAAC;AAEzB;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,+BAA+B,GACtC,IAAI,CAIN;AAOD,wBAAgB,kCAAkC,CAAC,KAAK,EAAE;IACxD,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,EAAE,cAAc,GAAG,sBAAsB,GAAG,mBAAmB,CAAC;IACrE,MAAM,EAAE,gBAAgB,CAAC;CAC1B,GAAG,IAAI,CAMP;AAOD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,UAAU,GAAG,WAAW,CAAC;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,IAAI,CAOP;AAYD,wBAAgB,6BAA6B,IAAI,IAAI,CAEpD;AAED,MAAM,MAAM,sBAAsB,GAC9B,gBAAgB,GAChB,YAAY,GACZ,iBAAiB,GACjB,SAAS,GACT,MAAM,GACN,cAAc,GACd,cAAc,GACd,SAAS,GACT,SAAS,GACT,aAAa,CAAC;AAElB,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,UAAU,GAAG,QAAQ,EAC9B,MAAM,GAAE,sBAA+B,GACtC,IAAI,CAKN"}
|
|
@@ -89,6 +89,16 @@ export function recordGatewayFault(fault) {
|
|
|
89
89
|
"gateway.fault.kind": fault.kind,
|
|
90
90
|
});
|
|
91
91
|
}
|
|
92
|
+
const hostedOrchestratorRefusals = lazyCounter("gateway.orchestrator.hosted_refusals", "Orchestrator resolutions the hosted Platform MCP refused, by bounded reason");
|
|
93
|
+
/**
|
|
94
|
+
* How often the hosted Platform MCP declines to reach an orchestrator it does
|
|
95
|
+
* not run. The organization is never a label; the refusal log line carries it.
|
|
96
|
+
*/
|
|
97
|
+
export function recordHostedOrchestratorRefusal(reason) {
|
|
98
|
+
hostedOrchestratorRefusals().add(1, {
|
|
99
|
+
"gateway.orchestrator.refusal.reason": reason,
|
|
100
|
+
});
|
|
101
|
+
}
|
|
92
102
|
const integrationProfileResolutions = lazyCounter("gateway.integration_profile.resolutions", "Integration profile resolutions by bounded source, reason, and gateway scope");
|
|
93
103
|
export function recordIntegrationProfileResolution(input) {
|
|
94
104
|
integrationProfileResolutions().add(1, {
|
|
@@ -112,4 +122,15 @@ export function recordReadinessVerdict(input) {
|
|
|
112
122
|
"gateway.readiness.upstream": input.upstream,
|
|
113
123
|
});
|
|
114
124
|
}
|
|
125
|
+
const mcpUsageDelivery = lazyCounter("gateway.mcp.usage_delivery", "Delivery of MCP product activity to the authenticated server");
|
|
126
|
+
const mcpUsageDeliveryAttempts = lazyCounter("gateway.mcp.usage_delivery.attempts", "Attempts to deliver MCP product activity to the authenticated server");
|
|
127
|
+
export function recordMcpUsageDeliveryAttempt() {
|
|
128
|
+
mcpUsageDeliveryAttempts().add(1);
|
|
129
|
+
}
|
|
130
|
+
export function recordMcpUsageDelivery(outcome, reason = "none") {
|
|
131
|
+
mcpUsageDelivery().add(1, {
|
|
132
|
+
"gateway.mcp.usage_delivery.outcome": outcome,
|
|
133
|
+
"gateway.mcp.usage_delivery.reason": reason,
|
|
134
|
+
});
|
|
135
|
+
}
|
|
115
136
|
//# sourceMappingURL=metrics.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/telemetry/metrics.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/telemetry/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,OAAO,GACR,MAAM,oBAAoB,CAAC;AAQ5B;;;;;;;;GAQG;AACH,SAAS,cAAc,CAAI,MAA2B;IACpD,IAAI,UAA6B,CAAC;IAClC,IAAI,UAAyB,CAAC;IAC9B,OAAO,GAAG,EAAE;QACV,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,OAAO,KAAK,UAAU,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YACvD,UAAU,GAAG,OAAO,CAAC;YACrB,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAClB,IAAY,EACZ,WAAmB;IAEnB,OAAO,cAAc,CAAC,CAAC,UAAU,EAAE,EAAE,CACnC,UAAU,CAAC,aAAa,CAAyB,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,CACxE,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,IAAY,EACZ,WAAmB,EACnB,gBAA0B;IAE1B,OAAO,cAAc,CAAC,CAAC,UAAU,EAAE,EAAE,CACnC,UAAU,CAAC,eAAe,CAAyB,IAAI,EAAE;QACvD,MAAM,EAAE,EAAE,wBAAwB,EAAE,gBAAgB,EAAE;QACtD,WAAW;QACX,IAAI,EAAE,GAAG;KACV,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,YAAY,GAAG,WAAW,CAC9B,wBAAwB,EACxB,qDAAqD,CACtD,CAAC;AAEF,6EAA6E;AAC7E,MAAM,6BAA6B,GAAG;IACpC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG;CACtD,CAAC;AAEF,MAAM,mBAAmB,GAAG,aAAa,CACvC,wCAAwC,EACxC,yCAAyC,EACzC,6BAA6B,CAC9B,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAKjC;IACC,MAAM,UAAU,GAAG;QACjB,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,WAAW,EAAE,KAAK,CAAC,QAAQ;QAC3B,aAAa,EAAE,KAAK,CAAC,MAAM;KAC5B,CAAC;IACF,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAClC,mBAAmB,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;AAClE,CAAC;AAYD,MAAM,oBAAoB,GAAG,WAAW,CACtC,gCAAgC,EAChC,0FAA0F,CAC3F,CAAC;AAEF,MAAM,uBAAuB,GAAG,WAAW,CACzC,oCAAoC,EACpC,8GAA8G,CAC/G,CAAC;AAEF,MAAM,0BAA0B,GAAG,WAAW,CAC5C,6CAA6C,EAC7C,sEAAsE,CACvE,CAAC;AAEF,MAAM,UAAU,+BAA+B,CAC7C,OAA2C;IAE3C,0BAA0B,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;QAClC,4CAA4C,EAAE,OAAO;KACtD,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAA4B;IACpE,oBAAoB,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,CAAC;AAChE,CAAC;AAaD,MAAM,UAAU,4BAA4B,CAAC,KAI5C;IACC,uBAAuB,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;QAC/B,iCAAiC,EAAE,KAAK,CAAC,KAAK;QAC9C,qCAAqC,EAAE,KAAK,CAAC,SAAS;QACtD,mCAAmC,EAAE,KAAK,CAAC,OAAO;KACnD,CAAC,CAAC;AACL,CAAC;AAED,MAAM,kBAAkB,GAAG,WAAW,CACpC,6BAA6B,EAC7B,8CAA8C,CAC/C,CAAC;AAEF,MAAM,UAAU,uBAAuB,CACrC,OAAgC;IAEhC,kBAAkB,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,4BAA4B,EAAE,OAAO,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,aAAa,GAAG,WAAW,CAC/B,wBAAwB,EACxB,qFAAqF,CACtF,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAGlC;IACC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;QACrB,qBAAqB,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1C,oBAAoB,EAAE,KAAK,CAAC,IAAI;KACjC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,0BAA0B,GAAG,WAAW,CAC5C,sCAAsC,EACtC,6EAA6E,CAC9E,CAAC;AAMF;;;GAGG;AACH,MAAM,UAAU,+BAA+B,CAC7C,MAAuC;IAEvC,0BAA0B,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;QAClC,qCAAqC,EAAE,MAAM;KAC9C,CAAC,CAAC;AACL,CAAC;AAED,MAAM,6BAA6B,GAAG,WAAW,CAC/C,yCAAyC,EACzC,8EAA8E,CAC/E,CAAC;AAEF,MAAM,UAAU,kCAAkC,CAAC,KAIlD;IACC,6BAA6B,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;QACrC,wBAAwB,EAAE,KAAK,CAAC,MAAM;QACtC,uBAAuB,EAAE,KAAK,CAAC,KAAK;QACpC,wBAAwB,EAAE,KAAK,CAAC,MAAM;KACvC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,iBAAiB,GAAG,WAAW,CACnC,4BAA4B,EAC5B,kFAAkF,CACnF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAKtC;IACC,iBAAiB,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;QACzB,4BAA4B,EAAE,KAAK,CAAC,QAAQ;QAC5C,yBAAyB,EAAE,KAAK,CAAC,KAAK;QACtC,yBAAyB,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;QAC9C,4BAA4B,EAAE,KAAK,CAAC,QAAQ;KAC7C,CAAC,CAAC;AACL,CAAC;AAED,MAAM,gBAAgB,GAAG,WAAW,CAClC,4BAA4B,EAC5B,8DAA8D,CAC/D,CAAC;AAEF,MAAM,wBAAwB,GAAG,WAAW,CAC1C,qCAAqC,EACrC,sEAAsE,CACvE,CAAC;AAEF,MAAM,UAAU,6BAA6B;IAC3C,wBAAwB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAcD,MAAM,UAAU,sBAAsB,CACpC,OAA8B,EAC9B,MAAM,GAA2B,MAAM;IAEvC,gBAAgB,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;QACxB,oCAAoC,EAAE,OAAO;QAC7C,mCAAmC,EAAE,MAAM;KAC5C,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { GatewayConfig } from "../config.js";
|
|
2
2
|
import { McpClientTelemetry } from "./mcp-client.js";
|
|
3
3
|
export declare function startGatewayTelemetry(input: {
|
|
4
|
-
|
|
4
|
+
/** Leave out with `getAccessToken` to export without a user credential. */
|
|
5
|
+
apiKey?: string;
|
|
5
6
|
config: GatewayConfig;
|
|
6
7
|
getAccessToken?: () => Promise<string>;
|
|
7
8
|
}): {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/telemetry/runtime.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/telemetry/runtime.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAkGrD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACxC,GAAG;IACF,YAAY,EAAE,kBAAkB,CAAC;IACjC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,aAAa,EAAE,MAAM;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC;CACrE,CAyDA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { DeploymentType, getDefaultPolicy, parseDeploymentType, } from "@superblocksteam/telemetry";
|
|
2
2
|
import { initNodeTelemetry } from "@superblocksteam/telemetry/node";
|
|
3
|
+
import { internalIngressAgent } from "../internal-ingress.js";
|
|
3
4
|
import { McpClientTelemetry } from "./mcp-client.js";
|
|
4
5
|
const TELEMETRY_SHUTDOWN_MS = 2_000;
|
|
5
6
|
/**
|
|
@@ -55,7 +56,7 @@ function environmentFromHostname(hostname) {
|
|
|
55
56
|
if (hostname.match(/^dev\.superblocks(?:hq)?\.com$/u)) {
|
|
56
57
|
return "dev";
|
|
57
58
|
}
|
|
58
|
-
if (hostname.match(/^pr-[0-9]
|
|
59
|
+
if (hostname.match(/^pr-[0-9]+(?:-cp)?\.superblocks(?:hq)?\.dev$/u)) {
|
|
59
60
|
return "ephemeral";
|
|
60
61
|
}
|
|
61
62
|
if (hostname === "localhost" || hostname === "127.0.0.1") {
|
|
@@ -92,6 +93,7 @@ async function settleWithin(work, timeoutMs) {
|
|
|
92
93
|
}
|
|
93
94
|
export function startGatewayTelemetry(input) {
|
|
94
95
|
const otlpUrl = telemetryBaseUrl(input.config.serverUrl);
|
|
96
|
+
const ingress = input.config.internalIngress;
|
|
95
97
|
const deploymentType = deploymentTypeFor(input.config);
|
|
96
98
|
const getAccessToken = input.getAccessToken;
|
|
97
99
|
const telemetry = initNodeTelemetry({
|
|
@@ -99,11 +101,22 @@ export function startGatewayTelemetry(input) {
|
|
|
99
101
|
logger: stderrLogger,
|
|
100
102
|
logsEnabled: false,
|
|
101
103
|
metricsEnabled: true,
|
|
102
|
-
|
|
103
|
-
?
|
|
104
|
-
|
|
104
|
+
...(getAccessToken
|
|
105
|
+
? {
|
|
106
|
+
otlpHeaders: async () => ({
|
|
107
|
+
Authorization: `Bearer ${await getAccessToken()}`,
|
|
108
|
+
}),
|
|
109
|
+
}
|
|
110
|
+
: input.apiKey
|
|
111
|
+
? { otlpHeaders: { Authorization: `Bearer ${input.apiKey}` } }
|
|
112
|
+
: {}),
|
|
105
113
|
...(otlpUrl ? { otlpUrl } : {}),
|
|
106
|
-
|
|
114
|
+
// The exporters post to the server, so they take the same internal path.
|
|
115
|
+
...(ingress
|
|
116
|
+
? { otlpHttpAgent: () => internalIngressAgent(ingress) }
|
|
117
|
+
: {}),
|
|
118
|
+
// Hosted on AgentCore, kept apart from the gateways on users' machines.
|
|
119
|
+
serviceName: input.config.hosted ? "platform-mcp" : "gateway",
|
|
107
120
|
serviceVersion: "0.0.1",
|
|
108
121
|
}, getDefaultPolicy(deploymentType));
|
|
109
122
|
const mcpTelemetry = new McpClientTelemetry(telemetry.getTracer("gateway.mcp"), { recordToolIo: deploymentType === DeploymentType.CLOUD });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/telemetry/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAEpC;;;GAGG;AACH,SAAS,WAAW,CAAC,KAAsB,EAAE,OAAgB;IAC3D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,YAAY,GAAG;IACnB,KAAK,EAAE,WAAW;IAClB,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,WAAW;CAClB,CAAC;AAEF,SAAS,gBAAgB,CAAC,SAAiB;IACzC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/B,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;QACd,GAAG,CAAC,QAAQ,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC;QACzD,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;QAChB,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;QACxE,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,MAAqB;IAC5C,IAAI,MAAM,CAAC,yBAAyB,KAAK,SAAS,EAAE,CAAC;QACnD,OAAO,MAAM,CAAC,yBAAyB,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC;QACH,OAAO,uBAAuB,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,QAAgB;IAC/C,IAAI,QAAQ,CAAC,KAAK,CAAC,iCAAiC,CAAC,EAAE,CAAC;QACtD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,CAAC,gCAAgC,CAAC,EAAE,CAAC;QACrD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,CAAC,qCAAqC,CAAC,EAAE,CAAC;QAC1D,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,CAAC,iCAAiC,CAAC,EAAE,CAAC;QACtD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/telemetry/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,8 @@ import { type ToolRegistry } from "@superblocksteam/mcp-server";
|
|
|
6
6
|
import type { ClientProfile } from "./client-presentation.js";
|
|
7
7
|
export type RegisterAdminToolsOptions = {
|
|
8
8
|
/**
|
|
9
|
-
* Superblocks Server
|
|
10
|
-
*
|
|
9
|
+
* Superblocks Server every Admin call runs against. The shared registry
|
|
10
|
+
* sends it as `base_url`, so models never pick an environment.
|
|
11
11
|
*/
|
|
12
12
|
serverUrl: string | (() => string);
|
|
13
13
|
/**
|
|
@@ -33,15 +33,11 @@ export type RegisterAdminToolsOptions = {
|
|
|
33
33
|
*/
|
|
34
34
|
resolveEditorIntegrationSetupUrl?: (integrationId: string, applicationId: string | undefined) => string | undefined | Promise<string | undefined>;
|
|
35
35
|
};
|
|
36
|
-
export type JsonSchemaToZodShapeOptions = {
|
|
37
|
-
/** Advertised as optional no matter what the source schema requires. */
|
|
38
|
-
optionalKeys?: readonly string[];
|
|
39
|
-
};
|
|
40
36
|
/**
|
|
41
37
|
* Loose JSON-Schema -> Zod conversion so `registerTool` can list Admin tools
|
|
42
38
|
* with usable shapes. Handlers still validate through `@superblocksteam/mcp-server`.
|
|
43
39
|
*/
|
|
44
|
-
export declare function jsonSchemaToZodShape(inputSchema: Tool["inputSchema"]
|
|
40
|
+
export declare function jsonSchemaToZodShape(inputSchema: Tool["inputSchema"]): Record<string, z.ZodType>;
|
|
45
41
|
/**
|
|
46
42
|
* Gateway product copy names the builder Superblocks. Admin tool definitions
|
|
47
43
|
* still mention the retired "Clark" alias in places; rewrite for this surface
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-tools.d.ts","sourceRoot":"","sources":["../../../src/transports/mcp/admin-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAEV,IAAI,EACJ,eAAe,EAChB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAK9D,MAAM,MAAM,yBAAyB,GAAG;IACtC;;;OAGG;IACH,SAAS,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IACnC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAChE;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,aAAa,CAAC;IACpC;;;;OAIG;IACH,gCAAgC,CAAC,EAAE,CACjC,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,GAAG,SAAS,KAC9B,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACvD,CAAC;AAcF
|
|
1
|
+
{"version":3,"file":"admin-tools.d.ts","sourceRoot":"","sources":["../../../src/transports/mcp/admin-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAEV,IAAI,EACJ,eAAe,EAChB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAK9D,MAAM,MAAM,yBAAyB,GAAG;IACtC;;;OAGG;IACH,SAAS,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IACnC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAChE;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,aAAa,CAAC;IACpC;;;;OAIG;IACH,gCAAgC,CAAC,EAAE,CACjC,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,GAAG,SAAS,KAC9B,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACvD,CAAC;AAcF;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,GAC/B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAiB3B;AA+DD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI3D;AAED,uEAAuE;AACvE,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,eAAe,GAAG,SAAS,GACvC,eAAe,CAUjB;AAsFD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,yBAAyB,GACjC,YAAY,CA6Fd"}
|
|
@@ -8,12 +8,9 @@ import { isPublicIntegration } from "./instructions/tools/create-integration.js"
|
|
|
8
8
|
* Loose JSON-Schema -> Zod conversion so `registerTool` can list Admin tools
|
|
9
9
|
* with usable shapes. Handlers still validate through `@superblocksteam/mcp-server`.
|
|
10
10
|
*/
|
|
11
|
-
export function jsonSchemaToZodShape(inputSchema
|
|
11
|
+
export function jsonSchemaToZodShape(inputSchema) {
|
|
12
12
|
const properties = inputSchema?.properties ?? {};
|
|
13
13
|
const required = new Set(inputSchema?.required ?? []);
|
|
14
|
-
for (const key of options.optionalKeys ?? []) {
|
|
15
|
-
required.delete(key);
|
|
16
|
-
}
|
|
17
14
|
const shape = {};
|
|
18
15
|
for (const [key, prop] of Object.entries(properties)) {
|
|
19
16
|
let field = jsonSchemaPropertyToZod(prop ?? {});
|
|
@@ -24,48 +21,10 @@ export function jsonSchemaToZodShape(inputSchema, options = {}) {
|
|
|
24
21
|
}
|
|
25
22
|
return shape;
|
|
26
23
|
}
|
|
27
|
-
/**
|
|
28
|
-
* Arguments the gateway fills in itself, so the model never has to go find
|
|
29
|
-
* them. A required `base_url` reads as missing information: rather than call
|
|
30
|
-
* the tool it was asked for, a client goes hunting for the environment first.
|
|
31
|
-
*/
|
|
32
|
-
const GATEWAY_SUPPLIED_ARGUMENTS = {
|
|
33
|
-
base_url: "Omit this. The gateway always sends its own Superblocks Server URL; any value here is replaced.",
|
|
34
|
-
};
|
|
35
|
-
/**
|
|
36
|
-
* Gateway-only argument on `create_integration`, and the one thing this process
|
|
37
|
-
* cannot work out for itself: which application the conversation is building.
|
|
38
|
-
* Stripped before the shared Admin handler, whose schema is strict.
|
|
39
|
-
*/
|
|
24
|
+
/** Which application the conversation is building, the one thing this process cannot work out for itself. */
|
|
40
25
|
const CREATE_INTEGRATION_APPLICATION_ID = "application_id";
|
|
41
|
-
|
|
26
|
+
// Only this process opens credential entry in the editor, so only it says so.
|
|
42
27
|
const CREATE_INTEGRATION_GUIDANCE = " When this conversation has already started or edited an application, pass its applicationId as application_id so credential entry opens inside that editor.";
|
|
43
|
-
/**
|
|
44
|
-
* Admin tools the gateway keeps to itself.
|
|
45
|
-
*
|
|
46
|
-
* `get_auth_status` answers questions already settled before the model sees a
|
|
47
|
-
* tool (the CLI session already authenticated; the gateway injects its Server URL).
|
|
48
|
-
*
|
|
49
|
-
* `checkout_application` writes caller-controlled paths on the gateway host
|
|
50
|
-
* filesystem. Keep that off stdio MCP until a sandboxed destination model lands;
|
|
51
|
-
* use the CLI/workspace checkout path instead.
|
|
52
|
-
*/
|
|
53
|
-
const OMITTED_ADMIN_TOOLS = new Set([
|
|
54
|
-
"checkout_application",
|
|
55
|
-
"get_auth_status",
|
|
56
|
-
]);
|
|
57
|
-
function gatewayAdminInputShape(inputSchema) {
|
|
58
|
-
const shape = jsonSchemaToZodShape(inputSchema, {
|
|
59
|
-
optionalKeys: Object.keys(GATEWAY_SUPPLIED_ARGUMENTS),
|
|
60
|
-
});
|
|
61
|
-
for (const [key, description] of Object.entries(GATEWAY_SUPPLIED_ARGUMENTS)) {
|
|
62
|
-
const field = shape[key];
|
|
63
|
-
if (field) {
|
|
64
|
-
shape[key] = field.describe(description);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
return shape;
|
|
68
|
-
}
|
|
69
28
|
function jsonSchemaPropertyToZod(prop) {
|
|
70
29
|
if (prop.enum && prop.enum.length > 0) {
|
|
71
30
|
const values = prop.enum.filter((v) => typeof v === "string");
|
|
@@ -200,31 +159,20 @@ function withCreateIntegrationBrowserNavigation(result) {
|
|
|
200
159
|
*/
|
|
201
160
|
export function registerAdminTools(server, options) {
|
|
202
161
|
const registry = buildToolRegistry(toolDefinitions, "customer", {
|
|
162
|
+
embedded: true,
|
|
203
163
|
requireEntitledPlan: options.localAgentMode !== true,
|
|
204
164
|
});
|
|
205
165
|
const serverUrl = () => (typeof options.serverUrl === "function"
|
|
206
166
|
? options.serverUrl()
|
|
207
167
|
: options.serverUrl).replace(/\/$/, "");
|
|
208
168
|
for (const tool of registry.listTools()) {
|
|
209
|
-
if (OMITTED_ADMIN_TOOLS.has(tool.name)) {
|
|
210
|
-
continue;
|
|
211
|
-
}
|
|
212
169
|
const definition = toolDefinitions.find((d) => d.name === tool.name);
|
|
213
170
|
const isCreateIntegration = tool.name === "create_integration";
|
|
214
171
|
server.registerTool(tool.name, {
|
|
215
172
|
annotations: completeToolAnnotations(tool.annotations),
|
|
216
173
|
description: superblocksProductCopy(tool.description ?? "") +
|
|
217
174
|
(isCreateIntegration ? CREATE_INTEGRATION_GUIDANCE : ""),
|
|
218
|
-
inputSchema:
|
|
219
|
-
? {
|
|
220
|
-
...gatewayAdminInputShape(tool.inputSchema),
|
|
221
|
-
[CREATE_INTEGRATION_APPLICATION_ID]: z
|
|
222
|
-
.string()
|
|
223
|
-
.uuid()
|
|
224
|
-
.optional()
|
|
225
|
-
.describe(CREATE_INTEGRATION_APPLICATION_ID_DESCRIPTION),
|
|
226
|
-
}
|
|
227
|
-
: gatewayAdminInputShape(tool.inputSchema),
|
|
175
|
+
inputSchema: jsonSchemaToZodShape(tool.inputSchema),
|
|
228
176
|
title: tool.title ?? definition?.title,
|
|
229
177
|
}, async (args, extra) => {
|
|
230
178
|
gatewayDebugStack("admin tool started", {
|
|
@@ -240,18 +188,6 @@ export function registerAdminTools(server, options) {
|
|
|
240
188
|
typeof rawArgs[CREATE_INTEGRATION_APPLICATION_ID] === "string"
|
|
241
189
|
? rawArgs[CREATE_INTEGRATION_APPLICATION_ID]
|
|
242
190
|
: undefined;
|
|
243
|
-
const callArgs = {
|
|
244
|
-
...rawArgs,
|
|
245
|
-
// Overwritten, never merged. The credential this call runs with belongs
|
|
246
|
-
// to the Gateway's own control plane, so a base_url from the model
|
|
247
|
-
// would send that credential to a host the model chose - reachable
|
|
248
|
-
// through any prompt injection that gets as far as a tool call.
|
|
249
|
-
base_url: baseUrl,
|
|
250
|
-
};
|
|
251
|
-
if (isCreateIntegration) {
|
|
252
|
-
// The shared Admin schema is strict and knows nothing about it.
|
|
253
|
-
delete callArgs[CREATE_INTEGRATION_APPLICATION_ID];
|
|
254
|
-
}
|
|
255
191
|
const result = await runWithAuthContext({
|
|
256
192
|
baseUrl,
|
|
257
193
|
token,
|
|
@@ -265,25 +201,16 @@ export function registerAdminTools(server, options) {
|
|
|
265
201
|
},
|
|
266
202
|
}
|
|
267
203
|
: {}),
|
|
268
|
-
}, () => executeToolCall(tool.name,
|
|
204
|
+
}, () => executeToolCall(tool.name, rawArgs, registry));
|
|
269
205
|
gatewayDebug("admin tool finished", {
|
|
270
206
|
"result.kind": "success",
|
|
271
207
|
"tool.name": tool.name,
|
|
272
208
|
});
|
|
273
|
-
|
|
274
|
-
if (!isCreateIntegration) {
|
|
275
|
-
if (profile &&
|
|
276
|
-
(tool.name === "get_application_access" ||
|
|
277
|
-
tool.name === "get_application_deployment_history" ||
|
|
278
|
-
tool.name === "get_application_summary")) {
|
|
279
|
-
return attachAdminAgentInstructions(tool.name, result, profile);
|
|
280
|
-
}
|
|
209
|
+
if (!isCreateIntegration)
|
|
281
210
|
return result;
|
|
282
|
-
|
|
211
|
+
const profile = options.clientProfile?.();
|
|
283
212
|
const withEditorUrl = await withEditorIntegrationSetupUrl(result, options.resolveEditorIntegrationSetupUrl, setupApplicationId);
|
|
284
|
-
const withBrowser =
|
|
285
|
-
? withCreateIntegrationBrowserNavigation(withEditorUrl)
|
|
286
|
-
: withEditorUrl;
|
|
213
|
+
const withBrowser = withCreateIntegrationBrowserNavigation(withEditorUrl);
|
|
287
214
|
return profile
|
|
288
215
|
? attachAdminAgentInstructions("create_integration", withBrowser, profile)
|
|
289
216
|
: withBrowser;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-tools.js","sourceRoot":"","sources":["../../../src/transports/mcp/admin-tools.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,eAAe,GAEhB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"admin-tools.js","sourceRoot":"","sources":["../../../src/transports/mcp/admin-tools.ts"],"names":[],"mappings":"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"}
|