@camstack/addon-osd-manager 0.1.265 → 0.1.267
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-C6ZSgaLA.mjs → MotionZonesSettings-3OswGeMl.mjs} +2 -2
- package/dist/{PrivacyMaskSettings-CiS1e2Pg.mjs → PrivacyMaskSettings-CxN7tOH_.mjs} +4 -4
- package/dist/{SceneMonitorEditor-s0ud6RTg.mjs → SceneMonitorEditor-l9nWTYyI.mjs} +3 -3
- package/dist/_stub.js +1753 -1727
- package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-DaixXuTN.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-DXtR0Eje.mjs} +3 -3
- package/dist/_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BbmRj6OR.mjs +26 -0
- package/dist/addon-osd-manager.css +1 -1
- package/dist/{hostInit-DZBDeleW.mjs → hostInit-DtrBgAfd.mjs} +2 -2
- package/dist/index.js +202 -107
- package/dist/index.mjs +202 -107
- package/dist/{player-overlays-DiGsMCGG.mjs → player-overlays-DeO4qjxv.mjs} +1 -1
- package/dist/remoteEntry.js +1 -1
- package/dist/{responsive-D6dYIr_q.mjs → responsive-BiymurY0.mjs} +1 -1
- package/dist/{scene-monitor-copy-3SZbwzRl.mjs → scene-monitor-copy-CXLDSWeP.mjs} +1 -1
- package/dist/{square-Cda77PD-.mjs → square-Vgi9aM6a.mjs} +1 -1
- package/dist/{trash-2-DMyeZCpw.mjs → trash-2-Ccc91Gq3.mjs} +1 -1
- package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-CneSXrJN.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-BYRSI4Gv.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-aj1Biv3C.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,
|
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-xz-ud5EQ.mjs
|
|
8737
8741
|
/**
|
|
8738
8742
|
* The ffmpeg build every CamStack node downloads, per platform and arch.
|
|
8739
8743
|
*
|
|
@@ -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"
|
|
@@ -45223,6 +45228,18 @@ Object.freeze({
|
|
|
45223
45228
|
reason: "camera sensor mappings not loaded"
|
|
45224
45229
|
});
|
|
45225
45230
|
/**
|
|
45231
|
+
* What the vision model must answer before a package event is emitted
|
|
45232
|
+
* when a packages rule has "Confirm with the LLM" on.
|
|
45233
|
+
*
|
|
45234
|
+
* `package` is the verdict. `confidence` is 0..1. `reason` is the model's
|
|
45235
|
+
* one-line explanation, stored on the event so a drop is not silent.
|
|
45236
|
+
*/
|
|
45237
|
+
var PackageLlmVerdictSchema = object({
|
|
45238
|
+
package: boolean(),
|
|
45239
|
+
confidence: number().min(0).max(1),
|
|
45240
|
+
reason: string().min(1)
|
|
45241
|
+
});
|
|
45242
|
+
/**
|
|
45226
45243
|
* A model choice has a SCOPE, and a scope change has a workflow.
|
|
45227
45244
|
*
|
|
45228
45245
|
* ## The two scopes
|
|
@@ -46159,6 +46176,21 @@ var ObjectEventSchema = object({
|
|
|
46159
46176
|
* pick-up written before D684 — UNKNOWN, never 0 and never `timestamp`.
|
|
46160
46177
|
*/
|
|
46161
46178
|
observedAt: number().optional(),
|
|
46179
|
+
/**
|
|
46180
|
+
* The delivery was emitted without a vision-model yes (D931).
|
|
46181
|
+
*
|
|
46182
|
+
* Set only when the packages rule asked for an LLM confirm and the model
|
|
46183
|
+
* was unreachable, timed out, or answered something that did not parse.
|
|
46184
|
+
* A notification reads it so it can say "possible" instead of a definite
|
|
46185
|
+
* delivery. Absent on every other row, and on a confirm that said yes.
|
|
46186
|
+
*/
|
|
46187
|
+
packagePossible: boolean().optional(),
|
|
46188
|
+
/**
|
|
46189
|
+
* The vision model's verdict, when a packages rule asked for one and the
|
|
46190
|
+
* model answered the schema (D931). A "no" never becomes a row — the
|
|
46191
|
+
* detector drops it and logs the reason. Present on a yes.
|
|
46192
|
+
*/
|
|
46193
|
+
packageLlmVerdict: PackageLlmVerdictSchema.optional(),
|
|
46162
46194
|
/** The parent track's key-event importance [0,1], propagated to every object
|
|
46163
46195
|
* event of the track (so an event row can be sorted by importance without a
|
|
46164
46196
|
* track join). Absent on legacy rows / before the track was scored. */
|
|
@@ -48366,11 +48398,18 @@ var KeptReasonSchema = _enum(["custom-pin"]);
|
|
|
48366
48398
|
* Where a choice's latency came from (D791): this node's own benchmark
|
|
48367
48399
|
* result, or the hardware-class table. Measured on the node beats the table.
|
|
48368
48400
|
*/
|
|
48369
|
-
var LatencySourceSchema = discriminatedUnion("kind", [
|
|
48370
|
-
kind: literal("
|
|
48371
|
-
|
|
48372
|
-
|
|
48373
|
-
|
|
48401
|
+
var LatencySourceSchema = discriminatedUnion("kind", [
|
|
48402
|
+
object({ kind: literal("table") }),
|
|
48403
|
+
object({
|
|
48404
|
+
kind: literal("node-benchmark"),
|
|
48405
|
+
resultId: string(),
|
|
48406
|
+
measuredAtMs: number()
|
|
48407
|
+
}),
|
|
48408
|
+
object({
|
|
48409
|
+
kind: literal("estimated"),
|
|
48410
|
+
estimatedFrom: HardwareClassIdSchema
|
|
48411
|
+
})
|
|
48412
|
+
]);
|
|
48374
48413
|
var DeviceModelChoiceSchema = object({
|
|
48375
48414
|
modelId: string(),
|
|
48376
48415
|
p50Ms: number(),
|
|
@@ -48378,6 +48417,11 @@ var DeviceModelChoiceSchema = object({
|
|
|
48378
48417
|
measured: boolean(),
|
|
48379
48418
|
/** Absent on a plan from before D791 — read as the table. */
|
|
48380
48419
|
source: LatencySourceSchema.optional(),
|
|
48420
|
+
/**
|
|
48421
|
+
* The measured class this latency was scaled from (D930). Absent when the
|
|
48422
|
+
* cell is the table or a node benchmark.
|
|
48423
|
+
*/
|
|
48424
|
+
estimatedFrom: HardwareClassIdSchema.optional(),
|
|
48381
48425
|
/** Parallel sessions at the camera rate with the headroom kept free: ⌊fps × (1 − headroom) / camera fps⌋. */
|
|
48382
48426
|
capacitySessions: number(),
|
|
48383
48427
|
personRecall: number()
|
|
@@ -58669,6 +58713,30 @@ includeCrops: boolean().optional() }).optional(), array(VehicleSchema).readonly(
|
|
|
58669
58713
|
kind: "mutation",
|
|
58670
58714
|
auth: "admin"
|
|
58671
58715
|
});
|
|
58716
|
+
var CORE_ULTRA_265K_IGPU_CLOCK_MHZ = 2e3;
|
|
58717
|
+
var positiveOrNull = number().nullable().transform((value) => value !== null && Number.isFinite(value) && value > 0 ? value : null);
|
|
58718
|
+
var textOrNull = string().nullable().transform((value) => value !== null && value.trim() !== "" ? value : null);
|
|
58719
|
+
var PrecisionGopsSchema = object({
|
|
58720
|
+
int8: positiveOrNull,
|
|
58721
|
+
fp16: positiveOrNull
|
|
58722
|
+
});
|
|
58723
|
+
/** What one accelerator device reported. Every failed query is null. */
|
|
58724
|
+
var AcceleratorComputeSchema = object({
|
|
58725
|
+
deviceKey: string(),
|
|
58726
|
+
fullDeviceName: textOrNull,
|
|
58727
|
+
executionUnits: positiveOrNull,
|
|
58728
|
+
clockMHz: positiveOrNull,
|
|
58729
|
+
gops: PrecisionGopsSchema.nullable(),
|
|
58730
|
+
architecture: textOrNull,
|
|
58731
|
+
npuName: textOrNull,
|
|
58732
|
+
tops: positiveOrNull,
|
|
58733
|
+
vendor: textOrNull,
|
|
58734
|
+
webgpuArchitecture: textOrNull,
|
|
58735
|
+
webgpuDevice: textOrNull,
|
|
58736
|
+
computeUnits: positiveOrNull
|
|
58737
|
+
});
|
|
58738
|
+
object({ accelerators: array(AcceleratorComputeSchema).nullable() });
|
|
58739
|
+
64 * CORE_ULTRA_265K_IGPU_CLOCK_MHZ;
|
|
58672
58740
|
var ModelFormatSchema = _enum(MODEL_FORMATS);
|
|
58673
58741
|
var HwAccelBackendInputSchema = _enum([
|
|
58674
58742
|
"videotoolbox",
|
|
@@ -58782,7 +58850,12 @@ var HardwareInfoSchema = object({
|
|
|
58782
58850
|
availableRAM_MB: number(),
|
|
58783
58851
|
gpu: GpuInfoSchema.nullable(),
|
|
58784
58852
|
npu: NpuInfoSchema.nullable(),
|
|
58785
|
-
coral: CoralInfoSchema.nullable().optional()
|
|
58853
|
+
coral: CoralInfoSchema.nullable().optional(),
|
|
58854
|
+
/**
|
|
58855
|
+
* Per-accelerator compute (D930). Omitted by a node that has not probed it.
|
|
58856
|
+
* `null` fields inside an entry are a failed query, never a zero.
|
|
58857
|
+
*/
|
|
58858
|
+
accelerators: array(AcceleratorComputeSchema).readonly().optional()
|
|
58786
58859
|
});
|
|
58787
58860
|
var PlatformScoreSchema = object({
|
|
58788
58861
|
runtime: literal("python"),
|
|
@@ -59315,6 +59388,22 @@ DeviceType.Camera, method(object({ deviceId: number() }), PtzAutotrackStatusSche
|
|
|
59315
59388
|
deviceId: number(),
|
|
59316
59389
|
status: PtzAutotrackStatusSchema
|
|
59317
59390
|
});
|
|
59391
|
+
var RunningStateSourceSchema = _enum(["native", "assigned"]);
|
|
59392
|
+
object({
|
|
59393
|
+
/** null = unknown — never coerced to false (D393). */
|
|
59394
|
+
running: boolean().nullable(),
|
|
59395
|
+
/** Epoch ms the current boolean began; null while `running` is null. */
|
|
59396
|
+
since: number().nullable(),
|
|
59397
|
+
source: RunningStateSourceSchema,
|
|
59398
|
+
phase: string().nullable(),
|
|
59399
|
+
lastFetchedAt: number()
|
|
59400
|
+
});
|
|
59401
|
+
object({
|
|
59402
|
+
deviceId: number(),
|
|
59403
|
+
since: number().nullable(),
|
|
59404
|
+
phase: string().nullable()
|
|
59405
|
+
});
|
|
59406
|
+
Object.values(DeviceType);
|
|
59318
59407
|
DeviceType.Camera, DeviceType.Sensor, DeviceType.Switch, method(object({ deviceId: number().int().nonnegative() }), object({ success: literal(true) }), {
|
|
59319
59408
|
kind: "mutation",
|
|
59320
59409
|
auth: "admin"
|
|
@@ -61154,7 +61243,20 @@ var ZoneRuleSchema = object({
|
|
|
61154
61243
|
* Defaults to `true` so operators creating a rule via the UI
|
|
61155
61244
|
* see it active immediately.
|
|
61156
61245
|
*/
|
|
61157
|
-
enabled: boolean().default(true)
|
|
61246
|
+
enabled: boolean().default(true),
|
|
61247
|
+
/**
|
|
61248
|
+
* Package stage only. When true, a package candidate may open from a
|
|
61249
|
+
* scene difference in this rule's zone after a person leaves. The
|
|
61250
|
+
* package model, when it boxes something overlapping, is extra evidence
|
|
61251
|
+
* and is not the gate. Absent or false keeps today's model path.
|
|
61252
|
+
*/
|
|
61253
|
+
detectBySceneDifference: boolean().optional(),
|
|
61254
|
+
/**
|
|
61255
|
+
* Package stage only. When true, a promoted package is shown to the
|
|
61256
|
+
* `llm` cap before the delivery event is emitted. Absent or false emits
|
|
61257
|
+
* as today. Usable with or without `detectBySceneDifference`.
|
|
61258
|
+
*/
|
|
61259
|
+
confirmWithLlm: boolean().optional()
|
|
61158
61260
|
});
|
|
61159
61261
|
array(ZoneRuleSchema).readonly();
|
|
61160
61262
|
object({
|
|
@@ -70912,6 +71014,13 @@ Object.freeze({
|
|
|
70912
71014
|
access: "create",
|
|
70913
71015
|
role: "admin"
|
|
70914
71016
|
},
|
|
71017
|
+
"runningState.getStatus": {
|
|
71018
|
+
capName: "running-state",
|
|
71019
|
+
capScope: "device",
|
|
71020
|
+
addonId: null,
|
|
71021
|
+
access: "view",
|
|
71022
|
+
role: "viewer"
|
|
71023
|
+
},
|
|
70915
71024
|
"sceneMonitor.captureReference": {
|
|
70916
71025
|
capName: "scene-monitor",
|
|
70917
71026
|
capScope: "device",
|
|
@@ -75626,6 +75735,32 @@ var APPLIANCE_CAP_VOCABULARY = {
|
|
|
75626
75735
|
}],
|
|
75627
75736
|
events: { onSent: { notOperatorFacing: "a delivery receipt of a send this system made — not a fact about the world" } }
|
|
75628
75737
|
},
|
|
75738
|
+
"running-state": {
|
|
75739
|
+
scope: "device",
|
|
75740
|
+
noun: t("Running", "In funzione"),
|
|
75741
|
+
state: [{
|
|
75742
|
+
kind: "boolean",
|
|
75743
|
+
field: "running",
|
|
75744
|
+
label: t("Running", "In funzione"),
|
|
75745
|
+
whenTrue: t("When {device} starts", "Quando {device} inizia"),
|
|
75746
|
+
whenFalse: t("When {device} finishes", "Quando {device} finisce"),
|
|
75747
|
+
icon: "play"
|
|
75748
|
+
}],
|
|
75749
|
+
events: {
|
|
75750
|
+
onStarted: {
|
|
75751
|
+
category: EventCategory.RunningStarted,
|
|
75752
|
+
label: t("Started running", "Ha iniziato a funzionare"),
|
|
75753
|
+
phrase: t("When {device} starts running", "Quando {device} inizia a funzionare"),
|
|
75754
|
+
icon: "play"
|
|
75755
|
+
},
|
|
75756
|
+
onFinished: {
|
|
75757
|
+
category: EventCategory.RunningFinished,
|
|
75758
|
+
label: t("Finished", "Ha finito"),
|
|
75759
|
+
phrase: t("When {device} finishes", "Quando {device} finisce"),
|
|
75760
|
+
icon: "square"
|
|
75761
|
+
}
|
|
75762
|
+
}
|
|
75763
|
+
},
|
|
75629
75764
|
update: {
|
|
75630
75765
|
scope: "device",
|
|
75631
75766
|
noun: t("Firmware update", "Aggiornamento firmware"),
|
|
@@ -79166,6 +79301,11 @@ Object.freeze({
|
|
|
79166
79301
|
form: "single",
|
|
79167
79302
|
optional: true
|
|
79168
79303
|
}],
|
|
79304
|
+
"runningState.getStatus": [{
|
|
79305
|
+
name: "deviceId",
|
|
79306
|
+
form: "single",
|
|
79307
|
+
optional: false
|
|
79308
|
+
}],
|
|
79169
79309
|
"sceneMonitor.captureReference": [{
|
|
79170
79310
|
name: "deviceId",
|
|
79171
79311
|
form: "single",
|
|
@@ -79716,40 +79856,7 @@ var NC_AUDIO_DEFAULTS = {
|
|
|
79716
79856
|
samplingSeconds: 10
|
|
79717
79857
|
};
|
|
79718
79858
|
new Set(["devices", "classes"]);
|
|
79719
|
-
|
|
79720
|
-
* WHICH narrowing filter speaks about WHICH system-event kind — one predicate,
|
|
79721
|
-
* consumed by the rule ENGINE and by every rule EDITOR.
|
|
79722
|
-
*
|
|
79723
|
-
* ── The failure this file exists for ───────────────────────────────────────
|
|
79724
|
-
* `NcSystemEventConditionSchema` carries four optional narrowing lists
|
|
79725
|
-
* (`deviceIds`, `deviceTypes`, `nodeIds`, `packageNames`) beside a required
|
|
79726
|
-
* `kinds` gate. They are not four filters over one vocabulary: each belongs to
|
|
79727
|
-
* a FAMILY of kinds and is meaningless outside it. A node going away has no
|
|
79728
|
-
* device type; a completed export has no package; `stream-offline` deliberately
|
|
79729
|
-
* carries no device type at all (a stream belongs to a camera by construction).
|
|
79730
|
-
*
|
|
79731
|
-
* The engine applied all four to every kind, so a filter from one family failed
|
|
79732
|
-
* a kind from another family CLOSED. The operator's live rule "Eventi di
|
|
79733
|
-
* sistema" selected eleven kinds and set `deviceTypes: ['camera']` — the only
|
|
79734
|
-
* way to say "only my cameras" about the two liveness kinds — and NINE of the
|
|
79735
|
-
* eleven silently stopped being deliverable. Four days of history contained
|
|
79736
|
-
* `device-online` and `device-offline` and nothing else, across a window in
|
|
79737
|
-
* which agents were restarted and addons were updated.
|
|
79738
|
-
*
|
|
79739
|
-
* Both editors already computed this scoping, to decide which filter boxes to
|
|
79740
|
-
* render; the cap's own docblock already promised it ("Narrow a `device-*` kind
|
|
79741
|
-
* to these device TYPES"). Only the engine disagreed, and it disagreed in the
|
|
79742
|
-
* destructive direction. So the rule is stated ONCE, here, and the engine and
|
|
79743
|
-
* the editors are readers of it rather than three independent authors.
|
|
79744
|
-
*
|
|
79745
|
-
* ── The direction ─────────────────────────────────────────────────────────
|
|
79746
|
-
* Out of family ⇒ the filter is IGNORED, never fail-closed. An editor that
|
|
79747
|
-
* hides a box has already told the operator this filter does not speak about
|
|
79748
|
-
* these kinds, so honouring it as an exclusion contradicts the only
|
|
79749
|
-
* explanation the operator was ever given. Inside its family the filter still
|
|
79750
|
-
* narrows, and still fails CLOSED on a subject that cannot produce the identity
|
|
79751
|
-
* it tests (a device the mirror cannot name is not evidence of a camera).
|
|
79752
|
-
*/
|
|
79859
|
+
new Set(NC_LEGACY_SYSTEM_EVENT_KINDS);
|
|
79753
79860
|
/**
|
|
79754
79861
|
* Every filter, for the callers that must cover all of them (guards, tests).
|
|
79755
79862
|
*
|
|
@@ -79775,9 +79882,6 @@ new Map(Object.entries({
|
|
|
79775
79882
|
"device-battery-normal": "device-events",
|
|
79776
79883
|
"device-consumable-low": "device-events",
|
|
79777
79884
|
"device-consumable-normal": "device-events",
|
|
79778
|
-
"device-tank-low": "device-events",
|
|
79779
|
-
"device-tank-full": "device-events",
|
|
79780
|
-
"device-tank-normal": "device-events",
|
|
79781
79885
|
"stream-online": "device-events",
|
|
79782
79886
|
"stream-offline": "device-events",
|
|
79783
79887
|
"detection-blind": "device-events",
|
|
@@ -79854,16 +79958,6 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
79854
79958
|
label: "Consumables",
|
|
79855
79959
|
kinds: ["device-consumable-low", "device-consumable-normal"]
|
|
79856
79960
|
},
|
|
79857
|
-
{
|
|
79858
|
-
id: "tanks",
|
|
79859
|
-
family: "device-events",
|
|
79860
|
-
label: "Tanks",
|
|
79861
|
-
kinds: [
|
|
79862
|
-
"device-tank-low",
|
|
79863
|
-
"device-tank-full",
|
|
79864
|
-
"device-tank-normal"
|
|
79865
|
-
]
|
|
79866
|
-
},
|
|
79867
79961
|
{
|
|
79868
79962
|
id: "detection-blind",
|
|
79869
79963
|
family: "device-events",
|
|
@@ -80101,11 +80195,6 @@ var RULE_BODY_ONLY = ["body"];
|
|
|
80101
80195
|
var RULE_TEXT = ["title", "body"];
|
|
80102
80196
|
var BATTERY = ["device-battery-low", "device-battery-normal"];
|
|
80103
80197
|
var CONSUMABLE = ["device-consumable-low", "device-consumable-normal"];
|
|
80104
|
-
var TANK = [
|
|
80105
|
-
"device-tank-low",
|
|
80106
|
-
"device-tank-full",
|
|
80107
|
-
"device-tank-normal"
|
|
80108
|
-
];
|
|
80109
80198
|
var ALERT_EPISODE = [
|
|
80110
80199
|
"alert-critical",
|
|
80111
80200
|
"alert-error",
|
|
@@ -80137,7 +80226,6 @@ var DEVICE_EVENTS = [
|
|
|
80137
80226
|
"device-enabled",
|
|
80138
80227
|
...BATTERY,
|
|
80139
80228
|
...CONSUMABLE,
|
|
80140
|
-
...TANK,
|
|
80141
80229
|
"stream-online",
|
|
80142
80230
|
"stream-offline",
|
|
80143
80231
|
"detection-blind",
|
|
@@ -80183,12 +80271,6 @@ var STATE_SUMMARY_SECTION_VARS = [
|
|
|
80183
80271
|
example: "Robot — filter 10 %",
|
|
80184
80272
|
kinds: CONSUMABLE
|
|
80185
80273
|
},
|
|
80186
|
-
{
|
|
80187
|
-
name: "summaryTanks",
|
|
80188
|
-
label: "Summary: tanks",
|
|
80189
|
-
example: "Robot — clean water low",
|
|
80190
|
-
kinds: TANK
|
|
80191
|
-
},
|
|
80192
80274
|
{
|
|
80193
80275
|
name: "summaryDetection",
|
|
80194
80276
|
label: "Summary: cameras detecting nothing",
|
|
@@ -80304,8 +80386,7 @@ var STATE_SUMMARY_VARS = [
|
|
|
80304
80386
|
([...RULE_TEXT], [...COMBINED_ALARM]),
|
|
80305
80387
|
([...RULE_TEXT], [...DEVICE_EVENTS]),
|
|
80306
80388
|
([...RULE_TEXT], [...BATTERY, ...CONSUMABLE]),
|
|
80307
|
-
([...RULE_TEXT], [...CONSUMABLE
|
|
80308
|
-
([...RULE_TEXT], [...TANK]),
|
|
80389
|
+
([...RULE_TEXT], [...CONSUMABLE]),
|
|
80309
80390
|
[...RULE_TEXT],
|
|
80310
80391
|
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|
|
80311
80392
|
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|
|
@@ -80409,15 +80490,6 @@ new Map([
|
|
|
80409
80490
|
snapshotLabel: "Consumables low now",
|
|
80410
80491
|
snapshotSection: "consumables"
|
|
80411
80492
|
},
|
|
80412
|
-
{
|
|
80413
|
-
id: "tanks",
|
|
80414
|
-
family: "device-events",
|
|
80415
|
-
label: "Tanks (low or full / back to normal)",
|
|
80416
|
-
bad: ["device-tank-low", "device-tank-full"],
|
|
80417
|
-
recovery: ["device-tank-normal"],
|
|
80418
|
-
snapshotLabel: "Tanks low or full now",
|
|
80419
|
-
snapshotSection: "tanks"
|
|
80420
|
-
},
|
|
80421
80493
|
{
|
|
80422
80494
|
id: "motion-noise",
|
|
80423
80495
|
family: "device-events",
|
|
@@ -80819,6 +80891,10 @@ TimelapseRuleInputSchema.extend({
|
|
|
80819
80891
|
updatedAt: number()
|
|
80820
80892
|
});
|
|
80821
80893
|
MotionOnMotionChangedDataSchema.omit({ triggeredBy: true });
|
|
80894
|
+
Object.freeze({
|
|
80895
|
+
person: .8,
|
|
80896
|
+
vehicle: .8
|
|
80897
|
+
});
|
|
80822
80898
|
object({
|
|
80823
80899
|
/**
|
|
80824
80900
|
* Fraction of the box's own size added on EACH side before cutting.
|
|
@@ -83417,6 +83493,25 @@ var CAP_STATE_LEAVES = Object.freeze({
|
|
|
83417
83493
|
"path": "reason",
|
|
83418
83494
|
"valueType": "string"
|
|
83419
83495
|
}],
|
|
83496
|
+
"running-state": [
|
|
83497
|
+
{
|
|
83498
|
+
"path": "running",
|
|
83499
|
+
"valueType": "boolean"
|
|
83500
|
+
},
|
|
83501
|
+
{
|
|
83502
|
+
"path": "since",
|
|
83503
|
+
"valueType": "number"
|
|
83504
|
+
},
|
|
83505
|
+
{
|
|
83506
|
+
"path": "source",
|
|
83507
|
+
"valueType": "enum",
|
|
83508
|
+
"enumValues": ["native", "assigned"]
|
|
83509
|
+
},
|
|
83510
|
+
{
|
|
83511
|
+
"path": "phase",
|
|
83512
|
+
"valueType": "string"
|
|
83513
|
+
}
|
|
83514
|
+
],
|
|
83420
83515
|
"script-runner": [
|
|
83421
83516
|
{
|
|
83422
83517
|
"path": "isRunning",
|