@camstack/addon-osd-manager 0.1.266 → 0.1.268
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/{MotionZonesSettings-CUn3MAfu.mjs → MotionZonesSettings-Da16aeu1.mjs} +2 -2
- package/dist/{PrivacyMaskSettings-BoXbVS78.mjs → PrivacyMaskSettings-Cn7oHD35.mjs} +4 -4
- package/dist/{SceneMonitorEditor-x5r39vuf.mjs → SceneMonitorEditor-DUZEpHBf.mjs} +3 -3
- package/dist/_stub.js +1861 -1820
- package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-Bvl-Y6pM.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-pMeJvguf.mjs} +3 -3
- package/dist/_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BGMAwVi8.mjs +26 -0
- package/dist/addon-osd-manager.css +1 -1
- package/dist/{hostInit-YScGtNRZ.mjs → hostInit-Ius2kGzx.mjs} +2 -2
- package/dist/index.js +208 -102
- package/dist/index.mjs +208 -102
- package/dist/{player-overlays-orU5XUga.mjs → player-overlays-6Y9IRVsJ.mjs} +1 -1
- package/dist/remoteEntry.js +1 -1
- package/dist/{responsive-D9kij-ZF.mjs → responsive-CRQUI1kX.mjs} +1 -1
- package/dist/{scene-monitor-copy-Cyj7I5Lz.mjs → scene-monitor-copy-Ng8lktvt.mjs} +1 -1
- package/dist/{square-DhHK6epE.mjs → square-C3jJtMZF.mjs} +1 -1
- package/dist/{trash-2-DXAqD6D8.mjs → trash-2-CNbeJ76B.mjs} +1 -1
- package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-BQFwY4Fq.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-CcfyBYDS.mjs} +1 -1
- package/package.json +1 -1
- package/dist/_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BZubp_VZ.mjs +0 -26
|
@@ -36,7 +36,7 @@ async function r() {
|
|
|
36
36
|
}
|
|
37
37
|
},
|
|
38
38
|
"@camstack/types": {
|
|
39
|
-
version: "1.2.
|
|
39
|
+
version: "1.2.407",
|
|
40
40
|
scope: "default",
|
|
41
41
|
shareConfig: {
|
|
42
42
|
singleton: !0,
|
|
@@ -81,7 +81,7 @@ async function r() {
|
|
|
81
81
|
}
|
|
82
82
|
},
|
|
83
83
|
"@camstack/ui-library": {
|
|
84
|
-
version: "1.2.
|
|
84
|
+
version: "1.2.322",
|
|
85
85
|
scope: "default",
|
|
86
86
|
shareConfig: {
|
|
87
87
|
singleton: !0,
|
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
//#region ../types/dist/event-category-
|
|
5
|
+
//#region ../types/dist/event-category-Ceif8n-v.mjs
|
|
6
6
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
7
7
|
EventCategory["SystemBoot"] = "system.boot";
|
|
8
8
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -474,6 +474,10 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
474
474
|
* on the device detail page.
|
|
475
475
|
*/
|
|
476
476
|
EventCategory["DoorbellOnPressed"] = "doorbell.onPressed";
|
|
477
|
+
/** Mirrors `runningStateCapability.events.onStarted`. */
|
|
478
|
+
EventCategory["RunningStarted"] = "running.started";
|
|
479
|
+
/** Mirrors `runningStateCapability.events.onFinished`. */
|
|
480
|
+
EventCategory["RunningFinished"] = "running.finished";
|
|
477
481
|
/**
|
|
478
482
|
* Cap event fired by every device that registers the `event-emitter`
|
|
479
483
|
* capability. Mirrors `eventEmitterCapability.events.onEvent`. Carries
|
|
@@ -5433,7 +5437,7 @@ var ZodIssueCode = {
|
|
|
5433
5437
|
var ZodFirstPartyTypeKind;
|
|
5434
5438
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5435
5439
|
//#endregion
|
|
5436
|
-
//#region ../types/dist/sleep-
|
|
5440
|
+
//#region ../types/dist/sleep-CYfIZzGv.mjs
|
|
5437
5441
|
/**
|
|
5438
5442
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5439
5443
|
* window to float samples (D455).
|
|
@@ -5772,7 +5776,7 @@ Object.fromEntries([
|
|
|
5772
5776
|
* `hydrateSchema` to skip the `value` injection for structural-only fields.
|
|
5773
5777
|
*/
|
|
5774
5778
|
function isValuelessField(field) {
|
|
5775
|
-
return field.type === "separator" || field.type === "info" || field.type === "qr-code" || field.type === "button" || field.type === "object-array" || field.type === "widget" || field.type === "addon-action-button" || field.type === "device-action-button";
|
|
5779
|
+
return field.type === "separator" || field.type === "info" || field.type === "qr-code" || field.type === "button" || field.type === "object-array" || field.type === "widget" || field.type === "addon-action-button" || field.type === "device-action-button" || field.type === "account-sign-in" || field.type === "secret-presence";
|
|
5776
5780
|
}
|
|
5777
5781
|
function hydrateSchema(schema, values, options = {}) {
|
|
5778
5782
|
return {
|
|
@@ -8733,7 +8737,7 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
|
|
|
8733
8737
|
return DeviceRole;
|
|
8734
8738
|
}({});
|
|
8735
8739
|
//#endregion
|
|
8736
|
-
//#region ../types/dist/composition-
|
|
8740
|
+
//#region ../types/dist/composition-BJ8iAZb3.mjs
|
|
8737
8741
|
/**
|
|
8738
8742
|
* The ffmpeg build every CamStack node downloads, per platform and arch.
|
|
8739
8743
|
*
|
|
@@ -8793,7 +8797,7 @@ portable("linux64"), portable("linuxarm64"), portable("macarm64"), portable("mac
|
|
|
8793
8797
|
* ONE table for everyone who asks "is this device HIGH?": the
|
|
8794
8798
|
* recorder's `RecordingTriggers.sensorDeviceIds` trigger, the post-analysis
|
|
8795
8799
|
* sensor markers, the orchestrator's camera-sensors bridge and
|
|
8796
|
-
* the sources of a
|
|
8800
|
+
* the sources of a pulse (`compilePulseOverride`, D936).
|
|
8797
8801
|
* A second copy would diverge at the first cap added, and the symptom — "the
|
|
8798
8802
|
* sensor rings the doorbell but does not record" — is exactly D62.
|
|
8799
8803
|
*
|
|
@@ -9034,6 +9038,20 @@ var table = {
|
|
|
9034
9038
|
apply: () => {
|
|
9035
9039
|
throw new ExpressionEvalError("count: stateful evaluation context is required");
|
|
9036
9040
|
}
|
|
9041
|
+
},
|
|
9042
|
+
dwell: {
|
|
9043
|
+
minArgs: 3,
|
|
9044
|
+
maxArgs: 3,
|
|
9045
|
+
apply: () => {
|
|
9046
|
+
throw new ExpressionEvalError("dwell: stateful evaluation context is required");
|
|
9047
|
+
}
|
|
9048
|
+
},
|
|
9049
|
+
latchedAt: {
|
|
9050
|
+
minArgs: 1,
|
|
9051
|
+
maxArgs: 1,
|
|
9052
|
+
apply: () => {
|
|
9053
|
+
throw new ExpressionEvalError("latchedAt: stateful evaluation context is required");
|
|
9054
|
+
}
|
|
9037
9055
|
}
|
|
9038
9056
|
};
|
|
9039
9057
|
Object.freeze(Object.assign(Object.create(null), table));
|
|
@@ -15894,7 +15912,15 @@ Object.freeze({
|
|
|
15894
15912
|
kind: "fixed",
|
|
15895
15913
|
result: ["number", "null"]
|
|
15896
15914
|
},
|
|
15897
|
-
count: NUMBER
|
|
15915
|
+
count: NUMBER,
|
|
15916
|
+
dwell: {
|
|
15917
|
+
kind: "fixed",
|
|
15918
|
+
result: ["boolean", "null"]
|
|
15919
|
+
},
|
|
15920
|
+
latchedAt: {
|
|
15921
|
+
kind: "fixed",
|
|
15922
|
+
result: ["number", "null"]
|
|
15923
|
+
}
|
|
15898
15924
|
});
|
|
15899
15925
|
`${COMPOSED_DEVICE_STABLE_ID_PREFIX}`;
|
|
15900
15926
|
/**
|
|
@@ -42133,9 +42159,6 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42133
42159
|
"device-battery-normal",
|
|
42134
42160
|
"device-consumable-low",
|
|
42135
42161
|
"device-consumable-normal",
|
|
42136
|
-
"device-tank-low",
|
|
42137
|
-
"device-tank-full",
|
|
42138
|
-
"device-tank-normal",
|
|
42139
42162
|
"stream-online",
|
|
42140
42163
|
"stream-offline",
|
|
42141
42164
|
"node-online",
|
|
@@ -42182,13 +42205,14 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42182
42205
|
"camera-enabled"
|
|
42183
42206
|
]);
|
|
42184
42207
|
/** The legacy tail of {@link NcSystemEventKindSchema} — see its docblock. */
|
|
42185
|
-
var NC_LEGACY_SYSTEM_EVENT_KINDS =
|
|
42208
|
+
var NC_LEGACY_SYSTEM_EVENT_KINDS = [
|
|
42186
42209
|
"camera-online",
|
|
42187
42210
|
"camera-offline",
|
|
42188
42211
|
"camera-disabled",
|
|
42189
42212
|
"camera-enabled"
|
|
42190
|
-
]
|
|
42191
|
-
|
|
42213
|
+
];
|
|
42214
|
+
var NC_LEGACY_SYSTEM_EVENT_KIND_SET = new Set(NC_LEGACY_SYSTEM_EVENT_KINDS);
|
|
42215
|
+
NcSystemEventKindSchema.options.filter((kind) => !NC_LEGACY_SYSTEM_EVENT_KIND_SET.has(kind));
|
|
42192
42216
|
/**
|
|
42193
42217
|
* The panel's transitions, as ONE list.
|
|
42194
42218
|
*
|
|
@@ -43307,18 +43331,11 @@ var NcRuleSchema = NcRuleInputSchema.extend({
|
|
|
43307
43331
|
*/
|
|
43308
43332
|
disabledTargetIds: array(string()).default([])
|
|
43309
43333
|
});
|
|
43310
|
-
/**
|
|
43311
|
-
* The state-summary SECTIONS (D647 / D698 / D708): the D637 kind groups that
|
|
43312
|
-
* report a still-true state. `addons` is the crash-looped addons only and
|
|
43313
|
-
* `addon-updates` the addons that are behind (D708 split them). `backups-exports` and `alarm` are not sections — a completed
|
|
43314
|
-
* job is not an open state, and the alarm stays instant.
|
|
43315
|
-
*/
|
|
43316
43334
|
var NcStateSummarySectionIdSchema = _enum([
|
|
43317
43335
|
"device-state",
|
|
43318
43336
|
"streams",
|
|
43319
43337
|
"battery",
|
|
43320
43338
|
"consumables",
|
|
43321
|
-
"tanks",
|
|
43322
43339
|
"detection-blind",
|
|
43323
43340
|
"nodes",
|
|
43324
43341
|
"addons",
|
|
@@ -43699,18 +43716,6 @@ var NC_CONDITION_CATALOG = [
|
|
|
43699
43716
|
value: "device-consumable-normal",
|
|
43700
43717
|
label: "Consumable replaced"
|
|
43701
43718
|
},
|
|
43702
|
-
{
|
|
43703
|
-
value: "device-tank-low",
|
|
43704
|
-
label: "Tank low (water, detergent)"
|
|
43705
|
-
},
|
|
43706
|
-
{
|
|
43707
|
-
value: "device-tank-full",
|
|
43708
|
-
label: "Tank full (dirty water, dust)"
|
|
43709
|
-
},
|
|
43710
|
-
{
|
|
43711
|
-
value: "device-tank-normal",
|
|
43712
|
-
label: "Tank back to normal"
|
|
43713
|
-
},
|
|
43714
43719
|
{
|
|
43715
43720
|
value: "export-completed",
|
|
43716
43721
|
label: "Export completed"
|
|
@@ -54286,7 +54291,8 @@ var BatteryStatusSchema = object({
|
|
|
54286
54291
|
*/
|
|
54287
54292
|
binary: boolean().optional()
|
|
54288
54293
|
});
|
|
54289
|
-
DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.PetFeeder, DeviceType.Container, DeviceType.Thermostat
|
|
54294
|
+
DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.PetFeeder, DeviceType.Container, DeviceType.Thermostat;
|
|
54295
|
+
method(object({
|
|
54290
54296
|
deviceId: number(),
|
|
54291
54297
|
/** Bound on the wait. Sensible range 3000–10000ms. */
|
|
54292
54298
|
timeoutMs: number().int().min(500).max(3e4).default(8e3)
|
|
@@ -54995,6 +55001,7 @@ var ConsumablesStatusSchema = object({
|
|
|
54995
55001
|
})),
|
|
54996
55002
|
lastChangedAt: number()
|
|
54997
55003
|
});
|
|
55004
|
+
Object.values(DeviceType), [...ConsumableRemainingUnitSchema.options], [...ConsumableStatusSchema.options], [...ConsumableKindSchema.options], [...ConsumableFormSchema.options];
|
|
54998
55005
|
Object.values(DeviceType), method(object({
|
|
54999
55006
|
deviceId: number().int().nonnegative(),
|
|
55000
55007
|
key: string().min(1)
|
|
@@ -55466,6 +55473,7 @@ DeviceType.Dishwasher, method(object({
|
|
|
55466
55473
|
kind: "mutation",
|
|
55467
55474
|
auth: "protected"
|
|
55468
55475
|
}), method(object({ deviceId: DeviceIdSchema }), DishwasherOptionsSchema, { auth: "protected" });
|
|
55476
|
+
DeviceType.Camera;
|
|
55469
55477
|
object({
|
|
55470
55478
|
/** Ms epoch of the last press. null = never observed since this provider started. */
|
|
55471
55479
|
lastPressedAt: number().nullable(),
|
|
@@ -57258,6 +57266,7 @@ authKey: string().optional() }), object({
|
|
|
57258
57266
|
/** Human-readable error when `ok: false`. */
|
|
57259
57267
|
error: string().optional()
|
|
57260
57268
|
}), { kind: "mutation" });
|
|
57269
|
+
DeviceType.Camera;
|
|
57261
57270
|
object({
|
|
57262
57271
|
detected: boolean(),
|
|
57263
57272
|
/** Ms epoch of the last detected-true observation. Null if never detected. */
|
|
@@ -59383,6 +59392,24 @@ DeviceType.Camera, method(object({ deviceId: number() }), PtzAutotrackStatusSche
|
|
|
59383
59392
|
deviceId: number(),
|
|
59384
59393
|
status: PtzAutotrackStatusSchema
|
|
59385
59394
|
});
|
|
59395
|
+
var RunningStateSourceSchema = _enum(["native", "assigned"]);
|
|
59396
|
+
object({
|
|
59397
|
+
/** null = unknown — never coerced to false (D393). */
|
|
59398
|
+
running: boolean().nullable(),
|
|
59399
|
+
/** Epoch ms the current boolean began; null while `running` is null. */
|
|
59400
|
+
since: number().nullable(),
|
|
59401
|
+
source: RunningStateSourceSchema,
|
|
59402
|
+
phase: string().nullable(),
|
|
59403
|
+
/** null until a reading has been published (D393). */
|
|
59404
|
+
lastFetchedAt: number().nullable()
|
|
59405
|
+
});
|
|
59406
|
+
object({
|
|
59407
|
+
deviceId: number(),
|
|
59408
|
+
since: number().nullable(),
|
|
59409
|
+
phase: string().nullable()
|
|
59410
|
+
});
|
|
59411
|
+
Object.values(DeviceType);
|
|
59412
|
+
DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.MediaPlayer, DeviceType.WaterHeater, DeviceType.Humidifier, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.PetFeeder;
|
|
59386
59413
|
DeviceType.Camera, DeviceType.Sensor, DeviceType.Switch, method(object({ deviceId: number().int().nonnegative() }), object({ success: literal(true) }), {
|
|
59387
59414
|
kind: "mutation",
|
|
59388
59415
|
auth: "admin"
|
|
@@ -70993,6 +71020,13 @@ Object.freeze({
|
|
|
70993
71020
|
access: "create",
|
|
70994
71021
|
role: "admin"
|
|
70995
71022
|
},
|
|
71023
|
+
"runningState.getStatus": {
|
|
71024
|
+
capName: "running-state",
|
|
71025
|
+
capScope: "device",
|
|
71026
|
+
addonId: null,
|
|
71027
|
+
access: "view",
|
|
71028
|
+
role: "viewer"
|
|
71029
|
+
},
|
|
70996
71030
|
"sceneMonitor.captureReference": {
|
|
70997
71031
|
capName: "scene-monitor",
|
|
70998
71032
|
capScope: "device",
|
|
@@ -75707,6 +75741,32 @@ var APPLIANCE_CAP_VOCABULARY = {
|
|
|
75707
75741
|
}],
|
|
75708
75742
|
events: { onSent: { notOperatorFacing: "a delivery receipt of a send this system made — not a fact about the world" } }
|
|
75709
75743
|
},
|
|
75744
|
+
"running-state": {
|
|
75745
|
+
scope: "device",
|
|
75746
|
+
noun: t("Running", "In funzione"),
|
|
75747
|
+
state: [{
|
|
75748
|
+
kind: "boolean",
|
|
75749
|
+
field: "running",
|
|
75750
|
+
label: t("Running", "In funzione"),
|
|
75751
|
+
whenTrue: t("When {device} starts", "Quando {device} inizia"),
|
|
75752
|
+
whenFalse: t("When {device} finishes", "Quando {device} finisce"),
|
|
75753
|
+
icon: "play"
|
|
75754
|
+
}],
|
|
75755
|
+
events: {
|
|
75756
|
+
onStarted: {
|
|
75757
|
+
category: EventCategory.RunningStarted,
|
|
75758
|
+
label: t("Started running", "Ha iniziato a funzionare"),
|
|
75759
|
+
phrase: t("When {device} starts running", "Quando {device} inizia a funzionare"),
|
|
75760
|
+
icon: "play"
|
|
75761
|
+
},
|
|
75762
|
+
onFinished: {
|
|
75763
|
+
category: EventCategory.RunningFinished,
|
|
75764
|
+
label: t("Finished", "Ha finito"),
|
|
75765
|
+
phrase: t("When {device} finishes", "Quando {device} finisce"),
|
|
75766
|
+
icon: "square"
|
|
75767
|
+
}
|
|
75768
|
+
}
|
|
75769
|
+
},
|
|
75710
75770
|
update: {
|
|
75711
75771
|
scope: "device",
|
|
75712
75772
|
noun: t("Firmware update", "Aggiornamento firmware"),
|
|
@@ -79247,6 +79307,11 @@ Object.freeze({
|
|
|
79247
79307
|
form: "single",
|
|
79248
79308
|
optional: true
|
|
79249
79309
|
}],
|
|
79310
|
+
"runningState.getStatus": [{
|
|
79311
|
+
name: "deviceId",
|
|
79312
|
+
form: "single",
|
|
79313
|
+
optional: false
|
|
79314
|
+
}],
|
|
79250
79315
|
"sceneMonitor.captureReference": [{
|
|
79251
79316
|
name: "deviceId",
|
|
79252
79317
|
form: "single",
|
|
@@ -79745,6 +79810,96 @@ Object.freeze({
|
|
|
79745
79810
|
"smtp-provider": "email"
|
|
79746
79811
|
});
|
|
79747
79812
|
DeviceType.Camera;
|
|
79813
|
+
DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.PetFeeder, DeviceType.Container, DeviceType.Thermostat, DeviceType.Camera, DeviceType.Hub, DeviceType.Light, DeviceType.Siren, DeviceType.Switch, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Fan, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder, DeviceType.Dishwasher, DeviceType.Camera, DeviceType.Camera, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.MediaPlayer, DeviceType.WaterHeater, DeviceType.Humidifier, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.PetFeeder;
|
|
79814
|
+
/**
|
|
79815
|
+
* A saved Customize assignment (D936). The schema is the type: callers use
|
|
79816
|
+
* `z.infer`, they do not restate the shape.
|
|
79817
|
+
*/
|
|
79818
|
+
var OverrideSourceSchema = object({
|
|
79819
|
+
addonId: string().min(1),
|
|
79820
|
+
stableId: string().min(1),
|
|
79821
|
+
cap: string().min(1),
|
|
79822
|
+
fieldPath: string().min(1)
|
|
79823
|
+
});
|
|
79824
|
+
var CustomizeTransformDraftSchema = discriminatedUnion("kind", [
|
|
79825
|
+
object({ kind: literal("identity") }),
|
|
79826
|
+
object({ kind: literal("invert") }),
|
|
79827
|
+
object({
|
|
79828
|
+
kind: literal("threshold"),
|
|
79829
|
+
comparison: _enum(["gte", "lte"]),
|
|
79830
|
+
threshold: number(),
|
|
79831
|
+
startDwellMs: number().nonnegative(),
|
|
79832
|
+
stopDwellMs: number().nonnegative()
|
|
79833
|
+
}),
|
|
79834
|
+
object({
|
|
79835
|
+
kind: literal("linear"),
|
|
79836
|
+
scale: number(),
|
|
79837
|
+
offset: number(),
|
|
79838
|
+
clampMin: number().optional(),
|
|
79839
|
+
clampMax: number().optional()
|
|
79840
|
+
}),
|
|
79841
|
+
object({
|
|
79842
|
+
kind: literal("enum-map"),
|
|
79843
|
+
mapping: record(string(), string().nullable())
|
|
79844
|
+
}),
|
|
79845
|
+
object({ kind: literal("number") })
|
|
79846
|
+
]);
|
|
79847
|
+
var ScalarOverrideDraftSchema = object({
|
|
79848
|
+
kind: literal("scalar"),
|
|
79849
|
+
cap: string().min(1),
|
|
79850
|
+
targetId: string().min(1),
|
|
79851
|
+
source: OverrideSourceSchema,
|
|
79852
|
+
transform: CustomizeTransformDraftSchema
|
|
79853
|
+
});
|
|
79854
|
+
var KeyedArrayOverrideDraftSchema = object({
|
|
79855
|
+
kind: literal("keyedArray"),
|
|
79856
|
+
cap: string().min(1),
|
|
79857
|
+
targetId: string().min(1),
|
|
79858
|
+
key: string().min(1),
|
|
79859
|
+
label: string().min(1),
|
|
79860
|
+
fieldPath: string().min(1),
|
|
79861
|
+
source: OverrideSourceSchema,
|
|
79862
|
+
transform: CustomizeTransformDraftSchema
|
|
79863
|
+
});
|
|
79864
|
+
var PulseOverrideDraftSchema = object({
|
|
79865
|
+
kind: literal("pulse"),
|
|
79866
|
+
cap: string().min(1),
|
|
79867
|
+
targetId: string().min(1),
|
|
79868
|
+
enabled: boolean(),
|
|
79869
|
+
debounceMs: number().nonnegative(),
|
|
79870
|
+
sources: array(OverrideSourceSchema).min(1)
|
|
79871
|
+
});
|
|
79872
|
+
var SpanSourceDraftSchema = OverrideSourceSchema.extend({ mode: _enum([
|
|
79873
|
+
"in-addition",
|
|
79874
|
+
"confirm",
|
|
79875
|
+
"replace"
|
|
79876
|
+
]).optional() });
|
|
79877
|
+
discriminatedUnion("kind", [
|
|
79878
|
+
ScalarOverrideDraftSchema,
|
|
79879
|
+
KeyedArrayOverrideDraftSchema,
|
|
79880
|
+
PulseOverrideDraftSchema,
|
|
79881
|
+
object({
|
|
79882
|
+
kind: literal("span"),
|
|
79883
|
+
cap: string().min(1),
|
|
79884
|
+
targetId: string().min(1),
|
|
79885
|
+
timeoutMs: number().nonnegative(),
|
|
79886
|
+
cooldownMs: number().nonnegative().optional(),
|
|
79887
|
+
sources: array(SpanSourceDraftSchema)
|
|
79888
|
+
})
|
|
79889
|
+
]);
|
|
79890
|
+
object({
|
|
79891
|
+
targetId: string().min(1),
|
|
79892
|
+
configured: boolean(),
|
|
79893
|
+
source: _enum(["native", "assigned"]),
|
|
79894
|
+
state: _enum([
|
|
79895
|
+
"active",
|
|
79896
|
+
"stale",
|
|
79897
|
+
"released",
|
|
79898
|
+
"unavailable"
|
|
79899
|
+
]),
|
|
79900
|
+
reason: string().nullable()
|
|
79901
|
+
});
|
|
79902
|
+
String.raw`rose\(active(\d+), changed(\d+), (\d+(?:\.\d+)?)\)`;
|
|
79748
79903
|
var G711_SCALE_CORRECTION_DB = {
|
|
79749
79904
|
PCMU: 20 * Math.log10(4),
|
|
79750
79905
|
PCMA: 20 * Math.log10(8)
|
|
@@ -79797,40 +79952,7 @@ var NC_AUDIO_DEFAULTS = {
|
|
|
79797
79952
|
samplingSeconds: 10
|
|
79798
79953
|
};
|
|
79799
79954
|
new Set(["devices", "classes"]);
|
|
79800
|
-
|
|
79801
|
-
* WHICH narrowing filter speaks about WHICH system-event kind — one predicate,
|
|
79802
|
-
* consumed by the rule ENGINE and by every rule EDITOR.
|
|
79803
|
-
*
|
|
79804
|
-
* ── The failure this file exists for ───────────────────────────────────────
|
|
79805
|
-
* `NcSystemEventConditionSchema` carries four optional narrowing lists
|
|
79806
|
-
* (`deviceIds`, `deviceTypes`, `nodeIds`, `packageNames`) beside a required
|
|
79807
|
-
* `kinds` gate. They are not four filters over one vocabulary: each belongs to
|
|
79808
|
-
* a FAMILY of kinds and is meaningless outside it. A node going away has no
|
|
79809
|
-
* device type; a completed export has no package; `stream-offline` deliberately
|
|
79810
|
-
* carries no device type at all (a stream belongs to a camera by construction).
|
|
79811
|
-
*
|
|
79812
|
-
* The engine applied all four to every kind, so a filter from one family failed
|
|
79813
|
-
* a kind from another family CLOSED. The operator's live rule "Eventi di
|
|
79814
|
-
* sistema" selected eleven kinds and set `deviceTypes: ['camera']` — the only
|
|
79815
|
-
* way to say "only my cameras" about the two liveness kinds — and NINE of the
|
|
79816
|
-
* eleven silently stopped being deliverable. Four days of history contained
|
|
79817
|
-
* `device-online` and `device-offline` and nothing else, across a window in
|
|
79818
|
-
* which agents were restarted and addons were updated.
|
|
79819
|
-
*
|
|
79820
|
-
* Both editors already computed this scoping, to decide which filter boxes to
|
|
79821
|
-
* render; the cap's own docblock already promised it ("Narrow a `device-*` kind
|
|
79822
|
-
* to these device TYPES"). Only the engine disagreed, and it disagreed in the
|
|
79823
|
-
* destructive direction. So the rule is stated ONCE, here, and the engine and
|
|
79824
|
-
* the editors are readers of it rather than three independent authors.
|
|
79825
|
-
*
|
|
79826
|
-
* ── The direction ─────────────────────────────────────────────────────────
|
|
79827
|
-
* Out of family ⇒ the filter is IGNORED, never fail-closed. An editor that
|
|
79828
|
-
* hides a box has already told the operator this filter does not speak about
|
|
79829
|
-
* these kinds, so honouring it as an exclusion contradicts the only
|
|
79830
|
-
* explanation the operator was ever given. Inside its family the filter still
|
|
79831
|
-
* narrows, and still fails CLOSED on a subject that cannot produce the identity
|
|
79832
|
-
* it tests (a device the mirror cannot name is not evidence of a camera).
|
|
79833
|
-
*/
|
|
79955
|
+
new Set(NC_LEGACY_SYSTEM_EVENT_KINDS);
|
|
79834
79956
|
/**
|
|
79835
79957
|
* Every filter, for the callers that must cover all of them (guards, tests).
|
|
79836
79958
|
*
|
|
@@ -79856,9 +79978,6 @@ new Map(Object.entries({
|
|
|
79856
79978
|
"device-battery-normal": "device-events",
|
|
79857
79979
|
"device-consumable-low": "device-events",
|
|
79858
79980
|
"device-consumable-normal": "device-events",
|
|
79859
|
-
"device-tank-low": "device-events",
|
|
79860
|
-
"device-tank-full": "device-events",
|
|
79861
|
-
"device-tank-normal": "device-events",
|
|
79862
79981
|
"stream-online": "device-events",
|
|
79863
79982
|
"stream-offline": "device-events",
|
|
79864
79983
|
"detection-blind": "device-events",
|
|
@@ -79935,16 +80054,6 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
79935
80054
|
label: "Consumables",
|
|
79936
80055
|
kinds: ["device-consumable-low", "device-consumable-normal"]
|
|
79937
80056
|
},
|
|
79938
|
-
{
|
|
79939
|
-
id: "tanks",
|
|
79940
|
-
family: "device-events",
|
|
79941
|
-
label: "Tanks",
|
|
79942
|
-
kinds: [
|
|
79943
|
-
"device-tank-low",
|
|
79944
|
-
"device-tank-full",
|
|
79945
|
-
"device-tank-normal"
|
|
79946
|
-
]
|
|
79947
|
-
},
|
|
79948
80057
|
{
|
|
79949
80058
|
id: "detection-blind",
|
|
79950
80059
|
family: "device-events",
|
|
@@ -80182,11 +80291,6 @@ var RULE_BODY_ONLY = ["body"];
|
|
|
80182
80291
|
var RULE_TEXT = ["title", "body"];
|
|
80183
80292
|
var BATTERY = ["device-battery-low", "device-battery-normal"];
|
|
80184
80293
|
var CONSUMABLE = ["device-consumable-low", "device-consumable-normal"];
|
|
80185
|
-
var TANK = [
|
|
80186
|
-
"device-tank-low",
|
|
80187
|
-
"device-tank-full",
|
|
80188
|
-
"device-tank-normal"
|
|
80189
|
-
];
|
|
80190
80294
|
var ALERT_EPISODE = [
|
|
80191
80295
|
"alert-critical",
|
|
80192
80296
|
"alert-error",
|
|
@@ -80218,7 +80322,6 @@ var DEVICE_EVENTS = [
|
|
|
80218
80322
|
"device-enabled",
|
|
80219
80323
|
...BATTERY,
|
|
80220
80324
|
...CONSUMABLE,
|
|
80221
|
-
...TANK,
|
|
80222
80325
|
"stream-online",
|
|
80223
80326
|
"stream-offline",
|
|
80224
80327
|
"detection-blind",
|
|
@@ -80264,12 +80367,6 @@ var STATE_SUMMARY_SECTION_VARS = [
|
|
|
80264
80367
|
example: "Robot — filter 10 %",
|
|
80265
80368
|
kinds: CONSUMABLE
|
|
80266
80369
|
},
|
|
80267
|
-
{
|
|
80268
|
-
name: "summaryTanks",
|
|
80269
|
-
label: "Summary: tanks",
|
|
80270
|
-
example: "Robot — clean water low",
|
|
80271
|
-
kinds: TANK
|
|
80272
|
-
},
|
|
80273
80370
|
{
|
|
80274
80371
|
name: "summaryDetection",
|
|
80275
80372
|
label: "Summary: cameras detecting nothing",
|
|
@@ -80385,8 +80482,7 @@ var STATE_SUMMARY_VARS = [
|
|
|
80385
80482
|
([...RULE_TEXT], [...COMBINED_ALARM]),
|
|
80386
80483
|
([...RULE_TEXT], [...DEVICE_EVENTS]),
|
|
80387
80484
|
([...RULE_TEXT], [...BATTERY, ...CONSUMABLE]),
|
|
80388
|
-
([...RULE_TEXT], [...CONSUMABLE
|
|
80389
|
-
([...RULE_TEXT], [...TANK]),
|
|
80485
|
+
([...RULE_TEXT], [...CONSUMABLE]),
|
|
80390
80486
|
[...RULE_TEXT],
|
|
80391
80487
|
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|
|
80392
80488
|
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|
|
@@ -80490,15 +80586,6 @@ new Map([
|
|
|
80490
80586
|
snapshotLabel: "Consumables low now",
|
|
80491
80587
|
snapshotSection: "consumables"
|
|
80492
80588
|
},
|
|
80493
|
-
{
|
|
80494
|
-
id: "tanks",
|
|
80495
|
-
family: "device-events",
|
|
80496
|
-
label: "Tanks (low or full / back to normal)",
|
|
80497
|
-
bad: ["device-tank-low", "device-tank-full"],
|
|
80498
|
-
recovery: ["device-tank-normal"],
|
|
80499
|
-
snapshotLabel: "Tanks low or full now",
|
|
80500
|
-
snapshotSection: "tanks"
|
|
80501
|
-
},
|
|
80502
80589
|
{
|
|
80503
80590
|
id: "motion-noise",
|
|
80504
80591
|
family: "device-events",
|
|
@@ -83502,6 +83589,25 @@ var CAP_STATE_LEAVES = Object.freeze({
|
|
|
83502
83589
|
"path": "reason",
|
|
83503
83590
|
"valueType": "string"
|
|
83504
83591
|
}],
|
|
83592
|
+
"running-state": [
|
|
83593
|
+
{
|
|
83594
|
+
"path": "running",
|
|
83595
|
+
"valueType": "boolean"
|
|
83596
|
+
},
|
|
83597
|
+
{
|
|
83598
|
+
"path": "since",
|
|
83599
|
+
"valueType": "number"
|
|
83600
|
+
},
|
|
83601
|
+
{
|
|
83602
|
+
"path": "source",
|
|
83603
|
+
"valueType": "enum",
|
|
83604
|
+
"enumValues": ["native", "assigned"]
|
|
83605
|
+
},
|
|
83606
|
+
{
|
|
83607
|
+
"path": "phase",
|
|
83608
|
+
"valueType": "string"
|
|
83609
|
+
}
|
|
83610
|
+
],
|
|
83505
83611
|
"script-runner": [
|
|
83506
83612
|
{
|
|
83507
83613
|
"path": "isRunning",
|