@camstack/addon-smtp-nodemailer 1.2.20 → 1.2.22
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 +37 -3
- package/dist/smtp.addon.mjs +37 -3
- package/package.json +1 -1
package/dist/smtp.addon.js
CHANGED
|
@@ -19914,6 +19914,14 @@ var ClipSchema = object({
|
|
|
19914
19914
|
endMs: number()
|
|
19915
19915
|
}),
|
|
19916
19916
|
/**
|
|
19917
|
+
* Distinct object classes attached to this visit (`person`, `car`, …),
|
|
19918
|
+
* dominant first, capped at {@link MAX_CLIP_LABELS}. The ribbon renders these
|
|
19919
|
+
* instead of the bare kind — "Object" tells the operator nothing a colour bar
|
|
19920
|
+
* did not. Absent (never empty) when the visit attached no classified object
|
|
19921
|
+
* event, so a motion/audio-only visit keeps its kind label.
|
|
19922
|
+
*/
|
|
19923
|
+
labels: array(string()).max(3).optional(),
|
|
19924
|
+
/**
|
|
19917
19925
|
* Lazy thumbnail URL, never inlined.
|
|
19918
19926
|
*
|
|
19919
19927
|
* Recording-derived clips (events-mode keep-window, and the prepared
|
|
@@ -24248,9 +24256,21 @@ var RecordingLocationUsageSchema = object({
|
|
|
24248
24256
|
* previously rendered as two identical "disks" with a nonsensical used
|
|
24249
24257
|
* split — hydrate attribution across aliases is arbitrary by nature. */
|
|
24250
24258
|
locationIds: array(string()).optional(),
|
|
24251
|
-
/**
|
|
24259
|
+
/**
|
|
24260
|
+
* Filesystem root of the physical volume this row accounts — the only
|
|
24261
|
+
* operator-legible identity when a location has no `displayName` yet, and
|
|
24262
|
+
* what a "which disk is full" alert has to name. OPTIONAL for the same
|
|
24263
|
+
* train-skew reason as `oldestMs`: a recorder that predates the field omits
|
|
24264
|
+
* it, and this schema must keep validating that older provider's payload.
|
|
24265
|
+
*/
|
|
24266
|
+
root: string().optional(),
|
|
24267
|
+
/** Bytes of recordings stored on this PHYSICAL volume (all aliases). This is
|
|
24268
|
+
* the footage's SHARE of the volume, not how full the volume is — the disk
|
|
24269
|
+
* also holds everything that is not recordings. Volume fill is
|
|
24270
|
+
* `(totalBytes - availableBytes) / totalBytes`. */
|
|
24252
24271
|
usedBytes: number(),
|
|
24253
|
-
/** Free bytes on the location's volume; null when capacity is unknown
|
|
24272
|
+
/** Free bytes on the location's volume; null when capacity is unknown
|
|
24273
|
+
* (remote/unstattable — the recorder logs the statfs failure with the root). */
|
|
24254
24274
|
availableBytes: number().nullable(),
|
|
24255
24275
|
/** Total bytes of the location's volume; null when unknown. */
|
|
24256
24276
|
totalBytes: number().nullable()
|
|
@@ -24262,7 +24282,15 @@ var RecordingStorageUsageSchema = object({
|
|
|
24262
24282
|
nodeId: string(),
|
|
24263
24283
|
totalUsedBytes: number(),
|
|
24264
24284
|
devices: array(RecordingDeviceUsageSchema),
|
|
24265
|
-
|
|
24285
|
+
/**
|
|
24286
|
+
* Per-physical-volume capacity. OPTIONAL, and consumers must render the rest
|
|
24287
|
+
* of the payload without it: the hub serves this method through a BAKED
|
|
24288
|
+
* router, so a hub whose framework train predates a change to this array
|
|
24289
|
+
* strips it out of an answer a newer recorder happily produced. A UI that
|
|
24290
|
+
* dereferences it unconditionally crashes the whole Storage page over a
|
|
24291
|
+
* missing disk bar.
|
|
24292
|
+
*/
|
|
24293
|
+
locations: array(RecordingLocationUsageSchema).optional()
|
|
24266
24294
|
});
|
|
24267
24295
|
/**
|
|
24268
24296
|
* The OPERATOR-ARMED half of multi-location recordings (D116).
|
|
@@ -33378,8 +33406,14 @@ Object.freeze({
|
|
|
33378
33406
|
"network-access": "ingress",
|
|
33379
33407
|
"smtp-provider": "email"
|
|
33380
33408
|
});
|
|
33409
|
+
/** Schema defaults — an untouched sub-field must author exactly these. */
|
|
33410
|
+
var NC_AUDIO_DEFAULTS = {
|
|
33411
|
+
hitPercent: 60,
|
|
33412
|
+
samplingSeconds: 10
|
|
33413
|
+
};
|
|
33381
33414
|
new Map(AUDIO_MACRO_LABELS.flatMap((macro) => macro.icon === void 0 ? [] : [[macro.id, macro.icon]]));
|
|
33382
33415
|
new Set(["devices", "classes"]);
|
|
33416
|
+
NC_AUDIO_DEFAULTS.hitPercent, NC_AUDIO_DEFAULTS.samplingSeconds;
|
|
33383
33417
|
/**
|
|
33384
33418
|
* TimelapseRule — the STANDALONE scheduled timelapse producer's rule model.
|
|
33385
33419
|
*
|
package/dist/smtp.addon.mjs
CHANGED
|
@@ -19912,6 +19912,14 @@ var ClipSchema = object({
|
|
|
19912
19912
|
endMs: number()
|
|
19913
19913
|
}),
|
|
19914
19914
|
/**
|
|
19915
|
+
* Distinct object classes attached to this visit (`person`, `car`, …),
|
|
19916
|
+
* dominant first, capped at {@link MAX_CLIP_LABELS}. The ribbon renders these
|
|
19917
|
+
* instead of the bare kind — "Object" tells the operator nothing a colour bar
|
|
19918
|
+
* did not. Absent (never empty) when the visit attached no classified object
|
|
19919
|
+
* event, so a motion/audio-only visit keeps its kind label.
|
|
19920
|
+
*/
|
|
19921
|
+
labels: array(string()).max(3).optional(),
|
|
19922
|
+
/**
|
|
19915
19923
|
* Lazy thumbnail URL, never inlined.
|
|
19916
19924
|
*
|
|
19917
19925
|
* Recording-derived clips (events-mode keep-window, and the prepared
|
|
@@ -24246,9 +24254,21 @@ var RecordingLocationUsageSchema = object({
|
|
|
24246
24254
|
* previously rendered as two identical "disks" with a nonsensical used
|
|
24247
24255
|
* split — hydrate attribution across aliases is arbitrary by nature. */
|
|
24248
24256
|
locationIds: array(string()).optional(),
|
|
24249
|
-
/**
|
|
24257
|
+
/**
|
|
24258
|
+
* Filesystem root of the physical volume this row accounts — the only
|
|
24259
|
+
* operator-legible identity when a location has no `displayName` yet, and
|
|
24260
|
+
* what a "which disk is full" alert has to name. OPTIONAL for the same
|
|
24261
|
+
* train-skew reason as `oldestMs`: a recorder that predates the field omits
|
|
24262
|
+
* it, and this schema must keep validating that older provider's payload.
|
|
24263
|
+
*/
|
|
24264
|
+
root: string().optional(),
|
|
24265
|
+
/** Bytes of recordings stored on this PHYSICAL volume (all aliases). This is
|
|
24266
|
+
* the footage's SHARE of the volume, not how full the volume is — the disk
|
|
24267
|
+
* also holds everything that is not recordings. Volume fill is
|
|
24268
|
+
* `(totalBytes - availableBytes) / totalBytes`. */
|
|
24250
24269
|
usedBytes: number(),
|
|
24251
|
-
/** Free bytes on the location's volume; null when capacity is unknown
|
|
24270
|
+
/** Free bytes on the location's volume; null when capacity is unknown
|
|
24271
|
+
* (remote/unstattable — the recorder logs the statfs failure with the root). */
|
|
24252
24272
|
availableBytes: number().nullable(),
|
|
24253
24273
|
/** Total bytes of the location's volume; null when unknown. */
|
|
24254
24274
|
totalBytes: number().nullable()
|
|
@@ -24260,7 +24280,15 @@ var RecordingStorageUsageSchema = object({
|
|
|
24260
24280
|
nodeId: string(),
|
|
24261
24281
|
totalUsedBytes: number(),
|
|
24262
24282
|
devices: array(RecordingDeviceUsageSchema),
|
|
24263
|
-
|
|
24283
|
+
/**
|
|
24284
|
+
* Per-physical-volume capacity. OPTIONAL, and consumers must render the rest
|
|
24285
|
+
* of the payload without it: the hub serves this method through a BAKED
|
|
24286
|
+
* router, so a hub whose framework train predates a change to this array
|
|
24287
|
+
* strips it out of an answer a newer recorder happily produced. A UI that
|
|
24288
|
+
* dereferences it unconditionally crashes the whole Storage page over a
|
|
24289
|
+
* missing disk bar.
|
|
24290
|
+
*/
|
|
24291
|
+
locations: array(RecordingLocationUsageSchema).optional()
|
|
24264
24292
|
});
|
|
24265
24293
|
/**
|
|
24266
24294
|
* The OPERATOR-ARMED half of multi-location recordings (D116).
|
|
@@ -33376,8 +33404,14 @@ Object.freeze({
|
|
|
33376
33404
|
"network-access": "ingress",
|
|
33377
33405
|
"smtp-provider": "email"
|
|
33378
33406
|
});
|
|
33407
|
+
/** Schema defaults — an untouched sub-field must author exactly these. */
|
|
33408
|
+
var NC_AUDIO_DEFAULTS = {
|
|
33409
|
+
hitPercent: 60,
|
|
33410
|
+
samplingSeconds: 10
|
|
33411
|
+
};
|
|
33379
33412
|
new Map(AUDIO_MACRO_LABELS.flatMap((macro) => macro.icon === void 0 ? [] : [[macro.id, macro.icon]]));
|
|
33380
33413
|
new Set(["devices", "classes"]);
|
|
33414
|
+
NC_AUDIO_DEFAULTS.hitPercent, NC_AUDIO_DEFAULTS.samplingSeconds;
|
|
33381
33415
|
/**
|
|
33382
33416
|
* TimelapseRule — the STANDALONE scheduled timelapse producer's rule model.
|
|
33383
33417
|
*
|
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.22",
|
|
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",
|