@camstack/system 1.2.390 → 1.2.392

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 (575) 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/addon-utils.js +1 -1
  7. package/dist/addon-utils.mjs +1 -1
  8. package/dist/amd-accelerators-CEuPFBBK.js +36 -0
  9. package/dist/amd-accelerators-U_RsoEDd.mjs +35 -0
  10. package/dist/amd-npu-B-QyyMyF.js +53 -0
  11. package/dist/amd-npu-Db_SoSuL.mjs +52 -0
  12. package/dist/auth/admin-token-manager.d.ts +37 -67
  13. package/dist/auth/api-key-manager.d.ts +8 -8
  14. package/dist/auth/auth-audit-log.d.ts +29 -49
  15. package/dist/auth/auth-manager.d.ts +127 -126
  16. package/dist/auth/cidr.d.ts +8 -8
  17. package/dist/auth/external-identity-manager.d.ts +46 -34
  18. package/dist/auth/jwt-signing-key.d.ts +14 -14
  19. package/dist/auth/login-session-manager.d.ts +95 -135
  20. package/dist/auth/parse-record.d.ts +13 -13
  21. package/dist/auth/scope-matcher.d.ts +7 -7
  22. package/dist/auth/scoped-token-manager.d.ts +62 -62
  23. package/dist/auth/token-expiry.d.ts +49 -26
  24. package/dist/auth/totp-manager.d.ts +48 -48
  25. package/dist/auth/user-management-internal.d.ts +67 -52
  26. package/dist/auth/user-manager.d.ts +58 -58
  27. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.d.ts +54 -54
  28. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
  29. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
  30. package/dist/builtins/addon-pages-aggregator/dedupe-pages.d.ts +22 -4
  31. package/dist/builtins/addon-pages-aggregator/index.d.ts +1 -1
  32. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.d.ts +54 -54
  33. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
  34. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
  35. package/dist/builtins/addon-widgets-aggregator/index.d.ts +1 -1
  36. package/dist/builtins/alerts/alerts.addon.d.ts +88 -87
  37. package/dist/builtins/alerts/alerts.addon.js +1 -1
  38. package/dist/builtins/alerts/alerts.addon.mjs +1 -1
  39. package/dist/builtins/alerts/device-label.d.ts +6 -6
  40. package/dist/builtins/alerts/index.d.ts +1 -1
  41. package/dist/builtins/alerts/prune-policy.d.ts +36 -36
  42. package/dist/builtins/autotrack/autotrack-cameras.d.ts +102 -79
  43. package/dist/builtins/autotrack/autotrack-config.d.ts +81 -81
  44. package/dist/builtins/autotrack/autotrack-decision.d.ts +69 -82
  45. package/dist/builtins/autotrack/autotrack-loop.d.ts +81 -61
  46. package/dist/builtins/autotrack/autotrack.addon.d.ts +103 -66
  47. package/dist/builtins/autotrack/frame-error.d.ts +38 -38
  48. package/dist/builtins/autotrack/frame-measurements.d.ts +79 -79
  49. package/dist/builtins/autotrack/index.d.ts +2 -2
  50. package/dist/builtins/autotrack/index.js +1 -1
  51. package/dist/builtins/autotrack/index.mjs +1 -1
  52. package/dist/builtins/autotrack/ptz-mirror.d.ts +46 -17
  53. package/dist/builtins/autotrack/target-selection.d.ts +33 -47
  54. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.d.ts +270 -269
  55. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +2 -2
  56. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +2 -2
  57. package/dist/builtins/backup-orchestrator/cron-helpers.d.ts +17 -17
  58. package/dist/builtins/backup-orchestrator/destination-policy.d.ts +99 -82
  59. package/dist/builtins/backup-orchestrator/download-helpers.d.ts +9 -9
  60. package/dist/builtins/backup-orchestrator/encryption-key-store.d.ts +40 -29
  61. package/dist/builtins/backup-orchestrator/index.d.ts +2 -2
  62. package/dist/builtins/backup-orchestrator/manifest-store.d.ts +88 -69
  63. package/dist/builtins/backup-orchestrator/restore-archive.d.ts +14 -14
  64. package/dist/builtins/backup-orchestrator/run-queue.d.ts +86 -86
  65. package/dist/builtins/backup-orchestrator/schedule-store.d.ts +53 -37
  66. package/dist/builtins/backup-orchestrator/staging-paths.d.ts +23 -23
  67. package/dist/builtins/backup-orchestrator/write-targets.d.ts +53 -53
  68. package/dist/builtins/calendars/calendar-color.d.ts +5 -1
  69. package/dist/builtins/calendars/calendar-prefs-store.d.ts +18 -12
  70. package/dist/builtins/calendars/calendars.addon.d.ts +16 -11
  71. package/dist/builtins/calendars/calendars.addon.js +1 -1
  72. package/dist/builtins/calendars/calendars.addon.mjs +1 -1
  73. package/dist/builtins/calendars/index.d.ts +1 -1
  74. package/dist/builtins/camera-grid/acquire-retry.d.ts +26 -26
  75. package/dist/builtins/camera-grid/addon.d.ts +200 -174
  76. package/dist/builtins/camera-grid/flv-join.d.ts +32 -58
  77. package/dist/builtins/camera-grid/grid-activity-mirror.d.ts +37 -37
  78. package/dist/builtins/camera-grid/grid-activity.d.ts +83 -42
  79. package/dist/builtins/camera-grid/grid-camera-declarations.d.ts +46 -46
  80. package/dist/builtins/camera-grid/grid-camera-device.d.ts +60 -34
  81. package/dist/builtins/camera-grid/grid-canvas-derivation.d.ts +50 -15
  82. package/dist/builtins/camera-grid/grid-canvas-seed.d.ts +96 -46
  83. package/dist/builtins/camera-grid/grid-canvas.d.ts +74 -74
  84. package/dist/builtins/camera-grid/grid-child.d.ts +29 -16
  85. package/dist/builtins/camera-grid/grid-compositor-child.d.ts +2 -2
  86. package/dist/builtins/camera-grid/grid-compositor-invocation.d.ts +39 -11
  87. package/dist/builtins/camera-grid/grid-compositor.d.ts +50 -50
  88. package/dist/builtins/camera-grid/grid-detection-mapping.d.ts +52 -22
  89. package/dist/builtins/camera-grid/grid-device-settings.d.ts +31 -7
  90. package/dist/builtins/camera-grid/grid-filter-graph.d.ts +41 -41
  91. package/dist/builtins/camera-grid/grid-frame-sample.d.ts +45 -19
  92. package/dist/builtins/camera-grid/grid-instances.d.ts +20 -50
  93. package/dist/builtins/camera-grid/grid-last-frame-store.d.ts +51 -51
  94. package/dist/builtins/camera-grid/grid-layout-native-provider.d.ts +30 -4
  95. package/dist/builtins/camera-grid/grid-plan.d.ts +30 -20
  96. package/dist/builtins/camera-grid/grid-profiles.d.ts +85 -45
  97. package/dist/builtins/camera-grid/grid-row-normalization.d.ts +6 -6
  98. package/dist/builtins/camera-grid/grid-sentry-sources.d.ts +57 -57
  99. package/dist/builtins/camera-grid/grid-snapshot.d.ts +41 -41
  100. package/dist/builtins/camera-grid/grid-stream-descriptor.d.ts +49 -21
  101. package/dist/builtins/camera-grid/grid-stream-invocation.d.ts +37 -22
  102. package/dist/builtins/camera-grid/grid-stream-relay.d.ts +26 -26
  103. package/dist/builtins/camera-grid/grid-stream-session.d.ts +123 -93
  104. package/dist/builtins/camera-grid/grid-tile-feed.d.ts +47 -47
  105. package/dist/builtins/camera-grid/grid-tile-plan.d.ts +55 -20
  106. package/dist/builtins/camera-grid/grid-wire-format.d.ts +22 -6
  107. package/dist/builtins/camera-grid/index.d.ts +44 -44
  108. package/dist/builtins/camera-grid/index.js +1 -1
  109. package/dist/builtins/camera-grid/index.mjs +1 -1
  110. package/dist/builtins/camera-grid/silence-analysis.d.ts +31 -14
  111. package/dist/builtins/composer/claim-gate.d.ts +54 -27
  112. package/dist/builtins/composer/composed-device-set.d.ts +40 -26
  113. package/dist/builtins/composer/composed-device.d.ts +39 -17
  114. package/dist/builtins/composer/composer-apply-waits.d.ts +20 -13
  115. package/dist/builtins/composer/composer-grafts.d.ts +57 -38
  116. package/dist/builtins/composer/composer-live-set.d.ts +15 -15
  117. package/dist/builtins/composer/composer-plan.d.ts +76 -60
  118. package/dist/builtins/composer/composer-runtime-factory.d.ts +21 -14
  119. package/dist/builtins/composer/composer-seeds.d.ts +20 -14
  120. package/dist/builtins/composer/composer-verdict.d.ts +28 -14
  121. package/dist/builtins/composer/composer.addon.d.ts +23 -9
  122. package/dist/builtins/composer/composer.addon.js +2 -2
  123. package/dist/builtins/composer/composer.addon.mjs +2 -2
  124. package/dist/builtins/composer/composer.d.ts +145 -100
  125. package/dist/builtins/composer/composition-declarations.d.ts +50 -39
  126. package/dist/builtins/composer/composition-evaluation.d.ts +38 -22
  127. package/dist/builtins/composer/composition-runtime.d.ts +178 -125
  128. package/dist/builtins/composer/composition-target.d.ts +38 -34
  129. package/dist/builtins/composer/confirmed-seed.d.ts +35 -23
  130. package/dist/builtins/composer/deadline-timer.d.ts +13 -13
  131. package/dist/builtins/composer/existing-target.d.ts +90 -73
  132. package/dist/builtins/composer/field-record.d.ts +26 -19
  133. package/dist/builtins/composer/graft-host.d.ts +56 -32
  134. package/dist/builtins/composer/held-claims.d.ts +26 -9
  135. package/dist/builtins/composer/index.d.ts +1 -1
  136. package/dist/builtins/composer/own-field-reads.d.ts +26 -15
  137. package/dist/builtins/composer/owned-fields-target.d.ts +75 -44
  138. package/dist/builtins/composer/slice-assembler.d.ts +19 -3
  139. package/dist/builtins/composer/source-readings.d.ts +67 -61
  140. package/dist/builtins/composer/source-tracker.d.ts +133 -69
  141. package/dist/builtins/console-logging/console-destination.d.ts +15 -8
  142. package/dist/builtins/console-logging/console-logging.addon.d.ts +20 -19
  143. package/dist/builtins/console-logging/index.d.ts +3 -3
  144. package/dist/builtins/console-logging/index.js +1 -1
  145. package/dist/builtins/console-logging/index.mjs +1 -1
  146. package/dist/builtins/core-blocks/block-package.d.ts +37 -37
  147. package/dist/builtins/core-blocks/block-settings-store.d.ts +34 -21
  148. package/dist/builtins/core-blocks/block-supervisor.d.ts +138 -117
  149. package/dist/builtins/core-blocks/block-type-defs.d.ts +21 -21
  150. package/dist/builtins/core-blocks/blocks-integration.d.ts +76 -49
  151. package/dist/builtins/core-blocks/compile-block.d.ts +37 -37
  152. package/dist/builtins/core-blocks/composition-api.d.ts +38 -24
  153. package/dist/builtins/core-blocks/composition-peers.d.ts +26 -4
  154. package/dist/builtins/core-blocks/composition-sources.d.ts +25 -10
  155. package/dist/builtins/core-blocks/core-block-store.d.ts +109 -109
  156. package/dist/builtins/core-blocks/core-blocks.addon.d.ts +72 -72
  157. package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
  158. package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
  159. package/dist/builtins/core-blocks/extract-settings-schema.d.ts +4 -4
  160. package/dist/builtins/core-blocks/index.d.ts +8 -8
  161. package/dist/builtins/device-manager/adoption-job-engine.d.ts +141 -98
  162. package/dist/builtins/device-manager/claimed-status-overlay.d.ts +42 -9
  163. package/dist/builtins/device-manager/contribution-cache.d.ts +56 -56
  164. package/dist/builtins/device-manager/day-night-config-schema.d.ts +26 -12
  165. package/dist/builtins/device-manager/device-aggregation-merge.d.ts +17 -17
  166. package/dist/builtins/device-manager/device-aggregation.d.ts +277 -254
  167. package/dist/builtins/device-manager/device-bindings-store.d.ts +232 -220
  168. package/dist/builtins/device-manager/device-config-contribution.d.ts +29 -29
  169. package/dist/builtins/device-manager/device-config-secrets.d.ts +32 -13
  170. package/dist/builtins/device-manager/device-event-propagator.d.ts +22 -22
  171. package/dist/builtins/device-manager/device-extension-linked-slot.d.ts +17 -17
  172. package/dist/builtins/device-manager/device-form-secrets.d.ts +14 -14
  173. package/dist/builtins/device-manager/device-linked-devices.d.ts +159 -98
  174. package/dist/builtins/device-manager/device-manager.addon.d.ts +223 -197
  175. package/dist/builtins/device-manager/device-manager.addon.js +2 -2
  176. package/dist/builtins/device-manager/device-manager.addon.mjs +2 -2
  177. package/dist/builtins/device-manager/device-meta-actions.d.ts +306 -305
  178. package/dist/builtins/device-manager/device-meta-store.d.ts +100 -90
  179. package/dist/builtins/device-manager/device-meta-types.d.ts +250 -241
  180. package/dist/builtins/device-manager/device-online-fallback.d.ts +30 -30
  181. package/dist/builtins/device-manager/device-projection.d.ts +53 -67
  182. package/dist/builtins/device-manager/device-provider-context.d.ts +109 -94
  183. package/dist/builtins/device-manager/device-queries.d.ts +63 -63
  184. package/dist/builtins/device-manager/device-row-store.d.ts +417 -365
  185. package/dist/builtins/device-manager/device-source-activation.d.ts +91 -49
  186. package/dist/builtins/device-manager/device-state-claim-views.d.ts +76 -61
  187. package/dist/builtins/device-manager/device-state-claims.d.ts +53 -30
  188. package/dist/builtins/device-manager/device-state-mirror.d.ts +256 -264
  189. package/dist/builtins/device-manager/device-sync-resolvers.d.ts +25 -25
  190. package/dist/builtins/device-manager/field-claims-index.d.ts +85 -58
  191. package/dist/builtins/device-manager/field-ownership.d.ts +54 -36
  192. package/dist/builtins/device-manager/fleet-read-census.d.ts +99 -61
  193. package/dist/builtins/device-manager/image-settings-config-schema.d.ts +18 -8
  194. package/dist/builtins/device-manager/index.d.ts +2 -2
  195. package/dist/builtins/device-manager/linked-devices-manual-backfill.d.ts +20 -9
  196. package/dist/builtins/device-manager/location-alignment.d.ts +46 -46
  197. package/dist/builtins/device-manager/migrate-device.d.ts +178 -101
  198. package/dist/builtins/device-manager/migrate-guard.d.ts +66 -34
  199. package/dist/builtins/device-manager/migrate-hardware-state.d.ts +59 -59
  200. package/dist/builtins/device-manager/migrate-reload.d.ts +42 -4
  201. package/dist/builtins/device-manager/migration-refused.d.ts +20 -20
  202. package/dist/builtins/device-manager/mirror-row-writer.d.ts +205 -179
  203. package/dist/builtins/device-manager/recording-onboard-config-schema.d.ts +56 -32
  204. package/dist/builtins/device-manager/removal-fence.d.ts +48 -48
  205. package/dist/builtins/device-manager/runtime-state-persist-gate.d.ts +54 -26
  206. package/dist/builtins/device-manager/secret-config-paths.d.ts +17 -17
  207. package/dist/builtins/device-manager/stale-wrapper-activations.d.ts +52 -25
  208. package/dist/builtins/device-manager/write-lock.d.ts +13 -13
  209. package/dist/builtins/hub-forwarder/hub-forwarder-destination.d.ts +41 -41
  210. package/dist/builtins/hub-forwarder/hub-forwarder.addon.d.ts +13 -12
  211. package/dist/builtins/hub-forwarder/index.d.ts +3 -3
  212. package/dist/builtins/hub-forwarder/index.js +1 -1
  213. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  214. package/dist/builtins/keychain/index.d.ts +1 -1
  215. package/dist/builtins/keychain/index.js +3 -3
  216. package/dist/builtins/keychain/index.mjs +3 -3
  217. package/dist/builtins/keychain/key-sources.d.ts +19 -19
  218. package/dist/builtins/keychain/keychain-crypto.d.ts +4 -4
  219. package/dist/builtins/keychain/keychain-reset-trigger.d.ts +13 -13
  220. package/dist/builtins/keychain/keychain-service.d.ts +128 -128
  221. package/dist/builtins/keychain/keychain-store.d.ts +96 -87
  222. package/dist/builtins/keychain/keychain-usage.d.ts +13 -2
  223. package/dist/builtins/keychain/keychain.addon.d.ts +31 -6
  224. package/dist/builtins/keychain/platform-key-source.d.ts +15 -15
  225. package/dist/builtins/keychain/system-held-secrets.d.ts +17 -4
  226. package/dist/builtins/liveness-monitor/index.d.ts +2 -2
  227. package/dist/builtins/liveness-monitor/liveness-checks.d.ts +73 -52
  228. package/dist/builtins/liveness-monitor/liveness-monitor.addon.d.ts +57 -36
  229. package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
  230. package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
  231. package/dist/builtins/local-auth/admin-account-boot.d.ts +14 -14
  232. package/dist/builtins/local-auth/auth-config-reader.d.ts +34 -17
  233. package/dist/builtins/local-auth/auth-schema.d.ts +92 -69
  234. package/dist/builtins/local-auth/index.d.ts +1 -1
  235. package/dist/builtins/local-auth/jwt-signing-key-keeper.d.ts +22 -22
  236. package/dist/builtins/local-auth/local-auth.addon.d.ts +41 -40
  237. package/dist/builtins/local-auth/local-auth.addon.js +2 -2
  238. package/dist/builtins/local-auth/local-auth.addon.mjs +2 -2
  239. package/dist/builtins/local-auth/oauth-grants.d.ts +57 -57
  240. package/dist/builtins/local-auth/oauth-session-manager.d.ts +62 -62
  241. package/dist/builtins/local-network/address-book.d.ts +61 -36
  242. package/dist/builtins/local-network/index.d.ts +2 -2
  243. package/dist/builtins/local-network/ipv6-lan.d.ts +12 -17
  244. package/dist/builtins/local-network/local-hostname.d.ts +10 -10
  245. package/dist/builtins/local-network/local-network.addon.d.ts +259 -258
  246. package/dist/builtins/local-network/local-network.addon.js +1 -1
  247. package/dist/builtins/local-network/local-network.addon.mjs +1 -1
  248. package/dist/builtins/loki-logging/index.d.ts +4 -4
  249. package/dist/builtins/loki-logging/index.js +1 -1
  250. package/dist/builtins/loki-logging/index.mjs +1 -1
  251. package/dist/builtins/loki-logging/loki-destination.d.ts +113 -87
  252. package/dist/builtins/loki-logging/loki-logging.addon.d.ts +61 -42
  253. package/dist/builtins/loki-logging/loki-payload.d.ts +82 -39
  254. package/dist/builtins/loki-logging/retire-enabled-flag.d.ts +37 -12
  255. package/dist/builtins/native-metrics/cgroup-memory.d.ts +206 -159
  256. package/dist/builtins/native-metrics/cgroup-pids.d.ts +138 -91
  257. package/dist/builtins/native-metrics/container-memory-series.d.ts +212 -178
  258. package/dist/builtins/native-metrics/gpu-probe.d.ts +9 -9
  259. package/dist/builtins/native-metrics/index.d.ts +2 -2
  260. package/dist/builtins/native-metrics/load-series-config.d.ts +29 -57
  261. package/dist/builtins/native-metrics/load-series-reader.d.ts +52 -26
  262. package/dist/builtins/native-metrics/load-series-store.d.ts +237 -176
  263. package/dist/builtins/native-metrics/native-metrics-provider.d.ts +43 -43
  264. package/dist/builtins/native-metrics/native-metrics.addon.d.ts +230 -230
  265. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  266. package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
  267. package/dist/builtins/native-metrics/node-load-ring.d.ts +196 -196
  268. package/dist/builtins/native-metrics/proc-process-table.d.ts +12 -12
  269. package/dist/builtins/native-metrics/process-classification.d.ts +95 -36
  270. package/dist/builtins/native-metrics/thread-cpu-sampler.d.ts +95 -95
  271. package/dist/builtins/platform-probe/amd-accelerators.d.ts +15 -0
  272. package/dist/builtins/platform-probe/amd-npu.d.ts +29 -0
  273. package/dist/builtins/platform-probe/coral-accelerators.d.ts +17 -17
  274. package/dist/builtins/platform-probe/index.d.ts +38 -30
  275. package/dist/builtins/platform-probe/index.js +59 -22
  276. package/dist/builtins/platform-probe/index.mjs +59 -22
  277. package/dist/builtins/platform-probe/inference-config-resolver.d.ts +27 -27
  278. package/dist/builtins/platform-probe/intel-accelerators.d.ts +8 -8
  279. package/dist/builtins/platform-probe/intel-npu.d.ts +30 -30
  280. package/dist/builtins/platform-probe/platform-scorer.d.ts +35 -35
  281. package/dist/builtins/platform-probe/runtime-packages.d.ts +3 -3
  282. package/dist/builtins/remote-access-orchestrator/enabled-providers-reconcile.d.ts +87 -87
  283. package/dist/builtins/remote-access-orchestrator/index.d.ts +1 -1
  284. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.d.ts +66 -35
  285. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  286. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  287. package/dist/builtins/shared/device-state-changed.d.ts +9 -9
  288. package/dist/builtins/shared/settle-sources.d.ts +16 -16
  289. package/dist/builtins/snapshot/index.d.ts +2 -2
  290. package/dist/builtins/snapshot/index.js +1 -1
  291. package/dist/builtins/snapshot/index.mjs +1 -1
  292. package/dist/builtins/snapshot/snapshot-cache.d.ts +92 -92
  293. package/dist/builtins/snapshot/snapshot-coalescing.d.ts +108 -108
  294. package/dist/builtins/snapshot/snapshot-courtesy.d.ts +48 -48
  295. package/dist/builtins/snapshot/snapshot-durable-store.d.ts +32 -32
  296. package/dist/builtins/snapshot/snapshot-fatigue.d.ts +34 -34
  297. package/dist/builtins/snapshot/snapshot-grab-pick.d.ts +14 -14
  298. package/dist/builtins/snapshot/snapshot-link-url.d.ts +49 -49
  299. package/dist/builtins/snapshot/snapshot-media-handler.d.ts +97 -97
  300. package/dist/builtins/snapshot/snapshot-resize.d.ts +64 -103
  301. package/dist/builtins/snapshot/snapshot.addon.d.ts +569 -568
  302. package/dist/builtins/sqlite-storage/analyze-stats.d.ts +73 -29
  303. package/dist/builtins/sqlite-storage/config-store.d.ts +6 -6
  304. package/dist/builtins/sqlite-storage/device-store.d.ts +16 -16
  305. package/dist/builtins/sqlite-storage/filesystem-browse-provider.d.ts +23 -23
  306. package/dist/builtins/sqlite-storage/filesystem-storage-provider.d.ts +79 -79
  307. package/dist/builtins/sqlite-storage/filesystem-storage.addon.d.ts +27 -26
  308. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  309. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  310. package/dist/builtins/sqlite-storage/filter-compiler.d.ts +107 -107
  311. package/dist/builtins/sqlite-storage/index.d.ts +12 -12
  312. package/dist/builtins/sqlite-storage/integration-registry.d.ts +37 -37
  313. package/dist/builtins/sqlite-storage/path-guard.d.ts +5 -5
  314. package/dist/builtins/sqlite-storage/prefix-range.d.ts +44 -44
  315. package/dist/builtins/sqlite-storage/query-bounds.d.ts +100 -106
  316. package/dist/builtins/sqlite-storage/query-profiler.d.ts +217 -217
  317. package/dist/builtins/sqlite-storage/retired-collections.d.ts +124 -55
  318. package/dist/builtins/sqlite-storage/retired-settings-keys.d.ts +239 -189
  319. package/dist/builtins/sqlite-storage/shm-lock-canary.d.ts +41 -41
  320. package/dist/builtins/sqlite-storage/sqlite-pragmas.d.ts +162 -162
  321. package/dist/builtins/sqlite-storage/sqlite-settings-backend.d.ts +458 -458
  322. package/dist/builtins/sqlite-storage/sqlite-settings.addon.d.ts +59 -58
  323. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +0 -0
  324. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +0 -0
  325. package/dist/builtins/sqlite-storage/sqlite-snapshot-protocol.d.ts +37 -32
  326. package/dist/builtins/sqlite-storage/sqlite-snapshot-worker.d.ts +19 -19
  327. package/dist/builtins/sqlite-storage/sqlite-snapshotter.d.ts +76 -76
  328. package/dist/builtins/sqlite-storage/statement-shape.d.ts +54 -54
  329. package/dist/builtins/sqlite-storage/table-sizes.d.ts +71 -71
  330. package/dist/builtins/sqlite-storage/vector-index-shared.d.ts +63 -54
  331. package/dist/builtins/sqlite-storage/vector-index-vec.d.ts +133 -96
  332. package/dist/builtins/sqlite-storage/wal-checkpoint-policy.d.ts +161 -161
  333. package/dist/builtins/sqlite-storage/wal-checkpointer.d.ts +60 -60
  334. package/dist/builtins/sqlite-storage/wal-maintenance.d.ts +94 -94
  335. package/dist/builtins/storage-orchestrator/access-guards.d.ts +37 -26
  336. package/dist/builtins/storage-orchestrator/data-store-dispatch.d.ts +33 -18
  337. package/dist/builtins/storage-orchestrator/drain-ratchet.d.ts +85 -85
  338. package/dist/builtins/storage-orchestrator/drain-state-store.d.ts +20 -10
  339. package/dist/builtins/storage-orchestrator/hub-settings-forward.d.ts +113 -53
  340. package/dist/builtins/storage-orchestrator/index.d.ts +7 -7
  341. package/dist/builtins/storage-orchestrator/location-occupancy-slice.d.ts +64 -40
  342. package/dist/builtins/storage-orchestrator/location-occupancy.d.ts +14 -14
  343. package/dist/builtins/storage-orchestrator/location-protection.d.ts +13 -13
  344. package/dist/builtins/storage-orchestrator/location-repoint-move.d.ts +44 -44
  345. package/dist/builtins/storage-orchestrator/location-root-collision.d.ts +61 -25
  346. package/dist/builtins/storage-orchestrator/location-secrets.d.ts +99 -58
  347. package/dist/builtins/storage-orchestrator/location-store.d.ts +56 -47
  348. package/dist/builtins/storage-orchestrator/location-volume-capacity.d.ts +37 -37
  349. package/dist/builtins/storage-orchestrator/provider-discovery.d.ts +20 -6
  350. package/dist/builtins/storage-orchestrator/storage-cleanup-coordinator.d.ts +51 -51
  351. package/dist/builtins/storage-orchestrator/storage-migration-coordinator.d.ts +224 -224
  352. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.d.ts +292 -292
  353. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
  354. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  355. package/dist/builtins/storage-orchestrator/storage-orchestrator.service.d.ts +431 -450
  356. package/dist/builtins/storage-orchestrator/storage-pressure-manager.d.ts +104 -104
  357. package/dist/builtins/system-backup/backup-encryption.d.ts +60 -23
  358. package/dist/builtins/system-backup/system-backup.service.d.ts +240 -240
  359. package/dist/builtins/system-config/cluster-secret-keeper.d.ts +54 -34
  360. package/dist/builtins/system-config/index.d.ts +2 -2
  361. package/dist/builtins/system-config/mesh-actions.d.ts +2 -30
  362. package/dist/builtins/system-config/system-config.addon.d.ts +57 -100
  363. package/dist/builtins/system-config/system-config.addon.js +39 -35
  364. package/dist/builtins/system-config/system-config.addon.mjs +320 -316
  365. package/dist/builtins/winston-logging/index.d.ts +3 -3
  366. package/dist/builtins/winston-logging/index.js +1 -1
  367. package/dist/builtins/winston-logging/index.mjs +1 -1
  368. package/dist/builtins/winston-logging/winston-destination.d.ts +15 -15
  369. package/dist/builtins/winston-logging/winston-logging.addon.d.ts +14 -13
  370. package/dist/{child-cap-dispatch-nURMuVTX.js → child-cap-dispatch-Nx-lrlHR.js} +19 -1
  371. package/dist/{child-cap-dispatch-B1gyE35b.mjs → child-cap-dispatch-x-onDDiV.mjs} +2 -2
  372. package/dist/{composition-sources-wdAxs-uY.js → composition-sources-LUJsW0AQ.js} +1 -1
  373. package/dist/{composition-sources-xqhm2Ygr.mjs → composition-sources-R8TskGSV.mjs} +1 -1
  374. package/dist/{constants-Ca-Sgcl8.js → constants-D4lxxip7.js} +1 -1
  375. package/dist/{constants-D5z4EwY8.mjs → constants-DMvAcbbP.mjs} +1 -1
  376. package/dist/{dist-8LQ4lDEB.js → dist-XTkzsnz-.js} +35 -1
  377. package/dist/{dist-Biqn3TEn.mjs → dist-byg8IP4Q.mjs} +35 -1
  378. package/dist/download/hosted-model-revisions.d.ts +8 -8
  379. package/dist/download/model-download-service.d.ts +32 -32
  380. package/dist/download/model-downloader.d.ts +88 -88
  381. package/dist/{event-loop-stall-monitor-CNj73d4D.js → event-loop-stall-monitor-DPFghEFw.js} +1 -1
  382. package/dist/{event-loop-stall-monitor-BtK_0Pjc.mjs → event-loop-stall-monitor-TG8UcdY2.mjs} +1 -1
  383. package/dist/events/event-bus.d.ts +6 -6
  384. package/dist/events/system-event-bus.d.ts +11 -11
  385. package/dist/feature/feature-manager.d.ts +6 -6
  386. package/dist/http/asset-compression.d.ts +35 -73
  387. package/dist/http/authenticated-file-server.d.ts +32 -32
  388. package/dist/http/data-plane-registry.d.ts +49 -39
  389. package/dist/http/file-data-plane.d.ts +14 -14
  390. package/dist/http/lan-http-bind.d.ts +24 -13
  391. package/dist/http/reverse-proxy.d.ts +36 -24
  392. package/dist/index.d.ts +137 -137
  393. package/dist/index.js +9 -8
  394. package/dist/index.mjs +7 -9
  395. package/dist/{jwt-signing-key-DxV2ucvJ.js → jwt-signing-key-CD87HrHH.js} +1 -1
  396. package/dist/{jwt-signing-key-SnDgvVUQ.mjs → jwt-signing-key-DNBxSN5p.mjs} +1 -1
  397. package/dist/kernel/addon-class-resolver.d.ts +1 -1
  398. package/dist/kernel/addon-engine-manager.d.ts +20 -20
  399. package/dist/kernel/addon-health-monitor.d.ts +151 -151
  400. package/dist/kernel/addon-installer.d.ts +609 -609
  401. package/dist/kernel/addon-loader.d.ts +133 -133
  402. package/dist/kernel/addon-manifest.d.ts +118 -118
  403. package/dist/kernel/addon-residue.d.ts +28 -32
  404. package/dist/kernel/array-buffer-census.d.ts +84 -88
  405. package/dist/kernel/bootstrap-config.d.ts +3 -3
  406. package/dist/kernel/cap-router-builder.d.ts +145 -101
  407. package/dist/kernel/capability-handle.d.ts +41 -41
  408. package/dist/kernel/capability-registry.d.ts +588 -576
  409. package/dist/kernel/config-manager.d.ts +199 -199
  410. package/dist/kernel/config-schema.d.ts +132 -128
  411. package/dist/kernel/custom-action-registry.d.ts +25 -25
  412. package/dist/kernel/deps/addon-deps-manager.d.ts +17 -17
  413. package/dist/kernel/deps/closure-dedupe.d.ts +76 -76
  414. package/dist/kernel/deps/ensure-addon-natives.d.ts +34 -34
  415. package/dist/kernel/deps/ensure-native-prebuilds.d.ts +25 -25
  416. package/dist/kernel/deps/manifest-native-deps.d.ts +38 -38
  417. package/dist/kernel/deps/manifest-python-deps.d.ts +18 -18
  418. package/dist/kernel/deps/manifest-system-deps.d.ts +13 -13
  419. package/dist/kernel/deps/npm-command.d.ts +45 -45
  420. package/dist/kernel/deps/system-package-allowlist.d.ts +9 -9
  421. package/dist/kernel/deps/system-package-broker.d.ts +20 -20
  422. package/dist/kernel/deps/system-package-client.d.ts +3 -3
  423. package/dist/kernel/device-registry.d.ts +27 -27
  424. package/dist/kernel/event-loop-stall-monitor.d.ts +33 -33
  425. package/dist/kernel/event-plane-report.d.ts +174 -174
  426. package/dist/kernel/fs-utils.d.ts +70 -70
  427. package/dist/kernel/gc-census.d.ts +119 -119
  428. package/dist/kernel/heap-spaces.d.ts +87 -87
  429. package/dist/kernel/heap-watch.d.ts +706 -706
  430. package/dist/kernel/host-externals.d.ts +8 -8
  431. package/dist/kernel/hwaccel/hwaccel-resolver.d.ts +27 -27
  432. package/dist/kernel/index.d.ts +115 -113
  433. package/dist/kernel/inference/inference-resolver.d.ts +13 -13
  434. package/dist/kernel/infra-capabilities.d.ts +7 -7
  435. package/dist/kernel/isolated-builtin-phase.d.ts +42 -42
  436. package/dist/kernel/lifecycle/job-journal.d.ts +17 -17
  437. package/dist/kernel/lifecycle/lifecycle-job-engine.d.ts +99 -99
  438. package/dist/kernel/lifecycle/staging-area.d.ts +22 -22
  439. package/dist/kernel/moleculer/addon-context-factory.d.ts +90 -89
  440. package/dist/kernel/moleculer/addon-data-plane-facility.d.ts +12 -12
  441. package/dist/kernel/moleculer/addon-deploy-source.d.ts +11 -11
  442. package/dist/kernel/moleculer/addon-peer-bytes-facility.d.ts +18 -18
  443. package/dist/kernel/moleculer/addon-service-factory.d.ts +41 -41
  444. package/dist/kernel/moleculer/agent-mesh-authenticator.d.ts +60 -33
  445. package/dist/kernel/moleculer/agent-ui-unlock.d.ts +30 -30
  446. package/dist/kernel/moleculer/broker-factory.d.ts +61 -61
  447. package/dist/kernel/moleculer/cap-usage-registry.d.ts +108 -153
  448. package/dist/kernel/moleculer/capabilities-access.d.ts +19 -19
  449. package/dist/kernel/moleculer/child-addon-call-dispatch.d.ts +43 -43
  450. package/dist/kernel/moleculer/child-cap-descriptors.d.ts +26 -26
  451. package/dist/kernel/moleculer/child-cap-dispatch.d.ts +52 -52
  452. package/dist/kernel/moleculer/children-batch-loader.d.ts +86 -34
  453. package/dist/kernel/moleculer/cluster-secret.d.ts +19 -19
  454. package/dist/kernel/moleculer/core-cap-service.d.ts +53 -53
  455. package/dist/kernel/moleculer/crash-supervisor.d.ts +39 -39
  456. package/dist/kernel/moleculer/device-cap-proxy.d.ts +51 -51
  457. package/dist/kernel/moleculer/device-event-ring.d.ts +117 -75
  458. package/dist/kernel/moleculer/event-bus-core.d.ts +171 -159
  459. package/dist/kernel/moleculer/event-bus.d.ts +73 -73
  460. package/dist/kernel/moleculer/hub-log-forwarder.d.ts +30 -30
  461. package/dist/kernel/moleculer/hub-service.d.ts +42 -42
  462. package/dist/kernel/moleculer/init-watchdog.d.ts +49 -49
  463. package/dist/kernel/moleculer/mesh-access-middleware.d.ts +36 -21
  464. package/dist/kernel/moleculer/mesh-auth-mode.d.ts +33 -39
  465. package/dist/kernel/moleculer/mesh-authenticator.d.ts +58 -58
  466. package/dist/kernel/moleculer/mesh-auto-enforce.d.ts +38 -18
  467. package/dist/kernel/moleculer/mesh-join-client.d.ts +67 -45
  468. package/dist/kernel/moleculer/mesh-join-proof.d.ts +8 -8
  469. package/dist/kernel/moleculer/mesh-mtls/constants.d.ts +1 -1
  470. package/dist/kernel/moleculer/mesh-mtls/index.d.ts +10 -10
  471. package/dist/kernel/moleculer/mesh-mtls/mesh-ca-keeper.d.ts +43 -38
  472. package/dist/kernel/moleculer/mesh-mtls/mesh-ca.d.ts +29 -20
  473. package/dist/kernel/moleculer/mesh-mtls/mesh-clear-port.d.ts +32 -32
  474. package/dist/kernel/moleculer/mesh-mtls/mesh-crl.d.ts +11 -11
  475. package/dist/kernel/moleculer/mesh-mtls/mesh-enroll.d.ts +19 -16
  476. package/dist/kernel/moleculer/mesh-mtls/mesh-join-token.d.ts +40 -40
  477. package/dist/kernel/moleculer/mesh-mtls/mesh-tls-enabler.d.ts +5 -1
  478. package/dist/kernel/moleculer/mesh-mtls/tls-tcp-transporter.d.ts +131 -130
  479. package/dist/kernel/moleculer/mesh-queue-report.d.ts +39 -39
  480. package/dist/kernel/moleculer/node-registry.d.ts +120 -120
  481. package/dist/kernel/moleculer/process-context.d.ts +2 -2
  482. package/dist/kernel/moleculer/process-service.d.ts +168 -168
  483. package/dist/kernel/moleculer/provider-registry.d.ts +9 -9
  484. package/dist/kernel/moleculer/readiness-context.d.ts +58 -58
  485. package/dist/kernel/moleculer/readiness-service.d.ts +31 -16
  486. package/dist/kernel/moleculer/register-framework-resolver.d.ts +6 -6
  487. package/dist/kernel/moleculer/register-node-client.d.ts +34 -27
  488. package/dist/kernel/moleculer/remote-logger.d.ts +29 -29
  489. package/dist/kernel/moleculer/resilient-cap-call.d.ts +21 -21
  490. package/dist/kernel/moleculer/runner-native-allocator.d.ts +95 -95
  491. package/dist/kernel/moleculer/runner-process-group.d.ts +57 -57
  492. package/dist/kernel/moleculer/runtime-state-load.d.ts +21 -11
  493. package/dist/kernel/moleculer/settings-read-guard.d.ts +39 -39
  494. package/dist/kernel/moleculer/stream-probe-service.d.ts +25 -6
  495. package/dist/kernel/moleculer/trpc-links.d.ts +203 -203
  496. package/dist/kernel/moleculer/typed-array-serde.d.ts +9 -20
  497. package/dist/kernel/moleculer/worker-device-restore.d.ts +8 -8
  498. package/dist/kernel/outbound-queue-watch.d.ts +74 -74
  499. package/dist/kernel/process-cpu-census.d.ts +55 -55
  500. package/dist/kernel/provider-kind-drift.d.ts +17 -8
  501. package/dist/kernel/restart-coordinator.d.ts +71 -71
  502. package/dist/kernel/settings-door-view.d.ts +36 -25
  503. package/dist/kernel/settings-read-error.d.ts +29 -31
  504. package/dist/kernel/settings-view-types.d.ts +100 -95
  505. package/dist/kernel/socket-plane-report.d.ts +214 -153
  506. package/dist/kernel/status-overlay.d.ts +31 -11
  507. package/dist/kernel/storage-location-registry.d.ts +50 -50
  508. package/dist/kernel/store-settings-view.d.ts +13 -13
  509. package/dist/kernel/system-settings-mirror.d.ts +40 -28
  510. package/dist/kernel/system-settings-policy.d.ts +15 -34
  511. package/dist/kernel/transport/cap-action-census.d.ts +183 -183
  512. package/dist/kernel/transport/cap-action-name.d.ts +84 -84
  513. package/dist/kernel/transport/cap-child-index.d.ts +41 -41
  514. package/dist/kernel/transport/cap-route-resolver.d.ts +237 -212
  515. package/dist/kernel/transport/cap-route.d.ts +139 -139
  516. package/dist/kernel/transport/cap-routing-hints.d.ts +37 -37
  517. package/dist/kernel/transport/child-cap-protocol.d.ts +245 -245
  518. package/dist/kernel/transport/claimed-get-status.d.ts +30 -6
  519. package/dist/kernel/transport/create-local-transport.d.ts +5 -5
  520. package/dist/kernel/transport/frame-codec.d.ts +109 -109
  521. package/dist/kernel/transport/hub-cap-forward.d.ts +81 -59
  522. package/dist/kernel/transport/index.d.ts +36 -36
  523. package/dist/kernel/transport/local-child-client.d.ts +184 -184
  524. package/dist/kernel/transport/local-child-registry.d.ts +592 -592
  525. package/dist/kernel/transport/local-endpoint-path.d.ts +4 -4
  526. package/dist/kernel/transport/local-transport.d.ts +92 -92
  527. package/dist/kernel/transport/parent-unowned-call.d.ts +266 -237
  528. package/dist/kernel/transport/peer-answered-error.d.ts +14 -14
  529. package/dist/kernel/transport/socket-channel.d.ts +110 -110
  530. package/dist/kernel/transport/socket-traffic.d.ts +96 -96
  531. package/dist/kernel/transport/uds-event-bridge.d.ts +77 -50
  532. package/dist/kernel/transport/uds-event-bus.d.ts +75 -26
  533. package/dist/kernel/transport/uds-local-transport.d.ts +14 -14
  534. package/dist/kernel/transport/uds-log-ingest.d.ts +38 -23
  535. package/dist/kernel/transport/uds-logger.d.ts +33 -33
  536. package/dist/kernel/utils/ring-buffer.d.ts +12 -12
  537. package/dist/kernel/workspace-detect.d.ts +7 -7
  538. package/dist/lifecycle/lifecycle-state-machine.d.ts +24 -24
  539. package/dist/logging/formatter.d.ts +52 -25
  540. package/dist/logging/log-manager.d.ts +133 -133
  541. package/dist/logging/log-redactor.d.ts +22 -1
  542. package/dist/logging/log-ring-buffer.d.ts +57 -57
  543. package/dist/logging/logging-gate.d.ts +69 -25
  544. package/dist/logging/logging-gate.singleton.d.ts +12 -1
  545. package/dist/logging/partitioned-log-buffer.d.ts +161 -161
  546. package/dist/logging/scoped-logger.d.ts +14 -14
  547. package/dist/network/network-quality.d.ts +8 -8
  548. package/dist/notification/notification-service.d.ts +37 -37
  549. package/dist/notification/toast-service.d.ts +18 -18
  550. package/dist/pipeline/engine-manager-resolver.d.ts +12 -12
  551. package/dist/pipeline/pipeline-runner.d.ts +6 -6
  552. package/dist/pipeline/pipeline-validator.d.ts +8 -8
  553. package/dist/process/proc-stat.d.ts +51 -51
  554. package/dist/process/resource-monitor.d.ts +19 -19
  555. package/dist/python/python-env-manager.d.ts +10 -10
  556. package/dist/repl/interfaces.d.ts +21 -21
  557. package/dist/repl/repl-engine.d.ts +6 -6
  558. package/dist/{restore-archive-D4cmLoNe.mjs → restore-archive-Bmmmyp1M.mjs} +81 -81
  559. package/dist/{restore-archive-Do_Yu5rC.js → restore-archive-bvYTsnvp.js} +1 -1
  560. package/dist/{retired-settings-keys-BsgVxh8-.mjs → retired-settings-keys-R9CBo2lY.mjs} +1 -1
  561. package/dist/{retired-settings-keys-Cyn3OD0K.js → retired-settings-keys-V0yq5Bm6.js} +1 -1
  562. package/dist/storage/fs-storage-backend.d.ts +35 -35
  563. package/dist/storage/storage-location-manager.d.ts +21 -21
  564. package/dist/storage/storage-manager.d.ts +68 -68
  565. package/dist/tls/boot-tls.d.ts +24 -24
  566. package/dist/tls/cert-evaluation.d.ts +25 -25
  567. package/dist/tls/cert-identity.d.ts +39 -39
  568. package/dist/tls/cert-issue.d.ts +37 -17
  569. package/dist/tls/cert-manager.d.ts +86 -84
  570. package/dist/tls/https-listener.d.ts +16 -16
  571. package/dist/tls/index.d.ts +8 -8
  572. package/dist/tls/tls-actions.d.ts +18 -18
  573. package/dist/tls/tls-status.d.ts +15 -15
  574. package/dist/tls/uploaded-cert.d.ts +9 -9
  575. 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
  }