@abyss-project/monitor 16.6.0 → 17.0.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 (78) hide show
  1. package/dist/api/rum-read.api.d.ts +1 -6
  2. package/dist/api/rum-read.api.js +1 -21
  3. package/dist/api/rum-read.api.js.map +1 -1
  4. package/dist/index.d.ts +0 -5
  5. package/dist/index.js +0 -5
  6. package/dist/index.js.map +1 -1
  7. package/dist/mcp/monitor-mcp-tool.types.d.ts +2 -14
  8. package/dist/mcp/monitor-mcp-tool.types.js.map +1 -1
  9. package/dist/mcp/monitor-mcp-tools.d.ts +1 -2
  10. package/dist/mcp/monitor-mcp-tools.js +4 -33
  11. package/dist/mcp/monitor-mcp-tools.js.map +1 -1
  12. package/dist/rules/index.d.ts +0 -6
  13. package/dist/rules/index.js +0 -6
  14. package/dist/rules/index.js.map +1 -1
  15. package/dist/types/enum/incident-event-type.enum.d.ts +0 -1
  16. package/dist/types/enum/incident-event-type.enum.js +0 -1
  17. package/dist/types/enum/incident-event-type.enum.js.map +1 -1
  18. package/dist/types/enum/index.d.ts +0 -3
  19. package/dist/types/enum/index.js +0 -3
  20. package/dist/types/enum/index.js.map +1 -1
  21. package/dist/types/enum/rum-read.enum.d.ts +0 -4
  22. package/dist/types/enum/rum-read.enum.js +1 -6
  23. package/dist/types/enum/rum-read.enum.js.map +1 -1
  24. package/dist/types/interface/api/requests/alert-rule.request.d.ts +18 -12
  25. package/dist/types/interface/api/requests/alert-rule.request.js +46 -0
  26. package/dist/types/interface/api/requests/alert-rule.request.js.map +1 -1
  27. package/dist/types/interface/api/requests/application-event.request.d.ts +0 -6
  28. package/dist/types/interface/api/requests/application-log.request.d.ts +0 -9
  29. package/dist/types/interface/api/requests/error-group.request.d.ts +2 -10
  30. package/dist/types/interface/api/requests/error-group.request.js +0 -2
  31. package/dist/types/interface/api/requests/error-group.request.js.map +1 -1
  32. package/dist/types/interface/api/requests/explore.request.d.ts +6 -2
  33. package/dist/types/interface/api/requests/explore.request.js +6 -1
  34. package/dist/types/interface/api/requests/explore.request.js.map +1 -1
  35. package/dist/types/interface/api/requests/incident.request.d.ts +0 -4
  36. package/dist/types/interface/api/requests/monitor-saved-view.request.d.ts +2 -2
  37. package/dist/types/interface/api/requests/rum-read.request.d.ts +6 -66
  38. package/dist/types/interface/api/requests/rum-read.request.js.map +1 -1
  39. package/dist/types/interface/api/requests/rum-socket-messages.request.d.ts +0 -4
  40. package/dist/types/interface/api/responses/alert-rule.response.d.ts +1 -0
  41. package/dist/types/interface/api/responses/rum-read.response.d.ts +0 -11
  42. package/dist/types/interface/api/type-message/keyset-paginate.d.ts +0 -1
  43. package/dist/types/interface/index.d.ts +0 -1
  44. package/dist/types/interface/index.js +0 -1
  45. package/dist/types/interface/index.js.map +1 -1
  46. package/dist/types/interface/models/monitor-alert-rule.model.d.ts +4 -13
  47. package/dist/types/interface/models/monitor-incident.model.d.ts +7 -7
  48. package/package.json +1 -2
  49. package/dist/rules/condition.bounds.d.ts +0 -44
  50. package/dist/rules/condition.bounds.js +0 -356
  51. package/dist/rules/condition.bounds.js.map +0 -1
  52. package/dist/rules/condition.compiler.d.ts +0 -4
  53. package/dist/rules/condition.compiler.js +0 -101
  54. package/dist/rules/condition.compiler.js.map +0 -1
  55. package/dist/rules/condition.parser.d.ts +0 -3
  56. package/dist/rules/condition.parser.js +0 -413
  57. package/dist/rules/condition.parser.js.map +0 -1
  58. package/dist/rules/condition.printer.d.ts +0 -3
  59. package/dist/rules/condition.printer.js +0 -92
  60. package/dist/rules/condition.printer.js.map +0 -1
  61. package/dist/rules/condition.types.d.ts +0 -87
  62. package/dist/rules/condition.types.js +0 -52
  63. package/dist/rules/condition.types.js.map +0 -1
  64. package/dist/rules/safe-regex.d.ts +0 -9
  65. package/dist/rules/safe-regex.js +0 -28
  66. package/dist/rules/safe-regex.js.map +0 -1
  67. package/dist/types/enum/alert-rule-field.enum.d.ts +0 -18
  68. package/dist/types/enum/alert-rule-field.enum.js +0 -22
  69. package/dist/types/enum/alert-rule-field.enum.js.map +0 -1
  70. package/dist/types/enum/alert-rule-group-by.enum.d.ts +0 -7
  71. package/dist/types/enum/alert-rule-group-by.enum.js +0 -12
  72. package/dist/types/enum/alert-rule-group-by.enum.js.map +0 -1
  73. package/dist/types/enum/alert-rule-operator.enum.d.ts +0 -16
  74. package/dist/types/enum/alert-rule-operator.enum.js +0 -21
  75. package/dist/types/enum/alert-rule-operator.enum.js.map +0 -1
  76. package/dist/types/interface/models/rum-saved-view.model.d.ts +0 -15
  77. package/dist/types/interface/models/rum-saved-view.model.js +0 -3
  78. package/dist/types/interface/models/rum-saved-view.model.js.map +0 -1
@@ -1,413 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseCondition = void 0;
4
- const enum_1 = require("../types/enum");
5
- const condition_bounds_1 = require("./condition.bounds");
6
- const condition_types_1 = require("./condition.types");
7
- const safe_regex_1 = require("./safe-regex");
8
- const MAX_PARSE_NESTING = 32;
9
- const FIELD_BY_LOWER_NAME = new Map([...Object.values(enum_1.AlertRuleField), ...Object.values(enum_1.AlertRuleErrorGroupField)].map((field) => [
10
- field.toLowerCase(),
11
- field,
12
- ]));
13
- const ERROR_TYPES = new Set(Object.values(enum_1.MonitorErrorType));
14
- const NUMBER_PATTERN = /-?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/y;
15
- const isIdentifierStart = (ch) => ch !== undefined && /[A-Za-z_]/.test(ch);
16
- const isIdentifierPart = (ch) => ch !== undefined && /[A-Za-z0-9_]/.test(ch);
17
- const isPathPart = (ch) => ch !== undefined && /[A-Za-z0-9_-]/.test(ch);
18
- class ConditionSyntaxError {
19
- constructor(position, expected) {
20
- this.position = position;
21
- this.expected = expected;
22
- }
23
- }
24
- class ConditionParser {
25
- constructor(text, evaluation) {
26
- this.text = text;
27
- this.evaluation = evaluation;
28
- this.pos = 0;
29
- this.nesting = 0;
30
- }
31
- parse() {
32
- const condition = this.parseOr();
33
- this.skipWhitespace();
34
- if (this.pos < this.text.length) {
35
- this.fail(this.pos, condition_types_1.AlertRuleConditionExpected.END);
36
- }
37
- return condition;
38
- }
39
- fail(position, expected) {
40
- throw new ConditionSyntaxError(position, expected);
41
- }
42
- skipWhitespace() {
43
- while (this.pos < this.text.length && /\s/.test(this.text[this.pos])) {
44
- this.pos += 1;
45
- }
46
- }
47
- atKeyword(keyword) {
48
- const candidate = this.text.slice(this.pos, this.pos + keyword.length);
49
- return (candidate.toUpperCase() === keyword && !isIdentifierPart(this.text[this.pos + keyword.length]));
50
- }
51
- acceptKeyword(keyword) {
52
- this.skipWhitespace();
53
- if (!this.atKeyword(keyword)) {
54
- return false;
55
- }
56
- this.pos += keyword.length;
57
- return true;
58
- }
59
- enterNesting(position) {
60
- this.nesting += 1;
61
- if (this.nesting > MAX_PARSE_NESTING) {
62
- this.fail(position, condition_types_1.AlertRuleConditionExpected.SHALLOWER_NESTING);
63
- }
64
- }
65
- parseOr() {
66
- const children = [this.parseAnd()];
67
- while (this.acceptKeyword('OR')) {
68
- children.push(this.parseAnd());
69
- }
70
- return children.length === 1 ? children[0] : { op: 'OR', children };
71
- }
72
- parseAnd() {
73
- const children = [this.parseUnary()];
74
- while (this.acceptKeyword('AND')) {
75
- children.push(this.parseUnary());
76
- }
77
- return children.length === 1 ? children[0] : { op: 'AND', children };
78
- }
79
- parseUnary() {
80
- this.skipWhitespace();
81
- const start = this.pos;
82
- if (this.atKeyword('NOT')) {
83
- this.enterNesting(start);
84
- this.pos += 'NOT'.length;
85
- const child = this.parseUnary();
86
- this.nesting -= 1;
87
- return { op: 'NOT', child };
88
- }
89
- if (this.text[this.pos] === '(') {
90
- this.enterNesting(start);
91
- this.pos += 1;
92
- const inner = this.parseOr();
93
- this.skipWhitespace();
94
- if (this.text[this.pos] !== ')') {
95
- this.fail(this.pos, condition_types_1.AlertRuleConditionExpected.CLOSING_PAREN);
96
- }
97
- this.pos += 1;
98
- this.nesting -= 1;
99
- return inner;
100
- }
101
- return this.parseCompare();
102
- }
103
- parseCompare() {
104
- const field = this.readField();
105
- this.skipWhitespace();
106
- const operatorStart = this.pos;
107
- const operator = this.readOperator();
108
- if (!(0, condition_bounds_1.alertRuleOperatorsFor)(field).includes(operator)) {
109
- this.fail(operatorStart, condition_types_1.AlertRuleConditionExpected.OPERATOR_FOR_FIELD);
110
- }
111
- const kind = (0, condition_bounds_1.alertRuleValueKindOf)(field, operator);
112
- if (kind === condition_bounds_1.AlertRuleValueKind.NONE) {
113
- return { op: 'COMPARE', field, operator };
114
- }
115
- this.skipWhitespace();
116
- return { op: 'COMPARE', field, operator, value: this.readValue(kind) };
117
- }
118
- readIdentifier() {
119
- const start = this.pos;
120
- if (!isIdentifierStart(this.text[this.pos])) {
121
- return '';
122
- }
123
- while (isIdentifierPart(this.text[this.pos])) {
124
- this.pos += 1;
125
- }
126
- return this.text.slice(start, this.pos);
127
- }
128
- readField() {
129
- const start = this.pos;
130
- const name = this.readIdentifier().toLowerCase();
131
- if (name === 'data') {
132
- if (!(0, condition_bounds_1.alertRuleReadsDataFields)(this.evaluation)) {
133
- this.fail(start, condition_types_1.AlertRuleConditionExpected.FIELD);
134
- }
135
- if (this.text[this.pos] !== '.') {
136
- this.fail(this.pos, condition_types_1.AlertRuleConditionExpected.DATA_PATH);
137
- }
138
- const segments = [];
139
- while (this.text[this.pos] === '.') {
140
- this.pos += 1;
141
- const segmentStart = this.pos;
142
- while (isPathPart(this.text[this.pos])) {
143
- this.pos += 1;
144
- }
145
- if (this.pos === segmentStart) {
146
- this.fail(segmentStart, condition_types_1.AlertRuleConditionExpected.DATA_PATH);
147
- }
148
- segments.push(this.text.slice(segmentStart, this.pos));
149
- }
150
- return `data.${segments.join('.')}`;
151
- }
152
- const field = FIELD_BY_LOWER_NAME.get(name);
153
- if (field === undefined || !(0, condition_bounds_1.alertRuleFieldsFor)(this.evaluation).includes(field)) {
154
- return this.fail(start, condition_types_1.AlertRuleConditionExpected.FIELD);
155
- }
156
- return field;
157
- }
158
- readOperator() {
159
- const start = this.pos;
160
- const ch = this.text[this.pos];
161
- const next = this.text[this.pos + 1];
162
- if (ch === '>' || ch === '<') {
163
- const orEqual = next === '=';
164
- this.pos += orEqual ? 2 : 1;
165
- if (ch === '>') {
166
- return orEqual ? enum_1.AlertRuleOperator.GTE : enum_1.AlertRuleOperator.GT;
167
- }
168
- return orEqual ? enum_1.AlertRuleOperator.LTE : enum_1.AlertRuleOperator.LT;
169
- }
170
- if (ch === '!' && next === '=') {
171
- this.pos += 2;
172
- return enum_1.AlertRuleOperator.NOT_EQUALS;
173
- }
174
- if (ch === '=') {
175
- this.pos += 1;
176
- return enum_1.AlertRuleOperator.EQUALS;
177
- }
178
- if (ch === '~') {
179
- this.pos += 1;
180
- return enum_1.AlertRuleOperator.MATCHES;
181
- }
182
- const word = this.readIdentifier().toUpperCase();
183
- switch (word) {
184
- case 'IN':
185
- return enum_1.AlertRuleOperator.IN;
186
- case 'EXISTS':
187
- return enum_1.AlertRuleOperator.EXISTS;
188
- case 'CONTAINS':
189
- return enum_1.AlertRuleOperator.CONTAINS;
190
- case 'NOT':
191
- if (this.acceptKeyword('IN')) {
192
- return enum_1.AlertRuleOperator.NOT_IN;
193
- }
194
- if (this.acceptKeyword('EXISTS')) {
195
- return enum_1.AlertRuleOperator.NOT_EXISTS;
196
- }
197
- return this.fail(this.pos, condition_types_1.AlertRuleConditionExpected.OPERATOR);
198
- case 'STARTS':
199
- case 'ENDS':
200
- if (!this.acceptKeyword('WITH')) {
201
- this.fail(this.pos, condition_types_1.AlertRuleConditionExpected.OPERATOR);
202
- }
203
- return word === 'STARTS' ? enum_1.AlertRuleOperator.STARTS_WITH : enum_1.AlertRuleOperator.ENDS_WITH;
204
- default:
205
- return this.fail(start, condition_types_1.AlertRuleConditionExpected.OPERATOR);
206
- }
207
- }
208
- readValue(kind) {
209
- switch (kind) {
210
- case condition_bounds_1.AlertRuleValueKind.LEVEL:
211
- return this.readLevel();
212
- case condition_bounds_1.AlertRuleValueKind.ERROR_TYPE:
213
- return this.readErrorType();
214
- case condition_bounds_1.AlertRuleValueKind.EMITTER:
215
- return this.readEmitter();
216
- case condition_bounds_1.AlertRuleValueKind.TEXT:
217
- return this.readText(condition_types_1.AlertRuleConditionExpected.TEXT);
218
- case condition_bounds_1.AlertRuleValueKind.INTEGER:
219
- return this.readInteger();
220
- case condition_bounds_1.AlertRuleValueKind.NUMBER:
221
- return this.readNumber(condition_types_1.AlertRuleConditionExpected.NUMBER);
222
- case condition_bounds_1.AlertRuleValueKind.SCALAR:
223
- return this.readScalar();
224
- case condition_bounds_1.AlertRuleValueKind.REGEX:
225
- return this.readRegex();
226
- case condition_bounds_1.AlertRuleValueKind.LEVEL_LIST:
227
- return this.readList(() => this.readLevel());
228
- case condition_bounds_1.AlertRuleValueKind.ERROR_TYPE_LIST:
229
- return this.readList(() => this.readErrorType());
230
- case condition_bounds_1.AlertRuleValueKind.EMITTER_LIST:
231
- return this.readList(() => this.readEmitter());
232
- case condition_bounds_1.AlertRuleValueKind.INTEGER_LIST:
233
- return this.readList(() => this.readInteger());
234
- case condition_bounds_1.AlertRuleValueKind.TEXT_LIST:
235
- return this.readList(() => this.readText(condition_types_1.AlertRuleConditionExpected.TEXT));
236
- case condition_bounds_1.AlertRuleValueKind.TEXT_OR_NUMBER_LIST:
237
- return this.readList(() => this.text[this.pos] === '"'
238
- ? this.readString()
239
- : this.readNumber(condition_types_1.AlertRuleConditionExpected.TEXT_OR_NUMBER));
240
- case condition_bounds_1.AlertRuleValueKind.NONE:
241
- return this.fail(this.pos, condition_types_1.AlertRuleConditionExpected.END);
242
- }
243
- }
244
- readList(readItem) {
245
- if (this.text[this.pos] !== '(') {
246
- this.fail(this.pos, condition_types_1.AlertRuleConditionExpected.LIST);
247
- }
248
- this.pos += 1;
249
- const items = [];
250
- for (;;) {
251
- this.skipWhitespace();
252
- items.push(readItem());
253
- this.skipWhitespace();
254
- if (this.text[this.pos] === ',') {
255
- this.pos += 1;
256
- }
257
- else if (this.text[this.pos] === ')') {
258
- this.pos += 1;
259
- return items;
260
- }
261
- else {
262
- this.fail(this.pos, condition_types_1.AlertRuleConditionExpected.CLOSING_PAREN);
263
- }
264
- }
265
- }
266
- readLevel() {
267
- const start = this.pos;
268
- const name = this.readIdentifier().toUpperCase();
269
- if (!Object.prototype.hasOwnProperty.call(condition_bounds_1.ALERT_RULE_LEVEL_NAMES, name)) {
270
- this.fail(start, condition_types_1.AlertRuleConditionExpected.LEVEL_NAME);
271
- }
272
- return condition_bounds_1.ALERT_RULE_LEVEL_NAMES[name];
273
- }
274
- readErrorType() {
275
- const start = this.pos;
276
- const name = this.readIdentifier().toUpperCase();
277
- if (!ERROR_TYPES.has(name)) {
278
- this.fail(start, condition_types_1.AlertRuleConditionExpected.ERROR_TYPE_NAME);
279
- }
280
- return name;
281
- }
282
- readEmitter() {
283
- const start = this.pos;
284
- const name = this.readIdentifier().toUpperCase();
285
- if (!Object.prototype.hasOwnProperty.call(condition_bounds_1.ALERT_RULE_EMITTER_NAMES, name)) {
286
- this.fail(start, condition_types_1.AlertRuleConditionExpected.EMITTER_NAME);
287
- }
288
- return condition_bounds_1.ALERT_RULE_EMITTER_NAMES[name];
289
- }
290
- readText(expected) {
291
- if (this.text[this.pos] !== '"') {
292
- this.fail(this.pos, expected);
293
- }
294
- return this.readString();
295
- }
296
- readInteger() {
297
- const start = this.pos;
298
- const value = this.readNumber(condition_types_1.AlertRuleConditionExpected.INTEGER);
299
- if (!Number.isInteger(value)) {
300
- this.fail(start, condition_types_1.AlertRuleConditionExpected.INTEGER);
301
- }
302
- return value;
303
- }
304
- readScalar() {
305
- if (this.text[this.pos] === '"') {
306
- return this.readString();
307
- }
308
- for (const [keyword, value] of [
309
- ['TRUE', true],
310
- ['FALSE', false],
311
- ]) {
312
- if (this.atKeyword(keyword)) {
313
- this.pos += keyword.length;
314
- return value;
315
- }
316
- }
317
- return this.readNumber(condition_types_1.AlertRuleConditionExpected.SCALAR);
318
- }
319
- readNumber(expected) {
320
- NUMBER_PATTERN.lastIndex = this.pos;
321
- const match = NUMBER_PATTERN.exec(this.text);
322
- if (match === null) {
323
- return this.fail(this.pos, expected);
324
- }
325
- const value = Number(match[0]);
326
- if (!Number.isFinite(value)) {
327
- this.fail(this.pos, expected);
328
- }
329
- this.pos += match[0].length;
330
- return value === 0 ? 0 : value;
331
- }
332
- readString() {
333
- const start = this.pos;
334
- this.pos += 1;
335
- let value = '';
336
- for (;;) {
337
- const ch = this.text[this.pos];
338
- if (ch === undefined) {
339
- return this.fail(start, condition_types_1.AlertRuleConditionExpected.CLOSING_QUOTE);
340
- }
341
- if (ch === '"') {
342
- this.pos += 1;
343
- return value;
344
- }
345
- if (ch === '\\') {
346
- const escaped = this.text[this.pos + 1];
347
- if (escaped === undefined) {
348
- return this.fail(start, condition_types_1.AlertRuleConditionExpected.CLOSING_QUOTE);
349
- }
350
- if (escaped !== '"' && escaped !== '\\') {
351
- return this.fail(this.pos, condition_types_1.AlertRuleConditionExpected.STRING_ESCAPE);
352
- }
353
- value += escaped;
354
- this.pos += 2;
355
- }
356
- else {
357
- value += ch;
358
- this.pos += 1;
359
- }
360
- }
361
- }
362
- readRegex() {
363
- const start = this.pos;
364
- if (this.text[this.pos] !== '/') {
365
- return this.fail(start, condition_types_1.AlertRuleConditionExpected.REGEX);
366
- }
367
- this.pos += 1;
368
- const sourceStart = this.pos;
369
- for (;;) {
370
- const ch = this.text[this.pos];
371
- if (ch === undefined || (ch === '\\' && this.pos + 1 >= this.text.length)) {
372
- return this.fail(start, condition_types_1.AlertRuleConditionExpected.CLOSING_SLASH);
373
- }
374
- if (ch === '/') {
375
- break;
376
- }
377
- this.pos += ch === '\\' ? 2 : 1;
378
- }
379
- const source = this.text.slice(sourceStart, this.pos);
380
- this.pos += 1;
381
- let flags = '';
382
- if (this.text[this.pos] === 'i') {
383
- flags = 'i';
384
- this.pos += 1;
385
- }
386
- if (isIdentifierPart(this.text[this.pos])) {
387
- this.fail(this.pos, condition_types_1.AlertRuleConditionExpected.REGEX_FLAG);
388
- }
389
- try {
390
- (0, safe_regex_1.compileSafeRegex)(source, flags);
391
- }
392
- catch (error) {
393
- if (error instanceof safe_regex_1.InvalidSafeRegexError) {
394
- this.fail(start, condition_types_1.AlertRuleConditionExpected.VALID_REGEX);
395
- }
396
- throw error;
397
- }
398
- return (0, condition_bounds_1.encodeRegexValue)(source, flags);
399
- }
400
- }
401
- const parseCondition = (text, evaluation = enum_1.AlertRuleEvaluation.WINDOW) => {
402
- try {
403
- return { ok: true, condition: new ConditionParser(text, evaluation).parse() };
404
- }
405
- catch (error) {
406
- if (error instanceof ConditionSyntaxError) {
407
- return { ok: false, error: { position: error.position, expected: error.expected } };
408
- }
409
- throw error;
410
- }
411
- };
412
- exports.parseCondition = parseCondition;
413
- //# sourceMappingURL=condition.parser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"condition.parser.js","sourceRoot":"","sources":["../../src/rules/condition.parser.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { AlertRuleEvaluation } from '../types/enum';
2
- import { IAlertRuleCondition } from './condition.types';
3
- export declare const printCondition: (c: IAlertRuleCondition, evaluation?: AlertRuleEvaluation) => string;
@@ -1,92 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.printCondition = void 0;
4
- const enum_1 = require("../types/enum");
5
- const condition_bounds_1 = require("./condition.bounds");
6
- const condition_types_1 = require("./condition.types");
7
- const OPERATOR_TEXT = {
8
- [enum_1.AlertRuleOperator.EQUALS]: '=',
9
- [enum_1.AlertRuleOperator.NOT_EQUALS]: '!=',
10
- [enum_1.AlertRuleOperator.GT]: '>',
11
- [enum_1.AlertRuleOperator.GTE]: '>=',
12
- [enum_1.AlertRuleOperator.LT]: '<',
13
- [enum_1.AlertRuleOperator.LTE]: '<=',
14
- [enum_1.AlertRuleOperator.MATCHES]: '~',
15
- [enum_1.AlertRuleOperator.IN]: 'IN',
16
- [enum_1.AlertRuleOperator.NOT_IN]: 'NOT IN',
17
- [enum_1.AlertRuleOperator.CONTAINS]: 'CONTAINS',
18
- [enum_1.AlertRuleOperator.STARTS_WITH]: 'STARTS WITH',
19
- [enum_1.AlertRuleOperator.ENDS_WITH]: 'ENDS WITH',
20
- [enum_1.AlertRuleOperator.EXISTS]: 'EXISTS',
21
- [enum_1.AlertRuleOperator.NOT_EXISTS]: 'NOT EXISTS',
22
- };
23
- const LEVEL_NAME_BY_VALUE = new Map(Object.entries(condition_bounds_1.ALERT_RULE_LEVEL_NAMES).map(([name, level]) => [level, name]));
24
- const EMITTER_NAME_BY_VALUE = new Map(Object.entries(condition_bounds_1.ALERT_RULE_EMITTER_NAMES).map(([name, emitter]) => [emitter, name]));
25
- const printText = (value) => `"${value.replace(/[\\"]/g, (ch) => `\\${ch}`)}"`;
26
- const printRegex = (value) => {
27
- const { source, flags } = (0, condition_bounds_1.decodeRegexValue)(value);
28
- let printed = '';
29
- for (let i = 0; i < source.length; i++) {
30
- const ch = source[i];
31
- if (ch === '\\') {
32
- printed += source.slice(i, i + 2);
33
- i += 1;
34
- }
35
- else {
36
- printed += ch === '/' ? '\\/' : ch;
37
- }
38
- }
39
- return `/${printed}/${flags}`;
40
- };
41
- const printScalar = (field, value) => {
42
- if (field === enum_1.AlertRuleField.LEVEL) {
43
- return LEVEL_NAME_BY_VALUE.get(value);
44
- }
45
- if (field === enum_1.AlertRuleField.EMITTER) {
46
- return EMITTER_NAME_BY_VALUE.get(value);
47
- }
48
- if (field === enum_1.AlertRuleErrorGroupField.ERROR_TYPE) {
49
- return value;
50
- }
51
- if (typeof value === 'string') {
52
- return printText(value);
53
- }
54
- return value.toString();
55
- };
56
- const printCompare = (c) => {
57
- const head = `${c.field} ${OPERATOR_TEXT[c.operator]}`;
58
- if (c.value === undefined) {
59
- return head;
60
- }
61
- if (c.operator === enum_1.AlertRuleOperator.MATCHES) {
62
- return `${head} ${printRegex(c.value)}`;
63
- }
64
- if (Array.isArray(c.value)) {
65
- return `${head} (${c.value.map((item) => printScalar(c.field, item)).join(', ')})`;
66
- }
67
- return `${head} ${printScalar(c.field, c.value)}`;
68
- };
69
- const isGroup = (c) => c.op === 'AND' || c.op === 'OR';
70
- const printOperand = (c) => (isGroup(c) ? `(${print(c)})` : print(c));
71
- const print = (c) => {
72
- switch (c.op) {
73
- case 'COMPARE':
74
- return printCompare(c);
75
- case 'NOT':
76
- return `NOT ${printOperand(c.child)}`;
77
- case 'AND':
78
- case 'OR':
79
- return c.children.length === 1
80
- ? printOperand(c.children[0])
81
- : c.children.map(printOperand).join(` ${c.op} `);
82
- }
83
- };
84
- const printCondition = (c, evaluation = enum_1.AlertRuleEvaluation.WINDOW) => {
85
- const violation = (0, condition_bounds_1.validateConditionBounds)(c, evaluation);
86
- if (violation !== null) {
87
- throw new condition_types_1.InvalidAlertRuleConditionError(violation);
88
- }
89
- return print(c);
90
- };
91
- exports.printCondition = printCondition;
92
- //# sourceMappingURL=condition.printer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"condition.printer.js","sourceRoot":"","sources":["../../src/rules/condition.printer.ts"],"names":[],"mappings":"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"}
@@ -1,87 +0,0 @@
1
- import { AlertRuleConditionField, AlertRuleOperator, LogEmitter, LogLevel, MonitorErrorType } from '../types/enum';
2
- export type IAlertRuleCondition = {
3
- op: 'AND' | 'OR';
4
- children: IAlertRuleCondition[];
5
- } | {
6
- op: 'NOT';
7
- child: IAlertRuleCondition;
8
- } | {
9
- op: 'COMPARE';
10
- field: AlertRuleConditionField;
11
- operator: AlertRuleOperator;
12
- value?: string | number | boolean | Array<string | number>;
13
- };
14
- export interface IAlertRuleLogView {
15
- level: LogLevel;
16
- title: string | null;
17
- message: string;
18
- stack: string | null;
19
- context: string | null;
20
- scenario: string | null;
21
- endpoint: string | null;
22
- httpStatus: number | null;
23
- fingerprint: string | null;
24
- emitter: LogEmitter;
25
- data: unknown;
26
- }
27
- export interface IAlertRuleErrorGroupView {
28
- errorType: MonitorErrorType;
29
- level: LogLevel;
30
- context: string | null;
31
- scenario: string | null;
32
- environment: string;
33
- message: string;
34
- emitter: LogEmitter;
35
- }
36
- export declare enum AlertRuleConditionExpected {
37
- FIELD = "FIELD",
38
- DATA_PATH = "DATA_PATH",
39
- OPERATOR = "OPERATOR",
40
- OPERATOR_FOR_FIELD = "OPERATOR_FOR_FIELD",
41
- LEVEL_NAME = "LEVEL_NAME",
42
- ERROR_TYPE_NAME = "ERROR_TYPE_NAME",
43
- EMITTER_NAME = "EMITTER_NAME",
44
- TEXT = "TEXT",
45
- NUMBER = "NUMBER",
46
- INTEGER = "INTEGER",
47
- SCALAR = "SCALAR",
48
- TEXT_OR_NUMBER = "TEXT_OR_NUMBER",
49
- LIST = "LIST",
50
- REGEX = "REGEX",
51
- REGEX_FLAG = "REGEX_FLAG",
52
- VALID_REGEX = "VALID_REGEX",
53
- CLOSING_QUOTE = "CLOSING_QUOTE",
54
- STRING_ESCAPE = "STRING_ESCAPE",
55
- CLOSING_SLASH = "CLOSING_SLASH",
56
- CLOSING_PAREN = "CLOSING_PAREN",
57
- END = "END",
58
- SHALLOWER_NESTING = "SHALLOWER_NESTING"
59
- }
60
- export type ParseConditionResult = {
61
- ok: true;
62
- condition: IAlertRuleCondition;
63
- } | {
64
- ok: false;
65
- error: {
66
- position: number;
67
- expected: AlertRuleConditionExpected;
68
- };
69
- };
70
- export declare enum AlertRuleConditionViolation {
71
- MALFORMED_NODE = "MALFORMED_NODE",
72
- EMPTY_GROUP = "EMPTY_GROUP",
73
- DEPTH_EXCEEDED = "DEPTH_EXCEEDED",
74
- TOO_MANY_NODES = "TOO_MANY_NODES",
75
- TEXT_TOO_LONG = "TEXT_TOO_LONG",
76
- TOO_MANY_VALUES = "TOO_MANY_VALUES",
77
- REGEX_TOO_LONG = "REGEX_TOO_LONG",
78
- INVALID_REGEX = "INVALID_REGEX",
79
- INVALID_DATA_PATH = "INVALID_DATA_PATH",
80
- UNKNOWN_FIELD = "UNKNOWN_FIELD",
81
- OPERATOR_NOT_ALLOWED = "OPERATOR_NOT_ALLOWED",
82
- INVALID_VALUE = "INVALID_VALUE"
83
- }
84
- export declare class InvalidAlertRuleConditionError extends Error {
85
- readonly violation: AlertRuleConditionViolation;
86
- constructor(violation: AlertRuleConditionViolation);
87
- }