@camstack/addon-provider-hikvision 1.2.89 → 1.2.91
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
|
@@ -12339,6 +12339,9 @@ var QueryFilterSchema = object({
|
|
|
12339
12339
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
12340
12340
|
/** NULL-safe exclusion: matches rows whose field is NULL OR != the value. */
|
|
12341
12341
|
whereNot: record(string(), unknown()).optional(),
|
|
12342
|
+
/** NULL-safe exclusion of a SET — `whereNot` for more than one value. An
|
|
12343
|
+
* empty list excludes nothing. See `QueryFilter.whereNotIn`. */
|
|
12344
|
+
whereNotIn: record(string(), array(unknown())).optional(),
|
|
12342
12345
|
orderBy: object({
|
|
12343
12346
|
field: string(),
|
|
12344
12347
|
direction: _enum(["asc", "desc"])
|
|
@@ -12359,7 +12362,8 @@ var MutationFilterSchema = object({
|
|
|
12359
12362
|
where: record(string(), unknown()).optional(),
|
|
12360
12363
|
whereIn: record(string(), array(unknown())).optional(),
|
|
12361
12364
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
12362
|
-
whereNot: record(string(), unknown()).optional()
|
|
12365
|
+
whereNot: record(string(), unknown()).optional(),
|
|
12366
|
+
whereNotIn: record(string(), array(unknown())).optional()
|
|
12363
12367
|
});
|
|
12364
12368
|
/**
|
|
12365
12369
|
* One scalar an {@link settingsStoreCapability.methods.aggregate} call asks for.
|
|
@@ -19134,10 +19138,12 @@ var TrackSourceSchema = _enum([
|
|
|
19134
19138
|
* Terminal for the plain `markForTrain` toggle: returning it to `staging` is
|
|
19135
19139
|
* a deliberate action of the retrain page, not a side effect of a checkbox.
|
|
19136
19140
|
*
|
|
19137
|
-
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'`
|
|
19138
|
-
*
|
|
19139
|
-
*
|
|
19140
|
-
*
|
|
19141
|
+
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'` so that
|
|
19142
|
+
* every row is selectable by a positive predicate. (The filter language has
|
|
19143
|
+
* since grown the NULL-safe `whereNot` / `whereNotIn` and an `IS NULL` reading
|
|
19144
|
+
* of `where: { f: null }`, which is how {@link TrackSourceSchema} can be
|
|
19145
|
+
* filtered on a NULLABLE column — see `excludeSources`. It did not when this
|
|
19146
|
+
* column was designed, and a NOT NULL column is still the better shape.)
|
|
19141
19147
|
*/
|
|
19142
19148
|
var RetrainStatusSchema = _enum([
|
|
19143
19149
|
"none",
|
|
@@ -19873,7 +19879,9 @@ var RecentTracksQueryInput = object({
|
|
|
19873
19879
|
* whose class list is unreadable are kept, and the client's rule stays the
|
|
19874
19880
|
* exact one.
|
|
19875
19881
|
*/
|
|
19876
|
-
classes: array(string()).optional()
|
|
19882
|
+
classes: array(string()).optional(),
|
|
19883
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
19884
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
19877
19885
|
});
|
|
19878
19886
|
/**
|
|
19879
19887
|
* A Summary (D359): the per-camera session envelope that references tracks.
|
|
@@ -20301,7 +20309,9 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
20301
20309
|
* selected is an operator who has not narrowed anything, and an empty
|
|
20302
20310
|
* timeline would read as a camera that saw nothing.
|
|
20303
20311
|
*/
|
|
20304
|
-
classes: array(string()).optional()
|
|
20312
|
+
classes: array(string()).optional(),
|
|
20313
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
20314
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
20305
20315
|
}), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
|
|
20306
20316
|
kind: "mutation",
|
|
20307
20317
|
auth: "admin"
|
|
@@ -29641,8 +29651,27 @@ var PrivacyMaskRegionSchema = object({
|
|
|
29641
29651
|
/** Current on-camera privacy state — mask master enable + zones + microphone. */
|
|
29642
29652
|
var PrivacyMaskStatusSchema = object({
|
|
29643
29653
|
enabled: boolean(),
|
|
29644
|
-
/**
|
|
29645
|
-
|
|
29654
|
+
/**
|
|
29655
|
+
* Active zones (normalized 0..1). Length ≤ maxRegions.
|
|
29656
|
+
*
|
|
29657
|
+
* `null` means "no answer" — the provider has never reached this camera
|
|
29658
|
+
* (a cold `runtimeState` slice, a battery camera asleep) or the read
|
|
29659
|
+
* failed. A consumer must render it as UNKNOWN and never as "this camera
|
|
29660
|
+
* has no zones": those two look identical to an operator right up to the
|
|
29661
|
+
* moment one of them is acted on, and acting on them differs completely.
|
|
29662
|
+
* The switch group turned an unanswered read into *"nothing is set up for
|
|
29663
|
+
* it to act on"* — an instruction to go and draw a zone that already
|
|
29664
|
+
* exists — and this editor seeded an EMPTY canvas from it, one Save away
|
|
29665
|
+
* from deleting the mask it could not read.
|
|
29666
|
+
*
|
|
29667
|
+
* Empty-and-answered is `[]` and stays a real answer: this camera genuinely
|
|
29668
|
+
* has no zones. The distinction is the same one {@link
|
|
29669
|
+
* PrivacyMaskStatusSchema.shape.audioEnabled} already draws for the
|
|
29670
|
+
* microphone, on the very same payload — both planes come from ONE refresh,
|
|
29671
|
+
* so it was never coherent for one of them to be able to say "unknown"
|
|
29672
|
+
* while the other could not.
|
|
29673
|
+
*/
|
|
29674
|
+
regions: array(PrivacyMaskRegionSchema).nullable(),
|
|
29646
29675
|
/**
|
|
29647
29676
|
* Is the camera capturing sound right now? Read from the camera, never from
|
|
29648
29677
|
* a server-side mirror.
|
|
@@ -50071,7 +50100,7 @@ var HikvisionCamera = class HikvisionCamera extends BaseDevice {
|
|
|
50071
50100
|
logger: this.ctx.logger,
|
|
50072
50101
|
empty: () => ({
|
|
50073
50102
|
enabled: false,
|
|
50074
|
-
regions:
|
|
50103
|
+
regions: null,
|
|
50075
50104
|
audioEnabled: null,
|
|
50076
50105
|
lastFetchedAt: 0
|
|
50077
50106
|
})
|
package/dist/addon.mjs
CHANGED
|
@@ -12340,6 +12340,9 @@ var QueryFilterSchema = object({
|
|
|
12340
12340
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
12341
12341
|
/** NULL-safe exclusion: matches rows whose field is NULL OR != the value. */
|
|
12342
12342
|
whereNot: record(string(), unknown()).optional(),
|
|
12343
|
+
/** NULL-safe exclusion of a SET — `whereNot` for more than one value. An
|
|
12344
|
+
* empty list excludes nothing. See `QueryFilter.whereNotIn`. */
|
|
12345
|
+
whereNotIn: record(string(), array(unknown())).optional(),
|
|
12343
12346
|
orderBy: object({
|
|
12344
12347
|
field: string(),
|
|
12345
12348
|
direction: _enum(["asc", "desc"])
|
|
@@ -12360,7 +12363,8 @@ var MutationFilterSchema = object({
|
|
|
12360
12363
|
where: record(string(), unknown()).optional(),
|
|
12361
12364
|
whereIn: record(string(), array(unknown())).optional(),
|
|
12362
12365
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
12363
|
-
whereNot: record(string(), unknown()).optional()
|
|
12366
|
+
whereNot: record(string(), unknown()).optional(),
|
|
12367
|
+
whereNotIn: record(string(), array(unknown())).optional()
|
|
12364
12368
|
});
|
|
12365
12369
|
/**
|
|
12366
12370
|
* One scalar an {@link settingsStoreCapability.methods.aggregate} call asks for.
|
|
@@ -19135,10 +19139,12 @@ var TrackSourceSchema = _enum([
|
|
|
19135
19139
|
* Terminal for the plain `markForTrain` toggle: returning it to `staging` is
|
|
19136
19140
|
* a deliberate action of the retrain page, not a side effect of a checkbox.
|
|
19137
19141
|
*
|
|
19138
|
-
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'`
|
|
19139
|
-
*
|
|
19140
|
-
*
|
|
19141
|
-
*
|
|
19142
|
+
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'` so that
|
|
19143
|
+
* every row is selectable by a positive predicate. (The filter language has
|
|
19144
|
+
* since grown the NULL-safe `whereNot` / `whereNotIn` and an `IS NULL` reading
|
|
19145
|
+
* of `where: { f: null }`, which is how {@link TrackSourceSchema} can be
|
|
19146
|
+
* filtered on a NULLABLE column — see `excludeSources`. It did not when this
|
|
19147
|
+
* column was designed, and a NOT NULL column is still the better shape.)
|
|
19142
19148
|
*/
|
|
19143
19149
|
var RetrainStatusSchema = _enum([
|
|
19144
19150
|
"none",
|
|
@@ -19874,7 +19880,9 @@ var RecentTracksQueryInput = object({
|
|
|
19874
19880
|
* whose class list is unreadable are kept, and the client's rule stays the
|
|
19875
19881
|
* exact one.
|
|
19876
19882
|
*/
|
|
19877
|
-
classes: array(string()).optional()
|
|
19883
|
+
classes: array(string()).optional(),
|
|
19884
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
19885
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
19878
19886
|
});
|
|
19879
19887
|
/**
|
|
19880
19888
|
* A Summary (D359): the per-camera session envelope that references tracks.
|
|
@@ -20302,7 +20310,9 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
20302
20310
|
* selected is an operator who has not narrowed anything, and an empty
|
|
20303
20311
|
* timeline would read as a camera that saw nothing.
|
|
20304
20312
|
*/
|
|
20305
|
-
classes: array(string()).optional()
|
|
20313
|
+
classes: array(string()).optional(),
|
|
20314
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
20315
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
20306
20316
|
}), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
|
|
20307
20317
|
kind: "mutation",
|
|
20308
20318
|
auth: "admin"
|
|
@@ -29642,8 +29652,27 @@ var PrivacyMaskRegionSchema = object({
|
|
|
29642
29652
|
/** Current on-camera privacy state — mask master enable + zones + microphone. */
|
|
29643
29653
|
var PrivacyMaskStatusSchema = object({
|
|
29644
29654
|
enabled: boolean(),
|
|
29645
|
-
/**
|
|
29646
|
-
|
|
29655
|
+
/**
|
|
29656
|
+
* Active zones (normalized 0..1). Length ≤ maxRegions.
|
|
29657
|
+
*
|
|
29658
|
+
* `null` means "no answer" — the provider has never reached this camera
|
|
29659
|
+
* (a cold `runtimeState` slice, a battery camera asleep) or the read
|
|
29660
|
+
* failed. A consumer must render it as UNKNOWN and never as "this camera
|
|
29661
|
+
* has no zones": those two look identical to an operator right up to the
|
|
29662
|
+
* moment one of them is acted on, and acting on them differs completely.
|
|
29663
|
+
* The switch group turned an unanswered read into *"nothing is set up for
|
|
29664
|
+
* it to act on"* — an instruction to go and draw a zone that already
|
|
29665
|
+
* exists — and this editor seeded an EMPTY canvas from it, one Save away
|
|
29666
|
+
* from deleting the mask it could not read.
|
|
29667
|
+
*
|
|
29668
|
+
* Empty-and-answered is `[]` and stays a real answer: this camera genuinely
|
|
29669
|
+
* has no zones. The distinction is the same one {@link
|
|
29670
|
+
* PrivacyMaskStatusSchema.shape.audioEnabled} already draws for the
|
|
29671
|
+
* microphone, on the very same payload — both planes come from ONE refresh,
|
|
29672
|
+
* so it was never coherent for one of them to be able to say "unknown"
|
|
29673
|
+
* while the other could not.
|
|
29674
|
+
*/
|
|
29675
|
+
regions: array(PrivacyMaskRegionSchema).nullable(),
|
|
29647
29676
|
/**
|
|
29648
29677
|
* Is the camera capturing sound right now? Read from the camera, never from
|
|
29649
29678
|
* a server-side mirror.
|
|
@@ -50072,7 +50101,7 @@ var HikvisionCamera = class HikvisionCamera extends BaseDevice {
|
|
|
50072
50101
|
logger: this.ctx.logger,
|
|
50073
50102
|
empty: () => ({
|
|
50074
50103
|
enabled: false,
|
|
50075
|
-
regions:
|
|
50104
|
+
regions: null,
|
|
50076
50105
|
audioEnabled: null,
|
|
50077
50106
|
lastFetchedAt: 0
|
|
50078
50107
|
})
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-provider-hikvision",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.91",
|
|
4
4
|
"description": "Hikvision camera device provider addon for CamStack — ISAPI over HTTP(S) with digest auth (snapshot, alarm stream, RTSP discovery)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|