@revealui/mcp 0.1.10 → 0.2.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.
Files changed (54) hide show
  1. package/LICENSE.commercial +90 -0
  2. package/README.md +5 -13
  3. package/dist/adapters/db.d.ts +16 -7
  4. package/dist/adapters/db.d.ts.map +1 -1
  5. package/dist/adapters/db.js +6 -24
  6. package/dist/adapters/db.js.map +1 -1
  7. package/dist/client.d.ts +307 -0
  8. package/dist/client.d.ts.map +1 -0
  9. package/dist/client.js +492 -0
  10. package/dist/client.js.map +1 -0
  11. package/dist/hypervisor.d.ts +18 -0
  12. package/dist/hypervisor.d.ts.map +1 -1
  13. package/dist/hypervisor.js +83 -4
  14. package/dist/hypervisor.js.map +1 -1
  15. package/dist/index.d.ts +6 -2
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +8 -2
  18. package/dist/index.js.map +1 -1
  19. package/dist/metering.d.ts +59 -0
  20. package/dist/metering.d.ts.map +1 -0
  21. package/dist/metering.js +25 -0
  22. package/dist/metering.js.map +1 -0
  23. package/dist/oauth.d.ts +171 -0
  24. package/dist/oauth.d.ts.map +1 -0
  25. package/dist/oauth.js +292 -0
  26. package/dist/oauth.js.map +1 -0
  27. package/dist/remote-client.d.ts +86 -0
  28. package/dist/remote-client.d.ts.map +1 -0
  29. package/dist/remote-client.js +130 -0
  30. package/dist/remote-client.js.map +1 -0
  31. package/dist/servers/adapter.d.ts.map +1 -1
  32. package/dist/servers/adapter.js +4 -0
  33. package/dist/servers/adapter.js.map +1 -1
  34. package/dist/servers/factories/revealui-content.d.ts +85 -0
  35. package/dist/servers/factories/revealui-content.d.ts.map +1 -0
  36. package/dist/servers/factories/revealui-content.js +471 -0
  37. package/dist/servers/factories/revealui-content.js.map +1 -0
  38. package/dist/servers/revealui-content.d.ts +12 -18
  39. package/dist/servers/revealui-content.d.ts.map +1 -1
  40. package/dist/servers/revealui-content.js +14 -220
  41. package/dist/servers/revealui-content.js.map +1 -1
  42. package/dist/servers/revealui-memory.d.ts +24 -0
  43. package/dist/servers/revealui-memory.d.ts.map +1 -0
  44. package/dist/servers/revealui-memory.js +339 -0
  45. package/dist/servers/revealui-memory.js.map +1 -0
  46. package/dist/streamable-http.d.ts +72 -0
  47. package/dist/streamable-http.d.ts.map +1 -0
  48. package/dist/streamable-http.js +120 -0
  49. package/dist/streamable-http.js.map +1 -0
  50. package/package.json +24 -11
  51. package/dist/stores/postgres-idempotency.d.ts +0 -32
  52. package/dist/stores/postgres-idempotency.d.ts.map +0 -1
  53. package/dist/stores/postgres-idempotency.js +0 -63
  54. package/dist/stores/postgres-idempotency.js.map +0 -1
package/dist/oauth.js ADDED
@@ -0,0 +1,292 @@
1
+ /**
2
+ * OAuth 2.1 client provider for `@revealui/mcp`.
3
+ *
4
+ * Phase: Stage 2 PR-2.1 of the MCP v1 plan (see
5
+ * `.jv/docs/mcp-productionization-scope.md`).
6
+ *
7
+ * Implements the SDK's `OAuthClientProvider` interface, backed by a pluggable
8
+ * `Vault` for durable credential storage. The default implementation shells
9
+ * out to the `revvault` CLI; a memory-backed implementation is exported for
10
+ * tests and for environments without revvault on the host.
11
+ *
12
+ * Storage layout per `(tenant, server)` pair, rooted at `mcp/<tenant>/<server>/`:
13
+ * tokens — OAuthTokens JSON (access + refresh + expiry + token_type + scope)
14
+ * client — DCR client info JSON (client_id + optional client_secret)
15
+ * verifier — PKCE code verifier, opaque string, single-use during redirect
16
+ * discovery — cached authorization-server metadata (optional)
17
+ *
18
+ * Flow (first-time authorization):
19
+ * 1. Caller constructs a provider with `{ tenant, server, vault, redirectUrl,
20
+ * clientMetadata, onRedirect }` and attaches it to a Streamable HTTP
21
+ * transport via `authProvider` on `StreamableHttpTransportOptions`.
22
+ * 2. On `connect()`, the SDK transport detects missing tokens, runs OAuth
23
+ * discovery, performs Dynamic Client Registration (RFC 7591) if
24
+ * `saveClientInformation` is implemented, generates a PKCE verifier,
25
+ * persists it, and calls `redirectToAuthorization(url)`.
26
+ * 3. This provider's `redirectToAuthorization` records the URL on
27
+ * `lastAuthorizationUrl` and invokes the caller's `onRedirect` hook. The
28
+ * caller navigates the user agent (e.g. a Next.js route handler issuing
29
+ * an HTTP 302).
30
+ * 4. After the user authorizes and returns to the callback URL, the caller
31
+ * extracts the `code` query parameter and invokes `mcpClient.finishAuth(code)`,
32
+ * which delegates to the transport's `finishAuth(code)` — this exchanges
33
+ * the code via PKCE and persists tokens via `saveTokens`.
34
+ * 5. Subsequent `connect()` calls use the stored tokens. Token refresh is
35
+ * automatic: the SDK detects expiry, calls the refresh endpoint, and
36
+ * calls `saveTokens` with the new token set. OAuth 2.1 §4.12 refresh-token
37
+ * rotation is transparent — the rotated refresh_token flows through
38
+ * `saveTokens` verbatim.
39
+ */
40
+ import { spawn } from 'node:child_process';
41
+ import { homedir } from 'node:os';
42
+ import { join } from 'node:path';
43
+ /**
44
+ * Creates a {@link Vault} backed by the `revvault` CLI. Requires `revvault` to
45
+ * be installed on the host and the age identity to be readable.
46
+ *
47
+ * Production default for RevealUI deployments. In CI or test environments
48
+ * without revvault, prefer {@link createMemoryVault}.
49
+ */
50
+ export function createRevvaultVault(options = {}) {
51
+ const binPath = options.binPath ?? join(homedir(), '.local/bin/revvault');
52
+ const identityPath = options.identityPath ??
53
+ process.env.REVVAULT_IDENTITY ??
54
+ join(homedir(), '.config/age/keys.txt');
55
+ const timeoutMs = options.timeoutMs ?? 10_000;
56
+ const env = { ...process.env, REVVAULT_IDENTITY: identityPath };
57
+ const run = (args, stdin) => new Promise((resolve, reject) => {
58
+ const child = spawn(binPath, args, { env, timeout: timeoutMs });
59
+ let stdout = '';
60
+ let stderr = '';
61
+ child.stdout.setEncoding('utf8');
62
+ child.stderr.setEncoding('utf8');
63
+ child.stdout.on('data', (chunk) => {
64
+ stdout += chunk;
65
+ });
66
+ child.stderr.on('data', (chunk) => {
67
+ stderr += chunk;
68
+ });
69
+ child.on('error', reject);
70
+ child.on('close', (code) => {
71
+ resolve({ code, stdout, stderr });
72
+ });
73
+ if (stdin !== undefined) {
74
+ child.stdin.end(stdin);
75
+ }
76
+ else {
77
+ child.stdin.end();
78
+ }
79
+ });
80
+ return {
81
+ async get(path) {
82
+ assertSafePath(path);
83
+ const { code, stdout, stderr } = await run(['get', '--full', path]);
84
+ if (code !== 0) {
85
+ throw new RevvaultError(`revvault get exited ${code}: ${stderr.trim()}`);
86
+ }
87
+ if (stdout.length === 0 && /not found/i.test(stderr)) {
88
+ return undefined;
89
+ }
90
+ if (stdout.length === 0) {
91
+ throw new RevvaultError(`revvault get returned empty output: ${stderr.trim()}`);
92
+ }
93
+ return stdout.endsWith('\n') ? stdout.slice(0, -1) : stdout;
94
+ },
95
+ async set(path, value) {
96
+ assertSafePath(path);
97
+ const { code, stderr } = await run(['set', '--force', path], value);
98
+ if (code !== 0) {
99
+ throw new RevvaultError(`revvault set exited ${code}: ${stderr.trim()}`);
100
+ }
101
+ },
102
+ async delete(path) {
103
+ assertSafePath(path);
104
+ const { code, stderr } = await run(['delete', '--force', path]);
105
+ if (code !== 0 && !/not found/i.test(stderr)) {
106
+ throw new RevvaultError(`revvault delete exited ${code}: ${stderr.trim()}`);
107
+ }
108
+ },
109
+ async list(prefix) {
110
+ assertSafePrefix(prefix);
111
+ const { code, stdout, stderr } = await run(['list', prefix]);
112
+ if (code !== 0) {
113
+ throw new RevvaultError(`revvault list exited ${code}: ${stderr.trim()}`);
114
+ }
115
+ // `revvault list` emits one path per line. Empty / informational output
116
+ // (e.g. `No secrets found.`) returns an empty array.
117
+ return stdout
118
+ .split('\n')
119
+ .map((line) => line.trim())
120
+ .filter((line) => line.length > 0 && line.startsWith(prefix));
121
+ },
122
+ };
123
+ }
124
+ /** Reject shell-metacharacter and traversal patterns in vault paths. */
125
+ function assertSafePath(path) {
126
+ if (!/^[A-Za-z0-9/_\-.]+$/.test(path)) {
127
+ throw new RevvaultError(`Vault path contains disallowed characters: ${path}`);
128
+ }
129
+ if (path.includes('..') || path.startsWith('/') || path.endsWith('/')) {
130
+ throw new RevvaultError(`Vault path is not well-formed: ${path}`);
131
+ }
132
+ }
133
+ /** Same rules as {@link assertSafePath} but allows the trailing slash of a prefix. */
134
+ function assertSafePrefix(prefix) {
135
+ if (!/^[A-Za-z0-9/_\-.]+$/.test(prefix)) {
136
+ throw new RevvaultError(`Vault prefix contains disallowed characters: ${prefix}`);
137
+ }
138
+ if (prefix.includes('..') || prefix.startsWith('/')) {
139
+ throw new RevvaultError(`Vault prefix is not well-formed: ${prefix}`);
140
+ }
141
+ }
142
+ export class RevvaultError extends Error {
143
+ constructor(message) {
144
+ super(message);
145
+ this.name = 'RevvaultError';
146
+ }
147
+ }
148
+ // ---------------------------------------------------------------------------
149
+ // In-memory vault (tests / ephemeral flows)
150
+ // ---------------------------------------------------------------------------
151
+ /**
152
+ * Creates an in-memory {@link Vault} backed by a `Map`. Intended for tests and
153
+ * for short-lived processes where persistence is not required.
154
+ *
155
+ * An optional `seed` object prepopulates the map.
156
+ */
157
+ export function createMemoryVault(seed) {
158
+ const store = new Map(seed ? Object.entries(seed) : undefined);
159
+ return {
160
+ async get(path) {
161
+ return store.get(path);
162
+ },
163
+ async set(path, value) {
164
+ store.set(path, value);
165
+ },
166
+ async delete(path) {
167
+ store.delete(path);
168
+ },
169
+ async list(prefix) {
170
+ const out = [];
171
+ for (const key of store.keys()) {
172
+ if (key.startsWith(prefix))
173
+ out.push(key);
174
+ }
175
+ return out;
176
+ },
177
+ };
178
+ }
179
+ /** Build the {@link McpOAuthPaths} for a given `(tenant, server)` pair. */
180
+ export function mcpOAuthPaths(tenant, server) {
181
+ const prefix = `mcp/${tenant}/${server}`;
182
+ return {
183
+ tokens: `${prefix}/tokens`,
184
+ client: `${prefix}/client`,
185
+ verifier: `${prefix}/verifier`,
186
+ discovery: `${prefix}/discovery`,
187
+ };
188
+ }
189
+ /**
190
+ * SDK-compatible OAuth client provider backed by a {@link Vault}. Instances are
191
+ * scoped to a single `(tenant, server)` pair — construct one per MCP server
192
+ * the caller intends to authorize against.
193
+ */
194
+ export class McpOAuthProvider {
195
+ vault;
196
+ paths;
197
+ _redirectUrl;
198
+ _clientMetadata;
199
+ onRedirect;
200
+ _state;
201
+ /**
202
+ * The most recent authorization URL the SDK asked us to send the user to.
203
+ * Populated by {@link redirectToAuthorization}. Callers may read this
204
+ * synchronously after an `auth()` or `connect()` call that returns
205
+ * `'REDIRECT'`.
206
+ */
207
+ lastAuthorizationUrl;
208
+ constructor(options) {
209
+ this.vault = options.vault;
210
+ this.paths = mcpOAuthPaths(options.tenant, options.server);
211
+ this._redirectUrl = options.redirectUrl;
212
+ this._clientMetadata = options.clientMetadata;
213
+ this.onRedirect = options.onRedirect;
214
+ this._state = options.state;
215
+ }
216
+ // -- OAuthClientProvider (getters) ----------------------------------------
217
+ get redirectUrl() {
218
+ return this._redirectUrl;
219
+ }
220
+ get clientMetadata() {
221
+ return this._clientMetadata;
222
+ }
223
+ state() {
224
+ if (this._state)
225
+ return this._state();
226
+ return crypto.randomUUID();
227
+ }
228
+ // -- OAuthClientProvider (client info) ------------------------------------
229
+ async clientInformation() {
230
+ const raw = await this.vault.get(this.paths.client);
231
+ if (raw === undefined)
232
+ return undefined;
233
+ return parseJson(raw, 'client information');
234
+ }
235
+ async saveClientInformation(info) {
236
+ await this.vault.set(this.paths.client, JSON.stringify(info));
237
+ }
238
+ // -- OAuthClientProvider (tokens) -----------------------------------------
239
+ async tokens() {
240
+ const raw = await this.vault.get(this.paths.tokens);
241
+ if (raw === undefined)
242
+ return undefined;
243
+ return parseJson(raw, 'tokens');
244
+ }
245
+ async saveTokens(tokens) {
246
+ await this.vault.set(this.paths.tokens, JSON.stringify(tokens));
247
+ }
248
+ // -- OAuthClientProvider (PKCE verifier) ----------------------------------
249
+ async saveCodeVerifier(codeVerifier) {
250
+ await this.vault.set(this.paths.verifier, codeVerifier);
251
+ }
252
+ async codeVerifier() {
253
+ const value = await this.vault.get(this.paths.verifier);
254
+ if (value === undefined) {
255
+ throw new Error(`[@revealui/mcp] PKCE code verifier missing at ${this.paths.verifier}. ` +
256
+ 'The authorization flow must call saveCodeVerifier before finishAuth.');
257
+ }
258
+ return value;
259
+ }
260
+ // -- OAuthClientProvider (redirect) ---------------------------------------
261
+ async redirectToAuthorization(authorizationUrl) {
262
+ this.lastAuthorizationUrl = authorizationUrl;
263
+ if (this.onRedirect) {
264
+ await this.onRedirect(authorizationUrl);
265
+ }
266
+ }
267
+ // -- OAuthClientProvider (invalidation) -----------------------------------
268
+ async invalidateCredentials(scope) {
269
+ const targets = [];
270
+ if (scope === 'all' || scope === 'tokens')
271
+ targets.push(this.paths.tokens);
272
+ if (scope === 'all' || scope === 'client')
273
+ targets.push(this.paths.client);
274
+ if (scope === 'all' || scope === 'verifier')
275
+ targets.push(this.paths.verifier);
276
+ if (scope === 'all' || scope === 'discovery')
277
+ targets.push(this.paths.discovery);
278
+ await Promise.all(targets.map((path) => this.vault.delete(path)));
279
+ }
280
+ }
281
+ // ---------------------------------------------------------------------------
282
+ // Helpers
283
+ // ---------------------------------------------------------------------------
284
+ function parseJson(raw, label) {
285
+ try {
286
+ return JSON.parse(raw);
287
+ }
288
+ catch (err) {
289
+ throw new Error(`[@revealui/mcp] Failed to parse stored ${label} JSON: ${err.message}`);
290
+ }
291
+ }
292
+ //# sourceMappingURL=oauth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAsDjC;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAgC,EAAE;IACpE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,qBAAqB,CAAC,CAAC;IAC1E,MAAM,YAAY,GAChB,OAAO,CAAC,YAAY;QACpB,OAAO,CAAC,GAAG,CAAC,iBAAiB;QAC7B,IAAI,CAAC,OAAO,EAAE,EAAE,sBAAsB,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC;IAE9C,MAAM,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,iBAAiB,EAAE,YAAY,EAAE,CAAC;IAEhE,MAAM,GAAG,GAAG,CACV,IAAc,EACd,KAAc,EACoD,EAAE,CACpE,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QAChE,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACjC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACjC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACxC,MAAM,IAAI,KAAK,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACxC,MAAM,IAAI,KAAK,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO;QACL,KAAK,CAAC,GAAG,CAAC,IAAI;YACZ,cAAc,CAAC,IAAI,CAAC,CAAC;YACrB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;YACpE,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,MAAM,IAAI,aAAa,CAAC,uBAAuB,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3E,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrD,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,aAAa,CAAC,uCAAuC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAClF,CAAC;YACD,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9D,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK;YACnB,cAAc,CAAC,IAAI,CAAC,CAAC;YACrB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;YACpE,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,MAAM,IAAI,aAAa,CAAC,uBAAuB,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,IAAI;YACf,cAAc,CAAC,IAAI,CAAC,CAAC;YACrB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;YAChE,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7C,MAAM,IAAI,aAAa,CAAC,0BAA0B,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,MAAM;YACf,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACzB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YAC7D,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,MAAM,IAAI,aAAa,CAAC,wBAAwB,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC5E,CAAC;YACD,wEAAwE;YACxE,qDAAqD;YACrD,OAAO,MAAM;iBACV,KAAK,CAAC,IAAI,CAAC;iBACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;iBAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QAClE,CAAC;KACF,CAAC;AACJ,CAAC;AAED,wEAAwE;AACxE,SAAS,cAAc,CAAC,IAAY;IAClC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,aAAa,CAAC,8CAA8C,IAAI,EAAE,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,aAAa,CAAC,kCAAkC,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC;AACH,CAAC;AAED,sFAAsF;AACtF,SAAS,gBAAgB,CAAC,MAAc;IACtC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,aAAa,CAAC,gDAAgD,MAAM,EAAE,CAAC,CAAC;IACpF,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,aAAa,CAAC,oCAAoC,MAAM,EAAE,CAAC,CAAC;IACxE,CAAC;AACH,CAAC;AAED,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED,8EAA8E;AAC9E,4CAA4C;AAC5C,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAA6B;IAC7D,MAAM,KAAK,GAAG,IAAI,GAAG,CAAiB,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC/E,OAAO;QACL,KAAK,CAAC,GAAG,CAAC,IAAI;YACZ,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK;YACnB,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,IAAI;YACf,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,MAAM;YACf,MAAM,GAAG,GAAa,EAAE,CAAC;YACzB,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC/B,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;oBAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5C,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;KACF,CAAC;AACJ,CAAC;AAiBD,2EAA2E;AAC3E,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,MAAc;IAC1D,MAAM,MAAM,GAAG,OAAO,MAAM,IAAI,MAAM,EAAE,CAAC;IACzC,OAAO;QACL,MAAM,EAAE,GAAG,MAAM,SAAS;QAC1B,MAAM,EAAE,GAAG,MAAM,SAAS;QAC1B,QAAQ,EAAE,GAAG,MAAM,WAAW;QAC9B,SAAS,EAAE,GAAG,MAAM,YAAY;KACjC,CAAC;AACJ,CAAC;AAuCD;;;;GAIG;AACH,MAAM,OAAO,gBAAgB;IACV,KAAK,CAAQ;IACb,KAAK,CAAgB;IACrB,YAAY,CAAe;IAC3B,eAAe,CAAsB;IACrC,UAAU,CAAsC;IAChD,MAAM,CAAkC;IAEzD;;;;;OAKG;IACH,oBAAoB,CAAO;IAE3B,YAAY,OAAgC;QAC1C,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;QACxC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;QAC9C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAC9B,CAAC;IAED,4EAA4E;IAE5E,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;IAED,4EAA4E;IAE5E,KAAK,CAAC,iBAAiB;QACrB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACxC,OAAO,SAAS,CAA8B,GAAG,EAAE,oBAAoB,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,IAAiC;QAC3D,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,4EAA4E;IAE5E,KAAK,CAAC,MAAM;QACV,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACxC,OAAO,SAAS,CAAc,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAmB;QAClC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,4EAA4E;IAE5E,KAAK,CAAC,gBAAgB,CAAC,YAAoB;QACzC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,iDAAiD,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI;gBACtE,sEAAsE,CACzE,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,4EAA4E;IAE5E,KAAK,CAAC,uBAAuB,CAAC,gBAAqB;QACjD,IAAI,CAAC,oBAAoB,GAAG,gBAAgB,CAAC;QAC7C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,4EAA4E;IAE5E,KAAK,CAAC,qBAAqB,CACzB,KAA6D;QAE7D,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,QAAQ;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3E,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,QAAQ;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3E,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,UAAU;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/E,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,WAAW;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACjF,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;CACF;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,SAAS,SAAS,CAAI,GAAW,EAAE,KAAa;IAC9C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAM,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,0CAA0C,KAAK,UAAW,GAAa,CAAC,OAAO,EAAE,CAClF,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Remote MCP server client helpers — tenant-scoped discovery + connection.
3
+ *
4
+ * Two responsibilities:
5
+ *
6
+ * 1. {@link listConnectedMcpServers} — enumerate the servers a tenant has
7
+ * an authorized OAuth token for in the vault. Does NOT connect; a pure
8
+ * metadata lookup.
9
+ *
10
+ * 2. {@link buildRemoteMcpClient} — load the stored server URL + OAuth
11
+ * meta for `(tenant, server)` and return a configured {@link McpClient}.
12
+ * The client is configured but NOT yet connected — callers invoke
13
+ * `connect()` themselves so they can manage teardown.
14
+ *
15
+ * Both helpers were originally defined alongside each other in the admin
16
+ * app: {@link listConnectedMcpServers} as inline logic in the
17
+ * `/api/mcp/remote-servers` route, {@link buildRemoteMcpClient} as the
18
+ * admin-local `lib/mcp/remote-server-client.ts`. They moved here so the API
19
+ * app can use the same path enumeration + client-construction logic without
20
+ * duplicating admin code.
21
+ */
22
+ import { type ElicitationHandler, McpClient, type SamplingHandler } from './client.js';
23
+ import { type Vault } from './oauth.js';
24
+ /**
25
+ * List the MCP servers that tenant `tenantId` has authorized OAuth tokens
26
+ * for in the vault. Enumerates `mcp/<tenantId>/<server>/tokens` entries
27
+ * and returns the unique server IDs, sorted ascending.
28
+ *
29
+ * A server appears here if and only if a successful OAuth flow has landed
30
+ * a `tokens` blob at that path. Tokens may be expired — refresh/rotation
31
+ * is the transport's concern via the `OAuthClientProvider` hooks. Callers
32
+ * should treat this list as "has been authorized at least once" rather
33
+ * than "is definitely healthy right now".
34
+ *
35
+ * @throws {RevvaultError} when the vault `list` call fails or when
36
+ * `tenantId` contains characters that would be unsafe to pass to the
37
+ * vault.
38
+ */
39
+ export declare function listConnectedMcpServers(vault: Vault, tenantId: string): Promise<string[]>;
40
+ /** Stored alongside tokens by the OAuth callback. */
41
+ export interface RemoteServerMeta {
42
+ serverUrl: string;
43
+ connectedAt: string;
44
+ connectedBy: string;
45
+ }
46
+ export declare class RemoteServerNotConnectedError extends Error {
47
+ readonly tenant: string;
48
+ readonly server: string;
49
+ constructor(tenant: string, server: string);
50
+ }
51
+ export interface BuildRemoteMcpClientOptions {
52
+ tenant: string;
53
+ server: string;
54
+ /** Injected for tests; defaults to the revvault-backed vault. */
55
+ vault?: Vault;
56
+ /** Client name reported during `initialize`. */
57
+ clientName?: string;
58
+ /** Client version reported during `initialize`. */
59
+ clientVersion?: string;
60
+ /**
61
+ * Handler invoked when the server sends `elicitation/create`. Registered
62
+ * on the `McpClient` at construction time so capability advertisement
63
+ * matches what the caller can actually service.
64
+ */
65
+ elicitationHandler?: ElicitationHandler;
66
+ /**
67
+ * Handler invoked when the server sends `sampling/create`. Registered
68
+ * on the `McpClient` at construction time so capability advertisement
69
+ * matches what the caller can actually service. Typically built via
70
+ * `createSamplingHandler` from `@revealui/ai`, which routes the request
71
+ * through the caller's configured LLM with an optional model allowlist
72
+ * for cost safety.
73
+ */
74
+ samplingHandler?: SamplingHandler;
75
+ }
76
+ export interface BuiltRemoteMcpClient {
77
+ client: McpClient;
78
+ meta: RemoteServerMeta;
79
+ }
80
+ /**
81
+ * Load OAuth credentials + server URL and return a configured `McpClient`.
82
+ * Throws {@link RemoteServerNotConnectedError} if no meta record exists for
83
+ * the `(tenant, server)` pair.
84
+ */
85
+ export declare function buildRemoteMcpClient(options: BuildRemoteMcpClientOptions): Promise<BuiltRemoteMcpClient>;
86
+ //# sourceMappingURL=remote-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-client.d.ts","sourceRoot":"","sources":["../src/remote-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,KAAK,kBAAkB,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AACvF,OAAO,EAKL,KAAK,KAAK,EACX,MAAM,YAAY,CAAC;AAYpB;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAc/F;AAMD,qDAAqD;AACrD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,6BAA8B,SAAQ,KAAK;aAEpC,MAAM,EAAE,MAAM;aACd,MAAM,EAAE,MAAM;gBADd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM;CAQjC;AAeD,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,gBAAgB,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,oBAAoB,CAAC,CAgC/B"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Remote MCP server client helpers — tenant-scoped discovery + connection.
3
+ *
4
+ * Two responsibilities:
5
+ *
6
+ * 1. {@link listConnectedMcpServers} — enumerate the servers a tenant has
7
+ * an authorized OAuth token for in the vault. Does NOT connect; a pure
8
+ * metadata lookup.
9
+ *
10
+ * 2. {@link buildRemoteMcpClient} — load the stored server URL + OAuth
11
+ * meta for `(tenant, server)` and return a configured {@link McpClient}.
12
+ * The client is configured but NOT yet connected — callers invoke
13
+ * `connect()` themselves so they can manage teardown.
14
+ *
15
+ * Both helpers were originally defined alongside each other in the admin
16
+ * app: {@link listConnectedMcpServers} as inline logic in the
17
+ * `/api/mcp/remote-servers` route, {@link buildRemoteMcpClient} as the
18
+ * admin-local `lib/mcp/remote-server-client.ts`. They moved here so the API
19
+ * app can use the same path enumeration + client-construction logic without
20
+ * duplicating admin code.
21
+ */
22
+ import { McpClient } from './client.js';
23
+ import { createRevvaultVault, McpOAuthProvider, RevvaultError, } from './oauth.js';
24
+ /**
25
+ * Safe identifier regex for tenant + server IDs. Matches the regex used by
26
+ * the admin remote-servers route for incoming user input.
27
+ */
28
+ const SAFE_ID_RE = /^[A-Za-z0-9_-]{1,64}$/;
29
+ // ---------------------------------------------------------------------------
30
+ // Tenant → connected-server discovery
31
+ // ---------------------------------------------------------------------------
32
+ /**
33
+ * List the MCP servers that tenant `tenantId` has authorized OAuth tokens
34
+ * for in the vault. Enumerates `mcp/<tenantId>/<server>/tokens` entries
35
+ * and returns the unique server IDs, sorted ascending.
36
+ *
37
+ * A server appears here if and only if a successful OAuth flow has landed
38
+ * a `tokens` blob at that path. Tokens may be expired — refresh/rotation
39
+ * is the transport's concern via the `OAuthClientProvider` hooks. Callers
40
+ * should treat this list as "has been authorized at least once" rather
41
+ * than "is definitely healthy right now".
42
+ *
43
+ * @throws {RevvaultError} when the vault `list` call fails or when
44
+ * `tenantId` contains characters that would be unsafe to pass to the
45
+ * vault.
46
+ */
47
+ export async function listConnectedMcpServers(vault, tenantId) {
48
+ if (!SAFE_ID_RE.test(tenantId)) {
49
+ throw new RevvaultError(`tenantId must match /^[A-Za-z0-9_-]{1,64}$/ (got: ${tenantId})`);
50
+ }
51
+ const paths = await vault.list(`mcp/${tenantId}/`);
52
+ const serverIds = new Set();
53
+ for (const path of paths) {
54
+ const segments = path.split('/');
55
+ if (segments.length === 4 && segments[3] === 'tokens') {
56
+ const server = segments[2];
57
+ if (server && SAFE_ID_RE.test(server))
58
+ serverIds.add(server);
59
+ }
60
+ }
61
+ return Array.from(serverIds).sort();
62
+ }
63
+ export class RemoteServerNotConnectedError extends Error {
64
+ tenant;
65
+ server;
66
+ constructor(tenant, server) {
67
+ super(`No OAuth meta found for mcp/${tenant}/${server}. ` +
68
+ 'Re-authorize the server via /mcp/connect.');
69
+ this.tenant = tenant;
70
+ this.server = server;
71
+ this.name = 'RemoteServerNotConnectedError';
72
+ }
73
+ }
74
+ /**
75
+ * Non-authoritative placeholder; the provider reuses the originally-registered
76
+ * client info saved at `mcp/<tenant>/<server>/client`. Only shape is required
77
+ * by the provider constructor.
78
+ */
79
+ const SENTINEL_CLIENT_METADATA = {
80
+ redirect_uris: ['http://localhost/unused'],
81
+ client_name: 'RevealUI (runtime)',
82
+ grant_types: ['authorization_code', 'refresh_token'],
83
+ response_types: ['code'],
84
+ token_endpoint_auth_method: 'none',
85
+ };
86
+ /**
87
+ * Load OAuth credentials + server URL and return a configured `McpClient`.
88
+ * Throws {@link RemoteServerNotConnectedError} if no meta record exists for
89
+ * the `(tenant, server)` pair.
90
+ */
91
+ export async function buildRemoteMcpClient(options) {
92
+ const { tenant, server } = options;
93
+ const vault = options.vault ?? createRevvaultVault();
94
+ const metaPath = `mcp/${tenant}/${server}/meta`;
95
+ const rawMeta = await vault.get(metaPath);
96
+ if (!rawMeta)
97
+ throw new RemoteServerNotConnectedError(tenant, server);
98
+ const meta = parseMeta(rawMeta);
99
+ const provider = new McpOAuthProvider({
100
+ tenant,
101
+ server,
102
+ vault,
103
+ redirectUrl: 'http://localhost/unused',
104
+ clientMetadata: SENTINEL_CLIENT_METADATA,
105
+ });
106
+ const client = new McpClient({
107
+ clientInfo: {
108
+ name: options.clientName ?? 'revealui',
109
+ version: options.clientVersion ?? '0.0.0',
110
+ },
111
+ transport: {
112
+ kind: 'streamable-http',
113
+ url: meta.serverUrl,
114
+ authProvider: provider,
115
+ },
116
+ ...(options.elicitationHandler ? { elicitationHandler: options.elicitationHandler } : {}),
117
+ ...(options.samplingHandler ? { samplingHandler: options.samplingHandler } : {}),
118
+ });
119
+ return { client, meta };
120
+ }
121
+ function parseMeta(raw) {
122
+ const parsed = JSON.parse(raw);
123
+ if (typeof parsed.serverUrl !== 'string' ||
124
+ typeof parsed.connectedAt !== 'string' ||
125
+ typeof parsed.connectedBy !== 'string') {
126
+ throw new Error('Stored MCP remote-server meta is missing required fields');
127
+ }
128
+ return parsed;
129
+ }
130
+ //# sourceMappingURL=remote-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-client.js","sourceRoot":"","sources":["../src/remote-client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/servers/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/servers/adapter.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@
12
12
  import { randomBytes } from 'node:crypto';
13
13
  import { registerCleanupHandler } from '@revealui/core/monitoring';
14
14
  import { logger as coreLogger } from '@revealui/core/observability/logger';
15
+ import { assertPublicUrl } from '@revealui/security';
15
16
  export var McpErrorCode;
16
17
  (function (McpErrorCode) {
17
18
  McpErrorCode["VALIDATION_ERROR"] = "VALIDATION_ERROR";
@@ -345,6 +346,9 @@ export class MCPAdapter {
345
346
  const controller = new AbortController();
346
347
  const timer = setTimeout(() => controller.abort(), timeout);
347
348
  try {
349
+ // SSRF protection: resolve hostname and reject private/reserved IPs
350
+ // before sending credentials to an attacker-controlled endpoint.
351
+ await assertPublicUrl(url);
348
352
  const response = await fetch(url, {
349
353
  method,
350
354
  headers,
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/servers/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/servers/adapter.ts"],"names":[],"mappings":"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"}