@camstack/system 1.2.389 → 1.2.391

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 (503) hide show
  1. package/dist/addon/addon-api-factory.d.ts +30 -30
  2. package/dist/addon-routes/addon-route-registry.d.ts +31 -31
  3. package/dist/addon-runner.js +1 -1
  4. package/dist/addon-runner.mjs +1 -1
  5. package/dist/addon-utils.d.ts +22 -22
  6. package/dist/auth/admin-token-manager.d.ts +37 -67
  7. package/dist/auth/api-key-manager.d.ts +8 -8
  8. package/dist/auth/auth-audit-log.d.ts +29 -49
  9. package/dist/auth/auth-manager.d.ts +127 -126
  10. package/dist/auth/cidr.d.ts +8 -8
  11. package/dist/auth/external-identity-manager.d.ts +46 -34
  12. package/dist/auth/jwt-signing-key.d.ts +14 -14
  13. package/dist/auth/login-session-manager.d.ts +95 -135
  14. package/dist/auth/parse-record.d.ts +13 -13
  15. package/dist/auth/scope-matcher.d.ts +7 -7
  16. package/dist/auth/scoped-token-manager.d.ts +62 -62
  17. package/dist/auth/token-expiry.d.ts +49 -26
  18. package/dist/auth/totp-manager.d.ts +48 -48
  19. package/dist/auth/user-management-internal.d.ts +67 -52
  20. package/dist/auth/user-manager.d.ts +58 -58
  21. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.d.ts +54 -54
  22. package/dist/builtins/addon-pages-aggregator/dedupe-pages.d.ts +22 -4
  23. package/dist/builtins/addon-pages-aggregator/index.d.ts +1 -1
  24. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.d.ts +54 -54
  25. package/dist/builtins/addon-widgets-aggregator/index.d.ts +1 -1
  26. package/dist/builtins/alerts/alerts.addon.d.ts +88 -87
  27. package/dist/builtins/alerts/device-label.d.ts +6 -6
  28. package/dist/builtins/alerts/index.d.ts +1 -1
  29. package/dist/builtins/alerts/prune-policy.d.ts +36 -36
  30. package/dist/builtins/autotrack/autotrack-cameras.d.ts +102 -79
  31. package/dist/builtins/autotrack/autotrack-config.d.ts +81 -81
  32. package/dist/builtins/autotrack/autotrack-decision.d.ts +69 -82
  33. package/dist/builtins/autotrack/autotrack-loop.d.ts +81 -61
  34. package/dist/builtins/autotrack/autotrack.addon.d.ts +103 -66
  35. package/dist/builtins/autotrack/frame-error.d.ts +38 -38
  36. package/dist/builtins/autotrack/frame-measurements.d.ts +79 -79
  37. package/dist/builtins/autotrack/index.d.ts +2 -2
  38. package/dist/builtins/autotrack/ptz-mirror.d.ts +46 -17
  39. package/dist/builtins/autotrack/target-selection.d.ts +33 -47
  40. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.d.ts +270 -269
  41. package/dist/builtins/backup-orchestrator/cron-helpers.d.ts +17 -17
  42. package/dist/builtins/backup-orchestrator/destination-policy.d.ts +99 -82
  43. package/dist/builtins/backup-orchestrator/download-helpers.d.ts +9 -9
  44. package/dist/builtins/backup-orchestrator/encryption-key-store.d.ts +40 -29
  45. package/dist/builtins/backup-orchestrator/index.d.ts +2 -2
  46. package/dist/builtins/backup-orchestrator/manifest-store.d.ts +88 -69
  47. package/dist/builtins/backup-orchestrator/restore-archive.d.ts +14 -14
  48. package/dist/builtins/backup-orchestrator/run-queue.d.ts +86 -86
  49. package/dist/builtins/backup-orchestrator/schedule-store.d.ts +53 -37
  50. package/dist/builtins/backup-orchestrator/staging-paths.d.ts +23 -23
  51. package/dist/builtins/backup-orchestrator/write-targets.d.ts +53 -53
  52. package/dist/builtins/calendars/calendar-color.d.ts +5 -1
  53. package/dist/builtins/calendars/calendar-prefs-store.d.ts +18 -12
  54. package/dist/builtins/calendars/calendars.addon.d.ts +16 -11
  55. package/dist/builtins/calendars/index.d.ts +1 -1
  56. package/dist/builtins/camera-grid/acquire-retry.d.ts +26 -26
  57. package/dist/builtins/camera-grid/addon.d.ts +200 -174
  58. package/dist/builtins/camera-grid/flv-join.d.ts +32 -58
  59. package/dist/builtins/camera-grid/grid-activity-mirror.d.ts +37 -37
  60. package/dist/builtins/camera-grid/grid-activity.d.ts +83 -42
  61. package/dist/builtins/camera-grid/grid-camera-declarations.d.ts +46 -46
  62. package/dist/builtins/camera-grid/grid-camera-device.d.ts +60 -34
  63. package/dist/builtins/camera-grid/grid-canvas-derivation.d.ts +50 -15
  64. package/dist/builtins/camera-grid/grid-canvas-seed.d.ts +96 -46
  65. package/dist/builtins/camera-grid/grid-canvas.d.ts +74 -74
  66. package/dist/builtins/camera-grid/grid-child.d.ts +29 -16
  67. package/dist/builtins/camera-grid/grid-compositor-child.d.ts +2 -2
  68. package/dist/builtins/camera-grid/grid-compositor-invocation.d.ts +39 -11
  69. package/dist/builtins/camera-grid/grid-compositor.d.ts +50 -50
  70. package/dist/builtins/camera-grid/grid-detection-mapping.d.ts +52 -22
  71. package/dist/builtins/camera-grid/grid-device-settings.d.ts +31 -7
  72. package/dist/builtins/camera-grid/grid-filter-graph.d.ts +41 -41
  73. package/dist/builtins/camera-grid/grid-frame-sample.d.ts +45 -19
  74. package/dist/builtins/camera-grid/grid-instances.d.ts +20 -50
  75. package/dist/builtins/camera-grid/grid-last-frame-store.d.ts +51 -51
  76. package/dist/builtins/camera-grid/grid-layout-native-provider.d.ts +30 -4
  77. package/dist/builtins/camera-grid/grid-plan.d.ts +30 -20
  78. package/dist/builtins/camera-grid/grid-profiles.d.ts +85 -45
  79. package/dist/builtins/camera-grid/grid-row-normalization.d.ts +6 -6
  80. package/dist/builtins/camera-grid/grid-sentry-sources.d.ts +57 -57
  81. package/dist/builtins/camera-grid/grid-snapshot.d.ts +41 -41
  82. package/dist/builtins/camera-grid/grid-stream-descriptor.d.ts +49 -21
  83. package/dist/builtins/camera-grid/grid-stream-invocation.d.ts +37 -22
  84. package/dist/builtins/camera-grid/grid-stream-relay.d.ts +26 -26
  85. package/dist/builtins/camera-grid/grid-stream-session.d.ts +123 -93
  86. package/dist/builtins/camera-grid/grid-tile-feed.d.ts +47 -47
  87. package/dist/builtins/camera-grid/grid-tile-plan.d.ts +55 -20
  88. package/dist/builtins/camera-grid/grid-wire-format.d.ts +22 -6
  89. package/dist/builtins/camera-grid/index.d.ts +44 -44
  90. package/dist/builtins/camera-grid/silence-analysis.d.ts +31 -14
  91. package/dist/builtins/composer/claim-gate.d.ts +54 -27
  92. package/dist/builtins/composer/composed-device-set.d.ts +40 -26
  93. package/dist/builtins/composer/composed-device.d.ts +39 -17
  94. package/dist/builtins/composer/composer-apply-waits.d.ts +20 -13
  95. package/dist/builtins/composer/composer-grafts.d.ts +57 -38
  96. package/dist/builtins/composer/composer-live-set.d.ts +15 -15
  97. package/dist/builtins/composer/composer-plan.d.ts +76 -60
  98. package/dist/builtins/composer/composer-runtime-factory.d.ts +21 -14
  99. package/dist/builtins/composer/composer-seeds.d.ts +20 -14
  100. package/dist/builtins/composer/composer-verdict.d.ts +28 -14
  101. package/dist/builtins/composer/composer.addon.d.ts +23 -9
  102. package/dist/builtins/composer/composer.d.ts +145 -100
  103. package/dist/builtins/composer/composition-declarations.d.ts +50 -39
  104. package/dist/builtins/composer/composition-evaluation.d.ts +38 -22
  105. package/dist/builtins/composer/composition-runtime.d.ts +178 -125
  106. package/dist/builtins/composer/composition-target.d.ts +38 -34
  107. package/dist/builtins/composer/confirmed-seed.d.ts +35 -23
  108. package/dist/builtins/composer/deadline-timer.d.ts +13 -13
  109. package/dist/builtins/composer/existing-target.d.ts +90 -73
  110. package/dist/builtins/composer/field-record.d.ts +26 -19
  111. package/dist/builtins/composer/graft-host.d.ts +56 -32
  112. package/dist/builtins/composer/held-claims.d.ts +26 -9
  113. package/dist/builtins/composer/index.d.ts +1 -1
  114. package/dist/builtins/composer/own-field-reads.d.ts +26 -15
  115. package/dist/builtins/composer/owned-fields-target.d.ts +75 -44
  116. package/dist/builtins/composer/slice-assembler.d.ts +19 -3
  117. package/dist/builtins/composer/source-readings.d.ts +67 -61
  118. package/dist/builtins/composer/source-tracker.d.ts +133 -69
  119. package/dist/builtins/console-logging/console-destination.d.ts +15 -8
  120. package/dist/builtins/console-logging/console-logging.addon.d.ts +20 -19
  121. package/dist/builtins/console-logging/index.d.ts +3 -3
  122. package/dist/builtins/core-blocks/block-package.d.ts +37 -37
  123. package/dist/builtins/core-blocks/block-settings-store.d.ts +34 -21
  124. package/dist/builtins/core-blocks/block-supervisor.d.ts +138 -117
  125. package/dist/builtins/core-blocks/block-type-defs.d.ts +21 -21
  126. package/dist/builtins/core-blocks/blocks-integration.d.ts +76 -49
  127. package/dist/builtins/core-blocks/compile-block.d.ts +37 -37
  128. package/dist/builtins/core-blocks/composition-api.d.ts +38 -24
  129. package/dist/builtins/core-blocks/composition-peers.d.ts +26 -4
  130. package/dist/builtins/core-blocks/composition-sources.d.ts +25 -10
  131. package/dist/builtins/core-blocks/core-block-store.d.ts +109 -109
  132. package/dist/builtins/core-blocks/core-blocks.addon.d.ts +72 -72
  133. package/dist/builtins/core-blocks/extract-settings-schema.d.ts +4 -4
  134. package/dist/builtins/core-blocks/index.d.ts +8 -8
  135. package/dist/builtins/device-manager/adoption-job-engine.d.ts +141 -98
  136. package/dist/builtins/device-manager/claimed-status-overlay.d.ts +42 -9
  137. package/dist/builtins/device-manager/contribution-cache.d.ts +56 -56
  138. package/dist/builtins/device-manager/day-night-config-schema.d.ts +26 -12
  139. package/dist/builtins/device-manager/device-aggregation-merge.d.ts +17 -17
  140. package/dist/builtins/device-manager/device-aggregation.d.ts +277 -254
  141. package/dist/builtins/device-manager/device-bindings-store.d.ts +232 -220
  142. package/dist/builtins/device-manager/device-config-contribution.d.ts +29 -29
  143. package/dist/builtins/device-manager/device-config-secrets.d.ts +32 -13
  144. package/dist/builtins/device-manager/device-event-propagator.d.ts +22 -22
  145. package/dist/builtins/device-manager/device-extension-linked-slot.d.ts +17 -17
  146. package/dist/builtins/device-manager/device-form-secrets.d.ts +14 -14
  147. package/dist/builtins/device-manager/device-linked-devices.d.ts +159 -98
  148. package/dist/builtins/device-manager/device-manager.addon.d.ts +223 -197
  149. package/dist/builtins/device-manager/device-meta-actions.d.ts +306 -305
  150. package/dist/builtins/device-manager/device-meta-store.d.ts +100 -90
  151. package/dist/builtins/device-manager/device-meta-types.d.ts +250 -241
  152. package/dist/builtins/device-manager/device-online-fallback.d.ts +30 -30
  153. package/dist/builtins/device-manager/device-projection.d.ts +53 -67
  154. package/dist/builtins/device-manager/device-provider-context.d.ts +109 -94
  155. package/dist/builtins/device-manager/device-queries.d.ts +63 -63
  156. package/dist/builtins/device-manager/device-row-store.d.ts +417 -365
  157. package/dist/builtins/device-manager/device-source-activation.d.ts +91 -49
  158. package/dist/builtins/device-manager/device-state-claim-views.d.ts +76 -61
  159. package/dist/builtins/device-manager/device-state-claims.d.ts +53 -30
  160. package/dist/builtins/device-manager/device-state-mirror.d.ts +256 -264
  161. package/dist/builtins/device-manager/device-sync-resolvers.d.ts +25 -25
  162. package/dist/builtins/device-manager/field-claims-index.d.ts +85 -58
  163. package/dist/builtins/device-manager/field-ownership.d.ts +54 -36
  164. package/dist/builtins/device-manager/fleet-read-census.d.ts +99 -61
  165. package/dist/builtins/device-manager/image-settings-config-schema.d.ts +18 -8
  166. package/dist/builtins/device-manager/index.d.ts +2 -2
  167. package/dist/builtins/device-manager/linked-devices-manual-backfill.d.ts +20 -9
  168. package/dist/builtins/device-manager/location-alignment.d.ts +46 -46
  169. package/dist/builtins/device-manager/migrate-device.d.ts +178 -101
  170. package/dist/builtins/device-manager/migrate-guard.d.ts +66 -34
  171. package/dist/builtins/device-manager/migrate-hardware-state.d.ts +59 -59
  172. package/dist/builtins/device-manager/migrate-reload.d.ts +42 -4
  173. package/dist/builtins/device-manager/migration-refused.d.ts +20 -20
  174. package/dist/builtins/device-manager/mirror-row-writer.d.ts +205 -179
  175. package/dist/builtins/device-manager/recording-onboard-config-schema.d.ts +56 -32
  176. package/dist/builtins/device-manager/removal-fence.d.ts +48 -48
  177. package/dist/builtins/device-manager/runtime-state-persist-gate.d.ts +54 -26
  178. package/dist/builtins/device-manager/secret-config-paths.d.ts +17 -17
  179. package/dist/builtins/device-manager/stale-wrapper-activations.d.ts +52 -25
  180. package/dist/builtins/device-manager/write-lock.d.ts +13 -13
  181. package/dist/builtins/hub-forwarder/hub-forwarder-destination.d.ts +41 -41
  182. package/dist/builtins/hub-forwarder/hub-forwarder.addon.d.ts +13 -12
  183. package/dist/builtins/hub-forwarder/index.d.ts +3 -3
  184. package/dist/builtins/keychain/index.d.ts +1 -1
  185. package/dist/builtins/keychain/key-sources.d.ts +19 -19
  186. package/dist/builtins/keychain/keychain-crypto.d.ts +4 -4
  187. package/dist/builtins/keychain/keychain-reset-trigger.d.ts +13 -13
  188. package/dist/builtins/keychain/keychain-service.d.ts +128 -128
  189. package/dist/builtins/keychain/keychain-store.d.ts +96 -87
  190. package/dist/builtins/keychain/keychain-usage.d.ts +13 -2
  191. package/dist/builtins/keychain/keychain.addon.d.ts +31 -6
  192. package/dist/builtins/keychain/platform-key-source.d.ts +15 -15
  193. package/dist/builtins/keychain/system-held-secrets.d.ts +17 -4
  194. package/dist/builtins/liveness-monitor/index.d.ts +2 -2
  195. package/dist/builtins/liveness-monitor/liveness-checks.d.ts +73 -52
  196. package/dist/builtins/liveness-monitor/liveness-monitor.addon.d.ts +57 -36
  197. package/dist/builtins/local-auth/admin-account-boot.d.ts +14 -14
  198. package/dist/builtins/local-auth/auth-config-reader.d.ts +34 -17
  199. package/dist/builtins/local-auth/auth-schema.d.ts +92 -69
  200. package/dist/builtins/local-auth/index.d.ts +1 -1
  201. package/dist/builtins/local-auth/jwt-signing-key-keeper.d.ts +22 -22
  202. package/dist/builtins/local-auth/local-auth.addon.d.ts +41 -40
  203. package/dist/builtins/local-auth/oauth-grants.d.ts +57 -57
  204. package/dist/builtins/local-auth/oauth-session-manager.d.ts +62 -62
  205. package/dist/builtins/local-network/address-book.d.ts +61 -36
  206. package/dist/builtins/local-network/index.d.ts +2 -2
  207. package/dist/builtins/local-network/ipv6-lan.d.ts +12 -17
  208. package/dist/builtins/local-network/local-hostname.d.ts +10 -10
  209. package/dist/builtins/local-network/local-network.addon.d.ts +259 -258
  210. package/dist/builtins/loki-logging/index.d.ts +4 -4
  211. package/dist/builtins/loki-logging/loki-destination.d.ts +113 -87
  212. package/dist/builtins/loki-logging/loki-logging.addon.d.ts +61 -42
  213. package/dist/builtins/loki-logging/loki-payload.d.ts +82 -39
  214. package/dist/builtins/loki-logging/retire-enabled-flag.d.ts +37 -12
  215. package/dist/builtins/native-metrics/cgroup-memory.d.ts +206 -159
  216. package/dist/builtins/native-metrics/cgroup-pids.d.ts +138 -91
  217. package/dist/builtins/native-metrics/container-memory-series.d.ts +212 -178
  218. package/dist/builtins/native-metrics/gpu-probe.d.ts +9 -9
  219. package/dist/builtins/native-metrics/index.d.ts +2 -2
  220. package/dist/builtins/native-metrics/load-series-config.d.ts +29 -57
  221. package/dist/builtins/native-metrics/load-series-reader.d.ts +52 -26
  222. package/dist/builtins/native-metrics/load-series-store.d.ts +237 -176
  223. package/dist/builtins/native-metrics/native-metrics-provider.d.ts +43 -43
  224. package/dist/builtins/native-metrics/native-metrics.addon.d.ts +230 -230
  225. package/dist/builtins/native-metrics/node-load-ring.d.ts +196 -196
  226. package/dist/builtins/native-metrics/proc-process-table.d.ts +12 -12
  227. package/dist/builtins/native-metrics/process-classification.d.ts +95 -36
  228. package/dist/builtins/native-metrics/thread-cpu-sampler.d.ts +95 -95
  229. package/dist/builtins/platform-probe/coral-accelerators.d.ts +17 -17
  230. package/dist/builtins/platform-probe/index.d.ts +38 -30
  231. package/dist/builtins/platform-probe/inference-config-resolver.d.ts +27 -27
  232. package/dist/builtins/platform-probe/intel-accelerators.d.ts +8 -8
  233. package/dist/builtins/platform-probe/intel-npu.d.ts +30 -30
  234. package/dist/builtins/platform-probe/platform-scorer.d.ts +35 -35
  235. package/dist/builtins/platform-probe/runtime-packages.d.ts +3 -3
  236. package/dist/builtins/remote-access-orchestrator/enabled-providers-reconcile.d.ts +87 -87
  237. package/dist/builtins/remote-access-orchestrator/index.d.ts +1 -1
  238. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.d.ts +66 -35
  239. package/dist/builtins/shared/device-state-changed.d.ts +9 -9
  240. package/dist/builtins/shared/settle-sources.d.ts +16 -16
  241. package/dist/builtins/snapshot/index.d.ts +2 -2
  242. package/dist/builtins/snapshot/snapshot-cache.d.ts +92 -92
  243. package/dist/builtins/snapshot/snapshot-coalescing.d.ts +108 -108
  244. package/dist/builtins/snapshot/snapshot-courtesy.d.ts +48 -48
  245. package/dist/builtins/snapshot/snapshot-durable-store.d.ts +32 -32
  246. package/dist/builtins/snapshot/snapshot-fatigue.d.ts +34 -34
  247. package/dist/builtins/snapshot/snapshot-grab-pick.d.ts +14 -14
  248. package/dist/builtins/snapshot/snapshot-link-url.d.ts +49 -49
  249. package/dist/builtins/snapshot/snapshot-media-handler.d.ts +97 -97
  250. package/dist/builtins/snapshot/snapshot-resize.d.ts +64 -103
  251. package/dist/builtins/snapshot/snapshot.addon.d.ts +569 -568
  252. package/dist/builtins/sqlite-storage/analyze-stats.d.ts +73 -29
  253. package/dist/builtins/sqlite-storage/config-store.d.ts +6 -6
  254. package/dist/builtins/sqlite-storage/device-store.d.ts +16 -16
  255. package/dist/builtins/sqlite-storage/filesystem-browse-provider.d.ts +23 -23
  256. package/dist/builtins/sqlite-storage/filesystem-storage-provider.d.ts +79 -79
  257. package/dist/builtins/sqlite-storage/filesystem-storage.addon.d.ts +27 -26
  258. package/dist/builtins/sqlite-storage/filter-compiler.d.ts +107 -107
  259. package/dist/builtins/sqlite-storage/index.d.ts +12 -12
  260. package/dist/builtins/sqlite-storage/integration-registry.d.ts +37 -37
  261. package/dist/builtins/sqlite-storage/path-guard.d.ts +5 -5
  262. package/dist/builtins/sqlite-storage/prefix-range.d.ts +44 -44
  263. package/dist/builtins/sqlite-storage/query-bounds.d.ts +100 -106
  264. package/dist/builtins/sqlite-storage/query-profiler.d.ts +217 -217
  265. package/dist/builtins/sqlite-storage/retired-collections.d.ts +124 -55
  266. package/dist/builtins/sqlite-storage/retired-settings-keys.d.ts +239 -189
  267. package/dist/builtins/sqlite-storage/shm-lock-canary.d.ts +41 -41
  268. package/dist/builtins/sqlite-storage/sqlite-pragmas.d.ts +162 -162
  269. package/dist/builtins/sqlite-storage/sqlite-settings-backend.d.ts +458 -458
  270. package/dist/builtins/sqlite-storage/sqlite-settings.addon.d.ts +59 -58
  271. package/dist/builtins/sqlite-storage/sqlite-snapshot-protocol.d.ts +37 -32
  272. package/dist/builtins/sqlite-storage/sqlite-snapshot-worker.d.ts +19 -19
  273. package/dist/builtins/sqlite-storage/sqlite-snapshotter.d.ts +76 -76
  274. package/dist/builtins/sqlite-storage/statement-shape.d.ts +54 -54
  275. package/dist/builtins/sqlite-storage/table-sizes.d.ts +71 -71
  276. package/dist/builtins/sqlite-storage/vector-index-shared.d.ts +63 -54
  277. package/dist/builtins/sqlite-storage/vector-index-vec.d.ts +133 -96
  278. package/dist/builtins/sqlite-storage/wal-checkpoint-policy.d.ts +161 -161
  279. package/dist/builtins/sqlite-storage/wal-checkpointer.d.ts +60 -60
  280. package/dist/builtins/sqlite-storage/wal-maintenance.d.ts +94 -94
  281. package/dist/builtins/storage-orchestrator/access-guards.d.ts +37 -26
  282. package/dist/builtins/storage-orchestrator/data-store-dispatch.d.ts +33 -18
  283. package/dist/builtins/storage-orchestrator/drain-ratchet.d.ts +85 -85
  284. package/dist/builtins/storage-orchestrator/drain-state-store.d.ts +20 -10
  285. package/dist/builtins/storage-orchestrator/hub-settings-forward.d.ts +113 -53
  286. package/dist/builtins/storage-orchestrator/index.d.ts +7 -7
  287. package/dist/builtins/storage-orchestrator/location-occupancy-slice.d.ts +64 -40
  288. package/dist/builtins/storage-orchestrator/location-occupancy.d.ts +14 -14
  289. package/dist/builtins/storage-orchestrator/location-protection.d.ts +13 -13
  290. package/dist/builtins/storage-orchestrator/location-repoint-move.d.ts +44 -44
  291. package/dist/builtins/storage-orchestrator/location-root-collision.d.ts +61 -25
  292. package/dist/builtins/storage-orchestrator/location-secrets.d.ts +99 -58
  293. package/dist/builtins/storage-orchestrator/location-store.d.ts +56 -47
  294. package/dist/builtins/storage-orchestrator/location-volume-capacity.d.ts +37 -37
  295. package/dist/builtins/storage-orchestrator/provider-discovery.d.ts +20 -6
  296. package/dist/builtins/storage-orchestrator/storage-cleanup-coordinator.d.ts +51 -51
  297. package/dist/builtins/storage-orchestrator/storage-migration-coordinator.d.ts +224 -224
  298. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.d.ts +292 -292
  299. package/dist/builtins/storage-orchestrator/storage-orchestrator.service.d.ts +431 -450
  300. package/dist/builtins/storage-orchestrator/storage-pressure-manager.d.ts +104 -104
  301. package/dist/builtins/system-backup/backup-encryption.d.ts +60 -23
  302. package/dist/builtins/system-backup/system-backup.service.d.ts +240 -240
  303. package/dist/builtins/system-config/cluster-secret-keeper.d.ts +54 -34
  304. package/dist/builtins/system-config/index.d.ts +2 -2
  305. package/dist/builtins/system-config/mesh-actions.d.ts +2 -30
  306. package/dist/builtins/system-config/system-config.addon.d.ts +57 -93
  307. package/dist/builtins/system-config/system-config.addon.js +46 -33
  308. package/dist/builtins/system-config/system-config.addon.mjs +46 -33
  309. package/dist/builtins/winston-logging/index.d.ts +3 -3
  310. package/dist/builtins/winston-logging/winston-destination.d.ts +15 -15
  311. package/dist/builtins/winston-logging/winston-logging.addon.d.ts +14 -13
  312. package/dist/{child-cap-dispatch-nURMuVTX.js → child-cap-dispatch-Bnr8brru.js} +18 -0
  313. package/dist/{child-cap-dispatch-B1gyE35b.mjs → child-cap-dispatch-mHO_6r0G.mjs} +1 -1
  314. package/dist/download/hosted-model-revisions.d.ts +8 -8
  315. package/dist/download/model-download-service.d.ts +32 -32
  316. package/dist/download/model-downloader.d.ts +88 -88
  317. package/dist/events/event-bus.d.ts +6 -6
  318. package/dist/events/system-event-bus.d.ts +11 -11
  319. package/dist/feature/feature-manager.d.ts +6 -6
  320. package/dist/http/asset-compression.d.ts +35 -73
  321. package/dist/http/authenticated-file-server.d.ts +32 -32
  322. package/dist/http/data-plane-registry.d.ts +49 -39
  323. package/dist/http/file-data-plane.d.ts +14 -14
  324. package/dist/http/lan-http-bind.d.ts +24 -13
  325. package/dist/http/reverse-proxy.d.ts +36 -24
  326. package/dist/index.d.ts +137 -137
  327. package/dist/index.js +4 -3
  328. package/dist/index.mjs +2 -4
  329. package/dist/kernel/addon-class-resolver.d.ts +1 -1
  330. package/dist/kernel/addon-engine-manager.d.ts +20 -20
  331. package/dist/kernel/addon-health-monitor.d.ts +151 -151
  332. package/dist/kernel/addon-installer.d.ts +609 -609
  333. package/dist/kernel/addon-loader.d.ts +133 -133
  334. package/dist/kernel/addon-manifest.d.ts +118 -118
  335. package/dist/kernel/addon-residue.d.ts +28 -32
  336. package/dist/kernel/array-buffer-census.d.ts +84 -88
  337. package/dist/kernel/bootstrap-config.d.ts +3 -3
  338. package/dist/kernel/cap-router-builder.d.ts +145 -101
  339. package/dist/kernel/capability-handle.d.ts +41 -41
  340. package/dist/kernel/capability-registry.d.ts +588 -576
  341. package/dist/kernel/config-manager.d.ts +199 -199
  342. package/dist/kernel/config-schema.d.ts +132 -128
  343. package/dist/kernel/custom-action-registry.d.ts +25 -25
  344. package/dist/kernel/deps/addon-deps-manager.d.ts +17 -17
  345. package/dist/kernel/deps/closure-dedupe.d.ts +76 -76
  346. package/dist/kernel/deps/ensure-addon-natives.d.ts +34 -34
  347. package/dist/kernel/deps/ensure-native-prebuilds.d.ts +25 -25
  348. package/dist/kernel/deps/manifest-native-deps.d.ts +38 -38
  349. package/dist/kernel/deps/manifest-python-deps.d.ts +18 -18
  350. package/dist/kernel/deps/manifest-system-deps.d.ts +13 -13
  351. package/dist/kernel/deps/npm-command.d.ts +45 -45
  352. package/dist/kernel/deps/system-package-allowlist.d.ts +9 -9
  353. package/dist/kernel/deps/system-package-broker.d.ts +20 -20
  354. package/dist/kernel/deps/system-package-client.d.ts +3 -3
  355. package/dist/kernel/device-registry.d.ts +27 -27
  356. package/dist/kernel/event-loop-stall-monitor.d.ts +33 -33
  357. package/dist/kernel/event-plane-report.d.ts +174 -174
  358. package/dist/kernel/fs-utils.d.ts +70 -70
  359. package/dist/kernel/gc-census.d.ts +119 -119
  360. package/dist/kernel/heap-spaces.d.ts +87 -87
  361. package/dist/kernel/heap-watch.d.ts +706 -706
  362. package/dist/kernel/host-externals.d.ts +8 -8
  363. package/dist/kernel/hwaccel/hwaccel-resolver.d.ts +27 -27
  364. package/dist/kernel/index.d.ts +115 -113
  365. package/dist/kernel/inference/inference-resolver.d.ts +13 -13
  366. package/dist/kernel/infra-capabilities.d.ts +7 -7
  367. package/dist/kernel/isolated-builtin-phase.d.ts +42 -42
  368. package/dist/kernel/lifecycle/job-journal.d.ts +17 -17
  369. package/dist/kernel/lifecycle/lifecycle-job-engine.d.ts +99 -99
  370. package/dist/kernel/lifecycle/staging-area.d.ts +22 -22
  371. package/dist/kernel/moleculer/addon-context-factory.d.ts +90 -89
  372. package/dist/kernel/moleculer/addon-data-plane-facility.d.ts +12 -12
  373. package/dist/kernel/moleculer/addon-deploy-source.d.ts +11 -11
  374. package/dist/kernel/moleculer/addon-peer-bytes-facility.d.ts +18 -18
  375. package/dist/kernel/moleculer/addon-service-factory.d.ts +41 -41
  376. package/dist/kernel/moleculer/agent-mesh-authenticator.d.ts +60 -33
  377. package/dist/kernel/moleculer/agent-ui-unlock.d.ts +30 -30
  378. package/dist/kernel/moleculer/broker-factory.d.ts +61 -61
  379. package/dist/kernel/moleculer/cap-usage-registry.d.ts +108 -153
  380. package/dist/kernel/moleculer/capabilities-access.d.ts +19 -19
  381. package/dist/kernel/moleculer/child-addon-call-dispatch.d.ts +43 -43
  382. package/dist/kernel/moleculer/child-cap-descriptors.d.ts +26 -26
  383. package/dist/kernel/moleculer/child-cap-dispatch.d.ts +52 -52
  384. package/dist/kernel/moleculer/children-batch-loader.d.ts +86 -34
  385. package/dist/kernel/moleculer/cluster-secret.d.ts +19 -19
  386. package/dist/kernel/moleculer/core-cap-service.d.ts +53 -53
  387. package/dist/kernel/moleculer/crash-supervisor.d.ts +39 -39
  388. package/dist/kernel/moleculer/device-cap-proxy.d.ts +51 -51
  389. package/dist/kernel/moleculer/device-event-ring.d.ts +117 -75
  390. package/dist/kernel/moleculer/event-bus-core.d.ts +171 -159
  391. package/dist/kernel/moleculer/event-bus.d.ts +73 -73
  392. package/dist/kernel/moleculer/hub-log-forwarder.d.ts +30 -30
  393. package/dist/kernel/moleculer/hub-service.d.ts +42 -42
  394. package/dist/kernel/moleculer/init-watchdog.d.ts +49 -49
  395. package/dist/kernel/moleculer/mesh-access-middleware.d.ts +36 -21
  396. package/dist/kernel/moleculer/mesh-auth-mode.d.ts +33 -39
  397. package/dist/kernel/moleculer/mesh-authenticator.d.ts +58 -58
  398. package/dist/kernel/moleculer/mesh-auto-enforce.d.ts +38 -18
  399. package/dist/kernel/moleculer/mesh-join-client.d.ts +67 -45
  400. package/dist/kernel/moleculer/mesh-join-proof.d.ts +8 -8
  401. package/dist/kernel/moleculer/mesh-mtls/constants.d.ts +1 -1
  402. package/dist/kernel/moleculer/mesh-mtls/index.d.ts +10 -10
  403. package/dist/kernel/moleculer/mesh-mtls/mesh-ca-keeper.d.ts +43 -38
  404. package/dist/kernel/moleculer/mesh-mtls/mesh-ca.d.ts +29 -20
  405. package/dist/kernel/moleculer/mesh-mtls/mesh-clear-port.d.ts +32 -32
  406. package/dist/kernel/moleculer/mesh-mtls/mesh-crl.d.ts +11 -11
  407. package/dist/kernel/moleculer/mesh-mtls/mesh-enroll.d.ts +19 -16
  408. package/dist/kernel/moleculer/mesh-mtls/mesh-join-token.d.ts +40 -40
  409. package/dist/kernel/moleculer/mesh-mtls/mesh-tls-enabler.d.ts +5 -1
  410. package/dist/kernel/moleculer/mesh-mtls/tls-tcp-transporter.d.ts +131 -130
  411. package/dist/kernel/moleculer/mesh-queue-report.d.ts +39 -39
  412. package/dist/kernel/moleculer/node-registry.d.ts +120 -120
  413. package/dist/kernel/moleculer/process-context.d.ts +2 -2
  414. package/dist/kernel/moleculer/process-service.d.ts +168 -168
  415. package/dist/kernel/moleculer/provider-registry.d.ts +9 -9
  416. package/dist/kernel/moleculer/readiness-context.d.ts +58 -58
  417. package/dist/kernel/moleculer/readiness-service.d.ts +31 -16
  418. package/dist/kernel/moleculer/register-framework-resolver.d.ts +6 -6
  419. package/dist/kernel/moleculer/register-node-client.d.ts +34 -27
  420. package/dist/kernel/moleculer/remote-logger.d.ts +29 -29
  421. package/dist/kernel/moleculer/resilient-cap-call.d.ts +21 -21
  422. package/dist/kernel/moleculer/runner-native-allocator.d.ts +95 -95
  423. package/dist/kernel/moleculer/runner-process-group.d.ts +57 -57
  424. package/dist/kernel/moleculer/runtime-state-load.d.ts +21 -11
  425. package/dist/kernel/moleculer/settings-read-guard.d.ts +39 -39
  426. package/dist/kernel/moleculer/stream-probe-service.d.ts +25 -6
  427. package/dist/kernel/moleculer/trpc-links.d.ts +203 -203
  428. package/dist/kernel/moleculer/typed-array-serde.d.ts +9 -20
  429. package/dist/kernel/moleculer/worker-device-restore.d.ts +8 -8
  430. package/dist/kernel/outbound-queue-watch.d.ts +74 -74
  431. package/dist/kernel/process-cpu-census.d.ts +55 -55
  432. package/dist/kernel/provider-kind-drift.d.ts +17 -8
  433. package/dist/kernel/restart-coordinator.d.ts +71 -71
  434. package/dist/kernel/settings-door-view.d.ts +36 -25
  435. package/dist/kernel/settings-read-error.d.ts +29 -31
  436. package/dist/kernel/settings-view-types.d.ts +100 -95
  437. package/dist/kernel/socket-plane-report.d.ts +214 -153
  438. package/dist/kernel/status-overlay.d.ts +31 -11
  439. package/dist/kernel/storage-location-registry.d.ts +50 -50
  440. package/dist/kernel/store-settings-view.d.ts +13 -13
  441. package/dist/kernel/system-settings-mirror.d.ts +40 -28
  442. package/dist/kernel/system-settings-policy.d.ts +15 -34
  443. package/dist/kernel/transport/cap-action-census.d.ts +183 -183
  444. package/dist/kernel/transport/cap-action-name.d.ts +84 -84
  445. package/dist/kernel/transport/cap-child-index.d.ts +41 -41
  446. package/dist/kernel/transport/cap-route-resolver.d.ts +237 -212
  447. package/dist/kernel/transport/cap-route.d.ts +139 -139
  448. package/dist/kernel/transport/cap-routing-hints.d.ts +37 -37
  449. package/dist/kernel/transport/child-cap-protocol.d.ts +245 -245
  450. package/dist/kernel/transport/claimed-get-status.d.ts +30 -6
  451. package/dist/kernel/transport/create-local-transport.d.ts +5 -5
  452. package/dist/kernel/transport/frame-codec.d.ts +109 -109
  453. package/dist/kernel/transport/hub-cap-forward.d.ts +81 -59
  454. package/dist/kernel/transport/index.d.ts +36 -36
  455. package/dist/kernel/transport/local-child-client.d.ts +184 -184
  456. package/dist/kernel/transport/local-child-registry.d.ts +592 -592
  457. package/dist/kernel/transport/local-endpoint-path.d.ts +4 -4
  458. package/dist/kernel/transport/local-transport.d.ts +92 -92
  459. package/dist/kernel/transport/parent-unowned-call.d.ts +266 -237
  460. package/dist/kernel/transport/peer-answered-error.d.ts +14 -14
  461. package/dist/kernel/transport/socket-channel.d.ts +110 -110
  462. package/dist/kernel/transport/socket-traffic.d.ts +96 -96
  463. package/dist/kernel/transport/uds-event-bridge.d.ts +77 -50
  464. package/dist/kernel/transport/uds-event-bus.d.ts +75 -26
  465. package/dist/kernel/transport/uds-local-transport.d.ts +14 -14
  466. package/dist/kernel/transport/uds-log-ingest.d.ts +38 -23
  467. package/dist/kernel/transport/uds-logger.d.ts +33 -33
  468. package/dist/kernel/utils/ring-buffer.d.ts +12 -12
  469. package/dist/kernel/workspace-detect.d.ts +7 -7
  470. package/dist/lifecycle/lifecycle-state-machine.d.ts +24 -24
  471. package/dist/logging/formatter.d.ts +52 -25
  472. package/dist/logging/log-manager.d.ts +133 -133
  473. package/dist/logging/log-redactor.d.ts +22 -1
  474. package/dist/logging/log-ring-buffer.d.ts +57 -57
  475. package/dist/logging/logging-gate.d.ts +69 -25
  476. package/dist/logging/logging-gate.singleton.d.ts +12 -1
  477. package/dist/logging/partitioned-log-buffer.d.ts +161 -161
  478. package/dist/logging/scoped-logger.d.ts +14 -14
  479. package/dist/network/network-quality.d.ts +8 -8
  480. package/dist/notification/notification-service.d.ts +37 -37
  481. package/dist/notification/toast-service.d.ts +18 -18
  482. package/dist/pipeline/engine-manager-resolver.d.ts +12 -12
  483. package/dist/pipeline/pipeline-runner.d.ts +6 -6
  484. package/dist/pipeline/pipeline-validator.d.ts +8 -8
  485. package/dist/process/proc-stat.d.ts +51 -51
  486. package/dist/process/resource-monitor.d.ts +19 -19
  487. package/dist/python/python-env-manager.d.ts +10 -10
  488. package/dist/repl/interfaces.d.ts +21 -21
  489. package/dist/repl/repl-engine.d.ts +6 -6
  490. package/dist/storage/fs-storage-backend.d.ts +35 -35
  491. package/dist/storage/storage-location-manager.d.ts +21 -21
  492. package/dist/storage/storage-manager.d.ts +68 -68
  493. package/dist/tls/boot-tls.d.ts +24 -24
  494. package/dist/tls/cert-evaluation.d.ts +25 -25
  495. package/dist/tls/cert-identity.d.ts +39 -39
  496. package/dist/tls/cert-issue.d.ts +37 -17
  497. package/dist/tls/cert-manager.d.ts +86 -84
  498. package/dist/tls/https-listener.d.ts +16 -16
  499. package/dist/tls/index.d.ts +8 -8
  500. package/dist/tls/tls-actions.d.ts +18 -18
  501. package/dist/tls/tls-status.d.ts +15 -15
  502. package/dist/tls/uploaded-cert.d.ts +9 -9
  503. package/package.json +9 -3
@@ -1,113 +1,155 @@
1
- import { SystemEvent } from '@camstack/types';
1
+ /**
2
+ * Per-device event rings — the history a single camera's Events panel reads.
3
+ *
4
+ * WHY THIS EXISTS. The retaining bus keeps ONE global ring
5
+ * (`SharedBusState.recent`, {@link MAX_RECENT_EVENTS}). That ring is a COUNT,
6
+ * not a window, and it is shared by the whole fleet, so a quiet camera is
7
+ * evicted by its 31 noisy siblings long before the operator opens its panel.
8
+ * Measured on the live hub: 16 events/s fleet-wide, 817 B average per event —
9
+ * a 10 000-slot global ring covers 10.4 minutes of FLEET traffic and can hold
10
+ * nothing at all for a camera that emitted an hour ago.
11
+ *
12
+ * WHAT THIS IS NOT. Still telemetry (D8/D11): in-memory, hub-main only, lost on
13
+ * restart, no table, no persistence. Nothing durable may be derived from it.
14
+ *
15
+ * SHAPE. One ring per device id, each holding two disjoint parts:
16
+ *
17
+ * - `history` — events of categories nobody declared a mirror. Bounded by
18
+ * {@link MAX_DEVICE_RING_EVENTS}. After coalescing the fleet emits ~1.1
19
+ * events/s (~3 000/day/camera), so 2 000 slots ≈ 16 h per camera — the day
20
+ * the operator asked for.
21
+ * - `mirrors` — the LATEST event per declared-mirror category
22
+ * ({@link MIRROR_CATEGORIES}). A mirror has no history, only a current
23
+ * value: the penultimate value of `device.state-changed` means nothing, and
24
+ * keeping it is what made 89 % of the fleet's traffic evict everything else.
25
+ * Bounded by the size of the declared set, i.e. a handful of slots.
26
+ *
27
+ * A category NOBODY classified is NOT coalesced. Keeping history is the safe
28
+ * default; silently collapsing an unclassified category would lose data nobody
29
+ * decided to lose.
30
+ *
31
+ * NO deviceId ⇒ NOT HERE. An event that carries no device attribution
32
+ * (`broker.message`, the Home Assistant state mirror, ~64 000/day, carries only
33
+ * `brokerId` / `subscriptionId` / `key`) is a first-class case: it is retained
34
+ * in the GLOBAL ring only and no device is invented for it. If attribution is
35
+ * added later, the event starts landing in a device ring with no change here.
36
+ *
37
+ * MEMORY. The retained `data` payload is capped
38
+ * ({@link MAX_RETAINED_DATA_BYTES}), not the event count — hub-main's heap is
39
+ * not a place to spend 52 MB on telemetry. A capped payload is REPLACED by a
40
+ * marked {@link TruncatedEventData} so a consumer can tell a short payload from
41
+ * a cut one.
42
+ */
43
+ import type { SystemEvent } from "@camstack/types";
2
44
  /** One declared mirror category and the reason it may be collapsed. */
3
45
  export interface MirrorCategoryDeclaration {
4
- /** Exact event category. Not a glob — a mirror is declared one by one. */
5
- readonly category: string;
6
- /** Why the penultimate value of this category carries no information. */
7
- readonly reason: string;
46
+ /** Exact event category. Not a glob — a mirror is declared one by one. */
47
+ readonly category: string;
48
+ /** Why the penultimate value of this category carries no information. */
49
+ readonly reason: string;
8
50
  }
9
51
  /**
10
- * The categories whose per-device history is ONE slot: the latest value.
11
- *
12
- * Declared here, with a reason each, on purpose — the alternative is `if`s
13
- * scattered over the delivery path, and nobody can then answer "what does this
14
- * system collapse, and who decided?".
15
- *
16
- * Adding an entry DELETES history for that category. Add one only when the
17
- * category is genuinely a state mirror (a snapshot of a current value), never
18
- * because it is merely frequent — a frequent EDGE (a motion start, a crash)
19
- * belongs in `RING_BUFFER_DENY_PATTERNS` or nowhere, not here.
20
- */
52
+ * The categories whose per-device history is ONE slot: the latest value.
53
+ *
54
+ * Declared here, with a reason each, on purpose — the alternative is `if`s
55
+ * scattered over the delivery path, and nobody can then answer "what does this
56
+ * system collapse, and who decided?".
57
+ *
58
+ * Adding an entry DELETES history for that category. Add one only when the
59
+ * category is genuinely a state mirror (a snapshot of a current value), never
60
+ * because it is merely frequent — a frequent EDGE (a motion start, a crash)
61
+ * belongs in `RING_BUFFER_DENY_PATTERNS` or nowhere, not here.
62
+ */
21
63
  export declare const MIRROR_CATEGORIES: readonly MirrorCategoryDeclaration[];
22
64
  /** The declared reason this category is a mirror, or `undefined` if unclassified. */
23
65
  export declare function mirrorReason(category: string): string | undefined;
24
66
  /**
25
- * Is this category declared a mirror? An unclassified category is NOT a mirror
26
- * — the safe default is to keep its history.
27
- */
67
+ * Is this category declared a mirror? An unclassified category is NOT a mirror
68
+ * — the safe default is to keep its history.
69
+ */
28
70
  export declare function isMirrorCategory(category: string): boolean;
29
71
  /**
30
- * Non-mirror events retained per device. ~1.1 events/s fleet-wide after
31
- * coalescing ⇒ ~3 000/day/camera ⇒ 2 000 ≈ 16 h.
32
- */
33
- export declare const MAX_DEVICE_RING_EVENTS = 2000;
72
+ * Non-mirror events retained per device. ~1.1 events/s fleet-wide after
73
+ * coalescing ⇒ ~3 000/day/camera ⇒ 2 000 ≈ 16 h.
74
+ */
75
+ export declare const MAX_DEVICE_RING_EVENTS = 2e3;
34
76
  /**
35
- * Cap on the retained `data` payload, in UTF-8 bytes. The COUNT is not what
36
- * costs memory — 32 devices × 2 000 events × 817 B (measured average) ≈ 52 MB.
37
- * Capping the payload brings the worst case to ≈ 26 MB and the realistic case
38
- * far below it, since most events are already under the cap.
39
- */
77
+ * Cap on the retained `data` payload, in UTF-8 bytes. The COUNT is not what
78
+ * costs memory — 32 devices × 2 000 events × 817 B (measured average) ≈ 52 MB.
79
+ * Capping the payload brings the worst case to ≈ 26 MB and the realistic case
80
+ * far below it, since most events are already under the cap.
81
+ */
40
82
  export declare const MAX_RETAINED_DATA_BYTES = 256;
41
83
  /** Bytes of the original JSON kept as a human-readable preview of a cut payload. */
42
84
  export declare const TRUNCATED_PREVIEW_BYTES = 160;
43
85
  /**
44
- * Devices tracked at once. Far above the fleet (32) — it exists so a bad
45
- * deviceId stream cannot grow the map without bound. Eviction is
46
- * least-recently-written.
47
- */
86
+ * Devices tracked at once. Far above the fleet (32) — it exists so a bad
87
+ * deviceId stream cannot grow the map without bound. Eviction is
88
+ * least-recently-written.
89
+ */
48
90
  export declare const MAX_TRACKED_DEVICES = 512;
49
91
  /** Marker key present on — and only on — a payload this module cut. */
50
92
  export declare const TRUNCATED_DATA_KEY = "__truncated";
51
93
  /**
52
- * What replaces a payload above {@link MAX_RETAINED_DATA_BYTES}. A consumer
53
- * MUST be able to tell a short payload from a cut one, so the replacement says
54
- * so explicitly rather than silently shipping a prefix.
55
- */
94
+ * What replaces a payload above {@link MAX_RETAINED_DATA_BYTES}. A consumer
95
+ * MUST be able to tell a short payload from a cut one, so the replacement says
96
+ * so explicitly rather than silently shipping a prefix.
97
+ */
56
98
  export interface TruncatedEventData extends Record<string, unknown> {
57
- readonly __truncated: true;
58
- /** Size of the original JSON payload, or `null` when it could not be measured. */
59
- readonly __originalBytes: number | null;
60
- /** First {@link TRUNCATED_PREVIEW_BYTES} characters of the original JSON. */
61
- readonly __preview: string;
99
+ readonly __truncated: true;
100
+ /** Size of the original JSON payload, or `null` when it could not be measured. */
101
+ readonly __originalBytes: number | null;
102
+ /** First {@link TRUNCATED_PREVIEW_BYTES} characters of the original JSON. */
103
+ readonly __preview: string;
62
104
  }
63
105
  /** Is this the marked replacement of a cut payload? */
64
106
  export declare function isTruncatedEventData(data: Record<string, unknown>): data is TruncatedEventData;
65
107
  /**
66
- * The event as it should be RETAINED: unchanged when its payload is within the
67
- * cap, otherwise a NEW event whose `data` is the marked replacement. The
68
- * argument is never mutated — the same object is still live on the fan-out path
69
- * and in the global ring.
70
- */
108
+ * The event as it should be RETAINED: unchanged when its payload is within the
109
+ * cap, otherwise a NEW event whose `data` is the marked replacement. The
110
+ * argument is never mutated — the same object is still live on the fan-out path
111
+ * and in the global ring.
112
+ */
71
113
  export declare function capEventData(event: SystemEvent): SystemEvent;
72
114
  /**
73
- * The device this event is about, or `undefined` when it is about no device.
74
- *
75
- * Same rule as `matchesEventFilter` — `source.deviceId`, or `source.id` when
76
- * the source IS a device — so a read filtered by `deviceId` and a read served
77
- * from that device's ring agree on which events belong to it. A non-numeric
78
- * device source id yields `undefined` rather than `NaN`: an unattributable
79
- * event must never become a bucket of its own.
80
- */
115
+ * The device this event is about, or `undefined` when it is about no device.
116
+ *
117
+ * Same rule as `matchesEventFilter` — `source.deviceId`, or `source.id` when
118
+ * the source IS a device — so a read filtered by `deviceId` and a read served
119
+ * from that device's ring agree on which events belong to it. A non-numeric
120
+ * device source id yields `undefined` rather than `NaN`: an unattributable
121
+ * event must never become a bucket of its own.
122
+ */
81
123
  export declare function eventDeviceId(event: SystemEvent): number | undefined;
82
124
  interface DeviceRing {
83
- /** Non-mirror events, oldest first, bounded by {@link MAX_DEVICE_RING_EVENTS}. */
84
- readonly history: SystemEvent[];
85
- /** Latest event per declared-mirror category. */
86
- readonly mirrors: Map<string, SystemEvent>;
125
+ /** Non-mirror events, oldest first, bounded by {@link MAX_DEVICE_RING_EVENTS}. */
126
+ readonly history: SystemEvent[];
127
+ /** Latest event per declared-mirror category. */
128
+ readonly mirrors: Map<string, SystemEvent>;
87
129
  }
88
130
  /**
89
- * Every device's ring. Insertion order is least-recently-written first, which
90
- * is what {@link MAX_TRACKED_DEVICES} evicts by.
91
- */
131
+ * Every device's ring. Insertion order is least-recently-written first, which
132
+ * is what {@link MAX_TRACKED_DEVICES} evicts by.
133
+ */
92
134
  export interface DeviceEventRings {
93
- readonly byDevice: Map<number, DeviceRing>;
135
+ readonly byDevice: Map<number, DeviceRing>;
94
136
  }
95
137
  export declare function createDeviceEventRings(): DeviceEventRings;
96
138
  /**
97
- * Retain `event` in its device's ring, with its payload capped.
98
- *
99
- * Returns the device it was filed under, or `undefined` when the event names no
100
- * device — the caller has already retained it in the global ring and nothing
101
- * more happens here. No device is fabricated.
102
- */
139
+ * Retain `event` in its device's ring, with its payload capped.
140
+ *
141
+ * Returns the device it was filed under, or `undefined` when the event names no
142
+ * device — the caller has already retained it in the global ring and nothing
143
+ * more happens here. No device is fabricated.
144
+ */
103
145
  export declare function recordDeviceEvent(rings: DeviceEventRings, event: SystemEvent): number | undefined;
104
146
  /**
105
- * Everything retained for one device, oldest first — history merged with the
106
- * current value of each mirror, ordered by timestamp so the caller's `-limit`
107
- * slice means the same thing it means on the global ring.
108
- *
109
- * An unknown device yields `[]`: unknown is the truth about a camera that has
110
- * emitted nothing since this process started.
111
- */
147
+ * Everything retained for one device, oldest first — history merged with the
148
+ * current value of each mirror, ordered by timestamp so the caller's `-limit`
149
+ * slice means the same thing it means on the global ring.
150
+ *
151
+ * An unknown device yields `[]`: unknown is the truth about a camera that has
152
+ * emitted nothing since this process started.
153
+ */
112
154
  export declare function getDeviceRecent(rings: DeviceEventRings, deviceId: number): readonly SystemEvent[];
113
155
  export {};
@@ -1,186 +1,198 @@
1
- import { EventFilter, SystemEvent } from '@camstack/types';
2
- import { DeviceEventRings } from './device-event-ring.js';
1
+ /**
2
+ * Shared event-bus core — pure in-process fan-out logic with NO dependency on
3
+ * Moleculer or any transport layer.
4
+ *
5
+ * Consumed by:
6
+ * - `event-bus.ts` (Moleculer broker-backed cluster bus)
7
+ * - `uds-event-bus.ts` (UDS-backed child-process bus, C1)
8
+ *
9
+ * Keeping this module transport-free means the UDS bus can reuse every piece
10
+ * of logic (deny-list, subscriber map, filter semantics) without pulling in
11
+ * Moleculer types.
12
+ */
13
+ import type { EventFilter, SystemEvent } from "@camstack/types";
14
+ import type { DeviceEventRings } from "./device-event-ring.js";
3
15
  export interface SubscriberEntry {
4
- /** Original filter — kept whole so non-category dimensions are honoured per-event. */
5
- readonly filter: EventFilter | string | undefined;
6
- /**
7
- * Pre-computed category pattern for the cheap pre-filter — the FIRST of
8
- * {@link extractCategoryPatterns} when the filter names several. Diagnostic
9
- * only: the authority on which keys an entry occupies is the handler map
10
- * itself, written by {@link registerSubscriber}.
11
- */
12
- readonly categoryPattern: string;
13
- readonly handler: (event: SystemEvent) => void;
16
+ /** Original filter — kept whole so non-category dimensions are honoured per-event. */
17
+ readonly filter: EventFilter | string | undefined;
18
+ /**
19
+ * Pre-computed category pattern for the cheap pre-filter — the FIRST of
20
+ * {@link extractCategoryPatterns} when the filter names several. Diagnostic
21
+ * only: the authority on which keys an entry occupies is the handler map
22
+ * itself, written by {@link registerSubscriber}.
23
+ */
24
+ readonly categoryPattern: string;
25
+ readonly handler: (event: SystemEvent) => void;
14
26
  }
15
27
  export interface SharedBusState {
16
- /**
17
- * Subscribers indexed by category pattern. Each entry also carries its full
18
- * filter so the subsequent `matchesEventFilter` call can reject events that
19
- * match the category but not the scope (deviceId, addonId, …).
20
- */
21
- readonly handlers: Map<string, Set<SubscriberEntry>>;
22
- /**
23
- * In-memory recent-events buffer. The deny-list below filters out
24
- * high-frequency categories so the buffer only accumulates audit-grade
25
- * lifecycle events.
26
- *
27
- * ONLY populated when `retainRecent` is true (the hub main process). On every
28
- * other bus this array stays empty for the process's whole lifetime.
29
- *
30
- * Cleared on server restart (intentional — events are volatile by design).
31
- */
32
- readonly recent: SystemEvent[];
33
- /**
34
- * Per-device rings BESIDE `recent[]` — not a replacement for it.
35
- *
36
- * `recent[]` is one global, count-bounded ring: a busy fleet evicts a quiet
37
- * camera's events out of it long before an operator opens that camera's
38
- * panel, and filtering a global ring by device cannot bring them back. A
39
- * per-device ask is therefore answered from here instead
40
- * (`getBrokerEventBus().getRecent({ deviceId })`), while an ask that names no
41
- * device is still answered from `recent[]`.
42
- *
43
- * Populated under exactly the same conditions as `recent[]` (retaining bus,
44
- * category not on the high-frequency deny-list), with mirror categories
45
- * coalesced and payloads capped — see `device-event-ring.ts`. An event that
46
- * names no device is retained in `recent[]` ONLY; no device is invented for
47
- * it.
48
- */
49
- readonly deviceRings: DeviceEventRings;
50
- /**
51
- * Whether this bus retains events in `recent[]` to back the
52
- * `getRecent`/audit capability.
53
- *
54
- * Events are one-shot (fire-and-forget): ONLY the hub main process — the
55
- * single process that serves `getRecent` — needs the registry, so ONLY its
56
- * broker bus sets this true. Child addon runners and remote agents leave it
57
- * false: they fan every event out to their local subscribers but retain
58
- * nothing, so their heap can never accumulate an unbounded recent[] backlog.
59
- *
60
- * Mutable so the authoritative opt-in (the hub-main `getBrokerEventBus`
61
- * caller) can upgrade a bus that a non-retaining caller happened to create
62
- * first — see `getSharedBusState`. Never downgraded from true → false.
63
- */
64
- retainRecent: boolean;
28
+ /**
29
+ * Subscribers indexed by category pattern. Each entry also carries its full
30
+ * filter so the subsequent `matchesEventFilter` call can reject events that
31
+ * match the category but not the scope (deviceId, addonId, …).
32
+ */
33
+ readonly handlers: Map<string, Set<SubscriberEntry>>;
34
+ /**
35
+ * In-memory recent-events buffer. The deny-list below filters out
36
+ * high-frequency categories so the buffer only accumulates audit-grade
37
+ * lifecycle events.
38
+ *
39
+ * ONLY populated when `retainRecent` is true (the hub main process). On every
40
+ * other bus this array stays empty for the process's whole lifetime.
41
+ *
42
+ * Cleared on server restart (intentional — events are volatile by design).
43
+ */
44
+ readonly recent: SystemEvent[];
45
+ /**
46
+ * Per-device rings BESIDE `recent[]` — not a replacement for it.
47
+ *
48
+ * `recent[]` is one global, count-bounded ring: a busy fleet evicts a quiet
49
+ * camera's events out of it long before an operator opens that camera's
50
+ * panel, and filtering a global ring by device cannot bring them back. A
51
+ * per-device ask is therefore answered from here instead
52
+ * (`getBrokerEventBus().getRecent({ deviceId })`), while an ask that names no
53
+ * device is still answered from `recent[]`.
54
+ *
55
+ * Populated under exactly the same conditions as `recent[]` (retaining bus,
56
+ * category not on the high-frequency deny-list), with mirror categories
57
+ * coalesced and payloads capped — see `device-event-ring.ts`. An event that
58
+ * names no device is retained in `recent[]` ONLY; no device is invented for
59
+ * it.
60
+ */
61
+ readonly deviceRings: DeviceEventRings;
62
+ /**
63
+ * Whether this bus retains events in `recent[]` to back the
64
+ * `getRecent`/audit capability.
65
+ *
66
+ * Events are one-shot (fire-and-forget): ONLY the hub main process — the
67
+ * single process that serves `getRecent` — needs the registry, so ONLY its
68
+ * broker bus sets this true. Child addon runners and remote agents leave it
69
+ * false: they fan every event out to their local subscribers but retain
70
+ * nothing, so their heap can never accumulate an unbounded recent[] backlog.
71
+ *
72
+ * Mutable so the authoritative opt-in (the hub-main `getBrokerEventBus`
73
+ * caller) can upgrade a bus that a non-retaining caller happened to create
74
+ * first — see `getSharedBusState`. Never downgraded from true → false.
75
+ */
76
+ retainRecent: boolean;
65
77
  }
66
78
  /**
67
- * @param retainRecent - `true` ONLY for the hub main broker bus (it serves
68
- * `getRecent`). Defaults to `false` — the safe one-shot default for child
69
- * runners + agents, which retain nothing.
70
- */
79
+ * @param retainRecent - `true` ONLY for the hub main broker bus (it serves
80
+ * `getRecent`). Defaults to `false` — the safe one-shot default for child
81
+ * runners + agents, which retain nothing.
82
+ */
71
83
  export declare function createSharedBusState(retainRecent?: boolean): SharedBusState;
72
84
  export declare function matchesPattern(pattern: string, category: string): boolean;
73
85
  /**
74
- * The FIRST category pattern of a filter.
75
- *
76
- * Kept for the diagnostic `SubscriberEntry.categoryPattern` field and for
77
- * callers that genuinely want one string. It is NOT the registration path:
78
- * a filter naming several categories must occupy several map keys, which is
79
- * what {@link extractCategoryPatterns} + {@link registerSubscriber} do. Using
80
- * this function to key a subscriber is the bug described on
81
- * `extractCategoryPatterns`.
82
- */
86
+ * The FIRST category pattern of a filter.
87
+ *
88
+ * Kept for the diagnostic `SubscriberEntry.categoryPattern` field and for
89
+ * callers that genuinely want one string. It is NOT the registration path:
90
+ * a filter naming several categories must occupy several map keys, which is
91
+ * what {@link extractCategoryPatterns} + {@link registerSubscriber} do. Using
92
+ * this function to key a subscriber is the bug described on
93
+ * `extractCategoryPatterns`.
94
+ */
83
95
  export declare function extractCategoryPattern(filter: EventFilter | string): string;
84
96
  /**
85
- * EVERY category pattern a filter asks for — the registration key set.
86
- *
87
- * `EventFilter.category` has always accepted an array, and until 2026-08-12
88
- * the delivery path kept only `cat[0]`. Inside a forked runner that was not
89
- * merely a local filter: `createUdsEventBus` reports its handler-map keys to
90
- * the parent as this child's forwarding interest, so the categories that never
91
- * became keys were never forwarded across the process boundary at all. A
92
- * ten-category subscribe received one category, silently.
93
- *
94
- * Duplicates are collapsed so a filter that names the same category twice does
95
- * not put the entry in one key twice.
96
- */
97
+ * EVERY category pattern a filter asks for — the registration key set.
98
+ *
99
+ * `EventFilter.category` has always accepted an array, and until 2026-08-12
100
+ * the delivery path kept only `cat[0]`. Inside a forked runner that was not
101
+ * merely a local filter: `createUdsEventBus` reports its handler-map keys to
102
+ * the parent as this child's forwarding interest, so the categories that never
103
+ * became keys were never forwarded across the process boundary at all. A
104
+ * ten-category subscribe received one category, silently.
105
+ *
106
+ * Duplicates are collapsed so a filter that names the same category twice does
107
+ * not put the entry in one key twice.
108
+ */
97
109
  export declare function extractCategoryPatterns(filter: EventFilter | string): readonly string[];
98
110
  /**
99
- * Register one handler under every category pattern its filter names, and
100
- * return the unsubscribe that removes it from all of them.
101
- *
102
- * The ONE place a subscriber enters `state.handlers` — both bus
103
- * implementations (broker and UDS) call it, so "which keys does this
104
- * subscriber occupy" has a single answer. An emptied key is DELETED rather
105
- * than left as an empty `Set`: on a child bus the key set is what the parent
106
- * is told to forward, and an empty set left behind pins the parent to forward
107
- * a category nobody wants.
108
- *
109
- * @param onKeysChanged - Called after the key set may have changed (both on
110
- * registration and on unsubscribe), for buses that mirror their key set
111
- * somewhere — the UDS child's parent report, the broker's local-interest
112
- * surface. Receives the patterns this call touched.
113
- */
111
+ * Register one handler under every category pattern its filter names, and
112
+ * return the unsubscribe that removes it from all of them.
113
+ *
114
+ * The ONE place a subscriber enters `state.handlers` — both bus
115
+ * implementations (broker and UDS) call it, so "which keys does this
116
+ * subscriber occupy" has a single answer. An emptied key is DELETED rather
117
+ * than left as an empty `Set`: on a child bus the key set is what the parent
118
+ * is told to forward, and an empty set left behind pins the parent to forward
119
+ * a category nobody wants.
120
+ *
121
+ * @param onKeysChanged - Called after the key set may have changed (both on
122
+ * registration and on unsubscribe), for buses that mirror their key set
123
+ * somewhere — the UDS child's parent report, the broker's local-interest
124
+ * surface. Receives the patterns this call touched.
125
+ */
114
126
  export declare function registerSubscriber(state: SharedBusState, filter: EventFilter | string, handler: (event: SystemEvent) => void, onKeysChanged?: (patterns: readonly string[], added: boolean) => void): () => void;
115
127
  /**
116
- * Match an event against the full `EventFilter`. The Map-keyed subscribe path
117
- * only handles the category pattern (deciding which handler set to fan out to);
118
- * this function applies the remaining scope dimensions (`agentId`, `addonId`,
119
- * `deviceId`, `source`, `since`) so per-device / per-addon subscribers don't
120
- * receive sibling events.
121
- */
128
+ * Match an event against the full `EventFilter`. The Map-keyed subscribe path
129
+ * only handles the category pattern (deciding which handler set to fan out to);
130
+ * this function applies the remaining scope dimensions (`agentId`, `addonId`,
131
+ * `deviceId`, `source`, `since`) so per-device / per-addon subscribers don't
132
+ * receive sibling events.
133
+ */
122
134
  export declare function matchesEventFilter(event: SystemEvent, filter: EventFilter | string | undefined): boolean;
123
135
  /**
124
- * Categories filtered out of the `recent[]` ring buffer.
125
- *
126
- * High-frequency, low-value-for-the-operator categories — periodic metrics
127
- * snapshots, per-frame inference traces, raw motion-mask dumps, model-download
128
- * progress, etc. They still fan out to live subscribers (UI charts that
129
- * explicitly listen for them), but do NOT enter the recent-events ring so
130
- * meaningful events (motion / phase transitions / device lifecycle / addon
131
- * lifecycle / recording / detection.event) survive in the last-N window without
132
- * being displaced by per-frame noise.
133
- */
136
+ * Categories filtered out of the `recent[]` ring buffer.
137
+ *
138
+ * High-frequency, low-value-for-the-operator categories — periodic metrics
139
+ * snapshots, per-frame inference traces, raw motion-mask dumps, model-download
140
+ * progress, etc. They still fan out to live subscribers (UI charts that
141
+ * explicitly listen for them), but do NOT enter the recent-events ring so
142
+ * meaningful events (motion / phase transitions / device lifecycle / addon
143
+ * lifecycle / recording / detection.event) survive in the last-N window without
144
+ * being displaced by per-frame noise.
145
+ */
134
146
  export declare const RING_BUFFER_DENY_PATTERNS: readonly string[];
135
147
  /**
136
- * Hard cap on the `recent[]` buffer size. Even audit-grade categories that
137
- * are NOT on the deny-list (e.g. `device.state-changed`) must not accumulate
138
- * without bound — this is the last-N window, not a durable log. Without this
139
- * cap the buffer grew forever (~26 MB/h/process across every broker, agent,
140
- * and UDS-child bus), filling the hub to 16 GB.
141
- */
142
- export declare const MAX_RECENT_EVENTS = 1000;
148
+ * Hard cap on the `recent[]` buffer size. Even audit-grade categories that
149
+ * are NOT on the deny-list (e.g. `device.state-changed`) must not accumulate
150
+ * without bound — this is the last-N window, not a durable log. Without this
151
+ * cap the buffer grew forever (~26 MB/h/process across every broker, agent,
152
+ * and UDS-child bus), filling the hub to 16 GB.
153
+ */
154
+ export declare const MAX_RECENT_EVENTS = 1e3;
143
155
  export declare function isHighFrequencyCategory(category: string): boolean;
144
156
  /**
145
- * Cross-node (Moleculer) inbound gate: an inbound cross-node event whose
146
- * category no local subscriber on THIS node wants (the union of its children's
147
- * declared patterns) is dropped and counted (`suppressed`). It always filters —
148
- * the `CAMSTACK_MOLECULER_EVENT_FANOUT` shadow/broadcast modes were removed on
149
- * 2026-10-06; the intra-host analogue is `LocalChildRegistry.childWantsEvent`.
150
- */
157
+ * Cross-node (Moleculer) inbound gate: an inbound cross-node event whose
158
+ * category no local subscriber on THIS node wants (the union of its children's
159
+ * declared patterns) is dropped and counted (`suppressed`). It always filters —
160
+ * the `CAMSTACK_MOLECULER_EVENT_FANOUT` shadow/broadcast modes were removed on
161
+ * 2026-10-06; the intra-host analogue is `LocalChildRegistry.childWantsEvent`.
162
+ */
151
163
  /**
152
- * A node's inbound-interest snapshot used by {@link crossNodeAcceptsCategory}.
153
- * - `retainRecent` — the receiving bus retains events for `getRecent`/audit
154
- * (the hub main process). Such a bus genuinely wants EVERY category (its
155
- * interest set is the admin-ui live stream + recent[] ring), so it always
156
- * fails OPEN — it never filters inbound cross-node events.
157
- * - `interest` — the union of this node's local subscribers' declared category
158
- * patterns (aggregated from its UDS children). `null` = undeclared / unknown
159
- * (a legacy child, or no oracle installed) → fail OPEN (accept everything).
160
- * An EMPTY array is a *declared* "wants nothing" and drops every category.
161
- */
164
+ * A node's inbound-interest snapshot used by {@link crossNodeAcceptsCategory}.
165
+ * - `retainRecent` — the receiving bus retains events for `getRecent`/audit
166
+ * (the hub main process). Such a bus genuinely wants EVERY category (its
167
+ * interest set is the admin-ui live stream + recent[] ring), so it always
168
+ * fails OPEN — it never filters inbound cross-node events.
169
+ * - `interest` — the union of this node's local subscribers' declared category
170
+ * patterns (aggregated from its UDS children). `null` = undeclared / unknown
171
+ * (a legacy child, or no oracle installed) → fail OPEN (accept everything).
172
+ * An EMPTY array is a *declared* "wants nothing" and drops every category.
173
+ */
162
174
  export interface CrossNodeInterestSnapshot {
163
- readonly retainRecent: boolean;
164
- readonly interest: readonly string[] | null;
175
+ readonly retainRecent: boolean;
176
+ readonly interest: readonly string[] | null;
165
177
  }
166
178
  /**
167
- * Does this node want to accept an inbound cross-node event in `category`?
168
- * The receiving-side mirror of `LocalChildRegistry.childWantsEvent`:
169
- * - a retaining bus (hub main) → always (it serves `getRecent` + admin-ui;
170
- * its interest is genuinely everything).
171
- * - undeclared interest (`null`) → always (fail-open).
172
- * - else the declared union must match via `matchesPattern` — the SAME
173
- * function the local subscriber map-key gate uses, giving delivery parity.
174
- */
179
+ * Does this node want to accept an inbound cross-node event in `category`?
180
+ * The receiving-side mirror of `LocalChildRegistry.childWantsEvent`:
181
+ * - a retaining bus (hub main) → always (it serves `getRecent` + admin-ui;
182
+ * its interest is genuinely everything).
183
+ * - undeclared interest (`null`) → always (fail-open).
184
+ * - else the declared union must match via `matchesPattern` — the SAME
185
+ * function the local subscriber map-key gate uses, giving delivery parity.
186
+ */
175
187
  export declare function crossNodeAcceptsCategory(snapshot: CrossNodeInterestSnapshot, category: string): boolean;
176
188
  /**
177
- * Deliver `event` to all matching local subscribers and — ONLY on a bus that
178
- * opted into retention (`state.retainRecent`, i.e. the hub main process) and
179
- * unless the event is high-frequency — append it to the bounded `recent[]`
180
- * ring.
181
- *
182
- * On a non-retaining bus (child runners, agents) the retention block is skipped
183
- * entirely: events are one-shot / fire-and-forget, still fanned out to local
184
- * subscribers but never accumulated. `getRecent` on such a bus returns `[]`.
185
- */
189
+ * Deliver `event` to all matching local subscribers and — ONLY on a bus that
190
+ * opted into retention (`state.retainRecent`, i.e. the hub main process) and
191
+ * unless the event is high-frequency — append it to the bounded `recent[]`
192
+ * ring.
193
+ *
194
+ * On a non-retaining bus (child runners, agents) the retention block is skipped
195
+ * entirely: events are one-shot / fire-and-forget, still fanned out to local
196
+ * subscribers but never accumulated. `getRecent` on such a bus returns `[]`.
197
+ */
186
198
  export declare function deliverShared(state: SharedBusState, event: SystemEvent): void;