@camstack/addon-provider-dreo 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 +48 -1
- package/dist/addon.mjs +48 -1
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -12980,6 +12980,24 @@ var deviceProviderCapability = {
|
|
|
12980
12980
|
})
|
|
12981
12981
|
}
|
|
12982
12982
|
};
|
|
12983
|
+
/**
|
|
12984
|
+
* Device Manager capability — hub-side singleton that unifies device persistence,
|
|
12985
|
+
* live registry access, and all management operations into a single tRPC surface.
|
|
12986
|
+
*
|
|
12987
|
+
* Replaces:
|
|
12988
|
+
* - `device-persistence` capability (persistence methods absorbed here)
|
|
12989
|
+
* - `device-management.router.ts` (deleted in Phase 2)
|
|
12990
|
+
* - `device-ops.router.ts` (compat layer — deleted; device-provider ops absorbed here)
|
|
12991
|
+
*
|
|
12992
|
+
* All device provider addons (rtsp, onvif, frigate, …) are hub-local: they may
|
|
12993
|
+
* fork into separate processes but never run on remote cluster agents. Therefore:
|
|
12994
|
+
* - No nodeId routing needed — this is a pure hub singleton.
|
|
12995
|
+
* - The hub's DeviceRegistry is the single source of truth for all live devices.
|
|
12996
|
+
* - No shadow registry or cross-node aggregation required.
|
|
12997
|
+
*
|
|
12998
|
+
* Forked workers register devices back to the hub via `ctx.devices`
|
|
12999
|
+
* (DeviceManagerApi → ctx.api.deviceManager.registerDevice), same as today.
|
|
13000
|
+
*/
|
|
12983
13001
|
/** One child-placement directive on a container's `childLayout`. Structurally
|
|
12984
13002
|
* identical to `ChildLayoutEntry` in `device-management.ts` — the cap wire
|
|
12985
13003
|
* shape for the same field. The child is identified by its re-sync-stable
|
|
@@ -13078,7 +13096,12 @@ var ConfigEntrySchema = object({
|
|
|
13078
13096
|
value: unknown(),
|
|
13079
13097
|
description: string().optional()
|
|
13080
13098
|
});
|
|
13081
|
-
|
|
13099
|
+
/**
|
|
13100
|
+
* Only `manual` since D356: the operator picks, nothing links itself. The
|
|
13101
|
+
* field survives on the wire because a viewer already OTA'd parses it —
|
|
13102
|
+
* drop it once no shipped client reads `mode`.
|
|
13103
|
+
*/
|
|
13104
|
+
var LinkedDevicesModeSchema = _enum(["manual"]);
|
|
13082
13105
|
/** One resolved linked device — the compact projection consumers need. */
|
|
13083
13106
|
var LinkedDeviceSchema = object({
|
|
13084
13107
|
deviceId: number(),
|
|
@@ -18706,6 +18729,9 @@ var RetrainStatusSchema = _enum([
|
|
|
18706
18729
|
*
|
|
18707
18730
|
* `debug` does NOT pin; it is attention, not durability.
|
|
18708
18731
|
*
|
|
18732
|
+
* `debugNote` is the operator's own words about WHAT should be checked on this
|
|
18733
|
+
* track, and it lives and dies with `debug` — see {@link MAX_TRACK_DEBUG_NOTE_LEN}.
|
|
18734
|
+
*
|
|
18709
18735
|
* `favourited` IS a BOOLEAN pin (durability bit), not a retrain lifecycle.
|
|
18710
18736
|
* A favourited track is skipped by retention the same way `staging` is, but
|
|
18711
18737
|
* it does not enter `none|staging|trained` and has no staging budget.
|
|
@@ -18716,6 +18742,21 @@ var TrackFlagFields = {
|
|
|
18716
18742
|
markForTrain: boolean().optional(),
|
|
18717
18743
|
/** Operator marked this track for diagnostic attention. */
|
|
18718
18744
|
debug: boolean().optional(),
|
|
18745
|
+
/**
|
|
18746
|
+
* What the operator wants CHECKED on this track, in their own words.
|
|
18747
|
+
*
|
|
18748
|
+
* The flag alone says "look at this" and nothing about what for; a debug set
|
|
18749
|
+
* reviewed hours later is a list of tracks with no question attached. Bound
|
|
18750
|
+
* to `debug` on the WRITE side — the body clears it when `debug` goes off,
|
|
18751
|
+
* and refuses it on a track whose debug is off — so a note can never outlive
|
|
18752
|
+
* the attention it belongs to.
|
|
18753
|
+
*
|
|
18754
|
+
* `''` is a real value ("marked, nothing to add"); the ABSENT key means
|
|
18755
|
+
* "leave whatever is stored alone", which is what lets a surface turn debug
|
|
18756
|
+
* on without a note (a cancelled prompt) and what lets it edit the note
|
|
18757
|
+
* without touching the flag.
|
|
18758
|
+
*/
|
|
18759
|
+
debugNote: string().max(500).optional(),
|
|
18719
18760
|
/** Operator favourited this track. Pins it against pruning. */
|
|
18720
18761
|
favourited: boolean().optional()
|
|
18721
18762
|
};
|
|
@@ -18742,6 +18783,12 @@ var TrackFlagsSchema = object({
|
|
|
18742
18783
|
trackId: string(),
|
|
18743
18784
|
markForTrain: boolean(),
|
|
18744
18785
|
debug: boolean(),
|
|
18786
|
+
/** The note as it STANDS after the write — never absent here (a track with no
|
|
18787
|
+
* note reports `''`), for the same reason the booleans are required: a
|
|
18788
|
+
* surface that has just written must be able to render the note it now owns
|
|
18789
|
+
* without a re-fetch, and an absent key would read as "unchanged" on a
|
|
18790
|
+
* screen that has no previous value to keep. */
|
|
18791
|
+
debugNote: string(),
|
|
18745
18792
|
favourited: boolean(),
|
|
18746
18793
|
/** The lifecycle state the boolean was derived from. Required here (unlike on
|
|
18747
18794
|
* a track row) because this shape is only ever produced by the write body,
|
package/dist/addon.mjs
CHANGED
|
@@ -12981,6 +12981,24 @@ var deviceProviderCapability = {
|
|
|
12981
12981
|
})
|
|
12982
12982
|
}
|
|
12983
12983
|
};
|
|
12984
|
+
/**
|
|
12985
|
+
* Device Manager capability — hub-side singleton that unifies device persistence,
|
|
12986
|
+
* live registry access, and all management operations into a single tRPC surface.
|
|
12987
|
+
*
|
|
12988
|
+
* Replaces:
|
|
12989
|
+
* - `device-persistence` capability (persistence methods absorbed here)
|
|
12990
|
+
* - `device-management.router.ts` (deleted in Phase 2)
|
|
12991
|
+
* - `device-ops.router.ts` (compat layer — deleted; device-provider ops absorbed here)
|
|
12992
|
+
*
|
|
12993
|
+
* All device provider addons (rtsp, onvif, frigate, …) are hub-local: they may
|
|
12994
|
+
* fork into separate processes but never run on remote cluster agents. Therefore:
|
|
12995
|
+
* - No nodeId routing needed — this is a pure hub singleton.
|
|
12996
|
+
* - The hub's DeviceRegistry is the single source of truth for all live devices.
|
|
12997
|
+
* - No shadow registry or cross-node aggregation required.
|
|
12998
|
+
*
|
|
12999
|
+
* Forked workers register devices back to the hub via `ctx.devices`
|
|
13000
|
+
* (DeviceManagerApi → ctx.api.deviceManager.registerDevice), same as today.
|
|
13001
|
+
*/
|
|
12984
13002
|
/** One child-placement directive on a container's `childLayout`. Structurally
|
|
12985
13003
|
* identical to `ChildLayoutEntry` in `device-management.ts` — the cap wire
|
|
12986
13004
|
* shape for the same field. The child is identified by its re-sync-stable
|
|
@@ -13079,7 +13097,12 @@ var ConfigEntrySchema = object({
|
|
|
13079
13097
|
value: unknown(),
|
|
13080
13098
|
description: string().optional()
|
|
13081
13099
|
});
|
|
13082
|
-
|
|
13100
|
+
/**
|
|
13101
|
+
* Only `manual` since D356: the operator picks, nothing links itself. The
|
|
13102
|
+
* field survives on the wire because a viewer already OTA'd parses it —
|
|
13103
|
+
* drop it once no shipped client reads `mode`.
|
|
13104
|
+
*/
|
|
13105
|
+
var LinkedDevicesModeSchema = _enum(["manual"]);
|
|
13083
13106
|
/** One resolved linked device — the compact projection consumers need. */
|
|
13084
13107
|
var LinkedDeviceSchema = object({
|
|
13085
13108
|
deviceId: number(),
|
|
@@ -18707,6 +18730,9 @@ var RetrainStatusSchema = _enum([
|
|
|
18707
18730
|
*
|
|
18708
18731
|
* `debug` does NOT pin; it is attention, not durability.
|
|
18709
18732
|
*
|
|
18733
|
+
* `debugNote` is the operator's own words about WHAT should be checked on this
|
|
18734
|
+
* track, and it lives and dies with `debug` — see {@link MAX_TRACK_DEBUG_NOTE_LEN}.
|
|
18735
|
+
*
|
|
18710
18736
|
* `favourited` IS a BOOLEAN pin (durability bit), not a retrain lifecycle.
|
|
18711
18737
|
* A favourited track is skipped by retention the same way `staging` is, but
|
|
18712
18738
|
* it does not enter `none|staging|trained` and has no staging budget.
|
|
@@ -18717,6 +18743,21 @@ var TrackFlagFields = {
|
|
|
18717
18743
|
markForTrain: boolean().optional(),
|
|
18718
18744
|
/** Operator marked this track for diagnostic attention. */
|
|
18719
18745
|
debug: boolean().optional(),
|
|
18746
|
+
/**
|
|
18747
|
+
* What the operator wants CHECKED on this track, in their own words.
|
|
18748
|
+
*
|
|
18749
|
+
* The flag alone says "look at this" and nothing about what for; a debug set
|
|
18750
|
+
* reviewed hours later is a list of tracks with no question attached. Bound
|
|
18751
|
+
* to `debug` on the WRITE side — the body clears it when `debug` goes off,
|
|
18752
|
+
* and refuses it on a track whose debug is off — so a note can never outlive
|
|
18753
|
+
* the attention it belongs to.
|
|
18754
|
+
*
|
|
18755
|
+
* `''` is a real value ("marked, nothing to add"); the ABSENT key means
|
|
18756
|
+
* "leave whatever is stored alone", which is what lets a surface turn debug
|
|
18757
|
+
* on without a note (a cancelled prompt) and what lets it edit the note
|
|
18758
|
+
* without touching the flag.
|
|
18759
|
+
*/
|
|
18760
|
+
debugNote: string().max(500).optional(),
|
|
18720
18761
|
/** Operator favourited this track. Pins it against pruning. */
|
|
18721
18762
|
favourited: boolean().optional()
|
|
18722
18763
|
};
|
|
@@ -18743,6 +18784,12 @@ var TrackFlagsSchema = object({
|
|
|
18743
18784
|
trackId: string(),
|
|
18744
18785
|
markForTrain: boolean(),
|
|
18745
18786
|
debug: boolean(),
|
|
18787
|
+
/** The note as it STANDS after the write — never absent here (a track with no
|
|
18788
|
+
* note reports `''`), for the same reason the booleans are required: a
|
|
18789
|
+
* surface that has just written must be able to render the note it now owns
|
|
18790
|
+
* without a re-fetch, and an absent key would read as "unchanged" on a
|
|
18791
|
+
* screen that has no previous value to keep. */
|
|
18792
|
+
debugNote: string(),
|
|
18746
18793
|
favourited: boolean(),
|
|
18747
18794
|
/** The lifecycle state the boolean was derived from. Required here (unlike on
|
|
18748
18795
|
* 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-dreo",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.65",
|
|
4
4
|
"description": "Dreo smart-device (fan / air-circulator / purifier / heater / humidifier) device-provider addon for CamStack — wraps the @apocaliss92/nodedreo Dreo cloud client (REST + WebSocket)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|