@camstack/addon-provider-gree 0.2.79 → 0.2.81
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
|
@@ -12054,6 +12054,9 @@ var QueryFilterSchema = object({
|
|
|
12054
12054
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
12055
12055
|
/** NULL-safe exclusion: matches rows whose field is NULL OR != the value. */
|
|
12056
12056
|
whereNot: record(string(), unknown()).optional(),
|
|
12057
|
+
/** NULL-safe exclusion of a SET — `whereNot` for more than one value. An
|
|
12058
|
+
* empty list excludes nothing. See `QueryFilter.whereNotIn`. */
|
|
12059
|
+
whereNotIn: record(string(), array(unknown())).optional(),
|
|
12057
12060
|
orderBy: object({
|
|
12058
12061
|
field: string(),
|
|
12059
12062
|
direction: _enum(["asc", "desc"])
|
|
@@ -12074,7 +12077,8 @@ var MutationFilterSchema = object({
|
|
|
12074
12077
|
where: record(string(), unknown()).optional(),
|
|
12075
12078
|
whereIn: record(string(), array(unknown())).optional(),
|
|
12076
12079
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
12077
|
-
whereNot: record(string(), unknown()).optional()
|
|
12080
|
+
whereNot: record(string(), unknown()).optional(),
|
|
12081
|
+
whereNotIn: record(string(), array(unknown())).optional()
|
|
12078
12082
|
});
|
|
12079
12083
|
/**
|
|
12080
12084
|
* One scalar an {@link settingsStoreCapability.methods.aggregate} call asks for.
|
|
@@ -18830,10 +18834,12 @@ var TrackSourceSchema = _enum([
|
|
|
18830
18834
|
* Terminal for the plain `markForTrain` toggle: returning it to `staging` is
|
|
18831
18835
|
* a deliberate action of the retrain page, not a side effect of a checkbox.
|
|
18832
18836
|
*
|
|
18833
|
-
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'`
|
|
18834
|
-
*
|
|
18835
|
-
*
|
|
18836
|
-
*
|
|
18837
|
+
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'` so that
|
|
18838
|
+
* every row is selectable by a positive predicate. (The filter language has
|
|
18839
|
+
* since grown the NULL-safe `whereNot` / `whereNotIn` and an `IS NULL` reading
|
|
18840
|
+
* of `where: { f: null }`, which is how {@link TrackSourceSchema} can be
|
|
18841
|
+
* filtered on a NULLABLE column — see `excludeSources`. It did not when this
|
|
18842
|
+
* column was designed, and a NOT NULL column is still the better shape.)
|
|
18837
18843
|
*/
|
|
18838
18844
|
var RetrainStatusSchema = _enum([
|
|
18839
18845
|
"none",
|
|
@@ -19569,7 +19575,9 @@ var RecentTracksQueryInput = object({
|
|
|
19569
19575
|
* whose class list is unreadable are kept, and the client's rule stays the
|
|
19570
19576
|
* exact one.
|
|
19571
19577
|
*/
|
|
19572
|
-
classes: array(string()).optional()
|
|
19578
|
+
classes: array(string()).optional(),
|
|
19579
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
19580
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
19573
19581
|
});
|
|
19574
19582
|
/**
|
|
19575
19583
|
* A Summary (D359): the per-camera session envelope that references tracks.
|
|
@@ -19997,7 +20005,9 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
19997
20005
|
* selected is an operator who has not narrowed anything, and an empty
|
|
19998
20006
|
* timeline would read as a camera that saw nothing.
|
|
19999
20007
|
*/
|
|
20000
|
-
classes: array(string()).optional()
|
|
20008
|
+
classes: array(string()).optional(),
|
|
20009
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
20010
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
20001
20011
|
}), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
|
|
20002
20012
|
kind: "mutation",
|
|
20003
20013
|
auth: "admin"
|
|
@@ -20502,8 +20512,25 @@ var occupancyRecheckFramesField = {
|
|
|
20502
20512
|
* (analyzer attaches detected `regions[]`; onboard does not — the
|
|
20503
20513
|
* camera typically only reports a binary signal plus an optional
|
|
20504
20514
|
* channel/AI class which lives in dedicated event channels).
|
|
20505
|
-
|
|
20506
|
-
|
|
20515
|
+
*
|
|
20516
|
+
* - `onboard` — the camera's firmware said something moved.
|
|
20517
|
+
* - `analyzer` — this runner's frame-diff said so, and attaches `regions[]`.
|
|
20518
|
+
* - `device-activity` — the DEVICE said it is doing its job: the
|
|
20519
|
+
* `recording-signal` LEVEL the same device raises for the recorder
|
|
20520
|
+
* ([D380](../../../../docs/decisions/adr-0380-a-device-decided-recording-is-a-mode-with-no-schedule-seeded-once.md)),
|
|
20521
|
+
* republished as a motion source. It attaches **nothing** — no regions, no
|
|
20522
|
+
* class: the only fact it carries is that the device is active, and a robot
|
|
20523
|
+
* vacuum that is itself the moving object has no region worth sending. It is
|
|
20524
|
+
* a LEVEL, so unlike `onboard` it has a real falling edge, and unlike
|
|
20525
|
+
* `analyzer` it must not open the frame-diff side-channel — the runner's
|
|
20526
|
+
* `handleOnboardMotionAnalyzer` gate is `source === 'onboard'` and stays that
|
|
20527
|
+
* way ([D392](../../../../docs/decisions/adr-0392-a-device-that-says-it-is-working-is-a-motion-source-of-its-own.md)).
|
|
20528
|
+
*/
|
|
20529
|
+
var MotionSourceEnum = _enum([
|
|
20530
|
+
"onboard",
|
|
20531
|
+
"analyzer",
|
|
20532
|
+
"device-activity"
|
|
20533
|
+
]);
|
|
20507
20534
|
/**
|
|
20508
20535
|
* List of motion sources active on a camera. Empty array is valid:
|
|
20509
20536
|
* "no source" — happens for battery cams without firmware motion when
|
package/dist/addon.mjs
CHANGED
|
@@ -12053,6 +12053,9 @@ var QueryFilterSchema = object({
|
|
|
12053
12053
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
12054
12054
|
/** NULL-safe exclusion: matches rows whose field is NULL OR != the value. */
|
|
12055
12055
|
whereNot: record(string(), unknown()).optional(),
|
|
12056
|
+
/** NULL-safe exclusion of a SET — `whereNot` for more than one value. An
|
|
12057
|
+
* empty list excludes nothing. See `QueryFilter.whereNotIn`. */
|
|
12058
|
+
whereNotIn: record(string(), array(unknown())).optional(),
|
|
12056
12059
|
orderBy: object({
|
|
12057
12060
|
field: string(),
|
|
12058
12061
|
direction: _enum(["asc", "desc"])
|
|
@@ -12073,7 +12076,8 @@ var MutationFilterSchema = object({
|
|
|
12073
12076
|
where: record(string(), unknown()).optional(),
|
|
12074
12077
|
whereIn: record(string(), array(unknown())).optional(),
|
|
12075
12078
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
12076
|
-
whereNot: record(string(), unknown()).optional()
|
|
12079
|
+
whereNot: record(string(), unknown()).optional(),
|
|
12080
|
+
whereNotIn: record(string(), array(unknown())).optional()
|
|
12077
12081
|
});
|
|
12078
12082
|
/**
|
|
12079
12083
|
* One scalar an {@link settingsStoreCapability.methods.aggregate} call asks for.
|
|
@@ -18829,10 +18833,12 @@ var TrackSourceSchema = _enum([
|
|
|
18829
18833
|
* Terminal for the plain `markForTrain` toggle: returning it to `staging` is
|
|
18830
18834
|
* a deliberate action of the retrain page, not a side effect of a checkbox.
|
|
18831
18835
|
*
|
|
18832
|
-
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'`
|
|
18833
|
-
*
|
|
18834
|
-
*
|
|
18835
|
-
*
|
|
18836
|
+
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'` so that
|
|
18837
|
+
* every row is selectable by a positive predicate. (The filter language has
|
|
18838
|
+
* since grown the NULL-safe `whereNot` / `whereNotIn` and an `IS NULL` reading
|
|
18839
|
+
* of `where: { f: null }`, which is how {@link TrackSourceSchema} can be
|
|
18840
|
+
* filtered on a NULLABLE column — see `excludeSources`. It did not when this
|
|
18841
|
+
* column was designed, and a NOT NULL column is still the better shape.)
|
|
18836
18842
|
*/
|
|
18837
18843
|
var RetrainStatusSchema = _enum([
|
|
18838
18844
|
"none",
|
|
@@ -19568,7 +19574,9 @@ var RecentTracksQueryInput = object({
|
|
|
19568
19574
|
* whose class list is unreadable are kept, and the client's rule stays the
|
|
19569
19575
|
* exact one.
|
|
19570
19576
|
*/
|
|
19571
|
-
classes: array(string()).optional()
|
|
19577
|
+
classes: array(string()).optional(),
|
|
19578
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
19579
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
19572
19580
|
});
|
|
19573
19581
|
/**
|
|
19574
19582
|
* A Summary (D359): the per-camera session envelope that references tracks.
|
|
@@ -19996,7 +20004,9 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
19996
20004
|
* selected is an operator who has not narrowed anything, and an empty
|
|
19997
20005
|
* timeline would read as a camera that saw nothing.
|
|
19998
20006
|
*/
|
|
19999
|
-
classes: array(string()).optional()
|
|
20007
|
+
classes: array(string()).optional(),
|
|
20008
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
20009
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
20000
20010
|
}), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
|
|
20001
20011
|
kind: "mutation",
|
|
20002
20012
|
auth: "admin"
|
|
@@ -20501,8 +20511,25 @@ var occupancyRecheckFramesField = {
|
|
|
20501
20511
|
* (analyzer attaches detected `regions[]`; onboard does not — the
|
|
20502
20512
|
* camera typically only reports a binary signal plus an optional
|
|
20503
20513
|
* channel/AI class which lives in dedicated event channels).
|
|
20504
|
-
|
|
20505
|
-
|
|
20514
|
+
*
|
|
20515
|
+
* - `onboard` — the camera's firmware said something moved.
|
|
20516
|
+
* - `analyzer` — this runner's frame-diff said so, and attaches `regions[]`.
|
|
20517
|
+
* - `device-activity` — the DEVICE said it is doing its job: the
|
|
20518
|
+
* `recording-signal` LEVEL the same device raises for the recorder
|
|
20519
|
+
* ([D380](../../../../docs/decisions/adr-0380-a-device-decided-recording-is-a-mode-with-no-schedule-seeded-once.md)),
|
|
20520
|
+
* republished as a motion source. It attaches **nothing** — no regions, no
|
|
20521
|
+
* class: the only fact it carries is that the device is active, and a robot
|
|
20522
|
+
* vacuum that is itself the moving object has no region worth sending. It is
|
|
20523
|
+
* a LEVEL, so unlike `onboard` it has a real falling edge, and unlike
|
|
20524
|
+
* `analyzer` it must not open the frame-diff side-channel — the runner's
|
|
20525
|
+
* `handleOnboardMotionAnalyzer` gate is `source === 'onboard'` and stays that
|
|
20526
|
+
* way ([D392](../../../../docs/decisions/adr-0392-a-device-that-says-it-is-working-is-a-motion-source-of-its-own.md)).
|
|
20527
|
+
*/
|
|
20528
|
+
var MotionSourceEnum = _enum([
|
|
20529
|
+
"onboard",
|
|
20530
|
+
"analyzer",
|
|
20531
|
+
"device-activity"
|
|
20532
|
+
]);
|
|
20506
20533
|
/**
|
|
20507
20534
|
* List of motion sources active on a camera. Empty array is valid:
|
|
20508
20535
|
* "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-gree",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.81",
|
|
4
4
|
"description": "Gree air-conditioner device-provider addon for CamStack — wraps the @apocaliss92/nodegree local-UDP client (LAN discovery + AES control), exposing climate-control and fan-control",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|