@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.
- package/README.md +2 -1
- package/build/commands/app/backups.d.ts +2 -1
- package/build/commands/app/backups.d.ts.map +1 -1
- package/build/commands/app/backups.js.map +1 -1
- package/build/commands/app/consolidate.d.ts +2 -1
- package/build/commands/app/consolidate.d.ts.map +1 -1
- package/build/commands/app/consolidate.js.map +1 -1
- package/build/commands/app/discover.d.ts +2 -1
- package/build/commands/app/discover.d.ts.map +1 -1
- package/build/commands/app/discover.js.map +1 -1
- package/build/commands/app/index.d.ts.map +1 -1
- package/build/commands/app/index.js +4 -2
- package/build/commands/app/index.js.map +1 -1
- package/build/commands/app/list.d.ts +2 -1
- package/build/commands/app/list.d.ts.map +1 -1
- package/build/commands/app/list.js.map +1 -1
- package/build/commands/app/restore.d.ts +2 -1
- package/build/commands/app/restore.d.ts.map +1 -1
- package/build/commands/app/restore.js.map +1 -1
- package/build/commands/app/status.d.ts +2 -1
- package/build/commands/app/status.d.ts.map +1 -1
- package/build/commands/app/status.js.map +1 -1
- package/build/commands/mcp/add.d.ts +2 -2
- package/build/commands/mcp/add.d.ts.map +1 -1
- package/build/commands/mcp/enable.d.ts +2 -2
- package/build/commands/mcp/enable.d.ts.map +1 -1
- package/build/commands/mcp/enable.js.map +1 -1
- package/build/commands/mcp/index.d.ts.map +1 -1
- package/build/commands/mcp/index.js +42 -35
- package/build/commands/mcp/index.js.map +1 -1
- package/build/commands/mcp/list.d.ts +2 -2
- package/build/commands/mcp/list.d.ts.map +1 -1
- package/build/commands/mcp/list.js.map +1 -1
- package/build/commands/mcp/remove.d.ts +2 -2
- package/build/commands/mcp/remove.d.ts.map +1 -1
- package/build/commands/mcp/status.d.ts +2 -2
- package/build/commands/mcp/status.d.ts.map +1 -1
- package/build/commands/mcp/status.js.map +1 -1
- package/build/commands/mcp/tokens.d.ts +13 -0
- package/build/commands/mcp/tokens.d.ts.map +1 -0
- package/build/commands/mcp/tokens.js +273 -0
- package/build/commands/mcp/tokens.js.map +1 -0
- package/build/commands/mcp/update.d.ts +2 -2
- package/build/commands/mcp/update.d.ts.map +1 -1
- package/build/commands/mcp/utils/connectionHelper.d.ts +29 -0
- package/build/commands/mcp/utils/connectionHelper.d.ts.map +1 -0
- package/build/commands/mcp/utils/connectionHelper.js +162 -0
- package/build/commands/mcp/utils/connectionHelper.js.map +1 -0
- package/build/commands/preset/create.d.ts +16 -0
- package/build/commands/preset/create.d.ts.map +1 -0
- package/build/commands/preset/create.js +96 -0
- package/build/commands/preset/create.js.map +1 -0
- package/build/commands/preset/delete.d.ts +14 -0
- package/build/commands/preset/delete.d.ts.map +1 -0
- package/build/commands/preset/delete.js +36 -0
- package/build/commands/preset/delete.js.map +1 -0
- package/build/commands/preset/edit.d.ts +15 -0
- package/build/commands/preset/edit.d.ts.map +1 -0
- package/build/commands/preset/edit.js +54 -0
- package/build/commands/preset/edit.js.map +1 -0
- package/build/commands/preset/index.d.ts +6 -0
- package/build/commands/preset/index.d.ts.map +1 -0
- package/build/commands/preset/index.js +192 -0
- package/build/commands/preset/index.js.map +1 -0
- package/build/commands/preset/interactive.d.ts +13 -0
- package/build/commands/preset/interactive.d.ts.map +1 -0
- package/build/commands/preset/interactive.js +131 -0
- package/build/commands/preset/interactive.js.map +1 -0
- package/build/commands/preset/list.d.ts +12 -0
- package/build/commands/preset/list.d.ts.map +1 -0
- package/build/commands/preset/list.js +122 -0
- package/build/commands/preset/list.js.map +1 -0
- package/build/commands/preset/show.d.ts +13 -0
- package/build/commands/preset/show.d.ts.map +1 -0
- package/build/commands/preset/show.js +104 -0
- package/build/commands/preset/show.js.map +1 -0
- package/build/commands/preset/test.d.ts +14 -0
- package/build/commands/preset/test.d.ts.map +1 -0
- package/build/commands/preset/test.js +36 -0
- package/build/commands/preset/test.js.map +1 -0
- package/build/commands/preset/url.d.ts +14 -0
- package/build/commands/preset/url.d.ts.map +1 -0
- package/build/commands/preset/url.js +37 -0
- package/build/commands/preset/url.js.map +1 -0
- package/build/constants.d.ts +6 -1
- package/build/constants.d.ts.map +1 -1
- package/build/constants.js +13 -5
- package/build/constants.js.map +1 -1
- package/build/core/server/agentConfig.d.ts +6 -0
- package/build/core/server/agentConfig.d.ts.map +1 -1
- package/build/core/server/agentConfig.js +9 -1
- package/build/core/server/agentConfig.js.map +1 -1
- package/build/core/server/serverManager.d.ts.map +1 -1
- package/build/core/server/serverManager.js +38 -0
- package/build/core/server/serverManager.js.map +1 -1
- package/build/core/types/server.d.ts +4 -1
- package/build/core/types/server.d.ts.map +1 -1
- package/build/core/types/server.js.map +1 -1
- package/build/globalOptions.d.ts +46 -0
- package/build/globalOptions.d.ts.map +1 -0
- package/build/globalOptions.js +37 -0
- package/build/globalOptions.js.map +1 -0
- package/build/handlers/requestHandlers.d.ts.map +1 -1
- package/build/handlers/requestHandlers.js +23 -1
- package/build/handlers/requestHandlers.js.map +1 -1
- package/build/index.js +92 -47
- package/build/index.js.map +1 -1
- package/build/server.d.ts.map +1 -1
- package/build/server.js +26 -0
- package/build/server.js.map +1 -1
- package/build/services/tokenEstimationService.d.ts +95 -0
- package/build/services/tokenEstimationService.d.ts.map +1 -0
- package/build/services/tokenEstimationService.js +233 -0
- package/build/services/tokenEstimationService.js.map +1 -0
- package/build/transport/http/middlewares/scopeAuthMiddleware.d.ts +10 -1
- package/build/transport/http/middlewares/scopeAuthMiddleware.d.ts.map +1 -1
- package/build/transport/http/middlewares/scopeAuthMiddleware.js +12 -0
- package/build/transport/http/middlewares/scopeAuthMiddleware.js.map +1 -1
- package/build/transport/http/middlewares/tagsExtractor.d.ts +7 -3
- package/build/transport/http/middlewares/tagsExtractor.d.ts.map +1 -1
- package/build/transport/http/middlewares/tagsExtractor.js +128 -6
- package/build/transport/http/middlewares/tagsExtractor.js.map +1 -1
- package/build/transport/http/routes/sseRoutes.d.ts.map +1 -1
- package/build/transport/http/routes/sseRoutes.js +5 -1
- package/build/transport/http/routes/sseRoutes.js.map +1 -1
- package/build/transport/http/routes/streamableHttpRoutes.d.ts.map +1 -1
- package/build/transport/http/routes/streamableHttpRoutes.js +5 -1
- package/build/transport/http/routes/streamableHttpRoutes.js.map +1 -1
- package/build/utils/interactiveSelector.d.ts +88 -0
- package/build/utils/interactiveSelector.d.ts.map +1 -0
- package/build/utils/interactiveSelector.js +616 -0
- package/build/utils/interactiveSelector.js.map +1 -0
- package/build/utils/presetErrorHandler.d.ts +62 -0
- package/build/utils/presetErrorHandler.d.ts.map +1 -0
- package/build/utils/presetErrorHandler.js +159 -0
- package/build/utils/presetErrorHandler.js.map +1 -0
- package/build/utils/presetManager.d.ts +114 -0
- package/build/utils/presetManager.d.ts.map +1 -0
- package/build/utils/presetManager.js +565 -0
- package/build/utils/presetManager.js.map +1 -0
- package/build/utils/presetNotificationService.d.ts +62 -0
- package/build/utils/presetNotificationService.d.ts.map +1 -0
- package/build/utils/presetNotificationService.js +214 -0
- package/build/utils/presetNotificationService.js.map +1 -0
- package/build/utils/presetServerChangeDetector.d.ts +50 -0
- package/build/utils/presetServerChangeDetector.d.ts.map +1 -0
- package/build/utils/presetServerChangeDetector.js +100 -0
- package/build/utils/presetServerChangeDetector.js.map +1 -0
- package/build/utils/presetTypes.d.ts +52 -0
- package/build/utils/presetTypes.d.ts.map +1 -0
- package/build/utils/presetTypes.js +5 -0
- package/build/utils/presetTypes.js.map +1 -0
- package/build/utils/tagQueryEvaluator.d.ts +68 -0
- package/build/utils/tagQueryEvaluator.d.ts.map +1 -0
- package/build/utils/tagQueryEvaluator.js +292 -0
- package/build/utils/tagQueryEvaluator.js.map +1 -0
- package/build/utils/tagQueryParser.d.ts +11 -0
- package/build/utils/tagQueryParser.d.ts.map +1 -1
- package/build/utils/tagQueryParser.js +46 -0
- package/build/utils/tagQueryParser.js.map +1 -1
- package/build/utils/urlGenerator.d.ts +68 -0
- package/build/utils/urlGenerator.d.ts.map +1 -0
- package/build/utils/urlGenerator.js +208 -0
- package/build/utils/urlGenerator.js.map +1 -0
- 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;
|
|
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":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gEAAgE,CAAC;AACnG,OAAO,MAAM,MAAM,2BAA2B,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;
|
|
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
|
|
5
|
-
*
|
|
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
|
-
* -
|
|
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;
|
|
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
|
|
8
|
-
*
|
|
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
|
-
* -
|
|
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
|
-
|
|
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
|
|
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":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,MAAM,MAAM,2BAA2B,CAAC;AAE/C
|
|
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;
|
|
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":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,MAAM,MAAM,2BAA2B,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAExE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,OAAO,aAAa,MAAM,iCAAiC,CAAC;AAC5D,OAAO,
|
|
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;
|
|
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
|