@camstack/addon-provider-tuya 0.2.62 → 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 +42 -0
- package/dist/addon.mjs +42 -0
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -13764,6 +13764,24 @@ var deviceProviderCapability = {
|
|
|
13764
13764
|
})
|
|
13765
13765
|
}
|
|
13766
13766
|
};
|
|
13767
|
+
/**
|
|
13768
|
+
* Device Manager capability — hub-side singleton that unifies device persistence,
|
|
13769
|
+
* live registry access, and all management operations into a single tRPC surface.
|
|
13770
|
+
*
|
|
13771
|
+
* Replaces:
|
|
13772
|
+
* - `device-persistence` capability (persistence methods absorbed here)
|
|
13773
|
+
* - `device-management.router.ts` (deleted in Phase 2)
|
|
13774
|
+
* - `device-ops.router.ts` (compat layer — deleted; device-provider ops absorbed here)
|
|
13775
|
+
*
|
|
13776
|
+
* All device provider addons (rtsp, onvif, frigate, …) are hub-local: they may
|
|
13777
|
+
* fork into separate processes but never run on remote cluster agents. Therefore:
|
|
13778
|
+
* - No nodeId routing needed — this is a pure hub singleton.
|
|
13779
|
+
* - The hub's DeviceRegistry is the single source of truth for all live devices.
|
|
13780
|
+
* - No shadow registry or cross-node aggregation required.
|
|
13781
|
+
*
|
|
13782
|
+
* Forked workers register devices back to the hub via `ctx.devices`
|
|
13783
|
+
* (DeviceManagerApi → ctx.api.deviceManager.registerDevice), same as today.
|
|
13784
|
+
*/
|
|
13767
13785
|
/** One child-placement directive on a container's `childLayout`. Structurally
|
|
13768
13786
|
* identical to `ChildLayoutEntry` in `device-management.ts` — the cap wire
|
|
13769
13787
|
* shape for the same field. The child is identified by its re-sync-stable
|
|
@@ -19490,6 +19508,9 @@ var RetrainStatusSchema = _enum([
|
|
|
19490
19508
|
*
|
|
19491
19509
|
* `debug` does NOT pin; it is attention, not durability.
|
|
19492
19510
|
*
|
|
19511
|
+
* `debugNote` is the operator's own words about WHAT should be checked on this
|
|
19512
|
+
* track, and it lives and dies with `debug` — see {@link MAX_TRACK_DEBUG_NOTE_LEN}.
|
|
19513
|
+
*
|
|
19493
19514
|
* `favourited` IS a BOOLEAN pin (durability bit), not a retrain lifecycle.
|
|
19494
19515
|
* A favourited track is skipped by retention the same way `staging` is, but
|
|
19495
19516
|
* it does not enter `none|staging|trained` and has no staging budget.
|
|
@@ -19500,6 +19521,21 @@ var TrackFlagFields = {
|
|
|
19500
19521
|
markForTrain: boolean().optional(),
|
|
19501
19522
|
/** Operator marked this track for diagnostic attention. */
|
|
19502
19523
|
debug: boolean().optional(),
|
|
19524
|
+
/**
|
|
19525
|
+
* What the operator wants CHECKED on this track, in their own words.
|
|
19526
|
+
*
|
|
19527
|
+
* The flag alone says "look at this" and nothing about what for; a debug set
|
|
19528
|
+
* reviewed hours later is a list of tracks with no question attached. Bound
|
|
19529
|
+
* to `debug` on the WRITE side — the body clears it when `debug` goes off,
|
|
19530
|
+
* and refuses it on a track whose debug is off — so a note can never outlive
|
|
19531
|
+
* the attention it belongs to.
|
|
19532
|
+
*
|
|
19533
|
+
* `''` is a real value ("marked, nothing to add"); the ABSENT key means
|
|
19534
|
+
* "leave whatever is stored alone", which is what lets a surface turn debug
|
|
19535
|
+
* on without a note (a cancelled prompt) and what lets it edit the note
|
|
19536
|
+
* without touching the flag.
|
|
19537
|
+
*/
|
|
19538
|
+
debugNote: string().max(500).optional(),
|
|
19503
19539
|
/** Operator favourited this track. Pins it against pruning. */
|
|
19504
19540
|
favourited: boolean().optional()
|
|
19505
19541
|
};
|
|
@@ -19526,6 +19562,12 @@ var TrackFlagsSchema = object({
|
|
|
19526
19562
|
trackId: string(),
|
|
19527
19563
|
markForTrain: boolean(),
|
|
19528
19564
|
debug: boolean(),
|
|
19565
|
+
/** The note as it STANDS after the write — never absent here (a track with no
|
|
19566
|
+
* note reports `''`), for the same reason the booleans are required: a
|
|
19567
|
+
* surface that has just written must be able to render the note it now owns
|
|
19568
|
+
* without a re-fetch, and an absent key would read as "unchanged" on a
|
|
19569
|
+
* screen that has no previous value to keep. */
|
|
19570
|
+
debugNote: string(),
|
|
19529
19571
|
favourited: boolean(),
|
|
19530
19572
|
/** The lifecycle state the boolean was derived from. Required here (unlike on
|
|
19531
19573
|
* a track row) because this shape is only ever produced by the write body,
|
package/dist/addon.mjs
CHANGED
|
@@ -13763,6 +13763,24 @@ var deviceProviderCapability = {
|
|
|
13763
13763
|
})
|
|
13764
13764
|
}
|
|
13765
13765
|
};
|
|
13766
|
+
/**
|
|
13767
|
+
* Device Manager capability — hub-side singleton that unifies device persistence,
|
|
13768
|
+
* live registry access, and all management operations into a single tRPC surface.
|
|
13769
|
+
*
|
|
13770
|
+
* Replaces:
|
|
13771
|
+
* - `device-persistence` capability (persistence methods absorbed here)
|
|
13772
|
+
* - `device-management.router.ts` (deleted in Phase 2)
|
|
13773
|
+
* - `device-ops.router.ts` (compat layer — deleted; device-provider ops absorbed here)
|
|
13774
|
+
*
|
|
13775
|
+
* All device provider addons (rtsp, onvif, frigate, …) are hub-local: they may
|
|
13776
|
+
* fork into separate processes but never run on remote cluster agents. Therefore:
|
|
13777
|
+
* - No nodeId routing needed — this is a pure hub singleton.
|
|
13778
|
+
* - The hub's DeviceRegistry is the single source of truth for all live devices.
|
|
13779
|
+
* - No shadow registry or cross-node aggregation required.
|
|
13780
|
+
*
|
|
13781
|
+
* Forked workers register devices back to the hub via `ctx.devices`
|
|
13782
|
+
* (DeviceManagerApi → ctx.api.deviceManager.registerDevice), same as today.
|
|
13783
|
+
*/
|
|
13766
13784
|
/** One child-placement directive on a container's `childLayout`. Structurally
|
|
13767
13785
|
* identical to `ChildLayoutEntry` in `device-management.ts` — the cap wire
|
|
13768
13786
|
* shape for the same field. The child is identified by its re-sync-stable
|
|
@@ -19489,6 +19507,9 @@ var RetrainStatusSchema = _enum([
|
|
|
19489
19507
|
*
|
|
19490
19508
|
* `debug` does NOT pin; it is attention, not durability.
|
|
19491
19509
|
*
|
|
19510
|
+
* `debugNote` is the operator's own words about WHAT should be checked on this
|
|
19511
|
+
* track, and it lives and dies with `debug` — see {@link MAX_TRACK_DEBUG_NOTE_LEN}.
|
|
19512
|
+
*
|
|
19492
19513
|
* `favourited` IS a BOOLEAN pin (durability bit), not a retrain lifecycle.
|
|
19493
19514
|
* A favourited track is skipped by retention the same way `staging` is, but
|
|
19494
19515
|
* it does not enter `none|staging|trained` and has no staging budget.
|
|
@@ -19499,6 +19520,21 @@ var TrackFlagFields = {
|
|
|
19499
19520
|
markForTrain: boolean().optional(),
|
|
19500
19521
|
/** Operator marked this track for diagnostic attention. */
|
|
19501
19522
|
debug: boolean().optional(),
|
|
19523
|
+
/**
|
|
19524
|
+
* What the operator wants CHECKED on this track, in their own words.
|
|
19525
|
+
*
|
|
19526
|
+
* The flag alone says "look at this" and nothing about what for; a debug set
|
|
19527
|
+
* reviewed hours later is a list of tracks with no question attached. Bound
|
|
19528
|
+
* to `debug` on the WRITE side — the body clears it when `debug` goes off,
|
|
19529
|
+
* and refuses it on a track whose debug is off — so a note can never outlive
|
|
19530
|
+
* the attention it belongs to.
|
|
19531
|
+
*
|
|
19532
|
+
* `''` is a real value ("marked, nothing to add"); the ABSENT key means
|
|
19533
|
+
* "leave whatever is stored alone", which is what lets a surface turn debug
|
|
19534
|
+
* on without a note (a cancelled prompt) and what lets it edit the note
|
|
19535
|
+
* without touching the flag.
|
|
19536
|
+
*/
|
|
19537
|
+
debugNote: string().max(500).optional(),
|
|
19502
19538
|
/** Operator favourited this track. Pins it against pruning. */
|
|
19503
19539
|
favourited: boolean().optional()
|
|
19504
19540
|
};
|
|
@@ -19525,6 +19561,12 @@ var TrackFlagsSchema = object({
|
|
|
19525
19561
|
trackId: string(),
|
|
19526
19562
|
markForTrain: boolean(),
|
|
19527
19563
|
debug: boolean(),
|
|
19564
|
+
/** The note as it STANDS after the write — never absent here (a track with no
|
|
19565
|
+
* note reports `''`), for the same reason the booleans are required: a
|
|
19566
|
+
* surface that has just written must be able to render the note it now owns
|
|
19567
|
+
* without a re-fetch, and an absent key would read as "unchanged" on a
|
|
19568
|
+
* screen that has no previous value to keep. */
|
|
19569
|
+
debugNote: string(),
|
|
19528
19570
|
favourited: boolean(),
|
|
19529
19571
|
/** The lifecycle state the boolean was derived from. Required here (unlike on
|
|
19530
19572
|
* 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-tuya",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.64",
|
|
4
4
|
"description": "Tuya / Smart Life device-provider addon for CamStack — account-onboarded (Tuya IoT cloud fetch of device localKeys) + LOCAL DP control via the @apocaliss92/nodetuya encrypted-LAN client, exposing switch / water-heater-family kettle entities",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|