@camstack/addon-provider-rademacher 0.2.140 → 0.2.142
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 +238 -62
- package/dist/addon.mjs +238 -62
- package/i18n/en.json +1 -1
- package/i18n/it.json +1 -1
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -984,7 +984,7 @@ var Rademacher = class {
|
|
|
984
984
|
}
|
|
985
985
|
};
|
|
986
986
|
//#endregion
|
|
987
|
-
//#region ../types/dist/event-category-
|
|
987
|
+
//#region ../types/dist/event-category-BfJwUd2S.mjs
|
|
988
988
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
989
989
|
EventCategory["SystemBoot"] = "system.boot";
|
|
990
990
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -1301,6 +1301,15 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
1301
1301
|
*/
|
|
1302
1302
|
EventCategory["PipelineDetectionBlind"] = "pipeline.detection-blind";
|
|
1303
1303
|
/**
|
|
1304
|
+
* A camera's motion source has fired constantly with no subject for an hour
|
|
1305
|
+
* (motion duty or session count over the bar, zero detections) — it is not
|
|
1306
|
+
* blind, its motion zones or sensitivity want tuning (D907). Paired with
|
|
1307
|
+
* {@link PipelineMotionCalm}.
|
|
1308
|
+
*/
|
|
1309
|
+
EventCategory["PipelineMotionNoisy"] = "pipeline.motion-noisy";
|
|
1310
|
+
/** The recovery edge of {@link PipelineMotionNoisy}: the motion fell back, or a detection arrived. */
|
|
1311
|
+
EventCategory["PipelineMotionCalm"] = "pipeline.motion-calm";
|
|
1312
|
+
/**
|
|
1304
1313
|
* Per-camera pipeline config was mutated by the orchestrator
|
|
1305
1314
|
* (3-level settings change via `setAgentAddonDefaults` /
|
|
1306
1315
|
* `setCameraStepToggle` / `setCameraPipelineForAgent` or a
|
|
@@ -1672,6 +1681,14 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
1672
1681
|
EventCategory["BackupRestored"] = "backup.restored";
|
|
1673
1682
|
EventCategory["NotificationDispatched"] = "notification.dispatched";
|
|
1674
1683
|
EventCategory["NotificationFailed"] = "notification.failed";
|
|
1684
|
+
/**
|
|
1685
|
+
* A notification rule that cannot work (D905): its stored row does not load,
|
|
1686
|
+
* or it still names a device / delivery target the prune CONFIRMED deleted.
|
|
1687
|
+
* One edge per rule per distinct set of reasons; never on an unanswered read.
|
|
1688
|
+
*/
|
|
1689
|
+
EventCategory["NotificationRuleBroken"] = "notification.rule-broken";
|
|
1690
|
+
/** The clear of {@link NotificationRuleBroken}: the rule loads and names nothing deleted. */
|
|
1691
|
+
EventCategory["NotificationRuleRepaired"] = "notification.rule-repaired";
|
|
1675
1692
|
EventCategory["DeviceUpdated"] = "device.updated";
|
|
1676
1693
|
/**
|
|
1677
1694
|
* Transport-level connectivity. Emitted by the device driver when
|
|
@@ -6399,7 +6416,7 @@ var ZodIssueCode = {
|
|
|
6399
6416
|
var ZodFirstPartyTypeKind;
|
|
6400
6417
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
6401
6418
|
//#endregion
|
|
6402
|
-
//#region ../types/dist/sleep-
|
|
6419
|
+
//#region ../types/dist/sleep-DJFUfKvA.mjs
|
|
6403
6420
|
/**
|
|
6404
6421
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
6405
6422
|
* window to float samples (D455).
|
|
@@ -8928,7 +8945,7 @@ var EntryDescriptorSchema = object({
|
|
|
8928
8945
|
/** JSON Schema of the entry body; `secret: true` marks a password field. */
|
|
8929
8946
|
fields: record(string(), unknown())
|
|
8930
8947
|
}).strict();
|
|
8931
|
-
/** What crosses the wire
|
|
8948
|
+
/** What crosses the wire from an addon: JSON only, no Zod. An unknown key is refused. */
|
|
8932
8949
|
var RecordKindDeclarationSchema = object({
|
|
8933
8950
|
database: _enum(RECORD_DATABASES).default("settings"),
|
|
8934
8951
|
class: _enum(RECORD_CLASSES),
|
|
@@ -8947,14 +8964,6 @@ var RecordKindDeclarationSchema = object({
|
|
|
8947
8964
|
secretPaths: array(string().min(1)).default([]),
|
|
8948
8965
|
/** The id key of each array that carries a secret (`{ headers: 'name' }`). */
|
|
8949
8966
|
secretArrayKeys: record(string(), string()).default({}),
|
|
8950
|
-
/**
|
|
8951
|
-
* RETIRED (D900): the legacy table a kind adopted from during the records
|
|
8952
|
-
* migration. Nothing declares it any more and nothing reads it; the schema
|
|
8953
|
-
* still ACCEPTS it because the catalog rows the migration wrote carry it
|
|
8954
|
-
* (an orphaned kind is never redeclared) and an addon built before the
|
|
8955
|
-
* removal still sends it. Never set it.
|
|
8956
|
-
*/
|
|
8957
|
-
adoptsFrom: string().min(1).optional(),
|
|
8958
8967
|
/** Kinds that must agree through `transact` sit in one file under one family name. */
|
|
8959
8968
|
transactFamily: string().min(1).optional(),
|
|
8960
8969
|
entry: EntryDescriptorSchema.optional()
|
|
@@ -13632,17 +13641,6 @@ object({
|
|
|
13632
13641
|
createdAt: number(),
|
|
13633
13642
|
updatedAt: number()
|
|
13634
13643
|
});
|
|
13635
|
-
object({
|
|
13636
|
-
id: string(),
|
|
13637
|
-
label: string(),
|
|
13638
|
-
isAdmin: boolean().default(false),
|
|
13639
|
-
allowedProviders: AllowedProviderSchema,
|
|
13640
|
-
allowedDevices: AllowedDevicesSchema,
|
|
13641
|
-
tokenHash: string(),
|
|
13642
|
-
tokenPrefix: string(),
|
|
13643
|
-
createdAt: number(),
|
|
13644
|
-
lastUsedAt: number().optional()
|
|
13645
|
-
});
|
|
13646
13644
|
object({
|
|
13647
13645
|
id: string(),
|
|
13648
13646
|
userId: string(),
|
|
@@ -17624,16 +17622,36 @@ var RecordKindStateSchema = _enum([
|
|
|
17624
17622
|
var DeclareKindResultSchema = object({
|
|
17625
17623
|
kindId: number().int(),
|
|
17626
17624
|
state: RecordKindStateSchema,
|
|
17627
|
-
createdIndexes: array(string())
|
|
17628
|
-
/**
|
|
17629
|
-
* RETIRED (D900): always `null`. It carried the records-migration boot guard;
|
|
17630
|
-
* it stays on the wire, null, because an addon built before the removal reads
|
|
17631
|
-
* an ABSENT field as "adoption pending" and refuses to start.
|
|
17632
|
-
*/
|
|
17633
|
-
adoptionPending: _null()
|
|
17625
|
+
createdIndexes: array(string())
|
|
17634
17626
|
});
|
|
17635
17627
|
/** Keychain refs a write released (the old marker is gone from the row): the owner deletes the values. */
|
|
17636
17628
|
var SecretRefsList = array(string());
|
|
17629
|
+
/**
|
|
17630
|
+
* One op of a `transact`: the single-row writes, each on a kind of the caller.
|
|
17631
|
+
* All ops of one call share ONE database file and ONE `transactFamily`.
|
|
17632
|
+
*/
|
|
17633
|
+
var RecordTransactOpSchema = discriminatedUnion("op", [
|
|
17634
|
+
object({
|
|
17635
|
+
op: literal("put"),
|
|
17636
|
+
kind: RecordKindNameSchema,
|
|
17637
|
+
record: RecordInputSchema,
|
|
17638
|
+
ifRev: number().int().min(0).optional()
|
|
17639
|
+
}),
|
|
17640
|
+
object({
|
|
17641
|
+
op: literal("patch"),
|
|
17642
|
+
kind: RecordKindNameSchema,
|
|
17643
|
+
id: RecordIdSchema,
|
|
17644
|
+
data: RecordBodySchema,
|
|
17645
|
+
at: number().int().nullable().optional(),
|
|
17646
|
+
expiresAt: number().int().nullable().optional(),
|
|
17647
|
+
ifRev: number().int().min(1).optional()
|
|
17648
|
+
}),
|
|
17649
|
+
object({
|
|
17650
|
+
op: literal("delete"),
|
|
17651
|
+
kind: RecordKindNameSchema,
|
|
17652
|
+
id: RecordIdSchema
|
|
17653
|
+
})
|
|
17654
|
+
]);
|
|
17637
17655
|
var RecordSecretRefsSchema = record(string(), record(string(), string()));
|
|
17638
17656
|
method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema) }), object({ kinds: record(string(), DeclareKindResultSchema) }), {
|
|
17639
17657
|
kind: "mutation",
|
|
@@ -17740,6 +17758,16 @@ method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema)
|
|
|
17740
17758
|
}), {
|
|
17741
17759
|
kind: "mutation",
|
|
17742
17760
|
auth: "admin"
|
|
17761
|
+
}), method(object({ ops: array(RecordTransactOpSchema).min(1).max(RECORD_BATCH_MAX) }), object({
|
|
17762
|
+
results: array(object({
|
|
17763
|
+
rev: number().int().nullable(),
|
|
17764
|
+
deleted: boolean()
|
|
17765
|
+
})),
|
|
17766
|
+
releasedRefs: SecretRefsList,
|
|
17767
|
+
secretRefs: SecretRefsList
|
|
17768
|
+
}), {
|
|
17769
|
+
kind: "mutation",
|
|
17770
|
+
auth: "admin"
|
|
17743
17771
|
}), method(object({
|
|
17744
17772
|
deviceId: number().int(),
|
|
17745
17773
|
kinds: array(RecordKindNameSchema).optional()
|
|
@@ -43447,9 +43475,13 @@ var NcSystemEventKindSchema = _enum([
|
|
|
43447
43475
|
"node-updating",
|
|
43448
43476
|
"node-inference-unavailable",
|
|
43449
43477
|
"detection-blind",
|
|
43478
|
+
"motion-noisy",
|
|
43479
|
+
"motion-calm",
|
|
43450
43480
|
"recording-stalled",
|
|
43451
43481
|
"recording-healthy",
|
|
43452
43482
|
"recording-degraded",
|
|
43483
|
+
"device-attention-required",
|
|
43484
|
+
"device-attention-resolved",
|
|
43453
43485
|
"storage-location-low",
|
|
43454
43486
|
"storage-location-critical",
|
|
43455
43487
|
"storage-location-ok",
|
|
@@ -43473,6 +43505,8 @@ var NcSystemEventKindSchema = _enum([
|
|
|
43473
43505
|
"alert-critical",
|
|
43474
43506
|
"alert-error",
|
|
43475
43507
|
"alert-critical-resolved",
|
|
43508
|
+
"rule-broken",
|
|
43509
|
+
"rule-repaired",
|
|
43476
43510
|
"camera-online",
|
|
43477
43511
|
"camera-offline",
|
|
43478
43512
|
"camera-disabled",
|
|
@@ -56771,6 +56805,16 @@ var DishwasherStatusSchema = object({
|
|
|
56771
56805
|
powerState: string().nullable(),
|
|
56772
56806
|
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
56773
56807
|
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
56808
|
+
/**
|
|
56809
|
+
* True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
|
|
56810
|
+
* combined care-and-filter reminder raised); false when every such reminder reads clear; null
|
|
56811
|
+
* when none is reported. A cleared reminder is not an unknown one.
|
|
56812
|
+
*/
|
|
56813
|
+
filterCleaningDue: boolean().nullable(),
|
|
56814
|
+
/** True while the machine-care (descaling / cleaning-program) reminder is raised; false when clear; null when not reported. */
|
|
56815
|
+
machineCareDue: boolean().nullable(),
|
|
56816
|
+
/** Program runs left before the machine-care reminder is due; null when the appliance does not say. */
|
|
56817
|
+
machineCareRemainingRuns: number().int().nonnegative().nullable(),
|
|
56774
56818
|
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
56775
56819
|
halfLoad: boolean().nullable(),
|
|
56776
56820
|
hygienePlus: boolean().nullable(),
|
|
@@ -65421,16 +65465,6 @@ var UpdateUserInputSchema = object({
|
|
|
65421
65465
|
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
65422
65466
|
scopes: array(TokenScopeSchema).optional()
|
|
65423
65467
|
});
|
|
65424
|
-
var ApiKeySummarySchema = object({
|
|
65425
|
-
id: string(),
|
|
65426
|
-
label: string(),
|
|
65427
|
-
isAdmin: boolean().default(false),
|
|
65428
|
-
allowedProviders: union([array(string()), literal("*")]).optional(),
|
|
65429
|
-
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
65430
|
-
tokenPrefix: string(),
|
|
65431
|
-
createdAt: number(),
|
|
65432
|
-
lastUsedAt: number().optional()
|
|
65433
|
-
});
|
|
65434
65468
|
var OauthSessionSummarySchema = object({
|
|
65435
65469
|
id: string(),
|
|
65436
65470
|
userId: string(),
|
|
@@ -65452,8 +65486,7 @@ var TotpStatusSchema = object({
|
|
|
65452
65486
|
confirmedAt: number().nullable()
|
|
65453
65487
|
});
|
|
65454
65488
|
/**
|
|
65455
|
-
* user-management — singleton capability for user accounts
|
|
65456
|
-
* legacy API-key rows.
|
|
65489
|
+
* user-management — singleton capability for user accounts.
|
|
65457
65490
|
*
|
|
65458
65491
|
* v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
|
|
65459
65492
|
* — the subset check on `setUserScopes` is moot
|
|
@@ -65509,10 +65542,6 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
65509
65542
|
}), UserSummarySchema.extend({ passwordHash: string() }).nullable(), {
|
|
65510
65543
|
kind: "mutation",
|
|
65511
65544
|
access: "view"
|
|
65512
|
-
}), method(_void(), array(ApiKeySummarySchema), { auth: "admin" }), method(object({ id: string() }), object({ success: literal(true) }), {
|
|
65513
|
-
kind: "mutation",
|
|
65514
|
-
auth: "admin",
|
|
65515
|
-
access: "delete"
|
|
65516
65545
|
}), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
65517
65546
|
kind: "mutation",
|
|
65518
65547
|
auth: "admin",
|
|
@@ -74968,6 +74997,12 @@ Object.freeze({
|
|
|
74968
74997
|
addonId: null,
|
|
74969
74998
|
access: "view"
|
|
74970
74999
|
},
|
|
75000
|
+
"records.transact": {
|
|
75001
|
+
capName: "records",
|
|
75002
|
+
capScope: "system",
|
|
75003
|
+
addonId: null,
|
|
75004
|
+
access: "create"
|
|
75005
|
+
},
|
|
74971
75006
|
"sceneMonitor.captureReference": {
|
|
74972
75007
|
capName: "scene-monitor",
|
|
74973
75008
|
capScope: "device",
|
|
@@ -76300,12 +76335,6 @@ Object.freeze({
|
|
|
76300
76335
|
addonId: null,
|
|
76301
76336
|
access: "view"
|
|
76302
76337
|
},
|
|
76303
|
-
"userManagement.listApiKeys": {
|
|
76304
|
-
capName: "user-management",
|
|
76305
|
-
capScope: "system",
|
|
76306
|
-
addonId: null,
|
|
76307
|
-
access: "view"
|
|
76308
|
-
},
|
|
76309
76338
|
"userManagement.listExternalIdentities": {
|
|
76310
76339
|
capName: "user-management",
|
|
76311
76340
|
capScope: "system",
|
|
@@ -76360,12 +76389,6 @@ Object.freeze({
|
|
|
76360
76389
|
addonId: null,
|
|
76361
76390
|
access: "create"
|
|
76362
76391
|
},
|
|
76363
|
-
"userManagement.revokeApiKey": {
|
|
76364
|
-
capName: "user-management",
|
|
76365
|
-
capScope: "system",
|
|
76366
|
-
addonId: null,
|
|
76367
|
-
access: "delete"
|
|
76368
|
-
},
|
|
76369
76392
|
"userManagement.revokeOauthSession": {
|
|
76370
76393
|
capName: "user-management",
|
|
76371
76394
|
capScope: "system",
|
|
@@ -79730,9 +79753,13 @@ new Map(Object.entries({
|
|
|
79730
79753
|
"stream-online": "device-events",
|
|
79731
79754
|
"stream-offline": "device-events",
|
|
79732
79755
|
"detection-blind": "device-events",
|
|
79756
|
+
"motion-noisy": "device-events",
|
|
79757
|
+
"motion-calm": "device-events",
|
|
79733
79758
|
"recording-stalled": "device-events",
|
|
79734
79759
|
"recording-healthy": "device-events",
|
|
79735
79760
|
"recording-degraded": "device-events",
|
|
79761
|
+
"device-attention-required": "device-events",
|
|
79762
|
+
"device-attention-resolved": "device-events",
|
|
79736
79763
|
"node-online": "system",
|
|
79737
79764
|
"node-offline": "system",
|
|
79738
79765
|
"node-restarting": "system",
|
|
@@ -79749,6 +79776,8 @@ new Map(Object.entries({
|
|
|
79749
79776
|
"alert-critical": "system",
|
|
79750
79777
|
"alert-error": "system",
|
|
79751
79778
|
"alert-critical-resolved": "system",
|
|
79779
|
+
"rule-broken": "system",
|
|
79780
|
+
"rule-repaired": "system",
|
|
79752
79781
|
"storage-location-low": "system",
|
|
79753
79782
|
"storage-location-critical": "system",
|
|
79754
79783
|
"storage-location-ok": "system",
|
|
@@ -79813,6 +79842,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
79813
79842
|
label: "Detecting nothing",
|
|
79814
79843
|
kinds: ["detection-blind"]
|
|
79815
79844
|
},
|
|
79845
|
+
{
|
|
79846
|
+
id: "motion-noise",
|
|
79847
|
+
family: "device-events",
|
|
79848
|
+
label: "Motion without a subject",
|
|
79849
|
+
kinds: ["motion-noisy", "motion-calm"]
|
|
79850
|
+
},
|
|
79816
79851
|
{
|
|
79817
79852
|
id: "recording",
|
|
79818
79853
|
family: "device-events",
|
|
@@ -79823,6 +79858,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
79823
79858
|
"recording-degraded"
|
|
79824
79859
|
]
|
|
79825
79860
|
},
|
|
79861
|
+
{
|
|
79862
|
+
id: "device-attention",
|
|
79863
|
+
family: "device-events",
|
|
79864
|
+
label: "Needs attention",
|
|
79865
|
+
kinds: ["device-attention-required", "device-attention-resolved"]
|
|
79866
|
+
},
|
|
79826
79867
|
{
|
|
79827
79868
|
id: "nodes",
|
|
79828
79869
|
family: "system",
|
|
@@ -79883,6 +79924,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
79883
79924
|
"alert-critical-resolved"
|
|
79884
79925
|
]
|
|
79885
79926
|
},
|
|
79927
|
+
{
|
|
79928
|
+
id: "rule-health",
|
|
79929
|
+
family: "system",
|
|
79930
|
+
label: "Notification rules",
|
|
79931
|
+
kinds: ["rule-broken", "rule-repaired"]
|
|
79932
|
+
},
|
|
79886
79933
|
{
|
|
79887
79934
|
id: "alarm",
|
|
79888
79935
|
family: "alarm",
|
|
@@ -79956,6 +80003,7 @@ var ALERT_EPISODE = [
|
|
|
79956
80003
|
"alert-error",
|
|
79957
80004
|
"alert-critical-resolved"
|
|
79958
80005
|
];
|
|
80006
|
+
var DEVICE_ATTENTION = ["device-attention-required", "device-attention-resolved"];
|
|
79959
80007
|
var UPDATES = [
|
|
79960
80008
|
"addon-update-available",
|
|
79961
80009
|
"server-update-available",
|
|
@@ -79985,9 +80033,12 @@ var DEVICE_EVENTS = [
|
|
|
79985
80033
|
"stream-online",
|
|
79986
80034
|
"stream-offline",
|
|
79987
80035
|
"detection-blind",
|
|
80036
|
+
"motion-noisy",
|
|
80037
|
+
"motion-calm",
|
|
79988
80038
|
"recording-stalled",
|
|
79989
80039
|
"recording-healthy",
|
|
79990
80040
|
"recording-degraded",
|
|
80041
|
+
...DEVICE_ATTENTION,
|
|
79991
80042
|
...ALARM
|
|
79992
80043
|
];
|
|
79993
80044
|
/** Every kind a summary may speak about — the two summarisable families. */
|
|
@@ -80155,7 +80206,13 @@ var STATE_SUMMARY_VARS = [
|
|
|
80155
80206
|
[...RULE_TEXT],
|
|
80156
80207
|
[...RULE_TEXT],
|
|
80157
80208
|
[...RULE_TEXT],
|
|
80158
|
-
|
|
80209
|
+
[...RULE_TEXT],
|
|
80210
|
+
[...RULE_TEXT],
|
|
80211
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
80212
|
+
[...RULE_TEXT],
|
|
80213
|
+
[...RULE_TEXT],
|
|
80214
|
+
[...RULE_TEXT],
|
|
80215
|
+
[...RULE_TEXT],
|
|
80159
80216
|
[...RULE_TEXT],
|
|
80160
80217
|
[...RULE_TEXT],
|
|
80161
80218
|
[...RULE_TEXT],
|
|
@@ -80173,11 +80230,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
80173
80230
|
[...RULE_TEXT],
|
|
80174
80231
|
[...RULE_TEXT],
|
|
80175
80232
|
[...RULE_TEXT],
|
|
80233
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
80176
80234
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
80235
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
80177
80236
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
80178
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
80179
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
80180
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
80237
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
80181
80238
|
[...RULE_TEXT],
|
|
80182
80239
|
[...RULE_TEXT],
|
|
80183
80240
|
[...RULE_TEXT],
|
|
@@ -80198,6 +80255,125 @@ var STATE_SUMMARY_VARS = [
|
|
|
80198
80255
|
[...RULE_TEXT],
|
|
80199
80256
|
...STATE_SUMMARY_VARS
|
|
80200
80257
|
];
|
|
80258
|
+
new Map([
|
|
80259
|
+
{
|
|
80260
|
+
id: "device-connectivity",
|
|
80261
|
+
family: "device-events",
|
|
80262
|
+
label: "Device connectivity (offline / back online)",
|
|
80263
|
+
bad: ["device-offline"],
|
|
80264
|
+
recovery: ["device-online"],
|
|
80265
|
+
snapshotLabel: "Devices offline now",
|
|
80266
|
+
snapshotSection: "device-state"
|
|
80267
|
+
},
|
|
80268
|
+
{
|
|
80269
|
+
id: "device-switch",
|
|
80270
|
+
family: "device-events",
|
|
80271
|
+
label: "Device switched off / back on",
|
|
80272
|
+
bad: ["device-disabled"],
|
|
80273
|
+
recovery: ["device-enabled"],
|
|
80274
|
+
snapshotLabel: "Devices switched off now",
|
|
80275
|
+
snapshotSection: "device-state"
|
|
80276
|
+
},
|
|
80277
|
+
{
|
|
80278
|
+
id: "stream-connectivity",
|
|
80279
|
+
family: "device-events",
|
|
80280
|
+
label: "Stream connectivity (offline / back online)",
|
|
80281
|
+
bad: ["stream-offline"],
|
|
80282
|
+
recovery: ["stream-online"],
|
|
80283
|
+
snapshotLabel: "Streams offline now",
|
|
80284
|
+
snapshotSection: "streams"
|
|
80285
|
+
},
|
|
80286
|
+
{
|
|
80287
|
+
id: "battery",
|
|
80288
|
+
family: "device-events",
|
|
80289
|
+
label: "Battery (low / back to normal)",
|
|
80290
|
+
bad: ["device-battery-low"],
|
|
80291
|
+
recovery: ["device-battery-normal"],
|
|
80292
|
+
snapshotLabel: "Batteries low now",
|
|
80293
|
+
snapshotSection: "battery"
|
|
80294
|
+
},
|
|
80295
|
+
{
|
|
80296
|
+
id: "consumables",
|
|
80297
|
+
family: "device-events",
|
|
80298
|
+
label: "Consumables (low / replaced)",
|
|
80299
|
+
bad: ["device-consumable-low"],
|
|
80300
|
+
recovery: ["device-consumable-normal"],
|
|
80301
|
+
snapshotLabel: "Consumables low now",
|
|
80302
|
+
snapshotSection: "consumables"
|
|
80303
|
+
},
|
|
80304
|
+
{
|
|
80305
|
+
id: "tanks",
|
|
80306
|
+
family: "device-events",
|
|
80307
|
+
label: "Tanks (low or full / back to normal)",
|
|
80308
|
+
bad: ["device-tank-low", "device-tank-full"],
|
|
80309
|
+
recovery: ["device-tank-normal"],
|
|
80310
|
+
snapshotLabel: "Tanks low or full now",
|
|
80311
|
+
snapshotSection: "tanks"
|
|
80312
|
+
},
|
|
80313
|
+
{
|
|
80314
|
+
id: "motion-noise",
|
|
80315
|
+
family: "device-events",
|
|
80316
|
+
label: "Motion without a subject (constant / calm again)",
|
|
80317
|
+
bad: ["motion-noisy"],
|
|
80318
|
+
recovery: ["motion-calm"],
|
|
80319
|
+
snapshotLabel: "Cameras with constant motion now",
|
|
80320
|
+
snapshotSection: null
|
|
80321
|
+
},
|
|
80322
|
+
{
|
|
80323
|
+
id: "recording-health",
|
|
80324
|
+
family: "device-events",
|
|
80325
|
+
label: "Recording health (stalled or degraded / recording again)",
|
|
80326
|
+
bad: ["recording-stalled", "recording-degraded"],
|
|
80327
|
+
recovery: ["recording-healthy"],
|
|
80328
|
+
snapshotLabel: "Recordings stalled now",
|
|
80329
|
+
snapshotSection: null
|
|
80330
|
+
},
|
|
80331
|
+
{
|
|
80332
|
+
id: "device-attention",
|
|
80333
|
+
family: "device-events",
|
|
80334
|
+
label: "Device needs attention (raised / resolved)",
|
|
80335
|
+
bad: ["device-attention-required"],
|
|
80336
|
+
recovery: ["device-attention-resolved"],
|
|
80337
|
+
snapshotLabel: "Devices needing attention now",
|
|
80338
|
+
snapshotSection: null
|
|
80339
|
+
},
|
|
80340
|
+
{
|
|
80341
|
+
id: "node-connectivity",
|
|
80342
|
+
family: "system",
|
|
80343
|
+
label: "Node connectivity (offline / back online)",
|
|
80344
|
+
bad: ["node-offline"],
|
|
80345
|
+
recovery: ["node-online"],
|
|
80346
|
+
snapshotLabel: "Nodes offline now",
|
|
80347
|
+
snapshotSection: "nodes"
|
|
80348
|
+
},
|
|
80349
|
+
{
|
|
80350
|
+
id: "storage-space",
|
|
80351
|
+
family: "system",
|
|
80352
|
+
label: "Storage space (low or critical / ok again)",
|
|
80353
|
+
bad: ["storage-location-low", "storage-location-critical"],
|
|
80354
|
+
recovery: ["storage-location-ok"],
|
|
80355
|
+
snapshotLabel: "Storage locations low now",
|
|
80356
|
+
snapshotSection: null
|
|
80357
|
+
},
|
|
80358
|
+
{
|
|
80359
|
+
id: "critical-alerts",
|
|
80360
|
+
family: "system",
|
|
80361
|
+
label: "Critical alerts (raised / resolved)",
|
|
80362
|
+
bad: ["alert-critical"],
|
|
80363
|
+
recovery: ["alert-critical-resolved"],
|
|
80364
|
+
snapshotLabel: "Critical alerts open now",
|
|
80365
|
+
snapshotSection: null
|
|
80366
|
+
},
|
|
80367
|
+
{
|
|
80368
|
+
id: "rule-health",
|
|
80369
|
+
family: "system",
|
|
80370
|
+
label: "Rule health (broken / repaired)",
|
|
80371
|
+
bad: ["rule-broken"],
|
|
80372
|
+
recovery: ["rule-repaired"],
|
|
80373
|
+
snapshotLabel: "Notification rules broken now",
|
|
80374
|
+
snapshotSection: null
|
|
80375
|
+
}
|
|
80376
|
+
].flatMap((spec) => [...spec.bad, ...spec.recovery].map((kind) => [kind, spec])));
|
|
80201
80377
|
new Set([
|
|
80202
80378
|
"disarmed",
|
|
80203
80379
|
"armed_home",
|
|
@@ -80805,7 +80981,7 @@ function buildConnectionFormSchema() {
|
|
|
80805
80981
|
id: "connection",
|
|
80806
80982
|
title: "Connection",
|
|
80807
80983
|
titleKey: "provider-rademacher:connection.s_connection.title",
|
|
80808
|
-
description: "
|
|
80984
|
+
description: "Leave the password blank for an unprotected hub.",
|
|
80809
80985
|
descriptionKey: "provider-rademacher:connection.s_connection.description",
|
|
80810
80986
|
columns: 2,
|
|
80811
80987
|
fields: [
|
package/dist/addon.mjs
CHANGED
|
@@ -983,7 +983,7 @@ var Rademacher = class {
|
|
|
983
983
|
}
|
|
984
984
|
};
|
|
985
985
|
//#endregion
|
|
986
|
-
//#region ../types/dist/event-category-
|
|
986
|
+
//#region ../types/dist/event-category-BfJwUd2S.mjs
|
|
987
987
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
988
988
|
EventCategory["SystemBoot"] = "system.boot";
|
|
989
989
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -1300,6 +1300,15 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
1300
1300
|
*/
|
|
1301
1301
|
EventCategory["PipelineDetectionBlind"] = "pipeline.detection-blind";
|
|
1302
1302
|
/**
|
|
1303
|
+
* A camera's motion source has fired constantly with no subject for an hour
|
|
1304
|
+
* (motion duty or session count over the bar, zero detections) — it is not
|
|
1305
|
+
* blind, its motion zones or sensitivity want tuning (D907). Paired with
|
|
1306
|
+
* {@link PipelineMotionCalm}.
|
|
1307
|
+
*/
|
|
1308
|
+
EventCategory["PipelineMotionNoisy"] = "pipeline.motion-noisy";
|
|
1309
|
+
/** The recovery edge of {@link PipelineMotionNoisy}: the motion fell back, or a detection arrived. */
|
|
1310
|
+
EventCategory["PipelineMotionCalm"] = "pipeline.motion-calm";
|
|
1311
|
+
/**
|
|
1303
1312
|
* Per-camera pipeline config was mutated by the orchestrator
|
|
1304
1313
|
* (3-level settings change via `setAgentAddonDefaults` /
|
|
1305
1314
|
* `setCameraStepToggle` / `setCameraPipelineForAgent` or a
|
|
@@ -1671,6 +1680,14 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
1671
1680
|
EventCategory["BackupRestored"] = "backup.restored";
|
|
1672
1681
|
EventCategory["NotificationDispatched"] = "notification.dispatched";
|
|
1673
1682
|
EventCategory["NotificationFailed"] = "notification.failed";
|
|
1683
|
+
/**
|
|
1684
|
+
* A notification rule that cannot work (D905): its stored row does not load,
|
|
1685
|
+
* or it still names a device / delivery target the prune CONFIRMED deleted.
|
|
1686
|
+
* One edge per rule per distinct set of reasons; never on an unanswered read.
|
|
1687
|
+
*/
|
|
1688
|
+
EventCategory["NotificationRuleBroken"] = "notification.rule-broken";
|
|
1689
|
+
/** The clear of {@link NotificationRuleBroken}: the rule loads and names nothing deleted. */
|
|
1690
|
+
EventCategory["NotificationRuleRepaired"] = "notification.rule-repaired";
|
|
1674
1691
|
EventCategory["DeviceUpdated"] = "device.updated";
|
|
1675
1692
|
/**
|
|
1676
1693
|
* Transport-level connectivity. Emitted by the device driver when
|
|
@@ -6398,7 +6415,7 @@ var ZodIssueCode = {
|
|
|
6398
6415
|
var ZodFirstPartyTypeKind;
|
|
6399
6416
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
6400
6417
|
//#endregion
|
|
6401
|
-
//#region ../types/dist/sleep-
|
|
6418
|
+
//#region ../types/dist/sleep-DJFUfKvA.mjs
|
|
6402
6419
|
/**
|
|
6403
6420
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
6404
6421
|
* window to float samples (D455).
|
|
@@ -8927,7 +8944,7 @@ var EntryDescriptorSchema = object({
|
|
|
8927
8944
|
/** JSON Schema of the entry body; `secret: true` marks a password field. */
|
|
8928
8945
|
fields: record(string(), unknown())
|
|
8929
8946
|
}).strict();
|
|
8930
|
-
/** What crosses the wire
|
|
8947
|
+
/** What crosses the wire from an addon: JSON only, no Zod. An unknown key is refused. */
|
|
8931
8948
|
var RecordKindDeclarationSchema = object({
|
|
8932
8949
|
database: _enum(RECORD_DATABASES).default("settings"),
|
|
8933
8950
|
class: _enum(RECORD_CLASSES),
|
|
@@ -8946,14 +8963,6 @@ var RecordKindDeclarationSchema = object({
|
|
|
8946
8963
|
secretPaths: array(string().min(1)).default([]),
|
|
8947
8964
|
/** The id key of each array that carries a secret (`{ headers: 'name' }`). */
|
|
8948
8965
|
secretArrayKeys: record(string(), string()).default({}),
|
|
8949
|
-
/**
|
|
8950
|
-
* RETIRED (D900): the legacy table a kind adopted from during the records
|
|
8951
|
-
* migration. Nothing declares it any more and nothing reads it; the schema
|
|
8952
|
-
* still ACCEPTS it because the catalog rows the migration wrote carry it
|
|
8953
|
-
* (an orphaned kind is never redeclared) and an addon built before the
|
|
8954
|
-
* removal still sends it. Never set it.
|
|
8955
|
-
*/
|
|
8956
|
-
adoptsFrom: string().min(1).optional(),
|
|
8957
8966
|
/** Kinds that must agree through `transact` sit in one file under one family name. */
|
|
8958
8967
|
transactFamily: string().min(1).optional(),
|
|
8959
8968
|
entry: EntryDescriptorSchema.optional()
|
|
@@ -13631,17 +13640,6 @@ object({
|
|
|
13631
13640
|
createdAt: number(),
|
|
13632
13641
|
updatedAt: number()
|
|
13633
13642
|
});
|
|
13634
|
-
object({
|
|
13635
|
-
id: string(),
|
|
13636
|
-
label: string(),
|
|
13637
|
-
isAdmin: boolean().default(false),
|
|
13638
|
-
allowedProviders: AllowedProviderSchema,
|
|
13639
|
-
allowedDevices: AllowedDevicesSchema,
|
|
13640
|
-
tokenHash: string(),
|
|
13641
|
-
tokenPrefix: string(),
|
|
13642
|
-
createdAt: number(),
|
|
13643
|
-
lastUsedAt: number().optional()
|
|
13644
|
-
});
|
|
13645
13643
|
object({
|
|
13646
13644
|
id: string(),
|
|
13647
13645
|
userId: string(),
|
|
@@ -17623,16 +17621,36 @@ var RecordKindStateSchema = _enum([
|
|
|
17623
17621
|
var DeclareKindResultSchema = object({
|
|
17624
17622
|
kindId: number().int(),
|
|
17625
17623
|
state: RecordKindStateSchema,
|
|
17626
|
-
createdIndexes: array(string())
|
|
17627
|
-
/**
|
|
17628
|
-
* RETIRED (D900): always `null`. It carried the records-migration boot guard;
|
|
17629
|
-
* it stays on the wire, null, because an addon built before the removal reads
|
|
17630
|
-
* an ABSENT field as "adoption pending" and refuses to start.
|
|
17631
|
-
*/
|
|
17632
|
-
adoptionPending: _null()
|
|
17624
|
+
createdIndexes: array(string())
|
|
17633
17625
|
});
|
|
17634
17626
|
/** Keychain refs a write released (the old marker is gone from the row): the owner deletes the values. */
|
|
17635
17627
|
var SecretRefsList = array(string());
|
|
17628
|
+
/**
|
|
17629
|
+
* One op of a `transact`: the single-row writes, each on a kind of the caller.
|
|
17630
|
+
* All ops of one call share ONE database file and ONE `transactFamily`.
|
|
17631
|
+
*/
|
|
17632
|
+
var RecordTransactOpSchema = discriminatedUnion("op", [
|
|
17633
|
+
object({
|
|
17634
|
+
op: literal("put"),
|
|
17635
|
+
kind: RecordKindNameSchema,
|
|
17636
|
+
record: RecordInputSchema,
|
|
17637
|
+
ifRev: number().int().min(0).optional()
|
|
17638
|
+
}),
|
|
17639
|
+
object({
|
|
17640
|
+
op: literal("patch"),
|
|
17641
|
+
kind: RecordKindNameSchema,
|
|
17642
|
+
id: RecordIdSchema,
|
|
17643
|
+
data: RecordBodySchema,
|
|
17644
|
+
at: number().int().nullable().optional(),
|
|
17645
|
+
expiresAt: number().int().nullable().optional(),
|
|
17646
|
+
ifRev: number().int().min(1).optional()
|
|
17647
|
+
}),
|
|
17648
|
+
object({
|
|
17649
|
+
op: literal("delete"),
|
|
17650
|
+
kind: RecordKindNameSchema,
|
|
17651
|
+
id: RecordIdSchema
|
|
17652
|
+
})
|
|
17653
|
+
]);
|
|
17636
17654
|
var RecordSecretRefsSchema = record(string(), record(string(), string()));
|
|
17637
17655
|
method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema) }), object({ kinds: record(string(), DeclareKindResultSchema) }), {
|
|
17638
17656
|
kind: "mutation",
|
|
@@ -17739,6 +17757,16 @@ method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema)
|
|
|
17739
17757
|
}), {
|
|
17740
17758
|
kind: "mutation",
|
|
17741
17759
|
auth: "admin"
|
|
17760
|
+
}), method(object({ ops: array(RecordTransactOpSchema).min(1).max(RECORD_BATCH_MAX) }), object({
|
|
17761
|
+
results: array(object({
|
|
17762
|
+
rev: number().int().nullable(),
|
|
17763
|
+
deleted: boolean()
|
|
17764
|
+
})),
|
|
17765
|
+
releasedRefs: SecretRefsList,
|
|
17766
|
+
secretRefs: SecretRefsList
|
|
17767
|
+
}), {
|
|
17768
|
+
kind: "mutation",
|
|
17769
|
+
auth: "admin"
|
|
17742
17770
|
}), method(object({
|
|
17743
17771
|
deviceId: number().int(),
|
|
17744
17772
|
kinds: array(RecordKindNameSchema).optional()
|
|
@@ -43446,9 +43474,13 @@ var NcSystemEventKindSchema = _enum([
|
|
|
43446
43474
|
"node-updating",
|
|
43447
43475
|
"node-inference-unavailable",
|
|
43448
43476
|
"detection-blind",
|
|
43477
|
+
"motion-noisy",
|
|
43478
|
+
"motion-calm",
|
|
43449
43479
|
"recording-stalled",
|
|
43450
43480
|
"recording-healthy",
|
|
43451
43481
|
"recording-degraded",
|
|
43482
|
+
"device-attention-required",
|
|
43483
|
+
"device-attention-resolved",
|
|
43452
43484
|
"storage-location-low",
|
|
43453
43485
|
"storage-location-critical",
|
|
43454
43486
|
"storage-location-ok",
|
|
@@ -43472,6 +43504,8 @@ var NcSystemEventKindSchema = _enum([
|
|
|
43472
43504
|
"alert-critical",
|
|
43473
43505
|
"alert-error",
|
|
43474
43506
|
"alert-critical-resolved",
|
|
43507
|
+
"rule-broken",
|
|
43508
|
+
"rule-repaired",
|
|
43475
43509
|
"camera-online",
|
|
43476
43510
|
"camera-offline",
|
|
43477
43511
|
"camera-disabled",
|
|
@@ -56770,6 +56804,16 @@ var DishwasherStatusSchema = object({
|
|
|
56770
56804
|
powerState: string().nullable(),
|
|
56771
56805
|
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
56772
56806
|
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
56807
|
+
/**
|
|
56808
|
+
* True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
|
|
56809
|
+
* combined care-and-filter reminder raised); false when every such reminder reads clear; null
|
|
56810
|
+
* when none is reported. A cleared reminder is not an unknown one.
|
|
56811
|
+
*/
|
|
56812
|
+
filterCleaningDue: boolean().nullable(),
|
|
56813
|
+
/** True while the machine-care (descaling / cleaning-program) reminder is raised; false when clear; null when not reported. */
|
|
56814
|
+
machineCareDue: boolean().nullable(),
|
|
56815
|
+
/** Program runs left before the machine-care reminder is due; null when the appliance does not say. */
|
|
56816
|
+
machineCareRemainingRuns: number().int().nonnegative().nullable(),
|
|
56773
56817
|
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
56774
56818
|
halfLoad: boolean().nullable(),
|
|
56775
56819
|
hygienePlus: boolean().nullable(),
|
|
@@ -65420,16 +65464,6 @@ var UpdateUserInputSchema = object({
|
|
|
65420
65464
|
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
65421
65465
|
scopes: array(TokenScopeSchema).optional()
|
|
65422
65466
|
});
|
|
65423
|
-
var ApiKeySummarySchema = object({
|
|
65424
|
-
id: string(),
|
|
65425
|
-
label: string(),
|
|
65426
|
-
isAdmin: boolean().default(false),
|
|
65427
|
-
allowedProviders: union([array(string()), literal("*")]).optional(),
|
|
65428
|
-
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
65429
|
-
tokenPrefix: string(),
|
|
65430
|
-
createdAt: number(),
|
|
65431
|
-
lastUsedAt: number().optional()
|
|
65432
|
-
});
|
|
65433
65467
|
var OauthSessionSummarySchema = object({
|
|
65434
65468
|
id: string(),
|
|
65435
65469
|
userId: string(),
|
|
@@ -65451,8 +65485,7 @@ var TotpStatusSchema = object({
|
|
|
65451
65485
|
confirmedAt: number().nullable()
|
|
65452
65486
|
});
|
|
65453
65487
|
/**
|
|
65454
|
-
* user-management — singleton capability for user accounts
|
|
65455
|
-
* legacy API-key rows.
|
|
65488
|
+
* user-management — singleton capability for user accounts.
|
|
65456
65489
|
*
|
|
65457
65490
|
* v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
|
|
65458
65491
|
* — the subset check on `setUserScopes` is moot
|
|
@@ -65508,10 +65541,6 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
65508
65541
|
}), UserSummarySchema.extend({ passwordHash: string() }).nullable(), {
|
|
65509
65542
|
kind: "mutation",
|
|
65510
65543
|
access: "view"
|
|
65511
|
-
}), method(_void(), array(ApiKeySummarySchema), { auth: "admin" }), method(object({ id: string() }), object({ success: literal(true) }), {
|
|
65512
|
-
kind: "mutation",
|
|
65513
|
-
auth: "admin",
|
|
65514
|
-
access: "delete"
|
|
65515
65544
|
}), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
65516
65545
|
kind: "mutation",
|
|
65517
65546
|
auth: "admin",
|
|
@@ -74967,6 +74996,12 @@ Object.freeze({
|
|
|
74967
74996
|
addonId: null,
|
|
74968
74997
|
access: "view"
|
|
74969
74998
|
},
|
|
74999
|
+
"records.transact": {
|
|
75000
|
+
capName: "records",
|
|
75001
|
+
capScope: "system",
|
|
75002
|
+
addonId: null,
|
|
75003
|
+
access: "create"
|
|
75004
|
+
},
|
|
74970
75005
|
"sceneMonitor.captureReference": {
|
|
74971
75006
|
capName: "scene-monitor",
|
|
74972
75007
|
capScope: "device",
|
|
@@ -76299,12 +76334,6 @@ Object.freeze({
|
|
|
76299
76334
|
addonId: null,
|
|
76300
76335
|
access: "view"
|
|
76301
76336
|
},
|
|
76302
|
-
"userManagement.listApiKeys": {
|
|
76303
|
-
capName: "user-management",
|
|
76304
|
-
capScope: "system",
|
|
76305
|
-
addonId: null,
|
|
76306
|
-
access: "view"
|
|
76307
|
-
},
|
|
76308
76337
|
"userManagement.listExternalIdentities": {
|
|
76309
76338
|
capName: "user-management",
|
|
76310
76339
|
capScope: "system",
|
|
@@ -76359,12 +76388,6 @@ Object.freeze({
|
|
|
76359
76388
|
addonId: null,
|
|
76360
76389
|
access: "create"
|
|
76361
76390
|
},
|
|
76362
|
-
"userManagement.revokeApiKey": {
|
|
76363
|
-
capName: "user-management",
|
|
76364
|
-
capScope: "system",
|
|
76365
|
-
addonId: null,
|
|
76366
|
-
access: "delete"
|
|
76367
|
-
},
|
|
76368
76391
|
"userManagement.revokeOauthSession": {
|
|
76369
76392
|
capName: "user-management",
|
|
76370
76393
|
capScope: "system",
|
|
@@ -79729,9 +79752,13 @@ new Map(Object.entries({
|
|
|
79729
79752
|
"stream-online": "device-events",
|
|
79730
79753
|
"stream-offline": "device-events",
|
|
79731
79754
|
"detection-blind": "device-events",
|
|
79755
|
+
"motion-noisy": "device-events",
|
|
79756
|
+
"motion-calm": "device-events",
|
|
79732
79757
|
"recording-stalled": "device-events",
|
|
79733
79758
|
"recording-healthy": "device-events",
|
|
79734
79759
|
"recording-degraded": "device-events",
|
|
79760
|
+
"device-attention-required": "device-events",
|
|
79761
|
+
"device-attention-resolved": "device-events",
|
|
79735
79762
|
"node-online": "system",
|
|
79736
79763
|
"node-offline": "system",
|
|
79737
79764
|
"node-restarting": "system",
|
|
@@ -79748,6 +79775,8 @@ new Map(Object.entries({
|
|
|
79748
79775
|
"alert-critical": "system",
|
|
79749
79776
|
"alert-error": "system",
|
|
79750
79777
|
"alert-critical-resolved": "system",
|
|
79778
|
+
"rule-broken": "system",
|
|
79779
|
+
"rule-repaired": "system",
|
|
79751
79780
|
"storage-location-low": "system",
|
|
79752
79781
|
"storage-location-critical": "system",
|
|
79753
79782
|
"storage-location-ok": "system",
|
|
@@ -79812,6 +79841,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
79812
79841
|
label: "Detecting nothing",
|
|
79813
79842
|
kinds: ["detection-blind"]
|
|
79814
79843
|
},
|
|
79844
|
+
{
|
|
79845
|
+
id: "motion-noise",
|
|
79846
|
+
family: "device-events",
|
|
79847
|
+
label: "Motion without a subject",
|
|
79848
|
+
kinds: ["motion-noisy", "motion-calm"]
|
|
79849
|
+
},
|
|
79815
79850
|
{
|
|
79816
79851
|
id: "recording",
|
|
79817
79852
|
family: "device-events",
|
|
@@ -79822,6 +79857,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
79822
79857
|
"recording-degraded"
|
|
79823
79858
|
]
|
|
79824
79859
|
},
|
|
79860
|
+
{
|
|
79861
|
+
id: "device-attention",
|
|
79862
|
+
family: "device-events",
|
|
79863
|
+
label: "Needs attention",
|
|
79864
|
+
kinds: ["device-attention-required", "device-attention-resolved"]
|
|
79865
|
+
},
|
|
79825
79866
|
{
|
|
79826
79867
|
id: "nodes",
|
|
79827
79868
|
family: "system",
|
|
@@ -79882,6 +79923,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
79882
79923
|
"alert-critical-resolved"
|
|
79883
79924
|
]
|
|
79884
79925
|
},
|
|
79926
|
+
{
|
|
79927
|
+
id: "rule-health",
|
|
79928
|
+
family: "system",
|
|
79929
|
+
label: "Notification rules",
|
|
79930
|
+
kinds: ["rule-broken", "rule-repaired"]
|
|
79931
|
+
},
|
|
79885
79932
|
{
|
|
79886
79933
|
id: "alarm",
|
|
79887
79934
|
family: "alarm",
|
|
@@ -79955,6 +80002,7 @@ var ALERT_EPISODE = [
|
|
|
79955
80002
|
"alert-error",
|
|
79956
80003
|
"alert-critical-resolved"
|
|
79957
80004
|
];
|
|
80005
|
+
var DEVICE_ATTENTION = ["device-attention-required", "device-attention-resolved"];
|
|
79958
80006
|
var UPDATES = [
|
|
79959
80007
|
"addon-update-available",
|
|
79960
80008
|
"server-update-available",
|
|
@@ -79984,9 +80032,12 @@ var DEVICE_EVENTS = [
|
|
|
79984
80032
|
"stream-online",
|
|
79985
80033
|
"stream-offline",
|
|
79986
80034
|
"detection-blind",
|
|
80035
|
+
"motion-noisy",
|
|
80036
|
+
"motion-calm",
|
|
79987
80037
|
"recording-stalled",
|
|
79988
80038
|
"recording-healthy",
|
|
79989
80039
|
"recording-degraded",
|
|
80040
|
+
...DEVICE_ATTENTION,
|
|
79990
80041
|
...ALARM
|
|
79991
80042
|
];
|
|
79992
80043
|
/** Every kind a summary may speak about — the two summarisable families. */
|
|
@@ -80154,7 +80205,13 @@ var STATE_SUMMARY_VARS = [
|
|
|
80154
80205
|
[...RULE_TEXT],
|
|
80155
80206
|
[...RULE_TEXT],
|
|
80156
80207
|
[...RULE_TEXT],
|
|
80157
|
-
|
|
80208
|
+
[...RULE_TEXT],
|
|
80209
|
+
[...RULE_TEXT],
|
|
80210
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
80211
|
+
[...RULE_TEXT],
|
|
80212
|
+
[...RULE_TEXT],
|
|
80213
|
+
[...RULE_TEXT],
|
|
80214
|
+
[...RULE_TEXT],
|
|
80158
80215
|
[...RULE_TEXT],
|
|
80159
80216
|
[...RULE_TEXT],
|
|
80160
80217
|
[...RULE_TEXT],
|
|
@@ -80172,11 +80229,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
80172
80229
|
[...RULE_TEXT],
|
|
80173
80230
|
[...RULE_TEXT],
|
|
80174
80231
|
[...RULE_TEXT],
|
|
80232
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
80175
80233
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
80234
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
80176
80235
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
80177
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
80178
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
80179
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
80236
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
80180
80237
|
[...RULE_TEXT],
|
|
80181
80238
|
[...RULE_TEXT],
|
|
80182
80239
|
[...RULE_TEXT],
|
|
@@ -80197,6 +80254,125 @@ var STATE_SUMMARY_VARS = [
|
|
|
80197
80254
|
[...RULE_TEXT],
|
|
80198
80255
|
...STATE_SUMMARY_VARS
|
|
80199
80256
|
];
|
|
80257
|
+
new Map([
|
|
80258
|
+
{
|
|
80259
|
+
id: "device-connectivity",
|
|
80260
|
+
family: "device-events",
|
|
80261
|
+
label: "Device connectivity (offline / back online)",
|
|
80262
|
+
bad: ["device-offline"],
|
|
80263
|
+
recovery: ["device-online"],
|
|
80264
|
+
snapshotLabel: "Devices offline now",
|
|
80265
|
+
snapshotSection: "device-state"
|
|
80266
|
+
},
|
|
80267
|
+
{
|
|
80268
|
+
id: "device-switch",
|
|
80269
|
+
family: "device-events",
|
|
80270
|
+
label: "Device switched off / back on",
|
|
80271
|
+
bad: ["device-disabled"],
|
|
80272
|
+
recovery: ["device-enabled"],
|
|
80273
|
+
snapshotLabel: "Devices switched off now",
|
|
80274
|
+
snapshotSection: "device-state"
|
|
80275
|
+
},
|
|
80276
|
+
{
|
|
80277
|
+
id: "stream-connectivity",
|
|
80278
|
+
family: "device-events",
|
|
80279
|
+
label: "Stream connectivity (offline / back online)",
|
|
80280
|
+
bad: ["stream-offline"],
|
|
80281
|
+
recovery: ["stream-online"],
|
|
80282
|
+
snapshotLabel: "Streams offline now",
|
|
80283
|
+
snapshotSection: "streams"
|
|
80284
|
+
},
|
|
80285
|
+
{
|
|
80286
|
+
id: "battery",
|
|
80287
|
+
family: "device-events",
|
|
80288
|
+
label: "Battery (low / back to normal)",
|
|
80289
|
+
bad: ["device-battery-low"],
|
|
80290
|
+
recovery: ["device-battery-normal"],
|
|
80291
|
+
snapshotLabel: "Batteries low now",
|
|
80292
|
+
snapshotSection: "battery"
|
|
80293
|
+
},
|
|
80294
|
+
{
|
|
80295
|
+
id: "consumables",
|
|
80296
|
+
family: "device-events",
|
|
80297
|
+
label: "Consumables (low / replaced)",
|
|
80298
|
+
bad: ["device-consumable-low"],
|
|
80299
|
+
recovery: ["device-consumable-normal"],
|
|
80300
|
+
snapshotLabel: "Consumables low now",
|
|
80301
|
+
snapshotSection: "consumables"
|
|
80302
|
+
},
|
|
80303
|
+
{
|
|
80304
|
+
id: "tanks",
|
|
80305
|
+
family: "device-events",
|
|
80306
|
+
label: "Tanks (low or full / back to normal)",
|
|
80307
|
+
bad: ["device-tank-low", "device-tank-full"],
|
|
80308
|
+
recovery: ["device-tank-normal"],
|
|
80309
|
+
snapshotLabel: "Tanks low or full now",
|
|
80310
|
+
snapshotSection: "tanks"
|
|
80311
|
+
},
|
|
80312
|
+
{
|
|
80313
|
+
id: "motion-noise",
|
|
80314
|
+
family: "device-events",
|
|
80315
|
+
label: "Motion without a subject (constant / calm again)",
|
|
80316
|
+
bad: ["motion-noisy"],
|
|
80317
|
+
recovery: ["motion-calm"],
|
|
80318
|
+
snapshotLabel: "Cameras with constant motion now",
|
|
80319
|
+
snapshotSection: null
|
|
80320
|
+
},
|
|
80321
|
+
{
|
|
80322
|
+
id: "recording-health",
|
|
80323
|
+
family: "device-events",
|
|
80324
|
+
label: "Recording health (stalled or degraded / recording again)",
|
|
80325
|
+
bad: ["recording-stalled", "recording-degraded"],
|
|
80326
|
+
recovery: ["recording-healthy"],
|
|
80327
|
+
snapshotLabel: "Recordings stalled now",
|
|
80328
|
+
snapshotSection: null
|
|
80329
|
+
},
|
|
80330
|
+
{
|
|
80331
|
+
id: "device-attention",
|
|
80332
|
+
family: "device-events",
|
|
80333
|
+
label: "Device needs attention (raised / resolved)",
|
|
80334
|
+
bad: ["device-attention-required"],
|
|
80335
|
+
recovery: ["device-attention-resolved"],
|
|
80336
|
+
snapshotLabel: "Devices needing attention now",
|
|
80337
|
+
snapshotSection: null
|
|
80338
|
+
},
|
|
80339
|
+
{
|
|
80340
|
+
id: "node-connectivity",
|
|
80341
|
+
family: "system",
|
|
80342
|
+
label: "Node connectivity (offline / back online)",
|
|
80343
|
+
bad: ["node-offline"],
|
|
80344
|
+
recovery: ["node-online"],
|
|
80345
|
+
snapshotLabel: "Nodes offline now",
|
|
80346
|
+
snapshotSection: "nodes"
|
|
80347
|
+
},
|
|
80348
|
+
{
|
|
80349
|
+
id: "storage-space",
|
|
80350
|
+
family: "system",
|
|
80351
|
+
label: "Storage space (low or critical / ok again)",
|
|
80352
|
+
bad: ["storage-location-low", "storage-location-critical"],
|
|
80353
|
+
recovery: ["storage-location-ok"],
|
|
80354
|
+
snapshotLabel: "Storage locations low now",
|
|
80355
|
+
snapshotSection: null
|
|
80356
|
+
},
|
|
80357
|
+
{
|
|
80358
|
+
id: "critical-alerts",
|
|
80359
|
+
family: "system",
|
|
80360
|
+
label: "Critical alerts (raised / resolved)",
|
|
80361
|
+
bad: ["alert-critical"],
|
|
80362
|
+
recovery: ["alert-critical-resolved"],
|
|
80363
|
+
snapshotLabel: "Critical alerts open now",
|
|
80364
|
+
snapshotSection: null
|
|
80365
|
+
},
|
|
80366
|
+
{
|
|
80367
|
+
id: "rule-health",
|
|
80368
|
+
family: "system",
|
|
80369
|
+
label: "Rule health (broken / repaired)",
|
|
80370
|
+
bad: ["rule-broken"],
|
|
80371
|
+
recovery: ["rule-repaired"],
|
|
80372
|
+
snapshotLabel: "Notification rules broken now",
|
|
80373
|
+
snapshotSection: null
|
|
80374
|
+
}
|
|
80375
|
+
].flatMap((spec) => [...spec.bad, ...spec.recovery].map((kind) => [kind, spec])));
|
|
80200
80376
|
new Set([
|
|
80201
80377
|
"disarmed",
|
|
80202
80378
|
"armed_home",
|
|
@@ -80804,7 +80980,7 @@ function buildConnectionFormSchema() {
|
|
|
80804
80980
|
id: "connection",
|
|
80805
80981
|
title: "Connection",
|
|
80806
80982
|
titleKey: "provider-rademacher:connection.s_connection.title",
|
|
80807
|
-
description: "
|
|
80983
|
+
description: "Leave the password blank for an unprotected hub.",
|
|
80808
80984
|
descriptionKey: "provider-rademacher:connection.s_connection.description",
|
|
80809
80985
|
columns: 2,
|
|
80810
80986
|
fields: [
|
package/i18n/en.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"connection.s_identity.title": "Hub",
|
|
3
3
|
"connection.s_identity.name.label": "Name",
|
|
4
4
|
"connection.s_connection.title": "Connection",
|
|
5
|
-
"connection.s_connection.description": "
|
|
5
|
+
"connection.s_connection.description": "Leave the password blank for an unprotected hub.",
|
|
6
6
|
"connection.s_connection.host.label": "Hub host / IP",
|
|
7
7
|
"connection.s_connection.password.label": "Password (optional)",
|
|
8
8
|
"connection.s_connection.pollIntervalMs.label": "Poll interval (ms)",
|
package/i18n/it.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"connection.s_identity.title": "Hub",
|
|
3
3
|
"connection.s_identity.name.label": "Nome",
|
|
4
4
|
"connection.s_connection.title": "Connessione",
|
|
5
|
-
"connection.s_connection.description": "
|
|
5
|
+
"connection.s_connection.description": "Lascia vuota la password per un hub non protetto.",
|
|
6
6
|
"connection.s_connection.host.label": "Host / IP dell'hub",
|
|
7
7
|
"connection.s_connection.password.label": "Password (facoltativa)",
|
|
8
8
|
"connection.s_connection.pollIntervalMs.label": "Intervallo di lettura (ms)",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-provider-rademacher",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.142",
|
|
4
4
|
"description": "Rademacher HomePilot device-provider addon for CamStack — wraps the @apocaliss92/noderademacher local-hub client (roller shutters over the cover cap)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|