@camstack/addon-provider-dreame 0.2.81 → 0.2.83
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
|
@@ -64724,6 +64724,9 @@ var QueryFilterSchema = object({
|
|
|
64724
64724
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
64725
64725
|
/** NULL-safe exclusion: matches rows whose field is NULL OR != the value. */
|
|
64726
64726
|
whereNot: record(string(), unknown()).optional(),
|
|
64727
|
+
/** NULL-safe exclusion of a SET — `whereNot` for more than one value. An
|
|
64728
|
+
* empty list excludes nothing. See `QueryFilter.whereNotIn`. */
|
|
64729
|
+
whereNotIn: record(string(), array(unknown())).optional(),
|
|
64727
64730
|
orderBy: object({
|
|
64728
64731
|
field: string(),
|
|
64729
64732
|
direction: _enum(["asc", "desc"])
|
|
@@ -64744,7 +64747,8 @@ var MutationFilterSchema = object({
|
|
|
64744
64747
|
where: record(string(), unknown()).optional(),
|
|
64745
64748
|
whereIn: record(string(), array(unknown())).optional(),
|
|
64746
64749
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
64747
|
-
whereNot: record(string(), unknown()).optional()
|
|
64750
|
+
whereNot: record(string(), unknown()).optional(),
|
|
64751
|
+
whereNotIn: record(string(), array(unknown())).optional()
|
|
64748
64752
|
});
|
|
64749
64753
|
/**
|
|
64750
64754
|
* One scalar an {@link settingsStoreCapability.methods.aggregate} call asks for.
|
|
@@ -71517,10 +71521,12 @@ var TrackSourceSchema = _enum([
|
|
|
71517
71521
|
* Terminal for the plain `markForTrain` toggle: returning it to `staging` is
|
|
71518
71522
|
* a deliberate action of the retrain page, not a side effect of a checkbox.
|
|
71519
71523
|
*
|
|
71520
|
-
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'`
|
|
71521
|
-
*
|
|
71522
|
-
*
|
|
71523
|
-
*
|
|
71524
|
+
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'` so that
|
|
71525
|
+
* every row is selectable by a positive predicate. (The filter language has
|
|
71526
|
+
* since grown the NULL-safe `whereNot` / `whereNotIn` and an `IS NULL` reading
|
|
71527
|
+
* of `where: { f: null }`, which is how {@link TrackSourceSchema} can be
|
|
71528
|
+
* filtered on a NULLABLE column — see `excludeSources`. It did not when this
|
|
71529
|
+
* column was designed, and a NOT NULL column is still the better shape.)
|
|
71524
71530
|
*/
|
|
71525
71531
|
var RetrainStatusSchema = _enum([
|
|
71526
71532
|
"none",
|
|
@@ -72256,7 +72262,9 @@ var RecentTracksQueryInput = object({
|
|
|
72256
72262
|
* whose class list is unreadable are kept, and the client's rule stays the
|
|
72257
72263
|
* exact one.
|
|
72258
72264
|
*/
|
|
72259
|
-
classes: array(string()).optional()
|
|
72265
|
+
classes: array(string()).optional(),
|
|
72266
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
72267
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
72260
72268
|
});
|
|
72261
72269
|
/**
|
|
72262
72270
|
* A Summary (D359): the per-camera session envelope that references tracks.
|
|
@@ -72684,7 +72692,9 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
72684
72692
|
* selected is an operator who has not narrowed anything, and an empty
|
|
72685
72693
|
* timeline would read as a camera that saw nothing.
|
|
72686
72694
|
*/
|
|
72687
|
-
classes: array(string()).optional()
|
|
72695
|
+
classes: array(string()).optional(),
|
|
72696
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
72697
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
72688
72698
|
}), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
|
|
72689
72699
|
kind: "mutation",
|
|
72690
72700
|
auth: "admin"
|
|
@@ -82047,8 +82057,27 @@ var PrivacyMaskRegionSchema = object({
|
|
|
82047
82057
|
/** Current on-camera privacy state — mask master enable + zones + microphone. */
|
|
82048
82058
|
var PrivacyMaskStatusSchema = object({
|
|
82049
82059
|
enabled: boolean(),
|
|
82050
|
-
/**
|
|
82051
|
-
|
|
82060
|
+
/**
|
|
82061
|
+
* Active zones (normalized 0..1). Length ≤ maxRegions.
|
|
82062
|
+
*
|
|
82063
|
+
* `null` means "no answer" — the provider has never reached this camera
|
|
82064
|
+
* (a cold `runtimeState` slice, a battery camera asleep) or the read
|
|
82065
|
+
* failed. A consumer must render it as UNKNOWN and never as "this camera
|
|
82066
|
+
* has no zones": those two look identical to an operator right up to the
|
|
82067
|
+
* moment one of them is acted on, and acting on them differs completely.
|
|
82068
|
+
* The switch group turned an unanswered read into *"nothing is set up for
|
|
82069
|
+
* it to act on"* — an instruction to go and draw a zone that already
|
|
82070
|
+
* exists — and this editor seeded an EMPTY canvas from it, one Save away
|
|
82071
|
+
* from deleting the mask it could not read.
|
|
82072
|
+
*
|
|
82073
|
+
* Empty-and-answered is `[]` and stays a real answer: this camera genuinely
|
|
82074
|
+
* has no zones. The distinction is the same one {@link
|
|
82075
|
+
* PrivacyMaskStatusSchema.shape.audioEnabled} already draws for the
|
|
82076
|
+
* microphone, on the very same payload — both planes come from ONE refresh,
|
|
82077
|
+
* so it was never coherent for one of them to be able to say "unknown"
|
|
82078
|
+
* while the other could not.
|
|
82079
|
+
*/
|
|
82080
|
+
regions: array(PrivacyMaskRegionSchema).nullable(),
|
|
82052
82081
|
/**
|
|
82053
82082
|
* Is the camera capturing sound right now? Read from the camera, never from
|
|
82054
82083
|
* a server-side mirror.
|
package/dist/addon.mjs
CHANGED
|
@@ -64721,6 +64721,9 @@ var QueryFilterSchema = object({
|
|
|
64721
64721
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
64722
64722
|
/** NULL-safe exclusion: matches rows whose field is NULL OR != the value. */
|
|
64723
64723
|
whereNot: record(string(), unknown()).optional(),
|
|
64724
|
+
/** NULL-safe exclusion of a SET — `whereNot` for more than one value. An
|
|
64725
|
+
* empty list excludes nothing. See `QueryFilter.whereNotIn`. */
|
|
64726
|
+
whereNotIn: record(string(), array(unknown())).optional(),
|
|
64724
64727
|
orderBy: object({
|
|
64725
64728
|
field: string(),
|
|
64726
64729
|
direction: _enum(["asc", "desc"])
|
|
@@ -64741,7 +64744,8 @@ var MutationFilterSchema = object({
|
|
|
64741
64744
|
where: record(string(), unknown()).optional(),
|
|
64742
64745
|
whereIn: record(string(), array(unknown())).optional(),
|
|
64743
64746
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
64744
|
-
whereNot: record(string(), unknown()).optional()
|
|
64747
|
+
whereNot: record(string(), unknown()).optional(),
|
|
64748
|
+
whereNotIn: record(string(), array(unknown())).optional()
|
|
64745
64749
|
});
|
|
64746
64750
|
/**
|
|
64747
64751
|
* One scalar an {@link settingsStoreCapability.methods.aggregate} call asks for.
|
|
@@ -71514,10 +71518,12 @@ var TrackSourceSchema = _enum([
|
|
|
71514
71518
|
* Terminal for the plain `markForTrain` toggle: returning it to `staging` is
|
|
71515
71519
|
* a deliberate action of the retrain page, not a side effect of a checkbox.
|
|
71516
71520
|
*
|
|
71517
|
-
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'`
|
|
71518
|
-
*
|
|
71519
|
-
*
|
|
71520
|
-
*
|
|
71521
|
+
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'` so that
|
|
71522
|
+
* every row is selectable by a positive predicate. (The filter language has
|
|
71523
|
+
* since grown the NULL-safe `whereNot` / `whereNotIn` and an `IS NULL` reading
|
|
71524
|
+
* of `where: { f: null }`, which is how {@link TrackSourceSchema} can be
|
|
71525
|
+
* filtered on a NULLABLE column — see `excludeSources`. It did not when this
|
|
71526
|
+
* column was designed, and a NOT NULL column is still the better shape.)
|
|
71521
71527
|
*/
|
|
71522
71528
|
var RetrainStatusSchema = _enum([
|
|
71523
71529
|
"none",
|
|
@@ -72253,7 +72259,9 @@ var RecentTracksQueryInput = object({
|
|
|
72253
72259
|
* whose class list is unreadable are kept, and the client's rule stays the
|
|
72254
72260
|
* exact one.
|
|
72255
72261
|
*/
|
|
72256
|
-
classes: array(string()).optional()
|
|
72262
|
+
classes: array(string()).optional(),
|
|
72263
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
72264
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
72257
72265
|
});
|
|
72258
72266
|
/**
|
|
72259
72267
|
* A Summary (D359): the per-camera session envelope that references tracks.
|
|
@@ -72681,7 +72689,9 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
72681
72689
|
* selected is an operator who has not narrowed anything, and an empty
|
|
72682
72690
|
* timeline would read as a camera that saw nothing.
|
|
72683
72691
|
*/
|
|
72684
|
-
classes: array(string()).optional()
|
|
72692
|
+
classes: array(string()).optional(),
|
|
72693
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
72694
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
72685
72695
|
}), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
|
|
72686
72696
|
kind: "mutation",
|
|
72687
72697
|
auth: "admin"
|
|
@@ -82044,8 +82054,27 @@ var PrivacyMaskRegionSchema = object({
|
|
|
82044
82054
|
/** Current on-camera privacy state — mask master enable + zones + microphone. */
|
|
82045
82055
|
var PrivacyMaskStatusSchema = object({
|
|
82046
82056
|
enabled: boolean(),
|
|
82047
|
-
/**
|
|
82048
|
-
|
|
82057
|
+
/**
|
|
82058
|
+
* Active zones (normalized 0..1). Length ≤ maxRegions.
|
|
82059
|
+
*
|
|
82060
|
+
* `null` means "no answer" — the provider has never reached this camera
|
|
82061
|
+
* (a cold `runtimeState` slice, a battery camera asleep) or the read
|
|
82062
|
+
* failed. A consumer must render it as UNKNOWN and never as "this camera
|
|
82063
|
+
* has no zones": those two look identical to an operator right up to the
|
|
82064
|
+
* moment one of them is acted on, and acting on them differs completely.
|
|
82065
|
+
* The switch group turned an unanswered read into *"nothing is set up for
|
|
82066
|
+
* it to act on"* — an instruction to go and draw a zone that already
|
|
82067
|
+
* exists — and this editor seeded an EMPTY canvas from it, one Save away
|
|
82068
|
+
* from deleting the mask it could not read.
|
|
82069
|
+
*
|
|
82070
|
+
* Empty-and-answered is `[]` and stays a real answer: this camera genuinely
|
|
82071
|
+
* has no zones. The distinction is the same one {@link
|
|
82072
|
+
* PrivacyMaskStatusSchema.shape.audioEnabled} already draws for the
|
|
82073
|
+
* microphone, on the very same payload — both planes come from ONE refresh,
|
|
82074
|
+
* so it was never coherent for one of them to be able to say "unknown"
|
|
82075
|
+
* while the other could not.
|
|
82076
|
+
*/
|
|
82077
|
+
regions: array(PrivacyMaskRegionSchema).nullable(),
|
|
82049
82078
|
/**
|
|
82050
82079
|
* Is the camera capturing sound right now? Read from the camera, never from
|
|
82051
82080
|
* a server-side mirror.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-provider-dreame",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.83",
|
|
4
4
|
"description": "Dreame robot-vacuum / lawn-mower device-provider addon for CamStack — wraps the @apocaliss92/nodedreame Dreamehome cloud client",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|