@camstack/addon-agent-ui 1.2.179 → 1.2.181
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 +81 -20
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -10478,7 +10478,18 @@ var LABEL_SUPPLY_STEP_IDS = [
|
|
|
10478
10478
|
];
|
|
10479
10479
|
/** Steps whose box a root detection can BE. */
|
|
10480
10480
|
var CROP_SUPPLY_STEP_IDS = ["plate-detection", "face-detection"];
|
|
10481
|
-
|
|
10481
|
+
/**
|
|
10482
|
+
* Steps whose per-detection MASK a root detection can carry (D737). The live
|
|
10483
|
+
* mask step is `segmentation` — a frame-plane refiner that runs its own model
|
|
10484
|
+
* once per detection crop. (`instance-segmentation` is a dormant step id that
|
|
10485
|
+
* no camera tree carries.)
|
|
10486
|
+
*/
|
|
10487
|
+
var MASK_SUPPLY_STEP_IDS = ["segmentation"];
|
|
10488
|
+
[
|
|
10489
|
+
...LABEL_SUPPLY_STEP_IDS,
|
|
10490
|
+
...CROP_SUPPLY_STEP_IDS,
|
|
10491
|
+
...MASK_SUPPLY_STEP_IDS
|
|
10492
|
+
];
|
|
10482
10493
|
var MODEL_FORMATS = [
|
|
10483
10494
|
"onnx",
|
|
10484
10495
|
"coreml",
|
|
@@ -10621,25 +10632,36 @@ var ModelLicenseSchema = preprocess((value) => typeof value === "string" ? { wei
|
|
|
10621
10632
|
* - `crop`: the root draws the box the step would have found (`license_plate`
|
|
10622
10633
|
* for plate-detection, `face` for face-detection). The box becomes a detail
|
|
10623
10634
|
* child of the `parentMacro` detection that contains it — never a track.
|
|
10635
|
+
* - `mask`: the root's decode emits an instance mask with every detection (a
|
|
10636
|
+
* YOLO26-seg root, D737) — the `segmentation` step's result, carried on the
|
|
10637
|
+
* detection in the shape that step produces. Derived from the model's
|
|
10638
|
+
* postprocessor on read, never stored by an import.
|
|
10624
10639
|
*/
|
|
10625
|
-
var RootStepSupplySchema = discriminatedUnion("kind", [
|
|
10626
|
-
|
|
10627
|
-
|
|
10628
|
-
|
|
10629
|
-
|
|
10630
|
-
|
|
10631
|
-
|
|
10632
|
-
|
|
10633
|
-
|
|
10634
|
-
|
|
10635
|
-
|
|
10636
|
-
|
|
10637
|
-
|
|
10638
|
-
|
|
10639
|
-
|
|
10640
|
-
|
|
10641
|
-
|
|
10642
|
-
|
|
10640
|
+
var RootStepSupplySchema = discriminatedUnion("kind", [
|
|
10641
|
+
object({
|
|
10642
|
+
kind: literal("label"),
|
|
10643
|
+
stepId: _enum(LABEL_SUPPLY_STEP_IDS),
|
|
10644
|
+
labelToEffect: record(string(), string()),
|
|
10645
|
+
uncovered: array(string()).readonly()
|
|
10646
|
+
}),
|
|
10647
|
+
object({
|
|
10648
|
+
kind: literal("crop"),
|
|
10649
|
+
stepId: _enum(CROP_SUPPLY_STEP_IDS),
|
|
10650
|
+
rootLabels: array(string()).readonly(),
|
|
10651
|
+
parentMacro: _enum(["vehicle", "person"]),
|
|
10652
|
+
childClass: _enum(["plate", "face"]),
|
|
10653
|
+
/**
|
|
10654
|
+
* The root's smaller input side, stamped on read by `rootSuppliesOf` from
|
|
10655
|
+
* the model entry — what a step's `minRootInputPx` gate judges. Never
|
|
10656
|
+
* stored by an import.
|
|
10657
|
+
*/
|
|
10658
|
+
rootInputPx: number().int().positive().optional()
|
|
10659
|
+
}),
|
|
10660
|
+
object({
|
|
10661
|
+
kind: literal("mask"),
|
|
10662
|
+
stepId: _enum(MASK_SUPPLY_STEP_IDS)
|
|
10663
|
+
})
|
|
10664
|
+
]);
|
|
10643
10665
|
var ModelCatalogEntrySchema = object({
|
|
10644
10666
|
id: string(),
|
|
10645
10667
|
name: string(),
|
|
@@ -10705,6 +10727,35 @@ var ModelCatalogEntrySchema = object({
|
|
|
10705
10727
|
*/
|
|
10706
10728
|
defaultConfidence: number().min(0).max(1).optional(),
|
|
10707
10729
|
/**
|
|
10730
|
+
* Per-MODEL default of the per-class confidence floors (`minConfidence<Macro>`
|
|
10731
|
+
* on a detector step), keyed by macro class: `{ person: 0.45 }`. A class
|
|
10732
|
+
* absent here runs at the step slider's global default. The same row shape
|
|
10733
|
+
* the floor measurement produces (`model-floors.json`: modelId → floors), so
|
|
10734
|
+
* a measured table is copied in as-is. An operator override is bound to the
|
|
10735
|
+
* model it was made for and does not survive a model change (D738). A custom
|
|
10736
|
+
* / imported model may declare it; without it, the global defaults apply.
|
|
10737
|
+
*/
|
|
10738
|
+
defaultClassFloors: record(string(), number().min(0).max(1)).optional(),
|
|
10739
|
+
/**
|
|
10740
|
+
* The inference precision this model's OpenVINO IR needs on an Intel GPU.
|
|
10741
|
+
* Absent ⇒ the device default (f16 on a GPU). Set to `'f32'` for an FP32 IR
|
|
10742
|
+
* that produces invalid output at f16 — measured 2026-10-07 for YOLO26
|
|
10743
|
+
* base IRs (`yolo26s`: 0 true / 146 false positives; `yolo26m*`: NaN
|
|
10744
|
+
* scores) on the Core Ultra iGPU and the N100. Threaded to the pool as
|
|
10745
|
+
* `PoolModelConfig.gpuInferencePrecision`; the pool sets
|
|
10746
|
+
* INFERENCE_PRECISION_HINT on a GPU only. Costs ~60% latency on the GPU.
|
|
10747
|
+
*/
|
|
10748
|
+
gpuInferencePrecision: _enum(["f32", "f16"]).optional(),
|
|
10749
|
+
/**
|
|
10750
|
+
* ROOT detectors only: per supplied step (`animal-classifier`, …), the
|
|
10751
|
+
* minimum DETECTION score from which this root's own fine label (species,
|
|
10752
|
+
* vehicle type — D736 root supply) is taken (D741). Below it the detection
|
|
10753
|
+
* keeps its macro class without the fine label. `1` = never take it from
|
|
10754
|
+
* this root. Absent ⇒ no floor beyond the macro floor. The supplied step's
|
|
10755
|
+
* `minConfidence` slider, bound to the ROOT model, overrides it.
|
|
10756
|
+
*/
|
|
10757
|
+
suppliedLabelFloors: record(string(), number().min(0).max(1)).optional(),
|
|
10758
|
+
/**
|
|
10708
10759
|
* When true, the executor produces a landmark-aligned crop (similarity warp
|
|
10709
10760
|
* onto the canonical template) before this step runs, instead of a plain
|
|
10710
10761
|
* axis-aligned bbox crop. Required for face-recognition embedders (ArcFace):
|
|
@@ -36321,6 +36372,16 @@ DeviceType.Camera, method(object({
|
|
|
36321
36372
|
package: array(ZoneRuleSchema).readonly()
|
|
36322
36373
|
});
|
|
36323
36374
|
SOURCE_CAPS.filter((cap) => cap !== "switch" && cap !== "motion");
|
|
36375
|
+
Object.freeze({
|
|
36376
|
+
person: .5,
|
|
36377
|
+
vehicle: .5,
|
|
36378
|
+
animal: .5
|
|
36379
|
+
});
|
|
36380
|
+
Object.freeze({
|
|
36381
|
+
person: .65,
|
|
36382
|
+
vehicle: .65,
|
|
36383
|
+
animal: .65
|
|
36384
|
+
});
|
|
36324
36385
|
/**
|
|
36325
36386
|
* Accessory device helpers — shared across drivers.
|
|
36326
36387
|
*
|
|
@@ -48692,7 +48753,7 @@ var AgentUIAddon = class extends BaseAddon {
|
|
|
48692
48753
|
capability: adminUiCapability,
|
|
48693
48754
|
provider: {
|
|
48694
48755
|
getStaticDir: async () => ({ staticDir: path.resolve(__dirname) }),
|
|
48695
|
-
getVersion: async () => ({ version: "1.2.
|
|
48756
|
+
getVersion: async () => ({ version: "1.2.181" })
|
|
48696
48757
|
}
|
|
48697
48758
|
}];
|
|
48698
48759
|
}
|