@camstack/types 1.2.257 → 1.2.259
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/capabilities/custom-model-registry.cap.d.ts +2 -0
- package/dist/capabilities/model-convert.cap.d.ts +3 -0
- package/dist/capabilities/model-distributor.cap.d.ts +2 -0
- package/dist/capabilities/pipeline-runner.cap.d.ts +12 -0
- package/dist/index.js +21 -3
- package/dist/index.mjs +21 -3
- package/dist/types/detection.d.ts +9 -0
- package/dist/types/models.d.ts +4 -1
- package/dist/types/pipeline-step.d.ts +4 -1
- package/package.json +1 -1
|
@@ -103,6 +103,7 @@ export declare const CustomModelDescriptorSchema: z.ZodObject<{
|
|
|
103
103
|
}>>;
|
|
104
104
|
inputNormalization: z.ZodOptional<z.ZodEnum<{
|
|
105
105
|
none: "none";
|
|
106
|
+
scrfd: "scrfd";
|
|
106
107
|
"zero-one": "zero-one";
|
|
107
108
|
imagenet: "imagenet";
|
|
108
109
|
}>>;
|
|
@@ -256,6 +257,7 @@ export declare const customModelRegistryCapability: {
|
|
|
256
257
|
}>>;
|
|
257
258
|
inputNormalization: z.ZodOptional<z.ZodEnum<{
|
|
258
259
|
none: "none";
|
|
260
|
+
scrfd: "scrfd";
|
|
259
261
|
"zero-one": "zero-one";
|
|
260
262
|
imagenet: "imagenet";
|
|
261
263
|
}>>;
|
|
@@ -22,6 +22,7 @@ export declare const ModelConvertInputSchema: z.ZodObject<{
|
|
|
22
22
|
}>>;
|
|
23
23
|
inputNormalization: z.ZodOptional<z.ZodEnum<{
|
|
24
24
|
none: "none";
|
|
25
|
+
scrfd: "scrfd";
|
|
25
26
|
"zero-one": "zero-one";
|
|
26
27
|
imagenet: "imagenet";
|
|
27
28
|
}>>;
|
|
@@ -89,6 +90,7 @@ export declare const modelConvertCapability: {
|
|
|
89
90
|
}>>;
|
|
90
91
|
inputNormalization: z.ZodOptional<z.ZodEnum<{
|
|
91
92
|
none: "none";
|
|
93
|
+
scrfd: "scrfd";
|
|
92
94
|
"zero-one": "zero-one";
|
|
93
95
|
imagenet: "imagenet";
|
|
94
96
|
}>>;
|
|
@@ -211,6 +213,7 @@ export declare const modelConvertCapability: {
|
|
|
211
213
|
}>>;
|
|
212
214
|
inputNormalization: z.ZodOptional<z.ZodEnum<{
|
|
213
215
|
none: "none";
|
|
216
|
+
scrfd: "scrfd";
|
|
214
217
|
"zero-one": "zero-one";
|
|
215
218
|
imagenet: "imagenet";
|
|
216
219
|
}>>;
|
|
@@ -105,6 +105,7 @@ export declare const ModelDistributeInputSchema: z.ZodObject<{
|
|
|
105
105
|
}>>;
|
|
106
106
|
inputNormalization: z.ZodOptional<z.ZodEnum<{
|
|
107
107
|
none: "none";
|
|
108
|
+
scrfd: "scrfd";
|
|
108
109
|
"zero-one": "zero-one";
|
|
109
110
|
imagenet: "imagenet";
|
|
110
111
|
}>>;
|
|
@@ -263,6 +264,7 @@ export declare const modelDistributorCapability: {
|
|
|
263
264
|
}>>;
|
|
264
265
|
inputNormalization: z.ZodOptional<z.ZodEnum<{
|
|
265
266
|
none: "none";
|
|
267
|
+
scrfd: "scrfd";
|
|
266
268
|
"zero-one": "zero-one";
|
|
267
269
|
imagenet: "imagenet";
|
|
268
270
|
}>>;
|
|
@@ -124,6 +124,10 @@ declare const DetailResultSchema: z.ZodObject<{
|
|
|
124
124
|
labelModelId: z.ZodOptional<z.ZodString>;
|
|
125
125
|
alignedCropJpeg: z.ZodOptional<z.ZodString>;
|
|
126
126
|
nativeFaceShortSidePx: z.ZodOptional<z.ZodNumber>;
|
|
127
|
+
landmarks: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
128
|
+
x: z.ZodNumber;
|
|
129
|
+
y: z.ZodNumber;
|
|
130
|
+
}, z.core.$strip>>>;
|
|
127
131
|
}, z.core.$strip>;
|
|
128
132
|
export type DetailParent = z.infer<typeof DetailParentSchema>;
|
|
129
133
|
export type DetailResult = z.infer<typeof DetailResultSchema>;
|
|
@@ -1011,6 +1015,10 @@ export declare const pipelineRunnerCapability: {
|
|
|
1011
1015
|
labelModelId: z.ZodOptional<z.ZodString>;
|
|
1012
1016
|
alignedCropJpeg: z.ZodOptional<z.ZodString>;
|
|
1013
1017
|
nativeFaceShortSidePx: z.ZodOptional<z.ZodNumber>;
|
|
1018
|
+
landmarks: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1019
|
+
x: z.ZodNumber;
|
|
1020
|
+
y: z.ZodNumber;
|
|
1021
|
+
}, z.core.$strip>>>;
|
|
1014
1022
|
}, z.core.$strip>>;
|
|
1015
1023
|
}, z.core.$strip>>, "mutation">;
|
|
1016
1024
|
/**
|
|
@@ -1091,6 +1099,10 @@ export declare const pipelineRunnerCapability: {
|
|
|
1091
1099
|
labelModelId: z.ZodOptional<z.ZodString>;
|
|
1092
1100
|
alignedCropJpeg: z.ZodOptional<z.ZodString>;
|
|
1093
1101
|
nativeFaceShortSidePx: z.ZodOptional<z.ZodNumber>;
|
|
1102
|
+
landmarks: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1103
|
+
x: z.ZodNumber;
|
|
1104
|
+
y: z.ZodNumber;
|
|
1105
|
+
}, z.core.$strip>>>;
|
|
1094
1106
|
}, z.core.$strip>>;
|
|
1095
1107
|
}, z.core.$strip>, z.ZodObject<{
|
|
1096
1108
|
kind: z.ZodLiteral<"refused">;
|
package/dist/index.js
CHANGED
|
@@ -5147,10 +5147,17 @@ var ModelCatalogEntrySchema = zod.z.object({
|
|
|
5147
5147
|
inputChannels: zod.z.number().int().positive().optional(),
|
|
5148
5148
|
labels: zod.z.array(LabelDefinitionSchema).readonly(),
|
|
5149
5149
|
inputLayout: zod.z.enum(["nchw", "nhwc"]).optional(),
|
|
5150
|
+
/**
|
|
5151
|
+
* `'scrfd'` applies InsightFace's SCRFD input contract, `(x - 127.5) / 128`
|
|
5152
|
+
* (upstream `insightface/model_zoo/scrfd.py`), instead of the historical
|
|
5153
|
+
* plain `/255`. Measured against COCO GT: 188 → 196 faces found on the
|
|
5154
|
+
* `scrfd-2.5g` catalog entry (2026-09-26 model-replacement spike, §2.4-2).
|
|
5155
|
+
*/
|
|
5150
5156
|
inputNormalization: zod.z.enum([
|
|
5151
5157
|
"zero-one",
|
|
5152
5158
|
"imagenet",
|
|
5153
|
-
"none"
|
|
5159
|
+
"none",
|
|
5160
|
+
"scrfd"
|
|
5154
5161
|
]).optional(),
|
|
5155
5162
|
/**
|
|
5156
5163
|
* The model already applies softmax IN-GRAPH — its raw output is a
|
|
@@ -5252,7 +5259,8 @@ var ModelConvertMetadataSchema = zod.z.object({
|
|
|
5252
5259
|
inputNormalization: zod.z.enum([
|
|
5253
5260
|
"zero-one",
|
|
5254
5261
|
"imagenet",
|
|
5255
|
-
"none"
|
|
5262
|
+
"none",
|
|
5263
|
+
"scrfd"
|
|
5256
5264
|
]).optional(),
|
|
5257
5265
|
preprocessMode: zod.z.enum(["letterbox", "resize"]).optional(),
|
|
5258
5266
|
outputFormat: zod.z.enum([
|
|
@@ -23862,7 +23870,17 @@ var DetailResultSchema = zod.z.object({
|
|
|
23862
23870
|
/** Face short side (px) measured on the NATIVE crop surface. The `bbox`
|
|
23863
23871
|
* above is detection-frame px (≈6× smaller on a 4K camera) — min-face-size
|
|
23864
23872
|
* consumers MUST prefer this when present (2026-07-22 native-gate fix). */
|
|
23865
|
-
nativeFaceShortSidePx: zod.z.number().optional()
|
|
23873
|
+
nativeFaceShortSidePx: zod.z.number().optional(),
|
|
23874
|
+
/**
|
|
23875
|
+
* The five facial landmarks of a `face` detail, in the SAME frame space as
|
|
23876
|
+
* `bbox` (D644). Additive and optional: post-analysis stores them beside the
|
|
23877
|
+
* face's source frame so a future alignment can be re-derived exactly; a
|
|
23878
|
+
* runner that predates the field sends none and the face is stored without.
|
|
23879
|
+
*/
|
|
23880
|
+
landmarks: zod.z.array(zod.z.object({
|
|
23881
|
+
x: zod.z.number(),
|
|
23882
|
+
y: zod.z.number()
|
|
23883
|
+
})).optional()
|
|
23866
23884
|
});
|
|
23867
23885
|
/**
|
|
23868
23886
|
* Why an executing node REFUSED a stateless step run (`runStatelessStep`).
|
package/dist/index.mjs
CHANGED
|
@@ -5146,10 +5146,17 @@ var ModelCatalogEntrySchema = z.object({
|
|
|
5146
5146
|
inputChannels: z.number().int().positive().optional(),
|
|
5147
5147
|
labels: z.array(LabelDefinitionSchema).readonly(),
|
|
5148
5148
|
inputLayout: z.enum(["nchw", "nhwc"]).optional(),
|
|
5149
|
+
/**
|
|
5150
|
+
* `'scrfd'` applies InsightFace's SCRFD input contract, `(x - 127.5) / 128`
|
|
5151
|
+
* (upstream `insightface/model_zoo/scrfd.py`), instead of the historical
|
|
5152
|
+
* plain `/255`. Measured against COCO GT: 188 → 196 faces found on the
|
|
5153
|
+
* `scrfd-2.5g` catalog entry (2026-09-26 model-replacement spike, §2.4-2).
|
|
5154
|
+
*/
|
|
5149
5155
|
inputNormalization: z.enum([
|
|
5150
5156
|
"zero-one",
|
|
5151
5157
|
"imagenet",
|
|
5152
|
-
"none"
|
|
5158
|
+
"none",
|
|
5159
|
+
"scrfd"
|
|
5153
5160
|
]).optional(),
|
|
5154
5161
|
/**
|
|
5155
5162
|
* The model already applies softmax IN-GRAPH — its raw output is a
|
|
@@ -5251,7 +5258,8 @@ var ModelConvertMetadataSchema = z.object({
|
|
|
5251
5258
|
inputNormalization: z.enum([
|
|
5252
5259
|
"zero-one",
|
|
5253
5260
|
"imagenet",
|
|
5254
|
-
"none"
|
|
5261
|
+
"none",
|
|
5262
|
+
"scrfd"
|
|
5255
5263
|
]).optional(),
|
|
5256
5264
|
preprocessMode: z.enum(["letterbox", "resize"]).optional(),
|
|
5257
5265
|
outputFormat: z.enum([
|
|
@@ -23861,7 +23869,17 @@ var DetailResultSchema = z.object({
|
|
|
23861
23869
|
/** Face short side (px) measured on the NATIVE crop surface. The `bbox`
|
|
23862
23870
|
* above is detection-frame px (≈6× smaller on a 4K camera) — min-face-size
|
|
23863
23871
|
* consumers MUST prefer this when present (2026-07-22 native-gate fix). */
|
|
23864
|
-
nativeFaceShortSidePx: z.number().optional()
|
|
23872
|
+
nativeFaceShortSidePx: z.number().optional(),
|
|
23873
|
+
/**
|
|
23874
|
+
* The five facial landmarks of a `face` detail, in the SAME frame space as
|
|
23875
|
+
* `bbox` (D644). Additive and optional: post-analysis stores them beside the
|
|
23876
|
+
* face's source frame so a future alignment can be re-derived exactly; a
|
|
23877
|
+
* runner that predates the field sends none and the face is stored without.
|
|
23878
|
+
*/
|
|
23879
|
+
landmarks: z.array(z.object({
|
|
23880
|
+
x: z.number(),
|
|
23881
|
+
y: z.number()
|
|
23882
|
+
})).optional()
|
|
23865
23883
|
});
|
|
23866
23884
|
/**
|
|
23867
23885
|
* Why an executing node REFUSED a stateless step run (`runStatelessStep`).
|
|
@@ -412,6 +412,15 @@ export interface ObjectDetection extends DetectionBase {
|
|
|
412
412
|
* Present iff the face path cut its aligned crop from a native surface.
|
|
413
413
|
*/
|
|
414
414
|
readonly nativeFaceShortSidePx?: number;
|
|
415
|
+
/**
|
|
416
|
+
* The five facial landmarks the face detector regressed for THIS `face`
|
|
417
|
+
* detail, in the same absolute pixel space as `bbox` (D644). Only a face
|
|
418
|
+
* detail carries them; never inherited onto the parent.
|
|
419
|
+
*/
|
|
420
|
+
readonly landmarks?: readonly {
|
|
421
|
+
readonly x: number;
|
|
422
|
+
readonly y: number;
|
|
423
|
+
}[];
|
|
415
424
|
}
|
|
416
425
|
/** Audio detection — flat, time-localised within the window. */
|
|
417
426
|
export interface AudioDetection extends DetectionBase {
|
package/dist/types/models.d.ts
CHANGED
|
@@ -237,6 +237,7 @@ export declare const ModelCatalogEntrySchema: z.ZodObject<{
|
|
|
237
237
|
}>>;
|
|
238
238
|
inputNormalization: z.ZodOptional<z.ZodEnum<{
|
|
239
239
|
none: "none";
|
|
240
|
+
scrfd: "scrfd";
|
|
240
241
|
"zero-one": "zero-one";
|
|
241
242
|
imagenet: "imagenet";
|
|
242
243
|
}>>;
|
|
@@ -319,7 +320,7 @@ export interface CustomModelMetadata {
|
|
|
319
320
|
readonly labels: readonly LabelDefinition[];
|
|
320
321
|
readonly classMap?: ClassMapDefinition;
|
|
321
322
|
readonly inputLayout?: 'nchw' | 'nhwc';
|
|
322
|
-
readonly inputNormalization?: 'zero-one' | 'imagenet' | 'none';
|
|
323
|
+
readonly inputNormalization?: 'zero-one' | 'imagenet' | 'none' | 'scrfd';
|
|
323
324
|
readonly outputFormat: ModelOutputFormat;
|
|
324
325
|
}
|
|
325
326
|
export declare const ConvertTargetSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
@@ -352,6 +353,7 @@ export declare const ModelConvertMetadataSchema: z.ZodObject<{
|
|
|
352
353
|
}>>;
|
|
353
354
|
inputNormalization: z.ZodOptional<z.ZodEnum<{
|
|
354
355
|
none: "none";
|
|
356
|
+
scrfd: "scrfd";
|
|
355
357
|
"zero-one": "zero-one";
|
|
356
358
|
imagenet: "imagenet";
|
|
357
359
|
}>>;
|
|
@@ -482,6 +484,7 @@ export declare const ConvertResultSchema: z.ZodObject<{
|
|
|
482
484
|
}>>;
|
|
483
485
|
inputNormalization: z.ZodOptional<z.ZodEnum<{
|
|
484
486
|
none: "none";
|
|
487
|
+
scrfd: "scrfd";
|
|
485
488
|
"zero-one": "zero-one";
|
|
486
489
|
imagenet: "imagenet";
|
|
487
490
|
}>>;
|
|
@@ -232,9 +232,12 @@ export interface PoolModelConfig {
|
|
|
232
232
|
* its own scale). `'imagenet'` ⇒ additionally subtract the ImageNet
|
|
233
233
|
* mean/std per channel — required by the EfficientNet/MobileNetV3 animal +
|
|
234
234
|
* vehicle classifiers (their `labels.json` declares `normalize: imagenet`).
|
|
235
|
+
* `'scrfd'` ⇒ InsightFace's SCRFD input contract, `(x - 127.5) / 128`
|
|
236
|
+
* (upstream `insightface/model_zoo/scrfd.py`) — required by the
|
|
237
|
+
* `scrfd-2.5g` catalog entry (2026-09-26 model-replacement spike, §2.4-2).
|
|
235
238
|
* Threaded from `ModelCatalogEntry.inputNormalization`.
|
|
236
239
|
*/
|
|
237
|
-
readonly inputNormalization?: 'zero-one' | 'imagenet' | 'none';
|
|
240
|
+
readonly inputNormalization?: 'zero-one' | 'imagenet' | 'none' | 'scrfd';
|
|
238
241
|
/**
|
|
239
242
|
* The model's output is ALREADY a softmax probability distribution (softmax
|
|
240
243
|
* baked into the graph). When true the `softmax` postprocessor skips its own
|