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