@n24q02m/mcp-core 1.18.0-beta.21 → 1.18.0-beta.23

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.
@@ -22,6 +22,7 @@
22
22
  */
23
23
  import { JWTIssuer } from '../oauth/jwt-issuer.js';
24
24
  import { type RequestHandler } from './router.js';
25
+ import { type SessionKv } from './session-store.js';
25
26
  export type FlowType = 'device_code' | 'redirect';
26
27
  export type TokenEndpointAuthMethod = 'client_secret_basic' | 'client_secret_post';
27
28
  export interface UpstreamOAuthConfig {
@@ -55,6 +56,13 @@ export interface DelegatedOAuthAppOptions {
55
56
  upstream: UpstreamOAuthConfig;
56
57
  onTokenReceived: TokenCallback;
57
58
  jwtIssuer?: JWTIssuer;
59
+ /**
60
+ * Optional durable KV for the delegated-flow handshake state (pending
61
+ * sessions + issued auth codes). Inject in serverless/container deploys so
62
+ * the state survives a cold-start/restart between /authorize and /callback;
63
+ * omit for stdio/single-process (falls back to an in-process map).
64
+ */
65
+ sessionKv?: SessionKv;
58
66
  }
59
67
  export interface DelegatedOAuthAppResult {
60
68
  handler: RequestHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"delegated-oauth-app.d.ts","sourceRoot":"","sources":["../../src/auth/delegated-oauth-app.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAElD,OAAO,EAML,KAAK,cAAc,EACpB,MAAM,aAAa,CAAA;AAGpB,MAAM,MAAM,QAAQ,GAAG,aAAa,GAAG,UAAU,CAAA;AAEjD,MAAM,MAAM,uBAAuB,GAAG,qBAAqB,GAAG,oBAAoB,CAAA;AAElF,MAAM,WAAW,mBAAmB;IAElC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,uBAAuB,CAAA;IAEjD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAEjD;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,WAAW,KAAK,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,CAAA;AAEnH,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,QAAQ,CAAA;IACd,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,eAAe,EAAE,aAAa,CAAA;IAC9B,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,cAAc,CAAA;IACvB,SAAS,EAAE,SAAS,CAAA;IACpB,iBAAiB,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9B;AAyJD,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAiyBjH"}
1
+ {"version":3,"file":"delegated-oauth-app.d.ts","sourceRoot":"","sources":["../../src/auth/delegated-oauth-app.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAGlD,OAAO,EAML,KAAK,cAAc,EACpB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAsB,KAAK,SAAS,EAA4B,MAAM,oBAAoB,CAAA;AAGjG,MAAM,MAAM,QAAQ,GAAG,aAAa,GAAG,UAAU,CAAA;AAEjD,MAAM,MAAM,uBAAuB,GAAG,qBAAqB,GAAG,oBAAoB,CAAA;AAElF,MAAM,WAAW,mBAAmB;IAElC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,uBAAuB,CAAA;IAEjD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAEjD;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,WAAW,KAAK,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,CAAA;AAEnH,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,QAAQ,CAAA;IACd,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,eAAe,EAAE,aAAa,CAAA;IAC9B,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,cAAc,CAAA;IACvB,SAAS,EAAE,SAAS,CAAA;IACpB,iBAAiB,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9B;AA8JD,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAsxBjH"}
@@ -22,11 +22,25 @@
22
22
  */
23
23
  import { createHash, randomBytes, timingSafeEqual } from 'node:crypto';
24
24
  import { JWTIssuer } from '../oauth/jwt-issuer.js';
25
+ import { CfKvBackend } from '../storage/backends.js';
25
26
  import { configureRelayLogin, createRelayLoginMiddleware, loginGetHandler, loginPostHandler } from './relay-login.js';
26
27
  import { createRouter, htmlResponse, jsonResponse, parseFormBody, parseJsonBody } from './router.js';
28
+ import { createSessionStore, wrapKvBackendAsSessionKv } from './session-store.js';
27
29
  import { authorizationServerMetadata, protectedResourceMetadata } from './well-known.js';
28
30
  const AUTH_CODE_TTL_S = 600;
29
31
  const SESSION_TTL_S = 600;
32
+ /**
33
+ * Back the delegated-OAuth handshake state with the container's durable CF KV
34
+ * when configured for it (``MCP_STORAGE_BACKEND=cf-kv``), so the state survives
35
+ * a cold-start/restart between ``/authorize`` and ``/callback``. Returns
36
+ * ``undefined`` for stdio/local -> the session store uses an in-process map.
37
+ */
38
+ function sessionKvFromEnv() {
39
+ if ((process.env.MCP_STORAGE_BACKEND ?? '').toLowerCase() !== 'cf-kv')
40
+ return undefined;
41
+ const baseUrl = process.env.MCP_KV_BASE_URL ?? 'http://kv.internal';
42
+ return wrapKvBackendAsSessionKv(new CfKvBackend(baseUrl));
43
+ }
30
44
  function s256Verify(codeVerifier, codeChallenge) {
31
45
  const computed = createHash('sha256').update(codeVerifier, 'ascii').digest('base64url');
32
46
  const computedBuf = Buffer.from(computed, 'ascii');
@@ -65,13 +79,6 @@ function buildClientAuth(body, upstream) {
65
79
  const encoded = Buffer.from(`${upstream.clientId}:${upstream.clientSecret}`, 'utf8').toString('base64');
66
80
  return { Authorization: `Basic ${encoded}` };
67
81
  }
68
- function pruneExpired(store, ttlMs) {
69
- const now = Date.now();
70
- for (const [key, value] of store) {
71
- if (now - value.createdAt > ttlMs)
72
- store.delete(key);
73
- }
74
- }
75
82
  /**
76
83
  * Derive the public base URL of this request. See ``local-oauth-app.ts`` for
77
84
  * the resolution order; this function is the delegated-flow twin and must
@@ -162,8 +169,9 @@ export async function createDelegatedOAuthApp(options) {
162
169
  }
163
170
  const jwtIssuer = options.jwtIssuer ?? new JWTIssuer(options.serverName, undefined, process.env.CREDENTIAL_SECRET ?? null);
164
171
  await jwtIssuer.init();
165
- const pendingSessions = new Map();
166
- const authCodes = new Map();
172
+ const sessionKv = options.sessionKv ?? sessionKvFromEnv();
173
+ const pendingSessions = createSessionStore(sessionKv, SESSION_TTL_S);
174
+ const authCodes = createSessionStore(sessionKv, AUTH_CODE_TTL_S);
167
175
  const setupStatus = { [options.serverName]: 'idle' };
168
176
  // Each entry: AbortController for the background poll loop.
169
177
  const pollControllers = new Set();
@@ -210,7 +218,7 @@ export async function createDelegatedOAuthApp(options) {
210
218
  return;
211
219
  }
212
220
  const nonce = randomBytes(32).toString('base64url');
213
- pendingSessions.set(nonce, {
221
+ await pendingSessions.set(nonce, {
214
222
  clientId,
215
223
  redirectUri,
216
224
  state,
@@ -218,7 +226,6 @@ export async function createDelegatedOAuthApp(options) {
218
226
  codeChallengeMethod,
219
227
  createdAt: Date.now()
220
228
  });
221
- pruneExpired(pendingSessions, SESSION_TTL_S * 1000);
222
229
  const base = getBaseUrl(req);
223
230
  const qs = new URLSearchParams({
224
231
  client_id: options.upstream.clientId,
@@ -246,16 +253,12 @@ export async function createDelegatedOAuthApp(options) {
246
253
  });
247
254
  return;
248
255
  }
249
- const session = pendingSessions.get(state);
256
+ const session = await pendingSessions.get(state);
250
257
  if (session === undefined) {
251
258
  jsonResponse(res, 400, { error: 'invalid_request', error_description: 'Invalid state' });
252
259
  return;
253
260
  }
254
- pendingSessions.delete(state);
255
- if (Date.now() - session.createdAt > SESSION_TTL_S * 1000) {
256
- jsonResponse(res, 400, { error: 'invalid_request', error_description: 'Session expired' });
257
- return;
258
- }
261
+ await pendingSessions.delete(state);
259
262
  const base = getBaseUrl(req);
260
263
  const form = new URLSearchParams({
261
264
  grant_type: 'authorization_code',
@@ -313,13 +316,12 @@ export async function createDelegatedOAuthApp(options) {
313
316
  return;
314
317
  }
315
318
  const authCode = randomBytes(32).toString('base64url');
316
- authCodes.set(authCode, {
319
+ await authCodes.set(authCode, {
317
320
  codeChallenge: session.codeChallenge,
318
321
  codeChallengeMethod: session.codeChallengeMethod,
319
322
  sub,
320
323
  createdAt: Date.now()
321
324
  });
322
- pruneExpired(authCodes, AUTH_CODE_TTL_S * 1000);
323
325
  const separator = session.redirectUri.includes('?') ? '&' : '?';
324
326
  const redirectUrl = `${session.redirectUri}${separator}code=${authCode}&state=${session.state}`;
325
327
  res.writeHead(302, { Location: redirectUrl });
@@ -382,9 +384,10 @@ export async function createDelegatedOAuthApp(options) {
382
384
  return;
383
385
  }
384
386
  // Update pre-allocated authCode entry with real subject.
385
- const entry = authCodes.get(authCode);
387
+ const entry = await authCodes.get(authCode);
386
388
  if (entry) {
387
389
  entry.sub = sub;
390
+ await authCodes.set(authCode, entry);
388
391
  }
389
392
  markSetupComplete();
390
393
  return;
@@ -483,13 +486,12 @@ export async function createDelegatedOAuthApp(options) {
483
486
  // `sub` is a placeholder; pollDeviceToken updates it after
484
487
  // invokeTokenCallback returns the real subject id.
485
488
  const authCode = randomBytes(32).toString('base64url');
486
- authCodes.set(authCode, {
489
+ await authCodes.set(authCode, {
487
490
  codeChallenge,
488
491
  codeChallengeMethod,
489
492
  sub: 'local-user',
490
493
  createdAt: Date.now()
491
494
  });
492
- pruneExpired(authCodes, AUTH_CODE_TTL_S * 1000);
493
495
  setupStatus[options.serverName] = 'pending';
494
496
  const controller = new AbortController();
495
497
  pollControllers.add(controller);
@@ -588,16 +590,12 @@ export async function createDelegatedOAuthApp(options) {
588
590
  });
589
591
  return;
590
592
  }
591
- const entry = authCodes.get(code);
593
+ const entry = await authCodes.get(code);
592
594
  if (entry === undefined) {
593
595
  jsonResponse(res, 400, { error: 'invalid_grant' });
594
596
  return;
595
597
  }
596
- authCodes.delete(code);
597
- if (Date.now() - entry.createdAt > AUTH_CODE_TTL_S * 1000) {
598
- jsonResponse(res, 400, { error: 'invalid_grant' });
599
- return;
600
- }
598
+ await authCodes.delete(code);
601
599
  if (entry.codeChallengeMethod !== 'S256') {
602
600
  jsonResponse(res, 400, {
603
601
  error: 'invalid_request',
@@ -1 +1 @@
1
- {"version":3,"file":"delegated-oauth-app.js","sourceRoot":"","sources":["../../src/auth/delegated-oauth-app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delegated-oauth-app.js","sourceRoot":"","sources":["../../src/auth/delegated-oauth-app.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Durable, TTL-bounded store for short-lived OAuth handshake state
3
+ * (delegated-flow ``pendingSessions`` + issued ``authCodes``).
4
+ *
5
+ * The delegated OAuth round-trip spans two independent HTTP requests
6
+ * (``/authorize`` -> upstream consent -> ``/callback`` -> ``/token``). On a
7
+ * serverless/container deploy (CF single-DO + ``sleepAfter``) the container can
8
+ * cold-start or be a different instance between those requests, so an
9
+ * in-process ``Map`` loses the state and ``/callback`` returns "Invalid state".
10
+ * Backing the state with a shared durable KV survives the restart.
11
+ *
12
+ * A ``SessionKv`` (get/put/delete of opaque strings) is injected in deploy mode
13
+ * (e.g. the container's ``kv.internal`` backend); when omitted the store falls
14
+ * back to a process-local ``Map`` (stdio / single-process, where one request
15
+ * context handles the whole flow).
16
+ */
17
+ export interface SessionKv {
18
+ get(key: string): Promise<string | null>;
19
+ put(key: string, value: string): Promise<void>;
20
+ delete(key: string): Promise<void>;
21
+ }
22
+ /** A Buffer-based blob backend, matching mcp-core's ``CredentialBackend`` / ``CfKvBackend``. */
23
+ export interface BufferKvBackend {
24
+ get(key: string): Promise<Buffer | null>;
25
+ put(key: string, blob: Buffer): Promise<void>;
26
+ delete(key: string): Promise<void>;
27
+ }
28
+ /**
29
+ * Adapt a Buffer-based blob backend (e.g. ``CfKvBackend`` over the container's
30
+ * ``kv.internal`` handler) to the string ``SessionKv`` interface. Keys are
31
+ * namespaced so the short-lived OAuth handshake state can share a KV with the
32
+ * server's other data (credential vaults, etc.) without colliding.
33
+ */
34
+ export declare function wrapKvBackendAsSessionKv(backend: BufferKvBackend): SessionKv;
35
+ export interface SessionStore<T> {
36
+ get(key: string): Promise<T | undefined>;
37
+ set(key: string, value: T): Promise<void>;
38
+ delete(key: string): Promise<void>;
39
+ }
40
+ export declare function createSessionStore<T>(kv: SessionKv | undefined, ttlSeconds: number): SessionStore<T>;
41
+ //# sourceMappingURL=session-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../../src/auth/session-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IACxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACnC;AAED,gGAAgG;AAChG,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IACxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACnC;AAID;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,eAAe,GAAG,SAAS,CAc5E;AAED,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;IACxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACnC;AAOD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CA+CpG"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Durable, TTL-bounded store for short-lived OAuth handshake state
3
+ * (delegated-flow ``pendingSessions`` + issued ``authCodes``).
4
+ *
5
+ * The delegated OAuth round-trip spans two independent HTTP requests
6
+ * (``/authorize`` -> upstream consent -> ``/callback`` -> ``/token``). On a
7
+ * serverless/container deploy (CF single-DO + ``sleepAfter``) the container can
8
+ * cold-start or be a different instance between those requests, so an
9
+ * in-process ``Map`` loses the state and ``/callback`` returns "Invalid state".
10
+ * Backing the state with a shared durable KV survives the restart.
11
+ *
12
+ * A ``SessionKv`` (get/put/delete of opaque strings) is injected in deploy mode
13
+ * (e.g. the container's ``kv.internal`` backend); when omitted the store falls
14
+ * back to a process-local ``Map`` (stdio / single-process, where one request
15
+ * context handles the whole flow).
16
+ */
17
+ const OAUTH_KEY_PREFIX = 'delegated-oauth:';
18
+ /**
19
+ * Adapt a Buffer-based blob backend (e.g. ``CfKvBackend`` over the container's
20
+ * ``kv.internal`` handler) to the string ``SessionKv`` interface. Keys are
21
+ * namespaced so the short-lived OAuth handshake state can share a KV with the
22
+ * server's other data (credential vaults, etc.) without colliding.
23
+ */
24
+ export function wrapKvBackendAsSessionKv(backend) {
25
+ const nsKey = (key) => `${OAUTH_KEY_PREFIX}${key}`;
26
+ return {
27
+ async get(key) {
28
+ const blob = await backend.get(nsKey(key));
29
+ return blob === null ? null : blob.toString('utf8');
30
+ },
31
+ async put(key, value) {
32
+ await backend.put(nsKey(key), Buffer.from(value, 'utf8'));
33
+ },
34
+ async delete(key) {
35
+ await backend.delete(nsKey(key));
36
+ }
37
+ };
38
+ }
39
+ export function createSessionStore(kv, ttlSeconds) {
40
+ const ttlMs = ttlSeconds * 1000;
41
+ // In-memory fallback (stdio / single-process): a Map behind the same async
42
+ // SessionKv shape so the rest of the logic is backend-agnostic.
43
+ const backend = kv ??
44
+ (() => {
45
+ const mem = new Map();
46
+ return {
47
+ async get(key) {
48
+ return mem.get(key) ?? null;
49
+ },
50
+ async put(key, value) {
51
+ mem.set(key, value);
52
+ },
53
+ async delete(key) {
54
+ mem.delete(key);
55
+ }
56
+ };
57
+ })();
58
+ return {
59
+ async get(key) {
60
+ const raw = await backend.get(key);
61
+ if (raw === null)
62
+ return undefined;
63
+ let env;
64
+ try {
65
+ env = JSON.parse(raw);
66
+ }
67
+ catch {
68
+ return undefined;
69
+ }
70
+ if (Date.now() - env.createdAt >= ttlMs) {
71
+ // Lazy expiry: drop stale entries on read.
72
+ await backend.delete(key);
73
+ return undefined;
74
+ }
75
+ return env.value;
76
+ },
77
+ async set(key, value) {
78
+ const env = { value, createdAt: Date.now() };
79
+ await backend.put(key, JSON.stringify(env));
80
+ },
81
+ async delete(key) {
82
+ await backend.delete(key);
83
+ }
84
+ };
85
+ }
86
+ //# sourceMappingURL=session-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../src/auth/session-store.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/relay/browser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAqDH;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAoClE"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/relay/browser.ts"],"names":[],"mappings":"AAAA;;GAEG;AA0DH;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAoClE"}
@@ -36,7 +36,12 @@ async function openInPowerShell(url) {
36
36
  }
37
37
  }
38
38
  async function openInWsl(url) {
39
- // Try wslview first (from wslu package, commonly available)
39
+ // Try powershell.exe -EncodedCommand first (safer due to Base64 encoding)
40
+ const result = await openInPowerShell(url);
41
+ if (result) {
42
+ return true;
43
+ }
44
+ // Fallback to wslview (from wslu package, commonly available)
40
45
  try {
41
46
  await execFileAsync('wslview', [url]);
42
47
  return true;
@@ -44,8 +49,7 @@ async function openInWsl(url) {
44
49
  catch {
45
50
  /* fall through */
46
51
  }
47
- // Fallback to powershell.exe -EncodedCommand
48
- return openInPowerShell(url);
52
+ return false;
49
53
  }
50
54
  /**
51
55
  * Try to open URL in default browser. Returns true if likely succeeded.
@@ -60,7 +64,7 @@ async function openInWsl(url) {
60
64
  export async function tryOpenBrowser(url) {
61
65
  try {
62
66
  // Validate URL
63
- if (!/^https?:\/\/[a-zA-Z0-9-._~:/?#[\]@!$&'()*+,;=%]+$/i.test(url)) {
67
+ if (!/^https?:\/\/[a-zA-Z0-9-._~:/?#[\]@!&'*+,;=%]+$/i.test(url)) {
64
68
  return false;
65
69
  }
66
70
  const lastOpened = recentBrowserOpens.get(url);
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/relay/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/relay/browser.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@n24q02m/mcp-core",
3
- "version": "1.18.0-beta.21",
3
+ "version": "1.18.0-beta.23",
4
4
  "description": "Unified MCP Streamable HTTP 2025-11-25 transport, OAuth 2.1 AS, lifecycle, install",
5
5
  "keywords": [
6
6
  "mcp",