@camstack/addon-model-studio 1.1.290 → 1.1.291
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-BDXv-_SC.mjs → MotionZonesSettings-DXxWq7vE.mjs} +2 -2
- package/dist/{PrivacyMaskSettings-BFDJJ_jI.mjs → PrivacyMaskSettings-DvOLfWNI.mjs} +4 -4
- package/dist/{SceneMonitorEditor-DsKs-28v.mjs → SceneMonitorEditor-DqBJBxj1.mjs} +3 -3
- package/dist/_stub.js +2007 -2000
- package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-vqigWLhP.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-BPa3rRsT.mjs} +3 -3
- package/dist/_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BNQVBn-8.mjs +26 -0
- package/dist/addon-model-studio.css +1 -1
- package/dist/{hostInit-RwS7Hfsn.mjs → hostInit-7KFbe0cc.mjs} +2 -2
- package/dist/model-studio.addon.js +91 -88
- package/dist/model-studio.addon.mjs +91 -88
- package/dist/{player-overlays-CSDHuCWB.mjs → player-overlays-DfIeB2mX.mjs} +1 -1
- package/dist/remoteEntry.js +1 -1
- package/dist/{responsive-BOr_1QSL.mjs → responsive-CISBqF_G.mjs} +1 -1
- package/dist/{scene-monitor-copy-CcAIfs8G.mjs → scene-monitor-copy-CScGmaG7.mjs} +1 -1
- package/dist/{square-X2giTSaZ.mjs → square-BtvqwHZc.mjs} +1 -1
- package/dist/{trash-2-CphQimp6.mjs → trash-2-DIqyhuDF.mjs} +1 -1
- package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-D6XbC3Hu.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-C-xXOFlf.mjs} +1 -1
- package/package.json +1 -1
- package/dist/_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-C2LtE9v7.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.406",
|
|
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.321",
|
|
85
85
|
scope: "default",
|
|
86
86
|
shareConfig: {
|
|
87
87
|
singleton: !0,
|
|
@@ -394,7 +394,7 @@ function buildScryptedRegistryDescriptor(entry) {
|
|
|
394
394
|
};
|
|
395
395
|
}
|
|
396
396
|
//#endregion
|
|
397
|
-
//#region ../types/dist/event-category-
|
|
397
|
+
//#region ../types/dist/event-category-Ceif8n-v.mjs
|
|
398
398
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
399
399
|
EventCategory["SystemBoot"] = "system.boot";
|
|
400
400
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -866,6 +866,10 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
866
866
|
* on the device detail page.
|
|
867
867
|
*/
|
|
868
868
|
EventCategory["DoorbellOnPressed"] = "doorbell.onPressed";
|
|
869
|
+
/** Mirrors `runningStateCapability.events.onStarted`. */
|
|
870
|
+
EventCategory["RunningStarted"] = "running.started";
|
|
871
|
+
/** Mirrors `runningStateCapability.events.onFinished`. */
|
|
872
|
+
EventCategory["RunningFinished"] = "running.finished";
|
|
869
873
|
/**
|
|
870
874
|
* Cap event fired by every device that registers the `event-emitter`
|
|
871
875
|
* capability. Mirrors `eventEmitterCapability.events.onEvent`. Carries
|
|
@@ -5825,7 +5829,7 @@ var ZodIssueCode = {
|
|
|
5825
5829
|
var ZodFirstPartyTypeKind;
|
|
5826
5830
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5827
5831
|
//#endregion
|
|
5828
|
-
//#region ../types/dist/sleep-
|
|
5832
|
+
//#region ../types/dist/sleep-CYfIZzGv.mjs
|
|
5829
5833
|
/**
|
|
5830
5834
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5831
5835
|
* window to float samples (D455).
|
|
@@ -6164,7 +6168,7 @@ Object.fromEntries([
|
|
|
6164
6168
|
* `hydrateSchema` to skip the `value` injection for structural-only fields.
|
|
6165
6169
|
*/
|
|
6166
6170
|
function isValuelessField(field) {
|
|
6167
|
-
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";
|
|
6171
|
+
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";
|
|
6168
6172
|
}
|
|
6169
6173
|
function hydrateSchema(schema, values, options = {}) {
|
|
6170
6174
|
return {
|
|
@@ -9206,7 +9210,7 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
|
|
|
9206
9210
|
return DeviceRole;
|
|
9207
9211
|
}({});
|
|
9208
9212
|
//#endregion
|
|
9209
|
-
//#region ../types/dist/composition-
|
|
9213
|
+
//#region ../types/dist/composition-xz-ud5EQ.mjs
|
|
9210
9214
|
/**
|
|
9211
9215
|
* The ffmpeg build every CamStack node downloads, per platform and arch.
|
|
9212
9216
|
*
|
|
@@ -9507,6 +9511,20 @@ var table = {
|
|
|
9507
9511
|
apply: () => {
|
|
9508
9512
|
throw new ExpressionEvalError("count: stateful evaluation context is required");
|
|
9509
9513
|
}
|
|
9514
|
+
},
|
|
9515
|
+
dwell: {
|
|
9516
|
+
minArgs: 3,
|
|
9517
|
+
maxArgs: 3,
|
|
9518
|
+
apply: () => {
|
|
9519
|
+
throw new ExpressionEvalError("dwell: stateful evaluation context is required");
|
|
9520
|
+
}
|
|
9521
|
+
},
|
|
9522
|
+
latchedAt: {
|
|
9523
|
+
minArgs: 1,
|
|
9524
|
+
maxArgs: 1,
|
|
9525
|
+
apply: () => {
|
|
9526
|
+
throw new ExpressionEvalError("latchedAt: stateful evaluation context is required");
|
|
9527
|
+
}
|
|
9510
9528
|
}
|
|
9511
9529
|
};
|
|
9512
9530
|
Object.freeze(Object.assign(Object.create(null), table));
|
|
@@ -16506,7 +16524,15 @@ Object.freeze({
|
|
|
16506
16524
|
kind: "fixed",
|
|
16507
16525
|
result: ["number", "null"]
|
|
16508
16526
|
},
|
|
16509
|
-
count: NUMBER
|
|
16527
|
+
count: NUMBER,
|
|
16528
|
+
dwell: {
|
|
16529
|
+
kind: "fixed",
|
|
16530
|
+
result: ["boolean", "null"]
|
|
16531
|
+
},
|
|
16532
|
+
latchedAt: {
|
|
16533
|
+
kind: "fixed",
|
|
16534
|
+
result: ["number", "null"]
|
|
16535
|
+
}
|
|
16510
16536
|
});
|
|
16511
16537
|
`${COMPOSED_DEVICE_STABLE_ID_PREFIX}`;
|
|
16512
16538
|
/**
|
|
@@ -42734,9 +42760,6 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42734
42760
|
"device-battery-normal",
|
|
42735
42761
|
"device-consumable-low",
|
|
42736
42762
|
"device-consumable-normal",
|
|
42737
|
-
"device-tank-low",
|
|
42738
|
-
"device-tank-full",
|
|
42739
|
-
"device-tank-normal",
|
|
42740
42763
|
"stream-online",
|
|
42741
42764
|
"stream-offline",
|
|
42742
42765
|
"node-online",
|
|
@@ -42783,13 +42806,14 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42783
42806
|
"camera-enabled"
|
|
42784
42807
|
]);
|
|
42785
42808
|
/** The legacy tail of {@link NcSystemEventKindSchema} — see its docblock. */
|
|
42786
|
-
var NC_LEGACY_SYSTEM_EVENT_KINDS =
|
|
42809
|
+
var NC_LEGACY_SYSTEM_EVENT_KINDS = [
|
|
42787
42810
|
"camera-online",
|
|
42788
42811
|
"camera-offline",
|
|
42789
42812
|
"camera-disabled",
|
|
42790
42813
|
"camera-enabled"
|
|
42791
|
-
]
|
|
42792
|
-
|
|
42814
|
+
];
|
|
42815
|
+
var NC_LEGACY_SYSTEM_EVENT_KIND_SET = new Set(NC_LEGACY_SYSTEM_EVENT_KINDS);
|
|
42816
|
+
NcSystemEventKindSchema.options.filter((kind) => !NC_LEGACY_SYSTEM_EVENT_KIND_SET.has(kind));
|
|
42793
42817
|
/**
|
|
42794
42818
|
* The panel's transitions, as ONE list.
|
|
42795
42819
|
*
|
|
@@ -43908,18 +43932,11 @@ var NcRuleSchema = NcRuleInputSchema.extend({
|
|
|
43908
43932
|
*/
|
|
43909
43933
|
disabledTargetIds: array(string()).default([])
|
|
43910
43934
|
});
|
|
43911
|
-
/**
|
|
43912
|
-
* The state-summary SECTIONS (D647 / D698 / D708): the D637 kind groups that
|
|
43913
|
-
* report a still-true state. `addons` is the crash-looped addons only and
|
|
43914
|
-
* `addon-updates` the addons that are behind (D708 split them). `backups-exports` and `alarm` are not sections — a completed
|
|
43915
|
-
* job is not an open state, and the alarm stays instant.
|
|
43916
|
-
*/
|
|
43917
43935
|
var NcStateSummarySectionIdSchema = _enum([
|
|
43918
43936
|
"device-state",
|
|
43919
43937
|
"streams",
|
|
43920
43938
|
"battery",
|
|
43921
43939
|
"consumables",
|
|
43922
|
-
"tanks",
|
|
43923
43940
|
"detection-blind",
|
|
43924
43941
|
"nodes",
|
|
43925
43942
|
"addons",
|
|
@@ -59318,6 +59335,22 @@ DeviceType.Camera, method(object({ deviceId: number() }), PtzAutotrackStatusSche
|
|
|
59318
59335
|
deviceId: number(),
|
|
59319
59336
|
status: PtzAutotrackStatusSchema
|
|
59320
59337
|
});
|
|
59338
|
+
var RunningStateSourceSchema = _enum(["native", "assigned"]);
|
|
59339
|
+
object({
|
|
59340
|
+
/** null = unknown — never coerced to false (D393). */
|
|
59341
|
+
running: boolean().nullable(),
|
|
59342
|
+
/** Epoch ms the current boolean began; null while `running` is null. */
|
|
59343
|
+
since: number().nullable(),
|
|
59344
|
+
source: RunningStateSourceSchema,
|
|
59345
|
+
phase: string().nullable(),
|
|
59346
|
+
lastFetchedAt: number()
|
|
59347
|
+
});
|
|
59348
|
+
object({
|
|
59349
|
+
deviceId: number(),
|
|
59350
|
+
since: number().nullable(),
|
|
59351
|
+
phase: string().nullable()
|
|
59352
|
+
});
|
|
59353
|
+
Object.values(DeviceType);
|
|
59321
59354
|
DeviceType.Camera, DeviceType.Sensor, DeviceType.Switch, method(object({ deviceId: number().int().nonnegative() }), object({ success: literal(true) }), {
|
|
59322
59355
|
kind: "mutation",
|
|
59323
59356
|
auth: "admin"
|
|
@@ -70710,6 +70743,13 @@ Object.freeze({
|
|
|
70710
70743
|
access: "create",
|
|
70711
70744
|
role: "admin"
|
|
70712
70745
|
},
|
|
70746
|
+
"runningState.getStatus": {
|
|
70747
|
+
capName: "running-state",
|
|
70748
|
+
capScope: "device",
|
|
70749
|
+
addonId: null,
|
|
70750
|
+
access: "view",
|
|
70751
|
+
role: "viewer"
|
|
70752
|
+
},
|
|
70713
70753
|
"sceneMonitor.captureReference": {
|
|
70714
70754
|
capName: "scene-monitor",
|
|
70715
70755
|
capScope: "device",
|
|
@@ -75424,6 +75464,32 @@ var APPLIANCE_CAP_VOCABULARY = {
|
|
|
75424
75464
|
}],
|
|
75425
75465
|
events: { onSent: { notOperatorFacing: "a delivery receipt of a send this system made — not a fact about the world" } }
|
|
75426
75466
|
},
|
|
75467
|
+
"running-state": {
|
|
75468
|
+
scope: "device",
|
|
75469
|
+
noun: t("Running", "In funzione"),
|
|
75470
|
+
state: [{
|
|
75471
|
+
kind: "boolean",
|
|
75472
|
+
field: "running",
|
|
75473
|
+
label: t("Running", "In funzione"),
|
|
75474
|
+
whenTrue: t("When {device} starts", "Quando {device} inizia"),
|
|
75475
|
+
whenFalse: t("When {device} finishes", "Quando {device} finisce"),
|
|
75476
|
+
icon: "play"
|
|
75477
|
+
}],
|
|
75478
|
+
events: {
|
|
75479
|
+
onStarted: {
|
|
75480
|
+
category: EventCategory.RunningStarted,
|
|
75481
|
+
label: t("Started running", "Ha iniziato a funzionare"),
|
|
75482
|
+
phrase: t("When {device} starts running", "Quando {device} inizia a funzionare"),
|
|
75483
|
+
icon: "play"
|
|
75484
|
+
},
|
|
75485
|
+
onFinished: {
|
|
75486
|
+
category: EventCategory.RunningFinished,
|
|
75487
|
+
label: t("Finished", "Ha finito"),
|
|
75488
|
+
phrase: t("When {device} finishes", "Quando {device} finisce"),
|
|
75489
|
+
icon: "square"
|
|
75490
|
+
}
|
|
75491
|
+
}
|
|
75492
|
+
},
|
|
75427
75493
|
update: {
|
|
75428
75494
|
scope: "device",
|
|
75429
75495
|
noun: t("Firmware update", "Aggiornamento firmware"),
|
|
@@ -78964,6 +79030,11 @@ Object.freeze({
|
|
|
78964
79030
|
form: "single",
|
|
78965
79031
|
optional: true
|
|
78966
79032
|
}],
|
|
79033
|
+
"runningState.getStatus": [{
|
|
79034
|
+
name: "deviceId",
|
|
79035
|
+
form: "single",
|
|
79036
|
+
optional: false
|
|
79037
|
+
}],
|
|
78967
79038
|
"sceneMonitor.captureReference": [{
|
|
78968
79039
|
name: "deviceId",
|
|
78969
79040
|
form: "single",
|
|
@@ -79514,40 +79585,7 @@ var NC_AUDIO_DEFAULTS = {
|
|
|
79514
79585
|
samplingSeconds: 10
|
|
79515
79586
|
};
|
|
79516
79587
|
new Set(["devices", "classes"]);
|
|
79517
|
-
|
|
79518
|
-
* WHICH narrowing filter speaks about WHICH system-event kind — one predicate,
|
|
79519
|
-
* consumed by the rule ENGINE and by every rule EDITOR.
|
|
79520
|
-
*
|
|
79521
|
-
* ── The failure this file exists for ───────────────────────────────────────
|
|
79522
|
-
* `NcSystemEventConditionSchema` carries four optional narrowing lists
|
|
79523
|
-
* (`deviceIds`, `deviceTypes`, `nodeIds`, `packageNames`) beside a required
|
|
79524
|
-
* `kinds` gate. They are not four filters over one vocabulary: each belongs to
|
|
79525
|
-
* a FAMILY of kinds and is meaningless outside it. A node going away has no
|
|
79526
|
-
* device type; a completed export has no package; `stream-offline` deliberately
|
|
79527
|
-
* carries no device type at all (a stream belongs to a camera by construction).
|
|
79528
|
-
*
|
|
79529
|
-
* The engine applied all four to every kind, so a filter from one family failed
|
|
79530
|
-
* a kind from another family CLOSED. The operator's live rule "Eventi di
|
|
79531
|
-
* sistema" selected eleven kinds and set `deviceTypes: ['camera']` — the only
|
|
79532
|
-
* way to say "only my cameras" about the two liveness kinds — and NINE of the
|
|
79533
|
-
* eleven silently stopped being deliverable. Four days of history contained
|
|
79534
|
-
* `device-online` and `device-offline` and nothing else, across a window in
|
|
79535
|
-
* which agents were restarted and addons were updated.
|
|
79536
|
-
*
|
|
79537
|
-
* Both editors already computed this scoping, to decide which filter boxes to
|
|
79538
|
-
* render; the cap's own docblock already promised it ("Narrow a `device-*` kind
|
|
79539
|
-
* to these device TYPES"). Only the engine disagreed, and it disagreed in the
|
|
79540
|
-
* destructive direction. So the rule is stated ONCE, here, and the engine and
|
|
79541
|
-
* the editors are readers of it rather than three independent authors.
|
|
79542
|
-
*
|
|
79543
|
-
* ── The direction ─────────────────────────────────────────────────────────
|
|
79544
|
-
* Out of family ⇒ the filter is IGNORED, never fail-closed. An editor that
|
|
79545
|
-
* hides a box has already told the operator this filter does not speak about
|
|
79546
|
-
* these kinds, so honouring it as an exclusion contradicts the only
|
|
79547
|
-
* explanation the operator was ever given. Inside its family the filter still
|
|
79548
|
-
* narrows, and still fails CLOSED on a subject that cannot produce the identity
|
|
79549
|
-
* it tests (a device the mirror cannot name is not evidence of a camera).
|
|
79550
|
-
*/
|
|
79588
|
+
new Set(NC_LEGACY_SYSTEM_EVENT_KINDS);
|
|
79551
79589
|
/**
|
|
79552
79590
|
* Every filter, for the callers that must cover all of them (guards, tests).
|
|
79553
79591
|
*
|
|
@@ -79573,9 +79611,6 @@ new Map(Object.entries({
|
|
|
79573
79611
|
"device-battery-normal": "device-events",
|
|
79574
79612
|
"device-consumable-low": "device-events",
|
|
79575
79613
|
"device-consumable-normal": "device-events",
|
|
79576
|
-
"device-tank-low": "device-events",
|
|
79577
|
-
"device-tank-full": "device-events",
|
|
79578
|
-
"device-tank-normal": "device-events",
|
|
79579
79614
|
"stream-online": "device-events",
|
|
79580
79615
|
"stream-offline": "device-events",
|
|
79581
79616
|
"detection-blind": "device-events",
|
|
@@ -79652,16 +79687,6 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
79652
79687
|
label: "Consumables",
|
|
79653
79688
|
kinds: ["device-consumable-low", "device-consumable-normal"]
|
|
79654
79689
|
},
|
|
79655
|
-
{
|
|
79656
|
-
id: "tanks",
|
|
79657
|
-
family: "device-events",
|
|
79658
|
-
label: "Tanks",
|
|
79659
|
-
kinds: [
|
|
79660
|
-
"device-tank-low",
|
|
79661
|
-
"device-tank-full",
|
|
79662
|
-
"device-tank-normal"
|
|
79663
|
-
]
|
|
79664
|
-
},
|
|
79665
79690
|
{
|
|
79666
79691
|
id: "detection-blind",
|
|
79667
79692
|
family: "device-events",
|
|
@@ -79819,11 +79844,6 @@ var RULE_BODY_ONLY = ["body"];
|
|
|
79819
79844
|
var RULE_TEXT = ["title", "body"];
|
|
79820
79845
|
var BATTERY = ["device-battery-low", "device-battery-normal"];
|
|
79821
79846
|
var CONSUMABLE = ["device-consumable-low", "device-consumable-normal"];
|
|
79822
|
-
var TANK = [
|
|
79823
|
-
"device-tank-low",
|
|
79824
|
-
"device-tank-full",
|
|
79825
|
-
"device-tank-normal"
|
|
79826
|
-
];
|
|
79827
79847
|
var ALERT_EPISODE = [
|
|
79828
79848
|
"alert-critical",
|
|
79829
79849
|
"alert-error",
|
|
@@ -79855,7 +79875,6 @@ var DEVICE_EVENTS = [
|
|
|
79855
79875
|
"device-enabled",
|
|
79856
79876
|
...BATTERY,
|
|
79857
79877
|
...CONSUMABLE,
|
|
79858
|
-
...TANK,
|
|
79859
79878
|
"stream-online",
|
|
79860
79879
|
"stream-offline",
|
|
79861
79880
|
"detection-blind",
|
|
@@ -79901,12 +79920,6 @@ var STATE_SUMMARY_SECTION_VARS = [
|
|
|
79901
79920
|
example: "Robot — filter 10 %",
|
|
79902
79921
|
kinds: CONSUMABLE
|
|
79903
79922
|
},
|
|
79904
|
-
{
|
|
79905
|
-
name: "summaryTanks",
|
|
79906
|
-
label: "Summary: tanks",
|
|
79907
|
-
example: "Robot — clean water low",
|
|
79908
|
-
kinds: TANK
|
|
79909
|
-
},
|
|
79910
79923
|
{
|
|
79911
79924
|
name: "summaryDetection",
|
|
79912
79925
|
label: "Summary: cameras detecting nothing",
|
|
@@ -80022,8 +80035,7 @@ var STATE_SUMMARY_VARS = [
|
|
|
80022
80035
|
([...RULE_TEXT], [...COMBINED_ALARM]),
|
|
80023
80036
|
([...RULE_TEXT], [...DEVICE_EVENTS]),
|
|
80024
80037
|
([...RULE_TEXT], [...BATTERY, ...CONSUMABLE]),
|
|
80025
|
-
([...RULE_TEXT], [...CONSUMABLE
|
|
80026
|
-
([...RULE_TEXT], [...TANK]),
|
|
80038
|
+
([...RULE_TEXT], [...CONSUMABLE]),
|
|
80027
80039
|
[...RULE_TEXT],
|
|
80028
80040
|
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|
|
80029
80041
|
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|
|
@@ -80127,15 +80139,6 @@ new Map([
|
|
|
80127
80139
|
snapshotLabel: "Consumables low now",
|
|
80128
80140
|
snapshotSection: "consumables"
|
|
80129
80141
|
},
|
|
80130
|
-
{
|
|
80131
|
-
id: "tanks",
|
|
80132
|
-
family: "device-events",
|
|
80133
|
-
label: "Tanks (low or full / back to normal)",
|
|
80134
|
-
bad: ["device-tank-low", "device-tank-full"],
|
|
80135
|
-
recovery: ["device-tank-normal"],
|
|
80136
|
-
snapshotLabel: "Tanks low or full now",
|
|
80137
|
-
snapshotSection: "tanks"
|
|
80138
|
-
},
|
|
80139
80142
|
{
|
|
80140
80143
|
id: "motion-noise",
|
|
80141
80144
|
family: "device-events",
|
|
@@ -368,7 +368,7 @@ function buildScryptedRegistryDescriptor(entry) {
|
|
|
368
368
|
};
|
|
369
369
|
}
|
|
370
370
|
//#endregion
|
|
371
|
-
//#region ../types/dist/event-category-
|
|
371
|
+
//#region ../types/dist/event-category-Ceif8n-v.mjs
|
|
372
372
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
373
373
|
EventCategory["SystemBoot"] = "system.boot";
|
|
374
374
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -840,6 +840,10 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
840
840
|
* on the device detail page.
|
|
841
841
|
*/
|
|
842
842
|
EventCategory["DoorbellOnPressed"] = "doorbell.onPressed";
|
|
843
|
+
/** Mirrors `runningStateCapability.events.onStarted`. */
|
|
844
|
+
EventCategory["RunningStarted"] = "running.started";
|
|
845
|
+
/** Mirrors `runningStateCapability.events.onFinished`. */
|
|
846
|
+
EventCategory["RunningFinished"] = "running.finished";
|
|
843
847
|
/**
|
|
844
848
|
* Cap event fired by every device that registers the `event-emitter`
|
|
845
849
|
* capability. Mirrors `eventEmitterCapability.events.onEvent`. Carries
|
|
@@ -5799,7 +5803,7 @@ var ZodIssueCode = {
|
|
|
5799
5803
|
var ZodFirstPartyTypeKind;
|
|
5800
5804
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5801
5805
|
//#endregion
|
|
5802
|
-
//#region ../types/dist/sleep-
|
|
5806
|
+
//#region ../types/dist/sleep-CYfIZzGv.mjs
|
|
5803
5807
|
/**
|
|
5804
5808
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5805
5809
|
* window to float samples (D455).
|
|
@@ -6138,7 +6142,7 @@ Object.fromEntries([
|
|
|
6138
6142
|
* `hydrateSchema` to skip the `value` injection for structural-only fields.
|
|
6139
6143
|
*/
|
|
6140
6144
|
function isValuelessField(field) {
|
|
6141
|
-
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";
|
|
6145
|
+
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";
|
|
6142
6146
|
}
|
|
6143
6147
|
function hydrateSchema(schema, values, options = {}) {
|
|
6144
6148
|
return {
|
|
@@ -9180,7 +9184,7 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
|
|
|
9180
9184
|
return DeviceRole;
|
|
9181
9185
|
}({});
|
|
9182
9186
|
//#endregion
|
|
9183
|
-
//#region ../types/dist/composition-
|
|
9187
|
+
//#region ../types/dist/composition-xz-ud5EQ.mjs
|
|
9184
9188
|
/**
|
|
9185
9189
|
* The ffmpeg build every CamStack node downloads, per platform and arch.
|
|
9186
9190
|
*
|
|
@@ -9481,6 +9485,20 @@ var table = {
|
|
|
9481
9485
|
apply: () => {
|
|
9482
9486
|
throw new ExpressionEvalError("count: stateful evaluation context is required");
|
|
9483
9487
|
}
|
|
9488
|
+
},
|
|
9489
|
+
dwell: {
|
|
9490
|
+
minArgs: 3,
|
|
9491
|
+
maxArgs: 3,
|
|
9492
|
+
apply: () => {
|
|
9493
|
+
throw new ExpressionEvalError("dwell: stateful evaluation context is required");
|
|
9494
|
+
}
|
|
9495
|
+
},
|
|
9496
|
+
latchedAt: {
|
|
9497
|
+
minArgs: 1,
|
|
9498
|
+
maxArgs: 1,
|
|
9499
|
+
apply: () => {
|
|
9500
|
+
throw new ExpressionEvalError("latchedAt: stateful evaluation context is required");
|
|
9501
|
+
}
|
|
9484
9502
|
}
|
|
9485
9503
|
};
|
|
9486
9504
|
Object.freeze(Object.assign(Object.create(null), table));
|
|
@@ -16480,7 +16498,15 @@ Object.freeze({
|
|
|
16480
16498
|
kind: "fixed",
|
|
16481
16499
|
result: ["number", "null"]
|
|
16482
16500
|
},
|
|
16483
|
-
count: NUMBER
|
|
16501
|
+
count: NUMBER,
|
|
16502
|
+
dwell: {
|
|
16503
|
+
kind: "fixed",
|
|
16504
|
+
result: ["boolean", "null"]
|
|
16505
|
+
},
|
|
16506
|
+
latchedAt: {
|
|
16507
|
+
kind: "fixed",
|
|
16508
|
+
result: ["number", "null"]
|
|
16509
|
+
}
|
|
16484
16510
|
});
|
|
16485
16511
|
`${COMPOSED_DEVICE_STABLE_ID_PREFIX}`;
|
|
16486
16512
|
/**
|
|
@@ -42708,9 +42734,6 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42708
42734
|
"device-battery-normal",
|
|
42709
42735
|
"device-consumable-low",
|
|
42710
42736
|
"device-consumable-normal",
|
|
42711
|
-
"device-tank-low",
|
|
42712
|
-
"device-tank-full",
|
|
42713
|
-
"device-tank-normal",
|
|
42714
42737
|
"stream-online",
|
|
42715
42738
|
"stream-offline",
|
|
42716
42739
|
"node-online",
|
|
@@ -42757,13 +42780,14 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42757
42780
|
"camera-enabled"
|
|
42758
42781
|
]);
|
|
42759
42782
|
/** The legacy tail of {@link NcSystemEventKindSchema} — see its docblock. */
|
|
42760
|
-
var NC_LEGACY_SYSTEM_EVENT_KINDS =
|
|
42783
|
+
var NC_LEGACY_SYSTEM_EVENT_KINDS = [
|
|
42761
42784
|
"camera-online",
|
|
42762
42785
|
"camera-offline",
|
|
42763
42786
|
"camera-disabled",
|
|
42764
42787
|
"camera-enabled"
|
|
42765
|
-
]
|
|
42766
|
-
|
|
42788
|
+
];
|
|
42789
|
+
var NC_LEGACY_SYSTEM_EVENT_KIND_SET = new Set(NC_LEGACY_SYSTEM_EVENT_KINDS);
|
|
42790
|
+
NcSystemEventKindSchema.options.filter((kind) => !NC_LEGACY_SYSTEM_EVENT_KIND_SET.has(kind));
|
|
42767
42791
|
/**
|
|
42768
42792
|
* The panel's transitions, as ONE list.
|
|
42769
42793
|
*
|
|
@@ -43882,18 +43906,11 @@ var NcRuleSchema = NcRuleInputSchema.extend({
|
|
|
43882
43906
|
*/
|
|
43883
43907
|
disabledTargetIds: array(string()).default([])
|
|
43884
43908
|
});
|
|
43885
|
-
/**
|
|
43886
|
-
* The state-summary SECTIONS (D647 / D698 / D708): the D637 kind groups that
|
|
43887
|
-
* report a still-true state. `addons` is the crash-looped addons only and
|
|
43888
|
-
* `addon-updates` the addons that are behind (D708 split them). `backups-exports` and `alarm` are not sections — a completed
|
|
43889
|
-
* job is not an open state, and the alarm stays instant.
|
|
43890
|
-
*/
|
|
43891
43909
|
var NcStateSummarySectionIdSchema = _enum([
|
|
43892
43910
|
"device-state",
|
|
43893
43911
|
"streams",
|
|
43894
43912
|
"battery",
|
|
43895
43913
|
"consumables",
|
|
43896
|
-
"tanks",
|
|
43897
43914
|
"detection-blind",
|
|
43898
43915
|
"nodes",
|
|
43899
43916
|
"addons",
|
|
@@ -59292,6 +59309,22 @@ DeviceType.Camera, method(object({ deviceId: number() }), PtzAutotrackStatusSche
|
|
|
59292
59309
|
deviceId: number(),
|
|
59293
59310
|
status: PtzAutotrackStatusSchema
|
|
59294
59311
|
});
|
|
59312
|
+
var RunningStateSourceSchema = _enum(["native", "assigned"]);
|
|
59313
|
+
object({
|
|
59314
|
+
/** null = unknown — never coerced to false (D393). */
|
|
59315
|
+
running: boolean().nullable(),
|
|
59316
|
+
/** Epoch ms the current boolean began; null while `running` is null. */
|
|
59317
|
+
since: number().nullable(),
|
|
59318
|
+
source: RunningStateSourceSchema,
|
|
59319
|
+
phase: string().nullable(),
|
|
59320
|
+
lastFetchedAt: number()
|
|
59321
|
+
});
|
|
59322
|
+
object({
|
|
59323
|
+
deviceId: number(),
|
|
59324
|
+
since: number().nullable(),
|
|
59325
|
+
phase: string().nullable()
|
|
59326
|
+
});
|
|
59327
|
+
Object.values(DeviceType);
|
|
59295
59328
|
DeviceType.Camera, DeviceType.Sensor, DeviceType.Switch, method(object({ deviceId: number().int().nonnegative() }), object({ success: literal(true) }), {
|
|
59296
59329
|
kind: "mutation",
|
|
59297
59330
|
auth: "admin"
|
|
@@ -70684,6 +70717,13 @@ Object.freeze({
|
|
|
70684
70717
|
access: "create",
|
|
70685
70718
|
role: "admin"
|
|
70686
70719
|
},
|
|
70720
|
+
"runningState.getStatus": {
|
|
70721
|
+
capName: "running-state",
|
|
70722
|
+
capScope: "device",
|
|
70723
|
+
addonId: null,
|
|
70724
|
+
access: "view",
|
|
70725
|
+
role: "viewer"
|
|
70726
|
+
},
|
|
70687
70727
|
"sceneMonitor.captureReference": {
|
|
70688
70728
|
capName: "scene-monitor",
|
|
70689
70729
|
capScope: "device",
|
|
@@ -75398,6 +75438,32 @@ var APPLIANCE_CAP_VOCABULARY = {
|
|
|
75398
75438
|
}],
|
|
75399
75439
|
events: { onSent: { notOperatorFacing: "a delivery receipt of a send this system made — not a fact about the world" } }
|
|
75400
75440
|
},
|
|
75441
|
+
"running-state": {
|
|
75442
|
+
scope: "device",
|
|
75443
|
+
noun: t("Running", "In funzione"),
|
|
75444
|
+
state: [{
|
|
75445
|
+
kind: "boolean",
|
|
75446
|
+
field: "running",
|
|
75447
|
+
label: t("Running", "In funzione"),
|
|
75448
|
+
whenTrue: t("When {device} starts", "Quando {device} inizia"),
|
|
75449
|
+
whenFalse: t("When {device} finishes", "Quando {device} finisce"),
|
|
75450
|
+
icon: "play"
|
|
75451
|
+
}],
|
|
75452
|
+
events: {
|
|
75453
|
+
onStarted: {
|
|
75454
|
+
category: EventCategory.RunningStarted,
|
|
75455
|
+
label: t("Started running", "Ha iniziato a funzionare"),
|
|
75456
|
+
phrase: t("When {device} starts running", "Quando {device} inizia a funzionare"),
|
|
75457
|
+
icon: "play"
|
|
75458
|
+
},
|
|
75459
|
+
onFinished: {
|
|
75460
|
+
category: EventCategory.RunningFinished,
|
|
75461
|
+
label: t("Finished", "Ha finito"),
|
|
75462
|
+
phrase: t("When {device} finishes", "Quando {device} finisce"),
|
|
75463
|
+
icon: "square"
|
|
75464
|
+
}
|
|
75465
|
+
}
|
|
75466
|
+
},
|
|
75401
75467
|
update: {
|
|
75402
75468
|
scope: "device",
|
|
75403
75469
|
noun: t("Firmware update", "Aggiornamento firmware"),
|
|
@@ -78938,6 +79004,11 @@ Object.freeze({
|
|
|
78938
79004
|
form: "single",
|
|
78939
79005
|
optional: true
|
|
78940
79006
|
}],
|
|
79007
|
+
"runningState.getStatus": [{
|
|
79008
|
+
name: "deviceId",
|
|
79009
|
+
form: "single",
|
|
79010
|
+
optional: false
|
|
79011
|
+
}],
|
|
78941
79012
|
"sceneMonitor.captureReference": [{
|
|
78942
79013
|
name: "deviceId",
|
|
78943
79014
|
form: "single",
|
|
@@ -79488,40 +79559,7 @@ var NC_AUDIO_DEFAULTS = {
|
|
|
79488
79559
|
samplingSeconds: 10
|
|
79489
79560
|
};
|
|
79490
79561
|
new Set(["devices", "classes"]);
|
|
79491
|
-
|
|
79492
|
-
* WHICH narrowing filter speaks about WHICH system-event kind — one predicate,
|
|
79493
|
-
* consumed by the rule ENGINE and by every rule EDITOR.
|
|
79494
|
-
*
|
|
79495
|
-
* ── The failure this file exists for ───────────────────────────────────────
|
|
79496
|
-
* `NcSystemEventConditionSchema` carries four optional narrowing lists
|
|
79497
|
-
* (`deviceIds`, `deviceTypes`, `nodeIds`, `packageNames`) beside a required
|
|
79498
|
-
* `kinds` gate. They are not four filters over one vocabulary: each belongs to
|
|
79499
|
-
* a FAMILY of kinds and is meaningless outside it. A node going away has no
|
|
79500
|
-
* device type; a completed export has no package; `stream-offline` deliberately
|
|
79501
|
-
* carries no device type at all (a stream belongs to a camera by construction).
|
|
79502
|
-
*
|
|
79503
|
-
* The engine applied all four to every kind, so a filter from one family failed
|
|
79504
|
-
* a kind from another family CLOSED. The operator's live rule "Eventi di
|
|
79505
|
-
* sistema" selected eleven kinds and set `deviceTypes: ['camera']` — the only
|
|
79506
|
-
* way to say "only my cameras" about the two liveness kinds — and NINE of the
|
|
79507
|
-
* eleven silently stopped being deliverable. Four days of history contained
|
|
79508
|
-
* `device-online` and `device-offline` and nothing else, across a window in
|
|
79509
|
-
* which agents were restarted and addons were updated.
|
|
79510
|
-
*
|
|
79511
|
-
* Both editors already computed this scoping, to decide which filter boxes to
|
|
79512
|
-
* render; the cap's own docblock already promised it ("Narrow a `device-*` kind
|
|
79513
|
-
* to these device TYPES"). Only the engine disagreed, and it disagreed in the
|
|
79514
|
-
* destructive direction. So the rule is stated ONCE, here, and the engine and
|
|
79515
|
-
* the editors are readers of it rather than three independent authors.
|
|
79516
|
-
*
|
|
79517
|
-
* ── The direction ─────────────────────────────────────────────────────────
|
|
79518
|
-
* Out of family ⇒ the filter is IGNORED, never fail-closed. An editor that
|
|
79519
|
-
* hides a box has already told the operator this filter does not speak about
|
|
79520
|
-
* these kinds, so honouring it as an exclusion contradicts the only
|
|
79521
|
-
* explanation the operator was ever given. Inside its family the filter still
|
|
79522
|
-
* narrows, and still fails CLOSED on a subject that cannot produce the identity
|
|
79523
|
-
* it tests (a device the mirror cannot name is not evidence of a camera).
|
|
79524
|
-
*/
|
|
79562
|
+
new Set(NC_LEGACY_SYSTEM_EVENT_KINDS);
|
|
79525
79563
|
/**
|
|
79526
79564
|
* Every filter, for the callers that must cover all of them (guards, tests).
|
|
79527
79565
|
*
|
|
@@ -79547,9 +79585,6 @@ new Map(Object.entries({
|
|
|
79547
79585
|
"device-battery-normal": "device-events",
|
|
79548
79586
|
"device-consumable-low": "device-events",
|
|
79549
79587
|
"device-consumable-normal": "device-events",
|
|
79550
|
-
"device-tank-low": "device-events",
|
|
79551
|
-
"device-tank-full": "device-events",
|
|
79552
|
-
"device-tank-normal": "device-events",
|
|
79553
79588
|
"stream-online": "device-events",
|
|
79554
79589
|
"stream-offline": "device-events",
|
|
79555
79590
|
"detection-blind": "device-events",
|
|
@@ -79626,16 +79661,6 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
79626
79661
|
label: "Consumables",
|
|
79627
79662
|
kinds: ["device-consumable-low", "device-consumable-normal"]
|
|
79628
79663
|
},
|
|
79629
|
-
{
|
|
79630
|
-
id: "tanks",
|
|
79631
|
-
family: "device-events",
|
|
79632
|
-
label: "Tanks",
|
|
79633
|
-
kinds: [
|
|
79634
|
-
"device-tank-low",
|
|
79635
|
-
"device-tank-full",
|
|
79636
|
-
"device-tank-normal"
|
|
79637
|
-
]
|
|
79638
|
-
},
|
|
79639
79664
|
{
|
|
79640
79665
|
id: "detection-blind",
|
|
79641
79666
|
family: "device-events",
|
|
@@ -79793,11 +79818,6 @@ var RULE_BODY_ONLY = ["body"];
|
|
|
79793
79818
|
var RULE_TEXT = ["title", "body"];
|
|
79794
79819
|
var BATTERY = ["device-battery-low", "device-battery-normal"];
|
|
79795
79820
|
var CONSUMABLE = ["device-consumable-low", "device-consumable-normal"];
|
|
79796
|
-
var TANK = [
|
|
79797
|
-
"device-tank-low",
|
|
79798
|
-
"device-tank-full",
|
|
79799
|
-
"device-tank-normal"
|
|
79800
|
-
];
|
|
79801
79821
|
var ALERT_EPISODE = [
|
|
79802
79822
|
"alert-critical",
|
|
79803
79823
|
"alert-error",
|
|
@@ -79829,7 +79849,6 @@ var DEVICE_EVENTS = [
|
|
|
79829
79849
|
"device-enabled",
|
|
79830
79850
|
...BATTERY,
|
|
79831
79851
|
...CONSUMABLE,
|
|
79832
|
-
...TANK,
|
|
79833
79852
|
"stream-online",
|
|
79834
79853
|
"stream-offline",
|
|
79835
79854
|
"detection-blind",
|
|
@@ -79875,12 +79894,6 @@ var STATE_SUMMARY_SECTION_VARS = [
|
|
|
79875
79894
|
example: "Robot — filter 10 %",
|
|
79876
79895
|
kinds: CONSUMABLE
|
|
79877
79896
|
},
|
|
79878
|
-
{
|
|
79879
|
-
name: "summaryTanks",
|
|
79880
|
-
label: "Summary: tanks",
|
|
79881
|
-
example: "Robot — clean water low",
|
|
79882
|
-
kinds: TANK
|
|
79883
|
-
},
|
|
79884
79897
|
{
|
|
79885
79898
|
name: "summaryDetection",
|
|
79886
79899
|
label: "Summary: cameras detecting nothing",
|
|
@@ -79996,8 +80009,7 @@ var STATE_SUMMARY_VARS = [
|
|
|
79996
80009
|
([...RULE_TEXT], [...COMBINED_ALARM]),
|
|
79997
80010
|
([...RULE_TEXT], [...DEVICE_EVENTS]),
|
|
79998
80011
|
([...RULE_TEXT], [...BATTERY, ...CONSUMABLE]),
|
|
79999
|
-
([...RULE_TEXT], [...CONSUMABLE
|
|
80000
|
-
([...RULE_TEXT], [...TANK]),
|
|
80012
|
+
([...RULE_TEXT], [...CONSUMABLE]),
|
|
80001
80013
|
[...RULE_TEXT],
|
|
80002
80014
|
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|
|
80003
80015
|
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|
|
@@ -80101,15 +80113,6 @@ new Map([
|
|
|
80101
80113
|
snapshotLabel: "Consumables low now",
|
|
80102
80114
|
snapshotSection: "consumables"
|
|
80103
80115
|
},
|
|
80104
|
-
{
|
|
80105
|
-
id: "tanks",
|
|
80106
|
-
family: "device-events",
|
|
80107
|
-
label: "Tanks (low or full / back to normal)",
|
|
80108
|
-
bad: ["device-tank-low", "device-tank-full"],
|
|
80109
|
-
recovery: ["device-tank-normal"],
|
|
80110
|
-
snapshotLabel: "Tanks low or full now",
|
|
80111
|
-
snapshotSection: "tanks"
|
|
80112
|
-
},
|
|
80113
80116
|
{
|
|
80114
80117
|
id: "motion-noise",
|
|
80115
80118
|
family: "device-events",
|