@camstack/addon-pipeline 1.2.630 → 1.2.632

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 (37) hide show
  1. package/CHANGELOG.md +16 -1
  2. package/README.md +39 -20
  3. package/dist/audio-analyzer/index.js +3 -3
  4. package/dist/audio-analyzer/index.mjs +3 -3
  5. package/dist/{custom-model-catalog-qwNT0qE-.mjs → custom-model-catalog-B2w26VBG.mjs} +2 -2
  6. package/dist/{custom-model-catalog-CsHQljey.js → custom-model-catalog-DN4xBVQE.js} +2 -2
  7. package/dist/detection-pipeline/index.js +4 -4
  8. package/dist/detection-pipeline/index.mjs +4 -4
  9. package/dist/{dist-M09KjuSx.js → dist-CLo3QHtG.js} +1574 -934
  10. package/dist/{dist-C56NTN3j.mjs → dist-DWkdwtle.mjs} +1574 -934
  11. package/dist/{model-catalogs-BmZHxpaD.js → model-catalogs-DIviCtiQ.js} +1 -1
  12. package/dist/{model-catalogs-vPj_kgtX.mjs → model-catalogs-rs7okKyp.mjs} +1 -1
  13. package/dist/motion-wasm/index.js +1 -1
  14. package/dist/motion-wasm/index.mjs +1 -1
  15. package/dist/{node-CdsOgsyN.mjs → node-CAJ1Dal-.mjs} +1 -1
  16. package/dist/{node-C0CzsJ0N.js → node-CPqDCFas.js} +1 -1
  17. package/dist/pipeline-runner/index.js +3 -3
  18. package/dist/pipeline-runner/index.mjs +3 -3
  19. package/dist/{process-memory-BURe-pwd.js → process-memory-BrKzYxim.js} +1 -1
  20. package/dist/{process-memory-DAhr_IbO.mjs → process-memory-DJWthb6k.mjs} +1 -1
  21. package/dist/recorder/index.js +3 -2
  22. package/dist/recorder/index.mjs +3 -2
  23. package/dist/{segment-demux-js-B391lmQZ.js → segment-demux-js-Bt5bxfyh.js} +1 -1
  24. package/dist/{segment-demux-js-CobIINvd.mjs → segment-demux-js-CZdgio0n.mjs} +1 -1
  25. package/dist/stream-broker/_stub.js +2 -2
  26. package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-Bxan5418.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-CjjdxZUq.mjs} +3 -3
  27. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DZmxw-we.mjs +26 -0
  28. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-CFflpMdb.mjs +26 -0
  29. package/dist/stream-broker/demux-worker-child.js +1 -1
  30. package/dist/stream-broker/demux-worker-child.mjs +1 -1
  31. package/dist/stream-broker/{hostInit-CmFod5rw.mjs → hostInit-MWvZi8Nq.mjs} +3 -3
  32. package/dist/stream-broker/index.js +3 -3
  33. package/dist/stream-broker/index.mjs +3 -3
  34. package/dist/stream-broker/remoteEntry.js +1 -1
  35. package/package.json +2 -2
  36. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-inxALjZf.mjs +0 -26
  37. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-wSzIkKI-.mjs +0 -26
package/CHANGELOG.md CHANGED
@@ -7,6 +7,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [1.2.632] - 2026-10-28
11
+
12
+ ### Changed
13
+
14
+ - Rebuilt against updated dependencies.
15
+
16
+ ## [1.2.631] - 2026-10-27
17
+
18
+ ### Changed
19
+
20
+ - Motion detection is shown as "Motion Detection" (was "Motion Detection (WASM)").
21
+
22
+ ## [1.2.630] - 2026-10-27
23
+
10
24
  ### Added
11
25
 
12
- - Package README and changelog, included in the published files list.
26
+ - Pipeline: Pipeline bundle — runner, detection, motion, audio + stream broker. Multi-entry npm package shipping pipeline addons under a single bundle.
27
+ - Provides the addons Pipeline Runner, Detection Pipeline, Motion Detection, Audio Analyzer, Stream Broker, Recorder.
package/README.md CHANGED
@@ -1,35 +1,54 @@
1
- # @camstack/addon-pipeline
1
+ # Pipeline
2
2
 
3
- Pipeline bundle — runner, detection, motion, audio + stream broker. Multi-entry npm package shipping pipeline addons under a single bundle.
3
+ Pipeline bundle — runner, detection, motion, audio + stream broker. Multi-entry npm package shipping pipeline addons under a single bundle. Detection, motion, audio + stream broker.
4
4
 
5
- ## What it does
5
+ <!-- readme:generated:start (derived from the manifest; edit outside this block) -->
6
6
 
7
- - **Pipeline Runner** (`pipeline-runner`): Per-node detection scheduler — manages frame queues, semaphore, motion drain, and inference dispatch for cameras assigned by the orchestrator
8
- - Node placement: `any-node`, runner group `detection`.
7
+ Package `@camstack/addon-pipeline` on npm.
8
+
9
+ ## What it provides
10
+
11
+ - **Pipeline Runner** (`pipeline-runner`): Per-node detection scheduler — manages frame queues, semaphore, motion drain, and inference dispatch for cameras assigned by the orchestrator. Category: pipeline.
9
12
  - Capabilities: `pipeline-runner`, `load-contribution`, `failure-contribution`.
10
- - **Detection Pipeline** (`detection-pipeline`): Unified detection pipeline — object detection, face/plate recognition, classification, segmentation
11
- - Node placement: `any-node`, runner group `detection`.
13
+ - **Detection Pipeline** (`detection-pipeline`): Unified detection pipeline — object detection, face/plate recognition, classification, segmentation. Category: pipeline.
12
14
  - Capabilities: `pipeline-executor`, `detection-pipeline`, `load-contribution`.
13
- - **Motion Detection (WASM)** (`motion-wasm`): WASM-accelerated motion detection with blur, dilation, and connected component labeling
14
- - Node placement: `any-node`, runner group `detection`.
15
+ - **Motion Detection** (`motion-wasm`): WASM-accelerated motion detection with blur, dilation, and connected component labeling. Category: pipeline.
15
16
  - Capabilities: `motion-detection`.
16
- - **Audio Analyzer** (`audio-analyzer`): Audio level metering (dB/RMS) with optional classification
17
- - Node placement: `any-node`.
17
+ - **Audio Analyzer** (`audio-analyzer`): Audio level metering (dB/RMS) with optional classification. Category: pipeline.
18
18
  - Capabilities: `audio-analyzer`, `audio-analysis`.
19
- - **Stream Broker** (`stream-broker`).
20
- - Node placement: `any-node`.
19
+ - **Stream Broker** (`stream-broker`): Category: pipeline.
21
20
  - Capabilities: `device-removal-hook`, `stream-broker`, `camera-streams`, `webrtc-session`, `addon-widgets-source`, `log-channels`, `load-contribution`.
22
- - **Recorder** (`recorder`): Continuous, local, filesystem-native camera recording — passthrough ffmpeg segmenter per profile with a RAM index and HLS variant/master playlists
23
- - Node placement: `any-node`.
21
+ - **Recorder** (`recorder`): Continuous, local, filesystem-native camera recording — passthrough ffmpeg segmenter per profile with a RAM index and HLS variant/master playlists. Category: pipeline.
24
22
  - Capabilities: `device-removal-hook`, `recording`, `recording-archive`, `videoclips`, `recording-export`, `storage-evictable`, `storage-occupancy`, `load-contribution`.
25
23
 
26
- ## Settings
24
+ ## Configuration
25
+
26
+ Edit these from System, Addons, this addon, Settings (a device's own settings are on its device page). A password field is stored in the keychain.
27
+
28
+ **Addon settings**
27
29
 
28
- Settings this addon exposes are edited from System → Addons → this addon → Settings when they apply to the whole cluster, and from the device page when they belong to one device. A password field is stored in the keychain.
30
+ - Cluster recording: Recording node, Hub host (cross-node)
29
31
 
30
32
  ## Requirements
31
33
 
32
- - Peer packages already on the node: `@camstack/types`, `react`, `react-dom`, `werift`.
33
- - Runtime dependencies the node resolves: `werift`.
34
- - A CamStack hub. An agent is used only when the placement above allows it.
34
+ - Pipeline Runner: any-node (runner group `detection`).
35
+ - Detection Pipeline: any-node (runner group `detection`).
36
+ - Motion Detection: any-node (runner group `detection`).
37
+ - Audio Analyzer: any-node.
38
+ - Stream Broker: any-node.
39
+ - Recorder: any-node.
40
+ - Runtime dependencies installed with the addon: `werift`.
41
+ - Python: Detection Pipeline installs `python/requirements.txt` into its own environment.
42
+ - A CamStack hub. An agent is used only where the placement above allows it.
43
+
44
+ ## Documentation
45
+
46
+ - [docs/architecture/data-planes.md](https://github.com/camstack/server/blob/main/docs/architecture/data-planes.md)
47
+ - [docs/architecture/detection-execution.md](https://github.com/camstack/server/blob/main/docs/architecture/detection-execution.md)
48
+ - [docs/architecture/load-ledger.md](https://github.com/camstack/server/blob/main/docs/architecture/load-ledger.md)
49
+ - [docs/architecture/benchmark.md](https://github.com/camstack/server/blob/main/docs/architecture/benchmark.md)
50
+ - [packages/addon-pipeline/AGENTS.md](https://github.com/camstack/server/blob/main/packages/addon-pipeline/AGENTS.md)
51
+
52
+ See [CHANGELOG.md](./CHANGELOG.md) for what changed in each version.
35
53
 
54
+ <!-- readme:generated:end -->
@@ -3,9 +3,9 @@ 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-M09KjuSx.js");
7
- const require_model_catalogs = require("../model-catalogs-BmZHxpaD.js");
8
- const require_process_memory = require("../process-memory-BURe-pwd.js");
6
+ const require_dist = require("../dist-CLo3QHtG.js");
7
+ const require_model_catalogs = require("../model-catalogs-DIviCtiQ.js");
8
+ const require_process_memory = require("../process-memory-BrKzYxim.js");
9
9
  let node_fs = require("node:fs");
10
10
  node_fs = require_chunk.__toESM(node_fs);
11
11
  let node_path = require("node:path");
@@ -1,7 +1,7 @@
1
1
  import { n as __require } from "../chunk-DnnnRqeS.mjs";
2
- import { Er as EventCategory, Gn as BaseAddon, Gt as mapAudioLabelToMacro, I as PoolMemoryWatchdog, Un as errMsg, Xn as audioChunkBytesPerSample, h as DEFAULT_AUDIO_ANALYZER_CONFIG, lr as nodePin, nt as audioAnalyzerCapability, r as AUDIO_BACKEND_CHOICES, rr as hydrateSchema, tr as expandAudioChunkToF32le, tt as audioAnalysisCapability, yn as resolvePoolMemoryPolicy } from "../dist-C56NTN3j.mjs";
3
- import { n as AUDIO_CLASSIFIER_MODELS } from "../model-catalogs-vPj_kgtX.mjs";
4
- import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-DAhr_IbO.mjs";
2
+ import { Er as EventCategory, Gn as BaseAddon, Gt as mapAudioLabelToMacro, I as PoolMemoryWatchdog, Un as errMsg, Xn as audioChunkBytesPerSample, h as DEFAULT_AUDIO_ANALYZER_CONFIG, lr as nodePin, nt as audioAnalyzerCapability, r as AUDIO_BACKEND_CHOICES, rr as hydrateSchema, tr as expandAudioChunkToF32le, tt as audioAnalysisCapability, yn as resolvePoolMemoryPolicy } from "../dist-DWkdwtle.mjs";
3
+ import { n as AUDIO_CLASSIFIER_MODELS } from "../model-catalogs-rs7okKyp.mjs";
4
+ import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-DJWthb6k.mjs";
5
5
  import * as fs from "node:fs";
6
6
  import * as path$1 from "node:path";
7
7
  import { ensureModel } from "@camstack/system/addon-utils";
@@ -1,5 +1,5 @@
1
- import { En as stepModelRunsOnFormat, N as OBJECT_DETECTION_STEP_ID, b as DEVICE_BACKEND_TO_FORMAT, f as COCO_80_LABELS, i as AUDIO_MACRO_LABELS, k as LABEL_SUPPLY_VOCABULARIES, p as COCO_TO_MACRO, rt as audioKindId, zt as inferModelProvider } from "./dist-C56NTN3j.mjs";
2
- import { a as FACE_DETECTION_MODELS, c as OBJECT_DETECTION_MODELS, d as PLATE_OCR_MODELS, f as SEGMENTATION_REFINER_MODELS, i as CLIP_EMBEDDING_MODELS, l as PACKAGE_DETECTION_MODELS, n as AUDIO_CLASSIFIER_MODELS, o as FACE_EMBEDDING_MODELS, p as VEHICLE_CLASSIFIER_MODELS, r as BIRD_CLASSIFIER_MODELS, s as INSTANCE_SEGMENTATION_MODELS, t as ANIMAL_CLASSIFIER_MODELS, u as PLATE_DETECTION_MODELS } from "./model-catalogs-vPj_kgtX.mjs";
1
+ import { En as stepModelRunsOnFormat, N as OBJECT_DETECTION_STEP_ID, b as DEVICE_BACKEND_TO_FORMAT, f as COCO_80_LABELS, i as AUDIO_MACRO_LABELS, k as LABEL_SUPPLY_VOCABULARIES, p as COCO_TO_MACRO, rt as audioKindId, zt as inferModelProvider } from "./dist-DWkdwtle.mjs";
2
+ import { a as FACE_DETECTION_MODELS, c as OBJECT_DETECTION_MODELS, d as PLATE_OCR_MODELS, f as SEGMENTATION_REFINER_MODELS, i as CLIP_EMBEDDING_MODELS, l as PACKAGE_DETECTION_MODELS, n as AUDIO_CLASSIFIER_MODELS, o as FACE_EMBEDDING_MODELS, p as VEHICLE_CLASSIFIER_MODELS, r as BIRD_CLASSIFIER_MODELS, s as INSTANCE_SEGMENTATION_MODELS, t as ANIMAL_CLASSIFIER_MODELS, u as PLATE_DETECTION_MODELS } from "./model-catalogs-rs7okKyp.mjs";
3
3
  import { t as isWorkerReply } from "./worker-protocol-_avq7y8O.mjs";
4
4
  import { randomUUID } from "node:crypto";
5
5
  //#region src/detection-pipeline/registry/effective-confidence.ts
@@ -1,5 +1,5 @@
1
- const require_dist = require("./dist-M09KjuSx.js");
2
- const require_model_catalogs = require("./model-catalogs-BmZHxpaD.js");
1
+ const require_dist = require("./dist-CLo3QHtG.js");
2
+ const require_model_catalogs = require("./model-catalogs-DIviCtiQ.js");
3
3
  const require_worker_protocol = require("./worker-protocol-DngGEAT2.js");
4
4
  let node_crypto = require("node:crypto");
5
5
  //#region src/detection-pipeline/registry/effective-confidence.ts
@@ -3,11 +3,11 @@ 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-M09KjuSx.js");
7
- const require_node = require("../node-C0CzsJ0N.js");
8
- const require_custom_model_catalog = require("../custom-model-catalog-CsHQljey.js");
6
+ const require_dist = require("../dist-CLo3QHtG.js");
7
+ const require_node = require("../node-CPqDCFas.js");
8
+ const require_custom_model_catalog = require("../custom-model-catalog-DN4xBVQE.js");
9
9
  const require_lazy_sharp = require("../lazy-sharp-BuwKlQLR.js");
10
- const require_process_memory = require("../process-memory-BURe-pwd.js");
10
+ const require_process_memory = require("../process-memory-BrKzYxim.js");
11
11
  let node_os = require("node:os");
12
12
  node_os = require_chunk.__toESM(node_os);
13
13
  let node_fs = require("node:fs");
@@ -1,9 +1,9 @@
1
1
  import { n as __require } from "../chunk-DnnnRqeS.mjs";
2
- import { $ as applyModelBoundSettings, Cn as runtimeDevices$1, Dt as enumerateInferenceDevices, En as stepModelRunsOnFormat, Er as EventCategory, Gn as BaseAddon, I as PoolMemoryWatchdog, O as LABEL_SUPPLY_MACRO, Ot as evaluateZoneRules, Qt as overlayClusterStepSettings, Sn as rootSuppliesOf, Tr as union, Un as errMsg, Ut as loadContributionCapability, Vt as linkedLabelStepId, Y as YAMNET_TO_MACRO, Zn as createEvent, d as CLUSTER_MODEL_SCOPED_STEPS, dt as containingParentIndex, en as pickClusterStepSettings, fr as sleep, g as DEFAULT_CLUSTER_STEP_SETTINGS, gt as defaultDeviceFor$1, hr as array, jn as supportedRuntimes$1, lr as nodePin, mn as resolveClusterStepModelId, n as APPLE_SA_TO_MACRO, nr as hfModelUrl, rn as pipelineExecutorCapability, rr as hydrateSchema, ut as collectModelBoundKeys, wr as string, wt as edgetpuDelegateDevice, xr as object, xt as detectionPipelineCapability, yn as resolvePoolMemoryPolicy } from "../dist-C56NTN3j.mjs";
3
- import { c as readProcessCost } from "../node-CdsOgsyN.mjs";
4
- import { S as resolveModelDefaultConfidence, _ as getDefaultModelForFormat, b as resolveModelForFormat, c as resolveDefaultDetectionModel, d as localFrameRegistry, g as ALL_STEPS, h as ALL_PIPELINE_STEPS, l as macroGateVerdict, n as mergeCustomModels, o as deviceKeyOf, r as buildSubtreeCanRun, s as resolveDeviceEngine, t as CustomModelCatalog, v as getStep, x as landmarkPrecisionVerdict, y as getStepDefinition } from "../custom-model-catalog-qwNT0qE-.mjs";
2
+ import { $ as applyModelBoundSettings, Cn as runtimeDevices$1, Dt as enumerateInferenceDevices, En as stepModelRunsOnFormat, Er as EventCategory, Gn as BaseAddon, I as PoolMemoryWatchdog, O as LABEL_SUPPLY_MACRO, Ot as evaluateZoneRules, Qt as overlayClusterStepSettings, Sn as rootSuppliesOf, Tr as union, Un as errMsg, Ut as loadContributionCapability, Vt as linkedLabelStepId, Y as YAMNET_TO_MACRO, Zn as createEvent, d as CLUSTER_MODEL_SCOPED_STEPS, dt as containingParentIndex, en as pickClusterStepSettings, fr as sleep, g as DEFAULT_CLUSTER_STEP_SETTINGS, gt as defaultDeviceFor$1, hr as array, jn as supportedRuntimes$1, lr as nodePin, mn as resolveClusterStepModelId, n as APPLE_SA_TO_MACRO, nr as hfModelUrl, rn as pipelineExecutorCapability, rr as hydrateSchema, ut as collectModelBoundKeys, wr as string, wt as edgetpuDelegateDevice, xr as object, xt as detectionPipelineCapability, yn as resolvePoolMemoryPolicy } from "../dist-DWkdwtle.mjs";
3
+ import { c as readProcessCost } from "../node-CAJ1Dal-.mjs";
4
+ import { S as resolveModelDefaultConfidence, _ as getDefaultModelForFormat, b as resolveModelForFormat, c as resolveDefaultDetectionModel, d as localFrameRegistry, g as ALL_STEPS, h as ALL_PIPELINE_STEPS, l as macroGateVerdict, n as mergeCustomModels, o as deviceKeyOf, r as buildSubtreeCanRun, s as resolveDeviceEngine, t as CustomModelCatalog, v as getStep, x as landmarkPrecisionVerdict, y as getStepDefinition } from "../custom-model-catalog-B2w26VBG.mjs";
5
5
  import { t as getSharp } from "../lazy-sharp-DXsqwpph.mjs";
6
- import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-DAhr_IbO.mjs";
6
+ import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-DJWthb6k.mjs";
7
7
  import * as os$1 from "node:os";
8
8
  import * as fs from "node:fs";
9
9
  import * as path$1 from "node:path";