@camstack/addon-provider-amcrest 0.2.65 → 0.2.66

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/addon.js CHANGED
@@ -12922,6 +12922,24 @@ var deviceProviderCapability = {
12922
12922
  })
12923
12923
  }
12924
12924
  };
12925
+ /**
12926
+ * Device Manager capability — hub-side singleton that unifies device persistence,
12927
+ * live registry access, and all management operations into a single tRPC surface.
12928
+ *
12929
+ * Replaces:
12930
+ * - `device-persistence` capability (persistence methods absorbed here)
12931
+ * - `device-management.router.ts` (deleted in Phase 2)
12932
+ * - `device-ops.router.ts` (compat layer — deleted; device-provider ops absorbed here)
12933
+ *
12934
+ * All device provider addons (rtsp, onvif, frigate, …) are hub-local: they may
12935
+ * fork into separate processes but never run on remote cluster agents. Therefore:
12936
+ * - No nodeId routing needed — this is a pure hub singleton.
12937
+ * - The hub's DeviceRegistry is the single source of truth for all live devices.
12938
+ * - No shadow registry or cross-node aggregation required.
12939
+ *
12940
+ * Forked workers register devices back to the hub via `ctx.devices`
12941
+ * (DeviceManagerApi → ctx.api.deviceManager.registerDevice), same as today.
12942
+ */
12925
12943
  /** One child-placement directive on a container's `childLayout`. Structurally
12926
12944
  * identical to `ChildLayoutEntry` in `device-management.ts` — the cap wire
12927
12945
  * shape for the same field. The child is identified by its re-sync-stable
@@ -18648,6 +18666,9 @@ var RetrainStatusSchema = _enum([
18648
18666
  *
18649
18667
  * `debug` does NOT pin; it is attention, not durability.
18650
18668
  *
18669
+ * `debugNote` is the operator's own words about WHAT should be checked on this
18670
+ * track, and it lives and dies with `debug` — see {@link MAX_TRACK_DEBUG_NOTE_LEN}.
18671
+ *
18651
18672
  * `favourited` IS a BOOLEAN pin (durability bit), not a retrain lifecycle.
18652
18673
  * A favourited track is skipped by retention the same way `staging` is, but
18653
18674
  * it does not enter `none|staging|trained` and has no staging budget.
@@ -18658,6 +18679,21 @@ var TrackFlagFields = {
18658
18679
  markForTrain: boolean().optional(),
18659
18680
  /** Operator marked this track for diagnostic attention. */
18660
18681
  debug: boolean().optional(),
18682
+ /**
18683
+ * What the operator wants CHECKED on this track, in their own words.
18684
+ *
18685
+ * The flag alone says "look at this" and nothing about what for; a debug set
18686
+ * reviewed hours later is a list of tracks with no question attached. Bound
18687
+ * to `debug` on the WRITE side — the body clears it when `debug` goes off,
18688
+ * and refuses it on a track whose debug is off — so a note can never outlive
18689
+ * the attention it belongs to.
18690
+ *
18691
+ * `''` is a real value ("marked, nothing to add"); the ABSENT key means
18692
+ * "leave whatever is stored alone", which is what lets a surface turn debug
18693
+ * on without a note (a cancelled prompt) and what lets it edit the note
18694
+ * without touching the flag.
18695
+ */
18696
+ debugNote: string().max(500).optional(),
18661
18697
  /** Operator favourited this track. Pins it against pruning. */
18662
18698
  favourited: boolean().optional()
18663
18699
  };
@@ -18684,6 +18720,12 @@ var TrackFlagsSchema = object({
18684
18720
  trackId: string(),
18685
18721
  markForTrain: boolean(),
18686
18722
  debug: boolean(),
18723
+ /** The note as it STANDS after the write — never absent here (a track with no
18724
+ * note reports `''`), for the same reason the booleans are required: a
18725
+ * surface that has just written must be able to render the note it now owns
18726
+ * without a re-fetch, and an absent key would read as "unchanged" on a
18727
+ * screen that has no previous value to keep. */
18728
+ debugNote: string(),
18687
18729
  favourited: boolean(),
18688
18730
  /** The lifecycle state the boolean was derived from. Required here (unlike on
18689
18731
  * a track row) because this shape is only ever produced by the write body,
package/dist/addon.mjs CHANGED
@@ -12923,6 +12923,24 @@ var deviceProviderCapability = {
12923
12923
  })
12924
12924
  }
12925
12925
  };
12926
+ /**
12927
+ * Device Manager capability — hub-side singleton that unifies device persistence,
12928
+ * live registry access, and all management operations into a single tRPC surface.
12929
+ *
12930
+ * Replaces:
12931
+ * - `device-persistence` capability (persistence methods absorbed here)
12932
+ * - `device-management.router.ts` (deleted in Phase 2)
12933
+ * - `device-ops.router.ts` (compat layer — deleted; device-provider ops absorbed here)
12934
+ *
12935
+ * All device provider addons (rtsp, onvif, frigate, …) are hub-local: they may
12936
+ * fork into separate processes but never run on remote cluster agents. Therefore:
12937
+ * - No nodeId routing needed — this is a pure hub singleton.
12938
+ * - The hub's DeviceRegistry is the single source of truth for all live devices.
12939
+ * - No shadow registry or cross-node aggregation required.
12940
+ *
12941
+ * Forked workers register devices back to the hub via `ctx.devices`
12942
+ * (DeviceManagerApi → ctx.api.deviceManager.registerDevice), same as today.
12943
+ */
12926
12944
  /** One child-placement directive on a container's `childLayout`. Structurally
12927
12945
  * identical to `ChildLayoutEntry` in `device-management.ts` — the cap wire
12928
12946
  * shape for the same field. The child is identified by its re-sync-stable
@@ -18649,6 +18667,9 @@ var RetrainStatusSchema = _enum([
18649
18667
  *
18650
18668
  * `debug` does NOT pin; it is attention, not durability.
18651
18669
  *
18670
+ * `debugNote` is the operator's own words about WHAT should be checked on this
18671
+ * track, and it lives and dies with `debug` — see {@link MAX_TRACK_DEBUG_NOTE_LEN}.
18672
+ *
18652
18673
  * `favourited` IS a BOOLEAN pin (durability bit), not a retrain lifecycle.
18653
18674
  * A favourited track is skipped by retention the same way `staging` is, but
18654
18675
  * it does not enter `none|staging|trained` and has no staging budget.
@@ -18659,6 +18680,21 @@ var TrackFlagFields = {
18659
18680
  markForTrain: boolean().optional(),
18660
18681
  /** Operator marked this track for diagnostic attention. */
18661
18682
  debug: boolean().optional(),
18683
+ /**
18684
+ * What the operator wants CHECKED on this track, in their own words.
18685
+ *
18686
+ * The flag alone says "look at this" and nothing about what for; a debug set
18687
+ * reviewed hours later is a list of tracks with no question attached. Bound
18688
+ * to `debug` on the WRITE side — the body clears it when `debug` goes off,
18689
+ * and refuses it on a track whose debug is off — so a note can never outlive
18690
+ * the attention it belongs to.
18691
+ *
18692
+ * `''` is a real value ("marked, nothing to add"); the ABSENT key means
18693
+ * "leave whatever is stored alone", which is what lets a surface turn debug
18694
+ * on without a note (a cancelled prompt) and what lets it edit the note
18695
+ * without touching the flag.
18696
+ */
18697
+ debugNote: string().max(500).optional(),
18662
18698
  /** Operator favourited this track. Pins it against pruning. */
18663
18699
  favourited: boolean().optional()
18664
18700
  };
@@ -18685,6 +18721,12 @@ var TrackFlagsSchema = object({
18685
18721
  trackId: string(),
18686
18722
  markForTrain: boolean(),
18687
18723
  debug: boolean(),
18724
+ /** The note as it STANDS after the write — never absent here (a track with no
18725
+ * note reports `''`), for the same reason the booleans are required: a
18726
+ * surface that has just written must be able to render the note it now owns
18727
+ * without a re-fetch, and an absent key would read as "unchanged" on a
18728
+ * screen that has no previous value to keep. */
18729
+ debugNote: string(),
18688
18730
  favourited: boolean(),
18689
18731
  /** The lifecycle state the boolean was derived from. Required here (unlike on
18690
18732
  * 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-provider-amcrest",
3
- "version": "0.2.65",
3
+ "version": "0.2.66",
4
4
  "description": "Amcrest/Dahua camera device provider addon for CamStack — Dahua CGI over HTTP(S) with digest auth (snapshot, RTSP catalog, PTZ, image/day-night config)",
5
5
  "keywords": [
6
6
  "camstack",