@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,113 +1,113 @@
1
- import { IScopedLogger } from '@camstack/types';
2
- import { default as Database } from 'better-sqlite3';
1
+ import type { IScopedLogger } from "@camstack/types";
2
+ import type Database from "better-sqlite3";
3
3
  /**
4
- * Size at or above which the WAL is a candidate for a truncating checkpoint,
5
- * in bytes. 67108864 = **64 MiB**.
6
- *
7
- * Matched to `SQLITE_JOURNAL_SIZE_LIMIT_BYTES`: below this, the passive
8
- * mechanism (autocheckpoint + `journal_size_limit`) is doing its job and there
9
- * is nothing to reclaim. The live hub's WAL had reached 248,955,152 bytes —
10
- * roughly 2x the 130 MB database — which is what says the passive path alone
11
- * had stopped keeping up.
12
- */
4
+ * Size at or above which the WAL is a candidate for a truncating checkpoint,
5
+ * in bytes. 67108864 = **64 MiB**.
6
+ *
7
+ * Matched to `SQLITE_JOURNAL_SIZE_LIMIT_BYTES`: below this, the passive
8
+ * mechanism (autocheckpoint + `journal_size_limit`) is doing its job and there
9
+ * is nothing to reclaim. The live hub's WAL had reached 248,955,152 bytes —
10
+ * roughly 2x the 130 MB database — which is what says the passive path alone
11
+ * had stopped keeping up.
12
+ */
13
13
  export declare const WAL_HIGH_WATER_BYTES = 67108864;
14
14
  /**
15
- * How long the WAL must have gone UNWRITTEN before a truncating checkpoint is
16
- * allowed, in ms.
17
- *
18
- * This is the stall guard and the reason this file exists. `wal_checkpoint
19
- * (TRUNCATE)` takes the writer lock, waits for readers, and copies the whole
20
- * WAL back into the database — synchronously, on the thread that serves every
21
- * request. An unconditional periodic one on a busy NVR would be the disease
22
- * (hub-main already spends 42 s per 2 minutes inside uninterrupted blocks),
23
- * not the cure.
24
- *
25
- * The idle signal is the WAL file's own mtime. It is one `stat`, and unlike a
26
- * write counter maintained in this class it covers EVERY writer on the file —
27
- * the settings backend, the sqlite-vec index sharing the handle, and the
28
- * short-lived second connection system-backup opens. On a genuinely busy NVR
29
- * this gate simply never opens, and `journal_size_limit` remains the only
30
- * thing bounding the file. That is the intended failure mode: doing nothing is
31
- * strictly better than a 249 MB copy in the middle of a live request.
32
- */
33
- export declare const WAL_IDLE_QUIET_MS = 30000;
15
+ * How long the WAL must have gone UNWRITTEN before a truncating checkpoint is
16
+ * allowed, in ms.
17
+ *
18
+ * This is the stall guard and the reason this file exists. `wal_checkpoint
19
+ * (TRUNCATE)` takes the writer lock, waits for readers, and copies the whole
20
+ * WAL back into the database — synchronously, on the thread that serves every
21
+ * request. An unconditional periodic one on a busy NVR would be the disease
22
+ * (hub-main already spends 42 s per 2 minutes inside uninterrupted blocks),
23
+ * not the cure.
24
+ *
25
+ * The idle signal is the WAL file's own mtime. It is one `stat`, and unlike a
26
+ * write counter maintained in this class it covers EVERY writer on the file —
27
+ * the settings backend, the sqlite-vec index sharing the handle, and the
28
+ * short-lived second connection system-backup opens. On a genuinely busy NVR
29
+ * this gate simply never opens, and `journal_size_limit` remains the only
30
+ * thing bounding the file. That is the intended failure mode: doing nothing is
31
+ * strictly better than a 249 MB copy in the middle of a live request.
32
+ */
33
+ export declare const WAL_IDLE_QUIET_MS = 3e4;
34
34
  /**
35
- * Ceiling on how long the checkpoint may wait for a lock, in ms.
36
- *
37
- * better-sqlite3 defaults `busy_timeout` to 5000. A checkpoint invokes the
38
- * busy handler while waiting for readers, so without this a "quiet" moment
39
- * that turns out not to be quiet could park the main thread for 5 s. 250 ms
40
- * means the checkpoint gives up and we try again on the next tick — the WAL
41
- * staying big for another minute costs nothing.
42
- */
35
+ * Ceiling on how long the checkpoint may wait for a lock, in ms.
36
+ *
37
+ * better-sqlite3 defaults `busy_timeout` to 5000. A checkpoint invokes the
38
+ * busy handler while waiting for readers, so without this a "quiet" moment
39
+ * that turns out not to be quiet could park the main thread for 5 s. 250 ms
40
+ * means the checkpoint gives up and we try again on the next tick — the WAL
41
+ * staying big for another minute costs nothing.
42
+ */
43
43
  export declare const WAL_CHECKPOINT_BUSY_TIMEOUT_MS = 250;
44
44
  /** How often the gate is evaluated, in ms. Cheap: a `stat` unless it fires. */
45
- export declare const WAL_MAINTENANCE_INTERVAL_MS = 60000;
45
+ export declare const WAL_MAINTENANCE_INTERVAL_MS = 6e4;
46
46
  /** What a single maintenance tick did. Every branch is named. */
47
47
  export type WalMaintenanceOutcome = {
48
- readonly kind: 'no-wal';
48
+ readonly kind: "no-wal";
49
49
  } | {
50
- readonly kind: 'below-high-water';
51
- readonly walBytes: number;
50
+ readonly kind: "below-high-water";
51
+ readonly walBytes: number;
52
52
  } | {
53
- readonly kind: 'deferred-not-idle';
54
- readonly walBytes: number;
55
- readonly quietForMs: number;
53
+ readonly kind: "deferred-not-idle";
54
+ readonly walBytes: number;
55
+ readonly quietForMs: number;
56
56
  } | {
57
- readonly kind: 'checkpointed';
58
- readonly beforeBytes: number;
59
- readonly afterBytes: number;
60
- readonly busy: boolean;
61
- readonly walFrames: number;
62
- readonly checkpointedFrames: number;
57
+ readonly kind: "checkpointed";
58
+ readonly beforeBytes: number;
59
+ readonly afterBytes: number;
60
+ readonly busy: boolean;
61
+ readonly walFrames: number;
62
+ readonly checkpointedFrames: number;
63
63
  } | {
64
- readonly kind: 'failed';
65
- readonly error: string;
64
+ readonly kind: "failed";
65
+ readonly error: string;
66
66
  };
67
67
  /** Construction inputs for {@link WalMaintenance}. */
68
68
  export interface WalMaintenanceOptions {
69
- readonly db: Database.Database;
70
- /** Path to the main database file; the WAL is `${dbPath}-wal`. */
71
- readonly dbPath: string;
72
- readonly logger: IScopedLogger;
73
- readonly highWaterBytes?: number;
74
- readonly idleQuietMs?: number;
75
- readonly intervalMs?: number;
76
- readonly busyTimeoutMs?: number;
69
+ readonly db: Database.Database;
70
+ /** Path to the main database file; the WAL is `${dbPath}-wal`. */
71
+ readonly dbPath: string;
72
+ readonly logger: IScopedLogger;
73
+ readonly highWaterBytes?: number;
74
+ readonly idleQuietMs?: number;
75
+ readonly intervalMs?: number;
76
+ readonly busyTimeoutMs?: number;
77
77
  }
78
78
  /**
79
- * Periodic, heavily gated `wal_checkpoint(TRUNCATE)`.
80
- *
81
- * The interesting behaviour is all refusal. A tick costs one `stat` in the
82
- * common case; it escalates to a lock-taking checkpoint only when the WAL is
83
- * over the high-water mark AND nothing has written to it for
84
- * {@link WAL_IDLE_QUIET_MS}, and even then the wait is bounded to
85
- * {@link WAL_CHECKPOINT_BUSY_TIMEOUT_MS}.
86
- */
79
+ * Periodic, heavily gated `wal_checkpoint(TRUNCATE)`.
80
+ *
81
+ * The interesting behaviour is all refusal. A tick costs one `stat` in the
82
+ * common case; it escalates to a lock-taking checkpoint only when the WAL is
83
+ * over the high-water mark AND nothing has written to it for
84
+ * {@link WAL_IDLE_QUIET_MS}, and even then the wait is bounded to
85
+ * {@link WAL_CHECKPOINT_BUSY_TIMEOUT_MS}.
86
+ */
87
87
  export declare class WalMaintenance {
88
- private readonly db;
89
- private readonly walPath;
90
- private readonly logger;
91
- private readonly highWaterBytes;
92
- private readonly idleQuietMs;
93
- private readonly intervalMs;
94
- private readonly busyTimeoutMs;
95
- private timer;
96
- constructor(options: WalMaintenanceOptions);
97
- start(): void;
98
- stop(): void;
99
- isRunning(): boolean;
100
- /** Evaluate the gate once and act. Never throws. */
101
- runOnce(): WalMaintenanceOutcome;
102
- private evaluate;
103
- /**
104
- * Take the writer lock and fold the WAL back, with the wait bounded.
105
- *
106
- * The original `busy_timeout` is restored in a `finally`: this connection is
107
- * shared with the settings backend and the vector index, and leaving them on
108
- * a 250 ms timeout would turn an ordinary contended write into a spurious
109
- * SQLITE_BUSY.
110
- */
111
- private checkpoint;
112
- private statWal;
88
+ private readonly db;
89
+ private readonly walPath;
90
+ private readonly logger;
91
+ private readonly highWaterBytes;
92
+ private readonly idleQuietMs;
93
+ private readonly intervalMs;
94
+ private readonly busyTimeoutMs;
95
+ private timer;
96
+ constructor(options: WalMaintenanceOptions);
97
+ start(): void;
98
+ stop(): void;
99
+ isRunning(): boolean;
100
+ /** Evaluate the gate once and act. Never throws. */
101
+ runOnce(): WalMaintenanceOutcome;
102
+ private evaluate;
103
+ /**
104
+ * Take the writer lock and fold the WAL back, with the wait bounded.
105
+ *
106
+ * The original `busy_timeout` is restored in a `finally`: this connection is
107
+ * shared with the settings backend and the vector index, and leaving them on
108
+ * a 250 ms timeout would turn an ordinary contended write into a spurious
109
+ * SQLITE_BUSY.
110
+ */
111
+ private checkpoint;
112
+ private statWal;
113
113
  }
@@ -1,32 +1,43 @@
1
- import { StorageLocation } from '@camstack/types';
1
+ /**
2
+ * The two decisions the orchestrator makes from "is this location backed by a
3
+ * local filesystem?", extracted so both are directly testable without standing
4
+ * up an addon.
5
+ *
6
+ * They are the second and third locks of D296. The first is
7
+ * `upsertLocation`'s refusal, which stops the configuration from existing.
8
+ * These two hold for a row that predates the guard, for one written by a
9
+ * future code path, and for a provider that changes its own `nodeLocal`
10
+ * answer after a location was made.
11
+ */
12
+ import type { StorageLocation } from "@camstack/types";
2
13
  /** What a provider answered about itself; `undefined` = not yet classified. */
3
14
  export type ProviderLocality = boolean | undefined;
4
15
  /**
5
- * May `storage.resolve` return a path for this location?
6
- *
7
- * `resolve` is the only method on the cap whose result LEAVES the storage
8
- * abstraction — every caller of it opens the string with `node:fs`. A remote
9
- * provider answers with a path on the remote host, which on this node is
10
- * either missing or an unrelated local directory of the same name. For the
11
- * recorder, writing to the wrong place is not an error the operator sees; it
12
- * is a black window in the footage.
13
- *
14
- * Only a POSITIVE `false` refuses. `undefined` is "not yet classified", not
15
- * "remote" — and a conclusion drawn from a read that was never made is how a
16
- * doorbell rang 0/3 (D49).
17
- */
16
+ * May `storage.resolve` return a path for this location?
17
+ *
18
+ * `resolve` is the only method on the cap whose result LEAVES the storage
19
+ * abstraction — every caller of it opens the string with `node:fs`. A remote
20
+ * provider answers with a path on the remote host, which on this node is
21
+ * either missing or an unrelated local directory of the same name. For the
22
+ * recorder, writing to the wrong place is not an error the operator sees; it
23
+ * is a black window in the footage.
24
+ *
25
+ * Only a POSITIVE `false` refuses. `undefined` is "not yet classified", not
26
+ * "remote" — and a conclusion drawn from a read that was never made is how a
27
+ * doorbell rang 0/3 (D49).
28
+ */
18
29
  export declare function resolveRefusalFor(location: StorageLocation, locality: ProviderLocality): string | null;
19
30
  /**
20
- * Can this node's filesystem answer "does this location still hold anything?"
21
- *
22
- * Only for a provider it KNOWS to be node-local. Everything else is `unknown`,
23
- * which refuses a delete.
24
- *
25
- * The direction that matters is the one this closes. A remote location carries
26
- * a plain-looking `basePath` (`/backups/camstack`); `fs.readdir` of it on the
27
- * hub answers `ENOENT`, and `ENOENT` is deliberately read as `empty` — because
28
- * for a LOCAL location an absent root means there is nothing the delete can
29
- * strand. Applied to a remote row, that same reasoning turns a full share into
30
- * a vacant one and walks D293's delete guard straight past it.
31
- */
31
+ * Can this node's filesystem answer "does this location still hold anything?"
32
+ *
33
+ * Only for a provider it KNOWS to be node-local. Everything else is `unknown`,
34
+ * which refuses a delete.
35
+ *
36
+ * The direction that matters is the one this closes. A remote location carries
37
+ * a plain-looking `basePath` (`/backups/camstack`); `fs.readdir` of it on the
38
+ * hub answers `ENOENT`, and `ENOENT` is deliberately read as `empty` — because
39
+ * for a LOCAL location an absent root means there is nothing the delete can
40
+ * strand. Applied to a remote row, that same reasoning turns a full share into
41
+ * a vacant one and walks D293's delete guard straight past it.
42
+ */
32
43
  export declare function canProbeOccupancyLocally(locality: ProviderLocality): boolean;
@@ -1,24 +1,39 @@
1
- import { IDataStoreProvider, ISettingsStoreProvider } from '@camstack/types';
1
+ /**
2
+ * The data door's dispatcher — the `settings-store` provider the storage
3
+ * orchestrator registers, forwarding every call to the
4
+ * `data-store-provider` engine behind it ([D44](../../../../../docs/decisions/adr-0044.md)).
5
+ *
6
+ * It is a ROUTER, not a translator. The two cap surfaces are deliberately
7
+ * identical, so every method here is the same forward, and the payload
8
+ * crosses untouched. That matters more than it looks: the engine composes
9
+ * its table name from `namespace` + `collection` **out of the payload**,
10
+ * so a dispatcher that injected, defaulted or stripped a namespace would
11
+ * silently rename every table in the database.
12
+ *
13
+ * Extracted from the addon so the forwarding is unit-testable without
14
+ * booting a `BaseAddon` — the same reason `provider-discovery.ts` exists.
15
+ */
16
+ import type { IDataStoreProvider, ISettingsStoreProvider } from "@camstack/types";
2
17
  /** How the dispatcher reaches the registered engines, read per call. */
3
18
  export type GetDataStoreEngines = () => readonly IDataStoreProvider[];
4
19
  /**
5
- * How the dispatcher reaches the node that owns the store when THIS node
6
- * does not — an agent, whose persistence is the hub's
7
- * (`createHubSettingsForward`). Read per call for the same reason
8
- * `getEngines` is: the broker reconnects, and a snapshot taken at
9
- * construction time would go stale exactly when the hub came back.
10
- *
11
- * `null` (and an omitted getter) means "there is no remote" — a hub, where a
12
- * remote could only be this very door, reached back through `$hub-cap-fwd`.
13
- */
20
+ * How the dispatcher reaches the node that owns the store when THIS node
21
+ * does not — an agent, whose persistence is the hub's
22
+ * (`createHubSettingsForward`). Read per call for the same reason
23
+ * `getEngines` is: the broker reconnects, and a snapshot taken at
24
+ * construction time would go stale exactly when the hub came back.
25
+ *
26
+ * `null` (and an omitted getter) means "there is no remote" — a hub, where a
27
+ * remote could only be this very door, reached back through `$hub-cap-fwd`.
28
+ */
14
29
  export type GetRemoteDataStore = () => ISettingsStoreProvider | null;
15
30
  /**
16
- * Build the `settings-store` provider that fronts the registered engines,
17
- * with an optional remote behind it for a node that registers none.
18
- *
19
- * `getEngines` and `getRemote` are read on every call, never captured:
20
- * engines register during boot and a runner respawn replaces the instance, so
21
- * a snapshot taken at construction time would go stale exactly when an addon
22
- * crashed and came back.
23
- */
31
+ * Build the `settings-store` provider that fronts the registered engines,
32
+ * with an optional remote behind it for a node that registers none.
33
+ *
34
+ * `getEngines` and `getRemote` are read on every call, never captured:
35
+ * engines register during boot and a runner respawn replaces the instance, so
36
+ * a snapshot taken at construction time would go stale exactly when an addon
37
+ * crashed and came back.
38
+ */
24
39
  export declare function createDataStoreDispatch(getEngines: GetDataStoreEngines, getRemote?: GetRemoteDataStore): ISettingsStoreProvider;
@@ -1,104 +1,104 @@
1
1
  /**
2
- * The growth-matched drain ratchet (D386).
3
- *
4
- * `readonly` takes a location OUT of pressure eviction. `drain` must instead
5
- * SHRINK it — and priority ordering alone does nothing, because the draining
6
- * disk and the destination are different physical devices: pressure on one can
7
- * never trigger eviction on the other.
8
- *
9
- * So a draining location gets a **monotonically descending effective usage
10
- * cap**, enforced through the existing `relieveToUsageCap` machinery rather
11
- * than a second eviction path. The pace is GROWTH-MATCHED: each sweep, the
12
- * draining location cedes as many bytes as the ACTIVE locations of its class
13
- * gained since the previous sweep. There is no operator-facing rate — the
14
- * operator sets one flag and nothing else.
15
- *
16
- * The properties this module exists to hold, each one a named test:
17
- *
18
- * - no growth in the destination ⇒ nothing is deleted this sweep;
19
- * - the cap never rises again — a shrunken cap survives a sweep where growth
20
- * is negative or unmeasurable;
21
- * - the state survives a process restart (it is PERSISTED, never recomputed
22
- * from scratch — a recomputed cap would start again at today's usage and
23
- * silently undo every byte of progress);
24
- * - reaching zero stops the ratchet and reports the location as drained;
25
- * - switching back to `readonly` or `active` stops it immediately (the caller
26
- * clears the state; nothing here keeps running on its own).
27
- *
28
- * Pure. Every input is a parameter, every output is a new object.
29
- */
2
+ * The growth-matched drain ratchet (D386).
3
+ *
4
+ * `readonly` takes a location OUT of pressure eviction. `drain` must instead
5
+ * SHRINK it — and priority ordering alone does nothing, because the draining
6
+ * disk and the destination are different physical devices: pressure on one can
7
+ * never trigger eviction on the other.
8
+ *
9
+ * So a draining location gets a **monotonically descending effective usage
10
+ * cap**, enforced through the existing `relieveToUsageCap` machinery rather
11
+ * than a second eviction path. The pace is GROWTH-MATCHED: each sweep, the
12
+ * draining location cedes as many bytes as the ACTIVE locations of its class
13
+ * gained since the previous sweep. There is no operator-facing rate — the
14
+ * operator sets one flag and nothing else.
15
+ *
16
+ * The properties this module exists to hold, each one a named test:
17
+ *
18
+ * - no growth in the destination ⇒ nothing is deleted this sweep;
19
+ * - the cap never rises again — a shrunken cap survives a sweep where growth
20
+ * is negative or unmeasurable;
21
+ * - the state survives a process restart (it is PERSISTED, never recomputed
22
+ * from scratch — a recomputed cap would start again at today's usage and
23
+ * silently undo every byte of progress);
24
+ * - reaching zero stops the ratchet and reports the location as drained;
25
+ * - switching back to `readonly` or `active` stops it immediately (the caller
26
+ * clears the state; nothing here keeps running on its own).
27
+ *
28
+ * Pure. Every input is a parameter, every output is a new object.
29
+ */
30
30
  /** What one sweep measured about a draining location and its class. */
31
31
  export interface DrainObservation {
32
- readonly locationId: string;
33
- /** Evictable bytes on the DRAINING location, now. */
34
- readonly usedBytes: number;
35
- /**
36
- * Evictable bytes held by the ACTIVE locations of the same class, now.
37
- * `null` when this sweep could not measure them — no active peer, or a
38
- * provider read that failed. Unmeasurable is NOT zero growth with a
39
- * different name: it must never be allowed to move the cap in either
40
- * direction, and it must never be folded into the observed growth rate the
41
- * estimate is derived from.
42
- */
43
- readonly peerUsedBytes: number | null;
44
- readonly atMs: number;
32
+ readonly locationId: string;
33
+ /** Evictable bytes on the DRAINING location, now. */
34
+ readonly usedBytes: number;
35
+ /**
36
+ * Evictable bytes held by the ACTIVE locations of the same class, now.
37
+ * `null` when this sweep could not measure them — no active peer, or a
38
+ * provider read that failed. Unmeasurable is NOT zero growth with a
39
+ * different name: it must never be allowed to move the cap in either
40
+ * direction, and it must never be folded into the observed growth rate the
41
+ * estimate is derived from.
42
+ */
43
+ readonly peerUsedBytes: number | null;
44
+ readonly atMs: number;
45
45
  }
46
46
  /** The persisted ratchet state for one draining location. */
47
47
  export interface DrainState {
48
- readonly locationId: string;
49
- /** When the drain began. Persisted so a restart reports real elapsed time. */
50
- readonly startedAtMs: number;
51
- /** Evictable bytes at that moment — the denominator of "progress". */
52
- readonly startBytes: number;
53
- /** The effective usage cap. NEVER rises. */
54
- readonly capBytes: number;
55
- /** Peer footprint at the previous sweep; the next sweep's growth is measured
56
- * against it. `null` until a sweep manages to measure it. */
57
- readonly lastPeerBytes: number | null;
58
- readonly lastSweepMs: number;
59
- /** Total MEASURED growth ceded so far, and the wall time it took. The empty
60
- * estimate is derived from these two and from nothing else — a rate the
61
- * system has not observed is reported as absent, never as a date. */
62
- readonly observedGrowthBytes: number;
63
- readonly observedElapsedMs: number;
48
+ readonly locationId: string;
49
+ /** When the drain began. Persisted so a restart reports real elapsed time. */
50
+ readonly startedAtMs: number;
51
+ /** Evictable bytes at that moment — the denominator of "progress". */
52
+ readonly startBytes: number;
53
+ /** The effective usage cap. NEVER rises. */
54
+ readonly capBytes: number;
55
+ /** Peer footprint at the previous sweep; the next sweep's growth is measured
56
+ * against it. `null` until a sweep manages to measure it. */
57
+ readonly lastPeerBytes: number | null;
58
+ readonly lastSweepMs: number;
59
+ /** Total MEASURED growth ceded so far, and the wall time it took. The empty
60
+ * estimate is derived from these two and from nothing else — a rate the
61
+ * system has not observed is reported as absent, never as a date. */
62
+ readonly observedGrowthBytes: number;
63
+ readonly observedElapsedMs: number;
64
64
  }
65
65
  /** One sweep's decision. */
66
66
  export interface DrainStep {
67
- readonly state: DrainState;
68
- /**
69
- * The cap to enforce this sweep, or `null` when nothing is to be evicted —
70
- * the first sweep (no growth measured yet) and a location already drained.
71
- */
72
- readonly capBytes: number | null;
73
- /** The location holds nothing more: the ratchet stops and the caller reports
74
- * it drained. */
75
- readonly drained: boolean;
76
- /** Growth measured this sweep, or `null` when it was unmeasurable. */
77
- readonly growthBytes: number | null;
67
+ readonly state: DrainState;
68
+ /**
69
+ * The cap to enforce this sweep, or `null` when nothing is to be evicted —
70
+ * the first sweep (no growth measured yet) and a location already drained.
71
+ */
72
+ readonly capBytes: number | null;
73
+ /** The location holds nothing more: the ratchet stops and the caller reports
74
+ * it drained. */
75
+ readonly drained: boolean;
76
+ /** Growth measured this sweep, or `null` when it was unmeasurable. */
77
+ readonly growthBytes: number | null;
78
78
  }
79
79
  /** Progress a UI can render. */
80
80
  export interface DrainProgress {
81
- readonly locationId: string;
82
- readonly startedAtMs: number;
83
- readonly startBytes: number;
84
- readonly bytesRemaining: number;
85
- readonly drained: boolean;
86
- /**
87
- * Epoch ms this location is expected to be empty, or `null` when the growth
88
- * rate is unknown. Never a fabricated date: a drain with no observed growth
89
- * has no honest ETA, and inventing one is how an operator learns not to
90
- * believe the screen.
91
- */
92
- readonly estimatedEmptyAtMs: number | null;
81
+ readonly locationId: string;
82
+ readonly startedAtMs: number;
83
+ readonly startBytes: number;
84
+ readonly bytesRemaining: number;
85
+ readonly drained: boolean;
86
+ /**
87
+ * Epoch ms this location is expected to be empty, or `null` when the growth
88
+ * rate is unknown. Never a fabricated date: a drain with no observed growth
89
+ * has no honest ETA, and inventing one is how an operator learns not to
90
+ * believe the screen.
91
+ */
92
+ readonly estimatedEmptyAtMs: number | null;
93
93
  }
94
94
  /** The state a drain starts from. No deletion happens on this sweep. */
95
95
  export declare function beginDrain(observation: DrainObservation): DrainState;
96
96
  /**
97
- * Advance the ratchet by one sweep. `previous` is `null` on the first sweep of
98
- * a drain (and after a state the caller cleared), which only ARMS the ratchet:
99
- * the first growth can be measured no earlier than the second sweep, and a cap
100
- * derived from no measurement would be a rate the operator never asked for.
101
- */
97
+ * Advance the ratchet by one sweep. `previous` is `null` on the first sweep of
98
+ * a drain (and after a state the caller cleared), which only ARMS the ratchet:
99
+ * the first growth can be measured no earlier than the second sweep, and a cap
100
+ * derived from no measurement would be a rate the operator never asked for.
101
+ */
102
102
  export declare function stepDrain(previous: DrainState | null, observation: DrainObservation): DrainStep;
103
103
  /** Progress for a UI, derived from the persisted state and today's usage. */
104
104
  export declare function drainProgressOf(state: DrainState, usedBytes: number, nowMs: number): DrainProgress;
@@ -1,13 +1,23 @@
1
- import { ISettingsStoreProvider } from '@camstack/types';
2
- import { DrainState } from './drain-ratchet.js';
3
- import { DrainStateStore } from './storage-pressure-manager.js';
1
+ /**
2
+ * Durable home for the drain ratchet (D386).
3
+ *
4
+ * The cap MUST survive a restart. Recomputing it from today's usage would
5
+ * restart the ratchet at the top of the disk and silently undo every byte of
6
+ * progress — the operator would see a drain that never finishes and no line
7
+ * saying why. So the cap, the drain start and the observed growth are persisted
8
+ * on every sweep, through the same `settings-store` door the location table
9
+ * uses.
10
+ */
11
+ import type { ISettingsStoreProvider } from "@camstack/types";
12
+ import type { DrainState } from "./drain-ratchet.js";
13
+ import type { DrainStateStore } from "./storage-pressure-manager.js";
4
14
  /** {@link DrainStateStore} on the `settings-store` collection surface. */
5
15
  export declare class SqliteDrainStateStore implements DrainStateStore {
6
- private readonly store;
7
- private declared;
8
- constructor(store: ISettingsStoreProvider);
9
- private ensureDeclared;
10
- load(): Promise<readonly DrainState[]>;
11
- save(state: DrainState): Promise<void>;
12
- clear(locationId: string): Promise<void>;
16
+ private readonly store;
17
+ private declared;
18
+ constructor(store: ISettingsStoreProvider);
19
+ private ensureDeclared;
20
+ load(): Promise<readonly DrainState[]>;
21
+ save(state: DrainState): Promise<void>;
22
+ clear(locationId: string): Promise<void>;
13
23
  }