@camstack/addon-provider-onvif 1.2.142 → 1.2.144
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/addon.js +237 -65
- package/dist/addon.mjs +237 -65
- package/i18n/en.json +0 -2
- package/i18n/it.json +0 -2
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -2,7 +2,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
2
2
|
//#region \0rolldown/runtime.js
|
|
3
3
|
var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
|
|
4
4
|
//#endregion
|
|
5
|
-
//#region ../types/dist/event-category-
|
|
5
|
+
//#region ../types/dist/event-category-BfJwUd2S.mjs
|
|
6
6
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
7
7
|
EventCategory["SystemBoot"] = "system.boot";
|
|
8
8
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -319,6 +319,15 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
319
319
|
*/
|
|
320
320
|
EventCategory["PipelineDetectionBlind"] = "pipeline.detection-blind";
|
|
321
321
|
/**
|
|
322
|
+
* A camera's motion source has fired constantly with no subject for an hour
|
|
323
|
+
* (motion duty or session count over the bar, zero detections) — it is not
|
|
324
|
+
* blind, its motion zones or sensitivity want tuning (D907). Paired with
|
|
325
|
+
* {@link PipelineMotionCalm}.
|
|
326
|
+
*/
|
|
327
|
+
EventCategory["PipelineMotionNoisy"] = "pipeline.motion-noisy";
|
|
328
|
+
/** The recovery edge of {@link PipelineMotionNoisy}: the motion fell back, or a detection arrived. */
|
|
329
|
+
EventCategory["PipelineMotionCalm"] = "pipeline.motion-calm";
|
|
330
|
+
/**
|
|
322
331
|
* Per-camera pipeline config was mutated by the orchestrator
|
|
323
332
|
* (3-level settings change via `setAgentAddonDefaults` /
|
|
324
333
|
* `setCameraStepToggle` / `setCameraPipelineForAgent` or a
|
|
@@ -690,6 +699,14 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
690
699
|
EventCategory["BackupRestored"] = "backup.restored";
|
|
691
700
|
EventCategory["NotificationDispatched"] = "notification.dispatched";
|
|
692
701
|
EventCategory["NotificationFailed"] = "notification.failed";
|
|
702
|
+
/**
|
|
703
|
+
* A notification rule that cannot work (D905): its stored row does not load,
|
|
704
|
+
* or it still names a device / delivery target the prune CONFIRMED deleted.
|
|
705
|
+
* One edge per rule per distinct set of reasons; never on an unanswered read.
|
|
706
|
+
*/
|
|
707
|
+
EventCategory["NotificationRuleBroken"] = "notification.rule-broken";
|
|
708
|
+
/** The clear of {@link NotificationRuleBroken}: the rule loads and names nothing deleted. */
|
|
709
|
+
EventCategory["NotificationRuleRepaired"] = "notification.rule-repaired";
|
|
693
710
|
EventCategory["DeviceUpdated"] = "device.updated";
|
|
694
711
|
/**
|
|
695
712
|
* Transport-level connectivity. Emitted by the device driver when
|
|
@@ -5417,7 +5434,7 @@ var ZodIssueCode = {
|
|
|
5417
5434
|
var ZodFirstPartyTypeKind;
|
|
5418
5435
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5419
5436
|
//#endregion
|
|
5420
|
-
//#region ../types/dist/sleep-
|
|
5437
|
+
//#region ../types/dist/sleep-DJFUfKvA.mjs
|
|
5421
5438
|
/**
|
|
5422
5439
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5423
5440
|
* window to float samples (D455).
|
|
@@ -7879,7 +7896,7 @@ var EntryDescriptorSchema = object({
|
|
|
7879
7896
|
/** JSON Schema of the entry body; `secret: true` marks a password field. */
|
|
7880
7897
|
fields: record(string(), unknown())
|
|
7881
7898
|
}).strict();
|
|
7882
|
-
/** What crosses the wire
|
|
7899
|
+
/** What crosses the wire from an addon: JSON only, no Zod. An unknown key is refused. */
|
|
7883
7900
|
var RecordKindDeclarationSchema = object({
|
|
7884
7901
|
database: _enum(RECORD_DATABASES).default("settings"),
|
|
7885
7902
|
class: _enum(RECORD_CLASSES),
|
|
@@ -7898,14 +7915,6 @@ var RecordKindDeclarationSchema = object({
|
|
|
7898
7915
|
secretPaths: array(string().min(1)).default([]),
|
|
7899
7916
|
/** The id key of each array that carries a secret (`{ headers: 'name' }`). */
|
|
7900
7917
|
secretArrayKeys: record(string(), string()).default({}),
|
|
7901
|
-
/**
|
|
7902
|
-
* RETIRED (D900): the legacy table a kind adopted from during the records
|
|
7903
|
-
* migration. Nothing declares it any more and nothing reads it; the schema
|
|
7904
|
-
* still ACCEPTS it because the catalog rows the migration wrote carry it
|
|
7905
|
-
* (an orphaned kind is never redeclared) and an addon built before the
|
|
7906
|
-
* removal still sends it. Never set it.
|
|
7907
|
-
*/
|
|
7908
|
-
adoptsFrom: string().min(1).optional(),
|
|
7909
7918
|
/** Kinds that must agree through `transact` sit in one file under one family name. */
|
|
7910
7919
|
transactFamily: string().min(1).optional(),
|
|
7911
7920
|
entry: EntryDescriptorSchema.optional()
|
|
@@ -12579,17 +12588,6 @@ object({
|
|
|
12579
12588
|
createdAt: number(),
|
|
12580
12589
|
updatedAt: number()
|
|
12581
12590
|
});
|
|
12582
|
-
object({
|
|
12583
|
-
id: string(),
|
|
12584
|
-
label: string(),
|
|
12585
|
-
isAdmin: boolean().default(false),
|
|
12586
|
-
allowedProviders: AllowedProviderSchema,
|
|
12587
|
-
allowedDevices: AllowedDevicesSchema,
|
|
12588
|
-
tokenHash: string(),
|
|
12589
|
-
tokenPrefix: string(),
|
|
12590
|
-
createdAt: number(),
|
|
12591
|
-
lastUsedAt: number().optional()
|
|
12592
|
-
});
|
|
12593
12591
|
object({
|
|
12594
12592
|
id: string(),
|
|
12595
12593
|
userId: string(),
|
|
@@ -16465,16 +16463,36 @@ var RecordKindStateSchema = _enum([
|
|
|
16465
16463
|
var DeclareKindResultSchema = object({
|
|
16466
16464
|
kindId: number().int(),
|
|
16467
16465
|
state: RecordKindStateSchema,
|
|
16468
|
-
createdIndexes: array(string())
|
|
16469
|
-
/**
|
|
16470
|
-
* RETIRED (D900): always `null`. It carried the records-migration boot guard;
|
|
16471
|
-
* it stays on the wire, null, because an addon built before the removal reads
|
|
16472
|
-
* an ABSENT field as "adoption pending" and refuses to start.
|
|
16473
|
-
*/
|
|
16474
|
-
adoptionPending: _null()
|
|
16466
|
+
createdIndexes: array(string())
|
|
16475
16467
|
});
|
|
16476
16468
|
/** Keychain refs a write released (the old marker is gone from the row): the owner deletes the values. */
|
|
16477
16469
|
var SecretRefsList = array(string());
|
|
16470
|
+
/**
|
|
16471
|
+
* One op of a `transact`: the single-row writes, each on a kind of the caller.
|
|
16472
|
+
* All ops of one call share ONE database file and ONE `transactFamily`.
|
|
16473
|
+
*/
|
|
16474
|
+
var RecordTransactOpSchema = discriminatedUnion("op", [
|
|
16475
|
+
object({
|
|
16476
|
+
op: literal("put"),
|
|
16477
|
+
kind: RecordKindNameSchema,
|
|
16478
|
+
record: RecordInputSchema,
|
|
16479
|
+
ifRev: number().int().min(0).optional()
|
|
16480
|
+
}),
|
|
16481
|
+
object({
|
|
16482
|
+
op: literal("patch"),
|
|
16483
|
+
kind: RecordKindNameSchema,
|
|
16484
|
+
id: RecordIdSchema,
|
|
16485
|
+
data: RecordBodySchema,
|
|
16486
|
+
at: number().int().nullable().optional(),
|
|
16487
|
+
expiresAt: number().int().nullable().optional(),
|
|
16488
|
+
ifRev: number().int().min(1).optional()
|
|
16489
|
+
}),
|
|
16490
|
+
object({
|
|
16491
|
+
op: literal("delete"),
|
|
16492
|
+
kind: RecordKindNameSchema,
|
|
16493
|
+
id: RecordIdSchema
|
|
16494
|
+
})
|
|
16495
|
+
]);
|
|
16478
16496
|
var RecordSecretRefsSchema = record(string(), record(string(), string()));
|
|
16479
16497
|
method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema) }), object({ kinds: record(string(), DeclareKindResultSchema) }), {
|
|
16480
16498
|
kind: "mutation",
|
|
@@ -16581,6 +16599,16 @@ method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema)
|
|
|
16581
16599
|
}), {
|
|
16582
16600
|
kind: "mutation",
|
|
16583
16601
|
auth: "admin"
|
|
16602
|
+
}), method(object({ ops: array(RecordTransactOpSchema).min(1).max(RECORD_BATCH_MAX) }), object({
|
|
16603
|
+
results: array(object({
|
|
16604
|
+
rev: number().int().nullable(),
|
|
16605
|
+
deleted: boolean()
|
|
16606
|
+
})),
|
|
16607
|
+
releasedRefs: SecretRefsList,
|
|
16608
|
+
secretRefs: SecretRefsList
|
|
16609
|
+
}), {
|
|
16610
|
+
kind: "mutation",
|
|
16611
|
+
auth: "admin"
|
|
16584
16612
|
}), method(object({
|
|
16585
16613
|
deviceId: number().int(),
|
|
16586
16614
|
kinds: array(RecordKindNameSchema).optional()
|
|
@@ -42133,9 +42161,13 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42133
42161
|
"node-updating",
|
|
42134
42162
|
"node-inference-unavailable",
|
|
42135
42163
|
"detection-blind",
|
|
42164
|
+
"motion-noisy",
|
|
42165
|
+
"motion-calm",
|
|
42136
42166
|
"recording-stalled",
|
|
42137
42167
|
"recording-healthy",
|
|
42138
42168
|
"recording-degraded",
|
|
42169
|
+
"device-attention-required",
|
|
42170
|
+
"device-attention-resolved",
|
|
42139
42171
|
"storage-location-low",
|
|
42140
42172
|
"storage-location-critical",
|
|
42141
42173
|
"storage-location-ok",
|
|
@@ -42159,6 +42191,8 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42159
42191
|
"alert-critical",
|
|
42160
42192
|
"alert-error",
|
|
42161
42193
|
"alert-critical-resolved",
|
|
42194
|
+
"rule-broken",
|
|
42195
|
+
"rule-repaired",
|
|
42162
42196
|
"camera-online",
|
|
42163
42197
|
"camera-offline",
|
|
42164
42198
|
"camera-disabled",
|
|
@@ -54694,6 +54728,16 @@ object({
|
|
|
54694
54728
|
powerState: string().nullable(),
|
|
54695
54729
|
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
54696
54730
|
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
54731
|
+
/**
|
|
54732
|
+
* True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
|
|
54733
|
+
* combined care-and-filter reminder raised); false when every such reminder reads clear; null
|
|
54734
|
+
* when none is reported. A cleared reminder is not an unknown one.
|
|
54735
|
+
*/
|
|
54736
|
+
filterCleaningDue: boolean().nullable(),
|
|
54737
|
+
/** True while the machine-care (descaling / cleaning-program) reminder is raised; false when clear; null when not reported. */
|
|
54738
|
+
machineCareDue: boolean().nullable(),
|
|
54739
|
+
/** Program runs left before the machine-care reminder is due; null when the appliance does not say. */
|
|
54740
|
+
machineCareRemainingRuns: number().int().nonnegative().nullable(),
|
|
54697
54741
|
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
54698
54742
|
halfLoad: boolean().nullable(),
|
|
54699
54743
|
hygienePlus: boolean().nullable(),
|
|
@@ -61403,16 +61447,6 @@ var UpdateUserInputSchema = object({
|
|
|
61403
61447
|
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
61404
61448
|
scopes: array(TokenScopeSchema).optional()
|
|
61405
61449
|
});
|
|
61406
|
-
var ApiKeySummarySchema = object({
|
|
61407
|
-
id: string(),
|
|
61408
|
-
label: string(),
|
|
61409
|
-
isAdmin: boolean().default(false),
|
|
61410
|
-
allowedProviders: union([array(string()), literal("*")]).optional(),
|
|
61411
|
-
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
61412
|
-
tokenPrefix: string(),
|
|
61413
|
-
createdAt: number(),
|
|
61414
|
-
lastUsedAt: number().optional()
|
|
61415
|
-
});
|
|
61416
61450
|
var OauthSessionSummarySchema = object({
|
|
61417
61451
|
id: string(),
|
|
61418
61452
|
userId: string(),
|
|
@@ -61434,8 +61468,7 @@ var TotpStatusSchema = object({
|
|
|
61434
61468
|
confirmedAt: number().nullable()
|
|
61435
61469
|
});
|
|
61436
61470
|
/**
|
|
61437
|
-
* user-management — singleton capability for user accounts
|
|
61438
|
-
* legacy API-key rows.
|
|
61471
|
+
* user-management — singleton capability for user accounts.
|
|
61439
61472
|
*
|
|
61440
61473
|
* v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
|
|
61441
61474
|
* — the subset check on `setUserScopes` is moot
|
|
@@ -61491,10 +61524,6 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
61491
61524
|
}), UserSummarySchema.extend({ passwordHash: string() }).nullable(), {
|
|
61492
61525
|
kind: "mutation",
|
|
61493
61526
|
access: "view"
|
|
61494
|
-
}), method(_void(), array(ApiKeySummarySchema), { auth: "admin" }), method(object({ id: string() }), object({ success: literal(true) }), {
|
|
61495
|
-
kind: "mutation",
|
|
61496
|
-
auth: "admin",
|
|
61497
|
-
access: "delete"
|
|
61498
61527
|
}), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
61499
61528
|
kind: "mutation",
|
|
61500
61529
|
auth: "admin",
|
|
@@ -69832,6 +69861,12 @@ Object.freeze({
|
|
|
69832
69861
|
addonId: null,
|
|
69833
69862
|
access: "view"
|
|
69834
69863
|
},
|
|
69864
|
+
"records.transact": {
|
|
69865
|
+
capName: "records",
|
|
69866
|
+
capScope: "system",
|
|
69867
|
+
addonId: null,
|
|
69868
|
+
access: "create"
|
|
69869
|
+
},
|
|
69835
69870
|
"sceneMonitor.captureReference": {
|
|
69836
69871
|
capName: "scene-monitor",
|
|
69837
69872
|
capScope: "device",
|
|
@@ -71164,12 +71199,6 @@ Object.freeze({
|
|
|
71164
71199
|
addonId: null,
|
|
71165
71200
|
access: "view"
|
|
71166
71201
|
},
|
|
71167
|
-
"userManagement.listApiKeys": {
|
|
71168
|
-
capName: "user-management",
|
|
71169
|
-
capScope: "system",
|
|
71170
|
-
addonId: null,
|
|
71171
|
-
access: "view"
|
|
71172
|
-
},
|
|
71173
71202
|
"userManagement.listExternalIdentities": {
|
|
71174
71203
|
capName: "user-management",
|
|
71175
71204
|
capScope: "system",
|
|
@@ -71224,12 +71253,6 @@ Object.freeze({
|
|
|
71224
71253
|
addonId: null,
|
|
71225
71254
|
access: "create"
|
|
71226
71255
|
},
|
|
71227
|
-
"userManagement.revokeApiKey": {
|
|
71228
|
-
capName: "user-management",
|
|
71229
|
-
capScope: "system",
|
|
71230
|
-
addonId: null,
|
|
71231
|
-
access: "delete"
|
|
71232
|
-
},
|
|
71233
71256
|
"userManagement.revokeOauthSession": {
|
|
71234
71257
|
capName: "user-management",
|
|
71235
71258
|
capScope: "system",
|
|
@@ -74660,9 +74683,13 @@ new Map(Object.entries({
|
|
|
74660
74683
|
"stream-online": "device-events",
|
|
74661
74684
|
"stream-offline": "device-events",
|
|
74662
74685
|
"detection-blind": "device-events",
|
|
74686
|
+
"motion-noisy": "device-events",
|
|
74687
|
+
"motion-calm": "device-events",
|
|
74663
74688
|
"recording-stalled": "device-events",
|
|
74664
74689
|
"recording-healthy": "device-events",
|
|
74665
74690
|
"recording-degraded": "device-events",
|
|
74691
|
+
"device-attention-required": "device-events",
|
|
74692
|
+
"device-attention-resolved": "device-events",
|
|
74666
74693
|
"node-online": "system",
|
|
74667
74694
|
"node-offline": "system",
|
|
74668
74695
|
"node-restarting": "system",
|
|
@@ -74679,6 +74706,8 @@ new Map(Object.entries({
|
|
|
74679
74706
|
"alert-critical": "system",
|
|
74680
74707
|
"alert-error": "system",
|
|
74681
74708
|
"alert-critical-resolved": "system",
|
|
74709
|
+
"rule-broken": "system",
|
|
74710
|
+
"rule-repaired": "system",
|
|
74682
74711
|
"storage-location-low": "system",
|
|
74683
74712
|
"storage-location-critical": "system",
|
|
74684
74713
|
"storage-location-ok": "system",
|
|
@@ -74743,6 +74772,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
74743
74772
|
label: "Detecting nothing",
|
|
74744
74773
|
kinds: ["detection-blind"]
|
|
74745
74774
|
},
|
|
74775
|
+
{
|
|
74776
|
+
id: "motion-noise",
|
|
74777
|
+
family: "device-events",
|
|
74778
|
+
label: "Motion without a subject",
|
|
74779
|
+
kinds: ["motion-noisy", "motion-calm"]
|
|
74780
|
+
},
|
|
74746
74781
|
{
|
|
74747
74782
|
id: "recording",
|
|
74748
74783
|
family: "device-events",
|
|
@@ -74753,6 +74788,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
74753
74788
|
"recording-degraded"
|
|
74754
74789
|
]
|
|
74755
74790
|
},
|
|
74791
|
+
{
|
|
74792
|
+
id: "device-attention",
|
|
74793
|
+
family: "device-events",
|
|
74794
|
+
label: "Needs attention",
|
|
74795
|
+
kinds: ["device-attention-required", "device-attention-resolved"]
|
|
74796
|
+
},
|
|
74756
74797
|
{
|
|
74757
74798
|
id: "nodes",
|
|
74758
74799
|
family: "system",
|
|
@@ -74813,6 +74854,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
74813
74854
|
"alert-critical-resolved"
|
|
74814
74855
|
]
|
|
74815
74856
|
},
|
|
74857
|
+
{
|
|
74858
|
+
id: "rule-health",
|
|
74859
|
+
family: "system",
|
|
74860
|
+
label: "Notification rules",
|
|
74861
|
+
kinds: ["rule-broken", "rule-repaired"]
|
|
74862
|
+
},
|
|
74816
74863
|
{
|
|
74817
74864
|
id: "alarm",
|
|
74818
74865
|
family: "alarm",
|
|
@@ -74886,6 +74933,7 @@ var ALERT_EPISODE = [
|
|
|
74886
74933
|
"alert-error",
|
|
74887
74934
|
"alert-critical-resolved"
|
|
74888
74935
|
];
|
|
74936
|
+
var DEVICE_ATTENTION = ["device-attention-required", "device-attention-resolved"];
|
|
74889
74937
|
var UPDATES = [
|
|
74890
74938
|
"addon-update-available",
|
|
74891
74939
|
"server-update-available",
|
|
@@ -74915,9 +74963,12 @@ var DEVICE_EVENTS = [
|
|
|
74915
74963
|
"stream-online",
|
|
74916
74964
|
"stream-offline",
|
|
74917
74965
|
"detection-blind",
|
|
74966
|
+
"motion-noisy",
|
|
74967
|
+
"motion-calm",
|
|
74918
74968
|
"recording-stalled",
|
|
74919
74969
|
"recording-healthy",
|
|
74920
74970
|
"recording-degraded",
|
|
74971
|
+
...DEVICE_ATTENTION,
|
|
74921
74972
|
...ALARM
|
|
74922
74973
|
];
|
|
74923
74974
|
/** Every kind a summary may speak about — the two summarisable families. */
|
|
@@ -75085,7 +75136,13 @@ var STATE_SUMMARY_VARS = [
|
|
|
75085
75136
|
[...RULE_TEXT],
|
|
75086
75137
|
[...RULE_TEXT],
|
|
75087
75138
|
[...RULE_TEXT],
|
|
75088
|
-
|
|
75139
|
+
[...RULE_TEXT],
|
|
75140
|
+
[...RULE_TEXT],
|
|
75141
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
75142
|
+
[...RULE_TEXT],
|
|
75143
|
+
[...RULE_TEXT],
|
|
75144
|
+
[...RULE_TEXT],
|
|
75145
|
+
[...RULE_TEXT],
|
|
75089
75146
|
[...RULE_TEXT],
|
|
75090
75147
|
[...RULE_TEXT],
|
|
75091
75148
|
[...RULE_TEXT],
|
|
@@ -75103,11 +75160,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
75103
75160
|
[...RULE_TEXT],
|
|
75104
75161
|
[...RULE_TEXT],
|
|
75105
75162
|
[...RULE_TEXT],
|
|
75163
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
75106
75164
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
75165
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
75107
75166
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
75108
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
75109
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
75110
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
75167
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
75111
75168
|
[...RULE_TEXT],
|
|
75112
75169
|
[...RULE_TEXT],
|
|
75113
75170
|
[...RULE_TEXT],
|
|
@@ -75128,6 +75185,125 @@ var STATE_SUMMARY_VARS = [
|
|
|
75128
75185
|
[...RULE_TEXT],
|
|
75129
75186
|
...STATE_SUMMARY_VARS
|
|
75130
75187
|
];
|
|
75188
|
+
new Map([
|
|
75189
|
+
{
|
|
75190
|
+
id: "device-connectivity",
|
|
75191
|
+
family: "device-events",
|
|
75192
|
+
label: "Device connectivity (offline / back online)",
|
|
75193
|
+
bad: ["device-offline"],
|
|
75194
|
+
recovery: ["device-online"],
|
|
75195
|
+
snapshotLabel: "Devices offline now",
|
|
75196
|
+
snapshotSection: "device-state"
|
|
75197
|
+
},
|
|
75198
|
+
{
|
|
75199
|
+
id: "device-switch",
|
|
75200
|
+
family: "device-events",
|
|
75201
|
+
label: "Device switched off / back on",
|
|
75202
|
+
bad: ["device-disabled"],
|
|
75203
|
+
recovery: ["device-enabled"],
|
|
75204
|
+
snapshotLabel: "Devices switched off now",
|
|
75205
|
+
snapshotSection: "device-state"
|
|
75206
|
+
},
|
|
75207
|
+
{
|
|
75208
|
+
id: "stream-connectivity",
|
|
75209
|
+
family: "device-events",
|
|
75210
|
+
label: "Stream connectivity (offline / back online)",
|
|
75211
|
+
bad: ["stream-offline"],
|
|
75212
|
+
recovery: ["stream-online"],
|
|
75213
|
+
snapshotLabel: "Streams offline now",
|
|
75214
|
+
snapshotSection: "streams"
|
|
75215
|
+
},
|
|
75216
|
+
{
|
|
75217
|
+
id: "battery",
|
|
75218
|
+
family: "device-events",
|
|
75219
|
+
label: "Battery (low / back to normal)",
|
|
75220
|
+
bad: ["device-battery-low"],
|
|
75221
|
+
recovery: ["device-battery-normal"],
|
|
75222
|
+
snapshotLabel: "Batteries low now",
|
|
75223
|
+
snapshotSection: "battery"
|
|
75224
|
+
},
|
|
75225
|
+
{
|
|
75226
|
+
id: "consumables",
|
|
75227
|
+
family: "device-events",
|
|
75228
|
+
label: "Consumables (low / replaced)",
|
|
75229
|
+
bad: ["device-consumable-low"],
|
|
75230
|
+
recovery: ["device-consumable-normal"],
|
|
75231
|
+
snapshotLabel: "Consumables low now",
|
|
75232
|
+
snapshotSection: "consumables"
|
|
75233
|
+
},
|
|
75234
|
+
{
|
|
75235
|
+
id: "tanks",
|
|
75236
|
+
family: "device-events",
|
|
75237
|
+
label: "Tanks (low or full / back to normal)",
|
|
75238
|
+
bad: ["device-tank-low", "device-tank-full"],
|
|
75239
|
+
recovery: ["device-tank-normal"],
|
|
75240
|
+
snapshotLabel: "Tanks low or full now",
|
|
75241
|
+
snapshotSection: "tanks"
|
|
75242
|
+
},
|
|
75243
|
+
{
|
|
75244
|
+
id: "motion-noise",
|
|
75245
|
+
family: "device-events",
|
|
75246
|
+
label: "Motion without a subject (constant / calm again)",
|
|
75247
|
+
bad: ["motion-noisy"],
|
|
75248
|
+
recovery: ["motion-calm"],
|
|
75249
|
+
snapshotLabel: "Cameras with constant motion now",
|
|
75250
|
+
snapshotSection: null
|
|
75251
|
+
},
|
|
75252
|
+
{
|
|
75253
|
+
id: "recording-health",
|
|
75254
|
+
family: "device-events",
|
|
75255
|
+
label: "Recording health (stalled or degraded / recording again)",
|
|
75256
|
+
bad: ["recording-stalled", "recording-degraded"],
|
|
75257
|
+
recovery: ["recording-healthy"],
|
|
75258
|
+
snapshotLabel: "Recordings stalled now",
|
|
75259
|
+
snapshotSection: null
|
|
75260
|
+
},
|
|
75261
|
+
{
|
|
75262
|
+
id: "device-attention",
|
|
75263
|
+
family: "device-events",
|
|
75264
|
+
label: "Device needs attention (raised / resolved)",
|
|
75265
|
+
bad: ["device-attention-required"],
|
|
75266
|
+
recovery: ["device-attention-resolved"],
|
|
75267
|
+
snapshotLabel: "Devices needing attention now",
|
|
75268
|
+
snapshotSection: null
|
|
75269
|
+
},
|
|
75270
|
+
{
|
|
75271
|
+
id: "node-connectivity",
|
|
75272
|
+
family: "system",
|
|
75273
|
+
label: "Node connectivity (offline / back online)",
|
|
75274
|
+
bad: ["node-offline"],
|
|
75275
|
+
recovery: ["node-online"],
|
|
75276
|
+
snapshotLabel: "Nodes offline now",
|
|
75277
|
+
snapshotSection: "nodes"
|
|
75278
|
+
},
|
|
75279
|
+
{
|
|
75280
|
+
id: "storage-space",
|
|
75281
|
+
family: "system",
|
|
75282
|
+
label: "Storage space (low or critical / ok again)",
|
|
75283
|
+
bad: ["storage-location-low", "storage-location-critical"],
|
|
75284
|
+
recovery: ["storage-location-ok"],
|
|
75285
|
+
snapshotLabel: "Storage locations low now",
|
|
75286
|
+
snapshotSection: null
|
|
75287
|
+
},
|
|
75288
|
+
{
|
|
75289
|
+
id: "critical-alerts",
|
|
75290
|
+
family: "system",
|
|
75291
|
+
label: "Critical alerts (raised / resolved)",
|
|
75292
|
+
bad: ["alert-critical"],
|
|
75293
|
+
recovery: ["alert-critical-resolved"],
|
|
75294
|
+
snapshotLabel: "Critical alerts open now",
|
|
75295
|
+
snapshotSection: null
|
|
75296
|
+
},
|
|
75297
|
+
{
|
|
75298
|
+
id: "rule-health",
|
|
75299
|
+
family: "system",
|
|
75300
|
+
label: "Rule health (broken / repaired)",
|
|
75301
|
+
bad: ["rule-broken"],
|
|
75302
|
+
recovery: ["rule-repaired"],
|
|
75303
|
+
snapshotLabel: "Notification rules broken now",
|
|
75304
|
+
snapshotSection: null
|
|
75305
|
+
}
|
|
75306
|
+
].flatMap((spec) => [...spec.bad, ...spec.recovery].map((kind) => [kind, spec])));
|
|
75131
75307
|
new Set([
|
|
75132
75308
|
"disarmed",
|
|
75133
75309
|
"armed_home",
|
|
@@ -85125,8 +85301,6 @@ var OnvifProviderAddon = class extends BaseDeviceProvider {
|
|
|
85125
85301
|
id: "discovery",
|
|
85126
85302
|
title: "ONVIF Discovery",
|
|
85127
85303
|
titleKey: "provider-onvif:globalSettings.s_discovery.title",
|
|
85128
|
-
description: "Find ONVIF cameras on the local network when you add a device",
|
|
85129
|
-
descriptionKey: "provider-onvif:globalSettings.s_discovery.description",
|
|
85130
85304
|
columns: 2,
|
|
85131
85305
|
fields: [{
|
|
85132
85306
|
type: "number",
|
|
@@ -85142,8 +85316,6 @@ var OnvifProviderAddon = class extends BaseDeviceProvider {
|
|
|
85142
85316
|
id: "credentials",
|
|
85143
85317
|
title: "Default Credentials",
|
|
85144
85318
|
titleKey: "provider-onvif:globalSettings.s_credentials.title",
|
|
85145
|
-
description: "Default credentials for discovered cameras",
|
|
85146
|
-
descriptionKey: "provider-onvif:globalSettings.s_credentials.description",
|
|
85147
85319
|
columns: 2,
|
|
85148
85320
|
fields: [{
|
|
85149
85321
|
type: "text",
|
package/dist/addon.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import { createRequire } from "node:module";
|
|
|
3
3
|
var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
|
|
4
4
|
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
5
5
|
//#endregion
|
|
6
|
-
//#region ../types/dist/event-category-
|
|
6
|
+
//#region ../types/dist/event-category-BfJwUd2S.mjs
|
|
7
7
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
8
8
|
EventCategory["SystemBoot"] = "system.boot";
|
|
9
9
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -320,6 +320,15 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
320
320
|
*/
|
|
321
321
|
EventCategory["PipelineDetectionBlind"] = "pipeline.detection-blind";
|
|
322
322
|
/**
|
|
323
|
+
* A camera's motion source has fired constantly with no subject for an hour
|
|
324
|
+
* (motion duty or session count over the bar, zero detections) — it is not
|
|
325
|
+
* blind, its motion zones or sensitivity want tuning (D907). Paired with
|
|
326
|
+
* {@link PipelineMotionCalm}.
|
|
327
|
+
*/
|
|
328
|
+
EventCategory["PipelineMotionNoisy"] = "pipeline.motion-noisy";
|
|
329
|
+
/** The recovery edge of {@link PipelineMotionNoisy}: the motion fell back, or a detection arrived. */
|
|
330
|
+
EventCategory["PipelineMotionCalm"] = "pipeline.motion-calm";
|
|
331
|
+
/**
|
|
323
332
|
* Per-camera pipeline config was mutated by the orchestrator
|
|
324
333
|
* (3-level settings change via `setAgentAddonDefaults` /
|
|
325
334
|
* `setCameraStepToggle` / `setCameraPipelineForAgent` or a
|
|
@@ -691,6 +700,14 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
691
700
|
EventCategory["BackupRestored"] = "backup.restored";
|
|
692
701
|
EventCategory["NotificationDispatched"] = "notification.dispatched";
|
|
693
702
|
EventCategory["NotificationFailed"] = "notification.failed";
|
|
703
|
+
/**
|
|
704
|
+
* A notification rule that cannot work (D905): its stored row does not load,
|
|
705
|
+
* or it still names a device / delivery target the prune CONFIRMED deleted.
|
|
706
|
+
* One edge per rule per distinct set of reasons; never on an unanswered read.
|
|
707
|
+
*/
|
|
708
|
+
EventCategory["NotificationRuleBroken"] = "notification.rule-broken";
|
|
709
|
+
/** The clear of {@link NotificationRuleBroken}: the rule loads and names nothing deleted. */
|
|
710
|
+
EventCategory["NotificationRuleRepaired"] = "notification.rule-repaired";
|
|
694
711
|
EventCategory["DeviceUpdated"] = "device.updated";
|
|
695
712
|
/**
|
|
696
713
|
* Transport-level connectivity. Emitted by the device driver when
|
|
@@ -5418,7 +5435,7 @@ var ZodIssueCode = {
|
|
|
5418
5435
|
var ZodFirstPartyTypeKind;
|
|
5419
5436
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5420
5437
|
//#endregion
|
|
5421
|
-
//#region ../types/dist/sleep-
|
|
5438
|
+
//#region ../types/dist/sleep-DJFUfKvA.mjs
|
|
5422
5439
|
/**
|
|
5423
5440
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5424
5441
|
* window to float samples (D455).
|
|
@@ -7880,7 +7897,7 @@ var EntryDescriptorSchema = object({
|
|
|
7880
7897
|
/** JSON Schema of the entry body; `secret: true` marks a password field. */
|
|
7881
7898
|
fields: record(string(), unknown())
|
|
7882
7899
|
}).strict();
|
|
7883
|
-
/** What crosses the wire
|
|
7900
|
+
/** What crosses the wire from an addon: JSON only, no Zod. An unknown key is refused. */
|
|
7884
7901
|
var RecordKindDeclarationSchema = object({
|
|
7885
7902
|
database: _enum(RECORD_DATABASES).default("settings"),
|
|
7886
7903
|
class: _enum(RECORD_CLASSES),
|
|
@@ -7899,14 +7916,6 @@ var RecordKindDeclarationSchema = object({
|
|
|
7899
7916
|
secretPaths: array(string().min(1)).default([]),
|
|
7900
7917
|
/** The id key of each array that carries a secret (`{ headers: 'name' }`). */
|
|
7901
7918
|
secretArrayKeys: record(string(), string()).default({}),
|
|
7902
|
-
/**
|
|
7903
|
-
* RETIRED (D900): the legacy table a kind adopted from during the records
|
|
7904
|
-
* migration. Nothing declares it any more and nothing reads it; the schema
|
|
7905
|
-
* still ACCEPTS it because the catalog rows the migration wrote carry it
|
|
7906
|
-
* (an orphaned kind is never redeclared) and an addon built before the
|
|
7907
|
-
* removal still sends it. Never set it.
|
|
7908
|
-
*/
|
|
7909
|
-
adoptsFrom: string().min(1).optional(),
|
|
7910
7919
|
/** Kinds that must agree through `transact` sit in one file under one family name. */
|
|
7911
7920
|
transactFamily: string().min(1).optional(),
|
|
7912
7921
|
entry: EntryDescriptorSchema.optional()
|
|
@@ -12580,17 +12589,6 @@ object({
|
|
|
12580
12589
|
createdAt: number(),
|
|
12581
12590
|
updatedAt: number()
|
|
12582
12591
|
});
|
|
12583
|
-
object({
|
|
12584
|
-
id: string(),
|
|
12585
|
-
label: string(),
|
|
12586
|
-
isAdmin: boolean().default(false),
|
|
12587
|
-
allowedProviders: AllowedProviderSchema,
|
|
12588
|
-
allowedDevices: AllowedDevicesSchema,
|
|
12589
|
-
tokenHash: string(),
|
|
12590
|
-
tokenPrefix: string(),
|
|
12591
|
-
createdAt: number(),
|
|
12592
|
-
lastUsedAt: number().optional()
|
|
12593
|
-
});
|
|
12594
12592
|
object({
|
|
12595
12593
|
id: string(),
|
|
12596
12594
|
userId: string(),
|
|
@@ -16466,16 +16464,36 @@ var RecordKindStateSchema = _enum([
|
|
|
16466
16464
|
var DeclareKindResultSchema = object({
|
|
16467
16465
|
kindId: number().int(),
|
|
16468
16466
|
state: RecordKindStateSchema,
|
|
16469
|
-
createdIndexes: array(string())
|
|
16470
|
-
/**
|
|
16471
|
-
* RETIRED (D900): always `null`. It carried the records-migration boot guard;
|
|
16472
|
-
* it stays on the wire, null, because an addon built before the removal reads
|
|
16473
|
-
* an ABSENT field as "adoption pending" and refuses to start.
|
|
16474
|
-
*/
|
|
16475
|
-
adoptionPending: _null()
|
|
16467
|
+
createdIndexes: array(string())
|
|
16476
16468
|
});
|
|
16477
16469
|
/** Keychain refs a write released (the old marker is gone from the row): the owner deletes the values. */
|
|
16478
16470
|
var SecretRefsList = array(string());
|
|
16471
|
+
/**
|
|
16472
|
+
* One op of a `transact`: the single-row writes, each on a kind of the caller.
|
|
16473
|
+
* All ops of one call share ONE database file and ONE `transactFamily`.
|
|
16474
|
+
*/
|
|
16475
|
+
var RecordTransactOpSchema = discriminatedUnion("op", [
|
|
16476
|
+
object({
|
|
16477
|
+
op: literal("put"),
|
|
16478
|
+
kind: RecordKindNameSchema,
|
|
16479
|
+
record: RecordInputSchema,
|
|
16480
|
+
ifRev: number().int().min(0).optional()
|
|
16481
|
+
}),
|
|
16482
|
+
object({
|
|
16483
|
+
op: literal("patch"),
|
|
16484
|
+
kind: RecordKindNameSchema,
|
|
16485
|
+
id: RecordIdSchema,
|
|
16486
|
+
data: RecordBodySchema,
|
|
16487
|
+
at: number().int().nullable().optional(),
|
|
16488
|
+
expiresAt: number().int().nullable().optional(),
|
|
16489
|
+
ifRev: number().int().min(1).optional()
|
|
16490
|
+
}),
|
|
16491
|
+
object({
|
|
16492
|
+
op: literal("delete"),
|
|
16493
|
+
kind: RecordKindNameSchema,
|
|
16494
|
+
id: RecordIdSchema
|
|
16495
|
+
})
|
|
16496
|
+
]);
|
|
16479
16497
|
var RecordSecretRefsSchema = record(string(), record(string(), string()));
|
|
16480
16498
|
method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema) }), object({ kinds: record(string(), DeclareKindResultSchema) }), {
|
|
16481
16499
|
kind: "mutation",
|
|
@@ -16582,6 +16600,16 @@ method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema)
|
|
|
16582
16600
|
}), {
|
|
16583
16601
|
kind: "mutation",
|
|
16584
16602
|
auth: "admin"
|
|
16603
|
+
}), method(object({ ops: array(RecordTransactOpSchema).min(1).max(RECORD_BATCH_MAX) }), object({
|
|
16604
|
+
results: array(object({
|
|
16605
|
+
rev: number().int().nullable(),
|
|
16606
|
+
deleted: boolean()
|
|
16607
|
+
})),
|
|
16608
|
+
releasedRefs: SecretRefsList,
|
|
16609
|
+
secretRefs: SecretRefsList
|
|
16610
|
+
}), {
|
|
16611
|
+
kind: "mutation",
|
|
16612
|
+
auth: "admin"
|
|
16585
16613
|
}), method(object({
|
|
16586
16614
|
deviceId: number().int(),
|
|
16587
16615
|
kinds: array(RecordKindNameSchema).optional()
|
|
@@ -42134,9 +42162,13 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42134
42162
|
"node-updating",
|
|
42135
42163
|
"node-inference-unavailable",
|
|
42136
42164
|
"detection-blind",
|
|
42165
|
+
"motion-noisy",
|
|
42166
|
+
"motion-calm",
|
|
42137
42167
|
"recording-stalled",
|
|
42138
42168
|
"recording-healthy",
|
|
42139
42169
|
"recording-degraded",
|
|
42170
|
+
"device-attention-required",
|
|
42171
|
+
"device-attention-resolved",
|
|
42140
42172
|
"storage-location-low",
|
|
42141
42173
|
"storage-location-critical",
|
|
42142
42174
|
"storage-location-ok",
|
|
@@ -42160,6 +42192,8 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42160
42192
|
"alert-critical",
|
|
42161
42193
|
"alert-error",
|
|
42162
42194
|
"alert-critical-resolved",
|
|
42195
|
+
"rule-broken",
|
|
42196
|
+
"rule-repaired",
|
|
42163
42197
|
"camera-online",
|
|
42164
42198
|
"camera-offline",
|
|
42165
42199
|
"camera-disabled",
|
|
@@ -54695,6 +54729,16 @@ object({
|
|
|
54695
54729
|
powerState: string().nullable(),
|
|
54696
54730
|
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
54697
54731
|
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
54732
|
+
/**
|
|
54733
|
+
* True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
|
|
54734
|
+
* combined care-and-filter reminder raised); false when every such reminder reads clear; null
|
|
54735
|
+
* when none is reported. A cleared reminder is not an unknown one.
|
|
54736
|
+
*/
|
|
54737
|
+
filterCleaningDue: boolean().nullable(),
|
|
54738
|
+
/** True while the machine-care (descaling / cleaning-program) reminder is raised; false when clear; null when not reported. */
|
|
54739
|
+
machineCareDue: boolean().nullable(),
|
|
54740
|
+
/** Program runs left before the machine-care reminder is due; null when the appliance does not say. */
|
|
54741
|
+
machineCareRemainingRuns: number().int().nonnegative().nullable(),
|
|
54698
54742
|
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
54699
54743
|
halfLoad: boolean().nullable(),
|
|
54700
54744
|
hygienePlus: boolean().nullable(),
|
|
@@ -61404,16 +61448,6 @@ var UpdateUserInputSchema = object({
|
|
|
61404
61448
|
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
61405
61449
|
scopes: array(TokenScopeSchema).optional()
|
|
61406
61450
|
});
|
|
61407
|
-
var ApiKeySummarySchema = object({
|
|
61408
|
-
id: string(),
|
|
61409
|
-
label: string(),
|
|
61410
|
-
isAdmin: boolean().default(false),
|
|
61411
|
-
allowedProviders: union([array(string()), literal("*")]).optional(),
|
|
61412
|
-
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
61413
|
-
tokenPrefix: string(),
|
|
61414
|
-
createdAt: number(),
|
|
61415
|
-
lastUsedAt: number().optional()
|
|
61416
|
-
});
|
|
61417
61451
|
var OauthSessionSummarySchema = object({
|
|
61418
61452
|
id: string(),
|
|
61419
61453
|
userId: string(),
|
|
@@ -61435,8 +61469,7 @@ var TotpStatusSchema = object({
|
|
|
61435
61469
|
confirmedAt: number().nullable()
|
|
61436
61470
|
});
|
|
61437
61471
|
/**
|
|
61438
|
-
* user-management — singleton capability for user accounts
|
|
61439
|
-
* legacy API-key rows.
|
|
61472
|
+
* user-management — singleton capability for user accounts.
|
|
61440
61473
|
*
|
|
61441
61474
|
* v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
|
|
61442
61475
|
* — the subset check on `setUserScopes` is moot
|
|
@@ -61492,10 +61525,6 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
61492
61525
|
}), UserSummarySchema.extend({ passwordHash: string() }).nullable(), {
|
|
61493
61526
|
kind: "mutation",
|
|
61494
61527
|
access: "view"
|
|
61495
|
-
}), method(_void(), array(ApiKeySummarySchema), { auth: "admin" }), method(object({ id: string() }), object({ success: literal(true) }), {
|
|
61496
|
-
kind: "mutation",
|
|
61497
|
-
auth: "admin",
|
|
61498
|
-
access: "delete"
|
|
61499
61528
|
}), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
61500
61529
|
kind: "mutation",
|
|
61501
61530
|
auth: "admin",
|
|
@@ -69833,6 +69862,12 @@ Object.freeze({
|
|
|
69833
69862
|
addonId: null,
|
|
69834
69863
|
access: "view"
|
|
69835
69864
|
},
|
|
69865
|
+
"records.transact": {
|
|
69866
|
+
capName: "records",
|
|
69867
|
+
capScope: "system",
|
|
69868
|
+
addonId: null,
|
|
69869
|
+
access: "create"
|
|
69870
|
+
},
|
|
69836
69871
|
"sceneMonitor.captureReference": {
|
|
69837
69872
|
capName: "scene-monitor",
|
|
69838
69873
|
capScope: "device",
|
|
@@ -71165,12 +71200,6 @@ Object.freeze({
|
|
|
71165
71200
|
addonId: null,
|
|
71166
71201
|
access: "view"
|
|
71167
71202
|
},
|
|
71168
|
-
"userManagement.listApiKeys": {
|
|
71169
|
-
capName: "user-management",
|
|
71170
|
-
capScope: "system",
|
|
71171
|
-
addonId: null,
|
|
71172
|
-
access: "view"
|
|
71173
|
-
},
|
|
71174
71203
|
"userManagement.listExternalIdentities": {
|
|
71175
71204
|
capName: "user-management",
|
|
71176
71205
|
capScope: "system",
|
|
@@ -71225,12 +71254,6 @@ Object.freeze({
|
|
|
71225
71254
|
addonId: null,
|
|
71226
71255
|
access: "create"
|
|
71227
71256
|
},
|
|
71228
|
-
"userManagement.revokeApiKey": {
|
|
71229
|
-
capName: "user-management",
|
|
71230
|
-
capScope: "system",
|
|
71231
|
-
addonId: null,
|
|
71232
|
-
access: "delete"
|
|
71233
|
-
},
|
|
71234
71257
|
"userManagement.revokeOauthSession": {
|
|
71235
71258
|
capName: "user-management",
|
|
71236
71259
|
capScope: "system",
|
|
@@ -74661,9 +74684,13 @@ new Map(Object.entries({
|
|
|
74661
74684
|
"stream-online": "device-events",
|
|
74662
74685
|
"stream-offline": "device-events",
|
|
74663
74686
|
"detection-blind": "device-events",
|
|
74687
|
+
"motion-noisy": "device-events",
|
|
74688
|
+
"motion-calm": "device-events",
|
|
74664
74689
|
"recording-stalled": "device-events",
|
|
74665
74690
|
"recording-healthy": "device-events",
|
|
74666
74691
|
"recording-degraded": "device-events",
|
|
74692
|
+
"device-attention-required": "device-events",
|
|
74693
|
+
"device-attention-resolved": "device-events",
|
|
74667
74694
|
"node-online": "system",
|
|
74668
74695
|
"node-offline": "system",
|
|
74669
74696
|
"node-restarting": "system",
|
|
@@ -74680,6 +74707,8 @@ new Map(Object.entries({
|
|
|
74680
74707
|
"alert-critical": "system",
|
|
74681
74708
|
"alert-error": "system",
|
|
74682
74709
|
"alert-critical-resolved": "system",
|
|
74710
|
+
"rule-broken": "system",
|
|
74711
|
+
"rule-repaired": "system",
|
|
74683
74712
|
"storage-location-low": "system",
|
|
74684
74713
|
"storage-location-critical": "system",
|
|
74685
74714
|
"storage-location-ok": "system",
|
|
@@ -74744,6 +74773,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
74744
74773
|
label: "Detecting nothing",
|
|
74745
74774
|
kinds: ["detection-blind"]
|
|
74746
74775
|
},
|
|
74776
|
+
{
|
|
74777
|
+
id: "motion-noise",
|
|
74778
|
+
family: "device-events",
|
|
74779
|
+
label: "Motion without a subject",
|
|
74780
|
+
kinds: ["motion-noisy", "motion-calm"]
|
|
74781
|
+
},
|
|
74747
74782
|
{
|
|
74748
74783
|
id: "recording",
|
|
74749
74784
|
family: "device-events",
|
|
@@ -74754,6 +74789,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
74754
74789
|
"recording-degraded"
|
|
74755
74790
|
]
|
|
74756
74791
|
},
|
|
74792
|
+
{
|
|
74793
|
+
id: "device-attention",
|
|
74794
|
+
family: "device-events",
|
|
74795
|
+
label: "Needs attention",
|
|
74796
|
+
kinds: ["device-attention-required", "device-attention-resolved"]
|
|
74797
|
+
},
|
|
74757
74798
|
{
|
|
74758
74799
|
id: "nodes",
|
|
74759
74800
|
family: "system",
|
|
@@ -74814,6 +74855,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
74814
74855
|
"alert-critical-resolved"
|
|
74815
74856
|
]
|
|
74816
74857
|
},
|
|
74858
|
+
{
|
|
74859
|
+
id: "rule-health",
|
|
74860
|
+
family: "system",
|
|
74861
|
+
label: "Notification rules",
|
|
74862
|
+
kinds: ["rule-broken", "rule-repaired"]
|
|
74863
|
+
},
|
|
74817
74864
|
{
|
|
74818
74865
|
id: "alarm",
|
|
74819
74866
|
family: "alarm",
|
|
@@ -74887,6 +74934,7 @@ var ALERT_EPISODE = [
|
|
|
74887
74934
|
"alert-error",
|
|
74888
74935
|
"alert-critical-resolved"
|
|
74889
74936
|
];
|
|
74937
|
+
var DEVICE_ATTENTION = ["device-attention-required", "device-attention-resolved"];
|
|
74890
74938
|
var UPDATES = [
|
|
74891
74939
|
"addon-update-available",
|
|
74892
74940
|
"server-update-available",
|
|
@@ -74916,9 +74964,12 @@ var DEVICE_EVENTS = [
|
|
|
74916
74964
|
"stream-online",
|
|
74917
74965
|
"stream-offline",
|
|
74918
74966
|
"detection-blind",
|
|
74967
|
+
"motion-noisy",
|
|
74968
|
+
"motion-calm",
|
|
74919
74969
|
"recording-stalled",
|
|
74920
74970
|
"recording-healthy",
|
|
74921
74971
|
"recording-degraded",
|
|
74972
|
+
...DEVICE_ATTENTION,
|
|
74922
74973
|
...ALARM
|
|
74923
74974
|
];
|
|
74924
74975
|
/** Every kind a summary may speak about — the two summarisable families. */
|
|
@@ -75086,7 +75137,13 @@ var STATE_SUMMARY_VARS = [
|
|
|
75086
75137
|
[...RULE_TEXT],
|
|
75087
75138
|
[...RULE_TEXT],
|
|
75088
75139
|
[...RULE_TEXT],
|
|
75089
|
-
|
|
75140
|
+
[...RULE_TEXT],
|
|
75141
|
+
[...RULE_TEXT],
|
|
75142
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
75143
|
+
[...RULE_TEXT],
|
|
75144
|
+
[...RULE_TEXT],
|
|
75145
|
+
[...RULE_TEXT],
|
|
75146
|
+
[...RULE_TEXT],
|
|
75090
75147
|
[...RULE_TEXT],
|
|
75091
75148
|
[...RULE_TEXT],
|
|
75092
75149
|
[...RULE_TEXT],
|
|
@@ -75104,11 +75161,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
75104
75161
|
[...RULE_TEXT],
|
|
75105
75162
|
[...RULE_TEXT],
|
|
75106
75163
|
[...RULE_TEXT],
|
|
75164
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
75107
75165
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
75166
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
75108
75167
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
75109
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
75110
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
75111
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
75168
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
75112
75169
|
[...RULE_TEXT],
|
|
75113
75170
|
[...RULE_TEXT],
|
|
75114
75171
|
[...RULE_TEXT],
|
|
@@ -75129,6 +75186,125 @@ var STATE_SUMMARY_VARS = [
|
|
|
75129
75186
|
[...RULE_TEXT],
|
|
75130
75187
|
...STATE_SUMMARY_VARS
|
|
75131
75188
|
];
|
|
75189
|
+
new Map([
|
|
75190
|
+
{
|
|
75191
|
+
id: "device-connectivity",
|
|
75192
|
+
family: "device-events",
|
|
75193
|
+
label: "Device connectivity (offline / back online)",
|
|
75194
|
+
bad: ["device-offline"],
|
|
75195
|
+
recovery: ["device-online"],
|
|
75196
|
+
snapshotLabel: "Devices offline now",
|
|
75197
|
+
snapshotSection: "device-state"
|
|
75198
|
+
},
|
|
75199
|
+
{
|
|
75200
|
+
id: "device-switch",
|
|
75201
|
+
family: "device-events",
|
|
75202
|
+
label: "Device switched off / back on",
|
|
75203
|
+
bad: ["device-disabled"],
|
|
75204
|
+
recovery: ["device-enabled"],
|
|
75205
|
+
snapshotLabel: "Devices switched off now",
|
|
75206
|
+
snapshotSection: "device-state"
|
|
75207
|
+
},
|
|
75208
|
+
{
|
|
75209
|
+
id: "stream-connectivity",
|
|
75210
|
+
family: "device-events",
|
|
75211
|
+
label: "Stream connectivity (offline / back online)",
|
|
75212
|
+
bad: ["stream-offline"],
|
|
75213
|
+
recovery: ["stream-online"],
|
|
75214
|
+
snapshotLabel: "Streams offline now",
|
|
75215
|
+
snapshotSection: "streams"
|
|
75216
|
+
},
|
|
75217
|
+
{
|
|
75218
|
+
id: "battery",
|
|
75219
|
+
family: "device-events",
|
|
75220
|
+
label: "Battery (low / back to normal)",
|
|
75221
|
+
bad: ["device-battery-low"],
|
|
75222
|
+
recovery: ["device-battery-normal"],
|
|
75223
|
+
snapshotLabel: "Batteries low now",
|
|
75224
|
+
snapshotSection: "battery"
|
|
75225
|
+
},
|
|
75226
|
+
{
|
|
75227
|
+
id: "consumables",
|
|
75228
|
+
family: "device-events",
|
|
75229
|
+
label: "Consumables (low / replaced)",
|
|
75230
|
+
bad: ["device-consumable-low"],
|
|
75231
|
+
recovery: ["device-consumable-normal"],
|
|
75232
|
+
snapshotLabel: "Consumables low now",
|
|
75233
|
+
snapshotSection: "consumables"
|
|
75234
|
+
},
|
|
75235
|
+
{
|
|
75236
|
+
id: "tanks",
|
|
75237
|
+
family: "device-events",
|
|
75238
|
+
label: "Tanks (low or full / back to normal)",
|
|
75239
|
+
bad: ["device-tank-low", "device-tank-full"],
|
|
75240
|
+
recovery: ["device-tank-normal"],
|
|
75241
|
+
snapshotLabel: "Tanks low or full now",
|
|
75242
|
+
snapshotSection: "tanks"
|
|
75243
|
+
},
|
|
75244
|
+
{
|
|
75245
|
+
id: "motion-noise",
|
|
75246
|
+
family: "device-events",
|
|
75247
|
+
label: "Motion without a subject (constant / calm again)",
|
|
75248
|
+
bad: ["motion-noisy"],
|
|
75249
|
+
recovery: ["motion-calm"],
|
|
75250
|
+
snapshotLabel: "Cameras with constant motion now",
|
|
75251
|
+
snapshotSection: null
|
|
75252
|
+
},
|
|
75253
|
+
{
|
|
75254
|
+
id: "recording-health",
|
|
75255
|
+
family: "device-events",
|
|
75256
|
+
label: "Recording health (stalled or degraded / recording again)",
|
|
75257
|
+
bad: ["recording-stalled", "recording-degraded"],
|
|
75258
|
+
recovery: ["recording-healthy"],
|
|
75259
|
+
snapshotLabel: "Recordings stalled now",
|
|
75260
|
+
snapshotSection: null
|
|
75261
|
+
},
|
|
75262
|
+
{
|
|
75263
|
+
id: "device-attention",
|
|
75264
|
+
family: "device-events",
|
|
75265
|
+
label: "Device needs attention (raised / resolved)",
|
|
75266
|
+
bad: ["device-attention-required"],
|
|
75267
|
+
recovery: ["device-attention-resolved"],
|
|
75268
|
+
snapshotLabel: "Devices needing attention now",
|
|
75269
|
+
snapshotSection: null
|
|
75270
|
+
},
|
|
75271
|
+
{
|
|
75272
|
+
id: "node-connectivity",
|
|
75273
|
+
family: "system",
|
|
75274
|
+
label: "Node connectivity (offline / back online)",
|
|
75275
|
+
bad: ["node-offline"],
|
|
75276
|
+
recovery: ["node-online"],
|
|
75277
|
+
snapshotLabel: "Nodes offline now",
|
|
75278
|
+
snapshotSection: "nodes"
|
|
75279
|
+
},
|
|
75280
|
+
{
|
|
75281
|
+
id: "storage-space",
|
|
75282
|
+
family: "system",
|
|
75283
|
+
label: "Storage space (low or critical / ok again)",
|
|
75284
|
+
bad: ["storage-location-low", "storage-location-critical"],
|
|
75285
|
+
recovery: ["storage-location-ok"],
|
|
75286
|
+
snapshotLabel: "Storage locations low now",
|
|
75287
|
+
snapshotSection: null
|
|
75288
|
+
},
|
|
75289
|
+
{
|
|
75290
|
+
id: "critical-alerts",
|
|
75291
|
+
family: "system",
|
|
75292
|
+
label: "Critical alerts (raised / resolved)",
|
|
75293
|
+
bad: ["alert-critical"],
|
|
75294
|
+
recovery: ["alert-critical-resolved"],
|
|
75295
|
+
snapshotLabel: "Critical alerts open now",
|
|
75296
|
+
snapshotSection: null
|
|
75297
|
+
},
|
|
75298
|
+
{
|
|
75299
|
+
id: "rule-health",
|
|
75300
|
+
family: "system",
|
|
75301
|
+
label: "Rule health (broken / repaired)",
|
|
75302
|
+
bad: ["rule-broken"],
|
|
75303
|
+
recovery: ["rule-repaired"],
|
|
75304
|
+
snapshotLabel: "Notification rules broken now",
|
|
75305
|
+
snapshotSection: null
|
|
75306
|
+
}
|
|
75307
|
+
].flatMap((spec) => [...spec.bad, ...spec.recovery].map((kind) => [kind, spec])));
|
|
75132
75308
|
new Set([
|
|
75133
75309
|
"disarmed",
|
|
75134
75310
|
"armed_home",
|
|
@@ -85126,8 +85302,6 @@ var OnvifProviderAddon = class extends BaseDeviceProvider {
|
|
|
85126
85302
|
id: "discovery",
|
|
85127
85303
|
title: "ONVIF Discovery",
|
|
85128
85304
|
titleKey: "provider-onvif:globalSettings.s_discovery.title",
|
|
85129
|
-
description: "Find ONVIF cameras on the local network when you add a device",
|
|
85130
|
-
descriptionKey: "provider-onvif:globalSettings.s_discovery.description",
|
|
85131
85305
|
columns: 2,
|
|
85132
85306
|
fields: [{
|
|
85133
85307
|
type: "number",
|
|
@@ -85143,8 +85317,6 @@ var OnvifProviderAddon = class extends BaseDeviceProvider {
|
|
|
85143
85317
|
id: "credentials",
|
|
85144
85318
|
title: "Default Credentials",
|
|
85145
85319
|
titleKey: "provider-onvif:globalSettings.s_credentials.title",
|
|
85146
|
-
description: "Default credentials for discovered cameras",
|
|
85147
|
-
descriptionKey: "provider-onvif:globalSettings.s_credentials.description",
|
|
85148
85320
|
columns: 2,
|
|
85149
85321
|
fields: [{
|
|
85150
85322
|
type: "text",
|
package/i18n/en.json
CHANGED
|
@@ -6,9 +6,7 @@
|
|
|
6
6
|
"onGetCreation.s_connection.username.label": "Username",
|
|
7
7
|
"onGetCreation.s_connection.password.label": "Password",
|
|
8
8
|
"globalSettings.s_discovery.title": "ONVIF Discovery",
|
|
9
|
-
"globalSettings.s_discovery.description": "Find ONVIF cameras on the local network when you add a device",
|
|
10
9
|
"globalSettings.s_credentials.title": "Default Credentials",
|
|
11
|
-
"globalSettings.s_credentials.description": "Default credentials for discovered cameras",
|
|
12
10
|
"globalSettings.s_credentials.defaultUsername.label": "Default Username",
|
|
13
11
|
"globalSettings.s_credentials.defaultPassword.label": "Default Password"
|
|
14
12
|
}
|
package/i18n/it.json
CHANGED
|
@@ -6,9 +6,7 @@
|
|
|
6
6
|
"onGetCreation.s_connection.username.label": "Nome utente",
|
|
7
7
|
"onGetCreation.s_connection.password.label": "Password",
|
|
8
8
|
"globalSettings.s_discovery.title": "Rilevamento ONVIF",
|
|
9
|
-
"globalSettings.s_discovery.description": "Trova le telecamere ONVIF sulla rete locale quando aggiungi un dispositivo",
|
|
10
9
|
"globalSettings.s_credentials.title": "Credenziali predefinite",
|
|
11
|
-
"globalSettings.s_credentials.description": "Credenziali predefinite per le telecamere rilevate",
|
|
12
10
|
"globalSettings.s_credentials.defaultUsername.label": "Nome utente predefinito",
|
|
13
11
|
"globalSettings.s_credentials.defaultPassword.label": "Password predefinita"
|
|
14
12
|
}
|