@oneuptime/common 11.3.5 → 11.3.7

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 (65) hide show
  1. package/Server/Infrastructure/Queue.ts +103 -16
  2. package/Server/Services/AlertService.ts +302 -202
  3. package/Server/Services/AnalyticsDatabaseService.ts +9 -5
  4. package/Server/Services/IncidentService.ts +410 -306
  5. package/Server/Services/TeamMemberService.ts +38 -1
  6. package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +31 -0
  7. package/Server/Utils/Monitor/IncomingRequestIncidentGrouping.ts +428 -0
  8. package/Server/Utils/Monitor/MonitorAlert.ts +158 -8
  9. package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +26 -0
  10. package/Server/Utils/Monitor/MonitorIncident.ts +147 -2
  11. package/Server/Utils/Monitor/MonitorResource.ts +74 -0
  12. package/Tests/Server/Utils/AnalyticsDatabase/ClusterAwareSchema.test.ts +2 -1
  13. package/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.ts +32 -0
  14. package/Tests/Server/Utils/Monitor/IncomingRequestIncidentGrouping.test.ts +389 -0
  15. package/Tests/Server/Utils/Monitor/SeriesAbsenceResolutionGuard.test.ts +177 -0
  16. package/Tests/Types/Events/Recurring.test.ts +475 -0
  17. package/Tests/Types/Monitor/CriteriaFilter.test.ts +348 -0
  18. package/Tests/Types/OnCallDutyPolicy/RestrictionTimes.test.ts +331 -0
  19. package/Tests/UI/Components/Alert.test.tsx +23 -15
  20. package/Tests/UI/Components/Breadcrumbs.test.tsx +18 -6
  21. package/Tests/UI/Components/Button.test.tsx +3 -3
  22. package/Tests/UI/Components/DictionaryFilterOperator.test.ts +174 -0
  23. package/Tests/UI/Components/EmptyState/EmptyState.test.tsx +4 -3
  24. package/Tests/UI/Components/Input.test.tsx +3 -2
  25. package/Tests/UI/Components/Pill.test.tsx +4 -2
  26. package/Tests/UI/Components/SideMenuItem.test.tsx +18 -8
  27. package/Tests/UI/Components/TextArea.test.tsx +6 -4
  28. package/Types/Monitor/IncomingMonitor/IncidentGroupingConfig.ts +74 -0
  29. package/Types/Monitor/MonitorCriteriaInstance.ts +22 -0
  30. package/UI/Components/Dictionary/Dictionary.tsx +123 -50
  31. package/UI/Components/Dictionary/DictionaryFilterOperator.ts +96 -1
  32. package/UI/Components/MasterPage/MasterPage.tsx +5 -3
  33. package/build/dist/Server/Infrastructure/Queue.js +83 -15
  34. package/build/dist/Server/Infrastructure/Queue.js.map +1 -1
  35. package/build/dist/Server/Services/AlertService.js +255 -161
  36. package/build/dist/Server/Services/AlertService.js.map +1 -1
  37. package/build/dist/Server/Services/AnalyticsDatabaseService.js +9 -5
  38. package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
  39. package/build/dist/Server/Services/IncidentService.js +322 -236
  40. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  41. package/build/dist/Server/Services/TeamMemberService.js +37 -1
  42. package/build/dist/Server/Services/TeamMemberService.js.map +1 -1
  43. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +26 -0
  44. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
  45. package/build/dist/Server/Utils/Monitor/IncomingRequestIncidentGrouping.js +288 -0
  46. package/build/dist/Server/Utils/Monitor/IncomingRequestIncidentGrouping.js.map +1 -0
  47. package/build/dist/Server/Utils/Monitor/MonitorAlert.js +119 -8
  48. package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
  49. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +24 -0
  50. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
  51. package/build/dist/Server/Utils/Monitor/MonitorIncident.js +103 -2
  52. package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
  53. package/build/dist/Server/Utils/Monitor/MonitorResource.js +62 -0
  54. package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
  55. package/build/dist/Types/Monitor/IncomingMonitor/IncidentGroupingConfig.js +8 -0
  56. package/build/dist/Types/Monitor/IncomingMonitor/IncidentGroupingConfig.js.map +1 -0
  57. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js +10 -0
  58. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js.map +1 -1
  59. package/build/dist/UI/Components/Dictionary/Dictionary.js +60 -9
  60. package/build/dist/UI/Components/Dictionary/Dictionary.js.map +1 -1
  61. package/build/dist/UI/Components/Dictionary/DictionaryFilterOperator.js +69 -0
  62. package/build/dist/UI/Components/Dictionary/DictionaryFilterOperator.js.map +1 -1
  63. package/build/dist/UI/Components/MasterPage/MasterPage.js +5 -3
  64. package/build/dist/UI/Components/MasterPage/MasterPage.js.map +1 -1
  65. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"StatementGenerator.js","sourceRoot":"","sources":["../../../../../Server/Utils/AnalyticsDatabase/StatementGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StatementGenerator.js","sourceRoot":"","sources":["../../../../../Server/Utils/AnalyticsDatabase/StatementGenerator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,288 @@
1
+ import logger from "../Logger";
2
+ import VMUtil from "../VM/VMAPI";
3
+ import MetricSeriesFingerprint from "../../../Utils/Metrics/MetricSeriesFingerprint";
4
+ import Typeof from "../../../Types/Typeof";
5
+ const DEFAULT_MAX_KEYS_PER_PAYLOAD = 100;
6
+ const ARRAY_WILDCARD = "[*]";
7
+ /**
8
+ * Turns an incoming-request / webhook payload into per-key incident
9
+ * matches, so a single monitor can hold multiple concurrent incidents —
10
+ * one per distinct value (Grafana alert name, fingerprint, etc.). This
11
+ * reuses the same `seriesFingerprint` mechanism metric monitors use for
12
+ * per-series incidents; see {@link IncidentGroupingConfig}.
13
+ */
14
+ export default class IncomingRequestIncidentGrouping {
15
+ /**
16
+ * Parse the request body into a JSON object. Bodies arrive either
17
+ * pre-parsed (JSONObject) or as a raw JSON string depending on the
18
+ * ingestion path; both are handled. Non-JSON / non-object bodies
19
+ * (e.g. a bare string heartbeat) return null — grouping is a no-op.
20
+ */
21
+ static getRequestBodyObject(dataToProcess) {
22
+ const body = dataToProcess.requestBody;
23
+ if (!body) {
24
+ return null;
25
+ }
26
+ if (typeof body === Typeof.String) {
27
+ try {
28
+ const parsed = JSON.parse(body);
29
+ return parsed &&
30
+ typeof parsed === Typeof.Object &&
31
+ !Array.isArray(parsed)
32
+ ? parsed
33
+ : null;
34
+ }
35
+ catch (_a) {
36
+ return null;
37
+ }
38
+ }
39
+ if (typeof body === Typeof.Object && !Array.isArray(body)) {
40
+ return body;
41
+ }
42
+ return null;
43
+ }
44
+ /**
45
+ * Firing matches for one criteria — used by the criteria evaluator to
46
+ * fan a matched incoming-request criteria into one incident per key.
47
+ * Returns an empty array when grouping is not configured (preserving
48
+ * the legacy single-incident behaviour) or when there is no usable
49
+ * payload (e.g. the heartbeat-timeout re-evaluation cron, which carries
50
+ * no fresh body).
51
+ */
52
+ static collectFiringMatches(input) {
53
+ var _a, _b;
54
+ const grouping = (_a = input.criteriaInstance.data) === null || _a === void 0 ? void 0 : _a.incidentGrouping;
55
+ if (!(grouping === null || grouping === void 0 ? void 0 : grouping.groupByJSONPath)) {
56
+ return [];
57
+ }
58
+ if (input.dataToProcess
59
+ .onlyCheckForIncomingRequestReceivedAt) {
60
+ return [];
61
+ }
62
+ const criteriaId = (_b = input.criteriaInstance.data) === null || _b === void 0 ? void 0 : _b.id;
63
+ if (!criteriaId) {
64
+ return [];
65
+ }
66
+ const body = this.getRequestBodyObject(input.dataToProcess);
67
+ if (!body) {
68
+ return [];
69
+ }
70
+ const matches = [];
71
+ for (const item of this.extractItems({ requestBody: body, grouping })) {
72
+ if (item.isResolved) {
73
+ // A resolved event never opens an incident.
74
+ continue;
75
+ }
76
+ matches.push({
77
+ criteriaMetId: criteriaId,
78
+ fingerprint: item.fingerprint,
79
+ labels: item.labels,
80
+ rootCause: input.rootCause ||
81
+ `Incoming request matched grouping key \`${item.keyValue}\`.`,
82
+ metricContext: undefined,
83
+ });
84
+ }
85
+ return matches;
86
+ }
87
+ /**
88
+ * Fingerprints the payload explicitly classifies as resolved, across
89
+ * every grouping-enabled criteria on the monitor's step. The caller
90
+ * resolves the matching open incidents (event-driven resolution: only
91
+ * keys the payload says recovered are closed — never by absence).
92
+ */
93
+ static collectResolvedFingerprints(input) {
94
+ var _a;
95
+ if (input.dataToProcess
96
+ .onlyCheckForIncomingRequestReceivedAt) {
97
+ return [];
98
+ }
99
+ const body = this.getRequestBodyObject(input.dataToProcess);
100
+ if (!body) {
101
+ return [];
102
+ }
103
+ const fingerprints = new Set();
104
+ for (const criteriaInstance of input.criteriaInstances) {
105
+ const grouping = (_a = criteriaInstance.data) === null || _a === void 0 ? void 0 : _a.incidentGrouping;
106
+ if (!(grouping === null || grouping === void 0 ? void 0 : grouping.groupByJSONPath)) {
107
+ continue;
108
+ }
109
+ for (const item of this.extractItems({ requestBody: body, grouping })) {
110
+ if (item.isResolved) {
111
+ fingerprints.add(item.fingerprint);
112
+ }
113
+ }
114
+ }
115
+ return Array.from(fingerprints);
116
+ }
117
+ /**
118
+ * Whether any criteria on the step has grouping configured. Used to
119
+ * force per-series mode so a grouped criteria never falls back to a
120
+ * single whole-monitor incident on a payload that yields no firing key.
121
+ */
122
+ static isGroupingConfigured(criteriaInstance) {
123
+ var _a, _b;
124
+ return Boolean((_b = (_a = criteriaInstance === null || criteriaInstance === void 0 ? void 0 : criteriaInstance.data) === null || _a === void 0 ? void 0 : _a.incidentGrouping) === null || _b === void 0 ? void 0 : _b.groupByJSONPath);
125
+ }
126
+ /**
127
+ * Extract all distinct keys from a payload for one grouping config,
128
+ * classifying each as firing or resolved. Deduplicates by fingerprint
129
+ * and caps the count at `maxKeysPerPayload` to bound cardinality.
130
+ */
131
+ static extractItems(input) {
132
+ const { requestBody, grouping } = input;
133
+ const groupByPath = this.normalizePath(grouping.groupByJSONPath);
134
+ if (!groupByPath) {
135
+ return [];
136
+ }
137
+ const labelKey = this.labelKeyFromPath(groupByPath);
138
+ const maxKeys = grouping.maxKeysPerPayload && grouping.maxKeysPerPayload > 0
139
+ ? grouping.maxKeysPerPayload
140
+ : DEFAULT_MAX_KEYS_PER_PAYLOAD;
141
+ const items = [];
142
+ const seenFingerprints = new Set();
143
+ const addItem = (keyValue, isResolved) => {
144
+ const labels = { [labelKey]: keyValue };
145
+ const fingerprint = MetricSeriesFingerprint.computeFingerprint(labels);
146
+ if (seenFingerprints.has(fingerprint)) {
147
+ // Same key twice in one payload — keep the first occurrence.
148
+ return;
149
+ }
150
+ seenFingerprints.add(fingerprint);
151
+ items.push({ fingerprint, labels, keyValue, isResolved });
152
+ };
153
+ const wildcardIndex = groupByPath.indexOf(ARRAY_WILDCARD);
154
+ // Simple (non-array) path: a single key for the whole payload.
155
+ if (wildcardIndex === -1) {
156
+ const keyValue = this.toScalarString(VMUtil.deepFind(requestBody, groupByPath));
157
+ if (keyValue === null) {
158
+ return [];
159
+ }
160
+ addItem(keyValue, this.isResolvedForScope(requestBody, requestBody, grouping, false));
161
+ return items;
162
+ }
163
+ // Array fan-out: one key per element of the array at the `[*]` prefix.
164
+ const prefixPath = groupByPath
165
+ .slice(0, wildcardIndex)
166
+ .replace(/\.$/, "");
167
+ const elementSuffix = this.stripLeadingDot(groupByPath.slice(wildcardIndex + ARRAY_WILDCARD.length));
168
+ const arrayValue = prefixPath
169
+ ? VMUtil.deepFind(requestBody, prefixPath)
170
+ : requestBody;
171
+ if (!Array.isArray(arrayValue)) {
172
+ return [];
173
+ }
174
+ for (const element of arrayValue) {
175
+ if (items.length >= maxKeys) {
176
+ logger.warn(`IncomingRequestIncidentGrouping: payload produced more than ${maxKeys} keys for path "${groupByPath}"; remaining keys ignored.`);
177
+ break;
178
+ }
179
+ const isObjectElement = Boolean(element) && typeof element === Typeof.Object;
180
+ let keyValue;
181
+ if (elementSuffix) {
182
+ // `prefix[*].sub.path` — element must be an object to dig into.
183
+ if (!isObjectElement) {
184
+ continue;
185
+ }
186
+ keyValue = this.toScalarString(VMUtil.deepFind(element, elementSuffix));
187
+ }
188
+ else {
189
+ // `prefix[*]` — the array element itself is the key (array of scalars).
190
+ keyValue = this.toScalarString(element);
191
+ }
192
+ if (keyValue === null) {
193
+ continue;
194
+ }
195
+ /*
196
+ * Per-element resolve classification only applies when the element
197
+ * is an object (so `[*].status` can be read off it). For scalar
198
+ * elements there is no per-element field, so fall back to root scope.
199
+ */
200
+ addItem(keyValue, this.isResolvedForScope(isObjectElement ? element : requestBody, requestBody, grouping, isObjectElement));
201
+ }
202
+ return items;
203
+ }
204
+ /**
205
+ * Classify whether the configured resolve condition holds. When the
206
+ * resolve path uses `[*]` AND we are evaluating a specific array element
207
+ * (`isElementContext`), it is read off that element (`elementScope`).
208
+ * Otherwise it is evaluated against the whole payload (`rootScope`).
209
+ *
210
+ * If the resolve path uses `[*]` but the group-by path does NOT (so we
211
+ * are not in element context — a self-contradictory config), the path is
212
+ * evaluated verbatim against the root: `deepFind` does not interpret
213
+ * `[*]`, so it returns undefined (not resolved) rather than silently
214
+ * rebinding to a same-named top-level field.
215
+ */
216
+ static isResolvedForScope(elementScope, rootScope, grouping, isElementContext) {
217
+ if (!grouping.resolvedWhenJSONPath ||
218
+ grouping.resolvedWhenValue === undefined) {
219
+ return false;
220
+ }
221
+ const resolvedPath = this.normalizePath(grouping.resolvedWhenJSONPath);
222
+ const wildcardIndex = resolvedPath.indexOf(ARRAY_WILDCARD);
223
+ let scope = rootScope;
224
+ let path = resolvedPath;
225
+ if (wildcardIndex !== -1 && isElementContext) {
226
+ scope = elementScope;
227
+ path = this.stripLeadingDot(resolvedPath.slice(wildcardIndex + ARRAY_WILDCARD.length));
228
+ }
229
+ if (!path) {
230
+ return false;
231
+ }
232
+ const value = this.toScalarString(VMUtil.deepFind(scope, path));
233
+ return value !== null && value === grouping.resolvedWhenValue;
234
+ }
235
+ /**
236
+ * Derive a human-friendly label key from a JSON path — the last named
237
+ * segment, with array/wildcard syntax stripped. `alerts[*].labels.alertname`
238
+ * → `alertname`. Used as the template variable name (so titles can say
239
+ * `{{alertname}}`) and as the fingerprint label key.
240
+ */
241
+ static labelKeyFromPath(path) {
242
+ const cleaned = path
243
+ .replace(/\[\*\]/g, "")
244
+ .replace(/\[[^\]]*\]/g, "");
245
+ const parts = cleaned.split(".").filter(Boolean);
246
+ return parts.length > 0 ? parts[parts.length - 1] : "key";
247
+ }
248
+ static stripLeadingDot(path) {
249
+ return path.startsWith(".") ? path.slice(1) : path;
250
+ }
251
+ /**
252
+ * Resolve the `requestBody`-rooted path users write — the same convention
253
+ * incident templates and JavaScript-expression filters use — into a path
254
+ * relative to the body (the actual scope `deepFind` resolves against).
255
+ * Both of these forms are accepted and resolve identically:
256
+ *
257
+ * `{{requestBody.alerts[*].labels.alertname}}` (template wrapper)
258
+ * `requestBody.alerts[*].labels.alertname`
259
+ *
260
+ * The `requestBody` root is REQUIRED — a path not rooted there resolves
261
+ * to nothing, so the field has exactly one convention.
262
+ */
263
+ static normalizePath(rawPath) {
264
+ let path = rawPath.trim();
265
+ if (path.startsWith("{{") && path.endsWith("}}")) {
266
+ path = path.slice(2, -2).trim();
267
+ }
268
+ if (path.startsWith("requestBody.")) {
269
+ return path.slice("requestBody.".length);
270
+ }
271
+ return "";
272
+ }
273
+ /**
274
+ * Coerce an extracted value to a non-empty scalar string. Objects and
275
+ * arrays cannot be a grouping key and return null (the item is skipped).
276
+ */
277
+ static toScalarString(value) {
278
+ if (value === undefined || value === null) {
279
+ return null;
280
+ }
281
+ if (typeof value === Typeof.Object) {
282
+ return null;
283
+ }
284
+ const stringValue = String(value);
285
+ return stringValue.length > 0 ? stringValue : null;
286
+ }
287
+ }
288
+ //# sourceMappingURL=IncomingRequestIncidentGrouping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IncomingRequestIncidentGrouping.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/IncomingRequestIncidentGrouping.ts"],"names":[],"mappings":"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"}
@@ -64,6 +64,7 @@ export default class MonitorAlert {
64
64
  autoResolveCriteriaInstanceIdAlertIdsDictionary: input.autoResolveCriteriaInstanceIdAlertIdsDictionary,
65
65
  criteriaInstance: input.criteriaInstance,
66
66
  breachingSeriesFingerprints: input.breachingSeriesFingerprints,
67
+ disableSeriesAbsenceResolution: input.disableSeriesAbsenceResolution,
67
68
  });
68
69
  if (shouldClose) {
69
70
  // then resolve alert.
@@ -86,6 +87,71 @@ export default class MonitorAlert {
86
87
  }
87
88
  return openAlerts;
88
89
  }
90
+ /**
91
+ * Event-driven (incoming-request / webhook) resolution: resolve the open
92
+ * alerts for the given payload-derived fingerprints — and only those —
93
+ * when the criteria that created them has auto-resolve enabled. Mirrors
94
+ * MonitorIncident.resolveSeriesIncidentsByFingerprint; never resolves by
95
+ * absence (a webhook describes only the keys in its payload).
96
+ */
97
+ static async resolveSeriesAlertsByFingerprint(input) {
98
+ var _a, _b, _c, _d;
99
+ if (!input.fingerprints || input.fingerprints.length === 0) {
100
+ return;
101
+ }
102
+ const fingerprintSet = new Set(input.fingerprints);
103
+ const openAlerts = await AlertService.findBy({
104
+ query: {
105
+ monitor: input.monitor.id,
106
+ currentAlertState: {
107
+ isResolvedState: false,
108
+ },
109
+ },
110
+ skip: 0,
111
+ limit: LIMIT_PER_PROJECT,
112
+ select: {
113
+ _id: true,
114
+ title: true,
115
+ createdCriteriaId: true,
116
+ projectId: true,
117
+ alertNumber: true,
118
+ alertNumberWithPrefix: true,
119
+ seriesFingerprint: true,
120
+ },
121
+ props: {
122
+ isRoot: true,
123
+ },
124
+ });
125
+ for (const openAlert of openAlerts) {
126
+ const fingerprint = openAlert.seriesFingerprint || undefined;
127
+ if (!fingerprint || !fingerprintSet.has(fingerprint)) {
128
+ continue;
129
+ }
130
+ const createdCriteriaId = (_a = openAlert.createdCriteriaId) === null || _a === void 0 ? void 0 : _a.toString();
131
+ if (!createdCriteriaId) {
132
+ continue;
133
+ }
134
+ // Only auto-resolve when the creating criteria opted into it.
135
+ const autoResolveTemplates = input.autoResolveCriteriaInstanceIdAlertIdsDictionary[createdCriteriaId];
136
+ if (!autoResolveTemplates || autoResolveTemplates.length === 0) {
137
+ continue;
138
+ }
139
+ await this.resolveOpenAlert({
140
+ openAlert: openAlert,
141
+ rootCause: input.rootCause,
142
+ dataToProcess: input.dataToProcess,
143
+ });
144
+ (_b = input.evaluationSummary) === null || _b === void 0 ? void 0 : _b.events.push({
145
+ type: "alert-resolved",
146
+ title: `Alert resolved: ${(_c = openAlert.id) === null || _c === void 0 ? void 0 : _c.toString()}`,
147
+ message: "Alert auto-resolved because the incoming payload reported this key as resolved.",
148
+ relatedAlertId: (_d = openAlert.id) === null || _d === void 0 ? void 0 : _d.toString(),
149
+ relatedAlertNumber: openAlert.alertNumber,
150
+ relatedAlertNumberWithPrefix: openAlert.alertNumberWithPrefix,
151
+ at: OneUptimeDate.getCurrentDate(),
152
+ });
153
+ }
154
+ }
89
155
  static async criteriaMetCreateAlertsAndUpdateMonitorStatus(input) {
90
156
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1;
91
157
  const alertLogAttributes = {
@@ -93,7 +159,7 @@ export default class MonitorAlert {
93
159
  };
94
160
  // check open alerts
95
161
  logger.debug(`${(_b = input.monitor.id) === null || _b === void 0 ? void 0 : _b.toString()} - Check open alerts.`, alertLogAttributes);
96
- const breachingSeriesFingerprints = input.matchesPerSeries
162
+ const breachingSeriesFingerprints = input.matchesPerSeries && !input.disableSeriesAbsenceResolution
97
163
  ? new Set(input.matchesPerSeries.map((m) => {
98
164
  return m.fingerprint;
99
165
  }))
@@ -107,6 +173,7 @@ export default class MonitorAlert {
107
173
  dataToProcess: input.dataToProcess,
108
174
  evaluationSummary: input.evaluationSummary,
109
175
  breachingSeriesFingerprints,
176
+ disableSeriesAbsenceResolution: input.disableSeriesAbsenceResolution,
110
177
  });
111
178
  if (!((_c = input.criteriaInstance.data) === null || _c === void 0 ? void 0 : _c.createAlerts)) {
112
179
  return;
@@ -122,7 +189,14 @@ export default class MonitorAlert {
122
189
  const clusterContext = await MonitorClusterContextUtil.resolveClusterContextForMonitor({
123
190
  monitor: input.monitor,
124
191
  });
125
- const seriesToProcess = input.matchesPerSeries && input.matchesPerSeries.length > 0
192
+ /*
193
+ * `undefined` matchesPerSeries → legacy single-alert path. A defined
194
+ * (even empty) array → per-series mode: iterate exactly the matches.
195
+ * An empty array therefore creates nothing — used by grouped
196
+ * incoming-request criteria on a payload with no firing key so they
197
+ * don't fall back to a single whole-monitor alert.
198
+ */
199
+ const seriesToProcess = input.matchesPerSeries !== undefined
126
200
  ? input.matchesPerSeries
127
201
  : [undefined];
128
202
  for (const criteriaAlert of ((_d = input.criteriaInstance.data) === null || _d === void 0 ? void 0 : _d.alerts) || []) {
@@ -400,6 +474,7 @@ export default class MonitorAlert {
400
474
  }
401
475
  }
402
476
  static async resolveOpenAlert(input) {
477
+ var _a;
403
478
  const resolvedStateId = await AlertStateTimelineService.getResolvedStateIdForProject(input.openAlert.projectId);
404
479
  const alertStateTimeline = new AlertStateTimeline();
405
480
  alertStateTimeline.alertId = input.openAlert.id;
@@ -413,16 +488,46 @@ export default class MonitorAlert {
413
488
  if (input.dataToProcess) {
414
489
  alertStateTimeline.stateChangeLog = JSON.parse(JSON.stringify(input.dataToProcess));
415
490
  }
416
- await AlertStateTimelineService.create({
417
- data: alertStateTimeline,
418
- props: {
419
- isRoot: true,
420
- },
421
- });
491
+ try {
492
+ await AlertStateTimelineService.create({
493
+ data: alertStateTimeline,
494
+ props: {
495
+ isRoot: true,
496
+ },
497
+ });
498
+ }
499
+ catch (err) {
500
+ /*
501
+ * Idempotent concurrency race: two evaluations for the same monitor
502
+ * (e.g. the explicit per-key resolveSeriesAlertsByFingerprint path and
503
+ * the checkOpenAlertsAndCloseIfResolved path) can both decide to resolve
504
+ * the same open alert near-simultaneously. The loser's onBeforeCreate
505
+ * dedupe throws this exact BadDataException. Treat as a no-op at debug
506
+ * level instead of failing the queue job. Mirrors resolveOpenIncident.
507
+ */
508
+ if (err instanceof BadDataException &&
509
+ err.message === "Alert state cannot be same as previous state.") {
510
+ logger.debug(`${(_a = input.openAlert.id) === null || _a === void 0 ? void 0 : _a.toString()} - Alert already in resolved state; skipping duplicate state timeline (concurrent race).`);
511
+ }
512
+ else {
513
+ throw err;
514
+ }
515
+ }
422
516
  }
423
517
  static shouldCloseAlert(input) {
424
518
  var _a, _b, _c, _d, _e, _f, _g;
425
519
  const openSeriesFingerprint = input.openAlert.seriesFingerprint || undefined;
520
+ /*
521
+ * Event-driven (incoming-request / webhook) per-key alerts must NEVER
522
+ * be resolved by absence — only explicitly, via
523
+ * resolveSeriesAlertsByFingerprint, when the payload reports the key as
524
+ * recovered. Mirrors MonitorIncident.shouldCloseIncident. Without this
525
+ * guard, a heartbeat-timeout cron tick or a rejected webhook would
526
+ * bulk-resolve all open per-key alerts by absence.
527
+ */
528
+ if (input.disableSeriesAbsenceResolution && openSeriesFingerprint) {
529
+ return false;
530
+ }
426
531
  /*
427
532
  * Per-series auto-resolve: when a breaching-series set is given and
428
533
  * this alert has a fingerprint, resolve whenever the fingerprint is
@@ -470,6 +575,12 @@ __decorate([
470
575
  __metadata("design:paramtypes", [Object]),
471
576
  __metadata("design:returntype", Promise)
472
577
  ], MonitorAlert, "checkOpenAlertsAndCloseIfResolved", null);
578
+ __decorate([
579
+ CaptureSpan(),
580
+ __metadata("design:type", Function),
581
+ __metadata("design:paramtypes", [Object]),
582
+ __metadata("design:returntype", Promise)
583
+ ], MonitorAlert, "resolveSeriesAlertsByFingerprint", null);
473
584
  __decorate([
474
585
  CaptureSpan(),
475
586
  __metadata("design:type", Function),