@camstack/addon-mqtt-broker 1.2.63 → 1.2.65
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/mqtt-broker.addon.js +48 -1
- package/dist/mqtt-broker.addon.mjs +48 -1
- package/package.json +1 -1
|
@@ -12715,6 +12715,24 @@ method(_void(), _void(), { kind: "mutation" }), method(_void(), _void(), { kind:
|
|
|
12715
12715
|
kind: "mutation",
|
|
12716
12716
|
auth: "admin"
|
|
12717
12717
|
});
|
|
12718
|
+
/**
|
|
12719
|
+
* Device Manager capability — hub-side singleton that unifies device persistence,
|
|
12720
|
+
* live registry access, and all management operations into a single tRPC surface.
|
|
12721
|
+
*
|
|
12722
|
+
* Replaces:
|
|
12723
|
+
* - `device-persistence` capability (persistence methods absorbed here)
|
|
12724
|
+
* - `device-management.router.ts` (deleted in Phase 2)
|
|
12725
|
+
* - `device-ops.router.ts` (compat layer — deleted; device-provider ops absorbed here)
|
|
12726
|
+
*
|
|
12727
|
+
* All device provider addons (rtsp, onvif, frigate, …) are hub-local: they may
|
|
12728
|
+
* fork into separate processes but never run on remote cluster agents. Therefore:
|
|
12729
|
+
* - No nodeId routing needed — this is a pure hub singleton.
|
|
12730
|
+
* - The hub's DeviceRegistry is the single source of truth for all live devices.
|
|
12731
|
+
* - No shadow registry or cross-node aggregation required.
|
|
12732
|
+
*
|
|
12733
|
+
* Forked workers register devices back to the hub via `ctx.devices`
|
|
12734
|
+
* (DeviceManagerApi → ctx.api.deviceManager.registerDevice), same as today.
|
|
12735
|
+
*/
|
|
12718
12736
|
/** One child-placement directive on a container's `childLayout`. Structurally
|
|
12719
12737
|
* identical to `ChildLayoutEntry` in `device-management.ts` — the cap wire
|
|
12720
12738
|
* shape for the same field. The child is identified by its re-sync-stable
|
|
@@ -12813,7 +12831,12 @@ var ConfigEntrySchema = object({
|
|
|
12813
12831
|
value: unknown(),
|
|
12814
12832
|
description: string().optional()
|
|
12815
12833
|
});
|
|
12816
|
-
|
|
12834
|
+
/**
|
|
12835
|
+
* Only `manual` since D356: the operator picks, nothing links itself. The
|
|
12836
|
+
* field survives on the wire because a viewer already OTA'd parses it —
|
|
12837
|
+
* drop it once no shipped client reads `mode`.
|
|
12838
|
+
*/
|
|
12839
|
+
var LinkedDevicesModeSchema = _enum(["manual"]);
|
|
12817
12840
|
/** One resolved linked device — the compact projection consumers need. */
|
|
12818
12841
|
var LinkedDeviceSchema = object({
|
|
12819
12842
|
deviceId: number(),
|
|
@@ -18382,6 +18405,9 @@ var RetrainStatusSchema = _enum([
|
|
|
18382
18405
|
*
|
|
18383
18406
|
* `debug` does NOT pin; it is attention, not durability.
|
|
18384
18407
|
*
|
|
18408
|
+
* `debugNote` is the operator's own words about WHAT should be checked on this
|
|
18409
|
+
* track, and it lives and dies with `debug` — see {@link MAX_TRACK_DEBUG_NOTE_LEN}.
|
|
18410
|
+
*
|
|
18385
18411
|
* `favourited` IS a BOOLEAN pin (durability bit), not a retrain lifecycle.
|
|
18386
18412
|
* A favourited track is skipped by retention the same way `staging` is, but
|
|
18387
18413
|
* it does not enter `none|staging|trained` and has no staging budget.
|
|
@@ -18392,6 +18418,21 @@ var TrackFlagFields = {
|
|
|
18392
18418
|
markForTrain: boolean().optional(),
|
|
18393
18419
|
/** Operator marked this track for diagnostic attention. */
|
|
18394
18420
|
debug: boolean().optional(),
|
|
18421
|
+
/**
|
|
18422
|
+
* What the operator wants CHECKED on this track, in their own words.
|
|
18423
|
+
*
|
|
18424
|
+
* The flag alone says "look at this" and nothing about what for; a debug set
|
|
18425
|
+
* reviewed hours later is a list of tracks with no question attached. Bound
|
|
18426
|
+
* to `debug` on the WRITE side — the body clears it when `debug` goes off,
|
|
18427
|
+
* and refuses it on a track whose debug is off — so a note can never outlive
|
|
18428
|
+
* the attention it belongs to.
|
|
18429
|
+
*
|
|
18430
|
+
* `''` is a real value ("marked, nothing to add"); the ABSENT key means
|
|
18431
|
+
* "leave whatever is stored alone", which is what lets a surface turn debug
|
|
18432
|
+
* on without a note (a cancelled prompt) and what lets it edit the note
|
|
18433
|
+
* without touching the flag.
|
|
18434
|
+
*/
|
|
18435
|
+
debugNote: string().max(500).optional(),
|
|
18395
18436
|
/** Operator favourited this track. Pins it against pruning. */
|
|
18396
18437
|
favourited: boolean().optional()
|
|
18397
18438
|
};
|
|
@@ -18418,6 +18459,12 @@ var TrackFlagsSchema = object({
|
|
|
18418
18459
|
trackId: string(),
|
|
18419
18460
|
markForTrain: boolean(),
|
|
18420
18461
|
debug: boolean(),
|
|
18462
|
+
/** The note as it STANDS after the write — never absent here (a track with no
|
|
18463
|
+
* note reports `''`), for the same reason the booleans are required: a
|
|
18464
|
+
* surface that has just written must be able to render the note it now owns
|
|
18465
|
+
* without a re-fetch, and an absent key would read as "unchanged" on a
|
|
18466
|
+
* screen that has no previous value to keep. */
|
|
18467
|
+
debugNote: string(),
|
|
18421
18468
|
favourited: boolean(),
|
|
18422
18469
|
/** The lifecycle state the boolean was derived from. Required here (unlike on
|
|
18423
18470
|
* a track row) because this shape is only ever produced by the write body,
|
|
@@ -12710,6 +12710,24 @@ method(_void(), _void(), { kind: "mutation" }), method(_void(), _void(), { kind:
|
|
|
12710
12710
|
kind: "mutation",
|
|
12711
12711
|
auth: "admin"
|
|
12712
12712
|
});
|
|
12713
|
+
/**
|
|
12714
|
+
* Device Manager capability — hub-side singleton that unifies device persistence,
|
|
12715
|
+
* live registry access, and all management operations into a single tRPC surface.
|
|
12716
|
+
*
|
|
12717
|
+
* Replaces:
|
|
12718
|
+
* - `device-persistence` capability (persistence methods absorbed here)
|
|
12719
|
+
* - `device-management.router.ts` (deleted in Phase 2)
|
|
12720
|
+
* - `device-ops.router.ts` (compat layer — deleted; device-provider ops absorbed here)
|
|
12721
|
+
*
|
|
12722
|
+
* All device provider addons (rtsp, onvif, frigate, …) are hub-local: they may
|
|
12723
|
+
* fork into separate processes but never run on remote cluster agents. Therefore:
|
|
12724
|
+
* - No nodeId routing needed — this is a pure hub singleton.
|
|
12725
|
+
* - The hub's DeviceRegistry is the single source of truth for all live devices.
|
|
12726
|
+
* - No shadow registry or cross-node aggregation required.
|
|
12727
|
+
*
|
|
12728
|
+
* Forked workers register devices back to the hub via `ctx.devices`
|
|
12729
|
+
* (DeviceManagerApi → ctx.api.deviceManager.registerDevice), same as today.
|
|
12730
|
+
*/
|
|
12713
12731
|
/** One child-placement directive on a container's `childLayout`. Structurally
|
|
12714
12732
|
* identical to `ChildLayoutEntry` in `device-management.ts` — the cap wire
|
|
12715
12733
|
* shape for the same field. The child is identified by its re-sync-stable
|
|
@@ -12808,7 +12826,12 @@ var ConfigEntrySchema = object({
|
|
|
12808
12826
|
value: unknown(),
|
|
12809
12827
|
description: string().optional()
|
|
12810
12828
|
});
|
|
12811
|
-
|
|
12829
|
+
/**
|
|
12830
|
+
* Only `manual` since D356: the operator picks, nothing links itself. The
|
|
12831
|
+
* field survives on the wire because a viewer already OTA'd parses it —
|
|
12832
|
+
* drop it once no shipped client reads `mode`.
|
|
12833
|
+
*/
|
|
12834
|
+
var LinkedDevicesModeSchema = _enum(["manual"]);
|
|
12812
12835
|
/** One resolved linked device — the compact projection consumers need. */
|
|
12813
12836
|
var LinkedDeviceSchema = object({
|
|
12814
12837
|
deviceId: number(),
|
|
@@ -18377,6 +18400,9 @@ var RetrainStatusSchema = _enum([
|
|
|
18377
18400
|
*
|
|
18378
18401
|
* `debug` does NOT pin; it is attention, not durability.
|
|
18379
18402
|
*
|
|
18403
|
+
* `debugNote` is the operator's own words about WHAT should be checked on this
|
|
18404
|
+
* track, and it lives and dies with `debug` — see {@link MAX_TRACK_DEBUG_NOTE_LEN}.
|
|
18405
|
+
*
|
|
18380
18406
|
* `favourited` IS a BOOLEAN pin (durability bit), not a retrain lifecycle.
|
|
18381
18407
|
* A favourited track is skipped by retention the same way `staging` is, but
|
|
18382
18408
|
* it does not enter `none|staging|trained` and has no staging budget.
|
|
@@ -18387,6 +18413,21 @@ var TrackFlagFields = {
|
|
|
18387
18413
|
markForTrain: boolean().optional(),
|
|
18388
18414
|
/** Operator marked this track for diagnostic attention. */
|
|
18389
18415
|
debug: boolean().optional(),
|
|
18416
|
+
/**
|
|
18417
|
+
* What the operator wants CHECKED on this track, in their own words.
|
|
18418
|
+
*
|
|
18419
|
+
* The flag alone says "look at this" and nothing about what for; a debug set
|
|
18420
|
+
* reviewed hours later is a list of tracks with no question attached. Bound
|
|
18421
|
+
* to `debug` on the WRITE side — the body clears it when `debug` goes off,
|
|
18422
|
+
* and refuses it on a track whose debug is off — so a note can never outlive
|
|
18423
|
+
* the attention it belongs to.
|
|
18424
|
+
*
|
|
18425
|
+
* `''` is a real value ("marked, nothing to add"); the ABSENT key means
|
|
18426
|
+
* "leave whatever is stored alone", which is what lets a surface turn debug
|
|
18427
|
+
* on without a note (a cancelled prompt) and what lets it edit the note
|
|
18428
|
+
* without touching the flag.
|
|
18429
|
+
*/
|
|
18430
|
+
debugNote: string().max(500).optional(),
|
|
18390
18431
|
/** Operator favourited this track. Pins it against pruning. */
|
|
18391
18432
|
favourited: boolean().optional()
|
|
18392
18433
|
};
|
|
@@ -18413,6 +18454,12 @@ var TrackFlagsSchema = object({
|
|
|
18413
18454
|
trackId: string(),
|
|
18414
18455
|
markForTrain: boolean(),
|
|
18415
18456
|
debug: boolean(),
|
|
18457
|
+
/** The note as it STANDS after the write — never absent here (a track with no
|
|
18458
|
+
* note reports `''`), for the same reason the booleans are required: a
|
|
18459
|
+
* surface that has just written must be able to render the note it now owns
|
|
18460
|
+
* without a re-fetch, and an absent key would read as "unchanged" on a
|
|
18461
|
+
* screen that has no previous value to keep. */
|
|
18462
|
+
debugNote: string(),
|
|
18416
18463
|
favourited: boolean(),
|
|
18417
18464
|
/** The lifecycle state the boolean was derived from. Required here (unlike on
|
|
18418
18465
|
* 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-mqtt-broker",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.65",
|
|
4
4
|
"description": "MQTT broker registry addon for CamStack — manages external broker entries + an optional embedded aedes broker. Consumers spin up their own `mqtt.js` clients via the `mqtt-broker` cap.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|