@camstack/addon-provider-rademacher 0.2.141 → 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 +115 -62
- package/dist/addon.mjs +115 -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
|
|
@@ -6407,7 +6416,7 @@ var ZodIssueCode = {
|
|
|
6407
6416
|
var ZodFirstPartyTypeKind;
|
|
6408
6417
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
6409
6418
|
//#endregion
|
|
6410
|
-
//#region ../types/dist/sleep-
|
|
6419
|
+
//#region ../types/dist/sleep-DJFUfKvA.mjs
|
|
6411
6420
|
/**
|
|
6412
6421
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
6413
6422
|
* window to float samples (D455).
|
|
@@ -8936,7 +8945,7 @@ var EntryDescriptorSchema = object({
|
|
|
8936
8945
|
/** JSON Schema of the entry body; `secret: true` marks a password field. */
|
|
8937
8946
|
fields: record(string(), unknown())
|
|
8938
8947
|
}).strict();
|
|
8939
|
-
/** What crosses the wire
|
|
8948
|
+
/** What crosses the wire from an addon: JSON only, no Zod. An unknown key is refused. */
|
|
8940
8949
|
var RecordKindDeclarationSchema = object({
|
|
8941
8950
|
database: _enum(RECORD_DATABASES).default("settings"),
|
|
8942
8951
|
class: _enum(RECORD_CLASSES),
|
|
@@ -8955,14 +8964,6 @@ var RecordKindDeclarationSchema = object({
|
|
|
8955
8964
|
secretPaths: array(string().min(1)).default([]),
|
|
8956
8965
|
/** The id key of each array that carries a secret (`{ headers: 'name' }`). */
|
|
8957
8966
|
secretArrayKeys: record(string(), string()).default({}),
|
|
8958
|
-
/**
|
|
8959
|
-
* RETIRED (D900): the legacy table a kind adopted from during the records
|
|
8960
|
-
* migration. Nothing declares it any more and nothing reads it; the schema
|
|
8961
|
-
* still ACCEPTS it because the catalog rows the migration wrote carry it
|
|
8962
|
-
* (an orphaned kind is never redeclared) and an addon built before the
|
|
8963
|
-
* removal still sends it. Never set it.
|
|
8964
|
-
*/
|
|
8965
|
-
adoptsFrom: string().min(1).optional(),
|
|
8966
8967
|
/** Kinds that must agree through `transact` sit in one file under one family name. */
|
|
8967
8968
|
transactFamily: string().min(1).optional(),
|
|
8968
8969
|
entry: EntryDescriptorSchema.optional()
|
|
@@ -13640,17 +13641,6 @@ object({
|
|
|
13640
13641
|
createdAt: number(),
|
|
13641
13642
|
updatedAt: number()
|
|
13642
13643
|
});
|
|
13643
|
-
object({
|
|
13644
|
-
id: string(),
|
|
13645
|
-
label: string(),
|
|
13646
|
-
isAdmin: boolean().default(false),
|
|
13647
|
-
allowedProviders: AllowedProviderSchema,
|
|
13648
|
-
allowedDevices: AllowedDevicesSchema,
|
|
13649
|
-
tokenHash: string(),
|
|
13650
|
-
tokenPrefix: string(),
|
|
13651
|
-
createdAt: number(),
|
|
13652
|
-
lastUsedAt: number().optional()
|
|
13653
|
-
});
|
|
13654
13644
|
object({
|
|
13655
13645
|
id: string(),
|
|
13656
13646
|
userId: string(),
|
|
@@ -17632,16 +17622,36 @@ var RecordKindStateSchema = _enum([
|
|
|
17632
17622
|
var DeclareKindResultSchema = object({
|
|
17633
17623
|
kindId: number().int(),
|
|
17634
17624
|
state: RecordKindStateSchema,
|
|
17635
|
-
createdIndexes: array(string())
|
|
17636
|
-
/**
|
|
17637
|
-
* RETIRED (D900): always `null`. It carried the records-migration boot guard;
|
|
17638
|
-
* it stays on the wire, null, because an addon built before the removal reads
|
|
17639
|
-
* an ABSENT field as "adoption pending" and refuses to start.
|
|
17640
|
-
*/
|
|
17641
|
-
adoptionPending: _null()
|
|
17625
|
+
createdIndexes: array(string())
|
|
17642
17626
|
});
|
|
17643
17627
|
/** Keychain refs a write released (the old marker is gone from the row): the owner deletes the values. */
|
|
17644
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
|
+
]);
|
|
17645
17655
|
var RecordSecretRefsSchema = record(string(), record(string(), string()));
|
|
17646
17656
|
method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema) }), object({ kinds: record(string(), DeclareKindResultSchema) }), {
|
|
17647
17657
|
kind: "mutation",
|
|
@@ -17748,6 +17758,16 @@ method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema)
|
|
|
17748
17758
|
}), {
|
|
17749
17759
|
kind: "mutation",
|
|
17750
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"
|
|
17751
17771
|
}), method(object({
|
|
17752
17772
|
deviceId: number().int(),
|
|
17753
17773
|
kinds: array(RecordKindNameSchema).optional()
|
|
@@ -43455,9 +43475,13 @@ var NcSystemEventKindSchema = _enum([
|
|
|
43455
43475
|
"node-updating",
|
|
43456
43476
|
"node-inference-unavailable",
|
|
43457
43477
|
"detection-blind",
|
|
43478
|
+
"motion-noisy",
|
|
43479
|
+
"motion-calm",
|
|
43458
43480
|
"recording-stalled",
|
|
43459
43481
|
"recording-healthy",
|
|
43460
43482
|
"recording-degraded",
|
|
43483
|
+
"device-attention-required",
|
|
43484
|
+
"device-attention-resolved",
|
|
43461
43485
|
"storage-location-low",
|
|
43462
43486
|
"storage-location-critical",
|
|
43463
43487
|
"storage-location-ok",
|
|
@@ -56781,6 +56805,16 @@ var DishwasherStatusSchema = object({
|
|
|
56781
56805
|
powerState: string().nullable(),
|
|
56782
56806
|
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
56783
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(),
|
|
56784
56818
|
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
56785
56819
|
halfLoad: boolean().nullable(),
|
|
56786
56820
|
hygienePlus: boolean().nullable(),
|
|
@@ -65431,16 +65465,6 @@ var UpdateUserInputSchema = object({
|
|
|
65431
65465
|
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
65432
65466
|
scopes: array(TokenScopeSchema).optional()
|
|
65433
65467
|
});
|
|
65434
|
-
var ApiKeySummarySchema = object({
|
|
65435
|
-
id: string(),
|
|
65436
|
-
label: string(),
|
|
65437
|
-
isAdmin: boolean().default(false),
|
|
65438
|
-
allowedProviders: union([array(string()), literal("*")]).optional(),
|
|
65439
|
-
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
65440
|
-
tokenPrefix: string(),
|
|
65441
|
-
createdAt: number(),
|
|
65442
|
-
lastUsedAt: number().optional()
|
|
65443
|
-
});
|
|
65444
65468
|
var OauthSessionSummarySchema = object({
|
|
65445
65469
|
id: string(),
|
|
65446
65470
|
userId: string(),
|
|
@@ -65462,8 +65486,7 @@ var TotpStatusSchema = object({
|
|
|
65462
65486
|
confirmedAt: number().nullable()
|
|
65463
65487
|
});
|
|
65464
65488
|
/**
|
|
65465
|
-
* user-management — singleton capability for user accounts
|
|
65466
|
-
* legacy API-key rows.
|
|
65489
|
+
* user-management — singleton capability for user accounts.
|
|
65467
65490
|
*
|
|
65468
65491
|
* v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
|
|
65469
65492
|
* — the subset check on `setUserScopes` is moot
|
|
@@ -65519,10 +65542,6 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
65519
65542
|
}), UserSummarySchema.extend({ passwordHash: string() }).nullable(), {
|
|
65520
65543
|
kind: "mutation",
|
|
65521
65544
|
access: "view"
|
|
65522
|
-
}), method(_void(), array(ApiKeySummarySchema), { auth: "admin" }), method(object({ id: string() }), object({ success: literal(true) }), {
|
|
65523
|
-
kind: "mutation",
|
|
65524
|
-
auth: "admin",
|
|
65525
|
-
access: "delete"
|
|
65526
65545
|
}), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
65527
65546
|
kind: "mutation",
|
|
65528
65547
|
auth: "admin",
|
|
@@ -74978,6 +74997,12 @@ Object.freeze({
|
|
|
74978
74997
|
addonId: null,
|
|
74979
74998
|
access: "view"
|
|
74980
74999
|
},
|
|
75000
|
+
"records.transact": {
|
|
75001
|
+
capName: "records",
|
|
75002
|
+
capScope: "system",
|
|
75003
|
+
addonId: null,
|
|
75004
|
+
access: "create"
|
|
75005
|
+
},
|
|
74981
75006
|
"sceneMonitor.captureReference": {
|
|
74982
75007
|
capName: "scene-monitor",
|
|
74983
75008
|
capScope: "device",
|
|
@@ -76310,12 +76335,6 @@ Object.freeze({
|
|
|
76310
76335
|
addonId: null,
|
|
76311
76336
|
access: "view"
|
|
76312
76337
|
},
|
|
76313
|
-
"userManagement.listApiKeys": {
|
|
76314
|
-
capName: "user-management",
|
|
76315
|
-
capScope: "system",
|
|
76316
|
-
addonId: null,
|
|
76317
|
-
access: "view"
|
|
76318
|
-
},
|
|
76319
76338
|
"userManagement.listExternalIdentities": {
|
|
76320
76339
|
capName: "user-management",
|
|
76321
76340
|
capScope: "system",
|
|
@@ -76370,12 +76389,6 @@ Object.freeze({
|
|
|
76370
76389
|
addonId: null,
|
|
76371
76390
|
access: "create"
|
|
76372
76391
|
},
|
|
76373
|
-
"userManagement.revokeApiKey": {
|
|
76374
|
-
capName: "user-management",
|
|
76375
|
-
capScope: "system",
|
|
76376
|
-
addonId: null,
|
|
76377
|
-
access: "delete"
|
|
76378
|
-
},
|
|
76379
76392
|
"userManagement.revokeOauthSession": {
|
|
76380
76393
|
capName: "user-management",
|
|
76381
76394
|
capScope: "system",
|
|
@@ -79740,9 +79753,13 @@ new Map(Object.entries({
|
|
|
79740
79753
|
"stream-online": "device-events",
|
|
79741
79754
|
"stream-offline": "device-events",
|
|
79742
79755
|
"detection-blind": "device-events",
|
|
79756
|
+
"motion-noisy": "device-events",
|
|
79757
|
+
"motion-calm": "device-events",
|
|
79743
79758
|
"recording-stalled": "device-events",
|
|
79744
79759
|
"recording-healthy": "device-events",
|
|
79745
79760
|
"recording-degraded": "device-events",
|
|
79761
|
+
"device-attention-required": "device-events",
|
|
79762
|
+
"device-attention-resolved": "device-events",
|
|
79746
79763
|
"node-online": "system",
|
|
79747
79764
|
"node-offline": "system",
|
|
79748
79765
|
"node-restarting": "system",
|
|
@@ -79825,6 +79842,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
79825
79842
|
label: "Detecting nothing",
|
|
79826
79843
|
kinds: ["detection-blind"]
|
|
79827
79844
|
},
|
|
79845
|
+
{
|
|
79846
|
+
id: "motion-noise",
|
|
79847
|
+
family: "device-events",
|
|
79848
|
+
label: "Motion without a subject",
|
|
79849
|
+
kinds: ["motion-noisy", "motion-calm"]
|
|
79850
|
+
},
|
|
79828
79851
|
{
|
|
79829
79852
|
id: "recording",
|
|
79830
79853
|
family: "device-events",
|
|
@@ -79835,6 +79858,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
79835
79858
|
"recording-degraded"
|
|
79836
79859
|
]
|
|
79837
79860
|
},
|
|
79861
|
+
{
|
|
79862
|
+
id: "device-attention",
|
|
79863
|
+
family: "device-events",
|
|
79864
|
+
label: "Needs attention",
|
|
79865
|
+
kinds: ["device-attention-required", "device-attention-resolved"]
|
|
79866
|
+
},
|
|
79838
79867
|
{
|
|
79839
79868
|
id: "nodes",
|
|
79840
79869
|
family: "system",
|
|
@@ -79974,6 +80003,7 @@ var ALERT_EPISODE = [
|
|
|
79974
80003
|
"alert-error",
|
|
79975
80004
|
"alert-critical-resolved"
|
|
79976
80005
|
];
|
|
80006
|
+
var DEVICE_ATTENTION = ["device-attention-required", "device-attention-resolved"];
|
|
79977
80007
|
var UPDATES = [
|
|
79978
80008
|
"addon-update-available",
|
|
79979
80009
|
"server-update-available",
|
|
@@ -80003,9 +80033,12 @@ var DEVICE_EVENTS = [
|
|
|
80003
80033
|
"stream-online",
|
|
80004
80034
|
"stream-offline",
|
|
80005
80035
|
"detection-blind",
|
|
80036
|
+
"motion-noisy",
|
|
80037
|
+
"motion-calm",
|
|
80006
80038
|
"recording-stalled",
|
|
80007
80039
|
"recording-healthy",
|
|
80008
80040
|
"recording-degraded",
|
|
80041
|
+
...DEVICE_ATTENTION,
|
|
80009
80042
|
...ALARM
|
|
80010
80043
|
];
|
|
80011
80044
|
/** Every kind a summary may speak about — the two summarisable families. */
|
|
@@ -80173,7 +80206,9 @@ var STATE_SUMMARY_VARS = [
|
|
|
80173
80206
|
[...RULE_TEXT],
|
|
80174
80207
|
[...RULE_TEXT],
|
|
80175
80208
|
[...RULE_TEXT],
|
|
80176
|
-
|
|
80209
|
+
[...RULE_TEXT],
|
|
80210
|
+
[...RULE_TEXT],
|
|
80211
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
80177
80212
|
[...RULE_TEXT],
|
|
80178
80213
|
[...RULE_TEXT],
|
|
80179
80214
|
[...RULE_TEXT],
|
|
@@ -80195,11 +80230,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
80195
80230
|
[...RULE_TEXT],
|
|
80196
80231
|
[...RULE_TEXT],
|
|
80197
80232
|
[...RULE_TEXT],
|
|
80233
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
80198
80234
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
80235
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
80199
80236
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
80200
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
80201
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
80202
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
80237
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
80203
80238
|
[...RULE_TEXT],
|
|
80204
80239
|
[...RULE_TEXT],
|
|
80205
80240
|
[...RULE_TEXT],
|
|
@@ -80275,6 +80310,15 @@ new Map([
|
|
|
80275
80310
|
snapshotLabel: "Tanks low or full now",
|
|
80276
80311
|
snapshotSection: "tanks"
|
|
80277
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
|
+
},
|
|
80278
80322
|
{
|
|
80279
80323
|
id: "recording-health",
|
|
80280
80324
|
family: "device-events",
|
|
@@ -80284,6 +80328,15 @@ new Map([
|
|
|
80284
80328
|
snapshotLabel: "Recordings stalled now",
|
|
80285
80329
|
snapshotSection: null
|
|
80286
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
|
+
},
|
|
80287
80340
|
{
|
|
80288
80341
|
id: "node-connectivity",
|
|
80289
80342
|
family: "system",
|
|
@@ -80928,7 +80981,7 @@ function buildConnectionFormSchema() {
|
|
|
80928
80981
|
id: "connection",
|
|
80929
80982
|
title: "Connection",
|
|
80930
80983
|
titleKey: "provider-rademacher:connection.s_connection.title",
|
|
80931
|
-
description: "
|
|
80984
|
+
description: "Leave the password blank for an unprotected hub.",
|
|
80932
80985
|
descriptionKey: "provider-rademacher:connection.s_connection.description",
|
|
80933
80986
|
columns: 2,
|
|
80934
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
|
|
@@ -6406,7 +6415,7 @@ var ZodIssueCode = {
|
|
|
6406
6415
|
var ZodFirstPartyTypeKind;
|
|
6407
6416
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
6408
6417
|
//#endregion
|
|
6409
|
-
//#region ../types/dist/sleep-
|
|
6418
|
+
//#region ../types/dist/sleep-DJFUfKvA.mjs
|
|
6410
6419
|
/**
|
|
6411
6420
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
6412
6421
|
* window to float samples (D455).
|
|
@@ -8935,7 +8944,7 @@ var EntryDescriptorSchema = object({
|
|
|
8935
8944
|
/** JSON Schema of the entry body; `secret: true` marks a password field. */
|
|
8936
8945
|
fields: record(string(), unknown())
|
|
8937
8946
|
}).strict();
|
|
8938
|
-
/** What crosses the wire
|
|
8947
|
+
/** What crosses the wire from an addon: JSON only, no Zod. An unknown key is refused. */
|
|
8939
8948
|
var RecordKindDeclarationSchema = object({
|
|
8940
8949
|
database: _enum(RECORD_DATABASES).default("settings"),
|
|
8941
8950
|
class: _enum(RECORD_CLASSES),
|
|
@@ -8954,14 +8963,6 @@ var RecordKindDeclarationSchema = object({
|
|
|
8954
8963
|
secretPaths: array(string().min(1)).default([]),
|
|
8955
8964
|
/** The id key of each array that carries a secret (`{ headers: 'name' }`). */
|
|
8956
8965
|
secretArrayKeys: record(string(), string()).default({}),
|
|
8957
|
-
/**
|
|
8958
|
-
* RETIRED (D900): the legacy table a kind adopted from during the records
|
|
8959
|
-
* migration. Nothing declares it any more and nothing reads it; the schema
|
|
8960
|
-
* still ACCEPTS it because the catalog rows the migration wrote carry it
|
|
8961
|
-
* (an orphaned kind is never redeclared) and an addon built before the
|
|
8962
|
-
* removal still sends it. Never set it.
|
|
8963
|
-
*/
|
|
8964
|
-
adoptsFrom: string().min(1).optional(),
|
|
8965
8966
|
/** Kinds that must agree through `transact` sit in one file under one family name. */
|
|
8966
8967
|
transactFamily: string().min(1).optional(),
|
|
8967
8968
|
entry: EntryDescriptorSchema.optional()
|
|
@@ -13639,17 +13640,6 @@ object({
|
|
|
13639
13640
|
createdAt: number(),
|
|
13640
13641
|
updatedAt: number()
|
|
13641
13642
|
});
|
|
13642
|
-
object({
|
|
13643
|
-
id: string(),
|
|
13644
|
-
label: string(),
|
|
13645
|
-
isAdmin: boolean().default(false),
|
|
13646
|
-
allowedProviders: AllowedProviderSchema,
|
|
13647
|
-
allowedDevices: AllowedDevicesSchema,
|
|
13648
|
-
tokenHash: string(),
|
|
13649
|
-
tokenPrefix: string(),
|
|
13650
|
-
createdAt: number(),
|
|
13651
|
-
lastUsedAt: number().optional()
|
|
13652
|
-
});
|
|
13653
13643
|
object({
|
|
13654
13644
|
id: string(),
|
|
13655
13645
|
userId: string(),
|
|
@@ -17631,16 +17621,36 @@ var RecordKindStateSchema = _enum([
|
|
|
17631
17621
|
var DeclareKindResultSchema = object({
|
|
17632
17622
|
kindId: number().int(),
|
|
17633
17623
|
state: RecordKindStateSchema,
|
|
17634
|
-
createdIndexes: array(string())
|
|
17635
|
-
/**
|
|
17636
|
-
* RETIRED (D900): always `null`. It carried the records-migration boot guard;
|
|
17637
|
-
* it stays on the wire, null, because an addon built before the removal reads
|
|
17638
|
-
* an ABSENT field as "adoption pending" and refuses to start.
|
|
17639
|
-
*/
|
|
17640
|
-
adoptionPending: _null()
|
|
17624
|
+
createdIndexes: array(string())
|
|
17641
17625
|
});
|
|
17642
17626
|
/** Keychain refs a write released (the old marker is gone from the row): the owner deletes the values. */
|
|
17643
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
|
+
]);
|
|
17644
17654
|
var RecordSecretRefsSchema = record(string(), record(string(), string()));
|
|
17645
17655
|
method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema) }), object({ kinds: record(string(), DeclareKindResultSchema) }), {
|
|
17646
17656
|
kind: "mutation",
|
|
@@ -17747,6 +17757,16 @@ method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema)
|
|
|
17747
17757
|
}), {
|
|
17748
17758
|
kind: "mutation",
|
|
17749
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"
|
|
17750
17770
|
}), method(object({
|
|
17751
17771
|
deviceId: number().int(),
|
|
17752
17772
|
kinds: array(RecordKindNameSchema).optional()
|
|
@@ -43454,9 +43474,13 @@ var NcSystemEventKindSchema = _enum([
|
|
|
43454
43474
|
"node-updating",
|
|
43455
43475
|
"node-inference-unavailable",
|
|
43456
43476
|
"detection-blind",
|
|
43477
|
+
"motion-noisy",
|
|
43478
|
+
"motion-calm",
|
|
43457
43479
|
"recording-stalled",
|
|
43458
43480
|
"recording-healthy",
|
|
43459
43481
|
"recording-degraded",
|
|
43482
|
+
"device-attention-required",
|
|
43483
|
+
"device-attention-resolved",
|
|
43460
43484
|
"storage-location-low",
|
|
43461
43485
|
"storage-location-critical",
|
|
43462
43486
|
"storage-location-ok",
|
|
@@ -56780,6 +56804,16 @@ var DishwasherStatusSchema = object({
|
|
|
56780
56804
|
powerState: string().nullable(),
|
|
56781
56805
|
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
56782
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(),
|
|
56783
56817
|
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
56784
56818
|
halfLoad: boolean().nullable(),
|
|
56785
56819
|
hygienePlus: boolean().nullable(),
|
|
@@ -65430,16 +65464,6 @@ var UpdateUserInputSchema = object({
|
|
|
65430
65464
|
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
65431
65465
|
scopes: array(TokenScopeSchema).optional()
|
|
65432
65466
|
});
|
|
65433
|
-
var ApiKeySummarySchema = object({
|
|
65434
|
-
id: string(),
|
|
65435
|
-
label: string(),
|
|
65436
|
-
isAdmin: boolean().default(false),
|
|
65437
|
-
allowedProviders: union([array(string()), literal("*")]).optional(),
|
|
65438
|
-
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
65439
|
-
tokenPrefix: string(),
|
|
65440
|
-
createdAt: number(),
|
|
65441
|
-
lastUsedAt: number().optional()
|
|
65442
|
-
});
|
|
65443
65467
|
var OauthSessionSummarySchema = object({
|
|
65444
65468
|
id: string(),
|
|
65445
65469
|
userId: string(),
|
|
@@ -65461,8 +65485,7 @@ var TotpStatusSchema = object({
|
|
|
65461
65485
|
confirmedAt: number().nullable()
|
|
65462
65486
|
});
|
|
65463
65487
|
/**
|
|
65464
|
-
* user-management — singleton capability for user accounts
|
|
65465
|
-
* legacy API-key rows.
|
|
65488
|
+
* user-management — singleton capability for user accounts.
|
|
65466
65489
|
*
|
|
65467
65490
|
* v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
|
|
65468
65491
|
* — the subset check on `setUserScopes` is moot
|
|
@@ -65518,10 +65541,6 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
65518
65541
|
}), UserSummarySchema.extend({ passwordHash: string() }).nullable(), {
|
|
65519
65542
|
kind: "mutation",
|
|
65520
65543
|
access: "view"
|
|
65521
|
-
}), method(_void(), array(ApiKeySummarySchema), { auth: "admin" }), method(object({ id: string() }), object({ success: literal(true) }), {
|
|
65522
|
-
kind: "mutation",
|
|
65523
|
-
auth: "admin",
|
|
65524
|
-
access: "delete"
|
|
65525
65544
|
}), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
65526
65545
|
kind: "mutation",
|
|
65527
65546
|
auth: "admin",
|
|
@@ -74977,6 +74996,12 @@ Object.freeze({
|
|
|
74977
74996
|
addonId: null,
|
|
74978
74997
|
access: "view"
|
|
74979
74998
|
},
|
|
74999
|
+
"records.transact": {
|
|
75000
|
+
capName: "records",
|
|
75001
|
+
capScope: "system",
|
|
75002
|
+
addonId: null,
|
|
75003
|
+
access: "create"
|
|
75004
|
+
},
|
|
74980
75005
|
"sceneMonitor.captureReference": {
|
|
74981
75006
|
capName: "scene-monitor",
|
|
74982
75007
|
capScope: "device",
|
|
@@ -76309,12 +76334,6 @@ Object.freeze({
|
|
|
76309
76334
|
addonId: null,
|
|
76310
76335
|
access: "view"
|
|
76311
76336
|
},
|
|
76312
|
-
"userManagement.listApiKeys": {
|
|
76313
|
-
capName: "user-management",
|
|
76314
|
-
capScope: "system",
|
|
76315
|
-
addonId: null,
|
|
76316
|
-
access: "view"
|
|
76317
|
-
},
|
|
76318
76337
|
"userManagement.listExternalIdentities": {
|
|
76319
76338
|
capName: "user-management",
|
|
76320
76339
|
capScope: "system",
|
|
@@ -76369,12 +76388,6 @@ Object.freeze({
|
|
|
76369
76388
|
addonId: null,
|
|
76370
76389
|
access: "create"
|
|
76371
76390
|
},
|
|
76372
|
-
"userManagement.revokeApiKey": {
|
|
76373
|
-
capName: "user-management",
|
|
76374
|
-
capScope: "system",
|
|
76375
|
-
addonId: null,
|
|
76376
|
-
access: "delete"
|
|
76377
|
-
},
|
|
76378
76391
|
"userManagement.revokeOauthSession": {
|
|
76379
76392
|
capName: "user-management",
|
|
76380
76393
|
capScope: "system",
|
|
@@ -79739,9 +79752,13 @@ new Map(Object.entries({
|
|
|
79739
79752
|
"stream-online": "device-events",
|
|
79740
79753
|
"stream-offline": "device-events",
|
|
79741
79754
|
"detection-blind": "device-events",
|
|
79755
|
+
"motion-noisy": "device-events",
|
|
79756
|
+
"motion-calm": "device-events",
|
|
79742
79757
|
"recording-stalled": "device-events",
|
|
79743
79758
|
"recording-healthy": "device-events",
|
|
79744
79759
|
"recording-degraded": "device-events",
|
|
79760
|
+
"device-attention-required": "device-events",
|
|
79761
|
+
"device-attention-resolved": "device-events",
|
|
79745
79762
|
"node-online": "system",
|
|
79746
79763
|
"node-offline": "system",
|
|
79747
79764
|
"node-restarting": "system",
|
|
@@ -79824,6 +79841,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
79824
79841
|
label: "Detecting nothing",
|
|
79825
79842
|
kinds: ["detection-blind"]
|
|
79826
79843
|
},
|
|
79844
|
+
{
|
|
79845
|
+
id: "motion-noise",
|
|
79846
|
+
family: "device-events",
|
|
79847
|
+
label: "Motion without a subject",
|
|
79848
|
+
kinds: ["motion-noisy", "motion-calm"]
|
|
79849
|
+
},
|
|
79827
79850
|
{
|
|
79828
79851
|
id: "recording",
|
|
79829
79852
|
family: "device-events",
|
|
@@ -79834,6 +79857,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
79834
79857
|
"recording-degraded"
|
|
79835
79858
|
]
|
|
79836
79859
|
},
|
|
79860
|
+
{
|
|
79861
|
+
id: "device-attention",
|
|
79862
|
+
family: "device-events",
|
|
79863
|
+
label: "Needs attention",
|
|
79864
|
+
kinds: ["device-attention-required", "device-attention-resolved"]
|
|
79865
|
+
},
|
|
79837
79866
|
{
|
|
79838
79867
|
id: "nodes",
|
|
79839
79868
|
family: "system",
|
|
@@ -79973,6 +80002,7 @@ var ALERT_EPISODE = [
|
|
|
79973
80002
|
"alert-error",
|
|
79974
80003
|
"alert-critical-resolved"
|
|
79975
80004
|
];
|
|
80005
|
+
var DEVICE_ATTENTION = ["device-attention-required", "device-attention-resolved"];
|
|
79976
80006
|
var UPDATES = [
|
|
79977
80007
|
"addon-update-available",
|
|
79978
80008
|
"server-update-available",
|
|
@@ -80002,9 +80032,12 @@ var DEVICE_EVENTS = [
|
|
|
80002
80032
|
"stream-online",
|
|
80003
80033
|
"stream-offline",
|
|
80004
80034
|
"detection-blind",
|
|
80035
|
+
"motion-noisy",
|
|
80036
|
+
"motion-calm",
|
|
80005
80037
|
"recording-stalled",
|
|
80006
80038
|
"recording-healthy",
|
|
80007
80039
|
"recording-degraded",
|
|
80040
|
+
...DEVICE_ATTENTION,
|
|
80008
80041
|
...ALARM
|
|
80009
80042
|
];
|
|
80010
80043
|
/** Every kind a summary may speak about — the two summarisable families. */
|
|
@@ -80172,7 +80205,9 @@ var STATE_SUMMARY_VARS = [
|
|
|
80172
80205
|
[...RULE_TEXT],
|
|
80173
80206
|
[...RULE_TEXT],
|
|
80174
80207
|
[...RULE_TEXT],
|
|
80175
|
-
|
|
80208
|
+
[...RULE_TEXT],
|
|
80209
|
+
[...RULE_TEXT],
|
|
80210
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
80176
80211
|
[...RULE_TEXT],
|
|
80177
80212
|
[...RULE_TEXT],
|
|
80178
80213
|
[...RULE_TEXT],
|
|
@@ -80194,11 +80229,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
80194
80229
|
[...RULE_TEXT],
|
|
80195
80230
|
[...RULE_TEXT],
|
|
80196
80231
|
[...RULE_TEXT],
|
|
80232
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
80197
80233
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
80234
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
80198
80235
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
80199
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
80200
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
80201
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
80236
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
80202
80237
|
[...RULE_TEXT],
|
|
80203
80238
|
[...RULE_TEXT],
|
|
80204
80239
|
[...RULE_TEXT],
|
|
@@ -80274,6 +80309,15 @@ new Map([
|
|
|
80274
80309
|
snapshotLabel: "Tanks low or full now",
|
|
80275
80310
|
snapshotSection: "tanks"
|
|
80276
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
|
+
},
|
|
80277
80321
|
{
|
|
80278
80322
|
id: "recording-health",
|
|
80279
80323
|
family: "device-events",
|
|
@@ -80283,6 +80327,15 @@ new Map([
|
|
|
80283
80327
|
snapshotLabel: "Recordings stalled now",
|
|
80284
80328
|
snapshotSection: null
|
|
80285
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
|
+
},
|
|
80286
80339
|
{
|
|
80287
80340
|
id: "node-connectivity",
|
|
80288
80341
|
family: "system",
|
|
@@ -80927,7 +80980,7 @@ function buildConnectionFormSchema() {
|
|
|
80927
80980
|
id: "connection",
|
|
80928
80981
|
title: "Connection",
|
|
80929
80982
|
titleKey: "provider-rademacher:connection.s_connection.title",
|
|
80930
|
-
description: "
|
|
80983
|
+
description: "Leave the password blank for an unprotected hub.",
|
|
80931
80984
|
descriptionKey: "provider-rademacher:connection.s_connection.description",
|
|
80932
80985
|
columns: 2,
|
|
80933
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",
|