@camstack/addon-provider-petkit 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 +36 -9
- package/dist/addon.mjs +36 -9
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -13153,6 +13153,9 @@ var QueryFilterSchema = object({
|
|
|
13153
13153
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
13154
13154
|
/** NULL-safe exclusion: matches rows whose field is NULL OR != the value. */
|
|
13155
13155
|
whereNot: record(string(), unknown()).optional(),
|
|
13156
|
+
/** NULL-safe exclusion of a SET — `whereNot` for more than one value. An
|
|
13157
|
+
* empty list excludes nothing. See `QueryFilter.whereNotIn`. */
|
|
13158
|
+
whereNotIn: record(string(), array(unknown())).optional(),
|
|
13156
13159
|
orderBy: object({
|
|
13157
13160
|
field: string(),
|
|
13158
13161
|
direction: _enum(["asc", "desc"])
|
|
@@ -13173,7 +13176,8 @@ var MutationFilterSchema = object({
|
|
|
13173
13176
|
where: record(string(), unknown()).optional(),
|
|
13174
13177
|
whereIn: record(string(), array(unknown())).optional(),
|
|
13175
13178
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
13176
|
-
whereNot: record(string(), unknown()).optional()
|
|
13179
|
+
whereNot: record(string(), unknown()).optional(),
|
|
13180
|
+
whereNotIn: record(string(), array(unknown())).optional()
|
|
13177
13181
|
});
|
|
13178
13182
|
/**
|
|
13179
13183
|
* One scalar an {@link settingsStoreCapability.methods.aggregate} call asks for.
|
|
@@ -19946,10 +19950,12 @@ var TrackSourceSchema = _enum([
|
|
|
19946
19950
|
* Terminal for the plain `markForTrain` toggle: returning it to `staging` is
|
|
19947
19951
|
* a deliberate action of the retrain page, not a side effect of a checkbox.
|
|
19948
19952
|
*
|
|
19949
|
-
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'`
|
|
19950
|
-
*
|
|
19951
|
-
*
|
|
19952
|
-
*
|
|
19953
|
+
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'` so that
|
|
19954
|
+
* every row is selectable by a positive predicate. (The filter language has
|
|
19955
|
+
* since grown the NULL-safe `whereNot` / `whereNotIn` and an `IS NULL` reading
|
|
19956
|
+
* of `where: { f: null }`, which is how {@link TrackSourceSchema} can be
|
|
19957
|
+
* filtered on a NULLABLE column — see `excludeSources`. It did not when this
|
|
19958
|
+
* column was designed, and a NOT NULL column is still the better shape.)
|
|
19953
19959
|
*/
|
|
19954
19960
|
var RetrainStatusSchema = _enum([
|
|
19955
19961
|
"none",
|
|
@@ -20685,7 +20691,9 @@ var RecentTracksQueryInput = object({
|
|
|
20685
20691
|
* whose class list is unreadable are kept, and the client's rule stays the
|
|
20686
20692
|
* exact one.
|
|
20687
20693
|
*/
|
|
20688
|
-
classes: array(string()).optional()
|
|
20694
|
+
classes: array(string()).optional(),
|
|
20695
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
20696
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
20689
20697
|
});
|
|
20690
20698
|
/**
|
|
20691
20699
|
* A Summary (D359): the per-camera session envelope that references tracks.
|
|
@@ -21113,7 +21121,9 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
21113
21121
|
* selected is an operator who has not narrowed anything, and an empty
|
|
21114
21122
|
* timeline would read as a camera that saw nothing.
|
|
21115
21123
|
*/
|
|
21116
|
-
classes: array(string()).optional()
|
|
21124
|
+
classes: array(string()).optional(),
|
|
21125
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
21126
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
21117
21127
|
}), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
|
|
21118
21128
|
kind: "mutation",
|
|
21119
21129
|
auth: "admin"
|
|
@@ -21618,8 +21628,25 @@ var occupancyRecheckFramesField = {
|
|
|
21618
21628
|
* (analyzer attaches detected `regions[]`; onboard does not — the
|
|
21619
21629
|
* camera typically only reports a binary signal plus an optional
|
|
21620
21630
|
* channel/AI class which lives in dedicated event channels).
|
|
21621
|
-
|
|
21622
|
-
|
|
21631
|
+
*
|
|
21632
|
+
* - `onboard` — the camera's firmware said something moved.
|
|
21633
|
+
* - `analyzer` — this runner's frame-diff said so, and attaches `regions[]`.
|
|
21634
|
+
* - `device-activity` — the DEVICE said it is doing its job: the
|
|
21635
|
+
* `recording-signal` LEVEL the same device raises for the recorder
|
|
21636
|
+
* ([D380](../../../../docs/decisions/adr-0380-a-device-decided-recording-is-a-mode-with-no-schedule-seeded-once.md)),
|
|
21637
|
+
* republished as a motion source. It attaches **nothing** — no regions, no
|
|
21638
|
+
* class: the only fact it carries is that the device is active, and a robot
|
|
21639
|
+
* vacuum that is itself the moving object has no region worth sending. It is
|
|
21640
|
+
* a LEVEL, so unlike `onboard` it has a real falling edge, and unlike
|
|
21641
|
+
* `analyzer` it must not open the frame-diff side-channel — the runner's
|
|
21642
|
+
* `handleOnboardMotionAnalyzer` gate is `source === 'onboard'` and stays that
|
|
21643
|
+
* way ([D392](../../../../docs/decisions/adr-0392-a-device-that-says-it-is-working-is-a-motion-source-of-its-own.md)).
|
|
21644
|
+
*/
|
|
21645
|
+
var MotionSourceEnum = _enum([
|
|
21646
|
+
"onboard",
|
|
21647
|
+
"analyzer",
|
|
21648
|
+
"device-activity"
|
|
21649
|
+
]);
|
|
21623
21650
|
/**
|
|
21624
21651
|
* List of motion sources active on a camera. Empty array is valid:
|
|
21625
21652
|
* "no source" — happens for battery cams without firmware motion when
|
package/dist/addon.mjs
CHANGED
|
@@ -13152,6 +13152,9 @@ var QueryFilterSchema = object({
|
|
|
13152
13152
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
13153
13153
|
/** NULL-safe exclusion: matches rows whose field is NULL OR != the value. */
|
|
13154
13154
|
whereNot: record(string(), unknown()).optional(),
|
|
13155
|
+
/** NULL-safe exclusion of a SET — `whereNot` for more than one value. An
|
|
13156
|
+
* empty list excludes nothing. See `QueryFilter.whereNotIn`. */
|
|
13157
|
+
whereNotIn: record(string(), array(unknown())).optional(),
|
|
13155
13158
|
orderBy: object({
|
|
13156
13159
|
field: string(),
|
|
13157
13160
|
direction: _enum(["asc", "desc"])
|
|
@@ -13172,7 +13175,8 @@ var MutationFilterSchema = object({
|
|
|
13172
13175
|
where: record(string(), unknown()).optional(),
|
|
13173
13176
|
whereIn: record(string(), array(unknown())).optional(),
|
|
13174
13177
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
13175
|
-
whereNot: record(string(), unknown()).optional()
|
|
13178
|
+
whereNot: record(string(), unknown()).optional(),
|
|
13179
|
+
whereNotIn: record(string(), array(unknown())).optional()
|
|
13176
13180
|
});
|
|
13177
13181
|
/**
|
|
13178
13182
|
* One scalar an {@link settingsStoreCapability.methods.aggregate} call asks for.
|
|
@@ -19945,10 +19949,12 @@ var TrackSourceSchema = _enum([
|
|
|
19945
19949
|
* Terminal for the plain `markForTrain` toggle: returning it to `staging` is
|
|
19946
19950
|
* a deliberate action of the retrain page, not a side effect of a checkbox.
|
|
19947
19951
|
*
|
|
19948
|
-
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'`
|
|
19949
|
-
*
|
|
19950
|
-
*
|
|
19951
|
-
*
|
|
19952
|
+
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'` so that
|
|
19953
|
+
* every row is selectable by a positive predicate. (The filter language has
|
|
19954
|
+
* since grown the NULL-safe `whereNot` / `whereNotIn` and an `IS NULL` reading
|
|
19955
|
+
* of `where: { f: null }`, which is how {@link TrackSourceSchema} can be
|
|
19956
|
+
* filtered on a NULLABLE column — see `excludeSources`. It did not when this
|
|
19957
|
+
* column was designed, and a NOT NULL column is still the better shape.)
|
|
19952
19958
|
*/
|
|
19953
19959
|
var RetrainStatusSchema = _enum([
|
|
19954
19960
|
"none",
|
|
@@ -20684,7 +20690,9 @@ var RecentTracksQueryInput = object({
|
|
|
20684
20690
|
* whose class list is unreadable are kept, and the client's rule stays the
|
|
20685
20691
|
* exact one.
|
|
20686
20692
|
*/
|
|
20687
|
-
classes: array(string()).optional()
|
|
20693
|
+
classes: array(string()).optional(),
|
|
20694
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
20695
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
20688
20696
|
});
|
|
20689
20697
|
/**
|
|
20690
20698
|
* A Summary (D359): the per-camera session envelope that references tracks.
|
|
@@ -21112,7 +21120,9 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
21112
21120
|
* selected is an operator who has not narrowed anything, and an empty
|
|
21113
21121
|
* timeline would read as a camera that saw nothing.
|
|
21114
21122
|
*/
|
|
21115
|
-
classes: array(string()).optional()
|
|
21123
|
+
classes: array(string()).optional(),
|
|
21124
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
21125
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
21116
21126
|
}), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
|
|
21117
21127
|
kind: "mutation",
|
|
21118
21128
|
auth: "admin"
|
|
@@ -21617,8 +21627,25 @@ var occupancyRecheckFramesField = {
|
|
|
21617
21627
|
* (analyzer attaches detected `regions[]`; onboard does not — the
|
|
21618
21628
|
* camera typically only reports a binary signal plus an optional
|
|
21619
21629
|
* channel/AI class which lives in dedicated event channels).
|
|
21620
|
-
|
|
21621
|
-
|
|
21630
|
+
*
|
|
21631
|
+
* - `onboard` — the camera's firmware said something moved.
|
|
21632
|
+
* - `analyzer` — this runner's frame-diff said so, and attaches `regions[]`.
|
|
21633
|
+
* - `device-activity` — the DEVICE said it is doing its job: the
|
|
21634
|
+
* `recording-signal` LEVEL the same device raises for the recorder
|
|
21635
|
+
* ([D380](../../../../docs/decisions/adr-0380-a-device-decided-recording-is-a-mode-with-no-schedule-seeded-once.md)),
|
|
21636
|
+
* republished as a motion source. It attaches **nothing** — no regions, no
|
|
21637
|
+
* class: the only fact it carries is that the device is active, and a robot
|
|
21638
|
+
* vacuum that is itself the moving object has no region worth sending. It is
|
|
21639
|
+
* a LEVEL, so unlike `onboard` it has a real falling edge, and unlike
|
|
21640
|
+
* `analyzer` it must not open the frame-diff side-channel — the runner's
|
|
21641
|
+
* `handleOnboardMotionAnalyzer` gate is `source === 'onboard'` and stays that
|
|
21642
|
+
* way ([D392](../../../../docs/decisions/adr-0392-a-device-that-says-it-is-working-is-a-motion-source-of-its-own.md)).
|
|
21643
|
+
*/
|
|
21644
|
+
var MotionSourceEnum = _enum([
|
|
21645
|
+
"onboard",
|
|
21646
|
+
"analyzer",
|
|
21647
|
+
"device-activity"
|
|
21648
|
+
]);
|
|
21622
21649
|
/**
|
|
21623
21650
|
* List of motion sources active on a camera. Empty array is valid:
|
|
21624
21651
|
* "no source" — happens for battery cams without firmware motion when
|
package/package.json
CHANGED