@camstack/addon-provider-gree 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 +38 -9
- package/dist/addon.mjs +38 -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"
|
|
@@ -29187,8 +29197,27 @@ var PrivacyMaskRegionSchema = object({
|
|
|
29187
29197
|
/** Current on-camera privacy state — mask master enable + zones + microphone. */
|
|
29188
29198
|
var PrivacyMaskStatusSchema = object({
|
|
29189
29199
|
enabled: boolean(),
|
|
29190
|
-
/**
|
|
29191
|
-
|
|
29200
|
+
/**
|
|
29201
|
+
* Active zones (normalized 0..1). Length ≤ maxRegions.
|
|
29202
|
+
*
|
|
29203
|
+
* `null` means "no answer" — the provider has never reached this camera
|
|
29204
|
+
* (a cold `runtimeState` slice, a battery camera asleep) or the read
|
|
29205
|
+
* failed. A consumer must render it as UNKNOWN and never as "this camera
|
|
29206
|
+
* has no zones": those two look identical to an operator right up to the
|
|
29207
|
+
* moment one of them is acted on, and acting on them differs completely.
|
|
29208
|
+
* The switch group turned an unanswered read into *"nothing is set up for
|
|
29209
|
+
* it to act on"* — an instruction to go and draw a zone that already
|
|
29210
|
+
* exists — and this editor seeded an EMPTY canvas from it, one Save away
|
|
29211
|
+
* from deleting the mask it could not read.
|
|
29212
|
+
*
|
|
29213
|
+
* Empty-and-answered is `[]` and stays a real answer: this camera genuinely
|
|
29214
|
+
* has no zones. The distinction is the same one {@link
|
|
29215
|
+
* PrivacyMaskStatusSchema.shape.audioEnabled} already draws for the
|
|
29216
|
+
* microphone, on the very same payload — both planes come from ONE refresh,
|
|
29217
|
+
* so it was never coherent for one of them to be able to say "unknown"
|
|
29218
|
+
* while the other could not.
|
|
29219
|
+
*/
|
|
29220
|
+
regions: array(PrivacyMaskRegionSchema).nullable(),
|
|
29192
29221
|
/**
|
|
29193
29222
|
* Is the camera capturing sound right now? Read from the camera, never from
|
|
29194
29223
|
* a server-side mirror.
|
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"
|
|
@@ -29186,8 +29196,27 @@ var PrivacyMaskRegionSchema = object({
|
|
|
29186
29196
|
/** Current on-camera privacy state — mask master enable + zones + microphone. */
|
|
29187
29197
|
var PrivacyMaskStatusSchema = object({
|
|
29188
29198
|
enabled: boolean(),
|
|
29189
|
-
/**
|
|
29190
|
-
|
|
29199
|
+
/**
|
|
29200
|
+
* Active zones (normalized 0..1). Length ≤ maxRegions.
|
|
29201
|
+
*
|
|
29202
|
+
* `null` means "no answer" — the provider has never reached this camera
|
|
29203
|
+
* (a cold `runtimeState` slice, a battery camera asleep) or the read
|
|
29204
|
+
* failed. A consumer must render it as UNKNOWN and never as "this camera
|
|
29205
|
+
* has no zones": those two look identical to an operator right up to the
|
|
29206
|
+
* moment one of them is acted on, and acting on them differs completely.
|
|
29207
|
+
* The switch group turned an unanswered read into *"nothing is set up for
|
|
29208
|
+
* it to act on"* — an instruction to go and draw a zone that already
|
|
29209
|
+
* exists — and this editor seeded an EMPTY canvas from it, one Save away
|
|
29210
|
+
* from deleting the mask it could not read.
|
|
29211
|
+
*
|
|
29212
|
+
* Empty-and-answered is `[]` and stays a real answer: this camera genuinely
|
|
29213
|
+
* has no zones. The distinction is the same one {@link
|
|
29214
|
+
* PrivacyMaskStatusSchema.shape.audioEnabled} already draws for the
|
|
29215
|
+
* microphone, on the very same payload — both planes come from ONE refresh,
|
|
29216
|
+
* so it was never coherent for one of them to be able to say "unknown"
|
|
29217
|
+
* while the other could not.
|
|
29218
|
+
*/
|
|
29219
|
+
regions: array(PrivacyMaskRegionSchema).nullable(),
|
|
29191
29220
|
/**
|
|
29192
29221
|
* Is the camera capturing sound right now? Read from the camera, never from
|
|
29193
29222
|
* a server-side mirror.
|
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.82",
|
|
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",
|