@camstack/addon-pipeline 0.1.8

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 (107) hide show
  1. package/dist/audio-analyzer/index.js +723 -0
  2. package/dist/audio-analyzer/index.js.map +1 -0
  3. package/dist/audio-analyzer/index.mjs +683 -0
  4. package/dist/audio-analyzer/index.mjs.map +1 -0
  5. package/dist/audio-codec-nodeav/index.js +467 -0
  6. package/dist/audio-codec-nodeav/index.js.map +1 -0
  7. package/dist/audio-codec-nodeav/index.mjs +467 -0
  8. package/dist/audio-codec-nodeav/index.mjs.map +1 -0
  9. package/dist/decoder-nodeav/index.js +929 -0
  10. package/dist/decoder-nodeav/index.js.map +1 -0
  11. package/dist/decoder-nodeav/index.mjs +907 -0
  12. package/dist/decoder-nodeav/index.mjs.map +1 -0
  13. package/dist/detection-pipeline/index.js +5766 -0
  14. package/dist/detection-pipeline/index.js.map +1 -0
  15. package/dist/detection-pipeline/index.mjs +5725 -0
  16. package/dist/detection-pipeline/index.mjs.map +1 -0
  17. package/dist/index-D_cl0Qqb.js +5791 -0
  18. package/dist/index-D_cl0Qqb.js.map +1 -0
  19. package/dist/index-UbcdLS7a.mjs +5790 -0
  20. package/dist/index-UbcdLS7a.mjs.map +1 -0
  21. package/dist/motion-wasm/index.js +476 -0
  22. package/dist/motion-wasm/index.js.map +1 -0
  23. package/dist/motion-wasm/index.mjs +454 -0
  24. package/dist/motion-wasm/index.mjs.map +1 -0
  25. package/dist/pipeline-runner/index.js +1669 -0
  26. package/dist/pipeline-runner/index.js.map +1 -0
  27. package/dist/pipeline-runner/index.mjs +1647 -0
  28. package/dist/pipeline-runner/index.mjs.map +1 -0
  29. package/dist/stream-broker/@mf-types/compiled-types/stream-broker/widgets/StreamBrokerPanel.d.ts +21 -0
  30. package/dist/stream-broker/@mf-types/compiled-types/stream-broker/widgets/index.d.ts +13 -0
  31. package/dist/stream-broker/@mf-types/widgets.d.ts +2 -0
  32. package/dist/stream-broker/@mf-types.d.ts +3 -0
  33. package/dist/stream-broker/@mf-types.zip +0 -0
  34. package/dist/stream-broker/__mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_sdk__loadShare__.mjs-h5aXOPSA.mjs +12 -0
  35. package/dist/stream-broker/__mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.mjs-C-URP6DW.mjs +17 -0
  36. package/dist/stream-broker/__mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.mjs-69eEmXwl.mjs +20 -0
  37. package/dist/stream-broker/__mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.mjs-U1EUeEPs.mjs +104 -0
  38. package/dist/stream-broker/__mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_trpc_mf_1_client__loadShare__.mjs-DeouEaSs.mjs +85 -0
  39. package/dist/stream-broker/__mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_trpc_mf_1_react_mf_2_query__loadShare__.mjs-DHUwjbb9.mjs +62 -0
  40. package/dist/stream-broker/__mfe_internal__addon_stream_broker_widgets__loadShare__react__loadShare__.mjs-DePVYdid.mjs +85 -0
  41. package/dist/stream-broker/__mfe_internal__addon_stream_broker_widgets__loadShare__react__loadShare__.mjs_commonjs-proxy-CBlCGyx5.mjs +29 -0
  42. package/dist/stream-broker/__mfe_internal__addon_stream_broker_widgets__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.mjs-gBEZsQrp.mjs +36 -0
  43. package/dist/stream-broker/__mfe_internal__addon_stream_broker_widgets__loadShare__react_mf_2_dom__loadShare__.mjs-DYEKzzY-.mjs +45 -0
  44. package/dist/stream-broker/__mfe_internal__addon_stream_broker_widgets__loadShare__react_mf_2_dom__loadShare__.mjs_commonjs-proxy-DZchZKbW.mjs +6 -0
  45. package/dist/stream-broker/__mfe_internal__addon_stream_broker_widgets__loadShare__react_mf_2_dom_mf_1_client__loadShare__.mjs-DICOtMTl.mjs +34 -0
  46. package/dist/stream-broker/_stub.js +752 -0
  47. package/dist/stream-broker/_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-D6o1e2ed.mjs +156 -0
  48. package/dist/stream-broker/client-BK73l2KT.mjs +10063 -0
  49. package/dist/stream-broker/getErrorShape-BPSzUA7W-TlK8ipWe.mjs +211 -0
  50. package/dist/stream-broker/hostInit-RCeroTVY.mjs +168 -0
  51. package/dist/stream-broker/index-BYclbfM0.mjs +15806 -0
  52. package/dist/stream-broker/index-BhXZh4lQ.mjs +1617 -0
  53. package/dist/stream-broker/index-BxHaCH3N.mjs +725 -0
  54. package/dist/stream-broker/index-D2-K2YJ7.mjs +19268 -0
  55. package/dist/stream-broker/index-IUYKHbxX.mjs +185 -0
  56. package/dist/stream-broker/index-Ss9m7Jum.mjs +2603 -0
  57. package/dist/stream-broker/index-ns1fRD30.mjs +435 -0
  58. package/dist/stream-broker/index-xncRG7-x.mjs +2713 -0
  59. package/dist/stream-broker/index.js +11171 -0
  60. package/dist/stream-broker/index.js.map +1 -0
  61. package/dist/stream-broker/index.mjs +11130 -0
  62. package/dist/stream-broker/index.mjs.map +1 -0
  63. package/dist/stream-broker/jsx-runtime-ZdY5pIZz.mjs +55 -0
  64. package/dist/stream-broker/remoteEntry.js +2973 -0
  65. package/dist/stream-broker/virtualExposes-pCd777Rp.mjs +42 -0
  66. package/package.json +258 -0
  67. package/python/__pycache__/inference_pool.cpython-313.pyc +0 -0
  68. package/python/inference_pool.py +1088 -0
  69. package/python/postprocessors/__init__.py +24 -0
  70. package/python/postprocessors/__pycache__/__init__.cpython-312.pyc +0 -0
  71. package/python/postprocessors/__pycache__/__init__.cpython-313.pyc +0 -0
  72. package/python/postprocessors/__pycache__/_safety.cpython-313.pyc +0 -0
  73. package/python/postprocessors/__pycache__/arcface.cpython-312.pyc +0 -0
  74. package/python/postprocessors/__pycache__/arcface.cpython-313.pyc +0 -0
  75. package/python/postprocessors/__pycache__/ctc.cpython-312.pyc +0 -0
  76. package/python/postprocessors/__pycache__/ctc.cpython-313.pyc +0 -0
  77. package/python/postprocessors/__pycache__/saliency.cpython-312.pyc +0 -0
  78. package/python/postprocessors/__pycache__/saliency.cpython-313.pyc +0 -0
  79. package/python/postprocessors/__pycache__/scrfd.cpython-312.pyc +0 -0
  80. package/python/postprocessors/__pycache__/scrfd.cpython-313.pyc +0 -0
  81. package/python/postprocessors/__pycache__/softmax.cpython-312.pyc +0 -0
  82. package/python/postprocessors/__pycache__/softmax.cpython-313.pyc +0 -0
  83. package/python/postprocessors/__pycache__/yamnet.cpython-312.pyc +0 -0
  84. package/python/postprocessors/__pycache__/yamnet.cpython-313.pyc +0 -0
  85. package/python/postprocessors/__pycache__/yolo.cpython-312.pyc +0 -0
  86. package/python/postprocessors/__pycache__/yolo.cpython-313.pyc +0 -0
  87. package/python/postprocessors/__pycache__/yolo_seg.cpython-312.pyc +0 -0
  88. package/python/postprocessors/__pycache__/yolo_seg.cpython-313.pyc +0 -0
  89. package/python/postprocessors/arcface.py +31 -0
  90. package/python/postprocessors/ctc.py +68 -0
  91. package/python/postprocessors/saliency.py +44 -0
  92. package/python/postprocessors/scrfd.py +212 -0
  93. package/python/postprocessors/softmax.py +43 -0
  94. package/python/postprocessors/yamnet.py +41 -0
  95. package/python/postprocessors/yolo.py +278 -0
  96. package/python/postprocessors/yolo_seg.py +247 -0
  97. package/python/requirements-coreml.txt +4 -0
  98. package/python/requirements-onnxruntime.txt +3 -0
  99. package/python/requirements-openvino.txt +3 -0
  100. package/python/requirements.txt +9 -0
  101. package/swift/audio-analyzer/apple-sound-classifier +0 -0
  102. package/swift/audio-analyzer/apple-sound-classifier.swift +213 -0
  103. package/swift/detection-pipeline/apple-sound-classifier +0 -0
  104. package/swift/detection-pipeline/apple-sound-classifier.swift +196 -0
  105. package/wasm/assembly/index.ts +290 -0
  106. package/wasm/assembly/tsconfig.json +4 -0
  107. package/wasm/motion.wasm +0 -0
@@ -0,0 +1,42 @@
1
+ const u = {}, r = /* @__PURE__ */ new Set();
2
+ let o = Promise.resolve();
3
+ async function l(t) {
4
+ const e = o.then(t, t);
5
+ return o = e.then(
6
+ () => {
7
+ },
8
+ () => {
9
+ }
10
+ ), e;
11
+ }
12
+ async function c(t) {
13
+ if (typeof document > "u")
14
+ return;
15
+ const e = u[t] || [];
16
+ await Promise.all(
17
+ e.map((i) => {
18
+ const s = new URL(i, import.meta.url).href;
19
+ return r.has(s) || (r.add(s), document.querySelector(
20
+ `link[rel="stylesheet"][data-mf-href="${s}"]`
21
+ )) ? Promise.resolve() : new Promise((a, d) => {
22
+ const n = document.createElement("link");
23
+ n.rel = "stylesheet", n.href = s, n.setAttribute("data-mf-href", s), n.onload = () => a(), n.onerror = () => d(new Error(`[Module Federation] Failed to load CSS asset: ${s}`)), document.head.appendChild(n);
24
+ });
25
+ })
26
+ );
27
+ }
28
+ const f = {
29
+ "./widgets": async () => {
30
+ await c("./widgets");
31
+ const t = await l(
32
+ () => import("./_stub.js")
33
+ ), e = {};
34
+ return Object.assign(e, t), Object.defineProperty(e, "__esModule", {
35
+ value: !0,
36
+ enumerable: !1
37
+ }), e;
38
+ }
39
+ };
40
+ export {
41
+ f as default
42
+ };
package/package.json ADDED
@@ -0,0 +1,258 @@
1
+ {
2
+ "name": "@camstack/addon-pipeline",
3
+ "version": "0.1.8",
4
+ "description": "CamStack Pipeline bundle — runner, detection, motion, decoders, audio + stream broker. Multi-entry npm package shipping 7 addons under a single bundle.",
5
+ "keywords": [
6
+ "camstack",
7
+ "addon",
8
+ "camstack-addon",
9
+ "pipeline",
10
+ "detection",
11
+ "motion",
12
+ "decoder",
13
+ "audio",
14
+ "stream-broker"
15
+ ],
16
+ "license": "MIT",
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "https://github.com/camstack/server"
20
+ },
21
+ "main": "./dist/pipeline-runner/index.js",
22
+ "exports": {
23
+ "./pipeline-runner": {
24
+ "import": "./dist/pipeline-runner/index.mjs",
25
+ "require": "./dist/pipeline-runner/index.js"
26
+ },
27
+ "./detection-pipeline": {
28
+ "import": "./dist/detection-pipeline/index.mjs",
29
+ "require": "./dist/detection-pipeline/index.js"
30
+ },
31
+ "./motion-wasm": {
32
+ "import": "./dist/motion-wasm/index.mjs",
33
+ "require": "./dist/motion-wasm/index.js"
34
+ },
35
+ "./decoder-nodeav": {
36
+ "import": "./dist/decoder-nodeav/index.mjs",
37
+ "require": "./dist/decoder-nodeav/index.js"
38
+ },
39
+ "./audio-codec-nodeav": {
40
+ "import": "./dist/audio-codec-nodeav/index.mjs",
41
+ "require": "./dist/audio-codec-nodeav/index.js"
42
+ },
43
+ "./audio-analyzer": {
44
+ "import": "./dist/audio-analyzer/index.mjs",
45
+ "require": "./dist/audio-analyzer/index.js"
46
+ },
47
+ "./stream-broker": {
48
+ "import": "./dist/stream-broker/index.mjs",
49
+ "require": "./dist/stream-broker/index.js"
50
+ },
51
+ "./package.json": "./package.json"
52
+ },
53
+ "files": [
54
+ "dist",
55
+ "python",
56
+ "swift",
57
+ "wasm"
58
+ ],
59
+ "camstack": {
60
+ "displayName": "Pipeline",
61
+ "bundle": {
62
+ "displayName": "Pipeline",
63
+ "description": "Detection, motion, decoders, audio + stream broker."
64
+ },
65
+ "nativeDependencies": {
66
+ "node-av": "^5.2.0",
67
+ "onnxruntime-node": "^1.24.3",
68
+ "sharp": "^0.34.0"
69
+ },
70
+ "addons": [
71
+ {
72
+ "id": "pipeline-runner",
73
+ "name": "Pipeline Runner",
74
+ "version": "0.1.0",
75
+ "description": "Per-node detection scheduler — manages frame queues, semaphore, motion drain, and inference dispatch for cameras assigned by the orchestrator",
76
+ "entry": "./dist/pipeline-runner/index.js",
77
+ "execution": {
78
+ "placement": "any-node",
79
+ "group": "pipeline"
80
+ },
81
+ "capabilities": [
82
+ {
83
+ "name": "pipeline-runner"
84
+ }
85
+ ],
86
+ "passive": true,
87
+ "protected": true
88
+ },
89
+ {
90
+ "id": "detection-pipeline",
91
+ "name": "Detection Pipeline",
92
+ "version": "0.1.0",
93
+ "description": "Unified detection pipeline — object detection, face/plate recognition, classification, segmentation",
94
+ "entry": "./dist/detection-pipeline/index.js",
95
+ "python": {
96
+ "requirements": "./python/requirements.txt"
97
+ },
98
+ "capabilities": [
99
+ {
100
+ "name": "pipeline-executor"
101
+ },
102
+ {
103
+ "name": "detection-pipeline",
104
+ "kind": "wrapper",
105
+ "defaultActive": true
106
+ }
107
+ ],
108
+ "execution": {
109
+ "placement": "any-node",
110
+ "group": "pipeline"
111
+ },
112
+ "protected": true
113
+ },
114
+ {
115
+ "id": "motion-wasm",
116
+ "name": "Motion Detection (WASM)",
117
+ "version": "0.1.0",
118
+ "description": "WASM-accelerated motion detection with blur, dilation, and connected component labeling",
119
+ "entry": "./dist/motion-wasm/index.js",
120
+ "execution": {
121
+ "placement": "any-node",
122
+ "group": "pipeline"
123
+ },
124
+ "capabilities": [
125
+ {
126
+ "name": "motion-detection",
127
+ "kind": "wrapper",
128
+ "defaultActive": true
129
+ }
130
+ ],
131
+ "passive": true,
132
+ "defaultConfig": {
133
+ "threshold": 45,
134
+ "blurRadius": 1,
135
+ "dilateRadius": 4,
136
+ "minArea": 3000
137
+ },
138
+ "protected": true
139
+ },
140
+ {
141
+ "id": "decoder-nodeav",
142
+ "name": "Decoder (node-av)",
143
+ "version": "0.1.0",
144
+ "description": "Hardware-accelerated video decoder using FFmpeg native bindings",
145
+ "entry": "./dist/decoder-nodeav/index.js",
146
+ "execution": {
147
+ "placement": "any-node",
148
+ "group": "pipeline"
149
+ },
150
+ "capabilities": [
151
+ {
152
+ "name": "decoder"
153
+ }
154
+ ],
155
+ "passive": true,
156
+ "protected": true
157
+ },
158
+ {
159
+ "id": "audio-codec-nodeav",
160
+ "name": "Audio Codec (node-av)",
161
+ "version": "0.1.0",
162
+ "description": "Bidirectional audio codec I/O — decodes camera audio (AAC, Opus, PCMU/PCMA) into per-consumer PCM sessions and encodes intercom PCM back into camera-supported codecs",
163
+ "entry": "./dist/audio-codec-nodeav/index.js",
164
+ "execution": {
165
+ "placement": "any-node",
166
+ "group": "stream-broker"
167
+ },
168
+ "capabilities": [
169
+ {
170
+ "name": "audio-codec"
171
+ }
172
+ ],
173
+ "passive": true,
174
+ "protected": true
175
+ },
176
+ {
177
+ "id": "audio-analyzer",
178
+ "name": "Audio Analyzer",
179
+ "version": "0.1.0",
180
+ "description": "Audio level metering (dB/RMS) with optional classification",
181
+ "entry": "./dist/audio-analyzer/index.js",
182
+ "execution": {
183
+ "placement": "any-node",
184
+ "group": "pipeline"
185
+ },
186
+ "capabilities": [
187
+ {
188
+ "name": "audio-analyzer"
189
+ },
190
+ {
191
+ "name": "audio-analysis",
192
+ "kind": "wrapper",
193
+ "defaultActive": true
194
+ }
195
+ ],
196
+ "protected": true
197
+ },
198
+ {
199
+ "id": "stream-broker",
200
+ "name": "Stream Broker",
201
+ "version": "0.1.0",
202
+ "entry": "./dist/stream-broker/index.js",
203
+ "execution": {
204
+ "placement": "hub-only",
205
+ "group": "pipeline"
206
+ },
207
+ "capabilities": [
208
+ {
209
+ "name": "stream-broker"
210
+ },
211
+ {
212
+ "name": "camera-streams",
213
+ "kind": "wrapper",
214
+ "defaultActive": true
215
+ },
216
+ {
217
+ "name": "webrtc-session",
218
+ "kind": "wrapper",
219
+ "defaultActive": true
220
+ },
221
+ {
222
+ "name": "addon-widgets-source"
223
+ }
224
+ ],
225
+ "protected": true
226
+ }
227
+ ]
228
+ },
229
+ "scripts": {
230
+ "build": "vite build && vite build --config vite.widgets.stream-broker.config.ts",
231
+ "build:server": "vite build",
232
+ "build:widgets": "vite build --config vite.widgets.stream-broker.config.ts",
233
+ "dev": "vite build --watch",
234
+ "typecheck": "tsc --noEmit",
235
+ "publish": "npm publish --access public"
236
+ },
237
+ "peerDependencies": {
238
+ "@camstack/types": "^0.1.0",
239
+ "react": ">=18",
240
+ "react-dom": ">=18",
241
+ "sharp": "^0.34.0",
242
+ "werift": "^0.22.9"
243
+ },
244
+ "dependencies": {
245
+ "@camstack/core": "*",
246
+ "node-av": "^5.2.0",
247
+ "onnxruntime-node": "^1.24.3",
248
+ "sharp": "^0.34.0",
249
+ "zod": "^4.3.6"
250
+ },
251
+ "devDependencies": {
252
+ "@camstack/types": "*",
253
+ "@module-federation/vite": "^1.15.2",
254
+ "@vitejs/plugin-react": "^4.0.0",
255
+ "tsup": "^8.0.0",
256
+ "typescript": "~5.9.0"
257
+ }
258
+ }