@1mcp/agent 0.19.0 → 0.20.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 (48) hide show
  1. package/README.md +63 -27
  2. package/build/commands/mcp/list.d.ts +1 -0
  3. package/build/commands/mcp/list.d.ts.map +1 -1
  4. package/build/commands/mcp/list.js +14 -8
  5. package/build/commands/mcp/list.js.map +1 -1
  6. package/build/constants.d.ts +1 -1
  7. package/build/constants.js +1 -1
  8. package/build/core/types/server.d.ts +3 -0
  9. package/build/core/types/server.d.ts.map +1 -1
  10. package/build/core/types/server.js.map +1 -1
  11. package/build/handlers/requestHandlers.d.ts.map +1 -1
  12. package/build/handlers/requestHandlers.js +20 -5
  13. package/build/handlers/requestHandlers.js.map +1 -1
  14. package/build/index.js +39 -5
  15. package/build/index.js.map +1 -1
  16. package/build/transport/http/middlewares/scopeAuthMiddleware.d.ts +9 -0
  17. package/build/transport/http/middlewares/scopeAuthMiddleware.d.ts.map +1 -1
  18. package/build/transport/http/middlewares/scopeAuthMiddleware.js +55 -6
  19. package/build/transport/http/middlewares/scopeAuthMiddleware.js.map +1 -1
  20. package/build/transport/http/middlewares/tagsExtractor.d.ts +8 -2
  21. package/build/transport/http/middlewares/tagsExtractor.d.ts.map +1 -1
  22. package/build/transport/http/middlewares/tagsExtractor.js +109 -7
  23. package/build/transport/http/middlewares/tagsExtractor.js.map +1 -1
  24. package/build/transport/http/routes/oauthRoutes.d.ts +2 -1
  25. package/build/transport/http/routes/oauthRoutes.d.ts.map +1 -1
  26. package/build/transport/http/routes/oauthRoutes.js +13 -1
  27. package/build/transport/http/routes/oauthRoutes.js.map +1 -1
  28. package/build/transport/http/routes/sseRoutes.d.ts.map +1 -1
  29. package/build/transport/http/routes/sseRoutes.js +6 -2
  30. package/build/transport/http/routes/sseRoutes.js.map +1 -1
  31. package/build/transport/http/routes/streamableHttpRoutes.d.ts.map +1 -1
  32. package/build/transport/http/routes/streamableHttpRoutes.js +6 -2
  33. package/build/transport/http/routes/streamableHttpRoutes.js.map +1 -1
  34. package/build/transport/http/server.js +1 -1
  35. package/build/transport/http/server.js.map +1 -1
  36. package/build/utils/clientFiltering.d.ts +8 -1
  37. package/build/utils/clientFiltering.d.ts.map +1 -1
  38. package/build/utils/clientFiltering.js +38 -3
  39. package/build/utils/clientFiltering.js.map +1 -1
  40. package/build/utils/sanitization.d.ts +63 -0
  41. package/build/utils/sanitization.d.ts.map +1 -1
  42. package/build/utils/sanitization.js +308 -0
  43. package/build/utils/sanitization.js.map +1 -1
  44. package/build/utils/tagQueryParser.d.ts +76 -0
  45. package/build/utils/tagQueryParser.d.ts.map +1 -0
  46. package/build/utils/tagQueryParser.js +336 -0
  47. package/build/utils/tagQueryParser.js.map +1 -0
  48. package/package.json +1 -1
@@ -0,0 +1,336 @@
1
+ /**
2
+ * Advanced tag query parser supporting boolean expressions
3
+ * Supports multiple syntax variants: compact, natural language, and symbols
4
+ */
5
+ /**
6
+ * Advanced tag query parser with support for boolean expressions
7
+ */
8
+ export class TagQueryParser {
9
+ /**
10
+ * Parse simple comma-separated tags (backward compatible)
11
+ * Always uses OR logic for compatibility
12
+ */
13
+ static parseSimple(tags) {
14
+ if (!tags || typeof tags !== 'string') {
15
+ return [];
16
+ }
17
+ const rawTags = tags
18
+ .split(',')
19
+ .map((t) => t.trim())
20
+ .filter((t) => t.length > 0);
21
+ if (rawTags.length === 0) {
22
+ return [];
23
+ }
24
+ // For now, return basic parsing to avoid circular dependencies
25
+ // Advanced validation will be handled at the middleware level
26
+ return rawTags;
27
+ }
28
+ /**
29
+ * Parse advanced query expressions
30
+ * Supports multiple syntax variants:
31
+ * - Compact: web+api-test, (web,api)+prod
32
+ * - Natural: web and api and not test
33
+ * - Symbols: web && api && !test
34
+ */
35
+ static parseAdvanced(query) {
36
+ if (typeof query !== 'string') {
37
+ throw new Error('Query string is required');
38
+ }
39
+ const normalized = query.trim();
40
+ if (normalized.length === 0) {
41
+ throw new Error('Query string cannot be empty');
42
+ }
43
+ try {
44
+ const tokens = this.tokenize(normalized);
45
+ if (tokens.length === 0) {
46
+ throw new Error('No valid tokens found in query');
47
+ }
48
+ const result = this.parseExpression(tokens, 0);
49
+ if (result.nextIndex < tokens.length) {
50
+ const remaining = tokens.slice(result.nextIndex);
51
+ throw new Error(`Unexpected tokens: ${remaining.map((t) => t.value).join(' ')}`);
52
+ }
53
+ return result.expression;
54
+ }
55
+ catch (error) {
56
+ if (error instanceof Error) {
57
+ throw new Error(`Parse error: ${error.message}`);
58
+ }
59
+ throw error;
60
+ }
61
+ }
62
+ /**
63
+ * Evaluate expression against tag array
64
+ */
65
+ static evaluate(expr, serverTags) {
66
+ if (!serverTags) {
67
+ serverTags = [];
68
+ }
69
+ // Simple normalization without external dependencies
70
+ const normalizeTag = (tag) => {
71
+ if (!tag || typeof tag !== 'string') {
72
+ return '';
73
+ }
74
+ try {
75
+ // Decode URL encoding if present
76
+ let normalized = tag.includes('%') ? decodeURIComponent(tag) : tag;
77
+ return normalized.trim().toLowerCase();
78
+ }
79
+ catch (_e) {
80
+ // If decode fails, just normalize without decoding
81
+ return tag.trim().toLowerCase();
82
+ }
83
+ };
84
+ switch (expr.type) {
85
+ case 'tag': {
86
+ // Normalize both the expression tag and server tags for comparison
87
+ const normalizedExprTag = normalizeTag(expr.value);
88
+ const normalizedServerTags = serverTags.map((tag) => normalizeTag(tag));
89
+ return normalizedServerTags.includes(normalizedExprTag);
90
+ }
91
+ case 'not':
92
+ if (!expr.children || expr.children.length !== 1) {
93
+ throw new Error('NOT expression must have exactly one child');
94
+ }
95
+ return !this.evaluate(expr.children[0], serverTags);
96
+ case 'and':
97
+ if (!expr.children || expr.children.length === 0) {
98
+ return true; // Empty AND is true
99
+ }
100
+ return expr.children.every((c) => this.evaluate(c, serverTags));
101
+ case 'or':
102
+ if (!expr.children || expr.children.length === 0) {
103
+ return false; // Empty OR is false
104
+ }
105
+ return expr.children.some((c) => this.evaluate(c, serverTags));
106
+ case 'group':
107
+ if (!expr.children || expr.children.length !== 1) {
108
+ throw new Error('Group expression must have exactly one child');
109
+ }
110
+ return this.evaluate(expr.children[0], serverTags);
111
+ default:
112
+ throw new Error(`Unknown expression type: ${expr.type}`);
113
+ }
114
+ }
115
+ /**
116
+ * Tokenize query string into tokens
117
+ */
118
+ static tokenize(query) {
119
+ const tokens = [];
120
+ let i = 0;
121
+ while (i < query.length) {
122
+ const char = query[i];
123
+ // Skip whitespace
124
+ if (/\s/.test(char)) {
125
+ i++;
126
+ continue;
127
+ }
128
+ // Parentheses
129
+ if (char === '(') {
130
+ tokens.push({ type: 'lparen', value: '(', position: i });
131
+ i++;
132
+ continue;
133
+ }
134
+ if (char === ')') {
135
+ tokens.push({ type: 'rparen', value: ')', position: i });
136
+ i++;
137
+ continue;
138
+ }
139
+ // NOT operators: ! or - (when used as prefix)
140
+ if (char === '!' || (char === '-' && this.isNotOperator(query, i))) {
141
+ tokens.push({ type: 'not', value: char, position: i });
142
+ i++;
143
+ continue;
144
+ }
145
+ // AND operators: + or &&
146
+ if (char === '+') {
147
+ tokens.push({ type: 'and', value: '+', position: i });
148
+ i++;
149
+ continue;
150
+ }
151
+ if (char === '&' && query[i + 1] === '&') {
152
+ tokens.push({ type: 'and', value: '&&', position: i });
153
+ i += 2;
154
+ continue;
155
+ }
156
+ // OR operators: , or ||
157
+ if (char === ',') {
158
+ tokens.push({ type: 'or', value: ',', position: i });
159
+ i++;
160
+ continue;
161
+ }
162
+ if (char === '|' && query[i + 1] === '|') {
163
+ tokens.push({ type: 'or', value: '||', position: i });
164
+ i += 2;
165
+ continue;
166
+ }
167
+ // Check for natural language keywords
168
+ const remaining = query.slice(i);
169
+ if (remaining.toLowerCase().startsWith('and') && this.isWordBoundary(query, i + 3)) {
170
+ tokens.push({ type: 'and', value: 'and', position: i });
171
+ i += 3;
172
+ continue;
173
+ }
174
+ if (remaining.toLowerCase().startsWith('or') && this.isWordBoundary(query, i + 2)) {
175
+ tokens.push({ type: 'or', value: 'or', position: i });
176
+ i += 2;
177
+ continue;
178
+ }
179
+ if (remaining.toLowerCase().startsWith('not') && this.isWordBoundary(query, i + 3)) {
180
+ tokens.push({ type: 'not', value: 'not', position: i });
181
+ i += 3;
182
+ continue;
183
+ }
184
+ // Tag name - handle alphanumeric, hyphens, underscores, dots
185
+ const tagMatch = remaining.match(/^[a-zA-Z0-9_.-]+/);
186
+ if (tagMatch) {
187
+ const tagName = tagMatch[0];
188
+ // Simple normalization - just lowercase and trim
189
+ const normalizedTag = tagName.trim().toLowerCase();
190
+ tokens.push({ type: 'tag', value: normalizedTag, position: i });
191
+ i += tagName.length;
192
+ continue;
193
+ }
194
+ throw new Error(`Unexpected character '${char}' at position ${i}`);
195
+ }
196
+ return tokens;
197
+ }
198
+ /**
199
+ * Check if dash is a NOT operator (not part of tag name)
200
+ * A dash is a NOT operator if:
201
+ * - It's at the start of input
202
+ * - It's preceded by whitespace, operators, or opening parenthesis
203
+ * - It's not in the middle of what appears to be a tag name
204
+ */
205
+ static isNotOperator(query, position) {
206
+ // If at start, it's a NOT operator
207
+ if (position === 0)
208
+ return true;
209
+ const prevChar = query[position - 1];
210
+ // If preceded by whitespace, operators, or opening parenthesis, it's a NOT operator
211
+ if (/[\s(+,|&]/.test(prevChar))
212
+ return true;
213
+ // If preceded by 'and', 'or', 'not' keywords, it's a NOT operator
214
+ const beforeDash = query.slice(0, position).toLowerCase();
215
+ if (/(^|\s)(and|or|not)\s*$/.test(beforeDash))
216
+ return true;
217
+ return false;
218
+ }
219
+ /**
220
+ * Check if position is at word boundary
221
+ */
222
+ static isWordBoundary(query, position) {
223
+ return position >= query.length || /[\s()&|+,-]/.test(query[position]);
224
+ }
225
+ /**
226
+ * Parse expression using recursive descent parser
227
+ */
228
+ static parseExpression(tokens, startIndex) {
229
+ return this.parseOrExpression(tokens, startIndex);
230
+ }
231
+ /**
232
+ * Parse OR expressions (lowest precedence)
233
+ */
234
+ static parseOrExpression(tokens, startIndex) {
235
+ let result = this.parseAndExpression(tokens, startIndex);
236
+ const children = [result.expression];
237
+ let index = result.nextIndex;
238
+ while (index < tokens.length && tokens[index].type === 'or') {
239
+ index++; // consume 'or'
240
+ result = this.parseAndExpression(tokens, index);
241
+ children.push(result.expression);
242
+ index = result.nextIndex;
243
+ }
244
+ if (children.length === 1) {
245
+ return { expression: children[0], nextIndex: index };
246
+ }
247
+ return {
248
+ expression: { type: 'or', children },
249
+ nextIndex: index,
250
+ };
251
+ }
252
+ /**
253
+ * Parse AND expressions (higher precedence than OR)
254
+ */
255
+ static parseAndExpression(tokens, startIndex) {
256
+ let result = this.parseNotExpression(tokens, startIndex);
257
+ const children = [result.expression];
258
+ let index = result.nextIndex;
259
+ while (index < tokens.length && tokens[index].type === 'and') {
260
+ index++; // consume 'and'
261
+ result = this.parseNotExpression(tokens, index);
262
+ children.push(result.expression);
263
+ index = result.nextIndex;
264
+ }
265
+ if (children.length === 1) {
266
+ return { expression: children[0], nextIndex: index };
267
+ }
268
+ return {
269
+ expression: { type: 'and', children },
270
+ nextIndex: index,
271
+ };
272
+ }
273
+ /**
274
+ * Parse NOT expressions (highest precedence)
275
+ */
276
+ static parseNotExpression(tokens, startIndex) {
277
+ if (startIndex >= tokens.length) {
278
+ throw new Error('Unexpected end of input');
279
+ }
280
+ const token = tokens[startIndex];
281
+ if (token.type === 'not') {
282
+ const result = this.parseAtomicExpression(tokens, startIndex + 1);
283
+ return {
284
+ expression: { type: 'not', children: [result.expression] },
285
+ nextIndex: result.nextIndex,
286
+ };
287
+ }
288
+ return this.parseAtomicExpression(tokens, startIndex);
289
+ }
290
+ /**
291
+ * Parse atomic expressions (tags and groups)
292
+ */
293
+ static parseAtomicExpression(tokens, startIndex) {
294
+ if (startIndex >= tokens.length) {
295
+ throw new Error('Unexpected end of input');
296
+ }
297
+ const token = tokens[startIndex];
298
+ if (token.type === 'tag') {
299
+ return {
300
+ expression: { type: 'tag', value: token.value },
301
+ nextIndex: startIndex + 1,
302
+ };
303
+ }
304
+ if (token.type === 'lparen') {
305
+ const result = this.parseExpression(tokens, startIndex + 1);
306
+ if (result.nextIndex >= tokens.length || tokens[result.nextIndex].type !== 'rparen') {
307
+ throw new Error('Missing closing parenthesis');
308
+ }
309
+ return {
310
+ expression: { type: 'group', children: [result.expression] },
311
+ nextIndex: result.nextIndex + 1,
312
+ };
313
+ }
314
+ throw new Error(`Unexpected token '${token.value}' at position ${token.position}`);
315
+ }
316
+ /**
317
+ * Utility method to convert expression back to string (for debugging/logging)
318
+ */
319
+ static expressionToString(expr) {
320
+ switch (expr.type) {
321
+ case 'tag':
322
+ return expr.value;
323
+ case 'not':
324
+ return `not ${this.expressionToString(expr.children[0])}`;
325
+ case 'and':
326
+ return expr.children.map((c) => this.expressionToString(c)).join(' and ');
327
+ case 'or':
328
+ return expr.children.map((c) => this.expressionToString(c)).join(' or ');
329
+ case 'group':
330
+ return `(${this.expressionToString(expr.children[0])})`;
331
+ default:
332
+ return 'unknown';
333
+ }
334
+ }
335
+ }
336
+ //# sourceMappingURL=tagQueryParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tagQueryParser.js","sourceRoot":"","sources":["../../src/utils/tagQueryParser.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1mcp/agent",
3
- "version": "0.19.0",
3
+ "version": "0.20.0",
4
4
  "description": "One MCP server to aggregate them all - A unified Model Context Protocol server implementation",
5
5
  "keywords": [
6
6
  "mcp",