couchloop-eq-mcp 1.1.3 → 1.1.6

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 (89) hide show
  1. package/README.md +6 -0
  2. package/dist/clients/shrinkChatClient.d.ts +4 -4
  3. package/dist/index.js +168 -6
  4. package/dist/index.js.map +1 -1
  5. package/dist/server/chatgpt-mcp.d.ts.map +1 -1
  6. package/dist/server/chatgpt-mcp.js +112 -2
  7. package/dist/server/chatgpt-mcp.js.map +1 -1
  8. package/dist/server/http-mcp.d.ts +11 -0
  9. package/dist/server/http-mcp.d.ts.map +1 -0
  10. package/dist/server/http-mcp.js +431 -0
  11. package/dist/server/http-mcp.js.map +1 -0
  12. package/dist/server/index.d.ts.map +1 -1
  13. package/dist/server/index.js +28 -3
  14. package/dist/server/index.js.map +1 -1
  15. package/dist/server/sse.d.ts +1 -1
  16. package/dist/server/sse.d.ts.map +1 -1
  17. package/dist/server/sse.js +320 -69
  18. package/dist/server/sse.js.map +1 -1
  19. package/dist/tools/check-versions.d.ts +7 -7
  20. package/dist/tools/check-versions.d.ts.map +1 -1
  21. package/dist/tools/check-versions.js +17 -22
  22. package/dist/tools/check-versions.js.map +1 -1
  23. package/dist/tools/checkpoint.d.ts +4 -18
  24. package/dist/tools/checkpoint.d.ts.map +1 -1
  25. package/dist/tools/checkpoint.js +85 -11
  26. package/dist/tools/checkpoint.js.map +1 -1
  27. package/dist/tools/comprehensive-code-review.d.ts +78 -0
  28. package/dist/tools/comprehensive-code-review.d.ts.map +1 -0
  29. package/dist/tools/comprehensive-code-review.js +177 -0
  30. package/dist/tools/comprehensive-code-review.js.map +1 -0
  31. package/dist/tools/comprehensive-package-audit.d.ts +75 -0
  32. package/dist/tools/comprehensive-package-audit.d.ts.map +1 -0
  33. package/dist/tools/comprehensive-package-audit.js +151 -0
  34. package/dist/tools/comprehensive-package-audit.js.map +1 -0
  35. package/dist/tools/detect-build-context.d.ts +59 -0
  36. package/dist/tools/detect-build-context.d.ts.map +1 -0
  37. package/dist/tools/detect-build-context.js +80 -0
  38. package/dist/tools/detect-build-context.js.map +1 -0
  39. package/dist/tools/generate-upgrade-report.d.ts +85 -0
  40. package/dist/tools/generate-upgrade-report.d.ts.map +1 -0
  41. package/dist/tools/generate-upgrade-report.js +102 -0
  42. package/dist/tools/generate-upgrade-report.js.map +1 -0
  43. package/dist/tools/index-full.d.ts +1355 -0
  44. package/dist/tools/index-full.d.ts.map +1 -0
  45. package/dist/tools/index-full.js +611 -0
  46. package/dist/tools/index-full.js.map +1 -0
  47. package/dist/tools/index.d.ts +27 -968
  48. package/dist/tools/index.d.ts.map +1 -1
  49. package/dist/tools/index.js +29 -531
  50. package/dist/tools/index.js.map +1 -1
  51. package/dist/tools/insight.d.ts +25 -6
  52. package/dist/tools/insight.d.ts.map +1 -1
  53. package/dist/tools/insight.js +2 -1
  54. package/dist/tools/insight.js.map +1 -1
  55. package/dist/tools/prevent-ai-errors.d.ts +85 -0
  56. package/dist/tools/prevent-ai-errors.d.ts.map +1 -0
  57. package/dist/tools/prevent-ai-errors.js +97 -0
  58. package/dist/tools/prevent-ai-errors.js.map +1 -0
  59. package/dist/tools/primary-tools.d.ts +430 -0
  60. package/dist/tools/primary-tools.d.ts.map +1 -0
  61. package/dist/tools/primary-tools.js +294 -0
  62. package/dist/tools/primary-tools.js.map +1 -0
  63. package/dist/tools/sendMessage.d.ts +3 -5
  64. package/dist/tools/sendMessage.d.ts.map +1 -1
  65. package/dist/tools/sendMessage.js +47 -22
  66. package/dist/tools/sendMessage.js.map +1 -1
  67. package/dist/tools/session-manager.d.ts +32 -0
  68. package/dist/tools/session-manager.d.ts.map +1 -0
  69. package/dist/tools/session-manager.js +184 -0
  70. package/dist/tools/session-manager.js.map +1 -0
  71. package/dist/tools/smart-context.d.ts +66 -0
  72. package/dist/tools/smart-context.d.ts.map +1 -0
  73. package/dist/tools/smart-context.js +167 -0
  74. package/dist/tools/smart-context.js.map +1 -0
  75. package/dist/tools/validate_packages.d.ts.map +1 -1
  76. package/dist/tools/validate_packages.js +6 -4
  77. package/dist/tools/validate_packages.js.map +1 -1
  78. package/dist/types/checkpoint.d.ts +59 -4
  79. package/dist/types/checkpoint.d.ts.map +1 -1
  80. package/dist/types/checkpoint.js +20 -1
  81. package/dist/types/checkpoint.js.map +1 -1
  82. package/dist/types/journey.d.ts +6 -6
  83. package/dist/types/session.d.ts +3 -3
  84. package/dist/utils/sanitize.d.ts +24 -0
  85. package/dist/utils/sanitize.d.ts.map +1 -0
  86. package/dist/utils/sanitize.js +117 -0
  87. package/dist/utils/sanitize.js.map +1 -0
  88. package/dist/workflows/index.d.ts +1 -1
  89. package/package.json +2 -2
@@ -2,28 +2,29 @@
2
2
  * Streamable HTTP Transport for MCP Server
3
3
  * Enables ChatGPT to connect via SSE and HTTP
4
4
  */
5
- import { Server } from '@modelcontextprotocol/sdk/server';
6
- import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
7
- import { setupTools } from '../tools/index.js';
8
- import { setupResources } from '../resources/index.js';
9
- import { logger } from '../utils/logger.js';
10
- import { CallToolRequestSchema, ListToolsRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema } from '@modelcontextprotocol/sdk/types.js';
11
- import crypto from 'crypto';
12
- // Store active transports and servers by session ID
5
+ import { Server } from "@modelcontextprotocol/sdk/server";
6
+ import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
7
+ import { CallToolRequestSchema, GetPromptRequestSchema, ListPromptsRequestSchema, ListResourcesRequestSchema, ListToolsRequestSchema, ReadResourceRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
8
+ import crypto from "crypto";
9
+ import { setupResources } from "../resources/index.js";
10
+ import { setupTools } from "../tools/index.js";
11
+ import { logger } from "../utils/logger.js";
13
12
  const activeSessions = new Map();
13
+ const SESSION_TTL_MS = parseInt(process.env.SESSION_TTL_MS || '1800000'); // 30 minutes
14
14
  /**
15
15
  * Create and configure an MCP server instance
16
16
  */
17
17
  async function createMCPServer() {
18
18
  // Create MCP server instance
19
19
  const server = new Server({
20
- name: 'couchloop-mcp',
21
- version: '1.0.2',
20
+ name: "couchloop-mcp",
21
+ version: "1.1.3",
22
22
  }, {
23
23
  capabilities: {
24
24
  tools: {},
25
25
  resources: {},
26
- experimental: {} // Support experimental features for ChatGPT
26
+ prompts: {},
27
+ experimental: {}, // Support experimental features for ChatGPT
27
28
  },
28
29
  });
29
30
  // Set up tools and resources
@@ -31,31 +32,273 @@ async function createMCPServer() {
31
32
  const resources = await setupResources();
32
33
  // Set up tool handlers
33
34
  server.setRequestHandler(ListToolsRequestSchema, async () => ({
34
- tools: tools.map(t => t.definition)
35
+ tools: tools.map((t) => t.definition),
35
36
  }));
36
37
  server.setRequestHandler(CallToolRequestSchema, async (request) => {
37
- const tool = tools.find(t => t.definition.name === request.params.name);
38
+ const tool = tools.find((t) => t.definition.name === request.params.name);
38
39
  if (!tool) {
39
40
  throw new Error(`Tool not found: ${request.params.name}`);
40
41
  }
41
- return await tool.handler(request.params.arguments || {});
42
+ const result = await tool.handler(request.params.arguments || {});
43
+ return result;
42
44
  });
43
45
  // Set up resource handlers
44
46
  server.setRequestHandler(ListResourcesRequestSchema, async () => ({
45
- resources: resources.map(r => r.definition)
47
+ resources: resources.map((r) => r.definition),
46
48
  }));
47
49
  server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
48
- const resource = resources.find(r => r.definition.uri === request.params.uri);
50
+ const resource = resources.find((r) => r.definition.uri === request.params.uri);
49
51
  if (!resource) {
50
52
  throw new Error(`Resource not found: ${request.params.uri}`);
51
53
  }
52
54
  const content = await resource.handler();
53
55
  return {
54
- contents: [{
56
+ contents: [
57
+ {
55
58
  uri: request.params.uri,
56
- mimeType: resource.definition.mimeType || 'application/json',
57
- text: content
58
- }]
59
+ mimeType: resource.definition.mimeType || "application/json",
60
+ text: content,
61
+ },
62
+ ],
63
+ };
64
+ });
65
+ // Set up prompt handlers
66
+ const prompts = [
67
+ {
68
+ name: "daily-reflection",
69
+ description: "Start a guided daily reflection session to process your day",
70
+ arguments: [
71
+ {
72
+ name: "mood",
73
+ description: "Your current mood (optional)",
74
+ required: false,
75
+ },
76
+ ],
77
+ },
78
+ {
79
+ name: "code-review",
80
+ description: "Review code for security issues, code smells, and best practices",
81
+ arguments: [
82
+ { name: "code", description: "The code to review", required: true },
83
+ {
84
+ name: "language",
85
+ description: "Programming language",
86
+ required: false,
87
+ },
88
+ ],
89
+ },
90
+ {
91
+ name: "validate-dependencies",
92
+ description: "Validate package dependencies for hallucinated or vulnerable packages",
93
+ arguments: [
94
+ {
95
+ name: "packages",
96
+ description: "Comma-separated list of packages to validate",
97
+ required: true,
98
+ },
99
+ ],
100
+ },
101
+ {
102
+ name: "sprint-kickoff",
103
+ description: "Start a new sprint session to capture context and decisions",
104
+ arguments: [
105
+ {
106
+ name: "sprint_name",
107
+ description: "Name or identifier for the sprint",
108
+ required: true,
109
+ },
110
+ ],
111
+ },
112
+ {
113
+ name: "security-audit",
114
+ description: "Comprehensive security scan of code for vulnerabilities",
115
+ arguments: [
116
+ { name: "code", description: "The code to audit", required: true },
117
+ {
118
+ name: "language",
119
+ description: "Programming language",
120
+ required: false,
121
+ },
122
+ ],
123
+ },
124
+ {
125
+ name: "pre-commit-check",
126
+ description: "Full code quality check before committing - security, smells, and review",
127
+ arguments: [
128
+ { name: "code", description: "The code to check", required: true },
129
+ {
130
+ name: "language",
131
+ description: "Programming language",
132
+ required: false,
133
+ },
134
+ ],
135
+ },
136
+ {
137
+ name: "check-outdated-deps",
138
+ description: "Find outdated or deprecated dependencies in your project",
139
+ arguments: [
140
+ {
141
+ name: "packages",
142
+ description: "Comma-separated list of packages to check",
143
+ required: true,
144
+ },
145
+ {
146
+ name: "registry",
147
+ description: "Package registry (npm, pypi, maven)",
148
+ required: false,
149
+ },
150
+ ],
151
+ },
152
+ {
153
+ name: "save-architecture",
154
+ description: "Store current architecture decisions and technical patterns for future reference",
155
+ arguments: [
156
+ {
157
+ name: "content",
158
+ description: "Architecture decision or pattern to preserve",
159
+ required: true,
160
+ },
161
+ {
162
+ name: "category",
163
+ description: "Category: architecture, requirements, constraints, decisions, technical-patterns",
164
+ required: false,
165
+ },
166
+ ],
167
+ },
168
+ {
169
+ name: "retrieve-context",
170
+ description: "Retrieve stored context - either recent context or search for specific topic",
171
+ arguments: [
172
+ {
173
+ name: "search_term",
174
+ description: 'Optional search term (e.g., "email persistence issue")',
175
+ required: false,
176
+ },
177
+ {
178
+ name: "category",
179
+ description: "Filter by category: architecture, requirements, constraints, decisions, technical-patterns",
180
+ required: false,
181
+ },
182
+ ],
183
+ },
184
+ ];
185
+ server.setRequestHandler(ListPromptsRequestSchema, async () => ({
186
+ prompts,
187
+ }));
188
+ server.setRequestHandler(GetPromptRequestSchema, async (request) => {
189
+ const prompt = prompts.find((p) => p.name === request.params.name);
190
+ if (!prompt) {
191
+ throw new Error(`Prompt not found: ${request.params.name}`);
192
+ }
193
+ const args = request.params.arguments || {};
194
+ // Generate prompt messages based on the prompt type
195
+ let messages = [];
196
+ switch (prompt.name) {
197
+ case "daily-reflection":
198
+ messages = [
199
+ {
200
+ role: "user",
201
+ content: {
202
+ type: "text",
203
+ text: `Start a daily reflection session${args.mood ? ` (current mood: ${args.mood})` : ""}. Use the create_session tool with journey_slug "daily-reflection".`,
204
+ },
205
+ },
206
+ ];
207
+ break;
208
+ case "code-review":
209
+ messages = [
210
+ {
211
+ role: "user",
212
+ content: {
213
+ type: "text",
214
+ text: `Review this code for issues:\n\n\`\`\`${args.language || ""}\n${args.code}\n\`\`\`\n\nUse scan_security, pre_review_code, and detect_code_smell tools to analyze.`,
215
+ },
216
+ },
217
+ ];
218
+ break;
219
+ case "validate-dependencies":
220
+ messages = [
221
+ {
222
+ role: "user",
223
+ content: {
224
+ type: "text",
225
+ text: `Validate these packages: ${args.packages}\n\nUse the validate_packages tool to check if they exist and are safe.`,
226
+ },
227
+ },
228
+ ];
229
+ break;
230
+ case "sprint-kickoff":
231
+ messages = [
232
+ {
233
+ role: "user",
234
+ content: {
235
+ type: "text",
236
+ text: `Start a new sprint session for "${args.sprint_name}". Use create_session to establish context, then use preserve_context to store the sprint goals.`,
237
+ },
238
+ },
239
+ ];
240
+ break;
241
+ case "security-audit":
242
+ messages = [
243
+ {
244
+ role: "user",
245
+ content: {
246
+ type: "text",
247
+ text: `Perform a comprehensive security audit on this code:\n\n\`\`\`${args.language || ""}\n${args.code}\n\`\`\`\n\nUse scan_security with scanType "thorough" to detect SQL injection, XSS, hardcoded secrets, and other vulnerabilities.`,
248
+ },
249
+ },
250
+ ];
251
+ break;
252
+ case "pre-commit-check":
253
+ messages = [
254
+ {
255
+ role: "user",
256
+ content: {
257
+ type: "text",
258
+ text: `Run a full pre-commit quality check on this code:\n\n\`\`\`${args.language || ""}\n${args.code}\n\`\`\`\n\nUse all three tools:\n1. scan_security - check for vulnerabilities\n2. pre_review_code - catch console.logs, TODOs, missing error handling\n3. detect_code_smell - find over-engineering and bloat\n\nProvide a summary of issues found.`,
259
+ },
260
+ },
261
+ ];
262
+ break;
263
+ case "check-outdated-deps":
264
+ messages = [
265
+ {
266
+ role: "user",
267
+ content: {
268
+ type: "text",
269
+ text: `Check these packages for outdated versions and deprecated APIs: ${args.packages}${args.registry ? ` (registry: ${args.registry})` : ""}\n\nUse check_versions tool with checkDeprecated=true and includeUpgradePath=true to identify outdated dependencies and migration paths.`,
270
+ },
271
+ },
272
+ ];
273
+ break;
274
+ case "save-architecture":
275
+ messages = [
276
+ {
277
+ role: "user",
278
+ content: {
279
+ type: "text",
280
+ text: `Save this architecture decision for future reference:\n\n${args.content}\n\nUse preserve_context with action "store" and category "${args.category || "architecture"}" to preserve this context.`,
281
+ },
282
+ },
283
+ ];
284
+ break;
285
+ case "retrieve-context":
286
+ messages = [
287
+ {
288
+ role: "user",
289
+ content: {
290
+ type: "text",
291
+ text: args.search_term
292
+ ? `Retrieve stored context matching: "${args.search_term}"${args.category ? ` in category "${args.category}"` : ""}.\n\nUse preserve_context with action "retrieve" and search_term "${args.search_term}".`
293
+ : `Retrieve recent stored context${args.category ? ` from category "${args.category}"` : ""}.\n\nUse preserve_context with action "retrieve" to get the most recent context.`,
294
+ },
295
+ },
296
+ ];
297
+ break;
298
+ }
299
+ return {
300
+ description: prompt.description,
301
+ messages,
59
302
  };
60
303
  });
61
304
  return server;
@@ -67,12 +310,13 @@ async function createMCPServer() {
67
310
  export async function handleSSE(req, res) {
68
311
  try {
69
312
  // Get or generate session ID
70
- let sessionId = req.headers['x-session-id'];
313
+ let sessionId = req.headers["x-session-id"];
71
314
  // Check if this is an existing session
72
315
  let session = activeSessions.get(sessionId);
73
316
  if (!session) {
74
317
  // Create new session
75
- sessionId = sessionId || `session_${crypto.randomBytes(16).toString('hex')}`;
318
+ sessionId =
319
+ sessionId || `session_${crypto.randomBytes(16).toString("hex")}`;
76
320
  // Create transport with stateful mode (session management)
77
321
  const transport = new StreamableHTTPServerTransport({
78
322
  sessionIdGenerator: () => sessionId,
@@ -82,23 +326,22 @@ export async function handleSSE(req, res) {
82
326
  // Connect transport to server
83
327
  await server.connect(transport);
84
328
  // Store session
85
- session = { transport, server };
329
+ session = { transport, server, lastActivity: Date.now() };
86
330
  activeSessions.set(sessionId, session);
87
331
  logger.info(`New MCP session created: ${sessionId}`);
88
332
  }
333
+ // Update activity timestamp
334
+ session.lastActivity = Date.now();
89
335
  // Handle the request through the transport
90
336
  await session.transport.handleRequest(req, res, req.body);
91
337
  }
92
338
  catch (error) {
93
- logger.error('SSE/HTTP handler error:', error);
94
- logger.error('Error stack:', error instanceof Error ? error.stack : 'No stack');
95
- logger.error('Request body was:', req.body);
96
- // Send appropriate error response if not already sent
339
+ logger.error("SSE/HTTP handler error:", error);
97
340
  if (!res.headersSent) {
98
341
  res.status(500).json({
99
- error: 'Failed to handle MCP request',
100
- details: error instanceof Error ? error.message : 'Unknown error',
101
- stack: process.env.NODE_ENV !== 'production' ? (error instanceof Error ? error.stack : undefined) : undefined
342
+ jsonrpc: "2.0",
343
+ error: { code: -32603, message: "Internal server error" },
344
+ id: req.body?.id || null,
102
345
  });
103
346
  }
104
347
  }
@@ -108,35 +351,36 @@ export async function handleSSE(req, res) {
108
351
  * This endpoint is more forgiving with Accept headers
109
352
  */
110
353
  export async function handleMCPLenient(req, res) {
111
- console.log('=== handleMCPLenient called ===');
112
- console.log('Method:', req.method);
113
- console.log('Headers:', req.headers);
114
- console.log('Body:', req.body);
354
+ logger.debug("handleMCPLenient called", {
355
+ method: req.method,
356
+ sessionId: req.headers["x-session-id"],
357
+ });
115
358
  try {
116
359
  // Log incoming headers for debugging
117
- logger.info('MCP Request Headers:', {
360
+ logger.info("MCP Request Headers:", {
118
361
  accept: req.headers.accept,
119
- 'content-type': req.headers['content-type'],
120
- 'user-agent': req.headers['user-agent'],
121
- 'x-session-id': req.headers['x-session-id']
362
+ "content-type": req.headers["content-type"],
363
+ "user-agent": req.headers["user-agent"],
364
+ "x-session-id": req.headers["x-session-id"],
122
365
  });
123
366
  // Normalize Accept header for compatibility
124
- const originalAccept = req.headers.accept || '';
125
- if (originalAccept === '*/*' ||
126
- originalAccept === 'application/json' ||
127
- originalAccept === 'application/*' ||
367
+ const originalAccept = req.headers.accept || "";
368
+ if (originalAccept === "*/*" ||
369
+ originalAccept === "application/json" ||
370
+ originalAccept === "application/*" ||
128
371
  !originalAccept) {
129
372
  // Set the required Accept header for MCP
130
- req.headers.accept = 'application/json, text/event-stream';
373
+ req.headers.accept = "application/json, text/event-stream";
131
374
  logger.info(`Normalized Accept header from "${originalAccept}" to "${req.headers.accept}"`);
132
375
  }
133
376
  // Get or generate session ID
134
- let sessionId = req.headers['x-session-id'];
377
+ let sessionId = req.headers["x-session-id"];
135
378
  // Check if this is an existing session
136
379
  let session = activeSessions.get(sessionId);
137
380
  if (!session) {
138
381
  // Create new session
139
- sessionId = sessionId || `session_${crypto.randomBytes(16).toString('hex')}`;
382
+ sessionId =
383
+ sessionId || `session_${crypto.randomBytes(16).toString("hex")}`;
140
384
  // Create transport with lenient options
141
385
  const transport = new StreamableHTTPServerTransport({
142
386
  sessionIdGenerator: () => sessionId,
@@ -148,59 +392,66 @@ export async function handleMCPLenient(req, res) {
148
392
  // Connect transport to server
149
393
  await server.connect(transport);
150
394
  // Store session
151
- session = { transport, server };
395
+ session = { transport, server, lastActivity: Date.now() };
152
396
  activeSessions.set(sessionId, session);
153
397
  logger.info(`New lenient MCP session created: ${sessionId}`);
154
398
  }
399
+ // Update activity timestamp
400
+ session.lastActivity = Date.now();
155
401
  // Log request details
156
402
  if (req.body) {
157
- logger.info('MCP Request:', {
403
+ logger.info("MCP Request:", {
158
404
  method: req.body.method,
159
405
  id: req.body.id,
160
- params: req.body.params
406
+ params: req.body.params,
161
407
  });
162
408
  }
163
409
  // Handle the request through the transport
164
410
  // Create a modified request object with normalized headers
165
411
  const modifiedReq = Object.assign({}, req, {
166
- headers: Object.assign({}, req.headers)
412
+ headers: Object.assign({}, req.headers),
167
413
  });
168
414
  await session.transport.handleRequest(modifiedReq, res, req.body);
169
415
  }
170
416
  catch (error) {
171
- logger.error('Lenient MCP handler error:', error);
172
- logger.error('Error stack:', error instanceof Error ? error.stack : 'No stack');
173
- logger.error('Request body was:', req.body);
174
- // Send appropriate error response if not already sent
417
+ logger.error("Lenient MCP handler error:", error);
175
418
  if (!res.headersSent) {
176
419
  res.status(500).json({
177
- error: 'Failed to handle MCP request',
178
- details: error instanceof Error ? error.message : 'Unknown error',
179
- stack: process.env.NODE_ENV !== 'production' ? (error instanceof Error ? error.stack : undefined) : undefined
420
+ jsonrpc: "2.0",
421
+ error: { code: -32603, message: "Internal server error" },
422
+ id: req.body?.id || null,
180
423
  });
181
424
  }
182
425
  }
183
426
  }
184
427
  /**
185
428
  * Clean up inactive sessions periodically
186
- * TODO: Implement session activity tracking and cleanup
187
429
  */
188
- setInterval(() => {
189
- // In production, you'd want to track last activity time and clean up inactive sessions
190
- // For now, we'll keep all sessions active
191
- // const thirtyMinutesAgo = Date.now() - 30 * 60 * 1000;
192
- // for (const [sessionId, session] of activeSessions.entries()) {
193
- // if (session.lastActivity < thirtyMinutesAgo) {
194
- // session.transport.close();
195
- // activeSessions.delete(sessionId);
196
- // }
197
- // }
198
- }, 5 * 60 * 1000); // Run every 5 minutes
430
+ function cleanupExpiredSessions() {
431
+ const now = Date.now();
432
+ let cleaned = 0;
433
+ for (const [sessionId, session] of activeSessions.entries()) {
434
+ if (now - session.lastActivity > SESSION_TTL_MS) {
435
+ try {
436
+ session.transport.close();
437
+ }
438
+ catch (error) {
439
+ logger.error(`Error closing expired session ${sessionId}:`, error);
440
+ }
441
+ activeSessions.delete(sessionId);
442
+ cleaned++;
443
+ }
444
+ }
445
+ if (cleaned > 0) {
446
+ logger.info(`Cleaned up ${cleaned} expired sessions. Active: ${activeSessions.size}`);
447
+ }
448
+ }
449
+ setInterval(cleanupExpiredSessions, 5 * 60 * 1000);
199
450
  /**
200
451
  * Graceful shutdown - clean up all sessions
201
452
  */
202
453
  export async function cleanupSessions() {
203
- logger.info('Cleaning up MCP sessions...');
454
+ logger.info("Cleaning up MCP sessions...");
204
455
  for (const [sessionId, session] of activeSessions.entries()) {
205
456
  try {
206
457
  await session.transport.close();
@@ -1 +1 @@
1
- {"version":3,"file":"sse.js","sourceRoot":"","sources":["../../src/server/sse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sse.js","sourceRoot":"","sources":["../../src/server/sse.ts"],"names":[],"mappings":"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"}
@@ -13,11 +13,11 @@ declare const CheckVersionsInputSchema: z.ZodObject<{
13
13
  }, "strip", z.ZodTypeAny, {
14
14
  name: string;
15
15
  version?: string | undefined;
16
- registry?: "npm" | "pypi" | "maven" | "cargo" | "gem" | "nuget" | "go" | undefined;
16
+ registry?: "npm" | "maven" | "pypi" | "cargo" | "gem" | "nuget" | "go" | undefined;
17
17
  }, {
18
18
  name: string;
19
19
  version?: string | undefined;
20
- registry?: "npm" | "pypi" | "maven" | "cargo" | "gem" | "nuget" | "go" | undefined;
20
+ registry?: "npm" | "maven" | "pypi" | "cargo" | "gem" | "nuget" | "go" | undefined;
21
21
  }>, "many">>;
22
22
  code: z.ZodOptional<z.ZodString>;
23
23
  language: z.ZodOptional<z.ZodString>;
@@ -31,21 +31,21 @@ declare const CheckVersionsInputSchema: z.ZodObject<{
31
31
  includeUpgradePath: boolean;
32
32
  checkSecurity: boolean;
33
33
  code?: string | undefined;
34
+ language?: string | undefined;
34
35
  packages?: {
35
36
  name: string;
36
37
  version?: string | undefined;
37
- registry?: "npm" | "pypi" | "maven" | "cargo" | "gem" | "nuget" | "go" | undefined;
38
+ registry?: "npm" | "maven" | "pypi" | "cargo" | "gem" | "nuget" | "go" | undefined;
38
39
  }[] | undefined;
39
- language?: string | undefined;
40
40
  }, {
41
41
  code?: string | undefined;
42
+ language?: string | undefined;
43
+ format?: "json" | "summary" | "markdown" | undefined;
42
44
  packages?: {
43
45
  name: string;
44
46
  version?: string | undefined;
45
- registry?: "npm" | "pypi" | "maven" | "cargo" | "gem" | "nuget" | "go" | undefined;
47
+ registry?: "npm" | "maven" | "pypi" | "cargo" | "gem" | "nuget" | "go" | undefined;
46
48
  }[] | undefined;
47
- language?: string | undefined;
48
- format?: "json" | "summary" | "markdown" | undefined;
49
49
  checkDeprecated?: boolean | undefined;
50
50
  includeUpgradePath?: boolean | undefined;
51
51
  checkSecurity?: boolean | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"check-versions.d.ts","sourceRoot":"","sources":["../../src/tools/check-versions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAK1D,QAAA,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgB5B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,iBAAiB,EAAE,IA2D/B,CAAC;AAEF,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAqFzE;AA0OD,wBAAgB,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKtC"}
1
+ {"version":3,"file":"check-versions.d.ts","sourceRoot":"","sources":["../../src/tools/check-versions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAmD1D,QAAA,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgB5B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,iBAAiB,EAAE,IA2D/B,CAAC;AAEF,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAqFzE;AAoOD,wBAAgB,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKtC"}