@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,356 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isBuilderRepresentable = exports.validateConditionBounds = exports.decodeRegexValue = exports.encodeRegexValue = exports.alertRuleValueKindOf = exports.AlertRuleValueKind = exports.alertRuleOperatorsFor = exports.isValidAlertRuleDataPath = exports.isAlertRuleDataField = exports.ALERT_RULE_EMITTER_NAMES = exports.ALERT_RULE_LEVEL_NAMES = exports.ALERT_RULE_DATA_FIELD_OPERATORS = exports.alertRuleReadsDataFields = exports.alertRuleFieldsFor = exports.ALERT_RULE_ERROR_GROUP_FIELDS = exports.ALERT_RULE_LOG_FIELDS = exports.ALERT_RULE_FIELD_OPERATORS = exports.ALERT_RULE_DATA_PATH_MAX_SEGMENTS = exports.ALERT_RULE_CONDITION_MAX_REGEX_LENGTH = exports.ALERT_RULE_CONDITION_MAX_IN_VALUES = exports.ALERT_RULE_CONDITION_MAX_TEXT_LENGTH = exports.ALERT_RULE_CONDITION_MAX_NODES = exports.ALERT_RULE_CONDITION_MAX_DEPTH = void 0;
4
- const enum_1 = require("../types/enum");
5
- const condition_types_1 = require("./condition.types");
6
- const safe_regex_1 = require("./safe-regex");
7
- exports.ALERT_RULE_CONDITION_MAX_DEPTH = 5;
8
- exports.ALERT_RULE_CONDITION_MAX_NODES = 50;
9
- exports.ALERT_RULE_CONDITION_MAX_TEXT_LENGTH = 200;
10
- exports.ALERT_RULE_CONDITION_MAX_IN_VALUES = 50;
11
- exports.ALERT_RULE_CONDITION_MAX_REGEX_LENGTH = 200;
12
- exports.ALERT_RULE_DATA_PATH_MAX_SEGMENTS = 5;
13
- const DATA_PATH_PATTERN = new RegExp(`^data(?:\\.[A-Za-z0-9_-]+){1,${exports.ALERT_RULE_DATA_PATH_MAX_SEGMENTS}}$`);
14
- const EQUALITY_OPERATORS = [
15
- enum_1.AlertRuleOperator.EQUALS,
16
- enum_1.AlertRuleOperator.NOT_EQUALS,
17
- enum_1.AlertRuleOperator.IN,
18
- enum_1.AlertRuleOperator.NOT_IN,
19
- ];
20
- const ORDER_OPERATORS = [
21
- enum_1.AlertRuleOperator.GT,
22
- enum_1.AlertRuleOperator.GTE,
23
- enum_1.AlertRuleOperator.LT,
24
- enum_1.AlertRuleOperator.LTE,
25
- ];
26
- const TEXT_OPERATORS = [
27
- enum_1.AlertRuleOperator.CONTAINS,
28
- enum_1.AlertRuleOperator.STARTS_WITH,
29
- enum_1.AlertRuleOperator.ENDS_WITH,
30
- enum_1.AlertRuleOperator.MATCHES,
31
- ];
32
- const PRESENCE_OPERATORS = [enum_1.AlertRuleOperator.EXISTS, enum_1.AlertRuleOperator.NOT_EXISTS];
33
- const TEXT_FIELD_OPERATORS = [...EQUALITY_OPERATORS, ...TEXT_OPERATORS, ...PRESENCE_OPERATORS];
34
- exports.ALERT_RULE_FIELD_OPERATORS = {
35
- [enum_1.AlertRuleField.LEVEL]: [...EQUALITY_OPERATORS, ...ORDER_OPERATORS],
36
- [enum_1.AlertRuleField.TITLE]: TEXT_FIELD_OPERATORS,
37
- [enum_1.AlertRuleField.MESSAGE]: TEXT_FIELD_OPERATORS,
38
- [enum_1.AlertRuleField.STACK]: TEXT_FIELD_OPERATORS,
39
- [enum_1.AlertRuleField.CONTEXT]: TEXT_FIELD_OPERATORS,
40
- [enum_1.AlertRuleField.SCENARIO]: TEXT_FIELD_OPERATORS,
41
- [enum_1.AlertRuleField.ENDPOINT]: TEXT_FIELD_OPERATORS,
42
- [enum_1.AlertRuleField.HTTP_STATUS]: [...EQUALITY_OPERATORS, ...ORDER_OPERATORS, ...PRESENCE_OPERATORS],
43
- [enum_1.AlertRuleField.FINGERPRINT]: TEXT_FIELD_OPERATORS,
44
- [enum_1.AlertRuleField.EMITTER]: EQUALITY_OPERATORS,
45
- [enum_1.AlertRuleErrorGroupField.ERROR_TYPE]: EQUALITY_OPERATORS,
46
- [enum_1.AlertRuleErrorGroupField.ENVIRONMENT]: [...EQUALITY_OPERATORS, ...TEXT_OPERATORS],
47
- };
48
- exports.ALERT_RULE_LOG_FIELDS = Object.values(enum_1.AlertRuleField);
49
- exports.ALERT_RULE_ERROR_GROUP_FIELDS = [
50
- enum_1.AlertRuleErrorGroupField.ERROR_TYPE,
51
- enum_1.AlertRuleField.LEVEL,
52
- enum_1.AlertRuleField.CONTEXT,
53
- enum_1.AlertRuleField.SCENARIO,
54
- enum_1.AlertRuleErrorGroupField.ENVIRONMENT,
55
- enum_1.AlertRuleField.MESSAGE,
56
- enum_1.AlertRuleField.EMITTER,
57
- ];
58
- const alertRuleFieldsFor = (evaluation) => {
59
- switch (evaluation) {
60
- case enum_1.AlertRuleEvaluation.ERROR_GROUP_EVENT:
61
- return exports.ALERT_RULE_ERROR_GROUP_FIELDS;
62
- case enum_1.AlertRuleEvaluation.RUM_METRIC:
63
- return [];
64
- case enum_1.AlertRuleEvaluation.WINDOW:
65
- case enum_1.AlertRuleEvaluation.EACH_OCCURRENCE:
66
- return exports.ALERT_RULE_LOG_FIELDS;
67
- }
68
- };
69
- exports.alertRuleFieldsFor = alertRuleFieldsFor;
70
- const alertRuleReadsDataFields = (evaluation) => evaluation === enum_1.AlertRuleEvaluation.WINDOW || evaluation === enum_1.AlertRuleEvaluation.EACH_OCCURRENCE;
71
- exports.alertRuleReadsDataFields = alertRuleReadsDataFields;
72
- exports.ALERT_RULE_DATA_FIELD_OPERATORS = Object.values(enum_1.AlertRuleOperator);
73
- exports.ALERT_RULE_LEVEL_NAMES = {
74
- CRITICAL: enum_1.LogLevel.CRITICAL,
75
- ERROR: enum_1.LogLevel.ERROR,
76
- WARN: enum_1.LogLevel.WARN,
77
- INFO: enum_1.LogLevel.INFO,
78
- LOG: enum_1.LogLevel.LOG,
79
- DEBUG: enum_1.LogLevel.DEBUG,
80
- };
81
- exports.ALERT_RULE_EMITTER_NAMES = {
82
- SERVER: enum_1.LogEmitter.SERVER,
83
- BROWSER: enum_1.LogEmitter.BROWSER,
84
- };
85
- const OPERATORS = new Set(Object.values(enum_1.AlertRuleOperator));
86
- const LEVELS = new Set(Object.values(exports.ALERT_RULE_LEVEL_NAMES));
87
- const ERROR_TYPES = new Set(Object.values(enum_1.MonitorErrorType));
88
- const EMITTERS = new Set(Object.values(exports.ALERT_RULE_EMITTER_NAMES));
89
- const isAlertRuleDataField = (field) => field.startsWith('data.');
90
- exports.isAlertRuleDataField = isAlertRuleDataField;
91
- const isValidAlertRuleDataPath = (field) => DATA_PATH_PATTERN.test(field);
92
- exports.isValidAlertRuleDataPath = isValidAlertRuleDataPath;
93
- const alertRuleOperatorsFor = (field) => (0, exports.isAlertRuleDataField)(field)
94
- ? exports.ALERT_RULE_DATA_FIELD_OPERATORS
95
- : exports.ALERT_RULE_FIELD_OPERATORS[field];
96
- exports.alertRuleOperatorsFor = alertRuleOperatorsFor;
97
- var AlertRuleValueKind;
98
- (function (AlertRuleValueKind) {
99
- AlertRuleValueKind["NONE"] = "NONE";
100
- AlertRuleValueKind["LEVEL"] = "LEVEL";
101
- AlertRuleValueKind["LEVEL_LIST"] = "LEVEL_LIST";
102
- AlertRuleValueKind["ERROR_TYPE"] = "ERROR_TYPE";
103
- AlertRuleValueKind["ERROR_TYPE_LIST"] = "ERROR_TYPE_LIST";
104
- AlertRuleValueKind["EMITTER"] = "EMITTER";
105
- AlertRuleValueKind["EMITTER_LIST"] = "EMITTER_LIST";
106
- AlertRuleValueKind["TEXT"] = "TEXT";
107
- AlertRuleValueKind["TEXT_LIST"] = "TEXT_LIST";
108
- AlertRuleValueKind["INTEGER"] = "INTEGER";
109
- AlertRuleValueKind["INTEGER_LIST"] = "INTEGER_LIST";
110
- AlertRuleValueKind["NUMBER"] = "NUMBER";
111
- AlertRuleValueKind["SCALAR"] = "SCALAR";
112
- AlertRuleValueKind["TEXT_OR_NUMBER_LIST"] = "TEXT_OR_NUMBER_LIST";
113
- AlertRuleValueKind["REGEX"] = "REGEX";
114
- })(AlertRuleValueKind || (exports.AlertRuleValueKind = AlertRuleValueKind = {}));
115
- const alertRuleValueKindOf = (field, operator) => {
116
- if (PRESENCE_OPERATORS.includes(operator)) {
117
- return AlertRuleValueKind.NONE;
118
- }
119
- if (operator === enum_1.AlertRuleOperator.MATCHES) {
120
- return AlertRuleValueKind.REGEX;
121
- }
122
- const isList = operator === enum_1.AlertRuleOperator.IN || operator === enum_1.AlertRuleOperator.NOT_IN;
123
- if (field === enum_1.AlertRuleField.LEVEL) {
124
- return isList ? AlertRuleValueKind.LEVEL_LIST : AlertRuleValueKind.LEVEL;
125
- }
126
- if (field === enum_1.AlertRuleField.HTTP_STATUS) {
127
- return isList ? AlertRuleValueKind.INTEGER_LIST : AlertRuleValueKind.INTEGER;
128
- }
129
- if (field === enum_1.AlertRuleErrorGroupField.ERROR_TYPE) {
130
- return isList ? AlertRuleValueKind.ERROR_TYPE_LIST : AlertRuleValueKind.ERROR_TYPE;
131
- }
132
- if (field === enum_1.AlertRuleField.EMITTER) {
133
- return isList ? AlertRuleValueKind.EMITTER_LIST : AlertRuleValueKind.EMITTER;
134
- }
135
- if (!(0, exports.isAlertRuleDataField)(field)) {
136
- return isList ? AlertRuleValueKind.TEXT_LIST : AlertRuleValueKind.TEXT;
137
- }
138
- if (isList) {
139
- return AlertRuleValueKind.TEXT_OR_NUMBER_LIST;
140
- }
141
- if (ORDER_OPERATORS.includes(operator)) {
142
- return AlertRuleValueKind.NUMBER;
143
- }
144
- if (operator === enum_1.AlertRuleOperator.CONTAINS ||
145
- operator === enum_1.AlertRuleOperator.STARTS_WITH ||
146
- operator === enum_1.AlertRuleOperator.ENDS_WITH) {
147
- return AlertRuleValueKind.TEXT;
148
- }
149
- return AlertRuleValueKind.SCALAR;
150
- };
151
- exports.alertRuleValueKindOf = alertRuleValueKindOf;
152
- const encodeRegexValue = (source, flags) => `/${source}/${flags}`;
153
- exports.encodeRegexValue = encodeRegexValue;
154
- const decodeRegexValue = (value) => {
155
- const closing = value.lastIndexOf('/');
156
- if (!value.startsWith('/') || closing < 1) {
157
- return null;
158
- }
159
- const flags = value.slice(closing + 1);
160
- if (flags !== '' && flags !== 'i') {
161
- return null;
162
- }
163
- return { source: value.slice(1, closing), flags };
164
- };
165
- exports.decodeRegexValue = decodeRegexValue;
166
- const isFiniteNumber = (value) => typeof value === 'number' && Number.isFinite(value);
167
- const checkText = (value) => {
168
- if (typeof value !== 'string') {
169
- return condition_types_1.AlertRuleConditionViolation.INVALID_VALUE;
170
- }
171
- return value.length > exports.ALERT_RULE_CONDITION_MAX_TEXT_LENGTH
172
- ? condition_types_1.AlertRuleConditionViolation.TEXT_TOO_LONG
173
- : null;
174
- };
175
- const checkScalar = (kind, value) => {
176
- switch (kind) {
177
- case AlertRuleValueKind.LEVEL:
178
- return isFiniteNumber(value) && LEVELS.has(value)
179
- ? null
180
- : condition_types_1.AlertRuleConditionViolation.INVALID_VALUE;
181
- case AlertRuleValueKind.ERROR_TYPE:
182
- return typeof value === 'string' && ERROR_TYPES.has(value)
183
- ? null
184
- : condition_types_1.AlertRuleConditionViolation.INVALID_VALUE;
185
- case AlertRuleValueKind.EMITTER:
186
- return isFiniteNumber(value) && EMITTERS.has(value)
187
- ? null
188
- : condition_types_1.AlertRuleConditionViolation.INVALID_VALUE;
189
- case AlertRuleValueKind.INTEGER:
190
- return Number.isInteger(value) ? null : condition_types_1.AlertRuleConditionViolation.INVALID_VALUE;
191
- case AlertRuleValueKind.NUMBER:
192
- return isFiniteNumber(value) ? null : condition_types_1.AlertRuleConditionViolation.INVALID_VALUE;
193
- case AlertRuleValueKind.TEXT:
194
- return checkText(value);
195
- case AlertRuleValueKind.SCALAR:
196
- if (typeof value === 'string') {
197
- return checkText(value);
198
- }
199
- return isFiniteNumber(value) || typeof value === 'boolean'
200
- ? null
201
- : condition_types_1.AlertRuleConditionViolation.INVALID_VALUE;
202
- default:
203
- return condition_types_1.AlertRuleConditionViolation.INVALID_VALUE;
204
- }
205
- };
206
- const LIST_ITEM_KIND = {
207
- [AlertRuleValueKind.LEVEL_LIST]: AlertRuleValueKind.LEVEL,
208
- [AlertRuleValueKind.ERROR_TYPE_LIST]: AlertRuleValueKind.ERROR_TYPE,
209
- [AlertRuleValueKind.EMITTER_LIST]: AlertRuleValueKind.EMITTER,
210
- [AlertRuleValueKind.INTEGER_LIST]: AlertRuleValueKind.INTEGER,
211
- [AlertRuleValueKind.TEXT_LIST]: AlertRuleValueKind.TEXT,
212
- };
213
- const checkListItem = (kind, item) => {
214
- if (kind === AlertRuleValueKind.TEXT_OR_NUMBER_LIST) {
215
- return typeof item === 'string'
216
- ? checkText(item)
217
- : checkScalar(AlertRuleValueKind.NUMBER, item);
218
- }
219
- const itemKind = LIST_ITEM_KIND[kind];
220
- return itemKind === undefined
221
- ? condition_types_1.AlertRuleConditionViolation.INVALID_VALUE
222
- : checkScalar(itemKind, item);
223
- };
224
- const checkRegex = (value) => {
225
- if (typeof value !== 'string') {
226
- return condition_types_1.AlertRuleConditionViolation.INVALID_VALUE;
227
- }
228
- const regex = (0, exports.decodeRegexValue)(value);
229
- if (regex === null) {
230
- return condition_types_1.AlertRuleConditionViolation.INVALID_REGEX;
231
- }
232
- if (regex.source.length > exports.ALERT_RULE_CONDITION_MAX_REGEX_LENGTH) {
233
- return condition_types_1.AlertRuleConditionViolation.REGEX_TOO_LONG;
234
- }
235
- try {
236
- (0, safe_regex_1.compileSafeRegex)(regex.source, regex.flags);
237
- }
238
- catch (error) {
239
- if (error instanceof safe_regex_1.InvalidSafeRegexError) {
240
- return condition_types_1.AlertRuleConditionViolation.INVALID_REGEX;
241
- }
242
- throw error;
243
- }
244
- return null;
245
- };
246
- const checkValue = (kind, value) => {
247
- if (kind === AlertRuleValueKind.NONE) {
248
- return value === undefined ? null : condition_types_1.AlertRuleConditionViolation.INVALID_VALUE;
249
- }
250
- if (kind === AlertRuleValueKind.REGEX) {
251
- return checkRegex(value);
252
- }
253
- const isList = kind === AlertRuleValueKind.LEVEL_LIST ||
254
- kind === AlertRuleValueKind.ERROR_TYPE_LIST ||
255
- kind === AlertRuleValueKind.EMITTER_LIST ||
256
- kind === AlertRuleValueKind.INTEGER_LIST ||
257
- kind === AlertRuleValueKind.TEXT_LIST ||
258
- kind === AlertRuleValueKind.TEXT_OR_NUMBER_LIST;
259
- if (!isList) {
260
- return checkScalar(kind, value);
261
- }
262
- if (!Array.isArray(value) || value.length === 0) {
263
- return condition_types_1.AlertRuleConditionViolation.INVALID_VALUE;
264
- }
265
- if (value.length > exports.ALERT_RULE_CONDITION_MAX_IN_VALUES) {
266
- return condition_types_1.AlertRuleConditionViolation.TOO_MANY_VALUES;
267
- }
268
- for (const item of value) {
269
- const violation = checkListItem(kind, item);
270
- if (violation !== null) {
271
- return violation;
272
- }
273
- }
274
- return null;
275
- };
276
- const hasOnlyKeys = (node, keys) => Object.keys(node).every((key) => keys.includes(key));
277
- const checkCompare = (node, evaluation) => {
278
- const { field, operator, value } = node;
279
- if (!hasOnlyKeys(node, ['op', 'field', 'operator', 'value'])) {
280
- return condition_types_1.AlertRuleConditionViolation.MALFORMED_NODE;
281
- }
282
- if (typeof field !== 'string' || typeof operator !== 'string' || !OPERATORS.has(operator)) {
283
- return condition_types_1.AlertRuleConditionViolation.MALFORMED_NODE;
284
- }
285
- if (field === 'data' || (0, exports.isAlertRuleDataField)(field)) {
286
- if (!(0, exports.alertRuleReadsDataFields)(evaluation)) {
287
- return condition_types_1.AlertRuleConditionViolation.UNKNOWN_FIELD;
288
- }
289
- if (!(0, exports.isValidAlertRuleDataPath)(field)) {
290
- return condition_types_1.AlertRuleConditionViolation.INVALID_DATA_PATH;
291
- }
292
- }
293
- else if (!(0, exports.alertRuleFieldsFor)(evaluation).includes(field)) {
294
- return condition_types_1.AlertRuleConditionViolation.UNKNOWN_FIELD;
295
- }
296
- const conditionField = field;
297
- const conditionOperator = operator;
298
- if (!(0, exports.alertRuleOperatorsFor)(conditionField).includes(conditionOperator)) {
299
- return condition_types_1.AlertRuleConditionViolation.OPERATOR_NOT_ALLOWED;
300
- }
301
- return checkValue((0, exports.alertRuleValueKindOf)(conditionField, conditionOperator), value);
302
- };
303
- const isObject = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
304
- const checkNode = (node, depth, counter, evaluation) => {
305
- if (depth > exports.ALERT_RULE_CONDITION_MAX_DEPTH) {
306
- return condition_types_1.AlertRuleConditionViolation.DEPTH_EXCEEDED;
307
- }
308
- counter.nodes += 1;
309
- if (counter.nodes > exports.ALERT_RULE_CONDITION_MAX_NODES) {
310
- return condition_types_1.AlertRuleConditionViolation.TOO_MANY_NODES;
311
- }
312
- if (!isObject(node)) {
313
- return condition_types_1.AlertRuleConditionViolation.MALFORMED_NODE;
314
- }
315
- switch (node.op) {
316
- case 'COMPARE':
317
- return checkCompare(node, evaluation);
318
- case 'NOT':
319
- if (!hasOnlyKeys(node, ['op', 'child']) || !isObject(node.child)) {
320
- return condition_types_1.AlertRuleConditionViolation.MALFORMED_NODE;
321
- }
322
- return checkNode(node.child, depth + 1, counter, evaluation);
323
- case 'AND':
324
- case 'OR': {
325
- const { children } = node;
326
- if (!hasOnlyKeys(node, ['op', 'children']) || !Array.isArray(children)) {
327
- return condition_types_1.AlertRuleConditionViolation.MALFORMED_NODE;
328
- }
329
- if (children.length === 0) {
330
- return condition_types_1.AlertRuleConditionViolation.EMPTY_GROUP;
331
- }
332
- for (const child of children) {
333
- const violation = checkNode(child, depth + 1, counter, evaluation);
334
- if (violation !== null) {
335
- return violation;
336
- }
337
- }
338
- return null;
339
- }
340
- default:
341
- return condition_types_1.AlertRuleConditionViolation.MALFORMED_NODE;
342
- }
343
- };
344
- const validateConditionBounds = (c, evaluation = enum_1.AlertRuleEvaluation.WINDOW) => checkNode(c, 1, { nodes: 0 }, evaluation);
345
- exports.validateConditionBounds = validateConditionBounds;
346
- const isBuilderRow = (c) => c.op === 'COMPARE' || (c.op === 'NOT' && c.child.op === 'COMPARE');
347
- const isBuilderLeafGroup = (c) => (c.op === 'AND' || c.op === 'OR') && c.children.every(isBuilderRow);
348
- const isBuilderRepresentable = (c) => {
349
- if (isBuilderRow(c) || isBuilderLeafGroup(c)) {
350
- return true;
351
- }
352
- return ((c.op === 'AND' || c.op === 'OR') &&
353
- c.children.every((child) => isBuilderRow(child) || isBuilderLeafGroup(child)));
354
- };
355
- exports.isBuilderRepresentable = isBuilderRepresentable;
356
- //# sourceMappingURL=condition.bounds.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"condition.bounds.js","sourceRoot":"","sources":["../../src/rules/condition.bounds.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { AlertRuleEvaluation } from '../types/enum';
2
- import { IAlertRuleCondition, IAlertRuleErrorGroupView, IAlertRuleLogView } from './condition.types';
3
- export declare function compileCondition(c: IAlertRuleCondition, evaluation?: AlertRuleEvaluation.WINDOW | AlertRuleEvaluation.EACH_OCCURRENCE): (log: IAlertRuleLogView) => boolean;
4
- export declare function compileCondition(c: IAlertRuleCondition, evaluation: AlertRuleEvaluation.ERROR_GROUP_EVENT): (group: IAlertRuleErrorGroupView) => boolean;
@@ -1,101 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.compileCondition = compileCondition;
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 ABSENT = { kind: 'ABSENT' };
9
- const isPlainObject = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
10
- const dataReader = (segments) => (view) => {
11
- let current = view.data;
12
- for (const segment of segments) {
13
- if (!isPlainObject(current) || !Object.prototype.hasOwnProperty.call(current, segment)) {
14
- return ABSENT;
15
- }
16
- current = current[segment];
17
- }
18
- return current === null || current === undefined ? ABSENT : { kind: 'PRESENT', value: current };
19
- };
20
- const columnReader = (field) => (view) => {
21
- const value = view[field];
22
- return value === null || value === undefined ? ABSENT : { kind: 'PRESENT', value };
23
- };
24
- const readerFor = (field) => (0, condition_bounds_1.isAlertRuleDataField)(field)
25
- ? dataReader(field.slice('data.'.length).split('.'))
26
- : columnReader(field);
27
- const valueTest = (field, operator, operand) => {
28
- const severityOrder = field === enum_1.AlertRuleField.LEVEL ? -1 : 1;
29
- const numeric = (compare) => (value) => typeof value === 'number' &&
30
- compare(value * severityOrder, operand * severityOrder);
31
- const lowered = typeof operand === 'string' ? operand.toLowerCase() : '';
32
- const text = (test) => (value) => typeof value === 'string' && test(value.toLowerCase());
33
- switch (operator) {
34
- case enum_1.AlertRuleOperator.EQUALS:
35
- return (value) => value === operand;
36
- case enum_1.AlertRuleOperator.NOT_EQUALS:
37
- return (value) => value !== operand;
38
- case enum_1.AlertRuleOperator.IN:
39
- return (value) => operand.includes(value);
40
- case enum_1.AlertRuleOperator.NOT_IN:
41
- return (value) => !operand.includes(value);
42
- case enum_1.AlertRuleOperator.GT:
43
- return numeric((a, b) => a > b);
44
- case enum_1.AlertRuleOperator.GTE:
45
- return numeric((a, b) => a >= b);
46
- case enum_1.AlertRuleOperator.LT:
47
- return numeric((a, b) => a < b);
48
- case enum_1.AlertRuleOperator.LTE:
49
- return numeric((a, b) => a <= b);
50
- case enum_1.AlertRuleOperator.CONTAINS:
51
- return text((value) => value.includes(lowered));
52
- case enum_1.AlertRuleOperator.STARTS_WITH:
53
- return text((value) => value.startsWith(lowered));
54
- case enum_1.AlertRuleOperator.ENDS_WITH:
55
- return text((value) => value.endsWith(lowered));
56
- case enum_1.AlertRuleOperator.MATCHES: {
57
- const { source, flags } = (0, condition_bounds_1.decodeRegexValue)(operand);
58
- const regex = (0, safe_regex_1.compileSafeRegex)(source, flags);
59
- return (value) => typeof value === 'string' && regex.test(value);
60
- }
61
- case enum_1.AlertRuleOperator.EXISTS:
62
- return () => true;
63
- case enum_1.AlertRuleOperator.NOT_EXISTS:
64
- return () => false;
65
- }
66
- };
67
- const compileCompare = (c) => {
68
- const read = readerFor(c.field);
69
- const test = valueTest(c.field, c.operator, c.value);
70
- const whenAbsent = c.operator === enum_1.AlertRuleOperator.NOT_EXISTS;
71
- return (view) => {
72
- const result = read(view);
73
- return result.kind === 'PRESENT' ? test(result.value) : whenAbsent;
74
- };
75
- };
76
- const compile = (c) => {
77
- switch (c.op) {
78
- case 'COMPARE':
79
- return compileCompare(c);
80
- case 'NOT': {
81
- const child = compile(c.child);
82
- return (view) => !child(view);
83
- }
84
- case 'AND': {
85
- const children = c.children.map(compile);
86
- return (view) => children.every((child) => child(view));
87
- }
88
- case 'OR': {
89
- const children = c.children.map(compile);
90
- return (view) => children.some((child) => child(view));
91
- }
92
- }
93
- };
94
- function compileCondition(c, evaluation = enum_1.AlertRuleEvaluation.WINDOW) {
95
- const violation = (0, condition_bounds_1.validateConditionBounds)(c, evaluation);
96
- if (violation !== null) {
97
- throw new condition_types_1.InvalidAlertRuleConditionError(violation);
98
- }
99
- return compile(c);
100
- }
101
- //# sourceMappingURL=condition.compiler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"condition.compiler.js","sourceRoot":"","sources":["../../src/rules/condition.compiler.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { AlertRuleEvaluation } from '../types/enum';
2
- import { ParseConditionResult } from './condition.types';
3
- export declare const parseCondition: (text: string, evaluation?: AlertRuleEvaluation) => ParseConditionResult;