@camstack/addon-pipeline 1.2.613 → 1.2.615

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 (33) hide show
  1. package/dist/audio-analyzer/index.js +3 -3
  2. package/dist/audio-analyzer/index.mjs +3 -3
  3. package/dist/{custom-model-catalog-CLhfiG1p.mjs → custom-model-catalog-BmJXsT0k.mjs} +2 -2
  4. package/dist/{custom-model-catalog-D_mgggfr.js → custom-model-catalog-DFuM_m3D.js} +2 -2
  5. package/dist/detection-pipeline/index.js +4 -4
  6. package/dist/detection-pipeline/index.mjs +4 -4
  7. package/dist/{dist-F6F_xjNj.js → dist-B_1t8oSg.js} +125 -2
  8. package/dist/{dist-BGq_y1xM.mjs → dist-CfOv146z.mjs} +125 -2
  9. package/dist/{model-catalogs-CF3WVSy_.mjs → model-catalogs-Dnj7Cr3q.mjs} +1 -1
  10. package/dist/{model-catalogs-DrUv77wD.js → model-catalogs-Dr-_ANpG.js} +1 -1
  11. package/dist/motion-wasm/index.js +1 -1
  12. package/dist/motion-wasm/index.mjs +1 -1
  13. package/dist/{node-D_K-84ig.js → node-D82_5p1M.js} +1 -1
  14. package/dist/{node-DwTqHnch.mjs → node-tn9-iwDj.mjs} +1 -1
  15. package/dist/pipeline-runner/index.js +3 -3
  16. package/dist/pipeline-runner/index.mjs +3 -3
  17. package/dist/{process-memory-BN3N6YZh.js → process-memory-BlkUi_7x.js} +1 -1
  18. package/dist/{process-memory-k316CseF.mjs → process-memory-CD5f3ehN.mjs} +1 -1
  19. package/dist/recorder/index.js +36 -8
  20. package/dist/recorder/index.mjs +36 -8
  21. package/dist/{segment-demux-js-CWJseQHd.mjs → segment-demux-js-Cx61fdp7.mjs} +1 -1
  22. package/dist/{segment-demux-js-C4-eYvhD.js → segment-demux-js-uWcwFqRL.js} +1 -1
  23. package/dist/stream-broker/_stub.js +1 -1
  24. package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-HX_k4geJ.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-dldjR7yB.mjs} +3 -3
  25. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-D4kDfIKO.mjs +26 -0
  26. package/dist/stream-broker/demux-worker-child.js +1 -1
  27. package/dist/stream-broker/demux-worker-child.mjs +1 -1
  28. package/dist/stream-broker/{hostInit-ByFJ59FM.mjs → hostInit-Bo0bh2FZ.mjs} +3 -3
  29. package/dist/stream-broker/index.js +3 -3
  30. package/dist/stream-broker/index.mjs +3 -3
  31. package/dist/stream-broker/remoteEntry.js +1 -1
  32. package/package.json +1 -1
  33. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-QzO03I5h.mjs +0 -26
@@ -3,9 +3,9 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../chunk-emK7D4bc.js");
6
- const require_dist = require("../dist-F6F_xjNj.js");
7
- const require_model_catalogs = require("../model-catalogs-DrUv77wD.js");
8
- const require_process_memory = require("../process-memory-BN3N6YZh.js");
6
+ const require_dist = require("../dist-B_1t8oSg.js");
7
+ const require_model_catalogs = require("../model-catalogs-Dr-_ANpG.js");
8
+ const require_process_memory = require("../process-memory-BlkUi_7x.js");
9
9
  let node_fs = require("node:fs");
10
10
  node_fs = require_chunk.__toESM(node_fs);
11
11
  let node_path = require("node:path");
@@ -1,7 +1,7 @@
1
1
  import { n as __require } from "../chunk-DnnnRqeS.mjs";
2
- import { $ as audioAnalyzerCapability, F as PoolMemoryWatchdog, Kn as hydrateSchema, Mn as errMsg, Pn as BaseAddon, Q as audioAnalysisCapability, Qn as nodePin, Rt as mapAudioLabelToMacro, Wn as expandAudioChunkToF32le, h as DEFAULT_AUDIO_ANALYZER_CONFIG, hr as EventCategory, ln as resolvePoolMemoryPolicy, r as AUDIO_BACKEND_CHOICES, zn as audioChunkBytesPerSample } from "../dist-BGq_y1xM.mjs";
3
- import { n as AUDIO_CLASSIFIER_MODELS } from "../model-catalogs-CF3WVSy_.mjs";
4
- import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-k316CseF.mjs";
2
+ import { $ as audioAnalyzerCapability, F as PoolMemoryWatchdog, Kn as hydrateSchema, Mn as errMsg, Pn as BaseAddon, Q as audioAnalysisCapability, Qn as nodePin, Rt as mapAudioLabelToMacro, Wn as expandAudioChunkToF32le, h as DEFAULT_AUDIO_ANALYZER_CONFIG, hr as EventCategory, ln as resolvePoolMemoryPolicy, r as AUDIO_BACKEND_CHOICES, zn as audioChunkBytesPerSample } from "../dist-CfOv146z.mjs";
3
+ import { n as AUDIO_CLASSIFIER_MODELS } from "../model-catalogs-Dnj7Cr3q.mjs";
4
+ import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-CD5f3ehN.mjs";
5
5
  import * as fs from "node:fs";
6
6
  import * as path$1 from "node:path";
7
7
  import { ensureModel } from "@camstack/system/addon-utils";
@@ -1,5 +1,5 @@
1
- import { Mt as inferModelProvider, b as DEVICE_BACKEND_TO_FORMAT, et as audioKindId, f as COCO_80_LABELS, hn as stepModelRunsOnFormat, i as AUDIO_MACRO_LABELS, k as LABEL_SUPPLY_VOCABULARIES, p as COCO_TO_MACRO } from "./dist-BGq_y1xM.mjs";
2
- import { a as FACE_DETECTION_MODELS, c as OBJECT_DETECTION_MODELS, d as PLATE_OCR_MODELS, f as SEGMENTATION_REFINER_MODELS, i as CLIP_EMBEDDING_MODELS, l as PACKAGE_DETECTION_MODELS, n as AUDIO_CLASSIFIER_MODELS, o as FACE_EMBEDDING_MODELS, p as VEHICLE_CLASSIFIER_MODELS, r as BIRD_CLASSIFIER_MODELS, s as INSTANCE_SEGMENTATION_MODELS, t as ANIMAL_CLASSIFIER_MODELS, u as PLATE_DETECTION_MODELS } from "./model-catalogs-CF3WVSy_.mjs";
1
+ import { Mt as inferModelProvider, b as DEVICE_BACKEND_TO_FORMAT, et as audioKindId, f as COCO_80_LABELS, hn as stepModelRunsOnFormat, i as AUDIO_MACRO_LABELS, k as LABEL_SUPPLY_VOCABULARIES, p as COCO_TO_MACRO } from "./dist-CfOv146z.mjs";
2
+ import { a as FACE_DETECTION_MODELS, c as OBJECT_DETECTION_MODELS, d as PLATE_OCR_MODELS, f as SEGMENTATION_REFINER_MODELS, i as CLIP_EMBEDDING_MODELS, l as PACKAGE_DETECTION_MODELS, n as AUDIO_CLASSIFIER_MODELS, o as FACE_EMBEDDING_MODELS, p as VEHICLE_CLASSIFIER_MODELS, r as BIRD_CLASSIFIER_MODELS, s as INSTANCE_SEGMENTATION_MODELS, t as ANIMAL_CLASSIFIER_MODELS, u as PLATE_DETECTION_MODELS } from "./model-catalogs-Dnj7Cr3q.mjs";
3
3
  import { t as isWorkerReply } from "./worker-protocol-D_NzPcnh.mjs";
4
4
  import { randomUUID } from "node:crypto";
5
5
  //#region src/detection-pipeline/registry/effective-confidence.ts
@@ -1,5 +1,5 @@
1
- const require_dist = require("./dist-F6F_xjNj.js");
2
- const require_model_catalogs = require("./model-catalogs-DrUv77wD.js");
1
+ const require_dist = require("./dist-B_1t8oSg.js");
2
+ const require_model_catalogs = require("./model-catalogs-Dr-_ANpG.js");
3
3
  const require_worker_protocol = require("./worker-protocol-C-G8qmye.js");
4
4
  let node_crypto = require("node:crypto");
5
5
  //#region src/detection-pipeline/registry/effective-confidence.ts
@@ -3,11 +3,11 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../chunk-emK7D4bc.js");
6
- const require_dist = require("../dist-F6F_xjNj.js");
7
- const require_node = require("../node-D_K-84ig.js");
8
- const require_custom_model_catalog = require("../custom-model-catalog-D_mgggfr.js");
6
+ const require_dist = require("../dist-B_1t8oSg.js");
7
+ const require_node = require("../node-D82_5p1M.js");
8
+ const require_custom_model_catalog = require("../custom-model-catalog-DFuM_m3D.js");
9
9
  const require_lazy_sharp = require("../lazy-sharp-BuwKlQLR.js");
10
- const require_process_memory = require("../process-memory-BN3N6YZh.js");
10
+ const require_process_memory = require("../process-memory-BlkUi_7x.js");
11
11
  let node_os = require("node:os");
12
12
  node_os = require_chunk.__toESM(node_os);
13
13
  let node_fs = require("node:fs");
@@ -1,9 +1,9 @@
1
1
  import { n as __require } from "../chunk-DnnnRqeS.mjs";
2
- import { Bn as createEvent, Ct as evaluateZoneRules, F as PoolMemoryWatchdog, Gn as hfModelUrl, It as loadContributionCapability, Jt as pickClusterStepSettings, Kn as hydrateSchema, Kt as overlayClusterStepSettings, Mn as errMsg$1, O as LABEL_SUPPLY_MACRO, Pn as BaseAddon, Pt as linkedLabelStepId, Qn as nodePin, St as enumerateInferenceDevices, Wt as modelBindingKey, X as applyModelBoundSettings, Zt as pipelineExecutorCapability, _t as detectionPipelineCapability, bn as supportedRuntimes$1, ct as containingParentIndex, d as CLUSTER_MODEL_SCOPED_STEPS, fn as rootSuppliesOf, ft as defaultDeviceFor$1, g as DEFAULT_CLUSTER_STEP_SETTINGS, hn as stepModelRunsOnFormat, hr as EventCategory, in as resolveClusterStepModelId, ir as array, ln as resolvePoolMemoryPolicy, mr as union, n as APPLE_SA_TO_MACRO, pn as runtimeDevices$1, pr as string, q as YAMNET_TO_MACRO, st as collectModelBoundKeys, tr as sleep, ur as object, yt as edgetpuDelegateDevice } from "../dist-BGq_y1xM.mjs";
3
- import { c as readProcessCost } from "../node-DwTqHnch.mjs";
4
- import { C as resolveModelDefaultConfidence, S as landmarkPrecisionVerdict, _ as ALL_STEPS, b as getStepDefinition, f as localFrameRegistry, g as ALL_PIPELINE_STEPS, l as resolveDefaultDetectionModel, n as mergeCustomModels, o as deviceKeyOf, r as buildSubtreeCanRun, s as resolveDeviceEngine, t as CustomModelCatalog, u as macroGateVerdict, v as getDefaultModelForFormat, x as resolveModelForFormat, y as getStep } from "../custom-model-catalog-CLhfiG1p.mjs";
2
+ import { Bn as createEvent, Ct as evaluateZoneRules, F as PoolMemoryWatchdog, Gn as hfModelUrl, It as loadContributionCapability, Jt as pickClusterStepSettings, Kn as hydrateSchema, Kt as overlayClusterStepSettings, Mn as errMsg$1, O as LABEL_SUPPLY_MACRO, Pn as BaseAddon, Pt as linkedLabelStepId, Qn as nodePin, St as enumerateInferenceDevices, Wt as modelBindingKey, X as applyModelBoundSettings, Zt as pipelineExecutorCapability, _t as detectionPipelineCapability, bn as supportedRuntimes$1, ct as containingParentIndex, d as CLUSTER_MODEL_SCOPED_STEPS, fn as rootSuppliesOf, ft as defaultDeviceFor$1, g as DEFAULT_CLUSTER_STEP_SETTINGS, hn as stepModelRunsOnFormat, hr as EventCategory, in as resolveClusterStepModelId, ir as array, ln as resolvePoolMemoryPolicy, mr as union, n as APPLE_SA_TO_MACRO, pn as runtimeDevices$1, pr as string, q as YAMNET_TO_MACRO, st as collectModelBoundKeys, tr as sleep, ur as object, yt as edgetpuDelegateDevice } from "../dist-CfOv146z.mjs";
3
+ import { c as readProcessCost } from "../node-tn9-iwDj.mjs";
4
+ import { C as resolveModelDefaultConfidence, S as landmarkPrecisionVerdict, _ as ALL_STEPS, b as getStepDefinition, f as localFrameRegistry, g as ALL_PIPELINE_STEPS, l as resolveDefaultDetectionModel, n as mergeCustomModels, o as deviceKeyOf, r as buildSubtreeCanRun, s as resolveDeviceEngine, t as CustomModelCatalog, u as macroGateVerdict, v as getDefaultModelForFormat, x as resolveModelForFormat, y as getStep } from "../custom-model-catalog-BmJXsT0k.mjs";
5
5
  import { t as getSharp } from "../lazy-sharp-DXsqwpph.mjs";
6
- import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-k316CseF.mjs";
6
+ import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-CD5f3ehN.mjs";
7
7
  import * as os$1 from "node:os";
8
8
  import * as fs from "node:fs";
9
9
  import * as path$1 from "node:path";
@@ -1,5 +1,5 @@
1
1
  let node_crypto = require("node:crypto");
2
- //#region ../types/dist/event-category-DOl51-Ij.mjs
2
+ //#region ../types/dist/event-category-7pZEBmVg.mjs
3
3
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
4
4
  EventCategory["SystemBoot"] = "system.boot";
5
5
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -687,6 +687,14 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
687
687
  EventCategory["BackupRestored"] = "backup.restored";
688
688
  EventCategory["NotificationDispatched"] = "notification.dispatched";
689
689
  EventCategory["NotificationFailed"] = "notification.failed";
690
+ /**
691
+ * A notification rule that cannot work (D905): its stored row does not load,
692
+ * or it still names a device / delivery target the prune CONFIRMED deleted.
693
+ * One edge per rule per distinct set of reasons; never on an unanswered read.
694
+ */
695
+ EventCategory["NotificationRuleBroken"] = "notification.rule-broken";
696
+ /** The clear of {@link NotificationRuleBroken}: the rule loads and names nothing deleted. */
697
+ EventCategory["NotificationRuleRepaired"] = "notification.rule-repaired";
690
698
  EventCategory["DeviceUpdated"] = "device.updated";
691
699
  /**
692
700
  * Transport-level connectivity. Emitted by the device driver when
@@ -5547,7 +5555,7 @@ var ZodIssueCode = {
5547
5555
  var ZodFirstPartyTypeKind;
5548
5556
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5549
5557
  //#endregion
5550
- //#region ../types/dist/sleep-_sV1BE2f.mjs
5558
+ //#region ../types/dist/sleep-CueztlR1.mjs
5551
5559
  /**
5552
5560
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5553
5561
  * window to float samples (D455).
@@ -45766,6 +45774,8 @@ var NcSystemEventKindSchema = _enum([
45766
45774
  "alert-critical",
45767
45775
  "alert-error",
45768
45776
  "alert-critical-resolved",
45777
+ "rule-broken",
45778
+ "rule-repaired",
45769
45779
  "camera-online",
45770
45780
  "camera-offline",
45771
45781
  "camera-disabled",
@@ -78750,6 +78760,8 @@ new Map(Object.entries({
78750
78760
  "alert-critical": "system",
78751
78761
  "alert-error": "system",
78752
78762
  "alert-critical-resolved": "system",
78763
+ "rule-broken": "system",
78764
+ "rule-repaired": "system",
78753
78765
  "storage-location-low": "system",
78754
78766
  "storage-location-critical": "system",
78755
78767
  "storage-location-ok": "system",
@@ -78884,6 +78896,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
78884
78896
  "alert-critical-resolved"
78885
78897
  ]
78886
78898
  },
78899
+ {
78900
+ id: "rule-health",
78901
+ family: "system",
78902
+ label: "Notification rules",
78903
+ kinds: ["rule-broken", "rule-repaired"]
78904
+ },
78887
78905
  {
78888
78906
  id: "alarm",
78889
78907
  family: "alarm",
@@ -79161,6 +79179,10 @@ var STATE_SUMMARY_VARS = [
79161
79179
  [...RULE_TEXT],
79162
79180
  [...RULE_TEXT],
79163
79181
  [...RULE_TEXT],
79182
+ [...RULE_TEXT],
79183
+ [...RULE_TEXT],
79184
+ [...RULE_TEXT],
79185
+ [...RULE_TEXT],
79164
79186
  ([...RULE_TEXT], [...UPDATES]),
79165
79187
  ([...RULE_TEXT], [...PACKAGE_UPDATES]),
79166
79188
  ([...RULE_TEXT], [...PACKAGE_UPDATES]),
@@ -79199,6 +79221,107 @@ var STATE_SUMMARY_VARS = [
79199
79221
  [...RULE_TEXT],
79200
79222
  ...STATE_SUMMARY_VARS
79201
79223
  ];
79224
+ new Map([
79225
+ {
79226
+ id: "device-connectivity",
79227
+ family: "device-events",
79228
+ label: "Device connectivity (offline / back online)",
79229
+ bad: ["device-offline"],
79230
+ recovery: ["device-online"],
79231
+ snapshotLabel: "Devices offline now",
79232
+ snapshotSection: "device-state"
79233
+ },
79234
+ {
79235
+ id: "device-switch",
79236
+ family: "device-events",
79237
+ label: "Device switched off / back on",
79238
+ bad: ["device-disabled"],
79239
+ recovery: ["device-enabled"],
79240
+ snapshotLabel: "Devices switched off now",
79241
+ snapshotSection: "device-state"
79242
+ },
79243
+ {
79244
+ id: "stream-connectivity",
79245
+ family: "device-events",
79246
+ label: "Stream connectivity (offline / back online)",
79247
+ bad: ["stream-offline"],
79248
+ recovery: ["stream-online"],
79249
+ snapshotLabel: "Streams offline now",
79250
+ snapshotSection: "streams"
79251
+ },
79252
+ {
79253
+ id: "battery",
79254
+ family: "device-events",
79255
+ label: "Battery (low / back to normal)",
79256
+ bad: ["device-battery-low"],
79257
+ recovery: ["device-battery-normal"],
79258
+ snapshotLabel: "Batteries low now",
79259
+ snapshotSection: "battery"
79260
+ },
79261
+ {
79262
+ id: "consumables",
79263
+ family: "device-events",
79264
+ label: "Consumables (low / replaced)",
79265
+ bad: ["device-consumable-low"],
79266
+ recovery: ["device-consumable-normal"],
79267
+ snapshotLabel: "Consumables low now",
79268
+ snapshotSection: "consumables"
79269
+ },
79270
+ {
79271
+ id: "tanks",
79272
+ family: "device-events",
79273
+ label: "Tanks (low or full / back to normal)",
79274
+ bad: ["device-tank-low", "device-tank-full"],
79275
+ recovery: ["device-tank-normal"],
79276
+ snapshotLabel: "Tanks low or full now",
79277
+ snapshotSection: "tanks"
79278
+ },
79279
+ {
79280
+ id: "recording-health",
79281
+ family: "device-events",
79282
+ label: "Recording health (stalled or degraded / recording again)",
79283
+ bad: ["recording-stalled", "recording-degraded"],
79284
+ recovery: ["recording-healthy"],
79285
+ snapshotLabel: "Recordings stalled now",
79286
+ snapshotSection: null
79287
+ },
79288
+ {
79289
+ id: "node-connectivity",
79290
+ family: "system",
79291
+ label: "Node connectivity (offline / back online)",
79292
+ bad: ["node-offline"],
79293
+ recovery: ["node-online"],
79294
+ snapshotLabel: "Nodes offline now",
79295
+ snapshotSection: "nodes"
79296
+ },
79297
+ {
79298
+ id: "storage-space",
79299
+ family: "system",
79300
+ label: "Storage space (low or critical / ok again)",
79301
+ bad: ["storage-location-low", "storage-location-critical"],
79302
+ recovery: ["storage-location-ok"],
79303
+ snapshotLabel: "Storage locations low now",
79304
+ snapshotSection: null
79305
+ },
79306
+ {
79307
+ id: "critical-alerts",
79308
+ family: "system",
79309
+ label: "Critical alerts (raised / resolved)",
79310
+ bad: ["alert-critical"],
79311
+ recovery: ["alert-critical-resolved"],
79312
+ snapshotLabel: "Critical alerts open now",
79313
+ snapshotSection: null
79314
+ },
79315
+ {
79316
+ id: "rule-health",
79317
+ family: "system",
79318
+ label: "Rule health (broken / repaired)",
79319
+ bad: ["rule-broken"],
79320
+ recovery: ["rule-repaired"],
79321
+ snapshotLabel: "Notification rules broken now",
79322
+ snapshotSection: null
79323
+ }
79324
+ ].flatMap((spec) => [...spec.bad, ...spec.recovery].map((kind) => [kind, spec])));
79202
79325
  new Set([
79203
79326
  "disarmed",
79204
79327
  "armed_home",
@@ -1,5 +1,5 @@
1
1
  import { createHash } from "node:crypto";
2
- //#region ../types/dist/event-category-DOl51-Ij.mjs
2
+ //#region ../types/dist/event-category-7pZEBmVg.mjs
3
3
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
4
4
  EventCategory["SystemBoot"] = "system.boot";
5
5
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -687,6 +687,14 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
687
687
  EventCategory["BackupRestored"] = "backup.restored";
688
688
  EventCategory["NotificationDispatched"] = "notification.dispatched";
689
689
  EventCategory["NotificationFailed"] = "notification.failed";
690
+ /**
691
+ * A notification rule that cannot work (D905): its stored row does not load,
692
+ * or it still names a device / delivery target the prune CONFIRMED deleted.
693
+ * One edge per rule per distinct set of reasons; never on an unanswered read.
694
+ */
695
+ EventCategory["NotificationRuleBroken"] = "notification.rule-broken";
696
+ /** The clear of {@link NotificationRuleBroken}: the rule loads and names nothing deleted. */
697
+ EventCategory["NotificationRuleRepaired"] = "notification.rule-repaired";
690
698
  EventCategory["DeviceUpdated"] = "device.updated";
691
699
  /**
692
700
  * Transport-level connectivity. Emitted by the device driver when
@@ -5547,7 +5555,7 @@ var ZodIssueCode = {
5547
5555
  var ZodFirstPartyTypeKind;
5548
5556
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5549
5557
  //#endregion
5550
- //#region ../types/dist/sleep-_sV1BE2f.mjs
5558
+ //#region ../types/dist/sleep-CueztlR1.mjs
5551
5559
  /**
5552
5560
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5553
5561
  * window to float samples (D455).
@@ -45766,6 +45774,8 @@ var NcSystemEventKindSchema = _enum([
45766
45774
  "alert-critical",
45767
45775
  "alert-error",
45768
45776
  "alert-critical-resolved",
45777
+ "rule-broken",
45778
+ "rule-repaired",
45769
45779
  "camera-online",
45770
45780
  "camera-offline",
45771
45781
  "camera-disabled",
@@ -78750,6 +78760,8 @@ new Map(Object.entries({
78750
78760
  "alert-critical": "system",
78751
78761
  "alert-error": "system",
78752
78762
  "alert-critical-resolved": "system",
78763
+ "rule-broken": "system",
78764
+ "rule-repaired": "system",
78753
78765
  "storage-location-low": "system",
78754
78766
  "storage-location-critical": "system",
78755
78767
  "storage-location-ok": "system",
@@ -78884,6 +78896,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
78884
78896
  "alert-critical-resolved"
78885
78897
  ]
78886
78898
  },
78899
+ {
78900
+ id: "rule-health",
78901
+ family: "system",
78902
+ label: "Notification rules",
78903
+ kinds: ["rule-broken", "rule-repaired"]
78904
+ },
78887
78905
  {
78888
78906
  id: "alarm",
78889
78907
  family: "alarm",
@@ -79161,6 +79179,10 @@ var STATE_SUMMARY_VARS = [
79161
79179
  [...RULE_TEXT],
79162
79180
  [...RULE_TEXT],
79163
79181
  [...RULE_TEXT],
79182
+ [...RULE_TEXT],
79183
+ [...RULE_TEXT],
79184
+ [...RULE_TEXT],
79185
+ [...RULE_TEXT],
79164
79186
  ([...RULE_TEXT], [...UPDATES]),
79165
79187
  ([...RULE_TEXT], [...PACKAGE_UPDATES]),
79166
79188
  ([...RULE_TEXT], [...PACKAGE_UPDATES]),
@@ -79199,6 +79221,107 @@ var STATE_SUMMARY_VARS = [
79199
79221
  [...RULE_TEXT],
79200
79222
  ...STATE_SUMMARY_VARS
79201
79223
  ];
79224
+ new Map([
79225
+ {
79226
+ id: "device-connectivity",
79227
+ family: "device-events",
79228
+ label: "Device connectivity (offline / back online)",
79229
+ bad: ["device-offline"],
79230
+ recovery: ["device-online"],
79231
+ snapshotLabel: "Devices offline now",
79232
+ snapshotSection: "device-state"
79233
+ },
79234
+ {
79235
+ id: "device-switch",
79236
+ family: "device-events",
79237
+ label: "Device switched off / back on",
79238
+ bad: ["device-disabled"],
79239
+ recovery: ["device-enabled"],
79240
+ snapshotLabel: "Devices switched off now",
79241
+ snapshotSection: "device-state"
79242
+ },
79243
+ {
79244
+ id: "stream-connectivity",
79245
+ family: "device-events",
79246
+ label: "Stream connectivity (offline / back online)",
79247
+ bad: ["stream-offline"],
79248
+ recovery: ["stream-online"],
79249
+ snapshotLabel: "Streams offline now",
79250
+ snapshotSection: "streams"
79251
+ },
79252
+ {
79253
+ id: "battery",
79254
+ family: "device-events",
79255
+ label: "Battery (low / back to normal)",
79256
+ bad: ["device-battery-low"],
79257
+ recovery: ["device-battery-normal"],
79258
+ snapshotLabel: "Batteries low now",
79259
+ snapshotSection: "battery"
79260
+ },
79261
+ {
79262
+ id: "consumables",
79263
+ family: "device-events",
79264
+ label: "Consumables (low / replaced)",
79265
+ bad: ["device-consumable-low"],
79266
+ recovery: ["device-consumable-normal"],
79267
+ snapshotLabel: "Consumables low now",
79268
+ snapshotSection: "consumables"
79269
+ },
79270
+ {
79271
+ id: "tanks",
79272
+ family: "device-events",
79273
+ label: "Tanks (low or full / back to normal)",
79274
+ bad: ["device-tank-low", "device-tank-full"],
79275
+ recovery: ["device-tank-normal"],
79276
+ snapshotLabel: "Tanks low or full now",
79277
+ snapshotSection: "tanks"
79278
+ },
79279
+ {
79280
+ id: "recording-health",
79281
+ family: "device-events",
79282
+ label: "Recording health (stalled or degraded / recording again)",
79283
+ bad: ["recording-stalled", "recording-degraded"],
79284
+ recovery: ["recording-healthy"],
79285
+ snapshotLabel: "Recordings stalled now",
79286
+ snapshotSection: null
79287
+ },
79288
+ {
79289
+ id: "node-connectivity",
79290
+ family: "system",
79291
+ label: "Node connectivity (offline / back online)",
79292
+ bad: ["node-offline"],
79293
+ recovery: ["node-online"],
79294
+ snapshotLabel: "Nodes offline now",
79295
+ snapshotSection: "nodes"
79296
+ },
79297
+ {
79298
+ id: "storage-space",
79299
+ family: "system",
79300
+ label: "Storage space (low or critical / ok again)",
79301
+ bad: ["storage-location-low", "storage-location-critical"],
79302
+ recovery: ["storage-location-ok"],
79303
+ snapshotLabel: "Storage locations low now",
79304
+ snapshotSection: null
79305
+ },
79306
+ {
79307
+ id: "critical-alerts",
79308
+ family: "system",
79309
+ label: "Critical alerts (raised / resolved)",
79310
+ bad: ["alert-critical"],
79311
+ recovery: ["alert-critical-resolved"],
79312
+ snapshotLabel: "Critical alerts open now",
79313
+ snapshotSection: null
79314
+ },
79315
+ {
79316
+ id: "rule-health",
79317
+ family: "system",
79318
+ label: "Rule health (broken / repaired)",
79319
+ bad: ["rule-broken"],
79320
+ recovery: ["rule-repaired"],
79321
+ snapshotLabel: "Notification rules broken now",
79322
+ snapshotSection: null
79323
+ }
79324
+ ].flatMap((spec) => [...spec.bad, ...spec.recovery].map((kind) => [kind, spec])));
79202
79325
  new Set([
79203
79326
  "disarmed",
79204
79327
  "armed_home",
@@ -1,4 +1,4 @@
1
- import { Gn as hfModelUrl, f as COCO_80_LABELS } from "./dist-BGq_y1xM.mjs";
1
+ import { Gn as hfModelUrl, f as COCO_80_LABELS } from "./dist-CfOv146z.mjs";
2
2
  //#region src/detection-pipeline/registry/model-licenses.ts
3
3
  var COCO_DATA = {
4
4
  name: "COCO 2017",
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-F6F_xjNj.js");
1
+ const require_dist = require("./dist-B_1t8oSg.js");
2
2
  //#region src/detection-pipeline/registry/model-licenses.ts
3
3
  var COCO_DATA = {
4
4
  name: "COCO 2017",
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_dist = require("../dist-F6F_xjNj.js");
5
+ const require_dist = require("../dist-B_1t8oSg.js");
6
6
  const require_lazy_sharp = require("../lazy-sharp-BuwKlQLR.js");
7
7
  let node_fs = require("node:fs");
8
8
  let node_path = require("node:path");
@@ -1,4 +1,4 @@
1
- import { Ct as evaluateZoneRules, Gt as motionDetectionCapability, Kn as hydrateSchema, Pn as BaseAddon, jn as DeviceType } from "../dist-BGq_y1xM.mjs";
1
+ import { Ct as evaluateZoneRules, Gt as motionDetectionCapability, Kn as hydrateSchema, Pn as BaseAddon, jn as DeviceType } from "../dist-CfOv146z.mjs";
2
2
  import { t as getSharp } from "../lazy-sharp-DXsqwpph.mjs";
3
3
  import { readFileSync } from "node:fs";
4
4
  import { join } from "node:path";
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require("./chunk-emK7D4bc.js");
2
- const require_dist = require("./dist-F6F_xjNj.js");
2
+ const require_dist = require("./dist-B_1t8oSg.js");
3
3
  require("node:os");
4
4
  let node_crypto = require("node:crypto");
5
5
  let node_fs = require("node:fs");
@@ -1,4 +1,4 @@
1
- import { En as buildFfmpegArgs, Mn as errMsg, Tn as Fmp4BoxSplitter, kn as isSoftwareDecode } from "./dist-BGq_y1xM.mjs";
1
+ import { En as buildFfmpegArgs, Mn as errMsg, Tn as Fmp4BoxSplitter, kn as isSoftwareDecode } from "./dist-CfOv146z.mjs";
2
2
  import { randomUUID } from "node:crypto";
3
3
  import { realpathSync } from "node:fs";
4
4
  import path from "node:path";
@@ -3,9 +3,9 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../chunk-emK7D4bc.js");
6
- const require_dist = require("../dist-F6F_xjNj.js");
7
- const require_node = require("../node-D_K-84ig.js");
8
- const require_custom_model_catalog = require("../custom-model-catalog-D_mgggfr.js");
6
+ const require_dist = require("../dist-B_1t8oSg.js");
7
+ const require_node = require("../node-D82_5p1M.js");
8
+ const require_custom_model_catalog = require("../custom-model-catalog-DFuM_m3D.js");
9
9
  const require_hub_hostname = require("../hub-hostname-DAJXlOgV.js");
10
10
  const require_lazy_sharp = require("../lazy-sharp-BuwKlQLR.js");
11
11
  const require_restream_intent = require("../restream-intent-7uDNqMKs.js");
@@ -1,6 +1,6 @@
1
- import { A as NativeLeaseAdmissionSchema, Bn as createEvent, Dt as failureContributionCapability, E as FailureCounters, Ft as linkedStepOf, Hn as defineCustomActions, It as loadContributionCapability, M as NodeBenchRunnerInputSchema, Mn as errMsg, P as PIPELINE_RAMP, Pn as BaseAddon, Qn as nodePin, Qt as pipelineRunnerCapability, Rn as MODEL_FORMATS, V as ROOT_SUPPLIABLE_STEP_IDS, Vn as customAction, Xt as pickNativeLeaseOverride, Y as allowedSuppliedEffect, Yt as pickDetailCropConvention, _ as DEFAULT_DETAIL_CROP_CONVENTION, a as BackgroundRunRegistry, ar as boolean, cn as resolveModelBoundSetting, cr as literal, dn as resolveRootSupply, fn as rootSuppliesOf, gt as deriveRootFaceRefineRect, hr as EventCategory, ir as array, j as NativeLeaseSettingsSchema, lr as number, m as CROP_SUPPLY_SOURCES, mt as deriveDetailCropRect, nt as buildBenchStepTree, pr as string, rr as _enum, rt as cameraOwnsMotionViaSensor, sr as lazy, ur as object, x as DEVICE_RAMP, y as DEFAULT_NATIVE_LEASE_SETTINGS } from "../dist-BGq_y1xM.mjs";
2
- import { i as NO_COST_CLAIM, t as ChildCostRegistry } from "../node-DwTqHnch.mjs";
3
- import { a as stepsForElectedPool, b as getStepDefinition, d as rootObjectGate, f as localFrameRegistry, h as resolveFrameViewGeometry, i as placeDetailStep, l as resolveDefaultDetectionModel, m as createSessionDecodeCoordinator, p as isSessionDecodeReadGone, s as resolveDeviceEngine, t as CustomModelCatalog, u as macroGateVerdict, y as getStep } from "../custom-model-catalog-CLhfiG1p.mjs";
1
+ import { A as NativeLeaseAdmissionSchema, Bn as createEvent, Dt as failureContributionCapability, E as FailureCounters, Ft as linkedStepOf, Hn as defineCustomActions, It as loadContributionCapability, M as NodeBenchRunnerInputSchema, Mn as errMsg, P as PIPELINE_RAMP, Pn as BaseAddon, Qn as nodePin, Qt as pipelineRunnerCapability, Rn as MODEL_FORMATS, V as ROOT_SUPPLIABLE_STEP_IDS, Vn as customAction, Xt as pickNativeLeaseOverride, Y as allowedSuppliedEffect, Yt as pickDetailCropConvention, _ as DEFAULT_DETAIL_CROP_CONVENTION, a as BackgroundRunRegistry, ar as boolean, cn as resolveModelBoundSetting, cr as literal, dn as resolveRootSupply, fn as rootSuppliesOf, gt as deriveRootFaceRefineRect, hr as EventCategory, ir as array, j as NativeLeaseSettingsSchema, lr as number, m as CROP_SUPPLY_SOURCES, mt as deriveDetailCropRect, nt as buildBenchStepTree, pr as string, rr as _enum, rt as cameraOwnsMotionViaSensor, sr as lazy, ur as object, x as DEVICE_RAMP, y as DEFAULT_NATIVE_LEASE_SETTINGS } from "../dist-CfOv146z.mjs";
2
+ import { i as NO_COST_CLAIM, t as ChildCostRegistry } from "../node-tn9-iwDj.mjs";
3
+ import { a as stepsForElectedPool, b as getStepDefinition, d as rootObjectGate, f as localFrameRegistry, h as resolveFrameViewGeometry, i as placeDetailStep, l as resolveDefaultDetectionModel, m as createSessionDecodeCoordinator, p as isSessionDecodeReadGone, s as resolveDeviceEngine, t as CustomModelCatalog, u as macroGateVerdict, y as getStep } from "../custom-model-catalog-BmJXsT0k.mjs";
4
4
  import { t as resolveHubHostname } from "../hub-hostname-cCknRYKj.mjs";
5
5
  import { t as getSharp } from "../lazy-sharp-DXsqwpph.mjs";
6
6
  import { c as withDetectionIntent, o as preRollRequestOf, t as DETECTION_PRE_ROLL_REQUEST_MS } from "../restream-intent-DyGmLAU9.mjs";
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require("./chunk-emK7D4bc.js");
2
- const require_dist = require("./dist-F6F_xjNj.js");
2
+ const require_dist = require("./dist-B_1t8oSg.js");
3
3
  let node_fs = require("node:fs");
4
4
  node_fs = require_chunk.__toESM(node_fs);
5
5
  let node_child_process = require("node:child_process");
@@ -1,4 +1,4 @@
1
- import { qt as parseProcStatus } from "./dist-BGq_y1xM.mjs";
1
+ import { qt as parseProcStatus } from "./dist-CfOv146z.mjs";
2
2
  import * as fs from "node:fs";
3
3
  import { execFile } from "node:child_process";
4
4
  //#region src/shared/node-topology-platform.ts
@@ -3,8 +3,8 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../chunk-emK7D4bc.js");
6
- const require_dist = require("../dist-F6F_xjNj.js");
7
- const require_node = require("../node-D_K-84ig.js");
6
+ const require_dist = require("../dist-B_1t8oSg.js");
7
+ const require_node = require("../node-D82_5p1M.js");
8
8
  const require_hub_hostname = require("../hub-hostname-DAJXlOgV.js");
9
9
  const require_restream_intent = require("../restream-intent-7uDNqMKs.js");
10
10
  let node_crypto = require("node:crypto");
@@ -18836,6 +18836,15 @@ var RecordingController = class {
18836
18836
  */
18837
18837
  lastSegmentAt = /* @__PURE__ */ new Map();
18838
18838
  /**
18839
+ * Per `deviceId:profile`, when a segment was last FINALIZED — never seeded at
18840
+ * the pin. {@link lastSegmentAt} answers "is this writer still in its grace
18841
+ * window"; this answers "has it actually produced anything recently", which is
18842
+ * what a give-up may claim about the siblings it keeps (2026-10-22, camera
18843
+ * 618: both writers dead, each give-up said the other "keeps recording").
18844
+ * Cleared with {@link lastSegmentAt}.
18845
+ */
18846
+ lastProducedAt = /* @__PURE__ */ new Map();
18847
+ /**
18839
18848
  * Per `deviceId:profile`, the `attachedAtMs` of the attach that has retained
18840
18849
  * at least one `events` segment. Read only to LEVEL the discard log: an
18841
18850
  * attach that kept nothing is a wasted pull (warn), a later discard from one
@@ -19376,11 +19385,21 @@ var RecordingController = class {
19376
19385
  const stalled = profile === void 0 ? current : current.filter((r) => r.profile === profile);
19377
19386
  if (stalled.length === 0) return;
19378
19387
  const keep = profile === void 0 ? [] : current.filter((r) => r.profile !== profile);
19379
- if (keep.length === 0) {
19380
- this.deps.logger.warn("recorder: writer gave up — detaching + re-evaluating device", {
19381
- tags: { deviceId },
19382
- ...profile !== void 0 ? { meta: { profile } } : {}
19383
- });
19388
+ const now = this.now();
19389
+ const producing = keep.filter((r) => this.producedRecently(deviceId, r, now));
19390
+ const silentSiblings = keep.filter((r) => !producing.includes(r)).map((r) => r.profile);
19391
+ if (keep.length > 0 && producing.length === 0) this.deps.logger.warn("recorder: writer gave up — no profile produced a segment recently (all stalled) — detaching + re-evaluating device", {
19392
+ tags: { deviceId },
19393
+ meta: {
19394
+ profile,
19395
+ stalledSiblings: silentSiblings
19396
+ }
19397
+ });
19398
+ else if (keep.length === 0) this.deps.logger.warn("recorder: writer gave up — detaching + re-evaluating device", {
19399
+ tags: { deviceId },
19400
+ ...profile !== void 0 ? { meta: { profile } } : {}
19401
+ });
19402
+ if (producing.length === 0) {
19384
19403
  try {
19385
19404
  await this.detachDevice(deviceId);
19386
19405
  await this.evaluateDevice(deviceId);
@@ -19397,7 +19416,8 @@ var RecordingController = class {
19397
19416
  tags: { deviceId },
19398
19417
  meta: {
19399
19418
  profile: stalled.map((r) => r.profile),
19400
- keeping: keep.map((r) => r.profile)
19419
+ keeping: producing.map((r) => r.profile),
19420
+ ...silentSiblings.length > 0 ? { pinnedWithoutSegment: silentSiblings } : {}
19401
19421
  }
19402
19422
  });
19403
19423
  try {
@@ -19413,6 +19433,11 @@ var RecordingController = class {
19413
19433
  });
19414
19434
  }
19415
19435
  }
19436
+ /** Did this writer finalize a segment within its idle bound? Seeding at the pin does not count. */
19437
+ producedRecently(deviceId, r, now) {
19438
+ const at = this.lastProducedAt.get(idleKey(deviceId, r.profile));
19439
+ return at !== void 0 && now - at <= writerIdleBoundMs(r.segmentSeconds);
19440
+ }
19416
19441
  /**
19417
19442
  * Tear down only the stalled writers, keep the rest pinned, and retry the
19418
19443
  * missing profiles through {@link fillMissingProfiles}.
@@ -19420,6 +19445,7 @@ var RecordingController = class {
19420
19445
  async recoverStalledProfiles(deviceId, stalled, keep) {
19421
19446
  for (const r of stalled) {
19422
19447
  this.lastSegmentAt.delete(idleKey(deviceId, r.profile));
19448
+ this.lastProducedAt.delete(idleKey(deviceId, r.profile));
19423
19449
  this.attachRetained.delete(idleKey(deviceId, r.profile));
19424
19450
  }
19425
19451
  this.active.set(deviceId, [...keep]);
@@ -20161,6 +20187,7 @@ var RecordingController = class {
20161
20187
  onFinalized: async (startMs, durMs, flatAbsPath) => {
20162
20188
  const segmentAt = this.now();
20163
20189
  this.lastSegmentAt.set(idleKey(deviceId, profile), segmentAt);
20190
+ this.lastProducedAt.set(idleKey(deviceId, profile), segmentAt);
20164
20191
  const recovered = this.stallMonitor.noteSegment(deviceId, segmentAt);
20165
20192
  if (recovered !== null) this.deps.emitRecordingHealth?.(require_dist.EventCategory.RecordingHealthOk, { deviceId: recovered.deviceId });
20166
20193
  if (startMs >= writerStartedMs - 1e3 && !firstSegmentSeen) {
@@ -20340,6 +20367,7 @@ var RecordingController = class {
20340
20367
  this.skippedProfiles.delete(deviceId);
20341
20368
  for (const r of recordings) {
20342
20369
  this.lastSegmentAt.delete(idleKey(deviceId, r.profile));
20370
+ this.lastProducedAt.delete(idleKey(deviceId, r.profile));
20343
20371
  this.attachRetained.delete(idleKey(deviceId, r.profile));
20344
20372
  }
20345
20373
  await Promise.all(recordings.map((r) => this.teardownProfile(deviceId, r)));