@camstack/addon-smtp-nodemailer 1.2.67 → 1.2.69
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 +86 -2
- package/dist/smtp.addon.mjs +86 -2
- 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-zAv7pMUz.mjs
|
|
40
40
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
41
41
|
EventCategory["SystemBoot"] = "system.boot";
|
|
42
42
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -408,6 +408,13 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
408
408
|
*/
|
|
409
409
|
EventCategory["BatteryOnStatusChanged"] = "battery.onStatusChanged";
|
|
410
410
|
/**
|
|
411
|
+
* Cap event fired by every device that registers the `network-link`
|
|
412
|
+
* capability. Mirrors the cap definition's `onStatusChanged`. Carries
|
|
413
|
+
* `{ deviceId, status: NetworkLinkStatus }` — a link switch or a signal
|
|
414
|
+
* reading that moved.
|
|
415
|
+
*/
|
|
416
|
+
EventCategory["NetworkLinkOnStatusChanged"] = "network-link.onStatusChanged";
|
|
417
|
+
/**
|
|
411
418
|
* Emitted by the battery cap provider WHEN `wakeForStream` enters the
|
|
412
419
|
* "wake in progress" window — between the Baichuan wake-up issue and
|
|
413
420
|
* the camera's first dialed-back RTP packet. The stream-broker
|
|
@@ -19042,6 +19049,33 @@ var RecentTracksQueryInput = object({
|
|
|
19042
19049
|
*/
|
|
19043
19050
|
classes: array(string()).optional()
|
|
19044
19051
|
});
|
|
19052
|
+
/**
|
|
19053
|
+
* A Summary (D359): the per-camera session envelope that references tracks.
|
|
19054
|
+
* `groupShotKey` is the media key of its group shot (`ownerKind: 'summary'`,
|
|
19055
|
+
* served by the event-media plane by key), null until the first frame with a
|
|
19056
|
+
* member visible has been materialised.
|
|
19057
|
+
*/
|
|
19058
|
+
var SummarySchema = object({
|
|
19059
|
+
id: string(),
|
|
19060
|
+
deviceId: number(),
|
|
19061
|
+
openedAt: number(),
|
|
19062
|
+
lastActiveAt: number(),
|
|
19063
|
+
sealedAt: number().nullable(),
|
|
19064
|
+
memberCount: number().int().nonnegative(),
|
|
19065
|
+
groupShotKey: string().nullable()
|
|
19066
|
+
});
|
|
19067
|
+
var SummariesQueryInput = object({
|
|
19068
|
+
deviceIds: array(number()).min(1),
|
|
19069
|
+
since: number().optional(),
|
|
19070
|
+
until: number().optional(),
|
|
19071
|
+
limit: number().int().min(1).max(200).default(50)
|
|
19072
|
+
});
|
|
19073
|
+
var SummariesPageSchema = object({ summaries: array(SummarySchema).readonly() });
|
|
19074
|
+
var SummaryDetailSchema = object({
|
|
19075
|
+
summary: SummarySchema,
|
|
19076
|
+
/** Member track ids, in absorption order. */
|
|
19077
|
+
trackIds: array(string()).readonly()
|
|
19078
|
+
});
|
|
19045
19079
|
var RecentTracksPageSchema = object({
|
|
19046
19080
|
/** Merged page, ordered by (`lastSeen` DESC, `trackId` DESC). */
|
|
19047
19081
|
tracks: array(TrackSchema).readonly(),
|
|
@@ -19442,7 +19476,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
19442
19476
|
* timeline would read as a camera that saw nothing.
|
|
19443
19477
|
*/
|
|
19444
19478
|
classes: array(string()).optional()
|
|
19445
|
-
}), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(object({ deviceId: number() }), _void(), {
|
|
19479
|
+
}), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
|
|
19446
19480
|
kind: "mutation",
|
|
19447
19481
|
auth: "admin"
|
|
19448
19482
|
}), method(DeviceEventQueryInput, array(MotionEventSchema).readonly()), method(ObjectEventQueryInput, array(ObjectEventSchema).readonly()), method(DeviceEventQueryInput, array(AudioEventSchema).readonly()), method(object({ deviceId: number() }), array(EventKindDescriptorSchema).readonly()), method(object({ deviceIds: array(number()).min(1).max(200) }), array(EventKindsForDeviceSchema).readonly()), method(object({
|
|
@@ -23188,6 +23222,39 @@ DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, meth
|
|
|
23188
23222
|
deviceId: number(),
|
|
23189
23223
|
status: BatteryStatusSchema
|
|
23190
23224
|
});
|
|
23225
|
+
/**
|
|
23226
|
+
* Network-link snapshot. Same shape for every provider (a Reolink wifi
|
|
23227
|
+
* camera, a Home Assistant device with a signal-strength sensor, a Tapo
|
|
23228
|
+
* plug): one slice under `device.runtimeState['network-link']`, one badge,
|
|
23229
|
+
* one Home Assistant projection.
|
|
23230
|
+
*/
|
|
23231
|
+
var NetworkLinkStatusSchema = object({
|
|
23232
|
+
/** The link the device is on. `'unknown'` = not read yet, not "no link". */
|
|
23233
|
+
type: _enum([
|
|
23234
|
+
"wifi",
|
|
23235
|
+
"ethernet",
|
|
23236
|
+
"cellular",
|
|
23237
|
+
"unknown"
|
|
23238
|
+
]),
|
|
23239
|
+
/**
|
|
23240
|
+
* Link quality, 0..100 inclusive, normalised by the provider from whatever
|
|
23241
|
+
* the firmware reports (bars, RSSI, a vendor scale). **`null` means NOT
|
|
23242
|
+
* KNOWN or NOT APPLICABLE** — a wired link has no signal, and a wireless
|
|
23243
|
+
* one whose reading has not landed must not be drawn at 0 %. Consumers
|
|
23244
|
+
* SKIP a null rather than coerce it.
|
|
23245
|
+
*/
|
|
23246
|
+
signalPercent: number().min(0).max(100).nullable(),
|
|
23247
|
+
/** Raw received signal strength in dBm, when the firmware reports one. */
|
|
23248
|
+
rssiDbm: number().optional(),
|
|
23249
|
+
/** Network name of a wireless link, when the firmware reports it. */
|
|
23250
|
+
ssid: string().optional(),
|
|
23251
|
+
/** Ms epoch of the last observation. Lets consumers reason about freshness. */
|
|
23252
|
+
lastUpdated: number()
|
|
23253
|
+
});
|
|
23254
|
+
DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.Light, DeviceType.Lock, DeviceType.Siren, object({
|
|
23255
|
+
deviceId: number(),
|
|
23256
|
+
status: NetworkLinkStatusSchema
|
|
23257
|
+
});
|
|
23191
23258
|
object({
|
|
23192
23259
|
on: boolean(),
|
|
23193
23260
|
/** Ms epoch of the last transition. 0 if never observed. */
|
|
@@ -32410,6 +32477,12 @@ Object.freeze({
|
|
|
32410
32477
|
addonId: null,
|
|
32411
32478
|
access: "view"
|
|
32412
32479
|
},
|
|
32480
|
+
"pipelineAnalytics.getSummary": {
|
|
32481
|
+
capName: "pipeline-analytics",
|
|
32482
|
+
capScope: "device",
|
|
32483
|
+
addonId: null,
|
|
32484
|
+
access: "view"
|
|
32485
|
+
},
|
|
32413
32486
|
"pipelineAnalytics.getTrack": {
|
|
32414
32487
|
capName: "pipeline-analytics",
|
|
32415
32488
|
capScope: "device",
|
|
@@ -32488,6 +32561,12 @@ Object.freeze({
|
|
|
32488
32561
|
addonId: null,
|
|
32489
32562
|
access: "view"
|
|
32490
32563
|
},
|
|
32564
|
+
"pipelineAnalytics.listSummaries": {
|
|
32565
|
+
capName: "pipeline-analytics",
|
|
32566
|
+
capScope: "device",
|
|
32567
|
+
addonId: null,
|
|
32568
|
+
access: "view"
|
|
32569
|
+
},
|
|
32491
32570
|
"pipelineAnalytics.listTrackMedia": {
|
|
32492
32571
|
capName: "pipeline-analytics",
|
|
32493
32572
|
capScope: "device",
|
|
@@ -36183,6 +36262,11 @@ Object.freeze({
|
|
|
36183
36262
|
form: "array",
|
|
36184
36263
|
optional: true
|
|
36185
36264
|
}],
|
|
36265
|
+
"pipelineAnalytics.listSummaries": [{
|
|
36266
|
+
name: "deviceIds",
|
|
36267
|
+
form: "array",
|
|
36268
|
+
optional: false
|
|
36269
|
+
}],
|
|
36186
36270
|
"pipelineAnalytics.listTrackMedia": [{
|
|
36187
36271
|
name: "deviceId",
|
|
36188
36272
|
form: "single",
|
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-zAv7pMUz.mjs
|
|
38
38
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
39
39
|
EventCategory["SystemBoot"] = "system.boot";
|
|
40
40
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -406,6 +406,13 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
406
406
|
*/
|
|
407
407
|
EventCategory["BatteryOnStatusChanged"] = "battery.onStatusChanged";
|
|
408
408
|
/**
|
|
409
|
+
* Cap event fired by every device that registers the `network-link`
|
|
410
|
+
* capability. Mirrors the cap definition's `onStatusChanged`. Carries
|
|
411
|
+
* `{ deviceId, status: NetworkLinkStatus }` — a link switch or a signal
|
|
412
|
+
* reading that moved.
|
|
413
|
+
*/
|
|
414
|
+
EventCategory["NetworkLinkOnStatusChanged"] = "network-link.onStatusChanged";
|
|
415
|
+
/**
|
|
409
416
|
* Emitted by the battery cap provider WHEN `wakeForStream` enters the
|
|
410
417
|
* "wake in progress" window — between the Baichuan wake-up issue and
|
|
411
418
|
* the camera's first dialed-back RTP packet. The stream-broker
|
|
@@ -19040,6 +19047,33 @@ var RecentTracksQueryInput = object({
|
|
|
19040
19047
|
*/
|
|
19041
19048
|
classes: array(string()).optional()
|
|
19042
19049
|
});
|
|
19050
|
+
/**
|
|
19051
|
+
* A Summary (D359): the per-camera session envelope that references tracks.
|
|
19052
|
+
* `groupShotKey` is the media key of its group shot (`ownerKind: 'summary'`,
|
|
19053
|
+
* served by the event-media plane by key), null until the first frame with a
|
|
19054
|
+
* member visible has been materialised.
|
|
19055
|
+
*/
|
|
19056
|
+
var SummarySchema = object({
|
|
19057
|
+
id: string(),
|
|
19058
|
+
deviceId: number(),
|
|
19059
|
+
openedAt: number(),
|
|
19060
|
+
lastActiveAt: number(),
|
|
19061
|
+
sealedAt: number().nullable(),
|
|
19062
|
+
memberCount: number().int().nonnegative(),
|
|
19063
|
+
groupShotKey: string().nullable()
|
|
19064
|
+
});
|
|
19065
|
+
var SummariesQueryInput = object({
|
|
19066
|
+
deviceIds: array(number()).min(1),
|
|
19067
|
+
since: number().optional(),
|
|
19068
|
+
until: number().optional(),
|
|
19069
|
+
limit: number().int().min(1).max(200).default(50)
|
|
19070
|
+
});
|
|
19071
|
+
var SummariesPageSchema = object({ summaries: array(SummarySchema).readonly() });
|
|
19072
|
+
var SummaryDetailSchema = object({
|
|
19073
|
+
summary: SummarySchema,
|
|
19074
|
+
/** Member track ids, in absorption order. */
|
|
19075
|
+
trackIds: array(string()).readonly()
|
|
19076
|
+
});
|
|
19043
19077
|
var RecentTracksPageSchema = object({
|
|
19044
19078
|
/** Merged page, ordered by (`lastSeen` DESC, `trackId` DESC). */
|
|
19045
19079
|
tracks: array(TrackSchema).readonly(),
|
|
@@ -19440,7 +19474,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
19440
19474
|
* timeline would read as a camera that saw nothing.
|
|
19441
19475
|
*/
|
|
19442
19476
|
classes: array(string()).optional()
|
|
19443
|
-
}), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(object({ deviceId: number() }), _void(), {
|
|
19477
|
+
}), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
|
|
19444
19478
|
kind: "mutation",
|
|
19445
19479
|
auth: "admin"
|
|
19446
19480
|
}), method(DeviceEventQueryInput, array(MotionEventSchema).readonly()), method(ObjectEventQueryInput, array(ObjectEventSchema).readonly()), method(DeviceEventQueryInput, array(AudioEventSchema).readonly()), method(object({ deviceId: number() }), array(EventKindDescriptorSchema).readonly()), method(object({ deviceIds: array(number()).min(1).max(200) }), array(EventKindsForDeviceSchema).readonly()), method(object({
|
|
@@ -23186,6 +23220,39 @@ DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, meth
|
|
|
23186
23220
|
deviceId: number(),
|
|
23187
23221
|
status: BatteryStatusSchema
|
|
23188
23222
|
});
|
|
23223
|
+
/**
|
|
23224
|
+
* Network-link snapshot. Same shape for every provider (a Reolink wifi
|
|
23225
|
+
* camera, a Home Assistant device with a signal-strength sensor, a Tapo
|
|
23226
|
+
* plug): one slice under `device.runtimeState['network-link']`, one badge,
|
|
23227
|
+
* one Home Assistant projection.
|
|
23228
|
+
*/
|
|
23229
|
+
var NetworkLinkStatusSchema = object({
|
|
23230
|
+
/** The link the device is on. `'unknown'` = not read yet, not "no link". */
|
|
23231
|
+
type: _enum([
|
|
23232
|
+
"wifi",
|
|
23233
|
+
"ethernet",
|
|
23234
|
+
"cellular",
|
|
23235
|
+
"unknown"
|
|
23236
|
+
]),
|
|
23237
|
+
/**
|
|
23238
|
+
* Link quality, 0..100 inclusive, normalised by the provider from whatever
|
|
23239
|
+
* the firmware reports (bars, RSSI, a vendor scale). **`null` means NOT
|
|
23240
|
+
* KNOWN or NOT APPLICABLE** — a wired link has no signal, and a wireless
|
|
23241
|
+
* one whose reading has not landed must not be drawn at 0 %. Consumers
|
|
23242
|
+
* SKIP a null rather than coerce it.
|
|
23243
|
+
*/
|
|
23244
|
+
signalPercent: number().min(0).max(100).nullable(),
|
|
23245
|
+
/** Raw received signal strength in dBm, when the firmware reports one. */
|
|
23246
|
+
rssiDbm: number().optional(),
|
|
23247
|
+
/** Network name of a wireless link, when the firmware reports it. */
|
|
23248
|
+
ssid: string().optional(),
|
|
23249
|
+
/** Ms epoch of the last observation. Lets consumers reason about freshness. */
|
|
23250
|
+
lastUpdated: number()
|
|
23251
|
+
});
|
|
23252
|
+
DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.Light, DeviceType.Lock, DeviceType.Siren, object({
|
|
23253
|
+
deviceId: number(),
|
|
23254
|
+
status: NetworkLinkStatusSchema
|
|
23255
|
+
});
|
|
23189
23256
|
object({
|
|
23190
23257
|
on: boolean(),
|
|
23191
23258
|
/** Ms epoch of the last transition. 0 if never observed. */
|
|
@@ -32408,6 +32475,12 @@ Object.freeze({
|
|
|
32408
32475
|
addonId: null,
|
|
32409
32476
|
access: "view"
|
|
32410
32477
|
},
|
|
32478
|
+
"pipelineAnalytics.getSummary": {
|
|
32479
|
+
capName: "pipeline-analytics",
|
|
32480
|
+
capScope: "device",
|
|
32481
|
+
addonId: null,
|
|
32482
|
+
access: "view"
|
|
32483
|
+
},
|
|
32411
32484
|
"pipelineAnalytics.getTrack": {
|
|
32412
32485
|
capName: "pipeline-analytics",
|
|
32413
32486
|
capScope: "device",
|
|
@@ -32486,6 +32559,12 @@ Object.freeze({
|
|
|
32486
32559
|
addonId: null,
|
|
32487
32560
|
access: "view"
|
|
32488
32561
|
},
|
|
32562
|
+
"pipelineAnalytics.listSummaries": {
|
|
32563
|
+
capName: "pipeline-analytics",
|
|
32564
|
+
capScope: "device",
|
|
32565
|
+
addonId: null,
|
|
32566
|
+
access: "view"
|
|
32567
|
+
},
|
|
32489
32568
|
"pipelineAnalytics.listTrackMedia": {
|
|
32490
32569
|
capName: "pipeline-analytics",
|
|
32491
32570
|
capScope: "device",
|
|
@@ -36181,6 +36260,11 @@ Object.freeze({
|
|
|
36181
36260
|
form: "array",
|
|
36182
36261
|
optional: true
|
|
36183
36262
|
}],
|
|
36263
|
+
"pipelineAnalytics.listSummaries": [{
|
|
36264
|
+
name: "deviceIds",
|
|
36265
|
+
form: "array",
|
|
36266
|
+
optional: false
|
|
36267
|
+
}],
|
|
36184
36268
|
"pipelineAnalytics.listTrackMedia": [{
|
|
36185
36269
|
name: "deviceId",
|
|
36186
36270
|
form: "single",
|
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.69",
|
|
4
4
|
"description": "SMTP email provider addon for CamStack — wraps `nodemailer` and registers a `smtp-provider` cap collection entry. Used by magic-link login + notifier addons.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|