@camstack/addon-training 0.1.77 → 0.1.78
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-DW358mxE.mjs → MotionZonesSettings-jORey4uC.mjs} +2 -2
- package/dist/{PrivacyMaskSettings-8OQfCROj.mjs → PrivacyMaskSettings-P24unULW.mjs} +2 -2
- package/dist/{SceneMonitorEditor-D8KPyVBc.mjs → SceneMonitorEditor-CkLN8Kee.mjs} +1 -1
- package/dist/_stub.js +5444 -5218
- package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_training_page-pvaNdWyD.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_training_page-BbQzUVOo.mjs} +3 -3
- package/dist/_virtual_mf___mfe_internal__addon_training_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DiRkx0UL.mjs +26 -0
- package/dist/addon-training.css +1 -1
- package/dist/{dist-0l-u0kED.js → dist-CKiSDi2Y.js} +91 -88
- package/dist/{dist--WYP29ef.mjs → dist-DeD2tKQ2.mjs} +91 -88
- package/dist/{hostInit-C8nnpFIy.mjs → hostInit-ndHJ_k8s.mjs} +2 -2
- package/dist/index.js +1 -1
- package/dist/orchestrator/training.addon.js +1 -1
- package/dist/orchestrator/training.addon.mjs +1 -1
- package/dist/{player-overlays-DUX0-57y.mjs → player-overlays-CD0eup2L.mjs} +1 -1
- package/dist/providers/modal/training-modal.addon.js +1 -1
- package/dist/providers/modal/training-modal.addon.mjs +1 -1
- package/dist/remoteEntry.js +1 -1
- package/dist/{responsive-LBIGYpcj.mjs → responsive-CBG3O0ME.mjs} +1 -1
- package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_training_page__remoteEntry_js-CMBXXfj3.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_training_page__remoteEntry_js-X4iAyyQb.mjs} +1 -1
- package/package.json +1 -1
- package/dist/_virtual_mf___mfe_internal__addon_training_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-qjGlK6dB.mjs +0 -26
|
@@ -32,7 +32,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
32
32
|
}) : target, mod));
|
|
33
33
|
var __toCommonJS = (mod) => __hasOwnProp.call(mod, "module.exports") ? mod["module.exports"] : __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
34
34
|
require("node:crypto");
|
|
35
|
-
//#region ../types/dist/event-category-
|
|
35
|
+
//#region ../types/dist/event-category-Ceif8n-v.mjs
|
|
36
36
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
37
37
|
EventCategory["SystemBoot"] = "system.boot";
|
|
38
38
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -504,6 +504,10 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
504
504
|
* on the device detail page.
|
|
505
505
|
*/
|
|
506
506
|
EventCategory["DoorbellOnPressed"] = "doorbell.onPressed";
|
|
507
|
+
/** Mirrors `runningStateCapability.events.onStarted`. */
|
|
508
|
+
EventCategory["RunningStarted"] = "running.started";
|
|
509
|
+
/** Mirrors `runningStateCapability.events.onFinished`. */
|
|
510
|
+
EventCategory["RunningFinished"] = "running.finished";
|
|
507
511
|
/**
|
|
508
512
|
* Cap event fired by every device that registers the `event-emitter`
|
|
509
513
|
* capability. Mirrors `eventEmitterCapability.events.onEvent`. Carries
|
|
@@ -5596,7 +5600,7 @@ var ZodIssueCode = {
|
|
|
5596
5600
|
var ZodFirstPartyTypeKind;
|
|
5597
5601
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5598
5602
|
//#endregion
|
|
5599
|
-
//#region ../types/dist/sleep-
|
|
5603
|
+
//#region ../types/dist/sleep-CYfIZzGv.mjs
|
|
5600
5604
|
/**
|
|
5601
5605
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5602
5606
|
* window to float samples (D455).
|
|
@@ -5935,7 +5939,7 @@ Object.fromEntries([
|
|
|
5935
5939
|
* `hydrateSchema` to skip the `value` injection for structural-only fields.
|
|
5936
5940
|
*/
|
|
5937
5941
|
function isValuelessField(field) {
|
|
5938
|
-
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";
|
|
5942
|
+
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";
|
|
5939
5943
|
}
|
|
5940
5944
|
function hydrateSchema(schema, values, options = {}) {
|
|
5941
5945
|
return {
|
|
@@ -9144,7 +9148,7 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
|
|
|
9144
9148
|
return DeviceRole;
|
|
9145
9149
|
}({});
|
|
9146
9150
|
//#endregion
|
|
9147
|
-
//#region ../types/dist/composition-
|
|
9151
|
+
//#region ../types/dist/composition-xz-ud5EQ.mjs
|
|
9148
9152
|
/**
|
|
9149
9153
|
* The ffmpeg build every CamStack node downloads, per platform and arch.
|
|
9150
9154
|
*
|
|
@@ -9445,6 +9449,20 @@ var table = {
|
|
|
9445
9449
|
apply: () => {
|
|
9446
9450
|
throw new ExpressionEvalError("count: stateful evaluation context is required");
|
|
9447
9451
|
}
|
|
9452
|
+
},
|
|
9453
|
+
dwell: {
|
|
9454
|
+
minArgs: 3,
|
|
9455
|
+
maxArgs: 3,
|
|
9456
|
+
apply: () => {
|
|
9457
|
+
throw new ExpressionEvalError("dwell: stateful evaluation context is required");
|
|
9458
|
+
}
|
|
9459
|
+
},
|
|
9460
|
+
latchedAt: {
|
|
9461
|
+
minArgs: 1,
|
|
9462
|
+
maxArgs: 1,
|
|
9463
|
+
apply: () => {
|
|
9464
|
+
throw new ExpressionEvalError("latchedAt: stateful evaluation context is required");
|
|
9465
|
+
}
|
|
9448
9466
|
}
|
|
9449
9467
|
};
|
|
9450
9468
|
Object.freeze(Object.assign(Object.create(null), table));
|
|
@@ -16323,7 +16341,15 @@ Object.freeze({
|
|
|
16323
16341
|
kind: "fixed",
|
|
16324
16342
|
result: ["number", "null"]
|
|
16325
16343
|
},
|
|
16326
|
-
count: NUMBER
|
|
16344
|
+
count: NUMBER,
|
|
16345
|
+
dwell: {
|
|
16346
|
+
kind: "fixed",
|
|
16347
|
+
result: ["boolean", "null"]
|
|
16348
|
+
},
|
|
16349
|
+
latchedAt: {
|
|
16350
|
+
kind: "fixed",
|
|
16351
|
+
result: ["number", "null"]
|
|
16352
|
+
}
|
|
16327
16353
|
});
|
|
16328
16354
|
`${COMPOSED_DEVICE_STABLE_ID_PREFIX}`;
|
|
16329
16355
|
/**
|
|
@@ -42517,9 +42543,6 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42517
42543
|
"device-battery-normal",
|
|
42518
42544
|
"device-consumable-low",
|
|
42519
42545
|
"device-consumable-normal",
|
|
42520
|
-
"device-tank-low",
|
|
42521
|
-
"device-tank-full",
|
|
42522
|
-
"device-tank-normal",
|
|
42523
42546
|
"stream-online",
|
|
42524
42547
|
"stream-offline",
|
|
42525
42548
|
"node-online",
|
|
@@ -42566,13 +42589,14 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42566
42589
|
"camera-enabled"
|
|
42567
42590
|
]);
|
|
42568
42591
|
/** The legacy tail of {@link NcSystemEventKindSchema} — see its docblock. */
|
|
42569
|
-
var NC_LEGACY_SYSTEM_EVENT_KINDS =
|
|
42592
|
+
var NC_LEGACY_SYSTEM_EVENT_KINDS = [
|
|
42570
42593
|
"camera-online",
|
|
42571
42594
|
"camera-offline",
|
|
42572
42595
|
"camera-disabled",
|
|
42573
42596
|
"camera-enabled"
|
|
42574
|
-
]
|
|
42575
|
-
|
|
42597
|
+
];
|
|
42598
|
+
var NC_LEGACY_SYSTEM_EVENT_KIND_SET = new Set(NC_LEGACY_SYSTEM_EVENT_KINDS);
|
|
42599
|
+
NcSystemEventKindSchema.options.filter((kind) => !NC_LEGACY_SYSTEM_EVENT_KIND_SET.has(kind));
|
|
42576
42600
|
/**
|
|
42577
42601
|
* The panel's transitions, as ONE list.
|
|
42578
42602
|
*
|
|
@@ -43691,18 +43715,11 @@ var NcRuleSchema = NcRuleInputSchema.extend({
|
|
|
43691
43715
|
*/
|
|
43692
43716
|
disabledTargetIds: array(string()).default([])
|
|
43693
43717
|
});
|
|
43694
|
-
/**
|
|
43695
|
-
* The state-summary SECTIONS (D647 / D698 / D708): the D637 kind groups that
|
|
43696
|
-
* report a still-true state. `addons` is the crash-looped addons only and
|
|
43697
|
-
* `addon-updates` the addons that are behind (D708 split them). `backups-exports` and `alarm` are not sections — a completed
|
|
43698
|
-
* job is not an open state, and the alarm stays instant.
|
|
43699
|
-
*/
|
|
43700
43718
|
var NcStateSummarySectionIdSchema = _enum([
|
|
43701
43719
|
"device-state",
|
|
43702
43720
|
"streams",
|
|
43703
43721
|
"battery",
|
|
43704
43722
|
"consumables",
|
|
43705
|
-
"tanks",
|
|
43706
43723
|
"detection-blind",
|
|
43707
43724
|
"nodes",
|
|
43708
43725
|
"addons",
|
|
@@ -59101,6 +59118,22 @@ DeviceType.Camera, method(object({ deviceId: number() }), PtzAutotrackStatusSche
|
|
|
59101
59118
|
deviceId: number(),
|
|
59102
59119
|
status: PtzAutotrackStatusSchema
|
|
59103
59120
|
});
|
|
59121
|
+
var RunningStateSourceSchema = _enum(["native", "assigned"]);
|
|
59122
|
+
object({
|
|
59123
|
+
/** null = unknown — never coerced to false (D393). */
|
|
59124
|
+
running: boolean().nullable(),
|
|
59125
|
+
/** Epoch ms the current boolean began; null while `running` is null. */
|
|
59126
|
+
since: number().nullable(),
|
|
59127
|
+
source: RunningStateSourceSchema,
|
|
59128
|
+
phase: string().nullable(),
|
|
59129
|
+
lastFetchedAt: number()
|
|
59130
|
+
});
|
|
59131
|
+
object({
|
|
59132
|
+
deviceId: number(),
|
|
59133
|
+
since: number().nullable(),
|
|
59134
|
+
phase: string().nullable()
|
|
59135
|
+
});
|
|
59136
|
+
Object.values(DeviceType);
|
|
59104
59137
|
DeviceType.Camera, DeviceType.Sensor, DeviceType.Switch, method(object({ deviceId: number().int().nonnegative() }), object({ success: literal(true) }), {
|
|
59105
59138
|
kind: "mutation",
|
|
59106
59139
|
auth: "admin"
|
|
@@ -70497,6 +70530,13 @@ Object.freeze({
|
|
|
70497
70530
|
access: "create",
|
|
70498
70531
|
role: "admin"
|
|
70499
70532
|
},
|
|
70533
|
+
"runningState.getStatus": {
|
|
70534
|
+
capName: "running-state",
|
|
70535
|
+
capScope: "device",
|
|
70536
|
+
addonId: null,
|
|
70537
|
+
access: "view",
|
|
70538
|
+
role: "viewer"
|
|
70539
|
+
},
|
|
70500
70540
|
"sceneMonitor.captureReference": {
|
|
70501
70541
|
capName: "scene-monitor",
|
|
70502
70542
|
capScope: "device",
|
|
@@ -75211,6 +75251,32 @@ var APPLIANCE_CAP_VOCABULARY = {
|
|
|
75211
75251
|
}],
|
|
75212
75252
|
events: { onSent: { notOperatorFacing: "a delivery receipt of a send this system made — not a fact about the world" } }
|
|
75213
75253
|
},
|
|
75254
|
+
"running-state": {
|
|
75255
|
+
scope: "device",
|
|
75256
|
+
noun: t("Running", "In funzione"),
|
|
75257
|
+
state: [{
|
|
75258
|
+
kind: "boolean",
|
|
75259
|
+
field: "running",
|
|
75260
|
+
label: t("Running", "In funzione"),
|
|
75261
|
+
whenTrue: t("When {device} starts", "Quando {device} inizia"),
|
|
75262
|
+
whenFalse: t("When {device} finishes", "Quando {device} finisce"),
|
|
75263
|
+
icon: "play"
|
|
75264
|
+
}],
|
|
75265
|
+
events: {
|
|
75266
|
+
onStarted: {
|
|
75267
|
+
category: EventCategory.RunningStarted,
|
|
75268
|
+
label: t("Started running", "Ha iniziato a funzionare"),
|
|
75269
|
+
phrase: t("When {device} starts running", "Quando {device} inizia a funzionare"),
|
|
75270
|
+
icon: "play"
|
|
75271
|
+
},
|
|
75272
|
+
onFinished: {
|
|
75273
|
+
category: EventCategory.RunningFinished,
|
|
75274
|
+
label: t("Finished", "Ha finito"),
|
|
75275
|
+
phrase: t("When {device} finishes", "Quando {device} finisce"),
|
|
75276
|
+
icon: "square"
|
|
75277
|
+
}
|
|
75278
|
+
}
|
|
75279
|
+
},
|
|
75214
75280
|
update: {
|
|
75215
75281
|
scope: "device",
|
|
75216
75282
|
noun: t("Firmware update", "Aggiornamento firmware"),
|
|
@@ -78751,6 +78817,11 @@ Object.freeze({
|
|
|
78751
78817
|
form: "single",
|
|
78752
78818
|
optional: true
|
|
78753
78819
|
}],
|
|
78820
|
+
"runningState.getStatus": [{
|
|
78821
|
+
name: "deviceId",
|
|
78822
|
+
form: "single",
|
|
78823
|
+
optional: false
|
|
78824
|
+
}],
|
|
78754
78825
|
"sceneMonitor.captureReference": [{
|
|
78755
78826
|
name: "deviceId",
|
|
78756
78827
|
form: "single",
|
|
@@ -79301,40 +79372,7 @@ var NC_AUDIO_DEFAULTS = {
|
|
|
79301
79372
|
samplingSeconds: 10
|
|
79302
79373
|
};
|
|
79303
79374
|
new Set(["devices", "classes"]);
|
|
79304
|
-
|
|
79305
|
-
* WHICH narrowing filter speaks about WHICH system-event kind — one predicate,
|
|
79306
|
-
* consumed by the rule ENGINE and by every rule EDITOR.
|
|
79307
|
-
*
|
|
79308
|
-
* ── The failure this file exists for ───────────────────────────────────────
|
|
79309
|
-
* `NcSystemEventConditionSchema` carries four optional narrowing lists
|
|
79310
|
-
* (`deviceIds`, `deviceTypes`, `nodeIds`, `packageNames`) beside a required
|
|
79311
|
-
* `kinds` gate. They are not four filters over one vocabulary: each belongs to
|
|
79312
|
-
* a FAMILY of kinds and is meaningless outside it. A node going away has no
|
|
79313
|
-
* device type; a completed export has no package; `stream-offline` deliberately
|
|
79314
|
-
* carries no device type at all (a stream belongs to a camera by construction).
|
|
79315
|
-
*
|
|
79316
|
-
* The engine applied all four to every kind, so a filter from one family failed
|
|
79317
|
-
* a kind from another family CLOSED. The operator's live rule "Eventi di
|
|
79318
|
-
* sistema" selected eleven kinds and set `deviceTypes: ['camera']` — the only
|
|
79319
|
-
* way to say "only my cameras" about the two liveness kinds — and NINE of the
|
|
79320
|
-
* eleven silently stopped being deliverable. Four days of history contained
|
|
79321
|
-
* `device-online` and `device-offline` and nothing else, across a window in
|
|
79322
|
-
* which agents were restarted and addons were updated.
|
|
79323
|
-
*
|
|
79324
|
-
* Both editors already computed this scoping, to decide which filter boxes to
|
|
79325
|
-
* render; the cap's own docblock already promised it ("Narrow a `device-*` kind
|
|
79326
|
-
* to these device TYPES"). Only the engine disagreed, and it disagreed in the
|
|
79327
|
-
* destructive direction. So the rule is stated ONCE, here, and the engine and
|
|
79328
|
-
* the editors are readers of it rather than three independent authors.
|
|
79329
|
-
*
|
|
79330
|
-
* ── The direction ─────────────────────────────────────────────────────────
|
|
79331
|
-
* Out of family ⇒ the filter is IGNORED, never fail-closed. An editor that
|
|
79332
|
-
* hides a box has already told the operator this filter does not speak about
|
|
79333
|
-
* these kinds, so honouring it as an exclusion contradicts the only
|
|
79334
|
-
* explanation the operator was ever given. Inside its family the filter still
|
|
79335
|
-
* narrows, and still fails CLOSED on a subject that cannot produce the identity
|
|
79336
|
-
* it tests (a device the mirror cannot name is not evidence of a camera).
|
|
79337
|
-
*/
|
|
79375
|
+
new Set(NC_LEGACY_SYSTEM_EVENT_KINDS);
|
|
79338
79376
|
/**
|
|
79339
79377
|
* Every filter, for the callers that must cover all of them (guards, tests).
|
|
79340
79378
|
*
|
|
@@ -79360,9 +79398,6 @@ new Map(Object.entries({
|
|
|
79360
79398
|
"device-battery-normal": "device-events",
|
|
79361
79399
|
"device-consumable-low": "device-events",
|
|
79362
79400
|
"device-consumable-normal": "device-events",
|
|
79363
|
-
"device-tank-low": "device-events",
|
|
79364
|
-
"device-tank-full": "device-events",
|
|
79365
|
-
"device-tank-normal": "device-events",
|
|
79366
79401
|
"stream-online": "device-events",
|
|
79367
79402
|
"stream-offline": "device-events",
|
|
79368
79403
|
"detection-blind": "device-events",
|
|
@@ -79439,16 +79474,6 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
79439
79474
|
label: "Consumables",
|
|
79440
79475
|
kinds: ["device-consumable-low", "device-consumable-normal"]
|
|
79441
79476
|
},
|
|
79442
|
-
{
|
|
79443
|
-
id: "tanks",
|
|
79444
|
-
family: "device-events",
|
|
79445
|
-
label: "Tanks",
|
|
79446
|
-
kinds: [
|
|
79447
|
-
"device-tank-low",
|
|
79448
|
-
"device-tank-full",
|
|
79449
|
-
"device-tank-normal"
|
|
79450
|
-
]
|
|
79451
|
-
},
|
|
79452
79477
|
{
|
|
79453
79478
|
id: "detection-blind",
|
|
79454
79479
|
family: "device-events",
|
|
@@ -79606,11 +79631,6 @@ var RULE_BODY_ONLY = ["body"];
|
|
|
79606
79631
|
var RULE_TEXT = ["title", "body"];
|
|
79607
79632
|
var BATTERY = ["device-battery-low", "device-battery-normal"];
|
|
79608
79633
|
var CONSUMABLE = ["device-consumable-low", "device-consumable-normal"];
|
|
79609
|
-
var TANK = [
|
|
79610
|
-
"device-tank-low",
|
|
79611
|
-
"device-tank-full",
|
|
79612
|
-
"device-tank-normal"
|
|
79613
|
-
];
|
|
79614
79634
|
var ALERT_EPISODE = [
|
|
79615
79635
|
"alert-critical",
|
|
79616
79636
|
"alert-error",
|
|
@@ -79642,7 +79662,6 @@ var DEVICE_EVENTS = [
|
|
|
79642
79662
|
"device-enabled",
|
|
79643
79663
|
...BATTERY,
|
|
79644
79664
|
...CONSUMABLE,
|
|
79645
|
-
...TANK,
|
|
79646
79665
|
"stream-online",
|
|
79647
79666
|
"stream-offline",
|
|
79648
79667
|
"detection-blind",
|
|
@@ -79688,12 +79707,6 @@ var STATE_SUMMARY_SECTION_VARS = [
|
|
|
79688
79707
|
example: "Robot — filter 10 %",
|
|
79689
79708
|
kinds: CONSUMABLE
|
|
79690
79709
|
},
|
|
79691
|
-
{
|
|
79692
|
-
name: "summaryTanks",
|
|
79693
|
-
label: "Summary: tanks",
|
|
79694
|
-
example: "Robot — clean water low",
|
|
79695
|
-
kinds: TANK
|
|
79696
|
-
},
|
|
79697
79710
|
{
|
|
79698
79711
|
name: "summaryDetection",
|
|
79699
79712
|
label: "Summary: cameras detecting nothing",
|
|
@@ -79809,8 +79822,7 @@ var STATE_SUMMARY_VARS = [
|
|
|
79809
79822
|
([...RULE_TEXT], [...COMBINED_ALARM]),
|
|
79810
79823
|
([...RULE_TEXT], [...DEVICE_EVENTS]),
|
|
79811
79824
|
([...RULE_TEXT], [...BATTERY, ...CONSUMABLE]),
|
|
79812
|
-
([...RULE_TEXT], [...CONSUMABLE
|
|
79813
|
-
([...RULE_TEXT], [...TANK]),
|
|
79825
|
+
([...RULE_TEXT], [...CONSUMABLE]),
|
|
79814
79826
|
[...RULE_TEXT],
|
|
79815
79827
|
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|
|
79816
79828
|
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|
|
@@ -79914,15 +79926,6 @@ new Map([
|
|
|
79914
79926
|
snapshotLabel: "Consumables low now",
|
|
79915
79927
|
snapshotSection: "consumables"
|
|
79916
79928
|
},
|
|
79917
|
-
{
|
|
79918
|
-
id: "tanks",
|
|
79919
|
-
family: "device-events",
|
|
79920
|
-
label: "Tanks (low or full / back to normal)",
|
|
79921
|
-
bad: ["device-tank-low", "device-tank-full"],
|
|
79922
|
-
recovery: ["device-tank-normal"],
|
|
79923
|
-
snapshotLabel: "Tanks low or full now",
|
|
79924
|
-
snapshotSection: "tanks"
|
|
79925
|
-
},
|
|
79926
79929
|
{
|
|
79927
79930
|
id: "motion-noise",
|
|
79928
79931
|
family: "device-events",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "node:crypto";
|
|
2
|
-
//#region ../types/dist/event-category-
|
|
2
|
+
//#region ../types/dist/event-category-Ceif8n-v.mjs
|
|
3
3
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
4
4
|
EventCategory["SystemBoot"] = "system.boot";
|
|
5
5
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -471,6 +471,10 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
471
471
|
* on the device detail page.
|
|
472
472
|
*/
|
|
473
473
|
EventCategory["DoorbellOnPressed"] = "doorbell.onPressed";
|
|
474
|
+
/** Mirrors `runningStateCapability.events.onStarted`. */
|
|
475
|
+
EventCategory["RunningStarted"] = "running.started";
|
|
476
|
+
/** Mirrors `runningStateCapability.events.onFinished`. */
|
|
477
|
+
EventCategory["RunningFinished"] = "running.finished";
|
|
474
478
|
/**
|
|
475
479
|
* Cap event fired by every device that registers the `event-emitter`
|
|
476
480
|
* capability. Mirrors `eventEmitterCapability.events.onEvent`. Carries
|
|
@@ -5563,7 +5567,7 @@ var ZodIssueCode = {
|
|
|
5563
5567
|
var ZodFirstPartyTypeKind;
|
|
5564
5568
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5565
5569
|
//#endregion
|
|
5566
|
-
//#region ../types/dist/sleep-
|
|
5570
|
+
//#region ../types/dist/sleep-CYfIZzGv.mjs
|
|
5567
5571
|
/**
|
|
5568
5572
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5569
5573
|
* window to float samples (D455).
|
|
@@ -5902,7 +5906,7 @@ Object.fromEntries([
|
|
|
5902
5906
|
* `hydrateSchema` to skip the `value` injection for structural-only fields.
|
|
5903
5907
|
*/
|
|
5904
5908
|
function isValuelessField(field) {
|
|
5905
|
-
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";
|
|
5909
|
+
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";
|
|
5906
5910
|
}
|
|
5907
5911
|
function hydrateSchema(schema, values, options = {}) {
|
|
5908
5912
|
return {
|
|
@@ -9111,7 +9115,7 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
|
|
|
9111
9115
|
return DeviceRole;
|
|
9112
9116
|
}({});
|
|
9113
9117
|
//#endregion
|
|
9114
|
-
//#region ../types/dist/composition-
|
|
9118
|
+
//#region ../types/dist/composition-xz-ud5EQ.mjs
|
|
9115
9119
|
/**
|
|
9116
9120
|
* The ffmpeg build every CamStack node downloads, per platform and arch.
|
|
9117
9121
|
*
|
|
@@ -9412,6 +9416,20 @@ var table = {
|
|
|
9412
9416
|
apply: () => {
|
|
9413
9417
|
throw new ExpressionEvalError("count: stateful evaluation context is required");
|
|
9414
9418
|
}
|
|
9419
|
+
},
|
|
9420
|
+
dwell: {
|
|
9421
|
+
minArgs: 3,
|
|
9422
|
+
maxArgs: 3,
|
|
9423
|
+
apply: () => {
|
|
9424
|
+
throw new ExpressionEvalError("dwell: stateful evaluation context is required");
|
|
9425
|
+
}
|
|
9426
|
+
},
|
|
9427
|
+
latchedAt: {
|
|
9428
|
+
minArgs: 1,
|
|
9429
|
+
maxArgs: 1,
|
|
9430
|
+
apply: () => {
|
|
9431
|
+
throw new ExpressionEvalError("latchedAt: stateful evaluation context is required");
|
|
9432
|
+
}
|
|
9415
9433
|
}
|
|
9416
9434
|
};
|
|
9417
9435
|
Object.freeze(Object.assign(Object.create(null), table));
|
|
@@ -16290,7 +16308,15 @@ Object.freeze({
|
|
|
16290
16308
|
kind: "fixed",
|
|
16291
16309
|
result: ["number", "null"]
|
|
16292
16310
|
},
|
|
16293
|
-
count: NUMBER
|
|
16311
|
+
count: NUMBER,
|
|
16312
|
+
dwell: {
|
|
16313
|
+
kind: "fixed",
|
|
16314
|
+
result: ["boolean", "null"]
|
|
16315
|
+
},
|
|
16316
|
+
latchedAt: {
|
|
16317
|
+
kind: "fixed",
|
|
16318
|
+
result: ["number", "null"]
|
|
16319
|
+
}
|
|
16294
16320
|
});
|
|
16295
16321
|
`${COMPOSED_DEVICE_STABLE_ID_PREFIX}`;
|
|
16296
16322
|
/**
|
|
@@ -42484,9 +42510,6 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42484
42510
|
"device-battery-normal",
|
|
42485
42511
|
"device-consumable-low",
|
|
42486
42512
|
"device-consumable-normal",
|
|
42487
|
-
"device-tank-low",
|
|
42488
|
-
"device-tank-full",
|
|
42489
|
-
"device-tank-normal",
|
|
42490
42513
|
"stream-online",
|
|
42491
42514
|
"stream-offline",
|
|
42492
42515
|
"node-online",
|
|
@@ -42533,13 +42556,14 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42533
42556
|
"camera-enabled"
|
|
42534
42557
|
]);
|
|
42535
42558
|
/** The legacy tail of {@link NcSystemEventKindSchema} — see its docblock. */
|
|
42536
|
-
var NC_LEGACY_SYSTEM_EVENT_KINDS =
|
|
42559
|
+
var NC_LEGACY_SYSTEM_EVENT_KINDS = [
|
|
42537
42560
|
"camera-online",
|
|
42538
42561
|
"camera-offline",
|
|
42539
42562
|
"camera-disabled",
|
|
42540
42563
|
"camera-enabled"
|
|
42541
|
-
]
|
|
42542
|
-
|
|
42564
|
+
];
|
|
42565
|
+
var NC_LEGACY_SYSTEM_EVENT_KIND_SET = new Set(NC_LEGACY_SYSTEM_EVENT_KINDS);
|
|
42566
|
+
NcSystemEventKindSchema.options.filter((kind) => !NC_LEGACY_SYSTEM_EVENT_KIND_SET.has(kind));
|
|
42543
42567
|
/**
|
|
42544
42568
|
* The panel's transitions, as ONE list.
|
|
42545
42569
|
*
|
|
@@ -43658,18 +43682,11 @@ var NcRuleSchema = NcRuleInputSchema.extend({
|
|
|
43658
43682
|
*/
|
|
43659
43683
|
disabledTargetIds: array(string()).default([])
|
|
43660
43684
|
});
|
|
43661
|
-
/**
|
|
43662
|
-
* The state-summary SECTIONS (D647 / D698 / D708): the D637 kind groups that
|
|
43663
|
-
* report a still-true state. `addons` is the crash-looped addons only and
|
|
43664
|
-
* `addon-updates` the addons that are behind (D708 split them). `backups-exports` and `alarm` are not sections — a completed
|
|
43665
|
-
* job is not an open state, and the alarm stays instant.
|
|
43666
|
-
*/
|
|
43667
43685
|
var NcStateSummarySectionIdSchema = _enum([
|
|
43668
43686
|
"device-state",
|
|
43669
43687
|
"streams",
|
|
43670
43688
|
"battery",
|
|
43671
43689
|
"consumables",
|
|
43672
|
-
"tanks",
|
|
43673
43690
|
"detection-blind",
|
|
43674
43691
|
"nodes",
|
|
43675
43692
|
"addons",
|
|
@@ -59068,6 +59085,22 @@ DeviceType.Camera, method(object({ deviceId: number() }), PtzAutotrackStatusSche
|
|
|
59068
59085
|
deviceId: number(),
|
|
59069
59086
|
status: PtzAutotrackStatusSchema
|
|
59070
59087
|
});
|
|
59088
|
+
var RunningStateSourceSchema = _enum(["native", "assigned"]);
|
|
59089
|
+
object({
|
|
59090
|
+
/** null = unknown — never coerced to false (D393). */
|
|
59091
|
+
running: boolean().nullable(),
|
|
59092
|
+
/** Epoch ms the current boolean began; null while `running` is null. */
|
|
59093
|
+
since: number().nullable(),
|
|
59094
|
+
source: RunningStateSourceSchema,
|
|
59095
|
+
phase: string().nullable(),
|
|
59096
|
+
lastFetchedAt: number()
|
|
59097
|
+
});
|
|
59098
|
+
object({
|
|
59099
|
+
deviceId: number(),
|
|
59100
|
+
since: number().nullable(),
|
|
59101
|
+
phase: string().nullable()
|
|
59102
|
+
});
|
|
59103
|
+
Object.values(DeviceType);
|
|
59071
59104
|
DeviceType.Camera, DeviceType.Sensor, DeviceType.Switch, method(object({ deviceId: number().int().nonnegative() }), object({ success: literal(true) }), {
|
|
59072
59105
|
kind: "mutation",
|
|
59073
59106
|
auth: "admin"
|
|
@@ -70464,6 +70497,13 @@ Object.freeze({
|
|
|
70464
70497
|
access: "create",
|
|
70465
70498
|
role: "admin"
|
|
70466
70499
|
},
|
|
70500
|
+
"runningState.getStatus": {
|
|
70501
|
+
capName: "running-state",
|
|
70502
|
+
capScope: "device",
|
|
70503
|
+
addonId: null,
|
|
70504
|
+
access: "view",
|
|
70505
|
+
role: "viewer"
|
|
70506
|
+
},
|
|
70467
70507
|
"sceneMonitor.captureReference": {
|
|
70468
70508
|
capName: "scene-monitor",
|
|
70469
70509
|
capScope: "device",
|
|
@@ -75178,6 +75218,32 @@ var APPLIANCE_CAP_VOCABULARY = {
|
|
|
75178
75218
|
}],
|
|
75179
75219
|
events: { onSent: { notOperatorFacing: "a delivery receipt of a send this system made — not a fact about the world" } }
|
|
75180
75220
|
},
|
|
75221
|
+
"running-state": {
|
|
75222
|
+
scope: "device",
|
|
75223
|
+
noun: t("Running", "In funzione"),
|
|
75224
|
+
state: [{
|
|
75225
|
+
kind: "boolean",
|
|
75226
|
+
field: "running",
|
|
75227
|
+
label: t("Running", "In funzione"),
|
|
75228
|
+
whenTrue: t("When {device} starts", "Quando {device} inizia"),
|
|
75229
|
+
whenFalse: t("When {device} finishes", "Quando {device} finisce"),
|
|
75230
|
+
icon: "play"
|
|
75231
|
+
}],
|
|
75232
|
+
events: {
|
|
75233
|
+
onStarted: {
|
|
75234
|
+
category: EventCategory.RunningStarted,
|
|
75235
|
+
label: t("Started running", "Ha iniziato a funzionare"),
|
|
75236
|
+
phrase: t("When {device} starts running", "Quando {device} inizia a funzionare"),
|
|
75237
|
+
icon: "play"
|
|
75238
|
+
},
|
|
75239
|
+
onFinished: {
|
|
75240
|
+
category: EventCategory.RunningFinished,
|
|
75241
|
+
label: t("Finished", "Ha finito"),
|
|
75242
|
+
phrase: t("When {device} finishes", "Quando {device} finisce"),
|
|
75243
|
+
icon: "square"
|
|
75244
|
+
}
|
|
75245
|
+
}
|
|
75246
|
+
},
|
|
75181
75247
|
update: {
|
|
75182
75248
|
scope: "device",
|
|
75183
75249
|
noun: t("Firmware update", "Aggiornamento firmware"),
|
|
@@ -78718,6 +78784,11 @@ Object.freeze({
|
|
|
78718
78784
|
form: "single",
|
|
78719
78785
|
optional: true
|
|
78720
78786
|
}],
|
|
78787
|
+
"runningState.getStatus": [{
|
|
78788
|
+
name: "deviceId",
|
|
78789
|
+
form: "single",
|
|
78790
|
+
optional: false
|
|
78791
|
+
}],
|
|
78721
78792
|
"sceneMonitor.captureReference": [{
|
|
78722
78793
|
name: "deviceId",
|
|
78723
78794
|
form: "single",
|
|
@@ -79268,40 +79339,7 @@ var NC_AUDIO_DEFAULTS = {
|
|
|
79268
79339
|
samplingSeconds: 10
|
|
79269
79340
|
};
|
|
79270
79341
|
new Set(["devices", "classes"]);
|
|
79271
|
-
|
|
79272
|
-
* WHICH narrowing filter speaks about WHICH system-event kind — one predicate,
|
|
79273
|
-
* consumed by the rule ENGINE and by every rule EDITOR.
|
|
79274
|
-
*
|
|
79275
|
-
* ── The failure this file exists for ───────────────────────────────────────
|
|
79276
|
-
* `NcSystemEventConditionSchema` carries four optional narrowing lists
|
|
79277
|
-
* (`deviceIds`, `deviceTypes`, `nodeIds`, `packageNames`) beside a required
|
|
79278
|
-
* `kinds` gate. They are not four filters over one vocabulary: each belongs to
|
|
79279
|
-
* a FAMILY of kinds and is meaningless outside it. A node going away has no
|
|
79280
|
-
* device type; a completed export has no package; `stream-offline` deliberately
|
|
79281
|
-
* carries no device type at all (a stream belongs to a camera by construction).
|
|
79282
|
-
*
|
|
79283
|
-
* The engine applied all four to every kind, so a filter from one family failed
|
|
79284
|
-
* a kind from another family CLOSED. The operator's live rule "Eventi di
|
|
79285
|
-
* sistema" selected eleven kinds and set `deviceTypes: ['camera']` — the only
|
|
79286
|
-
* way to say "only my cameras" about the two liveness kinds — and NINE of the
|
|
79287
|
-
* eleven silently stopped being deliverable. Four days of history contained
|
|
79288
|
-
* `device-online` and `device-offline` and nothing else, across a window in
|
|
79289
|
-
* which agents were restarted and addons were updated.
|
|
79290
|
-
*
|
|
79291
|
-
* Both editors already computed this scoping, to decide which filter boxes to
|
|
79292
|
-
* render; the cap's own docblock already promised it ("Narrow a `device-*` kind
|
|
79293
|
-
* to these device TYPES"). Only the engine disagreed, and it disagreed in the
|
|
79294
|
-
* destructive direction. So the rule is stated ONCE, here, and the engine and
|
|
79295
|
-
* the editors are readers of it rather than three independent authors.
|
|
79296
|
-
*
|
|
79297
|
-
* ── The direction ─────────────────────────────────────────────────────────
|
|
79298
|
-
* Out of family ⇒ the filter is IGNORED, never fail-closed. An editor that
|
|
79299
|
-
* hides a box has already told the operator this filter does not speak about
|
|
79300
|
-
* these kinds, so honouring it as an exclusion contradicts the only
|
|
79301
|
-
* explanation the operator was ever given. Inside its family the filter still
|
|
79302
|
-
* narrows, and still fails CLOSED on a subject that cannot produce the identity
|
|
79303
|
-
* it tests (a device the mirror cannot name is not evidence of a camera).
|
|
79304
|
-
*/
|
|
79342
|
+
new Set(NC_LEGACY_SYSTEM_EVENT_KINDS);
|
|
79305
79343
|
/**
|
|
79306
79344
|
* Every filter, for the callers that must cover all of them (guards, tests).
|
|
79307
79345
|
*
|
|
@@ -79327,9 +79365,6 @@ new Map(Object.entries({
|
|
|
79327
79365
|
"device-battery-normal": "device-events",
|
|
79328
79366
|
"device-consumable-low": "device-events",
|
|
79329
79367
|
"device-consumable-normal": "device-events",
|
|
79330
|
-
"device-tank-low": "device-events",
|
|
79331
|
-
"device-tank-full": "device-events",
|
|
79332
|
-
"device-tank-normal": "device-events",
|
|
79333
79368
|
"stream-online": "device-events",
|
|
79334
79369
|
"stream-offline": "device-events",
|
|
79335
79370
|
"detection-blind": "device-events",
|
|
@@ -79406,16 +79441,6 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
79406
79441
|
label: "Consumables",
|
|
79407
79442
|
kinds: ["device-consumable-low", "device-consumable-normal"]
|
|
79408
79443
|
},
|
|
79409
|
-
{
|
|
79410
|
-
id: "tanks",
|
|
79411
|
-
family: "device-events",
|
|
79412
|
-
label: "Tanks",
|
|
79413
|
-
kinds: [
|
|
79414
|
-
"device-tank-low",
|
|
79415
|
-
"device-tank-full",
|
|
79416
|
-
"device-tank-normal"
|
|
79417
|
-
]
|
|
79418
|
-
},
|
|
79419
79444
|
{
|
|
79420
79445
|
id: "detection-blind",
|
|
79421
79446
|
family: "device-events",
|
|
@@ -79573,11 +79598,6 @@ var RULE_BODY_ONLY = ["body"];
|
|
|
79573
79598
|
var RULE_TEXT = ["title", "body"];
|
|
79574
79599
|
var BATTERY = ["device-battery-low", "device-battery-normal"];
|
|
79575
79600
|
var CONSUMABLE = ["device-consumable-low", "device-consumable-normal"];
|
|
79576
|
-
var TANK = [
|
|
79577
|
-
"device-tank-low",
|
|
79578
|
-
"device-tank-full",
|
|
79579
|
-
"device-tank-normal"
|
|
79580
|
-
];
|
|
79581
79601
|
var ALERT_EPISODE = [
|
|
79582
79602
|
"alert-critical",
|
|
79583
79603
|
"alert-error",
|
|
@@ -79609,7 +79629,6 @@ var DEVICE_EVENTS = [
|
|
|
79609
79629
|
"device-enabled",
|
|
79610
79630
|
...BATTERY,
|
|
79611
79631
|
...CONSUMABLE,
|
|
79612
|
-
...TANK,
|
|
79613
79632
|
"stream-online",
|
|
79614
79633
|
"stream-offline",
|
|
79615
79634
|
"detection-blind",
|
|
@@ -79655,12 +79674,6 @@ var STATE_SUMMARY_SECTION_VARS = [
|
|
|
79655
79674
|
example: "Robot — filter 10 %",
|
|
79656
79675
|
kinds: CONSUMABLE
|
|
79657
79676
|
},
|
|
79658
|
-
{
|
|
79659
|
-
name: "summaryTanks",
|
|
79660
|
-
label: "Summary: tanks",
|
|
79661
|
-
example: "Robot — clean water low",
|
|
79662
|
-
kinds: TANK
|
|
79663
|
-
},
|
|
79664
79677
|
{
|
|
79665
79678
|
name: "summaryDetection",
|
|
79666
79679
|
label: "Summary: cameras detecting nothing",
|
|
@@ -79776,8 +79789,7 @@ var STATE_SUMMARY_VARS = [
|
|
|
79776
79789
|
([...RULE_TEXT], [...COMBINED_ALARM]),
|
|
79777
79790
|
([...RULE_TEXT], [...DEVICE_EVENTS]),
|
|
79778
79791
|
([...RULE_TEXT], [...BATTERY, ...CONSUMABLE]),
|
|
79779
|
-
([...RULE_TEXT], [...CONSUMABLE
|
|
79780
|
-
([...RULE_TEXT], [...TANK]),
|
|
79792
|
+
([...RULE_TEXT], [...CONSUMABLE]),
|
|
79781
79793
|
[...RULE_TEXT],
|
|
79782
79794
|
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|
|
79783
79795
|
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|
|
@@ -79881,15 +79893,6 @@ new Map([
|
|
|
79881
79893
|
snapshotLabel: "Consumables low now",
|
|
79882
79894
|
snapshotSection: "consumables"
|
|
79883
79895
|
},
|
|
79884
|
-
{
|
|
79885
|
-
id: "tanks",
|
|
79886
|
-
family: "device-events",
|
|
79887
|
-
label: "Tanks (low or full / back to normal)",
|
|
79888
|
-
bad: ["device-tank-low", "device-tank-full"],
|
|
79889
|
-
recovery: ["device-tank-normal"],
|
|
79890
|
-
snapshotLabel: "Tanks low or full now",
|
|
79891
|
-
snapshotSection: "tanks"
|
|
79892
|
-
},
|
|
79893
79896
|
{
|
|
79894
79897
|
id: "motion-noise",
|
|
79895
79898
|
family: "device-events",
|
|
@@ -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,
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
require("./dist-
|
|
2
|
+
require("./dist-CKiSDi2Y.js");
|
|
3
3
|
const require_orchestrator_training_addon = require("./orchestrator/training.addon.js");
|
|
4
4
|
const require_providers_modal_training_modal_addon = require("./providers/modal/training-modal.addon.js");
|
|
5
5
|
//#region src/providers/fake/fake-provider.ts
|