@camstack/addon-decoder-nodeav 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/index.js CHANGED
@@ -12767,6 +12767,24 @@ method(_void(), _void(), { kind: "mutation" }), method(_void(), _void(), { kind:
12767
12767
  kind: "mutation",
12768
12768
  auth: "admin"
12769
12769
  });
12770
+ /**
12771
+ * Device Manager capability — hub-side singleton that unifies device persistence,
12772
+ * live registry access, and all management operations into a single tRPC surface.
12773
+ *
12774
+ * Replaces:
12775
+ * - `device-persistence` capability (persistence methods absorbed here)
12776
+ * - `device-management.router.ts` (deleted in Phase 2)
12777
+ * - `device-ops.router.ts` (compat layer — deleted; device-provider ops absorbed here)
12778
+ *
12779
+ * All device provider addons (rtsp, onvif, frigate, …) are hub-local: they may
12780
+ * fork into separate processes but never run on remote cluster agents. Therefore:
12781
+ * - No nodeId routing needed — this is a pure hub singleton.
12782
+ * - The hub's DeviceRegistry is the single source of truth for all live devices.
12783
+ * - No shadow registry or cross-node aggregation required.
12784
+ *
12785
+ * Forked workers register devices back to the hub via `ctx.devices`
12786
+ * (DeviceManagerApi → ctx.api.deviceManager.registerDevice), same as today.
12787
+ */
12770
12788
  /** One child-placement directive on a container's `childLayout`. Structurally
12771
12789
  * identical to `ChildLayoutEntry` in `device-management.ts` — the cap wire
12772
12790
  * shape for the same field. The child is identified by its re-sync-stable
@@ -12865,7 +12883,12 @@ var ConfigEntrySchema = object({
12865
12883
  value: unknown(),
12866
12884
  description: string().optional()
12867
12885
  });
12868
- var LinkedDevicesModeSchema = _enum(["auto", "manual"]);
12886
+ /**
12887
+ * Only `manual` since D356: the operator picks, nothing links itself. The
12888
+ * field survives on the wire because a viewer already OTA'd parses it —
12889
+ * drop it once no shipped client reads `mode`.
12890
+ */
12891
+ var LinkedDevicesModeSchema = _enum(["manual"]);
12869
12892
  /** One resolved linked device — the compact projection consumers need. */
12870
12893
  var LinkedDeviceSchema = object({
12871
12894
  deviceId: number(),
@@ -18415,6 +18438,9 @@ var RetrainStatusSchema = _enum([
18415
18438
  *
18416
18439
  * `debug` does NOT pin; it is attention, not durability.
18417
18440
  *
18441
+ * `debugNote` is the operator's own words about WHAT should be checked on this
18442
+ * track, and it lives and dies with `debug` — see {@link MAX_TRACK_DEBUG_NOTE_LEN}.
18443
+ *
18418
18444
  * `favourited` IS a BOOLEAN pin (durability bit), not a retrain lifecycle.
18419
18445
  * A favourited track is skipped by retention the same way `staging` is, but
18420
18446
  * it does not enter `none|staging|trained` and has no staging budget.
@@ -18425,6 +18451,21 @@ var TrackFlagFields = {
18425
18451
  markForTrain: boolean().optional(),
18426
18452
  /** Operator marked this track for diagnostic attention. */
18427
18453
  debug: boolean().optional(),
18454
+ /**
18455
+ * What the operator wants CHECKED on this track, in their own words.
18456
+ *
18457
+ * The flag alone says "look at this" and nothing about what for; a debug set
18458
+ * reviewed hours later is a list of tracks with no question attached. Bound
18459
+ * to `debug` on the WRITE side — the body clears it when `debug` goes off,
18460
+ * and refuses it on a track whose debug is off — so a note can never outlive
18461
+ * the attention it belongs to.
18462
+ *
18463
+ * `''` is a real value ("marked, nothing to add"); the ABSENT key means
18464
+ * "leave whatever is stored alone", which is what lets a surface turn debug
18465
+ * on without a note (a cancelled prompt) and what lets it edit the note
18466
+ * without touching the flag.
18467
+ */
18468
+ debugNote: string().max(500).optional(),
18428
18469
  /** Operator favourited this track. Pins it against pruning. */
18429
18470
  favourited: boolean().optional()
18430
18471
  };
@@ -18451,6 +18492,12 @@ var TrackFlagsSchema = object({
18451
18492
  trackId: string(),
18452
18493
  markForTrain: boolean(),
18453
18494
  debug: boolean(),
18495
+ /** The note as it STANDS after the write — never absent here (a track with no
18496
+ * note reports `''`), for the same reason the booleans are required: a
18497
+ * surface that has just written must be able to render the note it now owns
18498
+ * without a re-fetch, and an absent key would read as "unchanged" on a
18499
+ * screen that has no previous value to keep. */
18500
+ debugNote: string(),
18454
18501
  favourited: boolean(),
18455
18502
  /** The lifecycle state the boolean was derived from. Required here (unlike on
18456
18503
  * a track row) because this shape is only ever produced by the write body,
package/dist/index.mjs CHANGED
@@ -12763,6 +12763,24 @@ method(_void(), _void(), { kind: "mutation" }), method(_void(), _void(), { kind:
12763
12763
  kind: "mutation",
12764
12764
  auth: "admin"
12765
12765
  });
12766
+ /**
12767
+ * Device Manager capability — hub-side singleton that unifies device persistence,
12768
+ * live registry access, and all management operations into a single tRPC surface.
12769
+ *
12770
+ * Replaces:
12771
+ * - `device-persistence` capability (persistence methods absorbed here)
12772
+ * - `device-management.router.ts` (deleted in Phase 2)
12773
+ * - `device-ops.router.ts` (compat layer — deleted; device-provider ops absorbed here)
12774
+ *
12775
+ * All device provider addons (rtsp, onvif, frigate, …) are hub-local: they may
12776
+ * fork into separate processes but never run on remote cluster agents. Therefore:
12777
+ * - No nodeId routing needed — this is a pure hub singleton.
12778
+ * - The hub's DeviceRegistry is the single source of truth for all live devices.
12779
+ * - No shadow registry or cross-node aggregation required.
12780
+ *
12781
+ * Forked workers register devices back to the hub via `ctx.devices`
12782
+ * (DeviceManagerApi → ctx.api.deviceManager.registerDevice), same as today.
12783
+ */
12766
12784
  /** One child-placement directive on a container's `childLayout`. Structurally
12767
12785
  * identical to `ChildLayoutEntry` in `device-management.ts` — the cap wire
12768
12786
  * shape for the same field. The child is identified by its re-sync-stable
@@ -12861,7 +12879,12 @@ var ConfigEntrySchema = object({
12861
12879
  value: unknown(),
12862
12880
  description: string().optional()
12863
12881
  });
12864
- var LinkedDevicesModeSchema = _enum(["auto", "manual"]);
12882
+ /**
12883
+ * Only `manual` since D356: the operator picks, nothing links itself. The
12884
+ * field survives on the wire because a viewer already OTA'd parses it —
12885
+ * drop it once no shipped client reads `mode`.
12886
+ */
12887
+ var LinkedDevicesModeSchema = _enum(["manual"]);
12865
12888
  /** One resolved linked device — the compact projection consumers need. */
12866
12889
  var LinkedDeviceSchema = object({
12867
12890
  deviceId: number(),
@@ -18411,6 +18434,9 @@ var RetrainStatusSchema = _enum([
18411
18434
  *
18412
18435
  * `debug` does NOT pin; it is attention, not durability.
18413
18436
  *
18437
+ * `debugNote` is the operator's own words about WHAT should be checked on this
18438
+ * track, and it lives and dies with `debug` — see {@link MAX_TRACK_DEBUG_NOTE_LEN}.
18439
+ *
18414
18440
  * `favourited` IS a BOOLEAN pin (durability bit), not a retrain lifecycle.
18415
18441
  * A favourited track is skipped by retention the same way `staging` is, but
18416
18442
  * it does not enter `none|staging|trained` and has no staging budget.
@@ -18421,6 +18447,21 @@ var TrackFlagFields = {
18421
18447
  markForTrain: boolean().optional(),
18422
18448
  /** Operator marked this track for diagnostic attention. */
18423
18449
  debug: boolean().optional(),
18450
+ /**
18451
+ * What the operator wants CHECKED on this track, in their own words.
18452
+ *
18453
+ * The flag alone says "look at this" and nothing about what for; a debug set
18454
+ * reviewed hours later is a list of tracks with no question attached. Bound
18455
+ * to `debug` on the WRITE side — the body clears it when `debug` goes off,
18456
+ * and refuses it on a track whose debug is off — so a note can never outlive
18457
+ * the attention it belongs to.
18458
+ *
18459
+ * `''` is a real value ("marked, nothing to add"); the ABSENT key means
18460
+ * "leave whatever is stored alone", which is what lets a surface turn debug
18461
+ * on without a note (a cancelled prompt) and what lets it edit the note
18462
+ * without touching the flag.
18463
+ */
18464
+ debugNote: string().max(500).optional(),
18424
18465
  /** Operator favourited this track. Pins it against pruning. */
18425
18466
  favourited: boolean().optional()
18426
18467
  };
@@ -18447,6 +18488,12 @@ var TrackFlagsSchema = object({
18447
18488
  trackId: string(),
18448
18489
  markForTrain: boolean(),
18449
18490
  debug: boolean(),
18491
+ /** The note as it STANDS after the write — never absent here (a track with no
18492
+ * note reports `''`), for the same reason the booleans are required: a
18493
+ * surface that has just written must be able to render the note it now owns
18494
+ * without a re-fetch, and an absent key would read as "unchanged" on a
18495
+ * screen that has no previous value to keep. */
18496
+ debugNote: string(),
18450
18497
  favourited: boolean(),
18451
18498
  /** The lifecycle state the boolean was derived from. Required here (unlike on
18452
18499
  * 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-decoder-nodeav",
3
- "version": "1.2.63",
3
+ "version": "1.2.65",
4
4
  "description": "Standalone in-process node-av decoder addon for CamStack",
5
5
  "keywords": [
6
6
  "camstack",