@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,73 +1,114 @@
1
- import { StorageLocation } from '@camstack/types';
2
1
  /**
3
- * The config keys the ORCHESTRATOR itself owns, as opposed to the ones a
4
- * provider owns. Every one of them is read by framework code that has no idea
5
- * which provider is behind the row:
6
- *
7
- * - `basePath` — `localCapacityOf`, `locationOccupancy`, the seed pass,
8
- * `LocationCard`'s summary, `StorageSection`;
9
- * - `readOnly` — drain mode; the recorder and post-analysis both filter on
10
- * it off a `listLocations` row;
11
- * - `maxUsedGb` — `resolveLocationMaxUsedBytes`;
12
- * - `minFreePercent` — `resolveLocationThresholds`.
13
- *
14
- * None can be a credential, because the framework interprets all four itself.
15
- * That is what makes the list safe to hardcode — it is NOT a list of "keys we
16
- * believe are not secret", which is the rotting kind. It is the closed set of
17
- * keys this module, not a provider, defines the meaning of.
18
- */
2
+ * Credential redaction for `StorageLocation.config`.
3
+ *
4
+ * ── What was wrong ─────────────────────────────────────────────────────────
5
+ * `storage.listLocations` carries no `auth` override, so it is `protected` —
6
+ * every authenticated session reaches it, admin or not. The orchestrator
7
+ * spread each stored row verbatim. `StorageLocation.config` is
8
+ * `z.record(z.string(), z.unknown())`, and the SFTP / S3 / WebDAV providers
9
+ * already declare `password`, `privateKey`, `privateKeyPassphrase`,
10
+ * `secretAccessKey` and `token` inside it. Nothing was exposed only because
11
+ * every location on the live hub is `filesystem-storage`, whose config is
12
+ * `basePath` + `maxUsedGb`. The exposure arrives with the first remote
13
+ * location, and three providers that collect one already ship.
14
+ *
15
+ * ── The mechanism ──────────────────────────────────────────────────────────
16
+ * Schema-driven, never a hardcoded key list: each provider's
17
+ * `getProviderInfo().configSchema` already says which of its fields hold a
18
+ * credential, so it is the one thing that cannot drift from the provider.
19
+ *
20
+ * Two directions, and both are needed:
21
+ * - **out** — {@link redactLocationConfig} replaces every secret value with
22
+ * `REDACTED_SECRET` on the way to a caller.
23
+ * - **in** — {@link restoreRedactedSecrets} treats that same sentinel, sent
24
+ * back on an upsert, as "keep what is stored". Without it the wizard's
25
+ * edit-and-save round trip would write the sentinel into the config and
26
+ * lock the operator out of their own share on the first rename.
27
+ *
28
+ * ── The trap this deliberately avoids ──────────────────────────────────────
29
+ * Keying redaction off `type: 'password'` alone MISSES a secret parked in a
30
+ * `textarea`, and the SFTP provider parks an entire PEM private key there.
31
+ * Discovery goes through `collectSecretConfigKeys`, whose discriminator is
32
+ * `type === 'password' || secret === true`. A redaction that quietly misses a
33
+ * credential is worse than none: it is a leak plus an assurance there is not
34
+ * one.
35
+ *
36
+ * ── And the direction it can still fail in ─────────────────────────────────
37
+ * A schema-driven mechanism has nothing to read while the provider is down,
38
+ * and `listLocations` serves the row anyway. {@link secretKeysForConfig} is
39
+ * where that is closed — an unknown provider withholds everything it did not
40
+ * itself define, rather than nothing.
41
+ */
42
+ import type { StorageLocation } from "@camstack/types";
43
+ /**
44
+ * The config keys the ORCHESTRATOR itself owns, as opposed to the ones a
45
+ * provider owns. Every one of them is read by framework code that has no idea
46
+ * which provider is behind the row:
47
+ *
48
+ * - `basePath` — `localCapacityOf`, `locationOccupancy`, the seed pass,
49
+ * `LocationCard`'s summary, `StorageSection`;
50
+ * - `readOnly` — drain mode; the recorder and post-analysis both filter on
51
+ * it off a `listLocations` row;
52
+ * - `maxUsedGb` — `resolveLocationMaxUsedBytes`;
53
+ * - `minFreePercent` — `resolveLocationThresholds`.
54
+ *
55
+ * None can be a credential, because the framework interprets all four itself.
56
+ * That is what makes the list safe to hardcode — it is NOT a list of "keys we
57
+ * believe are not secret", which is the rotting kind. It is the closed set of
58
+ * keys this module, not a provider, defines the meaning of.
59
+ */
19
60
  export declare const FRAMEWORK_CONFIG_KEYS: ReadonlySet<string>;
20
61
  /** Minimal shape needed off a provider's `getProviderInfo()` result. */
21
62
  export interface ProviderInfoLike {
22
- readonly providerId: string;
23
- readonly configSchema: unknown;
63
+ readonly providerId: string;
64
+ readonly configSchema: unknown;
24
65
  }
25
66
  /** Secret config keys a provider declares, derived from its own form schema. */
26
67
  export declare function secretKeysOfProviderInfo(info: ProviderInfoLike): ReadonlySet<string>;
27
68
  /**
28
- * Which keys of THIS config must be treated as secret.
29
- *
30
- * `declared` is what the provider's own schema said, or `undefined` when the
31
- * provider has not registered on this node and so has said nothing.
32
- *
33
- * The `undefined` branch is the one that matters. Redaction is schema-driven
34
- * and the schema arrives with the provider, so "no provider" used to mean "no
35
- * secret keys" — which redacted nothing while `listLocations` happily served
36
- * the row, because that method reads the store and never needs a provider.
37
- * That is a real window on every hub restart (the `remote-storage` group is a
38
- * separate runner that registers after the orchestrator boots) and it is
39
- * PERMANENT for a runner the CrashSupervisor marked terminally failed.
40
- *
41
- * So an unknown provider fails CLOSED: every key the framework does not itself
42
- * define is withheld. It over-redacts — a host name is hidden alongside the
43
- * password — and that is the correct direction, because the admin UI cannot
44
- * render a provider's form without that same provider's `configSchema` either,
45
- * so nothing that was working stops working.
46
- *
47
- * Withholding is done with the sentinel, never by dropping the key, so a save
48
- * performed in this degraded state still round-trips every value back intact.
49
- */
69
+ * Which keys of THIS config must be treated as secret.
70
+ *
71
+ * `declared` is what the provider's own schema said, or `undefined` when the
72
+ * provider has not registered on this node and so has said nothing.
73
+ *
74
+ * The `undefined` branch is the one that matters. Redaction is schema-driven
75
+ * and the schema arrives with the provider, so "no provider" used to mean "no
76
+ * secret keys" — which redacted nothing while `listLocations` happily served
77
+ * the row, because that method reads the store and never needs a provider.
78
+ * That is a real window on every hub restart (the `remote-storage` group is a
79
+ * separate runner that registers after the orchestrator boots) and it is
80
+ * PERMANENT for a runner the CrashSupervisor marked terminally failed.
81
+ *
82
+ * So an unknown provider fails CLOSED: every key the framework does not itself
83
+ * define is withheld. It over-redacts — a host name is hidden alongside the
84
+ * password — and that is the correct direction, because the admin UI cannot
85
+ * render a provider's form without that same provider's `configSchema` either,
86
+ * so nothing that was working stops working.
87
+ *
88
+ * Withholding is done with the sentinel, never by dropping the key, so a save
89
+ * performed in this degraded state still round-trips every value back intact.
90
+ */
50
91
  export declare function secretKeysForConfig(config: Readonly<Record<string, unknown>>, declared: ReadonlySet<string> | undefined): ReadonlySet<string>;
51
92
  /**
52
- * A copy of `config` with every declared secret replaced by the sentinel.
53
- * Returns the SAME object when there is nothing to redact, so the common case
54
- * (a filesystem location) allocates nothing.
55
- *
56
- * A key the provider declares secret but that is absent from the stored config
57
- * is NOT invented — an absent password must keep reading as absent, or the
58
- * wizard would show a credential where none is set and the write-back would
59
- * then "keep" a value that never existed.
60
- */
93
+ * A copy of `config` with every declared secret replaced by the sentinel.
94
+ * Returns the SAME object when there is nothing to redact, so the common case
95
+ * (a filesystem location) allocates nothing.
96
+ *
97
+ * A key the provider declares secret but that is absent from the stored config
98
+ * is NOT invented — an absent password must keep reading as absent, or the
99
+ * wizard would show a credential where none is set and the write-back would
100
+ * then "keep" a value that never existed.
101
+ */
61
102
  export declare function redactLocationConfig(config: Readonly<Record<string, unknown>>, secretKeys: ReadonlySet<string>): Readonly<Record<string, unknown>>;
62
103
  /** The same, applied to a whole location record. */
63
104
  export declare function redactLocation(location: StorageLocation, secretKeys: ReadonlySet<string>): StorageLocation;
64
105
  /**
65
- * Undo the redaction on the way IN: any secret key whose incoming value is the
66
- * sentinel is restored from what is already stored.
67
- *
68
- * A sentinel with NOTHING stored behind it is dropped rather than persisted —
69
- * writing the literal `__camstack_redacted__` as a password is a
70
- * lock-yourself-out bug that would only surface at the next connection
71
- * attempt, hours later, as an authentication failure with no explanation.
72
- */
106
+ * Undo the redaction on the way IN: any secret key whose incoming value is the
107
+ * sentinel is restored from what is already stored.
108
+ *
109
+ * A sentinel with NOTHING stored behind it is dropped rather than persisted —
110
+ * writing the literal `__camstack_redacted__` as a password is a
111
+ * lock-yourself-out bug that would only surface at the next connection
112
+ * attempt, hours later, as an authentication failure with no explanation.
113
+ */
73
114
  export declare function restoreRedactedSecrets(incoming: Readonly<Record<string, unknown>>, stored: Readonly<Record<string, unknown>> | undefined, secretKeys: ReadonlySet<string>): Readonly<Record<string, unknown>>;
@@ -1,57 +1,66 @@
1
- import { ISettingsStoreProvider, LegacyStorageLocationDefault, StorageLocation } from '@camstack/types';
2
1
  /**
3
- * A location as it comes back OFF DISK: the live record plus the retired
4
- * `isDefault` column, which exists only so the orchestrator's boot migration
5
- * can turn an old default into the enabled write set and say which row it came
6
- * from. No other reader may take this type.
7
- */
2
+ * Persistence layer for the storage-orchestrator's `StorageLocation`
3
+ * map (Task 6 of the storage-unification refactor).
4
+ *
5
+ * The service depends only on the abstract `ILocationStore` —
6
+ * production wires `SqliteLocationStore` (settings-backend-backed),
7
+ * tests pass a fake (in-memory `Map`-backed) implementation. Same
8
+ * pattern as `IntegrationRegistry` in `sqlite-storage/`.
9
+ */
10
+ import type { ISettingsStoreProvider, LegacyStorageLocationDefault, StorageLocation } from "@camstack/types";
11
+ /**
12
+ * A location as it comes back OFF DISK: the live record plus the retired
13
+ * `isDefault` column, which exists only so the orchestrator's boot migration
14
+ * can turn an old default into the enabled write set and say which row it came
15
+ * from. No other reader may take this type.
16
+ */
8
17
  export type PersistedStorageLocation = StorageLocation & LegacyStorageLocationDefault;
9
18
  /**
10
- * Abstract storage interface for `StorageLocation` records. Methods are
11
- * async because production-side implementations hit SQLite — but the
12
- * orchestrator's mutation paths fire-and-forget the writes so a slow
13
- * disk doesn't block the cap surface.
14
- */
19
+ * Abstract storage interface for `StorageLocation` records. Methods are
20
+ * async because production-side implementations hit SQLite — but the
21
+ * orchestrator's mutation paths fire-and-forget the writes so a slow
22
+ * disk doesn't block the cap surface.
23
+ */
15
24
  export interface ILocationStore {
16
- /** Read every persisted location. Called once at boot. Rows carry the
17
- * RETIRED `isDefault` column when it was set, for the one reader allowed to
18
- * see it: the orchestrator's boot migration onto the `enabled` write set. */
19
- loadAll(): Promise<readonly PersistedStorageLocation[]>;
20
- /** Insert or replace a single location by id. */
21
- upsert(loc: StorageLocation): Promise<void>;
22
- /** Remove a location by id. */
23
- delete(id: string): Promise<void>;
25
+ /** Read every persisted location. Called once at boot. Rows carry the
26
+ * RETIRED `isDefault` column when it was set, for the one reader allowed to
27
+ * see it: the orchestrator's boot migration onto the `enabled` write set. */
28
+ loadAll(): Promise<readonly PersistedStorageLocation[]>;
29
+ /** Insert or replace a single location by id. */
30
+ upsert(loc: StorageLocation): Promise<void>;
31
+ /** Remove a location by id. */
32
+ delete(id: string): Promise<void>;
24
33
  }
25
34
  /**
26
- * @durable class=config owner=storage-orchestrator
27
- * write="an operator creates or edits a location (basePath, minFreePercent, enabled, node pin); plus the boot reconcile — declared defaults seeded on a fresh install, and in-memory-only locations backfilled when the store is late-wired"
28
- * retention="none — a row goes only when the operator deletes the location, or when the declaration pass prunes one whose declaring addon is gone. Bounded by the storage targets a human configures."
29
- */
35
+ * @durable class=config owner=storage-orchestrator
36
+ * write="an operator creates or edits a location (basePath, minFreePercent, enabled, node pin); plus the boot reconcile — declared defaults seeded on a fresh install, and in-memory-only locations backfilled when the store is late-wired"
37
+ * retention="none — a row goes only when the operator deletes the location, or when the declaration pass prunes one whose declaring addon is gone. Bounded by the storage targets a human configures."
38
+ */
30
39
  export declare const STORAGE_LOCATIONS = "storage_locations";
31
40
  /**
32
- * `ILocationStore` on the `settings-store` collection surface — the same door
33
- * every other consumer uses. It holds the `data-store-provider` engine object
34
- * directly (not the `settings-store` singleton) because since D44 the
35
- * storage-orchestrator IS that singleton, and asking the registry for it would
36
- * route this table back through the orchestrator itself.
37
- */
41
+ * `ILocationStore` on the `settings-store` collection surface — the same door
42
+ * every other consumer uses. It holds the `data-store-provider` engine object
43
+ * directly (not the `settings-store` singleton) because since D44 the
44
+ * storage-orchestrator IS that singleton, and asking the registry for it would
45
+ * route this table back through the orchestrator itself.
46
+ */
38
47
  export declare class SqliteLocationStore implements ILocationStore {
39
- private readonly store;
40
- private declared;
41
- constructor(store: ISettingsStoreProvider);
42
- /**
43
- * Lazy `declareCollection` — keeps the constructor cheap and async-free.
44
- * Called from every mutation/read path; `declareCollection` is idempotent
45
- * (and additive on shape changes), so repeated calls collapse to a no-op.
46
- */
47
- private ensureDeclared;
48
- loadAll(): Promise<readonly StorageLocation[]>;
49
- /**
50
- * Replace-or-insert. Implemented as delete + insert rather than a
51
- * conditional update because the orchestrator serializes every mutation
52
- * through the in-memory map before dispatching to the store — there's no
53
- * contention to lose, and delete-then-insert is unconditionally simpler.
54
- */
55
- upsert(loc: StorageLocation): Promise<void>;
56
- delete(id: string): Promise<void>;
48
+ private readonly store;
49
+ private declared;
50
+ constructor(store: ISettingsStoreProvider);
51
+ /**
52
+ * Lazy `declareCollection` — keeps the constructor cheap and async-free.
53
+ * Called from every mutation/read path; `declareCollection` is idempotent
54
+ * (and additive on shape changes), so repeated calls collapse to a no-op.
55
+ */
56
+ private ensureDeclared;
57
+ loadAll(): Promise<readonly StorageLocation[]>;
58
+ /**
59
+ * Replace-or-insert. Implemented as delete + insert rather than a
60
+ * conditional update because the orchestrator serializes every mutation
61
+ * through the in-memory map before dispatching to the store — there's no
62
+ * contention to lose, and delete-then-insert is unconditionally simpler.
63
+ */
64
+ upsert(loc: StorageLocation): Promise<void>;
65
+ delete(id: string): Promise<void>;
57
66
  }
@@ -1,58 +1,58 @@
1
- import { StorageLocation } from '@camstack/types';
2
- import { ProviderLocality } from './access-guards.js';
1
+ import type { StorageLocation } from "@camstack/types";
2
+ import type { ProviderLocality } from "./access-guards.js";
3
3
  /** The three `statfs` fields capacity is derived from (`node:fs` StatsFs). */
4
4
  export interface StatfsFacts {
5
- readonly blocks: number;
6
- readonly bsize: number;
7
- readonly bavail: number;
5
+ readonly blocks: number;
6
+ readonly bsize: number;
7
+ readonly bavail: number;
8
8
  }
9
9
  /** The filesystem reads the probe takes, injected so the decision is testable. */
10
10
  export interface VolumeProbe {
11
- readonly access: (target: string) => Promise<void>;
12
- readonly statfs: (target: string) => Promise<StatfsFacts>;
11
+ readonly access: (target: string) => Promise<void>;
12
+ readonly statfs: (target: string) => Promise<StatfsFacts>;
13
13
  }
14
14
  export interface VolumeProbeDeps {
15
- readonly probe: VolumeProbe;
16
- /** Only ever used to REJECT a relative `basePath` by naming what it would
17
- * have resolved against — never to resolve one. */
18
- readonly cwd: string;
15
+ readonly probe: VolumeProbe;
16
+ /** Only ever used to REJECT a relative `basePath` by naming what it would
17
+ * have resolved against — never to resolve one. */
18
+ readonly cwd: string;
19
19
  }
20
20
  /**
21
- * A measurement, or the reason there is none. `unknown` is never folded into a
22
- * number: `0` free means "full" to every reader of this figure (D393).
23
- */
21
+ * A measurement, or the reason there is none. `unknown` is never folded into a
22
+ * number: `0` free means "full" to every reader of this figure (D393).
23
+ */
24
24
  export type LocalVolumeCapacity = {
25
- readonly kind: 'measured';
26
- /** The path actually stat'd — the location's root, or an ancestor of it. */
27
- readonly path: string;
28
- readonly totalBytes: number;
29
- readonly availableBytes: number;
25
+ readonly kind: "measured";
26
+ /** The path actually stat'd — the location's root, or an ancestor of it. */
27
+ readonly path: string;
28
+ readonly totalBytes: number;
29
+ readonly availableBytes: number;
30
30
  } | {
31
- readonly kind: 'unknown';
32
- readonly reason: string;
31
+ readonly kind: "unknown";
32
+ readonly reason: string;
33
33
  };
34
34
  /** The two figures the cap carries, or `null` — never a zero standing in. */
35
35
  export interface MeasuredVolume {
36
- readonly totalBytes: number;
37
- readonly availableBytes: number;
36
+ readonly totalBytes: number;
37
+ readonly availableBytes: number;
38
38
  }
39
39
  /**
40
- * Free percent for the pressure guard. An unmeasurable volume answers `100`,
41
- * which is the value that keeps the guard INERT: a disk nobody measured must
42
- * never be the reason footage is deleted (D393).
43
- */
40
+ * Free percent for the pressure guard. An unmeasurable volume answers `100`,
41
+ * which is the value that keeps the guard INERT: a disk nobody measured must
42
+ * never be the reason footage is deleted (D393).
43
+ */
44
44
  export declare function freePercentOf(capacity: MeasuredVolume | null): number;
45
45
  /**
46
- * Volume total for turning a deficit percentage into a byte target. `0` on an
47
- * unmeasurable volume — the guard's own stop condition reads that as "no
48
- * target", so nothing is evicted on a reading nobody took.
49
- */
46
+ * Volume total for turning a deficit percentage into a byte target. `0` on an
47
+ * unmeasurable volume — the guard's own stop condition reads that as "no
48
+ * target", so nothing is evicted on a reading nobody took.
49
+ */
50
50
  export declare function volumeTotalBytesOf(capacity: MeasuredVolume | null): number;
51
51
  /**
52
- * Free + total bytes on the volume backing `location`, or why there are none.
53
- *
54
- * Never throws: an unreachable volume is one degraded ROW, not a failed
55
- * `listLocations` — a NAS that stops answering must not blank the capacity of
56
- * every other disk on the node.
57
- */
52
+ * Free + total bytes on the volume backing `location`, or why there are none.
53
+ *
54
+ * Never throws: an unreachable volume is one degraded ROW, not a failed
55
+ * `listLocations` — a NAS that stops answering must not blank the capacity of
56
+ * every other disk on the node.
57
+ */
58
58
  export declare function readLocalVolumeCapacity(location: StorageLocation, locality: ProviderLocality, localNodeId: string, deps: VolumeProbeDeps): Promise<LocalVolumeCapacity>;
@@ -1,10 +1,24 @@
1
- import { IStorageCapProvider, IStorageProviderImpl } from '@camstack/types';
1
+ /**
2
+ * Provider discovery — the pure mapping behind the orchestrator's
3
+ * `storage.listProviders` cap handler.
4
+ *
5
+ * Walks every registered `storage-provider`, collects each one's
6
+ * `getProviderInfo()` blob, and projects it into the `storage` cap's
7
+ * `listProviders` output shape (including the intrinsic disk-space
8
+ * policy fields `shouldSaveDiskSpace` + `minFreePercent`). Errors from
9
+ * individual providers are isolated via `onError` — a single misbehaving
10
+ * driver never denies the whole list.
11
+ *
12
+ * Extracted from the addon handler so the projection is unit-testable
13
+ * without booting a `BaseAddon`.
14
+ */
15
+ import type { IStorageCapProvider, IStorageProviderImpl } from "@camstack/types";
2
16
  /** One entry of the `storage.listProviders` output array. */
3
- export type StorageProviderListEntry = Awaited<ReturnType<IStorageCapProvider['listProviders']>>[number];
17
+ export type StorageProviderListEntry = Awaited<ReturnType<IStorageCapProvider["listProviders"]>>[number];
4
18
  /**
5
- * Callback invoked when a provider's `getProviderInfo()` throws. The array
6
- * `index` is passed so the orchestrator can identify which provider failed —
7
- * `getProviderInfo()` itself threw, so there is no static id to log otherwise.
8
- */
19
+ * Callback invoked when a provider's `getProviderInfo()` throws. The array
20
+ * `index` is passed so the orchestrator can identify which provider failed —
21
+ * `getProviderInfo()` itself threw, so there is no static id to log otherwise.
22
+ */
9
23
  export type ProviderInfoErrorHandler = (provider: IStorageProviderImpl, error: unknown, index: number) => void;
10
24
  export declare function collectProviderInfos(providers: readonly IStorageProviderImpl[], onError: ProviderInfoErrorHandler): Promise<StorageProviderListEntry[]>;
@@ -1,68 +1,68 @@
1
- import { LedgerWalkInput, LedgerWalkReport, StorageCleanupInput, StorageCleanupJob } from '@camstack/types';
2
- import { StorageOrchestratorService } from './storage-orchestrator.service.js';
1
+ import type { LedgerWalkInput, LedgerWalkReport, StorageCleanupInput, StorageCleanupJob } from "@camstack/types";
2
+ import type { StorageOrchestratorService } from "./storage-orchestrator.service.js";
3
3
  export interface CleanupJobState {
4
- get(): Promise<StorageCleanupJob | null>;
5
- set(value: StorageCleanupJob | null): Promise<void>;
4
+ get(): Promise<StorageCleanupJob | null>;
5
+ set(value: StorageCleanupJob | null): Promise<void>;
6
6
  }
7
7
  export interface OrphanAuditStart {
8
- readonly started: boolean;
9
- readonly alreadyRunning: boolean;
8
+ readonly started: boolean;
9
+ readonly alreadyRunning: boolean;
10
10
  }
11
11
  export interface OrphanAuditStatus {
12
- readonly running: boolean;
13
- readonly complete: boolean | null;
14
- readonly totalReclaimed: number;
15
- readonly totalBytesReclaimed: number;
16
- readonly error: string | null;
12
+ readonly running: boolean;
13
+ readonly complete: boolean | null;
14
+ readonly totalReclaimed: number;
15
+ readonly totalBytesReclaimed: number;
16
+ readonly error: string | null;
17
17
  }
18
18
  export interface DebugMediaStart {
19
- readonly started: boolean;
20
- readonly alreadyRunning: boolean;
19
+ readonly started: boolean;
20
+ readonly alreadyRunning: boolean;
21
21
  }
22
22
  export interface DebugMediaStatus {
23
- readonly running: boolean;
24
- readonly totalReclaimed: number;
25
- readonly totalBytesReclaimed: number;
26
- readonly error: string | null;
23
+ readonly running: boolean;
24
+ readonly totalReclaimed: number;
25
+ readonly totalBytesReclaimed: number;
26
+ readonly error: string | null;
27
27
  }
28
28
  export interface StorageCleanupParticipants {
29
- startOrphan(restart: boolean): Promise<OrphanAuditStart>;
30
- orphanStatus(): Promise<OrphanAuditStatus>;
31
- startDebugMedia(): Promise<DebugMediaStart>;
32
- debugMediaStatus(): Promise<DebugMediaStatus>;
33
- walkLedger(input: LedgerWalkInput): Promise<LedgerWalkReport>;
29
+ startOrphan(restart: boolean): Promise<OrphanAuditStart>;
30
+ orphanStatus(): Promise<OrphanAuditStatus>;
31
+ startDebugMedia(): Promise<DebugMediaStart>;
32
+ debugMediaStatus(): Promise<DebugMediaStatus>;
33
+ walkLedger(input: LedgerWalkInput): Promise<LedgerWalkReport>;
34
34
  }
35
35
  export interface StorageCleanupCoordinatorDeps {
36
- readonly locations: StorageOrchestratorService;
37
- readonly state: CleanupJobState;
38
- readonly participants: StorageCleanupParticipants;
39
- readonly now: () => number;
40
- readonly newId: () => string;
41
- readonly sleep?: (ms: number) => Promise<void>;
42
- readonly pollMs?: number;
36
+ readonly locations: StorageOrchestratorService;
37
+ readonly state: CleanupJobState;
38
+ readonly participants: StorageCleanupParticipants;
39
+ readonly now: () => number;
40
+ readonly newId: () => string;
41
+ readonly sleep?: (ms: number) => Promise<void>;
42
+ readonly pollMs?: number;
43
43
  }
44
44
  /**
45
- * One operator-facing cleanup of leftover analytics rows/blobs, optional
46
- * debug media, and ghost ledger rows on frozen footage locations.
47
- *
48
- * Each addon call either returns immediately (start+poll) or is a bounded
49
- * ledger walk. The HTTP caller never waits on the full pass.
50
- */
45
+ * One operator-facing cleanup of leftover analytics rows/blobs, optional
46
+ * debug media, and ghost ledger rows on frozen footage locations.
47
+ *
48
+ * Each addon call either returns immediately (start+poll) or is a bounded
49
+ * ledger walk. The HTTP caller never waits on the full pass.
50
+ */
51
51
  export declare class StorageCleanupCoordinator {
52
- private readonly deps;
53
- private active;
54
- private startReserved;
55
- constructor(deps: StorageCleanupCoordinatorDeps);
56
- start(input: StorageCleanupInput): Promise<string>;
57
- status(jobId?: string): Promise<StorageCleanupJob | null>;
58
- cancel(jobId: string): Promise<boolean>;
59
- private run;
60
- private reclaimOrphans;
61
- private reclaimDebugMedia;
62
- private forgetGhosts;
63
- private waitUntilIdle;
64
- private stopped;
65
- private setPhase;
66
- private finish;
67
- private persist;
52
+ private readonly deps;
53
+ private active;
54
+ private startReserved;
55
+ constructor(deps: StorageCleanupCoordinatorDeps);
56
+ start(input: StorageCleanupInput): Promise<string>;
57
+ status(jobId?: string): Promise<StorageCleanupJob | null>;
58
+ cancel(jobId: string): Promise<boolean>;
59
+ private run;
60
+ private reclaimOrphans;
61
+ private reclaimDebugMedia;
62
+ private forgetGhosts;
63
+ private waitUntilIdle;
64
+ private stopped;
65
+ private setPhase;
66
+ private finish;
67
+ private persist;
68
68
  }