@camstack/types 1.2.303 → 1.2.304
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 +1 -2
- package/dist/addon.mjs +1 -2
- package/dist/capabilities/custom-model-registry.cap.d.ts +2 -2
- package/dist/capabilities/model-convert.cap.d.ts +1 -1
- package/dist/capabilities/model-distributor.cap.d.ts +10 -4
- package/dist/capabilities/osd-manager.cap.d.ts +5 -18
- package/dist/capabilities/osd.cap.d.ts +4 -0
- package/dist/capabilities/pipeline-executor.cap.d.ts +5 -5
- package/dist/capabilities/stream-broker.cap.d.ts +4 -4
- package/dist/encode-profile.d.ts +2 -2
- package/dist/index.js +66 -57
- package/dist/index.mjs +66 -57
- package/dist/types/model-variant-groups.d.ts +2 -2
- package/dist/types/models.d.ts +7 -6
- package/dist/types/pipeline-step.d.ts +1 -1
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -137,8 +137,7 @@ var CAP_INPUT_DEFAULTS = Object.freeze({
|
|
|
137
137
|
"setSlotBinding": { "binding": { "__nested__": {
|
|
138
138
|
"enabled": true,
|
|
139
139
|
"template": "${value}",
|
|
140
|
-
"maxDecimals": 1
|
|
141
|
-
"fallbackText": ""
|
|
140
|
+
"maxDecimals": 1
|
|
142
141
|
} } },
|
|
143
142
|
"upsertTemplate": { "template": { "__nested__": {
|
|
144
143
|
"bindings": [],
|
package/dist/addon.mjs
CHANGED
|
@@ -136,8 +136,7 @@ var CAP_INPUT_DEFAULTS = Object.freeze({
|
|
|
136
136
|
"setSlotBinding": { "binding": { "__nested__": {
|
|
137
137
|
"enabled": true,
|
|
138
138
|
"template": "${value}",
|
|
139
|
-
"maxDecimals": 1
|
|
140
|
-
"fallbackText": ""
|
|
139
|
+
"maxDecimals": 1
|
|
141
140
|
} } },
|
|
142
141
|
"upsertTemplate": { "template": { "__nested__": {
|
|
143
142
|
"bindings": [],
|
|
@@ -150,7 +150,7 @@ export declare const CustomModelDescriptorSchema: z.ZodObject<{
|
|
|
150
150
|
}>>;
|
|
151
151
|
optimization: z.ZodOptional<z.ZodEnum<{
|
|
152
152
|
standard: "standard";
|
|
153
|
-
|
|
153
|
+
test: "test";
|
|
154
154
|
}>>;
|
|
155
155
|
resolution: z.ZodOptional<z.ZodNumber>;
|
|
156
156
|
}, z.core.$strip>>;
|
|
@@ -329,7 +329,7 @@ export declare const customModelRegistryCapability: {
|
|
|
329
329
|
}>>;
|
|
330
330
|
optimization: z.ZodOptional<z.ZodEnum<{
|
|
331
331
|
standard: "standard";
|
|
332
|
-
|
|
332
|
+
test: "test";
|
|
333
333
|
}>>;
|
|
334
334
|
resolution: z.ZodOptional<z.ZodNumber>;
|
|
335
335
|
}, z.core.$strip>>;
|
|
@@ -9,9 +9,15 @@ import { type InferProvider } from './capability-definition.js';
|
|
|
9
9
|
* needs the Moleculer broker + the deploy-stage registry, which a forked addon
|
|
10
10
|
* can't reach. `addon-model-studio` drives it via `ctx.api` and owns the
|
|
11
11
|
* per-node availability map.
|
|
12
|
+
*
|
|
13
|
+
* The destination is `targetNodeId`, NOT `nodeId`. Cap routers and the
|
|
14
|
+
* Moleculer tRPC link strip an input field named `nodeId` and use it as a
|
|
15
|
+
* route pin (resolve the provider ON that node). Naming the destination
|
|
16
|
+
* `nodeId` routed the call to the agent — which does not host this
|
|
17
|
+
* singleton — and handed the provider an input with the destination missing.
|
|
12
18
|
*/
|
|
13
19
|
export declare const ModelDistributeInputSchema: z.ZodObject<{
|
|
14
|
-
|
|
20
|
+
targetNodeId: z.ZodString;
|
|
15
21
|
modelId: z.ZodString;
|
|
16
22
|
format: z.ZodEnum<{
|
|
17
23
|
onnx: "onnx";
|
|
@@ -152,7 +158,7 @@ export declare const ModelDistributeInputSchema: z.ZodObject<{
|
|
|
152
158
|
}>>;
|
|
153
159
|
optimization: z.ZodOptional<z.ZodEnum<{
|
|
154
160
|
standard: "standard";
|
|
155
|
-
|
|
161
|
+
test: "test";
|
|
156
162
|
}>>;
|
|
157
163
|
resolution: z.ZodOptional<z.ZodNumber>;
|
|
158
164
|
}, z.core.$strip>>;
|
|
@@ -195,7 +201,7 @@ export declare const modelDistributorCapability: {
|
|
|
195
201
|
readonly internal: true;
|
|
196
202
|
readonly methods: {
|
|
197
203
|
readonly distributeModel: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
198
|
-
|
|
204
|
+
targetNodeId: z.ZodString;
|
|
199
205
|
modelId: z.ZodString;
|
|
200
206
|
format: z.ZodEnum<{
|
|
201
207
|
onnx: "onnx";
|
|
@@ -336,7 +342,7 @@ export declare const modelDistributorCapability: {
|
|
|
336
342
|
}>>;
|
|
337
343
|
optimization: z.ZodOptional<z.ZodEnum<{
|
|
338
344
|
standard: "standard";
|
|
339
|
-
|
|
345
|
+
test: "test";
|
|
340
346
|
}>>;
|
|
341
347
|
resolution: z.ZodOptional<z.ZodNumber>;
|
|
342
348
|
}, z.core.$strip>>;
|
|
@@ -57,6 +57,7 @@ export declare const OsdTemplateBindingSchema: z.ZodObject<{
|
|
|
57
57
|
valuePath: z.ZodString;
|
|
58
58
|
displayUnit: z.ZodOptional<z.ZodString>;
|
|
59
59
|
maxDecimals: z.ZodDefault<z.ZodNumber>;
|
|
60
|
+
valueMap: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
60
61
|
}, z.core.$strip>;
|
|
61
62
|
export type OsdTemplateBinding = z.infer<typeof OsdTemplateBindingSchema>;
|
|
62
63
|
/**
|
|
@@ -76,6 +77,7 @@ export declare const OsdNamedTemplateSchema: z.ZodObject<{
|
|
|
76
77
|
valuePath: z.ZodString;
|
|
77
78
|
displayUnit: z.ZodOptional<z.ZodString>;
|
|
78
79
|
maxDecimals: z.ZodDefault<z.ZodNumber>;
|
|
80
|
+
valueMap: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
79
81
|
}, z.core.$strip>>>;
|
|
80
82
|
parser: z.ZodDefault<z.ZodString>;
|
|
81
83
|
}, z.core.$strip>;
|
|
@@ -131,9 +133,7 @@ export declare const OsdSlotBindingSchema: z.ZodObject<{
|
|
|
131
133
|
templateId: z.ZodString;
|
|
132
134
|
}, z.core.$strip>], "kind">;
|
|
133
135
|
template: z.ZodDefault<z.ZodString>;
|
|
134
|
-
maxCharacters: z.ZodOptional<z.ZodNumber>;
|
|
135
136
|
maxDecimals: z.ZodDefault<z.ZodNumber>;
|
|
136
|
-
unitLabel: z.ZodOptional<z.ZodString>;
|
|
137
137
|
valueMap: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
138
138
|
schedule: z.ZodOptional<z.ZodObject<{
|
|
139
139
|
windows: z.ZodArray<z.ZodObject<{
|
|
@@ -280,7 +280,6 @@ export declare const OsdSlotBindingSchema: z.ZodObject<{
|
|
|
280
280
|
confirmWindowSec: z.ZodOptional<z.ZodNumber>;
|
|
281
281
|
}, z.core.$strip>>;
|
|
282
282
|
}, z.core.$strip>>;
|
|
283
|
-
fallbackText: z.ZodDefault<z.ZodString>;
|
|
284
283
|
}, z.core.$strip>;
|
|
285
284
|
export type OsdSlotBinding = z.infer<typeof OsdSlotBindingSchema>;
|
|
286
285
|
/** One camera slot, as the operator sees it: firmware truth + our binding. */
|
|
@@ -320,9 +319,7 @@ export declare const OsdSlotViewSchema: z.ZodObject<{
|
|
|
320
319
|
templateId: z.ZodString;
|
|
321
320
|
}, z.core.$strip>], "kind">;
|
|
322
321
|
template: z.ZodDefault<z.ZodString>;
|
|
323
|
-
maxCharacters: z.ZodOptional<z.ZodNumber>;
|
|
324
322
|
maxDecimals: z.ZodDefault<z.ZodNumber>;
|
|
325
|
-
unitLabel: z.ZodOptional<z.ZodString>;
|
|
326
323
|
valueMap: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
327
324
|
schedule: z.ZodOptional<z.ZodObject<{
|
|
328
325
|
windows: z.ZodArray<z.ZodObject<{
|
|
@@ -469,7 +466,6 @@ export declare const OsdSlotViewSchema: z.ZodObject<{
|
|
|
469
466
|
confirmWindowSec: z.ZodOptional<z.ZodNumber>;
|
|
470
467
|
}, z.core.$strip>>;
|
|
471
468
|
}, z.core.$strip>>;
|
|
472
|
-
fallbackText: z.ZodDefault<z.ZodString>;
|
|
473
469
|
}, z.core.$strip>>;
|
|
474
470
|
}, z.core.$strip>;
|
|
475
471
|
export type OsdSlotView = z.infer<typeof OsdSlotViewSchema>;
|
|
@@ -581,9 +577,7 @@ export declare const osdManagerCapability: {
|
|
|
581
577
|
templateId: z.ZodString;
|
|
582
578
|
}, z.core.$strip>], "kind">;
|
|
583
579
|
template: z.ZodDefault<z.ZodString>;
|
|
584
|
-
maxCharacters: z.ZodOptional<z.ZodNumber>;
|
|
585
580
|
maxDecimals: z.ZodDefault<z.ZodNumber>;
|
|
586
|
-
unitLabel: z.ZodOptional<z.ZodString>;
|
|
587
581
|
valueMap: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
588
582
|
schedule: z.ZodOptional<z.ZodObject<{
|
|
589
583
|
windows: z.ZodArray<z.ZodObject<{
|
|
@@ -730,7 +724,6 @@ export declare const osdManagerCapability: {
|
|
|
730
724
|
confirmWindowSec: z.ZodOptional<z.ZodNumber>;
|
|
731
725
|
}, z.core.$strip>>;
|
|
732
726
|
}, z.core.$strip>>;
|
|
733
|
-
fallbackText: z.ZodDefault<z.ZodString>;
|
|
734
727
|
}, z.core.$strip>>;
|
|
735
728
|
}, z.core.$strip>>;
|
|
736
729
|
}, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
@@ -861,9 +854,7 @@ export declare const osdManagerCapability: {
|
|
|
861
854
|
templateId: z.ZodString;
|
|
862
855
|
}, z.core.$strip>], "kind">;
|
|
863
856
|
template: z.ZodDefault<z.ZodString>;
|
|
864
|
-
maxCharacters: z.ZodOptional<z.ZodNumber>;
|
|
865
857
|
maxDecimals: z.ZodDefault<z.ZodNumber>;
|
|
866
|
-
unitLabel: z.ZodOptional<z.ZodString>;
|
|
867
858
|
valueMap: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
868
859
|
schedule: z.ZodOptional<z.ZodObject<{
|
|
869
860
|
windows: z.ZodArray<z.ZodObject<{
|
|
@@ -1010,7 +1001,6 @@ export declare const osdManagerCapability: {
|
|
|
1010
1001
|
confirmWindowSec: z.ZodOptional<z.ZodNumber>;
|
|
1011
1002
|
}, z.core.$strip>>;
|
|
1012
1003
|
}, z.core.$strip>>;
|
|
1013
|
-
fallbackText: z.ZodDefault<z.ZodString>;
|
|
1014
1004
|
}, z.core.$strip>;
|
|
1015
1005
|
}, z.core.$strip>, z.ZodObject<{
|
|
1016
1006
|
slot: z.ZodObject<{
|
|
@@ -1049,9 +1039,7 @@ export declare const osdManagerCapability: {
|
|
|
1049
1039
|
templateId: z.ZodString;
|
|
1050
1040
|
}, z.core.$strip>], "kind">;
|
|
1051
1041
|
template: z.ZodDefault<z.ZodString>;
|
|
1052
|
-
maxCharacters: z.ZodOptional<z.ZodNumber>;
|
|
1053
1042
|
maxDecimals: z.ZodDefault<z.ZodNumber>;
|
|
1054
|
-
unitLabel: z.ZodOptional<z.ZodString>;
|
|
1055
1043
|
valueMap: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1056
1044
|
schedule: z.ZodOptional<z.ZodObject<{
|
|
1057
1045
|
windows: z.ZodArray<z.ZodObject<{
|
|
@@ -1198,7 +1186,6 @@ export declare const osdManagerCapability: {
|
|
|
1198
1186
|
confirmWindowSec: z.ZodOptional<z.ZodNumber>;
|
|
1199
1187
|
}, z.core.$strip>>;
|
|
1200
1188
|
}, z.core.$strip>>;
|
|
1201
|
-
fallbackText: z.ZodDefault<z.ZodString>;
|
|
1202
1189
|
}, z.core.$strip>>;
|
|
1203
1190
|
}, z.core.$strip>;
|
|
1204
1191
|
render: z.ZodObject<{
|
|
@@ -1269,9 +1256,7 @@ export declare const osdManagerCapability: {
|
|
|
1269
1256
|
templateId: z.ZodString;
|
|
1270
1257
|
}, z.core.$strip>], "kind">;
|
|
1271
1258
|
template: z.ZodDefault<z.ZodString>;
|
|
1272
|
-
maxCharacters: z.ZodOptional<z.ZodNumber>;
|
|
1273
1259
|
maxDecimals: z.ZodDefault<z.ZodNumber>;
|
|
1274
|
-
unitLabel: z.ZodOptional<z.ZodString>;
|
|
1275
1260
|
valueMap: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1276
1261
|
schedule: z.ZodOptional<z.ZodObject<{
|
|
1277
1262
|
windows: z.ZodArray<z.ZodObject<{
|
|
@@ -1418,7 +1403,6 @@ export declare const osdManagerCapability: {
|
|
|
1418
1403
|
confirmWindowSec: z.ZodOptional<z.ZodNumber>;
|
|
1419
1404
|
}, z.core.$strip>>;
|
|
1420
1405
|
}, z.core.$strip>>;
|
|
1421
|
-
fallbackText: z.ZodDefault<z.ZodString>;
|
|
1422
1406
|
}, z.core.$strip>>;
|
|
1423
1407
|
}, z.core.$strip>, z.ZodObject<{
|
|
1424
1408
|
slotId: z.ZodString;
|
|
@@ -1468,6 +1452,7 @@ export declare const osdManagerCapability: {
|
|
|
1468
1452
|
valuePath: z.ZodString;
|
|
1469
1453
|
displayUnit: z.ZodOptional<z.ZodString>;
|
|
1470
1454
|
maxDecimals: z.ZodDefault<z.ZodNumber>;
|
|
1455
|
+
valueMap: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1471
1456
|
}, z.core.$strip>>>;
|
|
1472
1457
|
parser: z.ZodDefault<z.ZodString>;
|
|
1473
1458
|
}, z.core.$strip>>;
|
|
@@ -1490,6 +1475,7 @@ export declare const osdManagerCapability: {
|
|
|
1490
1475
|
valuePath: z.ZodString;
|
|
1491
1476
|
displayUnit: z.ZodOptional<z.ZodString>;
|
|
1492
1477
|
maxDecimals: z.ZodDefault<z.ZodNumber>;
|
|
1478
|
+
valueMap: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1493
1479
|
}, z.core.$strip>>>;
|
|
1494
1480
|
parser: z.ZodDefault<z.ZodString>;
|
|
1495
1481
|
}, z.core.$strip>;
|
|
@@ -1507,6 +1493,7 @@ export declare const osdManagerCapability: {
|
|
|
1507
1493
|
valuePath: z.ZodString;
|
|
1508
1494
|
displayUnit: z.ZodOptional<z.ZodString>;
|
|
1509
1495
|
maxDecimals: z.ZodDefault<z.ZodNumber>;
|
|
1496
|
+
valueMap: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1510
1497
|
}, z.core.$strip>>>;
|
|
1511
1498
|
parser: z.ZodDefault<z.ZodString>;
|
|
1512
1499
|
}, z.core.$strip>;
|
|
@@ -52,6 +52,7 @@ export declare const OsdOverlaySchema: z.ZodObject<{
|
|
|
52
52
|
"bottom-right": "bottom-right";
|
|
53
53
|
}>>>;
|
|
54
54
|
readOnly: z.ZodOptional<z.ZodBoolean>;
|
|
55
|
+
maxCharacters: z.ZodOptional<z.ZodNumber>;
|
|
55
56
|
}, z.core.$strip>;
|
|
56
57
|
export type OsdOverlay = z.infer<typeof OsdOverlaySchema>;
|
|
57
58
|
export declare const OsdStatusSchema: z.ZodObject<{
|
|
@@ -83,6 +84,7 @@ export declare const OsdStatusSchema: z.ZodObject<{
|
|
|
83
84
|
"bottom-right": "bottom-right";
|
|
84
85
|
}>>>;
|
|
85
86
|
readOnly: z.ZodOptional<z.ZodBoolean>;
|
|
87
|
+
maxCharacters: z.ZodOptional<z.ZodNumber>;
|
|
86
88
|
}, z.core.$strip>>>;
|
|
87
89
|
}, z.core.$strip>;
|
|
88
90
|
export type OsdStatus = z.infer<typeof OsdStatusSchema>;
|
|
@@ -163,6 +165,7 @@ export declare const osdCapability: {
|
|
|
163
165
|
"bottom-right": "bottom-right";
|
|
164
166
|
}>>>;
|
|
165
167
|
readOnly: z.ZodOptional<z.ZodBoolean>;
|
|
168
|
+
maxCharacters: z.ZodOptional<z.ZodNumber>;
|
|
166
169
|
}, z.core.$strip>>>;
|
|
167
170
|
}, z.core.$strip>;
|
|
168
171
|
}, z.core.$strip>;
|
|
@@ -198,6 +201,7 @@ export declare const osdCapability: {
|
|
|
198
201
|
"bottom-right": "bottom-right";
|
|
199
202
|
}>>>;
|
|
200
203
|
readOnly: z.ZodOptional<z.ZodBoolean>;
|
|
204
|
+
maxCharacters: z.ZodOptional<z.ZodNumber>;
|
|
201
205
|
}, z.core.$strip>>>;
|
|
202
206
|
}, z.core.$strip>;
|
|
203
207
|
readonly kind: "command-driven";
|
|
@@ -192,7 +192,7 @@ declare const PipelineModelOptionSchema: z.ZodObject<{
|
|
|
192
192
|
}>>;
|
|
193
193
|
optimization: z.ZodOptional<z.ZodEnum<{
|
|
194
194
|
standard: "standard";
|
|
195
|
-
|
|
195
|
+
test: "test";
|
|
196
196
|
}>>;
|
|
197
197
|
resolution: z.ZodOptional<z.ZodNumber>;
|
|
198
198
|
}, z.core.$strip>>;
|
|
@@ -240,7 +240,7 @@ declare const PipelineAddonSchemaSchema: z.ZodObject<{
|
|
|
240
240
|
}>>;
|
|
241
241
|
optimization: z.ZodOptional<z.ZodEnum<{
|
|
242
242
|
standard: "standard";
|
|
243
|
-
|
|
243
|
+
test: "test";
|
|
244
244
|
}>>;
|
|
245
245
|
resolution: z.ZodOptional<z.ZodNumber>;
|
|
246
246
|
}, z.core.$strip>>;
|
|
@@ -313,7 +313,7 @@ declare const PipelineSlotSchemaSchema: z.ZodObject<{
|
|
|
313
313
|
}>>;
|
|
314
314
|
optimization: z.ZodOptional<z.ZodEnum<{
|
|
315
315
|
standard: "standard";
|
|
316
|
-
|
|
316
|
+
test: "test";
|
|
317
317
|
}>>;
|
|
318
318
|
resolution: z.ZodOptional<z.ZodNumber>;
|
|
319
319
|
}, z.core.$strip>>;
|
|
@@ -422,7 +422,7 @@ declare const PipelineSchemaSchema: z.ZodObject<{
|
|
|
422
422
|
}>>;
|
|
423
423
|
optimization: z.ZodOptional<z.ZodEnum<{
|
|
424
424
|
standard: "standard";
|
|
425
|
-
|
|
425
|
+
test: "test";
|
|
426
426
|
}>>;
|
|
427
427
|
resolution: z.ZodOptional<z.ZodNumber>;
|
|
428
428
|
}, z.core.$strip>>;
|
|
@@ -777,7 +777,7 @@ export declare const pipelineExecutorCapability: {
|
|
|
777
777
|
}>>;
|
|
778
778
|
optimization: z.ZodOptional<z.ZodEnum<{
|
|
779
779
|
standard: "standard";
|
|
780
|
-
|
|
780
|
+
test: "test";
|
|
781
781
|
}>>;
|
|
782
782
|
resolution: z.ZodOptional<z.ZodNumber>;
|
|
783
783
|
}, z.core.$strip>>;
|
|
@@ -408,11 +408,11 @@ export declare const EgressEncodeSchema: z.ZodObject<{
|
|
|
408
408
|
gopFrames: z.ZodOptional<z.ZodNumber>;
|
|
409
409
|
bf: z.ZodOptional<z.ZodNumber>;
|
|
410
410
|
preset: z.ZodOptional<z.ZodEnum<{
|
|
411
|
-
fast: "fast";
|
|
412
411
|
ultrafast: "ultrafast";
|
|
413
412
|
superfast: "superfast";
|
|
414
413
|
veryfast: "veryfast";
|
|
415
414
|
faster: "faster";
|
|
415
|
+
fast: "fast";
|
|
416
416
|
medium: "medium";
|
|
417
417
|
}>>;
|
|
418
418
|
tune: z.ZodOptional<z.ZodEnum<{
|
|
@@ -480,11 +480,11 @@ export declare const EgressTranscodeRequestSchema: z.ZodObject<{
|
|
|
480
480
|
gopFrames: z.ZodOptional<z.ZodNumber>;
|
|
481
481
|
bf: z.ZodOptional<z.ZodNumber>;
|
|
482
482
|
preset: z.ZodOptional<z.ZodEnum<{
|
|
483
|
-
fast: "fast";
|
|
484
483
|
ultrafast: "ultrafast";
|
|
485
484
|
superfast: "superfast";
|
|
486
485
|
veryfast: "veryfast";
|
|
487
486
|
faster: "faster";
|
|
487
|
+
fast: "fast";
|
|
488
488
|
medium: "medium";
|
|
489
489
|
}>>;
|
|
490
490
|
tune: z.ZodOptional<z.ZodEnum<{
|
|
@@ -630,11 +630,11 @@ export declare const streamBrokerCapability: {
|
|
|
630
630
|
gopFrames: z.ZodOptional<z.ZodNumber>;
|
|
631
631
|
bf: z.ZodOptional<z.ZodNumber>;
|
|
632
632
|
preset: z.ZodOptional<z.ZodEnum<{
|
|
633
|
-
fast: "fast";
|
|
634
633
|
ultrafast: "ultrafast";
|
|
635
634
|
superfast: "superfast";
|
|
636
635
|
veryfast: "veryfast";
|
|
637
636
|
faster: "faster";
|
|
637
|
+
fast: "fast";
|
|
638
638
|
medium: "medium";
|
|
639
639
|
}>>;
|
|
640
640
|
tune: z.ZodOptional<z.ZodEnum<{
|
|
@@ -1183,11 +1183,11 @@ export declare const streamBrokerCapability: {
|
|
|
1183
1183
|
gopFrames: z.ZodOptional<z.ZodNumber>;
|
|
1184
1184
|
bf: z.ZodOptional<z.ZodNumber>;
|
|
1185
1185
|
preset: z.ZodOptional<z.ZodEnum<{
|
|
1186
|
-
fast: "fast";
|
|
1187
1186
|
ultrafast: "ultrafast";
|
|
1188
1187
|
superfast: "superfast";
|
|
1189
1188
|
veryfast: "veryfast";
|
|
1190
1189
|
faster: "faster";
|
|
1190
|
+
fast: "fast";
|
|
1191
1191
|
medium: "medium";
|
|
1192
1192
|
}>>;
|
|
1193
1193
|
tune: z.ZodOptional<z.ZodEnum<{
|
package/dist/encode-profile.d.ts
CHANGED
|
@@ -30,11 +30,11 @@ export declare const VideoEncodeSchema: z.ZodObject<{
|
|
|
30
30
|
gopFrames: z.ZodOptional<z.ZodNumber>;
|
|
31
31
|
bf: z.ZodOptional<z.ZodNumber>;
|
|
32
32
|
preset: z.ZodOptional<z.ZodEnum<{
|
|
33
|
-
fast: "fast";
|
|
34
33
|
ultrafast: "ultrafast";
|
|
35
34
|
superfast: "superfast";
|
|
36
35
|
veryfast: "veryfast";
|
|
37
36
|
faster: "faster";
|
|
37
|
+
fast: "fast";
|
|
38
38
|
medium: "medium";
|
|
39
39
|
}>>;
|
|
40
40
|
tune: z.ZodOptional<z.ZodEnum<{
|
|
@@ -78,11 +78,11 @@ export declare const EncodeProfileSchema: z.ZodObject<{
|
|
|
78
78
|
gopFrames: z.ZodOptional<z.ZodNumber>;
|
|
79
79
|
bf: z.ZodOptional<z.ZodNumber>;
|
|
80
80
|
preset: z.ZodOptional<z.ZodEnum<{
|
|
81
|
-
fast: "fast";
|
|
82
81
|
ultrafast: "ultrafast";
|
|
83
82
|
superfast: "superfast";
|
|
84
83
|
veryfast: "veryfast";
|
|
85
84
|
faster: "faster";
|
|
85
|
+
fast: "fast";
|
|
86
86
|
medium: "medium";
|
|
87
87
|
}>>;
|
|
88
88
|
tune: z.ZodOptional<z.ZodEnum<{
|
package/dist/index.js
CHANGED
|
@@ -5148,7 +5148,7 @@ function tierLabel(family, baseName) {
|
|
|
5148
5148
|
}
|
|
5149
5149
|
function variantLabel(precision, optimization) {
|
|
5150
5150
|
const parts = [];
|
|
5151
|
-
if (optimization === "
|
|
5151
|
+
if (optimization === "test") parts.push("Test");
|
|
5152
5152
|
parts.push(precision === "int8" ? "Int8" : "Standard");
|
|
5153
5153
|
return parts.join(" · ");
|
|
5154
5154
|
}
|
|
@@ -5172,7 +5172,7 @@ var PRECISION_ORDER = ["fp32", "int8"];
|
|
|
5172
5172
|
/**
|
|
5173
5173
|
* Fold a flat catalog into the `family → tier → variant` tree. Deterministic
|
|
5174
5174
|
* ordering: tiers by the canonical size ladder (unknown tiers appended
|
|
5175
|
-
* alphabetically), variants standard-before-int8 and
|
|
5175
|
+
* alphabetically), variants standard-before-int8 and test last.
|
|
5176
5176
|
*/
|
|
5177
5177
|
function buildModelVariantGroups(models) {
|
|
5178
5178
|
const byFamily = /* @__PURE__ */ new Map();
|
|
@@ -5203,7 +5203,7 @@ function buildModelVariantGroups(models) {
|
|
|
5203
5203
|
};
|
|
5204
5204
|
}).toSorted((a, b) => {
|
|
5205
5205
|
if (a.resolution !== b.resolution) return (b.resolution ?? Infinity) - (a.resolution ?? Infinity);
|
|
5206
|
-
if (a.optimization !== b.optimization) return a.optimization === "
|
|
5206
|
+
if (a.optimization !== b.optimization) return a.optimization === "test" ? 1 : -1;
|
|
5207
5207
|
return PRECISION_ORDER.indexOf(a.precision) - PRECISION_ORDER.indexOf(b.precision);
|
|
5208
5208
|
});
|
|
5209
5209
|
const base = options.find((o) => o.precision === "fp32" && o.optimization === "standard") ?? options[0];
|
|
@@ -5416,11 +5416,11 @@ var ModelVariantGroupSchema = zod.z.object({
|
|
|
5416
5416
|
/** Quantization axis. Omit ⇒ the fp32 base build. */
|
|
5417
5417
|
precision: zod.z.enum(["fp32", "int8"]).optional(),
|
|
5418
5418
|
/**
|
|
5419
|
-
*
|
|
5420
|
-
*
|
|
5421
|
-
*
|
|
5419
|
+
* Training / latency-variant axis. Omit ⇒ the standard build. `test` marks
|
|
5420
|
+
* an alternate training of the same family (Scrypted `relu_test`); chip
|
|
5421
|
+
* label is "Test".
|
|
5422
5422
|
*/
|
|
5423
|
-
optimization: zod.z.enum(["standard", "
|
|
5423
|
+
optimization: zod.z.enum(["standard", "test"]).optional(),
|
|
5424
5424
|
/**
|
|
5425
5425
|
* Input-resolution axis (square input side, px). Omit ⇒ the family's native
|
|
5426
5426
|
* resolution (640 for yolo26). Reduced-input builds (320 / 256) are a big,
|
|
@@ -5495,9 +5495,10 @@ var ModelLicenseRecordSchema = zod.z.object({
|
|
|
5495
5495
|
* are per upstream. A persisted custom-model row written when this field was a
|
|
5496
5496
|
* string still parses — the string is lifted into `{ weights }`.
|
|
5497
5497
|
*
|
|
5498
|
-
* Every licence surface (the
|
|
5499
|
-
*
|
|
5500
|
-
*
|
|
5498
|
+
* Every machine licence surface (`THIRD_PARTY_MODELS.md`, the Hugging Face
|
|
5499
|
+
* model table) is GENERATED from these records by
|
|
5500
|
+
* `scripts/gen-model-licenses.ts` (D661). Operator-facing docs live in
|
|
5501
|
+
* `camstack/docs` → `/docs/detection/models`.
|
|
5501
5502
|
*/
|
|
5502
5503
|
var ModelLicenseSchema = zod.z.preprocess((value) => typeof value === "string" ? { weights: value } : value, ModelLicenseRecordSchema);
|
|
5503
5504
|
var ModelCatalogEntrySchema = zod.z.object({
|
|
@@ -17345,9 +17346,15 @@ var modelConvertCapability = {
|
|
|
17345
17346
|
* needs the Moleculer broker + the deploy-stage registry, which a forked addon
|
|
17346
17347
|
* can't reach. `addon-model-studio` drives it via `ctx.api` and owns the
|
|
17347
17348
|
* per-node availability map.
|
|
17349
|
+
*
|
|
17350
|
+
* The destination is `targetNodeId`, NOT `nodeId`. Cap routers and the
|
|
17351
|
+
* Moleculer tRPC link strip an input field named `nodeId` and use it as a
|
|
17352
|
+
* route pin (resolve the provider ON that node). Naming the destination
|
|
17353
|
+
* `nodeId` routed the call to the agent — which does not host this
|
|
17354
|
+
* singleton — and handed the provider an input with the destination missing.
|
|
17348
17355
|
*/
|
|
17349
17356
|
var ModelDistributeInputSchema = zod.z.object({
|
|
17350
|
-
|
|
17357
|
+
targetNodeId: zod.z.string(),
|
|
17351
17358
|
modelId: zod.z.string(),
|
|
17352
17359
|
format: zod.z.enum(MODEL_FORMATS),
|
|
17353
17360
|
entry: ModelCatalogEntrySchema
|
|
@@ -22793,39 +22800,19 @@ var CLUSTER_MODEL_SCOPED_STEPS = [{
|
|
|
22793
22800
|
label: "Face recognition model",
|
|
22794
22801
|
defaultModelId: "auraface-r100",
|
|
22795
22802
|
indexName: "the enrolled face gallery",
|
|
22796
|
-
options: [
|
|
22797
|
-
|
|
22798
|
-
|
|
22799
|
-
|
|
22800
|
-
},
|
|
22801
|
-
{
|
|
22802
|
-
id: "arcface-r100",
|
|
22803
|
-
label: "ArcFace (ResNet34)"
|
|
22804
|
-
},
|
|
22805
|
-
{
|
|
22806
|
-
id: "inception-resnet-v1",
|
|
22807
|
-
label: "Inception ResNet V1"
|
|
22808
|
-
}
|
|
22809
|
-
]
|
|
22803
|
+
options: [{
|
|
22804
|
+
id: "auraface-r100",
|
|
22805
|
+
label: "AuraFace R100"
|
|
22806
|
+
}]
|
|
22810
22807
|
}, {
|
|
22811
22808
|
stepId: "clip-embedding",
|
|
22812
22809
|
label: "Semantic search model",
|
|
22813
|
-
defaultModelId: "
|
|
22810
|
+
defaultModelId: "siglip2-b16-224",
|
|
22814
22811
|
indexName: "the object semantic-search index",
|
|
22815
|
-
options: [
|
|
22816
|
-
|
|
22817
|
-
|
|
22818
|
-
|
|
22819
|
-
},
|
|
22820
|
-
{
|
|
22821
|
-
id: "mobileclip-s2",
|
|
22822
|
-
label: "MobileCLIP S2"
|
|
22823
|
-
},
|
|
22824
|
-
{
|
|
22825
|
-
id: "siglip2-b16-224",
|
|
22826
|
-
label: "SigLIP2 B/16 (Apache-2.0)"
|
|
22827
|
-
}
|
|
22828
|
-
]
|
|
22812
|
+
options: [{
|
|
22813
|
+
id: "siglip2-b16-224",
|
|
22814
|
+
label: "SigLIP2 B/16 (Apache-2.0)"
|
|
22815
|
+
}]
|
|
22829
22816
|
}];
|
|
22830
22817
|
/**
|
|
22831
22818
|
* Store identity of the cluster row inside `pipeline-orchestrator`'s GLOBAL
|
|
@@ -39434,7 +39421,13 @@ var OsdOverlaySchema = zod.z.object({
|
|
|
39434
39421
|
*/
|
|
39435
39422
|
availablePositions: zod.z.array(OsdPositionEnum).readonly(),
|
|
39436
39423
|
/** Firmware does not allow editing the `text` field (e.g. timestamp). */
|
|
39437
|
-
readOnly: zod.z.boolean().optional()
|
|
39424
|
+
readOnly: zod.z.boolean().optional(),
|
|
39425
|
+
/**
|
|
39426
|
+
* Firmware text ceiling for this overlay. Absent = no known limit.
|
|
39427
|
+
* The OSD manager truncates here on every write — never stores its own
|
|
39428
|
+
* copy on the binding.
|
|
39429
|
+
*/
|
|
39430
|
+
maxCharacters: zod.z.number().int().positive().optional()
|
|
39438
39431
|
});
|
|
39439
39432
|
var OsdStatusSchema = zod.z.object({ overlays: zod.z.array(OsdOverlaySchema).readonly() });
|
|
39440
39433
|
var OsdOverlayPatchSchema = zod.z.object({
|
|
@@ -39552,7 +39545,9 @@ var OsdTemplateBindingSchema = zod.z.object({
|
|
|
39552
39545
|
valuePath: zod.z.string().min(1).max(64),
|
|
39553
39546
|
/** Convert TO this unit at render (`tryConvertUnit`). Absent = source unit. */
|
|
39554
39547
|
displayUnit: zod.z.string().max(16).optional(),
|
|
39555
|
-
maxDecimals: zod.z.number().int().min(0).max(4).default(1)
|
|
39548
|
+
maxDecimals: zod.z.number().int().min(0).max(4).default(1),
|
|
39549
|
+
/** Raw value → display text (same shape as slot binding). Empty string hides. */
|
|
39550
|
+
valueMap: zod.z.record(zod.z.string(), zod.z.string()).optional()
|
|
39556
39551
|
});
|
|
39557
39552
|
/**
|
|
39558
39553
|
* A named template: bindings (alias → leaf field) + a parser that
|
|
@@ -39602,18 +39597,11 @@ var OsdSlotBindingSchema = zod.z.object({
|
|
|
39602
39597
|
source: OsdSourceSchema,
|
|
39603
39598
|
/** `${value}` and `${unit}` are substituted; every occurrence. */
|
|
39604
39599
|
template: zod.z.string().max(96).default("${value}"),
|
|
39605
|
-
/** Truncate with an ellipsis past this length. Absent = no limit. */
|
|
39606
|
-
maxCharacters: zod.z.number().int().min(4).max(64).optional(),
|
|
39607
39600
|
/**
|
|
39608
39601
|
* Decimal places for a numeric value. `0` yields an integer — the
|
|
39609
39602
|
* documented workaround for firmwares that reject `.` in overlay text.
|
|
39610
39603
|
*/
|
|
39611
39604
|
maxDecimals: zod.z.number().int().min(0).max(4).default(1),
|
|
39612
|
-
/**
|
|
39613
|
-
* Appended via `${unit}` when no unit conversion produces a label.
|
|
39614
|
-
* Prefer `source.displayUnit` for converted device-state values.
|
|
39615
|
-
*/
|
|
39616
|
-
unitLabel: zod.z.string().max(8).optional(),
|
|
39617
39605
|
/** Raw value → display text, e.g. `{"true":"MOTION","false":""}`. */
|
|
39618
39606
|
valueMap: zod.z.record(zod.z.string(), zod.z.string()).optional(),
|
|
39619
39607
|
/** Time windows in which the slot is shown. Absent = always. */
|
|
@@ -39622,9 +39610,7 @@ var OsdSlotBindingSchema = zod.z.object({
|
|
|
39622
39610
|
* Display gate, in the notification centre's condition vocabulary.
|
|
39623
39611
|
* Only the keys reported by `getConditionSupport` are accepted.
|
|
39624
39612
|
*/
|
|
39625
|
-
conditions: NcConditionsSchema.optional()
|
|
39626
|
-
/** Rendered when the gate is closed or the value unreadable. Empty = hide. */
|
|
39627
|
-
fallbackText: zod.z.string().max(64).default("")
|
|
39613
|
+
conditions: NcConditionsSchema.optional()
|
|
39628
39614
|
});
|
|
39629
39615
|
/** One camera slot, as the operator sees it: firmware truth + our binding. */
|
|
39630
39616
|
var OsdSlotViewSchema = zod.z.object({
|
|
@@ -68835,7 +68821,7 @@ var NC_TEMPLATE_VARS = [
|
|
|
68835
68821
|
{
|
|
68836
68822
|
name: "devices",
|
|
68837
68823
|
label: "Devices",
|
|
68838
|
-
description: "node-inference-unavailable: the affected cameras, comma-joined. Alarm arm / refusal: HOW MANY devices are armed (or open).",
|
|
68824
|
+
description: "node-inference-unavailable: the affected cameras, comma-joined. Alarm arm / arming / refusal: HOW MANY devices are armed (or open).",
|
|
68839
68825
|
example: "Ingresso, Garage",
|
|
68840
68826
|
group: "system",
|
|
68841
68827
|
families: ["rule"],
|
|
@@ -68844,6 +68830,7 @@ var NC_TEMPLATE_VARS = [
|
|
|
68844
68830
|
systemEventKinds: [
|
|
68845
68831
|
"node-inference-unavailable",
|
|
68846
68832
|
"alarm-armed",
|
|
68833
|
+
"alarm-arming",
|
|
68847
68834
|
"alarm-arm-refused"
|
|
68848
68835
|
]
|
|
68849
68836
|
},
|
|
@@ -69064,18 +69051,18 @@ var NC_TEMPLATE_VARS = [
|
|
|
69064
69051
|
{
|
|
69065
69052
|
name: "rules",
|
|
69066
69053
|
label: "Covering rules",
|
|
69067
|
-
description: "How many enabled rules the armed mode gates.",
|
|
69054
|
+
description: "How many enabled rules the armed / arming mode gates.",
|
|
69068
69055
|
example: "2",
|
|
69069
69056
|
group: "system",
|
|
69070
69057
|
families: ["rule"],
|
|
69071
69058
|
fields: [...RULE_TEXT],
|
|
69072
69059
|
kinds: ["system"],
|
|
69073
|
-
systemEventKinds: ["alarm-armed"]
|
|
69060
|
+
systemEventKinds: ["alarm-armed", "alarm-arming"]
|
|
69074
69061
|
},
|
|
69075
69062
|
{
|
|
69076
69063
|
name: "names",
|
|
69077
69064
|
label: "Device names",
|
|
69078
|
-
description: "Armed: the devices
|
|
69065
|
+
description: "Armed / arming: the Active devices (or every skipped name when none are Active). Refusal: the open sensors.",
|
|
69079
69066
|
example: "Ingresso, Garage",
|
|
69080
69067
|
group: "system",
|
|
69081
69068
|
families: ["rule"],
|
|
@@ -69096,7 +69083,29 @@ var NC_TEMPLATE_VARS = [
|
|
|
69096
69083
|
families: ["rule"],
|
|
69097
69084
|
fields: [...RULE_TEXT],
|
|
69098
69085
|
kinds: ["system"],
|
|
69099
|
-
systemEventKinds: ["alarm-armed"]
|
|
69086
|
+
systemEventKinds: ["alarm-armed", "alarm-arming"]
|
|
69087
|
+
},
|
|
69088
|
+
{
|
|
69089
|
+
name: "active",
|
|
69090
|
+
label: "Active count",
|
|
69091
|
+
description: "How many named devices the armed / arming mode is watching (title: n attivi / n active).",
|
|
69092
|
+
example: "3",
|
|
69093
|
+
group: "system",
|
|
69094
|
+
families: ["rule"],
|
|
69095
|
+
fields: [...RULE_TEXT],
|
|
69096
|
+
kinds: ["system"],
|
|
69097
|
+
systemEventKinds: ["alarm-armed", "alarm-arming"]
|
|
69098
|
+
},
|
|
69099
|
+
{
|
|
69100
|
+
name: "skipped",
|
|
69101
|
+
label: "Skipped count",
|
|
69102
|
+
description: "How many named devices the mode cannot arm — muted, detection off, offline (title: m saltati).",
|
|
69103
|
+
example: "1",
|
|
69104
|
+
group: "system",
|
|
69105
|
+
families: ["rule"],
|
|
69106
|
+
fields: [...RULE_TEXT],
|
|
69107
|
+
kinds: ["system"],
|
|
69108
|
+
systemEventKinds: ["alarm-armed", "alarm-arming"]
|
|
69100
69109
|
},
|
|
69101
69110
|
{
|
|
69102
69111
|
name: "bypassedNames",
|
package/dist/index.mjs
CHANGED
|
@@ -5147,7 +5147,7 @@ function tierLabel(family, baseName) {
|
|
|
5147
5147
|
}
|
|
5148
5148
|
function variantLabel(precision, optimization) {
|
|
5149
5149
|
const parts = [];
|
|
5150
|
-
if (optimization === "
|
|
5150
|
+
if (optimization === "test") parts.push("Test");
|
|
5151
5151
|
parts.push(precision === "int8" ? "Int8" : "Standard");
|
|
5152
5152
|
return parts.join(" · ");
|
|
5153
5153
|
}
|
|
@@ -5171,7 +5171,7 @@ var PRECISION_ORDER = ["fp32", "int8"];
|
|
|
5171
5171
|
/**
|
|
5172
5172
|
* Fold a flat catalog into the `family → tier → variant` tree. Deterministic
|
|
5173
5173
|
* ordering: tiers by the canonical size ladder (unknown tiers appended
|
|
5174
|
-
* alphabetically), variants standard-before-int8 and
|
|
5174
|
+
* alphabetically), variants standard-before-int8 and test last.
|
|
5175
5175
|
*/
|
|
5176
5176
|
function buildModelVariantGroups(models) {
|
|
5177
5177
|
const byFamily = /* @__PURE__ */ new Map();
|
|
@@ -5202,7 +5202,7 @@ function buildModelVariantGroups(models) {
|
|
|
5202
5202
|
};
|
|
5203
5203
|
}).toSorted((a, b) => {
|
|
5204
5204
|
if (a.resolution !== b.resolution) return (b.resolution ?? Infinity) - (a.resolution ?? Infinity);
|
|
5205
|
-
if (a.optimization !== b.optimization) return a.optimization === "
|
|
5205
|
+
if (a.optimization !== b.optimization) return a.optimization === "test" ? 1 : -1;
|
|
5206
5206
|
return PRECISION_ORDER.indexOf(a.precision) - PRECISION_ORDER.indexOf(b.precision);
|
|
5207
5207
|
});
|
|
5208
5208
|
const base = options.find((o) => o.precision === "fp32" && o.optimization === "standard") ?? options[0];
|
|
@@ -5415,11 +5415,11 @@ var ModelVariantGroupSchema = z.object({
|
|
|
5415
5415
|
/** Quantization axis. Omit ⇒ the fp32 base build. */
|
|
5416
5416
|
precision: z.enum(["fp32", "int8"]).optional(),
|
|
5417
5417
|
/**
|
|
5418
|
-
*
|
|
5419
|
-
*
|
|
5420
|
-
*
|
|
5418
|
+
* Training / latency-variant axis. Omit ⇒ the standard build. `test` marks
|
|
5419
|
+
* an alternate training of the same family (Scrypted `relu_test`); chip
|
|
5420
|
+
* label is "Test".
|
|
5421
5421
|
*/
|
|
5422
|
-
optimization: z.enum(["standard", "
|
|
5422
|
+
optimization: z.enum(["standard", "test"]).optional(),
|
|
5423
5423
|
/**
|
|
5424
5424
|
* Input-resolution axis (square input side, px). Omit ⇒ the family's native
|
|
5425
5425
|
* resolution (640 for yolo26). Reduced-input builds (320 / 256) are a big,
|
|
@@ -5494,9 +5494,10 @@ var ModelLicenseRecordSchema = z.object({
|
|
|
5494
5494
|
* are per upstream. A persisted custom-model row written when this field was a
|
|
5495
5495
|
* string still parses — the string is lifted into `{ weights }`.
|
|
5496
5496
|
*
|
|
5497
|
-
* Every licence surface (the
|
|
5498
|
-
*
|
|
5499
|
-
*
|
|
5497
|
+
* Every machine licence surface (`THIRD_PARTY_MODELS.md`, the Hugging Face
|
|
5498
|
+
* model table) is GENERATED from these records by
|
|
5499
|
+
* `scripts/gen-model-licenses.ts` (D661). Operator-facing docs live in
|
|
5500
|
+
* `camstack/docs` → `/docs/detection/models`.
|
|
5500
5501
|
*/
|
|
5501
5502
|
var ModelLicenseSchema = z.preprocess((value) => typeof value === "string" ? { weights: value } : value, ModelLicenseRecordSchema);
|
|
5502
5503
|
var ModelCatalogEntrySchema = z.object({
|
|
@@ -17344,9 +17345,15 @@ var modelConvertCapability = {
|
|
|
17344
17345
|
* needs the Moleculer broker + the deploy-stage registry, which a forked addon
|
|
17345
17346
|
* can't reach. `addon-model-studio` drives it via `ctx.api` and owns the
|
|
17346
17347
|
* per-node availability map.
|
|
17348
|
+
*
|
|
17349
|
+
* The destination is `targetNodeId`, NOT `nodeId`. Cap routers and the
|
|
17350
|
+
* Moleculer tRPC link strip an input field named `nodeId` and use it as a
|
|
17351
|
+
* route pin (resolve the provider ON that node). Naming the destination
|
|
17352
|
+
* `nodeId` routed the call to the agent — which does not host this
|
|
17353
|
+
* singleton — and handed the provider an input with the destination missing.
|
|
17347
17354
|
*/
|
|
17348
17355
|
var ModelDistributeInputSchema = z.object({
|
|
17349
|
-
|
|
17356
|
+
targetNodeId: z.string(),
|
|
17350
17357
|
modelId: z.string(),
|
|
17351
17358
|
format: z.enum(MODEL_FORMATS),
|
|
17352
17359
|
entry: ModelCatalogEntrySchema
|
|
@@ -22792,39 +22799,19 @@ var CLUSTER_MODEL_SCOPED_STEPS = [{
|
|
|
22792
22799
|
label: "Face recognition model",
|
|
22793
22800
|
defaultModelId: "auraface-r100",
|
|
22794
22801
|
indexName: "the enrolled face gallery",
|
|
22795
|
-
options: [
|
|
22796
|
-
|
|
22797
|
-
|
|
22798
|
-
|
|
22799
|
-
},
|
|
22800
|
-
{
|
|
22801
|
-
id: "arcface-r100",
|
|
22802
|
-
label: "ArcFace (ResNet34)"
|
|
22803
|
-
},
|
|
22804
|
-
{
|
|
22805
|
-
id: "inception-resnet-v1",
|
|
22806
|
-
label: "Inception ResNet V1"
|
|
22807
|
-
}
|
|
22808
|
-
]
|
|
22802
|
+
options: [{
|
|
22803
|
+
id: "auraface-r100",
|
|
22804
|
+
label: "AuraFace R100"
|
|
22805
|
+
}]
|
|
22809
22806
|
}, {
|
|
22810
22807
|
stepId: "clip-embedding",
|
|
22811
22808
|
label: "Semantic search model",
|
|
22812
|
-
defaultModelId: "
|
|
22809
|
+
defaultModelId: "siglip2-b16-224",
|
|
22813
22810
|
indexName: "the object semantic-search index",
|
|
22814
|
-
options: [
|
|
22815
|
-
|
|
22816
|
-
|
|
22817
|
-
|
|
22818
|
-
},
|
|
22819
|
-
{
|
|
22820
|
-
id: "mobileclip-s2",
|
|
22821
|
-
label: "MobileCLIP S2"
|
|
22822
|
-
},
|
|
22823
|
-
{
|
|
22824
|
-
id: "siglip2-b16-224",
|
|
22825
|
-
label: "SigLIP2 B/16 (Apache-2.0)"
|
|
22826
|
-
}
|
|
22827
|
-
]
|
|
22811
|
+
options: [{
|
|
22812
|
+
id: "siglip2-b16-224",
|
|
22813
|
+
label: "SigLIP2 B/16 (Apache-2.0)"
|
|
22814
|
+
}]
|
|
22828
22815
|
}];
|
|
22829
22816
|
/**
|
|
22830
22817
|
* Store identity of the cluster row inside `pipeline-orchestrator`'s GLOBAL
|
|
@@ -39433,7 +39420,13 @@ var OsdOverlaySchema = z.object({
|
|
|
39433
39420
|
*/
|
|
39434
39421
|
availablePositions: z.array(OsdPositionEnum).readonly(),
|
|
39435
39422
|
/** Firmware does not allow editing the `text` field (e.g. timestamp). */
|
|
39436
|
-
readOnly: z.boolean().optional()
|
|
39423
|
+
readOnly: z.boolean().optional(),
|
|
39424
|
+
/**
|
|
39425
|
+
* Firmware text ceiling for this overlay. Absent = no known limit.
|
|
39426
|
+
* The OSD manager truncates here on every write — never stores its own
|
|
39427
|
+
* copy on the binding.
|
|
39428
|
+
*/
|
|
39429
|
+
maxCharacters: z.number().int().positive().optional()
|
|
39437
39430
|
});
|
|
39438
39431
|
var OsdStatusSchema = z.object({ overlays: z.array(OsdOverlaySchema).readonly() });
|
|
39439
39432
|
var OsdOverlayPatchSchema = z.object({
|
|
@@ -39551,7 +39544,9 @@ var OsdTemplateBindingSchema = z.object({
|
|
|
39551
39544
|
valuePath: z.string().min(1).max(64),
|
|
39552
39545
|
/** Convert TO this unit at render (`tryConvertUnit`). Absent = source unit. */
|
|
39553
39546
|
displayUnit: z.string().max(16).optional(),
|
|
39554
|
-
maxDecimals: z.number().int().min(0).max(4).default(1)
|
|
39547
|
+
maxDecimals: z.number().int().min(0).max(4).default(1),
|
|
39548
|
+
/** Raw value → display text (same shape as slot binding). Empty string hides. */
|
|
39549
|
+
valueMap: z.record(z.string(), z.string()).optional()
|
|
39555
39550
|
});
|
|
39556
39551
|
/**
|
|
39557
39552
|
* A named template: bindings (alias → leaf field) + a parser that
|
|
@@ -39601,18 +39596,11 @@ var OsdSlotBindingSchema = z.object({
|
|
|
39601
39596
|
source: OsdSourceSchema,
|
|
39602
39597
|
/** `${value}` and `${unit}` are substituted; every occurrence. */
|
|
39603
39598
|
template: z.string().max(96).default("${value}"),
|
|
39604
|
-
/** Truncate with an ellipsis past this length. Absent = no limit. */
|
|
39605
|
-
maxCharacters: z.number().int().min(4).max(64).optional(),
|
|
39606
39599
|
/**
|
|
39607
39600
|
* Decimal places for a numeric value. `0` yields an integer — the
|
|
39608
39601
|
* documented workaround for firmwares that reject `.` in overlay text.
|
|
39609
39602
|
*/
|
|
39610
39603
|
maxDecimals: z.number().int().min(0).max(4).default(1),
|
|
39611
|
-
/**
|
|
39612
|
-
* Appended via `${unit}` when no unit conversion produces a label.
|
|
39613
|
-
* Prefer `source.displayUnit` for converted device-state values.
|
|
39614
|
-
*/
|
|
39615
|
-
unitLabel: z.string().max(8).optional(),
|
|
39616
39604
|
/** Raw value → display text, e.g. `{"true":"MOTION","false":""}`. */
|
|
39617
39605
|
valueMap: z.record(z.string(), z.string()).optional(),
|
|
39618
39606
|
/** Time windows in which the slot is shown. Absent = always. */
|
|
@@ -39621,9 +39609,7 @@ var OsdSlotBindingSchema = z.object({
|
|
|
39621
39609
|
* Display gate, in the notification centre's condition vocabulary.
|
|
39622
39610
|
* Only the keys reported by `getConditionSupport` are accepted.
|
|
39623
39611
|
*/
|
|
39624
|
-
conditions: NcConditionsSchema.optional()
|
|
39625
|
-
/** Rendered when the gate is closed or the value unreadable. Empty = hide. */
|
|
39626
|
-
fallbackText: z.string().max(64).default("")
|
|
39612
|
+
conditions: NcConditionsSchema.optional()
|
|
39627
39613
|
});
|
|
39628
39614
|
/** One camera slot, as the operator sees it: firmware truth + our binding. */
|
|
39629
39615
|
var OsdSlotViewSchema = z.object({
|
|
@@ -68834,7 +68820,7 @@ var NC_TEMPLATE_VARS = [
|
|
|
68834
68820
|
{
|
|
68835
68821
|
name: "devices",
|
|
68836
68822
|
label: "Devices",
|
|
68837
|
-
description: "node-inference-unavailable: the affected cameras, comma-joined. Alarm arm / refusal: HOW MANY devices are armed (or open).",
|
|
68823
|
+
description: "node-inference-unavailable: the affected cameras, comma-joined. Alarm arm / arming / refusal: HOW MANY devices are armed (or open).",
|
|
68838
68824
|
example: "Ingresso, Garage",
|
|
68839
68825
|
group: "system",
|
|
68840
68826
|
families: ["rule"],
|
|
@@ -68843,6 +68829,7 @@ var NC_TEMPLATE_VARS = [
|
|
|
68843
68829
|
systemEventKinds: [
|
|
68844
68830
|
"node-inference-unavailable",
|
|
68845
68831
|
"alarm-armed",
|
|
68832
|
+
"alarm-arming",
|
|
68846
68833
|
"alarm-arm-refused"
|
|
68847
68834
|
]
|
|
68848
68835
|
},
|
|
@@ -69063,18 +69050,18 @@ var NC_TEMPLATE_VARS = [
|
|
|
69063
69050
|
{
|
|
69064
69051
|
name: "rules",
|
|
69065
69052
|
label: "Covering rules",
|
|
69066
|
-
description: "How many enabled rules the armed mode gates.",
|
|
69053
|
+
description: "How many enabled rules the armed / arming mode gates.",
|
|
69067
69054
|
example: "2",
|
|
69068
69055
|
group: "system",
|
|
69069
69056
|
families: ["rule"],
|
|
69070
69057
|
fields: [...RULE_TEXT],
|
|
69071
69058
|
kinds: ["system"],
|
|
69072
|
-
systemEventKinds: ["alarm-armed"]
|
|
69059
|
+
systemEventKinds: ["alarm-armed", "alarm-arming"]
|
|
69073
69060
|
},
|
|
69074
69061
|
{
|
|
69075
69062
|
name: "names",
|
|
69076
69063
|
label: "Device names",
|
|
69077
|
-
description: "Armed: the devices
|
|
69064
|
+
description: "Armed / arming: the Active devices (or every skipped name when none are Active). Refusal: the open sensors.",
|
|
69078
69065
|
example: "Ingresso, Garage",
|
|
69079
69066
|
group: "system",
|
|
69080
69067
|
families: ["rule"],
|
|
@@ -69095,7 +69082,29 @@ var NC_TEMPLATE_VARS = [
|
|
|
69095
69082
|
families: ["rule"],
|
|
69096
69083
|
fields: [...RULE_TEXT],
|
|
69097
69084
|
kinds: ["system"],
|
|
69098
|
-
systemEventKinds: ["alarm-armed"]
|
|
69085
|
+
systemEventKinds: ["alarm-armed", "alarm-arming"]
|
|
69086
|
+
},
|
|
69087
|
+
{
|
|
69088
|
+
name: "active",
|
|
69089
|
+
label: "Active count",
|
|
69090
|
+
description: "How many named devices the armed / arming mode is watching (title: n attivi / n active).",
|
|
69091
|
+
example: "3",
|
|
69092
|
+
group: "system",
|
|
69093
|
+
families: ["rule"],
|
|
69094
|
+
fields: [...RULE_TEXT],
|
|
69095
|
+
kinds: ["system"],
|
|
69096
|
+
systemEventKinds: ["alarm-armed", "alarm-arming"]
|
|
69097
|
+
},
|
|
69098
|
+
{
|
|
69099
|
+
name: "skipped",
|
|
69100
|
+
label: "Skipped count",
|
|
69101
|
+
description: "How many named devices the mode cannot arm — muted, detection off, offline (title: m saltati).",
|
|
69102
|
+
example: "1",
|
|
69103
|
+
group: "system",
|
|
69104
|
+
families: ["rule"],
|
|
69105
|
+
fields: [...RULE_TEXT],
|
|
69106
|
+
kinds: ["system"],
|
|
69107
|
+
systemEventKinds: ["alarm-armed", "alarm-arming"]
|
|
69099
69108
|
},
|
|
69100
69109
|
{
|
|
69101
69110
|
name: "bypassedNames",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import type { ModelFormat } from './models.js';
|
|
17
17
|
export type VariantPrecision = 'fp32' | 'int8';
|
|
18
|
-
export type VariantOptimization = 'standard' | '
|
|
18
|
+
export type VariantOptimization = 'standard' | 'test';
|
|
19
19
|
/**
|
|
20
20
|
* Minimal structural shape the grouped selector needs. Both the full
|
|
21
21
|
* `ModelCatalogEntry` (config UI) and the reduced `PipelineModelOption`
|
|
@@ -74,7 +74,7 @@ export interface ModelVariantFamily {
|
|
|
74
74
|
/**
|
|
75
75
|
* Fold a flat catalog into the `family → tier → variant` tree. Deterministic
|
|
76
76
|
* ordering: tiers by the canonical size ladder (unknown tiers appended
|
|
77
|
-
* alphabetically), variants standard-before-int8 and
|
|
77
|
+
* alphabetically), variants standard-before-int8 and test last.
|
|
78
78
|
*/
|
|
79
79
|
export declare function buildModelVariantGroups(models: readonly ModelVariantSource[]): readonly ModelVariantFamily[];
|
|
80
80
|
/**
|
package/dist/types/models.d.ts
CHANGED
|
@@ -115,7 +115,7 @@ export declare const ModelVariantGroupSchema: z.ZodObject<{
|
|
|
115
115
|
}>>;
|
|
116
116
|
optimization: z.ZodOptional<z.ZodEnum<{
|
|
117
117
|
standard: "standard";
|
|
118
|
-
|
|
118
|
+
test: "test";
|
|
119
119
|
}>>;
|
|
120
120
|
resolution: z.ZodOptional<z.ZodNumber>;
|
|
121
121
|
}, z.core.$strip>;
|
|
@@ -155,9 +155,10 @@ export type ModelHosting = (typeof MODEL_HOSTING)[number];
|
|
|
155
155
|
* are per upstream. A persisted custom-model row written when this field was a
|
|
156
156
|
* string still parses — the string is lifted into `{ weights }`.
|
|
157
157
|
*
|
|
158
|
-
* Every licence surface (the
|
|
159
|
-
*
|
|
160
|
-
*
|
|
158
|
+
* Every machine licence surface (`THIRD_PARTY_MODELS.md`, the Hugging Face
|
|
159
|
+
* model table) is GENERATED from these records by
|
|
160
|
+
* `scripts/gen-model-licenses.ts` (D661). Operator-facing docs live in
|
|
161
|
+
* `camstack/docs` → `/docs/detection/models`.
|
|
161
162
|
*/
|
|
162
163
|
export declare const ModelLicenseSchema: z.ZodPreprocess<z.ZodObject<{
|
|
163
164
|
weights: z.ZodString;
|
|
@@ -313,7 +314,7 @@ export declare const ModelCatalogEntrySchema: z.ZodObject<{
|
|
|
313
314
|
}>>;
|
|
314
315
|
optimization: z.ZodOptional<z.ZodEnum<{
|
|
315
316
|
standard: "standard";
|
|
316
|
-
|
|
317
|
+
test: "test";
|
|
317
318
|
}>>;
|
|
318
319
|
resolution: z.ZodOptional<z.ZodNumber>;
|
|
319
320
|
}, z.core.$strip>>;
|
|
@@ -585,7 +586,7 @@ export declare const ConvertResultSchema: z.ZodObject<{
|
|
|
585
586
|
}>>;
|
|
586
587
|
optimization: z.ZodOptional<z.ZodEnum<{
|
|
587
588
|
standard: "standard";
|
|
588
|
-
|
|
589
|
+
test: "test";
|
|
589
590
|
}>>;
|
|
590
591
|
resolution: z.ZodOptional<z.ZodNumber>;
|
|
591
592
|
}, z.core.$strip>>;
|
|
@@ -18,7 +18,7 @@ export interface IPipelineStep {
|
|
|
18
18
|
*/
|
|
19
19
|
getConfigSchema(model?: ModelCatalogEntry): readonly ConfigField[];
|
|
20
20
|
}
|
|
21
|
-
export type PostprocessorType = 'yolo' | 'ssd' | 'rfdetr' | 'yolonas' | 'yolo-seg' | 'scrfd' | 'yunet' | 'arcface' | 'clip' | 'softmax' | 'ctc' | 'plate-slots' | 'saliency' | 'yamnet';
|
|
21
|
+
export type PostprocessorType = 'yolo' | 'ssd' | 'rfdetr' | 'yolonas' | 'yolo-seg' | 'scrfd' | 'yunet' | 'yolo-split-dfl' | 'arcface' | 'clip' | 'softmax' | 'ctc' | 'plate-slots' | 'saliency' | 'yamnet';
|
|
22
22
|
export interface StepDefinition {
|
|
23
23
|
/** Unique step identifier (e.g., 'object-detection', 'face-detection') */
|
|
24
24
|
readonly id: string;
|