@camstack/types 0.1.14 → 0.1.15

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 (445) hide show
  1. package/dist/addon/base-addon.d.ts +262 -0
  2. package/dist/addon/base-addon.d.ts.map +1 -0
  3. package/dist/capabilities/accessories.cap.d.ts +42 -0
  4. package/dist/capabilities/accessories.cap.d.ts.map +1 -0
  5. package/dist/capabilities/addon-pages-source.cap.d.ts +41 -0
  6. package/dist/capabilities/addon-pages-source.cap.d.ts.map +1 -0
  7. package/dist/capabilities/addon-pages.cap.d.ts +36 -0
  8. package/dist/capabilities/addon-pages.cap.d.ts.map +1 -0
  9. package/dist/capabilities/addon-routes.cap.d.ts +22 -0
  10. package/dist/capabilities/addon-routes.cap.d.ts.map +1 -0
  11. package/dist/capabilities/addon-settings.cap.d.ts +170 -0
  12. package/dist/capabilities/addon-settings.cap.d.ts.map +1 -0
  13. package/dist/capabilities/addon-widgets-source.cap.d.ts +103 -0
  14. package/dist/capabilities/addon-widgets-source.cap.d.ts.map +1 -0
  15. package/dist/capabilities/addon-widgets.cap.d.ts +98 -0
  16. package/dist/capabilities/addon-widgets.cap.d.ts.map +1 -0
  17. package/dist/capabilities/addons.cap.d.ts +280 -0
  18. package/dist/capabilities/addons.cap.d.ts.map +1 -0
  19. package/dist/capabilities/admin-ui.cap.d.ts +14 -0
  20. package/dist/capabilities/admin-ui.cap.d.ts.map +1 -0
  21. package/dist/capabilities/advanced-notifier.cap.d.ts +60 -0
  22. package/dist/capabilities/advanced-notifier.cap.d.ts.map +1 -0
  23. package/dist/capabilities/alerts.cap.d.ts +164 -0
  24. package/dist/capabilities/alerts.cap.d.ts.map +1 -0
  25. package/dist/capabilities/audio-analysis.cap.d.ts +46 -0
  26. package/dist/capabilities/audio-analysis.cap.d.ts.map +1 -0
  27. package/dist/capabilities/audio-analyzer.cap.d.ts +148 -0
  28. package/dist/capabilities/audio-analyzer.cap.d.ts.map +1 -0
  29. package/dist/capabilities/audio-codec.cap.d.ts +202 -0
  30. package/dist/capabilities/audio-codec.cap.d.ts.map +1 -0
  31. package/dist/capabilities/audio-metrics.cap.d.ts +174 -0
  32. package/dist/capabilities/audio-metrics.cap.d.ts.map +1 -0
  33. package/dist/capabilities/auth-provider.cap.d.ts +49 -0
  34. package/dist/capabilities/auth-provider.cap.d.ts.map +1 -0
  35. package/dist/capabilities/backup.cap.d.ts +48 -0
  36. package/dist/capabilities/backup.cap.d.ts.map +1 -0
  37. package/dist/capabilities/battery.cap.d.ts +85 -0
  38. package/dist/capabilities/battery.cap.d.ts.map +1 -0
  39. package/dist/capabilities/brightness.cap.d.ts +64 -0
  40. package/dist/capabilities/brightness.cap.d.ts.map +1 -0
  41. package/dist/capabilities/camera-credentials.cap.d.ts +102 -0
  42. package/dist/capabilities/camera-credentials.cap.d.ts.map +1 -0
  43. package/dist/capabilities/camera-streams.cap.d.ts +214 -0
  44. package/dist/capabilities/camera-streams.cap.d.ts.map +1 -0
  45. package/dist/capabilities/capability-definition.d.ts +474 -0
  46. package/dist/capabilities/capability-definition.d.ts.map +1 -0
  47. package/dist/capabilities/custom-actions.d.ts +47 -0
  48. package/dist/capabilities/custom-actions.d.ts.map +1 -0
  49. package/dist/capabilities/decoder.cap.d.ts +173 -0
  50. package/dist/capabilities/decoder.cap.d.ts.map +1 -0
  51. package/dist/capabilities/detection-pipeline.cap.d.ts +34 -0
  52. package/dist/capabilities/detection-pipeline.cap.d.ts.map +1 -0
  53. package/dist/capabilities/device-discovery.cap.d.ts +247 -0
  54. package/dist/capabilities/device-discovery.cap.d.ts.map +1 -0
  55. package/dist/capabilities/device-manager.cap.d.ts +709 -0
  56. package/dist/capabilities/device-manager.cap.d.ts.map +1 -0
  57. package/dist/capabilities/device-ops.cap.d.ts +87 -0
  58. package/dist/capabilities/device-ops.cap.d.ts.map +1 -0
  59. package/dist/capabilities/device-provider.cap.d.ts +151 -0
  60. package/dist/capabilities/device-provider.cap.d.ts.map +1 -0
  61. package/dist/capabilities/device-state.cap.d.ts +97 -0
  62. package/dist/capabilities/device-state.cap.d.ts.map +1 -0
  63. package/dist/capabilities/device-status.cap.d.ts +54 -0
  64. package/dist/capabilities/device-status.cap.d.ts.map +1 -0
  65. package/dist/capabilities/doorbell.cap.d.ts +62 -0
  66. package/dist/capabilities/doorbell.cap.d.ts.map +1 -0
  67. package/dist/capabilities/embedding-encoder.cap.d.ts +41 -0
  68. package/dist/capabilities/embedding-encoder.cap.d.ts.map +1 -0
  69. package/dist/capabilities/events.cap.d.ts +48 -0
  70. package/dist/capabilities/events.cap.d.ts.map +1 -0
  71. package/dist/capabilities/feature-probe.cap.d.ts +79 -0
  72. package/dist/capabilities/feature-probe.cap.d.ts.map +1 -0
  73. package/dist/capabilities/index.d.ts +177 -0
  74. package/dist/capabilities/index.d.ts.map +1 -0
  75. package/dist/capabilities/integrations.cap.d.ts +182 -0
  76. package/dist/capabilities/integrations.cap.d.ts.map +1 -0
  77. package/dist/capabilities/intercom.cap.d.ts +108 -0
  78. package/dist/capabilities/intercom.cap.d.ts.map +1 -0
  79. package/dist/capabilities/log-destination.cap.d.ts +70 -0
  80. package/dist/capabilities/log-destination.cap.d.ts.map +1 -0
  81. package/dist/capabilities/metrics-provider.cap.d.ts +522 -0
  82. package/dist/capabilities/metrics-provider.cap.d.ts.map +1 -0
  83. package/dist/capabilities/motion-detection.cap.d.ts +107 -0
  84. package/dist/capabilities/motion-detection.cap.d.ts.map +1 -0
  85. package/dist/capabilities/motion-trigger.cap.d.ts +78 -0
  86. package/dist/capabilities/motion-trigger.cap.d.ts.map +1 -0
  87. package/dist/capabilities/motion.cap.d.ts +122 -0
  88. package/dist/capabilities/motion.cap.d.ts.map +1 -0
  89. package/dist/capabilities/native-object-detection.cap.d.ts +127 -0
  90. package/dist/capabilities/native-object-detection.cap.d.ts.map +1 -0
  91. package/dist/capabilities/network-access.cap.d.ts +67 -0
  92. package/dist/capabilities/network-access.cap.d.ts.map +1 -0
  93. package/dist/capabilities/network-quality.cap.d.ts +95 -0
  94. package/dist/capabilities/network-quality.cap.d.ts.map +1 -0
  95. package/dist/capabilities/nodes.cap.d.ts +200 -0
  96. package/dist/capabilities/nodes.cap.d.ts.map +1 -0
  97. package/dist/capabilities/notification-output.cap.d.ts +44 -0
  98. package/dist/capabilities/notification-output.cap.d.ts.map +1 -0
  99. package/dist/capabilities/osd.cap.d.ts +236 -0
  100. package/dist/capabilities/osd.cap.d.ts.map +1 -0
  101. package/dist/capabilities/pipeline-analytics.cap.d.ts +501 -0
  102. package/dist/capabilities/pipeline-analytics.cap.d.ts.map +1 -0
  103. package/dist/capabilities/pipeline-executor.cap.d.ts +922 -0
  104. package/dist/capabilities/pipeline-executor.cap.d.ts.map +1 -0
  105. package/dist/capabilities/pipeline-orchestrator.cap.d.ts +793 -0
  106. package/dist/capabilities/pipeline-orchestrator.cap.d.ts.map +1 -0
  107. package/dist/capabilities/pipeline-runner.cap.d.ts +393 -0
  108. package/dist/capabilities/pipeline-runner.cap.d.ts.map +1 -0
  109. package/dist/capabilities/platform-probe.cap.d.ts +168 -0
  110. package/dist/capabilities/platform-probe.cap.d.ts.map +1 -0
  111. package/dist/capabilities/ptz-autotrack.cap.d.ts +188 -0
  112. package/dist/capabilities/ptz-autotrack.cap.d.ts.map +1 -0
  113. package/dist/capabilities/ptz.cap.d.ts +80 -0
  114. package/dist/capabilities/ptz.cap.d.ts.map +1 -0
  115. package/dist/capabilities/reboot.cap.d.ts +32 -0
  116. package/dist/capabilities/reboot.cap.d.ts.map +1 -0
  117. package/dist/capabilities/recording-engine.cap.d.ts +477 -0
  118. package/dist/capabilities/recording-engine.cap.d.ts.map +1 -0
  119. package/dist/capabilities/recording.cap.d.ts +43 -0
  120. package/dist/capabilities/recording.cap.d.ts.map +1 -0
  121. package/dist/capabilities/restreamer.cap.d.ts +51 -0
  122. package/dist/capabilities/restreamer.cap.d.ts.map +1 -0
  123. package/dist/capabilities/schemas/detection-shared.d.ts +63 -0
  124. package/dist/capabilities/schemas/detection-shared.d.ts.map +1 -0
  125. package/dist/capabilities/schemas/orchestrator-metrics.d.ts +44 -0
  126. package/dist/capabilities/schemas/orchestrator-metrics.d.ts.map +1 -0
  127. package/dist/capabilities/schemas/streaming-shared.d.ts +177 -0
  128. package/dist/capabilities/schemas/streaming-shared.d.ts.map +1 -0
  129. package/dist/capabilities/schemas/zone-rule.d.ts +74 -0
  130. package/dist/capabilities/schemas/zone-rule.d.ts.map +1 -0
  131. package/dist/capabilities/settings-store.cap.d.ts +198 -0
  132. package/dist/capabilities/settings-store.cap.d.ts.map +1 -0
  133. package/dist/capabilities/snapshot-provider.cap.d.ts +40 -0
  134. package/dist/capabilities/snapshot-provider.cap.d.ts.map +1 -0
  135. package/dist/capabilities/snapshot.cap.d.ts +78 -0
  136. package/dist/capabilities/snapshot.cap.d.ts.map +1 -0
  137. package/dist/capabilities/storage.cap.d.ts +104 -0
  138. package/dist/capabilities/storage.cap.d.ts.map +1 -0
  139. package/dist/capabilities/stream-broker.cap.d.ts +416 -0
  140. package/dist/capabilities/stream-broker.cap.d.ts.map +1 -0
  141. package/dist/capabilities/streaming-engine.cap.d.ts +58 -0
  142. package/dist/capabilities/streaming-engine.cap.d.ts.map +1 -0
  143. package/dist/capabilities/switch.cap.d.ts +66 -0
  144. package/dist/capabilities/switch.cap.d.ts.map +1 -0
  145. package/dist/capabilities/system.cap.d.ts +86 -0
  146. package/dist/capabilities/system.cap.d.ts.map +1 -0
  147. package/dist/capabilities/toast.cap.d.ts +56 -0
  148. package/dist/capabilities/toast.cap.d.ts.map +1 -0
  149. package/dist/capabilities/turn-provider.cap.d.ts +43 -0
  150. package/dist/capabilities/turn-provider.cap.d.ts.map +1 -0
  151. package/dist/capabilities/user-management.cap.d.ts +378 -0
  152. package/dist/capabilities/user-management.cap.d.ts.map +1 -0
  153. package/dist/capabilities/webrtc-session.cap.d.ts +181 -0
  154. package/dist/capabilities/webrtc-session.cap.d.ts.map +1 -0
  155. package/dist/capabilities/webrtc.cap.d.ts +72 -0
  156. package/dist/capabilities/webrtc.cap.d.ts.map +1 -0
  157. package/dist/capabilities/zone-analytics.cap.d.ts +213 -0
  158. package/dist/capabilities/zone-analytics.cap.d.ts.map +1 -0
  159. package/dist/capabilities/zone-rules.cap.d.ts +129 -0
  160. package/dist/capabilities/zone-rules.cap.d.ts.map +1 -0
  161. package/dist/capabilities/zones.cap.d.ts +151 -0
  162. package/dist/capabilities/zones.cap.d.ts.map +1 -0
  163. package/dist/catalogs/audio-classmap.d.ts +16 -0
  164. package/dist/catalogs/audio-classmap.d.ts.map +1 -0
  165. package/dist/catalogs/coco-classmap.d.ts.map +1 -1
  166. package/dist/constants.d.ts +50 -0
  167. package/dist/constants.d.ts.map +1 -1
  168. package/dist/deps/binary-downloader.d.ts +41 -0
  169. package/dist/deps/binary-downloader.d.ts.map +1 -0
  170. package/dist/deps/ffmpeg-downloader.d.ts +13 -0
  171. package/dist/deps/ffmpeg-downloader.d.ts.map +1 -0
  172. package/dist/deps/index.d.ts +4 -0
  173. package/dist/deps/index.d.ts.map +1 -0
  174. package/dist/deps/python-downloader.d.ts +34 -0
  175. package/dist/deps/python-downloader.d.ts.map +1 -0
  176. package/dist/device/accessory.d.ts +62 -0
  177. package/dist/device/accessory.d.ts.map +1 -0
  178. package/dist/device/base-device-provider.d.ts +170 -0
  179. package/dist/device/base-device-provider.d.ts.map +1 -0
  180. package/dist/device/base-device.d.ts +287 -0
  181. package/dist/device/base-device.d.ts.map +1 -0
  182. package/dist/device/camera-device.d.ts +49 -0
  183. package/dist/device/camera-device.d.ts.map +1 -0
  184. package/dist/device/device-binding.d.ts +23 -0
  185. package/dist/device/device-binding.d.ts.map +1 -0
  186. package/dist/device/device-config.d.ts +65 -0
  187. package/dist/device/device-config.d.ts.map +1 -0
  188. package/dist/device/device-context.d.ts +256 -0
  189. package/dist/device/device-context.d.ts.map +1 -0
  190. package/dist/device/device-management.d.ts +118 -0
  191. package/dist/device/device-management.d.ts.map +1 -0
  192. package/dist/device/device-profile.d.ts +161 -0
  193. package/dist/device/device-profile.d.ts.map +1 -0
  194. package/dist/device/device-runtime-state.d.ts +124 -0
  195. package/dist/device/device-runtime-state.d.ts.map +1 -0
  196. package/dist/device/device-state-handle.d.ts +161 -0
  197. package/dist/device/device-state-handle.d.ts.map +1 -0
  198. package/dist/device/device-type.d.ts +68 -0
  199. package/dist/device/device-type.d.ts.map +1 -0
  200. package/dist/device/device.d.ts +87 -0
  201. package/dist/device/device.d.ts.map +1 -0
  202. package/dist/device/features.d.ts +29 -0
  203. package/dist/device/features.d.ts.map +1 -0
  204. package/dist/device/index.d.ts +20 -0
  205. package/dist/device/index.d.ts.map +1 -0
  206. package/dist/device/runtime-state-helpers.d.ts +69 -0
  207. package/dist/device/runtime-state-helpers.d.ts.map +1 -0
  208. package/dist/device/system-mirror.d.ts +318 -0
  209. package/dist/device/system-mirror.d.ts.map +1 -0
  210. package/dist/device/zod-to-config-ui.d.ts +23 -0
  211. package/dist/device/zod-to-config-ui.d.ts.map +1 -0
  212. package/dist/enums/event-category.d.ts +327 -0
  213. package/dist/enums/event-category.d.ts.map +1 -0
  214. package/dist/enums/event-source-type.d.ts +8 -0
  215. package/dist/enums/event-source-type.d.ts.map +1 -0
  216. package/dist/enums/index.d.ts +3 -0
  217. package/dist/enums/index.d.ts.map +1 -0
  218. package/dist/generated/addon-api.d.ts +13401 -3202
  219. package/dist/generated/addon-api.d.ts.map +1 -1
  220. package/dist/generated/cap-status-types.d.ts +51 -0
  221. package/dist/generated/cap-status-types.d.ts.map +1 -0
  222. package/dist/generated/capability-router-map.d.ts +257 -0
  223. package/dist/generated/capability-router-map.d.ts.map +1 -0
  224. package/dist/generated/device-local-state.d.ts +82 -0
  225. package/dist/generated/device-local-state.d.ts.map +1 -0
  226. package/dist/generated/device-proxy.d.ts +146 -0
  227. package/dist/generated/device-proxy.d.ts.map +1 -0
  228. package/dist/generated/system-proxy.d.ts +80 -0
  229. package/dist/generated/system-proxy.d.ts.map +1 -0
  230. package/dist/helpers/bind-addon-actions.d.ts +19 -0
  231. package/dist/helpers/bind-addon-actions.d.ts.map +1 -0
  232. package/dist/index.d.ts +86 -22
  233. package/dist/index.d.ts.map +1 -1
  234. package/dist/index.js +12328 -436
  235. package/dist/index.js.map +1 -1
  236. package/dist/index.mjs +11952 -427
  237. package/dist/index.mjs.map +1 -1
  238. package/dist/interfaces/addon.d.ts +678 -132
  239. package/dist/interfaces/addon.d.ts.map +1 -1
  240. package/dist/interfaces/advanced-notifier.d.ts +3 -2
  241. package/dist/interfaces/advanced-notifier.d.ts.map +1 -1
  242. package/dist/interfaces/agent-protocol.d.ts +17 -173
  243. package/dist/interfaces/agent-protocol.d.ts.map +1 -1
  244. package/dist/interfaces/agent.d.ts +61 -0
  245. package/dist/interfaces/agent.d.ts.map +1 -1
  246. package/dist/interfaces/alerts.d.ts +14 -0
  247. package/dist/interfaces/alerts.d.ts.map +1 -0
  248. package/dist/interfaces/analysis-persistence.d.ts +37 -19
  249. package/dist/interfaces/analysis-persistence.d.ts.map +1 -1
  250. package/dist/interfaces/analysis.d.ts +33 -4
  251. package/dist/interfaces/analysis.d.ts.map +1 -1
  252. package/dist/interfaces/api-responses.d.ts +117 -0
  253. package/dist/interfaces/api-responses.d.ts.map +1 -0
  254. package/dist/interfaces/api-shared.d.ts +5 -79
  255. package/dist/interfaces/api-shared.d.ts.map +1 -1
  256. package/dist/interfaces/audio-analyzer.d.ts +49 -0
  257. package/dist/interfaces/audio-analyzer.d.ts.map +1 -0
  258. package/dist/interfaces/audio-codec.d.ts +123 -0
  259. package/dist/interfaces/audio-codec.d.ts.map +1 -0
  260. package/dist/interfaces/audio-inference-engine.d.ts +19 -0
  261. package/dist/interfaces/audio-inference-engine.d.ts.map +1 -0
  262. package/dist/interfaces/auth-provider.d.ts.map +1 -1
  263. package/dist/interfaces/auth.d.ts +4 -25
  264. package/dist/interfaces/auth.d.ts.map +1 -1
  265. package/dist/interfaces/camera-pipeline.d.ts +7 -20
  266. package/dist/interfaces/camera-pipeline.d.ts.map +1 -1
  267. package/dist/interfaces/capability.d.ts +159 -23
  268. package/dist/interfaces/capability.d.ts.map +1 -1
  269. package/dist/interfaces/config-ui.d.ts +609 -24
  270. package/dist/interfaces/config-ui.d.ts.map +1 -1
  271. package/dist/interfaces/context.d.ts +9 -4
  272. package/dist/interfaces/context.d.ts.map +1 -1
  273. package/dist/interfaces/decoder.d.ts +38 -3
  274. package/dist/interfaces/decoder.d.ts.map +1 -1
  275. package/dist/interfaces/detection-addon.d.ts +6 -6
  276. package/dist/interfaces/detection-addon.d.ts.map +1 -1
  277. package/dist/interfaces/device-capabilities/camera.d.ts +95 -18
  278. package/dist/interfaces/device-capabilities/camera.d.ts.map +1 -1
  279. package/dist/interfaces/device-capabilities/index.d.ts +0 -13
  280. package/dist/interfaces/device-capabilities/index.d.ts.map +1 -1
  281. package/dist/interfaces/device-provider.d.ts +18 -16
  282. package/dist/interfaces/device-provider.d.ts.map +1 -1
  283. package/dist/interfaces/device.d.ts +4 -21
  284. package/dist/interfaces/device.d.ts.map +1 -1
  285. package/dist/interfaces/embedding-encoder.d.ts +19 -0
  286. package/dist/interfaces/embedding-encoder.d.ts.map +1 -0
  287. package/dist/interfaces/engine-slots.d.ts +10 -0
  288. package/dist/interfaces/engine-slots.d.ts.map +1 -0
  289. package/dist/interfaces/event-bus.d.ts +710 -26
  290. package/dist/interfaces/event-bus.d.ts.map +1 -1
  291. package/dist/interfaces/inference-capabilities.d.ts +0 -17
  292. package/dist/interfaces/inference-capabilities.d.ts.map +1 -1
  293. package/dist/interfaces/inference-engine.d.ts +30 -10
  294. package/dist/interfaces/inference-engine.d.ts.map +1 -1
  295. package/dist/interfaces/integration-registry.d.ts +20 -20
  296. package/dist/interfaces/integration-registry.d.ts.map +1 -1
  297. package/dist/interfaces/kernel-abstractions.d.ts +83 -0
  298. package/dist/interfaces/kernel-abstractions.d.ts.map +1 -0
  299. package/dist/interfaces/logging.d.ts +89 -8
  300. package/dist/interfaces/logging.d.ts.map +1 -1
  301. package/dist/interfaces/metrics-provider.d.ts +17 -0
  302. package/dist/interfaces/metrics-provider.d.ts.map +1 -0
  303. package/dist/interfaces/network-quality.d.ts +4 -4
  304. package/dist/interfaces/network.d.ts +0 -16
  305. package/dist/interfaces/network.d.ts.map +1 -1
  306. package/dist/interfaces/notification.d.ts +1 -1
  307. package/dist/interfaces/pipeline-executor-capability.d.ts +200 -0
  308. package/dist/interfaces/pipeline-executor-capability.d.ts.map +1 -0
  309. package/dist/interfaces/pipeline-orchestrator-capability.d.ts +165 -0
  310. package/dist/interfaces/pipeline-orchestrator-capability.d.ts.map +1 -0
  311. package/dist/interfaces/pipeline-runner-capability.d.ts +147 -0
  312. package/dist/interfaces/pipeline-runner-capability.d.ts.map +1 -0
  313. package/dist/interfaces/pipeline-runner.d.ts +18 -2
  314. package/dist/interfaces/pipeline-runner.d.ts.map +1 -1
  315. package/dist/interfaces/platform.d.ts +1 -1
  316. package/dist/interfaces/platform.d.ts.map +1 -1
  317. package/dist/interfaces/queryable.d.ts +26 -0
  318. package/dist/interfaces/queryable.d.ts.map +1 -0
  319. package/dist/interfaces/raw-tensor-engine.d.ts +16 -0
  320. package/dist/interfaces/raw-tensor-engine.d.ts.map +1 -0
  321. package/dist/interfaces/readiness.d.ts +101 -0
  322. package/dist/interfaces/readiness.d.ts.map +1 -0
  323. package/dist/interfaces/repl.d.ts +1 -1
  324. package/dist/interfaces/restreamer.d.ts +3 -3
  325. package/dist/interfaces/scoped-token.d.ts +1 -21
  326. package/dist/interfaces/scoped-token.d.ts.map +1 -1
  327. package/dist/interfaces/server-analysis.d.ts +30 -87
  328. package/dist/interfaces/server-analysis.d.ts.map +1 -1
  329. package/dist/interfaces/storage.d.ts +123 -45
  330. package/dist/interfaces/storage.d.ts.map +1 -1
  331. package/dist/interfaces/stream-broker.d.ts +285 -17
  332. package/dist/interfaces/stream-broker.d.ts.map +1 -1
  333. package/dist/interfaces/webrtc-provider.d.ts +24 -0
  334. package/dist/interfaces/webrtc-provider.d.ts.map +1 -1
  335. package/dist/node.d.ts +6 -0
  336. package/dist/node.d.ts.map +1 -0
  337. package/dist/node.js +7583 -0
  338. package/dist/node.js.map +1 -0
  339. package/dist/node.mjs +7534 -0
  340. package/dist/node.mjs.map +1 -0
  341. package/dist/readiness/index.d.ts +3 -0
  342. package/dist/readiness/index.d.ts.map +1 -0
  343. package/dist/readiness/readiness-registry.d.ts +183 -0
  344. package/dist/readiness/readiness-registry.d.ts.map +1 -0
  345. package/dist/schemas/auth-records.d.ts +81 -0
  346. package/dist/schemas/auth-records.d.ts.map +1 -0
  347. package/dist/storage/filesystem-storage-provider.d.ts +37 -0
  348. package/dist/storage/filesystem-storage-provider.d.ts.map +1 -0
  349. package/dist/types/agent-pipeline-settings.d.ts +94 -0
  350. package/dist/types/agent-pipeline-settings.d.ts.map +1 -0
  351. package/dist/types/camera-pipeline.d.ts +58 -0
  352. package/dist/types/camera-pipeline.d.ts.map +1 -0
  353. package/dist/types/detection.d.ts +195 -38
  354. package/dist/types/detection.d.ts.map +1 -1
  355. package/dist/types/device-type.d.ts +4 -0
  356. package/dist/types/device-type.d.ts.map +1 -1
  357. package/dist/types/engine-output.d.ts +24 -0
  358. package/dist/types/engine-output.d.ts.map +1 -0
  359. package/dist/types/io.d.ts +57 -3
  360. package/dist/types/io.d.ts.map +1 -1
  361. package/dist/types/models.d.ts +3 -1
  362. package/dist/types/models.d.ts.map +1 -1
  363. package/dist/types/pipeline-schema.d.ts +15 -72
  364. package/dist/types/pipeline-schema.d.ts.map +1 -1
  365. package/dist/types/pipeline-step.d.ts +201 -0
  366. package/dist/types/pipeline-step.d.ts.map +1 -0
  367. package/dist/types/pipeline.d.ts +24 -1
  368. package/dist/types/pipeline.d.ts.map +1 -1
  369. package/dist/utils/element-config-store.d.ts +29 -0
  370. package/dist/utils/element-config-store.d.ts.map +1 -0
  371. package/dist/utils/err-msg.d.ts +7 -0
  372. package/dist/utils/err-msg.d.ts.map +1 -0
  373. package/dist/utils/json-safe.d.ts +33 -0
  374. package/dist/utils/json-safe.d.ts.map +1 -0
  375. package/dist/utils/mask-url.d.ts +10 -0
  376. package/dist/utils/mask-url.d.ts.map +1 -0
  377. package/dist/utils/ring-buffer.d.ts +16 -0
  378. package/dist/utils/ring-buffer.d.ts.map +1 -0
  379. package/dist/utils/run-inference-step.d.ts +26 -0
  380. package/dist/utils/run-inference-step.d.ts.map +1 -0
  381. package/dist/utils/runtime-mapping.d.ts +88 -0
  382. package/dist/utils/runtime-mapping.d.ts.map +1 -0
  383. package/dist/utils/zone-rule-eval.d.ts +47 -0
  384. package/dist/utils/zone-rule-eval.d.ts.map +1 -0
  385. package/package.json +11 -2
  386. package/dist/__tests__/addon-capability-provider.test.d.ts +0 -2
  387. package/dist/__tests__/addon-capability-provider.test.d.ts.map +0 -1
  388. package/dist/__tests__/addon-declaration.test.d.ts +0 -2
  389. package/dist/__tests__/addon-declaration.test.d.ts.map +0 -1
  390. package/dist/__tests__/capability.test.d.ts +0 -2
  391. package/dist/__tests__/capability.test.d.ts.map +0 -1
  392. package/dist/interfaces/addon-i18n.d.ts +0 -41
  393. package/dist/interfaces/addon-i18n.d.ts.map +0 -1
  394. package/dist/interfaces/classifier.d.ts +0 -8
  395. package/dist/interfaces/classifier.d.ts.map +0 -1
  396. package/dist/interfaces/cropper.d.ts +0 -8
  397. package/dist/interfaces/cropper.d.ts.map +0 -1
  398. package/dist/interfaces/detector.d.ts +0 -8
  399. package/dist/interfaces/detector.d.ts.map +0 -1
  400. package/dist/interfaces/device-capabilities/accessory.d.ts +0 -14
  401. package/dist/interfaces/device-capabilities/accessory.d.ts.map +0 -1
  402. package/dist/interfaces/device-capabilities/audio-detector.d.ts +0 -12
  403. package/dist/interfaces/device-capabilities/audio-detector.d.ts.map +0 -1
  404. package/dist/interfaces/device-capabilities/doorbell.d.ts +0 -10
  405. package/dist/interfaces/device-capabilities/doorbell.d.ts.map +0 -1
  406. package/dist/interfaces/device-capabilities/events.d.ts +0 -47
  407. package/dist/interfaces/device-capabilities/events.d.ts.map +0 -1
  408. package/dist/interfaces/device-capabilities/motion-sensor.d.ts +0 -7
  409. package/dist/interfaces/device-capabilities/motion-sensor.d.ts.map +0 -1
  410. package/dist/interfaces/device-capabilities/native-detection.d.ts +0 -14
  411. package/dist/interfaces/device-capabilities/native-detection.d.ts.map +0 -1
  412. package/dist/interfaces/device-capabilities/object-detector.d.ts +0 -59
  413. package/dist/interfaces/device-capabilities/object-detector.d.ts.map +0 -1
  414. package/dist/interfaces/device-capabilities/pan-tilt-zoom.d.ts +0 -29
  415. package/dist/interfaces/device-capabilities/pan-tilt-zoom.d.ts.map +0 -1
  416. package/dist/interfaces/device-capabilities/recording.d.ts +0 -18
  417. package/dist/interfaces/device-capabilities/recording.d.ts.map +0 -1
  418. package/dist/interfaces/device-capabilities/siren.d.ts +0 -8
  419. package/dist/interfaces/device-capabilities/siren.d.ts.map +0 -1
  420. package/dist/interfaces/device-capabilities/status-light.d.ts +0 -7
  421. package/dist/interfaces/device-capabilities/status-light.d.ts.map +0 -1
  422. package/dist/interfaces/device-capabilities/switch.d.ts +0 -8
  423. package/dist/interfaces/device-capabilities/switch.d.ts.map +0 -1
  424. package/dist/interfaces/device-capabilities/two-way-audio.d.ts +0 -8
  425. package/dist/interfaces/device-capabilities/two-way-audio.d.ts.map +0 -1
  426. package/dist/interfaces/device-capability.d.ts +0 -14
  427. package/dist/interfaces/device-capability.d.ts.map +0 -1
  428. package/dist/interfaces/model-catalog.d.ts +0 -25
  429. package/dist/interfaces/model-catalog.d.ts.map +0 -1
  430. package/dist/interfaces/refiner.d.ts +0 -8
  431. package/dist/interfaces/refiner.d.ts.map +0 -1
  432. package/dist/interfaces/repositories.d.ts +0 -20
  433. package/dist/interfaces/repositories.d.ts.map +0 -1
  434. package/dist/interfaces/scene-intelligence.d.ts +0 -21
  435. package/dist/interfaces/scene-intelligence.d.ts.map +0 -1
  436. package/dist/interfaces/storage-backend.d.ts +0 -27
  437. package/dist/interfaces/storage-backend.d.ts.map +0 -1
  438. package/dist/interfaces/worker-protocol.d.ts +0 -110
  439. package/dist/interfaces/worker-protocol.d.ts.map +0 -1
  440. package/dist/schemas/system-settings-schemas.d.ts +0 -27
  441. package/dist/schemas/system-settings-schemas.d.ts.map +0 -1
  442. package/dist/types/benchmark.d.ts +0 -112
  443. package/dist/types/benchmark.d.ts.map +0 -1
  444. package/dist/types/zones.d.ts +0 -48
  445. package/dist/types/zones.d.ts.map +0 -1
@@ -1,10 +1,72 @@
1
+ import { z } from 'zod';
2
+ import type { FrameFormat } from '../types/io.js';
3
+ export declare const DecoderStatsSchema: z.ZodObject<{
4
+ inputFps: z.ZodNumber;
5
+ outputFps: z.ZodNumber;
6
+ avgDecodeTimeMs: z.ZodNumber;
7
+ droppedFrames: z.ZodNumber;
8
+ }, z.core.$strip>;
9
+ export declare const DecoderSessionConfigSchema: z.ZodObject<{
10
+ codec: z.ZodString;
11
+ maxFps: z.ZodDefault<z.ZodNumber>;
12
+ outputFormat: z.ZodDefault<z.ZodEnum<{
13
+ jpeg: "jpeg";
14
+ rgb: "rgb";
15
+ bgr: "bgr";
16
+ yuv420: "yuv420";
17
+ gray: "gray";
18
+ }>>;
19
+ scale: z.ZodDefault<z.ZodNumber>;
20
+ width: z.ZodOptional<z.ZodNumber>;
21
+ height: z.ZodOptional<z.ZodNumber>;
22
+ deviceId: z.ZodOptional<z.ZodNumber>;
23
+ tag: z.ZodOptional<z.ZodString>;
24
+ }, z.core.$strip>;
1
25
  export type Unsubscribe = () => void;
26
+ /**
27
+ * Discriminator for `StreamSource.type`. Values that the broker
28
+ * understands today:
29
+ *
30
+ * - `'rtsp'` — pull mode. Broker connects to a `rtsp://` URL,
31
+ * demuxes RTP, exposes raw RTP via `onVideoRtp`.
32
+ * - `'rtmp'` — pull mode. Broker connects to a `rtmp://` URL,
33
+ * demuxes flv into AnnexB packets. No source RTP
34
+ * available (RTMP carries no RTP), so the WebRTC
35
+ * path falls back to AnnexB → writeVideoNals.
36
+ * Reserved — implementation pending.
37
+ * - `'push'` — push mode. Provider addon delivers AnnexB packets
38
+ * via `pushEncodedPacket()` (Reolink Baichuan,
39
+ * Frigate event streams, etc.).
40
+ * - `'push-rtp'` — push mode with raw RTP packets. Provider addon
41
+ * delivers source RTP via `pushVideoRtp()` AND
42
+ * AnnexB-equivalents via `pushEncodedPacket()` so
43
+ * downstream consumers (decoder, restreamer) keep
44
+ * working. Lets the WebRTC path use the H.265
45
+ * repacketizer for push-mode H.265 streams. Reserved
46
+ * — implementation pending.
47
+ * - `'placeholder'` — silent black-image placeholder reader.
48
+ *
49
+ * String type instead of a literal union so addons remain free to
50
+ * add new source types — the broker's switch statement falls through
51
+ * to "data is pushed externally" for unknown values.
52
+ */
53
+ export type StreamSourceType = 'rtsp' | 'rtmp' | 'push' | 'push-rtp' | 'rfc4571' | 'placeholder' | (string & {});
2
54
  export interface StreamSource {
3
- readonly type: string;
55
+ readonly type: StreamSourceType;
56
+ /** Stream URL — required for pull-based sources (rtsp, rtmp). Not used for push sources. */
4
57
  readonly url: string;
5
58
  readonly videoCodec?: string;
6
59
  readonly audioCodec?: string;
7
60
  readonly metadata?: Readonly<Record<string, unknown>>;
61
+ /**
62
+ * Push-source flag — when true, a stall in the input stream is
63
+ * treated as a valid suspension (battery cameras intentionally go
64
+ * silent between motion events) rather than an error. The broker
65
+ * stops emitting the black-image placeholder and pauses the watchdog
66
+ * until the next packet arrives. Default: false (legacy behaviour —
67
+ * stall is an error).
68
+ */
69
+ readonly allowStall?: boolean;
8
70
  }
9
71
  export interface StreamSourceOption {
10
72
  readonly id: string;
@@ -23,12 +85,40 @@ export interface EncodedPacket {
23
85
  readonly dts: number;
24
86
  readonly keyframe: boolean;
25
87
  readonly codec: string;
88
+ /**
89
+ * `true` when the packet was synthesized by the broker's placeholder
90
+ * pump (state-aware "RECONNECTING" / "SLEEPING" / etc. keyframes
91
+ * pushed at 1Hz while no real RTP is flowing). Consumers that
92
+ * accumulate per-stream codec state (sticky SPS/PPS, decoder config)
93
+ * MUST treat these as throwaway: the placeholder is a different
94
+ * resolution and parameter set than the live camera, so caching its
95
+ * SPS/PPS and prepending them to real keyframes silently corrupts
96
+ * the decoder state and freezes the WebRTC viewer on the last
97
+ * placeholder until the consumer is re-created. Absent on packets
98
+ * produced from real source data.
99
+ */
100
+ readonly isPlaceholder?: boolean;
101
+ }
102
+ /**
103
+ * Audio metadata declared by push-source providers before they emit the
104
+ * first audio `EncodedPacket`. Mirrors the slice of an SDP audio track
105
+ * the broker actually consumes — `codec` is canonical lowercase
106
+ * ('aac' | 'opus' | 'pcmu' | 'pcma' | ...).
107
+ *
108
+ * `extraData` carries codec-specific config bytes (e.g. AAC
109
+ * AudioSpecificConfig) when the codec needs them at decoder-init time.
110
+ */
111
+ export interface PushAudioInfo {
112
+ readonly codec: string;
113
+ readonly sampleRate: number;
114
+ readonly channels: number;
115
+ readonly extraData?: Uint8Array;
26
116
  }
27
117
  export interface DecodedFrame {
28
118
  readonly data: Buffer;
29
119
  readonly width: number;
30
120
  readonly height: number;
31
- readonly format: 'jpeg' | 'rgb' | 'yuv420';
121
+ readonly format: FrameFormat;
32
122
  readonly timestamp: number;
33
123
  }
34
124
  export interface DecodedAudioChunk {
@@ -39,8 +129,20 @@ export interface DecodedAudioChunk {
39
129
  }
40
130
  export interface DecodeOptions {
41
131
  readonly maxFps?: number;
42
- readonly format?: 'jpeg' | 'rgb' | 'yuv420';
132
+ readonly format?: FrameFormat;
43
133
  readonly scale?: number;
134
+ /**
135
+ * Caller identity tag (Phase 10). Surfaced by `listClients` so
136
+ * operators can tell who's holding the broker open. Short and stable:
137
+ * `motion`, `detection`, `snapshot`, `webrtc:<sessionId>`,
138
+ * `benchmark`. Missing tag → recorded as `'unknown'` with a broker-
139
+ * side warn log.
140
+ */
141
+ readonly tag?: string;
142
+ }
143
+ export interface AudioSubscribeOptions {
144
+ /** Caller identity tag. See DecodeOptions.tag. */
145
+ readonly tag?: string;
44
146
  }
45
147
  export type BrokerStatus = 'idle' | 'connecting' | 'streaming' | 'error' | 'stopped';
46
148
  export interface BrokerStats {
@@ -50,43 +152,209 @@ export interface BrokerStats {
50
152
  readonly encodedSubscribers: number;
51
153
  readonly decodedSubscribers: number;
52
154
  readonly uptimeMs: number;
155
+ /** Measured bitrate in kbps (averaged over 2s window) */
156
+ readonly bitrateKbps: number;
157
+ /** Time between last two keyframes in ms (IDR interval) */
158
+ readonly idrIntervalMs: number;
159
+ /** Detected video codec (h264, h265) */
160
+ readonly codec?: string;
161
+ /** Total bytes received since broker start */
162
+ readonly totalBytes: number;
163
+ /** Total encoded packets received since broker start */
164
+ readonly packetCount: number;
165
+ /** Number of connected RTSP restream clients */
166
+ readonly rtspClients: number;
167
+ /** Number of connected TCP pipe clients */
168
+ readonly pipeClients: number;
169
+ /** Pre-buffer configured duration in seconds */
170
+ readonly preBufferSec: number;
171
+ /** Pre-buffer actual buffered duration in ms */
172
+ readonly preBufferMs: number;
173
+ /** Pre-buffer packet count */
174
+ readonly preBufferPackets: number;
175
+ /**
176
+ * Moleculer node id of the decoder provider currently servicing this
177
+ * stream's decoded subscribers. `null` until the deferred decoder is
178
+ * created (no decoded clients yet, or codec not detected).
179
+ */
180
+ readonly decoderNodeId: string | null;
181
+ /**
182
+ * Detected audio track parameters from the RTSP DESCRIBE / SDP. Null
183
+ * when the stream has no audio track or the broker is still in cold
184
+ * start. `supported` reflects whether the local native + ffmpeg-based
185
+ * decoder pipeline can produce PCM chunks for downstream consumers
186
+ * (audio-analyzer). When `false`, the codec is detected but skipped.
187
+ */
188
+ readonly audio?: {
189
+ readonly codec: string;
190
+ readonly sampleRate: number;
191
+ readonly channels: number;
192
+ readonly supported: boolean;
193
+ } | null;
53
194
  }
54
195
  export interface IStreamBroker {
55
196
  readonly deviceId: string;
56
197
  readonly status: BrokerStatus;
198
+ readonly suspended: boolean;
57
199
  start(source: StreamSource): Promise<void>;
58
200
  stop(): Promise<void>;
201
+ /**
202
+ * Push an encoded packet into the broker from an external source.
203
+ *
204
+ * Used by camera provider addons that deliver media data directly
205
+ * (e.g. Reolink Baichuan protocol, Frigate event streams) instead
206
+ * of exposing an RTSP URL for the broker to pull from.
207
+ *
208
+ * The broker fans out the packet to all consumers: pre-buffer, RTSP
209
+ * restreamer, TCP pipe, decoder sessions, and encoded subscribers.
210
+ */
211
+ pushEncodedPacket(packet: EncodedPacket): void;
212
+ /**
213
+ * Push-source audio metadata. Push providers (Reolink Baichuan,
214
+ * Frigate, etc.) call this BEFORE the first audio EncodedPacket so
215
+ * the broker can wire the audio-codec capability — RTSP sources get
216
+ * the same data from the SDP audio track. Repeat calls update the
217
+ * declared codec; calling with `null` retracts (broker tears down
218
+ * any audio decode session).
219
+ *
220
+ * Typical Reolink Baichuan audio: AAC-LC 16 kHz mono. Cameras that
221
+ * push G.711 should still call this so the broker can bypass the
222
+ * codec cap for the supported native codecs.
223
+ */
224
+ pushAudioInfo?(info: PushAudioInfo | null): void;
225
+ /**
226
+ * Push a raw video RTP packet from an external source (used by
227
+ * `'push-rtp'`-typed sources, e.g. Reolink Baichuan adapter that
228
+ * synthesizes RTP from its packetizer-friendly access units). The
229
+ * broker fans out to `onVideoRtp` subscribers, including the
230
+ * WebRTC server's H.265 repacketizer path.
231
+ *
232
+ * Sources that don't carry per-packet RTP MAY ignore this entirely
233
+ * and call only `pushEncodedPacket`. Implementations are free to
234
+ * be a no-op when no RTP subscribers exist.
235
+ */
236
+ pushVideoRtp?(rtpData: Buffer): void;
59
237
  onEncodedData(callback: (packet: EncodedPacket) => void): Unsubscribe;
238
+ /**
239
+ * Subscribe to source video RTP packets (raw on-wire bytes, before
240
+ * depacketization). Used by the WebRTC server's H.265 path to feed
241
+ * a packet-level repacketizer that preserves the original RTP header
242
+ * layout — Chrome's HEVC depacketizer is sensitive to it.
243
+ *
244
+ * Sources that don't have an underlying RTP wire (e.g. Frigate event
245
+ * streams that call `pushEncodedPacket`) MAY register zero callbacks
246
+ * and emit nothing.
247
+ */
248
+ onVideoRtp(callback: (rtpData: Buffer) => void): Unsubscribe;
249
+ /**
250
+ * Codec parameter sets harvested from the camera's SDP (sprop-vps /
251
+ * sprop-sps / sprop-pps). Cameras like Reolink high-profile streams
252
+ * publish VPS/SPS/PPS only via SDP — Chrome's HEVC decoder needs them
253
+ * to initialise. Returns null when the broker hasn't connected yet
254
+ * or the camera ships param sets in-band.
255
+ */
256
+ getSdpParameterSets(): ReadonlyArray<Buffer> | null;
257
+ /**
258
+ * Subscribe to SDP-derived VPS/SPS/PPS deliveries. Fires once
259
+ * synchronously if the broker already has them (late-subscriber
260
+ * shape), and again every time `onVideoTrack` repopulates them on a
261
+ * reader rebuild. Used by the WebRTC server's H.265 path so a
262
+ * session created during the wake-up window — when
263
+ * `getSdpParameterSets()` still returns null — can seed its
264
+ * `H265Repacketizer` once the camera's first RTP+SDP arrive.
265
+ */
266
+ onSdpParameterSets(callback: (ps: ReadonlyArray<Buffer>) => void): Unsubscribe;
267
+ /**
268
+ * Source type as configured at `start()` — see `StreamSourceType`
269
+ * for the supported values. `null` before `start()` resolves.
270
+ */
271
+ getSourceType(): StreamSourceType | null;
272
+ /**
273
+ * True when the broker can emit source RTP packets via
274
+ * `onVideoRtp` — i.e. the source is RTSP (pull) or push-rtp.
275
+ * RTMP and bare push (AnnexB-only) sources return false.
276
+ * Routing decisions in the WebRTC server (e.g. "use the H.265
277
+ * repacketizer") should consult this rather than string-comparing
278
+ * the source type.
279
+ */
280
+ isRtpSource(): boolean;
281
+ /**
282
+ * Subscribe to decoded frames. Phase 10 added `options.tag` — a short
283
+ * caller-identity string (`motion`, `detection`, `snapshot`,
284
+ * `webrtc:<sessionId>`, `benchmark`) used by `listClients` so
285
+ * operators can see who is holding the broker open. Omitted tag
286
+ * yields a `'unknown'` entry with a warn log — not silently accepted.
287
+ */
60
288
  onDecodedFrame(callback: (frame: DecodedFrame) => void, options?: DecodeOptions): Unsubscribe;
61
- onDecodedAudioChunk(callback: (chunk: DecodedAudioChunk) => void): Unsubscribe;
289
+ /** Subscribe to decoded audio chunks. `options.tag` mirrors `onDecodedFrame`. */
290
+ onDecodedAudioChunk(callback: (chunk: DecodedAudioChunk) => void, options?: AudioSubscribeOptions): Unsubscribe;
62
291
  getStats(): BrokerStats;
63
292
  getLocalStreamUrl(): string;
293
+ /** Get the pre-buffer: recent encoded packets starting from last keyframe. */
294
+ getPreBuffer(): readonly EncodedPacket[];
295
+ /** Set the pre-buffer duration in seconds (0 to disable, max 30). */
296
+ setPreBufferDuration(seconds: number): void;
297
+ /** Get the current pre-buffer duration in seconds. */
298
+ getPreBufferDuration(): number;
299
+ setPreBufferEnabled(enabled: boolean): void;
64
300
  }
65
301
  /**
66
302
  * Manager for stream brokers — the server interacts with this interface,
67
303
  * while the concrete implementation lives in the addon-stream-broker package.
68
304
  */
69
- export interface IStreamBrokerManager {
70
- createBroker(brokerId: string, source: StreamSource): Promise<IStreamBroker>;
71
- getBroker(brokerId: string): IStreamBroker | undefined;
72
- destroyBroker(brokerId: string): Promise<void>;
73
- destroyBrokersForDevice(deviceId: string): Promise<void>;
74
- listBrokers(): readonly IStreamBroker[];
75
- destroyAll(): Promise<void>;
76
- setRestreamers(restreamers: readonly unknown[]): void;
77
- getRestreamers(): readonly unknown[];
305
+ /** Per-broker RTSP restream entry (absorbed from the former rtsp-restream capability). */
306
+ export interface RtspRestreamEntry {
307
+ readonly brokerId: string;
308
+ readonly url: string;
309
+ readonly mutedUrl: string;
310
+ readonly enabled: boolean;
78
311
  }
79
- export type CameraPriority = 'always-on' | 'default';
80
- export type CameraPhase = 'watching' | 'active';
312
+ /** Flat cap-shaped broker record returned by `listBrokers()`. */
313
+ export interface BrokerListEntry {
314
+ readonly brokerId: string;
315
+ readonly status: string;
316
+ readonly inputFps: number;
317
+ readonly decodeFps: number;
318
+ readonly encodedSubscribers: number;
319
+ readonly decodedSubscribers: number;
320
+ readonly uptimeMs: number;
321
+ readonly bitrateKbps: number;
322
+ readonly idrIntervalMs: number;
323
+ readonly codec?: string;
324
+ readonly totalBytes: number;
325
+ readonly packetCount: number;
326
+ readonly rtspClients: number;
327
+ readonly pipeClients: number;
328
+ readonly preBufferSec: number;
329
+ readonly preBufferMs: number;
330
+ readonly preBufferPackets: number;
331
+ }
332
+ /**
333
+ * Phase the runner's per-camera state machine occupies. `'idle'` is the
334
+ * `detectionMode === 'disabled'` resting state — runner registered the
335
+ * camera but never subscribed to detection frames. The other 4 are the
336
+ * historical motion-gated states; their transitions are now driven by
337
+ * `detectionMode` ('always-on' starts in 'active', 'on-motion' starts
338
+ * in 'watching').
339
+ */
340
+ export type CameraPhase = 'idle' | 'watching' | 'active' | 'paused' | 'load-shed';
81
341
  export interface CameraDetectionConfig {
82
342
  readonly enabled: boolean;
83
- readonly priority: CameraPriority;
84
- readonly pipeline: import('../types/pipeline.js').PipelineConfig;
343
+ readonly pipelineEnabled: boolean;
344
+ /** Motion sources that activate this camera's pipeline. At least one. */
345
+ readonly motionSources: import('./pipeline-orchestrator-capability.js').OrchestrationMotionSources;
85
346
  readonly motionStreamId: string;
86
347
  readonly detectionStreamId: string;
87
348
  readonly motionFps: number;
88
349
  readonly detectionFps: number;
89
350
  readonly motionCooldownMs: number;
90
351
  readonly audioStreamId?: string;
352
+ /**
353
+ * Operator-facing scheduling modes. Forwarded to `RunnerCameraConfig`;
354
+ * the runner uses these to gate its substream subscribers + phase
355
+ * machine. See `PipelinePhaseMode` for the semantics.
356
+ */
357
+ readonly detectionMode: import('../device/device-profile.js').PipelinePhaseMode;
358
+ readonly audioMode: import('../device/device-profile.js').PipelinePhaseMode;
91
359
  }
92
360
  //# sourceMappingURL=stream-broker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stream-broker.d.ts","sourceRoot":"","sources":["../../src/interfaces/stream-broker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stream-broker.d.ts","sourceRoot":"","sources":["../../src/interfaces/stream-broker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAIjD,eAAO,MAAM,kBAAkB;;;;;iBAK7B,CAAA;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;iBAsBrC,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAA;AAEpC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;AAEhH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAA;IAC/B,4FAA4F;IAC5F,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IACrD;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IACzE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAA;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CACjC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,UAAU,CAAA;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB;;;;;;OAMG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,kDAAkD;IAClD,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,YAAY,GAAG,WAAW,GAAG,OAAO,GAAG,SAAS,CAAA;AAEpF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAA;IACnC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAA;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,yDAAyD;IACzD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,2DAA2D;IAC3D,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,wCAAwC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,8CAA8C;IAC9C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,wDAAwD;IACxD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,gDAAgD;IAChD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,2CAA2C;IAC3C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,gDAAgD;IAChD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,gDAAgD;IAChD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,8BAA8B;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;IACjC;;;;OAIG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE;QACf,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;QACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;QAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;KAC5B,GAAG,IAAI,CAAA;CACT;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACrB;;;;;;;;;OASG;IACH,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAAA;IAC9C;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI,CAAA;IAChD;;;;;;;;;;OAUG;IACH,YAAY,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,aAAa,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,GAAG,WAAW,CAAA;IACrE;;;;;;;;;OASG;IACH,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,WAAW,CAAA;IAC5D;;;;;;OAMG;IACH,mBAAmB,IAAI,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;IACnD;;;;;;;;OAQG;IACH,kBAAkB,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,WAAW,CAAA;IAC9E;;;OAGG;IACH,aAAa,IAAI,gBAAgB,GAAG,IAAI,CAAA;IACxC;;;;;;;OAOG;IACH,WAAW,IAAI,OAAO,CAAA;IACtB;;;;;;OAMG;IACH,cAAc,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,WAAW,CAAA;IAC7F,iFAAiF;IACjF,mBAAmB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,WAAW,CAAA;IAC/G,QAAQ,IAAI,WAAW,CAAA;IACvB,iBAAiB,IAAI,MAAM,CAAA;IAC3B,8EAA8E;IAC9E,YAAY,IAAI,SAAS,aAAa,EAAE,CAAA;IACxC,qEAAqE;IACrE,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3C,sDAAsD;IACtD,oBAAoB,IAAI,MAAM,CAAA;IAC9B,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;CAC5C;AAED;;;GAGG;AACH,0FAA0F;AAC1F,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B;AAED,iEAAiE;AACjE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAA;IACnC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAA;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;CAClC;AAGD;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAA;AAEjF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;IAEjC,yEAAyE;IACzE,QAAQ,CAAC,aAAa,EAAE,OAAO,uCAAuC,EAAE,0BAA0B,CAAA;IAElG,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;IAElC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;IAEjC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAE/B;;;;OAIG;IACH,QAAQ,CAAC,aAAa,EAAE,OAAO,6BAA6B,EAAE,iBAAiB,CAAA;IAC/E,QAAQ,CAAC,SAAS,EAAE,OAAO,6BAA6B,EAAE,iBAAiB,CAAA;CAC5E"}
@@ -1,4 +1,5 @@
1
1
  import type { EncodedPacket } from './stream-broker.js';
2
+ import type { WebrtcClientHints } from '../capabilities/webrtc.cap.js';
2
3
  export interface IWebRtcProvider {
3
4
  readonly id: string;
4
5
  readonly name: string;
@@ -7,5 +8,28 @@ export interface IWebRtcProvider {
7
8
  registerStream(streamId: string, codec: string): Promise<void>;
8
9
  pushPacket(streamId: string, packet: EncodedPacket): void;
9
10
  unregisterStream(streamId: string): Promise<void>;
11
+ /**
12
+ * Server-offer signaling: create a session and return the server SDP
13
+ * offer. Single-object signature matches `InferProvider<>` so the
14
+ * generated cap-router can dispatch directly. `hints` is optional
15
+ * client metadata (viewport, downlink) the provider can use to pick
16
+ * the best native source.
17
+ */
18
+ createSession?(input: {
19
+ streamId: string;
20
+ hints?: WebrtcClientHints;
21
+ }): Promise<{
22
+ sessionId: string;
23
+ sdpOffer: string;
24
+ }>;
25
+ /** Server-offer signaling: accept the client SDP answer for a session. */
26
+ handleAnswer?(input: {
27
+ sessionId: string;
28
+ sdpAnswer: string;
29
+ }): Promise<void>;
30
+ /** Explicitly close a WebRTC session (called on client disconnect). */
31
+ closeSession?(input: {
32
+ sessionId: string;
33
+ }): Promise<void>;
10
34
  }
11
35
  //# sourceMappingURL=webrtc-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"webrtc-provider.d.ts","sourceRoot":"","sources":["../../src/interfaces/webrtc-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAChE,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAA;IACzC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9D,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAAA;IACzD,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAClD"}
1
+ {"version":3,"file":"webrtc-provider.d.ts","sourceRoot":"","sources":["../../src/interfaces/webrtc-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAEtE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAChE,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAA;IACzC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9D,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAAA;IACzD,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEjD;;;;;;OAMG;IACH,aAAa,CAAC,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,iBAAiB,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACxH,0EAA0E;IAC1E,YAAY,CAAC,CAAC,KAAK,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7E,uEAAuE;IACvE,YAAY,CAAC,CAAC,KAAK,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3D"}
package/dist/node.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ export { ensureBinary, downloadBinary, findInPath, getPlatformInfo, buildBinaryPath, } from './deps/binary-downloader.js';
2
+ export type { PlatformInfo } from './deps/binary-downloader.js';
3
+ export { ensureFfmpeg, getFfmpegDownloadUrl } from './deps/ffmpeg-downloader.js';
4
+ export { ensurePython, installPythonPackages, installPythonRequirements, getPythonDownloadUrl, PYTHON_VERSION, } from './deps/python-downloader.js';
5
+ export { FilesystemStorageProvider } from './storage/filesystem-storage-provider.js';
6
+ //# sourceMappingURL=node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,UAAU,EACV,eAAe,EACf,eAAe,GAChB,MAAM,6BAA6B,CAAA;AACpC,YAAY,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAChF,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,yBAAyB,EACzB,oBAAoB,EACpB,cAAc,GACf,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAA"}