@oneuptime/common 11.1.2 → 11.2.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 (146) hide show
  1. package/Models/DatabaseModels/Alert.ts +55 -0
  2. package/Models/DatabaseModels/Incident.ts +55 -0
  3. package/Models/DatabaseModels/Index.ts +12 -0
  4. package/Models/DatabaseModels/IoTDevice.ts +690 -0
  5. package/Models/DatabaseModels/IoTFleet.ts +862 -0
  6. package/Models/DatabaseModels/IoTFleetLabelRule.ts +514 -0
  7. package/Models/DatabaseModels/IoTFleetOwnerRule.ts +596 -0
  8. package/Models/DatabaseModels/IoTFleetOwnerTeam.ts +485 -0
  9. package/Models/DatabaseModels/IoTFleetOwnerUser.ts +484 -0
  10. package/Models/DatabaseModels/ScheduledMaintenance.ts +55 -0
  11. package/Server/API/IoTDeviceAPI.ts +128 -0
  12. package/Server/API/TelemetryAPI.ts +104 -35
  13. package/Server/Infrastructure/Postgres/SchemaMigrations/1782900000000-AddIoTFleetAndDeviceTables.ts +399 -0
  14. package/Server/Infrastructure/Postgres/SchemaMigrations/1783000000000-AddIoTFleetActivityJoinTables.ts +97 -0
  15. package/Server/Infrastructure/Postgres/SchemaMigrations/1783010000000-MigrationName.ts +979 -0
  16. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +6 -0
  17. package/Server/Services/IoTDeviceService.ts +356 -0
  18. package/Server/Services/IoTFleetLabelRuleEngineService.ts +198 -0
  19. package/Server/Services/IoTFleetLabelRuleService.ts +14 -0
  20. package/Server/Services/IoTFleetOwnerRuleEngineService.ts +216 -0
  21. package/Server/Services/IoTFleetOwnerRuleService.ts +14 -0
  22. package/Server/Services/IoTFleetOwnerTeamService.ts +10 -0
  23. package/Server/Services/IoTFleetOwnerUserService.ts +10 -0
  24. package/Server/Services/IoTFleetService.ts +376 -0
  25. package/Server/Services/OpenTelemetryIngestService.ts +16 -0
  26. package/Server/Services/StatusPageService.ts +69 -26
  27. package/Server/Services/StatusPageSubscriberNotificationTemplateService.ts +36 -0
  28. package/Server/Services/TelemetryUsageBillingService.ts +18 -0
  29. package/Server/Services/TraceAggregationService.ts +174 -0
  30. package/Server/Utils/Monitor/MonitorAlert.ts +24 -4
  31. package/Server/Utils/Monitor/MonitorClusterContext.ts +26 -2
  32. package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +4 -2
  33. package/Server/Utils/Monitor/MonitorIncident.ts +39 -5
  34. package/Server/Utils/Monitor/MonitorMaintenanceSuppression.ts +14 -0
  35. package/Server/Utils/Monitor/SeriesResourceLabels.ts +22 -0
  36. package/Server/Utils/Telemetry/IoTSnapshotScan.ts +408 -0
  37. package/Tests/Server/Utils/Monitor/MonitorMaintenanceSuppression.test.ts +36 -0
  38. package/Types/Icon/IconProp.ts +1 -0
  39. package/Types/Monitor/IotAlertTemplates.ts +593 -0
  40. package/Types/Monitor/IotMetricCatalog.ts +146 -0
  41. package/Types/Monitor/MonitorStep.ts +31 -0
  42. package/Types/Monitor/MonitorStepIoTMonitor.ts +65 -0
  43. package/Types/Monitor/MonitorType.ts +12 -1
  44. package/Types/Permission.ts +230 -0
  45. package/Types/StatusPage/StatusPageSubscriberNotificationEventType.ts +3 -0
  46. package/Types/Telemetry/ServiceType.ts +1 -0
  47. package/UI/Components/Charts/ChartGroup/ChartGroup.tsx +5 -5
  48. package/UI/Components/Icon/Icon.tsx +18 -2
  49. package/UI/Components/Page/Page.tsx +1 -2
  50. package/build/dist/Models/DatabaseModels/Alert.js +54 -0
  51. package/build/dist/Models/DatabaseModels/Alert.js.map +1 -1
  52. package/build/dist/Models/DatabaseModels/Incident.js +54 -0
  53. package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
  54. package/build/dist/Models/DatabaseModels/Index.js +12 -0
  55. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  56. package/build/dist/Models/DatabaseModels/IoTDevice.js +722 -0
  57. package/build/dist/Models/DatabaseModels/IoTDevice.js.map +1 -0
  58. package/build/dist/Models/DatabaseModels/IoTFleet.js +882 -0
  59. package/build/dist/Models/DatabaseModels/IoTFleet.js.map +1 -0
  60. package/build/dist/Models/DatabaseModels/IoTFleetLabelRule.js +522 -0
  61. package/build/dist/Models/DatabaseModels/IoTFleetLabelRule.js.map +1 -0
  62. package/build/dist/Models/DatabaseModels/IoTFleetOwnerRule.js +603 -0
  63. package/build/dist/Models/DatabaseModels/IoTFleetOwnerRule.js.map +1 -0
  64. package/build/dist/Models/DatabaseModels/IoTFleetOwnerTeam.js +503 -0
  65. package/build/dist/Models/DatabaseModels/IoTFleetOwnerTeam.js.map +1 -0
  66. package/build/dist/Models/DatabaseModels/IoTFleetOwnerUser.js +502 -0
  67. package/build/dist/Models/DatabaseModels/IoTFleetOwnerUser.js.map +1 -0
  68. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +54 -0
  69. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
  70. package/build/dist/Server/API/IoTDeviceAPI.js +92 -0
  71. package/build/dist/Server/API/IoTDeviceAPI.js.map +1 -0
  72. package/build/dist/Server/API/TelemetryAPI.js +76 -27
  73. package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
  74. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1782900000000-AddIoTFleetAndDeviceTables.js +187 -0
  75. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1782900000000-AddIoTFleetAndDeviceTables.js.map +1 -0
  76. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783000000000-AddIoTFleetActivityJoinTables.js +48 -0
  77. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783000000000-AddIoTFleetActivityJoinTables.js.map +1 -0
  78. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783010000000-MigrationName.js +340 -0
  79. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783010000000-MigrationName.js.map +1 -0
  80. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +6 -0
  81. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  82. package/build/dist/Server/Services/IoTDeviceService.js +249 -0
  83. package/build/dist/Server/Services/IoTDeviceService.js.map +1 -0
  84. package/build/dist/Server/Services/IoTFleetLabelRuleEngineService.js +166 -0
  85. package/build/dist/Server/Services/IoTFleetLabelRuleEngineService.js.map +1 -0
  86. package/build/dist/Server/Services/IoTFleetLabelRuleService.js +13 -0
  87. package/build/dist/Server/Services/IoTFleetLabelRuleService.js.map +1 -0
  88. package/build/dist/Server/Services/IoTFleetOwnerRuleEngineService.js +186 -0
  89. package/build/dist/Server/Services/IoTFleetOwnerRuleEngineService.js.map +1 -0
  90. package/build/dist/Server/Services/IoTFleetOwnerRuleService.js +13 -0
  91. package/build/dist/Server/Services/IoTFleetOwnerRuleService.js.map +1 -0
  92. package/build/dist/Server/Services/IoTFleetOwnerTeamService.js +9 -0
  93. package/build/dist/Server/Services/IoTFleetOwnerTeamService.js.map +1 -0
  94. package/build/dist/Server/Services/IoTFleetOwnerUserService.js +9 -0
  95. package/build/dist/Server/Services/IoTFleetOwnerUserService.js.map +1 -0
  96. package/build/dist/Server/Services/IoTFleetService.js +340 -0
  97. package/build/dist/Server/Services/IoTFleetService.js.map +1 -0
  98. package/build/dist/Server/Services/OpenTelemetryIngestService.js +26 -11
  99. package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
  100. package/build/dist/Server/Services/StatusPageService.js +57 -23
  101. package/build/dist/Server/Services/StatusPageService.js.map +1 -1
  102. package/build/dist/Server/Services/StatusPageSubscriberNotificationTemplateService.js +34 -0
  103. package/build/dist/Server/Services/StatusPageSubscriberNotificationTemplateService.js.map +1 -1
  104. package/build/dist/Server/Services/TelemetryUsageBillingService.js +13 -0
  105. package/build/dist/Server/Services/TelemetryUsageBillingService.js.map +1 -1
  106. package/build/dist/Server/Services/TraceAggregationService.js +136 -0
  107. package/build/dist/Server/Services/TraceAggregationService.js.map +1 -1
  108. package/build/dist/Server/Utils/Monitor/MonitorAlert.js +37 -19
  109. package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
  110. package/build/dist/Server/Utils/Monitor/MonitorClusterContext.js +27 -4
  111. package/build/dist/Server/Utils/Monitor/MonitorClusterContext.js.map +1 -1
  112. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +4 -2
  113. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
  114. package/build/dist/Server/Utils/Monitor/MonitorIncident.js +39 -11
  115. package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
  116. package/build/dist/Server/Utils/Monitor/MonitorMaintenanceSuppression.js +8 -0
  117. package/build/dist/Server/Utils/Monitor/MonitorMaintenanceSuppression.js.map +1 -1
  118. package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js +17 -0
  119. package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js.map +1 -1
  120. package/build/dist/Server/Utils/Telemetry/IoTSnapshotScan.js +300 -0
  121. package/build/dist/Server/Utils/Telemetry/IoTSnapshotScan.js.map +1 -0
  122. package/build/dist/Types/Icon/IconProp.js +1 -0
  123. package/build/dist/Types/Icon/IconProp.js.map +1 -1
  124. package/build/dist/Types/Monitor/IotAlertTemplates.js +467 -0
  125. package/build/dist/Types/Monitor/IotAlertTemplates.js.map +1 -0
  126. package/build/dist/Types/Monitor/IotMetricCatalog.js +108 -0
  127. package/build/dist/Types/Monitor/IotMetricCatalog.js.map +1 -0
  128. package/build/dist/Types/Monitor/MonitorStep.js +23 -0
  129. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  130. package/build/dist/Types/Monitor/MonitorStepIoTMonitor.js +32 -0
  131. package/build/dist/Types/Monitor/MonitorStepIoTMonitor.js.map +1 -0
  132. package/build/dist/Types/Monitor/MonitorType.js +11 -1
  133. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  134. package/build/dist/Types/Permission.js +204 -0
  135. package/build/dist/Types/Permission.js.map +1 -1
  136. package/build/dist/Types/StatusPage/StatusPageSubscriberNotificationEventType.js +2 -0
  137. package/build/dist/Types/StatusPage/StatusPageSubscriberNotificationEventType.js.map +1 -1
  138. package/build/dist/Types/Telemetry/ServiceType.js +1 -0
  139. package/build/dist/Types/Telemetry/ServiceType.js.map +1 -1
  140. package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js +3 -3
  141. package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js.map +1 -1
  142. package/build/dist/UI/Components/Icon/Icon.js +12 -2
  143. package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
  144. package/build/dist/UI/Components/Page/Page.js +1 -2
  145. package/build/dist/UI/Components/Page/Page.js.map +1 -1
  146. package/package.json +1 -1
@@ -0,0 +1,300 @@
1
+ import OneUptimeDate from "../../../Types/Date";
2
+ import logger from "../Logger";
3
+ /*
4
+ * ------------------------------------------------------------------
5
+ * IoT snapshot scan — pure fold & derive helpers
6
+ * ------------------------------------------------------------------
7
+ *
8
+ * Cloned from ProxmoxCephSnapshotScan.ts (the Proxmox half). The
9
+ * ingest service owns the I/O: it walks the OTLP payload, calls
10
+ * bufferIoTSnapshotMetric per datapoint, and at flush time maps the
11
+ * folded buffers through deriveIoTFleetSnapshotExtras before handing
12
+ * the results to IoTDeviceService / IoTFleetService. Everything in
13
+ * this module is pure (Map/object mutation only — no DB, no network),
14
+ * which is what makes the snapshot-scan semantics unit-testable:
15
+ *
16
+ * - identity labels fold first-non-null-wins; status/metric fields
17
+ * fold newest-observedAt-wins,
18
+ * - count columns are only derived when the batch carried the
19
+ * matching identity series (never zero a count on a partial
20
+ * batch — the COALESCE-per-column contract),
21
+ * - non-allow-listed metric names are skipped via the exported
22
+ * IOT_SNAPSHOT_METRIC_NAMES set.
23
+ */
24
+ /*
25
+ * IoT snapshot metrics — emitted by IoT devices / gateways pushing
26
+ * OTLP, identity in the `device.id` datapoint label plus the
27
+ * iot.device.kind / iot.device.type / iot.device.firmware attributes
28
+ * the device's SDK stamps. Unlike K8s there is no separate object
29
+ * stream: identity, status AND the latest-metric mirror all arrive on
30
+ * every scrape, so the same scan feeds the IoTDevice inventory upsert
31
+ * and the IoTFleet count snapshot columns (single source — the
32
+ * list-page counts and the sidebar badges can never drift).
33
+ *
34
+ * iot_cpu_usage_ratio is already a true 0..1 ratio — no allocatable-
35
+ * denominator cache is needed, unlike K8s cpuCoresToPercent.
36
+ */
37
+ export const IOT_SNAPSHOT_METRIC_NAMES = new Set([
38
+ // Identity / status (fleet counts derive from these)
39
+ "iot_device_up",
40
+ "iot_device_info",
41
+ // Latest-metric mirror (inventory columns)
42
+ "iot_battery_percent",
43
+ "iot_signal_strength_dbm",
44
+ "iot_temperature_celsius",
45
+ "iot_cpu_usage_ratio",
46
+ "iot_memory_usage_bytes",
47
+ "iot_memory_size_bytes",
48
+ "iot_uptime_seconds",
49
+ ]);
50
+ /*
51
+ * Same finite-or-null coercion contract as the ingest service's
52
+ * toNumberOrNull (NaN / ±Infinity fold to null so a malformed
53
+ * datapoint is skipped rather than poisoning a snapshot column).
54
+ */
55
+ function toNumberOrNull(value) {
56
+ if (typeof value === "number") {
57
+ return Number.isFinite(value) ? value : null;
58
+ }
59
+ if (typeof value === "string") {
60
+ const parsed = Number.parseFloat(value);
61
+ return Number.isFinite(parsed) ? parsed : null;
62
+ }
63
+ return null;
64
+ }
65
+ /*
66
+ * Same fall-back-to-now parse contract as the ingest service's
67
+ * safeParseUnixNano — only the Date is needed on the snapshot path.
68
+ */
69
+ function parseUnixNanoToDate(value, context) {
70
+ let numericValue = OneUptimeDate.getCurrentDateAsUnixNano();
71
+ if (value !== undefined && value !== null) {
72
+ try {
73
+ if (typeof value === "string") {
74
+ const parsed = Number.parseFloat(value);
75
+ if (isNaN(parsed)) {
76
+ throw new Error(`Invalid timestamp string: ${value}`);
77
+ }
78
+ numericValue = parsed;
79
+ }
80
+ else if (typeof value === "number") {
81
+ if (!Number.isFinite(value)) {
82
+ throw new Error(`Invalid timestamp number: ${value}`);
83
+ }
84
+ numericValue = value;
85
+ }
86
+ }
87
+ catch (error) {
88
+ logger.warn(`Error processing ${context}: ${error instanceof Error ? error.message : String(error)}, using current time`);
89
+ numericValue = OneUptimeDate.getCurrentDateAsUnixNano();
90
+ }
91
+ }
92
+ return OneUptimeDate.fromUnixNano(numericValue);
93
+ }
94
+ // Same trim-or-null read contract as OtelIngestBaseService.getStringAttribute.
95
+ function getStringAttribute(attributes, key) {
96
+ for (const attribute of attributes) {
97
+ if (attribute["key"] === key &&
98
+ attribute["value"] &&
99
+ attribute["value"]["stringValue"]) {
100
+ const value = attribute["value"]["stringValue"];
101
+ if (typeof value === "string" && value.trim()) {
102
+ return value.trim();
103
+ }
104
+ }
105
+ }
106
+ return null;
107
+ }
108
+ export function getOrCreateIoTFleetSnapshot(buffer, fleetIdStr) {
109
+ let entry = buffer.get(fleetIdStr);
110
+ if (!entry) {
111
+ entry = {
112
+ sawDeviceIdentity: false,
113
+ sawDeviceUp: false,
114
+ };
115
+ buffer.set(fleetIdStr, entry);
116
+ }
117
+ return entry;
118
+ }
119
+ /*
120
+ * Fold one iot_* datapoint into the per-fleet buffers. Identity lives
121
+ * in the `device.id` DATAPOINT label, so this reads the raw datapoint
122
+ * attribute array — not the merged resource-prefixed map the K8s scan
123
+ * uses.
124
+ */
125
+ export function bufferIoTSnapshotMetric(data) {
126
+ const valueFromInt = toNumberOrNull(data.datapoint["asInt"]);
127
+ const valueFromDouble = toNumberOrNull(data.datapoint["asDouble"]);
128
+ const rawValue = valueFromDouble !== null && valueFromDouble !== void 0 ? valueFromDouble : valueFromInt;
129
+ if (rawValue === null) {
130
+ return;
131
+ }
132
+ const observedAt = parseUnixNanoToDate(data.datapoint["timeUnixNano"], "iot snapshot timeUnixNano");
133
+ const dpAttributes = data.datapoint["attributes"] || [];
134
+ const fleet = getOrCreateIoTFleetSnapshot(data.fleetBuffer, data.fleetIdStr);
135
+ // Identity lives in the `device.id` datapoint label.
136
+ const externalId = getStringAttribute(dpAttributes, "device.id");
137
+ if (!externalId) {
138
+ return;
139
+ }
140
+ /*
141
+ * Kind/type/firmware: read from the iot.device.* attributes the
142
+ * device SDK stamps; kind falls back to "Device" so inventory still
143
+ * populates without an explicit class label.
144
+ */
145
+ const kind = getStringAttribute(dpAttributes, "iot.device.kind") || "Device";
146
+ const patch = {
147
+ kind,
148
+ externalId,
149
+ name: null,
150
+ deviceType: null,
151
+ firmwareVersion: null,
152
+ isUp: null,
153
+ uptimeSeconds: null,
154
+ latestCpuPercent: null,
155
+ latestMemoryBytes: null,
156
+ maxMemoryBytes: null,
157
+ latestBatteryPercent: null,
158
+ latestSignalStrengthDbm: null,
159
+ latestTemperatureCelsius: null,
160
+ observedAt,
161
+ };
162
+ // deviceType / firmware ride every series the device emits.
163
+ patch.deviceType = getStringAttribute(dpAttributes, "iot.device.type");
164
+ patch.firmwareVersion = getStringAttribute(dpAttributes, "iot.device.firmware");
165
+ switch (data.metricName) {
166
+ case "iot_device_up": {
167
+ patch.isUp = rawValue >= 1;
168
+ fleet.sawDeviceIdentity = true;
169
+ fleet.sawDeviceUp = true;
170
+ break;
171
+ }
172
+ case "iot_device_info": {
173
+ // Identity-only series — carries the human-readable device name.
174
+ patch.name = getStringAttribute(dpAttributes, "name");
175
+ fleet.sawDeviceIdentity = true;
176
+ break;
177
+ }
178
+ case "iot_battery_percent": {
179
+ patch.latestBatteryPercent = rawValue;
180
+ break;
181
+ }
182
+ case "iot_signal_strength_dbm": {
183
+ patch.latestSignalStrengthDbm = rawValue;
184
+ break;
185
+ }
186
+ case "iot_temperature_celsius": {
187
+ patch.latestTemperatureCelsius = rawValue;
188
+ break;
189
+ }
190
+ case "iot_cpu_usage_ratio": {
191
+ /*
192
+ * Already a true 0..1 ratio — no allocatable-denominator cache
193
+ * needed, unlike K8s cpuCoresToPercent.
194
+ */
195
+ patch.latestCpuPercent = rawValue * 100;
196
+ break;
197
+ }
198
+ case "iot_memory_usage_bytes": {
199
+ patch.latestMemoryBytes = Math.max(0, Math.trunc(rawValue));
200
+ break;
201
+ }
202
+ case "iot_memory_size_bytes": {
203
+ patch.maxMemoryBytes = Math.max(0, Math.trunc(rawValue));
204
+ break;
205
+ }
206
+ case "iot_uptime_seconds": {
207
+ patch.uptimeSeconds = Math.max(0, Math.trunc(rawValue));
208
+ break;
209
+ }
210
+ default: {
211
+ return;
212
+ }
213
+ }
214
+ foldIoTDeviceSnapshot({
215
+ buffer: data.resourceBuffer,
216
+ fleetIdStr: data.fleetIdStr,
217
+ patch,
218
+ });
219
+ }
220
+ /*
221
+ * Merge a patch into the per-fleet IoT buffer: identity labels are
222
+ * first-non-null-wins (stable, and a batch missing an info series
223
+ * must not blank them), status/metric fields are
224
+ * newest-observedAt-wins (K8s buffer semantics).
225
+ */
226
+ export function foldIoTDeviceSnapshot(data) {
227
+ let perFleet = data.buffer.get(data.fleetIdStr);
228
+ if (!perFleet) {
229
+ perFleet = new Map();
230
+ data.buffer.set(data.fleetIdStr, perFleet);
231
+ }
232
+ const key = `${data.patch.kind}|${data.patch.externalId}`;
233
+ const existing = perFleet.get(key);
234
+ if (!existing) {
235
+ perFleet.set(key, data.patch);
236
+ return;
237
+ }
238
+ const patch = data.patch;
239
+ const newer = patch.observedAt >= existing.observedAt;
240
+ // Identity: first-non-null wins.
241
+ if (existing.name === null && patch.name !== null) {
242
+ existing.name = patch.name;
243
+ }
244
+ if (existing.deviceType === null && patch.deviceType !== null) {
245
+ existing.deviceType = patch.deviceType;
246
+ }
247
+ if (existing.firmwareVersion === null && patch.firmwareVersion !== null) {
248
+ existing.firmwareVersion = patch.firmwareVersion;
249
+ }
250
+ // Status / metrics: newest observation wins.
251
+ if (patch.isUp !== null && newer) {
252
+ existing.isUp = patch.isUp;
253
+ }
254
+ if (patch.uptimeSeconds !== null && newer) {
255
+ existing.uptimeSeconds = patch.uptimeSeconds;
256
+ }
257
+ if (patch.latestCpuPercent !== null && newer) {
258
+ existing.latestCpuPercent = patch.latestCpuPercent;
259
+ }
260
+ if (patch.latestMemoryBytes !== null && newer) {
261
+ existing.latestMemoryBytes = patch.latestMemoryBytes;
262
+ }
263
+ if (patch.maxMemoryBytes !== null && newer) {
264
+ existing.maxMemoryBytes = patch.maxMemoryBytes;
265
+ }
266
+ if (patch.latestBatteryPercent !== null && newer) {
267
+ existing.latestBatteryPercent = patch.latestBatteryPercent;
268
+ }
269
+ if (patch.latestSignalStrengthDbm !== null && newer) {
270
+ existing.latestSignalStrengthDbm = patch.latestSignalStrengthDbm;
271
+ }
272
+ if (patch.latestTemperatureCelsius !== null && newer) {
273
+ existing.latestTemperatureCelsius = patch.latestTemperatureCelsius;
274
+ }
275
+ if (patch.observedAt > existing.observedAt) {
276
+ existing.observedAt = patch.observedAt;
277
+ }
278
+ }
279
+ /*
280
+ * Derive the IoTFleet snapshot columns from one folded batch. Counts
281
+ * are only set when the batch carried the matching identity series —
282
+ * never zero a count on a partial batch. Returns an object whose keys
283
+ * are exactly the columns to write (empty object = nothing to write).
284
+ */
285
+ export function deriveIoTFleetSnapshotExtras(entries, snap) {
286
+ const extras = {};
287
+ if (snap === null || snap === void 0 ? void 0 : snap.sawDeviceIdentity) {
288
+ extras.deviceCount = entries.length;
289
+ }
290
+ if (snap === null || snap === void 0 ? void 0 : snap.sawDeviceUp) {
291
+ extras.onlineDeviceCount = entries.filter((e) => {
292
+ return e.isUp === true;
293
+ }).length;
294
+ }
295
+ if (snap === null || snap === void 0 ? void 0 : snap.agentVersion) {
296
+ extras.agentVersion = snap.agentVersion;
297
+ }
298
+ return extras;
299
+ }
300
+ //# sourceMappingURL=IoTSnapshotScan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IoTSnapshotScan.js","sourceRoot":"","sources":["../../../../../Server/Utils/Telemetry/IoTSnapshotScan.ts"],"names":[],"mappings":"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"}
@@ -328,6 +328,7 @@ var IconProp;
328
328
  IconProp["DockerSwarm"] = "DockerSwarm";
329
329
  IconProp["Podman"] = "Podman";
330
330
  IconProp["Proxmox"] = "Proxmox";
331
+ IconProp["IoT"] = "IoT";
331
332
  IconProp["Ceph"] = "Ceph";
332
333
  IconProp["Gauge"] = "Gauge";
333
334
  })(IconProp || (IconProp = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"IconProp.js","sourceRoot":"","sources":["../../../../Types/Icon/IconProp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IconProp.js","sourceRoot":"","sources":["../../../../Types/Icon/IconProp.ts"],"names":[],"mappings":"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"}