@camstack/addon-provider-rademacher 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
|
@@ -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"
|
|
@@ -21484,8 +21494,25 @@ var occupancyRecheckFramesField = {
|
|
|
21484
21494
|
* (analyzer attaches detected `regions[]`; onboard does not — the
|
|
21485
21495
|
* camera typically only reports a binary signal plus an optional
|
|
21486
21496
|
* channel/AI class which lives in dedicated event channels).
|
|
21487
|
-
|
|
21488
|
-
|
|
21497
|
+
*
|
|
21498
|
+
* - `onboard` — the camera's firmware said something moved.
|
|
21499
|
+
* - `analyzer` — this runner's frame-diff said so, and attaches `regions[]`.
|
|
21500
|
+
* - `device-activity` — the DEVICE said it is doing its job: the
|
|
21501
|
+
* `recording-signal` LEVEL the same device raises for the recorder
|
|
21502
|
+
* ([D380](../../../../docs/decisions/adr-0380-a-device-decided-recording-is-a-mode-with-no-schedule-seeded-once.md)),
|
|
21503
|
+
* republished as a motion source. It attaches **nothing** — no regions, no
|
|
21504
|
+
* class: the only fact it carries is that the device is active, and a robot
|
|
21505
|
+
* vacuum that is itself the moving object has no region worth sending. It is
|
|
21506
|
+
* a LEVEL, so unlike `onboard` it has a real falling edge, and unlike
|
|
21507
|
+
* `analyzer` it must not open the frame-diff side-channel — the runner's
|
|
21508
|
+
* `handleOnboardMotionAnalyzer` gate is `source === 'onboard'` and stays that
|
|
21509
|
+
* way ([D392](../../../../docs/decisions/adr-0392-a-device-that-says-it-is-working-is-a-motion-source-of-its-own.md)).
|
|
21510
|
+
*/
|
|
21511
|
+
var MotionSourceEnum = _enum([
|
|
21512
|
+
"onboard",
|
|
21513
|
+
"analyzer",
|
|
21514
|
+
"device-activity"
|
|
21515
|
+
]);
|
|
21489
21516
|
/**
|
|
21490
21517
|
* List of motion sources active on a camera. Empty array is valid:
|
|
21491
21518
|
* "no source" — happens for battery cams without firmware motion when
|
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"
|
|
@@ -21483,8 +21493,25 @@ var occupancyRecheckFramesField = {
|
|
|
21483
21493
|
* (analyzer attaches detected `regions[]`; onboard does not — the
|
|
21484
21494
|
* camera typically only reports a binary signal plus an optional
|
|
21485
21495
|
* channel/AI class which lives in dedicated event channels).
|
|
21486
|
-
|
|
21487
|
-
|
|
21496
|
+
*
|
|
21497
|
+
* - `onboard` — the camera's firmware said something moved.
|
|
21498
|
+
* - `analyzer` — this runner's frame-diff said so, and attaches `regions[]`.
|
|
21499
|
+
* - `device-activity` — the DEVICE said it is doing its job: the
|
|
21500
|
+
* `recording-signal` LEVEL the same device raises for the recorder
|
|
21501
|
+
* ([D380](../../../../docs/decisions/adr-0380-a-device-decided-recording-is-a-mode-with-no-schedule-seeded-once.md)),
|
|
21502
|
+
* republished as a motion source. It attaches **nothing** — no regions, no
|
|
21503
|
+
* class: the only fact it carries is that the device is active, and a robot
|
|
21504
|
+
* vacuum that is itself the moving object has no region worth sending. It is
|
|
21505
|
+
* a LEVEL, so unlike `onboard` it has a real falling edge, and unlike
|
|
21506
|
+
* `analyzer` it must not open the frame-diff side-channel — the runner's
|
|
21507
|
+
* `handleOnboardMotionAnalyzer` gate is `source === 'onboard'` and stays that
|
|
21508
|
+
* way ([D392](../../../../docs/decisions/adr-0392-a-device-that-says-it-is-working-is-a-motion-source-of-its-own.md)).
|
|
21509
|
+
*/
|
|
21510
|
+
var MotionSourceEnum = _enum([
|
|
21511
|
+
"onboard",
|
|
21512
|
+
"analyzer",
|
|
21513
|
+
"device-activity"
|
|
21514
|
+
]);
|
|
21488
21515
|
/**
|
|
21489
21516
|
* List of motion sources active on a camera. Empty array is valid:
|
|
21490
21517
|
* "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-rademacher",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.81",
|
|
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",
|