@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,295 +1,295 @@
1
- import { ProviderRegistration, BaseAddon } from '@camstack/types';
2
- interface StorageOrchestratorConfig extends Record<string, unknown> {
3
- }
1
+ import type { ProviderRegistration } from "@camstack/types";
2
+ import { BaseAddon } from "@camstack/types";
3
+ interface StorageOrchestratorConfig extends Record<string, unknown> {}
4
4
  export declare class StorageOrchestratorAddon extends BaseAddon<StorageOrchestratorConfig> {
5
- private service;
6
- private pressureManager;
7
- /**
8
- * How much of each location CamStack itself holds (D388).
9
- *
10
- * Built on first use rather than in a field initializer: `this.ctx` does not
11
- * exist until `initialize()` runs, and a field initializer touching it throws
12
- * in the constructor.
13
- */
14
- private occupancySlice;
15
- private get occupancy();
16
- private pressureTimer;
17
- private pressureSweepInFlight;
18
- private migration;
19
- /**
20
- * Cached `providerId → nodeLocal` snapshot (SP1). Backs the orchestrator's
21
- * synchronous `NodeLocalResolver` — `getProviderInfo()` is async, so we
22
- * keep a sync cache and refresh it whenever the provider collection
23
- * changes (alongside the seed pass). Absent providerId → resolver returns
24
- * `undefined` (treated as node-agnostic).
25
- */
26
- private readonly nodeLocalByProvider;
27
- /**
28
- * Cached `providerId → secret config keys`, derived from each provider's own
29
- * `configSchema` in the SAME refresh as `nodeLocalByProvider` — one
30
- * `getProviderInfo()` round trip answers both questions.
31
- *
32
- * An absent providerId yields an EMPTY set, which redacts nothing. That is
33
- * the one direction this cache can be wrong in, so it is worth saying why it
34
- * is acceptable: the entry is populated at the same moment the provider
35
- * becomes resolvable at all, so a location whose provider is unknown here
36
- * cannot be dispatched to either — there is no window in which a credential
37
- * is readable through a provider the orchestrator can otherwise use.
38
- */
39
- private readonly secretKeysByProvider;
40
- /**
41
- * Disposers run on `onShutdown` — currently the eventBus subscription
42
- * for `capability:provider-registered` events used by the lazy seed
43
- * fallback. Stored separately from the `BaseAddon` disposer chain so
44
- * it can be inspected in tests.
45
- */
46
- private readonly seedSubscriptionDisposers;
47
- constructor();
48
- protected onInitialize(): Promise<ProviderRegistration[]>;
49
- /**
50
- * The remote behind the data door on a node that owns no engine.
51
- *
52
- * `null` on a hub — the hub IS the store, and a hub that forwarded would
53
- * route its own door back into itself through `$hub-cap-fwd`. `null` too
54
- * when this process has no cluster broker (a forked worker, or a test
55
- * harness); the door then behaves exactly as it always did and refuses.
56
- *
57
- * Built once and memoised. It is only consulted when `getEngines()` is
58
- * empty, so on a hub — and on an agent rolled back to a local engine via
59
- * `CAMSTACK_AGENT_LOCAL_DATA_STORE` — the resolve never runs a second time.
60
- */
61
- private hubForward;
62
- private hubSettingsForward;
63
- protected onShutdown(): Promise<void>;
64
- onHubReachable(): Promise<void>;
65
- /**
66
- * Resolve the live engine from the capability registry and wrap it in a
67
- * `SqliteLocationStore`. Returns `null` when no engine has registered
68
- * yet — the service falls back to in-memory only. On a HUB that is a
69
- * boot-order window: `data-store-provider` precedes `storage` in
70
- * `INFRA_CAPABILITIES`, so it is the rare path.
71
- *
72
- * On an AGENT it is permanent and intended, and the line says so. An agent
73
- * boots no engine (`resolveAgentInfraCapabilities`), and this store must NOT
74
- * be pointed at the hub-forwarding data door: `storage_locations` is keyed by
75
- * a bare location id (`recordings:default`, `eventMedia:default`, …) which
76
- * every node in the cluster shares, so an agent writing through the door
77
- * would land on the HUB's rows. The locations an agent needs are re-seeded
78
- * from its addon declarations at every boot; the operator's real, node-pinned
79
- * locations live in the hub's own table (`__nodeId` in the config blob) and
80
- * are dispatched to the agent's `storage-provider` from there.
81
- *
82
- * Reads the ENGINE, not the `settings-store` singleton: since D44 this
83
- * addon *is* that singleton, so asking the registry for it would hand
84
- * the orchestrator its own dispatcher and route its location table back
85
- * through itself.
86
- */
87
- private resolveLocationStore;
88
- /**
89
- * Late-wire the persistence store once a `data-store-provider` engine
90
- * registers. Production boot order means the store is usually absent at
91
- * `onInitialize`; this runs on every `capability:provider-registered`
92
- * event until it succeeds. Single-flighted + idempotent (the service
93
- * ignores a second attach). Without this, operator edits (e.g. a
94
- * location's `minFreePercent`) live only in memory and are wiped on every
95
- * restart — the service never hydrates from / persists to SQLite.
96
- */
97
- private storeWireInFlight;
98
- private ensureStoreWired;
99
- private storageProviders;
100
- /** Single-flighted pressure sweep — never overlaps a slow eviction round. */
101
- private runPressureSweep;
102
- /**
103
- * locationId → resolved `minFreePercent`. The policy is intrinsic to the
104
- * location's provider (`shouldSaveDiskSpace` gates the guard, `minFreePercent`
105
- * is the default), overridable per-location via `config.minFreePercent`.
106
- * Locations with the guard off (or threshold 0) are omitted. Moved here from
107
- * the recorder so disk-pressure is a single core concern.
108
- */
109
- private resolveLocationThresholds;
110
- /** Location ids that have already logged the `minFreeGb` / `minFreePercent`
111
- * redundancy. The pressure sweep runs on a timer; the notice is worth
112
- * exactly one line per location per process, not one per minute. */
113
- private readonly minFreeRedundancyLogged;
114
- private logMinFreeRedundancyOnce;
115
- /**
116
- * The draining locations and the ACTIVE peers of their class whose growth
117
- * paces them (D386). Rebuilt every sweep from the live mode of every
118
- * location, so this is also what STOPS a drain: a location the operator
119
- * switched back simply stops appearing.
120
- */
121
- private drainStore;
122
- /** The drain ratchet's durable home, once a data-store engine exists. Same
123
- * late-wiring window as the location table — on an agent it is never. */
124
- private resolveDrainStore;
125
- private drainPlanRefusalLogged;
126
- private resolveDrainPlan;
127
- /** Drain progress for every draining location, as of the last sweep. */
128
- private drainProgress;
129
- /**
130
- * What the provider's own schema declared secret, or `undefined` when this
131
- * node has never heard from that provider. The distinction is the whole
132
- * point — see `secretKeysForConfig`, which fails CLOSED on `undefined`.
133
- */
134
- private declaredSecretKeys;
135
- /** Which keys of a given stored config must never leave this process. */
136
- /**
137
- * Move a singleton location's bytes when its root changes.
138
- *
139
- * Runs BEFORE the row is saved: a copy that fails throws out of the mutation,
140
- * so the location keeps pointing at the intact original and the operator is
141
- * told why rather than discovering it in a blank panel weeks later.
142
- * `moveLocationTree` deletes nothing until every file has been read back from
143
- * the destination.
144
- *
145
- * A no-op for everything else — a rename, a mode change, a `multi` kind, or a
146
- * location being created for the first time.
147
- */
148
- private carryDataOnRepoint;
149
- private secretKeysFor;
150
- /**
151
- * Ring the doorbell: the SET of storage locations changed (D387).
152
- *
153
- * A consumer that resolves locations at boot had no way to learn that the
154
- * operator added, edited or removed one — the recorder kept writing to the
155
- * disk set it resolved hours ago, and an operator who added a second
156
- * recordings disk in the admin UI got nothing until something unrelated
157
- * happened to re-resolve.
158
- *
159
- * Telemetry, and deliberately so (D8/D11): it carries no row, it is allowed
160
- * to be dropped, and every consumer re-reads `listLocations` for itself and
161
- * converges on its own periodic path anyway. A bulk edit rings it once per
162
- * row — coalescing is the consumer's job, not this one's.
163
- *
164
- * Never throws into the mutation that produced it: the location IS saved,
165
- * and a bus that will not take a telemetry event must not turn that into a
166
- * failed upsert.
167
- */
168
- private announceLocationsChanged;
169
- /** A location with its provider's declared secrets replaced by the sentinel. */
170
- /**
171
- * The location as a PROVIDER must see it: every keychain marker in its
172
- * config resolved (D787). The same object when it holds none — a filesystem
173
- * location costs nothing. An unresolvable secret is left out and logged by
174
- * ref; the provider then fails its own connection, by name.
175
- */
176
- private withResolvedSecrets;
177
- /**
178
- * Strip the provider's DECLARED secrets (its form schema, by type) out of a
179
- * location config into the keychain, under `row/storage_locations/<id>`.
180
- * A provider that has not registered declares nothing: only keys that
181
- * already hold a marker are handled then — a new plaintext is never guessed
182
- * at, it stays as sent until the provider is back and the location is saved.
183
- */
184
- private keepSecretsInKeychain;
185
- private redacted;
186
- /**
187
- * Is this location backed by a provider that serves a genuine local
188
- * filesystem? `true` / `false` / `undefined` — see
189
- * `StorageOrchestratorService.refuseIncompatibleProvider` for why the
190
- * unknown case is kept distinct rather than folded into either answer.
191
- */
192
- private providerIsNodeLocal;
193
- /** See the call site in the `resolve` dispatch, and `access-guards.ts`. */
194
- private refuseRemoteResolve;
195
- /**
196
- * The volume figures for one location, or `null` when this node cannot take
197
- * a measurement that is genuinely about it.
198
- *
199
- * The decision lives in `location-volume-capacity.ts` — including why a
200
- * remote-provider location (the SMB share that was reporting the hub's own
201
- * disk) gets nothing rather than a number. Here we only supply the node id,
202
- * the provider's declared locality and the real filesystem, and log the
203
- * reason once per distinct fault: `listLocations` is on the admin UI's poll,
204
- * so a line per call would be a line per second.
205
- */
206
- private localCapacityOf;
207
- /** locationId → the last unmeasurable reason logged for it. */
208
- private readonly capacityUnknownLogged;
209
- private logCapacityUnknownOnce;
210
- private clearCapacityUnknown;
211
- /** Per-location cap on EVICTABLE bytes (`config.maxUsedGb`): the operator's
212
- * "recordings may use at most N GB in total" — enforced by the pressure
213
- * manager alongside the free-percent guard. */
214
- private resolveLocationMaxUsedBytes;
215
- private locationBasePath;
216
- /**
217
- * A stable key for the PHYSICAL storage device behind a location — the
218
- * `realpath` of its `basePath`, so symlinked / bind-mounted aliases and
219
- * same-root managed locations (`recordings:default` + `recordingsLow:default`,
220
- * both at `/recordings`) collapse to one key. Feeds the pressure manager's
221
- * in-sweep dedup so a shared disk is relieved at most once per tick (closing
222
- * the bounded over-eviction window; see `getLocationDeviceKey`). Falls back to
223
- * the lexically-resolved path when realpath throws (root missing at boot),
224
- * `null` when the location has no basePath — either way dedup degrades to
225
- * per-location, never merging two distinct disks.
226
- */
227
- private locationDeviceKey;
228
- /**
229
- * Does this location still hold anything of ITS class?
230
- *
231
- * Shared roots (`/recordings` hosting high + low + events) are scored by
232
- * class subtree (`<camera>/high|mid`, `/low`, `/events`), not by a raw
233
- * `readdir` of the root — camera dirs and `.camstack-location` would
234
- * otherwise make every class look occupied. The walk stays shallow: one
235
- * dirent per camera, then first-entry of the named subtree. A `find` of
236
- * segments is precisely what must not happen here.
237
- *
238
- * **What it cannot see, stated rather than papered over:**
239
- *
240
- * - A location on ANOTHER node, or behind a remote provider (S3 / SFTP /
241
- * WebDAV): its bytes are not on this filesystem and this probe answers
242
- * `unknown`, never `empty`.
243
- * - A location with no `basePath` — same answer.
244
- * - The difference between "holds live footage" and "holds one stray
245
- * lock-file". It measures ON-DISK entries of this class, not durable
246
- * rows, so it refuses a location holding orphan files that no index
247
- * names. That direction is the safe one, and `force` is the escape
248
- * hatch for it.
249
- *
250
- * A missing root (`ENOENT`) is `empty`, not `unknown`: an unmounted disk and
251
- * a deleted directory are indistinguishable here, and if the record's own
252
- * path does not exist there is nothing this delete can strand. Every OTHER
253
- * errno — `EACCES`, `EIO`, a stale NFS handle — is `unknown` and refuses.
254
- */
255
- private locationOccupancy;
256
- /**
257
- * The pressure guard's two readings come from the SAME probe the UI's
258
- * capacity does — one capacity truth per location, not two.
259
- *
260
- * They used to `statfs` the raw `basePath` themselves, which on this node
261
- * answers for whatever local path happens to carry that name: a location
262
- * owned by another node, or served by a remote provider, could decide
263
- * eviction from the hub's own disk. Both now degrade exactly as they did
264
- * when the path was unstattable — `100` (guard inert) and `0` (no byte
265
- * target) — but they do so for every reading that is not ABOUT the location,
266
- * not only for the ones that threw.
267
- */
268
- private volumeCapacityOf;
269
- /** Free capacity (%) on a location's volume; 100 (guard inert) when unmeasurable. */
270
- private locationFreePercent;
271
- /** Total bytes on a location's volume; 0 when unmeasurable. */
272
- private locationVolumeTotalBytes;
273
- /**
274
- * Seed default storage locations from the addon-declared
275
- * `storageLocations`, aggregated by the kernel into a
276
- * `StorageLocationRegistry`. Idempotent — re-running on a populated
277
- * map is a no-op (each declared id's `<id>:default` is already in the
278
- * service's map).
279
- *
280
- * `basePath` is this node's data root (`ctx.nodeDataDir` = `CAMSTACK_DATA`
281
- * ?? the kernel boot dir). Every declared default is attributed to the
282
- * `filesystem-storage`
283
- * provider; operators repoint individual locations (or add remote
284
- * SFTP/S3/WebDAV instances) through the admin UI afterwards.
285
- */
286
- private seedFromDeclarations;
287
- /**
288
- * Rebuild the `providerId → nodeLocal` cache from every registered
289
- * `storage-provider`'s `getProviderInfo()`. Cheap registry scan; runs on
290
- * boot and on every provider-registered reconcile. Failed probes are
291
- * skipped (the provider stays absent → treated as node-agnostic).
292
- */
293
- private refreshNodeLocalCache;
5
+ private service;
6
+ private pressureManager;
7
+ /**
8
+ * How much of each location CamStack itself holds (D388).
9
+ *
10
+ * Built on first use rather than in a field initializer: `this.ctx` does not
11
+ * exist until `initialize()` runs, and a field initializer touching it throws
12
+ * in the constructor.
13
+ */
14
+ private occupancySlice;
15
+ private get occupancy();
16
+ private pressureTimer;
17
+ private pressureSweepInFlight;
18
+ private migration;
19
+ /**
20
+ * Cached `providerId → nodeLocal` snapshot (SP1). Backs the orchestrator's
21
+ * synchronous `NodeLocalResolver` — `getProviderInfo()` is async, so we
22
+ * keep a sync cache and refresh it whenever the provider collection
23
+ * changes (alongside the seed pass). Absent providerId → resolver returns
24
+ * `undefined` (treated as node-agnostic).
25
+ */
26
+ private readonly nodeLocalByProvider;
27
+ /**
28
+ * Cached `providerId → secret config keys`, derived from each provider's own
29
+ * `configSchema` in the SAME refresh as `nodeLocalByProvider` — one
30
+ * `getProviderInfo()` round trip answers both questions.
31
+ *
32
+ * An absent providerId yields an EMPTY set, which redacts nothing. That is
33
+ * the one direction this cache can be wrong in, so it is worth saying why it
34
+ * is acceptable: the entry is populated at the same moment the provider
35
+ * becomes resolvable at all, so a location whose provider is unknown here
36
+ * cannot be dispatched to either — there is no window in which a credential
37
+ * is readable through a provider the orchestrator can otherwise use.
38
+ */
39
+ private readonly secretKeysByProvider;
40
+ /**
41
+ * Disposers run on `onShutdown` — currently the eventBus subscription
42
+ * for `capability:provider-registered` events used by the lazy seed
43
+ * fallback. Stored separately from the `BaseAddon` disposer chain so
44
+ * it can be inspected in tests.
45
+ */
46
+ private readonly seedSubscriptionDisposers;
47
+ constructor();
48
+ protected onInitialize(): Promise<ProviderRegistration[]>;
49
+ /**
50
+ * The remote behind the data door on a node that owns no engine.
51
+ *
52
+ * `null` on a hub — the hub IS the store, and a hub that forwarded would
53
+ * route its own door back into itself through `$hub-cap-fwd`. `null` too
54
+ * when this process has no cluster broker (a forked worker, or a test
55
+ * harness); the door then behaves exactly as it always did and refuses.
56
+ *
57
+ * Built once and memoised. It is only consulted when `getEngines()` is
58
+ * empty, so on a hub — and on an agent rolled back to a local engine via
59
+ * `CAMSTACK_AGENT_LOCAL_DATA_STORE` — the resolve never runs a second time.
60
+ */
61
+ private hubForward;
62
+ private hubSettingsForward;
63
+ protected onShutdown(): Promise<void>;
64
+ override onHubReachable(): Promise<void>;
65
+ /**
66
+ * Resolve the live engine from the capability registry and wrap it in a
67
+ * `SqliteLocationStore`. Returns `null` when no engine has registered
68
+ * yet — the service falls back to in-memory only. On a HUB that is a
69
+ * boot-order window: `data-store-provider` precedes `storage` in
70
+ * `INFRA_CAPABILITIES`, so it is the rare path.
71
+ *
72
+ * On an AGENT it is permanent and intended, and the line says so. An agent
73
+ * boots no engine (`resolveAgentInfraCapabilities`), and this store must NOT
74
+ * be pointed at the hub-forwarding data door: `storage_locations` is keyed by
75
+ * a bare location id (`recordings:default`, `eventMedia:default`, …) which
76
+ * every node in the cluster shares, so an agent writing through the door
77
+ * would land on the HUB's rows. The locations an agent needs are re-seeded
78
+ * from its addon declarations at every boot; the operator's real, node-pinned
79
+ * locations live in the hub's own table (`__nodeId` in the config blob) and
80
+ * are dispatched to the agent's `storage-provider` from there.
81
+ *
82
+ * Reads the ENGINE, not the `settings-store` singleton: since D44 this
83
+ * addon *is* that singleton, so asking the registry for it would hand
84
+ * the orchestrator its own dispatcher and route its location table back
85
+ * through itself.
86
+ */
87
+ private resolveLocationStore;
88
+ /**
89
+ * Late-wire the persistence store once a `data-store-provider` engine
90
+ * registers. Production boot order means the store is usually absent at
91
+ * `onInitialize`; this runs on every `capability:provider-registered`
92
+ * event until it succeeds. Single-flighted + idempotent (the service
93
+ * ignores a second attach). Without this, operator edits (e.g. a
94
+ * location's `minFreePercent`) live only in memory and are wiped on every
95
+ * restart — the service never hydrates from / persists to SQLite.
96
+ */
97
+ private storeWireInFlight;
98
+ private ensureStoreWired;
99
+ private storageProviders;
100
+ /** Single-flighted pressure sweep — never overlaps a slow eviction round. */
101
+ private runPressureSweep;
102
+ /**
103
+ * locationId → resolved `minFreePercent`. The policy is intrinsic to the
104
+ * location's provider (`shouldSaveDiskSpace` gates the guard, `minFreePercent`
105
+ * is the default), overridable per-location via `config.minFreePercent`.
106
+ * Locations with the guard off (or threshold 0) are omitted. Moved here from
107
+ * the recorder so disk-pressure is a single core concern.
108
+ */
109
+ private resolveLocationThresholds;
110
+ /** Location ids that have already logged the `minFreeGb` / `minFreePercent`
111
+ * redundancy. The pressure sweep runs on a timer; the notice is worth
112
+ * exactly one line per location per process, not one per minute. */
113
+ private readonly minFreeRedundancyLogged;
114
+ private logMinFreeRedundancyOnce;
115
+ /**
116
+ * The draining locations and the ACTIVE peers of their class whose growth
117
+ * paces them (D386). Rebuilt every sweep from the live mode of every
118
+ * location, so this is also what STOPS a drain: a location the operator
119
+ * switched back simply stops appearing.
120
+ */
121
+ private drainStore;
122
+ /** The drain ratchet's durable home, once a data-store engine exists. Same
123
+ * late-wiring window as the location table — on an agent it is never. */
124
+ private resolveDrainStore;
125
+ private drainPlanRefusalLogged;
126
+ private resolveDrainPlan;
127
+ /** Drain progress for every draining location, as of the last sweep. */
128
+ private drainProgress;
129
+ /**
130
+ * What the provider's own schema declared secret, or `undefined` when this
131
+ * node has never heard from that provider. The distinction is the whole
132
+ * point — see `secretKeysForConfig`, which fails CLOSED on `undefined`.
133
+ */
134
+ private declaredSecretKeys;
135
+ /** Which keys of a given stored config must never leave this process. */
136
+ /**
137
+ * Move a singleton location's bytes when its root changes.
138
+ *
139
+ * Runs BEFORE the row is saved: a copy that fails throws out of the mutation,
140
+ * so the location keeps pointing at the intact original and the operator is
141
+ * told why rather than discovering it in a blank panel weeks later.
142
+ * `moveLocationTree` deletes nothing until every file has been read back from
143
+ * the destination.
144
+ *
145
+ * A no-op for everything else — a rename, a mode change, a `multi` kind, or a
146
+ * location being created for the first time.
147
+ */
148
+ private carryDataOnRepoint;
149
+ private secretKeysFor;
150
+ /**
151
+ * Ring the doorbell: the SET of storage locations changed (D387).
152
+ *
153
+ * A consumer that resolves locations at boot had no way to learn that the
154
+ * operator added, edited or removed one — the recorder kept writing to the
155
+ * disk set it resolved hours ago, and an operator who added a second
156
+ * recordings disk in the admin UI got nothing until something unrelated
157
+ * happened to re-resolve.
158
+ *
159
+ * Telemetry, and deliberately so (D8/D11): it carries no row, it is allowed
160
+ * to be dropped, and every consumer re-reads `listLocations` for itself and
161
+ * converges on its own periodic path anyway. A bulk edit rings it once per
162
+ * row — coalescing is the consumer's job, not this one's.
163
+ *
164
+ * Never throws into the mutation that produced it: the location IS saved,
165
+ * and a bus that will not take a telemetry event must not turn that into a
166
+ * failed upsert.
167
+ */
168
+ private announceLocationsChanged;
169
+ /** A location with its provider's declared secrets replaced by the sentinel. */
170
+ /**
171
+ * The location as a PROVIDER must see it: every keychain marker in its
172
+ * config resolved (D787). The same object when it holds none — a filesystem
173
+ * location costs nothing. An unresolvable secret is left out and logged by
174
+ * ref; the provider then fails its own connection, by name.
175
+ */
176
+ private withResolvedSecrets;
177
+ /**
178
+ * Strip the provider's DECLARED secrets (its form schema, by type) out of a
179
+ * location config into the keychain, under `row/storage_locations/<id>`.
180
+ * A provider that has not registered declares nothing: only keys that
181
+ * already hold a marker are handled then — a new plaintext is never guessed
182
+ * at, it stays as sent until the provider is back and the location is saved.
183
+ */
184
+ private keepSecretsInKeychain;
185
+ private redacted;
186
+ /**
187
+ * Is this location backed by a provider that serves a genuine local
188
+ * filesystem? `true` / `false` / `undefined` — see
189
+ * `StorageOrchestratorService.refuseIncompatibleProvider` for why the
190
+ * unknown case is kept distinct rather than folded into either answer.
191
+ */
192
+ private providerIsNodeLocal;
193
+ /** See the call site in the `resolve` dispatch, and `access-guards.ts`. */
194
+ private refuseRemoteResolve;
195
+ /**
196
+ * The volume figures for one location, or `null` when this node cannot take
197
+ * a measurement that is genuinely about it.
198
+ *
199
+ * The decision lives in `location-volume-capacity.ts` — including why a
200
+ * remote-provider location (the SMB share that was reporting the hub's own
201
+ * disk) gets nothing rather than a number. Here we only supply the node id,
202
+ * the provider's declared locality and the real filesystem, and log the
203
+ * reason once per distinct fault: `listLocations` is on the admin UI's poll,
204
+ * so a line per call would be a line per second.
205
+ */
206
+ private localCapacityOf;
207
+ /** locationId → the last unmeasurable reason logged for it. */
208
+ private readonly capacityUnknownLogged;
209
+ private logCapacityUnknownOnce;
210
+ private clearCapacityUnknown;
211
+ /** Per-location cap on EVICTABLE bytes (`config.maxUsedGb`): the operator's
212
+ * "recordings may use at most N GB in total" — enforced by the pressure
213
+ * manager alongside the free-percent guard. */
214
+ private resolveLocationMaxUsedBytes;
215
+ private locationBasePath;
216
+ /**
217
+ * A stable key for the PHYSICAL storage device behind a location — the
218
+ * `realpath` of its `basePath`, so symlinked / bind-mounted aliases and
219
+ * same-root managed locations (`recordings:default` + `recordingsLow:default`,
220
+ * both at `/recordings`) collapse to one key. Feeds the pressure manager's
221
+ * in-sweep dedup so a shared disk is relieved at most once per tick (closing
222
+ * the bounded over-eviction window; see `getLocationDeviceKey`). Falls back to
223
+ * the lexically-resolved path when realpath throws (root missing at boot),
224
+ * `null` when the location has no basePath — either way dedup degrades to
225
+ * per-location, never merging two distinct disks.
226
+ */
227
+ private locationDeviceKey;
228
+ /**
229
+ * Does this location still hold anything of ITS class?
230
+ *
231
+ * Shared roots (`/recordings` hosting high + low + events) are scored by
232
+ * class subtree (`<camera>/high|mid`, `/low`, `/events`), not by a raw
233
+ * `readdir` of the root — camera dirs and `.camstack-location` would
234
+ * otherwise make every class look occupied. The walk stays shallow: one
235
+ * dirent per camera, then first-entry of the named subtree. A `find` of
236
+ * segments is precisely what must not happen here.
237
+ *
238
+ * **What it cannot see, stated rather than papered over:**
239
+ *
240
+ * - A location on ANOTHER node, or behind a remote provider (S3 / SFTP /
241
+ * WebDAV): its bytes are not on this filesystem and this probe answers
242
+ * `unknown`, never `empty`.
243
+ * - A location with no `basePath` — same answer.
244
+ * - The difference between "holds live footage" and "holds one stray
245
+ * lock-file". It measures ON-DISK entries of this class, not durable
246
+ * rows, so it refuses a location holding orphan files that no index
247
+ * names. That direction is the safe one, and `force` is the escape
248
+ * hatch for it.
249
+ *
250
+ * A missing root (`ENOENT`) is `empty`, not `unknown`: an unmounted disk and
251
+ * a deleted directory are indistinguishable here, and if the record's own
252
+ * path does not exist there is nothing this delete can strand. Every OTHER
253
+ * errno — `EACCES`, `EIO`, a stale NFS handle — is `unknown` and refuses.
254
+ */
255
+ private locationOccupancy;
256
+ /**
257
+ * The pressure guard's two readings come from the SAME probe the UI's
258
+ * capacity does — one capacity truth per location, not two.
259
+ *
260
+ * They used to `statfs` the raw `basePath` themselves, which on this node
261
+ * answers for whatever local path happens to carry that name: a location
262
+ * owned by another node, or served by a remote provider, could decide
263
+ * eviction from the hub's own disk. Both now degrade exactly as they did
264
+ * when the path was unstattable — `100` (guard inert) and `0` (no byte
265
+ * target) — but they do so for every reading that is not ABOUT the location,
266
+ * not only for the ones that threw.
267
+ */
268
+ private volumeCapacityOf;
269
+ /** Free capacity (%) on a location's volume; 100 (guard inert) when unmeasurable. */
270
+ private locationFreePercent;
271
+ /** Total bytes on a location's volume; 0 when unmeasurable. */
272
+ private locationVolumeTotalBytes;
273
+ /**
274
+ * Seed default storage locations from the addon-declared
275
+ * `storageLocations`, aggregated by the kernel into a
276
+ * `StorageLocationRegistry`. Idempotent — re-running on a populated
277
+ * map is a no-op (each declared id's `<id>:default` is already in the
278
+ * service's map).
279
+ *
280
+ * `basePath` is this node's data root (`ctx.nodeDataDir` = `CAMSTACK_DATA`
281
+ * ?? the kernel boot dir). Every declared default is attributed to the
282
+ * `filesystem-storage`
283
+ * provider; operators repoint individual locations (or add remote
284
+ * SFTP/S3/WebDAV instances) through the admin UI afterwards.
285
+ */
286
+ private seedFromDeclarations;
287
+ /**
288
+ * Rebuild the `providerId → nodeLocal` cache from every registered
289
+ * `storage-provider`'s `getProviderInfo()`. Cheap registry scan; runs on
290
+ * boot and on every provider-registered reconcile. Failed probes are
291
+ * skipped (the provider stays absent → treated as node-agnostic).
292
+ */
293
+ private refreshNodeLocalCache;
294
294
  }
295
295
  export default StorageOrchestratorAddon;