@camstack/addon-provider-amcrest 0.2.83 → 0.2.85
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 +39 -10
- package/dist/addon.mjs +39 -10
- 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"
|
|
@@ -29329,8 +29339,27 @@ var PrivacyMaskRegionSchema = object({
|
|
|
29329
29339
|
/** Current on-camera privacy state — mask master enable + zones + microphone. */
|
|
29330
29340
|
var PrivacyMaskStatusSchema = object({
|
|
29331
29341
|
enabled: boolean(),
|
|
29332
|
-
/**
|
|
29333
|
-
|
|
29342
|
+
/**
|
|
29343
|
+
* Active zones (normalized 0..1). Length ≤ maxRegions.
|
|
29344
|
+
*
|
|
29345
|
+
* `null` means "no answer" — the provider has never reached this camera
|
|
29346
|
+
* (a cold `runtimeState` slice, a battery camera asleep) or the read
|
|
29347
|
+
* failed. A consumer must render it as UNKNOWN and never as "this camera
|
|
29348
|
+
* has no zones": those two look identical to an operator right up to the
|
|
29349
|
+
* moment one of them is acted on, and acting on them differs completely.
|
|
29350
|
+
* The switch group turned an unanswered read into *"nothing is set up for
|
|
29351
|
+
* it to act on"* — an instruction to go and draw a zone that already
|
|
29352
|
+
* exists — and this editor seeded an EMPTY canvas from it, one Save away
|
|
29353
|
+
* from deleting the mask it could not read.
|
|
29354
|
+
*
|
|
29355
|
+
* Empty-and-answered is `[]` and stays a real answer: this camera genuinely
|
|
29356
|
+
* has no zones. The distinction is the same one {@link
|
|
29357
|
+
* PrivacyMaskStatusSchema.shape.audioEnabled} already draws for the
|
|
29358
|
+
* microphone, on the very same payload — both planes come from ONE refresh,
|
|
29359
|
+
* so it was never coherent for one of them to be able to say "unknown"
|
|
29360
|
+
* while the other could not.
|
|
29361
|
+
*/
|
|
29362
|
+
regions: array(PrivacyMaskRegionSchema).nullable(),
|
|
29334
29363
|
/**
|
|
29335
29364
|
* Is the camera capturing sound right now? Read from the camera, never from
|
|
29336
29365
|
* a server-side mirror.
|
|
@@ -45275,7 +45304,7 @@ var AmcrestCamera = class AmcrestCamera extends BaseDevice {
|
|
|
45275
45304
|
logger: this.ctx.logger,
|
|
45276
45305
|
empty: () => ({
|
|
45277
45306
|
enabled: false,
|
|
45278
|
-
regions:
|
|
45307
|
+
regions: null,
|
|
45279
45308
|
audioEnabled: null,
|
|
45280
45309
|
lastFetchedAt: 0
|
|
45281
45310
|
})
|
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"
|
|
@@ -29330,8 +29340,27 @@ var PrivacyMaskRegionSchema = object({
|
|
|
29330
29340
|
/** Current on-camera privacy state — mask master enable + zones + microphone. */
|
|
29331
29341
|
var PrivacyMaskStatusSchema = object({
|
|
29332
29342
|
enabled: boolean(),
|
|
29333
|
-
/**
|
|
29334
|
-
|
|
29343
|
+
/**
|
|
29344
|
+
* Active zones (normalized 0..1). Length ≤ maxRegions.
|
|
29345
|
+
*
|
|
29346
|
+
* `null` means "no answer" — the provider has never reached this camera
|
|
29347
|
+
* (a cold `runtimeState` slice, a battery camera asleep) or the read
|
|
29348
|
+
* failed. A consumer must render it as UNKNOWN and never as "this camera
|
|
29349
|
+
* has no zones": those two look identical to an operator right up to the
|
|
29350
|
+
* moment one of them is acted on, and acting on them differs completely.
|
|
29351
|
+
* The switch group turned an unanswered read into *"nothing is set up for
|
|
29352
|
+
* it to act on"* — an instruction to go and draw a zone that already
|
|
29353
|
+
* exists — and this editor seeded an EMPTY canvas from it, one Save away
|
|
29354
|
+
* from deleting the mask it could not read.
|
|
29355
|
+
*
|
|
29356
|
+
* Empty-and-answered is `[]` and stays a real answer: this camera genuinely
|
|
29357
|
+
* has no zones. The distinction is the same one {@link
|
|
29358
|
+
* PrivacyMaskStatusSchema.shape.audioEnabled} already draws for the
|
|
29359
|
+
* microphone, on the very same payload — both planes come from ONE refresh,
|
|
29360
|
+
* so it was never coherent for one of them to be able to say "unknown"
|
|
29361
|
+
* while the other could not.
|
|
29362
|
+
*/
|
|
29363
|
+
regions: array(PrivacyMaskRegionSchema).nullable(),
|
|
29335
29364
|
/**
|
|
29336
29365
|
* Is the camera capturing sound right now? Read from the camera, never from
|
|
29337
29366
|
* a server-side mirror.
|
|
@@ -45276,7 +45305,7 @@ var AmcrestCamera = class AmcrestCamera extends BaseDevice {
|
|
|
45276
45305
|
logger: this.ctx.logger,
|
|
45277
45306
|
empty: () => ({
|
|
45278
45307
|
enabled: false,
|
|
45279
|
-
regions:
|
|
45308
|
+
regions: null,
|
|
45280
45309
|
audioEnabled: null,
|
|
45281
45310
|
lastFetchedAt: 0
|
|
45282
45311
|
})
|
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.85",
|
|
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",
|