@camstack/addon-smtp-nodemailer 1.2.80 → 1.2.82
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 +38 -9
- package/dist/smtp.addon.mjs +38 -9
- package/package.json +1 -1
package/dist/smtp.addon.js
CHANGED
|
@@ -11970,6 +11970,9 @@ var QueryFilterSchema = object({
|
|
|
11970
11970
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
11971
11971
|
/** NULL-safe exclusion: matches rows whose field is NULL OR != the value. */
|
|
11972
11972
|
whereNot: record(string(), unknown()).optional(),
|
|
11973
|
+
/** NULL-safe exclusion of a SET — `whereNot` for more than one value. An
|
|
11974
|
+
* empty list excludes nothing. See `QueryFilter.whereNotIn`. */
|
|
11975
|
+
whereNotIn: record(string(), array(unknown())).optional(),
|
|
11973
11976
|
orderBy: object({
|
|
11974
11977
|
field: string(),
|
|
11975
11978
|
direction: _enum(["asc", "desc"])
|
|
@@ -11990,7 +11993,8 @@ var MutationFilterSchema = object({
|
|
|
11990
11993
|
where: record(string(), unknown()).optional(),
|
|
11991
11994
|
whereIn: record(string(), array(unknown())).optional(),
|
|
11992
11995
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
11993
|
-
whereNot: record(string(), unknown()).optional()
|
|
11996
|
+
whereNot: record(string(), unknown()).optional(),
|
|
11997
|
+
whereNotIn: record(string(), array(unknown())).optional()
|
|
11994
11998
|
});
|
|
11995
11999
|
/**
|
|
11996
12000
|
* One scalar an {@link settingsStoreCapability.methods.aggregate} call asks for.
|
|
@@ -18480,10 +18484,12 @@ var TrackSourceSchema = _enum([
|
|
|
18480
18484
|
* Terminal for the plain `markForTrain` toggle: returning it to `staging` is
|
|
18481
18485
|
* a deliberate action of the retrain page, not a side effect of a checkbox.
|
|
18482
18486
|
*
|
|
18483
|
-
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'`
|
|
18484
|
-
*
|
|
18485
|
-
*
|
|
18486
|
-
*
|
|
18487
|
+
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'` so that
|
|
18488
|
+
* every row is selectable by a positive predicate. (The filter language has
|
|
18489
|
+
* since grown the NULL-safe `whereNot` / `whereNotIn` and an `IS NULL` reading
|
|
18490
|
+
* of `where: { f: null }`, which is how {@link TrackSourceSchema} can be
|
|
18491
|
+
* filtered on a NULLABLE column — see `excludeSources`. It did not when this
|
|
18492
|
+
* column was designed, and a NOT NULL column is still the better shape.)
|
|
18487
18493
|
*/
|
|
18488
18494
|
var RetrainStatusSchema = _enum([
|
|
18489
18495
|
"none",
|
|
@@ -19219,7 +19225,9 @@ var RecentTracksQueryInput = object({
|
|
|
19219
19225
|
* whose class list is unreadable are kept, and the client's rule stays the
|
|
19220
19226
|
* exact one.
|
|
19221
19227
|
*/
|
|
19222
|
-
classes: array(string()).optional()
|
|
19228
|
+
classes: array(string()).optional(),
|
|
19229
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
19230
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
19223
19231
|
});
|
|
19224
19232
|
/**
|
|
19225
19233
|
* A Summary (D359): the per-camera session envelope that references tracks.
|
|
@@ -19647,7 +19655,9 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
19647
19655
|
* selected is an operator who has not narrowed anything, and an empty
|
|
19648
19656
|
* timeline would read as a camera that saw nothing.
|
|
19649
19657
|
*/
|
|
19650
|
-
classes: array(string()).optional()
|
|
19658
|
+
classes: array(string()).optional(),
|
|
19659
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
19660
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
19651
19661
|
}), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
|
|
19652
19662
|
kind: "mutation",
|
|
19653
19663
|
auth: "admin"
|
|
@@ -27121,8 +27131,27 @@ var PrivacyMaskRegionSchema = object({
|
|
|
27121
27131
|
});
|
|
27122
27132
|
object({
|
|
27123
27133
|
enabled: boolean(),
|
|
27124
|
-
/**
|
|
27125
|
-
|
|
27134
|
+
/**
|
|
27135
|
+
* Active zones (normalized 0..1). Length ≤ maxRegions.
|
|
27136
|
+
*
|
|
27137
|
+
* `null` means "no answer" — the provider has never reached this camera
|
|
27138
|
+
* (a cold `runtimeState` slice, a battery camera asleep) or the read
|
|
27139
|
+
* failed. A consumer must render it as UNKNOWN and never as "this camera
|
|
27140
|
+
* has no zones": those two look identical to an operator right up to the
|
|
27141
|
+
* moment one of them is acted on, and acting on them differs completely.
|
|
27142
|
+
* The switch group turned an unanswered read into *"nothing is set up for
|
|
27143
|
+
* it to act on"* — an instruction to go and draw a zone that already
|
|
27144
|
+
* exists — and this editor seeded an EMPTY canvas from it, one Save away
|
|
27145
|
+
* from deleting the mask it could not read.
|
|
27146
|
+
*
|
|
27147
|
+
* Empty-and-answered is `[]` and stays a real answer: this camera genuinely
|
|
27148
|
+
* has no zones. The distinction is the same one {@link
|
|
27149
|
+
* PrivacyMaskStatusSchema.shape.audioEnabled} already draws for the
|
|
27150
|
+
* microphone, on the very same payload — both planes come from ONE refresh,
|
|
27151
|
+
* so it was never coherent for one of them to be able to say "unknown"
|
|
27152
|
+
* while the other could not.
|
|
27153
|
+
*/
|
|
27154
|
+
regions: array(PrivacyMaskRegionSchema).nullable(),
|
|
27126
27155
|
/**
|
|
27127
27156
|
* Is the camera capturing sound right now? Read from the camera, never from
|
|
27128
27157
|
* a server-side mirror.
|
package/dist/smtp.addon.mjs
CHANGED
|
@@ -11968,6 +11968,9 @@ var QueryFilterSchema = object({
|
|
|
11968
11968
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
11969
11969
|
/** NULL-safe exclusion: matches rows whose field is NULL OR != the value. */
|
|
11970
11970
|
whereNot: record(string(), unknown()).optional(),
|
|
11971
|
+
/** NULL-safe exclusion of a SET — `whereNot` for more than one value. An
|
|
11972
|
+
* empty list excludes nothing. See `QueryFilter.whereNotIn`. */
|
|
11973
|
+
whereNotIn: record(string(), array(unknown())).optional(),
|
|
11971
11974
|
orderBy: object({
|
|
11972
11975
|
field: string(),
|
|
11973
11976
|
direction: _enum(["asc", "desc"])
|
|
@@ -11988,7 +11991,8 @@ var MutationFilterSchema = object({
|
|
|
11988
11991
|
where: record(string(), unknown()).optional(),
|
|
11989
11992
|
whereIn: record(string(), array(unknown())).optional(),
|
|
11990
11993
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
11991
|
-
whereNot: record(string(), unknown()).optional()
|
|
11994
|
+
whereNot: record(string(), unknown()).optional(),
|
|
11995
|
+
whereNotIn: record(string(), array(unknown())).optional()
|
|
11992
11996
|
});
|
|
11993
11997
|
/**
|
|
11994
11998
|
* One scalar an {@link settingsStoreCapability.methods.aggregate} call asks for.
|
|
@@ -18478,10 +18482,12 @@ var TrackSourceSchema = _enum([
|
|
|
18478
18482
|
* Terminal for the plain `markForTrain` toggle: returning it to `staging` is
|
|
18479
18483
|
* a deliberate action of the retrain page, not a side effect of a checkbox.
|
|
18480
18484
|
*
|
|
18481
|
-
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'`
|
|
18482
|
-
*
|
|
18483
|
-
*
|
|
18484
|
-
*
|
|
18485
|
+
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'` so that
|
|
18486
|
+
* every row is selectable by a positive predicate. (The filter language has
|
|
18487
|
+
* since grown the NULL-safe `whereNot` / `whereNotIn` and an `IS NULL` reading
|
|
18488
|
+
* of `where: { f: null }`, which is how {@link TrackSourceSchema} can be
|
|
18489
|
+
* filtered on a NULLABLE column — see `excludeSources`. It did not when this
|
|
18490
|
+
* column was designed, and a NOT NULL column is still the better shape.)
|
|
18485
18491
|
*/
|
|
18486
18492
|
var RetrainStatusSchema = _enum([
|
|
18487
18493
|
"none",
|
|
@@ -19217,7 +19223,9 @@ var RecentTracksQueryInput = object({
|
|
|
19217
19223
|
* whose class list is unreadable are kept, and the client's rule stays the
|
|
19218
19224
|
* exact one.
|
|
19219
19225
|
*/
|
|
19220
|
-
classes: array(string()).optional()
|
|
19226
|
+
classes: array(string()).optional(),
|
|
19227
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
19228
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
19221
19229
|
});
|
|
19222
19230
|
/**
|
|
19223
19231
|
* A Summary (D359): the per-camera session envelope that references tracks.
|
|
@@ -19645,7 +19653,9 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
19645
19653
|
* selected is an operator who has not narrowed anything, and an empty
|
|
19646
19654
|
* timeline would read as a camera that saw nothing.
|
|
19647
19655
|
*/
|
|
19648
|
-
classes: array(string()).optional()
|
|
19656
|
+
classes: array(string()).optional(),
|
|
19657
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
19658
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
19649
19659
|
}), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
|
|
19650
19660
|
kind: "mutation",
|
|
19651
19661
|
auth: "admin"
|
|
@@ -27119,8 +27129,27 @@ var PrivacyMaskRegionSchema = object({
|
|
|
27119
27129
|
});
|
|
27120
27130
|
object({
|
|
27121
27131
|
enabled: boolean(),
|
|
27122
|
-
/**
|
|
27123
|
-
|
|
27132
|
+
/**
|
|
27133
|
+
* Active zones (normalized 0..1). Length ≤ maxRegions.
|
|
27134
|
+
*
|
|
27135
|
+
* `null` means "no answer" — the provider has never reached this camera
|
|
27136
|
+
* (a cold `runtimeState` slice, a battery camera asleep) or the read
|
|
27137
|
+
* failed. A consumer must render it as UNKNOWN and never as "this camera
|
|
27138
|
+
* has no zones": those two look identical to an operator right up to the
|
|
27139
|
+
* moment one of them is acted on, and acting on them differs completely.
|
|
27140
|
+
* The switch group turned an unanswered read into *"nothing is set up for
|
|
27141
|
+
* it to act on"* — an instruction to go and draw a zone that already
|
|
27142
|
+
* exists — and this editor seeded an EMPTY canvas from it, one Save away
|
|
27143
|
+
* from deleting the mask it could not read.
|
|
27144
|
+
*
|
|
27145
|
+
* Empty-and-answered is `[]` and stays a real answer: this camera genuinely
|
|
27146
|
+
* has no zones. The distinction is the same one {@link
|
|
27147
|
+
* PrivacyMaskStatusSchema.shape.audioEnabled} already draws for the
|
|
27148
|
+
* microphone, on the very same payload — both planes come from ONE refresh,
|
|
27149
|
+
* so it was never coherent for one of them to be able to say "unknown"
|
|
27150
|
+
* while the other could not.
|
|
27151
|
+
*/
|
|
27152
|
+
regions: array(PrivacyMaskRegionSchema).nullable(),
|
|
27124
27153
|
/**
|
|
27125
27154
|
* Is the camera capturing sound right now? Read from the camera, never from
|
|
27126
27155
|
* a server-side mirror.
|
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.82",
|
|
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",
|