@camstack/system 1.2.390 → 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 -100
  307. package/dist/builtins/system-config/system-config.addon.js +37 -33
  308. package/dist/builtins/system-config/system-config.addon.mjs +37 -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,64 +1,85 @@
1
- import { RecordingStatus } from '@camstack/types';
1
+ /**
2
+ * The liveness invariants, as pure functions.
3
+ *
4
+ * On 2026-08-03 the hub ran for four hours with zero devices, zero published
5
+ * streams and zero recordings, and nothing said a word. Three separate defects
6
+ * caused it — optional chaining that no-oped, an `if` with no `else`, a JSON
7
+ * parse that returned `{}` — and each was silent at the point of failure. All
8
+ * three were fixed and a log line added at each. This module exists for the
9
+ * CLASS rather than the instances: assert what must be true of a working node,
10
+ * and report when it is not.
11
+ *
12
+ * **Every check here is unambiguous, on purpose.** An alert that fires on a
13
+ * quiet night is one an operator learns to ignore, and an ignored alert is
14
+ * worse than no alert. So "the pipeline emitted no tracks recently" is NOT a
15
+ * check — a camera can legitimately see nothing for hours — while "a camera
16
+ * that has been recording all day stopped producing segments" is: continuous
17
+ * recording produces segments whether or not anything moves.
18
+ *
19
+ * I/O lives in the addon; everything here is a function of facts, so the
20
+ * outage can be replayed in a test.
21
+ */
22
+ import type { RecordingStatus } from "@camstack/types";
2
23
  /** The recording mode a camera is running under, as `recording.getStatus` reports it. */
3
- export type RecordingActiveMode = RecordingStatus['activeMode'];
24
+ export type RecordingActiveMode = RecordingStatus["activeMode"];
4
25
  /** What the monitor learned about one camera this tick. */
5
26
  export interface CameraFootage {
6
- readonly deviceId: number;
7
- /**
8
- * Operator-facing name. Prefer this in the finding message; the numeric id
9
- * stays on `deviceId` for tags / stable finding ids.
10
- */
11
- readonly name?: string;
12
- readonly online: boolean;
13
- /**
14
- * ms-epoch of the newest recorded segment within the lookback window, or
15
- * `null` when the camera has produced NO footage in it.
16
- *
17
- * `null` means "this camera does not record" and is deliberately not a
18
- * finding — it is what makes the check self-calibrating. Nothing has to be
19
- * told which cameras are supposed to record: a camera that was recording and
20
- * stopped is a fault, a camera that never records is a configuration.
21
- */
22
- readonly lastSegmentMs: number | null;
23
- /**
24
- * The recording mode the camera runs under, asked only when it looks silent
25
- * (`null` = not asked, the footage was recent). Silence is a fault ONLY for a
26
- * `continuous` recorder: an `events` recorder that has seen nothing move is
27
- * doing its job, and `off` is the operator's own switch. Seven events-mode
28
- * cameras alerted for a whole quiet night on 2026-09-06.
29
- */
30
- readonly activeMode: RecordingActiveMode | null;
27
+ readonly deviceId: number;
28
+ /**
29
+ * Operator-facing name. Prefer this in the finding message; the numeric id
30
+ * stays on `deviceId` for tags / stable finding ids.
31
+ */
32
+ readonly name?: string;
33
+ readonly online: boolean;
34
+ /**
35
+ * ms-epoch of the newest recorded segment within the lookback window, or
36
+ * `null` when the camera has produced NO footage in it.
37
+ *
38
+ * `null` means "this camera does not record" and is deliberately not a
39
+ * finding — it is what makes the check self-calibrating. Nothing has to be
40
+ * told which cameras are supposed to record: a camera that was recording and
41
+ * stopped is a fault, a camera that never records is a configuration.
42
+ */
43
+ readonly lastSegmentMs: number | null;
44
+ /**
45
+ * The recording mode the camera runs under, asked only when it looks silent
46
+ * (`null` = not asked, the footage was recent). Silence is a fault ONLY for a
47
+ * `continuous` recorder: an `events` recorder that has seen nothing move is
48
+ * doing its job, and `off` is the operator's own switch. Seven events-mode
49
+ * cameras alerted for a whole quiet night on 2026-09-06.
50
+ */
51
+ readonly activeMode: RecordingActiveMode | null;
31
52
  }
32
53
  export interface LivenessFacts {
33
- readonly nowMs: number;
34
- /** Every device the node knows about, cameras and accessories alike. */
35
- readonly deviceCount: number;
36
- readonly cameras: readonly CameraFootage[];
37
- /** How long a recording camera may stay silent before it is a fault. */
38
- readonly staleAfterMs: number;
54
+ readonly nowMs: number;
55
+ /** Every device the node knows about, cameras and accessories alike. */
56
+ readonly deviceCount: number;
57
+ readonly cameras: readonly CameraFootage[];
58
+ /** How long a recording camera may stay silent before it is a fault. */
59
+ readonly staleAfterMs: number;
39
60
  }
40
61
  export interface LivenessFinding {
41
- /**
42
- * Stable across ticks, so an ongoing fault UPDATES one alert instead of
43
- * producing a new one every minute. Same contract as the kernel's
44
- * `addon-load-failed:<packageName>` ids.
45
- */
46
- readonly id: string;
47
- readonly severity: 'error' | 'warning';
48
- readonly title: string;
49
- readonly message: string;
50
- /** Present on per-camera findings. Always the numeric id. */
51
- readonly deviceId?: number;
52
- /** Operator name when known — alert surfaces prefer this over the id. */
53
- readonly deviceName?: string;
62
+ /**
63
+ * Stable across ticks, so an ongoing fault UPDATES one alert instead of
64
+ * producing a new one every minute. Same contract as the kernel's
65
+ * `addon-load-failed:<packageName>` ids.
66
+ */
67
+ readonly id: string;
68
+ readonly severity: "error" | "warning";
69
+ readonly title: string;
70
+ readonly message: string;
71
+ /** Present on per-camera findings. Always the numeric id. */
72
+ readonly deviceId?: number;
73
+ /** Operator name when known — alert surfaces prefer this over the id. */
74
+ readonly deviceName?: string;
54
75
  }
55
76
  /**
56
- * Evaluate every invariant against one tick's facts.
57
- *
58
- * Ordered most-fundamental first, and it STOPS at "no devices": when the node
59
- * has nothing, every camera is also silent, and reporting twelve consequences
60
- * of one cause is how an operator ends up reading none of them.
61
- */
77
+ * Evaluate every invariant against one tick's facts.
78
+ *
79
+ * Ordered most-fundamental first, and it STOPS at "no devices": when the node
80
+ * has nothing, every camera is also silent, and reporting twelve consequences
81
+ * of one cause is how an operator ends up reading none of them.
82
+ */
62
83
  export declare function evaluateLiveness(facts: LivenessFacts): readonly LivenessFinding[];
63
84
  /** Every finding id this module can produce, for the recovery sweep. */
64
85
  export declare function isLivenessFindingId(id: string): boolean;
@@ -1,41 +1,62 @@
1
- import { BaseAddon, ProviderRegistration } from '@camstack/types';
2
- import { LivenessFinding } from './liveness-checks.js';
1
+ /**
2
+ * liveness-monitor — the node states, out loud, when it has stopped working.
3
+ *
4
+ * On 2026-08-03 the hub ran for four hours with zero devices, zero published
5
+ * streams and zero recordings. Three separate defects caused it, each silent at
6
+ * the point of failure, and the operator found out by opening the viewer. Every
7
+ * one of those defects has since been fixed and given a log line — but a log
8
+ * line per known bug does not cover the next one. This addon covers the class:
9
+ * it asserts what must be true of a working node and reports when it is not.
10
+ *
11
+ * It emits `SystemLivenessFailed` / `SystemLivenessRecovered` on the event bus
12
+ * with a STABLE finding id, exactly like the kernel's addon-health monitor, so
13
+ * AlertCenter raises one persistent alert per fault and dismisses it on
14
+ * recovery instead of producing a stream of them. The same lines go to the log
15
+ * at ERROR, which is what makes them alertable in Loki.
16
+ *
17
+ * Deliberately hub-only and deliberately read-only: it observes through
18
+ * `ctx.api` and changes nothing. A monitor that can act is a monitor that can
19
+ * cause the outage it was meant to report — this repo has already stopped a
20
+ * hub that way once (the remedial-action watcher, 2026-07-30).
21
+ */
22
+ import { BaseAddon, type ProviderRegistration } from "@camstack/types";
23
+ import { type LivenessFinding } from "./liveness-checks.js";
3
24
  interface LivenessMonitorConfig extends Record<string, unknown> {
4
- readonly staleAfterMs?: number;
25
+ readonly staleAfterMs?: number;
5
26
  }
6
27
  export declare class LivenessMonitorAddon extends BaseAddon<LivenessMonitorConfig> {
7
- private tickTimer;
8
- private startedAtMs;
9
- /** Finding ids currently reported, so recovery can be detected and announced. */
10
- private active;
11
- constructor();
12
- protected onInitialize(): Promise<ProviderRegistration[]>;
13
- protected onShutdown(): Promise<void>;
14
- /**
15
- * One evaluation. Public so a test or an operator-facing action can force it
16
- * without waiting out the interval.
17
- */
18
- tick(): Promise<readonly LivenessFinding[]>;
19
- /** Read the facts through the cap surface. Changes nothing. */
20
- private gather;
21
- /**
22
- * Newest segment for a camera, or null when it has produced none in a day.
23
- *
24
- * Two steps on purpose: the healthy case asks only for the recent window,
25
- * which is a handful of ranges, and only a camera that looks silent pays for
26
- * the 24-hour lookback that decides whether it records at all.
27
- */
28
- private lastSegmentMs;
29
- /**
30
- * A camera nobody could read is NOT a camera with no footage.
31
- *
32
- * `null` here means "no claim", and `liveness-checks.ts` skips a camera with
33
- * no claim — which is the safe direction. But a skip that says nothing is
34
- * indistinguishable from a healthy tick, so the branch that drops the camera
35
- * names it, per camera (D393, and CLAUDE.md's logging rule).
36
- */
37
- private unreadable;
38
- /** Announce new faults and recoveries; say nothing about an unchanged fault. */
39
- private report;
28
+ private tickTimer;
29
+ private startedAtMs;
30
+ /** Finding ids currently reported, so recovery can be detected and announced. */
31
+ private active;
32
+ constructor();
33
+ protected onInitialize(): Promise<ProviderRegistration[]>;
34
+ protected onShutdown(): Promise<void>;
35
+ /**
36
+ * One evaluation. Public so a test or an operator-facing action can force it
37
+ * without waiting out the interval.
38
+ */
39
+ tick(): Promise<readonly LivenessFinding[]>;
40
+ /** Read the facts through the cap surface. Changes nothing. */
41
+ private gather;
42
+ /**
43
+ * Newest segment for a camera, or null when it has produced none in a day.
44
+ *
45
+ * Two steps on purpose: the healthy case asks only for the recent window,
46
+ * which is a handful of ranges, and only a camera that looks silent pays for
47
+ * the 24-hour lookback that decides whether it records at all.
48
+ */
49
+ private lastSegmentMs;
50
+ /**
51
+ * A camera nobody could read is NOT a camera with no footage.
52
+ *
53
+ * `null` here means "no claim", and `liveness-checks.ts` skips a camera with
54
+ * no claim — which is the safe direction. But a skip that says nothing is
55
+ * indistinguishable from a healthy tick, so the branch that drops the camera
56
+ * names it, per camera (D393, and CLAUDE.md's logging rule).
57
+ */
58
+ private unreadable;
59
+ /** Announce new faults and recoveries; say nothing about an unchanged fault. */
60
+ private report;
40
61
  }
41
62
  export {};
@@ -1,27 +1,27 @@
1
- import { IScopedLogger } from '@camstack/types';
2
- import { AdminSeedOutcome, EnsureAdminOptions } from '../../auth/user-manager.js';
1
+ import type { IScopedLogger } from "@camstack/types";
2
+ import { type AdminSeedOutcome, type EnsureAdminOptions } from "../../auth/user-manager.js";
3
3
  /** The trigger's name, at the root of the node's data directory. */
4
4
  export declare const ADMIN_PASSWORD_RESET_TRIGGER = "RESET_ADMIN_PASSWORD";
5
5
  /** The file operations the boot step needs — injectable for tests. */
6
6
  export interface TriggerFs {
7
- exists(filePath: string): boolean;
8
- remove(filePath: string): void;
7
+ exists(filePath: string): boolean;
8
+ remove(filePath: string): void;
9
9
  }
10
10
  /** The slice of `UserManager` the boot step drives. */
11
11
  export interface AdminAccountManager {
12
- ensureAdminExists(options?: EnsureAdminOptions): Promise<AdminSeedOutcome>;
13
- hasPassword(username: string, password: string): Promise<boolean>;
12
+ ensureAdminExists(options?: EnsureAdminOptions): Promise<AdminSeedOutcome>;
13
+ hasPassword(username: string, password: string): Promise<boolean>;
14
14
  }
15
15
  export interface AdminAccountBootInput {
16
- readonly users: AdminAccountManager;
17
- /** `ctx.nodeDataDir` — where the operator drops the trigger. */
18
- readonly dataDir: string;
19
- readonly fs: TriggerFs;
20
- readonly logger: IScopedLogger;
16
+ readonly users: AdminAccountManager;
17
+ /** `ctx.nodeDataDir` — where the operator drops the trigger. */
18
+ readonly dataDir: string;
19
+ readonly fs: TriggerFs;
20
+ readonly logger: IScopedLogger;
21
21
  }
22
22
  export interface AdminAccountBootResult {
23
- readonly outcome: AdminSeedOutcome;
24
- /** The admin still signs in with {@link FIRST_BOOT_ADMIN_PASSWORD}. */
25
- readonly usesDefaultPassword: boolean;
23
+ readonly outcome: AdminSeedOutcome;
24
+ /** The admin still signs in with {@link FIRST_BOOT_ADMIN_PASSWORD}. */
25
+ readonly usesDefaultPassword: boolean;
26
26
  }
27
27
  export declare function reconcileAdminAccountAtBoot(input: AdminAccountBootInput): Promise<AdminAccountBootResult>;
@@ -1,22 +1,39 @@
1
- import { AuthConfigReader } from '../../auth/auth-manager.js';
2
1
  /**
3
- * The values `local-auth` pre-resolves before constructing its AuthManager.
4
- *
5
- * No credential is among them (D797): the session signing key lives in the
6
- * keychain (`jwt-signing-key.ts`) and the first-boot admin is fixed
7
- * (`admin` / `changeme`), so `auth.jwtSecret`, `auth.adminUsername` and
8
- * `auth.adminPassword` are answered by nothing.
9
- */
2
+ * The `AuthConfigReader` shim `local-auth` hands to its own `AuthManager`.
3
+ *
4
+ * WHY IT IS AN ALLOW-LIST AND STAYS ONE. `AuthConfigReader.get` is
5
+ * SYNCHRONOUS; `ctx.settings.getSection` is a promise over the hub's settings
6
+ * store. The addon therefore resolves the handful of paths its AuthManager
7
+ * actually consults ONCE, in `onInitialize`, and answers only those. The
8
+ * whitelist is not decoration: it is the list of values that were awaited, and
9
+ * a path outside it has no resolved value to return. Widening it means
10
+ * pre-resolving one more value here — never "let the addon read arbitrary host
11
+ * config", which it structurally cannot do anyway.
12
+ *
13
+ * `auth.tokenExpiry` was the path that fell off the end. It was declared,
14
+ * editable and mapped to the `auth` yml section, and this reader answered
15
+ * `undefined` for it, so this AuthManager always signed with the hardcoded
16
+ * fallback no matter what the operator set.
17
+ */
18
+ import type { AuthConfigReader } from "../../auth/auth-manager.js";
19
+ /**
20
+ * The values `local-auth` pre-resolves before constructing its AuthManager.
21
+ *
22
+ * No credential is among them (D797): the session signing key lives in the
23
+ * keychain (`jwt-signing-key.ts`) and the first-boot admin is fixed
24
+ * (`admin` / `changeme`), so `auth.jwtSecret`, `auth.adminUsername` and
25
+ * `auth.adminPassword` are answered by nothing.
26
+ */
10
27
  export interface ResolvedAuthConfig {
11
- /**
12
- * Operator-configured session lifetime. `undefined` when the `auth` section
13
- * carries no value — the signer then applies `DEFAULT_TOKEN_EXPIRY`, which
14
- * is where the default belongs (one default, one place).
15
- */
16
- readonly tokenExpiry: string | undefined;
28
+ /**
29
+ * Operator-configured session lifetime. `undefined` when the `auth` section
30
+ * carries no value — the signer then applies `DEFAULT_TOKEN_EXPIRY`, which
31
+ * is where the default belongs (one default, one place).
32
+ */
33
+ readonly tokenExpiry: string | undefined;
17
34
  }
18
35
  /**
19
- * Every config path this reader can answer. Anything else resolves to
20
- * `undefined` by construction — see the module docblock.
21
- */
36
+ * Every config path this reader can answer. Anything else resolves to
37
+ * `undefined` by construction — see the module docblock.
38
+ */
22
39
  export declare function createAuthConfigReader(resolved: ResolvedAuthConfig): AuthConfigReader;
@@ -1,83 +1,106 @@
1
- import { SettingsStoreClient } from '@camstack/types';
2
1
  /**
3
- * @durable class=config owner=local-auth
4
- * write="an operator creates a user, or `ensureAdminExists` seeds the configured
5
- * admin on first boot (or resets its password on the operator's one-shot
6
- * RESET_ADMIN_PASSWORD trigger); updated on scope, isAdmin and password edits"
7
- * retention="none — a row goes only when an operator deletes the user. A
8
- * `declareCollection` that adds a PK/UNIQUE/NOT-NULL-without-default column
9
- * REBUILDS the table: every account is wiped and only the configured admin
10
- * comes back on the next boot."
11
- */
2
+ * Auth-schema — typed SQL schemas for local-auth's collections.
3
+ *
4
+ * Mirrors the pattern used by pipeline-analytics (`event-store.ts`,
5
+ * `track-store.ts`): each addon owns its own schema, declared once
6
+ * in `onInitialize` via `store.declareCollection.mutate(...)`.
7
+ *
8
+ * Collection names (no namespace — these are global, single-tenant
9
+ * tables backing the auth layer):
10
+ * - users
11
+ * - api_keys
12
+ * - scoped_tokens
13
+ * - oauth_sessions
14
+ * - login_sessions, login_session_cutoffs (`login-session-manager.ts`)
15
+ * - admin_tokens (`admin-token-manager.ts`), auth_audit (`auth-audit-log.ts`)
16
+ *
17
+ * Schema migration: when the backend receives `declareCollection` for
18
+ * a name that already exists with a legacy `(id, data)` KV shape, the
19
+ * `ensureTable` helper drops the old table and recreates it. Existing
20
+ * data is wiped — `ensureAdminExists` re-seeds the admin from
21
+ * CAMSTACK_ADMIN_USER / CAMSTACK_ADMIN_PASS on the next boot (an empty
22
+ * table is a first boot).
23
+ */
24
+ import type { SettingsStoreClient } from "@camstack/types";
25
+ /**
26
+ * @durable class=config owner=local-auth
27
+ * write="an operator creates a user, or `ensureAdminExists` seeds the configured
28
+ * admin on first boot (or resets its password on the operator's one-shot
29
+ * RESET_ADMIN_PASSWORD trigger); updated on scope, isAdmin and password edits"
30
+ * retention="none — a row goes only when an operator deletes the user. A
31
+ * `declareCollection` that adds a PK/UNIQUE/NOT-NULL-without-default column
32
+ * REBUILDS the table: every account is wiped and only the configured admin
33
+ * comes back on the next boot."
34
+ */
12
35
  export declare const USERS_COLLECTION = "users";
13
36
  /**
14
- * @durable class=config owner=local-auth
15
- * write="an operator mints an API key; `validateToken` rewrites `lastUsedAt` on
16
- * every request the key authorises"
17
- * retention="none — an explicit `revoke` is the only delete. API keys have no
18
- * expiry column and no sweep, so a key lives until someone removes it (or the
19
- * destructive `declareCollection` rebuild takes the table)."
20
- */
37
+ * @durable class=config owner=local-auth
38
+ * write="an operator mints an API key; `validateToken` rewrites `lastUsedAt` on
39
+ * every request the key authorises"
40
+ * retention="none — an explicit `revoke` is the only delete. API keys have no
41
+ * expiry column and no sweep, so a key lives until someone removes it (or the
42
+ * destructive `declareCollection` rebuild takes the table)."
43
+ */
21
44
  export declare const API_KEYS_COLLECTION = "api_keys";
22
45
  /**
23
- * @durable class=config owner=local-auth
24
- * write="an operator or the CLI mints a scoped token; `validate` fires
25
- * `updateLastUsed` on every accepted call"
26
- * retention="`revoke` deletes one. The daily sweep `reapExpired` drops rows past
27
- * `expiresAt` — a NULL expiry is a deliberate never-expires token and BETWEEN
28
- * never matches it. `cleanupOrphans` drops tokens owned by the legacy 'system'
29
- * id or by a user that no longer exists."
30
- */
46
+ * @durable class=config owner=local-auth
47
+ * write="an operator or the CLI mints a scoped token; `validate` fires
48
+ * `updateLastUsed` on every accepted call"
49
+ * retention="`revoke` deletes one. The daily sweep `reapExpired` drops rows past
50
+ * `expiresAt` — a NULL expiry is a deliberate never-expires token and BETWEEN
51
+ * never matches it. `cleanupOrphans` drops tokens owned by the legacy 'system'
52
+ * id or by a user that no longer exists."
53
+ */
31
54
  export declare const SCOPED_TOKENS_COLLECTION = "scoped_tokens";
32
55
  /**
33
- * @durable class=ledger owner=local-auth
34
- * write="one row per redeemed OAuth code — every completed account link through
35
- * `oauthExchangeCode`; `touch` rewrites `lastUsedAt` on each refresh"
36
- * retention="ONLY revoked rows are pruned: the daily sweep deletes sessions
37
- * revoked more than OAUTH_REVOKED_RETENTION_MS (30 d) ago. An ACTIVE session
38
- * has `revokedAt` NULL, never expires and is never swept — the table grows one
39
- * row per login until an operator revokes the link."
40
- */
56
+ * @durable class=ledger owner=local-auth
57
+ * write="one row per redeemed OAuth code — every completed account link through
58
+ * `oauthExchangeCode`; `touch` rewrites `lastUsedAt` on each refresh"
59
+ * retention="ONLY revoked rows are pruned: the daily sweep deletes sessions
60
+ * revoked more than OAUTH_REVOKED_RETENTION_MS (30 d) ago. An ACTIVE session
61
+ * has `revokedAt` NULL, never expires and is never swept — the table grows one
62
+ * row per login until an operator revokes the link."
63
+ */
41
64
  export declare const OAUTH_SESSIONS_COLLECTION = "oauth_sessions";
42
65
  /**
43
- * TOTP enrollment table — split off from `users` to avoid the
44
- * destructive drop-+-recreate migration `ensureTable` performs when a
45
- * new column is added to a typed schema (see `sqlite-settings-backend.ts`).
46
- *
47
- * Lifecycle:
48
- * - Setup: row inserted with `confirmedAt = null` and a fresh secret.
49
- * - Confirm: a valid code from the secret flips `confirmedAt` to now().
50
- * - Disable: the row is deleted (next setup starts fresh).
51
- *
52
- * "Enabled" means `confirmedAt != null`. A half-enrolled row (`confirmedAt
53
- * = null`) is INACTIVE — `verifyTotp` returns false until confirmation.
54
- *
55
- * @durable class=config owner=local-auth
56
- * write="`setup` inserts a fresh secret for the user (deleting any pending row
57
- * first); `confirm` flips `confirmedAt` once a valid code proves possession"
58
- * retention="`disable` deletes the row, and `setup` deletes before re-inserting.
59
- * Nothing else prunes — deleting a USER does not cascade here, so their
60
- * enrollment row outlives the account."
61
- */
66
+ * TOTP enrollment table — split off from `users` to avoid the
67
+ * destructive drop-+-recreate migration `ensureTable` performs when a
68
+ * new column is added to a typed schema (see `sqlite-settings-backend.ts`).
69
+ *
70
+ * Lifecycle:
71
+ * - Setup: row inserted with `confirmedAt = null` and a fresh secret.
72
+ * - Confirm: a valid code from the secret flips `confirmedAt` to now().
73
+ * - Disable: the row is deleted (next setup starts fresh).
74
+ *
75
+ * "Enabled" means `confirmedAt != null`. A half-enrolled row (`confirmedAt
76
+ * = null`) is INACTIVE — `verifyTotp` returns false until confirmation.
77
+ *
78
+ * @durable class=config owner=local-auth
79
+ * write="`setup` inserts a fresh secret for the user (deleting any pending row
80
+ * first); `confirm` flips `confirmedAt` once a valid code proves possession"
81
+ * retention="`disable` deletes the row, and `setup` deletes before re-inserting.
82
+ * Nothing else prunes — deleting a USER does not cascade here, so their
83
+ * enrollment row outlives the account."
84
+ */
62
85
  export declare const USER_TOTP_COLLECTION = "user_totp";
63
86
  /**
64
- * External sign-in identities linked to local users (D782): one row per
65
- * `(provider, subject)` — the row id IS the identity, so one identity maps to
66
- * one user by primary key. Written only by the identity's owner completing a
67
- * "Link" flow from their profile (bound to their session).
68
- *
69
- * @durable class=config owner=local-auth
70
- * write="`ExternalIdentityManager.link` when a signed-in user completes a
71
- * link flow; `unlink` from the profile or the Users page"
72
- * retention="`unlink` deletes one row; deleting the user deletes all of its
73
- * rows (`deleteUser` → `removeAllForUser`). A row whose provider instance
74
- * was renamed or removed stays, inert, until someone unlinks it."
75
- */
87
+ * External sign-in identities linked to local users (D782): one row per
88
+ * `(provider, subject)` — the row id IS the identity, so one identity maps to
89
+ * one user by primary key. Written only by the identity's owner completing a
90
+ * "Link" flow from their profile (bound to their session).
91
+ *
92
+ * @durable class=config owner=local-auth
93
+ * write="`ExternalIdentityManager.link` when a signed-in user completes a
94
+ * link flow; `unlink` from the profile or the Users page"
95
+ * retention="`unlink` deletes one row; deleting the user deletes all of its
96
+ * rows (`deleteUser` → `removeAllForUser`). A row whose provider instance
97
+ * was renamed or removed stays, inert, until someone unlinks it."
98
+ */
76
99
  export declare const USER_EXTERNAL_IDENTITIES_COLLECTION = "user_external_identities";
77
100
  /**
78
- * Declare every auth collection with the typed schema. Called by
79
- * `LocalAuthAddon.onInitialize` before constructing the per-collection
80
- * managers. Idempotent — `declareCollection` is a no-op when the
81
- * collection has already been declared (same shape).
82
- */
101
+ * Declare every auth collection with the typed schema. Called by
102
+ * `LocalAuthAddon.onInitialize` before constructing the per-collection
103
+ * managers. Idempotent — `declareCollection` is a no-op when the
104
+ * collection has already been declared (same shape).
105
+ */
83
106
  export declare function declareAuthSchema(store: SettingsStoreClient): Promise<void>;
@@ -1 +1 @@
1
- export { LocalAuthAddon } from './local-auth.addon.js';
1
+ export { LocalAuthAddon } from "./local-auth.addon.js";
@@ -1,30 +1,30 @@
1
- import { SecretsAccess } from '@camstack/types';
1
+ import type { SecretsAccess } from "@camstack/types";
2
2
  /** How often a locked keychain is asked again. */
3
- export declare const SIGNING_KEY_RETRY_MS = 30000;
3
+ export declare const SIGNING_KEY_RETRY_MS = 3e4;
4
4
  interface KeeperLogger {
5
- info(message: string, meta?: {
6
- meta?: Record<string, unknown>;
7
- }): void;
8
- error(message: string, meta?: {
9
- meta?: Record<string, unknown>;
10
- }): void;
5
+ info(message: string, meta?: {
6
+ meta?: Record<string, unknown>;
7
+ }): void;
8
+ error(message: string, meta?: {
9
+ meta?: Record<string, unknown>;
10
+ }): void;
11
11
  }
12
12
  export interface JwtSigningKeyKeeperDeps {
13
- /** A keychain handle for owner `system`; `null` when this process has no keychain door. */
14
- readonly secrets: SecretsAccess | null;
15
- readonly logger: KeeperLogger;
16
- readonly retryMs?: number;
13
+ /** A keychain handle for owner `system`; `null` when this process has no keychain door. */
14
+ readonly secrets: SecretsAccess | null;
15
+ readonly logger: KeeperLogger;
16
+ readonly retryMs?: number;
17
17
  }
18
18
  export declare class JwtSigningKeyKeeper {
19
- private readonly deps;
20
- private retryTimer;
21
- private unsubscribe;
22
- private stopped;
23
- constructor(deps: JwtSigningKeyKeeperDeps);
24
- start(): Promise<void>;
25
- stop(): void;
26
- private load;
27
- private apply;
28
- private scheduleRetry;
19
+ private readonly deps;
20
+ private retryTimer;
21
+ private unsubscribe;
22
+ private stopped;
23
+ constructor(deps: JwtSigningKeyKeeperDeps);
24
+ start(): Promise<void>;
25
+ stop(): void;
26
+ private load;
27
+ private apply;
28
+ private scheduleRetry;
29
29
  }
30
30
  export {};