@camstack/addon-pipeline 1.2.329 → 1.2.330

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 (33) hide show
  1. package/dist/audio-analyzer/index.js +2 -2
  2. package/dist/audio-analyzer/index.mjs +2 -2
  3. package/dist/{default-detection-model-ChH7Y219.js → default-detection-model-B6gKGnfx.js} +39 -67
  4. package/dist/{default-detection-model-j0nBpRoB.mjs → default-detection-model-CPDT_eFT.mjs} +39 -67
  5. package/dist/detection-pipeline/index.js +197 -31
  6. package/dist/detection-pipeline/index.mjs +197 -31
  7. package/dist/{dist-BlIWhjnu.js → dist-CMeICL07.js} +771 -464
  8. package/dist/{dist-0HoA3wAi.mjs → dist-CuPEyZY2.mjs} +726 -437
  9. package/dist/motion-wasm/index.js +1 -1
  10. package/dist/motion-wasm/index.mjs +1 -1
  11. package/dist/{node-HOMWRPzW.mjs → node-USq5jYwq.mjs} +1 -1
  12. package/dist/{node-BPpVMnZy.js → node-X_0Tka7-.js} +1 -1
  13. package/dist/pipeline-runner/index.js +355 -104
  14. package/dist/pipeline-runner/index.mjs +355 -104
  15. package/dist/{process-memory-DuF8pa2w.mjs → process-memory-07XYts8V.mjs} +1 -1
  16. package/dist/{process-memory-BW06vOIQ.js → process-memory-o4LFWbBN.js} +1 -1
  17. package/dist/recorder/index.js +7 -7
  18. package/dist/recorder/index.mjs +7 -7
  19. package/dist/{segment-demux-js-BU2MXpln.mjs → segment-demux-js-Bq8DrH0b.mjs} +2 -2
  20. package/dist/{segment-demux-js-Dl52Zz8w.js → segment-demux-js-FqaQjG7n.js} +2 -2
  21. package/dist/stream-broker/_stub.js +2 -2
  22. package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-vNfS65In.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-EYRUYv_r.mjs} +2 -2
  23. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BnP7C_HO.mjs +26 -0
  24. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-CR0--kRv.mjs +26 -0
  25. package/dist/stream-broker/demux-worker-child.js +1 -1
  26. package/dist/stream-broker/demux-worker-child.mjs +1 -1
  27. package/dist/stream-broker/{hostInit-Ciacp783.mjs → hostInit-iGdBpvGc.mjs} +2 -2
  28. package/dist/stream-broker/index.js +4 -4
  29. package/dist/stream-broker/index.mjs +4 -4
  30. package/dist/stream-broker/remoteEntry.js +1 -1
  31. package/package.json +1 -1
  32. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DfeHvW4k.mjs +0 -26
  33. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-BpXPNINd.mjs +0 -26
@@ -3,8 +3,8 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../chunk-emK7D4bc.js");
6
- const require_dist = require("../dist-BlIWhjnu.js");
7
- const require_process_memory = require("../process-memory-BW06vOIQ.js");
6
+ const require_dist = require("../dist-CMeICL07.js");
7
+ const require_process_memory = require("../process-memory-o4LFWbBN.js");
8
8
  let node_fs = require("node:fs");
9
9
  node_fs = require_chunk.__toESM(node_fs);
10
10
  let node_path = require("node:path");
@@ -1,6 +1,6 @@
1
1
  import { n as __require } from "../chunk-DnnnRqeS.mjs";
2
- import { An as hydrateSchema, F as PoolMemoryWatchdog, J as audioAnalysisCapability, Pn as nodePin, Sn as BaseAddon, Tn as audioChunkBytesPerSample, Y as audioAnalyzerCapability, Zn as EventCategory, bn as errMsg, en as resolvePoolMemoryPolicy, k as HF_BASE_URL, kn as expandAudioChunkToF32le, kt as mapAudioLabelToMacro, m as DEFAULT_AUDIO_ANALYZER_CONFIG, r as AUDIO_BACKEND_CHOICES } from "../dist-0HoA3wAi.mjs";
3
- import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-DuF8pa2w.mjs";
2
+ import { Cn as errMsg, D as HF_BASE_URL, J as audioAnalysisCapability, Ln as nodePin, Mn as expandAudioChunkToF32le, N as PoolMemoryWatchdog, Nn as hydrateSchema, On as audioChunkBytesPerSample, Tn as BaseAddon, Y as audioAnalyzerCapability, er as EventCategory, h as DEFAULT_AUDIO_ANALYZER_CONFIG, jt as mapAudioLabelToMacro, r as AUDIO_BACKEND_CHOICES, tn as resolvePoolMemoryPolicy } from "../dist-CuPEyZY2.mjs";
3
+ import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-07XYts8V.mjs";
4
4
  import * as fs from "node:fs";
5
5
  import * as path$1 from "node:path";
6
6
  import { downloadFile } from "@camstack/system/addon-utils";
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-BlIWhjnu.js");
1
+ const require_dist = require("./dist-CMeICL07.js");
2
2
  const require_worker_protocol = require("./worker-protocol-C-G8qmye.js");
3
3
  let node_crypto = require("node:crypto");
4
4
  //#region src/detection-pipeline/registry/effective-confidence.ts
@@ -1184,27 +1184,8 @@ var ANIMAL_10_LABELS = [
1184
1184
  "sheep",
1185
1185
  "spider"
1186
1186
  ];
1187
- var ANIMAL_CLASSIFIER_LABELS = require_dist.FILLABLE_STEP_VOCABULARIES["animal-classifier"];
1188
- var VEHICLE_CLASSIFIER_LABELS = require_dist.FILLABLE_STEP_VOCABULARIES["vehicle-classifier"];
1189
- /**
1190
- * The `labelLink` policy field (D715) — offered on every step a root detector
1191
- * can fill. Stored in the step's own settings (`DeviceStepConfig.settings` /
1192
- * `CameraStepOverridePatch.settings`), so it has ONE authority. It changes
1193
- * nothing unless the camera's root model declares it fills this step.
1194
- */
1195
- function labelLinkField(stepName) {
1196
- return {
1197
- type: "select",
1198
- key: require_dist.LABEL_LINK_SETTING_KEY,
1199
- label: "When the detector already fills this step",
1200
- description: `Only matters when the root detection model declares it fills ${stepName} (e.g. a Frigate+ model). "Skip" does not run ${stepName} for a subject the detector already named, and makes the detector's label the one answer — but only once every class the detector cannot produce is switched off in this step's class list. "Run" always runs ${stepName}; the detector's label is then a fallback any answer of the step outranks.`,
1201
- options: require_dist.LABEL_LINK_POLICIES.map((p) => ({
1202
- value: p,
1203
- label: p === "run" ? "Run anyway" : "Skip when filled"
1204
- })),
1205
- default: require_dist.DEFAULT_LABEL_LINK_POLICY
1206
- };
1207
- }
1187
+ var ANIMAL_CLASSIFIER_LABELS = require_dist.LABEL_SUPPLY_VOCABULARIES["animal-classifier"];
1188
+ var VEHICLE_CLASSIFIER_LABELS = require_dist.LABEL_SUPPLY_VOCABULARIES["vehicle-classifier"];
1208
1189
  var VGG_G2_CHARSET = [
1209
1190
  "",
1210
1191
  ..."0123456789".split(""),
@@ -1420,31 +1401,27 @@ var AnimalClassifierStep = class {
1420
1401
  }
1421
1402
  };
1422
1403
  getConfigSchema(model) {
1423
- return [
1424
- {
1425
- type: "multiselect",
1426
- key: "enabledClasses",
1427
- label: "Species",
1428
- description: "Which animal species to keep (empty = all). The classifier still scores every label but only the selected classes are returned on the detection.",
1429
- options: ANIMAL_CLASSIFIER_LABELS.map((l) => ({
1430
- value: l,
1431
- label: l
1432
- })),
1433
- default: []
1434
- },
1435
- labelLinkField("the animal classifier"),
1436
- {
1437
- type: "slider",
1438
- key: "minConfidence",
1439
- label: "Min Confidence",
1440
- description: "Drop classifications whose score is below this threshold.",
1441
- default: resolveModelDefaultConfidence(this.definition, model),
1442
- min: 0,
1443
- max: 1,
1444
- step: .05,
1445
- showValue: true
1446
- }
1447
- ];
1404
+ return [{
1405
+ type: "multiselect",
1406
+ key: "enabledClasses",
1407
+ label: "Species",
1408
+ description: "Which animal species to keep (empty = all). The classifier still scores every label but only the selected classes are returned on the detection. When the root model is the source, the same list decides which of its labels become the species; a switched-off species stays \"animal\".",
1409
+ options: ANIMAL_CLASSIFIER_LABELS.map((l) => ({
1410
+ value: l,
1411
+ label: l
1412
+ })),
1413
+ default: []
1414
+ }, {
1415
+ type: "slider",
1416
+ key: "minConfidence",
1417
+ label: "Min Confidence",
1418
+ description: "Drop classifications whose score is below this threshold.",
1419
+ default: resolveModelDefaultConfidence(this.definition, model),
1420
+ min: 0,
1421
+ max: 1,
1422
+ step: .05,
1423
+ showValue: true
1424
+ }];
1448
1425
  }
1449
1426
  };
1450
1427
  /**
@@ -1482,7 +1459,7 @@ var PackageDetectionStep = class extends PipelineStepBase {
1482
1459
  step: .05,
1483
1460
  default: resolveModelDefaultConfidence(this.definition, model),
1484
1461
  showValue: true
1485
- }, labelLinkField("package detection")];
1462
+ }];
1486
1463
  }
1487
1464
  };
1488
1465
  var ClassifierWithMinConfidence = class extends PipelineStepBase {
@@ -1698,28 +1675,23 @@ var STEP_BIRD_CLASSIFIER = new ClassifierWithMinConfidence({
1698
1675
  }
1699
1676
  });
1700
1677
  /**
1701
- * `vehicle-classifier` — the `minConfidence` slider plus the two fields a
1702
- * root-detector fill needs (D715): the class allow-list (a coverage gap the
1703
- * detector cannot produce, e.g. `Van` for Frigate+, is switched off HERE before
1704
- * the skip applies) and the `labelLink` policy.
1678
+ * `vehicle-classifier` — the `minConfidence` slider plus the class allow-list.
1679
+ * When the step takes the root model's labels (`useRootModel`, D730) the same
1680
+ * allow-list filters which root labels become the vehicle type.
1705
1681
  */
1706
1682
  var VehicleClassifierStep = class extends ClassifierWithMinConfidence {
1707
1683
  getConfigSchema(model) {
1708
- return [
1709
- {
1710
- type: "multiselect",
1711
- key: "enabledClasses",
1712
- label: "Vehicle types",
1713
- description: "Which vehicle types to keep (empty = all). The classifier still scores every type but only the selected ones are returned on the detection.",
1714
- options: VEHICLE_CLASSIFIER_LABELS.map((l) => ({
1715
- value: l,
1716
- label: l
1717
- })),
1718
- default: []
1719
- },
1720
- ...super.getConfigSchema(model),
1721
- labelLinkField("the vehicle classifier")
1722
- ];
1684
+ return [{
1685
+ type: "multiselect",
1686
+ key: "enabledClasses",
1687
+ label: "Vehicle types",
1688
+ description: "Which vehicle types to keep (empty = all). The classifier still scores every type but only the selected ones are returned on the detection. When the root model is the source, the same list decides which of its labels become the type; a switched-off type stays \"vehicle\".",
1689
+ options: VEHICLE_CLASSIFIER_LABELS.map((l) => ({
1690
+ value: l,
1691
+ label: l
1692
+ })),
1693
+ default: []
1694
+ }, ...super.getConfigSchema(model)];
1723
1695
  }
1724
1696
  };
1725
1697
  var STEP_VEHICLE_CLASSIFIER = new VehicleClassifierStep({
@@ -1,4 +1,4 @@
1
- import { A as LABEL_LINK_POLICIES, Ct as inferModelProvider, E as FILLABLE_STEP_VOCABULARIES, St as hfModelUrl, X as audioKindId, b as DEVICE_BACKEND_TO_FORMAT, f as COCO_80_LABELS, i as AUDIO_MACRO_LABELS, j as LABEL_LINK_SETTING_KEY, p as COCO_TO_MACRO, rn as stepModelRunsOnFormat, v as DEFAULT_LABEL_LINK_POLICY } from "./dist-0HoA3wAi.mjs";
1
+ import { Tt as inferModelProvider, X as audioKindId, b as DEVICE_BACKEND_TO_FORMAT, f as COCO_80_LABELS, i as AUDIO_MACRO_LABELS, k as LABEL_SUPPLY_VOCABULARIES, on as stepModelRunsOnFormat, p as COCO_TO_MACRO, wt as hfModelUrl } from "./dist-CuPEyZY2.mjs";
2
2
  import { t as isWorkerReply } from "./worker-protocol-D_NzPcnh.mjs";
3
3
  import { randomUUID } from "node:crypto";
4
4
  //#region src/detection-pipeline/registry/effective-confidence.ts
@@ -1184,27 +1184,8 @@ var ANIMAL_10_LABELS = [
1184
1184
  "sheep",
1185
1185
  "spider"
1186
1186
  ];
1187
- var ANIMAL_CLASSIFIER_LABELS = FILLABLE_STEP_VOCABULARIES["animal-classifier"];
1188
- var VEHICLE_CLASSIFIER_LABELS = FILLABLE_STEP_VOCABULARIES["vehicle-classifier"];
1189
- /**
1190
- * The `labelLink` policy field (D715) — offered on every step a root detector
1191
- * can fill. Stored in the step's own settings (`DeviceStepConfig.settings` /
1192
- * `CameraStepOverridePatch.settings`), so it has ONE authority. It changes
1193
- * nothing unless the camera's root model declares it fills this step.
1194
- */
1195
- function labelLinkField(stepName) {
1196
- return {
1197
- type: "select",
1198
- key: LABEL_LINK_SETTING_KEY,
1199
- label: "When the detector already fills this step",
1200
- description: `Only matters when the root detection model declares it fills ${stepName} (e.g. a Frigate+ model). "Skip" does not run ${stepName} for a subject the detector already named, and makes the detector's label the one answer — but only once every class the detector cannot produce is switched off in this step's class list. "Run" always runs ${stepName}; the detector's label is then a fallback any answer of the step outranks.`,
1201
- options: LABEL_LINK_POLICIES.map((p) => ({
1202
- value: p,
1203
- label: p === "run" ? "Run anyway" : "Skip when filled"
1204
- })),
1205
- default: DEFAULT_LABEL_LINK_POLICY
1206
- };
1207
- }
1187
+ var ANIMAL_CLASSIFIER_LABELS = LABEL_SUPPLY_VOCABULARIES["animal-classifier"];
1188
+ var VEHICLE_CLASSIFIER_LABELS = LABEL_SUPPLY_VOCABULARIES["vehicle-classifier"];
1208
1189
  var VGG_G2_CHARSET = [
1209
1190
  "",
1210
1191
  ..."0123456789".split(""),
@@ -1420,31 +1401,27 @@ var AnimalClassifierStep = class {
1420
1401
  }
1421
1402
  };
1422
1403
  getConfigSchema(model) {
1423
- return [
1424
- {
1425
- type: "multiselect",
1426
- key: "enabledClasses",
1427
- label: "Species",
1428
- description: "Which animal species to keep (empty = all). The classifier still scores every label but only the selected classes are returned on the detection.",
1429
- options: ANIMAL_CLASSIFIER_LABELS.map((l) => ({
1430
- value: l,
1431
- label: l
1432
- })),
1433
- default: []
1434
- },
1435
- labelLinkField("the animal classifier"),
1436
- {
1437
- type: "slider",
1438
- key: "minConfidence",
1439
- label: "Min Confidence",
1440
- description: "Drop classifications whose score is below this threshold.",
1441
- default: resolveModelDefaultConfidence(this.definition, model),
1442
- min: 0,
1443
- max: 1,
1444
- step: .05,
1445
- showValue: true
1446
- }
1447
- ];
1404
+ return [{
1405
+ type: "multiselect",
1406
+ key: "enabledClasses",
1407
+ label: "Species",
1408
+ description: "Which animal species to keep (empty = all). The classifier still scores every label but only the selected classes are returned on the detection. When the root model is the source, the same list decides which of its labels become the species; a switched-off species stays \"animal\".",
1409
+ options: ANIMAL_CLASSIFIER_LABELS.map((l) => ({
1410
+ value: l,
1411
+ label: l
1412
+ })),
1413
+ default: []
1414
+ }, {
1415
+ type: "slider",
1416
+ key: "minConfidence",
1417
+ label: "Min Confidence",
1418
+ description: "Drop classifications whose score is below this threshold.",
1419
+ default: resolveModelDefaultConfidence(this.definition, model),
1420
+ min: 0,
1421
+ max: 1,
1422
+ step: .05,
1423
+ showValue: true
1424
+ }];
1448
1425
  }
1449
1426
  };
1450
1427
  /**
@@ -1482,7 +1459,7 @@ var PackageDetectionStep = class extends PipelineStepBase {
1482
1459
  step: .05,
1483
1460
  default: resolveModelDefaultConfidence(this.definition, model),
1484
1461
  showValue: true
1485
- }, labelLinkField("package detection")];
1462
+ }];
1486
1463
  }
1487
1464
  };
1488
1465
  var ClassifierWithMinConfidence = class extends PipelineStepBase {
@@ -1698,28 +1675,23 @@ var STEP_BIRD_CLASSIFIER = new ClassifierWithMinConfidence({
1698
1675
  }
1699
1676
  });
1700
1677
  /**
1701
- * `vehicle-classifier` — the `minConfidence` slider plus the two fields a
1702
- * root-detector fill needs (D715): the class allow-list (a coverage gap the
1703
- * detector cannot produce, e.g. `Van` for Frigate+, is switched off HERE before
1704
- * the skip applies) and the `labelLink` policy.
1678
+ * `vehicle-classifier` — the `minConfidence` slider plus the class allow-list.
1679
+ * When the step takes the root model's labels (`useRootModel`, D730) the same
1680
+ * allow-list filters which root labels become the vehicle type.
1705
1681
  */
1706
1682
  var VehicleClassifierStep = class extends ClassifierWithMinConfidence {
1707
1683
  getConfigSchema(model) {
1708
- return [
1709
- {
1710
- type: "multiselect",
1711
- key: "enabledClasses",
1712
- label: "Vehicle types",
1713
- description: "Which vehicle types to keep (empty = all). The classifier still scores every type but only the selected ones are returned on the detection.",
1714
- options: VEHICLE_CLASSIFIER_LABELS.map((l) => ({
1715
- value: l,
1716
- label: l
1717
- })),
1718
- default: []
1719
- },
1720
- ...super.getConfigSchema(model),
1721
- labelLinkField("the vehicle classifier")
1722
- ];
1684
+ return [{
1685
+ type: "multiselect",
1686
+ key: "enabledClasses",
1687
+ label: "Vehicle types",
1688
+ description: "Which vehicle types to keep (empty = all). The classifier still scores every type but only the selected ones are returned on the detection. When the root model is the source, the same list decides which of its labels become the type; a switched-off type stays \"vehicle\".",
1689
+ options: VEHICLE_CLASSIFIER_LABELS.map((l) => ({
1690
+ value: l,
1691
+ label: l
1692
+ })),
1693
+ default: []
1694
+ }, ...super.getConfigSchema(model)];
1723
1695
  }
1724
1696
  };
1725
1697
  var STEP_VEHICLE_CLASSIFIER = new VehicleClassifierStep({