@camstack/addon-mqtt-broker 1.2.63 → 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.
@@ -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
@@ -18382,6 +18400,9 @@ var RetrainStatusSchema = _enum([
18382
18400
  *
18383
18401
  * `debug` does NOT pin; it is attention, not durability.
18384
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
+ *
18385
18406
  * `favourited` IS a BOOLEAN pin (durability bit), not a retrain lifecycle.
18386
18407
  * A favourited track is skipped by retention the same way `staging` is, but
18387
18408
  * it does not enter `none|staging|trained` and has no staging budget.
@@ -18392,6 +18413,21 @@ var TrackFlagFields = {
18392
18413
  markForTrain: boolean().optional(),
18393
18414
  /** Operator marked this track for diagnostic attention. */
18394
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(),
18395
18431
  /** Operator favourited this track. Pins it against pruning. */
18396
18432
  favourited: boolean().optional()
18397
18433
  };
@@ -18418,6 +18454,12 @@ var TrackFlagsSchema = object({
18418
18454
  trackId: string(),
18419
18455
  markForTrain: boolean(),
18420
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(),
18421
18463
  favourited: boolean(),
18422
18464
  /** The lifecycle state the boolean was derived from. Required here (unlike on
18423
18465
  * 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
@@ -18377,6 +18395,9 @@ var RetrainStatusSchema = _enum([
18377
18395
  *
18378
18396
  * `debug` does NOT pin; it is attention, not durability.
18379
18397
  *
18398
+ * `debugNote` is the operator's own words about WHAT should be checked on this
18399
+ * track, and it lives and dies with `debug` — see {@link MAX_TRACK_DEBUG_NOTE_LEN}.
18400
+ *
18380
18401
  * `favourited` IS a BOOLEAN pin (durability bit), not a retrain lifecycle.
18381
18402
  * A favourited track is skipped by retention the same way `staging` is, but
18382
18403
  * it does not enter `none|staging|trained` and has no staging budget.
@@ -18387,6 +18408,21 @@ var TrackFlagFields = {
18387
18408
  markForTrain: boolean().optional(),
18388
18409
  /** Operator marked this track for diagnostic attention. */
18389
18410
  debug: boolean().optional(),
18411
+ /**
18412
+ * What the operator wants CHECKED on this track, in their own words.
18413
+ *
18414
+ * The flag alone says "look at this" and nothing about what for; a debug set
18415
+ * reviewed hours later is a list of tracks with no question attached. Bound
18416
+ * to `debug` on the WRITE side — the body clears it when `debug` goes off,
18417
+ * and refuses it on a track whose debug is off — so a note can never outlive
18418
+ * the attention it belongs to.
18419
+ *
18420
+ * `''` is a real value ("marked, nothing to add"); the ABSENT key means
18421
+ * "leave whatever is stored alone", which is what lets a surface turn debug
18422
+ * on without a note (a cancelled prompt) and what lets it edit the note
18423
+ * without touching the flag.
18424
+ */
18425
+ debugNote: string().max(500).optional(),
18390
18426
  /** Operator favourited this track. Pins it against pruning. */
18391
18427
  favourited: boolean().optional()
18392
18428
  };
@@ -18413,6 +18449,12 @@ var TrackFlagsSchema = object({
18413
18449
  trackId: string(),
18414
18450
  markForTrain: boolean(),
18415
18451
  debug: boolean(),
18452
+ /** The note as it STANDS after the write — never absent here (a track with no
18453
+ * note reports `''`), for the same reason the booleans are required: a
18454
+ * surface that has just written must be able to render the note it now owns
18455
+ * without a re-fetch, and an absent key would read as "unchanged" on a
18456
+ * screen that has no previous value to keep. */
18457
+ debugNote: string(),
18416
18458
  favourited: boolean(),
18417
18459
  /** The lifecycle state the boolean was derived from. Required here (unlike on
18418
18460
  * 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.63",
3
+ "version": "1.2.64",
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",