@camstack/addon-provider-reolink 1.2.173 → 1.2.174
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 +32 -49
- package/dist/addon.mjs +32 -49
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -11170,11 +11170,11 @@ var ModelVariantGroupSchema = object({
|
|
|
11170
11170
|
/** Quantization axis. Omit ⇒ the fp32 base build. */
|
|
11171
11171
|
precision: _enum(["fp32", "int8"]).optional(),
|
|
11172
11172
|
/**
|
|
11173
|
-
*
|
|
11174
|
-
*
|
|
11175
|
-
*
|
|
11173
|
+
* Training / latency-variant axis. Omit ⇒ the standard build. `test` marks
|
|
11174
|
+
* an alternate training of the same family (Scrypted `relu_test`); chip
|
|
11175
|
+
* label is "Test".
|
|
11176
11176
|
*/
|
|
11177
|
-
optimization: _enum(["standard", "
|
|
11177
|
+
optimization: _enum(["standard", "test"]).optional(),
|
|
11178
11178
|
/**
|
|
11179
11179
|
* Input-resolution axis (square input side, px). Omit ⇒ the family's native
|
|
11180
11180
|
* resolution (640 for yolo26). Reduced-input builds (320 / 256) are a big,
|
|
@@ -11197,9 +11197,10 @@ var ModelProviderIdSchema = _enum([
|
|
|
11197
11197
|
* are per upstream. A persisted custom-model row written when this field was a
|
|
11198
11198
|
* string still parses — the string is lifted into `{ weights }`.
|
|
11199
11199
|
*
|
|
11200
|
-
* Every licence surface (the
|
|
11201
|
-
*
|
|
11202
|
-
*
|
|
11200
|
+
* Every machine licence surface (`THIRD_PARTY_MODELS.md`, the Hugging Face
|
|
11201
|
+
* model table) is GENERATED from these records by
|
|
11202
|
+
* `scripts/gen-model-licenses.ts` (D661). Operator-facing docs live in
|
|
11203
|
+
* `camstack/docs` → `/docs/detection/models`.
|
|
11203
11204
|
*/
|
|
11204
11205
|
var ModelLicenseSchema = preprocess((value) => typeof value === "string" ? { weights: value } : value, object({
|
|
11205
11206
|
/** SPDX id of the WEIGHTS' terms, a `LicenseRef-*` for non-SPDX terms, or `UNKNOWN`. */
|
|
@@ -18155,7 +18156,7 @@ method(object({
|
|
|
18155
18156
|
timeoutMs: 6e5
|
|
18156
18157
|
});
|
|
18157
18158
|
method(object({
|
|
18158
|
-
|
|
18159
|
+
targetNodeId: string(),
|
|
18159
18160
|
modelId: string(),
|
|
18160
18161
|
format: _enum(MODEL_FORMATS),
|
|
18161
18162
|
entry: ModelCatalogEntrySchema
|
|
@@ -22122,39 +22123,19 @@ Object.freeze(Object.fromEntries([{
|
|
|
22122
22123
|
label: "Face recognition model",
|
|
22123
22124
|
defaultModelId: "auraface-r100",
|
|
22124
22125
|
indexName: "the enrolled face gallery",
|
|
22125
|
-
options: [
|
|
22126
|
-
|
|
22127
|
-
|
|
22128
|
-
|
|
22129
|
-
},
|
|
22130
|
-
{
|
|
22131
|
-
id: "arcface-r100",
|
|
22132
|
-
label: "ArcFace (ResNet34)"
|
|
22133
|
-
},
|
|
22134
|
-
{
|
|
22135
|
-
id: "inception-resnet-v1",
|
|
22136
|
-
label: "Inception ResNet V1"
|
|
22137
|
-
}
|
|
22138
|
-
]
|
|
22126
|
+
options: [{
|
|
22127
|
+
id: "auraface-r100",
|
|
22128
|
+
label: "AuraFace R100"
|
|
22129
|
+
}]
|
|
22139
22130
|
}, {
|
|
22140
22131
|
stepId: "clip-embedding",
|
|
22141
22132
|
label: "Semantic search model",
|
|
22142
|
-
defaultModelId: "
|
|
22133
|
+
defaultModelId: "siglip2-b16-224",
|
|
22143
22134
|
indexName: "the object semantic-search index",
|
|
22144
|
-
options: [
|
|
22145
|
-
|
|
22146
|
-
|
|
22147
|
-
|
|
22148
|
-
},
|
|
22149
|
-
{
|
|
22150
|
-
id: "mobileclip-s2",
|
|
22151
|
-
label: "MobileCLIP S2"
|
|
22152
|
-
},
|
|
22153
|
-
{
|
|
22154
|
-
id: "siglip2-b16-224",
|
|
22155
|
-
label: "SigLIP2 B/16 (Apache-2.0)"
|
|
22156
|
-
}
|
|
22157
|
-
]
|
|
22135
|
+
options: [{
|
|
22136
|
+
id: "siglip2-b16-224",
|
|
22137
|
+
label: "SigLIP2 B/16 (Apache-2.0)"
|
|
22138
|
+
}]
|
|
22158
22139
|
}].map((s) => [s.stepId, s.defaultModelId])));
|
|
22159
22140
|
var CLUSTER_STEP_SETTING_FIELDS = [{
|
|
22160
22141
|
stepId: "face-embedding",
|
|
@@ -35065,7 +35046,13 @@ var OsdStatusSchema = object({ overlays: array(object({
|
|
|
35065
35046
|
*/
|
|
35066
35047
|
availablePositions: array(OsdPositionEnum).readonly(),
|
|
35067
35048
|
/** Firmware does not allow editing the `text` field (e.g. timestamp). */
|
|
35068
|
-
readOnly: boolean().optional()
|
|
35049
|
+
readOnly: boolean().optional(),
|
|
35050
|
+
/**
|
|
35051
|
+
* Firmware text ceiling for this overlay. Absent = no known limit.
|
|
35052
|
+
* The OSD manager truncates here on every write — never stores its own
|
|
35053
|
+
* copy on the binding.
|
|
35054
|
+
*/
|
|
35055
|
+
maxCharacters: number().int().positive().optional()
|
|
35069
35056
|
})).readonly() });
|
|
35070
35057
|
var OsdOverlayPatchSchema = object({
|
|
35071
35058
|
enabled: boolean().optional(),
|
|
@@ -35162,7 +35149,9 @@ var OsdTemplateBindingSchema = object({
|
|
|
35162
35149
|
valuePath: string().min(1).max(64),
|
|
35163
35150
|
/** Convert TO this unit at render (`tryConvertUnit`). Absent = source unit. */
|
|
35164
35151
|
displayUnit: string().max(16).optional(),
|
|
35165
|
-
maxDecimals: number().int().min(0).max(4).default(1)
|
|
35152
|
+
maxDecimals: number().int().min(0).max(4).default(1),
|
|
35153
|
+
/** Raw value → display text (same shape as slot binding). Empty string hides. */
|
|
35154
|
+
valueMap: record(string(), string()).optional()
|
|
35166
35155
|
});
|
|
35167
35156
|
/**
|
|
35168
35157
|
* A named template: bindings (alias → leaf field) + a parser that
|
|
@@ -35212,18 +35201,11 @@ var OsdSlotBindingSchema = object({
|
|
|
35212
35201
|
source: OsdSourceSchema,
|
|
35213
35202
|
/** `${value}` and `${unit}` are substituted; every occurrence. */
|
|
35214
35203
|
template: string().max(96).default("${value}"),
|
|
35215
|
-
/** Truncate with an ellipsis past this length. Absent = no limit. */
|
|
35216
|
-
maxCharacters: number().int().min(4).max(64).optional(),
|
|
35217
35204
|
/**
|
|
35218
35205
|
* Decimal places for a numeric value. `0` yields an integer — the
|
|
35219
35206
|
* documented workaround for firmwares that reject `.` in overlay text.
|
|
35220
35207
|
*/
|
|
35221
35208
|
maxDecimals: number().int().min(0).max(4).default(1),
|
|
35222
|
-
/**
|
|
35223
|
-
* Appended via `${unit}` when no unit conversion produces a label.
|
|
35224
|
-
* Prefer `source.displayUnit` for converted device-state values.
|
|
35225
|
-
*/
|
|
35226
|
-
unitLabel: string().max(8).optional(),
|
|
35227
35209
|
/** Raw value → display text, e.g. `{"true":"MOTION","false":""}`. */
|
|
35228
35210
|
valueMap: record(string(), string()).optional(),
|
|
35229
35211
|
/** Time windows in which the slot is shown. Absent = always. */
|
|
@@ -35232,9 +35214,7 @@ var OsdSlotBindingSchema = object({
|
|
|
35232
35214
|
* Display gate, in the notification centre's condition vocabulary.
|
|
35233
35215
|
* Only the keys reported by `getConditionSupport` are accepted.
|
|
35234
35216
|
*/
|
|
35235
|
-
conditions: NcConditionsSchema.optional()
|
|
35236
|
-
/** Rendered when the gate is closed or the value unreadable. Empty = hide. */
|
|
35237
|
-
fallbackText: string().max(64).default("")
|
|
35217
|
+
conditions: NcConditionsSchema.optional()
|
|
35238
35218
|
});
|
|
35239
35219
|
/** One camera slot, as the operator sees it: firmware truth + our binding. */
|
|
35240
35220
|
var OsdSlotViewSchema = object({
|
|
@@ -54444,6 +54424,8 @@ var STATE_SUMMARY_VARS = [
|
|
|
54444
54424
|
[...RULE_TEXT],
|
|
54445
54425
|
[...RULE_TEXT],
|
|
54446
54426
|
[...RULE_TEXT],
|
|
54427
|
+
[...RULE_TEXT],
|
|
54428
|
+
[...RULE_TEXT],
|
|
54447
54429
|
...STATE_SUMMARY_VARS
|
|
54448
54430
|
];
|
|
54449
54431
|
new Set([
|
|
@@ -163099,6 +163081,7 @@ function overlaysFromOsdSnapshot(snapshot) {
|
|
|
163099
163081
|
enabled: snapshot.channelEnabled === true,
|
|
163100
163082
|
text: snapshot.channelName ?? "",
|
|
163101
163083
|
availablePositions: CORNER_POSITIONS,
|
|
163084
|
+
maxCharacters: 31,
|
|
163102
163085
|
...channelPosition !== void 0 ? { position: channelPosition } : {}
|
|
163103
163086
|
},
|
|
163104
163087
|
{
|
package/dist/addon.mjs
CHANGED
|
@@ -11162,11 +11162,11 @@ var ModelVariantGroupSchema = object({
|
|
|
11162
11162
|
/** Quantization axis. Omit ⇒ the fp32 base build. */
|
|
11163
11163
|
precision: _enum(["fp32", "int8"]).optional(),
|
|
11164
11164
|
/**
|
|
11165
|
-
*
|
|
11166
|
-
*
|
|
11167
|
-
*
|
|
11165
|
+
* Training / latency-variant axis. Omit ⇒ the standard build. `test` marks
|
|
11166
|
+
* an alternate training of the same family (Scrypted `relu_test`); chip
|
|
11167
|
+
* label is "Test".
|
|
11168
11168
|
*/
|
|
11169
|
-
optimization: _enum(["standard", "
|
|
11169
|
+
optimization: _enum(["standard", "test"]).optional(),
|
|
11170
11170
|
/**
|
|
11171
11171
|
* Input-resolution axis (square input side, px). Omit ⇒ the family's native
|
|
11172
11172
|
* resolution (640 for yolo26). Reduced-input builds (320 / 256) are a big,
|
|
@@ -11189,9 +11189,10 @@ var ModelProviderIdSchema = _enum([
|
|
|
11189
11189
|
* are per upstream. A persisted custom-model row written when this field was a
|
|
11190
11190
|
* string still parses — the string is lifted into `{ weights }`.
|
|
11191
11191
|
*
|
|
11192
|
-
* Every licence surface (the
|
|
11193
|
-
*
|
|
11194
|
-
*
|
|
11192
|
+
* Every machine licence surface (`THIRD_PARTY_MODELS.md`, the Hugging Face
|
|
11193
|
+
* model table) is GENERATED from these records by
|
|
11194
|
+
* `scripts/gen-model-licenses.ts` (D661). Operator-facing docs live in
|
|
11195
|
+
* `camstack/docs` → `/docs/detection/models`.
|
|
11195
11196
|
*/
|
|
11196
11197
|
var ModelLicenseSchema = preprocess((value) => typeof value === "string" ? { weights: value } : value, object({
|
|
11197
11198
|
/** SPDX id of the WEIGHTS' terms, a `LicenseRef-*` for non-SPDX terms, or `UNKNOWN`. */
|
|
@@ -18147,7 +18148,7 @@ method(object({
|
|
|
18147
18148
|
timeoutMs: 6e5
|
|
18148
18149
|
});
|
|
18149
18150
|
method(object({
|
|
18150
|
-
|
|
18151
|
+
targetNodeId: string(),
|
|
18151
18152
|
modelId: string(),
|
|
18152
18153
|
format: _enum(MODEL_FORMATS),
|
|
18153
18154
|
entry: ModelCatalogEntrySchema
|
|
@@ -22114,39 +22115,19 @@ Object.freeze(Object.fromEntries([{
|
|
|
22114
22115
|
label: "Face recognition model",
|
|
22115
22116
|
defaultModelId: "auraface-r100",
|
|
22116
22117
|
indexName: "the enrolled face gallery",
|
|
22117
|
-
options: [
|
|
22118
|
-
|
|
22119
|
-
|
|
22120
|
-
|
|
22121
|
-
},
|
|
22122
|
-
{
|
|
22123
|
-
id: "arcface-r100",
|
|
22124
|
-
label: "ArcFace (ResNet34)"
|
|
22125
|
-
},
|
|
22126
|
-
{
|
|
22127
|
-
id: "inception-resnet-v1",
|
|
22128
|
-
label: "Inception ResNet V1"
|
|
22129
|
-
}
|
|
22130
|
-
]
|
|
22118
|
+
options: [{
|
|
22119
|
+
id: "auraface-r100",
|
|
22120
|
+
label: "AuraFace R100"
|
|
22121
|
+
}]
|
|
22131
22122
|
}, {
|
|
22132
22123
|
stepId: "clip-embedding",
|
|
22133
22124
|
label: "Semantic search model",
|
|
22134
|
-
defaultModelId: "
|
|
22125
|
+
defaultModelId: "siglip2-b16-224",
|
|
22135
22126
|
indexName: "the object semantic-search index",
|
|
22136
|
-
options: [
|
|
22137
|
-
|
|
22138
|
-
|
|
22139
|
-
|
|
22140
|
-
},
|
|
22141
|
-
{
|
|
22142
|
-
id: "mobileclip-s2",
|
|
22143
|
-
label: "MobileCLIP S2"
|
|
22144
|
-
},
|
|
22145
|
-
{
|
|
22146
|
-
id: "siglip2-b16-224",
|
|
22147
|
-
label: "SigLIP2 B/16 (Apache-2.0)"
|
|
22148
|
-
}
|
|
22149
|
-
]
|
|
22127
|
+
options: [{
|
|
22128
|
+
id: "siglip2-b16-224",
|
|
22129
|
+
label: "SigLIP2 B/16 (Apache-2.0)"
|
|
22130
|
+
}]
|
|
22150
22131
|
}].map((s) => [s.stepId, s.defaultModelId])));
|
|
22151
22132
|
var CLUSTER_STEP_SETTING_FIELDS = [{
|
|
22152
22133
|
stepId: "face-embedding",
|
|
@@ -35057,7 +35038,13 @@ var OsdStatusSchema = object({ overlays: array(object({
|
|
|
35057
35038
|
*/
|
|
35058
35039
|
availablePositions: array(OsdPositionEnum).readonly(),
|
|
35059
35040
|
/** Firmware does not allow editing the `text` field (e.g. timestamp). */
|
|
35060
|
-
readOnly: boolean().optional()
|
|
35041
|
+
readOnly: boolean().optional(),
|
|
35042
|
+
/**
|
|
35043
|
+
* Firmware text ceiling for this overlay. Absent = no known limit.
|
|
35044
|
+
* The OSD manager truncates here on every write — never stores its own
|
|
35045
|
+
* copy on the binding.
|
|
35046
|
+
*/
|
|
35047
|
+
maxCharacters: number().int().positive().optional()
|
|
35061
35048
|
})).readonly() });
|
|
35062
35049
|
var OsdOverlayPatchSchema = object({
|
|
35063
35050
|
enabled: boolean().optional(),
|
|
@@ -35154,7 +35141,9 @@ var OsdTemplateBindingSchema = object({
|
|
|
35154
35141
|
valuePath: string().min(1).max(64),
|
|
35155
35142
|
/** Convert TO this unit at render (`tryConvertUnit`). Absent = source unit. */
|
|
35156
35143
|
displayUnit: string().max(16).optional(),
|
|
35157
|
-
maxDecimals: number().int().min(0).max(4).default(1)
|
|
35144
|
+
maxDecimals: number().int().min(0).max(4).default(1),
|
|
35145
|
+
/** Raw value → display text (same shape as slot binding). Empty string hides. */
|
|
35146
|
+
valueMap: record(string(), string()).optional()
|
|
35158
35147
|
});
|
|
35159
35148
|
/**
|
|
35160
35149
|
* A named template: bindings (alias → leaf field) + a parser that
|
|
@@ -35204,18 +35193,11 @@ var OsdSlotBindingSchema = object({
|
|
|
35204
35193
|
source: OsdSourceSchema,
|
|
35205
35194
|
/** `${value}` and `${unit}` are substituted; every occurrence. */
|
|
35206
35195
|
template: string().max(96).default("${value}"),
|
|
35207
|
-
/** Truncate with an ellipsis past this length. Absent = no limit. */
|
|
35208
|
-
maxCharacters: number().int().min(4).max(64).optional(),
|
|
35209
35196
|
/**
|
|
35210
35197
|
* Decimal places for a numeric value. `0` yields an integer — the
|
|
35211
35198
|
* documented workaround for firmwares that reject `.` in overlay text.
|
|
35212
35199
|
*/
|
|
35213
35200
|
maxDecimals: number().int().min(0).max(4).default(1),
|
|
35214
|
-
/**
|
|
35215
|
-
* Appended via `${unit}` when no unit conversion produces a label.
|
|
35216
|
-
* Prefer `source.displayUnit` for converted device-state values.
|
|
35217
|
-
*/
|
|
35218
|
-
unitLabel: string().max(8).optional(),
|
|
35219
35201
|
/** Raw value → display text, e.g. `{"true":"MOTION","false":""}`. */
|
|
35220
35202
|
valueMap: record(string(), string()).optional(),
|
|
35221
35203
|
/** Time windows in which the slot is shown. Absent = always. */
|
|
@@ -35224,9 +35206,7 @@ var OsdSlotBindingSchema = object({
|
|
|
35224
35206
|
* Display gate, in the notification centre's condition vocabulary.
|
|
35225
35207
|
* Only the keys reported by `getConditionSupport` are accepted.
|
|
35226
35208
|
*/
|
|
35227
|
-
conditions: NcConditionsSchema.optional()
|
|
35228
|
-
/** Rendered when the gate is closed or the value unreadable. Empty = hide. */
|
|
35229
|
-
fallbackText: string().max(64).default("")
|
|
35209
|
+
conditions: NcConditionsSchema.optional()
|
|
35230
35210
|
});
|
|
35231
35211
|
/** One camera slot, as the operator sees it: firmware truth + our binding. */
|
|
35232
35212
|
var OsdSlotViewSchema = object({
|
|
@@ -54436,6 +54416,8 @@ var STATE_SUMMARY_VARS = [
|
|
|
54436
54416
|
[...RULE_TEXT],
|
|
54437
54417
|
[...RULE_TEXT],
|
|
54438
54418
|
[...RULE_TEXT],
|
|
54419
|
+
[...RULE_TEXT],
|
|
54420
|
+
[...RULE_TEXT],
|
|
54439
54421
|
...STATE_SUMMARY_VARS
|
|
54440
54422
|
];
|
|
54441
54423
|
new Set([
|
|
@@ -163091,6 +163073,7 @@ function overlaysFromOsdSnapshot(snapshot) {
|
|
|
163091
163073
|
enabled: snapshot.channelEnabled === true,
|
|
163092
163074
|
text: snapshot.channelName ?? "",
|
|
163093
163075
|
availablePositions: CORNER_POSITIONS,
|
|
163076
|
+
maxCharacters: 31,
|
|
163094
163077
|
...channelPosition !== void 0 ? { position: channelPosition } : {}
|
|
163095
163078
|
},
|
|
163096
163079
|
{
|