@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,179 +1,205 @@
1
- import { AddonInitResult, ConfigUISchema, DeviceProxy, BaseAddon } from '@camstack/types';
1
+ /**
2
+ * Camera Grids — several cameras composed into one, emitted as an ordinary
3
+ * camera.
4
+ *
5
+ * ## What it is
6
+ *
7
+ * A grid is a DEVICE this addon declares, with one stream that is composed
8
+ * rather than dialled. Everything downstream treats it as a camera: it records,
9
+ * it appears in the timeline, it has a profile slot, it is bound like any other
10
+ * — with ONE deliberate exception, object detection, which is switched off at
11
+ * creation (see `silence-analysis.ts` for why, and for why it is never
12
+ * re-asserted afterwards).
13
+ *
14
+ * ## Hub-only, one process
15
+ *
16
+ * `placement: hub-only`, `instanceMode: unique`, and NOT in any `execution.group`
17
+ * (D2/D29): it runs ffmpeg children over live media, and a co-located crash
18
+ * would respawn the whole runner.
19
+ *
20
+ * ## The lifecycle, in one line
21
+ *
22
+ * No prebuffer. The composition runs while a consumer is reading it and not one
23
+ * second longer — see `grid-stream-session.ts`, which owns that rule, and
24
+ * `grid-stream-relay.ts`, where an open socket IS the consumer.
25
+ */
26
+ import type { AddonInitResult, ConfigUISchema, DeviceProxy } from "@camstack/types";
27
+ import { BaseAddon } from "@camstack/types";
2
28
  interface CameraGridAddonConfig {
3
- /** Operator-written rows. Name only on creation; geometry is added later. */
4
- readonly cameraGrids: readonly Record<string, unknown>[];
5
- /** Durable deletion intent, so a removed grid is not re-adopted by a sweep. */
6
- readonly cameraGridTombstones: readonly string[];
29
+ /** Operator-written rows. Name only on creation; geometry is added later. */
30
+ readonly cameraGrids: readonly Record<string, unknown>[];
31
+ /** Durable deletion intent, so a removed grid is not re-adopted by a sweep. */
32
+ readonly cameraGridTombstones: readonly string[];
7
33
  }
8
34
  export declare class CameraGridAddon extends BaseAddon<CameraGridAddonConfig> {
9
- private relay;
10
- private reconcileTimer;
11
- /** Keyed by instance id — ONE composition per grid. */
12
- private readonly sessions;
13
- private readonly deviceIdByInstanceId;
14
- private readonly tombstones;
15
- /**
16
- * What each grid can honestly publish, per profile.
17
- *
18
- * ABSENT means "not asked yet", and it is a REFUSAL to describe — the device
19
- * throws rather than answering an empty catalog, because an empty catalog
20
- * retracts every stream the broker holds for the grid. It is refreshed on
21
- * every reconcile and on every layout save; the window belongs to the READER
22
- * (D224), and 60 s is the window for a fact — "does 615 have a low assigned"
23
- * — that only changes when an operator changes it.
24
- */
25
- private readonly plansByInstanceId;
26
- private activity;
27
- private snapshots;
28
- private frameSampler;
29
- /** The node's pinned ffmpeg (D540). `null` until init resolved it — a
30
- * composition then refuses by name; there is no PATH default. */
31
- private ffmpegBinaryPath;
32
- /** The node's pinned build, remembered only on success (D540). */
33
- private readonly pinnedFfmpeg;
34
- /** A resolution in flight, so a reconcile pass never starts a second. */
35
- private ffmpegResolving;
36
- private integrationId;
37
- constructor();
38
- protected onInitialize(): Promise<AddonInitResult>;
39
- protected onConfigChanged(): Promise<void>;
40
- protected onShutdown(): Promise<void>;
41
- private instances;
42
- private instanceById;
43
- /**
44
- * Fill in everything a name-only row is missing, and persist if it changed.
45
- *
46
- * Without this a freshly typed row is unparseable, and `readGridInstances`
47
- * IGNORES what it cannot parse — so creation would silently do nothing.
48
- */
49
- private normalizeRows;
50
- private replaceTombstones;
51
- private reconcile;
52
- private silenceAnalysis;
53
- /**
54
- * Listen to the SOURCES, so the grid can say the same things about itself.
55
- *
56
- * Filtered by source id inside the handler rather than by subscribing per
57
- * camera: the bus filter is per category, the set of sources changes whenever
58
- * an operator drags a cell, and a per-camera subscription would have to be
59
- * torn down and rebuilt on every layout save.
60
- *
61
- * Every handler is TOTAL — a malformed payload is ignored, never thrown out
62
- * of. These are telemetry events on a shared bus (D8/D11), and a throw here
63
- * would take the grid's forwarding down for every grid because one camera
64
- * emitted something unexpected.
65
- */
66
- private subscribeSourceActivity;
67
- /**
68
- * Which grids show this camera. Empty for the overwhelming majority of
69
- * events, which is why it is the FIRST thing every handler asks.
70
- */
71
- private gridsForSource;
72
- /**
73
- * Which stream each grid reads each of its sources at, asked of the BROKER.
74
- *
75
- * `listAllProfileSlots` is the one authority on "does 615 have a low
76
- * assigned", and `sourceCamStreamId === null` is its way of saying no. A read
77
- * that FAILS leaves the previous answer in place and says so — it is not an
78
- * empty catalog, and turning it into one would retract the streams of every
79
- * grid on the hub.
80
- */
81
- private refreshSourcePlans;
82
- /**
83
- * Say WHICH stream each cell is read at, and who could not be read - once per
84
- * change.
85
- *
86
- * Both halves earn their line. A grid silently missing from a catalog is
87
- * indistinguishable from a broker that swept it, so the refusal names the
88
- * sources. And the chosen profiles are the answer to "why is this tile
89
- * soft?" — a camera whose only assigned slot is `high` is read at `high`, and
90
- * nothing else in the system would ever say so.
91
- *
92
- * Logged on the EDGE: a grid that cannot be composed would otherwise write a
93
- * line a minute for ever.
94
- */
95
- private logSourcePlan;
96
- private plansFor;
97
- private planFor;
98
- /**
99
- * The canvas of the BEST profile this grid offers.
100
- *
101
- * Used where a single geometry is needed for something that is not a
102
- * composition — the detection boxes a grid forwards (`grid-activity`), which
103
- * are normalized against whatever picture the viewer is looking at. The best
104
- * offered one is the honest default; a grid offering nothing has no geometry
105
- * and says so.
106
- */
107
- private canvasFor;
108
- private ensureSessions;
109
- /**
110
- * The source cameras' names, for the cards the canvas is seeded with.
111
- *
112
- * Asked of the device manager, which OWNS the name, at the moment the seed is
113
- * drawn — never kept here. A consumer that mirrored this would be stale on
114
- * exactly the write an operator makes (D224), for a label.
115
- *
116
- * A device that cannot be read is simply absent from the map, and its card
117
- * carries the device id instead. One unreadable camera never costs the other
118
- * cards their names, which is why these are settled rather than awaited as
119
- * one batch.
120
- */
121
- private sourceNames;
122
- private makeSession;
123
- /** The session a dial is asking for, or `null` - which the relay answers 404 to. */
124
- private sessionFor;
125
- /** This grid's sessions, in DESCENDING quality — the snapshot takes the first running one. */
126
- private sessionsForDevice;
127
- /** A grid that is gone stops immediately - it must not keep N sources dialled. */
128
- private retireWithdrawnSessions;
129
- /**
130
- * A geometry change is a NEW composition. The running child is composing the
131
- * old one, and ffmpeg has no way to be told otherwise, so it is stopped: the
132
- * consumer's next read re-dials and gets the new picture.
133
- */
134
- private applyLayoutChanges;
135
- private getSnapshot;
136
- /**
137
- * One frame out of a composition that is ALREADY running.
138
- *
139
- * `openIfRunning` is the whole guarantee: it refuses a cold session, so a
140
- * thumbnail can never be the reason N sources get acquired. A grid that is
141
- * not being watched has no fresh frame, and that is the honest answer.
142
- */
143
- private sampleFrame;
144
- /**
145
- * Every stream this grid offers, or `null` when the addon cannot say.
146
- *
147
- * `null` is a refusal to describe and the device turns it into a THROW. An
148
- * empty array would be the broker reading "this camera offers nothing" and
149
- * sweeping every stream it holds for the grid.
150
- */
151
- private descriptorsFor;
152
- private instanceIdForDevice;
153
- private instanceForDevice;
154
- private gridViewFor;
155
- private saveGridLayout;
156
- /**
157
- * Resolve the pinned build, single-flighted, and hand it to the frame sampler.
158
- * Never throws: a failure is an ERROR and leaves the binary unknown, so the
159
- * next pass that wants a composition asks again. Never PATH: the host's
160
- * ffmpeg is not ours (`packages/types/src/deps/ffmpeg-binary-source.ts`).
161
- */
162
- private resolveFfmpeg;
163
- /**
164
- * The integration page: a list of grids, with a NAME.
165
- *
166
- * Deliberately nothing else. A generated form for the geometry would render
167
- * "cell 1 source = 592, cell 1 crop x = 0.25" and be unusable, so the
168
- * geometry lives in a WIDGET on the camera's own device details, declared by
169
- * the `camera-grid-layout` CAPABILITY (`camera-grid-layout.cap.ts`). It used
170
- * to be a `type:'widget'` field in this addon's own `deviceSettingsSchema()`
171
- * and it rendered NOWHERE: that section is only fetched for the four addons
172
- * hand-listed in `PIPELINE_CLUSTER_DEVICE_ADDONS`, and an addon not on the
173
- * list falls off silently. A cap-declared widget is placed by the framework,
174
- * on the camera, beside PTZ and motion zones.
175
- */
176
- protected globalSettingsSchema(): ConfigUISchema;
177
- protected integrationSettingSections(): readonly string[];
35
+ private relay;
36
+ private reconcileTimer;
37
+ /** Keyed by instance id — ONE composition per grid. */
38
+ private readonly sessions;
39
+ private readonly deviceIdByInstanceId;
40
+ private readonly tombstones;
41
+ /**
42
+ * What each grid can honestly publish, per profile.
43
+ *
44
+ * ABSENT means "not asked yet", and it is a REFUSAL to describe — the device
45
+ * throws rather than answering an empty catalog, because an empty catalog
46
+ * retracts every stream the broker holds for the grid. It is refreshed on
47
+ * every reconcile and on every layout save; the window belongs to the READER
48
+ * (D224), and 60 s is the window for a fact — "does 615 have a low assigned"
49
+ * — that only changes when an operator changes it.
50
+ */
51
+ private readonly plansByInstanceId;
52
+ private activity;
53
+ private snapshots;
54
+ private frameSampler;
55
+ /** The node's pinned ffmpeg (D540). `null` until init resolved it — a
56
+ * composition then refuses by name; there is no PATH default. */
57
+ private ffmpegBinaryPath;
58
+ /** The node's pinned build, remembered only on success (D540). */
59
+ private readonly pinnedFfmpeg;
60
+ /** A resolution in flight, so a reconcile pass never starts a second. */
61
+ private ffmpegResolving;
62
+ private integrationId;
63
+ constructor();
64
+ protected onInitialize(): Promise<AddonInitResult>;
65
+ protected onConfigChanged(): Promise<void>;
66
+ protected onShutdown(): Promise<void>;
67
+ private instances;
68
+ private instanceById;
69
+ /**
70
+ * Fill in everything a name-only row is missing, and persist if it changed.
71
+ *
72
+ * Without this a freshly typed row is unparseable, and `readGridInstances`
73
+ * IGNORES what it cannot parse — so creation would silently do nothing.
74
+ */
75
+ private normalizeRows;
76
+ private replaceTombstones;
77
+ private reconcile;
78
+ private silenceAnalysis;
79
+ /**
80
+ * Listen to the SOURCES, so the grid can say the same things about itself.
81
+ *
82
+ * Filtered by source id inside the handler rather than by subscribing per
83
+ * camera: the bus filter is per category, the set of sources changes whenever
84
+ * an operator drags a cell, and a per-camera subscription would have to be
85
+ * torn down and rebuilt on every layout save.
86
+ *
87
+ * Every handler is TOTAL — a malformed payload is ignored, never thrown out
88
+ * of. These are telemetry events on a shared bus (D8/D11), and a throw here
89
+ * would take the grid's forwarding down for every grid because one camera
90
+ * emitted something unexpected.
91
+ */
92
+ private subscribeSourceActivity;
93
+ /**
94
+ * Which grids show this camera. Empty for the overwhelming majority of
95
+ * events, which is why it is the FIRST thing every handler asks.
96
+ */
97
+ private gridsForSource;
98
+ /**
99
+ * Which stream each grid reads each of its sources at, asked of the BROKER.
100
+ *
101
+ * `listAllProfileSlots` is the one authority on "does 615 have a low
102
+ * assigned", and `sourceCamStreamId === null` is its way of saying no. A read
103
+ * that FAILS leaves the previous answer in place and says so — it is not an
104
+ * empty catalog, and turning it into one would retract the streams of every
105
+ * grid on the hub.
106
+ */
107
+ private refreshSourcePlans;
108
+ /**
109
+ * Say WHICH stream each cell is read at, and who could not be read - once per
110
+ * change.
111
+ *
112
+ * Both halves earn their line. A grid silently missing from a catalog is
113
+ * indistinguishable from a broker that swept it, so the refusal names the
114
+ * sources. And the chosen profiles are the answer to "why is this tile
115
+ * soft?" — a camera whose only assigned slot is `high` is read at `high`, and
116
+ * nothing else in the system would ever say so.
117
+ *
118
+ * Logged on the EDGE: a grid that cannot be composed would otherwise write a
119
+ * line a minute for ever.
120
+ */
121
+ private logSourcePlan;
122
+ private plansFor;
123
+ private planFor;
124
+ /**
125
+ * The canvas of the BEST profile this grid offers.
126
+ *
127
+ * Used where a single geometry is needed for something that is not a
128
+ * composition — the detection boxes a grid forwards (`grid-activity`), which
129
+ * are normalized against whatever picture the viewer is looking at. The best
130
+ * offered one is the honest default; a grid offering nothing has no geometry
131
+ * and says so.
132
+ */
133
+ private canvasFor;
134
+ private ensureSessions;
135
+ /**
136
+ * The source cameras' names, for the cards the canvas is seeded with.
137
+ *
138
+ * Asked of the device manager, which OWNS the name, at the moment the seed is
139
+ * drawn — never kept here. A consumer that mirrored this would be stale on
140
+ * exactly the write an operator makes (D224), for a label.
141
+ *
142
+ * A device that cannot be read is simply absent from the map, and its card
143
+ * carries the device id instead. One unreadable camera never costs the other
144
+ * cards their names, which is why these are settled rather than awaited as
145
+ * one batch.
146
+ */
147
+ private sourceNames;
148
+ private makeSession;
149
+ /** The session a dial is asking for, or `null` - which the relay answers 404 to. */
150
+ private sessionFor;
151
+ /** This grid's sessions, in DESCENDING quality — the snapshot takes the first running one. */
152
+ private sessionsForDevice;
153
+ /** A grid that is gone stops immediately - it must not keep N sources dialled. */
154
+ private retireWithdrawnSessions;
155
+ /**
156
+ * A geometry change is a NEW composition. The running child is composing the
157
+ * old one, and ffmpeg has no way to be told otherwise, so it is stopped: the
158
+ * consumer's next read re-dials and gets the new picture.
159
+ */
160
+ private applyLayoutChanges;
161
+ private getSnapshot;
162
+ /**
163
+ * One frame out of a composition that is ALREADY running.
164
+ *
165
+ * `openIfRunning` is the whole guarantee: it refuses a cold session, so a
166
+ * thumbnail can never be the reason N sources get acquired. A grid that is
167
+ * not being watched has no fresh frame, and that is the honest answer.
168
+ */
169
+ private sampleFrame;
170
+ /**
171
+ * Every stream this grid offers, or `null` when the addon cannot say.
172
+ *
173
+ * `null` is a refusal to describe and the device turns it into a THROW. An
174
+ * empty array would be the broker reading "this camera offers nothing" and
175
+ * sweeping every stream it holds for the grid.
176
+ */
177
+ private descriptorsFor;
178
+ private instanceIdForDevice;
179
+ private instanceForDevice;
180
+ private gridViewFor;
181
+ private saveGridLayout;
182
+ /**
183
+ * Resolve the pinned build, single-flighted, and hand it to the frame sampler.
184
+ * Never throws: a failure is an ERROR and leaves the binary unknown, so the
185
+ * next pass that wants a composition asks again. Never PATH: the host's
186
+ * ffmpeg is not ours (`packages/types/src/deps/ffmpeg-binary-source.ts`).
187
+ */
188
+ private resolveFfmpeg;
189
+ /**
190
+ * The integration page: a list of grids, with a NAME.
191
+ *
192
+ * Deliberately nothing else. A generated form for the geometry would render
193
+ * "cell 1 source = 592, cell 1 crop x = 0.25" and be unusable, so the
194
+ * geometry lives in a WIDGET on the camera's own device details, declared by
195
+ * the `camera-grid-layout` CAPABILITY (`camera-grid-layout.cap.ts`). It used
196
+ * to be a `type:'widget'` field in this addon's own `deviceSettingsSchema()`
197
+ * and it rendered NOWHERE: that section is only fetched for the four addons
198
+ * hand-listed in `PIPELINE_CLUSTER_DEVICE_ADDONS`, and an addon not on the
199
+ * list falls off silently. A cap-declared widget is placed by the framework,
200
+ * on the camera, beside PTZ and motion zones.
201
+ */
202
+ protected override globalSettingsSchema(): ConfigUISchema;
203
+ protected override integrationSettingSections(): readonly string[];
178
204
  }
179
205
  export type { DeviceProxy };
@@ -1,66 +1,40 @@
1
- /**
2
- * Making one FLV stream joinable by many readers.
3
- *
4
- * MPEG-TS is self-describing: a reader attaches mid-stream, waits for the next
5
- * PAT/PMT and decodes. FLV is not. Its 9-byte signature, its `onMetaData`
6
- * script tag and its AVC sequence header appear ONCE, at the top, and a reader
7
- * that arrives later is handed the middle of a tag — ffmpeg answers `Invalid
8
- * data found when processing input`, which is exactly what the hub did the
9
- * minute the grid started emitting FLV (2026-09-17). The grid emits FLV because
10
- * the bundled ffmpeg segfaults remuxing MPEG-TS (D519 notes, same day), so the
11
- * format is not negotiable and this is the price of it.
12
- *
13
- * The join point therefore does two things, and nothing else:
14
- *
15
- * - **remembers what describes the stream** — the header, the newest script
16
- * tag, the newest AVC sequence header. Newest, not first: an encoder that
17
- * respawns emits a new sequence header, and a reader handed the old one
18
- * decodes noise;
19
- * - **starts each reader on a tag boundary at a KEYFRAME**, never mid-tag and
20
- * never on an inter frame that references pictures the reader never saw.
21
- *
22
- * It is a parser, not a buffer: nothing is retained beyond the preamble and the
23
- * partial tag currently being assembled. A composite at 10 fps with a 2-second
24
- * GOP makes a reader wait at most two seconds to join, which is the same wait
25
- * MPEG-TS would have imposed for its next key frame.
26
- */
27
1
  interface MutableReader {
28
- started: boolean;
29
- queued: Buffer[];
2
+ started: boolean;
3
+ queued: Buffer[];
30
4
  }
31
5
  /**
32
- * One reader's view of the stream.
33
- *
34
- * Every consumer holds one, the first included: a join point with a privileged
35
- * "primary" reader would have two code paths for the same question, and the
36
- * grid's first consumer is not special — it just happens to arrive when the
37
- * preamble is still being learnt.
38
- */
6
+ * One reader's view of the stream.
7
+ *
8
+ * Every consumer holds one, the first included: a join point with a privileged
9
+ * "primary" reader would have two code paths for the same question, and the
10
+ * grid's first consumer is not special — it just happens to arrive when the
11
+ * preamble is still being learnt.
12
+ */
39
13
  export declare class FlvReader {
40
- private readonly state;
41
- private readonly detach;
42
- constructor(state: MutableReader, detach: (state: MutableReader) => void);
43
- /** True until the preamble and a key frame have been handed over. */
44
- get pending(): boolean;
45
- /** The bytes owed to this reader since the last call, or `null`. */
46
- take(): Buffer | null;
47
- /** Stop receiving. Anything queued is dropped with the reader. */
48
- close(): void;
14
+ private readonly state;
15
+ private readonly detach;
16
+ constructor(state: MutableReader, detach: (state: MutableReader) => void);
17
+ /** True until the preamble and a key frame have been handed over. */
18
+ get pending(): boolean;
19
+ /** The bytes owed to this reader since the last call, or `null`. */
20
+ take(): Buffer | null;
21
+ /** Stop receiving. Anything queued is dropped with the reader. */
22
+ close(): void;
49
23
  }
50
24
  export declare class FlvJoinPoint {
51
- private buffer;
52
- private header;
53
- private script;
54
- private sequenceHeader;
55
- private readonly readers;
56
- /** Attach a reader. It receives the preamble at the next key frame. */
57
- join(): FlvReader;
58
- /** Feed bytes from the encoder; each reader then takes what it is owed. */
59
- accept(chunk: Buffer): void;
60
- private consumeHeader;
61
- private consumeTags;
62
- private dispatch;
63
- /** The bytes that describe the stream, or `null` while any is still unknown. */
64
- private preamble;
25
+ private buffer;
26
+ private header;
27
+ private script;
28
+ private sequenceHeader;
29
+ private readonly readers;
30
+ /** Attach a reader. It receives the preamble at the next key frame. */
31
+ join(): FlvReader;
32
+ /** Feed bytes from the encoder; each reader then takes what it is owed. */
33
+ accept(chunk: Buffer): void;
34
+ private consumeHeader;
35
+ private consumeTags;
36
+ private dispatch;
37
+ /** The bytes that describe the stream, or `null` while any is still unknown. */
38
+ private preamble;
65
39
  }
66
40
  export {};
@@ -1,42 +1,42 @@
1
1
  /** The grid's own motion answer, in the shape the `motion` cap publishes. */
2
2
  export interface GridMotionState {
3
- readonly detected: boolean;
4
- /** Ms epoch of the most recent rising edge on ANY source (never a heartbeat). Null if never. */
5
- readonly lastDetectedAt: number | null;
3
+ readonly detected: boolean;
4
+ /** Ms epoch of the most recent rising edge on ANY source (never a heartbeat). Null if never. */
5
+ readonly lastDetectedAt: number | null;
6
6
  }
7
7
  export declare class GridActivityMirror {
8
- private readonly motion;
9
- private readonly audio;
10
- private lastDetectedAt;
11
- /**
12
- * One source's motion push. `detected: false` is as important as `true`.
13
- *
14
- * `lastDetectedAt` moves only on a source's RISING edge — the source was not
15
- * moving, or its last `true` had expired. A source's pushes include a
16
- * heartbeat (the bridge's sustain ticks, every `true` a camera re-sends while
17
- * a subject stays), and moving the stamp on each one made the grid's
18
- * `lastDetectedAt` "the last tick of any cell" while every camera's is its
19
- * last effective RISE (D696): the viewer's Motion order then ranked the grid
20
- * above the very cells it shows (2026-10-06).
21
- */
22
- noteMotion(sourceDeviceId: number, detected: boolean, atMs: number): void;
23
- /** One source's audio window. `dbfs` is the level, on the analyzer's scale. */
24
- noteAudio(sourceDeviceId: number, dbfs: number, atMs: number): void;
25
- /**
26
- * Drop every source this grid no longer composes.
27
- *
28
- * A cell removed while its camera was moving would otherwise hold the grid
29
- * lit until the expiry, for a picture the source is not even in.
30
- */
31
- keepOnly(sourceDeviceIds: readonly number[]): void;
32
- /** At least one source moving, as of `nowMs`. */
33
- motionAt(nowMs: number): GridMotionState;
34
- /**
35
- * The loudest CURRENT reading, or `null` when nothing fresh has been heard.
36
- *
37
- * Null and not `-Infinity`: "nobody has reported a level" is a different
38
- * answer from "it is silent", and a number here would have the viewer draw a
39
- * level for a grid whose sources are not being analysed at all.
40
- */
41
- loudestAt(nowMs: number): number | null;
8
+ private readonly motion;
9
+ private readonly audio;
10
+ private lastDetectedAt;
11
+ /**
12
+ * One source's motion push. `detected: false` is as important as `true`.
13
+ *
14
+ * `lastDetectedAt` moves only on a source's RISING edge — the source was not
15
+ * moving, or its last `true` had expired. A source's pushes include a
16
+ * heartbeat (the bridge's sustain ticks, every `true` a camera re-sends while
17
+ * a subject stays), and moving the stamp on each one made the grid's
18
+ * `lastDetectedAt` "the last tick of any cell" while every camera's is its
19
+ * last effective RISE (D696): the viewer's Motion order then ranked the grid
20
+ * above the very cells it shows (2026-10-06).
21
+ */
22
+ noteMotion(sourceDeviceId: number, detected: boolean, atMs: number): void;
23
+ /** One source's audio window. `dbfs` is the level, on the analyzer's scale. */
24
+ noteAudio(sourceDeviceId: number, dbfs: number, atMs: number): void;
25
+ /**
26
+ * Drop every source this grid no longer composes.
27
+ *
28
+ * A cell removed while its camera was moving would otherwise hold the grid
29
+ * lit until the expiry, for a picture the source is not even in.
30
+ */
31
+ keepOnly(sourceDeviceIds: readonly number[]): void;
32
+ /** At least one source moving, as of `nowMs`. */
33
+ motionAt(nowMs: number): GridMotionState;
34
+ /**
35
+ * The loudest CURRENT reading, or `null` when nothing fresh has been heard.
36
+ *
37
+ * Null and not `-Infinity`: "nobody has reported a level" is a different
38
+ * answer from "it is silent", and a number here would have the viewer draw a
39
+ * level for a grid whose sources are not being analysed at all.
40
+ */
41
+ loudestAt(nowMs: number): number | null;
42
42
  }