@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
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region ../types/dist/event-category-
|
|
1
|
+
//#region ../types/dist/event-category-Ceif8n-v.mjs
|
|
2
2
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
3
3
|
EventCategory["SystemBoot"] = "system.boot";
|
|
4
4
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -470,6 +470,10 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
470
470
|
* on the device detail page.
|
|
471
471
|
*/
|
|
472
472
|
EventCategory["DoorbellOnPressed"] = "doorbell.onPressed";
|
|
473
|
+
/** Mirrors `runningStateCapability.events.onStarted`. */
|
|
474
|
+
EventCategory["RunningStarted"] = "running.started";
|
|
475
|
+
/** Mirrors `runningStateCapability.events.onFinished`. */
|
|
476
|
+
EventCategory["RunningFinished"] = "running.finished";
|
|
473
477
|
/**
|
|
474
478
|
* Cap event fired by every device that registers the `event-emitter`
|
|
475
479
|
* capability. Mirrors `eventEmitterCapability.events.onEvent`. Carries
|
|
@@ -5429,7 +5433,7 @@ var ZodIssueCode = {
|
|
|
5429
5433
|
var ZodFirstPartyTypeKind;
|
|
5430
5434
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5431
5435
|
//#endregion
|
|
5432
|
-
//#region ../types/dist/sleep-
|
|
5436
|
+
//#region ../types/dist/sleep-CYfIZzGv.mjs
|
|
5433
5437
|
/**
|
|
5434
5438
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5435
5439
|
* window to float samples (D455).
|
|
@@ -5768,7 +5772,7 @@ Object.fromEntries([
|
|
|
5768
5772
|
* `hydrateSchema` to skip the `value` injection for structural-only fields.
|
|
5769
5773
|
*/
|
|
5770
5774
|
function isValuelessField(field) {
|
|
5771
|
-
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";
|
|
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" || field.type === "account-sign-in" || field.type === "secret-presence";
|
|
5772
5776
|
}
|
|
5773
5777
|
function hydrateSchema(schema, values, options = {}) {
|
|
5774
5778
|
return {
|
|
@@ -8729,7 +8733,7 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
|
|
|
8729
8733
|
return DeviceRole;
|
|
8730
8734
|
}({});
|
|
8731
8735
|
//#endregion
|
|
8732
|
-
//#region ../types/dist/composition-
|
|
8736
|
+
//#region ../types/dist/composition-xz-ud5EQ.mjs
|
|
8733
8737
|
/**
|
|
8734
8738
|
* The ffmpeg build every CamStack node downloads, per platform and arch.
|
|
8735
8739
|
*
|
|
@@ -9030,6 +9034,20 @@ var table = {
|
|
|
9030
9034
|
apply: () => {
|
|
9031
9035
|
throw new ExpressionEvalError("count: stateful evaluation context is required");
|
|
9032
9036
|
}
|
|
9037
|
+
},
|
|
9038
|
+
dwell: {
|
|
9039
|
+
minArgs: 3,
|
|
9040
|
+
maxArgs: 3,
|
|
9041
|
+
apply: () => {
|
|
9042
|
+
throw new ExpressionEvalError("dwell: stateful evaluation context is required");
|
|
9043
|
+
}
|
|
9044
|
+
},
|
|
9045
|
+
latchedAt: {
|
|
9046
|
+
minArgs: 1,
|
|
9047
|
+
maxArgs: 1,
|
|
9048
|
+
apply: () => {
|
|
9049
|
+
throw new ExpressionEvalError("latchedAt: stateful evaluation context is required");
|
|
9050
|
+
}
|
|
9033
9051
|
}
|
|
9034
9052
|
};
|
|
9035
9053
|
Object.freeze(Object.assign(Object.create(null), table));
|
|
@@ -15890,7 +15908,15 @@ Object.freeze({
|
|
|
15890
15908
|
kind: "fixed",
|
|
15891
15909
|
result: ["number", "null"]
|
|
15892
15910
|
},
|
|
15893
|
-
count: NUMBER
|
|
15911
|
+
count: NUMBER,
|
|
15912
|
+
dwell: {
|
|
15913
|
+
kind: "fixed",
|
|
15914
|
+
result: ["boolean", "null"]
|
|
15915
|
+
},
|
|
15916
|
+
latchedAt: {
|
|
15917
|
+
kind: "fixed",
|
|
15918
|
+
result: ["number", "null"]
|
|
15919
|
+
}
|
|
15894
15920
|
});
|
|
15895
15921
|
`${COMPOSED_DEVICE_STABLE_ID_PREFIX}`;
|
|
15896
15922
|
/**
|
|
@@ -42129,9 +42155,6 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42129
42155
|
"device-battery-normal",
|
|
42130
42156
|
"device-consumable-low",
|
|
42131
42157
|
"device-consumable-normal",
|
|
42132
|
-
"device-tank-low",
|
|
42133
|
-
"device-tank-full",
|
|
42134
|
-
"device-tank-normal",
|
|
42135
42158
|
"stream-online",
|
|
42136
42159
|
"stream-offline",
|
|
42137
42160
|
"node-online",
|
|
@@ -42178,13 +42201,14 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42178
42201
|
"camera-enabled"
|
|
42179
42202
|
]);
|
|
42180
42203
|
/** The legacy tail of {@link NcSystemEventKindSchema} — see its docblock. */
|
|
42181
|
-
var NC_LEGACY_SYSTEM_EVENT_KINDS =
|
|
42204
|
+
var NC_LEGACY_SYSTEM_EVENT_KINDS = [
|
|
42182
42205
|
"camera-online",
|
|
42183
42206
|
"camera-offline",
|
|
42184
42207
|
"camera-disabled",
|
|
42185
42208
|
"camera-enabled"
|
|
42186
|
-
]
|
|
42187
|
-
|
|
42209
|
+
];
|
|
42210
|
+
var NC_LEGACY_SYSTEM_EVENT_KIND_SET = new Set(NC_LEGACY_SYSTEM_EVENT_KINDS);
|
|
42211
|
+
NcSystemEventKindSchema.options.filter((kind) => !NC_LEGACY_SYSTEM_EVENT_KIND_SET.has(kind));
|
|
42188
42212
|
/**
|
|
42189
42213
|
* The panel's transitions, as ONE list.
|
|
42190
42214
|
*
|
|
@@ -43303,18 +43327,11 @@ var NcRuleSchema = NcRuleInputSchema.extend({
|
|
|
43303
43327
|
*/
|
|
43304
43328
|
disabledTargetIds: array(string()).default([])
|
|
43305
43329
|
});
|
|
43306
|
-
/**
|
|
43307
|
-
* The state-summary SECTIONS (D647 / D698 / D708): the D637 kind groups that
|
|
43308
|
-
* report a still-true state. `addons` is the crash-looped addons only and
|
|
43309
|
-
* `addon-updates` the addons that are behind (D708 split them). `backups-exports` and `alarm` are not sections — a completed
|
|
43310
|
-
* job is not an open state, and the alarm stays instant.
|
|
43311
|
-
*/
|
|
43312
43330
|
var NcStateSummarySectionIdSchema = _enum([
|
|
43313
43331
|
"device-state",
|
|
43314
43332
|
"streams",
|
|
43315
43333
|
"battery",
|
|
43316
43334
|
"consumables",
|
|
43317
|
-
"tanks",
|
|
43318
43335
|
"detection-blind",
|
|
43319
43336
|
"nodes",
|
|
43320
43337
|
"addons",
|
|
@@ -43695,18 +43712,6 @@ var NC_CONDITION_CATALOG = [
|
|
|
43695
43712
|
value: "device-consumable-normal",
|
|
43696
43713
|
label: "Consumable replaced"
|
|
43697
43714
|
},
|
|
43698
|
-
{
|
|
43699
|
-
value: "device-tank-low",
|
|
43700
|
-
label: "Tank low (water, detergent)"
|
|
43701
|
-
},
|
|
43702
|
-
{
|
|
43703
|
-
value: "device-tank-full",
|
|
43704
|
-
label: "Tank full (dirty water, dust)"
|
|
43705
|
-
},
|
|
43706
|
-
{
|
|
43707
|
-
value: "device-tank-normal",
|
|
43708
|
-
label: "Tank back to normal"
|
|
43709
|
-
},
|
|
43710
43715
|
{
|
|
43711
43716
|
value: "export-completed",
|
|
43712
43717
|
label: "Export completed"
|
|
@@ -45219,6 +45224,18 @@ Object.freeze({
|
|
|
45219
45224
|
reason: "camera sensor mappings not loaded"
|
|
45220
45225
|
});
|
|
45221
45226
|
/**
|
|
45227
|
+
* What the vision model must answer before a package event is emitted
|
|
45228
|
+
* when a packages rule has "Confirm with the LLM" on.
|
|
45229
|
+
*
|
|
45230
|
+
* `package` is the verdict. `confidence` is 0..1. `reason` is the model's
|
|
45231
|
+
* one-line explanation, stored on the event so a drop is not silent.
|
|
45232
|
+
*/
|
|
45233
|
+
var PackageLlmVerdictSchema = object({
|
|
45234
|
+
package: boolean(),
|
|
45235
|
+
confidence: number().min(0).max(1),
|
|
45236
|
+
reason: string().min(1)
|
|
45237
|
+
});
|
|
45238
|
+
/**
|
|
45222
45239
|
* A model choice has a SCOPE, and a scope change has a workflow.
|
|
45223
45240
|
*
|
|
45224
45241
|
* ## The two scopes
|
|
@@ -46155,6 +46172,21 @@ var ObjectEventSchema = object({
|
|
|
46155
46172
|
* pick-up written before D684 — UNKNOWN, never 0 and never `timestamp`.
|
|
46156
46173
|
*/
|
|
46157
46174
|
observedAt: number().optional(),
|
|
46175
|
+
/**
|
|
46176
|
+
* The delivery was emitted without a vision-model yes (D931).
|
|
46177
|
+
*
|
|
46178
|
+
* Set only when the packages rule asked for an LLM confirm and the model
|
|
46179
|
+
* was unreachable, timed out, or answered something that did not parse.
|
|
46180
|
+
* A notification reads it so it can say "possible" instead of a definite
|
|
46181
|
+
* delivery. Absent on every other row, and on a confirm that said yes.
|
|
46182
|
+
*/
|
|
46183
|
+
packagePossible: boolean().optional(),
|
|
46184
|
+
/**
|
|
46185
|
+
* The vision model's verdict, when a packages rule asked for one and the
|
|
46186
|
+
* model answered the schema (D931). A "no" never becomes a row — the
|
|
46187
|
+
* detector drops it and logs the reason. Present on a yes.
|
|
46188
|
+
*/
|
|
46189
|
+
packageLlmVerdict: PackageLlmVerdictSchema.optional(),
|
|
46158
46190
|
/** The parent track's key-event importance [0,1], propagated to every object
|
|
46159
46191
|
* event of the track (so an event row can be sorted by importance without a
|
|
46160
46192
|
* track join). Absent on legacy rows / before the track was scored. */
|
|
@@ -48362,11 +48394,18 @@ var KeptReasonSchema = _enum(["custom-pin"]);
|
|
|
48362
48394
|
* Where a choice's latency came from (D791): this node's own benchmark
|
|
48363
48395
|
* result, or the hardware-class table. Measured on the node beats the table.
|
|
48364
48396
|
*/
|
|
48365
|
-
var LatencySourceSchema = discriminatedUnion("kind", [
|
|
48366
|
-
kind: literal("
|
|
48367
|
-
|
|
48368
|
-
|
|
48369
|
-
|
|
48397
|
+
var LatencySourceSchema = discriminatedUnion("kind", [
|
|
48398
|
+
object({ kind: literal("table") }),
|
|
48399
|
+
object({
|
|
48400
|
+
kind: literal("node-benchmark"),
|
|
48401
|
+
resultId: string(),
|
|
48402
|
+
measuredAtMs: number()
|
|
48403
|
+
}),
|
|
48404
|
+
object({
|
|
48405
|
+
kind: literal("estimated"),
|
|
48406
|
+
estimatedFrom: HardwareClassIdSchema
|
|
48407
|
+
})
|
|
48408
|
+
]);
|
|
48370
48409
|
var DeviceModelChoiceSchema = object({
|
|
48371
48410
|
modelId: string(),
|
|
48372
48411
|
p50Ms: number(),
|
|
@@ -48374,6 +48413,11 @@ var DeviceModelChoiceSchema = object({
|
|
|
48374
48413
|
measured: boolean(),
|
|
48375
48414
|
/** Absent on a plan from before D791 — read as the table. */
|
|
48376
48415
|
source: LatencySourceSchema.optional(),
|
|
48416
|
+
/**
|
|
48417
|
+
* The measured class this latency was scaled from (D930). Absent when the
|
|
48418
|
+
* cell is the table or a node benchmark.
|
|
48419
|
+
*/
|
|
48420
|
+
estimatedFrom: HardwareClassIdSchema.optional(),
|
|
48377
48421
|
/** Parallel sessions at the camera rate with the headroom kept free: ⌊fps × (1 − headroom) / camera fps⌋. */
|
|
48378
48422
|
capacitySessions: number(),
|
|
48379
48423
|
personRecall: number()
|
|
@@ -58665,6 +58709,30 @@ includeCrops: boolean().optional() }).optional(), array(VehicleSchema).readonly(
|
|
|
58665
58709
|
kind: "mutation",
|
|
58666
58710
|
auth: "admin"
|
|
58667
58711
|
});
|
|
58712
|
+
var CORE_ULTRA_265K_IGPU_CLOCK_MHZ = 2e3;
|
|
58713
|
+
var positiveOrNull = number().nullable().transform((value) => value !== null && Number.isFinite(value) && value > 0 ? value : null);
|
|
58714
|
+
var textOrNull = string().nullable().transform((value) => value !== null && value.trim() !== "" ? value : null);
|
|
58715
|
+
var PrecisionGopsSchema = object({
|
|
58716
|
+
int8: positiveOrNull,
|
|
58717
|
+
fp16: positiveOrNull
|
|
58718
|
+
});
|
|
58719
|
+
/** What one accelerator device reported. Every failed query is null. */
|
|
58720
|
+
var AcceleratorComputeSchema = object({
|
|
58721
|
+
deviceKey: string(),
|
|
58722
|
+
fullDeviceName: textOrNull,
|
|
58723
|
+
executionUnits: positiveOrNull,
|
|
58724
|
+
clockMHz: positiveOrNull,
|
|
58725
|
+
gops: PrecisionGopsSchema.nullable(),
|
|
58726
|
+
architecture: textOrNull,
|
|
58727
|
+
npuName: textOrNull,
|
|
58728
|
+
tops: positiveOrNull,
|
|
58729
|
+
vendor: textOrNull,
|
|
58730
|
+
webgpuArchitecture: textOrNull,
|
|
58731
|
+
webgpuDevice: textOrNull,
|
|
58732
|
+
computeUnits: positiveOrNull
|
|
58733
|
+
});
|
|
58734
|
+
object({ accelerators: array(AcceleratorComputeSchema).nullable() });
|
|
58735
|
+
64 * CORE_ULTRA_265K_IGPU_CLOCK_MHZ;
|
|
58668
58736
|
var ModelFormatSchema = _enum(MODEL_FORMATS);
|
|
58669
58737
|
var HwAccelBackendInputSchema = _enum([
|
|
58670
58738
|
"videotoolbox",
|
|
@@ -58778,7 +58846,12 @@ var HardwareInfoSchema = object({
|
|
|
58778
58846
|
availableRAM_MB: number(),
|
|
58779
58847
|
gpu: GpuInfoSchema.nullable(),
|
|
58780
58848
|
npu: NpuInfoSchema.nullable(),
|
|
58781
|
-
coral: CoralInfoSchema.nullable().optional()
|
|
58849
|
+
coral: CoralInfoSchema.nullable().optional(),
|
|
58850
|
+
/**
|
|
58851
|
+
* Per-accelerator compute (D930). Omitted by a node that has not probed it.
|
|
58852
|
+
* `null` fields inside an entry are a failed query, never a zero.
|
|
58853
|
+
*/
|
|
58854
|
+
accelerators: array(AcceleratorComputeSchema).readonly().optional()
|
|
58782
58855
|
});
|
|
58783
58856
|
var PlatformScoreSchema = object({
|
|
58784
58857
|
runtime: literal("python"),
|
|
@@ -59311,6 +59384,22 @@ DeviceType.Camera, method(object({ deviceId: number() }), PtzAutotrackStatusSche
|
|
|
59311
59384
|
deviceId: number(),
|
|
59312
59385
|
status: PtzAutotrackStatusSchema
|
|
59313
59386
|
});
|
|
59387
|
+
var RunningStateSourceSchema = _enum(["native", "assigned"]);
|
|
59388
|
+
object({
|
|
59389
|
+
/** null = unknown — never coerced to false (D393). */
|
|
59390
|
+
running: boolean().nullable(),
|
|
59391
|
+
/** Epoch ms the current boolean began; null while `running` is null. */
|
|
59392
|
+
since: number().nullable(),
|
|
59393
|
+
source: RunningStateSourceSchema,
|
|
59394
|
+
phase: string().nullable(),
|
|
59395
|
+
lastFetchedAt: number()
|
|
59396
|
+
});
|
|
59397
|
+
object({
|
|
59398
|
+
deviceId: number(),
|
|
59399
|
+
since: number().nullable(),
|
|
59400
|
+
phase: string().nullable()
|
|
59401
|
+
});
|
|
59402
|
+
Object.values(DeviceType);
|
|
59314
59403
|
DeviceType.Camera, DeviceType.Sensor, DeviceType.Switch, method(object({ deviceId: number().int().nonnegative() }), object({ success: literal(true) }), {
|
|
59315
59404
|
kind: "mutation",
|
|
59316
59405
|
auth: "admin"
|
|
@@ -61150,7 +61239,20 @@ var ZoneRuleSchema = object({
|
|
|
61150
61239
|
* Defaults to `true` so operators creating a rule via the UI
|
|
61151
61240
|
* see it active immediately.
|
|
61152
61241
|
*/
|
|
61153
|
-
enabled: boolean().default(true)
|
|
61242
|
+
enabled: boolean().default(true),
|
|
61243
|
+
/**
|
|
61244
|
+
* Package stage only. When true, a package candidate may open from a
|
|
61245
|
+
* scene difference in this rule's zone after a person leaves. The
|
|
61246
|
+
* package model, when it boxes something overlapping, is extra evidence
|
|
61247
|
+
* and is not the gate. Absent or false keeps today's model path.
|
|
61248
|
+
*/
|
|
61249
|
+
detectBySceneDifference: boolean().optional(),
|
|
61250
|
+
/**
|
|
61251
|
+
* Package stage only. When true, a promoted package is shown to the
|
|
61252
|
+
* `llm` cap before the delivery event is emitted. Absent or false emits
|
|
61253
|
+
* as today. Usable with or without `detectBySceneDifference`.
|
|
61254
|
+
*/
|
|
61255
|
+
confirmWithLlm: boolean().optional()
|
|
61154
61256
|
});
|
|
61155
61257
|
array(ZoneRuleSchema).readonly();
|
|
61156
61258
|
object({
|
|
@@ -70908,6 +71010,13 @@ Object.freeze({
|
|
|
70908
71010
|
access: "create",
|
|
70909
71011
|
role: "admin"
|
|
70910
71012
|
},
|
|
71013
|
+
"runningState.getStatus": {
|
|
71014
|
+
capName: "running-state",
|
|
71015
|
+
capScope: "device",
|
|
71016
|
+
addonId: null,
|
|
71017
|
+
access: "view",
|
|
71018
|
+
role: "viewer"
|
|
71019
|
+
},
|
|
70911
71020
|
"sceneMonitor.captureReference": {
|
|
70912
71021
|
capName: "scene-monitor",
|
|
70913
71022
|
capScope: "device",
|
|
@@ -75622,6 +75731,32 @@ var APPLIANCE_CAP_VOCABULARY = {
|
|
|
75622
75731
|
}],
|
|
75623
75732
|
events: { onSent: { notOperatorFacing: "a delivery receipt of a send this system made — not a fact about the world" } }
|
|
75624
75733
|
},
|
|
75734
|
+
"running-state": {
|
|
75735
|
+
scope: "device",
|
|
75736
|
+
noun: t("Running", "In funzione"),
|
|
75737
|
+
state: [{
|
|
75738
|
+
kind: "boolean",
|
|
75739
|
+
field: "running",
|
|
75740
|
+
label: t("Running", "In funzione"),
|
|
75741
|
+
whenTrue: t("When {device} starts", "Quando {device} inizia"),
|
|
75742
|
+
whenFalse: t("When {device} finishes", "Quando {device} finisce"),
|
|
75743
|
+
icon: "play"
|
|
75744
|
+
}],
|
|
75745
|
+
events: {
|
|
75746
|
+
onStarted: {
|
|
75747
|
+
category: EventCategory.RunningStarted,
|
|
75748
|
+
label: t("Started running", "Ha iniziato a funzionare"),
|
|
75749
|
+
phrase: t("When {device} starts running", "Quando {device} inizia a funzionare"),
|
|
75750
|
+
icon: "play"
|
|
75751
|
+
},
|
|
75752
|
+
onFinished: {
|
|
75753
|
+
category: EventCategory.RunningFinished,
|
|
75754
|
+
label: t("Finished", "Ha finito"),
|
|
75755
|
+
phrase: t("When {device} finishes", "Quando {device} finisce"),
|
|
75756
|
+
icon: "square"
|
|
75757
|
+
}
|
|
75758
|
+
}
|
|
75759
|
+
},
|
|
75625
75760
|
update: {
|
|
75626
75761
|
scope: "device",
|
|
75627
75762
|
noun: t("Firmware update", "Aggiornamento firmware"),
|
|
@@ -79162,6 +79297,11 @@ Object.freeze({
|
|
|
79162
79297
|
form: "single",
|
|
79163
79298
|
optional: true
|
|
79164
79299
|
}],
|
|
79300
|
+
"runningState.getStatus": [{
|
|
79301
|
+
name: "deviceId",
|
|
79302
|
+
form: "single",
|
|
79303
|
+
optional: false
|
|
79304
|
+
}],
|
|
79165
79305
|
"sceneMonitor.captureReference": [{
|
|
79166
79306
|
name: "deviceId",
|
|
79167
79307
|
form: "single",
|
|
@@ -79712,40 +79852,7 @@ var NC_AUDIO_DEFAULTS = {
|
|
|
79712
79852
|
samplingSeconds: 10
|
|
79713
79853
|
};
|
|
79714
79854
|
new Set(["devices", "classes"]);
|
|
79715
|
-
|
|
79716
|
-
* WHICH narrowing filter speaks about WHICH system-event kind — one predicate,
|
|
79717
|
-
* consumed by the rule ENGINE and by every rule EDITOR.
|
|
79718
|
-
*
|
|
79719
|
-
* ── The failure this file exists for ───────────────────────────────────────
|
|
79720
|
-
* `NcSystemEventConditionSchema` carries four optional narrowing lists
|
|
79721
|
-
* (`deviceIds`, `deviceTypes`, `nodeIds`, `packageNames`) beside a required
|
|
79722
|
-
* `kinds` gate. They are not four filters over one vocabulary: each belongs to
|
|
79723
|
-
* a FAMILY of kinds and is meaningless outside it. A node going away has no
|
|
79724
|
-
* device type; a completed export has no package; `stream-offline` deliberately
|
|
79725
|
-
* carries no device type at all (a stream belongs to a camera by construction).
|
|
79726
|
-
*
|
|
79727
|
-
* The engine applied all four to every kind, so a filter from one family failed
|
|
79728
|
-
* a kind from another family CLOSED. The operator's live rule "Eventi di
|
|
79729
|
-
* sistema" selected eleven kinds and set `deviceTypes: ['camera']` — the only
|
|
79730
|
-
* way to say "only my cameras" about the two liveness kinds — and NINE of the
|
|
79731
|
-
* eleven silently stopped being deliverable. Four days of history contained
|
|
79732
|
-
* `device-online` and `device-offline` and nothing else, across a window in
|
|
79733
|
-
* which agents were restarted and addons were updated.
|
|
79734
|
-
*
|
|
79735
|
-
* Both editors already computed this scoping, to decide which filter boxes to
|
|
79736
|
-
* render; the cap's own docblock already promised it ("Narrow a `device-*` kind
|
|
79737
|
-
* to these device TYPES"). Only the engine disagreed, and it disagreed in the
|
|
79738
|
-
* destructive direction. So the rule is stated ONCE, here, and the engine and
|
|
79739
|
-
* the editors are readers of it rather than three independent authors.
|
|
79740
|
-
*
|
|
79741
|
-
* ── The direction ─────────────────────────────────────────────────────────
|
|
79742
|
-
* Out of family ⇒ the filter is IGNORED, never fail-closed. An editor that
|
|
79743
|
-
* hides a box has already told the operator this filter does not speak about
|
|
79744
|
-
* these kinds, so honouring it as an exclusion contradicts the only
|
|
79745
|
-
* explanation the operator was ever given. Inside its family the filter still
|
|
79746
|
-
* narrows, and still fails CLOSED on a subject that cannot produce the identity
|
|
79747
|
-
* it tests (a device the mirror cannot name is not evidence of a camera).
|
|
79748
|
-
*/
|
|
79855
|
+
new Set(NC_LEGACY_SYSTEM_EVENT_KINDS);
|
|
79749
79856
|
/**
|
|
79750
79857
|
* Every filter, for the callers that must cover all of them (guards, tests).
|
|
79751
79858
|
*
|
|
@@ -79771,9 +79878,6 @@ new Map(Object.entries({
|
|
|
79771
79878
|
"device-battery-normal": "device-events",
|
|
79772
79879
|
"device-consumable-low": "device-events",
|
|
79773
79880
|
"device-consumable-normal": "device-events",
|
|
79774
|
-
"device-tank-low": "device-events",
|
|
79775
|
-
"device-tank-full": "device-events",
|
|
79776
|
-
"device-tank-normal": "device-events",
|
|
79777
79881
|
"stream-online": "device-events",
|
|
79778
79882
|
"stream-offline": "device-events",
|
|
79779
79883
|
"detection-blind": "device-events",
|
|
@@ -79850,16 +79954,6 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
79850
79954
|
label: "Consumables",
|
|
79851
79955
|
kinds: ["device-consumable-low", "device-consumable-normal"]
|
|
79852
79956
|
},
|
|
79853
|
-
{
|
|
79854
|
-
id: "tanks",
|
|
79855
|
-
family: "device-events",
|
|
79856
|
-
label: "Tanks",
|
|
79857
|
-
kinds: [
|
|
79858
|
-
"device-tank-low",
|
|
79859
|
-
"device-tank-full",
|
|
79860
|
-
"device-tank-normal"
|
|
79861
|
-
]
|
|
79862
|
-
},
|
|
79863
79957
|
{
|
|
79864
79958
|
id: "detection-blind",
|
|
79865
79959
|
family: "device-events",
|
|
@@ -80097,11 +80191,6 @@ var RULE_BODY_ONLY = ["body"];
|
|
|
80097
80191
|
var RULE_TEXT = ["title", "body"];
|
|
80098
80192
|
var BATTERY = ["device-battery-low", "device-battery-normal"];
|
|
80099
80193
|
var CONSUMABLE = ["device-consumable-low", "device-consumable-normal"];
|
|
80100
|
-
var TANK = [
|
|
80101
|
-
"device-tank-low",
|
|
80102
|
-
"device-tank-full",
|
|
80103
|
-
"device-tank-normal"
|
|
80104
|
-
];
|
|
80105
80194
|
var ALERT_EPISODE = [
|
|
80106
80195
|
"alert-critical",
|
|
80107
80196
|
"alert-error",
|
|
@@ -80133,7 +80222,6 @@ var DEVICE_EVENTS = [
|
|
|
80133
80222
|
"device-enabled",
|
|
80134
80223
|
...BATTERY,
|
|
80135
80224
|
...CONSUMABLE,
|
|
80136
|
-
...TANK,
|
|
80137
80225
|
"stream-online",
|
|
80138
80226
|
"stream-offline",
|
|
80139
80227
|
"detection-blind",
|
|
@@ -80179,12 +80267,6 @@ var STATE_SUMMARY_SECTION_VARS = [
|
|
|
80179
80267
|
example: "Robot — filter 10 %",
|
|
80180
80268
|
kinds: CONSUMABLE
|
|
80181
80269
|
},
|
|
80182
|
-
{
|
|
80183
|
-
name: "summaryTanks",
|
|
80184
|
-
label: "Summary: tanks",
|
|
80185
|
-
example: "Robot — clean water low",
|
|
80186
|
-
kinds: TANK
|
|
80187
|
-
},
|
|
80188
80270
|
{
|
|
80189
80271
|
name: "summaryDetection",
|
|
80190
80272
|
label: "Summary: cameras detecting nothing",
|
|
@@ -80300,8 +80382,7 @@ var STATE_SUMMARY_VARS = [
|
|
|
80300
80382
|
([...RULE_TEXT], [...COMBINED_ALARM]),
|
|
80301
80383
|
([...RULE_TEXT], [...DEVICE_EVENTS]),
|
|
80302
80384
|
([...RULE_TEXT], [...BATTERY, ...CONSUMABLE]),
|
|
80303
|
-
([...RULE_TEXT], [...CONSUMABLE
|
|
80304
|
-
([...RULE_TEXT], [...TANK]),
|
|
80385
|
+
([...RULE_TEXT], [...CONSUMABLE]),
|
|
80305
80386
|
[...RULE_TEXT],
|
|
80306
80387
|
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|
|
80307
80388
|
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|
|
@@ -80405,15 +80486,6 @@ new Map([
|
|
|
80405
80486
|
snapshotLabel: "Consumables low now",
|
|
80406
80487
|
snapshotSection: "consumables"
|
|
80407
80488
|
},
|
|
80408
|
-
{
|
|
80409
|
-
id: "tanks",
|
|
80410
|
-
family: "device-events",
|
|
80411
|
-
label: "Tanks (low or full / back to normal)",
|
|
80412
|
-
bad: ["device-tank-low", "device-tank-full"],
|
|
80413
|
-
recovery: ["device-tank-normal"],
|
|
80414
|
-
snapshotLabel: "Tanks low or full now",
|
|
80415
|
-
snapshotSection: "tanks"
|
|
80416
|
-
},
|
|
80417
80489
|
{
|
|
80418
80490
|
id: "motion-noise",
|
|
80419
80491
|
family: "device-events",
|
|
@@ -80815,6 +80887,10 @@ TimelapseRuleInputSchema.extend({
|
|
|
80815
80887
|
updatedAt: number()
|
|
80816
80888
|
});
|
|
80817
80889
|
MotionOnMotionChangedDataSchema.omit({ triggeredBy: true });
|
|
80890
|
+
Object.freeze({
|
|
80891
|
+
person: .8,
|
|
80892
|
+
vehicle: .8
|
|
80893
|
+
});
|
|
80818
80894
|
object({
|
|
80819
80895
|
/**
|
|
80820
80896
|
* Fraction of the box's own size added on EACH side before cutting.
|
|
@@ -83413,6 +83489,25 @@ var CAP_STATE_LEAVES = Object.freeze({
|
|
|
83413
83489
|
"path": "reason",
|
|
83414
83490
|
"valueType": "string"
|
|
83415
83491
|
}],
|
|
83492
|
+
"running-state": [
|
|
83493
|
+
{
|
|
83494
|
+
"path": "running",
|
|
83495
|
+
"valueType": "boolean"
|
|
83496
|
+
},
|
|
83497
|
+
{
|
|
83498
|
+
"path": "since",
|
|
83499
|
+
"valueType": "number"
|
|
83500
|
+
},
|
|
83501
|
+
{
|
|
83502
|
+
"path": "source",
|
|
83503
|
+
"valueType": "enum",
|
|
83504
|
+
"enumValues": ["native", "assigned"]
|
|
83505
|
+
},
|
|
83506
|
+
{
|
|
83507
|
+
"path": "phase",
|
|
83508
|
+
"valueType": "string"
|
|
83509
|
+
}
|
|
83510
|
+
],
|
|
83416
83511
|
"script-runner": [
|
|
83417
83512
|
{
|
|
83418
83513
|
"path": "isRunning",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { S as e, d as t, u as n, v as r } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-C-pbjC7c.mjs";
|
|
2
2
|
import { n as i, r as a, t as o } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-DalfdIDw.mjs";
|
|
3
|
-
import { c as s, l as c } from "./responsive-
|
|
3
|
+
import { c as s, l as c } from "./responsive-BiymurY0.mjs";
|
|
4
4
|
var l = c("chevron-down", [["path", {
|
|
5
5
|
d: "m6 9 6 6 6-6",
|
|
6
6
|
key: "qrunsl"
|
package/dist/remoteEntry.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-
|
|
1
|
+
import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-BYRSI4Gv.mjs";
|
|
2
2
|
export { t as get, e as init };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { S as e, d as t, g as n, i as r, l as i, n as a, r as o, u as s, v as c, y as l } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-C-pbjC7c.mjs";
|
|
2
2
|
import "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-DalfdIDw.mjs";
|
|
3
|
-
import { i as u } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-
|
|
3
|
+
import { i as u } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BbmRj6OR.mjs";
|
|
4
4
|
//#region ../../node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
|
|
5
5
|
e();
|
|
6
6
|
var d = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), f = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), p = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), m = (e) => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { S as e, g as t, l as n, v as r } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-C-pbjC7c.mjs";
|
|
2
2
|
import { n as i } from "./ui-text-BitwQ50T.mjs";
|
|
3
|
-
import { l as a } from "./responsive-
|
|
3
|
+
import { l as a } from "./responsive-BiymurY0.mjs";
|
|
4
4
|
var o = a("camera", [["path", {
|
|
5
5
|
d: "M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z",
|
|
6
6
|
key: "18u6gg"
|
|
@@ -2753,7 +2753,7 @@ async function rr(e) {
|
|
|
2753
2753
|
}
|
|
2754
2754
|
}
|
|
2755
2755
|
async function ir() {
|
|
2756
|
-
return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-
|
|
2756
|
+
return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-DXtR0Eje.mjs")).catch((e) => {
|
|
2757
2757
|
throw tr = void 0, e;
|
|
2758
2758
|
}), tr;
|
|
2759
2759
|
}
|