@1mcp/agent 0.20.3 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/README.md +2 -1
  2. package/build/commands/app/backups.d.ts +2 -1
  3. package/build/commands/app/backups.d.ts.map +1 -1
  4. package/build/commands/app/backups.js.map +1 -1
  5. package/build/commands/app/consolidate.d.ts +2 -1
  6. package/build/commands/app/consolidate.d.ts.map +1 -1
  7. package/build/commands/app/consolidate.js.map +1 -1
  8. package/build/commands/app/discover.d.ts +2 -1
  9. package/build/commands/app/discover.d.ts.map +1 -1
  10. package/build/commands/app/discover.js.map +1 -1
  11. package/build/commands/app/index.d.ts.map +1 -1
  12. package/build/commands/app/index.js +4 -2
  13. package/build/commands/app/index.js.map +1 -1
  14. package/build/commands/app/list.d.ts +2 -1
  15. package/build/commands/app/list.d.ts.map +1 -1
  16. package/build/commands/app/list.js.map +1 -1
  17. package/build/commands/app/restore.d.ts +2 -1
  18. package/build/commands/app/restore.d.ts.map +1 -1
  19. package/build/commands/app/restore.js.map +1 -1
  20. package/build/commands/app/status.d.ts +2 -1
  21. package/build/commands/app/status.d.ts.map +1 -1
  22. package/build/commands/app/status.js.map +1 -1
  23. package/build/commands/mcp/add.d.ts +2 -2
  24. package/build/commands/mcp/add.d.ts.map +1 -1
  25. package/build/commands/mcp/enable.d.ts +2 -2
  26. package/build/commands/mcp/enable.d.ts.map +1 -1
  27. package/build/commands/mcp/enable.js.map +1 -1
  28. package/build/commands/mcp/index.d.ts.map +1 -1
  29. package/build/commands/mcp/index.js +42 -35
  30. package/build/commands/mcp/index.js.map +1 -1
  31. package/build/commands/mcp/list.d.ts +2 -2
  32. package/build/commands/mcp/list.d.ts.map +1 -1
  33. package/build/commands/mcp/list.js.map +1 -1
  34. package/build/commands/mcp/remove.d.ts +2 -2
  35. package/build/commands/mcp/remove.d.ts.map +1 -1
  36. package/build/commands/mcp/status.d.ts +2 -2
  37. package/build/commands/mcp/status.d.ts.map +1 -1
  38. package/build/commands/mcp/status.js.map +1 -1
  39. package/build/commands/mcp/tokens.d.ts +13 -0
  40. package/build/commands/mcp/tokens.d.ts.map +1 -0
  41. package/build/commands/mcp/tokens.js +273 -0
  42. package/build/commands/mcp/tokens.js.map +1 -0
  43. package/build/commands/mcp/update.d.ts +2 -2
  44. package/build/commands/mcp/update.d.ts.map +1 -1
  45. package/build/commands/mcp/utils/connectionHelper.d.ts +29 -0
  46. package/build/commands/mcp/utils/connectionHelper.d.ts.map +1 -0
  47. package/build/commands/mcp/utils/connectionHelper.js +162 -0
  48. package/build/commands/mcp/utils/connectionHelper.js.map +1 -0
  49. package/build/commands/preset/create.d.ts +16 -0
  50. package/build/commands/preset/create.d.ts.map +1 -0
  51. package/build/commands/preset/create.js +96 -0
  52. package/build/commands/preset/create.js.map +1 -0
  53. package/build/commands/preset/delete.d.ts +14 -0
  54. package/build/commands/preset/delete.d.ts.map +1 -0
  55. package/build/commands/preset/delete.js +36 -0
  56. package/build/commands/preset/delete.js.map +1 -0
  57. package/build/commands/preset/edit.d.ts +15 -0
  58. package/build/commands/preset/edit.d.ts.map +1 -0
  59. package/build/commands/preset/edit.js +54 -0
  60. package/build/commands/preset/edit.js.map +1 -0
  61. package/build/commands/preset/index.d.ts +6 -0
  62. package/build/commands/preset/index.d.ts.map +1 -0
  63. package/build/commands/preset/index.js +192 -0
  64. package/build/commands/preset/index.js.map +1 -0
  65. package/build/commands/preset/interactive.d.ts +13 -0
  66. package/build/commands/preset/interactive.d.ts.map +1 -0
  67. package/build/commands/preset/interactive.js +131 -0
  68. package/build/commands/preset/interactive.js.map +1 -0
  69. package/build/commands/preset/list.d.ts +12 -0
  70. package/build/commands/preset/list.d.ts.map +1 -0
  71. package/build/commands/preset/list.js +122 -0
  72. package/build/commands/preset/list.js.map +1 -0
  73. package/build/commands/preset/show.d.ts +13 -0
  74. package/build/commands/preset/show.d.ts.map +1 -0
  75. package/build/commands/preset/show.js +104 -0
  76. package/build/commands/preset/show.js.map +1 -0
  77. package/build/commands/preset/test.d.ts +14 -0
  78. package/build/commands/preset/test.d.ts.map +1 -0
  79. package/build/commands/preset/test.js +36 -0
  80. package/build/commands/preset/test.js.map +1 -0
  81. package/build/commands/preset/url.d.ts +14 -0
  82. package/build/commands/preset/url.d.ts.map +1 -0
  83. package/build/commands/preset/url.js +37 -0
  84. package/build/commands/preset/url.js.map +1 -0
  85. package/build/constants.d.ts +6 -1
  86. package/build/constants.d.ts.map +1 -1
  87. package/build/constants.js +13 -5
  88. package/build/constants.js.map +1 -1
  89. package/build/core/server/agentConfig.d.ts +6 -0
  90. package/build/core/server/agentConfig.d.ts.map +1 -1
  91. package/build/core/server/agentConfig.js +9 -1
  92. package/build/core/server/agentConfig.js.map +1 -1
  93. package/build/core/server/serverManager.d.ts.map +1 -1
  94. package/build/core/server/serverManager.js +38 -0
  95. package/build/core/server/serverManager.js.map +1 -1
  96. package/build/core/types/server.d.ts +4 -1
  97. package/build/core/types/server.d.ts.map +1 -1
  98. package/build/core/types/server.js.map +1 -1
  99. package/build/globalOptions.d.ts +46 -0
  100. package/build/globalOptions.d.ts.map +1 -0
  101. package/build/globalOptions.js +37 -0
  102. package/build/globalOptions.js.map +1 -0
  103. package/build/handlers/requestHandlers.d.ts.map +1 -1
  104. package/build/handlers/requestHandlers.js +23 -1
  105. package/build/handlers/requestHandlers.js.map +1 -1
  106. package/build/index.js +92 -47
  107. package/build/index.js.map +1 -1
  108. package/build/server.d.ts.map +1 -1
  109. package/build/server.js +26 -0
  110. package/build/server.js.map +1 -1
  111. package/build/services/tokenEstimationService.d.ts +95 -0
  112. package/build/services/tokenEstimationService.d.ts.map +1 -0
  113. package/build/services/tokenEstimationService.js +233 -0
  114. package/build/services/tokenEstimationService.js.map +1 -0
  115. package/build/transport/http/middlewares/scopeAuthMiddleware.d.ts +10 -1
  116. package/build/transport/http/middlewares/scopeAuthMiddleware.d.ts.map +1 -1
  117. package/build/transport/http/middlewares/scopeAuthMiddleware.js +12 -0
  118. package/build/transport/http/middlewares/scopeAuthMiddleware.js.map +1 -1
  119. package/build/transport/http/middlewares/tagsExtractor.d.ts +7 -3
  120. package/build/transport/http/middlewares/tagsExtractor.d.ts.map +1 -1
  121. package/build/transport/http/middlewares/tagsExtractor.js +128 -6
  122. package/build/transport/http/middlewares/tagsExtractor.js.map +1 -1
  123. package/build/transport/http/routes/sseRoutes.d.ts.map +1 -1
  124. package/build/transport/http/routes/sseRoutes.js +5 -1
  125. package/build/transport/http/routes/sseRoutes.js.map +1 -1
  126. package/build/transport/http/routes/streamableHttpRoutes.d.ts.map +1 -1
  127. package/build/transport/http/routes/streamableHttpRoutes.js +5 -1
  128. package/build/transport/http/routes/streamableHttpRoutes.js.map +1 -1
  129. package/build/utils/interactiveSelector.d.ts +88 -0
  130. package/build/utils/interactiveSelector.d.ts.map +1 -0
  131. package/build/utils/interactiveSelector.js +616 -0
  132. package/build/utils/interactiveSelector.js.map +1 -0
  133. package/build/utils/presetErrorHandler.d.ts +62 -0
  134. package/build/utils/presetErrorHandler.d.ts.map +1 -0
  135. package/build/utils/presetErrorHandler.js +159 -0
  136. package/build/utils/presetErrorHandler.js.map +1 -0
  137. package/build/utils/presetManager.d.ts +114 -0
  138. package/build/utils/presetManager.d.ts.map +1 -0
  139. package/build/utils/presetManager.js +565 -0
  140. package/build/utils/presetManager.js.map +1 -0
  141. package/build/utils/presetNotificationService.d.ts +62 -0
  142. package/build/utils/presetNotificationService.d.ts.map +1 -0
  143. package/build/utils/presetNotificationService.js +214 -0
  144. package/build/utils/presetNotificationService.js.map +1 -0
  145. package/build/utils/presetServerChangeDetector.d.ts +50 -0
  146. package/build/utils/presetServerChangeDetector.d.ts.map +1 -0
  147. package/build/utils/presetServerChangeDetector.js +100 -0
  148. package/build/utils/presetServerChangeDetector.js.map +1 -0
  149. package/build/utils/presetTypes.d.ts +52 -0
  150. package/build/utils/presetTypes.d.ts.map +1 -0
  151. package/build/utils/presetTypes.js +5 -0
  152. package/build/utils/presetTypes.js.map +1 -0
  153. package/build/utils/tagQueryEvaluator.d.ts +68 -0
  154. package/build/utils/tagQueryEvaluator.d.ts.map +1 -0
  155. package/build/utils/tagQueryEvaluator.js +292 -0
  156. package/build/utils/tagQueryEvaluator.js.map +1 -0
  157. package/build/utils/tagQueryParser.d.ts +11 -0
  158. package/build/utils/tagQueryParser.d.ts.map +1 -1
  159. package/build/utils/tagQueryParser.js +46 -0
  160. package/build/utils/tagQueryParser.js.map +1 -1
  161. package/build/utils/urlGenerator.d.ts +68 -0
  162. package/build/utils/urlGenerator.d.ts.map +1 -0
  163. package/build/utils/urlGenerator.js +208 -0
  164. package/build/utils/urlGenerator.js.map +1 -0
  165. package/package.json +8 -2
@@ -0,0 +1,233 @@
1
+ import { encoding_for_model } from 'tiktoken';
2
+ import logger from '../logger/logger.js';
3
+ /**
4
+ * Service for estimating MCP token usage using tiktoken
5
+ */
6
+ export class TokenEstimationService {
7
+ encoder;
8
+ model;
9
+ static BASE_SERVER_OVERHEAD = 75; // Base overhead for server connection
10
+ static FALLBACK_CHARS_PER_TOKEN = 3.5; // Character-based fallback estimation
11
+ constructor(model = 'gpt-4o') {
12
+ try {
13
+ // Validate and cast the model to TiktokenModel
14
+ this.model = model;
15
+ // Initialize encoder for the specified model
16
+ this.encoder = encoding_for_model(this.model);
17
+ logger.debug(`TokenEstimationService initialized with tiktoken ${this.model} encoding`);
18
+ }
19
+ catch (error) {
20
+ logger.error(`Failed to initialize tiktoken encoder for model ${model}:`, error);
21
+ logger.warn(`Falling back to gpt-4o encoding`);
22
+ // Fallback to gpt-4o if the provided model fails
23
+ try {
24
+ this.model = 'gpt-4o';
25
+ this.encoder = encoding_for_model(this.model);
26
+ }
27
+ catch (fallbackError) {
28
+ logger.error('Failed to initialize fallback encoder:', fallbackError);
29
+ this.encoder = null;
30
+ this.model = 'gpt-4o'; // Keep default for logging purposes
31
+ }
32
+ }
33
+ }
34
+ /**
35
+ * Estimate tokens for a single tool definition
36
+ */
37
+ estimateToolTokens(tool) {
38
+ try {
39
+ // Create a representative JSON structure for the tool
40
+ const toolDefinition = {
41
+ name: tool.name,
42
+ description: tool.description,
43
+ inputSchema: tool.inputSchema,
44
+ };
45
+ const toolJson = JSON.stringify(toolDefinition);
46
+ if (this.encoder) {
47
+ const tokens = this.encoder.encode(toolJson);
48
+ return tokens.length;
49
+ }
50
+ else {
51
+ // Fallback to character-based estimation
52
+ return Math.ceil(toolJson.length / TokenEstimationService.FALLBACK_CHARS_PER_TOKEN);
53
+ }
54
+ }
55
+ catch (error) {
56
+ logger.warn(`Error estimating tokens for tool ${tool.name}:`, error);
57
+ // Fallback estimation based on typical tool size
58
+ return 150;
59
+ }
60
+ }
61
+ /**
62
+ * Estimate tokens for a single resource
63
+ */
64
+ estimateResourceTokens(resource) {
65
+ try {
66
+ // Create a representative structure for the resource metadata
67
+ const resourceMeta = {
68
+ uri: resource.uri,
69
+ name: resource.name,
70
+ description: resource.description,
71
+ mimeType: resource.mimeType,
72
+ };
73
+ const resourceJson = JSON.stringify(resourceMeta);
74
+ if (this.encoder) {
75
+ const tokens = this.encoder.encode(resourceJson);
76
+ return tokens.length;
77
+ }
78
+ else {
79
+ // Fallback to character-based estimation
80
+ return Math.ceil(resourceJson.length / TokenEstimationService.FALLBACK_CHARS_PER_TOKEN);
81
+ }
82
+ }
83
+ catch (error) {
84
+ logger.warn(`Error estimating tokens for resource ${resource.uri}:`, error);
85
+ // Fallback estimation based on typical resource size
86
+ return 50;
87
+ }
88
+ }
89
+ /**
90
+ * Estimate tokens for a single prompt template
91
+ */
92
+ estimatePromptTokens(prompt) {
93
+ try {
94
+ // Estimate tokens for the prompt template and arguments
95
+ let totalTokens = 0;
96
+ // Count tokens for prompt name and description
97
+ const promptMeta = {
98
+ name: prompt.name,
99
+ description: prompt.description,
100
+ };
101
+ const promptMetaJson = JSON.stringify(promptMeta);
102
+ if (this.encoder) {
103
+ totalTokens += this.encoder.encode(promptMetaJson).length;
104
+ }
105
+ else {
106
+ totalTokens += Math.ceil(promptMetaJson.length / TokenEstimationService.FALLBACK_CHARS_PER_TOKEN);
107
+ }
108
+ // Count tokens for arguments
109
+ if (prompt.arguments) {
110
+ const argumentsJson = JSON.stringify(prompt.arguments);
111
+ if (this.encoder) {
112
+ totalTokens += this.encoder.encode(argumentsJson).length;
113
+ }
114
+ else {
115
+ totalTokens += Math.ceil(argumentsJson.length / TokenEstimationService.FALLBACK_CHARS_PER_TOKEN);
116
+ }
117
+ }
118
+ return totalTokens;
119
+ }
120
+ catch (error) {
121
+ logger.warn(`Error estimating tokens for prompt ${prompt.name}:`, error);
122
+ // Fallback estimation based on typical prompt size
123
+ return 100;
124
+ }
125
+ }
126
+ /**
127
+ * Estimate tokens for all capabilities of a server
128
+ */
129
+ estimateServerTokens(serverName, tools = [], resources = [], prompts = [], connected = true) {
130
+ try {
131
+ logger.debug(`Estimating tokens for server: ${serverName}`);
132
+ // Calculate token breakdown by capability type
133
+ const toolTokens = tools.map((tool) => ({
134
+ name: tool.name,
135
+ description: tool.description,
136
+ tokens: this.estimateToolTokens(tool),
137
+ }));
138
+ const resourceTokens = resources.map((resource) => ({
139
+ uri: resource.uri,
140
+ name: resource.name,
141
+ mimeType: resource.mimeType,
142
+ tokens: this.estimateResourceTokens(resource),
143
+ }));
144
+ const promptTokens = prompts.map((prompt) => ({
145
+ name: prompt.name,
146
+ description: prompt.description,
147
+ tokens: this.estimatePromptTokens(prompt),
148
+ argumentsTokens: prompt.arguments ? this.estimateArgumentsTokens(prompt.arguments) : 0,
149
+ }));
150
+ // Calculate totals
151
+ const totalToolTokens = toolTokens.reduce((sum, tool) => sum + tool.tokens, 0);
152
+ const totalResourceTokens = resourceTokens.reduce((sum, resource) => sum + resource.tokens, 0);
153
+ const totalPromptTokens = promptTokens.reduce((sum, prompt) => sum + prompt.tokens, 0);
154
+ const serverOverhead = TokenEstimationService.BASE_SERVER_OVERHEAD;
155
+ const breakdown = {
156
+ tools: toolTokens,
157
+ resources: resourceTokens,
158
+ prompts: promptTokens,
159
+ serverOverhead,
160
+ totalTokens: totalToolTokens + totalResourceTokens + totalPromptTokens + serverOverhead,
161
+ };
162
+ return {
163
+ serverName,
164
+ connected,
165
+ breakdown,
166
+ };
167
+ }
168
+ catch (error) {
169
+ logger.error(`Error estimating tokens for server ${serverName}:`, error);
170
+ return {
171
+ serverName,
172
+ connected,
173
+ breakdown: {
174
+ tools: [],
175
+ resources: [],
176
+ prompts: [],
177
+ serverOverhead: TokenEstimationService.BASE_SERVER_OVERHEAD,
178
+ totalTokens: TokenEstimationService.BASE_SERVER_OVERHEAD,
179
+ },
180
+ error: error instanceof Error ? error.message : 'Unknown error',
181
+ };
182
+ }
183
+ }
184
+ /**
185
+ * Estimate tokens for prompt arguments
186
+ */
187
+ estimateArgumentsTokens(arguments_) {
188
+ try {
189
+ const argumentsJson = JSON.stringify(arguments_);
190
+ if (this.encoder) {
191
+ const tokens = this.encoder.encode(argumentsJson);
192
+ return tokens.length;
193
+ }
194
+ else {
195
+ return Math.ceil(argumentsJson.length / TokenEstimationService.FALLBACK_CHARS_PER_TOKEN);
196
+ }
197
+ }
198
+ catch (error) {
199
+ logger.warn('Error estimating tokens for prompt arguments:', error);
200
+ return 25; // Conservative fallback
201
+ }
202
+ }
203
+ /**
204
+ * Calculate aggregate statistics across multiple servers
205
+ */
206
+ calculateAggregateStats(estimates) {
207
+ const connectedEstimates = estimates.filter((est) => est.connected && !est.error);
208
+ return {
209
+ totalServers: estimates.length,
210
+ connectedServers: connectedEstimates.length,
211
+ totalTools: connectedEstimates.reduce((sum, est) => sum + est.breakdown.tools.length, 0),
212
+ totalResources: connectedEstimates.reduce((sum, est) => sum + est.breakdown.resources.length, 0),
213
+ totalPrompts: connectedEstimates.reduce((sum, est) => sum + est.breakdown.prompts.length, 0),
214
+ overallTokens: connectedEstimates.reduce((sum, est) => sum + est.breakdown.totalTokens, 0),
215
+ serverBreakdown: Object.fromEntries(connectedEstimates.map((est) => [est.serverName, est.breakdown.totalTokens])),
216
+ };
217
+ }
218
+ /**
219
+ * Clean up resources when done
220
+ */
221
+ dispose() {
222
+ if (this.encoder && typeof this.encoder.free === 'function') {
223
+ try {
224
+ this.encoder.free();
225
+ logger.debug('TokenEstimationService encoder disposed');
226
+ }
227
+ catch (error) {
228
+ logger.warn('Error disposing tiktoken encoder:', error);
229
+ }
230
+ }
231
+ }
232
+ }
233
+ //# sourceMappingURL=tokenEstimationService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenEstimationService.js","sourceRoot":"","sources":["../../src/services/tokenEstimationService.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { Request, Response, NextFunction } from 'express';
2
2
  import { SDKOAuthServerProvider } from '../../../auth/sdkOAuthServerProvider.js';
3
3
  import { TagExpression } from '../../../utils/tagQueryParser.js';
4
+ import { TagQuery } from '../../../utils/presetTypes.js';
4
5
  /**
5
6
  * Authentication information structure
6
7
  */
@@ -38,7 +39,15 @@ export declare function getTagExpression(res: Response): TagExpression | undefin
38
39
  /**
39
40
  * Utility function to get tag filter mode from response locals
40
41
  */
41
- export declare function getTagFilterMode(res: Response): 'simple-or' | 'advanced' | 'none';
42
+ export declare function getTagFilterMode(res: Response): 'simple-or' | 'advanced' | 'preset' | 'none';
43
+ /**
44
+ * Utility function to get tag query from response locals
45
+ */
46
+ export declare function getTagQuery(res: Response): TagQuery | undefined;
47
+ /**
48
+ * Utility function to get preset name from response locals
49
+ */
50
+ export declare function getPresetName(res: Response): string | undefined;
42
51
  /**
43
52
  * Utility function to get authentication information from response locals
44
53
  */
@@ -1 +1 @@
1
- {"version":3,"file":"scopeAuthMiddleware.d.ts","sourceRoot":"","sources":["../../../../src/transport/http/middlewares/scopeAuthMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAI1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CAAC,aAAa,CAAC,EAAE,sBAAsB,UAK9D,OAAO,OAAO,QAAQ,QAAQ,YAAY,KAAG,IAAI,CAqGlE;AA8BD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,EAAE,CAWxD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,GAAG,aAAa,GAAG,SAAS,CAEzE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,CAEjF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAM/D;+BA7KiB,OAAO,OAAO,QAAQ,QAAQ,YAAY,KAAG,IAAI;AAgLnE,wBAA2C"}
1
+ {"version":3,"file":"scopeAuthMiddleware.d.ts","sourceRoot":"","sources":["../../../../src/transport/http/middlewares/scopeAuthMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAI1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CAAC,aAAa,CAAC,EAAE,sBAAsB,UAK9D,OAAO,OAAO,QAAQ,QAAQ,YAAY,KAAG,IAAI,CAqGlE;AA8BD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,EAAE,CAWxD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,GAAG,aAAa,GAAG,SAAS,CAEzE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,CAE5F;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAE/D;AACD;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAE/D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAM/D;+BA1LiB,OAAO,OAAO,QAAQ,QAAQ,YAAY,KAAG,IAAI;AA6LnE,wBAA2C"}
@@ -165,6 +165,18 @@ export function getTagExpression(res) {
165
165
  export function getTagFilterMode(res) {
166
166
  return res?.locals?.tagFilterMode || 'none';
167
167
  }
168
+ /**
169
+ * Utility function to get tag query from response locals
170
+ */
171
+ export function getTagQuery(res) {
172
+ return res?.locals?.tagQuery;
173
+ }
174
+ /**
175
+ * Utility function to get preset name from response locals
176
+ */
177
+ export function getPresetName(res) {
178
+ return res?.locals?.presetName;
179
+ }
168
180
  /**
169
181
  * Utility function to get authentication information from response locals
170
182
  */
@@ -1 +1 @@
1
- {"version":3,"file":"scopeAuthMiddleware.js","sourceRoot":"","sources":["../../../../src/transport/http/middlewares/scopeAuthMiddleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scopeAuthMiddleware.js","sourceRoot":"","sources":["../../../../src/transport/http/middlewares/scopeAuthMiddleware.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,17 @@
1
1
  import { Request, Response, NextFunction } from 'express';
2
2
  /**
3
3
  * Middleware to extract and validate tag filters from query parameters.
4
- * Supports both simple 'tags' parameter (OR logic, backward compatible)
5
- * and advanced 'tag-filter' parameter (boolean expressions).
4
+ * Supports:
5
+ * - 'preset' parameter (dynamic preset-based filtering)
6
+ * - 'tag-filter' parameter (advanced boolean expressions)
7
+ * - 'tags' parameter (simple OR logic, deprecated)
6
8
  *
7
9
  * Attaches to res.locals:
8
10
  * - tags: string[] | undefined (for backward compatibility)
9
11
  * - tagExpression: TagExpression | undefined (for advanced filtering)
10
- * - tagFilterMode: 'simple-or' | 'advanced' | 'none'
12
+ * - tagQuery: TagQuery | undefined (for MongoDB-style preset queries)
13
+ * - tagFilterMode: 'preset' | 'advanced' | 'simple-or' | 'none'
14
+ * - presetName: string | undefined (for preset tracking)
11
15
  */
12
16
  export default function tagsExtractor(req: Request, res: Response, next: NextFunction): void;
13
17
  //# sourceMappingURL=tagsExtractor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tagsExtractor.d.ts","sourceRoot":"","sources":["../../../../src/transport/http/middlewares/tagsExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAM1D;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,QA0HpF"}
1
+ {"version":3,"file":"tagsExtractor.d.ts","sourceRoot":"","sources":["../../../../src/transport/http/middlewares/tagsExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAwD1D;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,QA4MpF"}
@@ -1,30 +1,152 @@
1
1
  import { ErrorCode } from '@modelcontextprotocol/sdk/types.js';
2
2
  import { TagQueryParser } from '../../../utils/tagQueryParser.js';
3
3
  import { validateAndSanitizeTags } from '../../../utils/sanitization.js';
4
+ import { PresetManager } from '../../../utils/presetManager.js';
4
5
  import logger from '../../../logger/logger.js';
6
+ /**
7
+ * Extract simple tags from a MongoDB-style query for backward compatibility
8
+ */
9
+ function extractTagsFromQuery(query) {
10
+ if (!query || typeof query !== 'object') {
11
+ return [];
12
+ }
13
+ const tags = [];
14
+ function extractFromQuery(q) {
15
+ if (!q || typeof q !== 'object') {
16
+ return;
17
+ }
18
+ // Simple tag match
19
+ if (q.tag) {
20
+ tags.push(q.tag);
21
+ return;
22
+ }
23
+ // $or with tag matches - only extract simple direct tags
24
+ if (q.$or && Array.isArray(q.$or)) {
25
+ for (const subQuery of q.$or) {
26
+ if (subQuery.tag) {
27
+ tags.push(subQuery.tag);
28
+ }
29
+ // Don't recurse into nested queries for simplicity
30
+ }
31
+ return;
32
+ }
33
+ // $and with tag matches - only extract simple direct tags
34
+ if (q.$and && Array.isArray(q.$and)) {
35
+ for (const subQuery of q.$and) {
36
+ if (subQuery.tag) {
37
+ tags.push(subQuery.tag);
38
+ }
39
+ // Don't recurse into nested queries for simplicity
40
+ }
41
+ return;
42
+ }
43
+ }
44
+ extractFromQuery(query);
45
+ return tags;
46
+ }
5
47
  /**
6
48
  * Middleware to extract and validate tag filters from query parameters.
7
- * Supports both simple 'tags' parameter (OR logic, backward compatible)
8
- * and advanced 'tag-filter' parameter (boolean expressions).
49
+ * Supports:
50
+ * - 'preset' parameter (dynamic preset-based filtering)
51
+ * - 'tag-filter' parameter (advanced boolean expressions)
52
+ * - 'tags' parameter (simple OR logic, deprecated)
9
53
  *
10
54
  * Attaches to res.locals:
11
55
  * - tags: string[] | undefined (for backward compatibility)
12
56
  * - tagExpression: TagExpression | undefined (for advanced filtering)
13
- * - tagFilterMode: 'simple-or' | 'advanced' | 'none'
57
+ * - tagQuery: TagQuery | undefined (for MongoDB-style preset queries)
58
+ * - tagFilterMode: 'preset' | 'advanced' | 'simple-or' | 'none'
59
+ * - presetName: string | undefined (for preset tracking)
14
60
  */
15
61
  export default function tagsExtractor(req, res, next) {
62
+ const hasPreset = req.query.preset !== undefined;
16
63
  const hasTags = req.query.tags !== undefined;
17
64
  const hasTagFilter = req.query['tag-filter'] !== undefined;
18
- // Mutual exclusion check
19
- if (hasTags && hasTagFilter) {
65
+ // Mutual exclusion check - preset takes priority
66
+ const paramCount = [hasPreset, hasTags, hasTagFilter].filter(Boolean).length;
67
+ if (paramCount > 1) {
20
68
  res.status(400).json({
21
69
  error: {
22
70
  code: ErrorCode.InvalidParams,
23
- message: 'Cannot use both "tags" and "tag-filter" parameters. Use "tags" for simple OR filtering, or "tag-filter" for advanced expressions.',
71
+ message: 'Cannot use multiple filtering parameters simultaneously. Use "preset" for dynamic presets, "tag-filter" for advanced expressions, or "tags" for simple OR filtering.',
24
72
  },
25
73
  });
26
74
  return;
27
75
  }
76
+ // Handle preset parameter (highest priority)
77
+ if (hasPreset) {
78
+ const presetName = req.query.preset;
79
+ if (typeof presetName !== 'string') {
80
+ res.status(400).json({
81
+ error: {
82
+ code: ErrorCode.InvalidParams,
83
+ message: 'Invalid params: preset must be a string',
84
+ },
85
+ });
86
+ return;
87
+ }
88
+ try {
89
+ const presetManager = PresetManager.getInstance();
90
+ const tagExpression = presetManager.resolvePresetToExpression(presetName);
91
+ if (!tagExpression) {
92
+ res.status(400).json({
93
+ error: {
94
+ code: ErrorCode.InvalidParams,
95
+ message: `Preset '${presetName}' not found`,
96
+ examples: ['preset=development', 'preset=production', 'preset=staging'],
97
+ },
98
+ });
99
+ return;
100
+ }
101
+ // Use the preset's JSON tagQuery directly instead of parsing string expression
102
+ const preset = presetManager.getPreset(presetName);
103
+ if (!preset) {
104
+ res.status(400).json({
105
+ error: {
106
+ code: ErrorCode.InvalidParams,
107
+ message: `Preset '${presetName}' configuration invalid`,
108
+ },
109
+ });
110
+ return;
111
+ }
112
+ try {
113
+ // Store the MongoDB-style JSON query directly for evaluation
114
+ res.locals.tagQuery = preset.tagQuery;
115
+ res.locals.tagFilterMode = 'preset';
116
+ res.locals.presetName = presetName;
117
+ // For backward compatibility, extract simple tags if possible
118
+ const extractedTags = extractTagsFromQuery(preset.tagQuery);
119
+ res.locals.tags = extractedTags.length > 0 ? extractedTags : [];
120
+ logger.debug('Preset parameter processed', {
121
+ presetName,
122
+ strategy: preset.strategy,
123
+ tagQuery: preset.tagQuery,
124
+ });
125
+ next();
126
+ return;
127
+ }
128
+ catch (error) {
129
+ logger.error('Failed to process preset tag query', { presetName, tagQuery: preset.tagQuery, error });
130
+ res.status(400).json({
131
+ error: {
132
+ code: ErrorCode.InvalidParams,
133
+ message: `Preset '${presetName}' has invalid tag query`,
134
+ },
135
+ });
136
+ return;
137
+ }
138
+ }
139
+ catch (error) {
140
+ logger.error('Preset resolution failed', { presetName, error });
141
+ res.status(500).json({
142
+ error: {
143
+ code: ErrorCode.InternalError,
144
+ message: 'Failed to resolve preset configuration',
145
+ },
146
+ });
147
+ return;
148
+ }
149
+ }
28
150
  // Handle legacy tags parameter (OR logic)
29
151
  if (hasTags) {
30
152
  const tagsStr = req.query.tags;
@@ -1 +1 @@
1
- {"version":3,"file":"tagsExtractor.js","sourceRoot":"","sources":["../../../../src/transport/http/middlewares/tagsExtractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tagsExtractor.js","sourceRoot":"","sources":["../../../../src/transport/http/middlewares/tagsExtractor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sseRoutes.d.ts","sourceRoot":"","sources":["../../../../src/transport/http/routes/sseRoutes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAqB,MAAM,SAAS,CAAC;AAKpD,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wDAAwD,CAAC;AAIlG,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,GAAG,EACnB,sBAAsB,CAAC,EAAE,GAAG,EAC5B,iBAAiB,CAAC,EAAE,wBAAwB,GAC3C,IAAI,CAyFN"}
1
+ {"version":3,"file":"sseRoutes.d.ts","sourceRoot":"","sources":["../../../../src/transport/http/routes/sseRoutes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAqB,MAAM,SAAS,CAAC;AAKpD,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wDAAwD,CAAC;AAUlG,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,GAAG,EACnB,sBAAsB,CAAC,EAAE,GAAG,EAC5B,iBAAiB,CAAC,EAAE,wBAAwB,GAC3C,IAAI,CA6FN"}
@@ -4,7 +4,7 @@ import logger from '../../../logger/logger.js';
4
4
  import { SSE_ENDPOINT, MESSAGES_ENDPOINT } from '../../../constants.js';
5
5
  import { ServerStatus } from '../../../core/types/index.js';
6
6
  import tagsExtractor from '../middlewares/tagsExtractor.js';
7
- import { getValidatedTags, getTagExpression, getTagFilterMode } from '../middlewares/scopeAuthMiddleware.js';
7
+ import { getValidatedTags, getTagExpression, getTagFilterMode, getTagQuery, getPresetName, } from '../middlewares/scopeAuthMiddleware.js';
8
8
  export function setupSseRoutes(router, serverManager, authMiddleware, availabilityMiddleware, asyncOrchestrator) {
9
9
  const middlewares = [tagsExtractor, authMiddleware];
10
10
  // Add availability middleware if provided
@@ -18,11 +18,15 @@ export function setupSseRoutes(router, serverManager, authMiddleware, availabili
18
18
  const tags = getValidatedTags(res);
19
19
  const tagExpression = getTagExpression(res);
20
20
  const tagFilterMode = getTagFilterMode(res);
21
+ const tagQuery = getTagQuery(res);
22
+ const presetName = getPresetName(res);
21
23
  // Connect the transport using the server manager
22
24
  await serverManager.connectTransport(transport, transport.sessionId, {
23
25
  tags,
24
26
  tagExpression,
25
27
  tagFilterMode,
28
+ tagQuery,
29
+ presetName,
26
30
  enablePagination: req.query.pagination === 'true',
27
31
  });
28
32
  // Initialize notifications for async loading if enabled
@@ -1 +1 @@
1
- {"version":3,"file":"sseRoutes.js","sourceRoot":"","sources":["../../../../src/transport/http/routes/sseRoutes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sseRoutes.js","sourceRoot":"","sources":["../../../../src/transport/http/routes/sseRoutes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"streamableHttpRoutes.d.ts","sourceRoot":"","sources":["../../../../src/transport/http/routes/streamableHttpRoutes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAqB,MAAM,SAAS,CAAC;AAMpD,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wDAAwD,CAAC;AAIlG,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,GAAG,EACnB,sBAAsB,CAAC,EAAE,GAAG,EAC5B,iBAAiB,CAAC,EAAE,wBAAwB,GAC3C,IAAI,CA+IN"}
1
+ {"version":3,"file":"streamableHttpRoutes.d.ts","sourceRoot":"","sources":["../../../../src/transport/http/routes/streamableHttpRoutes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAqB,MAAM,SAAS,CAAC;AAMpD,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wDAAwD,CAAC;AAUlG,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,GAAG,EACnB,sBAAsB,CAAC,EAAE,GAAG,EAC5B,iBAAiB,CAAC,EAAE,wBAAwB,GAC3C,IAAI,CAmJN"}
@@ -5,7 +5,7 @@ import logger from '../../../logger/logger.js';
5
5
  import { STREAMABLE_HTTP_ENDPOINT } from '../../../constants.js';
6
6
  import { ServerStatus } from '../../../core/types/index.js';
7
7
  import tagsExtractor from '../middlewares/tagsExtractor.js';
8
- import { getValidatedTags, getTagExpression, getTagFilterMode } from '../middlewares/scopeAuthMiddleware.js';
8
+ import { getValidatedTags, getTagExpression, getTagFilterMode, getTagQuery, getPresetName, } from '../middlewares/scopeAuthMiddleware.js';
9
9
  export function setupStreamableHttpRoutes(router, serverManager, authMiddleware, availabilityMiddleware, asyncOrchestrator) {
10
10
  const middlewares = [tagsExtractor, authMiddleware];
11
11
  // Add availability middleware if provided
@@ -25,10 +25,14 @@ export function setupStreamableHttpRoutes(router, serverManager, authMiddleware,
25
25
  const tags = getValidatedTags(res);
26
26
  const tagExpression = getTagExpression(res);
27
27
  const tagFilterMode = getTagFilterMode(res);
28
+ const tagQuery = getTagQuery(res);
29
+ const presetName = getPresetName(res);
28
30
  await serverManager.connectTransport(transport, id, {
29
31
  tags,
30
32
  tagExpression,
31
33
  tagFilterMode,
34
+ tagQuery,
35
+ presetName,
32
36
  enablePagination: req.query.pagination === 'true',
33
37
  });
34
38
  // Initialize notifications for async loading if enabled