@camstack/addon-training 0.1.76 → 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-D5qNBXG6.mjs → MotionZonesSettings-jORey4uC.mjs} +2 -2
- package/dist/{PrivacyMaskSettings-D-DPswdN.mjs → PrivacyMaskSettings-P24unULW.mjs} +2 -2
- package/dist/{SceneMonitorEditor-DtRIp_YE.mjs → SceneMonitorEditor-CkLN8Kee.mjs} +1 -1
- package/dist/_stub.js +5535 -5309
- package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_training_page-CHXpYatD.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-BWgu_wcI.js → dist-CKiSDi2Y.js} +183 -95
- package/dist/{dist-B_SLRS5u.mjs → dist-DeD2tKQ2.mjs} +183 -95
- package/dist/{hostInit-B52B1CB4.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-DpkZn9vj.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-rqNDO6E-.mjs → responsive-CBG3O0ME.mjs} +1 -1
- package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_training_page__remoteEntry_js-B3b43ydO.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-DoK4LRXI.mjs +0 -26
|
@@ -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",
|
|
@@ -44970,6 +44987,18 @@ Object.freeze({
|
|
|
44970
44987
|
reason: "camera sensor mappings not loaded"
|
|
44971
44988
|
});
|
|
44972
44989
|
/**
|
|
44990
|
+
* What the vision model must answer before a package event is emitted
|
|
44991
|
+
* when a packages rule has "Confirm with the LLM" on.
|
|
44992
|
+
*
|
|
44993
|
+
* `package` is the verdict. `confidence` is 0..1. `reason` is the model's
|
|
44994
|
+
* one-line explanation, stored on the event so a drop is not silent.
|
|
44995
|
+
*/
|
|
44996
|
+
var PackageLlmVerdictSchema = object({
|
|
44997
|
+
package: boolean(),
|
|
44998
|
+
confidence: number().min(0).max(1),
|
|
44999
|
+
reason: string().min(1)
|
|
45000
|
+
});
|
|
45001
|
+
/**
|
|
44973
45002
|
* A model choice has a SCOPE, and a scope change has a workflow.
|
|
44974
45003
|
*
|
|
44975
45004
|
* ## The two scopes
|
|
@@ -45906,6 +45935,21 @@ var ObjectEventSchema = object({
|
|
|
45906
45935
|
* pick-up written before D684 — UNKNOWN, never 0 and never `timestamp`.
|
|
45907
45936
|
*/
|
|
45908
45937
|
observedAt: number().optional(),
|
|
45938
|
+
/**
|
|
45939
|
+
* The delivery was emitted without a vision-model yes (D931).
|
|
45940
|
+
*
|
|
45941
|
+
* Set only when the packages rule asked for an LLM confirm and the model
|
|
45942
|
+
* was unreachable, timed out, or answered something that did not parse.
|
|
45943
|
+
* A notification reads it so it can say "possible" instead of a definite
|
|
45944
|
+
* delivery. Absent on every other row, and on a confirm that said yes.
|
|
45945
|
+
*/
|
|
45946
|
+
packagePossible: boolean().optional(),
|
|
45947
|
+
/**
|
|
45948
|
+
* The vision model's verdict, when a packages rule asked for one and the
|
|
45949
|
+
* model answered the schema (D931). A "no" never becomes a row — the
|
|
45950
|
+
* detector drops it and logs the reason. Present on a yes.
|
|
45951
|
+
*/
|
|
45952
|
+
packageLlmVerdict: PackageLlmVerdictSchema.optional(),
|
|
45909
45953
|
/** The parent track's key-event importance [0,1], propagated to every object
|
|
45910
45954
|
* event of the track (so an event row can be sorted by importance without a
|
|
45911
45955
|
* track join). Absent on legacy rows / before the track was scored. */
|
|
@@ -48113,11 +48157,18 @@ var KeptReasonSchema = _enum(["custom-pin"]);
|
|
|
48113
48157
|
* Where a choice's latency came from (D791): this node's own benchmark
|
|
48114
48158
|
* result, or the hardware-class table. Measured on the node beats the table.
|
|
48115
48159
|
*/
|
|
48116
|
-
var LatencySourceSchema = discriminatedUnion("kind", [
|
|
48117
|
-
kind: literal("
|
|
48118
|
-
|
|
48119
|
-
|
|
48120
|
-
|
|
48160
|
+
var LatencySourceSchema = discriminatedUnion("kind", [
|
|
48161
|
+
object({ kind: literal("table") }),
|
|
48162
|
+
object({
|
|
48163
|
+
kind: literal("node-benchmark"),
|
|
48164
|
+
resultId: string(),
|
|
48165
|
+
measuredAtMs: number()
|
|
48166
|
+
}),
|
|
48167
|
+
object({
|
|
48168
|
+
kind: literal("estimated"),
|
|
48169
|
+
estimatedFrom: HardwareClassIdSchema
|
|
48170
|
+
})
|
|
48171
|
+
]);
|
|
48121
48172
|
var DeviceModelChoiceSchema = object({
|
|
48122
48173
|
modelId: string(),
|
|
48123
48174
|
p50Ms: number(),
|
|
@@ -48125,6 +48176,11 @@ var DeviceModelChoiceSchema = object({
|
|
|
48125
48176
|
measured: boolean(),
|
|
48126
48177
|
/** Absent on a plan from before D791 — read as the table. */
|
|
48127
48178
|
source: LatencySourceSchema.optional(),
|
|
48179
|
+
/**
|
|
48180
|
+
* The measured class this latency was scaled from (D930). Absent when the
|
|
48181
|
+
* cell is the table or a node benchmark.
|
|
48182
|
+
*/
|
|
48183
|
+
estimatedFrom: HardwareClassIdSchema.optional(),
|
|
48128
48184
|
/** Parallel sessions at the camera rate with the headroom kept free: ⌊fps × (1 − headroom) / camera fps⌋. */
|
|
48129
48185
|
capacitySessions: number(),
|
|
48130
48186
|
personRecall: number()
|
|
@@ -58354,6 +58410,30 @@ includeCrops: boolean().optional() }).optional(), array(VehicleSchema).readonly(
|
|
|
58354
58410
|
kind: "mutation",
|
|
58355
58411
|
auth: "admin"
|
|
58356
58412
|
});
|
|
58413
|
+
var CORE_ULTRA_265K_IGPU_CLOCK_MHZ = 2e3;
|
|
58414
|
+
var positiveOrNull = number().nullable().transform((value) => value !== null && Number.isFinite(value) && value > 0 ? value : null);
|
|
58415
|
+
var textOrNull = string().nullable().transform((value) => value !== null && value.trim() !== "" ? value : null);
|
|
58416
|
+
var PrecisionGopsSchema = object({
|
|
58417
|
+
int8: positiveOrNull,
|
|
58418
|
+
fp16: positiveOrNull
|
|
58419
|
+
});
|
|
58420
|
+
/** What one accelerator device reported. Every failed query is null. */
|
|
58421
|
+
var AcceleratorComputeSchema = object({
|
|
58422
|
+
deviceKey: string(),
|
|
58423
|
+
fullDeviceName: textOrNull,
|
|
58424
|
+
executionUnits: positiveOrNull,
|
|
58425
|
+
clockMHz: positiveOrNull,
|
|
58426
|
+
gops: PrecisionGopsSchema.nullable(),
|
|
58427
|
+
architecture: textOrNull,
|
|
58428
|
+
npuName: textOrNull,
|
|
58429
|
+
tops: positiveOrNull,
|
|
58430
|
+
vendor: textOrNull,
|
|
58431
|
+
webgpuArchitecture: textOrNull,
|
|
58432
|
+
webgpuDevice: textOrNull,
|
|
58433
|
+
computeUnits: positiveOrNull
|
|
58434
|
+
});
|
|
58435
|
+
object({ accelerators: array(AcceleratorComputeSchema).nullable() });
|
|
58436
|
+
64 * CORE_ULTRA_265K_IGPU_CLOCK_MHZ;
|
|
58357
58437
|
var ModelFormatSchema = _enum(MODEL_FORMATS);
|
|
58358
58438
|
var HwAccelBackendInputSchema = _enum([
|
|
58359
58439
|
"videotoolbox",
|
|
@@ -58467,7 +58547,12 @@ var HardwareInfoSchema = object({
|
|
|
58467
58547
|
availableRAM_MB: number(),
|
|
58468
58548
|
gpu: GpuInfoSchema.nullable(),
|
|
58469
58549
|
npu: NpuInfoSchema.nullable(),
|
|
58470
|
-
coral: CoralInfoSchema.nullable().optional()
|
|
58550
|
+
coral: CoralInfoSchema.nullable().optional(),
|
|
58551
|
+
/**
|
|
58552
|
+
* Per-accelerator compute (D930). Omitted by a node that has not probed it.
|
|
58553
|
+
* `null` fields inside an entry are a failed query, never a zero.
|
|
58554
|
+
*/
|
|
58555
|
+
accelerators: array(AcceleratorComputeSchema).readonly().optional()
|
|
58471
58556
|
});
|
|
58472
58557
|
var PlatformScoreSchema = object({
|
|
58473
58558
|
runtime: literal("python"),
|
|
@@ -59000,6 +59085,22 @@ DeviceType.Camera, method(object({ deviceId: number() }), PtzAutotrackStatusSche
|
|
|
59000
59085
|
deviceId: number(),
|
|
59001
59086
|
status: PtzAutotrackStatusSchema
|
|
59002
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);
|
|
59003
59104
|
DeviceType.Camera, DeviceType.Sensor, DeviceType.Switch, method(object({ deviceId: number().int().nonnegative() }), object({ success: literal(true) }), {
|
|
59004
59105
|
kind: "mutation",
|
|
59005
59106
|
auth: "admin"
|
|
@@ -60839,7 +60940,20 @@ var ZoneRuleSchema = object({
|
|
|
60839
60940
|
* Defaults to `true` so operators creating a rule via the UI
|
|
60840
60941
|
* see it active immediately.
|
|
60841
60942
|
*/
|
|
60842
|
-
enabled: boolean().default(true)
|
|
60943
|
+
enabled: boolean().default(true),
|
|
60944
|
+
/**
|
|
60945
|
+
* Package stage only. When true, a package candidate may open from a
|
|
60946
|
+
* scene difference in this rule's zone after a person leaves. The
|
|
60947
|
+
* package model, when it boxes something overlapping, is extra evidence
|
|
60948
|
+
* and is not the gate. Absent or false keeps today's model path.
|
|
60949
|
+
*/
|
|
60950
|
+
detectBySceneDifference: boolean().optional(),
|
|
60951
|
+
/**
|
|
60952
|
+
* Package stage only. When true, a promoted package is shown to the
|
|
60953
|
+
* `llm` cap before the delivery event is emitted. Absent or false emits
|
|
60954
|
+
* as today. Usable with or without `detectBySceneDifference`.
|
|
60955
|
+
*/
|
|
60956
|
+
confirmWithLlm: boolean().optional()
|
|
60843
60957
|
});
|
|
60844
60958
|
array(ZoneRuleSchema).readonly();
|
|
60845
60959
|
object({
|
|
@@ -70383,6 +70497,13 @@ Object.freeze({
|
|
|
70383
70497
|
access: "create",
|
|
70384
70498
|
role: "admin"
|
|
70385
70499
|
},
|
|
70500
|
+
"runningState.getStatus": {
|
|
70501
|
+
capName: "running-state",
|
|
70502
|
+
capScope: "device",
|
|
70503
|
+
addonId: null,
|
|
70504
|
+
access: "view",
|
|
70505
|
+
role: "viewer"
|
|
70506
|
+
},
|
|
70386
70507
|
"sceneMonitor.captureReference": {
|
|
70387
70508
|
capName: "scene-monitor",
|
|
70388
70509
|
capScope: "device",
|
|
@@ -75097,6 +75218,32 @@ var APPLIANCE_CAP_VOCABULARY = {
|
|
|
75097
75218
|
}],
|
|
75098
75219
|
events: { onSent: { notOperatorFacing: "a delivery receipt of a send this system made — not a fact about the world" } }
|
|
75099
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
|
+
},
|
|
75100
75247
|
update: {
|
|
75101
75248
|
scope: "device",
|
|
75102
75249
|
noun: t("Firmware update", "Aggiornamento firmware"),
|
|
@@ -78637,6 +78784,11 @@ Object.freeze({
|
|
|
78637
78784
|
form: "single",
|
|
78638
78785
|
optional: true
|
|
78639
78786
|
}],
|
|
78787
|
+
"runningState.getStatus": [{
|
|
78788
|
+
name: "deviceId",
|
|
78789
|
+
form: "single",
|
|
78790
|
+
optional: false
|
|
78791
|
+
}],
|
|
78640
78792
|
"sceneMonitor.captureReference": [{
|
|
78641
78793
|
name: "deviceId",
|
|
78642
78794
|
form: "single",
|
|
@@ -79187,40 +79339,7 @@ var NC_AUDIO_DEFAULTS = {
|
|
|
79187
79339
|
samplingSeconds: 10
|
|
79188
79340
|
};
|
|
79189
79341
|
new Set(["devices", "classes"]);
|
|
79190
|
-
|
|
79191
|
-
* WHICH narrowing filter speaks about WHICH system-event kind — one predicate,
|
|
79192
|
-
* consumed by the rule ENGINE and by every rule EDITOR.
|
|
79193
|
-
*
|
|
79194
|
-
* ── The failure this file exists for ───────────────────────────────────────
|
|
79195
|
-
* `NcSystemEventConditionSchema` carries four optional narrowing lists
|
|
79196
|
-
* (`deviceIds`, `deviceTypes`, `nodeIds`, `packageNames`) beside a required
|
|
79197
|
-
* `kinds` gate. They are not four filters over one vocabulary: each belongs to
|
|
79198
|
-
* a FAMILY of kinds and is meaningless outside it. A node going away has no
|
|
79199
|
-
* device type; a completed export has no package; `stream-offline` deliberately
|
|
79200
|
-
* carries no device type at all (a stream belongs to a camera by construction).
|
|
79201
|
-
*
|
|
79202
|
-
* The engine applied all four to every kind, so a filter from one family failed
|
|
79203
|
-
* a kind from another family CLOSED. The operator's live rule "Eventi di
|
|
79204
|
-
* sistema" selected eleven kinds and set `deviceTypes: ['camera']` — the only
|
|
79205
|
-
* way to say "only my cameras" about the two liveness kinds — and NINE of the
|
|
79206
|
-
* eleven silently stopped being deliverable. Four days of history contained
|
|
79207
|
-
* `device-online` and `device-offline` and nothing else, across a window in
|
|
79208
|
-
* which agents were restarted and addons were updated.
|
|
79209
|
-
*
|
|
79210
|
-
* Both editors already computed this scoping, to decide which filter boxes to
|
|
79211
|
-
* render; the cap's own docblock already promised it ("Narrow a `device-*` kind
|
|
79212
|
-
* to these device TYPES"). Only the engine disagreed, and it disagreed in the
|
|
79213
|
-
* destructive direction. So the rule is stated ONCE, here, and the engine and
|
|
79214
|
-
* the editors are readers of it rather than three independent authors.
|
|
79215
|
-
*
|
|
79216
|
-
* ── The direction ─────────────────────────────────────────────────────────
|
|
79217
|
-
* Out of family ⇒ the filter is IGNORED, never fail-closed. An editor that
|
|
79218
|
-
* hides a box has already told the operator this filter does not speak about
|
|
79219
|
-
* these kinds, so honouring it as an exclusion contradicts the only
|
|
79220
|
-
* explanation the operator was ever given. Inside its family the filter still
|
|
79221
|
-
* narrows, and still fails CLOSED on a subject that cannot produce the identity
|
|
79222
|
-
* it tests (a device the mirror cannot name is not evidence of a camera).
|
|
79223
|
-
*/
|
|
79342
|
+
new Set(NC_LEGACY_SYSTEM_EVENT_KINDS);
|
|
79224
79343
|
/**
|
|
79225
79344
|
* Every filter, for the callers that must cover all of them (guards, tests).
|
|
79226
79345
|
*
|
|
@@ -79246,9 +79365,6 @@ new Map(Object.entries({
|
|
|
79246
79365
|
"device-battery-normal": "device-events",
|
|
79247
79366
|
"device-consumable-low": "device-events",
|
|
79248
79367
|
"device-consumable-normal": "device-events",
|
|
79249
|
-
"device-tank-low": "device-events",
|
|
79250
|
-
"device-tank-full": "device-events",
|
|
79251
|
-
"device-tank-normal": "device-events",
|
|
79252
79368
|
"stream-online": "device-events",
|
|
79253
79369
|
"stream-offline": "device-events",
|
|
79254
79370
|
"detection-blind": "device-events",
|
|
@@ -79325,16 +79441,6 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
79325
79441
|
label: "Consumables",
|
|
79326
79442
|
kinds: ["device-consumable-low", "device-consumable-normal"]
|
|
79327
79443
|
},
|
|
79328
|
-
{
|
|
79329
|
-
id: "tanks",
|
|
79330
|
-
family: "device-events",
|
|
79331
|
-
label: "Tanks",
|
|
79332
|
-
kinds: [
|
|
79333
|
-
"device-tank-low",
|
|
79334
|
-
"device-tank-full",
|
|
79335
|
-
"device-tank-normal"
|
|
79336
|
-
]
|
|
79337
|
-
},
|
|
79338
79444
|
{
|
|
79339
79445
|
id: "detection-blind",
|
|
79340
79446
|
family: "device-events",
|
|
@@ -79492,11 +79598,6 @@ var RULE_BODY_ONLY = ["body"];
|
|
|
79492
79598
|
var RULE_TEXT = ["title", "body"];
|
|
79493
79599
|
var BATTERY = ["device-battery-low", "device-battery-normal"];
|
|
79494
79600
|
var CONSUMABLE = ["device-consumable-low", "device-consumable-normal"];
|
|
79495
|
-
var TANK = [
|
|
79496
|
-
"device-tank-low",
|
|
79497
|
-
"device-tank-full",
|
|
79498
|
-
"device-tank-normal"
|
|
79499
|
-
];
|
|
79500
79601
|
var ALERT_EPISODE = [
|
|
79501
79602
|
"alert-critical",
|
|
79502
79603
|
"alert-error",
|
|
@@ -79528,7 +79629,6 @@ var DEVICE_EVENTS = [
|
|
|
79528
79629
|
"device-enabled",
|
|
79529
79630
|
...BATTERY,
|
|
79530
79631
|
...CONSUMABLE,
|
|
79531
|
-
...TANK,
|
|
79532
79632
|
"stream-online",
|
|
79533
79633
|
"stream-offline",
|
|
79534
79634
|
"detection-blind",
|
|
@@ -79574,12 +79674,6 @@ var STATE_SUMMARY_SECTION_VARS = [
|
|
|
79574
79674
|
example: "Robot — filter 10 %",
|
|
79575
79675
|
kinds: CONSUMABLE
|
|
79576
79676
|
},
|
|
79577
|
-
{
|
|
79578
|
-
name: "summaryTanks",
|
|
79579
|
-
label: "Summary: tanks",
|
|
79580
|
-
example: "Robot — clean water low",
|
|
79581
|
-
kinds: TANK
|
|
79582
|
-
},
|
|
79583
79677
|
{
|
|
79584
79678
|
name: "summaryDetection",
|
|
79585
79679
|
label: "Summary: cameras detecting nothing",
|
|
@@ -79695,8 +79789,7 @@ var STATE_SUMMARY_VARS = [
|
|
|
79695
79789
|
([...RULE_TEXT], [...COMBINED_ALARM]),
|
|
79696
79790
|
([...RULE_TEXT], [...DEVICE_EVENTS]),
|
|
79697
79791
|
([...RULE_TEXT], [...BATTERY, ...CONSUMABLE]),
|
|
79698
|
-
([...RULE_TEXT], [...CONSUMABLE
|
|
79699
|
-
([...RULE_TEXT], [...TANK]),
|
|
79792
|
+
([...RULE_TEXT], [...CONSUMABLE]),
|
|
79700
79793
|
[...RULE_TEXT],
|
|
79701
79794
|
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|
|
79702
79795
|
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|
|
@@ -79800,15 +79893,6 @@ new Map([
|
|
|
79800
79893
|
snapshotLabel: "Consumables low now",
|
|
79801
79894
|
snapshotSection: "consumables"
|
|
79802
79895
|
},
|
|
79803
|
-
{
|
|
79804
|
-
id: "tanks",
|
|
79805
|
-
family: "device-events",
|
|
79806
|
-
label: "Tanks (low or full / back to normal)",
|
|
79807
|
-
bad: ["device-tank-low", "device-tank-full"],
|
|
79808
|
-
recovery: ["device-tank-normal"],
|
|
79809
|
-
snapshotLabel: "Tanks low or full now",
|
|
79810
|
-
snapshotSection: "tanks"
|
|
79811
|
-
},
|
|
79812
79896
|
{
|
|
79813
79897
|
id: "motion-noise",
|
|
79814
79898
|
family: "device-events",
|
|
@@ -80210,6 +80294,10 @@ TimelapseRuleInputSchema.extend({
|
|
|
80210
80294
|
updatedAt: number()
|
|
80211
80295
|
});
|
|
80212
80296
|
MotionOnMotionChangedDataSchema.omit({ triggeredBy: true });
|
|
80297
|
+
Object.freeze({
|
|
80298
|
+
person: .8,
|
|
80299
|
+
vehicle: .8
|
|
80300
|
+
});
|
|
80213
80301
|
object({
|
|
80214
80302
|
/**
|
|
80215
80303
|
* Fraction of the box's own size added on EACH side before cutting.
|
|
@@ -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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_dist = require("../dist-
|
|
2
|
+
const require_dist = require("../dist-CKiSDi2Y.js");
|
|
3
3
|
let node_path = require("node:path");
|
|
4
4
|
node_path = require_dist.__toESM(node_path);
|
|
5
5
|
let node_crypto = require("node:crypto");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as addonPagesSourceCapability, i as TrainingResultSchema, l as BaseAddon, m as defineRecordKinds, n as TrainingJobSchema, o as parseTrainingEventLine, r as TrainingJobSpecSchema, s as trainingCapability, t as TRAINING_JOB_SCHEMA, u as RECORD_MAX_DATA_BYTES } from "../dist-
|
|
1
|
+
import { a as addonPagesSourceCapability, i as TrainingResultSchema, l as BaseAddon, m as defineRecordKinds, n as TrainingJobSchema, o as parseTrainingEventLine, r as TrainingJobSpecSchema, s as trainingCapability, t as TRAINING_JOB_SCHEMA, u as RECORD_MAX_DATA_BYTES } from "../dist-DeD2tKQ2.mjs";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { createHash } from "node:crypto";
|
|
4
4
|
import { createReadStream } from "node:fs";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { d as e, u as t, w as n, y as r } from "./_virtual_mf___mfe_internal__addon_training_page__loadShare__react__loadShare__.js-CEvdvp1T.mjs";
|
|
2
2
|
import { n as i, r as a, t as o } from "./_virtual_mf___mfe_internal__addon_training_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-DnrbBvrw.mjs";
|
|
3
3
|
import { n as s, t as c } from "./chevron-right-cA8Hucbi.mjs";
|
|
4
|
-
import { h as l } from "./responsive-
|
|
4
|
+
import { h as l } from "./responsive-CBG3O0ME.mjs";
|
|
5
5
|
//#region ../ui-library/src/composites/widget-panel.tsx
|
|
6
6
|
n();
|
|
7
7
|
function u({ title: e, icon: t, headerRight: n, collapsible: l = !1, defaultOpen: u = !0, open: d, onOpenChange: f, bodyClassName: p = "p-3", children: m }) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_dist = require("../../dist-
|
|
2
|
+
const require_dist = require("../../dist-CKiSDi2Y.js");
|
|
3
3
|
let node_path = require("node:path");
|
|
4
4
|
node_path = require_dist.__toESM(node_path, 1);
|
|
5
5
|
let node_crypto = require("node:crypto");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as record, S as object, _ as isSecretClear, b as boolean, c as trainingProviderCapability, d as SECRET_CLEAR, f as arrayItemFieldPath, g as globalSecretScope, h as entryBody, l as BaseAddon, p as defineEntryKind, v as isSecretMarker, w as string, x as number, y as toSecretFieldView } from "../../dist-
|
|
1
|
+
import { C as record, S as object, _ as isSecretClear, b as boolean, c as trainingProviderCapability, d as SECRET_CLEAR, f as arrayItemFieldPath, g as globalSecretScope, h as entryBody, l as BaseAddon, p as defineEntryKind, v as isSecretMarker, w as string, x as number, y as toSecretFieldView } from "../../dist-DeD2tKQ2.mjs";
|
|
2
2
|
import { createRequire } from "node:module";
|
|
3
3
|
import path, { dirname, posix } from "node:path";
|
|
4
4
|
import { createHash, createPrivateKey, createPublicKey, createSign, randomBytes, randomUUID } from "node:crypto";
|
package/dist/remoteEntry.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_training_page__remoteEntry_js-
|
|
1
|
+
import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_training_page__remoteEntry_js-X4iAyyQb.mjs";
|
|
2
2
|
export { t as get, e as init };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { b as e, d as t, g as n, l as r, n as i, u as a, w as o, y as s } from "./_virtual_mf___mfe_internal__addon_training_page__loadShare__react__loadShare__.js-CEvdvp1T.mjs";
|
|
2
2
|
import "./_virtual_mf___mfe_internal__addon_training_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-DnrbBvrw.mjs";
|
|
3
|
-
import {
|
|
3
|
+
import { C as c } from "./_virtual_mf___mfe_internal__addon_training_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DiRkx0UL.mjs";
|
|
4
4
|
//#region ../ui-library/src/lib/shared-context.ts
|
|
5
5
|
o();
|
|
6
6
|
function l(e, t) {
|
|
@@ -2762,7 +2762,7 @@ async function or(e) {
|
|
|
2762
2762
|
}
|
|
2763
2763
|
}
|
|
2764
2764
|
async function sr() {
|
|
2765
|
-
return ir ||= or(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_training_page-
|
|
2765
|
+
return ir ||= or(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_training_page-BbQzUVOo.mjs")).catch((e) => {
|
|
2766
2766
|
throw ir = void 0, e;
|
|
2767
2767
|
}), ir;
|
|
2768
2768
|
}
|
package/package.json
CHANGED