@camstack/addon-pipeline 1.2.327 → 1.2.329

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.
Files changed (44) hide show
  1. package/THIRD_PARTY_MODELS.md +35 -27
  2. package/dist/audio-analyzer/index.js +2 -2
  3. package/dist/audio-analyzer/index.mjs +2 -2
  4. package/dist/{default-detection-model-CBIYdAJ5.js → default-detection-model-ChH7Y219.js} +130 -61
  5. package/dist/{default-detection-model-hql6BX9-.mjs → default-detection-model-j0nBpRoB.mjs} +130 -61
  6. package/dist/detection-pipeline/index.js +458 -16
  7. package/dist/detection-pipeline/index.mjs +458 -16
  8. package/dist/{dist-B9LnBPz9.mjs → dist-0HoA3wAi.mjs} +503 -370
  9. package/dist/{dist-BBZwYfSN.js → dist-BlIWhjnu.js} +550 -369
  10. package/dist/motion-wasm/index.js +1 -1
  11. package/dist/motion-wasm/index.mjs +1 -1
  12. package/dist/{node-mJQBUiEc.js → node-BPpVMnZy.js} +1 -1
  13. package/dist/{node-Ci0E-0VP.mjs → node-HOMWRPzW.mjs} +1 -1
  14. package/dist/pipeline-runner/index.js +215 -78
  15. package/dist/pipeline-runner/index.mjs +215 -78
  16. package/dist/{process-memory-DgEfKdtC.js → process-memory-BW06vOIQ.js} +1 -1
  17. package/dist/{process-memory-B63Jlpev.mjs → process-memory-DuF8pa2w.mjs} +1 -1
  18. package/dist/recorder/index.js +2 -2
  19. package/dist/recorder/index.mjs +2 -2
  20. package/dist/{segment-demux-js-DzwHW4Ey.mjs → segment-demux-js-BU2MXpln.mjs} +1 -1
  21. package/dist/{segment-demux-js-C2ufKMu0.js → segment-demux-js-Dl52Zz8w.js} +1 -1
  22. package/dist/session-decode/decode-worker-main.js +13 -21
  23. package/dist/session-decode/decode-worker-main.mjs +13 -21
  24. package/dist/stream-broker/_stub.js +1 -1
  25. package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-B4fPzS-8.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-vNfS65In.mjs} +3 -3
  26. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DfeHvW4k.mjs +26 -0
  27. package/dist/stream-broker/demux-worker-child.js +1 -1
  28. package/dist/stream-broker/demux-worker-child.mjs +1 -1
  29. package/dist/stream-broker/{hostInit-Cg4IdtE5.mjs → hostInit-Ciacp783.mjs} +3 -3
  30. package/dist/stream-broker/index.js +4 -3
  31. package/dist/stream-broker/index.mjs +4 -3
  32. package/dist/stream-broker/remoteEntry.js +1 -1
  33. package/package.json +1 -1
  34. package/python/edgetpu_dequant.py +38 -1
  35. package/python/inference_pool.py +69 -138
  36. package/python/postprocessors/test_bird_edgetpu.py +124 -0
  37. package/python/postprocessors/test_yolox_plate_edgetpu.py +126 -0
  38. package/python/postprocessors/test_yunet_edgetpu.py +149 -0
  39. package/python/postprocessors/testdata/bird_classifier_int8_outputs.json +1 -0
  40. package/python/postprocessors/testdata/yolox_plate_int8_outputs.json +1 -0
  41. package/python/postprocessors/testdata/yunet_int8_outputs.json +1 -0
  42. package/python/postprocessors/yolo.py +44 -0
  43. package/python/test_inference_pool_static_batch.py +2 -4
  44. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BDGzcgLP.mjs +0 -26
@@ -12600,6 +12600,480 @@ var ClipSearchStrictnessSchema = _enum([
12600
12600
  "balanced",
12601
12601
  "strict"
12602
12602
  ]);
12603
+ var COCO_80_LABELS = [
12604
+ {
12605
+ id: "person",
12606
+ name: "Person"
12607
+ },
12608
+ {
12609
+ id: "bicycle",
12610
+ name: "Bicycle"
12611
+ },
12612
+ {
12613
+ id: "car",
12614
+ name: "Car"
12615
+ },
12616
+ {
12617
+ id: "motorcycle",
12618
+ name: "Motorcycle"
12619
+ },
12620
+ {
12621
+ id: "airplane",
12622
+ name: "Airplane"
12623
+ },
12624
+ {
12625
+ id: "bus",
12626
+ name: "Bus"
12627
+ },
12628
+ {
12629
+ id: "train",
12630
+ name: "Train"
12631
+ },
12632
+ {
12633
+ id: "truck",
12634
+ name: "Truck"
12635
+ },
12636
+ {
12637
+ id: "boat",
12638
+ name: "Boat"
12639
+ },
12640
+ {
12641
+ id: "traffic light",
12642
+ name: "Traffic Light"
12643
+ },
12644
+ {
12645
+ id: "fire hydrant",
12646
+ name: "Fire Hydrant"
12647
+ },
12648
+ {
12649
+ id: "stop sign",
12650
+ name: "Stop Sign"
12651
+ },
12652
+ {
12653
+ id: "parking meter",
12654
+ name: "Parking Meter"
12655
+ },
12656
+ {
12657
+ id: "bench",
12658
+ name: "Bench"
12659
+ },
12660
+ {
12661
+ id: "bird",
12662
+ name: "Bird"
12663
+ },
12664
+ {
12665
+ id: "cat",
12666
+ name: "Cat"
12667
+ },
12668
+ {
12669
+ id: "dog",
12670
+ name: "Dog"
12671
+ },
12672
+ {
12673
+ id: "horse",
12674
+ name: "Horse"
12675
+ },
12676
+ {
12677
+ id: "sheep",
12678
+ name: "Sheep"
12679
+ },
12680
+ {
12681
+ id: "cow",
12682
+ name: "Cow"
12683
+ },
12684
+ {
12685
+ id: "elephant",
12686
+ name: "Elephant"
12687
+ },
12688
+ {
12689
+ id: "bear",
12690
+ name: "Bear"
12691
+ },
12692
+ {
12693
+ id: "zebra",
12694
+ name: "Zebra"
12695
+ },
12696
+ {
12697
+ id: "giraffe",
12698
+ name: "Giraffe"
12699
+ },
12700
+ {
12701
+ id: "backpack",
12702
+ name: "Backpack"
12703
+ },
12704
+ {
12705
+ id: "umbrella",
12706
+ name: "Umbrella"
12707
+ },
12708
+ {
12709
+ id: "handbag",
12710
+ name: "Handbag"
12711
+ },
12712
+ {
12713
+ id: "tie",
12714
+ name: "Tie"
12715
+ },
12716
+ {
12717
+ id: "suitcase",
12718
+ name: "Suitcase"
12719
+ },
12720
+ {
12721
+ id: "frisbee",
12722
+ name: "Frisbee"
12723
+ },
12724
+ {
12725
+ id: "skis",
12726
+ name: "Skis"
12727
+ },
12728
+ {
12729
+ id: "snowboard",
12730
+ name: "Snowboard"
12731
+ },
12732
+ {
12733
+ id: "sports ball",
12734
+ name: "Sports Ball"
12735
+ },
12736
+ {
12737
+ id: "kite",
12738
+ name: "Kite"
12739
+ },
12740
+ {
12741
+ id: "baseball bat",
12742
+ name: "Baseball Bat"
12743
+ },
12744
+ {
12745
+ id: "baseball glove",
12746
+ name: "Baseball Glove"
12747
+ },
12748
+ {
12749
+ id: "skateboard",
12750
+ name: "Skateboard"
12751
+ },
12752
+ {
12753
+ id: "surfboard",
12754
+ name: "Surfboard"
12755
+ },
12756
+ {
12757
+ id: "tennis racket",
12758
+ name: "Tennis Racket"
12759
+ },
12760
+ {
12761
+ id: "bottle",
12762
+ name: "Bottle"
12763
+ },
12764
+ {
12765
+ id: "wine glass",
12766
+ name: "Wine Glass"
12767
+ },
12768
+ {
12769
+ id: "cup",
12770
+ name: "Cup"
12771
+ },
12772
+ {
12773
+ id: "fork",
12774
+ name: "Fork"
12775
+ },
12776
+ {
12777
+ id: "knife",
12778
+ name: "Knife"
12779
+ },
12780
+ {
12781
+ id: "spoon",
12782
+ name: "Spoon"
12783
+ },
12784
+ {
12785
+ id: "bowl",
12786
+ name: "Bowl"
12787
+ },
12788
+ {
12789
+ id: "banana",
12790
+ name: "Banana"
12791
+ },
12792
+ {
12793
+ id: "apple",
12794
+ name: "Apple"
12795
+ },
12796
+ {
12797
+ id: "sandwich",
12798
+ name: "Sandwich"
12799
+ },
12800
+ {
12801
+ id: "orange",
12802
+ name: "Orange"
12803
+ },
12804
+ {
12805
+ id: "broccoli",
12806
+ name: "Broccoli"
12807
+ },
12808
+ {
12809
+ id: "carrot",
12810
+ name: "Carrot"
12811
+ },
12812
+ {
12813
+ id: "hot dog",
12814
+ name: "Hot Dog"
12815
+ },
12816
+ {
12817
+ id: "pizza",
12818
+ name: "Pizza"
12819
+ },
12820
+ {
12821
+ id: "donut",
12822
+ name: "Donut"
12823
+ },
12824
+ {
12825
+ id: "cake",
12826
+ name: "Cake"
12827
+ },
12828
+ {
12829
+ id: "chair",
12830
+ name: "Chair"
12831
+ },
12832
+ {
12833
+ id: "couch",
12834
+ name: "Couch"
12835
+ },
12836
+ {
12837
+ id: "potted plant",
12838
+ name: "Potted Plant"
12839
+ },
12840
+ {
12841
+ id: "bed",
12842
+ name: "Bed"
12843
+ },
12844
+ {
12845
+ id: "dining table",
12846
+ name: "Dining Table"
12847
+ },
12848
+ {
12849
+ id: "toilet",
12850
+ name: "Toilet"
12851
+ },
12852
+ {
12853
+ id: "tv",
12854
+ name: "TV"
12855
+ },
12856
+ {
12857
+ id: "laptop",
12858
+ name: "Laptop"
12859
+ },
12860
+ {
12861
+ id: "mouse",
12862
+ name: "Mouse"
12863
+ },
12864
+ {
12865
+ id: "remote",
12866
+ name: "Remote"
12867
+ },
12868
+ {
12869
+ id: "keyboard",
12870
+ name: "Keyboard"
12871
+ },
12872
+ {
12873
+ id: "cell phone",
12874
+ name: "Cell Phone"
12875
+ },
12876
+ {
12877
+ id: "microwave",
12878
+ name: "Microwave"
12879
+ },
12880
+ {
12881
+ id: "oven",
12882
+ name: "Oven"
12883
+ },
12884
+ {
12885
+ id: "toaster",
12886
+ name: "Toaster"
12887
+ },
12888
+ {
12889
+ id: "sink",
12890
+ name: "Sink"
12891
+ },
12892
+ {
12893
+ id: "refrigerator",
12894
+ name: "Refrigerator"
12895
+ },
12896
+ {
12897
+ id: "book",
12898
+ name: "Book"
12899
+ },
12900
+ {
12901
+ id: "clock",
12902
+ name: "Clock"
12903
+ },
12904
+ {
12905
+ id: "vase",
12906
+ name: "Vase"
12907
+ },
12908
+ {
12909
+ id: "scissors",
12910
+ name: "Scissors"
12911
+ },
12912
+ {
12913
+ id: "teddy bear",
12914
+ name: "Teddy Bear"
12915
+ },
12916
+ {
12917
+ id: "hair drier",
12918
+ name: "Hair Drier"
12919
+ },
12920
+ {
12921
+ id: "toothbrush",
12922
+ name: "Toothbrush"
12923
+ }
12924
+ ];
12925
+ new Set([
12926
+ {
12927
+ id: "person",
12928
+ name: "Person"
12929
+ },
12930
+ {
12931
+ id: "vehicle",
12932
+ name: "Vehicle"
12933
+ },
12934
+ {
12935
+ id: "animal",
12936
+ name: "Animal"
12937
+ },
12938
+ {
12939
+ id: "package",
12940
+ name: "Package"
12941
+ }
12942
+ ].map((l) => l.id));
12943
+ var COCO_TO_MACRO = {
12944
+ mapping: {
12945
+ person: "person",
12946
+ bicycle: "vehicle",
12947
+ car: "vehicle",
12948
+ motorcycle: "vehicle",
12949
+ airplane: "vehicle",
12950
+ bus: "vehicle",
12951
+ train: "vehicle",
12952
+ truck: "vehicle",
12953
+ boat: "vehicle",
12954
+ bird: "animal",
12955
+ cat: "animal",
12956
+ dog: "animal",
12957
+ horse: "animal",
12958
+ sheep: "animal",
12959
+ cow: "animal",
12960
+ elephant: "animal",
12961
+ bear: "animal",
12962
+ zebra: "animal",
12963
+ giraffe: "animal",
12964
+ suitcase: "package",
12965
+ backpack: "package",
12966
+ handbag: "package"
12967
+ },
12968
+ preserveOriginal: false
12969
+ };
12970
+ /** Steps a root detector may declare it fills. */
12971
+ var FILLABLE_STEP_IDS = [
12972
+ "animal-classifier",
12973
+ "vehicle-classifier",
12974
+ "package-detection"
12975
+ ];
12976
+ /** Narrow a step id to a fillable one — type guard, not a cast. */
12977
+ function isFillableStepId(value) {
12978
+ return FILLABLE_STEP_IDS.some((id) => id === value);
12979
+ }
12980
+ /**
12981
+ * The EFFECT vocabulary of each fillable step: exactly the strings the step
12982
+ * itself emits, in its own spelling. A linked label is one of these and nothing
12983
+ * else, so a tier-1 value means the same thing whichever writer produced it.
12984
+ *
12985
+ * - `animal-classifier`: the PRIMARY model's `-labels.json` (Open Images V7,
12986
+ * 8 classes) — also the species allow-list the step offers.
12987
+ * - `vehicle-classifier`: `vehicle-type-v1-labels.json`, capitalised as the
12988
+ * model emits them (the classifier writes `winner.class` verbatim).
12989
+ * - `package-detection`: its one output class.
12990
+ *
12991
+ * `scripts/check-label-link-vocabulary.ts` fails the build if a model entry's
12992
+ * `labelToEffect` names anything outside this table.
12993
+ */
12994
+ var FILLABLE_STEP_VOCABULARIES = {
12995
+ "animal-classifier": [
12996
+ "bird",
12997
+ "cat",
12998
+ "cow",
12999
+ "deer",
13000
+ "dog",
13001
+ "horse",
13002
+ "sheep",
13003
+ "squirrel"
13004
+ ],
13005
+ "vehicle-classifier": [
13006
+ "Ambulance",
13007
+ "Bicycle",
13008
+ "Bus",
13009
+ "Car",
13010
+ "Motorcycle",
13011
+ "Taxi",
13012
+ "Truck",
13013
+ "Van"
13014
+ ],
13015
+ "package-detection": ["package"]
13016
+ };
13017
+ /** The macro a detection must carry for the step to apply to it. */
13018
+ var FILLABLE_STEP_MACRO = {
13019
+ "animal-classifier": "animal",
13020
+ "vehicle-classifier": "vehicle",
13021
+ "package-detection": "package"
13022
+ };
13023
+ /** The policy values of a step's `labelLink` setting. */
13024
+ var LABEL_LINK_POLICIES = ["run", "skip-when-filled"];
13025
+ /** Absent setting ⇒ this. It changes nothing unless the root model declares a fill. */
13026
+ var DEFAULT_LABEL_LINK_POLICY = "skip-when-filled";
13027
+ /** The step-settings key the policy is stored under (DeviceStepConfig.settings). */
13028
+ var LABEL_LINK_SETTING_KEY = "labelLink";
13029
+ /** `ScoredLabel.stepId` prefix of a label the detector wrote for a step. */
13030
+ var LINKED_LABEL_STEP_PREFIX = "detector-link:";
13031
+ /** `detector-link:<stepId>` — the attribution of a linked label. */
13032
+ function linkedLabelStepId(stepId) {
13033
+ return `${LINKED_LABEL_STEP_PREFIX}${stepId}`;
13034
+ }
13035
+ /** The step a linked label stands in for, or `undefined` for any other attribution. */
13036
+ function linkedStepOf(attributionStepId) {
13037
+ if (attributionStepId === void 0) return void 0;
13038
+ if (!attributionStepId.startsWith("detector-link:")) return void 0;
13039
+ const stepId = attributionStepId.slice(14);
13040
+ return isFillableStepId(stepId) ? stepId : void 0;
13041
+ }
13042
+ /** Read the `labelLink` policy off a step's settings bag; anything else ⇒ the default. */
13043
+ function readLabelLinkPolicy(settings) {
13044
+ const raw = settings?.[LABEL_LINK_SETTING_KEY];
13045
+ return LABEL_LINK_POLICIES.find((p) => p === raw) ?? "skip-when-filled";
13046
+ }
13047
+ /**
13048
+ * Decide the writer of one filled effect for one camera.
13049
+ *
13050
+ * - The step is not running (disabled, or not in the camera's tree): the
13051
+ * detector is the only writer — authoritative, nothing to skip.
13052
+ * - The step runs, the policy is `skip-when-filled` and every coverage gap is
13053
+ * switched off in `enabledClasses`: the detector is authoritative and the
13054
+ * step is skipped.
13055
+ * - Otherwise the step runs and is the writer; the linked label is a score-0
13056
+ * fallback.
13057
+ */
13058
+ function resolveLabelLink(fill, step) {
13059
+ const policy = readLabelLinkPolicy(step?.settings);
13060
+ const rawEnabled = step?.settings?.["enabledClasses"];
13061
+ const allowList = Array.isArray(rawEnabled) && rawEnabled.length > 0 ? rawEnabled.filter((v) => typeof v === "string") : null;
13062
+ const openGaps = fill.uncovered.filter((g) => allowList === null || allowList.includes(g));
13063
+ if (step === void 0 || !step.enabled) return {
13064
+ authoritative: true,
13065
+ skip: false,
13066
+ policy,
13067
+ openGaps
13068
+ };
13069
+ const skip = policy === "skip-when-filled" && openGaps.length === 0;
13070
+ return {
13071
+ authoritative: skip,
13072
+ skip,
13073
+ policy,
13074
+ openGaps
13075
+ };
13076
+ }
12603
13077
  var MODEL_FORMATS = [
12604
13078
  "onnx",
12605
13079
  "coreml",
@@ -12745,6 +13219,12 @@ var ModelLicenseSchema = preprocess((value) => typeof value === "string" ? { wei
12745
13219
  /** True when the weights or their data forbid commercial use. */
12746
13220
  nonCommercial: boolean().optional()
12747
13221
  }));
13222
+ /** One `fillsClassifierEffects` entry — see `ModelCatalogEntry.fillsClassifierEffects`. */
13223
+ var FillsClassifierEffectSchema = object({
13224
+ stepId: _enum(FILLABLE_STEP_IDS),
13225
+ labelToEffect: record(string(), string()),
13226
+ uncovered: array(string()).readonly()
13227
+ });
12748
13228
  var ModelCatalogEntrySchema = object({
12749
13229
  id: string(),
12750
13230
  name: string(),
@@ -12871,6 +13351,16 @@ var ModelCatalogEntrySchema = object({
12871
13351
  */
12872
13352
  classMap: DetectionCatalogClassMapSchema.optional(),
12873
13353
  /**
13354
+ * The pipeline steps this ROOT detector already does the work of (D715):
13355
+ * its labels name the effect the step exists to produce (`deer` for
13356
+ * `animal-classifier`, `package` for `package-detection`). Derived from the
13357
+ * labelmap by `deriveClassifierFills`, never hand-written; a COCO model
13358
+ * declares none. Whether a declaration is honoured is the step's own
13359
+ * `labelLink` policy (`resolveLabelLink`). `labelToEffect` values are in
13360
+ * `FILLABLE_STEP_VOCABULARIES` (guard `check-label-link-vocabulary`).
13361
+ */
13362
+ fillsClassifierEffects: array(FillsClassifierEffectSchema).readonly().optional(),
13363
+ /**
12874
13364
  * The model's CLIP feature-space contract (text encoder, dimension, vector
12875
13365
  * index, token window, search floor) — see `clip-model.ts`. Present ONLY on a
12876
13366
  * CLIP image encoder; its absence is what "not a CLIP model" means to the
@@ -20365,373 +20855,6 @@ method(object({}), array(TargetKindSchema)), method(object({}), array(TargetSche
20365
20855
  kind: "mutation",
20366
20856
  auth: "admin"
20367
20857
  });
20368
- var COCO_80_LABELS = [
20369
- {
20370
- id: "person",
20371
- name: "Person"
20372
- },
20373
- {
20374
- id: "bicycle",
20375
- name: "Bicycle"
20376
- },
20377
- {
20378
- id: "car",
20379
- name: "Car"
20380
- },
20381
- {
20382
- id: "motorcycle",
20383
- name: "Motorcycle"
20384
- },
20385
- {
20386
- id: "airplane",
20387
- name: "Airplane"
20388
- },
20389
- {
20390
- id: "bus",
20391
- name: "Bus"
20392
- },
20393
- {
20394
- id: "train",
20395
- name: "Train"
20396
- },
20397
- {
20398
- id: "truck",
20399
- name: "Truck"
20400
- },
20401
- {
20402
- id: "boat",
20403
- name: "Boat"
20404
- },
20405
- {
20406
- id: "traffic light",
20407
- name: "Traffic Light"
20408
- },
20409
- {
20410
- id: "fire hydrant",
20411
- name: "Fire Hydrant"
20412
- },
20413
- {
20414
- id: "stop sign",
20415
- name: "Stop Sign"
20416
- },
20417
- {
20418
- id: "parking meter",
20419
- name: "Parking Meter"
20420
- },
20421
- {
20422
- id: "bench",
20423
- name: "Bench"
20424
- },
20425
- {
20426
- id: "bird",
20427
- name: "Bird"
20428
- },
20429
- {
20430
- id: "cat",
20431
- name: "Cat"
20432
- },
20433
- {
20434
- id: "dog",
20435
- name: "Dog"
20436
- },
20437
- {
20438
- id: "horse",
20439
- name: "Horse"
20440
- },
20441
- {
20442
- id: "sheep",
20443
- name: "Sheep"
20444
- },
20445
- {
20446
- id: "cow",
20447
- name: "Cow"
20448
- },
20449
- {
20450
- id: "elephant",
20451
- name: "Elephant"
20452
- },
20453
- {
20454
- id: "bear",
20455
- name: "Bear"
20456
- },
20457
- {
20458
- id: "zebra",
20459
- name: "Zebra"
20460
- },
20461
- {
20462
- id: "giraffe",
20463
- name: "Giraffe"
20464
- },
20465
- {
20466
- id: "backpack",
20467
- name: "Backpack"
20468
- },
20469
- {
20470
- id: "umbrella",
20471
- name: "Umbrella"
20472
- },
20473
- {
20474
- id: "handbag",
20475
- name: "Handbag"
20476
- },
20477
- {
20478
- id: "tie",
20479
- name: "Tie"
20480
- },
20481
- {
20482
- id: "suitcase",
20483
- name: "Suitcase"
20484
- },
20485
- {
20486
- id: "frisbee",
20487
- name: "Frisbee"
20488
- },
20489
- {
20490
- id: "skis",
20491
- name: "Skis"
20492
- },
20493
- {
20494
- id: "snowboard",
20495
- name: "Snowboard"
20496
- },
20497
- {
20498
- id: "sports ball",
20499
- name: "Sports Ball"
20500
- },
20501
- {
20502
- id: "kite",
20503
- name: "Kite"
20504
- },
20505
- {
20506
- id: "baseball bat",
20507
- name: "Baseball Bat"
20508
- },
20509
- {
20510
- id: "baseball glove",
20511
- name: "Baseball Glove"
20512
- },
20513
- {
20514
- id: "skateboard",
20515
- name: "Skateboard"
20516
- },
20517
- {
20518
- id: "surfboard",
20519
- name: "Surfboard"
20520
- },
20521
- {
20522
- id: "tennis racket",
20523
- name: "Tennis Racket"
20524
- },
20525
- {
20526
- id: "bottle",
20527
- name: "Bottle"
20528
- },
20529
- {
20530
- id: "wine glass",
20531
- name: "Wine Glass"
20532
- },
20533
- {
20534
- id: "cup",
20535
- name: "Cup"
20536
- },
20537
- {
20538
- id: "fork",
20539
- name: "Fork"
20540
- },
20541
- {
20542
- id: "knife",
20543
- name: "Knife"
20544
- },
20545
- {
20546
- id: "spoon",
20547
- name: "Spoon"
20548
- },
20549
- {
20550
- id: "bowl",
20551
- name: "Bowl"
20552
- },
20553
- {
20554
- id: "banana",
20555
- name: "Banana"
20556
- },
20557
- {
20558
- id: "apple",
20559
- name: "Apple"
20560
- },
20561
- {
20562
- id: "sandwich",
20563
- name: "Sandwich"
20564
- },
20565
- {
20566
- id: "orange",
20567
- name: "Orange"
20568
- },
20569
- {
20570
- id: "broccoli",
20571
- name: "Broccoli"
20572
- },
20573
- {
20574
- id: "carrot",
20575
- name: "Carrot"
20576
- },
20577
- {
20578
- id: "hot dog",
20579
- name: "Hot Dog"
20580
- },
20581
- {
20582
- id: "pizza",
20583
- name: "Pizza"
20584
- },
20585
- {
20586
- id: "donut",
20587
- name: "Donut"
20588
- },
20589
- {
20590
- id: "cake",
20591
- name: "Cake"
20592
- },
20593
- {
20594
- id: "chair",
20595
- name: "Chair"
20596
- },
20597
- {
20598
- id: "couch",
20599
- name: "Couch"
20600
- },
20601
- {
20602
- id: "potted plant",
20603
- name: "Potted Plant"
20604
- },
20605
- {
20606
- id: "bed",
20607
- name: "Bed"
20608
- },
20609
- {
20610
- id: "dining table",
20611
- name: "Dining Table"
20612
- },
20613
- {
20614
- id: "toilet",
20615
- name: "Toilet"
20616
- },
20617
- {
20618
- id: "tv",
20619
- name: "TV"
20620
- },
20621
- {
20622
- id: "laptop",
20623
- name: "Laptop"
20624
- },
20625
- {
20626
- id: "mouse",
20627
- name: "Mouse"
20628
- },
20629
- {
20630
- id: "remote",
20631
- name: "Remote"
20632
- },
20633
- {
20634
- id: "keyboard",
20635
- name: "Keyboard"
20636
- },
20637
- {
20638
- id: "cell phone",
20639
- name: "Cell Phone"
20640
- },
20641
- {
20642
- id: "microwave",
20643
- name: "Microwave"
20644
- },
20645
- {
20646
- id: "oven",
20647
- name: "Oven"
20648
- },
20649
- {
20650
- id: "toaster",
20651
- name: "Toaster"
20652
- },
20653
- {
20654
- id: "sink",
20655
- name: "Sink"
20656
- },
20657
- {
20658
- id: "refrigerator",
20659
- name: "Refrigerator"
20660
- },
20661
- {
20662
- id: "book",
20663
- name: "Book"
20664
- },
20665
- {
20666
- id: "clock",
20667
- name: "Clock"
20668
- },
20669
- {
20670
- id: "vase",
20671
- name: "Vase"
20672
- },
20673
- {
20674
- id: "scissors",
20675
- name: "Scissors"
20676
- },
20677
- {
20678
- id: "teddy bear",
20679
- name: "Teddy Bear"
20680
- },
20681
- {
20682
- id: "hair drier",
20683
- name: "Hair Drier"
20684
- },
20685
- {
20686
- id: "toothbrush",
20687
- name: "Toothbrush"
20688
- }
20689
- ];
20690
- new Set([
20691
- {
20692
- id: "person",
20693
- name: "Person"
20694
- },
20695
- {
20696
- id: "vehicle",
20697
- name: "Vehicle"
20698
- },
20699
- {
20700
- id: "animal",
20701
- name: "Animal"
20702
- },
20703
- {
20704
- id: "package",
20705
- name: "Package"
20706
- }
20707
- ].map((l) => l.id));
20708
- var COCO_TO_MACRO = {
20709
- mapping: {
20710
- person: "person",
20711
- bicycle: "vehicle",
20712
- car: "vehicle",
20713
- motorcycle: "vehicle",
20714
- airplane: "vehicle",
20715
- bus: "vehicle",
20716
- train: "vehicle",
20717
- truck: "vehicle",
20718
- boat: "vehicle",
20719
- bird: "animal",
20720
- cat: "animal",
20721
- dog: "animal",
20722
- horse: "animal",
20723
- sheep: "animal",
20724
- cow: "animal",
20725
- elephant: "animal",
20726
- bear: "animal",
20727
- zebra: "animal",
20728
- giraffe: "animal",
20729
- suitcase: "package",
20730
- backpack: "package",
20731
- handbag: "package"
20732
- },
20733
- preserveOriginal: false
20734
- };
20735
20858
  var AUDIO_MACRO_LABELS = [
20736
20859
  {
20737
20860
  id: "speech",
@@ -21493,6 +21616,8 @@ var NcSystemEventKindSchema = _enum([
21493
21616
  "stream-offline",
21494
21617
  "node-online",
21495
21618
  "node-offline",
21619
+ "node-restarting",
21620
+ "node-updating",
21496
21621
  "node-inference-unavailable",
21497
21622
  "detection-blind",
21498
21623
  "addon-crash-loop",
@@ -26186,7 +26311,8 @@ var PipelineModelOptionSchema = object({
26186
26311
  group: ModelVariantGroupSchema.optional(),
26187
26312
  legacy: boolean().optional(),
26188
26313
  provider: ModelProviderIdSchema.optional(),
26189
- defaultConfidence: number().optional()
26314
+ defaultConfidence: number().optional(),
26315
+ fillsClassifierEffects: array(FillsClassifierEffectSchema).readonly().optional()
26190
26316
  });
26191
26317
  var ConfigFieldBridge = custom();
26192
26318
  var PipelineAddonSchemaSchema = object({
@@ -34933,7 +35059,8 @@ object({
34933
35059
  * writes this slice (not even a boot seed), and neither does the runner's
34934
35060
  * phase machine: its phase is "a session is attached" for every on-motion
34935
35061
  * session, not motion, and it now has its own `DetectionPhaseTransition`.
34936
- * A provider's `isDetected` answers from the hub's slice.
35062
+ * A provider's `isDetected` and `getStatus` answer from the hub's slice
35063
+ * (`hubMotionNativeProvider`).
34937
35064
  * - **Sensors** (Home Assistant binary sensors, Homematic, Matter, Alexa
34938
35065
  * imports) — the provider pushes both edges itself, from the upstream
34939
35066
  * system's own state change. That is the sensor's own fact.
@@ -52052,6 +52179,8 @@ new Map(Object.entries({
52052
52179
  "detection-blind": "device-events",
52053
52180
  "node-online": "system",
52054
52181
  "node-offline": "system",
52182
+ "node-restarting": "system",
52183
+ "node-updating": "system",
52055
52184
  "node-inference-unavailable": "system",
52056
52185
  "addon-crash-loop": "system",
52057
52186
  "addon-update-available": "system",
@@ -52129,6 +52258,7 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
52129
52258
  kinds: [
52130
52259
  "node-offline",
52131
52260
  "node-online",
52261
+ "node-restarting",
52132
52262
  "node-inference-unavailable"
52133
52263
  ]
52134
52264
  },
@@ -52150,6 +52280,7 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
52150
52280
  label: "Server & container updates",
52151
52281
  kinds: [
52152
52282
  "server-update-available",
52283
+ "node-updating",
52153
52284
  "server-updated",
52154
52285
  "wrapper-update-available"
52155
52286
  ]
@@ -52297,6 +52428,7 @@ var STATE_SUMMARY_SECTION_VARS = [
52297
52428
  kinds: [
52298
52429
  "node-offline",
52299
52430
  "node-online",
52431
+ "node-restarting",
52300
52432
  "node-inference-unavailable"
52301
52433
  ]
52302
52434
  },
@@ -52318,6 +52450,7 @@ var STATE_SUMMARY_SECTION_VARS = [
52318
52450
  example: "server 1.2.377 → 1.2.378",
52319
52451
  kinds: [
52320
52452
  "server-update-available",
52453
+ "node-updating",
52321
52454
  "server-updated",
52322
52455
  "wrapper-update-available"
52323
52456
  ]
@@ -53992,4 +54125,4 @@ function enumerateInferenceDevices(hw) {
53992
54125
  return out;
53993
54126
  }
53994
54127
  //#endregion
53995
- export { declareLogChannel as $, stripRetiredBandPreBufferSec as $t, PoolMemoryWatchdog as A, sleep as An, overlayClusterStepSettings as At, VISIT_MERGE_GAP_MS as B, record as Bn, recordingExportCapability as Bt, ExportRecordSchema as C, isEvent as Cn, maskUrlCredentials as Ct, NativeLeaseAdmissionSchema as D, parseJsonUnknown as Dn, migrateLegacyDeviceSignalConfig as Dt, HF_BASE_URL as E, nodePin as En, memoizePinnedFfmpeg as Et, RECORDING_SOURCE_CAMSTACK_ADDON as F, lazy as Fn, pipelineExecutorCapability as Ft, audioKindId as G, resolveLocationMode as Gt, addonWidgetsSourceCapability as H, union as Hn, resolveClusterStepModelId as Ht, RecordingConfigSchema as I, literal as In, pipelineRunnerCapability as It, cameraStreamsCapability as J, runtimeDevices as Jt, batteryCapability as K, resolvePoolMemoryPolicy as Kt, RecordingSignalStatusSchema as L, number as Ln, rankStreams as Lt, RATE_CONTROL_TIGHT as M, array as Mn, pickClusterStepSettings as Mt, RECORDING_EXPORT_MAX_READ_BYTES as N, boolean as Nn, pickDetailCropConvention as Nt, NativeLeaseSettingsSchema as O, parseProfileBrokerId as On, modeMayWrite as Ot, RECORDING_SOURCE_CAMSTACK as P, discriminatedUnion as Pn, pickNativeLeaseOverride as Pt, createLogChannelsProvider as Q, streamBrokerCapability as Qt, RingBuffer as R, object as Rn, recordingArchiveCapability as Rt, EncodeProfileSchema as S, hydrateSchema as Sn, mapAudioLabelToMacro as St, G711_SCALE_CORRECTION_DB as T, makeSourceBrokerId as Tn, mayWriteToLocation as Tt, audioAnalysisCapability as U, EventCategory as Un, resolveCreateExportSubject as Ut, YAMNET_TO_MACRO as V, string as Vn, recordingSignalCapability as Vt, audioAnalyzerCapability as W, resolveEgressDecodeHwAccel as Wt, clipExportFailureOf as X, storageEvictableCapability as Xt, clipExportFailure as Y, stepModelRunsOnFormat as Yt, createHwAccelCache as Z, storageOccupancyCapability as Zt, DEFAULT_EVENTS_BAND_BUFFER_SEC as _, audioChunkBytesPerSample as _n, hfModelUrl as _t, BackgroundRunRegistry as a, Fmp4BoxSplitter as an, egressTranscodeSharingKey as at, EVENT_OWNER_TYPES as b, defineCustomActions as bn, loadContributionCapability as bt, CLIP_STILL_REASON_CODE_HEADER as c, invocationFromEncodeProfile as cn, evaluateZoneRules as ct, CLUSTER_MODEL_SCOPED_STEPS as d, DeviceType as dn, exportSubjectOf as dt, supportedRuntimes as en, defaultDeviceFor as et, COCO_80_LABELS as f, errMsg as fn, failureContributionCapability as ft, DEFAULT_DETAIL_CROP_CONVENTION as g, CamProfileSchema as gn, gifFromMp4Args as gt, DEFAULT_CLUSTER_STEP_SETTINGS as h, CAM_PROFILE_ORDER as hn, gifDeriveSpeed as ht, AUDIO_MACRO_LABELS as i, DEFAULT_FIRST_SIGHTING_FRESHNESS_MS as in, detectionPipelineCapability as it, RATE_CONTROL_RELAXED as j, _enum as jn, parseProcStatus as jt, OpsLogEntrySchema as k, selectAssignedProfileSlots as kn, motionDetectionCapability as kt, CLIP_STILL_REASON_HEADER as l, isSoftwareDecode as ln, evictionPolicyForMode as lt, DEFAULT_AUDIO_ANALYZER_CONFIG as m, BaseAddon as mn, gbToBytes as mt, APPLE_SA_TO_MACRO as n, webrtcSessionCapability as nn, deriveDetailCropRect as nt, BatteryStatusSchema as o, buildFfmpegArgs as on, egressTransportFromRequest as ot, COCO_TO_MACRO as p, BOOT_RECOVERY_BACKOFF_MS as pn, ffmpegRate as pt, cameraOwnsMotionViaSensor as q, resolveRecordingProfiles as qt, AUDIO_BACKEND_CHOICES as r, AUDIO_PRESETS as rn, deriveRecordingMode as rt, CLIP_BROKER_PACED_RATES as s, evaluateSensorEdge as sn, enumerateInferenceDevices as st, APPEARANCE_BLOCKS as t, videoclipsCapability as tn, deriveBatteryPresence as tt, CLIP_STREAM_TRANSPORT_HEADER as u, DeviceFeature as un, evictionPolicyOfLocation as ut, DEFAULT_NATIVE_LEASE_SETTINGS as v, createEvent as vn, inferModelProvider as vt, FailureCounters as w, makeProfileBrokerId as wn, mayReadLocation as wt, EVENT_PAD_MS as x, expandAudioChunkToF32le as xn, logChannelsCapability as xt, DEVICE_BACKEND_TO_FORMAT as y, customAction as yn, isFirstLevelMacroClass as yt, VIDEOCLIPS_MAX_OFFER_BYTES as z, preprocess as zn, recordingCapability as zt };
54128
+ export { cameraStreamsCapability as $, resolveLocationMode as $t, LABEL_LINK_POLICIES as A, hydrateSchema as An, maskUrlCredentials as At, RECORDING_SOURCE_CAMSTACK_ADDON as B, array as Bn, pickDetailCropConvention as Bt, EncodeProfileSchema as C, CAM_PROFILE_ORDER as Cn, inferModelProvider as Ct, FailureCounters as D, customAction as Dn, loadContributionCapability as Dt, FILLABLE_STEP_VOCABULARIES as E, createEvent as En, linkedStepOf as Et, PoolMemoryWatchdog as F, parseJsonUnknown as Fn, modeMayWrite as Ft, VISIT_MERGE_GAP_MS as G, number as Gn, recordingArchiveCapability as Gt, RecordingSignalStatusSchema as H, discriminatedUnion as Hn, pipelineExecutorCapability as Ht, RATE_CONTROL_RELAXED as I, parseProfileBrokerId as In, motionDetectionCapability as It, audioAnalysisCapability as J, record as Jn, recordingSignalCapability as Jt, YAMNET_TO_MACRO as K, object as Kn, recordingCapability as Kt, RATE_CONTROL_TIGHT as L, selectAssignedProfileSlots as Ln, overlayClusterStepSettings as Lt, NativeLeaseAdmissionSchema as M, makeProfileBrokerId as Mn, mayWriteToLocation as Mt, NativeLeaseSettingsSchema as N, makeSourceBrokerId as Nn, memoizePinnedFfmpeg as Nt, G711_SCALE_CORRECTION_DB as O, defineCustomActions as On, logChannelsCapability as Ot, OpsLogEntrySchema as P, nodePin as Pn, migrateLegacyDeviceSignalConfig as Pt, cameraOwnsMotionViaSensor as Q, resolveLabelLink as Qt, RECORDING_EXPORT_MAX_READ_BYTES as R, sleep as Rn, parseProcStatus as Rt, EVENT_PAD_MS as S, BaseAddon as Sn, hfModelUrl as St, FILLABLE_STEP_MACRO as T, audioChunkBytesPerSample as Tn, linkedLabelStepId as Tt, RingBuffer as U, lazy as Un, pipelineRunnerCapability as Ut, RecordingConfigSchema as V, boolean as Vn, pickNativeLeaseOverride as Vt, VIDEOCLIPS_MAX_OFFER_BYTES as W, literal as Wn, rankStreams as Wt, audioKindId as X, union as Xn, resolveCreateExportSubject as Xt, audioAnalyzerCapability as Y, string as Yn, resolveClusterStepModelId as Yt, batteryCapability as Z, EventCategory as Zn, resolveEgressDecodeHwAccel as Zt, DEFAULT_EVENTS_BAND_BUFFER_SEC as _, isSoftwareDecode as _n, failureContributionCapability as _t, BackgroundRunRegistry as a, storageOccupancyCapability as an, defaultDeviceFor as at, DEVICE_BACKEND_TO_FORMAT as b, errMsg as bn, gifDeriveSpeed as bt, CLIP_STILL_REASON_CODE_HEADER as c, supportedRuntimes as cn, deriveRecordingMode as ct, CLUSTER_MODEL_SCOPED_STEPS as d, AUDIO_PRESETS as dn, egressTransportFromRequest as dt, resolvePoolMemoryPolicy as en, clipExportFailure as et, COCO_80_LABELS as f, DEFAULT_FIRST_SIGHTING_FRESHNESS_MS as fn, enumerateInferenceDevices as ft, DEFAULT_DETAIL_CROP_CONVENTION as g, invocationFromEncodeProfile as gn, exportSubjectOf as gt, DEFAULT_CLUSTER_STEP_SETTINGS as h, evaluateSensorEdge as hn, evictionPolicyOfLocation as ht, AUDIO_MACRO_LABELS as i, storageEvictableCapability as in, declareLogChannel as it, LABEL_LINK_SETTING_KEY as j, isEvent as jn, mayReadLocation as jt, HF_BASE_URL as k, expandAudioChunkToF32le as kn, mapAudioLabelToMacro as kt, CLIP_STILL_REASON_HEADER as l, videoclipsCapability as ln, detectionPipelineCapability as lt, DEFAULT_AUDIO_ANALYZER_CONFIG as m, buildFfmpegArgs as mn, evictionPolicyForMode as mt, APPLE_SA_TO_MACRO as n, runtimeDevices as nn, createHwAccelCache as nt, BatteryStatusSchema as o, streamBrokerCapability as on, deriveBatteryPresence as ot, COCO_TO_MACRO as p, Fmp4BoxSplitter as pn, evaluateZoneRules as pt, addonWidgetsSourceCapability as q, preprocess as qn, recordingExportCapability as qt, AUDIO_BACKEND_CHOICES as r, stepModelRunsOnFormat as rn, createLogChannelsProvider as rt, CLIP_BROKER_PACED_RATES as s, stripRetiredBandPreBufferSec as sn, deriveDetailCropRect as st, APPEARANCE_BLOCKS as t, resolveRecordingProfiles as tn, clipExportFailureOf as tt, CLIP_STREAM_TRANSPORT_HEADER as u, webrtcSessionCapability as un, egressTranscodeSharingKey as ut, DEFAULT_LABEL_LINK_POLICY as v, DeviceFeature as vn, ffmpegRate as vt, ExportRecordSchema as w, CamProfileSchema as wn, isFirstLevelMacroClass as wt, EVENT_OWNER_TYPES as x, BOOT_RECOVERY_BACKOFF_MS as xn, gifFromMp4Args as xt, DEFAULT_NATIVE_LEASE_SETTINGS as y, DeviceType as yn, gbToBytes as yt, RECORDING_SOURCE_CAMSTACK as z, _enum as zn, pickClusterStepSettings as zt };