@camstack/addon-provider-amcrest 0.2.82 → 0.2.84
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
|
@@ -12046,6 +12046,9 @@ var QueryFilterSchema = object({
|
|
|
12046
12046
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
12047
12047
|
/** NULL-safe exclusion: matches rows whose field is NULL OR != the value. */
|
|
12048
12048
|
whereNot: record(string(), unknown()).optional(),
|
|
12049
|
+
/** NULL-safe exclusion of a SET — `whereNot` for more than one value. An
|
|
12050
|
+
* empty list excludes nothing. See `QueryFilter.whereNotIn`. */
|
|
12051
|
+
whereNotIn: record(string(), array(unknown())).optional(),
|
|
12049
12052
|
orderBy: object({
|
|
12050
12053
|
field: string(),
|
|
12051
12054
|
direction: _enum(["asc", "desc"])
|
|
@@ -12066,7 +12069,8 @@ var MutationFilterSchema = object({
|
|
|
12066
12069
|
where: record(string(), unknown()).optional(),
|
|
12067
12070
|
whereIn: record(string(), array(unknown())).optional(),
|
|
12068
12071
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
12069
|
-
whereNot: record(string(), unknown()).optional()
|
|
12072
|
+
whereNot: record(string(), unknown()).optional(),
|
|
12073
|
+
whereNotIn: record(string(), array(unknown())).optional()
|
|
12070
12074
|
});
|
|
12071
12075
|
/**
|
|
12072
12076
|
* One scalar an {@link settingsStoreCapability.methods.aggregate} call asks for.
|
|
@@ -18822,10 +18826,12 @@ var TrackSourceSchema = _enum([
|
|
|
18822
18826
|
* Terminal for the plain `markForTrain` toggle: returning it to `staging` is
|
|
18823
18827
|
* a deliberate action of the retrain page, not a side effect of a checkbox.
|
|
18824
18828
|
*
|
|
18825
|
-
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'`
|
|
18826
|
-
*
|
|
18827
|
-
*
|
|
18828
|
-
*
|
|
18829
|
+
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'` so that
|
|
18830
|
+
* every row is selectable by a positive predicate. (The filter language has
|
|
18831
|
+
* since grown the NULL-safe `whereNot` / `whereNotIn` and an `IS NULL` reading
|
|
18832
|
+
* of `where: { f: null }`, which is how {@link TrackSourceSchema} can be
|
|
18833
|
+
* filtered on a NULLABLE column — see `excludeSources`. It did not when this
|
|
18834
|
+
* column was designed, and a NOT NULL column is still the better shape.)
|
|
18829
18835
|
*/
|
|
18830
18836
|
var RetrainStatusSchema = _enum([
|
|
18831
18837
|
"none",
|
|
@@ -19561,7 +19567,9 @@ var RecentTracksQueryInput = object({
|
|
|
19561
19567
|
* whose class list is unreadable are kept, and the client's rule stays the
|
|
19562
19568
|
* exact one.
|
|
19563
19569
|
*/
|
|
19564
|
-
classes: array(string()).optional()
|
|
19570
|
+
classes: array(string()).optional(),
|
|
19571
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
19572
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
19565
19573
|
});
|
|
19566
19574
|
/**
|
|
19567
19575
|
* A Summary (D359): the per-camera session envelope that references tracks.
|
|
@@ -19989,7 +19997,9 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
19989
19997
|
* selected is an operator who has not narrowed anything, and an empty
|
|
19990
19998
|
* timeline would read as a camera that saw nothing.
|
|
19991
19999
|
*/
|
|
19992
|
-
classes: array(string()).optional()
|
|
20000
|
+
classes: array(string()).optional(),
|
|
20001
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
20002
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
19993
20003
|
}), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
|
|
19994
20004
|
kind: "mutation",
|
|
19995
20005
|
auth: "admin"
|
|
@@ -20494,8 +20504,25 @@ var occupancyRecheckFramesField = {
|
|
|
20494
20504
|
* (analyzer attaches detected `regions[]`; onboard does not — the
|
|
20495
20505
|
* camera typically only reports a binary signal plus an optional
|
|
20496
20506
|
* channel/AI class which lives in dedicated event channels).
|
|
20497
|
-
|
|
20498
|
-
|
|
20507
|
+
*
|
|
20508
|
+
* - `onboard` — the camera's firmware said something moved.
|
|
20509
|
+
* - `analyzer` — this runner's frame-diff said so, and attaches `regions[]`.
|
|
20510
|
+
* - `device-activity` — the DEVICE said it is doing its job: the
|
|
20511
|
+
* `recording-signal` LEVEL the same device raises for the recorder
|
|
20512
|
+
* ([D380](../../../../docs/decisions/adr-0380-a-device-decided-recording-is-a-mode-with-no-schedule-seeded-once.md)),
|
|
20513
|
+
* republished as a motion source. It attaches **nothing** — no regions, no
|
|
20514
|
+
* class: the only fact it carries is that the device is active, and a robot
|
|
20515
|
+
* vacuum that is itself the moving object has no region worth sending. It is
|
|
20516
|
+
* a LEVEL, so unlike `onboard` it has a real falling edge, and unlike
|
|
20517
|
+
* `analyzer` it must not open the frame-diff side-channel — the runner's
|
|
20518
|
+
* `handleOnboardMotionAnalyzer` gate is `source === 'onboard'` and stays that
|
|
20519
|
+
* way ([D392](../../../../docs/decisions/adr-0392-a-device-that-says-it-is-working-is-a-motion-source-of-its-own.md)).
|
|
20520
|
+
*/
|
|
20521
|
+
var MotionSourceEnum = _enum([
|
|
20522
|
+
"onboard",
|
|
20523
|
+
"analyzer",
|
|
20524
|
+
"device-activity"
|
|
20525
|
+
]);
|
|
20499
20526
|
/**
|
|
20500
20527
|
* List of motion sources active on a camera. Empty array is valid:
|
|
20501
20528
|
* "no source" — happens for battery cams without firmware motion when
|
package/dist/addon.mjs
CHANGED
|
@@ -12047,6 +12047,9 @@ var QueryFilterSchema = object({
|
|
|
12047
12047
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
12048
12048
|
/** NULL-safe exclusion: matches rows whose field is NULL OR != the value. */
|
|
12049
12049
|
whereNot: record(string(), unknown()).optional(),
|
|
12050
|
+
/** NULL-safe exclusion of a SET — `whereNot` for more than one value. An
|
|
12051
|
+
* empty list excludes nothing. See `QueryFilter.whereNotIn`. */
|
|
12052
|
+
whereNotIn: record(string(), array(unknown())).optional(),
|
|
12050
12053
|
orderBy: object({
|
|
12051
12054
|
field: string(),
|
|
12052
12055
|
direction: _enum(["asc", "desc"])
|
|
@@ -12067,7 +12070,8 @@ var MutationFilterSchema = object({
|
|
|
12067
12070
|
where: record(string(), unknown()).optional(),
|
|
12068
12071
|
whereIn: record(string(), array(unknown())).optional(),
|
|
12069
12072
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
12070
|
-
whereNot: record(string(), unknown()).optional()
|
|
12073
|
+
whereNot: record(string(), unknown()).optional(),
|
|
12074
|
+
whereNotIn: record(string(), array(unknown())).optional()
|
|
12071
12075
|
});
|
|
12072
12076
|
/**
|
|
12073
12077
|
* One scalar an {@link settingsStoreCapability.methods.aggregate} call asks for.
|
|
@@ -18823,10 +18827,12 @@ var TrackSourceSchema = _enum([
|
|
|
18823
18827
|
* Terminal for the plain `markForTrain` toggle: returning it to `staging` is
|
|
18824
18828
|
* a deliberate action of the retrain page, not a side effect of a checkbox.
|
|
18825
18829
|
*
|
|
18826
|
-
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'`
|
|
18827
|
-
*
|
|
18828
|
-
*
|
|
18829
|
-
*
|
|
18830
|
+
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'` so that
|
|
18831
|
+
* every row is selectable by a positive predicate. (The filter language has
|
|
18832
|
+
* since grown the NULL-safe `whereNot` / `whereNotIn` and an `IS NULL` reading
|
|
18833
|
+
* of `where: { f: null }`, which is how {@link TrackSourceSchema} can be
|
|
18834
|
+
* filtered on a NULLABLE column — see `excludeSources`. It did not when this
|
|
18835
|
+
* column was designed, and a NOT NULL column is still the better shape.)
|
|
18830
18836
|
*/
|
|
18831
18837
|
var RetrainStatusSchema = _enum([
|
|
18832
18838
|
"none",
|
|
@@ -19562,7 +19568,9 @@ var RecentTracksQueryInput = object({
|
|
|
19562
19568
|
* whose class list is unreadable are kept, and the client's rule stays the
|
|
19563
19569
|
* exact one.
|
|
19564
19570
|
*/
|
|
19565
|
-
classes: array(string()).optional()
|
|
19571
|
+
classes: array(string()).optional(),
|
|
19572
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
19573
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
19566
19574
|
});
|
|
19567
19575
|
/**
|
|
19568
19576
|
* A Summary (D359): the per-camera session envelope that references tracks.
|
|
@@ -19990,7 +19998,9 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
19990
19998
|
* selected is an operator who has not narrowed anything, and an empty
|
|
19991
19999
|
* timeline would read as a camera that saw nothing.
|
|
19992
20000
|
*/
|
|
19993
|
-
classes: array(string()).optional()
|
|
20001
|
+
classes: array(string()).optional(),
|
|
20002
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
20003
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
19994
20004
|
}), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
|
|
19995
20005
|
kind: "mutation",
|
|
19996
20006
|
auth: "admin"
|
|
@@ -20495,8 +20505,25 @@ var occupancyRecheckFramesField = {
|
|
|
20495
20505
|
* (analyzer attaches detected `regions[]`; onboard does not — the
|
|
20496
20506
|
* camera typically only reports a binary signal plus an optional
|
|
20497
20507
|
* channel/AI class which lives in dedicated event channels).
|
|
20498
|
-
|
|
20499
|
-
|
|
20508
|
+
*
|
|
20509
|
+
* - `onboard` — the camera's firmware said something moved.
|
|
20510
|
+
* - `analyzer` — this runner's frame-diff said so, and attaches `regions[]`.
|
|
20511
|
+
* - `device-activity` — the DEVICE said it is doing its job: the
|
|
20512
|
+
* `recording-signal` LEVEL the same device raises for the recorder
|
|
20513
|
+
* ([D380](../../../../docs/decisions/adr-0380-a-device-decided-recording-is-a-mode-with-no-schedule-seeded-once.md)),
|
|
20514
|
+
* republished as a motion source. It attaches **nothing** — no regions, no
|
|
20515
|
+
* class: the only fact it carries is that the device is active, and a robot
|
|
20516
|
+
* vacuum that is itself the moving object has no region worth sending. It is
|
|
20517
|
+
* a LEVEL, so unlike `onboard` it has a real falling edge, and unlike
|
|
20518
|
+
* `analyzer` it must not open the frame-diff side-channel — the runner's
|
|
20519
|
+
* `handleOnboardMotionAnalyzer` gate is `source === 'onboard'` and stays that
|
|
20520
|
+
* way ([D392](../../../../docs/decisions/adr-0392-a-device-that-says-it-is-working-is-a-motion-source-of-its-own.md)).
|
|
20521
|
+
*/
|
|
20522
|
+
var MotionSourceEnum = _enum([
|
|
20523
|
+
"onboard",
|
|
20524
|
+
"analyzer",
|
|
20525
|
+
"device-activity"
|
|
20526
|
+
]);
|
|
20500
20527
|
/**
|
|
20501
20528
|
* List of motion sources active on a camera. Empty array is valid:
|
|
20502
20529
|
* "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-amcrest",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.84",
|
|
4
4
|
"description": "Amcrest/Dahua camera device provider addon for CamStack — Dahua CGI over HTTP(S) with digest auth (snapshot, RTSP catalog, PTZ, image/day-night config)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|