@camstack/addon-pipeline 1.2.205 → 1.2.207

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-BGsoboIK.js → default-detection-model-BSYGuA-l.js} +24 -17
  4. package/dist/{default-detection-model-23wBHkOQ.mjs → default-detection-model-C_Pyt1w1.mjs} +24 -17
  5. package/dist/detection-pipeline/index.js +5 -5
  6. package/dist/detection-pipeline/index.mjs +4 -4
  7. package/dist/{dist-CR3_dWir.js → dist-CNPNWUoG.js} +21 -2
  8. package/dist/{dist-FaCzok3C.mjs → dist-DrKpb33H.mjs} +21 -2
  9. package/dist/{lazy-sharp-CKXcDP-V.js → lazy-sharp-BW3zCwk0.js} +1 -1
  10. package/dist/motion-wasm/index.js +2 -2
  11. package/dist/motion-wasm/index.mjs +1 -1
  12. package/dist/{node-f4fUlGHQ.mjs → node-C6B8HJW_.mjs} +1 -1
  13. package/dist/{node-Re3uLz8K.js → node-h-nvNfmU.js} +1 -1
  14. package/dist/pipeline-runner/index.js +508 -239
  15. package/dist/pipeline-runner/index.mjs +507 -238
  16. package/dist/{process-memory-MC7wcxqk.mjs → process-memory-C1F0SJcc.mjs} +1 -1
  17. package/dist/{process-memory-DNheSoSc.js → process-memory-DL51Hzcr.js} +1 -1
  18. package/dist/recorder/index.js +2 -2
  19. package/dist/recorder/index.mjs +2 -2
  20. package/dist/{segment-demux-js-DUpovUKi.mjs → segment-demux-js-BgaS1a5g.mjs} +1 -1
  21. package/dist/{segment-demux-js-CQYpP1SU.js → segment-demux-js-BidvAwag.js} +1 -1
  22. package/dist/session-decode/decode-worker-child.js +2 -2
  23. package/dist/session-decode/decode-worker-child.mjs +1 -1
  24. package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-D_m12d-s.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-BjZ2kba0.mjs} +3 -3
  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-Dfu865rx.mjs → hostInit-C8APD5CI.mjs} +3 -3
  28. package/dist/stream-broker/index.js +3 -3
  29. package/dist/stream-broker/index.mjs +3 -3
  30. package/dist/stream-broker/remoteEntry.js +1 -1
  31. package/dist/{worker-protocol-lIjbPNbH.js → worker-protocol-C3cr5_6w.js} +1 -1
  32. package/dist/{worker-protocol-Dz6_u2y6.mjs → worker-protocol-D3HMNvw_.mjs} +1 -1
  33. package/package.json +1 -1
@@ -2,8 +2,8 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_dist = require("../dist-CR3_dWir.js");
6
- const require_process_memory = require("../process-memory-DNheSoSc.js");
5
+ const require_dist = require("../dist-CNPNWUoG.js");
6
+ const require_process_memory = require("../process-memory-DL51Hzcr.js");
7
7
  let node_fs = require("node:fs");
8
8
  node_fs = require_dist.__toESM(node_fs);
9
9
  let node_path = require("node:path");
@@ -1,6 +1,6 @@
1
1
  import { n as __require } from "../chunk-DnnnRqeS.mjs";
2
- import { Dt as resolvePoolMemoryPolicy, It as errMsg, Jt as hydrateSchema, M as audioAnalyzerCapability, S as PoolMemoryWatchdog, Ut as BaseAddon, j as audioAnalysisCapability, n as AUDIO_BACKEND_CHOICES, ot as mapAudioLabelToMacro, s as DEFAULT_AUDIO_ANALYZER_CONFIG, v as HF_BASE_URL } from "../dist-FaCzok3C.mjs";
3
- import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-MC7wcxqk.mjs";
2
+ import { Dt as resolvePoolMemoryPolicy, It as errMsg, Jt as hydrateSchema, M as audioAnalyzerCapability, S as PoolMemoryWatchdog, Ut as BaseAddon, j as audioAnalysisCapability, n as AUDIO_BACKEND_CHOICES, ot as mapAudioLabelToMacro, s as DEFAULT_AUDIO_ANALYZER_CONFIG, v as HF_BASE_URL } from "../dist-DrKpb33H.mjs";
3
+ import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-C1F0SJcc.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,5 +1,21 @@
1
- const require_dist = require("./dist-CR3_dWir.js");
1
+ const require_dist = require("./dist-CNPNWUoG.js");
2
2
  let node_crypto = require("node:crypto");
3
+ //#region src/detection-pipeline/pipeline/landmark-precision-gate.ts
4
+ /**
5
+ * `null` = admit. A verdict = refuse, carrying both numbers so the caller can
6
+ * name them in a log. Pure.
7
+ */
8
+ function landmarkPrecisionVerdict(input) {
9
+ const { detectionShortSidePx, floorPx } = input;
10
+ if (!(floorPx > 0)) return null;
11
+ if (!Number.isFinite(detectionShortSidePx)) return null;
12
+ if (detectionShortSidePx >= floorPx) return null;
13
+ return {
14
+ detectionShortSidePx,
15
+ floorPx
16
+ };
17
+ }
18
+ //#endregion
3
19
  //#region src/detection-pipeline/registry/model-catalogs.ts
4
20
  var HF_REPO = "camstack/camstack-models";
5
21
  var HF_SCRYPTED = "scrypted/plugin-models";
@@ -1219,22 +1235,6 @@ var AUDIO_CLASSIFIER_MODELS = [{
1219
1235
  } }
1220
1236
  }];
1221
1237
  //#endregion
1222
- //#region src/detection-pipeline/pipeline/landmark-precision-gate.ts
1223
- /**
1224
- * `null` = admit. A verdict = refuse, carrying both numbers so the caller can
1225
- * name them in a log. Pure.
1226
- */
1227
- function landmarkPrecisionVerdict(input) {
1228
- const { detectionShortSidePx, floorPx } = input;
1229
- if (!(floorPx > 0)) return null;
1230
- if (!Number.isFinite(detectionShortSidePx)) return null;
1231
- if (detectionShortSidePx >= floorPx) return null;
1232
- return {
1233
- detectionShortSidePx,
1234
- floorPx
1235
- };
1236
- }
1237
- //#endregion
1238
1238
  //#region src/detection-pipeline/registry/step-definitions.ts
1239
1239
  var ANIMAL_10_LABELS = [
1240
1240
  "cat",
@@ -1380,6 +1380,13 @@ var ObjectDetectionStep = class {
1380
1380
  default: .5,
1381
1381
  showValue: true
1382
1382
  },
1383
+ {
1384
+ type: "boolean",
1385
+ key: "motionCropDispatch",
1386
+ label: "Detect on motion-derived crops",
1387
+ description: "Run the second detector pass on EVERY moving region instead of only on regions no full-frame box accounts for. Additive: the full-frame pass still runs, and it stays the only arm that can see a stationary subject. Costs about one extra detector invocation every four frames while something is moving.",
1388
+ default: false
1389
+ },
1383
1390
  {
1384
1391
  type: "slider",
1385
1392
  key: "nmsIouThreshold",
@@ -1,5 +1,21 @@
1
- import { N as audioKindId, a as COCO_80_LABELS, o as COCO_TO_MACRO, r as AUDIO_MACRO_LABELS, tt as hfModelUrl } from "./dist-FaCzok3C.mjs";
1
+ import { N as audioKindId, a as COCO_80_LABELS, o as COCO_TO_MACRO, r as AUDIO_MACRO_LABELS, tt as hfModelUrl } from "./dist-DrKpb33H.mjs";
2
2
  import { randomUUID } from "node:crypto";
3
+ //#region src/detection-pipeline/pipeline/landmark-precision-gate.ts
4
+ /**
5
+ * `null` = admit. A verdict = refuse, carrying both numbers so the caller can
6
+ * name them in a log. Pure.
7
+ */
8
+ function landmarkPrecisionVerdict(input) {
9
+ const { detectionShortSidePx, floorPx } = input;
10
+ if (!(floorPx > 0)) return null;
11
+ if (!Number.isFinite(detectionShortSidePx)) return null;
12
+ if (detectionShortSidePx >= floorPx) return null;
13
+ return {
14
+ detectionShortSidePx,
15
+ floorPx
16
+ };
17
+ }
18
+ //#endregion
3
19
  //#region src/detection-pipeline/registry/model-catalogs.ts
4
20
  var HF_REPO = "camstack/camstack-models";
5
21
  var HF_SCRYPTED = "scrypted/plugin-models";
@@ -1219,22 +1235,6 @@ var AUDIO_CLASSIFIER_MODELS = [{
1219
1235
  } }
1220
1236
  }];
1221
1237
  //#endregion
1222
- //#region src/detection-pipeline/pipeline/landmark-precision-gate.ts
1223
- /**
1224
- * `null` = admit. A verdict = refuse, carrying both numbers so the caller can
1225
- * name them in a log. Pure.
1226
- */
1227
- function landmarkPrecisionVerdict(input) {
1228
- const { detectionShortSidePx, floorPx } = input;
1229
- if (!(floorPx > 0)) return null;
1230
- if (!Number.isFinite(detectionShortSidePx)) return null;
1231
- if (detectionShortSidePx >= floorPx) return null;
1232
- return {
1233
- detectionShortSidePx,
1234
- floorPx
1235
- };
1236
- }
1237
- //#endregion
1238
1238
  //#region src/detection-pipeline/registry/step-definitions.ts
1239
1239
  var ANIMAL_10_LABELS = [
1240
1240
  "cat",
@@ -1380,6 +1380,13 @@ var ObjectDetectionStep = class {
1380
1380
  default: .5,
1381
1381
  showValue: true
1382
1382
  },
1383
+ {
1384
+ type: "boolean",
1385
+ key: "motionCropDispatch",
1386
+ label: "Detect on motion-derived crops",
1387
+ description: "Run the second detector pass on EVERY moving region instead of only on regions no full-frame box accounts for. Additive: the full-frame pass still runs, and it stays the only arm that can see a stationary subject. Costs about one extra detector invocation every four frames while something is moving.",
1388
+ default: false
1389
+ },
1383
1390
  {
1384
1391
  type: "slider",
1385
1392
  key: "nmsIouThreshold",
@@ -2,12 +2,12 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_dist = require("../dist-CR3_dWir.js");
6
- const require_node = require("../node-Re3uLz8K.js");
7
- const require_default_detection_model = require("../default-detection-model-BGsoboIK.js");
8
- const require_lazy_sharp = require("../lazy-sharp-CKXcDP-V.js");
5
+ const require_dist = require("../dist-CNPNWUoG.js");
6
+ const require_node = require("../node-h-nvNfmU.js");
7
+ const require_default_detection_model = require("../default-detection-model-BSYGuA-l.js");
8
+ const require_lazy_sharp = require("../lazy-sharp-BW3zCwk0.js");
9
9
  const require_event_loop_stall_monitor = require("../event-loop-stall-monitor-DaUBcb13.js");
10
- const require_process_memory = require("../process-memory-DNheSoSc.js");
10
+ const require_process_memory = require("../process-memory-DL51Hzcr.js");
11
11
  let node_os = require("node:os");
12
12
  node_os = require_dist.__toESM(node_os);
13
13
  let node_fs = require("node:fs");
@@ -1,10 +1,10 @@
1
1
  import { n as __require } from "../chunk-DnnnRqeS.mjs";
2
- import { $t as parseJsonUnknown, B as defaultDeviceFor$1, Dt as resolvePoolMemoryPolicy, G as detectionPipelineCapability, It as errMsg, J as enumerateInferenceDevices, Jt as hydrateSchema, Pt as supportedRuntimes$1, Qt as nodePin, S as PoolMemoryWatchdog, Ut as BaseAddon, X as evaluateZoneRules, c as DEFAULT_CLUSTER_STEP_MODELS, gt as pickClusterStepSettings, hn as EventCategory, ht as pickClusterStepModels, in as array, it as loadContributionCapability, k as YAMNET_TO_MACRO, kt as runtimeDevices$1, l as DEFAULT_CLUSTER_STEP_SETTINGS, m as DEVICE_BACKEND_TO_FORMAT, mn as union, nn as sleep, nt as inferModelProvider, pn as string, pt as overlayClusterStepSettings, qt as createEvent, t as APPLE_SA_TO_MACRO, un as object, wt as resolveClusterStepModelId, yt as pipelineExecutorCapability } from "../dist-FaCzok3C.mjs";
3
- import { o as readProcessCost } from "../node-f4fUlGHQ.mjs";
4
- import { a as ALL_PIPELINE_STEPS, c as getStep, d as landmarkPrecisionVerdict, l as getStepDefinition, n as resolveDefaultDetectionModel, o as ALL_STEPS, r as localFrameRegistry, s as getDefaultModelForFormat, u as resolveModelForFormat } from "../default-detection-model-23wBHkOQ.mjs";
2
+ import { $t as parseJsonUnknown, B as defaultDeviceFor$1, Dt as resolvePoolMemoryPolicy, G as detectionPipelineCapability, It as errMsg, J as enumerateInferenceDevices, Jt as hydrateSchema, Pt as supportedRuntimes$1, Qt as nodePin, S as PoolMemoryWatchdog, Ut as BaseAddon, X as evaluateZoneRules, c as DEFAULT_CLUSTER_STEP_MODELS, gt as pickClusterStepSettings, hn as EventCategory, ht as pickClusterStepModels, in as array, it as loadContributionCapability, k as YAMNET_TO_MACRO, kt as runtimeDevices$1, l as DEFAULT_CLUSTER_STEP_SETTINGS, m as DEVICE_BACKEND_TO_FORMAT, mn as union, nn as sleep, nt as inferModelProvider, pn as string, pt as overlayClusterStepSettings, qt as createEvent, t as APPLE_SA_TO_MACRO, un as object, wt as resolveClusterStepModelId, yt as pipelineExecutorCapability } from "../dist-DrKpb33H.mjs";
3
+ import { o as readProcessCost } from "../node-C6B8HJW_.mjs";
4
+ import { a as ALL_PIPELINE_STEPS, c as getStep, d as landmarkPrecisionVerdict, l as getStepDefinition, n as resolveDefaultDetectionModel, o as ALL_STEPS, r as localFrameRegistry, s as getDefaultModelForFormat, u as resolveModelForFormat } from "../default-detection-model-C_Pyt1w1.mjs";
5
5
  import { t as getSharp } from "../lazy-sharp-DXsqwpph.mjs";
6
6
  import { n as startEventLoopStallMonitor } from "../event-loop-stall-monitor-DXLNBMkY.mjs";
7
- import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-MC7wcxqk.mjs";
7
+ import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-C1F0SJcc.mjs";
8
8
  import * as os from "node:os";
9
9
  import * as fs from "node:fs";
10
10
  import * as path$1 from "node:path";
@@ -30165,8 +30165,27 @@ var PrivacyMaskRegionSchema = object({
30165
30165
  });
30166
30166
  object({
30167
30167
  enabled: boolean(),
30168
- /** Active zones (normalized 0..1). Length ≤ maxRegions. */
30169
- regions: array(PrivacyMaskRegionSchema),
30168
+ /**
30169
+ * Active zones (normalized 0..1). Length ≤ maxRegions.
30170
+ *
30171
+ * `null` means "no answer" — the provider has never reached this camera
30172
+ * (a cold `runtimeState` slice, a battery camera asleep) or the read
30173
+ * failed. A consumer must render it as UNKNOWN and never as "this camera
30174
+ * has no zones": those two look identical to an operator right up to the
30175
+ * moment one of them is acted on, and acting on them differs completely.
30176
+ * The switch group turned an unanswered read into *"nothing is set up for
30177
+ * it to act on"* — an instruction to go and draw a zone that already
30178
+ * exists — and this editor seeded an EMPTY canvas from it, one Save away
30179
+ * from deleting the mask it could not read.
30180
+ *
30181
+ * Empty-and-answered is `[]` and stays a real answer: this camera genuinely
30182
+ * has no zones. The distinction is the same one {@link
30183
+ * PrivacyMaskStatusSchema.shape.audioEnabled} already draws for the
30184
+ * microphone, on the very same payload — both planes come from ONE refresh,
30185
+ * so it was never coherent for one of them to be able to say "unknown"
30186
+ * while the other could not.
30187
+ */
30188
+ regions: array(PrivacyMaskRegionSchema).nullable(),
30170
30189
  /**
30171
30190
  * Is the camera capturing sound right now? Read from the camera, never from
30172
30191
  * a server-side mirror.
@@ -30142,8 +30142,27 @@ var PrivacyMaskRegionSchema = object({
30142
30142
  });
30143
30143
  object({
30144
30144
  enabled: boolean(),
30145
- /** Active zones (normalized 0..1). Length ≤ maxRegions. */
30146
- regions: array(PrivacyMaskRegionSchema),
30145
+ /**
30146
+ * Active zones (normalized 0..1). Length ≤ maxRegions.
30147
+ *
30148
+ * `null` means "no answer" — the provider has never reached this camera
30149
+ * (a cold `runtimeState` slice, a battery camera asleep) or the read
30150
+ * failed. A consumer must render it as UNKNOWN and never as "this camera
30151
+ * has no zones": those two look identical to an operator right up to the
30152
+ * moment one of them is acted on, and acting on them differs completely.
30153
+ * The switch group turned an unanswered read into *"nothing is set up for
30154
+ * it to act on"* — an instruction to go and draw a zone that already
30155
+ * exists — and this editor seeded an EMPTY canvas from it, one Save away
30156
+ * from deleting the mask it could not read.
30157
+ *
30158
+ * Empty-and-answered is `[]` and stays a real answer: this camera genuinely
30159
+ * has no zones. The distinction is the same one {@link
30160
+ * PrivacyMaskStatusSchema.shape.audioEnabled} already draws for the
30161
+ * microphone, on the very same payload — both planes come from ONE refresh,
30162
+ * so it was never coherent for one of them to be able to say "unknown"
30163
+ * while the other could not.
30164
+ */
30165
+ regions: array(PrivacyMaskRegionSchema).nullable(),
30147
30166
  /**
30148
30167
  * Is the camera capturing sound right now? Read from the camera, never from
30149
30168
  * a server-side mirror.
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-CR3_dWir.js");
1
+ const require_dist = require("./dist-CNPNWUoG.js");
2
2
  let node_path = require("node:path");
3
3
  node_path = require_dist.__toESM(node_path);
4
4
  let node_url = require("node:url");
@@ -2,8 +2,8 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_dist = require("../dist-CR3_dWir.js");
6
- const require_lazy_sharp = require("../lazy-sharp-CKXcDP-V.js");
5
+ const require_dist = require("../dist-CNPNWUoG.js");
6
+ const require_lazy_sharp = require("../lazy-sharp-BW3zCwk0.js");
7
7
  let node_fs = require("node:fs");
8
8
  let node_path = require("node:path");
9
9
  //#region src/motion-wasm/region-grouping.ts
@@ -1,4 +1,4 @@
1
- import { Jt as hydrateSchema, Kt as DeviceType, Ut as BaseAddon, X as evaluateZoneRules, ft as motionDetectionCapability } from "../dist-FaCzok3C.mjs";
1
+ import { Jt as hydrateSchema, Kt as DeviceType, Ut as BaseAddon, X as evaluateZoneRules, ft as motionDetectionCapability } from "../dist-DrKpb33H.mjs";
2
2
  import { t as getSharp } from "../lazy-sharp-DXsqwpph.mjs";
3
3
  import { readFileSync } from "node:fs";
4
4
  import { join } from "node:path";
@@ -1,4 +1,4 @@
1
- import { It as errMsg, Rt as Fmp4BoxSplitter, Vt as isSoftwareDecode, zt as buildFfmpegArgs } from "./dist-FaCzok3C.mjs";
1
+ import { It as errMsg, Rt as Fmp4BoxSplitter, Vt as isSoftwareDecode, zt as buildFfmpegArgs } from "./dist-DrKpb33H.mjs";
2
2
  import { randomUUID } from "node:crypto";
3
3
  import { realpathSync } from "node:fs";
4
4
  import path from "node:path";
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-CR3_dWir.js");
1
+ const require_dist = require("./dist-CNPNWUoG.js");
2
2
  let node_crypto = require("node:crypto");
3
3
  let node_fs = require("node:fs");
4
4
  node_fs = require_dist.__toESM(node_fs, 1);