@1mcp/agent 0.29.0-beta5 → 0.29.0-beta7

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 (40) hide show
  1. package/build/config/configLoader.d.ts.map +1 -1
  2. package/build/config/configLoader.js +20 -2
  3. package/build/config/configLoader.js.map +1 -1
  4. package/build/constants/mcp.d.ts +1 -1
  5. package/build/constants/mcp.js +1 -1
  6. package/build/constants/paths.d.ts +5 -1
  7. package/build/constants/paths.d.ts.map +1 -1
  8. package/build/constants/paths.js +7 -1
  9. package/build/constants/paths.js.map +1 -1
  10. package/build/constants/schema.d.ts +35 -0
  11. package/build/constants/schema.d.ts.map +1 -0
  12. package/build/constants/schema.js +35 -0
  13. package/build/constants/schema.js.map +1 -0
  14. package/build/core/tools/handlers/serverManagementHandler.d.ts +5 -5
  15. package/build/core/tools/internal/adapters/helpers/configTransformers.d.ts +1 -1
  16. package/build/core/types/transport.d.ts +5 -4
  17. package/build/core/types/transport.d.ts.map +1 -1
  18. package/build/core/types/transport.js +71 -38
  19. package/build/core/types/transport.js.map +1 -1
  20. package/build/template/handlebarsTemplateRenderer.d.ts +7 -0
  21. package/build/template/handlebarsTemplateRenderer.d.ts.map +1 -1
  22. package/build/template/handlebarsTemplateRenderer.js +15 -0
  23. package/build/template/handlebarsTemplateRenderer.js.map +1 -1
  24. package/build/transport/http/restorableStreamableTransport.d.ts +56 -11
  25. package/build/transport/http/restorableStreamableTransport.d.ts.map +1 -1
  26. package/build/transport/http/restorableStreamableTransport.js +93 -21
  27. package/build/transport/http/restorableStreamableTransport.js.map +1 -1
  28. package/build/transport/http/routes/streamableHttpRoutes.d.ts +2 -1
  29. package/build/transport/http/routes/streamableHttpRoutes.d.ts.map +1 -1
  30. package/build/transport/http/routes/streamableHttpRoutes.js +77 -238
  31. package/build/transport/http/routes/streamableHttpRoutes.js.map +1 -1
  32. package/build/transport/http/utils/sdkInternals.d.ts +32 -0
  33. package/build/transport/http/utils/sdkInternals.d.ts.map +1 -0
  34. package/build/transport/http/utils/sdkInternals.js +6 -0
  35. package/build/transport/http/utils/sdkInternals.js.map +1 -0
  36. package/build/transport/http/utils/sessionService.d.ts +76 -0
  37. package/build/transport/http/utils/sessionService.d.ts.map +1 -0
  38. package/build/transport/http/utils/sessionService.js +232 -0
  39. package/build/transport/http/utils/sessionService.js.map +1 -0
  40. package/package.json +1 -1
@@ -1,85 +1,29 @@
1
1
  import { randomUUID } from 'node:crypto';
2
- import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
3
2
  import { ErrorCode } from '@modelcontextprotocol/sdk/types.js';
4
3
  import { AUTH_CONFIG, STREAMABLE_HTTP_ENDPOINT } from '../../../constants.js';
5
- import { ServerStatus } from '../../../core/types/index.js';
6
4
  import logger from '../../../logger/logger.js';
7
5
  import { getPresetName, getTagExpression, getTagFilterMode, getTagQuery, getValidatedTags, } from '../../../transport/http/middlewares/scopeAuthMiddleware.js';
8
6
  import tagsExtractor from '../../../transport/http/middlewares/tagsExtractor.js';
9
- import { RestorableStreamableHTTPServerTransport } from '../../../transport/http/restorableStreamableTransport.js';
10
7
  import { extractContextFromMeta } from '../../../transport/http/utils/contextExtractor.js';
8
+ import { SessionService } from '../../../transport/http/utils/sessionService.js';
11
9
  /**
12
- * Helper function to restore a streamable HTTP session from persistent storage
13
- * Uses RestorableStreamableHTTPServerTransport | RestorableStreamableHTTPServerTransport wrapper for proper initialization handling
10
+ * Builds the inbound connection config from request data.
11
+ *
12
+ * @param res - Express response object containing validated middleware data
13
+ * @param req - Express request object
14
+ * @param customTemplate - Optional custom template to include
15
+ * @returns The inbound connection configuration
14
16
  */
15
- async function restoreSession(sessionId, serverManager, sessionRepository, asyncOrchestrator) {
16
- try {
17
- // Try to retrieve session config from storage
18
- const sessionData = sessionRepository.get(sessionId);
19
- if (!sessionData) {
20
- logger.debug(`No persisted session found for: ${sessionId}`);
21
- return null;
22
- }
23
- const config = sessionData;
24
- logger.info(`Restoring streamable session: ${sessionId}`);
25
- // Create new transport with the original session ID using wrapper class
26
- const transport = new RestorableStreamableHTTPServerTransport({
27
- sessionIdGenerator: () => sessionId,
28
- });
29
- // Mark the transport as initialized for restored session
30
- // The wrapper class safely handles the SDK's internal _initialized flag
31
- transport.markAsInitialized();
32
- // Safely set sessionId if possible
33
- try {
34
- transport.sessionId = sessionId;
35
- }
36
- catch (error) {
37
- logger.warn('Could not set sessionId on restored transport:', error);
38
- }
39
- // Convert config context to ContextData format if available
40
- const contextData = config.context
41
- ? {
42
- project: config.context.project || {},
43
- user: config.context.user || {},
44
- environment: config.context.environment || {},
45
- timestamp: config.context.timestamp,
46
- sessionId: config.context.sessionId || sessionId,
47
- version: config.context.version,
48
- transport: config.context.transport,
49
- }
50
- : undefined;
51
- // Reconnect with the original configuration and context
52
- await serverManager.connectTransport(transport, sessionId, config, contextData);
53
- // Initialize notifications for async loading if enabled
54
- if (asyncOrchestrator) {
55
- const inboundConnection = serverManager.getServer(sessionId);
56
- if (inboundConnection) {
57
- asyncOrchestrator.initializeNotifications(inboundConnection);
58
- logger.debug(`Async loading notifications initialized for restored session ${sessionId}`);
59
- }
60
- }
61
- // Set up handlers for the restored transport
62
- transport.onclose = () => {
63
- serverManager.disconnectTransport(sessionId);
64
- sessionRepository.delete(sessionId);
65
- };
66
- transport.onerror = (error) => {
67
- logger.error(`Streamable HTTP transport error for session ${sessionId}:`, error);
68
- const server = serverManager.getServer(sessionId);
69
- if (server) {
70
- server.status = ServerStatus.Error;
71
- server.lastError = error instanceof Error ? error : new Error(String(error));
72
- }
73
- };
74
- // Update last accessed time with dual-trigger persistence
75
- sessionRepository.updateAccess(sessionId);
76
- logger.info(`Successfully restored streamable session: ${sessionId} (restored: ${transport.isRestored()})`);
77
- return transport;
78
- }
79
- catch (error) {
80
- logger.error(`Failed to restore streamable session ${sessionId}:`, error);
81
- return null;
82
- }
17
+ function buildConfigFromRequest(res, req, customTemplate) {
18
+ return {
19
+ tags: getValidatedTags(res),
20
+ tagExpression: getTagExpression(res),
21
+ tagFilterMode: getTagFilterMode(res),
22
+ tagQuery: getTagQuery(res),
23
+ presetName: getPresetName(res),
24
+ enablePagination: req.query.pagination === 'true',
25
+ customTemplate,
26
+ };
83
27
  }
84
28
  /**
85
29
  * Sets up client disconnect detection for a request/response pair.
@@ -109,12 +53,13 @@ function setupDisconnectDetection(req, res, sessionId, serverManager) {
109
53
  }
110
54
  });
111
55
  }
112
- export function setupStreamableHttpRoutes(router, serverManager, sessionRepository, authMiddleware, availabilityMiddleware, asyncOrchestrator, customTemplate) {
56
+ export function setupStreamableHttpRoutes(router, serverManager, sessionRepository, authMiddleware, availabilityMiddleware, asyncOrchestrator, customTemplate, injectedSessionService) {
113
57
  const middlewares = [tagsExtractor, authMiddleware];
114
58
  // Add availability middleware if provided
115
59
  if (availabilityMiddleware) {
116
60
  middlewares.push(availabilityMiddleware);
117
61
  }
62
+ const sessionService = injectedSessionService || new SessionService(serverManager, sessionRepository, asyncOrchestrator);
118
63
  router.post(STREAMABLE_HTTP_ENDPOINT, ...middlewares, async (req, res) => {
119
64
  try {
120
65
  let transport;
@@ -122,147 +67,43 @@ export function setupStreamableHttpRoutes(router, serverManager, sessionReposito
122
67
  if (!sessionId) {
123
68
  // Generate new session ID
124
69
  const id = AUTH_CONFIG.SERVER.STREAMABLE_SESSION.ID_PREFIX + randomUUID();
125
- transport = new StreamableHTTPServerTransport({
126
- sessionIdGenerator: () => id,
127
- });
128
- // Use validated tags and tag expression from scope auth middleware
129
- const tags = getValidatedTags(res);
130
- const tagExpression = getTagExpression(res);
131
- const tagFilterMode = getTagFilterMode(res);
132
- const tagQuery = getTagQuery(res);
133
- const presetName = getPresetName(res);
134
- const config = {
135
- tags,
136
- tagExpression,
137
- tagFilterMode,
138
- tagQuery,
139
- presetName,
140
- enablePagination: req.query.pagination === 'true',
141
- customTemplate,
142
- };
70
+ const config = buildConfigFromRequest(res, req, customTemplate);
143
71
  // Extract context from _meta field (from STDIO proxy)
144
72
  const context = extractContextFromMeta(req);
145
- if (context && context.project?.name && context.sessionId) {
146
- logger.info(`🔗 New session with context: ${context.project.name} (${context.sessionId})`);
73
+ const createResult = await sessionService.createSession(config, context || undefined, id);
74
+ transport = createResult.transport;
75
+ // Log warning if session was not persisted
76
+ if (!createResult.persisted) {
77
+ logger.warn(`New session ${id} was created but not persisted: ${createResult.persistenceError}`);
147
78
  }
148
- // Include full context in config for session persistence
149
- const configWithContext = {
150
- ...config,
151
- context: context || undefined,
152
- };
153
- // Pass context to ServerManager for template processing (only if valid)
154
- const validContext = context && context.project && context.user && context.environment ? context : undefined;
155
- await serverManager.connectTransport(transport, id, configWithContext, validContext);
156
- // Persist session configuration with full context for restoration
157
- sessionRepository.create(id, configWithContext);
158
- // Initialize notifications for async loading if enabled
159
- if (asyncOrchestrator) {
160
- const inboundConnection = serverManager.getServer(id);
161
- if (inboundConnection) {
162
- asyncOrchestrator.initializeNotifications(inboundConnection);
163
- logger.debug(`Async loading notifications initialized for Streamable HTTP session ${id}`);
164
- }
165
- }
166
- transport.onclose = () => {
167
- serverManager.disconnectTransport(id);
168
- sessionRepository.delete(id);
169
- };
170
- transport.onerror = (error) => {
171
- logger.error(`Streamable HTTP transport error for session ${id}:`, error);
172
- const server = serverManager.getServer(id);
173
- if (server) {
174
- server.status = ServerStatus.Error;
175
- server.lastError = error instanceof Error ? error : new Error(String(error));
176
- }
177
- };
178
79
  }
179
80
  else {
180
- const existingTransport = serverManager.getTransport(sessionId);
181
- if (!existingTransport) {
182
- // Extract context from _meta field (from STDIO proxy) for session restoration
81
+ transport = await sessionService.getSession(sessionId);
82
+ if (!transport) {
83
+ // Session restoration failed - create new session with provided ID (handles proxy use case)
84
+ logger.error(`Session restoration failed for ${sessionId}, creating new session as fallback`);
85
+ const config = buildConfigFromRequest(res, req, customTemplate);
86
+ // Extract context from _meta field (from STDIO proxy)
183
87
  const context = extractContextFromMeta(req);
184
- if (context && context.project?.name && context.sessionId) {
185
- logger.info(`🔄 Restoring session with context: ${context.project.name} (${context.sessionId})`);
186
- }
187
- // Attempt to restore session from persistent storage
188
- const restoredTransport = await restoreSession(sessionId, serverManager, sessionRepository, asyncOrchestrator);
189
- if (!restoredTransport) {
190
- // Session restoration failed - create new session with provided ID (handles proxy use case)
191
- logger.info(`🆕 Session restoration failed, creating new session with provided ID: ${sessionId}`);
192
- transport = new StreamableHTTPServerTransport({
193
- sessionIdGenerator: () => sessionId,
194
- });
195
- // Use validated tags and tag expression from scope auth middleware
196
- const tags = getValidatedTags(res);
197
- const tagExpression = getTagExpression(res);
198
- const tagFilterMode = getTagFilterMode(res);
199
- const tagQuery = getTagQuery(res);
200
- const presetName = getPresetName(res);
201
- const config = {
202
- tags,
203
- tagExpression,
204
- tagFilterMode,
205
- tagQuery,
206
- presetName,
207
- enablePagination: req.query.pagination === 'true',
208
- customTemplate,
209
- };
210
- // Extract context from _meta field (from STDIO proxy)
211
- const context = extractContextFromMeta(req);
212
- if (context && context.project?.name && context.sessionId) {
213
- logger.info(`🔗 New session with provided ID and context: ${context.project.name} (${context.sessionId})`);
214
- }
215
- // Pass context to ServerManager for template processing (only if valid)
216
- const validContext = context && context.project && context.user && context.environment ? context : undefined;
217
- await serverManager.connectTransport(transport, sessionId, config, validContext);
218
- // Persist session configuration for restoration with context
219
- sessionRepository.create(sessionId, config);
220
- // Initialize notifications for async loading if enabled
221
- if (asyncOrchestrator) {
222
- const inboundConnection = serverManager.getServer(sessionId);
223
- if (inboundConnection) {
224
- asyncOrchestrator.initializeNotifications(inboundConnection);
225
- logger.debug(`Async loading notifications initialized for Streamable HTTP session ${sessionId}`);
226
- }
227
- }
228
- transport.onclose = () => {
229
- serverManager.disconnectTransport(sessionId);
230
- sessionRepository.delete(sessionId);
231
- };
232
- transport.onerror = (error) => {
233
- logger.error(`Streamable HTTP transport error for session ${sessionId}:`, error);
234
- const server = serverManager.getServer(sessionId);
235
- if (server) {
236
- server.status = ServerStatus.Error;
237
- server.lastError = error instanceof Error ? error : new Error(String(error));
238
- }
239
- };
88
+ const createResult = await sessionService.createSession(config, context || undefined, sessionId);
89
+ transport = createResult.transport;
90
+ // Log warning if session was not persisted
91
+ if (!createResult.persisted) {
92
+ logger.warn(`Fallback session ${sessionId} was created but not persisted: ${createResult.persistenceError}`);
240
93
  }
241
- else {
242
- transport = restoredTransport;
243
- }
244
- }
245
- else if (existingTransport instanceof StreamableHTTPServerTransport ||
246
- existingTransport instanceof RestorableStreamableHTTPServerTransport) {
247
- transport = existingTransport;
248
- // Update last accessed time for active sessions with dual-trigger persistence
249
- sessionRepository.updateAccess(sessionId);
250
- }
251
- else {
252
- res.status(400).json({
253
- error: {
254
- code: ErrorCode.InvalidParams,
255
- message: 'Session already exists but uses a different transport protocol',
256
- },
257
- });
258
- return;
259
94
  }
260
95
  }
261
96
  await transport.handleRequest(req, res, req.body);
262
97
  }
263
98
  catch (error) {
264
- logger.error('Streamable HTTP error:', error);
265
- res.status(500).end();
99
+ const errorMessage = error instanceof Error ? error.message : String(error);
100
+ logger.error('Streamable HTTP POST error:', { error: errorMessage, sessionId: req.headers['mcp-session-id'] });
101
+ res.status(500).json({
102
+ error: {
103
+ code: ErrorCode.InternalError,
104
+ message: 'An internal server error occurred while processing the request',
105
+ },
106
+ });
266
107
  }
267
108
  });
268
109
  router.get(STREAMABLE_HTTP_ENDPOINT, ...middlewares, async (req, res) => {
@@ -277,32 +118,29 @@ export function setupStreamableHttpRoutes(router, serverManager, sessionReposito
277
118
  });
278
119
  return;
279
120
  }
280
- let transport = serverManager.getTransport(sessionId);
121
+ const transport = await sessionService.getSession(sessionId);
281
122
  if (!transport) {
282
- // Attempt to restore session from persistent storage
283
- const restoredTransport = await restoreSession(sessionId, serverManager, sessionRepository, asyncOrchestrator);
284
- if (!restoredTransport) {
285
- res.status(404).json({
286
- error: {
287
- code: ErrorCode.InvalidParams,
288
- message: 'No active streamable HTTP session found for the provided sessionId',
289
- },
290
- });
291
- return;
292
- }
293
- transport = restoredTransport;
294
- }
295
- else {
296
- // Update last accessed time for active sessions with dual-trigger persistence
297
- sessionRepository.updateAccess(sessionId);
123
+ res.status(404).json({
124
+ error: {
125
+ code: ErrorCode.InvalidParams,
126
+ message: 'No active streamable HTTP session found for the provided sessionId',
127
+ },
128
+ });
129
+ return;
298
130
  }
299
131
  // Set up disconnect detection for SSE stream (GET endpoint maintains persistent connection)
300
132
  setupDisconnectDetection(req, res, sessionId, serverManager);
301
133
  await transport.handleRequest(req, res, req.body);
302
134
  }
303
135
  catch (error) {
304
- logger.error('Streamable HTTP error:', error);
305
- res.status(500).end();
136
+ const errorMessage = error instanceof Error ? error.message : String(error);
137
+ logger.error('Streamable HTTP GET error:', { error: errorMessage, sessionId: req.headers['mcp-session-id'] });
138
+ res.status(500).json({
139
+ error: {
140
+ code: ErrorCode.InternalError,
141
+ message: 'An internal server error occurred while processing the request',
142
+ },
143
+ });
306
144
  }
307
145
  });
308
146
  router.delete(STREAMABLE_HTTP_ENDPOINT, ...middlewares, async (req, res) => {
@@ -317,28 +155,29 @@ export function setupStreamableHttpRoutes(router, serverManager, sessionReposito
317
155
  });
318
156
  return;
319
157
  }
320
- let transport = serverManager.getTransport(sessionId);
158
+ const transport = await sessionService.getSession(sessionId);
321
159
  if (!transport) {
322
- // Attempt to restore session from persistent storage
323
- const restoredTransport = await restoreSession(sessionId, serverManager, sessionRepository, asyncOrchestrator);
324
- if (!restoredTransport) {
325
- res.status(404).json({
326
- error: {
327
- code: ErrorCode.InvalidParams,
328
- message: 'No active streamable HTTP session found for the provided sessionId',
329
- },
330
- });
331
- return;
332
- }
333
- transport = restoredTransport;
160
+ res.status(404).json({
161
+ error: {
162
+ code: ErrorCode.InvalidParams,
163
+ message: 'No active streamable HTTP session found for the provided sessionId',
164
+ },
165
+ });
166
+ return;
334
167
  }
335
168
  await transport.handleRequest(req, res);
336
169
  // Delete session from storage after explicit delete request
337
- sessionRepository.delete(sessionId);
170
+ await sessionService.deleteSession(sessionId);
338
171
  }
339
172
  catch (error) {
340
- logger.error('Streamable HTTP error:', error);
341
- res.status(500).end();
173
+ const errorMessage = error instanceof Error ? error.message : String(error);
174
+ logger.error('Streamable HTTP DELETE error:', { error: errorMessage, sessionId: req.headers['mcp-session-id'] });
175
+ res.status(500).json({
176
+ error: {
177
+ code: ErrorCode.InternalError,
178
+ message: 'An internal server error occurred while processing the request',
179
+ },
180
+ });
342
181
  }
343
182
  });
344
183
  }
@@ -1 +1 @@
1
- {"version":3,"file":"streamableHttpRoutes.js","sourceRoot":"","sources":["../../../../src/transport/http/routes/streamableHttpRoutes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streamableHttpRoutes.js","sourceRoot":"","sources":["../../../../src/transport/http/routes/streamableHttpRoutes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Type definitions for internal properties of the MCP SDK that are not exposed
3
+ * in the public API but are needed for session restoration functionality.
4
+ */
5
+ /**
6
+ * Interface representing the internal structure of the web standard transport
7
+ * used within StreamableHTTPServerTransport
8
+ */
9
+ export interface InternalWebStandardTransport {
10
+ sessionId: string;
11
+ }
12
+ /**
13
+ * Interface representing the internal structure of StreamableHTTPServerTransport
14
+ * exposing private properties needed for restoration
15
+ */
16
+ export interface InternalStreamableTransport {
17
+ /**
18
+ * The underlying web standard transport instance
19
+ * @internal
20
+ */
21
+ _webStandardTransport?: InternalWebStandardTransport;
22
+ /**
23
+ * Flag indicating if the transport has been initialized
24
+ * @internal
25
+ */
26
+ _initialized?: boolean;
27
+ /**
28
+ * Session ID from public interface
29
+ */
30
+ sessionId?: string;
31
+ }
32
+ //# sourceMappingURL=sdkInternals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdkInternals.d.ts","sourceRoot":"","sources":["../../../../src/transport/http/utils/sdkInternals.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;OAGG;IACH,qBAAqB,CAAC,EAAE,4BAA4B,CAAC;IAErD;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Type definitions for internal properties of the MCP SDK that are not exposed
3
+ * in the public API but are needed for session restoration functionality.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=sdkInternals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdkInternals.js","sourceRoot":"","sources":["../../../../src/transport/http/utils/sdkInternals.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,76 @@
1
+ import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
2
+ import { AsyncLoadingOrchestrator } from '../../../core/capabilities/asyncLoadingOrchestrator.js';
3
+ import { ServerManager } from '../../../core/server/serverManager.js';
4
+ import { InboundConnectionConfig } from '../../../core/types/index.js';
5
+ import { RestorableStreamableHTTPServerTransport } from '../../../transport/http/restorableStreamableTransport.js';
6
+ import { StreamableSessionRepository } from '../../../transport/http/storage/streamableSessionRepository.js';
7
+ import type { ContextData } from '../../../types/context.js';
8
+ /**
9
+ * Result type for session restoration operations.
10
+ */
11
+ export interface SessionRestoreResult {
12
+ transport: RestorableStreamableHTTPServerTransport | null;
13
+ error?: string;
14
+ errorType?: 'not_found' | 'transport_failed' | 'connection_failed' | 'context_invalid';
15
+ }
16
+ /**
17
+ * Result type for session creation operations.
18
+ * Indicates whether the session was successfully persisted to storage.
19
+ */
20
+ export interface SessionCreateResult {
21
+ transport: StreamableHTTPServerTransport | RestorableStreamableHTTPServerTransport;
22
+ persisted: boolean;
23
+ persistenceError?: string;
24
+ }
25
+ /**
26
+ * Service to handle session management logic for Streamable HTTP transport.
27
+ * Encapsulates creation, restoration, and cleanup of sessions.
28
+ */
29
+ export declare class SessionService {
30
+ private serverManager;
31
+ private sessionRepository;
32
+ private asyncOrchestrator?;
33
+ constructor(serverManager: ServerManager, sessionRepository: StreamableSessionRepository, asyncOrchestrator?: AsyncLoadingOrchestrator | undefined);
34
+ /**
35
+ * Retrieves an existing session transport or tries to restore it.
36
+ *
37
+ * @param sessionId - The session ID to retrieve
38
+ * @returns The transport if found or restored successfully, null otherwise
39
+ */
40
+ getSession(sessionId: string): Promise<StreamableHTTPServerTransport | RestorableStreamableHTTPServerTransport | null>;
41
+ /**
42
+ * Restores a session from persistent storage.
43
+ *
44
+ * @param sessionId - The session ID to restore
45
+ * @returns SessionRestoreResult with transport or error details
46
+ */
47
+ restoreSession(sessionId: string): Promise<SessionRestoreResult>;
48
+ /**
49
+ * Creates a new session with the given configuration.
50
+ *
51
+ * @param config - The inbound connection configuration
52
+ * @param context - Optional context data for the session
53
+ * @param providedSessionId - Optional session ID to use instead of generating one
54
+ * @returns SessionCreateResult with transport and persistence status
55
+ * @throws Error if session creation fails (but not if persistence fails)
56
+ */
57
+ createSession(config: InboundConnectionConfig, context?: Partial<ContextData>, providedSessionId?: string): Promise<SessionCreateResult>;
58
+ /**
59
+ * Deletes a session and cleans up resources.
60
+ *
61
+ * @param sessionId - The session ID to delete
62
+ */
63
+ deleteSession(sessionId: string): Promise<void>;
64
+ /**
65
+ * Initializes async loading notifications for a session.
66
+ *
67
+ * This method should be called after connecting a transport to enable
68
+ * the async orchestrator to send capability updates to the client.
69
+ * Only applicable when async loading is enabled.
70
+ *
71
+ * @param sessionId - The session ID to initialize notifications for
72
+ */
73
+ private initializeNotifications;
74
+ private setupTransportHandlers;
75
+ }
76
+ //# sourceMappingURL=sessionService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionService.d.ts","sourceRoot":"","sources":["../../../../src/transport/http/utils/sessionService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AAGnG,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAgB,MAAM,0BAA0B,CAAC;AAEjF,OAAO,EAAE,uCAAuC,EAAE,MAAM,sDAAsD,CAAC;AAC/G,OAAO,EAAE,2BAA2B,EAAE,MAAM,4DAA4D,CAAC;AACzG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,uCAAuC,GAAG,IAAI,CAAC;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,WAAW,GAAG,kBAAkB,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;CACxF;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,6BAA6B,GAAG,uCAAuC,CAAC;IACnF,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAYD;;;GAGG;AACH,qBAAa,cAAc;IAEvB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,iBAAiB,CAAC;gBAFlB,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,2BAA2B,EAC9C,iBAAiB,CAAC,EAAE,wBAAwB,YAAA;IAGtD;;;;;OAKG;IACG,UAAU,CACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,6BAA6B,GAAG,uCAAuC,GAAG,IAAI,CAAC;IA4B1F;;;;;OAKG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAuEtE;;;;;;;;OAQG;IACG,aAAa,CACjB,MAAM,EAAE,uBAAuB,EAC/B,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,EAC9B,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,mBAAmB,CAAC;IA2D/B;;;;OAIG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWrD;;;;;;;;OAQG;IACH,OAAO,CAAC,uBAAuB;IAU/B,OAAO,CAAC,sBAAsB;CAkB/B"}