@camstack/addon-provider-wyze 0.2.85 → 0.2.87
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
|
@@ -12083,6 +12083,9 @@ var QueryFilterSchema = object({
|
|
|
12083
12083
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
12084
12084
|
/** NULL-safe exclusion: matches rows whose field is NULL OR != the value. */
|
|
12085
12085
|
whereNot: record(string(), unknown()).optional(),
|
|
12086
|
+
/** NULL-safe exclusion of a SET — `whereNot` for more than one value. An
|
|
12087
|
+
* empty list excludes nothing. See `QueryFilter.whereNotIn`. */
|
|
12088
|
+
whereNotIn: record(string(), array(unknown())).optional(),
|
|
12086
12089
|
orderBy: object({
|
|
12087
12090
|
field: string(),
|
|
12088
12091
|
direction: _enum(["asc", "desc"])
|
|
@@ -12103,7 +12106,8 @@ var MutationFilterSchema = object({
|
|
|
12103
12106
|
where: record(string(), unknown()).optional(),
|
|
12104
12107
|
whereIn: record(string(), array(unknown())).optional(),
|
|
12105
12108
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
12106
|
-
whereNot: record(string(), unknown()).optional()
|
|
12109
|
+
whereNot: record(string(), unknown()).optional(),
|
|
12110
|
+
whereNotIn: record(string(), array(unknown())).optional()
|
|
12107
12111
|
});
|
|
12108
12112
|
/**
|
|
12109
12113
|
* One scalar an {@link settingsStoreCapability.methods.aggregate} call asks for.
|
|
@@ -18876,10 +18880,12 @@ var TrackSourceSchema = _enum([
|
|
|
18876
18880
|
* Terminal for the plain `markForTrain` toggle: returning it to `staging` is
|
|
18877
18881
|
* a deliberate action of the retrain page, not a side effect of a checkbox.
|
|
18878
18882
|
*
|
|
18879
|
-
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'`
|
|
18880
|
-
*
|
|
18881
|
-
*
|
|
18882
|
-
*
|
|
18883
|
+
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'` so that
|
|
18884
|
+
* every row is selectable by a positive predicate. (The filter language has
|
|
18885
|
+
* since grown the NULL-safe `whereNot` / `whereNotIn` and an `IS NULL` reading
|
|
18886
|
+
* of `where: { f: null }`, which is how {@link TrackSourceSchema} can be
|
|
18887
|
+
* filtered on a NULLABLE column — see `excludeSources`. It did not when this
|
|
18888
|
+
* column was designed, and a NOT NULL column is still the better shape.)
|
|
18883
18889
|
*/
|
|
18884
18890
|
var RetrainStatusSchema = _enum([
|
|
18885
18891
|
"none",
|
|
@@ -19615,7 +19621,9 @@ var RecentTracksQueryInput = object({
|
|
|
19615
19621
|
* whose class list is unreadable are kept, and the client's rule stays the
|
|
19616
19622
|
* exact one.
|
|
19617
19623
|
*/
|
|
19618
|
-
classes: array(string()).optional()
|
|
19624
|
+
classes: array(string()).optional(),
|
|
19625
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
19626
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
19619
19627
|
});
|
|
19620
19628
|
/**
|
|
19621
19629
|
* A Summary (D359): the per-camera session envelope that references tracks.
|
|
@@ -20043,7 +20051,9 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
20043
20051
|
* selected is an operator who has not narrowed anything, and an empty
|
|
20044
20052
|
* timeline would read as a camera that saw nothing.
|
|
20045
20053
|
*/
|
|
20046
|
-
classes: array(string()).optional()
|
|
20054
|
+
classes: array(string()).optional(),
|
|
20055
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
20056
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
20047
20057
|
}), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
|
|
20048
20058
|
kind: "mutation",
|
|
20049
20059
|
auth: "admin"
|
|
@@ -29345,8 +29355,27 @@ var PrivacyMaskRegionSchema = object({
|
|
|
29345
29355
|
/** Current on-camera privacy state — mask master enable + zones + microphone. */
|
|
29346
29356
|
var PrivacyMaskStatusSchema = object({
|
|
29347
29357
|
enabled: boolean(),
|
|
29348
|
-
/**
|
|
29349
|
-
|
|
29358
|
+
/**
|
|
29359
|
+
* Active zones (normalized 0..1). Length ≤ maxRegions.
|
|
29360
|
+
*
|
|
29361
|
+
* `null` means "no answer" — the provider has never reached this camera
|
|
29362
|
+
* (a cold `runtimeState` slice, a battery camera asleep) or the read
|
|
29363
|
+
* failed. A consumer must render it as UNKNOWN and never as "this camera
|
|
29364
|
+
* has no zones": those two look identical to an operator right up to the
|
|
29365
|
+
* moment one of them is acted on, and acting on them differs completely.
|
|
29366
|
+
* The switch group turned an unanswered read into *"nothing is set up for
|
|
29367
|
+
* it to act on"* — an instruction to go and draw a zone that already
|
|
29368
|
+
* exists — and this editor seeded an EMPTY canvas from it, one Save away
|
|
29369
|
+
* from deleting the mask it could not read.
|
|
29370
|
+
*
|
|
29371
|
+
* Empty-and-answered is `[]` and stays a real answer: this camera genuinely
|
|
29372
|
+
* has no zones. The distinction is the same one {@link
|
|
29373
|
+
* PrivacyMaskStatusSchema.shape.audioEnabled} already draws for the
|
|
29374
|
+
* microphone, on the very same payload — both planes come from ONE refresh,
|
|
29375
|
+
* so it was never coherent for one of them to be able to say "unknown"
|
|
29376
|
+
* while the other could not.
|
|
29377
|
+
*/
|
|
29378
|
+
regions: array(PrivacyMaskRegionSchema).nullable(),
|
|
29350
29379
|
/**
|
|
29351
29380
|
* Is the camera capturing sound right now? Read from the camera, never from
|
|
29352
29381
|
* a server-side mirror.
|
package/dist/addon.mjs
CHANGED
|
@@ -12062,6 +12062,9 @@ var QueryFilterSchema = object({
|
|
|
12062
12062
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
12063
12063
|
/** NULL-safe exclusion: matches rows whose field is NULL OR != the value. */
|
|
12064
12064
|
whereNot: record(string(), unknown()).optional(),
|
|
12065
|
+
/** NULL-safe exclusion of a SET — `whereNot` for more than one value. An
|
|
12066
|
+
* empty list excludes nothing. See `QueryFilter.whereNotIn`. */
|
|
12067
|
+
whereNotIn: record(string(), array(unknown())).optional(),
|
|
12065
12068
|
orderBy: object({
|
|
12066
12069
|
field: string(),
|
|
12067
12070
|
direction: _enum(["asc", "desc"])
|
|
@@ -12082,7 +12085,8 @@ var MutationFilterSchema = object({
|
|
|
12082
12085
|
where: record(string(), unknown()).optional(),
|
|
12083
12086
|
whereIn: record(string(), array(unknown())).optional(),
|
|
12084
12087
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
12085
|
-
whereNot: record(string(), unknown()).optional()
|
|
12088
|
+
whereNot: record(string(), unknown()).optional(),
|
|
12089
|
+
whereNotIn: record(string(), array(unknown())).optional()
|
|
12086
12090
|
});
|
|
12087
12091
|
/**
|
|
12088
12092
|
* One scalar an {@link settingsStoreCapability.methods.aggregate} call asks for.
|
|
@@ -18855,10 +18859,12 @@ var TrackSourceSchema = _enum([
|
|
|
18855
18859
|
* Terminal for the plain `markForTrain` toggle: returning it to `staging` is
|
|
18856
18860
|
* a deliberate action of the retrain page, not a side effect of a checkbox.
|
|
18857
18861
|
*
|
|
18858
|
-
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'`
|
|
18859
|
-
*
|
|
18860
|
-
*
|
|
18861
|
-
*
|
|
18862
|
+
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'` so that
|
|
18863
|
+
* every row is selectable by a positive predicate. (The filter language has
|
|
18864
|
+
* since grown the NULL-safe `whereNot` / `whereNotIn` and an `IS NULL` reading
|
|
18865
|
+
* of `where: { f: null }`, which is how {@link TrackSourceSchema} can be
|
|
18866
|
+
* filtered on a NULLABLE column — see `excludeSources`. It did not when this
|
|
18867
|
+
* column was designed, and a NOT NULL column is still the better shape.)
|
|
18862
18868
|
*/
|
|
18863
18869
|
var RetrainStatusSchema = _enum([
|
|
18864
18870
|
"none",
|
|
@@ -19594,7 +19600,9 @@ var RecentTracksQueryInput = object({
|
|
|
19594
19600
|
* whose class list is unreadable are kept, and the client's rule stays the
|
|
19595
19601
|
* exact one.
|
|
19596
19602
|
*/
|
|
19597
|
-
classes: array(string()).optional()
|
|
19603
|
+
classes: array(string()).optional(),
|
|
19604
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
19605
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
19598
19606
|
});
|
|
19599
19607
|
/**
|
|
19600
19608
|
* A Summary (D359): the per-camera session envelope that references tracks.
|
|
@@ -20022,7 +20030,9 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
20022
20030
|
* selected is an operator who has not narrowed anything, and an empty
|
|
20023
20031
|
* timeline would read as a camera that saw nothing.
|
|
20024
20032
|
*/
|
|
20025
|
-
classes: array(string()).optional()
|
|
20033
|
+
classes: array(string()).optional(),
|
|
20034
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
20035
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
20026
20036
|
}), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
|
|
20027
20037
|
kind: "mutation",
|
|
20028
20038
|
auth: "admin"
|
|
@@ -29324,8 +29334,27 @@ var PrivacyMaskRegionSchema = object({
|
|
|
29324
29334
|
/** Current on-camera privacy state — mask master enable + zones + microphone. */
|
|
29325
29335
|
var PrivacyMaskStatusSchema = object({
|
|
29326
29336
|
enabled: boolean(),
|
|
29327
|
-
/**
|
|
29328
|
-
|
|
29337
|
+
/**
|
|
29338
|
+
* Active zones (normalized 0..1). Length ≤ maxRegions.
|
|
29339
|
+
*
|
|
29340
|
+
* `null` means "no answer" — the provider has never reached this camera
|
|
29341
|
+
* (a cold `runtimeState` slice, a battery camera asleep) or the read
|
|
29342
|
+
* failed. A consumer must render it as UNKNOWN and never as "this camera
|
|
29343
|
+
* has no zones": those two look identical to an operator right up to the
|
|
29344
|
+
* moment one of them is acted on, and acting on them differs completely.
|
|
29345
|
+
* The switch group turned an unanswered read into *"nothing is set up for
|
|
29346
|
+
* it to act on"* — an instruction to go and draw a zone that already
|
|
29347
|
+
* exists — and this editor seeded an EMPTY canvas from it, one Save away
|
|
29348
|
+
* from deleting the mask it could not read.
|
|
29349
|
+
*
|
|
29350
|
+
* Empty-and-answered is `[]` and stays a real answer: this camera genuinely
|
|
29351
|
+
* has no zones. The distinction is the same one {@link
|
|
29352
|
+
* PrivacyMaskStatusSchema.shape.audioEnabled} already draws for the
|
|
29353
|
+
* microphone, on the very same payload — both planes come from ONE refresh,
|
|
29354
|
+
* so it was never coherent for one of them to be able to say "unknown"
|
|
29355
|
+
* while the other could not.
|
|
29356
|
+
*/
|
|
29357
|
+
regions: array(PrivacyMaskRegionSchema).nullable(),
|
|
29329
29358
|
/**
|
|
29330
29359
|
* Is the camera capturing sound right now? Read from the camera, never from
|
|
29331
29360
|
* a server-side mirror.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-provider-wyze",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.87",
|
|
4
4
|
"description": "Wyze camera device-provider addon for CamStack — wraps the @apocaliss92/wyze-bridge-js P2P/DTLS client, feeding the stream-broker via the pull-rfc4571 lazy-publish path (a structural twin of addon-provider-reolink)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|