@camstack/addon-smtp-nodemailer 1.2.62 → 1.2.64
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 +48 -1
- package/dist/smtp.addon.mjs +48 -1
- package/package.json +1 -1
package/dist/smtp.addon.js
CHANGED
|
@@ -12658,6 +12658,24 @@ method(_void(), _void(), { kind: "mutation" }), method(_void(), _void(), { kind:
|
|
|
12658
12658
|
kind: "mutation",
|
|
12659
12659
|
auth: "admin"
|
|
12660
12660
|
});
|
|
12661
|
+
/**
|
|
12662
|
+
* Device Manager capability — hub-side singleton that unifies device persistence,
|
|
12663
|
+
* live registry access, and all management operations into a single tRPC surface.
|
|
12664
|
+
*
|
|
12665
|
+
* Replaces:
|
|
12666
|
+
* - `device-persistence` capability (persistence methods absorbed here)
|
|
12667
|
+
* - `device-management.router.ts` (deleted in Phase 2)
|
|
12668
|
+
* - `device-ops.router.ts` (compat layer — deleted; device-provider ops absorbed here)
|
|
12669
|
+
*
|
|
12670
|
+
* All device provider addons (rtsp, onvif, frigate, …) are hub-local: they may
|
|
12671
|
+
* fork into separate processes but never run on remote cluster agents. Therefore:
|
|
12672
|
+
* - No nodeId routing needed — this is a pure hub singleton.
|
|
12673
|
+
* - The hub's DeviceRegistry is the single source of truth for all live devices.
|
|
12674
|
+
* - No shadow registry or cross-node aggregation required.
|
|
12675
|
+
*
|
|
12676
|
+
* Forked workers register devices back to the hub via `ctx.devices`
|
|
12677
|
+
* (DeviceManagerApi → ctx.api.deviceManager.registerDevice), same as today.
|
|
12678
|
+
*/
|
|
12661
12679
|
/** One child-placement directive on a container's `childLayout`. Structurally
|
|
12662
12680
|
* identical to `ChildLayoutEntry` in `device-management.ts` — the cap wire
|
|
12663
12681
|
* shape for the same field. The child is identified by its re-sync-stable
|
|
@@ -12756,7 +12774,12 @@ var ConfigEntrySchema = object({
|
|
|
12756
12774
|
value: unknown(),
|
|
12757
12775
|
description: string().optional()
|
|
12758
12776
|
});
|
|
12759
|
-
|
|
12777
|
+
/**
|
|
12778
|
+
* Only `manual` since D356: the operator picks, nothing links itself. The
|
|
12779
|
+
* field survives on the wire because a viewer already OTA'd parses it —
|
|
12780
|
+
* drop it once no shipped client reads `mode`.
|
|
12781
|
+
*/
|
|
12782
|
+
var LinkedDevicesModeSchema = _enum(["manual"]);
|
|
12760
12783
|
/** One resolved linked device — the compact projection consumers need. */
|
|
12761
12784
|
var LinkedDeviceSchema = object({
|
|
12762
12785
|
deviceId: number(),
|
|
@@ -18306,6 +18329,9 @@ var RetrainStatusSchema = _enum([
|
|
|
18306
18329
|
*
|
|
18307
18330
|
* `debug` does NOT pin; it is attention, not durability.
|
|
18308
18331
|
*
|
|
18332
|
+
* `debugNote` is the operator's own words about WHAT should be checked on this
|
|
18333
|
+
* track, and it lives and dies with `debug` — see {@link MAX_TRACK_DEBUG_NOTE_LEN}.
|
|
18334
|
+
*
|
|
18309
18335
|
* `favourited` IS a BOOLEAN pin (durability bit), not a retrain lifecycle.
|
|
18310
18336
|
* A favourited track is skipped by retention the same way `staging` is, but
|
|
18311
18337
|
* it does not enter `none|staging|trained` and has no staging budget.
|
|
@@ -18316,6 +18342,21 @@ var TrackFlagFields = {
|
|
|
18316
18342
|
markForTrain: boolean().optional(),
|
|
18317
18343
|
/** Operator marked this track for diagnostic attention. */
|
|
18318
18344
|
debug: boolean().optional(),
|
|
18345
|
+
/**
|
|
18346
|
+
* What the operator wants CHECKED on this track, in their own words.
|
|
18347
|
+
*
|
|
18348
|
+
* The flag alone says "look at this" and nothing about what for; a debug set
|
|
18349
|
+
* reviewed hours later is a list of tracks with no question attached. Bound
|
|
18350
|
+
* to `debug` on the WRITE side — the body clears it when `debug` goes off,
|
|
18351
|
+
* and refuses it on a track whose debug is off — so a note can never outlive
|
|
18352
|
+
* the attention it belongs to.
|
|
18353
|
+
*
|
|
18354
|
+
* `''` is a real value ("marked, nothing to add"); the ABSENT key means
|
|
18355
|
+
* "leave whatever is stored alone", which is what lets a surface turn debug
|
|
18356
|
+
* on without a note (a cancelled prompt) and what lets it edit the note
|
|
18357
|
+
* without touching the flag.
|
|
18358
|
+
*/
|
|
18359
|
+
debugNote: string().max(500).optional(),
|
|
18319
18360
|
/** Operator favourited this track. Pins it against pruning. */
|
|
18320
18361
|
favourited: boolean().optional()
|
|
18321
18362
|
};
|
|
@@ -18342,6 +18383,12 @@ var TrackFlagsSchema = object({
|
|
|
18342
18383
|
trackId: string(),
|
|
18343
18384
|
markForTrain: boolean(),
|
|
18344
18385
|
debug: boolean(),
|
|
18386
|
+
/** The note as it STANDS after the write — never absent here (a track with no
|
|
18387
|
+
* note reports `''`), for the same reason the booleans are required: a
|
|
18388
|
+
* surface that has just written must be able to render the note it now owns
|
|
18389
|
+
* without a re-fetch, and an absent key would read as "unchanged" on a
|
|
18390
|
+
* screen that has no previous value to keep. */
|
|
18391
|
+
debugNote: string(),
|
|
18345
18392
|
favourited: boolean(),
|
|
18346
18393
|
/** The lifecycle state the boolean was derived from. Required here (unlike on
|
|
18347
18394
|
* a track row) because this shape is only ever produced by the write body,
|
package/dist/smtp.addon.mjs
CHANGED
|
@@ -12656,6 +12656,24 @@ method(_void(), _void(), { kind: "mutation" }), method(_void(), _void(), { kind:
|
|
|
12656
12656
|
kind: "mutation",
|
|
12657
12657
|
auth: "admin"
|
|
12658
12658
|
});
|
|
12659
|
+
/**
|
|
12660
|
+
* Device Manager capability — hub-side singleton that unifies device persistence,
|
|
12661
|
+
* live registry access, and all management operations into a single tRPC surface.
|
|
12662
|
+
*
|
|
12663
|
+
* Replaces:
|
|
12664
|
+
* - `device-persistence` capability (persistence methods absorbed here)
|
|
12665
|
+
* - `device-management.router.ts` (deleted in Phase 2)
|
|
12666
|
+
* - `device-ops.router.ts` (compat layer — deleted; device-provider ops absorbed here)
|
|
12667
|
+
*
|
|
12668
|
+
* All device provider addons (rtsp, onvif, frigate, …) are hub-local: they may
|
|
12669
|
+
* fork into separate processes but never run on remote cluster agents. Therefore:
|
|
12670
|
+
* - No nodeId routing needed — this is a pure hub singleton.
|
|
12671
|
+
* - The hub's DeviceRegistry is the single source of truth for all live devices.
|
|
12672
|
+
* - No shadow registry or cross-node aggregation required.
|
|
12673
|
+
*
|
|
12674
|
+
* Forked workers register devices back to the hub via `ctx.devices`
|
|
12675
|
+
* (DeviceManagerApi → ctx.api.deviceManager.registerDevice), same as today.
|
|
12676
|
+
*/
|
|
12659
12677
|
/** One child-placement directive on a container's `childLayout`. Structurally
|
|
12660
12678
|
* identical to `ChildLayoutEntry` in `device-management.ts` — the cap wire
|
|
12661
12679
|
* shape for the same field. The child is identified by its re-sync-stable
|
|
@@ -12754,7 +12772,12 @@ var ConfigEntrySchema = object({
|
|
|
12754
12772
|
value: unknown(),
|
|
12755
12773
|
description: string().optional()
|
|
12756
12774
|
});
|
|
12757
|
-
|
|
12775
|
+
/**
|
|
12776
|
+
* Only `manual` since D356: the operator picks, nothing links itself. The
|
|
12777
|
+
* field survives on the wire because a viewer already OTA'd parses it —
|
|
12778
|
+
* drop it once no shipped client reads `mode`.
|
|
12779
|
+
*/
|
|
12780
|
+
var LinkedDevicesModeSchema = _enum(["manual"]);
|
|
12758
12781
|
/** One resolved linked device — the compact projection consumers need. */
|
|
12759
12782
|
var LinkedDeviceSchema = object({
|
|
12760
12783
|
deviceId: number(),
|
|
@@ -18304,6 +18327,9 @@ var RetrainStatusSchema = _enum([
|
|
|
18304
18327
|
*
|
|
18305
18328
|
* `debug` does NOT pin; it is attention, not durability.
|
|
18306
18329
|
*
|
|
18330
|
+
* `debugNote` is the operator's own words about WHAT should be checked on this
|
|
18331
|
+
* track, and it lives and dies with `debug` — see {@link MAX_TRACK_DEBUG_NOTE_LEN}.
|
|
18332
|
+
*
|
|
18307
18333
|
* `favourited` IS a BOOLEAN pin (durability bit), not a retrain lifecycle.
|
|
18308
18334
|
* A favourited track is skipped by retention the same way `staging` is, but
|
|
18309
18335
|
* it does not enter `none|staging|trained` and has no staging budget.
|
|
@@ -18314,6 +18340,21 @@ var TrackFlagFields = {
|
|
|
18314
18340
|
markForTrain: boolean().optional(),
|
|
18315
18341
|
/** Operator marked this track for diagnostic attention. */
|
|
18316
18342
|
debug: boolean().optional(),
|
|
18343
|
+
/**
|
|
18344
|
+
* What the operator wants CHECKED on this track, in their own words.
|
|
18345
|
+
*
|
|
18346
|
+
* The flag alone says "look at this" and nothing about what for; a debug set
|
|
18347
|
+
* reviewed hours later is a list of tracks with no question attached. Bound
|
|
18348
|
+
* to `debug` on the WRITE side — the body clears it when `debug` goes off,
|
|
18349
|
+
* and refuses it on a track whose debug is off — so a note can never outlive
|
|
18350
|
+
* the attention it belongs to.
|
|
18351
|
+
*
|
|
18352
|
+
* `''` is a real value ("marked, nothing to add"); the ABSENT key means
|
|
18353
|
+
* "leave whatever is stored alone", which is what lets a surface turn debug
|
|
18354
|
+
* on without a note (a cancelled prompt) and what lets it edit the note
|
|
18355
|
+
* without touching the flag.
|
|
18356
|
+
*/
|
|
18357
|
+
debugNote: string().max(500).optional(),
|
|
18317
18358
|
/** Operator favourited this track. Pins it against pruning. */
|
|
18318
18359
|
favourited: boolean().optional()
|
|
18319
18360
|
};
|
|
@@ -18340,6 +18381,12 @@ var TrackFlagsSchema = object({
|
|
|
18340
18381
|
trackId: string(),
|
|
18341
18382
|
markForTrain: boolean(),
|
|
18342
18383
|
debug: boolean(),
|
|
18384
|
+
/** The note as it STANDS after the write — never absent here (a track with no
|
|
18385
|
+
* note reports `''`), for the same reason the booleans are required: a
|
|
18386
|
+
* surface that has just written must be able to render the note it now owns
|
|
18387
|
+
* without a re-fetch, and an absent key would read as "unchanged" on a
|
|
18388
|
+
* screen that has no previous value to keep. */
|
|
18389
|
+
debugNote: string(),
|
|
18343
18390
|
favourited: boolean(),
|
|
18344
18391
|
/** The lifecycle state the boolean was derived from. Required here (unlike on
|
|
18345
18392
|
* a track row) because this shape is only ever produced by the write body,
|
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.64",
|
|
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",
|