@camstack/addon-provider-hikvision 1.2.140 → 1.2.141
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 +33 -50
- package/dist/addon.mjs +33 -50
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -10871,11 +10871,11 @@ var ModelVariantGroupSchema = object({
|
|
|
10871
10871
|
/** Quantization axis. Omit ⇒ the fp32 base build. */
|
|
10872
10872
|
precision: _enum(["fp32", "int8"]).optional(),
|
|
10873
10873
|
/**
|
|
10874
|
-
*
|
|
10875
|
-
*
|
|
10876
|
-
*
|
|
10874
|
+
* Training / latency-variant axis. Omit ⇒ the standard build. `test` marks
|
|
10875
|
+
* an alternate training of the same family (Scrypted `relu_test`); chip
|
|
10876
|
+
* label is "Test".
|
|
10877
10877
|
*/
|
|
10878
|
-
optimization: _enum(["standard", "
|
|
10878
|
+
optimization: _enum(["standard", "test"]).optional(),
|
|
10879
10879
|
/**
|
|
10880
10880
|
* Input-resolution axis (square input side, px). Omit ⇒ the family's native
|
|
10881
10881
|
* resolution (640 for yolo26). Reduced-input builds (320 / 256) are a big,
|
|
@@ -10898,9 +10898,10 @@ var ModelProviderIdSchema = _enum([
|
|
|
10898
10898
|
* are per upstream. A persisted custom-model row written when this field was a
|
|
10899
10899
|
* string still parses — the string is lifted into `{ weights }`.
|
|
10900
10900
|
*
|
|
10901
|
-
* Every licence surface (the
|
|
10902
|
-
*
|
|
10903
|
-
*
|
|
10901
|
+
* Every machine licence surface (`THIRD_PARTY_MODELS.md`, the Hugging Face
|
|
10902
|
+
* model table) is GENERATED from these records by
|
|
10903
|
+
* `scripts/gen-model-licenses.ts` (D661). Operator-facing docs live in
|
|
10904
|
+
* `camstack/docs` → `/docs/detection/models`.
|
|
10904
10905
|
*/
|
|
10905
10906
|
var ModelLicenseSchema = preprocess((value) => typeof value === "string" ? { weights: value } : value, object({
|
|
10906
10907
|
/** SPDX id of the WEIGHTS' terms, a `LicenseRef-*` for non-SPDX terms, or `UNKNOWN`. */
|
|
@@ -17835,7 +17836,7 @@ method(object({
|
|
|
17835
17836
|
timeoutMs: 6e5
|
|
17836
17837
|
});
|
|
17837
17838
|
method(object({
|
|
17838
|
-
|
|
17839
|
+
targetNodeId: string(),
|
|
17839
17840
|
modelId: string(),
|
|
17840
17841
|
format: _enum(MODEL_FORMATS),
|
|
17841
17842
|
entry: ModelCatalogEntrySchema
|
|
@@ -21802,39 +21803,19 @@ Object.freeze(Object.fromEntries([{
|
|
|
21802
21803
|
label: "Face recognition model",
|
|
21803
21804
|
defaultModelId: "auraface-r100",
|
|
21804
21805
|
indexName: "the enrolled face gallery",
|
|
21805
|
-
options: [
|
|
21806
|
-
|
|
21807
|
-
|
|
21808
|
-
|
|
21809
|
-
},
|
|
21810
|
-
{
|
|
21811
|
-
id: "arcface-r100",
|
|
21812
|
-
label: "ArcFace (ResNet34)"
|
|
21813
|
-
},
|
|
21814
|
-
{
|
|
21815
|
-
id: "inception-resnet-v1",
|
|
21816
|
-
label: "Inception ResNet V1"
|
|
21817
|
-
}
|
|
21818
|
-
]
|
|
21806
|
+
options: [{
|
|
21807
|
+
id: "auraface-r100",
|
|
21808
|
+
label: "AuraFace R100"
|
|
21809
|
+
}]
|
|
21819
21810
|
}, {
|
|
21820
21811
|
stepId: "clip-embedding",
|
|
21821
21812
|
label: "Semantic search model",
|
|
21822
|
-
defaultModelId: "
|
|
21813
|
+
defaultModelId: "siglip2-b16-224",
|
|
21823
21814
|
indexName: "the object semantic-search index",
|
|
21824
|
-
options: [
|
|
21825
|
-
|
|
21826
|
-
|
|
21827
|
-
|
|
21828
|
-
},
|
|
21829
|
-
{
|
|
21830
|
-
id: "mobileclip-s2",
|
|
21831
|
-
label: "MobileCLIP S2"
|
|
21832
|
-
},
|
|
21833
|
-
{
|
|
21834
|
-
id: "siglip2-b16-224",
|
|
21835
|
-
label: "SigLIP2 B/16 (Apache-2.0)"
|
|
21836
|
-
}
|
|
21837
|
-
]
|
|
21815
|
+
options: [{
|
|
21816
|
+
id: "siglip2-b16-224",
|
|
21817
|
+
label: "SigLIP2 B/16 (Apache-2.0)"
|
|
21818
|
+
}]
|
|
21838
21819
|
}].map((s) => [s.stepId, s.defaultModelId])));
|
|
21839
21820
|
var CLUSTER_STEP_SETTING_FIELDS = [{
|
|
21840
21821
|
stepId: "face-embedding",
|
|
@@ -34725,7 +34706,13 @@ var OsdStatusSchema = object({ overlays: array(object({
|
|
|
34725
34706
|
*/
|
|
34726
34707
|
availablePositions: array(OsdPositionEnum).readonly(),
|
|
34727
34708
|
/** Firmware does not allow editing the `text` field (e.g. timestamp). */
|
|
34728
|
-
readOnly: boolean().optional()
|
|
34709
|
+
readOnly: boolean().optional(),
|
|
34710
|
+
/**
|
|
34711
|
+
* Firmware text ceiling for this overlay. Absent = no known limit.
|
|
34712
|
+
* The OSD manager truncates here on every write — never stores its own
|
|
34713
|
+
* copy on the binding.
|
|
34714
|
+
*/
|
|
34715
|
+
maxCharacters: number().int().positive().optional()
|
|
34729
34716
|
})).readonly() });
|
|
34730
34717
|
var OsdOverlayPatchSchema = object({
|
|
34731
34718
|
enabled: boolean().optional(),
|
|
@@ -34822,7 +34809,9 @@ var OsdTemplateBindingSchema = object({
|
|
|
34822
34809
|
valuePath: string().min(1).max(64),
|
|
34823
34810
|
/** Convert TO this unit at render (`tryConvertUnit`). Absent = source unit. */
|
|
34824
34811
|
displayUnit: string().max(16).optional(),
|
|
34825
|
-
maxDecimals: number().int().min(0).max(4).default(1)
|
|
34812
|
+
maxDecimals: number().int().min(0).max(4).default(1),
|
|
34813
|
+
/** Raw value → display text (same shape as slot binding). Empty string hides. */
|
|
34814
|
+
valueMap: record(string(), string()).optional()
|
|
34826
34815
|
});
|
|
34827
34816
|
/**
|
|
34828
34817
|
* A named template: bindings (alias → leaf field) + a parser that
|
|
@@ -34872,18 +34861,11 @@ var OsdSlotBindingSchema = object({
|
|
|
34872
34861
|
source: OsdSourceSchema,
|
|
34873
34862
|
/** `${value}` and `${unit}` are substituted; every occurrence. */
|
|
34874
34863
|
template: string().max(96).default("${value}"),
|
|
34875
|
-
/** Truncate with an ellipsis past this length. Absent = no limit. */
|
|
34876
|
-
maxCharacters: number().int().min(4).max(64).optional(),
|
|
34877
34864
|
/**
|
|
34878
34865
|
* Decimal places for a numeric value. `0` yields an integer — the
|
|
34879
34866
|
* documented workaround for firmwares that reject `.` in overlay text.
|
|
34880
34867
|
*/
|
|
34881
34868
|
maxDecimals: number().int().min(0).max(4).default(1),
|
|
34882
|
-
/**
|
|
34883
|
-
* Appended via `${unit}` when no unit conversion produces a label.
|
|
34884
|
-
* Prefer `source.displayUnit` for converted device-state values.
|
|
34885
|
-
*/
|
|
34886
|
-
unitLabel: string().max(8).optional(),
|
|
34887
34869
|
/** Raw value → display text, e.g. `{"true":"MOTION","false":""}`. */
|
|
34888
34870
|
valueMap: record(string(), string()).optional(),
|
|
34889
34871
|
/** Time windows in which the slot is shown. Absent = always. */
|
|
@@ -34892,9 +34874,7 @@ var OsdSlotBindingSchema = object({
|
|
|
34892
34874
|
* Display gate, in the notification centre's condition vocabulary.
|
|
34893
34875
|
* Only the keys reported by `getConditionSupport` are accepted.
|
|
34894
34876
|
*/
|
|
34895
|
-
conditions: NcConditionsSchema.optional()
|
|
34896
|
-
/** Rendered when the gate is closed or the value unreadable. Empty = hide. */
|
|
34897
|
-
fallbackText: string().max(64).default("")
|
|
34877
|
+
conditions: NcConditionsSchema.optional()
|
|
34898
34878
|
});
|
|
34899
34879
|
/** One camera slot, as the operator sees it: firmware truth + our binding. */
|
|
34900
34880
|
var OsdSlotViewSchema = object({
|
|
@@ -54170,6 +54150,8 @@ var STATE_SUMMARY_VARS = [
|
|
|
54170
54150
|
[...RULE_TEXT],
|
|
54171
54151
|
[...RULE_TEXT],
|
|
54172
54152
|
[...RULE_TEXT],
|
|
54153
|
+
[...RULE_TEXT],
|
|
54154
|
+
[...RULE_TEXT],
|
|
54173
54155
|
...STATE_SUMMARY_VARS
|
|
54174
54156
|
];
|
|
54175
54157
|
new Set([
|
|
@@ -64780,7 +64762,8 @@ var HikvisionCamera = class HikvisionCamera extends BaseDevice {
|
|
|
64780
64762
|
kind: "text",
|
|
64781
64763
|
enabled: t.enabled,
|
|
64782
64764
|
text: t.text ?? "",
|
|
64783
|
-
availablePositions: []
|
|
64765
|
+
availablePositions: [],
|
|
64766
|
+
maxCharacters: 44
|
|
64784
64767
|
});
|
|
64785
64768
|
return { overlays };
|
|
64786
64769
|
},
|
package/dist/addon.mjs
CHANGED
|
@@ -10850,11 +10850,11 @@ var ModelVariantGroupSchema = object({
|
|
|
10850
10850
|
/** Quantization axis. Omit ⇒ the fp32 base build. */
|
|
10851
10851
|
precision: _enum(["fp32", "int8"]).optional(),
|
|
10852
10852
|
/**
|
|
10853
|
-
*
|
|
10854
|
-
*
|
|
10855
|
-
*
|
|
10853
|
+
* Training / latency-variant axis. Omit ⇒ the standard build. `test` marks
|
|
10854
|
+
* an alternate training of the same family (Scrypted `relu_test`); chip
|
|
10855
|
+
* label is "Test".
|
|
10856
10856
|
*/
|
|
10857
|
-
optimization: _enum(["standard", "
|
|
10857
|
+
optimization: _enum(["standard", "test"]).optional(),
|
|
10858
10858
|
/**
|
|
10859
10859
|
* Input-resolution axis (square input side, px). Omit ⇒ the family's native
|
|
10860
10860
|
* resolution (640 for yolo26). Reduced-input builds (320 / 256) are a big,
|
|
@@ -10877,9 +10877,10 @@ var ModelProviderIdSchema = _enum([
|
|
|
10877
10877
|
* are per upstream. A persisted custom-model row written when this field was a
|
|
10878
10878
|
* string still parses — the string is lifted into `{ weights }`.
|
|
10879
10879
|
*
|
|
10880
|
-
* Every licence surface (the
|
|
10881
|
-
*
|
|
10882
|
-
*
|
|
10880
|
+
* Every machine licence surface (`THIRD_PARTY_MODELS.md`, the Hugging Face
|
|
10881
|
+
* model table) is GENERATED from these records by
|
|
10882
|
+
* `scripts/gen-model-licenses.ts` (D661). Operator-facing docs live in
|
|
10883
|
+
* `camstack/docs` → `/docs/detection/models`.
|
|
10883
10884
|
*/
|
|
10884
10885
|
var ModelLicenseSchema = preprocess((value) => typeof value === "string" ? { weights: value } : value, object({
|
|
10885
10886
|
/** SPDX id of the WEIGHTS' terms, a `LicenseRef-*` for non-SPDX terms, or `UNKNOWN`. */
|
|
@@ -17814,7 +17815,7 @@ method(object({
|
|
|
17814
17815
|
timeoutMs: 6e5
|
|
17815
17816
|
});
|
|
17816
17817
|
method(object({
|
|
17817
|
-
|
|
17818
|
+
targetNodeId: string(),
|
|
17818
17819
|
modelId: string(),
|
|
17819
17820
|
format: _enum(MODEL_FORMATS),
|
|
17820
17821
|
entry: ModelCatalogEntrySchema
|
|
@@ -21781,39 +21782,19 @@ Object.freeze(Object.fromEntries([{
|
|
|
21781
21782
|
label: "Face recognition model",
|
|
21782
21783
|
defaultModelId: "auraface-r100",
|
|
21783
21784
|
indexName: "the enrolled face gallery",
|
|
21784
|
-
options: [
|
|
21785
|
-
|
|
21786
|
-
|
|
21787
|
-
|
|
21788
|
-
},
|
|
21789
|
-
{
|
|
21790
|
-
id: "arcface-r100",
|
|
21791
|
-
label: "ArcFace (ResNet34)"
|
|
21792
|
-
},
|
|
21793
|
-
{
|
|
21794
|
-
id: "inception-resnet-v1",
|
|
21795
|
-
label: "Inception ResNet V1"
|
|
21796
|
-
}
|
|
21797
|
-
]
|
|
21785
|
+
options: [{
|
|
21786
|
+
id: "auraface-r100",
|
|
21787
|
+
label: "AuraFace R100"
|
|
21788
|
+
}]
|
|
21798
21789
|
}, {
|
|
21799
21790
|
stepId: "clip-embedding",
|
|
21800
21791
|
label: "Semantic search model",
|
|
21801
|
-
defaultModelId: "
|
|
21792
|
+
defaultModelId: "siglip2-b16-224",
|
|
21802
21793
|
indexName: "the object semantic-search index",
|
|
21803
|
-
options: [
|
|
21804
|
-
|
|
21805
|
-
|
|
21806
|
-
|
|
21807
|
-
},
|
|
21808
|
-
{
|
|
21809
|
-
id: "mobileclip-s2",
|
|
21810
|
-
label: "MobileCLIP S2"
|
|
21811
|
-
},
|
|
21812
|
-
{
|
|
21813
|
-
id: "siglip2-b16-224",
|
|
21814
|
-
label: "SigLIP2 B/16 (Apache-2.0)"
|
|
21815
|
-
}
|
|
21816
|
-
]
|
|
21794
|
+
options: [{
|
|
21795
|
+
id: "siglip2-b16-224",
|
|
21796
|
+
label: "SigLIP2 B/16 (Apache-2.0)"
|
|
21797
|
+
}]
|
|
21817
21798
|
}].map((s) => [s.stepId, s.defaultModelId])));
|
|
21818
21799
|
var CLUSTER_STEP_SETTING_FIELDS = [{
|
|
21819
21800
|
stepId: "face-embedding",
|
|
@@ -34704,7 +34685,13 @@ var OsdStatusSchema = object({ overlays: array(object({
|
|
|
34704
34685
|
*/
|
|
34705
34686
|
availablePositions: array(OsdPositionEnum).readonly(),
|
|
34706
34687
|
/** Firmware does not allow editing the `text` field (e.g. timestamp). */
|
|
34707
|
-
readOnly: boolean().optional()
|
|
34688
|
+
readOnly: boolean().optional(),
|
|
34689
|
+
/**
|
|
34690
|
+
* Firmware text ceiling for this overlay. Absent = no known limit.
|
|
34691
|
+
* The OSD manager truncates here on every write — never stores its own
|
|
34692
|
+
* copy on the binding.
|
|
34693
|
+
*/
|
|
34694
|
+
maxCharacters: number().int().positive().optional()
|
|
34708
34695
|
})).readonly() });
|
|
34709
34696
|
var OsdOverlayPatchSchema = object({
|
|
34710
34697
|
enabled: boolean().optional(),
|
|
@@ -34801,7 +34788,9 @@ var OsdTemplateBindingSchema = object({
|
|
|
34801
34788
|
valuePath: string().min(1).max(64),
|
|
34802
34789
|
/** Convert TO this unit at render (`tryConvertUnit`). Absent = source unit. */
|
|
34803
34790
|
displayUnit: string().max(16).optional(),
|
|
34804
|
-
maxDecimals: number().int().min(0).max(4).default(1)
|
|
34791
|
+
maxDecimals: number().int().min(0).max(4).default(1),
|
|
34792
|
+
/** Raw value → display text (same shape as slot binding). Empty string hides. */
|
|
34793
|
+
valueMap: record(string(), string()).optional()
|
|
34805
34794
|
});
|
|
34806
34795
|
/**
|
|
34807
34796
|
* A named template: bindings (alias → leaf field) + a parser that
|
|
@@ -34851,18 +34840,11 @@ var OsdSlotBindingSchema = object({
|
|
|
34851
34840
|
source: OsdSourceSchema,
|
|
34852
34841
|
/** `${value}` and `${unit}` are substituted; every occurrence. */
|
|
34853
34842
|
template: string().max(96).default("${value}"),
|
|
34854
|
-
/** Truncate with an ellipsis past this length. Absent = no limit. */
|
|
34855
|
-
maxCharacters: number().int().min(4).max(64).optional(),
|
|
34856
34843
|
/**
|
|
34857
34844
|
* Decimal places for a numeric value. `0` yields an integer — the
|
|
34858
34845
|
* documented workaround for firmwares that reject `.` in overlay text.
|
|
34859
34846
|
*/
|
|
34860
34847
|
maxDecimals: number().int().min(0).max(4).default(1),
|
|
34861
|
-
/**
|
|
34862
|
-
* Appended via `${unit}` when no unit conversion produces a label.
|
|
34863
|
-
* Prefer `source.displayUnit` for converted device-state values.
|
|
34864
|
-
*/
|
|
34865
|
-
unitLabel: string().max(8).optional(),
|
|
34866
34848
|
/** Raw value → display text, e.g. `{"true":"MOTION","false":""}`. */
|
|
34867
34849
|
valueMap: record(string(), string()).optional(),
|
|
34868
34850
|
/** Time windows in which the slot is shown. Absent = always. */
|
|
@@ -34871,9 +34853,7 @@ var OsdSlotBindingSchema = object({
|
|
|
34871
34853
|
* Display gate, in the notification centre's condition vocabulary.
|
|
34872
34854
|
* Only the keys reported by `getConditionSupport` are accepted.
|
|
34873
34855
|
*/
|
|
34874
|
-
conditions: NcConditionsSchema.optional()
|
|
34875
|
-
/** Rendered when the gate is closed or the value unreadable. Empty = hide. */
|
|
34876
|
-
fallbackText: string().max(64).default("")
|
|
34856
|
+
conditions: NcConditionsSchema.optional()
|
|
34877
34857
|
});
|
|
34878
34858
|
/** One camera slot, as the operator sees it: firmware truth + our binding. */
|
|
34879
34859
|
var OsdSlotViewSchema = object({
|
|
@@ -54149,6 +54129,8 @@ var STATE_SUMMARY_VARS = [
|
|
|
54149
54129
|
[...RULE_TEXT],
|
|
54150
54130
|
[...RULE_TEXT],
|
|
54151
54131
|
[...RULE_TEXT],
|
|
54132
|
+
[...RULE_TEXT],
|
|
54133
|
+
[...RULE_TEXT],
|
|
54152
54134
|
...STATE_SUMMARY_VARS
|
|
54153
54135
|
];
|
|
54154
54136
|
new Set([
|
|
@@ -64759,7 +64741,8 @@ var HikvisionCamera = class HikvisionCamera extends BaseDevice {
|
|
|
64759
64741
|
kind: "text",
|
|
64760
64742
|
enabled: t.enabled,
|
|
64761
64743
|
text: t.text ?? "",
|
|
64762
|
-
availablePositions: []
|
|
64744
|
+
availablePositions: [],
|
|
64745
|
+
maxCharacters: 44
|
|
64763
64746
|
});
|
|
64764
64747
|
return { overlays };
|
|
64765
64748
|
},
|
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.141",
|
|
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",
|