@oneuptime/common 11.5.11 → 11.5.13

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 (142) hide show
  1. package/Models/AnalyticsModels/NetworkFlow.ts +12 -1
  2. package/Models/DatabaseModels/AIInsight.ts +30 -0
  3. package/Models/DatabaseModels/Project.ts +30 -0
  4. package/Models/DatabaseModels/TelemetryException.ts +128 -0
  5. package/Server/API/AIAgentDataAPI.ts +129 -5
  6. package/Server/API/AIInvestigationAPI.ts +87 -0
  7. package/Server/API/StatusPageAPI.ts +14 -1
  8. package/Server/Infrastructure/Postgres/SchemaMigrations/1784640000000-AddExceptionTriageAndPrivacyColumns.ts +56 -0
  9. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +2 -2
  10. package/Server/Services/AIRunService.ts +8 -0
  11. package/Server/Services/IncidentService.ts +62 -67
  12. package/Server/Services/MonitorGroupService.ts +15 -2
  13. package/Server/Services/MonitorService.ts +91 -3
  14. package/Server/Services/MonitorStatusTimelineService.ts +285 -100
  15. package/Server/Services/StatusPageService.ts +59 -34
  16. package/Server/Services/TelemetryExceptionService.ts +320 -24
  17. package/Server/Utils/AI/SRE/Insights/Detectors/ExceptionSpikeDetector.ts +15 -4
  18. package/Server/Utils/AI/SRE/Insights/Detectors/NewExceptionDetector.ts +15 -4
  19. package/Server/Utils/AI/SRE/Insights/InsightScanner.ts +222 -24
  20. package/Server/Utils/AI/SRE/Insights/InsightTriageRunner.ts +225 -9
  21. package/Server/Utils/AI/SRE/SubjectCodeFixRun.ts +39 -0
  22. package/Server/Utils/AI/SRE/TelemetryImprovementTaskTrigger.ts +114 -0
  23. package/Server/Utils/Monitor/MonitorResource.ts +43 -14
  24. package/Server/Utils/Monitor/MonitorStatusTimeline.ts +32 -7
  25. package/Server/Utils/Monitor/MonitorStatusTimelineReconciler.ts +362 -0
  26. package/Server/Utils/Telemetry/ExceptionSanitizer.ts +222 -0
  27. package/Tests/Server/Services/MonitorStatusTimelineService.test.ts +235 -0
  28. package/Tests/Server/Services/TelemetryExceptionCodeFixRun.test.ts +205 -1
  29. package/Tests/Server/Utils/AI/Insights/InsightScanner.test.ts +150 -141
  30. package/Tests/Server/Utils/AI/Insights/InsightTriageRunner.test.ts +277 -1
  31. package/Tests/Server/Utils/ExceptionSanitizer.test.ts +70 -0
  32. package/Tests/Server/Utils/InsightTriageClassification.test.ts +57 -0
  33. package/Tests/Server/Utils/Monitor/MonitorStatusTimelineReconciler.test.ts +555 -0
  34. package/Tests/Server/Utils/TelemetryImprovementTaskTrigger.test.ts +141 -0
  35. package/Tests/Types/Database/CompareOperatorWireSerialization.test.ts +216 -0
  36. package/Tests/Types/Database/GreaterThan.test.ts +5 -1
  37. package/Tests/Types/Database/GreaterThanOrEqual.test.ts +5 -1
  38. package/Tests/Types/Database/GreaterThanOrNull.test.ts +24 -1
  39. package/Tests/Types/Database/LessThan.test.ts +5 -1
  40. package/Tests/Types/Database/LessThanOrEqual.test.ts +24 -1
  41. package/Tests/Types/Database/LessThanOrNull.test.ts +5 -1
  42. package/Tests/UI/Components/ModelTableSelectFromColumns.test.ts +259 -0
  43. package/Tests/Utils/Uptime/UptimeUtil.test.ts +726 -0
  44. package/Types/AI/CodeFixTaskContext.ts +6 -0
  45. package/Types/AI/CodeFixTaskType.ts +38 -1
  46. package/Types/AI/ExceptionAIClassification.ts +27 -0
  47. package/Types/BaseDatabase/GreaterThan.ts +8 -1
  48. package/Types/BaseDatabase/GreaterThanOrEqual.ts +8 -1
  49. package/Types/BaseDatabase/GreaterThanOrNull.ts +9 -1
  50. package/Types/BaseDatabase/LessThan.ts +8 -1
  51. package/Types/BaseDatabase/LessThanOrEqual.ts +9 -1
  52. package/Types/BaseDatabase/LessThanOrNull.ts +8 -1
  53. package/Types/Log/LogScrubPatternType.ts +7 -0
  54. package/Types/Trace/TraceScrubPatternType.ts +7 -0
  55. package/UI/Components/ModelTable/BaseModelTable.tsx +15 -46
  56. package/UI/Components/ModelTable/SelectFromColumns.ts +129 -0
  57. package/Utils/StatusPage/ResourceUptime.ts +11 -1
  58. package/Utils/Uptime/UptimeUtil.ts +142 -36
  59. package/build/dist/Models/AnalyticsModels/NetworkFlow.js +12 -1
  60. package/build/dist/Models/AnalyticsModels/NetworkFlow.js.map +1 -1
  61. package/build/dist/Models/DatabaseModels/AIInsight.js +31 -0
  62. package/build/dist/Models/DatabaseModels/AIInsight.js.map +1 -1
  63. package/build/dist/Models/DatabaseModels/Project.js +31 -0
  64. package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
  65. package/build/dist/Models/DatabaseModels/TelemetryException.js +134 -0
  66. package/build/dist/Models/DatabaseModels/TelemetryException.js.map +1 -1
  67. package/build/dist/Server/API/AIAgentDataAPI.js +97 -8
  68. package/build/dist/Server/API/AIAgentDataAPI.js.map +1 -1
  69. package/build/dist/Server/API/AIInvestigationAPI.js +55 -0
  70. package/build/dist/Server/API/AIInvestigationAPI.js.map +1 -1
  71. package/build/dist/Server/API/StatusPageAPI.js +12 -2
  72. package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
  73. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784640000000-AddExceptionTriageAndPrivacyColumns.js +33 -0
  74. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784640000000-AddExceptionTriageAndPrivacyColumns.js.map +1 -0
  75. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +2 -2
  76. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  77. package/build/dist/Server/Services/AIRunService.js +9 -2
  78. package/build/dist/Server/Services/AIRunService.js.map +1 -1
  79. package/build/dist/Server/Services/IncidentService.js +47 -56
  80. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  81. package/build/dist/Server/Services/MonitorGroupService.js +15 -2
  82. package/build/dist/Server/Services/MonitorGroupService.js.map +1 -1
  83. package/build/dist/Server/Services/MonitorService.js +66 -3
  84. package/build/dist/Server/Services/MonitorService.js.map +1 -1
  85. package/build/dist/Server/Services/MonitorStatusTimelineService.js +244 -102
  86. package/build/dist/Server/Services/MonitorStatusTimelineService.js.map +1 -1
  87. package/build/dist/Server/Services/StatusPageService.js +57 -33
  88. package/build/dist/Server/Services/StatusPageService.js.map +1 -1
  89. package/build/dist/Server/Services/TelemetryExceptionService.js +263 -22
  90. package/build/dist/Server/Services/TelemetryExceptionService.js.map +1 -1
  91. package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/ExceptionSpikeDetector.js +12 -4
  92. package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/ExceptionSpikeDetector.js.map +1 -1
  93. package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/NewExceptionDetector.js +12 -4
  94. package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/NewExceptionDetector.js.map +1 -1
  95. package/build/dist/Server/Utils/AI/SRE/Insights/InsightScanner.js +193 -22
  96. package/build/dist/Server/Utils/AI/SRE/Insights/InsightScanner.js.map +1 -1
  97. package/build/dist/Server/Utils/AI/SRE/Insights/InsightTriageRunner.js +178 -9
  98. package/build/dist/Server/Utils/AI/SRE/Insights/InsightTriageRunner.js.map +1 -1
  99. package/build/dist/Server/Utils/AI/SRE/SubjectCodeFixRun.js +37 -0
  100. package/build/dist/Server/Utils/AI/SRE/SubjectCodeFixRun.js.map +1 -1
  101. package/build/dist/Server/Utils/AI/SRE/TelemetryImprovementTaskTrigger.js +98 -0
  102. package/build/dist/Server/Utils/AI/SRE/TelemetryImprovementTaskTrigger.js.map +1 -0
  103. package/build/dist/Server/Utils/Monitor/MonitorResource.js +34 -12
  104. package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
  105. package/build/dist/Server/Utils/Monitor/MonitorStatusTimeline.js +25 -8
  106. package/build/dist/Server/Utils/Monitor/MonitorStatusTimeline.js.map +1 -1
  107. package/build/dist/Server/Utils/Monitor/MonitorStatusTimelineReconciler.js +268 -0
  108. package/build/dist/Server/Utils/Monitor/MonitorStatusTimelineReconciler.js.map +1 -0
  109. package/build/dist/Server/Utils/Telemetry/ExceptionSanitizer.js +149 -0
  110. package/build/dist/Server/Utils/Telemetry/ExceptionSanitizer.js.map +1 -0
  111. package/build/dist/Types/AI/CodeFixTaskType.js +38 -1
  112. package/build/dist/Types/AI/CodeFixTaskType.js.map +1 -1
  113. package/build/dist/Types/AI/ExceptionAIClassification.js +28 -0
  114. package/build/dist/Types/AI/ExceptionAIClassification.js.map +1 -0
  115. package/build/dist/Types/BaseDatabase/GreaterThan.js +8 -1
  116. package/build/dist/Types/BaseDatabase/GreaterThan.js.map +1 -1
  117. package/build/dist/Types/BaseDatabase/GreaterThanOrEqual.js +8 -1
  118. package/build/dist/Types/BaseDatabase/GreaterThanOrEqual.js.map +1 -1
  119. package/build/dist/Types/BaseDatabase/GreaterThanOrNull.js +9 -1
  120. package/build/dist/Types/BaseDatabase/GreaterThanOrNull.js.map +1 -1
  121. package/build/dist/Types/BaseDatabase/LessThan.js +8 -1
  122. package/build/dist/Types/BaseDatabase/LessThan.js.map +1 -1
  123. package/build/dist/Types/BaseDatabase/LessThanOrEqual.js +9 -1
  124. package/build/dist/Types/BaseDatabase/LessThanOrEqual.js.map +1 -1
  125. package/build/dist/Types/BaseDatabase/LessThanOrNull.js +8 -1
  126. package/build/dist/Types/BaseDatabase/LessThanOrNull.js.map +1 -1
  127. package/build/dist/Types/Log/LogScrubPatternType.js +7 -0
  128. package/build/dist/Types/Log/LogScrubPatternType.js.map +1 -1
  129. package/build/dist/Types/Trace/TraceScrubPatternType.js +7 -0
  130. package/build/dist/Types/Trace/TraceScrubPatternType.js.map +1 -1
  131. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +12 -37
  132. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  133. package/build/dist/UI/Components/ModelTable/SelectFromColumns.js +82 -0
  134. package/build/dist/UI/Components/ModelTable/SelectFromColumns.js.map +1 -0
  135. package/build/dist/Utils/StatusPage/ResourceUptime.js +4 -1
  136. package/build/dist/Utils/StatusPage/ResourceUptime.js.map +1 -1
  137. package/build/dist/Utils/Uptime/UptimeUtil.js +86 -33
  138. package/build/dist/Utils/Uptime/UptimeUtil.js.map +1 -1
  139. package/package.json +1 -1
  140. package/Server/Infrastructure/Postgres/SchemaMigrations/1784401962564-MigrationName.ts +0 -101
  141. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784401962564-MigrationName.js +0 -40
  142. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784401962564-MigrationName.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"MonitorResource.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorResource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MonitorResource.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorResource.ts"],"names":[],"mappings":"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"}
@@ -10,13 +10,14 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  import MonitorStatusTimeline from "../../../Models/DatabaseModels/MonitorStatusTimeline";
11
11
  import SortOrder from "../../../Types/BaseDatabase/SortOrder";
12
12
  import BadDataException from "../../../Types/Exception/BadDataException";
13
- import MonitorStatusTimelineService from "../../Services/MonitorStatusTimelineService";
13
+ import MonitorStatusTimelineService, { MONITOR_STATUS_SAME_AS_PREVIOUS_ERROR_MESSAGE, MONITOR_STATUS_TIMELINE_LOCK_ERROR_MESSAGE, } from "../../Services/MonitorStatusTimelineService";
14
+ import ServerException from "../../../Types/Exception/ServerException";
14
15
  import logger from "../Logger";
15
16
  import CaptureSpan from "../Telemetry/CaptureSpan";
16
17
  export default class MonitorStatusTimelineUtil {
17
18
  static async updateMonitorStatusTimeline(input) {
18
19
  // criteria filters are met, now process the actions.
19
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
20
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
20
21
  const lastMonitorStatusTimeline = await MonitorStatusTimelineService.findOneBy({
21
22
  query: {
22
23
  monitorId: input.monitor.id,
@@ -90,21 +91,37 @@ export default class MonitorStatusTimelineUtil {
90
91
  catch (err) {
91
92
  /*
92
93
  * Concurrency race: two probe/ingest results for the same monitor can be
93
- * processed near-simultaneously (the per-monitor mutexes in
94
- * MonitorResourceUtil.monitorResource and MonitorStatusTimeline.create can
95
- * time out under load and fall through unlocked). Both see the same prior
96
- * status and both try to write the same new status row. The
94
+ * processed near-simultaneously and both see the same prior status, so both
95
+ * try to write the same new status row. The
97
96
  * MonitorStatusTimelineService.onBeforeCreate dedupe check then throws this
98
97
  * exact BadDataException for the loser of the race. This is an idempotent
99
98
  * no-op (the desired status is already the current status), so swallow it at
100
- * debug level instead of failing the job and logging a full ERROR stack.
99
+ * debug level instead of failing the job and logging a full ERROR stack. The
100
+ * race itself is now logged at warn by onBeforeCreate, which is the
101
+ * authoritative telemetry for it - this log only records that we skipped.
101
102
  * Match the exact message so unrelated BadDataExceptions still propagate.
102
103
  */
103
104
  if (err instanceof BadDataException &&
104
- err.message === "Monitor Status cannot be same as previous status.") {
105
+ err.message === MONITOR_STATUS_SAME_AS_PREVIOUS_ERROR_MESSAGE) {
105
106
  logger.debug(`${(_p = input.monitor.id) === null || _p === void 0 ? void 0 : _p.toString()} - Monitor status already equals desired status; skipping duplicate status timeline (concurrent race).`);
106
107
  return null;
107
108
  }
109
+ /*
110
+ * The per-monitor mutex in MonitorStatusTimelineService.create() is
111
+ * fail-closed: if Redis is unavailable or the lock cannot be acquired within
112
+ * the acquire timeout, the create is refused rather than performed unlocked.
113
+ * Writing unlocked is what produced permanently orphaned (endsAt = NULL)
114
+ * timeline rows, which read back as unbounded downtime on status pages and
115
+ * uptime reports - far worse than a missed status transition. Skipping is
116
+ * recoverable: the next probe result for this monitor evaluates the same
117
+ * criteria and creates the same status change. So log and skip rather than
118
+ * failing the whole probe ingest run for this monitor.
119
+ */
120
+ if (err instanceof ServerException &&
121
+ err.message === MONITOR_STATUS_TIMELINE_LOCK_ERROR_MESSAGE) {
122
+ logger.error(`${(_q = input.monitor.id) === null || _q === void 0 ? void 0 : _q.toString()} - Could not acquire the monitor status timeline lock; skipping this status change. It will be retried on the next probe result.`);
123
+ return null;
124
+ }
108
125
  throw err;
109
126
  }
110
127
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MonitorStatusTimeline.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorStatusTimeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MonitorStatusTimeline.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorStatusTimeline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,268 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import PostgresAppInstance from "../../Infrastructure/PostgresDatabase";
11
+ import DatabaseNotConnectedException from "../../../Types/Exception/DatabaseNotConnectedException";
12
+ import ObjectID from "../../../Types/ObjectID";
13
+ import logger from "../Logger";
14
+ import CaptureSpan from "../Telemetry/CaptureSpan";
15
+ /*
16
+ * Bounded so a single run never loads a pathological monitor's whole backlog into memory.
17
+ * Production currently has ~67.5k stale rows, ~56k of them on ONE monitor.
18
+ */
19
+ export const DEFAULT_STALE_OPEN_ROW_BATCH_SIZE = 1000;
20
+ const MIN_BATCH_SIZE = 1;
21
+ const MAX_BATCH_SIZE = 10000;
22
+ /*
23
+ * Pure runaway guard. Every non-terminal round repairs exactly batchSize rows, so the loop
24
+ * is already guaranteed to terminate; this only bounds a run if that invariant is ever broken.
25
+ */
26
+ const MAX_ROUNDS = 100000;
27
+ export default class MonitorStatusTimelineReconciler {
28
+ /*
29
+ * Finds and repairs stale open rows. Idempotent: a second run over the same data repairs
30
+ * nothing, because a repaired row no longer matches endsAt IS NULL.
31
+ *
32
+ * Monitors are processed round-robin, one batch each per round, so a monitor with tens of
33
+ * thousands of stale rows cannot starve the rest of the fleet.
34
+ */
35
+ static async repairStaleOpenRows(options = {}) {
36
+ const batchSize = this.getBatchSize(options.batchSize);
37
+ const monitorIds = options.monitorId
38
+ ? [options.monitorId]
39
+ : await this.getMonitorIdsWithStaleOpenRows();
40
+ const result = {
41
+ scanned: 0,
42
+ repaired: 0,
43
+ monitorsWithStaleRows: monitorIds.length,
44
+ repairedMonitorIds: [],
45
+ failedMonitorIds: [],
46
+ };
47
+ if (monitorIds.length === 0) {
48
+ logger.debug("MonitorStatusTimelineReconciler: no monitors have stale open status timeline rows.");
49
+ return result;
50
+ }
51
+ logger.debug(`MonitorStatusTimelineReconciler: ${monitorIds.length} monitor(s) have stale open status timeline rows. Batch size ${batchSize}.`);
52
+ const repairedMonitorIds = new Set();
53
+ const failedMonitorIds = new Set();
54
+ let pendingMonitorIds = monitorIds;
55
+ let round = 0;
56
+ while (pendingMonitorIds.length > 0) {
57
+ round++;
58
+ if (round > MAX_ROUNDS) {
59
+ logger.error(`MonitorStatusTimelineReconciler: aborting after ${MAX_ROUNDS} rounds with ${pendingMonitorIds.length} monitor(s) still pending. This should be unreachable.`);
60
+ break;
61
+ }
62
+ const stillPendingMonitorIds = [];
63
+ for (const monitorId of pendingMonitorIds) {
64
+ /*
65
+ * Per-monitor try/catch, matching the sibling KeepCurrentStateConsistent jobs: one bad
66
+ * monitor is skipped for the remainder of the run instead of aborting it. It is not
67
+ * re-queued, so a monitor that fails deterministically cannot spin forever.
68
+ */
69
+ try {
70
+ const batch = await this.repairStaleOpenRowsBatch({
71
+ monitorId: monitorId,
72
+ batchSize: batchSize,
73
+ });
74
+ result.scanned += batch.scanned;
75
+ result.repaired += batch.repaired;
76
+ if (batch.repaired > 0) {
77
+ repairedMonitorIds.add(monitorId.toString());
78
+ }
79
+ /*
80
+ * A full batch of repairs means there may be more stale rows on this monitor. Anything
81
+ * short of a full batch means every open row on this monitor has now been examined -
82
+ * whatever is still open has no strictly later row and is therefore legitimate.
83
+ */
84
+ if (batch.repaired >= batchSize) {
85
+ stillPendingMonitorIds.push(monitorId);
86
+ }
87
+ }
88
+ catch (err) {
89
+ failedMonitorIds.add(monitorId.toString());
90
+ logger.error(`MonitorStatusTimelineReconciler: failed to repair stale open rows for monitor ${monitorId.toString()}.`);
91
+ logger.error(err);
92
+ continue;
93
+ }
94
+ }
95
+ pendingMonitorIds = stillPendingMonitorIds;
96
+ }
97
+ result.repairedMonitorIds = Array.from(repairedMonitorIds).map((id) => {
98
+ return new ObjectID(id);
99
+ });
100
+ result.failedMonitorIds = Array.from(failedMonitorIds).map((id) => {
101
+ return new ObjectID(id);
102
+ });
103
+ return result;
104
+ }
105
+ /*
106
+ * Counts stale open rows without repairing anything. Useful for telemetry and for asserting
107
+ * that a repair run actually converged.
108
+ */
109
+ static async countStaleOpenRows(options = {}) {
110
+ var _a;
111
+ const dataSource = this.getDataSource();
112
+ const parameters = [];
113
+ let monitorFilter = "";
114
+ if (options.monitorId) {
115
+ monitorFilter = `AND t."monitorId" = $1::uuid`;
116
+ parameters.push(options.monitorId.toString());
117
+ }
118
+ const sql = `
119
+ SELECT COUNT(*)::int AS "staleCount"
120
+ FROM "MonitorStatusTimeline" t
121
+ WHERE t."endsAt" IS NULL
122
+ AND t."deletedAt" IS NULL
123
+ AND t."startsAt" IS NOT NULL
124
+ ${monitorFilter}
125
+ AND EXISTS (
126
+ SELECT 1
127
+ FROM "MonitorStatusTimeline" n
128
+ WHERE n."monitorId" = t."monitorId"
129
+ AND n."deletedAt" IS NULL
130
+ AND n."startsAt" > t."startsAt"
131
+ )
132
+ `;
133
+ const rows = await dataSource.query(sql, parameters);
134
+ return ((_a = rows[0]) === null || _a === void 0 ? void 0 : _a.staleCount) || 0;
135
+ }
136
+ /*
137
+ * The set of monitors that currently have at least one stale open row.
138
+ *
139
+ * Note this is deliberately NOT "monitors with more than one open row". A monitor can have
140
+ * exactly one open row that is still stale, if the newest row on the monitor happens to be
141
+ * closed. Encoding the definition directly keeps both cases covered.
142
+ */
143
+ static async getMonitorIdsWithStaleOpenRows() {
144
+ const dataSource = this.getDataSource();
145
+ const sql = `
146
+ SELECT DISTINCT t."monitorId" AS "monitorId"
147
+ FROM "MonitorStatusTimeline" t
148
+ WHERE t."endsAt" IS NULL
149
+ AND t."deletedAt" IS NULL
150
+ AND t."startsAt" IS NOT NULL
151
+ AND EXISTS (
152
+ SELECT 1
153
+ FROM "MonitorStatusTimeline" n
154
+ WHERE n."monitorId" = t."monitorId"
155
+ AND n."deletedAt" IS NULL
156
+ AND n."startsAt" > t."startsAt"
157
+ )
158
+ ORDER BY t."monitorId" ASC
159
+ `;
160
+ const rows = await dataSource.query(sql);
161
+ return rows.map((row) => {
162
+ return new ObjectID(row.monitorId);
163
+ });
164
+ }
165
+ /*
166
+ * Repairs up to batchSize stale open rows on a single monitor, oldest first.
167
+ *
168
+ * Ordering is by startsAt, NEVER createdAt. createdAt is assigned DB-side by now() while
169
+ * startsAt is assigned by the worker pod's clock, so the two orderings genuinely disagree on
170
+ * real data. Two earlier migrations ordered by createdAt and produced wrong results.
171
+ */
172
+ static async repairStaleOpenRowsBatch(data) {
173
+ var _a, _b;
174
+ const dataSource = this.getDataSource();
175
+ /*
176
+ * candidates is materialised once (a data-modifying CTE forces materialisation), so the
177
+ * counts below and the UPDATE all see the same snapshot and one round trip yields both the
178
+ * scanned and the repaired count.
179
+ *
180
+ * nextStartsAt is NULL for an open row with no strictly later row. Those rows are the
181
+ * legitimate current-state row (or a startsAt tie at the head of the timeline) and are
182
+ * excluded from the UPDATE, so they stay open.
183
+ *
184
+ * The UPDATE re-checks m."endsAt" IS NULL even though candidates already filtered on it:
185
+ * the reconciler runs WITHOUT the per-monitor mutex, and under READ COMMITTED a live
186
+ * writer can close a candidate row between this statement's snapshot and the UPDATE
187
+ * taking the row lock. Postgres then re-evaluates only the UPDATE's own WHERE against
188
+ * the new row version (EvalPlanQual), so the openness check must live in the UPDATE
189
+ * itself - otherwise the reconciler would overwrite the endsAt the writer just committed
190
+ * with its stale snapshot-time value.
191
+ */
192
+ const sql = `
193
+ WITH candidates AS (
194
+ SELECT
195
+ t."_id" AS "_id",
196
+ (
197
+ SELECT MIN(n."startsAt")
198
+ FROM "MonitorStatusTimeline" n
199
+ WHERE n."monitorId" = t."monitorId"
200
+ AND n."deletedAt" IS NULL
201
+ AND n."startsAt" > t."startsAt"
202
+ ) AS "nextStartsAt"
203
+ FROM "MonitorStatusTimeline" t
204
+ WHERE t."monitorId" = $1::uuid
205
+ AND t."endsAt" IS NULL
206
+ AND t."deletedAt" IS NULL
207
+ AND t."startsAt" IS NOT NULL
208
+ ORDER BY t."startsAt" ASC
209
+ LIMIT $2
210
+ ),
211
+ repaired AS (
212
+ UPDATE "MonitorStatusTimeline" m
213
+ SET "endsAt" = c."nextStartsAt",
214
+ "updatedAt" = NOW(),
215
+ "version" = m."version" + 1
216
+ FROM candidates c
217
+ WHERE m."_id" = c."_id"
218
+ AND m."endsAt" IS NULL
219
+ AND c."nextStartsAt" IS NOT NULL
220
+ RETURNING m."_id"
221
+ )
222
+ SELECT
223
+ (SELECT COUNT(*) FROM candidates)::int AS "scanned",
224
+ (SELECT COUNT(*) FROM repaired)::int AS "repaired"
225
+ `;
226
+ const rows = await dataSource.query(sql, [
227
+ data.monitorId.toString(),
228
+ data.batchSize.toString(),
229
+ ]);
230
+ const scanned = ((_a = rows[0]) === null || _a === void 0 ? void 0 : _a.scanned) || 0;
231
+ const repaired = ((_b = rows[0]) === null || _b === void 0 ? void 0 : _b.repaired) || 0;
232
+ if (repaired > 0) {
233
+ logger.debug(`MonitorStatusTimelineReconciler: repaired ${repaired} of ${scanned} open row(s) examined on monitor ${data.monitorId.toString()}.`);
234
+ }
235
+ return {
236
+ scanned: scanned,
237
+ repaired: repaired,
238
+ };
239
+ }
240
+ static getBatchSize(batchSize) {
241
+ if (!batchSize ||
242
+ !Number.isFinite(batchSize) ||
243
+ batchSize < MIN_BATCH_SIZE) {
244
+ return DEFAULT_STALE_OPEN_ROW_BATCH_SIZE;
245
+ }
246
+ return Math.min(Math.floor(batchSize), MAX_BATCH_SIZE);
247
+ }
248
+ static getDataSource() {
249
+ const dataSource = PostgresAppInstance.getDataSource();
250
+ if (!dataSource) {
251
+ throw new DatabaseNotConnectedException();
252
+ }
253
+ return dataSource;
254
+ }
255
+ }
256
+ __decorate([
257
+ CaptureSpan(),
258
+ __metadata("design:type", Function),
259
+ __metadata("design:paramtypes", [Object]),
260
+ __metadata("design:returntype", Promise)
261
+ ], MonitorStatusTimelineReconciler, "repairStaleOpenRows", null);
262
+ __decorate([
263
+ CaptureSpan(),
264
+ __metadata("design:type", Function),
265
+ __metadata("design:paramtypes", [Object]),
266
+ __metadata("design:returntype", Promise)
267
+ ], MonitorStatusTimelineReconciler, "countStaleOpenRows", null);
268
+ //# sourceMappingURL=MonitorStatusTimelineReconciler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MonitorStatusTimelineReconciler.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorStatusTimelineReconciler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,149 @@
1
+ import ToolResultSerializer from "../AI/Toolbox/Serializer";
2
+ /*
3
+ * Shared exception-text sanitization.
4
+ *
5
+ * normalizeExceptionText is the fingerprint normalizer that used to live
6
+ * in App/FeatureSet/Telemetry/Utils/Exception.ts — it was moved here (the
7
+ * App util now delegates) so server-side consumers in Common (the AI
8
+ * agent data API) can sanitize exception messages before they reach LLM
9
+ * prompts, pull-request text, and commit messages. The replacement
10
+ * behavior MUST stay byte-for-byte stable: fingerprints are computed from
11
+ * its output, and changing it regroups every existing exception.
12
+ */
13
+ /**
14
+ * Normalizes a string by replacing dynamic values with placeholders.
15
+ * This ensures that exceptions with the same root cause but different
16
+ * dynamic values (like IDs, timestamps, etc.) get the same fingerprint.
17
+ *
18
+ * @param text - The text to normalize (message or stack trace)
19
+ * @returns The normalized text with dynamic values replaced
20
+ */
21
+ export function normalizeExceptionText(text) {
22
+ if (!text) {
23
+ return "";
24
+ }
25
+ let normalized = text;
26
+ // Order matters! More specific patterns should come before generic ones.
27
+ // 1. UUIDs (e.g., 550e8400-e29b-41d4-a716-446655440000)
28
+ normalized = normalized.replace(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/gi, "<UUID>");
29
+ // 2. MongoDB ObjectIDs (24 hex characters)
30
+ normalized = normalized.replace(/\b[0-9a-f]{24}\b/gi, "<OBJECT_ID>");
31
+ /*
32
+ * 3. Stripe-style IDs (e.g., sub_xxx, cus_xxx, pi_xxx, ch_xxx, etc.)
33
+ * These have a prefix followed by underscore and alphanumeric characters
34
+ */
35
+ normalized = normalized.replace(/\b(sub|cus|pi|ch|pm|card|price|prod|inv|txn|evt|req|acct|payout|ba|btok|src|tok|seti|si|cs|link|file|dp|icr|ii|il|is|isci|mbur|or|po|qt|rcpt|re|refund|sku|tax|txi|tr|us|wh)_[A-Za-z0-9]{10,32}\b/g, "<STRIPE_ID>");
36
+ /*
37
+ * 4. Generic API/Service IDs - alphanumeric strings that look like IDs
38
+ * Matches patterns like: prefix_alphanumeric or just long alphanumeric strings
39
+ * Common in many services (AWS, GCP, etc.)
40
+ */
41
+ normalized = normalized.replace(/\b[a-z]{2,10}_[A-Za-z0-9]{8,}\b/g, "<SERVICE_ID>");
42
+ // 5. JWT tokens (three base64 segments separated by dots)
43
+ normalized = normalized.replace(/\beyJ[A-Za-z0-9_-]*\.eyJ[A-Za-z0-9_-]*\.[A-Za-z0-9_-]+\b/g, "<JWT>");
44
+ // 6. Base64 encoded strings (long sequences, likely tokens or encoded data)
45
+ normalized = normalized.replace(/\b[A-Za-z0-9+/]{40,}={0,2}\b/g, "<BASE64>");
46
+ // 7. IP addresses (IPv4)
47
+ normalized = normalized.replace(/\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b/g, "<IP>");
48
+ // 8. IP addresses (IPv6) - simplified pattern
49
+ normalized = normalized.replace(/\b(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}\b/g, "<IPV6>");
50
+ normalized = normalized.replace(/\b::1\b/g, "<IPV6>"); // localhost IPv6
51
+ // 9. Email addresses
52
+ normalized = normalized.replace(/\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b/g, "<EMAIL>");
53
+ /*
54
+ * 10. URLs with dynamic paths/query params (normalize the dynamic parts)
55
+ * Keep the domain but normalize path segments that look like IDs
56
+ */
57
+ normalized = normalized.replace(/\/[0-9a-f]{8,}(?=\/|$|\?|#|\s|'|")/gi, "/<ID>");
58
+ /*
59
+ * 11. Timestamps in various formats
60
+ * ISO 8601 timestamps
61
+ */
62
+ normalized = normalized.replace(/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:?\d{2})?/g, "<TIMESTAMP>");
63
+ // Unix timestamps (10 or 13 digits)
64
+ normalized = normalized.replace(/\b1[0-9]{9,12}\b/g, "<TIMESTAMP>");
65
+ // 12. Date formats (YYYY-MM-DD, MM/DD/YYYY, etc.)
66
+ normalized = normalized.replace(/\b\d{4}[-/]\d{2}[-/]\d{2}\b/g, "<DATE>");
67
+ normalized = normalized.replace(/\b\d{2}[-/]\d{2}[-/]\d{4}\b/g, "<DATE>");
68
+ // 13. Time formats (HH:MM:SS, HH:MM)
69
+ normalized = normalized.replace(/\b\d{2}:\d{2}(?::\d{2})?\b/g, "<TIME>");
70
+ // 14. Memory addresses (0x followed by hex)
71
+ normalized = normalized.replace(/\b0x[0-9a-fA-F]+\b/g, "<MEMORY_ADDR>");
72
+ // 15. Session IDs (common patterns) - MUST come before hex ID pattern
73
+ normalized = normalized.replace(/\bsession[_-]?id[=:\s]*['"]?[A-Za-z0-9_-]+['"]?/gi, "session_id=<SESSION>");
74
+ // 16. Request IDs (common patterns) - MUST come before hex ID pattern
75
+ normalized = normalized.replace(/\brequest[_-]?id[=:\s]*['"]?[A-Za-z0-9_-]+['"]?/gi, "request_id=<REQUEST>");
76
+ // 17. Correlation IDs - MUST come before hex ID pattern
77
+ normalized = normalized.replace(/\bcorrelation[_-]?id[=:\s]*['"]?[A-Za-z0-9_-]+['"]?/gi, "correlation_id=<CORRELATION>");
78
+ // 18. Transaction IDs - MUST come before hex ID pattern
79
+ normalized = normalized.replace(/\btransaction[_-]?id[=:\s]*['"]?[A-Za-z0-9_-]+['"]?/gi, "transaction_id=<TRANSACTION>");
80
+ // 19. Hex strings that are likely IDs (8+ chars)
81
+ normalized = normalized.replace(/\b[0-9a-f]{8,}\b/gi, "<HEX_ID>");
82
+ /*
83
+ * 20. Quoted strings containing IDs or dynamic values
84
+ * Match strings in single or double quotes that look like IDs
85
+ */
86
+ normalized = normalized.replace(/'[A-Za-z0-9_-]{16,}'/g, "'<ID>'");
87
+ normalized = normalized.replace(/"[A-Za-z0-9_-]{16,}"/g, '"<ID>"');
88
+ // 21. Port numbers in URLs or connection strings
89
+ normalized = normalized.replace(/:(\d{4,5})(?=\/|$|\s)/g, ":<PORT>");
90
+ /*
91
+ * 22. Line numbers in stack traces (keep for context, but normalize large numbers)
92
+ * This normalizes specific line/column references that might vary
93
+ */
94
+ normalized = normalized.replace(/:\d+:\d+\)?$/gm, ":<LINE>:<COL>)");
95
+ // 23. Process/Thread IDs
96
+ normalized = normalized.replace(/\bPID[:\s]*\d+\b/gi, "PID:<PID>");
97
+ normalized = normalized.replace(/\bTID[:\s]*\d+\b/gi, "TID:<TID>");
98
+ // 24. Numeric IDs in common patterns (id=123, id: 123, etc.)
99
+ normalized = normalized.replace(/\bid[=:\s]*['"]?\d+['"]?/gi, "id=<ID>");
100
+ // 25. Large numbers that are likely IDs (more than 6 digits)
101
+ normalized = normalized.replace(/\b\d{7,}\b/g, "<NUMBER>");
102
+ return normalized;
103
+ }
104
+ /**
105
+ * Sanitize an exception message for surfaces that leave the platform:
106
+ * LLM prompts, pull-request titles/bodies, and commit messages.
107
+ *
108
+ * Normalization replaces the dynamic tokens (UUIDs, emails, IPs, IDs,
109
+ * timestamps...) that carry user data, then the secret redactor sweeps
110
+ * whatever is left (bearer tokens, API keys, cards...). The message
111
+ * keeps its structure — "invalid input syntax for type uuid: <HEX_ID>"
112
+ * is still perfectly actionable for a fix.
113
+ */
114
+ export function sanitizeExceptionMessage(message) {
115
+ if (!message) {
116
+ return "";
117
+ }
118
+ return ToolResultSerializer.redact(normalizeExceptionText(message)).text;
119
+ }
120
+ /**
121
+ * Sanitize a stack trace for the same surfaces.
122
+ *
123
+ * Runtimes prefix the native stack string with the exception MESSAGE
124
+ * ("Error: <message>" in Node, "ValueError: <message>" in Python
125
+ * headers, "Caused by: ..." in Java) — so a redact-only pass would leak
126
+ * the very identifiers sanitizeExceptionMessage strips. Frame lines are
127
+ * indented (" at fn (file:42:7)", ' File "x.py", line 3', "\tat ...")
128
+ * and must keep exact file:line references for the code agent, so the
129
+ * split is: unindented header/message lines get full normalization,
130
+ * indented frame lines are left intact, and the secret redactor sweeps
131
+ * everything at the end.
132
+ */
133
+ // Frame lines are indented; header/message lines are not.
134
+ const INDENTED_FRAME_LINE_REGEX = /^\s/;
135
+ export function sanitizeStackTrace(stackTrace) {
136
+ if (!stackTrace) {
137
+ return "";
138
+ }
139
+ const normalized = stackTrace
140
+ .split("\n")
141
+ .map((line) => {
142
+ return INDENTED_FRAME_LINE_REGEX.test(line)
143
+ ? line
144
+ : normalizeExceptionText(line);
145
+ })
146
+ .join("\n");
147
+ return ToolResultSerializer.redact(normalized).text;
148
+ }
149
+ //# sourceMappingURL=ExceptionSanitizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExceptionSanitizer.js","sourceRoot":"","sources":["../../../../../Server/Utils/Telemetry/ExceptionSanitizer.ts"],"names":[],"mappings":"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"}