@camstack/addon-provider-reolink 1.2.172 → 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 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
- * Speed-optimization axis. Omit ⇒ the standard build. `fast` marks a
11174
- * latency-optimized export (e.g. ReLU-activation variant) — the slot the
11175
- * future performance variants plug into.
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", "fast"]).optional(),
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 admin "Models and licenses" page,
11201
- * `THIRD_PARTY_MODELS.md`, the Hugging Face model table) is GENERATED from
11202
- * these records by `scripts/gen-model-licenses.ts` (D661).
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
- nodeId: string(),
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
- id: "auraface-r100",
22128
- label: "AuraFace R100"
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: "mobileclip-s1",
22133
+ defaultModelId: "siglip2-b16-224",
22143
22134
  indexName: "the object semantic-search index",
22144
- options: [
22145
- {
22146
- id: "mobileclip-s1",
22147
- label: "MobileCLIP S1"
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
- * Speed-optimization axis. Omit ⇒ the standard build. `fast` marks a
11166
- * latency-optimized export (e.g. ReLU-activation variant) — the slot the
11167
- * future performance variants plug into.
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", "fast"]).optional(),
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 admin "Models and licenses" page,
11193
- * `THIRD_PARTY_MODELS.md`, the Hugging Face model table) is GENERATED from
11194
- * these records by `scripts/gen-model-licenses.ts` (D661).
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
- nodeId: string(),
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
- id: "auraface-r100",
22120
- label: "AuraFace R100"
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: "mobileclip-s1",
22125
+ defaultModelId: "siglip2-b16-224",
22135
22126
  indexName: "the object semantic-search index",
22136
- options: [
22137
- {
22138
- id: "mobileclip-s1",
22139
- label: "MobileCLIP S1"
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
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-reolink",
3
- "version": "1.2.172",
3
+ "version": "1.2.174",
4
4
  "description": "Reolink camera device provider addon for CamStack — native Baichuan protocol",
5
5
  "keywords": [
6
6
  "camstack",