@camstack/addon-notifiers 1.2.615 → 1.2.617
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 -67
- package/dist/addon.mjs +114 -67
- 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",
|
|
@@ -48067,7 +48091,6 @@ var RecommendationReasonSchema = discriminatedUnion("kind", [
|
|
|
48067
48091
|
modelId: string()
|
|
48068
48092
|
}),
|
|
48069
48093
|
object({ kind: literal("cpu-device") }),
|
|
48070
|
-
object({ kind: literal("coral-untouched") }),
|
|
48071
48094
|
object({ kind: literal("device-disabled") }),
|
|
48072
48095
|
object({ kind: literal("device-unavailable") }),
|
|
48073
48096
|
object({ kind: literal("node-offline") }),
|
|
@@ -48165,11 +48188,6 @@ var AutoTuneWarningSchema = discriminatedUnion("kind", [
|
|
|
48165
48188
|
kind: literal("detector-store-unreadable"),
|
|
48166
48189
|
error: string()
|
|
48167
48190
|
}),
|
|
48168
|
-
object({
|
|
48169
|
-
kind: literal("coral-enabled"),
|
|
48170
|
-
nodeId: string(),
|
|
48171
|
-
deviceKey: string()
|
|
48172
|
-
}),
|
|
48173
48191
|
object({
|
|
48174
48192
|
kind: literal("custom-pin-kept"),
|
|
48175
48193
|
nodeId: string(),
|
|
@@ -54963,6 +54981,16 @@ object({
|
|
|
54963
54981
|
powerState: string().nullable(),
|
|
54964
54982
|
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
54965
54983
|
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
54984
|
+
/**
|
|
54985
|
+
* True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
|
|
54986
|
+
* combined care-and-filter reminder raised); false when every such reminder reads clear; null
|
|
54987
|
+
* when none is reported. A cleared reminder is not an unknown one.
|
|
54988
|
+
*/
|
|
54989
|
+
filterCleaningDue: boolean().nullable(),
|
|
54990
|
+
/** True while the machine-care (descaling / cleaning-program) reminder is raised; false when clear; null when not reported. */
|
|
54991
|
+
machineCareDue: boolean().nullable(),
|
|
54992
|
+
/** Program runs left before the machine-care reminder is due; null when the appliance does not say. */
|
|
54993
|
+
machineCareRemainingRuns: number().int().nonnegative().nullable(),
|
|
54966
54994
|
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
54967
54995
|
halfLoad: boolean().nullable(),
|
|
54968
54996
|
hygienePlus: boolean().nullable(),
|
|
@@ -61580,16 +61608,6 @@ var UpdateUserInputSchema = object({
|
|
|
61580
61608
|
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
61581
61609
|
scopes: array(TokenScopeSchema).optional()
|
|
61582
61610
|
});
|
|
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
61611
|
var OauthSessionSummarySchema = object({
|
|
61594
61612
|
id: string(),
|
|
61595
61613
|
userId: string(),
|
|
@@ -61611,8 +61629,7 @@ var TotpStatusSchema = object({
|
|
|
61611
61629
|
confirmedAt: number().nullable()
|
|
61612
61630
|
});
|
|
61613
61631
|
/**
|
|
61614
|
-
* user-management — singleton capability for user accounts
|
|
61615
|
-
* legacy API-key rows.
|
|
61632
|
+
* user-management — singleton capability for user accounts.
|
|
61616
61633
|
*
|
|
61617
61634
|
* v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
|
|
61618
61635
|
* — the subset check on `setUserScopes` is moot
|
|
@@ -61668,10 +61685,6 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
61668
61685
|
}), UserSummarySchema.extend({ passwordHash: string() }).nullable(), {
|
|
61669
61686
|
kind: "mutation",
|
|
61670
61687
|
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
61688
|
}), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
61676
61689
|
kind: "mutation",
|
|
61677
61690
|
auth: "admin",
|
|
@@ -69184,6 +69197,12 @@ Object.freeze({
|
|
|
69184
69197
|
addonId: null,
|
|
69185
69198
|
access: "view"
|
|
69186
69199
|
},
|
|
69200
|
+
"records.transact": {
|
|
69201
|
+
capName: "records",
|
|
69202
|
+
capScope: "system",
|
|
69203
|
+
addonId: null,
|
|
69204
|
+
access: "create"
|
|
69205
|
+
},
|
|
69187
69206
|
"sceneMonitor.captureReference": {
|
|
69188
69207
|
capName: "scene-monitor",
|
|
69189
69208
|
capScope: "device",
|
|
@@ -70516,12 +70535,6 @@ Object.freeze({
|
|
|
70516
70535
|
addonId: null,
|
|
70517
70536
|
access: "view"
|
|
70518
70537
|
},
|
|
70519
|
-
"userManagement.listApiKeys": {
|
|
70520
|
-
capName: "user-management",
|
|
70521
|
-
capScope: "system",
|
|
70522
|
-
addonId: null,
|
|
70523
|
-
access: "view"
|
|
70524
|
-
},
|
|
70525
70538
|
"userManagement.listExternalIdentities": {
|
|
70526
70539
|
capName: "user-management",
|
|
70527
70540
|
capScope: "system",
|
|
@@ -70576,12 +70589,6 @@ Object.freeze({
|
|
|
70576
70589
|
addonId: null,
|
|
70577
70590
|
access: "create"
|
|
70578
70591
|
},
|
|
70579
|
-
"userManagement.revokeApiKey": {
|
|
70580
|
-
capName: "user-management",
|
|
70581
|
-
capScope: "system",
|
|
70582
|
-
addonId: null,
|
|
70583
|
-
access: "delete"
|
|
70584
|
-
},
|
|
70585
70592
|
"userManagement.revokeOauthSession": {
|
|
70586
70593
|
capName: "user-management",
|
|
70587
70594
|
capScope: "system",
|
|
@@ -74153,9 +74160,13 @@ new Map(Object.entries({
|
|
|
74153
74160
|
"stream-online": "device-events",
|
|
74154
74161
|
"stream-offline": "device-events",
|
|
74155
74162
|
"detection-blind": "device-events",
|
|
74163
|
+
"motion-noisy": "device-events",
|
|
74164
|
+
"motion-calm": "device-events",
|
|
74156
74165
|
"recording-stalled": "device-events",
|
|
74157
74166
|
"recording-healthy": "device-events",
|
|
74158
74167
|
"recording-degraded": "device-events",
|
|
74168
|
+
"device-attention-required": "device-events",
|
|
74169
|
+
"device-attention-resolved": "device-events",
|
|
74159
74170
|
"node-online": "system",
|
|
74160
74171
|
"node-offline": "system",
|
|
74161
74172
|
"node-restarting": "system",
|
|
@@ -74238,6 +74249,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
74238
74249
|
label: "Detecting nothing",
|
|
74239
74250
|
kinds: ["detection-blind"]
|
|
74240
74251
|
},
|
|
74252
|
+
{
|
|
74253
|
+
id: "motion-noise",
|
|
74254
|
+
family: "device-events",
|
|
74255
|
+
label: "Motion without a subject",
|
|
74256
|
+
kinds: ["motion-noisy", "motion-calm"]
|
|
74257
|
+
},
|
|
74241
74258
|
{
|
|
74242
74259
|
id: "recording",
|
|
74243
74260
|
family: "device-events",
|
|
@@ -74248,6 +74265,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
74248
74265
|
"recording-degraded"
|
|
74249
74266
|
]
|
|
74250
74267
|
},
|
|
74268
|
+
{
|
|
74269
|
+
id: "device-attention",
|
|
74270
|
+
family: "device-events",
|
|
74271
|
+
label: "Needs attention",
|
|
74272
|
+
kinds: ["device-attention-required", "device-attention-resolved"]
|
|
74273
|
+
},
|
|
74251
74274
|
{
|
|
74252
74275
|
id: "nodes",
|
|
74253
74276
|
family: "system",
|
|
@@ -74387,6 +74410,7 @@ var ALERT_EPISODE = [
|
|
|
74387
74410
|
"alert-error",
|
|
74388
74411
|
"alert-critical-resolved"
|
|
74389
74412
|
];
|
|
74413
|
+
var DEVICE_ATTENTION = ["device-attention-required", "device-attention-resolved"];
|
|
74390
74414
|
var UPDATES = [
|
|
74391
74415
|
"addon-update-available",
|
|
74392
74416
|
"server-update-available",
|
|
@@ -74416,9 +74440,12 @@ var DEVICE_EVENTS = [
|
|
|
74416
74440
|
"stream-online",
|
|
74417
74441
|
"stream-offline",
|
|
74418
74442
|
"detection-blind",
|
|
74443
|
+
"motion-noisy",
|
|
74444
|
+
"motion-calm",
|
|
74419
74445
|
"recording-stalled",
|
|
74420
74446
|
"recording-healthy",
|
|
74421
74447
|
"recording-degraded",
|
|
74448
|
+
...DEVICE_ATTENTION,
|
|
74422
74449
|
...ALARM
|
|
74423
74450
|
];
|
|
74424
74451
|
/** Every kind a summary may speak about — the two summarisable families. */
|
|
@@ -74586,7 +74613,9 @@ var STATE_SUMMARY_VARS = [
|
|
|
74586
74613
|
[...RULE_TEXT],
|
|
74587
74614
|
[...RULE_TEXT],
|
|
74588
74615
|
[...RULE_TEXT],
|
|
74589
|
-
|
|
74616
|
+
[...RULE_TEXT],
|
|
74617
|
+
[...RULE_TEXT],
|
|
74618
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
74590
74619
|
[...RULE_TEXT],
|
|
74591
74620
|
[...RULE_TEXT],
|
|
74592
74621
|
[...RULE_TEXT],
|
|
@@ -74608,11 +74637,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
74608
74637
|
[...RULE_TEXT],
|
|
74609
74638
|
[...RULE_TEXT],
|
|
74610
74639
|
[...RULE_TEXT],
|
|
74640
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
74611
74641
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74642
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
74612
74643
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74613
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74614
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74615
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74644
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
74616
74645
|
[...RULE_TEXT],
|
|
74617
74646
|
[...RULE_TEXT],
|
|
74618
74647
|
[...RULE_TEXT],
|
|
@@ -74688,6 +74717,15 @@ new Map([
|
|
|
74688
74717
|
snapshotLabel: "Tanks low or full now",
|
|
74689
74718
|
snapshotSection: "tanks"
|
|
74690
74719
|
},
|
|
74720
|
+
{
|
|
74721
|
+
id: "motion-noise",
|
|
74722
|
+
family: "device-events",
|
|
74723
|
+
label: "Motion without a subject (constant / calm again)",
|
|
74724
|
+
bad: ["motion-noisy"],
|
|
74725
|
+
recovery: ["motion-calm"],
|
|
74726
|
+
snapshotLabel: "Cameras with constant motion now",
|
|
74727
|
+
snapshotSection: null
|
|
74728
|
+
},
|
|
74691
74729
|
{
|
|
74692
74730
|
id: "recording-health",
|
|
74693
74731
|
family: "device-events",
|
|
@@ -74697,6 +74735,15 @@ new Map([
|
|
|
74697
74735
|
snapshotLabel: "Recordings stalled now",
|
|
74698
74736
|
snapshotSection: null
|
|
74699
74737
|
},
|
|
74738
|
+
{
|
|
74739
|
+
id: "device-attention",
|
|
74740
|
+
family: "device-events",
|
|
74741
|
+
label: "Device needs attention (raised / resolved)",
|
|
74742
|
+
bad: ["device-attention-required"],
|
|
74743
|
+
recovery: ["device-attention-resolved"],
|
|
74744
|
+
snapshotLabel: "Devices needing attention now",
|
|
74745
|
+
snapshotSection: null
|
|
74746
|
+
},
|
|
74700
74747
|
{
|
|
74701
74748
|
id: "node-connectivity",
|
|
74702
74749
|
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",
|
|
@@ -48040,7 +48064,6 @@ var RecommendationReasonSchema = discriminatedUnion("kind", [
|
|
|
48040
48064
|
modelId: string()
|
|
48041
48065
|
}),
|
|
48042
48066
|
object({ kind: literal("cpu-device") }),
|
|
48043
|
-
object({ kind: literal("coral-untouched") }),
|
|
48044
48067
|
object({ kind: literal("device-disabled") }),
|
|
48045
48068
|
object({ kind: literal("device-unavailable") }),
|
|
48046
48069
|
object({ kind: literal("node-offline") }),
|
|
@@ -48138,11 +48161,6 @@ var AutoTuneWarningSchema = discriminatedUnion("kind", [
|
|
|
48138
48161
|
kind: literal("detector-store-unreadable"),
|
|
48139
48162
|
error: string()
|
|
48140
48163
|
}),
|
|
48141
|
-
object({
|
|
48142
|
-
kind: literal("coral-enabled"),
|
|
48143
|
-
nodeId: string(),
|
|
48144
|
-
deviceKey: string()
|
|
48145
|
-
}),
|
|
48146
48164
|
object({
|
|
48147
48165
|
kind: literal("custom-pin-kept"),
|
|
48148
48166
|
nodeId: string(),
|
|
@@ -54936,6 +54954,16 @@ object({
|
|
|
54936
54954
|
powerState: string().nullable(),
|
|
54937
54955
|
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
54938
54956
|
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
54957
|
+
/**
|
|
54958
|
+
* True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
|
|
54959
|
+
* combined care-and-filter reminder raised); false when every such reminder reads clear; null
|
|
54960
|
+
* when none is reported. A cleared reminder is not an unknown one.
|
|
54961
|
+
*/
|
|
54962
|
+
filterCleaningDue: boolean().nullable(),
|
|
54963
|
+
/** True while the machine-care (descaling / cleaning-program) reminder is raised; false when clear; null when not reported. */
|
|
54964
|
+
machineCareDue: boolean().nullable(),
|
|
54965
|
+
/** Program runs left before the machine-care reminder is due; null when the appliance does not say. */
|
|
54966
|
+
machineCareRemainingRuns: number().int().nonnegative().nullable(),
|
|
54939
54967
|
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
54940
54968
|
halfLoad: boolean().nullable(),
|
|
54941
54969
|
hygienePlus: boolean().nullable(),
|
|
@@ -61553,16 +61581,6 @@ var UpdateUserInputSchema = object({
|
|
|
61553
61581
|
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
61554
61582
|
scopes: array(TokenScopeSchema).optional()
|
|
61555
61583
|
});
|
|
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
61584
|
var OauthSessionSummarySchema = object({
|
|
61567
61585
|
id: string(),
|
|
61568
61586
|
userId: string(),
|
|
@@ -61584,8 +61602,7 @@ var TotpStatusSchema = object({
|
|
|
61584
61602
|
confirmedAt: number().nullable()
|
|
61585
61603
|
});
|
|
61586
61604
|
/**
|
|
61587
|
-
* user-management — singleton capability for user accounts
|
|
61588
|
-
* legacy API-key rows.
|
|
61605
|
+
* user-management — singleton capability for user accounts.
|
|
61589
61606
|
*
|
|
61590
61607
|
* v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
|
|
61591
61608
|
* — the subset check on `setUserScopes` is moot
|
|
@@ -61641,10 +61658,6 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
61641
61658
|
}), UserSummarySchema.extend({ passwordHash: string() }).nullable(), {
|
|
61642
61659
|
kind: "mutation",
|
|
61643
61660
|
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
61661
|
}), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
61649
61662
|
kind: "mutation",
|
|
61650
61663
|
auth: "admin",
|
|
@@ -69157,6 +69170,12 @@ Object.freeze({
|
|
|
69157
69170
|
addonId: null,
|
|
69158
69171
|
access: "view"
|
|
69159
69172
|
},
|
|
69173
|
+
"records.transact": {
|
|
69174
|
+
capName: "records",
|
|
69175
|
+
capScope: "system",
|
|
69176
|
+
addonId: null,
|
|
69177
|
+
access: "create"
|
|
69178
|
+
},
|
|
69160
69179
|
"sceneMonitor.captureReference": {
|
|
69161
69180
|
capName: "scene-monitor",
|
|
69162
69181
|
capScope: "device",
|
|
@@ -70489,12 +70508,6 @@ Object.freeze({
|
|
|
70489
70508
|
addonId: null,
|
|
70490
70509
|
access: "view"
|
|
70491
70510
|
},
|
|
70492
|
-
"userManagement.listApiKeys": {
|
|
70493
|
-
capName: "user-management",
|
|
70494
|
-
capScope: "system",
|
|
70495
|
-
addonId: null,
|
|
70496
|
-
access: "view"
|
|
70497
|
-
},
|
|
70498
70511
|
"userManagement.listExternalIdentities": {
|
|
70499
70512
|
capName: "user-management",
|
|
70500
70513
|
capScope: "system",
|
|
@@ -70549,12 +70562,6 @@ Object.freeze({
|
|
|
70549
70562
|
addonId: null,
|
|
70550
70563
|
access: "create"
|
|
70551
70564
|
},
|
|
70552
|
-
"userManagement.revokeApiKey": {
|
|
70553
|
-
capName: "user-management",
|
|
70554
|
-
capScope: "system",
|
|
70555
|
-
addonId: null,
|
|
70556
|
-
access: "delete"
|
|
70557
|
-
},
|
|
70558
70565
|
"userManagement.revokeOauthSession": {
|
|
70559
70566
|
capName: "user-management",
|
|
70560
70567
|
capScope: "system",
|
|
@@ -74126,9 +74133,13 @@ new Map(Object.entries({
|
|
|
74126
74133
|
"stream-online": "device-events",
|
|
74127
74134
|
"stream-offline": "device-events",
|
|
74128
74135
|
"detection-blind": "device-events",
|
|
74136
|
+
"motion-noisy": "device-events",
|
|
74137
|
+
"motion-calm": "device-events",
|
|
74129
74138
|
"recording-stalled": "device-events",
|
|
74130
74139
|
"recording-healthy": "device-events",
|
|
74131
74140
|
"recording-degraded": "device-events",
|
|
74141
|
+
"device-attention-required": "device-events",
|
|
74142
|
+
"device-attention-resolved": "device-events",
|
|
74132
74143
|
"node-online": "system",
|
|
74133
74144
|
"node-offline": "system",
|
|
74134
74145
|
"node-restarting": "system",
|
|
@@ -74211,6 +74222,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
74211
74222
|
label: "Detecting nothing",
|
|
74212
74223
|
kinds: ["detection-blind"]
|
|
74213
74224
|
},
|
|
74225
|
+
{
|
|
74226
|
+
id: "motion-noise",
|
|
74227
|
+
family: "device-events",
|
|
74228
|
+
label: "Motion without a subject",
|
|
74229
|
+
kinds: ["motion-noisy", "motion-calm"]
|
|
74230
|
+
},
|
|
74214
74231
|
{
|
|
74215
74232
|
id: "recording",
|
|
74216
74233
|
family: "device-events",
|
|
@@ -74221,6 +74238,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
74221
74238
|
"recording-degraded"
|
|
74222
74239
|
]
|
|
74223
74240
|
},
|
|
74241
|
+
{
|
|
74242
|
+
id: "device-attention",
|
|
74243
|
+
family: "device-events",
|
|
74244
|
+
label: "Needs attention",
|
|
74245
|
+
kinds: ["device-attention-required", "device-attention-resolved"]
|
|
74246
|
+
},
|
|
74224
74247
|
{
|
|
74225
74248
|
id: "nodes",
|
|
74226
74249
|
family: "system",
|
|
@@ -74360,6 +74383,7 @@ var ALERT_EPISODE = [
|
|
|
74360
74383
|
"alert-error",
|
|
74361
74384
|
"alert-critical-resolved"
|
|
74362
74385
|
];
|
|
74386
|
+
var DEVICE_ATTENTION = ["device-attention-required", "device-attention-resolved"];
|
|
74363
74387
|
var UPDATES = [
|
|
74364
74388
|
"addon-update-available",
|
|
74365
74389
|
"server-update-available",
|
|
@@ -74389,9 +74413,12 @@ var DEVICE_EVENTS = [
|
|
|
74389
74413
|
"stream-online",
|
|
74390
74414
|
"stream-offline",
|
|
74391
74415
|
"detection-blind",
|
|
74416
|
+
"motion-noisy",
|
|
74417
|
+
"motion-calm",
|
|
74392
74418
|
"recording-stalled",
|
|
74393
74419
|
"recording-healthy",
|
|
74394
74420
|
"recording-degraded",
|
|
74421
|
+
...DEVICE_ATTENTION,
|
|
74395
74422
|
...ALARM
|
|
74396
74423
|
];
|
|
74397
74424
|
/** Every kind a summary may speak about — the two summarisable families. */
|
|
@@ -74559,7 +74586,9 @@ var STATE_SUMMARY_VARS = [
|
|
|
74559
74586
|
[...RULE_TEXT],
|
|
74560
74587
|
[...RULE_TEXT],
|
|
74561
74588
|
[...RULE_TEXT],
|
|
74562
|
-
|
|
74589
|
+
[...RULE_TEXT],
|
|
74590
|
+
[...RULE_TEXT],
|
|
74591
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
74563
74592
|
[...RULE_TEXT],
|
|
74564
74593
|
[...RULE_TEXT],
|
|
74565
74594
|
[...RULE_TEXT],
|
|
@@ -74581,11 +74610,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
74581
74610
|
[...RULE_TEXT],
|
|
74582
74611
|
[...RULE_TEXT],
|
|
74583
74612
|
[...RULE_TEXT],
|
|
74613
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
74584
74614
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74615
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
74585
74616
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74586
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74587
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74588
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74617
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
74589
74618
|
[...RULE_TEXT],
|
|
74590
74619
|
[...RULE_TEXT],
|
|
74591
74620
|
[...RULE_TEXT],
|
|
@@ -74661,6 +74690,15 @@ new Map([
|
|
|
74661
74690
|
snapshotLabel: "Tanks low or full now",
|
|
74662
74691
|
snapshotSection: "tanks"
|
|
74663
74692
|
},
|
|
74693
|
+
{
|
|
74694
|
+
id: "motion-noise",
|
|
74695
|
+
family: "device-events",
|
|
74696
|
+
label: "Motion without a subject (constant / calm again)",
|
|
74697
|
+
bad: ["motion-noisy"],
|
|
74698
|
+
recovery: ["motion-calm"],
|
|
74699
|
+
snapshotLabel: "Cameras with constant motion now",
|
|
74700
|
+
snapshotSection: null
|
|
74701
|
+
},
|
|
74664
74702
|
{
|
|
74665
74703
|
id: "recording-health",
|
|
74666
74704
|
family: "device-events",
|
|
@@ -74670,6 +74708,15 @@ new Map([
|
|
|
74670
74708
|
snapshotLabel: "Recordings stalled now",
|
|
74671
74709
|
snapshotSection: null
|
|
74672
74710
|
},
|
|
74711
|
+
{
|
|
74712
|
+
id: "device-attention",
|
|
74713
|
+
family: "device-events",
|
|
74714
|
+
label: "Device needs attention (raised / resolved)",
|
|
74715
|
+
bad: ["device-attention-required"],
|
|
74716
|
+
recovery: ["device-attention-resolved"],
|
|
74717
|
+
snapshotLabel: "Devices needing attention now",
|
|
74718
|
+
snapshotSection: null
|
|
74719
|
+
},
|
|
74673
74720
|
{
|
|
74674
74721
|
id: "node-connectivity",
|
|
74675
74722
|
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.617",
|
|
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",
|