@camstack/addon-smtp-nodemailer 1.2.135 → 1.2.137
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/smtp.addon.js +237 -61
- package/dist/smtp.addon.mjs +237 -61
- package/package.json +1 -1
package/dist/smtp.addon.js
CHANGED
|
@@ -36,7 +36,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
36
36
|
}) : target, mod));
|
|
37
37
|
var __toCommonJS = (mod) => __hasOwnProp.call(mod, "module.exports") ? mod["module.exports"] : __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
38
38
|
//#endregion
|
|
39
|
-
//#region ../types/dist/event-category-
|
|
39
|
+
//#region ../types/dist/event-category-BfJwUd2S.mjs
|
|
40
40
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
41
41
|
EventCategory["SystemBoot"] = "system.boot";
|
|
42
42
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -353,6 +353,15 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
353
353
|
*/
|
|
354
354
|
EventCategory["PipelineDetectionBlind"] = "pipeline.detection-blind";
|
|
355
355
|
/**
|
|
356
|
+
* A camera's motion source has fired constantly with no subject for an hour
|
|
357
|
+
* (motion duty or session count over the bar, zero detections) — it is not
|
|
358
|
+
* blind, its motion zones or sensitivity want tuning (D907). Paired with
|
|
359
|
+
* {@link PipelineMotionCalm}.
|
|
360
|
+
*/
|
|
361
|
+
EventCategory["PipelineMotionNoisy"] = "pipeline.motion-noisy";
|
|
362
|
+
/** The recovery edge of {@link PipelineMotionNoisy}: the motion fell back, or a detection arrived. */
|
|
363
|
+
EventCategory["PipelineMotionCalm"] = "pipeline.motion-calm";
|
|
364
|
+
/**
|
|
356
365
|
* Per-camera pipeline config was mutated by the orchestrator
|
|
357
366
|
* (3-level settings change via `setAgentAddonDefaults` /
|
|
358
367
|
* `setCameraStepToggle` / `setCameraPipelineForAgent` or a
|
|
@@ -724,6 +733,14 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
724
733
|
EventCategory["BackupRestored"] = "backup.restored";
|
|
725
734
|
EventCategory["NotificationDispatched"] = "notification.dispatched";
|
|
726
735
|
EventCategory["NotificationFailed"] = "notification.failed";
|
|
736
|
+
/**
|
|
737
|
+
* A notification rule that cannot work (D905): its stored row does not load,
|
|
738
|
+
* or it still names a device / delivery target the prune CONFIRMED deleted.
|
|
739
|
+
* One edge per rule per distinct set of reasons; never on an unanswered read.
|
|
740
|
+
*/
|
|
741
|
+
EventCategory["NotificationRuleBroken"] = "notification.rule-broken";
|
|
742
|
+
/** The clear of {@link NotificationRuleBroken}: the rule loads and names nothing deleted. */
|
|
743
|
+
EventCategory["NotificationRuleRepaired"] = "notification.rule-repaired";
|
|
727
744
|
EventCategory["DeviceUpdated"] = "device.updated";
|
|
728
745
|
/**
|
|
729
746
|
* Transport-level connectivity. Emitted by the device driver when
|
|
@@ -5451,7 +5468,7 @@ var ZodIssueCode = {
|
|
|
5451
5468
|
var ZodFirstPartyTypeKind;
|
|
5452
5469
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5453
5470
|
//#endregion
|
|
5454
|
-
//#region ../types/dist/sleep-
|
|
5471
|
+
//#region ../types/dist/sleep-DJFUfKvA.mjs
|
|
5455
5472
|
/**
|
|
5456
5473
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5457
5474
|
* window to float samples (D455).
|
|
@@ -7913,7 +7930,7 @@ var EntryDescriptorSchema = object({
|
|
|
7913
7930
|
/** JSON Schema of the entry body; `secret: true` marks a password field. */
|
|
7914
7931
|
fields: record(string(), unknown())
|
|
7915
7932
|
}).strict();
|
|
7916
|
-
/** What crosses the wire
|
|
7933
|
+
/** What crosses the wire from an addon: JSON only, no Zod. An unknown key is refused. */
|
|
7917
7934
|
var RecordKindDeclarationSchema = object({
|
|
7918
7935
|
database: _enum(RECORD_DATABASES).default("settings"),
|
|
7919
7936
|
class: _enum(RECORD_CLASSES),
|
|
@@ -7932,14 +7949,6 @@ var RecordKindDeclarationSchema = object({
|
|
|
7932
7949
|
secretPaths: array(string().min(1)).default([]),
|
|
7933
7950
|
/** The id key of each array that carries a secret (`{ headers: 'name' }`). */
|
|
7934
7951
|
secretArrayKeys: record(string(), string()).default({}),
|
|
7935
|
-
/**
|
|
7936
|
-
* RETIRED (D900): the legacy table a kind adopted from during the records
|
|
7937
|
-
* migration. Nothing declares it any more and nothing reads it; the schema
|
|
7938
|
-
* still ACCEPTS it because the catalog rows the migration wrote carry it
|
|
7939
|
-
* (an orphaned kind is never redeclared) and an addon built before the
|
|
7940
|
-
* removal still sends it. Never set it.
|
|
7941
|
-
*/
|
|
7942
|
-
adoptsFrom: string().min(1).optional(),
|
|
7943
7952
|
/** Kinds that must agree through `transact` sit in one file under one family name. */
|
|
7944
7953
|
transactFamily: string().min(1).optional(),
|
|
7945
7954
|
entry: EntryDescriptorSchema.optional()
|
|
@@ -12603,17 +12612,6 @@ object({
|
|
|
12603
12612
|
createdAt: number(),
|
|
12604
12613
|
updatedAt: number()
|
|
12605
12614
|
});
|
|
12606
|
-
object({
|
|
12607
|
-
id: string(),
|
|
12608
|
-
label: string(),
|
|
12609
|
-
isAdmin: boolean().default(false),
|
|
12610
|
-
allowedProviders: AllowedProviderSchema,
|
|
12611
|
-
allowedDevices: AllowedDevicesSchema,
|
|
12612
|
-
tokenHash: string(),
|
|
12613
|
-
tokenPrefix: string(),
|
|
12614
|
-
createdAt: number(),
|
|
12615
|
-
lastUsedAt: number().optional()
|
|
12616
|
-
});
|
|
12617
12615
|
object({
|
|
12618
12616
|
id: string(),
|
|
12619
12617
|
userId: string(),
|
|
@@ -16489,16 +16487,36 @@ var RecordKindStateSchema = _enum([
|
|
|
16489
16487
|
var DeclareKindResultSchema = object({
|
|
16490
16488
|
kindId: number().int(),
|
|
16491
16489
|
state: RecordKindStateSchema,
|
|
16492
|
-
createdIndexes: array(string())
|
|
16493
|
-
/**
|
|
16494
|
-
* RETIRED (D900): always `null`. It carried the records-migration boot guard;
|
|
16495
|
-
* it stays on the wire, null, because an addon built before the removal reads
|
|
16496
|
-
* an ABSENT field as "adoption pending" and refuses to start.
|
|
16497
|
-
*/
|
|
16498
|
-
adoptionPending: _null()
|
|
16490
|
+
createdIndexes: array(string())
|
|
16499
16491
|
});
|
|
16500
16492
|
/** Keychain refs a write released (the old marker is gone from the row): the owner deletes the values. */
|
|
16501
16493
|
var SecretRefsList = array(string());
|
|
16494
|
+
/**
|
|
16495
|
+
* One op of a `transact`: the single-row writes, each on a kind of the caller.
|
|
16496
|
+
* All ops of one call share ONE database file and ONE `transactFamily`.
|
|
16497
|
+
*/
|
|
16498
|
+
var RecordTransactOpSchema = discriminatedUnion("op", [
|
|
16499
|
+
object({
|
|
16500
|
+
op: literal("put"),
|
|
16501
|
+
kind: RecordKindNameSchema,
|
|
16502
|
+
record: RecordInputSchema,
|
|
16503
|
+
ifRev: number().int().min(0).optional()
|
|
16504
|
+
}),
|
|
16505
|
+
object({
|
|
16506
|
+
op: literal("patch"),
|
|
16507
|
+
kind: RecordKindNameSchema,
|
|
16508
|
+
id: RecordIdSchema,
|
|
16509
|
+
data: RecordBodySchema,
|
|
16510
|
+
at: number().int().nullable().optional(),
|
|
16511
|
+
expiresAt: number().int().nullable().optional(),
|
|
16512
|
+
ifRev: number().int().min(1).optional()
|
|
16513
|
+
}),
|
|
16514
|
+
object({
|
|
16515
|
+
op: literal("delete"),
|
|
16516
|
+
kind: RecordKindNameSchema,
|
|
16517
|
+
id: RecordIdSchema
|
|
16518
|
+
})
|
|
16519
|
+
]);
|
|
16502
16520
|
var RecordSecretRefsSchema = record(string(), record(string(), string()));
|
|
16503
16521
|
method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema) }), object({ kinds: record(string(), DeclareKindResultSchema) }), {
|
|
16504
16522
|
kind: "mutation",
|
|
@@ -16605,6 +16623,16 @@ method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema)
|
|
|
16605
16623
|
}), {
|
|
16606
16624
|
kind: "mutation",
|
|
16607
16625
|
auth: "admin"
|
|
16626
|
+
}), method(object({ ops: array(RecordTransactOpSchema).min(1).max(RECORD_BATCH_MAX) }), object({
|
|
16627
|
+
results: array(object({
|
|
16628
|
+
rev: number().int().nullable(),
|
|
16629
|
+
deleted: boolean()
|
|
16630
|
+
})),
|
|
16631
|
+
releasedRefs: SecretRefsList,
|
|
16632
|
+
secretRefs: SecretRefsList
|
|
16633
|
+
}), {
|
|
16634
|
+
kind: "mutation",
|
|
16635
|
+
auth: "admin"
|
|
16608
16636
|
}), method(object({
|
|
16609
16637
|
deviceId: number().int(),
|
|
16610
16638
|
kinds: array(RecordKindNameSchema).optional()
|
|
@@ -41963,9 +41991,13 @@ var NcSystemEventKindSchema = _enum([
|
|
|
41963
41991
|
"node-updating",
|
|
41964
41992
|
"node-inference-unavailable",
|
|
41965
41993
|
"detection-blind",
|
|
41994
|
+
"motion-noisy",
|
|
41995
|
+
"motion-calm",
|
|
41966
41996
|
"recording-stalled",
|
|
41967
41997
|
"recording-healthy",
|
|
41968
41998
|
"recording-degraded",
|
|
41999
|
+
"device-attention-required",
|
|
42000
|
+
"device-attention-resolved",
|
|
41969
42001
|
"storage-location-low",
|
|
41970
42002
|
"storage-location-critical",
|
|
41971
42003
|
"storage-location-ok",
|
|
@@ -41989,6 +42021,8 @@ var NcSystemEventKindSchema = _enum([
|
|
|
41989
42021
|
"alert-critical",
|
|
41990
42022
|
"alert-error",
|
|
41991
42023
|
"alert-critical-resolved",
|
|
42024
|
+
"rule-broken",
|
|
42025
|
+
"rule-repaired",
|
|
41992
42026
|
"camera-online",
|
|
41993
42027
|
"camera-offline",
|
|
41994
42028
|
"camera-disabled",
|
|
@@ -54433,6 +54467,16 @@ object({
|
|
|
54433
54467
|
powerState: string().nullable(),
|
|
54434
54468
|
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
54435
54469
|
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
54470
|
+
/**
|
|
54471
|
+
* True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
|
|
54472
|
+
* combined care-and-filter reminder raised); false when every such reminder reads clear; null
|
|
54473
|
+
* when none is reported. A cleared reminder is not an unknown one.
|
|
54474
|
+
*/
|
|
54475
|
+
filterCleaningDue: boolean().nullable(),
|
|
54476
|
+
/** True while the machine-care (descaling / cleaning-program) reminder is raised; false when clear; null when not reported. */
|
|
54477
|
+
machineCareDue: boolean().nullable(),
|
|
54478
|
+
/** Program runs left before the machine-care reminder is due; null when the appliance does not say. */
|
|
54479
|
+
machineCareRemainingRuns: number().int().nonnegative().nullable(),
|
|
54436
54480
|
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
54437
54481
|
halfLoad: boolean().nullable(),
|
|
54438
54482
|
hygienePlus: boolean().nullable(),
|
|
@@ -61050,16 +61094,6 @@ var UpdateUserInputSchema = object({
|
|
|
61050
61094
|
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
61051
61095
|
scopes: array(TokenScopeSchema).optional()
|
|
61052
61096
|
});
|
|
61053
|
-
var ApiKeySummarySchema = object({
|
|
61054
|
-
id: string(),
|
|
61055
|
-
label: string(),
|
|
61056
|
-
isAdmin: boolean().default(false),
|
|
61057
|
-
allowedProviders: union([array(string()), literal("*")]).optional(),
|
|
61058
|
-
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
61059
|
-
tokenPrefix: string(),
|
|
61060
|
-
createdAt: number(),
|
|
61061
|
-
lastUsedAt: number().optional()
|
|
61062
|
-
});
|
|
61063
61097
|
var OauthSessionSummarySchema = object({
|
|
61064
61098
|
id: string(),
|
|
61065
61099
|
userId: string(),
|
|
@@ -61081,8 +61115,7 @@ var TotpStatusSchema = object({
|
|
|
61081
61115
|
confirmedAt: number().nullable()
|
|
61082
61116
|
});
|
|
61083
61117
|
/**
|
|
61084
|
-
* user-management — singleton capability for user accounts
|
|
61085
|
-
* legacy API-key rows.
|
|
61118
|
+
* user-management — singleton capability for user accounts.
|
|
61086
61119
|
*
|
|
61087
61120
|
* v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
|
|
61088
61121
|
* — the subset check on `setUserScopes` is moot
|
|
@@ -61138,10 +61171,6 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
61138
61171
|
}), UserSummarySchema.extend({ passwordHash: string() }).nullable(), {
|
|
61139
61172
|
kind: "mutation",
|
|
61140
61173
|
access: "view"
|
|
61141
|
-
}), method(_void(), array(ApiKeySummarySchema), { auth: "admin" }), method(object({ id: string() }), object({ success: literal(true) }), {
|
|
61142
|
-
kind: "mutation",
|
|
61143
|
-
auth: "admin",
|
|
61144
|
-
access: "delete"
|
|
61145
61174
|
}), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
61146
61175
|
kind: "mutation",
|
|
61147
61176
|
auth: "admin",
|
|
@@ -68654,6 +68683,12 @@ Object.freeze({
|
|
|
68654
68683
|
addonId: null,
|
|
68655
68684
|
access: "view"
|
|
68656
68685
|
},
|
|
68686
|
+
"records.transact": {
|
|
68687
|
+
capName: "records",
|
|
68688
|
+
capScope: "system",
|
|
68689
|
+
addonId: null,
|
|
68690
|
+
access: "create"
|
|
68691
|
+
},
|
|
68657
68692
|
"sceneMonitor.captureReference": {
|
|
68658
68693
|
capName: "scene-monitor",
|
|
68659
68694
|
capScope: "device",
|
|
@@ -69986,12 +70021,6 @@ Object.freeze({
|
|
|
69986
70021
|
addonId: null,
|
|
69987
70022
|
access: "view"
|
|
69988
70023
|
},
|
|
69989
|
-
"userManagement.listApiKeys": {
|
|
69990
|
-
capName: "user-management",
|
|
69991
|
-
capScope: "system",
|
|
69992
|
-
addonId: null,
|
|
69993
|
-
access: "view"
|
|
69994
|
-
},
|
|
69995
70024
|
"userManagement.listExternalIdentities": {
|
|
69996
70025
|
capName: "user-management",
|
|
69997
70026
|
capScope: "system",
|
|
@@ -70046,12 +70075,6 @@ Object.freeze({
|
|
|
70046
70075
|
addonId: null,
|
|
70047
70076
|
access: "create"
|
|
70048
70077
|
},
|
|
70049
|
-
"userManagement.revokeApiKey": {
|
|
70050
|
-
capName: "user-management",
|
|
70051
|
-
capScope: "system",
|
|
70052
|
-
addonId: null,
|
|
70053
|
-
access: "delete"
|
|
70054
|
-
},
|
|
70055
70078
|
"userManagement.revokeOauthSession": {
|
|
70056
70079
|
capName: "user-management",
|
|
70057
70080
|
capScope: "system",
|
|
@@ -73416,9 +73439,13 @@ new Map(Object.entries({
|
|
|
73416
73439
|
"stream-online": "device-events",
|
|
73417
73440
|
"stream-offline": "device-events",
|
|
73418
73441
|
"detection-blind": "device-events",
|
|
73442
|
+
"motion-noisy": "device-events",
|
|
73443
|
+
"motion-calm": "device-events",
|
|
73419
73444
|
"recording-stalled": "device-events",
|
|
73420
73445
|
"recording-healthy": "device-events",
|
|
73421
73446
|
"recording-degraded": "device-events",
|
|
73447
|
+
"device-attention-required": "device-events",
|
|
73448
|
+
"device-attention-resolved": "device-events",
|
|
73422
73449
|
"node-online": "system",
|
|
73423
73450
|
"node-offline": "system",
|
|
73424
73451
|
"node-restarting": "system",
|
|
@@ -73435,6 +73462,8 @@ new Map(Object.entries({
|
|
|
73435
73462
|
"alert-critical": "system",
|
|
73436
73463
|
"alert-error": "system",
|
|
73437
73464
|
"alert-critical-resolved": "system",
|
|
73465
|
+
"rule-broken": "system",
|
|
73466
|
+
"rule-repaired": "system",
|
|
73438
73467
|
"storage-location-low": "system",
|
|
73439
73468
|
"storage-location-critical": "system",
|
|
73440
73469
|
"storage-location-ok": "system",
|
|
@@ -73499,6 +73528,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
73499
73528
|
label: "Detecting nothing",
|
|
73500
73529
|
kinds: ["detection-blind"]
|
|
73501
73530
|
},
|
|
73531
|
+
{
|
|
73532
|
+
id: "motion-noise",
|
|
73533
|
+
family: "device-events",
|
|
73534
|
+
label: "Motion without a subject",
|
|
73535
|
+
kinds: ["motion-noisy", "motion-calm"]
|
|
73536
|
+
},
|
|
73502
73537
|
{
|
|
73503
73538
|
id: "recording",
|
|
73504
73539
|
family: "device-events",
|
|
@@ -73509,6 +73544,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
73509
73544
|
"recording-degraded"
|
|
73510
73545
|
]
|
|
73511
73546
|
},
|
|
73547
|
+
{
|
|
73548
|
+
id: "device-attention",
|
|
73549
|
+
family: "device-events",
|
|
73550
|
+
label: "Needs attention",
|
|
73551
|
+
kinds: ["device-attention-required", "device-attention-resolved"]
|
|
73552
|
+
},
|
|
73512
73553
|
{
|
|
73513
73554
|
id: "nodes",
|
|
73514
73555
|
family: "system",
|
|
@@ -73569,6 +73610,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
73569
73610
|
"alert-critical-resolved"
|
|
73570
73611
|
]
|
|
73571
73612
|
},
|
|
73613
|
+
{
|
|
73614
|
+
id: "rule-health",
|
|
73615
|
+
family: "system",
|
|
73616
|
+
label: "Notification rules",
|
|
73617
|
+
kinds: ["rule-broken", "rule-repaired"]
|
|
73618
|
+
},
|
|
73572
73619
|
{
|
|
73573
73620
|
id: "alarm",
|
|
73574
73621
|
family: "alarm",
|
|
@@ -73642,6 +73689,7 @@ var ALERT_EPISODE = [
|
|
|
73642
73689
|
"alert-error",
|
|
73643
73690
|
"alert-critical-resolved"
|
|
73644
73691
|
];
|
|
73692
|
+
var DEVICE_ATTENTION = ["device-attention-required", "device-attention-resolved"];
|
|
73645
73693
|
var UPDATES = [
|
|
73646
73694
|
"addon-update-available",
|
|
73647
73695
|
"server-update-available",
|
|
@@ -73671,9 +73719,12 @@ var DEVICE_EVENTS = [
|
|
|
73671
73719
|
"stream-online",
|
|
73672
73720
|
"stream-offline",
|
|
73673
73721
|
"detection-blind",
|
|
73722
|
+
"motion-noisy",
|
|
73723
|
+
"motion-calm",
|
|
73674
73724
|
"recording-stalled",
|
|
73675
73725
|
"recording-healthy",
|
|
73676
73726
|
"recording-degraded",
|
|
73727
|
+
...DEVICE_ATTENTION,
|
|
73677
73728
|
...ALARM
|
|
73678
73729
|
];
|
|
73679
73730
|
/** Every kind a summary may speak about — the two summarisable families. */
|
|
@@ -73841,7 +73892,13 @@ var STATE_SUMMARY_VARS = [
|
|
|
73841
73892
|
[...RULE_TEXT],
|
|
73842
73893
|
[...RULE_TEXT],
|
|
73843
73894
|
[...RULE_TEXT],
|
|
73844
|
-
|
|
73895
|
+
[...RULE_TEXT],
|
|
73896
|
+
[...RULE_TEXT],
|
|
73897
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
73898
|
+
[...RULE_TEXT],
|
|
73899
|
+
[...RULE_TEXT],
|
|
73900
|
+
[...RULE_TEXT],
|
|
73901
|
+
[...RULE_TEXT],
|
|
73845
73902
|
[...RULE_TEXT],
|
|
73846
73903
|
[...RULE_TEXT],
|
|
73847
73904
|
[...RULE_TEXT],
|
|
@@ -73859,11 +73916,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
73859
73916
|
[...RULE_TEXT],
|
|
73860
73917
|
[...RULE_TEXT],
|
|
73861
73918
|
[...RULE_TEXT],
|
|
73919
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
73862
73920
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
73921
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
73863
73922
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
73864
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
73865
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
73866
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
73923
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
73867
73924
|
[...RULE_TEXT],
|
|
73868
73925
|
[...RULE_TEXT],
|
|
73869
73926
|
[...RULE_TEXT],
|
|
@@ -73884,6 +73941,125 @@ var STATE_SUMMARY_VARS = [
|
|
|
73884
73941
|
[...RULE_TEXT],
|
|
73885
73942
|
...STATE_SUMMARY_VARS
|
|
73886
73943
|
];
|
|
73944
|
+
new Map([
|
|
73945
|
+
{
|
|
73946
|
+
id: "device-connectivity",
|
|
73947
|
+
family: "device-events",
|
|
73948
|
+
label: "Device connectivity (offline / back online)",
|
|
73949
|
+
bad: ["device-offline"],
|
|
73950
|
+
recovery: ["device-online"],
|
|
73951
|
+
snapshotLabel: "Devices offline now",
|
|
73952
|
+
snapshotSection: "device-state"
|
|
73953
|
+
},
|
|
73954
|
+
{
|
|
73955
|
+
id: "device-switch",
|
|
73956
|
+
family: "device-events",
|
|
73957
|
+
label: "Device switched off / back on",
|
|
73958
|
+
bad: ["device-disabled"],
|
|
73959
|
+
recovery: ["device-enabled"],
|
|
73960
|
+
snapshotLabel: "Devices switched off now",
|
|
73961
|
+
snapshotSection: "device-state"
|
|
73962
|
+
},
|
|
73963
|
+
{
|
|
73964
|
+
id: "stream-connectivity",
|
|
73965
|
+
family: "device-events",
|
|
73966
|
+
label: "Stream connectivity (offline / back online)",
|
|
73967
|
+
bad: ["stream-offline"],
|
|
73968
|
+
recovery: ["stream-online"],
|
|
73969
|
+
snapshotLabel: "Streams offline now",
|
|
73970
|
+
snapshotSection: "streams"
|
|
73971
|
+
},
|
|
73972
|
+
{
|
|
73973
|
+
id: "battery",
|
|
73974
|
+
family: "device-events",
|
|
73975
|
+
label: "Battery (low / back to normal)",
|
|
73976
|
+
bad: ["device-battery-low"],
|
|
73977
|
+
recovery: ["device-battery-normal"],
|
|
73978
|
+
snapshotLabel: "Batteries low now",
|
|
73979
|
+
snapshotSection: "battery"
|
|
73980
|
+
},
|
|
73981
|
+
{
|
|
73982
|
+
id: "consumables",
|
|
73983
|
+
family: "device-events",
|
|
73984
|
+
label: "Consumables (low / replaced)",
|
|
73985
|
+
bad: ["device-consumable-low"],
|
|
73986
|
+
recovery: ["device-consumable-normal"],
|
|
73987
|
+
snapshotLabel: "Consumables low now",
|
|
73988
|
+
snapshotSection: "consumables"
|
|
73989
|
+
},
|
|
73990
|
+
{
|
|
73991
|
+
id: "tanks",
|
|
73992
|
+
family: "device-events",
|
|
73993
|
+
label: "Tanks (low or full / back to normal)",
|
|
73994
|
+
bad: ["device-tank-low", "device-tank-full"],
|
|
73995
|
+
recovery: ["device-tank-normal"],
|
|
73996
|
+
snapshotLabel: "Tanks low or full now",
|
|
73997
|
+
snapshotSection: "tanks"
|
|
73998
|
+
},
|
|
73999
|
+
{
|
|
74000
|
+
id: "motion-noise",
|
|
74001
|
+
family: "device-events",
|
|
74002
|
+
label: "Motion without a subject (constant / calm again)",
|
|
74003
|
+
bad: ["motion-noisy"],
|
|
74004
|
+
recovery: ["motion-calm"],
|
|
74005
|
+
snapshotLabel: "Cameras with constant motion now",
|
|
74006
|
+
snapshotSection: null
|
|
74007
|
+
},
|
|
74008
|
+
{
|
|
74009
|
+
id: "recording-health",
|
|
74010
|
+
family: "device-events",
|
|
74011
|
+
label: "Recording health (stalled or degraded / recording again)",
|
|
74012
|
+
bad: ["recording-stalled", "recording-degraded"],
|
|
74013
|
+
recovery: ["recording-healthy"],
|
|
74014
|
+
snapshotLabel: "Recordings stalled now",
|
|
74015
|
+
snapshotSection: null
|
|
74016
|
+
},
|
|
74017
|
+
{
|
|
74018
|
+
id: "device-attention",
|
|
74019
|
+
family: "device-events",
|
|
74020
|
+
label: "Device needs attention (raised / resolved)",
|
|
74021
|
+
bad: ["device-attention-required"],
|
|
74022
|
+
recovery: ["device-attention-resolved"],
|
|
74023
|
+
snapshotLabel: "Devices needing attention now",
|
|
74024
|
+
snapshotSection: null
|
|
74025
|
+
},
|
|
74026
|
+
{
|
|
74027
|
+
id: "node-connectivity",
|
|
74028
|
+
family: "system",
|
|
74029
|
+
label: "Node connectivity (offline / back online)",
|
|
74030
|
+
bad: ["node-offline"],
|
|
74031
|
+
recovery: ["node-online"],
|
|
74032
|
+
snapshotLabel: "Nodes offline now",
|
|
74033
|
+
snapshotSection: "nodes"
|
|
74034
|
+
},
|
|
74035
|
+
{
|
|
74036
|
+
id: "storage-space",
|
|
74037
|
+
family: "system",
|
|
74038
|
+
label: "Storage space (low or critical / ok again)",
|
|
74039
|
+
bad: ["storage-location-low", "storage-location-critical"],
|
|
74040
|
+
recovery: ["storage-location-ok"],
|
|
74041
|
+
snapshotLabel: "Storage locations low now",
|
|
74042
|
+
snapshotSection: null
|
|
74043
|
+
},
|
|
74044
|
+
{
|
|
74045
|
+
id: "critical-alerts",
|
|
74046
|
+
family: "system",
|
|
74047
|
+
label: "Critical alerts (raised / resolved)",
|
|
74048
|
+
bad: ["alert-critical"],
|
|
74049
|
+
recovery: ["alert-critical-resolved"],
|
|
74050
|
+
snapshotLabel: "Critical alerts open now",
|
|
74051
|
+
snapshotSection: null
|
|
74052
|
+
},
|
|
74053
|
+
{
|
|
74054
|
+
id: "rule-health",
|
|
74055
|
+
family: "system",
|
|
74056
|
+
label: "Rule health (broken / repaired)",
|
|
74057
|
+
bad: ["rule-broken"],
|
|
74058
|
+
recovery: ["rule-repaired"],
|
|
74059
|
+
snapshotLabel: "Notification rules broken now",
|
|
74060
|
+
snapshotSection: null
|
|
74061
|
+
}
|
|
74062
|
+
].flatMap((spec) => [...spec.bad, ...spec.recovery].map((kind) => [kind, spec])));
|
|
73887
74063
|
new Set([
|
|
73888
74064
|
"disarmed",
|
|
73889
74065
|
"armed_home",
|
package/dist/smtp.addon.mjs
CHANGED
|
@@ -34,7 +34,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
34
34
|
var __toCommonJS = (mod) => __hasOwnProp.call(mod, "module.exports") ? mod["module.exports"] : __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
35
35
|
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
36
36
|
//#endregion
|
|
37
|
-
//#region ../types/dist/event-category-
|
|
37
|
+
//#region ../types/dist/event-category-BfJwUd2S.mjs
|
|
38
38
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
39
39
|
EventCategory["SystemBoot"] = "system.boot";
|
|
40
40
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -351,6 +351,15 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
351
351
|
*/
|
|
352
352
|
EventCategory["PipelineDetectionBlind"] = "pipeline.detection-blind";
|
|
353
353
|
/**
|
|
354
|
+
* A camera's motion source has fired constantly with no subject for an hour
|
|
355
|
+
* (motion duty or session count over the bar, zero detections) — it is not
|
|
356
|
+
* blind, its motion zones or sensitivity want tuning (D907). Paired with
|
|
357
|
+
* {@link PipelineMotionCalm}.
|
|
358
|
+
*/
|
|
359
|
+
EventCategory["PipelineMotionNoisy"] = "pipeline.motion-noisy";
|
|
360
|
+
/** The recovery edge of {@link PipelineMotionNoisy}: the motion fell back, or a detection arrived. */
|
|
361
|
+
EventCategory["PipelineMotionCalm"] = "pipeline.motion-calm";
|
|
362
|
+
/**
|
|
354
363
|
* Per-camera pipeline config was mutated by the orchestrator
|
|
355
364
|
* (3-level settings change via `setAgentAddonDefaults` /
|
|
356
365
|
* `setCameraStepToggle` / `setCameraPipelineForAgent` or a
|
|
@@ -722,6 +731,14 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
722
731
|
EventCategory["BackupRestored"] = "backup.restored";
|
|
723
732
|
EventCategory["NotificationDispatched"] = "notification.dispatched";
|
|
724
733
|
EventCategory["NotificationFailed"] = "notification.failed";
|
|
734
|
+
/**
|
|
735
|
+
* A notification rule that cannot work (D905): its stored row does not load,
|
|
736
|
+
* or it still names a device / delivery target the prune CONFIRMED deleted.
|
|
737
|
+
* One edge per rule per distinct set of reasons; never on an unanswered read.
|
|
738
|
+
*/
|
|
739
|
+
EventCategory["NotificationRuleBroken"] = "notification.rule-broken";
|
|
740
|
+
/** The clear of {@link NotificationRuleBroken}: the rule loads and names nothing deleted. */
|
|
741
|
+
EventCategory["NotificationRuleRepaired"] = "notification.rule-repaired";
|
|
725
742
|
EventCategory["DeviceUpdated"] = "device.updated";
|
|
726
743
|
/**
|
|
727
744
|
* Transport-level connectivity. Emitted by the device driver when
|
|
@@ -5449,7 +5466,7 @@ var ZodIssueCode = {
|
|
|
5449
5466
|
var ZodFirstPartyTypeKind;
|
|
5450
5467
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5451
5468
|
//#endregion
|
|
5452
|
-
//#region ../types/dist/sleep-
|
|
5469
|
+
//#region ../types/dist/sleep-DJFUfKvA.mjs
|
|
5453
5470
|
/**
|
|
5454
5471
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5455
5472
|
* window to float samples (D455).
|
|
@@ -7911,7 +7928,7 @@ var EntryDescriptorSchema = object({
|
|
|
7911
7928
|
/** JSON Schema of the entry body; `secret: true` marks a password field. */
|
|
7912
7929
|
fields: record(string(), unknown())
|
|
7913
7930
|
}).strict();
|
|
7914
|
-
/** What crosses the wire
|
|
7931
|
+
/** What crosses the wire from an addon: JSON only, no Zod. An unknown key is refused. */
|
|
7915
7932
|
var RecordKindDeclarationSchema = object({
|
|
7916
7933
|
database: _enum(RECORD_DATABASES).default("settings"),
|
|
7917
7934
|
class: _enum(RECORD_CLASSES),
|
|
@@ -7930,14 +7947,6 @@ var RecordKindDeclarationSchema = object({
|
|
|
7930
7947
|
secretPaths: array(string().min(1)).default([]),
|
|
7931
7948
|
/** The id key of each array that carries a secret (`{ headers: 'name' }`). */
|
|
7932
7949
|
secretArrayKeys: record(string(), string()).default({}),
|
|
7933
|
-
/**
|
|
7934
|
-
* RETIRED (D900): the legacy table a kind adopted from during the records
|
|
7935
|
-
* migration. Nothing declares it any more and nothing reads it; the schema
|
|
7936
|
-
* still ACCEPTS it because the catalog rows the migration wrote carry it
|
|
7937
|
-
* (an orphaned kind is never redeclared) and an addon built before the
|
|
7938
|
-
* removal still sends it. Never set it.
|
|
7939
|
-
*/
|
|
7940
|
-
adoptsFrom: string().min(1).optional(),
|
|
7941
7950
|
/** Kinds that must agree through `transact` sit in one file under one family name. */
|
|
7942
7951
|
transactFamily: string().min(1).optional(),
|
|
7943
7952
|
entry: EntryDescriptorSchema.optional()
|
|
@@ -12601,17 +12610,6 @@ object({
|
|
|
12601
12610
|
createdAt: number(),
|
|
12602
12611
|
updatedAt: number()
|
|
12603
12612
|
});
|
|
12604
|
-
object({
|
|
12605
|
-
id: string(),
|
|
12606
|
-
label: string(),
|
|
12607
|
-
isAdmin: boolean().default(false),
|
|
12608
|
-
allowedProviders: AllowedProviderSchema,
|
|
12609
|
-
allowedDevices: AllowedDevicesSchema,
|
|
12610
|
-
tokenHash: string(),
|
|
12611
|
-
tokenPrefix: string(),
|
|
12612
|
-
createdAt: number(),
|
|
12613
|
-
lastUsedAt: number().optional()
|
|
12614
|
-
});
|
|
12615
12613
|
object({
|
|
12616
12614
|
id: string(),
|
|
12617
12615
|
userId: string(),
|
|
@@ -16487,16 +16485,36 @@ var RecordKindStateSchema = _enum([
|
|
|
16487
16485
|
var DeclareKindResultSchema = object({
|
|
16488
16486
|
kindId: number().int(),
|
|
16489
16487
|
state: RecordKindStateSchema,
|
|
16490
|
-
createdIndexes: array(string())
|
|
16491
|
-
/**
|
|
16492
|
-
* RETIRED (D900): always `null`. It carried the records-migration boot guard;
|
|
16493
|
-
* it stays on the wire, null, because an addon built before the removal reads
|
|
16494
|
-
* an ABSENT field as "adoption pending" and refuses to start.
|
|
16495
|
-
*/
|
|
16496
|
-
adoptionPending: _null()
|
|
16488
|
+
createdIndexes: array(string())
|
|
16497
16489
|
});
|
|
16498
16490
|
/** Keychain refs a write released (the old marker is gone from the row): the owner deletes the values. */
|
|
16499
16491
|
var SecretRefsList = array(string());
|
|
16492
|
+
/**
|
|
16493
|
+
* One op of a `transact`: the single-row writes, each on a kind of the caller.
|
|
16494
|
+
* All ops of one call share ONE database file and ONE `transactFamily`.
|
|
16495
|
+
*/
|
|
16496
|
+
var RecordTransactOpSchema = discriminatedUnion("op", [
|
|
16497
|
+
object({
|
|
16498
|
+
op: literal("put"),
|
|
16499
|
+
kind: RecordKindNameSchema,
|
|
16500
|
+
record: RecordInputSchema,
|
|
16501
|
+
ifRev: number().int().min(0).optional()
|
|
16502
|
+
}),
|
|
16503
|
+
object({
|
|
16504
|
+
op: literal("patch"),
|
|
16505
|
+
kind: RecordKindNameSchema,
|
|
16506
|
+
id: RecordIdSchema,
|
|
16507
|
+
data: RecordBodySchema,
|
|
16508
|
+
at: number().int().nullable().optional(),
|
|
16509
|
+
expiresAt: number().int().nullable().optional(),
|
|
16510
|
+
ifRev: number().int().min(1).optional()
|
|
16511
|
+
}),
|
|
16512
|
+
object({
|
|
16513
|
+
op: literal("delete"),
|
|
16514
|
+
kind: RecordKindNameSchema,
|
|
16515
|
+
id: RecordIdSchema
|
|
16516
|
+
})
|
|
16517
|
+
]);
|
|
16500
16518
|
var RecordSecretRefsSchema = record(string(), record(string(), string()));
|
|
16501
16519
|
method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema) }), object({ kinds: record(string(), DeclareKindResultSchema) }), {
|
|
16502
16520
|
kind: "mutation",
|
|
@@ -16603,6 +16621,16 @@ method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema)
|
|
|
16603
16621
|
}), {
|
|
16604
16622
|
kind: "mutation",
|
|
16605
16623
|
auth: "admin"
|
|
16624
|
+
}), method(object({ ops: array(RecordTransactOpSchema).min(1).max(RECORD_BATCH_MAX) }), object({
|
|
16625
|
+
results: array(object({
|
|
16626
|
+
rev: number().int().nullable(),
|
|
16627
|
+
deleted: boolean()
|
|
16628
|
+
})),
|
|
16629
|
+
releasedRefs: SecretRefsList,
|
|
16630
|
+
secretRefs: SecretRefsList
|
|
16631
|
+
}), {
|
|
16632
|
+
kind: "mutation",
|
|
16633
|
+
auth: "admin"
|
|
16606
16634
|
}), method(object({
|
|
16607
16635
|
deviceId: number().int(),
|
|
16608
16636
|
kinds: array(RecordKindNameSchema).optional()
|
|
@@ -41961,9 +41989,13 @@ var NcSystemEventKindSchema = _enum([
|
|
|
41961
41989
|
"node-updating",
|
|
41962
41990
|
"node-inference-unavailable",
|
|
41963
41991
|
"detection-blind",
|
|
41992
|
+
"motion-noisy",
|
|
41993
|
+
"motion-calm",
|
|
41964
41994
|
"recording-stalled",
|
|
41965
41995
|
"recording-healthy",
|
|
41966
41996
|
"recording-degraded",
|
|
41997
|
+
"device-attention-required",
|
|
41998
|
+
"device-attention-resolved",
|
|
41967
41999
|
"storage-location-low",
|
|
41968
42000
|
"storage-location-critical",
|
|
41969
42001
|
"storage-location-ok",
|
|
@@ -41987,6 +42019,8 @@ var NcSystemEventKindSchema = _enum([
|
|
|
41987
42019
|
"alert-critical",
|
|
41988
42020
|
"alert-error",
|
|
41989
42021
|
"alert-critical-resolved",
|
|
42022
|
+
"rule-broken",
|
|
42023
|
+
"rule-repaired",
|
|
41990
42024
|
"camera-online",
|
|
41991
42025
|
"camera-offline",
|
|
41992
42026
|
"camera-disabled",
|
|
@@ -54431,6 +54465,16 @@ object({
|
|
|
54431
54465
|
powerState: string().nullable(),
|
|
54432
54466
|
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
54433
54467
|
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
54468
|
+
/**
|
|
54469
|
+
* True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
|
|
54470
|
+
* combined care-and-filter reminder raised); false when every such reminder reads clear; null
|
|
54471
|
+
* when none is reported. A cleared reminder is not an unknown one.
|
|
54472
|
+
*/
|
|
54473
|
+
filterCleaningDue: boolean().nullable(),
|
|
54474
|
+
/** True while the machine-care (descaling / cleaning-program) reminder is raised; false when clear; null when not reported. */
|
|
54475
|
+
machineCareDue: boolean().nullable(),
|
|
54476
|
+
/** Program runs left before the machine-care reminder is due; null when the appliance does not say. */
|
|
54477
|
+
machineCareRemainingRuns: number().int().nonnegative().nullable(),
|
|
54434
54478
|
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
54435
54479
|
halfLoad: boolean().nullable(),
|
|
54436
54480
|
hygienePlus: boolean().nullable(),
|
|
@@ -61048,16 +61092,6 @@ var UpdateUserInputSchema = object({
|
|
|
61048
61092
|
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
61049
61093
|
scopes: array(TokenScopeSchema).optional()
|
|
61050
61094
|
});
|
|
61051
|
-
var ApiKeySummarySchema = object({
|
|
61052
|
-
id: string(),
|
|
61053
|
-
label: string(),
|
|
61054
|
-
isAdmin: boolean().default(false),
|
|
61055
|
-
allowedProviders: union([array(string()), literal("*")]).optional(),
|
|
61056
|
-
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
61057
|
-
tokenPrefix: string(),
|
|
61058
|
-
createdAt: number(),
|
|
61059
|
-
lastUsedAt: number().optional()
|
|
61060
|
-
});
|
|
61061
61095
|
var OauthSessionSummarySchema = object({
|
|
61062
61096
|
id: string(),
|
|
61063
61097
|
userId: string(),
|
|
@@ -61079,8 +61113,7 @@ var TotpStatusSchema = object({
|
|
|
61079
61113
|
confirmedAt: number().nullable()
|
|
61080
61114
|
});
|
|
61081
61115
|
/**
|
|
61082
|
-
* user-management — singleton capability for user accounts
|
|
61083
|
-
* legacy API-key rows.
|
|
61116
|
+
* user-management — singleton capability for user accounts.
|
|
61084
61117
|
*
|
|
61085
61118
|
* v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
|
|
61086
61119
|
* — the subset check on `setUserScopes` is moot
|
|
@@ -61136,10 +61169,6 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
61136
61169
|
}), UserSummarySchema.extend({ passwordHash: string() }).nullable(), {
|
|
61137
61170
|
kind: "mutation",
|
|
61138
61171
|
access: "view"
|
|
61139
|
-
}), method(_void(), array(ApiKeySummarySchema), { auth: "admin" }), method(object({ id: string() }), object({ success: literal(true) }), {
|
|
61140
|
-
kind: "mutation",
|
|
61141
|
-
auth: "admin",
|
|
61142
|
-
access: "delete"
|
|
61143
61172
|
}), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
61144
61173
|
kind: "mutation",
|
|
61145
61174
|
auth: "admin",
|
|
@@ -68652,6 +68681,12 @@ Object.freeze({
|
|
|
68652
68681
|
addonId: null,
|
|
68653
68682
|
access: "view"
|
|
68654
68683
|
},
|
|
68684
|
+
"records.transact": {
|
|
68685
|
+
capName: "records",
|
|
68686
|
+
capScope: "system",
|
|
68687
|
+
addonId: null,
|
|
68688
|
+
access: "create"
|
|
68689
|
+
},
|
|
68655
68690
|
"sceneMonitor.captureReference": {
|
|
68656
68691
|
capName: "scene-monitor",
|
|
68657
68692
|
capScope: "device",
|
|
@@ -69984,12 +70019,6 @@ Object.freeze({
|
|
|
69984
70019
|
addonId: null,
|
|
69985
70020
|
access: "view"
|
|
69986
70021
|
},
|
|
69987
|
-
"userManagement.listApiKeys": {
|
|
69988
|
-
capName: "user-management",
|
|
69989
|
-
capScope: "system",
|
|
69990
|
-
addonId: null,
|
|
69991
|
-
access: "view"
|
|
69992
|
-
},
|
|
69993
70022
|
"userManagement.listExternalIdentities": {
|
|
69994
70023
|
capName: "user-management",
|
|
69995
70024
|
capScope: "system",
|
|
@@ -70044,12 +70073,6 @@ Object.freeze({
|
|
|
70044
70073
|
addonId: null,
|
|
70045
70074
|
access: "create"
|
|
70046
70075
|
},
|
|
70047
|
-
"userManagement.revokeApiKey": {
|
|
70048
|
-
capName: "user-management",
|
|
70049
|
-
capScope: "system",
|
|
70050
|
-
addonId: null,
|
|
70051
|
-
access: "delete"
|
|
70052
|
-
},
|
|
70053
70076
|
"userManagement.revokeOauthSession": {
|
|
70054
70077
|
capName: "user-management",
|
|
70055
70078
|
capScope: "system",
|
|
@@ -73414,9 +73437,13 @@ new Map(Object.entries({
|
|
|
73414
73437
|
"stream-online": "device-events",
|
|
73415
73438
|
"stream-offline": "device-events",
|
|
73416
73439
|
"detection-blind": "device-events",
|
|
73440
|
+
"motion-noisy": "device-events",
|
|
73441
|
+
"motion-calm": "device-events",
|
|
73417
73442
|
"recording-stalled": "device-events",
|
|
73418
73443
|
"recording-healthy": "device-events",
|
|
73419
73444
|
"recording-degraded": "device-events",
|
|
73445
|
+
"device-attention-required": "device-events",
|
|
73446
|
+
"device-attention-resolved": "device-events",
|
|
73420
73447
|
"node-online": "system",
|
|
73421
73448
|
"node-offline": "system",
|
|
73422
73449
|
"node-restarting": "system",
|
|
@@ -73433,6 +73460,8 @@ new Map(Object.entries({
|
|
|
73433
73460
|
"alert-critical": "system",
|
|
73434
73461
|
"alert-error": "system",
|
|
73435
73462
|
"alert-critical-resolved": "system",
|
|
73463
|
+
"rule-broken": "system",
|
|
73464
|
+
"rule-repaired": "system",
|
|
73436
73465
|
"storage-location-low": "system",
|
|
73437
73466
|
"storage-location-critical": "system",
|
|
73438
73467
|
"storage-location-ok": "system",
|
|
@@ -73497,6 +73526,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
73497
73526
|
label: "Detecting nothing",
|
|
73498
73527
|
kinds: ["detection-blind"]
|
|
73499
73528
|
},
|
|
73529
|
+
{
|
|
73530
|
+
id: "motion-noise",
|
|
73531
|
+
family: "device-events",
|
|
73532
|
+
label: "Motion without a subject",
|
|
73533
|
+
kinds: ["motion-noisy", "motion-calm"]
|
|
73534
|
+
},
|
|
73500
73535
|
{
|
|
73501
73536
|
id: "recording",
|
|
73502
73537
|
family: "device-events",
|
|
@@ -73507,6 +73542,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
73507
73542
|
"recording-degraded"
|
|
73508
73543
|
]
|
|
73509
73544
|
},
|
|
73545
|
+
{
|
|
73546
|
+
id: "device-attention",
|
|
73547
|
+
family: "device-events",
|
|
73548
|
+
label: "Needs attention",
|
|
73549
|
+
kinds: ["device-attention-required", "device-attention-resolved"]
|
|
73550
|
+
},
|
|
73510
73551
|
{
|
|
73511
73552
|
id: "nodes",
|
|
73512
73553
|
family: "system",
|
|
@@ -73567,6 +73608,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
73567
73608
|
"alert-critical-resolved"
|
|
73568
73609
|
]
|
|
73569
73610
|
},
|
|
73611
|
+
{
|
|
73612
|
+
id: "rule-health",
|
|
73613
|
+
family: "system",
|
|
73614
|
+
label: "Notification rules",
|
|
73615
|
+
kinds: ["rule-broken", "rule-repaired"]
|
|
73616
|
+
},
|
|
73570
73617
|
{
|
|
73571
73618
|
id: "alarm",
|
|
73572
73619
|
family: "alarm",
|
|
@@ -73640,6 +73687,7 @@ var ALERT_EPISODE = [
|
|
|
73640
73687
|
"alert-error",
|
|
73641
73688
|
"alert-critical-resolved"
|
|
73642
73689
|
];
|
|
73690
|
+
var DEVICE_ATTENTION = ["device-attention-required", "device-attention-resolved"];
|
|
73643
73691
|
var UPDATES = [
|
|
73644
73692
|
"addon-update-available",
|
|
73645
73693
|
"server-update-available",
|
|
@@ -73669,9 +73717,12 @@ var DEVICE_EVENTS = [
|
|
|
73669
73717
|
"stream-online",
|
|
73670
73718
|
"stream-offline",
|
|
73671
73719
|
"detection-blind",
|
|
73720
|
+
"motion-noisy",
|
|
73721
|
+
"motion-calm",
|
|
73672
73722
|
"recording-stalled",
|
|
73673
73723
|
"recording-healthy",
|
|
73674
73724
|
"recording-degraded",
|
|
73725
|
+
...DEVICE_ATTENTION,
|
|
73675
73726
|
...ALARM
|
|
73676
73727
|
];
|
|
73677
73728
|
/** Every kind a summary may speak about — the two summarisable families. */
|
|
@@ -73839,7 +73890,13 @@ var STATE_SUMMARY_VARS = [
|
|
|
73839
73890
|
[...RULE_TEXT],
|
|
73840
73891
|
[...RULE_TEXT],
|
|
73841
73892
|
[...RULE_TEXT],
|
|
73842
|
-
|
|
73893
|
+
[...RULE_TEXT],
|
|
73894
|
+
[...RULE_TEXT],
|
|
73895
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
73896
|
+
[...RULE_TEXT],
|
|
73897
|
+
[...RULE_TEXT],
|
|
73898
|
+
[...RULE_TEXT],
|
|
73899
|
+
[...RULE_TEXT],
|
|
73843
73900
|
[...RULE_TEXT],
|
|
73844
73901
|
[...RULE_TEXT],
|
|
73845
73902
|
[...RULE_TEXT],
|
|
@@ -73857,11 +73914,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
73857
73914
|
[...RULE_TEXT],
|
|
73858
73915
|
[...RULE_TEXT],
|
|
73859
73916
|
[...RULE_TEXT],
|
|
73917
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
73860
73918
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
73919
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
73861
73920
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
73862
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
73863
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
73864
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
73921
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
73865
73922
|
[...RULE_TEXT],
|
|
73866
73923
|
[...RULE_TEXT],
|
|
73867
73924
|
[...RULE_TEXT],
|
|
@@ -73882,6 +73939,125 @@ var STATE_SUMMARY_VARS = [
|
|
|
73882
73939
|
[...RULE_TEXT],
|
|
73883
73940
|
...STATE_SUMMARY_VARS
|
|
73884
73941
|
];
|
|
73942
|
+
new Map([
|
|
73943
|
+
{
|
|
73944
|
+
id: "device-connectivity",
|
|
73945
|
+
family: "device-events",
|
|
73946
|
+
label: "Device connectivity (offline / back online)",
|
|
73947
|
+
bad: ["device-offline"],
|
|
73948
|
+
recovery: ["device-online"],
|
|
73949
|
+
snapshotLabel: "Devices offline now",
|
|
73950
|
+
snapshotSection: "device-state"
|
|
73951
|
+
},
|
|
73952
|
+
{
|
|
73953
|
+
id: "device-switch",
|
|
73954
|
+
family: "device-events",
|
|
73955
|
+
label: "Device switched off / back on",
|
|
73956
|
+
bad: ["device-disabled"],
|
|
73957
|
+
recovery: ["device-enabled"],
|
|
73958
|
+
snapshotLabel: "Devices switched off now",
|
|
73959
|
+
snapshotSection: "device-state"
|
|
73960
|
+
},
|
|
73961
|
+
{
|
|
73962
|
+
id: "stream-connectivity",
|
|
73963
|
+
family: "device-events",
|
|
73964
|
+
label: "Stream connectivity (offline / back online)",
|
|
73965
|
+
bad: ["stream-offline"],
|
|
73966
|
+
recovery: ["stream-online"],
|
|
73967
|
+
snapshotLabel: "Streams offline now",
|
|
73968
|
+
snapshotSection: "streams"
|
|
73969
|
+
},
|
|
73970
|
+
{
|
|
73971
|
+
id: "battery",
|
|
73972
|
+
family: "device-events",
|
|
73973
|
+
label: "Battery (low / back to normal)",
|
|
73974
|
+
bad: ["device-battery-low"],
|
|
73975
|
+
recovery: ["device-battery-normal"],
|
|
73976
|
+
snapshotLabel: "Batteries low now",
|
|
73977
|
+
snapshotSection: "battery"
|
|
73978
|
+
},
|
|
73979
|
+
{
|
|
73980
|
+
id: "consumables",
|
|
73981
|
+
family: "device-events",
|
|
73982
|
+
label: "Consumables (low / replaced)",
|
|
73983
|
+
bad: ["device-consumable-low"],
|
|
73984
|
+
recovery: ["device-consumable-normal"],
|
|
73985
|
+
snapshotLabel: "Consumables low now",
|
|
73986
|
+
snapshotSection: "consumables"
|
|
73987
|
+
},
|
|
73988
|
+
{
|
|
73989
|
+
id: "tanks",
|
|
73990
|
+
family: "device-events",
|
|
73991
|
+
label: "Tanks (low or full / back to normal)",
|
|
73992
|
+
bad: ["device-tank-low", "device-tank-full"],
|
|
73993
|
+
recovery: ["device-tank-normal"],
|
|
73994
|
+
snapshotLabel: "Tanks low or full now",
|
|
73995
|
+
snapshotSection: "tanks"
|
|
73996
|
+
},
|
|
73997
|
+
{
|
|
73998
|
+
id: "motion-noise",
|
|
73999
|
+
family: "device-events",
|
|
74000
|
+
label: "Motion without a subject (constant / calm again)",
|
|
74001
|
+
bad: ["motion-noisy"],
|
|
74002
|
+
recovery: ["motion-calm"],
|
|
74003
|
+
snapshotLabel: "Cameras with constant motion now",
|
|
74004
|
+
snapshotSection: null
|
|
74005
|
+
},
|
|
74006
|
+
{
|
|
74007
|
+
id: "recording-health",
|
|
74008
|
+
family: "device-events",
|
|
74009
|
+
label: "Recording health (stalled or degraded / recording again)",
|
|
74010
|
+
bad: ["recording-stalled", "recording-degraded"],
|
|
74011
|
+
recovery: ["recording-healthy"],
|
|
74012
|
+
snapshotLabel: "Recordings stalled now",
|
|
74013
|
+
snapshotSection: null
|
|
74014
|
+
},
|
|
74015
|
+
{
|
|
74016
|
+
id: "device-attention",
|
|
74017
|
+
family: "device-events",
|
|
74018
|
+
label: "Device needs attention (raised / resolved)",
|
|
74019
|
+
bad: ["device-attention-required"],
|
|
74020
|
+
recovery: ["device-attention-resolved"],
|
|
74021
|
+
snapshotLabel: "Devices needing attention now",
|
|
74022
|
+
snapshotSection: null
|
|
74023
|
+
},
|
|
74024
|
+
{
|
|
74025
|
+
id: "node-connectivity",
|
|
74026
|
+
family: "system",
|
|
74027
|
+
label: "Node connectivity (offline / back online)",
|
|
74028
|
+
bad: ["node-offline"],
|
|
74029
|
+
recovery: ["node-online"],
|
|
74030
|
+
snapshotLabel: "Nodes offline now",
|
|
74031
|
+
snapshotSection: "nodes"
|
|
74032
|
+
},
|
|
74033
|
+
{
|
|
74034
|
+
id: "storage-space",
|
|
74035
|
+
family: "system",
|
|
74036
|
+
label: "Storage space (low or critical / ok again)",
|
|
74037
|
+
bad: ["storage-location-low", "storage-location-critical"],
|
|
74038
|
+
recovery: ["storage-location-ok"],
|
|
74039
|
+
snapshotLabel: "Storage locations low now",
|
|
74040
|
+
snapshotSection: null
|
|
74041
|
+
},
|
|
74042
|
+
{
|
|
74043
|
+
id: "critical-alerts",
|
|
74044
|
+
family: "system",
|
|
74045
|
+
label: "Critical alerts (raised / resolved)",
|
|
74046
|
+
bad: ["alert-critical"],
|
|
74047
|
+
recovery: ["alert-critical-resolved"],
|
|
74048
|
+
snapshotLabel: "Critical alerts open now",
|
|
74049
|
+
snapshotSection: null
|
|
74050
|
+
},
|
|
74051
|
+
{
|
|
74052
|
+
id: "rule-health",
|
|
74053
|
+
family: "system",
|
|
74054
|
+
label: "Rule health (broken / repaired)",
|
|
74055
|
+
bad: ["rule-broken"],
|
|
74056
|
+
recovery: ["rule-repaired"],
|
|
74057
|
+
snapshotLabel: "Notification rules broken now",
|
|
74058
|
+
snapshotSection: null
|
|
74059
|
+
}
|
|
74060
|
+
].flatMap((spec) => [...spec.bad, ...spec.recovery].map((kind) => [kind, spec])));
|
|
73885
74061
|
new Set([
|
|
73886
74062
|
"disarmed",
|
|
73887
74063
|
"armed_home",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-smtp-nodemailer",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.137",
|
|
4
4
|
"description": "SMTP email provider addon for CamStack — wraps `nodemailer` and registers a `smtp-provider` cap collection entry. Used by notifier addons.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|