@camstack/addon-notifiers 1.2.615 → 1.2.616
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 +114 -61
- package/dist/addon.mjs +114 -61
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -29,7 +29,7 @@ let node_fs = require("node:fs");
|
|
|
29
29
|
let node_path = require("node:path");
|
|
30
30
|
node_path = __toESM(node_path);
|
|
31
31
|
let node_url = require("node:url");
|
|
32
|
-
//#region ../types/dist/event-category-
|
|
32
|
+
//#region ../types/dist/event-category-BfJwUd2S.mjs
|
|
33
33
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
34
34
|
EventCategory["SystemBoot"] = "system.boot";
|
|
35
35
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -346,6 +346,15 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
346
346
|
*/
|
|
347
347
|
EventCategory["PipelineDetectionBlind"] = "pipeline.detection-blind";
|
|
348
348
|
/**
|
|
349
|
+
* A camera's motion source has fired constantly with no subject for an hour
|
|
350
|
+
* (motion duty or session count over the bar, zero detections) — it is not
|
|
351
|
+
* blind, its motion zones or sensitivity want tuning (D907). Paired with
|
|
352
|
+
* {@link PipelineMotionCalm}.
|
|
353
|
+
*/
|
|
354
|
+
EventCategory["PipelineMotionNoisy"] = "pipeline.motion-noisy";
|
|
355
|
+
/** The recovery edge of {@link PipelineMotionNoisy}: the motion fell back, or a detection arrived. */
|
|
356
|
+
EventCategory["PipelineMotionCalm"] = "pipeline.motion-calm";
|
|
357
|
+
/**
|
|
349
358
|
* Per-camera pipeline config was mutated by the orchestrator
|
|
350
359
|
* (3-level settings change via `setAgentAddonDefaults` /
|
|
351
360
|
* `setCameraStepToggle` / `setCameraPipelineForAgent` or a
|
|
@@ -5585,7 +5594,7 @@ var ZodIssueCode = {
|
|
|
5585
5594
|
var ZodFirstPartyTypeKind;
|
|
5586
5595
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5587
5596
|
//#endregion
|
|
5588
|
-
//#region ../types/dist/sleep-
|
|
5597
|
+
//#region ../types/dist/sleep-DJFUfKvA.mjs
|
|
5589
5598
|
/**
|
|
5590
5599
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5591
5600
|
* window to float samples (D455).
|
|
@@ -8177,7 +8186,7 @@ var EntryDescriptorSchema = object({
|
|
|
8177
8186
|
/** JSON Schema of the entry body; `secret: true` marks a password field. */
|
|
8178
8187
|
fields: record(string(), unknown())
|
|
8179
8188
|
}).strict();
|
|
8180
|
-
/** What crosses the wire
|
|
8189
|
+
/** What crosses the wire from an addon: JSON only, no Zod. An unknown key is refused. */
|
|
8181
8190
|
var RecordKindDeclarationSchema = object({
|
|
8182
8191
|
database: _enum(RECORD_DATABASES).default("settings"),
|
|
8183
8192
|
class: _enum(RECORD_CLASSES),
|
|
@@ -8196,14 +8205,6 @@ var RecordKindDeclarationSchema = object({
|
|
|
8196
8205
|
secretPaths: array(string().min(1)).default([]),
|
|
8197
8206
|
/** The id key of each array that carries a secret (`{ headers: 'name' }`). */
|
|
8198
8207
|
secretArrayKeys: record(string(), string()).default({}),
|
|
8199
|
-
/**
|
|
8200
|
-
* RETIRED (D900): the legacy table a kind adopted from during the records
|
|
8201
|
-
* migration. Nothing declares it any more and nothing reads it; the schema
|
|
8202
|
-
* still ACCEPTS it because the catalog rows the migration wrote carry it
|
|
8203
|
-
* (an orphaned kind is never redeclared) and an addon built before the
|
|
8204
|
-
* removal still sends it. Never set it.
|
|
8205
|
-
*/
|
|
8206
|
-
adoptsFrom: string().min(1).optional(),
|
|
8207
8208
|
/** Kinds that must agree through `transact` sit in one file under one family name. */
|
|
8208
8209
|
transactFamily: string().min(1).optional(),
|
|
8209
8210
|
entry: EntryDescriptorSchema.optional()
|
|
@@ -13103,17 +13104,6 @@ object({
|
|
|
13103
13104
|
createdAt: number(),
|
|
13104
13105
|
updatedAt: number()
|
|
13105
13106
|
});
|
|
13106
|
-
object({
|
|
13107
|
-
id: string(),
|
|
13108
|
-
label: string(),
|
|
13109
|
-
isAdmin: boolean().default(false),
|
|
13110
|
-
allowedProviders: AllowedProviderSchema,
|
|
13111
|
-
allowedDevices: AllowedDevicesSchema,
|
|
13112
|
-
tokenHash: string(),
|
|
13113
|
-
tokenPrefix: string(),
|
|
13114
|
-
createdAt: number(),
|
|
13115
|
-
lastUsedAt: number().optional()
|
|
13116
|
-
});
|
|
13117
13107
|
object({
|
|
13118
13108
|
id: string(),
|
|
13119
13109
|
userId: string(),
|
|
@@ -17008,16 +16998,36 @@ var RecordKindStateSchema = _enum([
|
|
|
17008
16998
|
var DeclareKindResultSchema = object({
|
|
17009
16999
|
kindId: number().int(),
|
|
17010
17000
|
state: RecordKindStateSchema,
|
|
17011
|
-
createdIndexes: array(string())
|
|
17012
|
-
/**
|
|
17013
|
-
* RETIRED (D900): always `null`. It carried the records-migration boot guard;
|
|
17014
|
-
* it stays on the wire, null, because an addon built before the removal reads
|
|
17015
|
-
* an ABSENT field as "adoption pending" and refuses to start.
|
|
17016
|
-
*/
|
|
17017
|
-
adoptionPending: _null()
|
|
17001
|
+
createdIndexes: array(string())
|
|
17018
17002
|
});
|
|
17019
17003
|
/** Keychain refs a write released (the old marker is gone from the row): the owner deletes the values. */
|
|
17020
17004
|
var SecretRefsList = array(string());
|
|
17005
|
+
/**
|
|
17006
|
+
* One op of a `transact`: the single-row writes, each on a kind of the caller.
|
|
17007
|
+
* All ops of one call share ONE database file and ONE `transactFamily`.
|
|
17008
|
+
*/
|
|
17009
|
+
var RecordTransactOpSchema = discriminatedUnion("op", [
|
|
17010
|
+
object({
|
|
17011
|
+
op: literal("put"),
|
|
17012
|
+
kind: RecordKindNameSchema,
|
|
17013
|
+
record: RecordInputSchema,
|
|
17014
|
+
ifRev: number().int().min(0).optional()
|
|
17015
|
+
}),
|
|
17016
|
+
object({
|
|
17017
|
+
op: literal("patch"),
|
|
17018
|
+
kind: RecordKindNameSchema,
|
|
17019
|
+
id: RecordIdSchema,
|
|
17020
|
+
data: RecordBodySchema,
|
|
17021
|
+
at: number().int().nullable().optional(),
|
|
17022
|
+
expiresAt: number().int().nullable().optional(),
|
|
17023
|
+
ifRev: number().int().min(1).optional()
|
|
17024
|
+
}),
|
|
17025
|
+
object({
|
|
17026
|
+
op: literal("delete"),
|
|
17027
|
+
kind: RecordKindNameSchema,
|
|
17028
|
+
id: RecordIdSchema
|
|
17029
|
+
})
|
|
17030
|
+
]);
|
|
17021
17031
|
var RecordSecretRefsSchema = record(string(), record(string(), string()));
|
|
17022
17032
|
method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema) }), object({ kinds: record(string(), DeclareKindResultSchema) }), {
|
|
17023
17033
|
kind: "mutation",
|
|
@@ -17124,6 +17134,16 @@ method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema)
|
|
|
17124
17134
|
}), {
|
|
17125
17135
|
kind: "mutation",
|
|
17126
17136
|
auth: "admin"
|
|
17137
|
+
}), method(object({ ops: array(RecordTransactOpSchema).min(1).max(RECORD_BATCH_MAX) }), object({
|
|
17138
|
+
results: array(object({
|
|
17139
|
+
rev: number().int().nullable(),
|
|
17140
|
+
deleted: boolean()
|
|
17141
|
+
})),
|
|
17142
|
+
releasedRefs: SecretRefsList,
|
|
17143
|
+
secretRefs: SecretRefsList
|
|
17144
|
+
}), {
|
|
17145
|
+
kind: "mutation",
|
|
17146
|
+
auth: "admin"
|
|
17127
17147
|
}), method(object({
|
|
17128
17148
|
deviceId: number().int(),
|
|
17129
17149
|
kinds: array(RecordKindNameSchema).optional()
|
|
@@ -42504,9 +42524,13 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42504
42524
|
"node-updating",
|
|
42505
42525
|
"node-inference-unavailable",
|
|
42506
42526
|
"detection-blind",
|
|
42527
|
+
"motion-noisy",
|
|
42528
|
+
"motion-calm",
|
|
42507
42529
|
"recording-stalled",
|
|
42508
42530
|
"recording-healthy",
|
|
42509
42531
|
"recording-degraded",
|
|
42532
|
+
"device-attention-required",
|
|
42533
|
+
"device-attention-resolved",
|
|
42510
42534
|
"storage-location-low",
|
|
42511
42535
|
"storage-location-critical",
|
|
42512
42536
|
"storage-location-ok",
|
|
@@ -54963,6 +54987,16 @@ object({
|
|
|
54963
54987
|
powerState: string().nullable(),
|
|
54964
54988
|
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
54965
54989
|
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
54990
|
+
/**
|
|
54991
|
+
* True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
|
|
54992
|
+
* combined care-and-filter reminder raised); false when every such reminder reads clear; null
|
|
54993
|
+
* when none is reported. A cleared reminder is not an unknown one.
|
|
54994
|
+
*/
|
|
54995
|
+
filterCleaningDue: boolean().nullable(),
|
|
54996
|
+
/** True while the machine-care (descaling / cleaning-program) reminder is raised; false when clear; null when not reported. */
|
|
54997
|
+
machineCareDue: boolean().nullable(),
|
|
54998
|
+
/** Program runs left before the machine-care reminder is due; null when the appliance does not say. */
|
|
54999
|
+
machineCareRemainingRuns: number().int().nonnegative().nullable(),
|
|
54966
55000
|
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
54967
55001
|
halfLoad: boolean().nullable(),
|
|
54968
55002
|
hygienePlus: boolean().nullable(),
|
|
@@ -61580,16 +61614,6 @@ var UpdateUserInputSchema = object({
|
|
|
61580
61614
|
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
61581
61615
|
scopes: array(TokenScopeSchema).optional()
|
|
61582
61616
|
});
|
|
61583
|
-
var ApiKeySummarySchema = object({
|
|
61584
|
-
id: string(),
|
|
61585
|
-
label: string(),
|
|
61586
|
-
isAdmin: boolean().default(false),
|
|
61587
|
-
allowedProviders: union([array(string()), literal("*")]).optional(),
|
|
61588
|
-
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
61589
|
-
tokenPrefix: string(),
|
|
61590
|
-
createdAt: number(),
|
|
61591
|
-
lastUsedAt: number().optional()
|
|
61592
|
-
});
|
|
61593
61617
|
var OauthSessionSummarySchema = object({
|
|
61594
61618
|
id: string(),
|
|
61595
61619
|
userId: string(),
|
|
@@ -61611,8 +61635,7 @@ var TotpStatusSchema = object({
|
|
|
61611
61635
|
confirmedAt: number().nullable()
|
|
61612
61636
|
});
|
|
61613
61637
|
/**
|
|
61614
|
-
* user-management — singleton capability for user accounts
|
|
61615
|
-
* legacy API-key rows.
|
|
61638
|
+
* user-management — singleton capability for user accounts.
|
|
61616
61639
|
*
|
|
61617
61640
|
* v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
|
|
61618
61641
|
* — the subset check on `setUserScopes` is moot
|
|
@@ -61668,10 +61691,6 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
61668
61691
|
}), UserSummarySchema.extend({ passwordHash: string() }).nullable(), {
|
|
61669
61692
|
kind: "mutation",
|
|
61670
61693
|
access: "view"
|
|
61671
|
-
}), method(_void(), array(ApiKeySummarySchema), { auth: "admin" }), method(object({ id: string() }), object({ success: literal(true) }), {
|
|
61672
|
-
kind: "mutation",
|
|
61673
|
-
auth: "admin",
|
|
61674
|
-
access: "delete"
|
|
61675
61694
|
}), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
61676
61695
|
kind: "mutation",
|
|
61677
61696
|
auth: "admin",
|
|
@@ -69184,6 +69203,12 @@ Object.freeze({
|
|
|
69184
69203
|
addonId: null,
|
|
69185
69204
|
access: "view"
|
|
69186
69205
|
},
|
|
69206
|
+
"records.transact": {
|
|
69207
|
+
capName: "records",
|
|
69208
|
+
capScope: "system",
|
|
69209
|
+
addonId: null,
|
|
69210
|
+
access: "create"
|
|
69211
|
+
},
|
|
69187
69212
|
"sceneMonitor.captureReference": {
|
|
69188
69213
|
capName: "scene-monitor",
|
|
69189
69214
|
capScope: "device",
|
|
@@ -70516,12 +70541,6 @@ Object.freeze({
|
|
|
70516
70541
|
addonId: null,
|
|
70517
70542
|
access: "view"
|
|
70518
70543
|
},
|
|
70519
|
-
"userManagement.listApiKeys": {
|
|
70520
|
-
capName: "user-management",
|
|
70521
|
-
capScope: "system",
|
|
70522
|
-
addonId: null,
|
|
70523
|
-
access: "view"
|
|
70524
|
-
},
|
|
70525
70544
|
"userManagement.listExternalIdentities": {
|
|
70526
70545
|
capName: "user-management",
|
|
70527
70546
|
capScope: "system",
|
|
@@ -70576,12 +70595,6 @@ Object.freeze({
|
|
|
70576
70595
|
addonId: null,
|
|
70577
70596
|
access: "create"
|
|
70578
70597
|
},
|
|
70579
|
-
"userManagement.revokeApiKey": {
|
|
70580
|
-
capName: "user-management",
|
|
70581
|
-
capScope: "system",
|
|
70582
|
-
addonId: null,
|
|
70583
|
-
access: "delete"
|
|
70584
|
-
},
|
|
70585
70598
|
"userManagement.revokeOauthSession": {
|
|
70586
70599
|
capName: "user-management",
|
|
70587
70600
|
capScope: "system",
|
|
@@ -74153,9 +74166,13 @@ new Map(Object.entries({
|
|
|
74153
74166
|
"stream-online": "device-events",
|
|
74154
74167
|
"stream-offline": "device-events",
|
|
74155
74168
|
"detection-blind": "device-events",
|
|
74169
|
+
"motion-noisy": "device-events",
|
|
74170
|
+
"motion-calm": "device-events",
|
|
74156
74171
|
"recording-stalled": "device-events",
|
|
74157
74172
|
"recording-healthy": "device-events",
|
|
74158
74173
|
"recording-degraded": "device-events",
|
|
74174
|
+
"device-attention-required": "device-events",
|
|
74175
|
+
"device-attention-resolved": "device-events",
|
|
74159
74176
|
"node-online": "system",
|
|
74160
74177
|
"node-offline": "system",
|
|
74161
74178
|
"node-restarting": "system",
|
|
@@ -74238,6 +74255,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
74238
74255
|
label: "Detecting nothing",
|
|
74239
74256
|
kinds: ["detection-blind"]
|
|
74240
74257
|
},
|
|
74258
|
+
{
|
|
74259
|
+
id: "motion-noise",
|
|
74260
|
+
family: "device-events",
|
|
74261
|
+
label: "Motion without a subject",
|
|
74262
|
+
kinds: ["motion-noisy", "motion-calm"]
|
|
74263
|
+
},
|
|
74241
74264
|
{
|
|
74242
74265
|
id: "recording",
|
|
74243
74266
|
family: "device-events",
|
|
@@ -74248,6 +74271,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
74248
74271
|
"recording-degraded"
|
|
74249
74272
|
]
|
|
74250
74273
|
},
|
|
74274
|
+
{
|
|
74275
|
+
id: "device-attention",
|
|
74276
|
+
family: "device-events",
|
|
74277
|
+
label: "Needs attention",
|
|
74278
|
+
kinds: ["device-attention-required", "device-attention-resolved"]
|
|
74279
|
+
},
|
|
74251
74280
|
{
|
|
74252
74281
|
id: "nodes",
|
|
74253
74282
|
family: "system",
|
|
@@ -74387,6 +74416,7 @@ var ALERT_EPISODE = [
|
|
|
74387
74416
|
"alert-error",
|
|
74388
74417
|
"alert-critical-resolved"
|
|
74389
74418
|
];
|
|
74419
|
+
var DEVICE_ATTENTION = ["device-attention-required", "device-attention-resolved"];
|
|
74390
74420
|
var UPDATES = [
|
|
74391
74421
|
"addon-update-available",
|
|
74392
74422
|
"server-update-available",
|
|
@@ -74416,9 +74446,12 @@ var DEVICE_EVENTS = [
|
|
|
74416
74446
|
"stream-online",
|
|
74417
74447
|
"stream-offline",
|
|
74418
74448
|
"detection-blind",
|
|
74449
|
+
"motion-noisy",
|
|
74450
|
+
"motion-calm",
|
|
74419
74451
|
"recording-stalled",
|
|
74420
74452
|
"recording-healthy",
|
|
74421
74453
|
"recording-degraded",
|
|
74454
|
+
...DEVICE_ATTENTION,
|
|
74422
74455
|
...ALARM
|
|
74423
74456
|
];
|
|
74424
74457
|
/** Every kind a summary may speak about — the two summarisable families. */
|
|
@@ -74586,7 +74619,9 @@ var STATE_SUMMARY_VARS = [
|
|
|
74586
74619
|
[...RULE_TEXT],
|
|
74587
74620
|
[...RULE_TEXT],
|
|
74588
74621
|
[...RULE_TEXT],
|
|
74589
|
-
|
|
74622
|
+
[...RULE_TEXT],
|
|
74623
|
+
[...RULE_TEXT],
|
|
74624
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
74590
74625
|
[...RULE_TEXT],
|
|
74591
74626
|
[...RULE_TEXT],
|
|
74592
74627
|
[...RULE_TEXT],
|
|
@@ -74608,11 +74643,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
74608
74643
|
[...RULE_TEXT],
|
|
74609
74644
|
[...RULE_TEXT],
|
|
74610
74645
|
[...RULE_TEXT],
|
|
74646
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
74611
74647
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74648
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
74612
74649
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74613
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74614
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74615
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74650
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
74616
74651
|
[...RULE_TEXT],
|
|
74617
74652
|
[...RULE_TEXT],
|
|
74618
74653
|
[...RULE_TEXT],
|
|
@@ -74688,6 +74723,15 @@ new Map([
|
|
|
74688
74723
|
snapshotLabel: "Tanks low or full now",
|
|
74689
74724
|
snapshotSection: "tanks"
|
|
74690
74725
|
},
|
|
74726
|
+
{
|
|
74727
|
+
id: "motion-noise",
|
|
74728
|
+
family: "device-events",
|
|
74729
|
+
label: "Motion without a subject (constant / calm again)",
|
|
74730
|
+
bad: ["motion-noisy"],
|
|
74731
|
+
recovery: ["motion-calm"],
|
|
74732
|
+
snapshotLabel: "Cameras with constant motion now",
|
|
74733
|
+
snapshotSection: null
|
|
74734
|
+
},
|
|
74691
74735
|
{
|
|
74692
74736
|
id: "recording-health",
|
|
74693
74737
|
family: "device-events",
|
|
@@ -74697,6 +74741,15 @@ new Map([
|
|
|
74697
74741
|
snapshotLabel: "Recordings stalled now",
|
|
74698
74742
|
snapshotSection: null
|
|
74699
74743
|
},
|
|
74744
|
+
{
|
|
74745
|
+
id: "device-attention",
|
|
74746
|
+
family: "device-events",
|
|
74747
|
+
label: "Device needs attention (raised / resolved)",
|
|
74748
|
+
bad: ["device-attention-required"],
|
|
74749
|
+
recovery: ["device-attention-resolved"],
|
|
74750
|
+
snapshotLabel: "Devices needing attention now",
|
|
74751
|
+
snapshotSection: null
|
|
74752
|
+
},
|
|
74700
74753
|
{
|
|
74701
74754
|
id: "node-connectivity",
|
|
74702
74755
|
family: "system",
|
package/dist/addon.mjs
CHANGED
|
@@ -2,7 +2,7 @@ import { brotliCompressSync, deflateSync, gzipSync } from "node:zlib";
|
|
|
2
2
|
import { readFileSync } from "node:fs";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { fileURLToPath } from "node:url";
|
|
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
|
|
@@ -5558,7 +5567,7 @@ var ZodIssueCode = {
|
|
|
5558
5567
|
var ZodFirstPartyTypeKind;
|
|
5559
5568
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5560
5569
|
//#endregion
|
|
5561
|
-
//#region ../types/dist/sleep-
|
|
5570
|
+
//#region ../types/dist/sleep-DJFUfKvA.mjs
|
|
5562
5571
|
/**
|
|
5563
5572
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5564
5573
|
* window to float samples (D455).
|
|
@@ -8150,7 +8159,7 @@ var EntryDescriptorSchema = object({
|
|
|
8150
8159
|
/** JSON Schema of the entry body; `secret: true` marks a password field. */
|
|
8151
8160
|
fields: record(string(), unknown())
|
|
8152
8161
|
}).strict();
|
|
8153
|
-
/** What crosses the wire
|
|
8162
|
+
/** What crosses the wire from an addon: JSON only, no Zod. An unknown key is refused. */
|
|
8154
8163
|
var RecordKindDeclarationSchema = object({
|
|
8155
8164
|
database: _enum(RECORD_DATABASES).default("settings"),
|
|
8156
8165
|
class: _enum(RECORD_CLASSES),
|
|
@@ -8169,14 +8178,6 @@ var RecordKindDeclarationSchema = object({
|
|
|
8169
8178
|
secretPaths: array(string().min(1)).default([]),
|
|
8170
8179
|
/** The id key of each array that carries a secret (`{ headers: 'name' }`). */
|
|
8171
8180
|
secretArrayKeys: record(string(), string()).default({}),
|
|
8172
|
-
/**
|
|
8173
|
-
* RETIRED (D900): the legacy table a kind adopted from during the records
|
|
8174
|
-
* migration. Nothing declares it any more and nothing reads it; the schema
|
|
8175
|
-
* still ACCEPTS it because the catalog rows the migration wrote carry it
|
|
8176
|
-
* (an orphaned kind is never redeclared) and an addon built before the
|
|
8177
|
-
* removal still sends it. Never set it.
|
|
8178
|
-
*/
|
|
8179
|
-
adoptsFrom: string().min(1).optional(),
|
|
8180
8181
|
/** Kinds that must agree through `transact` sit in one file under one family name. */
|
|
8181
8182
|
transactFamily: string().min(1).optional(),
|
|
8182
8183
|
entry: EntryDescriptorSchema.optional()
|
|
@@ -13076,17 +13077,6 @@ object({
|
|
|
13076
13077
|
createdAt: number(),
|
|
13077
13078
|
updatedAt: number()
|
|
13078
13079
|
});
|
|
13079
|
-
object({
|
|
13080
|
-
id: string(),
|
|
13081
|
-
label: string(),
|
|
13082
|
-
isAdmin: boolean().default(false),
|
|
13083
|
-
allowedProviders: AllowedProviderSchema,
|
|
13084
|
-
allowedDevices: AllowedDevicesSchema,
|
|
13085
|
-
tokenHash: string(),
|
|
13086
|
-
tokenPrefix: string(),
|
|
13087
|
-
createdAt: number(),
|
|
13088
|
-
lastUsedAt: number().optional()
|
|
13089
|
-
});
|
|
13090
13080
|
object({
|
|
13091
13081
|
id: string(),
|
|
13092
13082
|
userId: string(),
|
|
@@ -16981,16 +16971,36 @@ var RecordKindStateSchema = _enum([
|
|
|
16981
16971
|
var DeclareKindResultSchema = object({
|
|
16982
16972
|
kindId: number().int(),
|
|
16983
16973
|
state: RecordKindStateSchema,
|
|
16984
|
-
createdIndexes: array(string())
|
|
16985
|
-
/**
|
|
16986
|
-
* RETIRED (D900): always `null`. It carried the records-migration boot guard;
|
|
16987
|
-
* it stays on the wire, null, because an addon built before the removal reads
|
|
16988
|
-
* an ABSENT field as "adoption pending" and refuses to start.
|
|
16989
|
-
*/
|
|
16990
|
-
adoptionPending: _null()
|
|
16974
|
+
createdIndexes: array(string())
|
|
16991
16975
|
});
|
|
16992
16976
|
/** Keychain refs a write released (the old marker is gone from the row): the owner deletes the values. */
|
|
16993
16977
|
var SecretRefsList = array(string());
|
|
16978
|
+
/**
|
|
16979
|
+
* One op of a `transact`: the single-row writes, each on a kind of the caller.
|
|
16980
|
+
* All ops of one call share ONE database file and ONE `transactFamily`.
|
|
16981
|
+
*/
|
|
16982
|
+
var RecordTransactOpSchema = discriminatedUnion("op", [
|
|
16983
|
+
object({
|
|
16984
|
+
op: literal("put"),
|
|
16985
|
+
kind: RecordKindNameSchema,
|
|
16986
|
+
record: RecordInputSchema,
|
|
16987
|
+
ifRev: number().int().min(0).optional()
|
|
16988
|
+
}),
|
|
16989
|
+
object({
|
|
16990
|
+
op: literal("patch"),
|
|
16991
|
+
kind: RecordKindNameSchema,
|
|
16992
|
+
id: RecordIdSchema,
|
|
16993
|
+
data: RecordBodySchema,
|
|
16994
|
+
at: number().int().nullable().optional(),
|
|
16995
|
+
expiresAt: number().int().nullable().optional(),
|
|
16996
|
+
ifRev: number().int().min(1).optional()
|
|
16997
|
+
}),
|
|
16998
|
+
object({
|
|
16999
|
+
op: literal("delete"),
|
|
17000
|
+
kind: RecordKindNameSchema,
|
|
17001
|
+
id: RecordIdSchema
|
|
17002
|
+
})
|
|
17003
|
+
]);
|
|
16994
17004
|
var RecordSecretRefsSchema = record(string(), record(string(), string()));
|
|
16995
17005
|
method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema) }), object({ kinds: record(string(), DeclareKindResultSchema) }), {
|
|
16996
17006
|
kind: "mutation",
|
|
@@ -17097,6 +17107,16 @@ method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema)
|
|
|
17097
17107
|
}), {
|
|
17098
17108
|
kind: "mutation",
|
|
17099
17109
|
auth: "admin"
|
|
17110
|
+
}), method(object({ ops: array(RecordTransactOpSchema).min(1).max(RECORD_BATCH_MAX) }), object({
|
|
17111
|
+
results: array(object({
|
|
17112
|
+
rev: number().int().nullable(),
|
|
17113
|
+
deleted: boolean()
|
|
17114
|
+
})),
|
|
17115
|
+
releasedRefs: SecretRefsList,
|
|
17116
|
+
secretRefs: SecretRefsList
|
|
17117
|
+
}), {
|
|
17118
|
+
kind: "mutation",
|
|
17119
|
+
auth: "admin"
|
|
17100
17120
|
}), method(object({
|
|
17101
17121
|
deviceId: number().int(),
|
|
17102
17122
|
kinds: array(RecordKindNameSchema).optional()
|
|
@@ -42477,9 +42497,13 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42477
42497
|
"node-updating",
|
|
42478
42498
|
"node-inference-unavailable",
|
|
42479
42499
|
"detection-blind",
|
|
42500
|
+
"motion-noisy",
|
|
42501
|
+
"motion-calm",
|
|
42480
42502
|
"recording-stalled",
|
|
42481
42503
|
"recording-healthy",
|
|
42482
42504
|
"recording-degraded",
|
|
42505
|
+
"device-attention-required",
|
|
42506
|
+
"device-attention-resolved",
|
|
42483
42507
|
"storage-location-low",
|
|
42484
42508
|
"storage-location-critical",
|
|
42485
42509
|
"storage-location-ok",
|
|
@@ -54936,6 +54960,16 @@ object({
|
|
|
54936
54960
|
powerState: string().nullable(),
|
|
54937
54961
|
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
54938
54962
|
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
54963
|
+
/**
|
|
54964
|
+
* True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
|
|
54965
|
+
* combined care-and-filter reminder raised); false when every such reminder reads clear; null
|
|
54966
|
+
* when none is reported. A cleared reminder is not an unknown one.
|
|
54967
|
+
*/
|
|
54968
|
+
filterCleaningDue: boolean().nullable(),
|
|
54969
|
+
/** True while the machine-care (descaling / cleaning-program) reminder is raised; false when clear; null when not reported. */
|
|
54970
|
+
machineCareDue: boolean().nullable(),
|
|
54971
|
+
/** Program runs left before the machine-care reminder is due; null when the appliance does not say. */
|
|
54972
|
+
machineCareRemainingRuns: number().int().nonnegative().nullable(),
|
|
54939
54973
|
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
54940
54974
|
halfLoad: boolean().nullable(),
|
|
54941
54975
|
hygienePlus: boolean().nullable(),
|
|
@@ -61553,16 +61587,6 @@ var UpdateUserInputSchema = object({
|
|
|
61553
61587
|
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
61554
61588
|
scopes: array(TokenScopeSchema).optional()
|
|
61555
61589
|
});
|
|
61556
|
-
var ApiKeySummarySchema = object({
|
|
61557
|
-
id: string(),
|
|
61558
|
-
label: string(),
|
|
61559
|
-
isAdmin: boolean().default(false),
|
|
61560
|
-
allowedProviders: union([array(string()), literal("*")]).optional(),
|
|
61561
|
-
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
61562
|
-
tokenPrefix: string(),
|
|
61563
|
-
createdAt: number(),
|
|
61564
|
-
lastUsedAt: number().optional()
|
|
61565
|
-
});
|
|
61566
61590
|
var OauthSessionSummarySchema = object({
|
|
61567
61591
|
id: string(),
|
|
61568
61592
|
userId: string(),
|
|
@@ -61584,8 +61608,7 @@ var TotpStatusSchema = object({
|
|
|
61584
61608
|
confirmedAt: number().nullable()
|
|
61585
61609
|
});
|
|
61586
61610
|
/**
|
|
61587
|
-
* user-management — singleton capability for user accounts
|
|
61588
|
-
* legacy API-key rows.
|
|
61611
|
+
* user-management — singleton capability for user accounts.
|
|
61589
61612
|
*
|
|
61590
61613
|
* v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
|
|
61591
61614
|
* — the subset check on `setUserScopes` is moot
|
|
@@ -61641,10 +61664,6 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
61641
61664
|
}), UserSummarySchema.extend({ passwordHash: string() }).nullable(), {
|
|
61642
61665
|
kind: "mutation",
|
|
61643
61666
|
access: "view"
|
|
61644
|
-
}), method(_void(), array(ApiKeySummarySchema), { auth: "admin" }), method(object({ id: string() }), object({ success: literal(true) }), {
|
|
61645
|
-
kind: "mutation",
|
|
61646
|
-
auth: "admin",
|
|
61647
|
-
access: "delete"
|
|
61648
61667
|
}), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
61649
61668
|
kind: "mutation",
|
|
61650
61669
|
auth: "admin",
|
|
@@ -69157,6 +69176,12 @@ Object.freeze({
|
|
|
69157
69176
|
addonId: null,
|
|
69158
69177
|
access: "view"
|
|
69159
69178
|
},
|
|
69179
|
+
"records.transact": {
|
|
69180
|
+
capName: "records",
|
|
69181
|
+
capScope: "system",
|
|
69182
|
+
addonId: null,
|
|
69183
|
+
access: "create"
|
|
69184
|
+
},
|
|
69160
69185
|
"sceneMonitor.captureReference": {
|
|
69161
69186
|
capName: "scene-monitor",
|
|
69162
69187
|
capScope: "device",
|
|
@@ -70489,12 +70514,6 @@ Object.freeze({
|
|
|
70489
70514
|
addonId: null,
|
|
70490
70515
|
access: "view"
|
|
70491
70516
|
},
|
|
70492
|
-
"userManagement.listApiKeys": {
|
|
70493
|
-
capName: "user-management",
|
|
70494
|
-
capScope: "system",
|
|
70495
|
-
addonId: null,
|
|
70496
|
-
access: "view"
|
|
70497
|
-
},
|
|
70498
70517
|
"userManagement.listExternalIdentities": {
|
|
70499
70518
|
capName: "user-management",
|
|
70500
70519
|
capScope: "system",
|
|
@@ -70549,12 +70568,6 @@ Object.freeze({
|
|
|
70549
70568
|
addonId: null,
|
|
70550
70569
|
access: "create"
|
|
70551
70570
|
},
|
|
70552
|
-
"userManagement.revokeApiKey": {
|
|
70553
|
-
capName: "user-management",
|
|
70554
|
-
capScope: "system",
|
|
70555
|
-
addonId: null,
|
|
70556
|
-
access: "delete"
|
|
70557
|
-
},
|
|
70558
70571
|
"userManagement.revokeOauthSession": {
|
|
70559
70572
|
capName: "user-management",
|
|
70560
70573
|
capScope: "system",
|
|
@@ -74126,9 +74139,13 @@ new Map(Object.entries({
|
|
|
74126
74139
|
"stream-online": "device-events",
|
|
74127
74140
|
"stream-offline": "device-events",
|
|
74128
74141
|
"detection-blind": "device-events",
|
|
74142
|
+
"motion-noisy": "device-events",
|
|
74143
|
+
"motion-calm": "device-events",
|
|
74129
74144
|
"recording-stalled": "device-events",
|
|
74130
74145
|
"recording-healthy": "device-events",
|
|
74131
74146
|
"recording-degraded": "device-events",
|
|
74147
|
+
"device-attention-required": "device-events",
|
|
74148
|
+
"device-attention-resolved": "device-events",
|
|
74132
74149
|
"node-online": "system",
|
|
74133
74150
|
"node-offline": "system",
|
|
74134
74151
|
"node-restarting": "system",
|
|
@@ -74211,6 +74228,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
74211
74228
|
label: "Detecting nothing",
|
|
74212
74229
|
kinds: ["detection-blind"]
|
|
74213
74230
|
},
|
|
74231
|
+
{
|
|
74232
|
+
id: "motion-noise",
|
|
74233
|
+
family: "device-events",
|
|
74234
|
+
label: "Motion without a subject",
|
|
74235
|
+
kinds: ["motion-noisy", "motion-calm"]
|
|
74236
|
+
},
|
|
74214
74237
|
{
|
|
74215
74238
|
id: "recording",
|
|
74216
74239
|
family: "device-events",
|
|
@@ -74221,6 +74244,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
74221
74244
|
"recording-degraded"
|
|
74222
74245
|
]
|
|
74223
74246
|
},
|
|
74247
|
+
{
|
|
74248
|
+
id: "device-attention",
|
|
74249
|
+
family: "device-events",
|
|
74250
|
+
label: "Needs attention",
|
|
74251
|
+
kinds: ["device-attention-required", "device-attention-resolved"]
|
|
74252
|
+
},
|
|
74224
74253
|
{
|
|
74225
74254
|
id: "nodes",
|
|
74226
74255
|
family: "system",
|
|
@@ -74360,6 +74389,7 @@ var ALERT_EPISODE = [
|
|
|
74360
74389
|
"alert-error",
|
|
74361
74390
|
"alert-critical-resolved"
|
|
74362
74391
|
];
|
|
74392
|
+
var DEVICE_ATTENTION = ["device-attention-required", "device-attention-resolved"];
|
|
74363
74393
|
var UPDATES = [
|
|
74364
74394
|
"addon-update-available",
|
|
74365
74395
|
"server-update-available",
|
|
@@ -74389,9 +74419,12 @@ var DEVICE_EVENTS = [
|
|
|
74389
74419
|
"stream-online",
|
|
74390
74420
|
"stream-offline",
|
|
74391
74421
|
"detection-blind",
|
|
74422
|
+
"motion-noisy",
|
|
74423
|
+
"motion-calm",
|
|
74392
74424
|
"recording-stalled",
|
|
74393
74425
|
"recording-healthy",
|
|
74394
74426
|
"recording-degraded",
|
|
74427
|
+
...DEVICE_ATTENTION,
|
|
74395
74428
|
...ALARM
|
|
74396
74429
|
];
|
|
74397
74430
|
/** Every kind a summary may speak about — the two summarisable families. */
|
|
@@ -74559,7 +74592,9 @@ var STATE_SUMMARY_VARS = [
|
|
|
74559
74592
|
[...RULE_TEXT],
|
|
74560
74593
|
[...RULE_TEXT],
|
|
74561
74594
|
[...RULE_TEXT],
|
|
74562
|
-
|
|
74595
|
+
[...RULE_TEXT],
|
|
74596
|
+
[...RULE_TEXT],
|
|
74597
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
74563
74598
|
[...RULE_TEXT],
|
|
74564
74599
|
[...RULE_TEXT],
|
|
74565
74600
|
[...RULE_TEXT],
|
|
@@ -74581,11 +74616,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
74581
74616
|
[...RULE_TEXT],
|
|
74582
74617
|
[...RULE_TEXT],
|
|
74583
74618
|
[...RULE_TEXT],
|
|
74619
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
74584
74620
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74621
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
74585
74622
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74586
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74587
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74588
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74623
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
74589
74624
|
[...RULE_TEXT],
|
|
74590
74625
|
[...RULE_TEXT],
|
|
74591
74626
|
[...RULE_TEXT],
|
|
@@ -74661,6 +74696,15 @@ new Map([
|
|
|
74661
74696
|
snapshotLabel: "Tanks low or full now",
|
|
74662
74697
|
snapshotSection: "tanks"
|
|
74663
74698
|
},
|
|
74699
|
+
{
|
|
74700
|
+
id: "motion-noise",
|
|
74701
|
+
family: "device-events",
|
|
74702
|
+
label: "Motion without a subject (constant / calm again)",
|
|
74703
|
+
bad: ["motion-noisy"],
|
|
74704
|
+
recovery: ["motion-calm"],
|
|
74705
|
+
snapshotLabel: "Cameras with constant motion now",
|
|
74706
|
+
snapshotSection: null
|
|
74707
|
+
},
|
|
74664
74708
|
{
|
|
74665
74709
|
id: "recording-health",
|
|
74666
74710
|
family: "device-events",
|
|
@@ -74670,6 +74714,15 @@ new Map([
|
|
|
74670
74714
|
snapshotLabel: "Recordings stalled now",
|
|
74671
74715
|
snapshotSection: null
|
|
74672
74716
|
},
|
|
74717
|
+
{
|
|
74718
|
+
id: "device-attention",
|
|
74719
|
+
family: "device-events",
|
|
74720
|
+
label: "Device needs attention (raised / resolved)",
|
|
74721
|
+
bad: ["device-attention-required"],
|
|
74722
|
+
recovery: ["device-attention-resolved"],
|
|
74723
|
+
snapshotLabel: "Devices needing attention now",
|
|
74724
|
+
snapshotSection: null
|
|
74725
|
+
},
|
|
74673
74726
|
{
|
|
74674
74727
|
id: "node-connectivity",
|
|
74675
74728
|
family: "system",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-notifiers",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.616",
|
|
4
4
|
"description": "System notifiers addon for CamStack — a `notification-output` collection provider hosting per-kind notifier adapters (ntfy, pushover, gotify, telegram, discord, webhook, zentik).",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|