@camstack/addon-provider-dreame 0.2.63 → 0.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/addon.js CHANGED
@@ -63449,6 +63449,24 @@ var deviceProviderCapability = {
63449
63449
  })
63450
63450
  }
63451
63451
  };
63452
+ /**
63453
+ * Device Manager capability — hub-side singleton that unifies device persistence,
63454
+ * live registry access, and all management operations into a single tRPC surface.
63455
+ *
63456
+ * Replaces:
63457
+ * - `device-persistence` capability (persistence methods absorbed here)
63458
+ * - `device-management.router.ts` (deleted in Phase 2)
63459
+ * - `device-ops.router.ts` (compat layer — deleted; device-provider ops absorbed here)
63460
+ *
63461
+ * All device provider addons (rtsp, onvif, frigate, …) are hub-local: they may
63462
+ * fork into separate processes but never run on remote cluster agents. Therefore:
63463
+ * - No nodeId routing needed — this is a pure hub singleton.
63464
+ * - The hub's DeviceRegistry is the single source of truth for all live devices.
63465
+ * - No shadow registry or cross-node aggregation required.
63466
+ *
63467
+ * Forked workers register devices back to the hub via `ctx.devices`
63468
+ * (DeviceManagerApi → ctx.api.deviceManager.registerDevice), same as today.
63469
+ */
63452
63470
  /** One child-placement directive on a container's `childLayout`. Structurally
63453
63471
  * identical to `ChildLayoutEntry` in `device-management.ts` — the cap wire
63454
63472
  * shape for the same field. The child is identified by its re-sync-stable
@@ -63547,7 +63565,12 @@ var ConfigEntrySchema = object({
63547
63565
  value: unknown(),
63548
63566
  description: string().optional()
63549
63567
  });
63550
- var LinkedDevicesModeSchema = _enum(["auto", "manual"]);
63568
+ /**
63569
+ * Only `manual` since D356: the operator picks, nothing links itself. The
63570
+ * field survives on the wire because a viewer already OTA'd parses it —
63571
+ * drop it once no shipped client reads `mode`.
63572
+ */
63573
+ var LinkedDevicesModeSchema = _enum(["manual"]);
63551
63574
  /** One resolved linked device — the compact projection consumers need. */
63552
63575
  var LinkedDeviceSchema = object({
63553
63576
  deviceId: number(),
@@ -69175,6 +69198,9 @@ var RetrainStatusSchema = _enum([
69175
69198
  *
69176
69199
  * `debug` does NOT pin; it is attention, not durability.
69177
69200
  *
69201
+ * `debugNote` is the operator's own words about WHAT should be checked on this
69202
+ * track, and it lives and dies with `debug` — see {@link MAX_TRACK_DEBUG_NOTE_LEN}.
69203
+ *
69178
69204
  * `favourited` IS a BOOLEAN pin (durability bit), not a retrain lifecycle.
69179
69205
  * A favourited track is skipped by retention the same way `staging` is, but
69180
69206
  * it does not enter `none|staging|trained` and has no staging budget.
@@ -69185,6 +69211,21 @@ var TrackFlagFields = {
69185
69211
  markForTrain: boolean().optional(),
69186
69212
  /** Operator marked this track for diagnostic attention. */
69187
69213
  debug: boolean().optional(),
69214
+ /**
69215
+ * What the operator wants CHECKED on this track, in their own words.
69216
+ *
69217
+ * The flag alone says "look at this" and nothing about what for; a debug set
69218
+ * reviewed hours later is a list of tracks with no question attached. Bound
69219
+ * to `debug` on the WRITE side — the body clears it when `debug` goes off,
69220
+ * and refuses it on a track whose debug is off — so a note can never outlive
69221
+ * the attention it belongs to.
69222
+ *
69223
+ * `''` is a real value ("marked, nothing to add"); the ABSENT key means
69224
+ * "leave whatever is stored alone", which is what lets a surface turn debug
69225
+ * on without a note (a cancelled prompt) and what lets it edit the note
69226
+ * without touching the flag.
69227
+ */
69228
+ debugNote: string().max(500).optional(),
69188
69229
  /** Operator favourited this track. Pins it against pruning. */
69189
69230
  favourited: boolean().optional()
69190
69231
  };
@@ -69211,6 +69252,12 @@ var TrackFlagsSchema = object({
69211
69252
  trackId: string(),
69212
69253
  markForTrain: boolean(),
69213
69254
  debug: boolean(),
69255
+ /** The note as it STANDS after the write — never absent here (a track with no
69256
+ * note reports `''`), for the same reason the booleans are required: a
69257
+ * surface that has just written must be able to render the note it now owns
69258
+ * without a re-fetch, and an absent key would read as "unchanged" on a
69259
+ * screen that has no previous value to keep. */
69260
+ debugNote: string(),
69214
69261
  favourited: boolean(),
69215
69262
  /** The lifecycle state the boolean was derived from. Required here (unlike on
69216
69263
  * a track row) because this shape is only ever produced by the write body,
package/dist/addon.mjs CHANGED
@@ -63449,6 +63449,24 @@ var deviceProviderCapability = {
63449
63449
  })
63450
63450
  }
63451
63451
  };
63452
+ /**
63453
+ * Device Manager capability — hub-side singleton that unifies device persistence,
63454
+ * live registry access, and all management operations into a single tRPC surface.
63455
+ *
63456
+ * Replaces:
63457
+ * - `device-persistence` capability (persistence methods absorbed here)
63458
+ * - `device-management.router.ts` (deleted in Phase 2)
63459
+ * - `device-ops.router.ts` (compat layer — deleted; device-provider ops absorbed here)
63460
+ *
63461
+ * All device provider addons (rtsp, onvif, frigate, …) are hub-local: they may
63462
+ * fork into separate processes but never run on remote cluster agents. Therefore:
63463
+ * - No nodeId routing needed — this is a pure hub singleton.
63464
+ * - The hub's DeviceRegistry is the single source of truth for all live devices.
63465
+ * - No shadow registry or cross-node aggregation required.
63466
+ *
63467
+ * Forked workers register devices back to the hub via `ctx.devices`
63468
+ * (DeviceManagerApi → ctx.api.deviceManager.registerDevice), same as today.
63469
+ */
63452
63470
  /** One child-placement directive on a container's `childLayout`. Structurally
63453
63471
  * identical to `ChildLayoutEntry` in `device-management.ts` — the cap wire
63454
63472
  * shape for the same field. The child is identified by its re-sync-stable
@@ -63547,7 +63565,12 @@ var ConfigEntrySchema = object({
63547
63565
  value: unknown(),
63548
63566
  description: string().optional()
63549
63567
  });
63550
- var LinkedDevicesModeSchema = _enum(["auto", "manual"]);
63568
+ /**
63569
+ * Only `manual` since D356: the operator picks, nothing links itself. The
63570
+ * field survives on the wire because a viewer already OTA'd parses it —
63571
+ * drop it once no shipped client reads `mode`.
63572
+ */
63573
+ var LinkedDevicesModeSchema = _enum(["manual"]);
63551
63574
  /** One resolved linked device — the compact projection consumers need. */
63552
63575
  var LinkedDeviceSchema = object({
63553
63576
  deviceId: number(),
@@ -69175,6 +69198,9 @@ var RetrainStatusSchema = _enum([
69175
69198
  *
69176
69199
  * `debug` does NOT pin; it is attention, not durability.
69177
69200
  *
69201
+ * `debugNote` is the operator's own words about WHAT should be checked on this
69202
+ * track, and it lives and dies with `debug` — see {@link MAX_TRACK_DEBUG_NOTE_LEN}.
69203
+ *
69178
69204
  * `favourited` IS a BOOLEAN pin (durability bit), not a retrain lifecycle.
69179
69205
  * A favourited track is skipped by retention the same way `staging` is, but
69180
69206
  * it does not enter `none|staging|trained` and has no staging budget.
@@ -69185,6 +69211,21 @@ var TrackFlagFields = {
69185
69211
  markForTrain: boolean().optional(),
69186
69212
  /** Operator marked this track for diagnostic attention. */
69187
69213
  debug: boolean().optional(),
69214
+ /**
69215
+ * What the operator wants CHECKED on this track, in their own words.
69216
+ *
69217
+ * The flag alone says "look at this" and nothing about what for; a debug set
69218
+ * reviewed hours later is a list of tracks with no question attached. Bound
69219
+ * to `debug` on the WRITE side — the body clears it when `debug` goes off,
69220
+ * and refuses it on a track whose debug is off — so a note can never outlive
69221
+ * the attention it belongs to.
69222
+ *
69223
+ * `''` is a real value ("marked, nothing to add"); the ABSENT key means
69224
+ * "leave whatever is stored alone", which is what lets a surface turn debug
69225
+ * on without a note (a cancelled prompt) and what lets it edit the note
69226
+ * without touching the flag.
69227
+ */
69228
+ debugNote: string().max(500).optional(),
69188
69229
  /** Operator favourited this track. Pins it against pruning. */
69189
69230
  favourited: boolean().optional()
69190
69231
  };
@@ -69211,6 +69252,12 @@ var TrackFlagsSchema = object({
69211
69252
  trackId: string(),
69212
69253
  markForTrain: boolean(),
69213
69254
  debug: boolean(),
69255
+ /** The note as it STANDS after the write — never absent here (a track with no
69256
+ * note reports `''`), for the same reason the booleans are required: a
69257
+ * surface that has just written must be able to render the note it now owns
69258
+ * without a re-fetch, and an absent key would read as "unchanged" on a
69259
+ * screen that has no previous value to keep. */
69260
+ debugNote: string(),
69214
69261
  favourited: boolean(),
69215
69262
  /** The lifecycle state the boolean was derived from. Required here (unlike on
69216
69263
  * 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-dreame",
3
- "version": "0.2.63",
3
+ "version": "0.2.65",
4
4
  "description": "Dreame robot-vacuum / lawn-mower device-provider addon for CamStack — wraps the @apocaliss92/nodedreame Dreamehome cloud client",
5
5
  "keywords": [
6
6
  "camstack",