@camstack/addon-provider-petkit 0.2.63 → 0.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/addon.js CHANGED
@@ -14046,6 +14046,24 @@ var deviceProviderCapability = {
14046
14046
  })
14047
14047
  }
14048
14048
  };
14049
+ /**
14050
+ * Device Manager capability — hub-side singleton that unifies device persistence,
14051
+ * live registry access, and all management operations into a single tRPC surface.
14052
+ *
14053
+ * Replaces:
14054
+ * - `device-persistence` capability (persistence methods absorbed here)
14055
+ * - `device-management.router.ts` (deleted in Phase 2)
14056
+ * - `device-ops.router.ts` (compat layer — deleted; device-provider ops absorbed here)
14057
+ *
14058
+ * All device provider addons (rtsp, onvif, frigate, …) are hub-local: they may
14059
+ * fork into separate processes but never run on remote cluster agents. Therefore:
14060
+ * - No nodeId routing needed — this is a pure hub singleton.
14061
+ * - The hub's DeviceRegistry is the single source of truth for all live devices.
14062
+ * - No shadow registry or cross-node aggregation required.
14063
+ *
14064
+ * Forked workers register devices back to the hub via `ctx.devices`
14065
+ * (DeviceManagerApi → ctx.api.deviceManager.registerDevice), same as today.
14066
+ */
14049
14067
  /** One child-placement directive on a container's `childLayout`. Structurally
14050
14068
  * identical to `ChildLayoutEntry` in `device-management.ts` — the cap wire
14051
14069
  * shape for the same field. The child is identified by its re-sync-stable
@@ -19772,6 +19790,9 @@ var RetrainStatusSchema = _enum([
19772
19790
  *
19773
19791
  * `debug` does NOT pin; it is attention, not durability.
19774
19792
  *
19793
+ * `debugNote` is the operator's own words about WHAT should be checked on this
19794
+ * track, and it lives and dies with `debug` — see {@link MAX_TRACK_DEBUG_NOTE_LEN}.
19795
+ *
19775
19796
  * `favourited` IS a BOOLEAN pin (durability bit), not a retrain lifecycle.
19776
19797
  * A favourited track is skipped by retention the same way `staging` is, but
19777
19798
  * it does not enter `none|staging|trained` and has no staging budget.
@@ -19782,6 +19803,21 @@ var TrackFlagFields = {
19782
19803
  markForTrain: boolean().optional(),
19783
19804
  /** Operator marked this track for diagnostic attention. */
19784
19805
  debug: boolean().optional(),
19806
+ /**
19807
+ * What the operator wants CHECKED on this track, in their own words.
19808
+ *
19809
+ * The flag alone says "look at this" and nothing about what for; a debug set
19810
+ * reviewed hours later is a list of tracks with no question attached. Bound
19811
+ * to `debug` on the WRITE side — the body clears it when `debug` goes off,
19812
+ * and refuses it on a track whose debug is off — so a note can never outlive
19813
+ * the attention it belongs to.
19814
+ *
19815
+ * `''` is a real value ("marked, nothing to add"); the ABSENT key means
19816
+ * "leave whatever is stored alone", which is what lets a surface turn debug
19817
+ * on without a note (a cancelled prompt) and what lets it edit the note
19818
+ * without touching the flag.
19819
+ */
19820
+ debugNote: string().max(500).optional(),
19785
19821
  /** Operator favourited this track. Pins it against pruning. */
19786
19822
  favourited: boolean().optional()
19787
19823
  };
@@ -19808,6 +19844,12 @@ var TrackFlagsSchema = object({
19808
19844
  trackId: string(),
19809
19845
  markForTrain: boolean(),
19810
19846
  debug: boolean(),
19847
+ /** The note as it STANDS after the write — never absent here (a track with no
19848
+ * note reports `''`), for the same reason the booleans are required: a
19849
+ * surface that has just written must be able to render the note it now owns
19850
+ * without a re-fetch, and an absent key would read as "unchanged" on a
19851
+ * screen that has no previous value to keep. */
19852
+ debugNote: string(),
19811
19853
  favourited: boolean(),
19812
19854
  /** The lifecycle state the boolean was derived from. Required here (unlike on
19813
19855
  * a track row) because this shape is only ever produced by the write body,
package/dist/addon.mjs CHANGED
@@ -14045,6 +14045,24 @@ var deviceProviderCapability = {
14045
14045
  })
14046
14046
  }
14047
14047
  };
14048
+ /**
14049
+ * Device Manager capability — hub-side singleton that unifies device persistence,
14050
+ * live registry access, and all management operations into a single tRPC surface.
14051
+ *
14052
+ * Replaces:
14053
+ * - `device-persistence` capability (persistence methods absorbed here)
14054
+ * - `device-management.router.ts` (deleted in Phase 2)
14055
+ * - `device-ops.router.ts` (compat layer — deleted; device-provider ops absorbed here)
14056
+ *
14057
+ * All device provider addons (rtsp, onvif, frigate, …) are hub-local: they may
14058
+ * fork into separate processes but never run on remote cluster agents. Therefore:
14059
+ * - No nodeId routing needed — this is a pure hub singleton.
14060
+ * - The hub's DeviceRegistry is the single source of truth for all live devices.
14061
+ * - No shadow registry or cross-node aggregation required.
14062
+ *
14063
+ * Forked workers register devices back to the hub via `ctx.devices`
14064
+ * (DeviceManagerApi → ctx.api.deviceManager.registerDevice), same as today.
14065
+ */
14048
14066
  /** One child-placement directive on a container's `childLayout`. Structurally
14049
14067
  * identical to `ChildLayoutEntry` in `device-management.ts` — the cap wire
14050
14068
  * shape for the same field. The child is identified by its re-sync-stable
@@ -19771,6 +19789,9 @@ var RetrainStatusSchema = _enum([
19771
19789
  *
19772
19790
  * `debug` does NOT pin; it is attention, not durability.
19773
19791
  *
19792
+ * `debugNote` is the operator's own words about WHAT should be checked on this
19793
+ * track, and it lives and dies with `debug` — see {@link MAX_TRACK_DEBUG_NOTE_LEN}.
19794
+ *
19774
19795
  * `favourited` IS a BOOLEAN pin (durability bit), not a retrain lifecycle.
19775
19796
  * A favourited track is skipped by retention the same way `staging` is, but
19776
19797
  * it does not enter `none|staging|trained` and has no staging budget.
@@ -19781,6 +19802,21 @@ var TrackFlagFields = {
19781
19802
  markForTrain: boolean().optional(),
19782
19803
  /** Operator marked this track for diagnostic attention. */
19783
19804
  debug: boolean().optional(),
19805
+ /**
19806
+ * What the operator wants CHECKED on this track, in their own words.
19807
+ *
19808
+ * The flag alone says "look at this" and nothing about what for; a debug set
19809
+ * reviewed hours later is a list of tracks with no question attached. Bound
19810
+ * to `debug` on the WRITE side — the body clears it when `debug` goes off,
19811
+ * and refuses it on a track whose debug is off — so a note can never outlive
19812
+ * the attention it belongs to.
19813
+ *
19814
+ * `''` is a real value ("marked, nothing to add"); the ABSENT key means
19815
+ * "leave whatever is stored alone", which is what lets a surface turn debug
19816
+ * on without a note (a cancelled prompt) and what lets it edit the note
19817
+ * without touching the flag.
19818
+ */
19819
+ debugNote: string().max(500).optional(),
19784
19820
  /** Operator favourited this track. Pins it against pruning. */
19785
19821
  favourited: boolean().optional()
19786
19822
  };
@@ -19807,6 +19843,12 @@ var TrackFlagsSchema = object({
19807
19843
  trackId: string(),
19808
19844
  markForTrain: boolean(),
19809
19845
  debug: boolean(),
19846
+ /** The note as it STANDS after the write — never absent here (a track with no
19847
+ * note reports `''`), for the same reason the booleans are required: a
19848
+ * surface that has just written must be able to render the note it now owns
19849
+ * without a re-fetch, and an absent key would read as "unchanged" on a
19850
+ * screen that has no previous value to keep. */
19851
+ debugNote: string(),
19810
19852
  favourited: boolean(),
19811
19853
  /** The lifecycle state the boolean was derived from. Required here (unlike on
19812
19854
  * 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-petkit",
3
- "version": "0.2.63",
3
+ "version": "0.2.64",
4
4
  "description": "PetKit smart-feeder device-provider addon for CamStack — wraps the @apocaliss92/nodepetkit PetKit cloud client",
5
5
  "keywords": [
6
6
  "camstack",