camstack 1.2.202 → 1.2.203
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/cli.js +148 -65
- package/dist/{launcher-R27OU5QD.js → launcher-J5GG4YZB.js} +1017 -725
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -37,7 +37,7 @@ async function runServe(args) {
|
|
|
37
37
|
...typeof values.data === "string" ? { data: values.data } : {}
|
|
38
38
|
};
|
|
39
39
|
Object.assign(process.env, buildServeEnv(opts));
|
|
40
|
-
await import("./launcher-
|
|
40
|
+
await import("./launcher-J5GG4YZB.js");
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
// src/commands/agent.ts
|
|
@@ -82,7 +82,7 @@ async function runAgent(args) {
|
|
|
82
82
|
...typeof values.port === "string" ? { port: values.port } : {}
|
|
83
83
|
};
|
|
84
84
|
Object.assign(process.env, buildAgentEnv(opts));
|
|
85
|
-
await import("./launcher-
|
|
85
|
+
await import("./launcher-J5GG4YZB.js");
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
// src/commands/setup.ts
|
|
@@ -91,7 +91,7 @@ import * as path from "path";
|
|
|
91
91
|
import * as fs from "fs";
|
|
92
92
|
import { parseArgs as parseArgs3 } from "util";
|
|
93
93
|
|
|
94
|
-
// ../types/dist/event-category-
|
|
94
|
+
// ../types/dist/event-category-BfJwUd2S.mjs
|
|
95
95
|
var EventCategory = /* @__PURE__ */ (function(EventCategory2) {
|
|
96
96
|
EventCategory2["SystemBoot"] = "system.boot";
|
|
97
97
|
EventCategory2["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -172,6 +172,8 @@ var EventCategory = /* @__PURE__ */ (function(EventCategory2) {
|
|
|
172
172
|
EventCategory2["PipelineCameraUnassigned"] = "pipeline.camera-unassigned";
|
|
173
173
|
EventCategory2["PipelineNodeInferenceUnavailable"] = "pipeline.node-inference-unavailable";
|
|
174
174
|
EventCategory2["PipelineDetectionBlind"] = "pipeline.detection-blind";
|
|
175
|
+
EventCategory2["PipelineMotionNoisy"] = "pipeline.motion-noisy";
|
|
176
|
+
EventCategory2["PipelineMotionCalm"] = "pipeline.motion-calm";
|
|
175
177
|
EventCategory2["PipelineCameraUpdated"] = "pipeline.camera-updated";
|
|
176
178
|
EventCategory2["PipelineIngestOwnerChanged"] = "pipeline.ingest-owner-changed";
|
|
177
179
|
EventCategory2["PipelineRunnerLoadSnapshot"] = "pipeline.runner-load-snapshot";
|
|
@@ -14775,7 +14777,7 @@ function date4(params) {
|
|
|
14775
14777
|
// ../../node_modules/zod/v4/classic/external.js
|
|
14776
14778
|
config(en_default());
|
|
14777
14779
|
|
|
14778
|
-
// ../types/dist/sleep-
|
|
14780
|
+
// ../types/dist/sleep-DJFUfKvA.mjs
|
|
14779
14781
|
var AUDIO_CHUNK_FORMATS = [
|
|
14780
14782
|
"f32le",
|
|
14781
14783
|
"pcmu",
|
|
@@ -15032,7 +15034,7 @@ var EntryDescriptorSchema = external_exports.object({
|
|
|
15032
15034
|
/** JSON Schema of the entry body; `secret: true` marks a password field. */
|
|
15033
15035
|
fields: external_exports.record(external_exports.string(), external_exports.unknown())
|
|
15034
15036
|
}).strict();
|
|
15035
|
-
var
|
|
15037
|
+
var RecordKindDeclarationShape = external_exports.object({
|
|
15036
15038
|
database: external_exports.enum(RECORD_DATABASES).default("settings"),
|
|
15037
15039
|
class: external_exports.enum(RECORD_CLASSES),
|
|
15038
15040
|
writeTrigger: external_exports.string().min(1),
|
|
@@ -15050,18 +15052,11 @@ var RecordKindDeclarationSchema = external_exports.object({
|
|
|
15050
15052
|
secretPaths: external_exports.array(external_exports.string().min(1)).default([]),
|
|
15051
15053
|
/** The id key of each array that carries a secret (`{ headers: 'name' }`). */
|
|
15052
15054
|
secretArrayKeys: external_exports.record(external_exports.string(), external_exports.string()).default({}),
|
|
15053
|
-
/**
|
|
15054
|
-
* RETIRED (D900): the legacy table a kind adopted from during the records
|
|
15055
|
-
* migration. Nothing declares it any more and nothing reads it; the schema
|
|
15056
|
-
* still ACCEPTS it because the catalog rows the migration wrote carry it
|
|
15057
|
-
* (an orphaned kind is never redeclared) and an addon built before the
|
|
15058
|
-
* removal still sends it. Never set it.
|
|
15059
|
-
*/
|
|
15060
|
-
adoptsFrom: external_exports.string().min(1).optional(),
|
|
15061
15055
|
/** Kinds that must agree through `transact` sit in one file under one family name. */
|
|
15062
15056
|
transactFamily: external_exports.string().min(1).optional(),
|
|
15063
15057
|
entry: EntryDescriptorSchema.optional()
|
|
15064
|
-
})
|
|
15058
|
+
});
|
|
15059
|
+
var RecordKindDeclarationSchema = RecordKindDeclarationShape.strict();
|
|
15065
15060
|
var RecordKindNameSchema = external_exports.string().regex(/^[a-z][a-z0-9-]{0,47}$/);
|
|
15066
15061
|
var CamProfileSchema = external_exports.enum([
|
|
15067
15062
|
"high",
|
|
@@ -18556,17 +18551,6 @@ var UserRecordSchema = external_exports.object({
|
|
|
18556
18551
|
createdAt: external_exports.number(),
|
|
18557
18552
|
updatedAt: external_exports.number()
|
|
18558
18553
|
});
|
|
18559
|
-
var ApiKeyRecordSchema = external_exports.object({
|
|
18560
|
-
id: external_exports.string(),
|
|
18561
|
-
label: external_exports.string(),
|
|
18562
|
-
isAdmin: external_exports.boolean().default(false),
|
|
18563
|
-
allowedProviders: AllowedProviderSchema,
|
|
18564
|
-
allowedDevices: AllowedDevicesSchema,
|
|
18565
|
-
tokenHash: external_exports.string(),
|
|
18566
|
-
tokenPrefix: external_exports.string(),
|
|
18567
|
-
createdAt: external_exports.number(),
|
|
18568
|
-
lastUsedAt: external_exports.number().optional()
|
|
18569
|
-
});
|
|
18570
18554
|
var ScopedTokenSchema = external_exports.object({
|
|
18571
18555
|
id: external_exports.string(),
|
|
18572
18556
|
userId: external_exports.string(),
|
|
@@ -22956,15 +22940,31 @@ var RecordKindStateSchema = external_exports.enum([
|
|
|
22956
22940
|
var DeclareKindResultSchema = external_exports.object({
|
|
22957
22941
|
kindId: external_exports.number().int(),
|
|
22958
22942
|
state: RecordKindStateSchema,
|
|
22959
|
-
createdIndexes: external_exports.array(external_exports.string())
|
|
22960
|
-
/**
|
|
22961
|
-
* RETIRED (D900): always `null`. It carried the records-migration boot guard;
|
|
22962
|
-
* it stays on the wire, null, because an addon built before the removal reads
|
|
22963
|
-
* an ABSENT field as "adoption pending" and refuses to start.
|
|
22964
|
-
*/
|
|
22965
|
-
adoptionPending: external_exports.null()
|
|
22943
|
+
createdIndexes: external_exports.array(external_exports.string())
|
|
22966
22944
|
});
|
|
22967
22945
|
var SecretRefsList = external_exports.array(external_exports.string());
|
|
22946
|
+
var RecordTransactOpSchema = external_exports.discriminatedUnion("op", [
|
|
22947
|
+
external_exports.object({
|
|
22948
|
+
op: external_exports.literal("put"),
|
|
22949
|
+
kind: RecordKindNameSchema,
|
|
22950
|
+
record: RecordInputSchema,
|
|
22951
|
+
ifRev: external_exports.number().int().min(0).optional()
|
|
22952
|
+
}),
|
|
22953
|
+
external_exports.object({
|
|
22954
|
+
op: external_exports.literal("patch"),
|
|
22955
|
+
kind: RecordKindNameSchema,
|
|
22956
|
+
id: RecordIdSchema,
|
|
22957
|
+
data: RecordBodySchema,
|
|
22958
|
+
at: external_exports.number().int().nullable().optional(),
|
|
22959
|
+
expiresAt: external_exports.number().int().nullable().optional(),
|
|
22960
|
+
ifRev: external_exports.number().int().min(1).optional()
|
|
22961
|
+
}),
|
|
22962
|
+
external_exports.object({
|
|
22963
|
+
op: external_exports.literal("delete"),
|
|
22964
|
+
kind: RecordKindNameSchema,
|
|
22965
|
+
id: RecordIdSchema
|
|
22966
|
+
})
|
|
22967
|
+
]);
|
|
22968
22968
|
var RecordSecretRefsSchema = external_exports.record(external_exports.string(), external_exports.record(external_exports.string(), external_exports.string()));
|
|
22969
22969
|
var recordsCapability = {
|
|
22970
22970
|
name: "records",
|
|
@@ -23096,6 +23096,22 @@ var recordsCapability = {
|
|
|
23096
23096
|
kind: "mutation",
|
|
23097
23097
|
auth: "admin"
|
|
23098
23098
|
}),
|
|
23099
|
+
/**
|
|
23100
|
+
* Several single-row writes (put / patch / delete) in ONE SQLite transaction:
|
|
23101
|
+
* all land or none does. Every op's kind must sit in one file and share one
|
|
23102
|
+
* `transactFamily` (`records/transact-refused` otherwise). Results are in op order.
|
|
23103
|
+
*/
|
|
23104
|
+
transact: method(external_exports.object({ ops: external_exports.array(RecordTransactOpSchema).min(1).max(RECORD_BATCH_MAX) }), external_exports.object({
|
|
23105
|
+
results: external_exports.array(external_exports.object({
|
|
23106
|
+
rev: external_exports.number().int().nullable(),
|
|
23107
|
+
deleted: external_exports.boolean()
|
|
23108
|
+
})),
|
|
23109
|
+
releasedRefs: SecretRefsList,
|
|
23110
|
+
secretRefs: SecretRefsList
|
|
23111
|
+
}), {
|
|
23112
|
+
kind: "mutation",
|
|
23113
|
+
auth: "admin"
|
|
23114
|
+
}),
|
|
23099
23115
|
/** The D865 hook body: every kind of this addon declared `deviceRemoval: 'delete'`. */
|
|
23100
23116
|
deleteDevice: method(external_exports.object({
|
|
23101
23117
|
deviceId: external_exports.number().int(),
|
|
@@ -48875,9 +48891,13 @@ var NcSystemEventKindSchema = external_exports.enum([
|
|
|
48875
48891
|
"node-updating",
|
|
48876
48892
|
"node-inference-unavailable",
|
|
48877
48893
|
"detection-blind",
|
|
48894
|
+
"motion-noisy",
|
|
48895
|
+
"motion-calm",
|
|
48878
48896
|
"recording-stalled",
|
|
48879
48897
|
"recording-healthy",
|
|
48880
48898
|
"recording-degraded",
|
|
48899
|
+
"device-attention-required",
|
|
48900
|
+
"device-attention-resolved",
|
|
48881
48901
|
"storage-location-low",
|
|
48882
48902
|
"storage-location-critical",
|
|
48883
48903
|
"storage-location-ok",
|
|
@@ -62483,6 +62503,16 @@ var DishwasherStatusSchema = external_exports.object({
|
|
|
62483
62503
|
powerState: external_exports.string().nullable(),
|
|
62484
62504
|
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
62485
62505
|
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
62506
|
+
/**
|
|
62507
|
+
* True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
|
|
62508
|
+
* combined care-and-filter reminder raised); false when every such reminder reads clear; null
|
|
62509
|
+
* when none is reported. A cleared reminder is not an unknown one.
|
|
62510
|
+
*/
|
|
62511
|
+
filterCleaningDue: external_exports.boolean().nullable(),
|
|
62512
|
+
/** True while the machine-care (descaling / cleaning-program) reminder is raised; false when clear; null when not reported. */
|
|
62513
|
+
machineCareDue: external_exports.boolean().nullable(),
|
|
62514
|
+
/** Program runs left before the machine-care reminder is due; null when the appliance does not say. */
|
|
62515
|
+
machineCareRemainingRuns: external_exports.number().int().nonnegative().nullable(),
|
|
62486
62516
|
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
62487
62517
|
halfLoad: external_exports.boolean().nullable(),
|
|
62488
62518
|
hygienePlus: external_exports.boolean().nullable(),
|
|
@@ -70358,16 +70388,6 @@ var UpdateUserInputSchema = external_exports.object({
|
|
|
70358
70388
|
allowedDevices: external_exports.record(external_exports.string(), external_exports.union([external_exports.array(external_exports.string()), external_exports.literal("*")])).optional(),
|
|
70359
70389
|
scopes: external_exports.array(TokenScopeSchema).optional()
|
|
70360
70390
|
});
|
|
70361
|
-
var ApiKeySummarySchema = external_exports.object({
|
|
70362
|
-
id: external_exports.string(),
|
|
70363
|
-
label: external_exports.string(),
|
|
70364
|
-
isAdmin: external_exports.boolean().default(false),
|
|
70365
|
-
allowedProviders: external_exports.union([external_exports.array(external_exports.string()), external_exports.literal("*")]).optional(),
|
|
70366
|
-
allowedDevices: external_exports.record(external_exports.string(), external_exports.union([external_exports.array(external_exports.string()), external_exports.literal("*")])).optional(),
|
|
70367
|
-
tokenPrefix: external_exports.string(),
|
|
70368
|
-
createdAt: external_exports.number(),
|
|
70369
|
-
lastUsedAt: external_exports.number().optional()
|
|
70370
|
-
});
|
|
70371
70391
|
var OauthSessionSummarySchema = external_exports.object({
|
|
70372
70392
|
id: external_exports.string(),
|
|
70373
70393
|
userId: external_exports.string(),
|
|
@@ -70448,12 +70468,6 @@ var userManagementCapability = {
|
|
|
70448
70468
|
kind: "mutation",
|
|
70449
70469
|
access: "view"
|
|
70450
70470
|
}),
|
|
70451
|
-
listApiKeys: method(external_exports.void(), external_exports.array(ApiKeySummarySchema), { auth: "admin" }),
|
|
70452
|
-
revokeApiKey: method(external_exports.object({ id: external_exports.string() }), external_exports.object({ success: external_exports.literal(true) }), {
|
|
70453
|
-
kind: "mutation",
|
|
70454
|
-
auth: "admin",
|
|
70455
|
-
access: "delete"
|
|
70456
|
-
}),
|
|
70457
70471
|
setupTotp: method(external_exports.object({ userId: external_exports.string() }), TotpSetupResultSchema, {
|
|
70458
70472
|
kind: "mutation",
|
|
70459
70473
|
auth: "admin",
|
|
@@ -78487,6 +78501,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
78487
78501
|
addonId: null,
|
|
78488
78502
|
access: "view"
|
|
78489
78503
|
},
|
|
78504
|
+
"records.transact": {
|
|
78505
|
+
capName: "records",
|
|
78506
|
+
capScope: "system",
|
|
78507
|
+
addonId: null,
|
|
78508
|
+
access: "create"
|
|
78509
|
+
},
|
|
78490
78510
|
"sceneMonitor.captureReference": {
|
|
78491
78511
|
capName: "scene-monitor",
|
|
78492
78512
|
capScope: "device",
|
|
@@ -79819,12 +79839,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
79819
79839
|
addonId: null,
|
|
79820
79840
|
access: "view"
|
|
79821
79841
|
},
|
|
79822
|
-
"userManagement.listApiKeys": {
|
|
79823
|
-
capName: "user-management",
|
|
79824
|
-
capScope: "system",
|
|
79825
|
-
addonId: null,
|
|
79826
|
-
access: "view"
|
|
79827
|
-
},
|
|
79828
79842
|
"userManagement.listExternalIdentities": {
|
|
79829
79843
|
capName: "user-management",
|
|
79830
79844
|
capScope: "system",
|
|
@@ -79879,12 +79893,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
79879
79893
|
addonId: null,
|
|
79880
79894
|
access: "create"
|
|
79881
79895
|
},
|
|
79882
|
-
"userManagement.revokeApiKey": {
|
|
79883
|
-
capName: "user-management",
|
|
79884
|
-
capScope: "system",
|
|
79885
|
-
addonId: null,
|
|
79886
|
-
access: "delete"
|
|
79887
|
-
},
|
|
79888
79896
|
"userManagement.revokeOauthSession": {
|
|
79889
79897
|
capName: "user-management",
|
|
79890
79898
|
capScope: "system",
|
|
@@ -83588,9 +83596,13 @@ var NC_SYSTEM_EVENT_FAMILY = {
|
|
|
83588
83596
|
"stream-online": "device-events",
|
|
83589
83597
|
"stream-offline": "device-events",
|
|
83590
83598
|
"detection-blind": "device-events",
|
|
83599
|
+
"motion-noisy": "device-events",
|
|
83600
|
+
"motion-calm": "device-events",
|
|
83591
83601
|
"recording-stalled": "device-events",
|
|
83592
83602
|
"recording-healthy": "device-events",
|
|
83593
83603
|
"recording-degraded": "device-events",
|
|
83604
|
+
"device-attention-required": "device-events",
|
|
83605
|
+
"device-attention-resolved": "device-events",
|
|
83594
83606
|
"node-online": "system",
|
|
83595
83607
|
"node-offline": "system",
|
|
83596
83608
|
"node-restarting": "system",
|
|
@@ -83674,6 +83686,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
83674
83686
|
label: "Detecting nothing",
|
|
83675
83687
|
kinds: ["detection-blind"]
|
|
83676
83688
|
},
|
|
83689
|
+
{
|
|
83690
|
+
id: "motion-noise",
|
|
83691
|
+
family: "device-events",
|
|
83692
|
+
label: "Motion without a subject",
|
|
83693
|
+
kinds: ["motion-noisy", "motion-calm"]
|
|
83694
|
+
},
|
|
83677
83695
|
{
|
|
83678
83696
|
id: "recording",
|
|
83679
83697
|
family: "device-events",
|
|
@@ -83684,6 +83702,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
83684
83702
|
"recording-degraded"
|
|
83685
83703
|
]
|
|
83686
83704
|
},
|
|
83705
|
+
{
|
|
83706
|
+
id: "device-attention",
|
|
83707
|
+
family: "device-events",
|
|
83708
|
+
label: "Needs attention",
|
|
83709
|
+
kinds: ["device-attention-required", "device-attention-resolved"]
|
|
83710
|
+
},
|
|
83687
83711
|
{
|
|
83688
83712
|
id: "nodes",
|
|
83689
83713
|
family: "system",
|
|
@@ -83800,6 +83824,7 @@ var ALERT_EPISODE = [
|
|
|
83800
83824
|
"alert-error",
|
|
83801
83825
|
"alert-critical-resolved"
|
|
83802
83826
|
];
|
|
83827
|
+
var DEVICE_ATTENTION = ["device-attention-required", "device-attention-resolved"];
|
|
83803
83828
|
var UPDATES = [
|
|
83804
83829
|
"addon-update-available",
|
|
83805
83830
|
"server-update-available",
|
|
@@ -83829,9 +83854,12 @@ var DEVICE_EVENTS = [
|
|
|
83829
83854
|
"stream-online",
|
|
83830
83855
|
"stream-offline",
|
|
83831
83856
|
"detection-blind",
|
|
83857
|
+
"motion-noisy",
|
|
83858
|
+
"motion-calm",
|
|
83832
83859
|
"recording-stalled",
|
|
83833
83860
|
"recording-healthy",
|
|
83834
83861
|
"recording-degraded",
|
|
83862
|
+
...DEVICE_ATTENTION,
|
|
83835
83863
|
...ALARM
|
|
83836
83864
|
];
|
|
83837
83865
|
var SUMMARISABLE = [...systemEventKindsOfFamily("device-events"), ...systemEventKindsOfFamily("system")];
|
|
@@ -84402,7 +84430,36 @@ var NC_TEMPLATE_VARS = [
|
|
|
84402
84430
|
families: ["rule"],
|
|
84403
84431
|
fields: [...RULE_TEXT],
|
|
84404
84432
|
kinds: ["system"],
|
|
84405
|
-
systemEventKinds: [
|
|
84433
|
+
systemEventKinds: [
|
|
84434
|
+
"detection-blind",
|
|
84435
|
+
"motion-noisy",
|
|
84436
|
+
"motion-calm",
|
|
84437
|
+
"recording-stalled"
|
|
84438
|
+
]
|
|
84439
|
+
},
|
|
84440
|
+
{
|
|
84441
|
+
name: "duty",
|
|
84442
|
+
label: "Motion share (%)",
|
|
84443
|
+
example: "55",
|
|
84444
|
+
group: "system",
|
|
84445
|
+
families: ["rule"],
|
|
84446
|
+
fields: [...RULE_TEXT],
|
|
84447
|
+
kinds: ["system"],
|
|
84448
|
+
systemEventKinds: ["motion-noisy", "motion-calm"]
|
|
84449
|
+
},
|
|
84450
|
+
{
|
|
84451
|
+
name: "sessions",
|
|
84452
|
+
label: "Detection sessions",
|
|
84453
|
+
example: "96",
|
|
84454
|
+
group: "system",
|
|
84455
|
+
families: ["rule"],
|
|
84456
|
+
fields: [...RULE_TEXT],
|
|
84457
|
+
kinds: ["system"],
|
|
84458
|
+
systemEventKinds: [
|
|
84459
|
+
"detection-blind",
|
|
84460
|
+
"motion-noisy",
|
|
84461
|
+
"motion-calm"
|
|
84462
|
+
]
|
|
84406
84463
|
},
|
|
84407
84464
|
{
|
|
84408
84465
|
name: "message",
|
|
@@ -84412,7 +84469,11 @@ var NC_TEMPLATE_VARS = [
|
|
|
84412
84469
|
families: ["rule"],
|
|
84413
84470
|
fields: [...RULE_TEXT],
|
|
84414
84471
|
kinds: ["system"],
|
|
84415
|
-
systemEventKinds: [
|
|
84472
|
+
systemEventKinds: [
|
|
84473
|
+
"recording-degraded",
|
|
84474
|
+
...DEVICE_ATTENTION,
|
|
84475
|
+
...ALERT_EPISODE
|
|
84476
|
+
]
|
|
84416
84477
|
},
|
|
84417
84478
|
{
|
|
84418
84479
|
name: "ruleName",
|
|
@@ -84656,7 +84717,11 @@ var NC_TEMPLATE_VARS = [
|
|
|
84656
84717
|
families: ["rule"],
|
|
84657
84718
|
fields: [...RULE_TEXT],
|
|
84658
84719
|
kinds: ["system"],
|
|
84659
|
-
systemEventKinds: [
|
|
84720
|
+
systemEventKinds: [
|
|
84721
|
+
"export-completed",
|
|
84722
|
+
...DEVICE_ATTENTION,
|
|
84723
|
+
...ALERT_EPISODE
|
|
84724
|
+
]
|
|
84660
84725
|
},
|
|
84661
84726
|
{
|
|
84662
84727
|
name: "severity",
|
|
@@ -84676,7 +84741,7 @@ var NC_TEMPLATE_VARS = [
|
|
|
84676
84741
|
families: ["rule"],
|
|
84677
84742
|
fields: [...RULE_TEXT],
|
|
84678
84743
|
kinds: ["system"],
|
|
84679
|
-
systemEventKinds: [...ALERT_EPISODE]
|
|
84744
|
+
systemEventKinds: [...DEVICE_ATTENTION, ...ALERT_EPISODE]
|
|
84680
84745
|
},
|
|
84681
84746
|
{
|
|
84682
84747
|
name: "source",
|
|
@@ -84696,7 +84761,7 @@ var NC_TEMPLATE_VARS = [
|
|
|
84696
84761
|
families: ["rule"],
|
|
84697
84762
|
fields: [...RULE_TEXT],
|
|
84698
84763
|
kinds: ["system"],
|
|
84699
|
-
systemEventKinds: [...ALERT_EPISODE]
|
|
84764
|
+
systemEventKinds: [...DEVICE_ATTENTION, ...ALERT_EPISODE]
|
|
84700
84765
|
},
|
|
84701
84766
|
{
|
|
84702
84767
|
name: "exportId",
|
|
@@ -84942,6 +85007,15 @@ var NC_SYSTEM_EVENT_CLASS_SPECS = [
|
|
|
84942
85007
|
snapshotLabel: "Tanks low or full now",
|
|
84943
85008
|
snapshotSection: "tanks"
|
|
84944
85009
|
},
|
|
85010
|
+
{
|
|
85011
|
+
id: "motion-noise",
|
|
85012
|
+
family: "device-events",
|
|
85013
|
+
label: "Motion without a subject (constant / calm again)",
|
|
85014
|
+
bad: ["motion-noisy"],
|
|
85015
|
+
recovery: ["motion-calm"],
|
|
85016
|
+
snapshotLabel: "Cameras with constant motion now",
|
|
85017
|
+
snapshotSection: null
|
|
85018
|
+
},
|
|
84945
85019
|
{
|
|
84946
85020
|
id: "recording-health",
|
|
84947
85021
|
family: "device-events",
|
|
@@ -84951,6 +85025,15 @@ var NC_SYSTEM_EVENT_CLASS_SPECS = [
|
|
|
84951
85025
|
snapshotLabel: "Recordings stalled now",
|
|
84952
85026
|
snapshotSection: null
|
|
84953
85027
|
},
|
|
85028
|
+
{
|
|
85029
|
+
id: "device-attention",
|
|
85030
|
+
family: "device-events",
|
|
85031
|
+
label: "Device needs attention (raised / resolved)",
|
|
85032
|
+
bad: ["device-attention-required"],
|
|
85033
|
+
recovery: ["device-attention-resolved"],
|
|
85034
|
+
snapshotLabel: "Devices needing attention now",
|
|
85035
|
+
snapshotSection: null
|
|
85036
|
+
},
|
|
84954
85037
|
{
|
|
84955
85038
|
id: "node-connectivity",
|
|
84956
85039
|
family: "system",
|