@camstack/addon-post-analysis 1.2.333 → 1.2.334
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/THIRD_PARTY_MODELS.md +34 -26
- package/dist/{clip-model-registry-AjTRFTkj.mjs → clip-model-registry-7H6vvqGZ.mjs} +103 -69
- package/dist/{clip-model-registry-BEh9LdQS.js → clip-model-registry-B5PsxZWY.js} +108 -68
- package/dist/embedding-encoder/index.js +1 -1
- package/dist/embedding-encoder/index.mjs +1 -1
- package/dist/pipeline-analytics/_stub.js +1 -1
- package/dist/pipeline-analytics/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-BW5gZgrf.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-DTohjsE-.mjs} +2 -2
- package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DgZSb-KR.mjs +26 -0
- package/dist/pipeline-analytics/{hostInit-BDn7o3Lf.mjs → hostInit-DR378iRn.mjs} +2 -2
- package/dist/pipeline-analytics/index.js +88 -10
- package/dist/pipeline-analytics/index.mjs +88 -10
- package/dist/pipeline-analytics/remoteEntry.js +1 -1
- package/package.json +1 -1
- package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-C6J-8O9Q.mjs +0 -26
package/THIRD_PARTY_MODELS.md
CHANGED
|
@@ -36,7 +36,7 @@ under [Non-commercial models](#non-commercial-models).
|
|
|
36
36
|
- RF-DETR © Roboflow, Apache-2.0. https://github.com/roboflow/rf-detr
|
|
37
37
|
- YuNet weights Copyright (c) 2020 Shiqi Yu, MIT. Training code: ShiqiYu/libfacedetection.train, BSD-3-Clause. https://github.com/opencv/opencv_zoo/tree/main/models/face_detection_yunet
|
|
38
38
|
- AuraFace v1 by fal.ai, Apache-2.0. https://huggingface.co/fal/AuraFace-v1
|
|
39
|
-
-
|
|
39
|
+
- open-lpr models, Copyright the open-lpr contributors, Apache-2.0 (https://huggingface.co/faisalthaheem/open-lpr-models, tag detector-2026.10.1). YOLOX architecture and COCO pretraining by Megvii (https://github.com/Megvii-BaseDetection/YOLOX), Apache-2.0. The upstream NOTICE is reproduced verbatim (`NOTICE-open-lpr.txt`). https://huggingface.co/faisalthaheem/open-lpr-models
|
|
40
40
|
- fast-plate-ocr, MIT License, copyright (c) 2024 ankandrew (full notice: licenses/models/MIT-fast-plate-ocr.txt). https://github.com/ankandrew/fast-plate-ocr
|
|
41
41
|
- EfficientNet-Lite0 via timm (Ross Wightman), Apache-2.0. Open Images V7 annotations © Google LLC, CC BY 4.0; images listed by Google as CC BY 2.0, without warranty. https://github.com/huggingface/pytorch-image-models
|
|
42
42
|
- torchvision MobileNetV3, BSD-3-Clause. Trained on the Vehicle classification dataset by DrBimmer (https://huggingface.co/datasets/DrBimmer/vehicle-classification), CC BY-NC 4.0. https://github.com/pytorch/vision
|
|
@@ -62,34 +62,42 @@ Training data under attribution terms:
|
|
|
62
62
|
cards link here instead of repeating it.
|
|
63
63
|
-->
|
|
64
64
|
|
|
65
|
-
The folders `objectDetection/yolo26`, `objectDetection/yolov9
|
|
65
|
+
The folders `objectDetection/yolo26`, `objectDetection/yolov9` and `segmentation/yolo26-seg` of the model mirror hold Ultralytics weights,
|
|
66
66
|
modified by CamStack and distributed under AGPL-3.0. Their Corresponding Source
|
|
67
67
|
is published in the mirror itself, in its **`source/`** folder,
|
|
68
68
|
**https://huggingface.co/camstack/camstack-models/tree/main/source**, together
|
|
69
69
|
with the upstream checkpoints it starts from:
|
|
70
70
|
|
|
71
|
-
1. **The upstream checkpoints
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
2. **The
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
`export
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
71
|
+
1. **The upstream checkpoints.** Ultralytics publishes
|
|
72
|
+
`yolo26{n,s,m,l,x}.pt`, `yolov9{t,s,m,c}.pt` and `yolo26{n,s,m}-seg.pt` at
|
|
73
|
+
https://github.com/ultralytics/assets/releases.
|
|
74
|
+
2. **The build script** in `source/`: `build-camstack-models.py`, with
|
|
75
|
+
`convert_lib.py` (the ONNX to OpenVINO / INT8 converter it calls, the same
|
|
76
|
+
file CamStack's Model Studio runs) and `requirements.txt`. It holds one
|
|
77
|
+
recipe per hosted file: the upstream checkpoint, the input size, the
|
|
78
|
+
Ultralytics `export()` arguments, the OpenVINO precision and the INT8
|
|
79
|
+
calibration count that file records about itself. Every hosted
|
|
80
|
+
Ultralytics-derived file is rebuilt by one invocation:
|
|
81
|
+
`build-camstack-models.py --variant <file stem>` (for example
|
|
82
|
+
`camstack-yolo26n-320` or `camstack-yolov9m-640`), `--family <folder>`
|
|
83
|
+
or `--all`; `--list` prints the recipes and `--check-hosted` confirms
|
|
84
|
+
against the mirror that every hosted file is a recipe output. The INT8
|
|
85
|
+
builds are NNCF post-training quantisation calibrated on COCO images: 128
|
|
86
|
+
for YOLO26, 300 for YOLOv9, as each IR records; the documented set is the
|
|
87
|
+
first N of COCO val2017 in file-name order. The Python
|
|
88
|
+
environment, the recorded tool versions and the calibration set are in
|
|
89
|
+
`source/README.md` and the script's header. These scripts are CamStack's
|
|
90
|
+
own code and are offered under the MIT licence; the weights they produce
|
|
91
|
+
keep their upstream licence.
|
|
92
|
+
|
|
93
|
+
Limits of a rebuild:
|
|
94
|
+
|
|
95
|
+
- **Tool versions.** With the Ultralytics, PyTorch, coremltools and OpenVINO
|
|
96
|
+
versions each recipe names, a rebuild reproduces the hosted weights. Other
|
|
97
|
+
versions give the same weights in a possibly different graph.
|
|
98
|
+
- **INT8 calibration.** An IR records how many images calibrated it, not
|
|
99
|
+
which ones. Calibrating on the same COCO images gives the documented build;
|
|
100
|
+
a different set gives an equivalent, not bit-identical, INT8 model.
|
|
93
101
|
|
|
94
102
|
## Non-commercial models
|
|
95
103
|
|
|
@@ -138,7 +146,7 @@ entry kept resolvable for a saved selection but no longer offered.
|
|
|
138
146
|
|
|
139
147
|
| Catalog ids | Upstream | Code / weights | Training data | CamStack changes | Downloaded from |
|
|
140
148
|
| --- | --- | --- | --- | --- | --- |
|
|
141
|
-
| `
|
|
149
|
+
| `yolox-tiny-plate` (default) | [open-lpr models (faisalthaheem/open-lpr-models), YOLOX-tiny](https://huggingface.co/faisalthaheem/open-lpr-models) | Apache-2.0 / Apache-2.0 (`Apache-2.0.txt`) | Simanno annotated plate corpus plus community-contributed photographs, pseudo-labelled by a teacher model (not published; the upstream NOTICE says the photographs were uploaded without consent obtained): UNKNOWN | input contract baked into the graph (static 1x3x640x640 RGB /255 becomes the upstream BGR 0..255: Mul(255) plus a channel Gather) and the output reshaped to the YOLOv8 layout (cx, cy, w, h, obj*cls); ONNX fp32, OpenVINO IR fp16, CoreML fp16 (scripts/build-yolox-plate-model.py) | mirror `plateDetection/yolox-tiny-plate` |
|
|
142
150
|
|
|
143
151
|
### Licence plate reading
|
|
144
152
|
|
|
@@ -156,7 +164,7 @@ entry kept resolvable for a saved selection but no longer offered.
|
|
|
156
164
|
|
|
157
165
|
| Catalog ids | Upstream | Code / weights | Training data | CamStack changes | Downloaded from |
|
|
158
166
|
| --- | --- | --- | --- | --- | --- |
|
|
159
|
-
| `bird-classifier` (default) | [Google AIY Vision birds_V1](https://github.com/google-coral/test_data) | — / Apache-2.0 (`Apache-2.0.txt`) | — | converted from TensorFlow with tf2onnx; OpenVINO IR and CoreML derived from it | mirror `animalClassification/bird-classifier` |
|
|
167
|
+
| `bird-classifier` (default) | [Google AIY Vision birds_V1](https://github.com/google-coral/test_data) | — / Apache-2.0 (`Apache-2.0.txt`) | — | converted from TensorFlow with tf2onnx; OpenVINO IR and CoreML derived from it; the Edge TPU build is the Google full-integer quantised TFLite of the same model, compiled with edgetpu_compiler 14 (scripts/build-bird-classifier-edgetpu.py) | mirror `animalClassification/bird-classifier` |
|
|
160
168
|
|
|
161
169
|
### Vehicle classifier
|
|
162
170
|
|
|
@@ -11529,6 +11529,90 @@ function resolveClipSearchMinScore(meta, request) {
|
|
|
11529
11529
|
const factor = CLIP_STRICTNESS_FACTOR[request.strictness ?? "loose"];
|
|
11530
11530
|
return Math.min(1, Math.round(meta.searchMinScore * factor * 1e3) / 1e3);
|
|
11531
11531
|
}
|
|
11532
|
+
/**
|
|
11533
|
+
* The class names a per-class COUNT can ever be keyed on — the macro ids, and
|
|
11534
|
+
* only those.
|
|
11535
|
+
*
|
|
11536
|
+
* `preserveOriginal: false` below is the whole reason this set exists: the
|
|
11537
|
+
* executor maps each raw COCO label onto its macro and DROPS everything else,
|
|
11538
|
+
* so a tracked detection's `className` is always one of {@link MACRO_LABELS}.
|
|
11539
|
+
* Any surface that indexes counts by class name — the ZoneAnalytics occupancy
|
|
11540
|
+
* snapshot's `byClass`, and therefore every occupancy rule — can match nothing
|
|
11541
|
+
* else. Derived from the catalog, never hand-listed, so a new macro joins it by
|
|
11542
|
+
* being declared once.
|
|
11543
|
+
*
|
|
11544
|
+
* Cost of not having it, 2026-08-12: the notification rule editor offered the
|
|
11545
|
+
* full taxonomy for an occupancy class (occupancy is the one condition that
|
|
11546
|
+
* does not go through the engine's macro-expanding `expandClassSelector`), two
|
|
11547
|
+
* live rules were authored on `car`, and both counters read 0 forever.
|
|
11548
|
+
*/
|
|
11549
|
+
var DETECTION_MACRO_CLASSES = new Set([
|
|
11550
|
+
{
|
|
11551
|
+
id: "person",
|
|
11552
|
+
name: "Person"
|
|
11553
|
+
},
|
|
11554
|
+
{
|
|
11555
|
+
id: "vehicle",
|
|
11556
|
+
name: "Vehicle"
|
|
11557
|
+
},
|
|
11558
|
+
{
|
|
11559
|
+
id: "animal",
|
|
11560
|
+
name: "Animal"
|
|
11561
|
+
},
|
|
11562
|
+
{
|
|
11563
|
+
id: "package",
|
|
11564
|
+
name: "Package"
|
|
11565
|
+
}
|
|
11566
|
+
].map((l) => l.id));
|
|
11567
|
+
/** True when `className` is a macro the detector can actually emit (and hence a
|
|
11568
|
+
* class a count can be keyed on) — see {@link DETECTION_MACRO_CLASSES}. */
|
|
11569
|
+
function isDetectionMacroClass(className) {
|
|
11570
|
+
return DETECTION_MACRO_CLASSES.has(className.trim().toLowerCase());
|
|
11571
|
+
}
|
|
11572
|
+
var COCO_TO_MACRO = {
|
|
11573
|
+
mapping: {
|
|
11574
|
+
person: "person",
|
|
11575
|
+
bicycle: "vehicle",
|
|
11576
|
+
car: "vehicle",
|
|
11577
|
+
motorcycle: "vehicle",
|
|
11578
|
+
airplane: "vehicle",
|
|
11579
|
+
bus: "vehicle",
|
|
11580
|
+
train: "vehicle",
|
|
11581
|
+
truck: "vehicle",
|
|
11582
|
+
boat: "vehicle",
|
|
11583
|
+
bird: "animal",
|
|
11584
|
+
cat: "animal",
|
|
11585
|
+
dog: "animal",
|
|
11586
|
+
horse: "animal",
|
|
11587
|
+
sheep: "animal",
|
|
11588
|
+
cow: "animal",
|
|
11589
|
+
elephant: "animal",
|
|
11590
|
+
bear: "animal",
|
|
11591
|
+
zebra: "animal",
|
|
11592
|
+
giraffe: "animal",
|
|
11593
|
+
suitcase: "package",
|
|
11594
|
+
backpack: "package",
|
|
11595
|
+
handbag: "package"
|
|
11596
|
+
},
|
|
11597
|
+
preserveOriginal: false
|
|
11598
|
+
};
|
|
11599
|
+
/** Steps a root detector may declare it fills. */
|
|
11600
|
+
var FILLABLE_STEP_IDS = [
|
|
11601
|
+
"animal-classifier",
|
|
11602
|
+
"vehicle-classifier",
|
|
11603
|
+
"package-detection"
|
|
11604
|
+
];
|
|
11605
|
+
/** Narrow a step id to a fillable one — type guard, not a cast. */
|
|
11606
|
+
function isFillableStepId(value) {
|
|
11607
|
+
return FILLABLE_STEP_IDS.some((id) => id === value);
|
|
11608
|
+
}
|
|
11609
|
+
/** The step a linked label stands in for, or `undefined` for any other attribution. */
|
|
11610
|
+
function linkedStepOf(attributionStepId) {
|
|
11611
|
+
if (attributionStepId === void 0) return void 0;
|
|
11612
|
+
if (!attributionStepId.startsWith("detector-link:")) return void 0;
|
|
11613
|
+
const stepId = attributionStepId.slice(14);
|
|
11614
|
+
return isFillableStepId(stepId) ? stepId : void 0;
|
|
11615
|
+
}
|
|
11532
11616
|
var MODEL_FORMATS = [
|
|
11533
11617
|
"onnx",
|
|
11534
11618
|
"coreml",
|
|
@@ -11661,6 +11745,12 @@ var ModelLicenseSchema = preprocess((value) => typeof value === "string" ? { wei
|
|
|
11661
11745
|
/** True when the weights or their data forbid commercial use. */
|
|
11662
11746
|
nonCommercial: boolean().optional()
|
|
11663
11747
|
}));
|
|
11748
|
+
/** One `fillsClassifierEffects` entry — see `ModelCatalogEntry.fillsClassifierEffects`. */
|
|
11749
|
+
var FillsClassifierEffectSchema = object({
|
|
11750
|
+
stepId: _enum(FILLABLE_STEP_IDS),
|
|
11751
|
+
labelToEffect: record(string(), string()),
|
|
11752
|
+
uncovered: array(string()).readonly()
|
|
11753
|
+
});
|
|
11664
11754
|
var ModelCatalogEntrySchema = object({
|
|
11665
11755
|
id: string(),
|
|
11666
11756
|
name: string(),
|
|
@@ -11787,6 +11877,16 @@ var ModelCatalogEntrySchema = object({
|
|
|
11787
11877
|
*/
|
|
11788
11878
|
classMap: DetectionCatalogClassMapSchema.optional(),
|
|
11789
11879
|
/**
|
|
11880
|
+
* The pipeline steps this ROOT detector already does the work of (D715):
|
|
11881
|
+
* its labels name the effect the step exists to produce (`deer` for
|
|
11882
|
+
* `animal-classifier`, `package` for `package-detection`). Derived from the
|
|
11883
|
+
* labelmap by `deriveClassifierFills`, never hand-written; a COCO model
|
|
11884
|
+
* declares none. Whether a declaration is honoured is the step's own
|
|
11885
|
+
* `labelLink` policy (`resolveLabelLink`). `labelToEffect` values are in
|
|
11886
|
+
* `FILLABLE_STEP_VOCABULARIES` (guard `check-label-link-vocabulary`).
|
|
11887
|
+
*/
|
|
11888
|
+
fillsClassifierEffects: array(FillsClassifierEffectSchema).readonly().optional(),
|
|
11889
|
+
/**
|
|
11790
11890
|
* The model's CLIP feature-space contract (text encoder, dimension, vector
|
|
11791
11891
|
* index, token window, search floor) — see `clip-model.ts`. Present ONLY on a
|
|
11792
11892
|
* CLIP image encoder; its absence is what "not a CLIP model" means to the
|
|
@@ -21429,73 +21529,6 @@ var notificationOutputCapability = {
|
|
|
21429
21529
|
})
|
|
21430
21530
|
}
|
|
21431
21531
|
};
|
|
21432
|
-
/**
|
|
21433
|
-
* The class names a per-class COUNT can ever be keyed on — the macro ids, and
|
|
21434
|
-
* only those.
|
|
21435
|
-
*
|
|
21436
|
-
* `preserveOriginal: false` below is the whole reason this set exists: the
|
|
21437
|
-
* executor maps each raw COCO label onto its macro and DROPS everything else,
|
|
21438
|
-
* so a tracked detection's `className` is always one of {@link MACRO_LABELS}.
|
|
21439
|
-
* Any surface that indexes counts by class name — the ZoneAnalytics occupancy
|
|
21440
|
-
* snapshot's `byClass`, and therefore every occupancy rule — can match nothing
|
|
21441
|
-
* else. Derived from the catalog, never hand-listed, so a new macro joins it by
|
|
21442
|
-
* being declared once.
|
|
21443
|
-
*
|
|
21444
|
-
* Cost of not having it, 2026-08-12: the notification rule editor offered the
|
|
21445
|
-
* full taxonomy for an occupancy class (occupancy is the one condition that
|
|
21446
|
-
* does not go through the engine's macro-expanding `expandClassSelector`), two
|
|
21447
|
-
* live rules were authored on `car`, and both counters read 0 forever.
|
|
21448
|
-
*/
|
|
21449
|
-
var DETECTION_MACRO_CLASSES = new Set([
|
|
21450
|
-
{
|
|
21451
|
-
id: "person",
|
|
21452
|
-
name: "Person"
|
|
21453
|
-
},
|
|
21454
|
-
{
|
|
21455
|
-
id: "vehicle",
|
|
21456
|
-
name: "Vehicle"
|
|
21457
|
-
},
|
|
21458
|
-
{
|
|
21459
|
-
id: "animal",
|
|
21460
|
-
name: "Animal"
|
|
21461
|
-
},
|
|
21462
|
-
{
|
|
21463
|
-
id: "package",
|
|
21464
|
-
name: "Package"
|
|
21465
|
-
}
|
|
21466
|
-
].map((l) => l.id));
|
|
21467
|
-
/** True when `className` is a macro the detector can actually emit (and hence a
|
|
21468
|
-
* class a count can be keyed on) — see {@link DETECTION_MACRO_CLASSES}. */
|
|
21469
|
-
function isDetectionMacroClass(className) {
|
|
21470
|
-
return DETECTION_MACRO_CLASSES.has(className.trim().toLowerCase());
|
|
21471
|
-
}
|
|
21472
|
-
var COCO_TO_MACRO = {
|
|
21473
|
-
mapping: {
|
|
21474
|
-
person: "person",
|
|
21475
|
-
bicycle: "vehicle",
|
|
21476
|
-
car: "vehicle",
|
|
21477
|
-
motorcycle: "vehicle",
|
|
21478
|
-
airplane: "vehicle",
|
|
21479
|
-
bus: "vehicle",
|
|
21480
|
-
train: "vehicle",
|
|
21481
|
-
truck: "vehicle",
|
|
21482
|
-
boat: "vehicle",
|
|
21483
|
-
bird: "animal",
|
|
21484
|
-
cat: "animal",
|
|
21485
|
-
dog: "animal",
|
|
21486
|
-
horse: "animal",
|
|
21487
|
-
sheep: "animal",
|
|
21488
|
-
cow: "animal",
|
|
21489
|
-
elephant: "animal",
|
|
21490
|
-
bear: "animal",
|
|
21491
|
-
zebra: "animal",
|
|
21492
|
-
giraffe: "animal",
|
|
21493
|
-
suitcase: "package",
|
|
21494
|
-
backpack: "package",
|
|
21495
|
-
handbag: "package"
|
|
21496
|
-
},
|
|
21497
|
-
preserveOriginal: false
|
|
21498
|
-
};
|
|
21499
21532
|
var AUDIO_MACRO_LABELS = [
|
|
21500
21533
|
{
|
|
21501
21534
|
id: "speech",
|
|
@@ -28585,7 +28618,8 @@ var PipelineModelOptionSchema = object({
|
|
|
28585
28618
|
group: ModelVariantGroupSchema.optional(),
|
|
28586
28619
|
legacy: boolean().optional(),
|
|
28587
28620
|
provider: ModelProviderIdSchema.optional(),
|
|
28588
|
-
defaultConfidence: number().optional()
|
|
28621
|
+
defaultConfidence: number().optional(),
|
|
28622
|
+
fillsClassifierEffects: array(FillsClassifierEffectSchema).readonly().optional()
|
|
28589
28623
|
});
|
|
28590
28624
|
var ConfigFieldBridge = custom();
|
|
28591
28625
|
var PipelineAddonSchemaSchema = object({
|
|
@@ -63750,4 +63784,4 @@ function buildClipModelRegistry(entries) {
|
|
|
63750
63784
|
/** The built-in catalog's registry. */
|
|
63751
63785
|
var BUILTIN_CLIP_MODELS = buildClipModelRegistry(CLIP_IMAGE_MODELS);
|
|
63752
63786
|
//#endregion
|
|
63753
|
-
export { NC_ALARM_DEFAULT_TRIGGERED_DURATION_SEC as $, encodeVectorBase64 as $n,
|
|
63787
|
+
export { NC_ALARM_DEFAULT_TRIGGERED_DURATION_SEC as $, encodeVectorBase64 as $n, systemEventFilterApplies as $r, RECORDING_SOURCE_CAMSTACK_ADDON as $t, EMBEDDING_MODEL_FAILED as A, number as Ai, applyModeDelaysEdits as An, readDeviceStateFrom as Ar, NcLegacyRuleActionSequenceSchema as At, LabelAttributionSchema as B, EventCategory as Bi, coreBlockIdFromAddonId as Bn, ruleBelongsToAlarm as Br, NcSnoozeInputSchema as Bt, CoverStateSchema as C, ZodObject as Ci, TrackSideSchema as Cn, mayWriteToLocation as Cr, NcAlarmConfigSchema as Ct, DETECTION_PIPELINE_CAP_NAME as D, discriminatedUnion as Di, alarmDeviceSecureOnArm as Dn, parseProcStatus as Dr, NcAlarmSettingsPatchSchema as Dt, DETECTION_MACRO_CLASSES as E, boolean as Ei, addonWidgetsSourceCapability as En, occupancyScope as Er, NcAlarmSensorsSchema as Et, EVENT_OWNER_TYPES as F, string as Fi, audioModeOf as Fn, resolveLocationMode as Fr, NcRuleSchema as Ft, MAX_BIRTH_DECISION_RECORDS as G, deriveRecordingMode as Gn, secureActuationFor as Gr, NcTaxonomySchema as Gt, ListTrackRelationsResultSchema as H, createAlarmProfile as Hn, ruleGroupingApplies as Hr, NcSnoozeSuppressedSchema as Ht, EXPORT_DENSE_MAX_RANGES as I, templateLiteral as Ii, buildEventKindDescriptor as In, resolveModeDelays as Ir, NcRuleTargetSchema as It, MAX_TRACK_RELATIONS as J, embeddingEncoderCapability as Jn, storageOccupancyCapability as Jr, NcTemplateVarDescriptorSchema as Jt, MAX_BIRTH_LATENCY_PROXY_MS as K, describeSystemEventDeliveryProblem as Kn, sensorRaisedOf as Kr, NcTemplatePreviewInputSchema as Kt, FIRST_LEVEL_MACRO_CLASSES as L, tuple as Li, buildViewerLink as Ln, resolveModeNotifyPolicy as Lr, NcRuleUpdateInputSchema as Lt, EMBEDDING_REQUIREMENTS_UNAVAILABLE as M, partialRecord as Mi, applySecureOnArmEdit as Mn, readTimelapseGeneratedAt as Mr, NcRuleActionsSchema as Mt, EVENT_DENSITY_BATCH_MAX as N, record as Ni, assertTimelapseCadences as Nn, renameAlarmProfile as Nr, NcRuleInputSchema as Nt, DeclaredDevices as O, literal as Oi, alarmPanelCapability as On, pipelineAnalyticsCapability as Or, NcConditionDescriptorSchema as Ot, EVENT_KIND_BY_CAP as P, strictObject as Pi, audioMetricsCapability as Pn, resolveClipSearchMinScore as Pr, NcRulePatchSchema as Pt, NC_ALARM_DEFAULT_PROFILE_ID as Q, embeddingRequirementsUnavailableError as Qn, systemEventFamilyProblems as Qr, RECORDING_EXPORT_MAX_READ_BYTES as Qt, FULL_IMAGE_BBOX as R, union as Ri, cloneAlarmSettings as Rn, resolvePoolMemoryPolicy as Rr, NcScheduleSchema as Rt, ClearTrackRelationResultSchema as S, sleep as Si, TrackRelationSchema as Sn, linkedStepOf as Sr, NC_TEMPLATE_VARS as St, DEFAULT_TIMELAPSE_PREVIEW_TEXT as T, array as Ti, activateAlarmProfile as Tn, notificationRulesCapability as Tr, NcAlarmSensorsInputSchema as Tt, LockStateSchema as U, deleteAlarmProfile as Un, ruleKindOf as Ur, NcStateSummarySectionIdSchema as Ut, ListTrackRelationsInputSchema as V, cosineSimilarity as Vn, ruleDeviceCompatCapQueries as Vr, NcSnoozeSchema as Vt, MAX_ARCHIVED_DEBUG_NOTES as W, derivePostTriggeredAction as Wn, sceneMonitorCapability as Wr, NcSystemEventKindSchema as Wt, MediaFileKindEnum as X, embeddingRefusalOf as Xn, syncActiveAlarmProfileSettings as Xr, OpsLogEntrySchema as Xt, MOTION_CLOSE_AFTER_MS as Y, embeddingModelFailedError as Yn, subKindsOf as Yr, OPS_LOG_DEFAULT_LIMIT as Yt, MotionTriggeredBySchema as Z, embeddingRequirementsFailedError as Zn, systemEventDeliveryProblems as Zr, PoolMemoryWatchdog as Zt, BIRTH_DECISION_DEFAULT_LIMIT as _, defineCustomActions as _i, TimelapseRuleInputSchema as _n, isScheduleActive as _r, NC_SENSOR_TRANSITION_KINDS as _t, CLIP_EMBEDDING_STEP_ID as a, viewerLinkBaseOf as ai, SCENE_DEFAULT_CHECK_INTERVAL_SEC as an, gifDeriveSpeed as ar, NC_AUDIO_CONFIRM_HITS_DEFAULT as at, COCO_TO_MACRO as b, nodePin as bi, TrackPuritySchema as bn, isVectorIndexDimConflict as br, NC_TANK_SYSTEM_EVENT_KINDS as bt, resolveClusterModelPin as c, canonicalHash as ci, SCENE_DEFAULT_UNCOVERED_POLICY as cn, isAppLinkBase as cr, NC_CLIP_PRE_ROLL_DEFAULT_SEC as ct, APPEARANCE_BLOCKS as d, DeviceType as di, SceneMonitorSchema as dn, isDetectionMacroClass as dr, NC_CONSUMABLE_LOW_PERCENT_DEFAULT as dt, systemEventSummaryScheduleOf as ei, RebuildObjectEmbeddingsRefusalSchema as en, ensureAlarmProfiles as er, NC_ALARM_DELAY_FIELDS as et, APPEARANCE_RESOLVES_AMBIGUITY_DEFAULT as f, errMsg as fi, SetTrackPurityInputSchema as fn, isEventKindLabelKey as fr, NC_CONSUMABLE_SYSTEM_EVENT_KINDS as ft, ArchivedDebugNoteSchema as g, customAction as gi, TRACK_RELATIONS_DEFAULT_LIMIT as gn, isRetiredClearKey as gr, NC_GROUPING_MIN_SEC as gt, AlarmArmModeSchema as h, createEvent as hi, TIMELAPSE_DENSE_FLOOR_SEC as hn, isMediaOwnerType as hr, NC_GROUPING_MAX_SEC as ht, CLIP_TEXT_MODELS as i, vectorDimFromBase64 as ii, SCENE_DEFAULT_ANCHOR_THRESHOLD as in, failureContributionCapability as ir, NC_ALARM_TRIGGERED_MAX_SEC as it, EMBEDDING_REQUIREMENTS_FAILED as j, object as ji, applyNonBlockingEdit as jn, readMotionTriggeredBy as jr, NcRuleActionSchema as jt, DetectionSourceSchema as k, looseObject as ki, applyBlockingEdit as kn, plateGalleryCapability as kr, NcConditionsSchema as kt, ALL_CAPABILITY_DEFINITIONS as l, evaluateSensorEdge as li, SCENE_DIVERGED as ln, isAudioClassName as lr, NC_CLIP_RETENTION_MAX_SEC as lt, AUDIO_MACRO_LABELS as m, CamProfileSchema as mi, SetTrackRelationInputSchema as mn, isKnownTemplateVar as mr, NC_GROUPING_DEFAULT_SEC as mt, DEFAULT_CLIP_MODEL as n, templateCarriesSummary as ni, SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX as nn, evictionPolicyOfLocation as nr, NC_ALARM_NOTIFY_FIELDS as nt, FACE_EMBEDDING_STEP_ID as o, zoneAnalyticsCapability as oi, SCENE_DEFAULT_OBSERVATION_SPACING_SEC as on, gifFromMp4Args as or, NC_AUDIO_CONFIRM_WINDOW_SEC_DEFAULT as ot, ARCHIVED_DEBUG_NOTES_DEFAULT_LIMIT as p, BaseAddon as pi, SetTrackPurityResultSchema as pn, isEventOwnerType as pr, NC_DEFAULT_SNOOZE_MINUTES as pt, MAX_TRACK_PURITIES as q, describeSystemEventFamilyProblem as qn, servedTemplateVars as qr, NcTemplatePreviewSchema as qt, CLIP_IMAGE_MODELS as r, templateVarsFor as ri, SCENE_CONFIRM_DEFAULT_TIMEOUT_MS as rn, faceGalleryCapability as rr, NC_ALARM_SYSTEM_EVENT_KINDS as rt, readClusterModelPinStrict as s, DEFAULT_FIRST_SIGHTING_FRESHNESS_MS as si, SCENE_DEFAULT_QUIET_SECONDS as sn, isAlarmControllableCap as sr, NC_CLIP_POST_ROLL_DEFAULT_SEC as st, BUILTIN_CLIP_MODELS as t, systemEventSummarySplitOf as ti, RetrainStatusSchema as tn, eventKindLabel as tr, NC_ALARM_DELAY_MAX_SEC as tt, APPEARANCE_BIN_COUNT as u, isSourceCap as ui, SCENE_RESET_RECAPTURES as un, isDefaultAlarmProfileId as ur, NC_CONDITION_CATALOG as ut, BaseDevice as v, hydrateSchema as vi, TimelapseRulePatchSchema as vn, isSystemDelivery as vr, NC_SNOOZE_MAX_MINUTES as vt, DEFAULT_EVENT_COLOR as w, _enum as wi, TrackSourceSchema as wn, memoizePinnedFfmpeg as wr, NcAlarmPostTriggeredActionSchema as wt, ClearTrackRelationInputSchema as x, normalizeNodeId as xi, TrackRelationKindSchema as xn, kebabToCamel as xr, NC_TAXONOMY as xt, BirthDecisionRecordSchema as y, isDeviceScopedCap as yi, TimelapseRuleSchema as yn, isSystemEventSummaryRule as yr, NC_SYSTEM_EVENT_KIND_GROUP_SPECS as yt, FailureCounters as z, unknown as zi, consumableLowPercentOf as zn, ruleAutoTriggersAlarm as zr, NcSharedSequenceSchema as zt };
|
|
@@ -11560,6 +11560,90 @@ function resolveClipSearchMinScore(meta, request) {
|
|
|
11560
11560
|
const factor = CLIP_STRICTNESS_FACTOR[request.strictness ?? "loose"];
|
|
11561
11561
|
return Math.min(1, Math.round(meta.searchMinScore * factor * 1e3) / 1e3);
|
|
11562
11562
|
}
|
|
11563
|
+
/**
|
|
11564
|
+
* The class names a per-class COUNT can ever be keyed on — the macro ids, and
|
|
11565
|
+
* only those.
|
|
11566
|
+
*
|
|
11567
|
+
* `preserveOriginal: false` below is the whole reason this set exists: the
|
|
11568
|
+
* executor maps each raw COCO label onto its macro and DROPS everything else,
|
|
11569
|
+
* so a tracked detection's `className` is always one of {@link MACRO_LABELS}.
|
|
11570
|
+
* Any surface that indexes counts by class name — the ZoneAnalytics occupancy
|
|
11571
|
+
* snapshot's `byClass`, and therefore every occupancy rule — can match nothing
|
|
11572
|
+
* else. Derived from the catalog, never hand-listed, so a new macro joins it by
|
|
11573
|
+
* being declared once.
|
|
11574
|
+
*
|
|
11575
|
+
* Cost of not having it, 2026-08-12: the notification rule editor offered the
|
|
11576
|
+
* full taxonomy for an occupancy class (occupancy is the one condition that
|
|
11577
|
+
* does not go through the engine's macro-expanding `expandClassSelector`), two
|
|
11578
|
+
* live rules were authored on `car`, and both counters read 0 forever.
|
|
11579
|
+
*/
|
|
11580
|
+
var DETECTION_MACRO_CLASSES = new Set([
|
|
11581
|
+
{
|
|
11582
|
+
id: "person",
|
|
11583
|
+
name: "Person"
|
|
11584
|
+
},
|
|
11585
|
+
{
|
|
11586
|
+
id: "vehicle",
|
|
11587
|
+
name: "Vehicle"
|
|
11588
|
+
},
|
|
11589
|
+
{
|
|
11590
|
+
id: "animal",
|
|
11591
|
+
name: "Animal"
|
|
11592
|
+
},
|
|
11593
|
+
{
|
|
11594
|
+
id: "package",
|
|
11595
|
+
name: "Package"
|
|
11596
|
+
}
|
|
11597
|
+
].map((l) => l.id));
|
|
11598
|
+
/** True when `className` is a macro the detector can actually emit (and hence a
|
|
11599
|
+
* class a count can be keyed on) — see {@link DETECTION_MACRO_CLASSES}. */
|
|
11600
|
+
function isDetectionMacroClass(className) {
|
|
11601
|
+
return DETECTION_MACRO_CLASSES.has(className.trim().toLowerCase());
|
|
11602
|
+
}
|
|
11603
|
+
var COCO_TO_MACRO = {
|
|
11604
|
+
mapping: {
|
|
11605
|
+
person: "person",
|
|
11606
|
+
bicycle: "vehicle",
|
|
11607
|
+
car: "vehicle",
|
|
11608
|
+
motorcycle: "vehicle",
|
|
11609
|
+
airplane: "vehicle",
|
|
11610
|
+
bus: "vehicle",
|
|
11611
|
+
train: "vehicle",
|
|
11612
|
+
truck: "vehicle",
|
|
11613
|
+
boat: "vehicle",
|
|
11614
|
+
bird: "animal",
|
|
11615
|
+
cat: "animal",
|
|
11616
|
+
dog: "animal",
|
|
11617
|
+
horse: "animal",
|
|
11618
|
+
sheep: "animal",
|
|
11619
|
+
cow: "animal",
|
|
11620
|
+
elephant: "animal",
|
|
11621
|
+
bear: "animal",
|
|
11622
|
+
zebra: "animal",
|
|
11623
|
+
giraffe: "animal",
|
|
11624
|
+
suitcase: "package",
|
|
11625
|
+
backpack: "package",
|
|
11626
|
+
handbag: "package"
|
|
11627
|
+
},
|
|
11628
|
+
preserveOriginal: false
|
|
11629
|
+
};
|
|
11630
|
+
/** Steps a root detector may declare it fills. */
|
|
11631
|
+
var FILLABLE_STEP_IDS = [
|
|
11632
|
+
"animal-classifier",
|
|
11633
|
+
"vehicle-classifier",
|
|
11634
|
+
"package-detection"
|
|
11635
|
+
];
|
|
11636
|
+
/** Narrow a step id to a fillable one — type guard, not a cast. */
|
|
11637
|
+
function isFillableStepId(value) {
|
|
11638
|
+
return FILLABLE_STEP_IDS.some((id) => id === value);
|
|
11639
|
+
}
|
|
11640
|
+
/** The step a linked label stands in for, or `undefined` for any other attribution. */
|
|
11641
|
+
function linkedStepOf(attributionStepId) {
|
|
11642
|
+
if (attributionStepId === void 0) return void 0;
|
|
11643
|
+
if (!attributionStepId.startsWith("detector-link:")) return void 0;
|
|
11644
|
+
const stepId = attributionStepId.slice(14);
|
|
11645
|
+
return isFillableStepId(stepId) ? stepId : void 0;
|
|
11646
|
+
}
|
|
11563
11647
|
var MODEL_FORMATS = [
|
|
11564
11648
|
"onnx",
|
|
11565
11649
|
"coreml",
|
|
@@ -11692,6 +11776,12 @@ var ModelLicenseSchema = preprocess((value) => typeof value === "string" ? { wei
|
|
|
11692
11776
|
/** True when the weights or their data forbid commercial use. */
|
|
11693
11777
|
nonCommercial: boolean().optional()
|
|
11694
11778
|
}));
|
|
11779
|
+
/** One `fillsClassifierEffects` entry — see `ModelCatalogEntry.fillsClassifierEffects`. */
|
|
11780
|
+
var FillsClassifierEffectSchema = object({
|
|
11781
|
+
stepId: _enum(FILLABLE_STEP_IDS),
|
|
11782
|
+
labelToEffect: record(string(), string()),
|
|
11783
|
+
uncovered: array(string()).readonly()
|
|
11784
|
+
});
|
|
11695
11785
|
var ModelCatalogEntrySchema = object({
|
|
11696
11786
|
id: string(),
|
|
11697
11787
|
name: string(),
|
|
@@ -11818,6 +11908,16 @@ var ModelCatalogEntrySchema = object({
|
|
|
11818
11908
|
*/
|
|
11819
11909
|
classMap: DetectionCatalogClassMapSchema.optional(),
|
|
11820
11910
|
/**
|
|
11911
|
+
* The pipeline steps this ROOT detector already does the work of (D715):
|
|
11912
|
+
* its labels name the effect the step exists to produce (`deer` for
|
|
11913
|
+
* `animal-classifier`, `package` for `package-detection`). Derived from the
|
|
11914
|
+
* labelmap by `deriveClassifierFills`, never hand-written; a COCO model
|
|
11915
|
+
* declares none. Whether a declaration is honoured is the step's own
|
|
11916
|
+
* `labelLink` policy (`resolveLabelLink`). `labelToEffect` values are in
|
|
11917
|
+
* `FILLABLE_STEP_VOCABULARIES` (guard `check-label-link-vocabulary`).
|
|
11918
|
+
*/
|
|
11919
|
+
fillsClassifierEffects: array(FillsClassifierEffectSchema).readonly().optional(),
|
|
11920
|
+
/**
|
|
11821
11921
|
* The model's CLIP feature-space contract (text encoder, dimension, vector
|
|
11822
11922
|
* index, token window, search floor) — see `clip-model.ts`. Present ONLY on a
|
|
11823
11923
|
* CLIP image encoder; its absence is what "not a CLIP model" means to the
|
|
@@ -21460,73 +21560,6 @@ var notificationOutputCapability = {
|
|
|
21460
21560
|
})
|
|
21461
21561
|
}
|
|
21462
21562
|
};
|
|
21463
|
-
/**
|
|
21464
|
-
* The class names a per-class COUNT can ever be keyed on — the macro ids, and
|
|
21465
|
-
* only those.
|
|
21466
|
-
*
|
|
21467
|
-
* `preserveOriginal: false` below is the whole reason this set exists: the
|
|
21468
|
-
* executor maps each raw COCO label onto its macro and DROPS everything else,
|
|
21469
|
-
* so a tracked detection's `className` is always one of {@link MACRO_LABELS}.
|
|
21470
|
-
* Any surface that indexes counts by class name — the ZoneAnalytics occupancy
|
|
21471
|
-
* snapshot's `byClass`, and therefore every occupancy rule — can match nothing
|
|
21472
|
-
* else. Derived from the catalog, never hand-listed, so a new macro joins it by
|
|
21473
|
-
* being declared once.
|
|
21474
|
-
*
|
|
21475
|
-
* Cost of not having it, 2026-08-12: the notification rule editor offered the
|
|
21476
|
-
* full taxonomy for an occupancy class (occupancy is the one condition that
|
|
21477
|
-
* does not go through the engine's macro-expanding `expandClassSelector`), two
|
|
21478
|
-
* live rules were authored on `car`, and both counters read 0 forever.
|
|
21479
|
-
*/
|
|
21480
|
-
var DETECTION_MACRO_CLASSES = new Set([
|
|
21481
|
-
{
|
|
21482
|
-
id: "person",
|
|
21483
|
-
name: "Person"
|
|
21484
|
-
},
|
|
21485
|
-
{
|
|
21486
|
-
id: "vehicle",
|
|
21487
|
-
name: "Vehicle"
|
|
21488
|
-
},
|
|
21489
|
-
{
|
|
21490
|
-
id: "animal",
|
|
21491
|
-
name: "Animal"
|
|
21492
|
-
},
|
|
21493
|
-
{
|
|
21494
|
-
id: "package",
|
|
21495
|
-
name: "Package"
|
|
21496
|
-
}
|
|
21497
|
-
].map((l) => l.id));
|
|
21498
|
-
/** True when `className` is a macro the detector can actually emit (and hence a
|
|
21499
|
-
* class a count can be keyed on) — see {@link DETECTION_MACRO_CLASSES}. */
|
|
21500
|
-
function isDetectionMacroClass(className) {
|
|
21501
|
-
return DETECTION_MACRO_CLASSES.has(className.trim().toLowerCase());
|
|
21502
|
-
}
|
|
21503
|
-
var COCO_TO_MACRO = {
|
|
21504
|
-
mapping: {
|
|
21505
|
-
person: "person",
|
|
21506
|
-
bicycle: "vehicle",
|
|
21507
|
-
car: "vehicle",
|
|
21508
|
-
motorcycle: "vehicle",
|
|
21509
|
-
airplane: "vehicle",
|
|
21510
|
-
bus: "vehicle",
|
|
21511
|
-
train: "vehicle",
|
|
21512
|
-
truck: "vehicle",
|
|
21513
|
-
boat: "vehicle",
|
|
21514
|
-
bird: "animal",
|
|
21515
|
-
cat: "animal",
|
|
21516
|
-
dog: "animal",
|
|
21517
|
-
horse: "animal",
|
|
21518
|
-
sheep: "animal",
|
|
21519
|
-
cow: "animal",
|
|
21520
|
-
elephant: "animal",
|
|
21521
|
-
bear: "animal",
|
|
21522
|
-
zebra: "animal",
|
|
21523
|
-
giraffe: "animal",
|
|
21524
|
-
suitcase: "package",
|
|
21525
|
-
backpack: "package",
|
|
21526
|
-
handbag: "package"
|
|
21527
|
-
},
|
|
21528
|
-
preserveOriginal: false
|
|
21529
|
-
};
|
|
21530
21563
|
var AUDIO_MACRO_LABELS = [
|
|
21531
21564
|
{
|
|
21532
21565
|
id: "speech",
|
|
@@ -28616,7 +28649,8 @@ var PipelineModelOptionSchema = object({
|
|
|
28616
28649
|
group: ModelVariantGroupSchema.optional(),
|
|
28617
28650
|
legacy: boolean().optional(),
|
|
28618
28651
|
provider: ModelProviderIdSchema.optional(),
|
|
28619
|
-
defaultConfidence: number().optional()
|
|
28652
|
+
defaultConfidence: number().optional(),
|
|
28653
|
+
fillsClassifierEffects: array(FillsClassifierEffectSchema).readonly().optional()
|
|
28620
28654
|
});
|
|
28621
28655
|
var ConfigFieldBridge = custom();
|
|
28622
28656
|
var PipelineAddonSchemaSchema = object({
|
|
@@ -64993,6 +65027,12 @@ Object.defineProperty(exports, "kebabToCamel", {
|
|
|
64993
65027
|
return kebabToCamel;
|
|
64994
65028
|
}
|
|
64995
65029
|
});
|
|
65030
|
+
Object.defineProperty(exports, "linkedStepOf", {
|
|
65031
|
+
enumerable: true,
|
|
65032
|
+
get: function() {
|
|
65033
|
+
return linkedStepOf;
|
|
65034
|
+
}
|
|
65035
|
+
});
|
|
64996
65036
|
Object.defineProperty(exports, "literal", {
|
|
64997
65037
|
enumerable: true,
|
|
64998
65038
|
get: function() {
|
|
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
const require_clip_model_registry = require("../clip-model-registry-
|
|
5
|
+
const require_clip_model_registry = require("../clip-model-registry-B5PsxZWY.js");
|
|
6
6
|
let node_fs = require("node:fs");
|
|
7
7
|
node_fs = require_clip_model_registry.__toESM(node_fs);
|
|
8
8
|
let node_path = require("node:path");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Dr as parseProcStatus, Jn as embeddingEncoderCapability, Qn as embeddingRequirementsUnavailableError, Rr as resolvePoolMemoryPolicy, Yn as embeddingModelFailedError, Zn as embeddingRequirementsFailedError, Zt as PoolMemoryWatchdog, a as CLIP_EMBEDDING_STEP_ID, c as resolveClusterModelPin, i as CLIP_TEXT_MODELS, n as DEFAULT_CLIP_MODEL, pi as BaseAddon, r as CLIP_IMAGE_MODELS, t as BUILTIN_CLIP_MODELS, xi as normalizeNodeId } from "../clip-model-registry-7H6vvqGZ.mjs";
|
|
2
2
|
import { createRequire } from "node:module";
|
|
3
3
|
import * as fs from "node:fs";
|
|
4
4
|
import * as path$1 from "node:path";
|
|
@@ -2,7 +2,7 @@ import { a as e, i as t, n, o as r, r as i, t as a } from "./_virtual_mf___mfe_i
|
|
|
2
2
|
import { t as o } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-B3Wx5J80.mjs";
|
|
3
3
|
import { a as s, i as c, n as l, o as u, r as d, s as f, t as p } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-DxUsRAkr.mjs";
|
|
4
4
|
import { n as m, r as h, t as g } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-Bm-iyjmq.mjs";
|
|
5
|
-
import { t as _ } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-
|
|
5
|
+
import { t as _ } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DgZSb-KR.mjs";
|
|
6
6
|
//#region ../../node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
|
|
7
7
|
var v = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), y = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), b = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), x = (e) => {
|
|
8
8
|
let t = b(e);
|
|
@@ -18,7 +18,7 @@ var e = {
|
|
|
18
18
|
},
|
|
19
19
|
"@camstack/types": {
|
|
20
20
|
name: "@camstack/types",
|
|
21
|
-
version: "1.2.
|
|
21
|
+
version: "1.2.306",
|
|
22
22
|
scope: ["default"],
|
|
23
23
|
loaded: !1,
|
|
24
24
|
from: "addon_pipeline_analytics_widgets",
|
|
@@ -33,7 +33,7 @@ var e = {
|
|
|
33
33
|
},
|
|
34
34
|
"@camstack/ui-library": {
|
|
35
35
|
name: "@camstack/ui-library",
|
|
36
|
-
version: "1.2.
|
|
36
|
+
version: "1.2.233",
|
|
37
37
|
scope: ["default"],
|
|
38
38
|
loaded: !1,
|
|
39
39
|
from: "addon_pipeline_analytics_widgets",
|