@camstack/addon-provider-dreo 0.2.80 → 0.2.82
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 +36 -9
- package/dist/addon.mjs +36 -9
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -12087,6 +12087,9 @@ var QueryFilterSchema = object({
|
|
|
12087
12087
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
12088
12088
|
/** NULL-safe exclusion: matches rows whose field is NULL OR != the value. */
|
|
12089
12089
|
whereNot: record(string(), unknown()).optional(),
|
|
12090
|
+
/** NULL-safe exclusion of a SET — `whereNot` for more than one value. An
|
|
12091
|
+
* empty list excludes nothing. See `QueryFilter.whereNotIn`. */
|
|
12092
|
+
whereNotIn: record(string(), array(unknown())).optional(),
|
|
12090
12093
|
orderBy: object({
|
|
12091
12094
|
field: string(),
|
|
12092
12095
|
direction: _enum(["asc", "desc"])
|
|
@@ -12107,7 +12110,8 @@ var MutationFilterSchema = object({
|
|
|
12107
12110
|
where: record(string(), unknown()).optional(),
|
|
12108
12111
|
whereIn: record(string(), array(unknown())).optional(),
|
|
12109
12112
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
12110
|
-
whereNot: record(string(), unknown()).optional()
|
|
12113
|
+
whereNot: record(string(), unknown()).optional(),
|
|
12114
|
+
whereNotIn: record(string(), array(unknown())).optional()
|
|
12111
12115
|
});
|
|
12112
12116
|
/**
|
|
12113
12117
|
* One scalar an {@link settingsStoreCapability.methods.aggregate} call asks for.
|
|
@@ -18880,10 +18884,12 @@ var TrackSourceSchema = _enum([
|
|
|
18880
18884
|
* Terminal for the plain `markForTrain` toggle: returning it to `staging` is
|
|
18881
18885
|
* a deliberate action of the retrain page, not a side effect of a checkbox.
|
|
18882
18886
|
*
|
|
18883
|
-
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'`
|
|
18884
|
-
*
|
|
18885
|
-
*
|
|
18886
|
-
*
|
|
18887
|
+
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'` so that
|
|
18888
|
+
* every row is selectable by a positive predicate. (The filter language has
|
|
18889
|
+
* since grown the NULL-safe `whereNot` / `whereNotIn` and an `IS NULL` reading
|
|
18890
|
+
* of `where: { f: null }`, which is how {@link TrackSourceSchema} can be
|
|
18891
|
+
* filtered on a NULLABLE column — see `excludeSources`. It did not when this
|
|
18892
|
+
* column was designed, and a NOT NULL column is still the better shape.)
|
|
18887
18893
|
*/
|
|
18888
18894
|
var RetrainStatusSchema = _enum([
|
|
18889
18895
|
"none",
|
|
@@ -19619,7 +19625,9 @@ var RecentTracksQueryInput = object({
|
|
|
19619
19625
|
* whose class list is unreadable are kept, and the client's rule stays the
|
|
19620
19626
|
* exact one.
|
|
19621
19627
|
*/
|
|
19622
|
-
classes: array(string()).optional()
|
|
19628
|
+
classes: array(string()).optional(),
|
|
19629
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
19630
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
19623
19631
|
});
|
|
19624
19632
|
/**
|
|
19625
19633
|
* A Summary (D359): the per-camera session envelope that references tracks.
|
|
@@ -20047,7 +20055,9 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
20047
20055
|
* selected is an operator who has not narrowed anything, and an empty
|
|
20048
20056
|
* timeline would read as a camera that saw nothing.
|
|
20049
20057
|
*/
|
|
20050
|
-
classes: array(string()).optional()
|
|
20058
|
+
classes: array(string()).optional(),
|
|
20059
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
20060
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
20051
20061
|
}), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
|
|
20052
20062
|
kind: "mutation",
|
|
20053
20063
|
auth: "admin"
|
|
@@ -20552,8 +20562,25 @@ var occupancyRecheckFramesField = {
|
|
|
20552
20562
|
* (analyzer attaches detected `regions[]`; onboard does not — the
|
|
20553
20563
|
* camera typically only reports a binary signal plus an optional
|
|
20554
20564
|
* channel/AI class which lives in dedicated event channels).
|
|
20555
|
-
|
|
20556
|
-
|
|
20565
|
+
*
|
|
20566
|
+
* - `onboard` — the camera's firmware said something moved.
|
|
20567
|
+
* - `analyzer` — this runner's frame-diff said so, and attaches `regions[]`.
|
|
20568
|
+
* - `device-activity` — the DEVICE said it is doing its job: the
|
|
20569
|
+
* `recording-signal` LEVEL the same device raises for the recorder
|
|
20570
|
+
* ([D380](../../../../docs/decisions/adr-0380-a-device-decided-recording-is-a-mode-with-no-schedule-seeded-once.md)),
|
|
20571
|
+
* republished as a motion source. It attaches **nothing** — no regions, no
|
|
20572
|
+
* class: the only fact it carries is that the device is active, and a robot
|
|
20573
|
+
* vacuum that is itself the moving object has no region worth sending. It is
|
|
20574
|
+
* a LEVEL, so unlike `onboard` it has a real falling edge, and unlike
|
|
20575
|
+
* `analyzer` it must not open the frame-diff side-channel — the runner's
|
|
20576
|
+
* `handleOnboardMotionAnalyzer` gate is `source === 'onboard'` and stays that
|
|
20577
|
+
* way ([D392](../../../../docs/decisions/adr-0392-a-device-that-says-it-is-working-is-a-motion-source-of-its-own.md)).
|
|
20578
|
+
*/
|
|
20579
|
+
var MotionSourceEnum = _enum([
|
|
20580
|
+
"onboard",
|
|
20581
|
+
"analyzer",
|
|
20582
|
+
"device-activity"
|
|
20583
|
+
]);
|
|
20557
20584
|
/**
|
|
20558
20585
|
* List of motion sources active on a camera. Empty array is valid:
|
|
20559
20586
|
* "no source" — happens for battery cams without firmware motion when
|
package/dist/addon.mjs
CHANGED
|
@@ -12088,6 +12088,9 @@ var QueryFilterSchema = object({
|
|
|
12088
12088
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
12089
12089
|
/** NULL-safe exclusion: matches rows whose field is NULL OR != the value. */
|
|
12090
12090
|
whereNot: record(string(), unknown()).optional(),
|
|
12091
|
+
/** NULL-safe exclusion of a SET — `whereNot` for more than one value. An
|
|
12092
|
+
* empty list excludes nothing. See `QueryFilter.whereNotIn`. */
|
|
12093
|
+
whereNotIn: record(string(), array(unknown())).optional(),
|
|
12091
12094
|
orderBy: object({
|
|
12092
12095
|
field: string(),
|
|
12093
12096
|
direction: _enum(["asc", "desc"])
|
|
@@ -12108,7 +12111,8 @@ var MutationFilterSchema = object({
|
|
|
12108
12111
|
where: record(string(), unknown()).optional(),
|
|
12109
12112
|
whereIn: record(string(), array(unknown())).optional(),
|
|
12110
12113
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
12111
|
-
whereNot: record(string(), unknown()).optional()
|
|
12114
|
+
whereNot: record(string(), unknown()).optional(),
|
|
12115
|
+
whereNotIn: record(string(), array(unknown())).optional()
|
|
12112
12116
|
});
|
|
12113
12117
|
/**
|
|
12114
12118
|
* One scalar an {@link settingsStoreCapability.methods.aggregate} call asks for.
|
|
@@ -18881,10 +18885,12 @@ var TrackSourceSchema = _enum([
|
|
|
18881
18885
|
* Terminal for the plain `markForTrain` toggle: returning it to `staging` is
|
|
18882
18886
|
* a deliberate action of the retrain page, not a side effect of a checkbox.
|
|
18883
18887
|
*
|
|
18884
|
-
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'`
|
|
18885
|
-
*
|
|
18886
|
-
*
|
|
18887
|
-
*
|
|
18888
|
+
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'` so that
|
|
18889
|
+
* every row is selectable by a positive predicate. (The filter language has
|
|
18890
|
+
* since grown the NULL-safe `whereNot` / `whereNotIn` and an `IS NULL` reading
|
|
18891
|
+
* of `where: { f: null }`, which is how {@link TrackSourceSchema} can be
|
|
18892
|
+
* filtered on a NULLABLE column — see `excludeSources`. It did not when this
|
|
18893
|
+
* column was designed, and a NOT NULL column is still the better shape.)
|
|
18888
18894
|
*/
|
|
18889
18895
|
var RetrainStatusSchema = _enum([
|
|
18890
18896
|
"none",
|
|
@@ -19620,7 +19626,9 @@ var RecentTracksQueryInput = object({
|
|
|
19620
19626
|
* whose class list is unreadable are kept, and the client's rule stays the
|
|
19621
19627
|
* exact one.
|
|
19622
19628
|
*/
|
|
19623
|
-
classes: array(string()).optional()
|
|
19629
|
+
classes: array(string()).optional(),
|
|
19630
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
19631
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
19624
19632
|
});
|
|
19625
19633
|
/**
|
|
19626
19634
|
* A Summary (D359): the per-camera session envelope that references tracks.
|
|
@@ -20048,7 +20056,9 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
20048
20056
|
* selected is an operator who has not narrowed anything, and an empty
|
|
20049
20057
|
* timeline would read as a camera that saw nothing.
|
|
20050
20058
|
*/
|
|
20051
|
-
classes: array(string()).optional()
|
|
20059
|
+
classes: array(string()).optional(),
|
|
20060
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
20061
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
20052
20062
|
}), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
|
|
20053
20063
|
kind: "mutation",
|
|
20054
20064
|
auth: "admin"
|
|
@@ -20553,8 +20563,25 @@ var occupancyRecheckFramesField = {
|
|
|
20553
20563
|
* (analyzer attaches detected `regions[]`; onboard does not — the
|
|
20554
20564
|
* camera typically only reports a binary signal plus an optional
|
|
20555
20565
|
* channel/AI class which lives in dedicated event channels).
|
|
20556
|
-
|
|
20557
|
-
|
|
20566
|
+
*
|
|
20567
|
+
* - `onboard` — the camera's firmware said something moved.
|
|
20568
|
+
* - `analyzer` — this runner's frame-diff said so, and attaches `regions[]`.
|
|
20569
|
+
* - `device-activity` — the DEVICE said it is doing its job: the
|
|
20570
|
+
* `recording-signal` LEVEL the same device raises for the recorder
|
|
20571
|
+
* ([D380](../../../../docs/decisions/adr-0380-a-device-decided-recording-is-a-mode-with-no-schedule-seeded-once.md)),
|
|
20572
|
+
* republished as a motion source. It attaches **nothing** — no regions, no
|
|
20573
|
+
* class: the only fact it carries is that the device is active, and a robot
|
|
20574
|
+
* vacuum that is itself the moving object has no region worth sending. It is
|
|
20575
|
+
* a LEVEL, so unlike `onboard` it has a real falling edge, and unlike
|
|
20576
|
+
* `analyzer` it must not open the frame-diff side-channel — the runner's
|
|
20577
|
+
* `handleOnboardMotionAnalyzer` gate is `source === 'onboard'` and stays that
|
|
20578
|
+
* way ([D392](../../../../docs/decisions/adr-0392-a-device-that-says-it-is-working-is-a-motion-source-of-its-own.md)).
|
|
20579
|
+
*/
|
|
20580
|
+
var MotionSourceEnum = _enum([
|
|
20581
|
+
"onboard",
|
|
20582
|
+
"analyzer",
|
|
20583
|
+
"device-activity"
|
|
20584
|
+
]);
|
|
20558
20585
|
/**
|
|
20559
20586
|
* List of motion sources active on a camera. Empty array is valid:
|
|
20560
20587
|
* "no source" — happens for battery cams without firmware motion when
|
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.82",
|
|
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",
|