@camstack/types 1.2.352 → 1.2.354

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.
package/dist/client.js CHANGED
@@ -1752,6 +1752,12 @@ var NcSystemEventKindSchema = zod.z.enum([
1752
1752
  "node-updating",
1753
1753
  "node-inference-unavailable",
1754
1754
  "detection-blind",
1755
+ "recording-stalled",
1756
+ "recording-healthy",
1757
+ "recording-degraded",
1758
+ "storage-location-low",
1759
+ "storage-location-critical",
1760
+ "storage-location-ok",
1755
1761
  "addon-crash-loop",
1756
1762
  "addon-update-available",
1757
1763
  "server-update-available",
@@ -8046,9 +8052,9 @@ var NC_SYSTEM_EVENT_FILTER_KEYS = [
8046
8052
  */
8047
8053
  function systemEventFilterApplies(kind, filter) {
8048
8054
  switch (filter) {
8049
- case "deviceIds": return kind.startsWith("device-") || kind.startsWith("stream-") || kind === "detection-blind" || kind === "alarm-triggered";
8055
+ case "deviceIds": return kind.startsWith("device-") || kind.startsWith("stream-") || kind === "detection-blind" || kind.startsWith("recording-") || kind === "alarm-triggered";
8050
8056
  case "deviceTypes": return kind.startsWith("device-") || kind === "detection-blind";
8051
- case "nodeIds": return kind.startsWith("node-") || kind === "addon-crash-loop" || kind === "addon-update-available" || kind === "addon-updated" || kind === "server-update-available" || kind === "wrapper-update-available" || kind === "server-updated";
8057
+ case "nodeIds": return kind.startsWith("node-") || kind === "addon-crash-loop" || kind === "addon-update-available" || kind === "addon-updated" || kind === "server-update-available" || kind === "wrapper-update-available" || kind === "server-updated" || kind.startsWith("storage-location-");
8052
8058
  case "packageNames": return kind.endsWith("update-available") || kind === "addon-updated" || kind === "node-updating" || kind === "server-updated";
8053
8059
  case "consumableLowPercent": return NC_CONSUMABLE_SYSTEM_EVENT_KINDS.includes(kind);
8054
8060
  }
@@ -8105,6 +8111,9 @@ var FAMILY_BY_NAME = new Map(Object.entries({
8105
8111
  "stream-online": "device-events",
8106
8112
  "stream-offline": "device-events",
8107
8113
  "detection-blind": "device-events",
8114
+ "recording-stalled": "device-events",
8115
+ "recording-healthy": "device-events",
8116
+ "recording-degraded": "device-events",
8108
8117
  "node-online": "system",
8109
8118
  "node-offline": "system",
8110
8119
  "node-restarting": "system",
@@ -8118,6 +8127,9 @@ var FAMILY_BY_NAME = new Map(Object.entries({
8118
8127
  "wrapper-update-available": "system",
8119
8128
  "backup-completed": "system",
8120
8129
  "export-completed": "system",
8130
+ "storage-location-low": "system",
8131
+ "storage-location-critical": "system",
8132
+ "storage-location-ok": "system",
8121
8133
  "alarm-triggered": "alarm",
8122
8134
  "alarm-armed": "alarm",
8123
8135
  "alarm-disarmed": "alarm",
@@ -8195,6 +8207,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
8195
8207
  label: "Detecting nothing",
8196
8208
  kinds: ["detection-blind"]
8197
8209
  },
8210
+ {
8211
+ id: "recording",
8212
+ family: "device-events",
8213
+ label: "Recording",
8214
+ kinds: [
8215
+ "recording-stalled",
8216
+ "recording-healthy",
8217
+ "recording-degraded"
8218
+ ]
8219
+ },
8198
8220
  {
8199
8221
  id: "nodes",
8200
8222
  family: "system",
@@ -8235,6 +8257,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
8235
8257
  label: "Backups & exports",
8236
8258
  kinds: ["backup-completed", "export-completed"]
8237
8259
  },
8260
+ {
8261
+ id: "storage",
8262
+ family: "system",
8263
+ label: "Storage locations",
8264
+ kinds: [
8265
+ "storage-location-low",
8266
+ "storage-location-critical",
8267
+ "storage-location-ok"
8268
+ ]
8269
+ },
8238
8270
  {
8239
8271
  id: "alarm",
8240
8272
  family: "alarm",
@@ -8972,6 +9004,9 @@ var DEVICE_EVENTS = [
8972
9004
  "stream-online",
8973
9005
  "stream-offline",
8974
9006
  "detection-blind",
9007
+ "recording-stalled",
9008
+ "recording-healthy",
9009
+ "recording-degraded",
8975
9010
  ...ALARM
8976
9011
  ];
8977
9012
  /** Every kind a summary may speak about — the two summarisable families. */
@@ -9461,7 +9496,10 @@ var NC_TEMPLATE_VARS = [
9461
9496
  "addon-crash-loop",
9462
9497
  ...UPDATES,
9463
9498
  "addon-updated",
9464
- "server-updated"
9499
+ "server-updated",
9500
+ "storage-location-low",
9501
+ "storage-location-critical",
9502
+ "storage-location-ok"
9465
9503
  ]
9466
9504
  },
9467
9505
  {
@@ -9480,7 +9518,10 @@ var NC_TEMPLATE_VARS = [
9480
9518
  "node-inference-unavailable",
9481
9519
  "addon-crash-loop",
9482
9520
  ...UPDATES,
9483
- "server-updated"
9521
+ "server-updated",
9522
+ "storage-location-low",
9523
+ "storage-location-critical",
9524
+ "storage-location-ok"
9484
9525
  ]
9485
9526
  },
9486
9527
  {
@@ -9537,7 +9578,69 @@ var NC_TEMPLATE_VARS = [
9537
9578
  families: ["rule"],
9538
9579
  fields: [...RULE_TEXT],
9539
9580
  kinds: ["system"],
9540
- systemEventKinds: ["detection-blind"]
9581
+ systemEventKinds: ["detection-blind", "recording-stalled"]
9582
+ },
9583
+ {
9584
+ name: "message",
9585
+ label: "Detail",
9586
+ example: "writer restart budget exhausted",
9587
+ group: "system",
9588
+ families: ["rule"],
9589
+ fields: [...RULE_TEXT],
9590
+ kinds: ["system"],
9591
+ systemEventKinds: ["recording-degraded"]
9592
+ },
9593
+ {
9594
+ name: "locationName",
9595
+ label: "Storage location",
9596
+ example: "Recordings",
9597
+ group: "system",
9598
+ families: ["rule"],
9599
+ fields: [...RULE_TEXT],
9600
+ kinds: ["system"],
9601
+ systemEventKinds: [
9602
+ "storage-location-low",
9603
+ "storage-location-critical",
9604
+ "storage-location-ok"
9605
+ ]
9606
+ },
9607
+ {
9608
+ name: "locationId",
9609
+ label: "Storage location id",
9610
+ example: "recordings:default",
9611
+ group: "system",
9612
+ families: ["rule"],
9613
+ fields: [...RULE_TEXT],
9614
+ kinds: ["system"],
9615
+ systemEventKinds: [
9616
+ "storage-location-low",
9617
+ "storage-location-critical",
9618
+ "storage-location-ok"
9619
+ ]
9620
+ },
9621
+ {
9622
+ name: "freePercent",
9623
+ label: "Free space (%)",
9624
+ example: "12",
9625
+ group: "system",
9626
+ families: ["rule"],
9627
+ fields: [...RULE_TEXT],
9628
+ kinds: ["system"],
9629
+ systemEventKinds: ["storage-location-low"]
9630
+ },
9631
+ {
9632
+ name: "reason",
9633
+ label: "Reason",
9634
+ example: "capacity-unreadable",
9635
+ group: "system",
9636
+ families: ["rule"],
9637
+ fields: [...RULE_TEXT],
9638
+ kinds: ["system"],
9639
+ systemEventKinds: [
9640
+ "storage-location-low",
9641
+ "storage-location-critical",
9642
+ "storage-location-ok"
9643
+ ]
9541
9644
  },
9542
9645
  {
9543
9646
  name: "package",
package/dist/client.mjs CHANGED
@@ -1751,6 +1751,12 @@ var NcSystemEventKindSchema = z.enum([
1751
1751
  "node-updating",
1752
1752
  "node-inference-unavailable",
1753
1753
  "detection-blind",
1754
+ "recording-stalled",
1755
+ "recording-healthy",
1756
+ "recording-degraded",
1757
+ "storage-location-low",
1758
+ "storage-location-critical",
1759
+ "storage-location-ok",
1754
1760
  "addon-crash-loop",
1755
1761
  "addon-update-available",
1756
1762
  "server-update-available",
@@ -8045,9 +8051,9 @@ var NC_SYSTEM_EVENT_FILTER_KEYS = [
8045
8051
  */
8046
8052
  function systemEventFilterApplies(kind, filter) {
8047
8053
  switch (filter) {
8048
- case "deviceIds": return kind.startsWith("device-") || kind.startsWith("stream-") || kind === "detection-blind" || kind === "alarm-triggered";
8054
+ case "deviceIds": return kind.startsWith("device-") || kind.startsWith("stream-") || kind === "detection-blind" || kind.startsWith("recording-") || kind === "alarm-triggered";
8049
8055
  case "deviceTypes": return kind.startsWith("device-") || kind === "detection-blind";
8050
- case "nodeIds": return kind.startsWith("node-") || kind === "addon-crash-loop" || kind === "addon-update-available" || kind === "addon-updated" || kind === "server-update-available" || kind === "wrapper-update-available" || kind === "server-updated";
8056
+ case "nodeIds": return kind.startsWith("node-") || kind === "addon-crash-loop" || kind === "addon-update-available" || kind === "addon-updated" || kind === "server-update-available" || kind === "wrapper-update-available" || kind === "server-updated" || kind.startsWith("storage-location-");
8051
8057
  case "packageNames": return kind.endsWith("update-available") || kind === "addon-updated" || kind === "node-updating" || kind === "server-updated";
8052
8058
  case "consumableLowPercent": return NC_CONSUMABLE_SYSTEM_EVENT_KINDS.includes(kind);
8053
8059
  }
@@ -8104,6 +8110,9 @@ var FAMILY_BY_NAME = new Map(Object.entries({
8104
8110
  "stream-online": "device-events",
8105
8111
  "stream-offline": "device-events",
8106
8112
  "detection-blind": "device-events",
8113
+ "recording-stalled": "device-events",
8114
+ "recording-healthy": "device-events",
8115
+ "recording-degraded": "device-events",
8107
8116
  "node-online": "system",
8108
8117
  "node-offline": "system",
8109
8118
  "node-restarting": "system",
@@ -8117,6 +8126,9 @@ var FAMILY_BY_NAME = new Map(Object.entries({
8117
8126
  "wrapper-update-available": "system",
8118
8127
  "backup-completed": "system",
8119
8128
  "export-completed": "system",
8129
+ "storage-location-low": "system",
8130
+ "storage-location-critical": "system",
8131
+ "storage-location-ok": "system",
8120
8132
  "alarm-triggered": "alarm",
8121
8133
  "alarm-armed": "alarm",
8122
8134
  "alarm-disarmed": "alarm",
@@ -8194,6 +8206,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
8194
8206
  label: "Detecting nothing",
8195
8207
  kinds: ["detection-blind"]
8196
8208
  },
8209
+ {
8210
+ id: "recording",
8211
+ family: "device-events",
8212
+ label: "Recording",
8213
+ kinds: [
8214
+ "recording-stalled",
8215
+ "recording-healthy",
8216
+ "recording-degraded"
8217
+ ]
8218
+ },
8197
8219
  {
8198
8220
  id: "nodes",
8199
8221
  family: "system",
@@ -8234,6 +8256,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
8234
8256
  label: "Backups & exports",
8235
8257
  kinds: ["backup-completed", "export-completed"]
8236
8258
  },
8259
+ {
8260
+ id: "storage",
8261
+ family: "system",
8262
+ label: "Storage locations",
8263
+ kinds: [
8264
+ "storage-location-low",
8265
+ "storage-location-critical",
8266
+ "storage-location-ok"
8267
+ ]
8268
+ },
8237
8269
  {
8238
8270
  id: "alarm",
8239
8271
  family: "alarm",
@@ -8971,6 +9003,9 @@ var DEVICE_EVENTS = [
8971
9003
  "stream-online",
8972
9004
  "stream-offline",
8973
9005
  "detection-blind",
9006
+ "recording-stalled",
9007
+ "recording-healthy",
9008
+ "recording-degraded",
8974
9009
  ...ALARM
8975
9010
  ];
8976
9011
  /** Every kind a summary may speak about — the two summarisable families. */
@@ -9460,7 +9495,10 @@ var NC_TEMPLATE_VARS = [
9460
9495
  "addon-crash-loop",
9461
9496
  ...UPDATES,
9462
9497
  "addon-updated",
9463
- "server-updated"
9498
+ "server-updated",
9499
+ "storage-location-low",
9500
+ "storage-location-critical",
9501
+ "storage-location-ok"
9464
9502
  ]
9465
9503
  },
9466
9504
  {
@@ -9479,7 +9517,10 @@ var NC_TEMPLATE_VARS = [
9479
9517
  "node-inference-unavailable",
9480
9518
  "addon-crash-loop",
9481
9519
  ...UPDATES,
9482
- "server-updated"
9520
+ "server-updated",
9521
+ "storage-location-low",
9522
+ "storage-location-critical",
9523
+ "storage-location-ok"
9483
9524
  ]
9484
9525
  },
9485
9526
  {
@@ -9536,7 +9577,69 @@ var NC_TEMPLATE_VARS = [
9536
9577
  families: ["rule"],
9537
9578
  fields: [...RULE_TEXT],
9538
9579
  kinds: ["system"],
9539
- systemEventKinds: ["detection-blind"]
9580
+ systemEventKinds: ["detection-blind", "recording-stalled"]
9581
+ },
9582
+ {
9583
+ name: "message",
9584
+ label: "Detail",
9585
+ example: "writer restart budget exhausted",
9586
+ group: "system",
9587
+ families: ["rule"],
9588
+ fields: [...RULE_TEXT],
9589
+ kinds: ["system"],
9590
+ systemEventKinds: ["recording-degraded"]
9591
+ },
9592
+ {
9593
+ name: "locationName",
9594
+ label: "Storage location",
9595
+ example: "Recordings",
9596
+ group: "system",
9597
+ families: ["rule"],
9598
+ fields: [...RULE_TEXT],
9599
+ kinds: ["system"],
9600
+ systemEventKinds: [
9601
+ "storage-location-low",
9602
+ "storage-location-critical",
9603
+ "storage-location-ok"
9604
+ ]
9605
+ },
9606
+ {
9607
+ name: "locationId",
9608
+ label: "Storage location id",
9609
+ example: "recordings:default",
9610
+ group: "system",
9611
+ families: ["rule"],
9612
+ fields: [...RULE_TEXT],
9613
+ kinds: ["system"],
9614
+ systemEventKinds: [
9615
+ "storage-location-low",
9616
+ "storage-location-critical",
9617
+ "storage-location-ok"
9618
+ ]
9619
+ },
9620
+ {
9621
+ name: "freePercent",
9622
+ label: "Free space (%)",
9623
+ example: "12",
9624
+ group: "system",
9625
+ families: ["rule"],
9626
+ fields: [...RULE_TEXT],
9627
+ kinds: ["system"],
9628
+ systemEventKinds: ["storage-location-low"]
9629
+ },
9630
+ {
9631
+ name: "reason",
9632
+ label: "Reason",
9633
+ example: "capacity-unreadable",
9634
+ group: "system",
9635
+ families: ["rule"],
9636
+ fields: [...RULE_TEXT],
9637
+ kinds: ["system"],
9638
+ systemEventKinds: [
9639
+ "storage-location-low",
9640
+ "storage-location-critical",
9641
+ "storage-location-ok"
9642
+ ]
9540
9643
  },
9541
9644
  {
9542
9645
  name: "package",
@@ -216,7 +216,17 @@ export declare enum EventCategory {
216
216
  RecordingStopped = "recording.stopped",
217
217
  RecordingError = "recording.error",
218
218
  RecordingHealthDegraded = "recording.health.degraded",
219
+ /** Recording enabled but no segment finalized for the NC stall window. */
220
+ RecordingHealthStalled = "recording.health.stalled",
221
+ /** Recovery from {@link RecordingHealthStalled}. */
222
+ RecordingHealthOk = "recording.health.ok",
219
223
  RecordingStorageCritical = "recording.storage.critical",
224
+ /** Free space on a storage location crossed the warn bar. */
225
+ StorageLocationLow = "storage.location.low",
226
+ /** Free space at/under the critical bar, or capacity probe failed (`null`). */
227
+ StorageLocationCritical = "storage.location.critical",
228
+ /** Recovery from low/critical on a storage location. */
229
+ StorageLocationOk = "storage.location.ok",
220
230
  RecordingSegmentWritten = "recording.segment.written",
221
231
  RecordingPolicyFallback = "recording.policy.fallback",
222
232
  RecordingRetentionCompleted = "recording.retention.completed",
package/dist/enums.js CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_event_category = require("./event-category-CHduMGvg.js");
2
+ const require_event_category = require("./event-category-T43rdQWR.js");
3
3
  //#region src/enums/event-source-type.ts
4
4
  var EventSourceType = /* @__PURE__ */ function(EventSourceType) {
5
5
  EventSourceType["Addon"] = "addon";
package/dist/enums.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { t as EventCategory } from "./event-category-DaIZi00R.mjs";
1
+ import { t as EventCategory } from "./event-category-C4hVnRo8.mjs";
2
2
  //#region src/enums/event-source-type.ts
3
3
  var EventSourceType = /* @__PURE__ */ function(EventSourceType) {
4
4
  EventSourceType["Addon"] = "addon";
@@ -217,7 +217,17 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
217
217
  EventCategory["RecordingStopped"] = "recording.stopped";
218
218
  EventCategory["RecordingError"] = "recording.error";
219
219
  EventCategory["RecordingHealthDegraded"] = "recording.health.degraded";
220
+ /** Recording enabled but no segment finalized for the NC stall window. */
221
+ EventCategory["RecordingHealthStalled"] = "recording.health.stalled";
222
+ /** Recovery from {@link RecordingHealthStalled}. */
223
+ EventCategory["RecordingHealthOk"] = "recording.health.ok";
220
224
  EventCategory["RecordingStorageCritical"] = "recording.storage.critical";
225
+ /** Free space on a storage location crossed the warn bar. */
226
+ EventCategory["StorageLocationLow"] = "storage.location.low";
227
+ /** Free space at/under the critical bar, or capacity probe failed (`null`). */
228
+ EventCategory["StorageLocationCritical"] = "storage.location.critical";
229
+ /** Recovery from low/critical on a storage location. */
230
+ EventCategory["StorageLocationOk"] = "storage.location.ok";
221
231
  EventCategory["RecordingSegmentWritten"] = "recording.segment.written";
222
232
  EventCategory["RecordingPolicyFallback"] = "recording.policy.fallback";
223
233
  EventCategory["RecordingRetentionCompleted"] = "recording.retention.completed";
@@ -217,7 +217,17 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
217
217
  EventCategory["RecordingStopped"] = "recording.stopped";
218
218
  EventCategory["RecordingError"] = "recording.error";
219
219
  EventCategory["RecordingHealthDegraded"] = "recording.health.degraded";
220
+ /** Recording enabled but no segment finalized for the NC stall window. */
221
+ EventCategory["RecordingHealthStalled"] = "recording.health.stalled";
222
+ /** Recovery from {@link RecordingHealthStalled}. */
223
+ EventCategory["RecordingHealthOk"] = "recording.health.ok";
220
224
  EventCategory["RecordingStorageCritical"] = "recording.storage.critical";
225
+ /** Free space on a storage location crossed the warn bar. */
226
+ EventCategory["StorageLocationLow"] = "storage.location.low";
227
+ /** Free space at/under the critical bar, or capacity probe failed (`null`). */
228
+ EventCategory["StorageLocationCritical"] = "storage.location.critical";
229
+ /** Recovery from low/critical on a storage location. */
230
+ EventCategory["StorageLocationOk"] = "storage.location.ok";
221
231
  EventCategory["RecordingSegmentWritten"] = "recording.segment.written";
222
232
  EventCategory["RecordingPolicyFallback"] = "recording.policy.fallback";
223
233
  EventCategory["RecordingRetentionCompleted"] = "recording.retention.completed";
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_sleep = require("./sleep-BwkkI2wP.js");
3
- const require_event_category = require("./event-category-CHduMGvg.js");
2
+ const require_sleep = require("./sleep-SgkKj2bk.js");
3
+ const require_event_category = require("./event-category-T43rdQWR.js");
4
4
  const require_composition = require("./composition-BLWAivB2.js");
5
5
  const require_node_color = require("./node-color.js");
6
6
  const require_err_msg = require("./err-msg-Dx2Kor0g.js");
@@ -17262,6 +17262,23 @@ function resolveHubAddressRoles(appPalette, hubPalette, flags) {
17262
17262
  function hubAddressHostname(baseUrl) {
17263
17263
  return baseUrl === null ? null : hostnameOf(baseUrl);
17264
17264
  }
17265
+ /**
17266
+ * How a client finds a hub on the LAN (D838): the hub publishes ONE mDNS
17267
+ * service for its HTTPS endpoint. `_camstack._tcp` carries the hub's `internal`
17268
+ * address in `url`, and nothing secret — finding a hub grants nothing, every
17269
+ * client still signs in. The mesh channel stays retired (D826).
17270
+ */
17271
+ var HUB_MDNS_SERVICE_TYPE = "camstack";
17272
+ /** The fully-qualified name a client browses for. */
17273
+ var HUB_MDNS_QUERY_NAME = "_camstack._tcp.local";
17274
+ /** The TXT keys of the advertisement. Every value is public. */
17275
+ var HUB_MDNS_TXT_KEYS = {
17276
+ nodeId: "nodeId",
17277
+ version: "version",
17278
+ role: "role",
17279
+ url: "url"
17280
+ };
17281
+ var HUB_MDNS_ROLE = "hub";
17265
17282
  //#endregion
17266
17283
  //#region src/capabilities/ai-cap-timeouts.ts
17267
17284
  /**
@@ -20731,6 +20748,12 @@ var NcSystemEventKindSchema = zod.z.enum([
20731
20748
  "node-updating",
20732
20749
  "node-inference-unavailable",
20733
20750
  "detection-blind",
20751
+ "recording-stalled",
20752
+ "recording-healthy",
20753
+ "recording-degraded",
20754
+ "storage-location-low",
20755
+ "storage-location-critical",
20756
+ "storage-location-ok",
20734
20757
  "addon-crash-loop",
20735
20758
  "addon-update-available",
20736
20759
  "server-update-available",
@@ -22306,6 +22329,30 @@ var NC_CONDITION_CATALOG = [
22306
22329
  value: "detection-blind",
22307
22330
  label: "Camera detecting nothing"
22308
22331
  },
22332
+ {
22333
+ value: "recording-stalled",
22334
+ label: "Recording stalled"
22335
+ },
22336
+ {
22337
+ value: "recording-healthy",
22338
+ label: "Recording healthy again"
22339
+ },
22340
+ {
22341
+ value: "recording-degraded",
22342
+ label: "Recording degraded (restart storm)"
22343
+ },
22344
+ {
22345
+ value: "storage-location-low",
22346
+ label: "Storage location low"
22347
+ },
22348
+ {
22349
+ value: "storage-location-critical",
22350
+ label: "Storage location critical"
22351
+ },
22352
+ {
22353
+ value: "storage-location-ok",
22354
+ label: "Storage location ok again"
22355
+ },
22309
22356
  {
22310
22357
  value: "addon-crash-loop",
22311
22358
  label: "Addon stopped after repeated crashes"
@@ -71610,9 +71657,9 @@ var NC_SYSTEM_EVENT_FILTER_KEYS = [
71610
71657
  */
71611
71658
  function systemEventFilterApplies(kind, filter) {
71612
71659
  switch (filter) {
71613
- case "deviceIds": return kind.startsWith("device-") || kind.startsWith("stream-") || kind === "detection-blind" || kind === "alarm-triggered";
71660
+ case "deviceIds": return kind.startsWith("device-") || kind.startsWith("stream-") || kind === "detection-blind" || kind.startsWith("recording-") || kind === "alarm-triggered";
71614
71661
  case "deviceTypes": return kind.startsWith("device-") || kind === "detection-blind";
71615
- case "nodeIds": return kind.startsWith("node-") || kind === "addon-crash-loop" || kind === "addon-update-available" || kind === "addon-updated" || kind === "server-update-available" || kind === "wrapper-update-available" || kind === "server-updated";
71662
+ case "nodeIds": return kind.startsWith("node-") || kind === "addon-crash-loop" || kind === "addon-update-available" || kind === "addon-updated" || kind === "server-update-available" || kind === "wrapper-update-available" || kind === "server-updated" || kind.startsWith("storage-location-");
71616
71663
  case "packageNames": return kind.endsWith("update-available") || kind === "addon-updated" || kind === "node-updating" || kind === "server-updated";
71617
71664
  case "consumableLowPercent": return NC_CONSUMABLE_SYSTEM_EVENT_KINDS.includes(kind);
71618
71665
  }
@@ -71669,6 +71716,9 @@ var NC_SYSTEM_EVENT_FAMILY = {
71669
71716
  "stream-online": "device-events",
71670
71717
  "stream-offline": "device-events",
71671
71718
  "detection-blind": "device-events",
71719
+ "recording-stalled": "device-events",
71720
+ "recording-healthy": "device-events",
71721
+ "recording-degraded": "device-events",
71672
71722
  "node-online": "system",
71673
71723
  "node-offline": "system",
71674
71724
  "node-restarting": "system",
@@ -71682,6 +71732,9 @@ var NC_SYSTEM_EVENT_FAMILY = {
71682
71732
  "wrapper-update-available": "system",
71683
71733
  "backup-completed": "system",
71684
71734
  "export-completed": "system",
71735
+ "storage-location-low": "system",
71736
+ "storage-location-critical": "system",
71737
+ "storage-location-ok": "system",
71685
71738
  "alarm-triggered": "alarm",
71686
71739
  "alarm-armed": "alarm",
71687
71740
  "alarm-disarmed": "alarm",
@@ -71761,6 +71814,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
71761
71814
  label: "Detecting nothing",
71762
71815
  kinds: ["detection-blind"]
71763
71816
  },
71817
+ {
71818
+ id: "recording",
71819
+ family: "device-events",
71820
+ label: "Recording",
71821
+ kinds: [
71822
+ "recording-stalled",
71823
+ "recording-healthy",
71824
+ "recording-degraded"
71825
+ ]
71826
+ },
71764
71827
  {
71765
71828
  id: "nodes",
71766
71829
  family: "system",
@@ -71801,6 +71864,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
71801
71864
  label: "Backups & exports",
71802
71865
  kinds: ["backup-completed", "export-completed"]
71803
71866
  },
71867
+ {
71868
+ id: "storage",
71869
+ family: "system",
71870
+ label: "Storage locations",
71871
+ kinds: [
71872
+ "storage-location-low",
71873
+ "storage-location-critical",
71874
+ "storage-location-ok"
71875
+ ]
71876
+ },
71804
71877
  {
71805
71878
  id: "alarm",
71806
71879
  family: "alarm",
@@ -73243,6 +73316,9 @@ var DEVICE_EVENTS = [
73243
73316
  "stream-online",
73244
73317
  "stream-offline",
73245
73318
  "detection-blind",
73319
+ "recording-stalled",
73320
+ "recording-healthy",
73321
+ "recording-degraded",
73246
73322
  ...ALARM
73247
73323
  ];
73248
73324
  /** Every kind a summary may speak about — the two summarisable families. */
@@ -73732,7 +73808,10 @@ var NC_TEMPLATE_VARS = [
73732
73808
  "addon-crash-loop",
73733
73809
  ...UPDATES,
73734
73810
  "addon-updated",
73735
- "server-updated"
73811
+ "server-updated",
73812
+ "storage-location-low",
73813
+ "storage-location-critical",
73814
+ "storage-location-ok"
73736
73815
  ]
73737
73816
  },
73738
73817
  {
@@ -73751,7 +73830,10 @@ var NC_TEMPLATE_VARS = [
73751
73830
  "node-inference-unavailable",
73752
73831
  "addon-crash-loop",
73753
73832
  ...UPDATES,
73754
- "server-updated"
73833
+ "server-updated",
73834
+ "storage-location-low",
73835
+ "storage-location-critical",
73836
+ "storage-location-ok"
73755
73837
  ]
73756
73838
  },
73757
73839
  {
@@ -73808,7 +73890,69 @@ var NC_TEMPLATE_VARS = [
73808
73890
  families: ["rule"],
73809
73891
  fields: [...RULE_TEXT],
73810
73892
  kinds: ["system"],
73811
- systemEventKinds: ["detection-blind"]
73893
+ systemEventKinds: ["detection-blind", "recording-stalled"]
73894
+ },
73895
+ {
73896
+ name: "message",
73897
+ label: "Detail",
73898
+ example: "writer restart budget exhausted",
73899
+ group: "system",
73900
+ families: ["rule"],
73901
+ fields: [...RULE_TEXT],
73902
+ kinds: ["system"],
73903
+ systemEventKinds: ["recording-degraded"]
73904
+ },
73905
+ {
73906
+ name: "locationName",
73907
+ label: "Storage location",
73908
+ example: "Recordings",
73909
+ group: "system",
73910
+ families: ["rule"],
73911
+ fields: [...RULE_TEXT],
73912
+ kinds: ["system"],
73913
+ systemEventKinds: [
73914
+ "storage-location-low",
73915
+ "storage-location-critical",
73916
+ "storage-location-ok"
73917
+ ]
73918
+ },
73919
+ {
73920
+ name: "locationId",
73921
+ label: "Storage location id",
73922
+ example: "recordings:default",
73923
+ group: "system",
73924
+ families: ["rule"],
73925
+ fields: [...RULE_TEXT],
73926
+ kinds: ["system"],
73927
+ systemEventKinds: [
73928
+ "storage-location-low",
73929
+ "storage-location-critical",
73930
+ "storage-location-ok"
73931
+ ]
73932
+ },
73933
+ {
73934
+ name: "freePercent",
73935
+ label: "Free space (%)",
73936
+ example: "12",
73937
+ group: "system",
73938
+ families: ["rule"],
73939
+ fields: [...RULE_TEXT],
73940
+ kinds: ["system"],
73941
+ systemEventKinds: ["storage-location-low"]
73942
+ },
73943
+ {
73944
+ name: "reason",
73945
+ label: "Reason",
73946
+ example: "capacity-unreadable",
73947
+ group: "system",
73948
+ families: ["rule"],
73949
+ fields: [...RULE_TEXT],
73950
+ kinds: ["system"],
73951
+ systemEventKinds: [
73952
+ "storage-location-low",
73953
+ "storage-location-critical",
73954
+ "storage-location-ok"
73955
+ ]
73812
73956
  },
73813
73957
  {
73814
73958
  name: "package",
@@ -79837,6 +79981,10 @@ exports.HF_BASE_URL = HF_BASE_URL;
79837
79981
  exports.HF_REPO = HF_REPO;
79838
79982
  exports.HOURS_PER_DAY = HOURS_PER_DAY;
79839
79983
  exports.HUB_ADDRESS_ROLES = HUB_ADDRESS_ROLES;
79984
+ exports.HUB_MDNS_QUERY_NAME = HUB_MDNS_QUERY_NAME;
79985
+ exports.HUB_MDNS_ROLE = HUB_MDNS_ROLE;
79986
+ exports.HUB_MDNS_SERVICE_TYPE = HUB_MDNS_SERVICE_TYPE;
79987
+ exports.HUB_MDNS_TXT_KEYS = HUB_MDNS_TXT_KEYS;
79840
79988
  exports.HUB_VIEWER_MOUNT = HUB_VIEWER_MOUNT;
79841
79989
  exports.HWACCEL_OPTIONS = HWACCEL_OPTIONS;
79842
79990
  exports.HardwareClassIdSchema = HardwareClassIdSchema;