@camstack/addon-pipeline 1.2.614 → 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.
- package/dist/audio-analyzer/index.js +3 -3
- package/dist/audio-analyzer/index.mjs +3 -3
- package/dist/{custom-model-catalog-CLhfiG1p.mjs → custom-model-catalog-BmJXsT0k.mjs} +2 -2
- package/dist/{custom-model-catalog-D_mgggfr.js → custom-model-catalog-DFuM_m3D.js} +2 -2
- package/dist/detection-pipeline/index.js +4 -4
- package/dist/detection-pipeline/index.mjs +4 -4
- package/dist/{dist-F6F_xjNj.js → dist-B_1t8oSg.js} +125 -2
- package/dist/{dist-BGq_y1xM.mjs → dist-CfOv146z.mjs} +125 -2
- package/dist/{model-catalogs-CF3WVSy_.mjs → model-catalogs-Dnj7Cr3q.mjs} +1 -1
- package/dist/{model-catalogs-DrUv77wD.js → model-catalogs-Dr-_ANpG.js} +1 -1
- package/dist/motion-wasm/index.js +1 -1
- package/dist/motion-wasm/index.mjs +1 -1
- package/dist/{node-D_K-84ig.js → node-D82_5p1M.js} +1 -1
- package/dist/{node-DwTqHnch.mjs → node-tn9-iwDj.mjs} +1 -1
- package/dist/pipeline-runner/index.js +3 -3
- package/dist/pipeline-runner/index.mjs +3 -3
- package/dist/{process-memory-BN3N6YZh.js → process-memory-BlkUi_7x.js} +1 -1
- package/dist/{process-memory-k316CseF.mjs → process-memory-CD5f3ehN.mjs} +1 -1
- package/dist/recorder/index.js +36 -8
- package/dist/recorder/index.mjs +36 -8
- package/dist/{segment-demux-js-CWJseQHd.mjs → segment-demux-js-Cx61fdp7.mjs} +1 -1
- package/dist/{segment-demux-js-C4-eYvhD.js → segment-demux-js-uWcwFqRL.js} +1 -1
- package/dist/stream-broker/_stub.js +1 -1
- package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-DrWysXZj.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-dldjR7yB.mjs} +3 -3
- 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
- package/dist/stream-broker/demux-worker-child.js +1 -1
- package/dist/stream-broker/demux-worker-child.mjs +1 -1
- package/dist/stream-broker/{hostInit-D5F0gL07.mjs → hostInit-Bo0bh2FZ.mjs} +3 -3
- package/dist/stream-broker/index.js +3 -3
- package/dist/stream-broker/index.mjs +3 -3
- package/dist/stream-broker/remoteEntry.js +1 -1
- package/package.json +1 -1
- 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-
|
|
7
|
-
const require_model_catalogs = require("../model-catalogs-
|
|
8
|
-
const require_process_memory = require("../process-memory-
|
|
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-
|
|
3
|
-
import { n as AUDIO_CLASSIFIER_MODELS } from "../model-catalogs-
|
|
4
|
-
import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-
|
|
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-
|
|
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-
|
|
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-
|
|
2
|
-
const require_model_catalogs = require("./model-catalogs-
|
|
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-
|
|
7
|
-
const require_node = require("../node-
|
|
8
|
-
const require_custom_model_catalog = require("../custom-model-catalog-
|
|
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-
|
|
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-
|
|
3
|
-
import { c as readProcessCost } from "../node-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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",
|
|
@@ -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-
|
|
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-
|
|
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,4 +1,4 @@
|
|
|
1
|
-
import { En as buildFfmpegArgs, Mn as errMsg, Tn as Fmp4BoxSplitter, kn as isSoftwareDecode } from "./dist-
|
|
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-
|
|
7
|
-
const require_node = require("../node-
|
|
8
|
-
const require_custom_model_catalog = require("../custom-model-catalog-
|
|
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-
|
|
2
|
-
import { i as NO_COST_CLAIM, t as ChildCostRegistry } from "../node-
|
|
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-
|
|
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-
|
|
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");
|
package/dist/recorder/index.js
CHANGED
|
@@ -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-
|
|
7
|
-
const require_node = require("../node-
|
|
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
|
-
|
|
19380
|
-
|
|
19381
|
-
|
|
19382
|
-
|
|
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:
|
|
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)));
|