@camstack/addon-provider-rademacher 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
|
@@ -13036,6 +13036,9 @@ var QueryFilterSchema = object({
|
|
|
13036
13036
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
13037
13037
|
/** NULL-safe exclusion: matches rows whose field is NULL OR != the value. */
|
|
13038
13038
|
whereNot: record(string(), unknown()).optional(),
|
|
13039
|
+
/** NULL-safe exclusion of a SET — `whereNot` for more than one value. An
|
|
13040
|
+
* empty list excludes nothing. See `QueryFilter.whereNotIn`. */
|
|
13041
|
+
whereNotIn: record(string(), array(unknown())).optional(),
|
|
13039
13042
|
orderBy: object({
|
|
13040
13043
|
field: string(),
|
|
13041
13044
|
direction: _enum(["asc", "desc"])
|
|
@@ -13056,7 +13059,8 @@ var MutationFilterSchema = object({
|
|
|
13056
13059
|
where: record(string(), unknown()).optional(),
|
|
13057
13060
|
whereIn: record(string(), array(unknown())).optional(),
|
|
13058
13061
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
13059
|
-
whereNot: record(string(), unknown()).optional()
|
|
13062
|
+
whereNot: record(string(), unknown()).optional(),
|
|
13063
|
+
whereNotIn: record(string(), array(unknown())).optional()
|
|
13060
13064
|
});
|
|
13061
13065
|
/**
|
|
13062
13066
|
* One scalar an {@link settingsStoreCapability.methods.aggregate} call asks for.
|
|
@@ -19812,10 +19816,12 @@ var TrackSourceSchema = _enum([
|
|
|
19812
19816
|
* Terminal for the plain `markForTrain` toggle: returning it to `staging` is
|
|
19813
19817
|
* a deliberate action of the retrain page, not a side effect of a checkbox.
|
|
19814
19818
|
*
|
|
19815
|
-
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'`
|
|
19816
|
-
*
|
|
19817
|
-
*
|
|
19818
|
-
*
|
|
19819
|
+
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'` so that
|
|
19820
|
+
* every row is selectable by a positive predicate. (The filter language has
|
|
19821
|
+
* since grown the NULL-safe `whereNot` / `whereNotIn` and an `IS NULL` reading
|
|
19822
|
+
* of `where: { f: null }`, which is how {@link TrackSourceSchema} can be
|
|
19823
|
+
* filtered on a NULLABLE column — see `excludeSources`. It did not when this
|
|
19824
|
+
* column was designed, and a NOT NULL column is still the better shape.)
|
|
19819
19825
|
*/
|
|
19820
19826
|
var RetrainStatusSchema = _enum([
|
|
19821
19827
|
"none",
|
|
@@ -20551,7 +20557,9 @@ var RecentTracksQueryInput = object({
|
|
|
20551
20557
|
* whose class list is unreadable are kept, and the client's rule stays the
|
|
20552
20558
|
* exact one.
|
|
20553
20559
|
*/
|
|
20554
|
-
classes: array(string()).optional()
|
|
20560
|
+
classes: array(string()).optional(),
|
|
20561
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
20562
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
20555
20563
|
});
|
|
20556
20564
|
/**
|
|
20557
20565
|
* A Summary (D359): the per-camera session envelope that references tracks.
|
|
@@ -20979,7 +20987,9 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
20979
20987
|
* selected is an operator who has not narrowed anything, and an empty
|
|
20980
20988
|
* timeline would read as a camera that saw nothing.
|
|
20981
20989
|
*/
|
|
20982
|
-
classes: array(string()).optional()
|
|
20990
|
+
classes: array(string()).optional(),
|
|
20991
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
20992
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
20983
20993
|
}), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
|
|
20984
20994
|
kind: "mutation",
|
|
20985
20995
|
auth: "admin"
|
|
@@ -30169,8 +30179,27 @@ var PrivacyMaskRegionSchema = object({
|
|
|
30169
30179
|
/** Current on-camera privacy state — mask master enable + zones + microphone. */
|
|
30170
30180
|
var PrivacyMaskStatusSchema = object({
|
|
30171
30181
|
enabled: boolean(),
|
|
30172
|
-
/**
|
|
30173
|
-
|
|
30182
|
+
/**
|
|
30183
|
+
* Active zones (normalized 0..1). Length ≤ maxRegions.
|
|
30184
|
+
*
|
|
30185
|
+
* `null` means "no answer" — the provider has never reached this camera
|
|
30186
|
+
* (a cold `runtimeState` slice, a battery camera asleep) or the read
|
|
30187
|
+
* failed. A consumer must render it as UNKNOWN and never as "this camera
|
|
30188
|
+
* has no zones": those two look identical to an operator right up to the
|
|
30189
|
+
* moment one of them is acted on, and acting on them differs completely.
|
|
30190
|
+
* The switch group turned an unanswered read into *"nothing is set up for
|
|
30191
|
+
* it to act on"* — an instruction to go and draw a zone that already
|
|
30192
|
+
* exists — and this editor seeded an EMPTY canvas from it, one Save away
|
|
30193
|
+
* from deleting the mask it could not read.
|
|
30194
|
+
*
|
|
30195
|
+
* Empty-and-answered is `[]` and stays a real answer: this camera genuinely
|
|
30196
|
+
* has no zones. The distinction is the same one {@link
|
|
30197
|
+
* PrivacyMaskStatusSchema.shape.audioEnabled} already draws for the
|
|
30198
|
+
* microphone, on the very same payload — both planes come from ONE refresh,
|
|
30199
|
+
* so it was never coherent for one of them to be able to say "unknown"
|
|
30200
|
+
* while the other could not.
|
|
30201
|
+
*/
|
|
30202
|
+
regions: array(PrivacyMaskRegionSchema).nullable(),
|
|
30174
30203
|
/**
|
|
30175
30204
|
* Is the camera capturing sound right now? Read from the camera, never from
|
|
30176
30205
|
* a server-side mirror.
|
package/dist/addon.mjs
CHANGED
|
@@ -13035,6 +13035,9 @@ var QueryFilterSchema = object({
|
|
|
13035
13035
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
13036
13036
|
/** NULL-safe exclusion: matches rows whose field is NULL OR != the value. */
|
|
13037
13037
|
whereNot: record(string(), unknown()).optional(),
|
|
13038
|
+
/** NULL-safe exclusion of a SET — `whereNot` for more than one value. An
|
|
13039
|
+
* empty list excludes nothing. See `QueryFilter.whereNotIn`. */
|
|
13040
|
+
whereNotIn: record(string(), array(unknown())).optional(),
|
|
13038
13041
|
orderBy: object({
|
|
13039
13042
|
field: string(),
|
|
13040
13043
|
direction: _enum(["asc", "desc"])
|
|
@@ -13055,7 +13058,8 @@ var MutationFilterSchema = object({
|
|
|
13055
13058
|
where: record(string(), unknown()).optional(),
|
|
13056
13059
|
whereIn: record(string(), array(unknown())).optional(),
|
|
13057
13060
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
13058
|
-
whereNot: record(string(), unknown()).optional()
|
|
13061
|
+
whereNot: record(string(), unknown()).optional(),
|
|
13062
|
+
whereNotIn: record(string(), array(unknown())).optional()
|
|
13059
13063
|
});
|
|
13060
13064
|
/**
|
|
13061
13065
|
* One scalar an {@link settingsStoreCapability.methods.aggregate} call asks for.
|
|
@@ -19811,10 +19815,12 @@ var TrackSourceSchema = _enum([
|
|
|
19811
19815
|
* Terminal for the plain `markForTrain` toggle: returning it to `staging` is
|
|
19812
19816
|
* a deliberate action of the retrain page, not a side effect of a checkbox.
|
|
19813
19817
|
*
|
|
19814
|
-
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'`
|
|
19815
|
-
*
|
|
19816
|
-
*
|
|
19817
|
-
*
|
|
19818
|
+
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'` so that
|
|
19819
|
+
* every row is selectable by a positive predicate. (The filter language has
|
|
19820
|
+
* since grown the NULL-safe `whereNot` / `whereNotIn` and an `IS NULL` reading
|
|
19821
|
+
* of `where: { f: null }`, which is how {@link TrackSourceSchema} can be
|
|
19822
|
+
* filtered on a NULLABLE column — see `excludeSources`. It did not when this
|
|
19823
|
+
* column was designed, and a NOT NULL column is still the better shape.)
|
|
19818
19824
|
*/
|
|
19819
19825
|
var RetrainStatusSchema = _enum([
|
|
19820
19826
|
"none",
|
|
@@ -20550,7 +20556,9 @@ var RecentTracksQueryInput = object({
|
|
|
20550
20556
|
* whose class list is unreadable are kept, and the client's rule stays the
|
|
20551
20557
|
* exact one.
|
|
20552
20558
|
*/
|
|
20553
|
-
classes: array(string()).optional()
|
|
20559
|
+
classes: array(string()).optional(),
|
|
20560
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
20561
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
20554
20562
|
});
|
|
20555
20563
|
/**
|
|
20556
20564
|
* A Summary (D359): the per-camera session envelope that references tracks.
|
|
@@ -20978,7 +20986,9 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
20978
20986
|
* selected is an operator who has not narrowed anything, and an empty
|
|
20979
20987
|
* timeline would read as a camera that saw nothing.
|
|
20980
20988
|
*/
|
|
20981
|
-
classes: array(string()).optional()
|
|
20989
|
+
classes: array(string()).optional(),
|
|
20990
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
20991
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
20982
20992
|
}), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
|
|
20983
20993
|
kind: "mutation",
|
|
20984
20994
|
auth: "admin"
|
|
@@ -30168,8 +30178,27 @@ var PrivacyMaskRegionSchema = object({
|
|
|
30168
30178
|
/** Current on-camera privacy state — mask master enable + zones + microphone. */
|
|
30169
30179
|
var PrivacyMaskStatusSchema = object({
|
|
30170
30180
|
enabled: boolean(),
|
|
30171
|
-
/**
|
|
30172
|
-
|
|
30181
|
+
/**
|
|
30182
|
+
* Active zones (normalized 0..1). Length ≤ maxRegions.
|
|
30183
|
+
*
|
|
30184
|
+
* `null` means "no answer" — the provider has never reached this camera
|
|
30185
|
+
* (a cold `runtimeState` slice, a battery camera asleep) or the read
|
|
30186
|
+
* failed. A consumer must render it as UNKNOWN and never as "this camera
|
|
30187
|
+
* has no zones": those two look identical to an operator right up to the
|
|
30188
|
+
* moment one of them is acted on, and acting on them differs completely.
|
|
30189
|
+
* The switch group turned an unanswered read into *"nothing is set up for
|
|
30190
|
+
* it to act on"* — an instruction to go and draw a zone that already
|
|
30191
|
+
* exists — and this editor seeded an EMPTY canvas from it, one Save away
|
|
30192
|
+
* from deleting the mask it could not read.
|
|
30193
|
+
*
|
|
30194
|
+
* Empty-and-answered is `[]` and stays a real answer: this camera genuinely
|
|
30195
|
+
* has no zones. The distinction is the same one {@link
|
|
30196
|
+
* PrivacyMaskStatusSchema.shape.audioEnabled} already draws for the
|
|
30197
|
+
* microphone, on the very same payload — both planes come from ONE refresh,
|
|
30198
|
+
* so it was never coherent for one of them to be able to say "unknown"
|
|
30199
|
+
* while the other could not.
|
|
30200
|
+
*/
|
|
30201
|
+
regions: array(PrivacyMaskRegionSchema).nullable(),
|
|
30173
30202
|
/**
|
|
30174
30203
|
* Is the camera capturing sound right now? Read from the camera, never from
|
|
30175
30204
|
* a server-side mirror.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-provider-rademacher",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.82",
|
|
4
4
|
"description": "Rademacher HomePilot device-provider addon for CamStack — wraps the @apocaliss92/noderademacher local-hub client (roller shutters over the cover cap)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|