@frontmcp/sdk 1.0.0-beta.3 → 1.0.0-beta.4
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/auth/session/utils/session-id.utils.d.ts +9 -6
- package/auth/session/utils/session-id.utils.d.ts.map +1 -1
- package/esm/index.mjs +56 -16
- package/index.js +56 -16
- package/package.json +9 -9
- package/transport/adapters/transport.local.adapter.d.ts +13 -0
- package/transport/adapters/transport.local.adapter.d.ts.map +1 -1
- package/transport/mcp-handlers/initialize-request.handler.d.ts.map +1 -1
|
@@ -34,15 +34,18 @@ export declare function createSessionId(protocol: TransportProtocolType, token:
|
|
|
34
34
|
export declare function generateSessionCookie(sessionId: string, ttlInMinutes?: number): string;
|
|
35
35
|
export declare function extractSessionFromCookie(cookie?: string): string | undefined;
|
|
36
36
|
/**
|
|
37
|
-
* Update a cached session payload with new data
|
|
38
|
-
*
|
|
39
|
-
* after the initial session creation.
|
|
37
|
+
* Update a cached session payload with new data and re-encrypt to produce
|
|
38
|
+
* a new session ID that carries the updated payload.
|
|
40
39
|
*
|
|
41
|
-
*
|
|
40
|
+
* This ensures that any node in a distributed system (including Vercel Edge
|
|
41
|
+
* and Cloudflare Workers) can decrypt the session ID and get the full
|
|
42
|
+
* payload with initialization data (e.g., supportsElicitation, platformType).
|
|
43
|
+
*
|
|
44
|
+
* @param sessionId - The current session ID to update
|
|
42
45
|
* @param updates - Partial payload updates to merge
|
|
43
|
-
* @returns
|
|
46
|
+
* @returns The new session ID with the updated payload baked in, or null if session was invalid
|
|
44
47
|
*/
|
|
45
|
-
export declare function updateSessionPayload(sessionId: string, updates: Partial<SessionIdPayload>):
|
|
48
|
+
export declare function updateSessionPayload(sessionId: string, updates: Partial<SessionIdPayload>): string | null;
|
|
46
49
|
/**
|
|
47
50
|
* Retrieve client info (name/version) from a session ID.
|
|
48
51
|
* Useful for logging, stateless access, or when NotificationService is not available.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-id.utils.d.ts","sourceRoot":"","sources":["../../../../src/auth/session/utils/session-id.utils.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAkB,MAAM,gBAAgB,CAAC;AAE9F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AA8CrF;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAe/E;AAMD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,KAAK,EAAE,MAAM,GACZ;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAA;CAAE,GAAG,SAAS,CAmBvD;AAED,MAAM,WAAW,oBAAoB;IACnC,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAClD;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB;;;EA0B7G;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,SAAU,GAAG,MAAM,CAGvF;AAED,wBAAgB,wBAAwB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAI5E;AAED
|
|
1
|
+
{"version":3,"file":"session-id.utils.d.ts","sourceRoot":"","sources":["../../../../src/auth/session/utils/session-id.utils.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAkB,MAAM,gBAAgB,CAAC;AAE9F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AA8CrF;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAe/E;AAMD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,KAAK,EAAE,MAAM,GACZ;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAA;CAAE,GAAG,SAAS,CAmBvD;AAED,MAAM,WAAW,oBAAoB;IACnC,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAClD;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB;;;EA0B7G;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,SAAU,GAAG,MAAM,CAGvF;AAED,wBAAgB,wBAAwB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAI5E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,MAAM,GAAG,IAAI,CA0BzG;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAiBlG"}
|
package/esm/index.mjs
CHANGED
|
@@ -24280,20 +24280,22 @@ function createSessionId(protocol, token, options) {
|
|
|
24280
24280
|
return { id, payload };
|
|
24281
24281
|
}
|
|
24282
24282
|
function updateSessionPayload(sessionId, updates) {
|
|
24283
|
+
let payload;
|
|
24283
24284
|
const existing = cache.get(sessionId);
|
|
24284
24285
|
if (existing) {
|
|
24285
|
-
|
|
24286
|
-
|
|
24287
|
-
|
|
24288
|
-
|
|
24289
|
-
|
|
24290
|
-
|
|
24291
|
-
const payload = decrypted;
|
|
24292
|
-
Object.assign(payload, updates);
|
|
24293
|
-
cache.set(sessionId, payload);
|
|
24294
|
-
return true;
|
|
24286
|
+
payload = existing;
|
|
24287
|
+
} else {
|
|
24288
|
+
const decrypted = safeDecrypt(sessionId);
|
|
24289
|
+
if (hasValidSessionStructure(decrypted) || isValidPublicSessionPayload(decrypted)) {
|
|
24290
|
+
payload = decrypted;
|
|
24291
|
+
}
|
|
24295
24292
|
}
|
|
24296
|
-
return
|
|
24293
|
+
if (!payload) return null;
|
|
24294
|
+
Object.assign(payload, updates);
|
|
24295
|
+
const newSessionId = encryptJson(payload);
|
|
24296
|
+
cache.set(sessionId, payload);
|
|
24297
|
+
cache.set(newSessionId, payload);
|
|
24298
|
+
return newSessionId;
|
|
24297
24299
|
}
|
|
24298
24300
|
var cache;
|
|
24299
24301
|
var init_session_id_utils = __esm({
|
|
@@ -28400,22 +28402,28 @@ function initializeRequestHandler({
|
|
|
28400
28402
|
if (finalPlatform) {
|
|
28401
28403
|
ctx.authInfo.sessionIdPayload.platformType = finalPlatform;
|
|
28402
28404
|
}
|
|
28403
|
-
|
|
28405
|
+
const initPayload = {
|
|
28404
28406
|
clientName,
|
|
28405
28407
|
clientVersion,
|
|
28406
28408
|
supportsElicitation: clientSupportsElicitation,
|
|
28407
28409
|
...finalPlatform && { platformType: finalPlatform }
|
|
28408
|
-
}
|
|
28410
|
+
};
|
|
28411
|
+
updateSessionPayload(sessionId, initPayload);
|
|
28412
|
+
const transport = ctx.authInfo?.transport;
|
|
28413
|
+
transport?.setInitSessionPayload(initPayload);
|
|
28409
28414
|
}
|
|
28410
28415
|
} else if (ctx.authInfo?.sessionIdPayload) {
|
|
28411
28416
|
ctx.authInfo.sessionIdPayload.supportsElicitation = clientSupportsElicitation;
|
|
28412
28417
|
if (detectedPlatform) {
|
|
28413
28418
|
ctx.authInfo.sessionIdPayload.platformType = detectedPlatform;
|
|
28414
28419
|
}
|
|
28415
|
-
|
|
28420
|
+
const initPayload = {
|
|
28416
28421
|
supportsElicitation: clientSupportsElicitation,
|
|
28417
28422
|
...detectedPlatform && { platformType: detectedPlatform }
|
|
28418
|
-
}
|
|
28423
|
+
};
|
|
28424
|
+
updateSessionPayload(sessionId, initPayload);
|
|
28425
|
+
const transport = ctx.authInfo?.transport;
|
|
28426
|
+
transport?.setInitSessionPayload(initPayload);
|
|
28419
28427
|
}
|
|
28420
28428
|
}
|
|
28421
28429
|
const requestedVersion = request.params.protocolVersion;
|
|
@@ -29395,6 +29403,21 @@ var init_transport_local_adapter = __esm({
|
|
|
29395
29403
|
* New elicit requests will cancel any pending one.
|
|
29396
29404
|
*/
|
|
29397
29405
|
pendingElicit;
|
|
29406
|
+
/**
|
|
29407
|
+
* Session payload fields set during MCP initialize.
|
|
29408
|
+
* Stored on the adapter instance so they survive across requests in SSE mode
|
|
29409
|
+
* (where each POST creates a fresh anonymous HTTP session) and are available
|
|
29410
|
+
* in distributed environments without relying on local in-memory caches.
|
|
29411
|
+
*/
|
|
29412
|
+
initSessionPayload;
|
|
29413
|
+
/**
|
|
29414
|
+
* Called by the initialize request handler to persist initialization data
|
|
29415
|
+
* on the transport adapter instance. This data is merged into the session
|
|
29416
|
+
* payload on every subsequent request via ensureAuthInfo().
|
|
29417
|
+
*/
|
|
29418
|
+
setInitSessionPayload(payload) {
|
|
29419
|
+
this.initSessionPayload = payload;
|
|
29420
|
+
}
|
|
29398
29421
|
#requestId = 1;
|
|
29399
29422
|
ready;
|
|
29400
29423
|
server;
|
|
@@ -29413,6 +29436,7 @@ var init_transport_local_adapter = __esm({
|
|
|
29413
29436
|
const hasAgents = this.scope.agents.hasAny();
|
|
29414
29437
|
const completionsCapability = hasPrompts || hasResources ? { completions: {} } : {};
|
|
29415
29438
|
const remoteCapabilities = hasRemoteApps ? this.buildRemoteCapabilities() : {};
|
|
29439
|
+
const elicitationCapability = this.scope.metadata.elicitation?.enabled ? { elicitation: {} } : {};
|
|
29416
29440
|
const serverOptions = {
|
|
29417
29441
|
instructions: "",
|
|
29418
29442
|
capabilities: {
|
|
@@ -29425,7 +29449,8 @@ var init_transport_local_adapter = __esm({
|
|
|
29425
29449
|
// Include agent capabilities (agents as tools)
|
|
29426
29450
|
...completionsCapability,
|
|
29427
29451
|
// MCP logging protocol support - allows clients to set log level via logging/setLevel
|
|
29428
|
-
logging: {}
|
|
29452
|
+
logging: {},
|
|
29453
|
+
...elicitationCapability
|
|
29429
29454
|
},
|
|
29430
29455
|
serverInfo: info
|
|
29431
29456
|
};
|
|
@@ -29492,6 +29517,21 @@ var init_transport_local_adapter = __esm({
|
|
|
29492
29517
|
const { token, user, session } = req[ServerRequestTokens.auth];
|
|
29493
29518
|
const sessionId = session?.id ?? `fallback:${Date.now()}`;
|
|
29494
29519
|
const sessionPayload = session?.payload ?? { protocol: "streamable-http" };
|
|
29520
|
+
if (this.initSessionPayload) {
|
|
29521
|
+
const init = this.initSessionPayload;
|
|
29522
|
+
if (init.supportsElicitation !== void 0 && sessionPayload.supportsElicitation === void 0) {
|
|
29523
|
+
sessionPayload.supportsElicitation = init.supportsElicitation;
|
|
29524
|
+
}
|
|
29525
|
+
if (init.platformType !== void 0 && sessionPayload.platformType === void 0) {
|
|
29526
|
+
sessionPayload["platformType"] = init.platformType;
|
|
29527
|
+
}
|
|
29528
|
+
if (init.clientName !== void 0 && sessionPayload.clientName === void 0) {
|
|
29529
|
+
sessionPayload.clientName = init.clientName;
|
|
29530
|
+
}
|
|
29531
|
+
if (init.clientVersion !== void 0 && sessionPayload.clientVersion === void 0) {
|
|
29532
|
+
sessionPayload.clientVersion = init.clientVersion;
|
|
29533
|
+
}
|
|
29534
|
+
}
|
|
29495
29535
|
const authInfo = {
|
|
29496
29536
|
token,
|
|
29497
29537
|
user,
|
package/index.js
CHANGED
|
@@ -24257,20 +24257,22 @@ function createSessionId(protocol, token, options) {
|
|
|
24257
24257
|
return { id, payload };
|
|
24258
24258
|
}
|
|
24259
24259
|
function updateSessionPayload(sessionId, updates) {
|
|
24260
|
+
let payload;
|
|
24260
24261
|
const existing = cache.get(sessionId);
|
|
24261
24262
|
if (existing) {
|
|
24262
|
-
|
|
24263
|
-
|
|
24264
|
-
|
|
24265
|
-
|
|
24266
|
-
|
|
24267
|
-
|
|
24268
|
-
const payload = decrypted;
|
|
24269
|
-
Object.assign(payload, updates);
|
|
24270
|
-
cache.set(sessionId, payload);
|
|
24271
|
-
return true;
|
|
24263
|
+
payload = existing;
|
|
24264
|
+
} else {
|
|
24265
|
+
const decrypted = (0, import_auth13.safeDecrypt)(sessionId);
|
|
24266
|
+
if (hasValidSessionStructure(decrypted) || isValidPublicSessionPayload(decrypted)) {
|
|
24267
|
+
payload = decrypted;
|
|
24268
|
+
}
|
|
24272
24269
|
}
|
|
24273
|
-
return
|
|
24270
|
+
if (!payload) return null;
|
|
24271
|
+
Object.assign(payload, updates);
|
|
24272
|
+
const newSessionId = (0, import_auth13.encryptJson)(payload);
|
|
24273
|
+
cache.set(sessionId, payload);
|
|
24274
|
+
cache.set(newSessionId, payload);
|
|
24275
|
+
return newSessionId;
|
|
24274
24276
|
}
|
|
24275
24277
|
var import_utils39, import_auth13, import_auth14, cache;
|
|
24276
24278
|
var init_session_id_utils = __esm({
|
|
@@ -28336,22 +28338,28 @@ function initializeRequestHandler({
|
|
|
28336
28338
|
if (finalPlatform) {
|
|
28337
28339
|
ctx.authInfo.sessionIdPayload.platformType = finalPlatform;
|
|
28338
28340
|
}
|
|
28339
|
-
|
|
28341
|
+
const initPayload = {
|
|
28340
28342
|
clientName,
|
|
28341
28343
|
clientVersion,
|
|
28342
28344
|
supportsElicitation: clientSupportsElicitation,
|
|
28343
28345
|
...finalPlatform && { platformType: finalPlatform }
|
|
28344
|
-
}
|
|
28346
|
+
};
|
|
28347
|
+
updateSessionPayload(sessionId, initPayload);
|
|
28348
|
+
const transport = ctx.authInfo?.transport;
|
|
28349
|
+
transport?.setInitSessionPayload(initPayload);
|
|
28345
28350
|
}
|
|
28346
28351
|
} else if (ctx.authInfo?.sessionIdPayload) {
|
|
28347
28352
|
ctx.authInfo.sessionIdPayload.supportsElicitation = clientSupportsElicitation;
|
|
28348
28353
|
if (detectedPlatform) {
|
|
28349
28354
|
ctx.authInfo.sessionIdPayload.platformType = detectedPlatform;
|
|
28350
28355
|
}
|
|
28351
|
-
|
|
28356
|
+
const initPayload = {
|
|
28352
28357
|
supportsElicitation: clientSupportsElicitation,
|
|
28353
28358
|
...detectedPlatform && { platformType: detectedPlatform }
|
|
28354
|
-
}
|
|
28359
|
+
};
|
|
28360
|
+
updateSessionPayload(sessionId, initPayload);
|
|
28361
|
+
const transport = ctx.authInfo?.transport;
|
|
28362
|
+
transport?.setInitSessionPayload(initPayload);
|
|
28355
28363
|
}
|
|
28356
28364
|
}
|
|
28357
28365
|
const requestedVersion = request.params.protocolVersion;
|
|
@@ -29345,6 +29353,21 @@ var init_transport_local_adapter = __esm({
|
|
|
29345
29353
|
* New elicit requests will cancel any pending one.
|
|
29346
29354
|
*/
|
|
29347
29355
|
pendingElicit;
|
|
29356
|
+
/**
|
|
29357
|
+
* Session payload fields set during MCP initialize.
|
|
29358
|
+
* Stored on the adapter instance so they survive across requests in SSE mode
|
|
29359
|
+
* (where each POST creates a fresh anonymous HTTP session) and are available
|
|
29360
|
+
* in distributed environments without relying on local in-memory caches.
|
|
29361
|
+
*/
|
|
29362
|
+
initSessionPayload;
|
|
29363
|
+
/**
|
|
29364
|
+
* Called by the initialize request handler to persist initialization data
|
|
29365
|
+
* on the transport adapter instance. This data is merged into the session
|
|
29366
|
+
* payload on every subsequent request via ensureAuthInfo().
|
|
29367
|
+
*/
|
|
29368
|
+
setInitSessionPayload(payload) {
|
|
29369
|
+
this.initSessionPayload = payload;
|
|
29370
|
+
}
|
|
29348
29371
|
#requestId = 1;
|
|
29349
29372
|
ready;
|
|
29350
29373
|
server;
|
|
@@ -29363,6 +29386,7 @@ var init_transport_local_adapter = __esm({
|
|
|
29363
29386
|
const hasAgents = this.scope.agents.hasAny();
|
|
29364
29387
|
const completionsCapability = hasPrompts || hasResources ? { completions: {} } : {};
|
|
29365
29388
|
const remoteCapabilities = hasRemoteApps ? this.buildRemoteCapabilities() : {};
|
|
29389
|
+
const elicitationCapability = this.scope.metadata.elicitation?.enabled ? { elicitation: {} } : {};
|
|
29366
29390
|
const serverOptions = {
|
|
29367
29391
|
instructions: "",
|
|
29368
29392
|
capabilities: {
|
|
@@ -29375,7 +29399,8 @@ var init_transport_local_adapter = __esm({
|
|
|
29375
29399
|
// Include agent capabilities (agents as tools)
|
|
29376
29400
|
...completionsCapability,
|
|
29377
29401
|
// MCP logging protocol support - allows clients to set log level via logging/setLevel
|
|
29378
|
-
logging: {}
|
|
29402
|
+
logging: {},
|
|
29403
|
+
...elicitationCapability
|
|
29379
29404
|
},
|
|
29380
29405
|
serverInfo: info
|
|
29381
29406
|
};
|
|
@@ -29442,6 +29467,21 @@ var init_transport_local_adapter = __esm({
|
|
|
29442
29467
|
const { token, user, session } = req[ServerRequestTokens.auth];
|
|
29443
29468
|
const sessionId = session?.id ?? `fallback:${Date.now()}`;
|
|
29444
29469
|
const sessionPayload = session?.payload ?? { protocol: "streamable-http" };
|
|
29470
|
+
if (this.initSessionPayload) {
|
|
29471
|
+
const init = this.initSessionPayload;
|
|
29472
|
+
if (init.supportsElicitation !== void 0 && sessionPayload.supportsElicitation === void 0) {
|
|
29473
|
+
sessionPayload.supportsElicitation = init.supportsElicitation;
|
|
29474
|
+
}
|
|
29475
|
+
if (init.platformType !== void 0 && sessionPayload.platformType === void 0) {
|
|
29476
|
+
sessionPayload["platformType"] = init.platformType;
|
|
29477
|
+
}
|
|
29478
|
+
if (init.clientName !== void 0 && sessionPayload.clientName === void 0) {
|
|
29479
|
+
sessionPayload.clientName = init.clientName;
|
|
29480
|
+
}
|
|
29481
|
+
if (init.clientVersion !== void 0 && sessionPayload.clientVersion === void 0) {
|
|
29482
|
+
sessionPayload.clientVersion = init.clientVersion;
|
|
29483
|
+
}
|
|
29484
|
+
}
|
|
29445
29485
|
const authInfo = {
|
|
29446
29486
|
token,
|
|
29447
29487
|
user,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@frontmcp/sdk",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.4",
|
|
4
4
|
"description": "FrontMCP SDK",
|
|
5
5
|
"author": "AgentFront <info@agentfront.dev>",
|
|
6
6
|
"homepage": "https://docs.agentfront.dev",
|
|
@@ -72,9 +72,8 @@
|
|
|
72
72
|
"cors": "^2.8.5",
|
|
73
73
|
"raw-body": "^3.0.0",
|
|
74
74
|
"content-type": "^1.0.5",
|
|
75
|
-
"vectoriadb": "^2.1.3",
|
|
76
75
|
"@vercel/kv": "^3.0.0",
|
|
77
|
-
"@frontmcp/storage-sqlite": "1.0.0-beta.
|
|
76
|
+
"@frontmcp/storage-sqlite": "1.0.0-beta.4",
|
|
78
77
|
"@enclave-vm/core": "^2.11.1",
|
|
79
78
|
"openai": "^4.0.0 || ^5.0.0 || ^6.0.0",
|
|
80
79
|
"@anthropic-ai/sdk": "^0.30.0 || ^0.78.0"
|
|
@@ -98,13 +97,14 @@
|
|
|
98
97
|
},
|
|
99
98
|
"dependencies": {
|
|
100
99
|
"@types/cors": "^2.8.17",
|
|
101
|
-
"@frontmcp/utils": "1.0.0-beta.
|
|
102
|
-
"@frontmcp/guard": "1.0.0-beta.
|
|
103
|
-
"@frontmcp/di": "1.0.0-beta.
|
|
104
|
-
"@frontmcp/uipack": "1.0.0-beta.
|
|
105
|
-
"@frontmcp/auth": "1.0.0-beta.
|
|
106
|
-
"@frontmcp/protocol": "1.0.0-beta.
|
|
100
|
+
"@frontmcp/utils": "1.0.0-beta.4",
|
|
101
|
+
"@frontmcp/guard": "1.0.0-beta.4",
|
|
102
|
+
"@frontmcp/di": "1.0.0-beta.4",
|
|
103
|
+
"@frontmcp/uipack": "1.0.0-beta.4",
|
|
104
|
+
"@frontmcp/auth": "1.0.0-beta.4",
|
|
105
|
+
"@frontmcp/protocol": "1.0.0-beta.4",
|
|
107
106
|
"ioredis": "^5.8.0",
|
|
107
|
+
"vectoriadb": "^2.1.3",
|
|
108
108
|
"js-yaml": "^4.1.1",
|
|
109
109
|
"jose": "^6.1.3",
|
|
110
110
|
"reflect-metadata": "^0.2.2",
|
|
@@ -28,6 +28,19 @@ export declare abstract class LocalTransportAdapter<T extends SupportedTransport
|
|
|
28
28
|
* New elicit requests will cancel any pending one.
|
|
29
29
|
*/
|
|
30
30
|
protected pendingElicit?: PendingElicit;
|
|
31
|
+
/**
|
|
32
|
+
* Session payload fields set during MCP initialize.
|
|
33
|
+
* Stored on the adapter instance so they survive across requests in SSE mode
|
|
34
|
+
* (where each POST creates a fresh anonymous HTTP session) and are available
|
|
35
|
+
* in distributed environments without relying on local in-memory caches.
|
|
36
|
+
*/
|
|
37
|
+
private initSessionPayload?;
|
|
38
|
+
/**
|
|
39
|
+
* Called by the initialize request handler to persist initialization data
|
|
40
|
+
* on the transport adapter instance. This data is merged into the session
|
|
41
|
+
* payload on every subsequent request via ensureAuthInfo().
|
|
42
|
+
*/
|
|
43
|
+
setInitSessionPayload(payload: NonNullable<LocalTransportAdapter<T>['initSessionPayload']>): void;
|
|
31
44
|
ready: Promise<void>;
|
|
32
45
|
server: McpServer;
|
|
33
46
|
constructor(scope: Scope, key: TransportKey, onDispose: () => void, res: ServerResponse);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.local.adapter.d.ts","sourceRoot":"","sources":["../../../src/transport/adapters/transport.local.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAe,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAqB,SAAS,EAAsB,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,yCAAyC,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAuB,cAAc,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAmB,MAAM,mBAAmB,CAAC;AAGlH;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAC1B,6BAA6B,GAC7B,kBAAkB,GAClB,yCAAyC,GACzC,8BAA8B,CAAC;AAEnC,8BAAsB,qBAAqB,CAAC,CAAC,SAAS,kBAAkB;;
|
|
1
|
+
{"version":3,"file":"transport.local.adapter.d.ts","sourceRoot":"","sources":["../../../src/transport/adapters/transport.local.adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialize-request.handler.d.ts","sourceRoot":"","sources":["../../../src/transport/mcp-handlers/initialize-request.handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE5G,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"initialize-request.handler.d.ts","sourceRoot":"","sources":["../../../src/transport/mcp-handlers/initialize-request.handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE5G,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAmBrE,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAAC,EAC/C,aAAa,EACb,KAAK,GACN,EAAE,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAyJrE"}
|