@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,271 +1,263 @@
1
- import { AddonContext, ClaimOutcome } from '@camstack/types';
2
- import { DeviceManagerSettings } from './device-meta-store.js';
3
- import { RuntimeStateSchemaLookup } from './device-state-claim-views.js';
4
- import { MergedSlice, OwnedCap, OwnedCaps } from './field-ownership.js';
5
- import { MirrorWriteHold } from './mirror-row-writer.js';
6
- import { RuntimeStatePolicyLookup } from './runtime-state-persist-gate.js';
1
+ import type { AddonContext, ClaimOutcome } from "@camstack/types";
2
+ import type { DeviceManagerSettings } from "./device-meta-store.js";
3
+ import { type RuntimeStateSchemaLookup } from "./device-state-claim-views.js";
4
+ import { type MergedSlice, type OwnedCap, type OwnedCaps } from "./field-ownership.js";
5
+ import { type MirrorWriteHold } from "./mirror-row-writer.js";
6
+ import { type RuntimeStatePolicyLookup } from "./runtime-state-persist-gate.js";
7
7
  /**
8
- * What the seed consults first: the claims index (Task 6). It is written
9
- * BEFORE the row, so a loaded index is a superset of the rows' claims and a
10
- * device it does not name has nothing to merge — no row read (D447).
11
- */
8
+ * What the seed consults first: the claims index (Task 6). It is written
9
+ * BEFORE the row, so a loaded index is a superset of the rows' claims and a
10
+ * device it does not name has nothing to merge — no row read (D447).
11
+ */
12
12
  export type ClaimsIndexView = {
13
- readonly state: 'loaded';
14
- hasClaims(deviceId: number): boolean;
13
+ readonly state: "loaded";
14
+ hasClaims(deviceId: number): boolean;
15
15
  } | {
16
- readonly state: 'not-loaded';
16
+ readonly state: "not-loaded";
17
17
  };
18
18
  /**
19
- * How `seedMirror` treats what memory already holds. `fill` (boot, first
20
- * write) only adds caps memory lacks — memory is never behind the row.
21
- * `replace` (the migration reseed) drops the device's slices, claims and views
22
- * first: the row now describes different hardware, so everything memory held
23
- * under that number is the wrong device's state.
24
- */
25
- export type SeedMode = 'fill' | 'replace';
19
+ * How `seedMirror` treats what memory already holds. `fill` (boot, first
20
+ * write) only adds caps memory lacks — memory is never behind the row.
21
+ * `replace` (the migration reseed) drops the device's slices, claims and views
22
+ * first: the row now describes different hardware, so everything memory held
23
+ * under that number is the wrong device's state.
24
+ */
25
+ export type SeedMode = "fill" | "replace";
26
26
  export declare class DeviceStateMirror {
27
- private readonly ctx;
28
- /**
29
- * Per-cap durability + volatile-field policy. Defaults to the codegen'd
30
- * projection of every `*.cap.ts` (D4: the cap declares, the kernel reads).
31
- * Injectable so a spec can exercise the gate without the real cap set.
32
- */
33
- private readonly policyFor;
34
- /**
35
- * Hub-side mirror of every device's cap-keyed NATIVE runtime state — what the
36
- * provider wrote. Key: deviceId. Value: per-cap slice map. Empty by default —
37
- * slices show up as `setCapSlice` calls trickle in.
38
- */
39
- private readonly stateMirror;
40
- /** The claims and the merged view of every claimed cap (D663). */
41
- private readonly claims;
42
- /**
43
- * Devices whose CLAIMS are known: the row was read, or a loaded claims index
44
- * vouched that it names none (D447). This is a READ-path fact — what a
45
- * status read may answer from. It never licenses a row write (D677).
46
- */
47
- private readonly seeded;
48
- /**
49
- * Devices whose row was actually READ into memory in THIS process. Every row
50
- * write of a device requires it (D677): the write replaces the whole row, so
51
- * memory must hold what the row held — an index that vouches for the claims
52
- * says nothing about the native slices beside them.
53
- */
54
- private readonly rowRead;
55
- /** One row read per device, however many writes arrive during it. */
56
- private readonly seeding;
57
- /** Devices whose seed refusal is already logged — once per transition. */
58
- private readonly seedRefusalLogged;
59
- /** Every write of a device's row, and what is believed to be on it. */
60
- private readonly writer;
61
- constructor(ctx: AddonContext,
62
- /**
63
- * Per-cap durability + volatile-field policy. Defaults to the codegen'd
64
- * projection of every `*.cap.ts` (D4: the cap declares, the kernel reads).
65
- * Injectable so a spec can exercise the gate without the real cap set.
66
- */
67
- policyFor?: RuntimeStatePolicyLookup,
68
- /** The cap's `runtimeState` schema a merged slice is parsed with (D663). */
69
- schemaFor?: RuntimeStateSchemaLookup);
70
- /**
71
- * Single-cap mirror update — diff against the current mirror,
72
- * persist the new slice in-memory, emit `DeviceStateChanged` for
73
- * this cap. No-op on identical writes (both same shape and same
74
- * values). Called by `setCapSlice` provider.
75
- *
76
- * This is the NATIVE path, unchanged for every writer. Under a claim the
77
- * native slice is stored as the shadow and what is emitted is the merge.
78
- *
79
- * @returns whether the mirror actually changed. The caller uses this to
80
- * decide whether the (synchronous, disk-blocking) runtime-state write is
81
- * worth scheduling — see `scheduleRuntimeStateDiskWrite`. Returning void
82
- * here and scheduling unconditionally is what made an unchanged poll cost
83
- * a SQLite commit.
84
- */
85
- applySingleCapUpdate(deviceId: number, capName: string, slice: Record<string, unknown>): boolean;
86
- /**
87
- * Claim `cap.fields` of `capName` on `deviceId` for `cap.owner`. Written
88
- * through: resolves after the row write. A re-claim by the same owner
89
- * replaces `fields`; values of fields no longer claimed are dropped and the
90
- * native shows for them (ruling S1b). An empty `fields` is what the composer
91
- * never sends — it releases — and is refused.
92
- */
93
- claim(deviceId: number, capName: string, cap: OwnedCap, settings: DeviceManagerSettings): Promise<ClaimOutcome>;
94
- /** Is this exact claim what the row carries, per `lastPersisted`? */
95
- private isClaimPersisted;
96
- /**
97
- * Write owned values. Partial patches MERGE into `values` (ruling S5); a key
98
- * outside `fields` is refused. Debounced like a native slice.
99
- */
100
- patchOwned(deviceId: number, capName: string, owner: string, values: Readonly<Record<string, unknown>>, settings: DeviceManagerSettings): Promise<ClaimOutcome>;
101
- /**
102
- * Remove the claim. A `replace` hands the cap back: the native slice is
103
- * emitted exactly as last written. An `add` had no native — the cap leaves
104
- * the mirror and nothing is emitted (consumer mirrors keep the last value
105
- * until they re-read; recorded for Task 15). Written through.
106
- */
107
- release(deviceId: number, capName: string, owner: string, settings: DeviceManagerSettings): Promise<ClaimOutcome>;
108
- /** The claims on a device; empty for every device without one. */
109
- ownedCaps(deviceId: number): OwnedCaps;
110
- /** The NATIVE shadow of one cap — for the owner-side mechanism only (D224). */
111
- nativeSlice(deviceId: number, cap: string): Record<string, unknown> | null;
112
- /** What the merge says for a claimed cap; null when the cap is not claimed. */
113
- effectiveIfClaimed(deviceId: number, cap: string): MergedSlice | null;
114
- isSeeded(deviceId: number): boolean;
115
- /**
116
- * Forget a removed device (D677): its armed row write is cancelled and one
117
- * in flight awaited BEFORE its memory goes, so nothing writes its row back
118
- * after `removeDevice` clears it.
119
- */
120
- forgetDevice(deviceId: number): Promise<void>;
121
- /** The device's row was read in this process — the precondition of every row write (D677). */
122
- isRowRead(deviceId: number): boolean;
123
- /**
124
- * The SYNCHRONOUS half of {@link ensureSeeded}, branch (c): a LOADED claims
125
- * index that does not name the device vouches for its CLAIMS — seeded, no
126
- * read. That is all it vouches for: the device is still not `rowRead`, and
127
- * the writer reads the row before its first write (D677).
128
- * Refused (false) while a read is in flight, because that read may be
129
- * landing a claim the index does not know yet; refused when the index cannot
130
- * vouch. The overlay's `peek` calls this instead of `ensureSeeded`: a sync
131
- * path must never hold a promise that can reject (D391 — an unhandled
132
- * rejection is an untagged line on hub-main).
133
- */
134
- seedIfIndexClears(deviceId: number, index: ClaimsIndexView): boolean;
135
- /**
136
- * Make sure the device's CLAIMS are known before a status read is answered
137
- * or a native slice applied (D49). Index first, single-flight (ruling S6):
138
- * (a) already seeded → nothing;
139
- * (b) a seed in flight → await it;
140
- * (c) a LOADED index that does not name the device → seeded, no read;
141
- * (d) otherwise read the row once and seed it.
142
- * A read that throws propagates and is logged once per device transition
143
- * (D391).
144
- *
145
- * Also the native-write RPC's gate: a slice may be APPLIED once its claims
146
- * are known. Never the ROW write's: branch (c) knows the claims and nothing
147
- * about the native slices on the row; a writer that trusted it replaced a
148
- * row it never read with the one slice it held, and every restored cap
149
- * nobody re-wrote soon after boot was erased (D677, superseding S6(c) for
150
- * writes). The writer calls {@link ensureRowRead}.
151
- */
152
- ensureSeeded(deviceId: number, settings: DeviceManagerSettings, index: ClaimsIndexView): Promise<void>;
153
- /**
154
- * A row write replaces the whole row: memory must hold what the row held
155
- * (D677). Reads the row once, single-flight, and fills memory's gaps from it
156
- * (`seedMirror('fill')`: a slice memory already holds is newer and wins).
157
- * A read that throws propagates — nothing is written — and is logged once
158
- * per device transition (D49, D391).
159
- */
160
- ensureRowRead(deviceId: number, settings: DeviceManagerSettings): Promise<void>;
161
- /** An unreadable row is a NAMED refusal (D49): the answer is unknown — a
162
- * throw could be read as "gone", `not-claimed` as "never was". Logged by `readRowOnce`. */
163
- private readRowOrRefuse;
164
- private readRowOnce;
165
- private nativeOf;
166
- /**
167
- * Write the row now — a claim is atomic with the row — and refresh the
168
- * baseline. Queued behind any write in flight for the device (one row write
169
- * at a time, N-4), and the blob is taken when the write RUNS, so it carries
170
- * whatever memory holds by then. A failed write is rolled back in memory IF
171
- * what this op put there is still there (the two never disagree); when a
172
- * newer same-owner state landed in the window it stands, and the debounced
173
- * writer converges the row to it. Either way the failure is logged hub-side
174
- * (D391) and rethrown; a repeat of the same claim is then a real write, never
175
- * `changed: false`, and consumers are handed the truth that stands.
176
- */
177
- private writeThrough;
178
- /** After a rollback, re-emit what is true now: the restored claim's merge, or the native. */
179
- private reemitAfterRollback;
180
- /** Arm the debounced writer for a change to `changedCap` — see `MirrorRowWriter.schedule`. */
181
- scheduleRuntimeStateDiskWrite(deviceId: number, settings: DeviceManagerSettings, changedCap: string): void;
182
- /** Hold the writer off these rows for a migration — see `MirrorRowWriter.holdDiskWrites`. */
183
- holdDiskWrites(deviceIds: readonly number[], settings: DeviceManagerSettings): Promise<MirrorWriteHold>;
184
- /** Flush every pending debounced disk write (graceful shutdown). */
185
- flushPendingWrites(settings: DeviceManagerSettings | undefined): Promise<void>;
186
- /** The device's row as it may reach disk: NATIVE slices plus `$owned`, restricted by durability. */
187
- private persistableForDevice;
188
- /**
189
- * One-shot mirror seed used by `loadRuntimeState` at boot so the hub knows
190
- * every persisted slice before the first `setCapSlice`. No events emitted —
191
- * population, not a transition. `fill` (default) fills GAPS and never
192
- * overwrites memory (ruling S6: a slice in memory is at least as new as the
193
- * row, a claim in memory was written through); `replace` (the migration
194
- * reseed) drops the device's memory first — the row now belongs to different
195
- * hardware. Malformed `$owned` entries are dropped by name and logged once.
196
- * Callers pass the blob through `withResetSessionProbe` first.
197
- */
198
- seedMirror(deviceId: number, blob: Record<string, unknown>, mode?: SeedMode): void;
199
- /**
200
- * The hub mirror's `feature-probe.lastProbedAt` is a PER-SESSION liveness
201
- * signal — it means "this worker process completed a probe THIS session".
202
- * Persisted runtime state carries the PRE-RESTART timestamp, which is stale
203
- * after a hub or worker restart: the device has not re-probed yet. Seeding it
204
- * verbatim makes `resolveDeviceProbed` report `probed:true` during the
205
- * restart→reprobe window, which defeats the export carry-forward gate
206
- * (`resolveExportFingerprint`, gated on `device.probed`) and posts a spurious
207
- * partial `AddOrUpdateReport` to Alexa/HAP before the real probe lands.
208
- *
209
- * Reset `lastProbedAt` to 0 for the MIRROR seed only — `probed:false` carries
210
- * the last-advertised fingerprint forward until the worker republishes a
211
- * fresh probe (its post-probe `setCapSlice` raises `lastProbedAt` again, which
212
- * also fires `DeviceReady`). The worker's returned `initialRuntimeState` blob
213
- * is untouched, and every non-probe slice (e.g. `device-status`/online) is
214
- * preserved.
215
- */
216
- withResetSessionProbe(blob: Record<string, unknown>): Record<string, unknown>;
217
- /**
218
- * Resolve a device's REAL `online` flag for the persisted/forked-worker
219
- * list branch. Forked workers own the live `IDevice` in their own process,
220
- * so the hub registry can't read `device.online` directly. The owning
221
- * driver instead publishes its liveness through the auto-registered
222
- * `device-status` runtime-state slice (`markOnline` → `setCapState`), which
223
- * the canonical `deviceState.setCapSlice` write entrypoint mirrors into the
224
- * hub-side `stateMirror`. We read that mirrored slice here so the list
225
- * payload reflects the device's actual reachability instead of a constant.
226
- *
227
- * Fallback (`fallbackOnline`) preserves the legacy behaviour when no slice
228
- * has been published yet: a persisted device with a live registry is
229
- * assumed online (it was successfully registered by its owning process),
230
- * and the null-registry "offline view" keeps reporting offline. We never
231
- * regress a device to offline merely because its mirror is empty.
232
- */
233
- resolveDeviceOnline(deviceId: number, fallbackOnline: boolean): boolean;
234
- /**
235
- * Derive the `probed` flag for an offline-view (forked-worker, not
236
- * live in the hub registry) device projection. Reads the mirrored
237
- * `feature-probe` slice the owning worker publishes. Mirrors the
238
- * `toDeviceInfo` rule: no mirrored slice → ready (`true`, no probe seen);
239
- * slice present → ready iff `lastProbedAt` has advanced past 0. The
240
- * mirror is populated when the worker's first `setCapSlice` RPC arrives
241
- * (BaseDevice seeds `feature-probe` `lastProbedAt:0` at construction, but
242
- * cross-process delivery is async); until then the no-entry path returns
243
- * `true` — a brief transient window, same as `resolveDeviceOnline`.
244
- */
245
- resolveDeviceProbed(deviceId: number): boolean;
246
- /** The EFFECTIVE slices of a device: native for an unclaimed cap, the merge
247
- * for a claimed one (a held cap is not reported). */
248
- snapshotForDevice(deviceId: number): Record<string, Record<string, unknown>>;
249
- /** One cap's EFFECTIVE slice, cloned. Null when the device has never written
250
- * it — callers read that as "the cap has no state", never as an empty slice —
251
- * and null while a claim holds it. */
252
- capSlice(deviceId: number, cap: string): Record<string, unknown> | null;
253
- /** The device's NATIVE slices — what the row stores under the cap names. */
254
- private nativeSnapshotForDevice;
255
- /** Whole-system mirror dump. Backs `deviceState.getAllSnapshots` — one
256
- * round-trip for a warm boot instead of N per-device calls. */
257
- allSnapshots(): Record<string, Record<string, Record<string, unknown>>>;
258
- /**
259
- * The PUBLIC event: exactly `{ deviceId, capName, slice }` for every device,
260
- * claimed or not. The native shadow never rides here (D224) — see
261
- * `emitNativeShadow`.
262
- */
263
- private emitStateChanged;
264
- /**
265
- * The owner-only event (D224, D663): the native slice as the provider wrote
266
- * it, for the composer's native self-reads. Its category is refused by the
267
- * public event routers (`isOwnerOnlyEventCategory`), so no UI or share-scope
268
- * subscriber ever sees a second truth beside the merged slice.
269
- */
270
- private emitNativeShadow;
27
+ private readonly ctx;
28
+ /**
29
+ * Per-cap durability + volatile-field policy. Defaults to the codegen'd
30
+ * projection of every `*.cap.ts` (D4: the cap declares, the kernel reads).
31
+ * Injectable so a spec can exercise the gate without the real cap set.
32
+ */
33
+ private readonly policyFor;
34
+ /**
35
+ * Hub-side mirror of every device's cap-keyed NATIVE runtime state — what the
36
+ * provider wrote. Key: deviceId. Value: per-cap slice map. Empty by default —
37
+ * slices show up as `setCapSlice` calls trickle in.
38
+ */
39
+ private readonly stateMirror;
40
+ /** The claims and the merged view of every claimed cap (D663). */
41
+ private readonly claims;
42
+ /**
43
+ * Devices whose CLAIMS are known: the row was read, or a loaded claims index
44
+ * vouched that it names none (D447). This is a READ-path fact — what a
45
+ * status read may answer from. It never licenses a row write (D677).
46
+ */
47
+ private readonly seeded;
48
+ /**
49
+ * Devices whose row was actually READ into memory in THIS process. Every row
50
+ * write of a device requires it (D677): the write replaces the whole row, so
51
+ * memory must hold what the row held — an index that vouches for the claims
52
+ * says nothing about the native slices beside them.
53
+ */
54
+ private readonly rowRead;
55
+ /** One row read per device, however many writes arrive during it. */
56
+ private readonly seeding;
57
+ /** Devices whose seed refusal is already logged — once per transition. */
58
+ private readonly seedRefusalLogged;
59
+ /** Every write of a device's row, and what is believed to be on it. */
60
+ private readonly writer;
61
+ constructor(ctx: AddonContext, policyFor?: RuntimeStatePolicyLookup, schemaFor?: RuntimeStateSchemaLookup);
62
+ /**
63
+ * Single-cap mirror update — diff against the current mirror,
64
+ * persist the new slice in-memory, emit `DeviceStateChanged` for
65
+ * this cap. No-op on identical writes (both same shape and same
66
+ * values). Called by `setCapSlice` provider.
67
+ *
68
+ * This is the NATIVE path, unchanged for every writer. Under a claim the
69
+ * native slice is stored as the shadow and what is emitted is the merge.
70
+ *
71
+ * @returns whether the mirror actually changed. The caller uses this to
72
+ * decide whether the (synchronous, disk-blocking) runtime-state write is
73
+ * worth scheduling — see `scheduleRuntimeStateDiskWrite`. Returning void
74
+ * here and scheduling unconditionally is what made an unchanged poll cost
75
+ * a SQLite commit.
76
+ */
77
+ applySingleCapUpdate(deviceId: number, capName: string, slice: Record<string, unknown>): boolean;
78
+ /**
79
+ * Claim `cap.fields` of `capName` on `deviceId` for `cap.owner`. Written
80
+ * through: resolves after the row write. A re-claim by the same owner
81
+ * replaces `fields`; values of fields no longer claimed are dropped and the
82
+ * native shows for them (ruling S1b). An empty `fields` is what the composer
83
+ * never sends — it releases — and is refused.
84
+ */
85
+ claim(deviceId: number, capName: string, cap: OwnedCap, settings: DeviceManagerSettings): Promise<ClaimOutcome>;
86
+ /** Is this exact claim what the row carries, per `lastPersisted`? */
87
+ private isClaimPersisted;
88
+ /**
89
+ * Write owned values. Partial patches MERGE into `values` (ruling S5); a key
90
+ * outside `fields` is refused. Debounced like a native slice.
91
+ */
92
+ patchOwned(deviceId: number, capName: string, owner: string, values: Readonly<Record<string, unknown>>, settings: DeviceManagerSettings): Promise<ClaimOutcome>;
93
+ /**
94
+ * Remove the claim. A `replace` hands the cap back: the native slice is
95
+ * emitted exactly as last written. An `add` had no native — the cap leaves
96
+ * the mirror and nothing is emitted (consumer mirrors keep the last value
97
+ * until they re-read; recorded for Task 15). Written through.
98
+ */
99
+ release(deviceId: number, capName: string, owner: string, settings: DeviceManagerSettings): Promise<ClaimOutcome>;
100
+ /** The claims on a device; empty for every device without one. */
101
+ ownedCaps(deviceId: number): OwnedCaps;
102
+ /** The NATIVE shadow of one cap — for the owner-side mechanism only (D224). */
103
+ nativeSlice(deviceId: number, cap: string): Record<string, unknown> | null;
104
+ /** What the merge says for a claimed cap; null when the cap is not claimed. */
105
+ effectiveIfClaimed(deviceId: number, cap: string): MergedSlice | null;
106
+ isSeeded(deviceId: number): boolean;
107
+ /**
108
+ * Forget a removed device (D677): its armed row write is cancelled and one
109
+ * in flight awaited BEFORE its memory goes, so nothing writes its row back
110
+ * after `removeDevice` clears it.
111
+ */
112
+ forgetDevice(deviceId: number): Promise<void>;
113
+ /** The device's row was read in this process — the precondition of every row write (D677). */
114
+ isRowRead(deviceId: number): boolean;
115
+ /**
116
+ * The SYNCHRONOUS half of {@link ensureSeeded}, branch (c): a LOADED claims
117
+ * index that does not name the device vouches for its CLAIMS — seeded, no
118
+ * read. That is all it vouches for: the device is still not `rowRead`, and
119
+ * the writer reads the row before its first write (D677).
120
+ * Refused (false) while a read is in flight, because that read may be
121
+ * landing a claim the index does not know yet; refused when the index cannot
122
+ * vouch. The overlay's `peek` calls this instead of `ensureSeeded`: a sync
123
+ * path must never hold a promise that can reject (D391 — an unhandled
124
+ * rejection is an untagged line on hub-main).
125
+ */
126
+ seedIfIndexClears(deviceId: number, index: ClaimsIndexView): boolean;
127
+ /**
128
+ * Make sure the device's CLAIMS are known before a status read is answered
129
+ * or a native slice applied (D49). Index first, single-flight (ruling S6):
130
+ * (a) already seeded → nothing;
131
+ * (b) a seed in flight → await it;
132
+ * (c) a LOADED index that does not name the device → seeded, no read;
133
+ * (d) otherwise read the row once and seed it.
134
+ * A read that throws propagates and is logged once per device transition
135
+ * (D391).
136
+ *
137
+ * Also the native-write RPC's gate: a slice may be APPLIED once its claims
138
+ * are known. Never the ROW write's: branch (c) knows the claims and nothing
139
+ * about the native slices on the row; a writer that trusted it replaced a
140
+ * row it never read with the one slice it held, and every restored cap
141
+ * nobody re-wrote soon after boot was erased (D677, superseding S6(c) for
142
+ * writes). The writer calls {@link ensureRowRead}.
143
+ */
144
+ ensureSeeded(deviceId: number, settings: DeviceManagerSettings, index: ClaimsIndexView): Promise<void>;
145
+ /**
146
+ * A row write replaces the whole row: memory must hold what the row held
147
+ * (D677). Reads the row once, single-flight, and fills memory's gaps from it
148
+ * (`seedMirror('fill')`: a slice memory already holds is newer and wins).
149
+ * A read that throws propagates — nothing is written — and is logged once
150
+ * per device transition (D49, D391).
151
+ */
152
+ ensureRowRead(deviceId: number, settings: DeviceManagerSettings): Promise<void>;
153
+ /** An unreadable row is a NAMED refusal (D49): the answer is unknown — a
154
+ * throw could be read as "gone", `not-claimed` as "never was". Logged by `readRowOnce`. */
155
+ private readRowOrRefuse;
156
+ private readRowOnce;
157
+ private nativeOf;
158
+ /**
159
+ * Write the row now — a claim is atomic with the row — and refresh the
160
+ * baseline. Queued behind any write in flight for the device (one row write
161
+ * at a time, N-4), and the blob is taken when the write RUNS, so it carries
162
+ * whatever memory holds by then. A failed write is rolled back in memory IF
163
+ * what this op put there is still there (the two never disagree); when a
164
+ * newer same-owner state landed in the window it stands, and the debounced
165
+ * writer converges the row to it. Either way the failure is logged hub-side
166
+ * (D391) and rethrown; a repeat of the same claim is then a real write, never
167
+ * `changed: false`, and consumers are handed the truth that stands.
168
+ */
169
+ private writeThrough;
170
+ /** After a rollback, re-emit what is true now: the restored claim's merge, or the native. */
171
+ private reemitAfterRollback;
172
+ /** Arm the debounced writer for a change to `changedCap` — see `MirrorRowWriter.schedule`. */
173
+ scheduleRuntimeStateDiskWrite(deviceId: number, settings: DeviceManagerSettings, changedCap: string): void;
174
+ /** Hold the writer off these rows for a migration — see `MirrorRowWriter.holdDiskWrites`. */
175
+ holdDiskWrites(deviceIds: readonly number[], settings: DeviceManagerSettings): Promise<MirrorWriteHold>;
176
+ /** Flush every pending debounced disk write (graceful shutdown). */
177
+ flushPendingWrites(settings: DeviceManagerSettings | undefined): Promise<void>;
178
+ /** The device's row as it may reach disk: NATIVE slices plus `$owned`, restricted by durability. */
179
+ private persistableForDevice;
180
+ /**
181
+ * One-shot mirror seed used by `loadRuntimeState` at boot so the hub knows
182
+ * every persisted slice before the first `setCapSlice`. No events emitted —
183
+ * population, not a transition. `fill` (default) fills GAPS and never
184
+ * overwrites memory (ruling S6: a slice in memory is at least as new as the
185
+ * row, a claim in memory was written through); `replace` (the migration
186
+ * reseed) drops the device's memory first — the row now belongs to different
187
+ * hardware. Malformed `$owned` entries are dropped by name and logged once.
188
+ * Callers pass the blob through `withResetSessionProbe` first.
189
+ */
190
+ seedMirror(deviceId: number, blob: Record<string, unknown>, mode?: SeedMode): void;
191
+ /**
192
+ * The hub mirror's `feature-probe.lastProbedAt` is a PER-SESSION liveness
193
+ * signal — it means "this worker process completed a probe THIS session".
194
+ * Persisted runtime state carries the PRE-RESTART timestamp, which is stale
195
+ * after a hub or worker restart: the device has not re-probed yet. Seeding it
196
+ * verbatim makes `resolveDeviceProbed` report `probed:true` during the
197
+ * restart→reprobe window, which defeats the export carry-forward gate
198
+ * (`resolveExportFingerprint`, gated on `device.probed`) and posts a spurious
199
+ * partial `AddOrUpdateReport` to Alexa/HAP before the real probe lands.
200
+ *
201
+ * Reset `lastProbedAt` to 0 for the MIRROR seed only — `probed:false` carries
202
+ * the last-advertised fingerprint forward until the worker republishes a
203
+ * fresh probe (its post-probe `setCapSlice` raises `lastProbedAt` again, which
204
+ * also fires `DeviceReady`). The worker's returned `initialRuntimeState` blob
205
+ * is untouched, and every non-probe slice (e.g. `device-status`/online) is
206
+ * preserved.
207
+ */
208
+ withResetSessionProbe(blob: Record<string, unknown>): Record<string, unknown>;
209
+ /**
210
+ * Resolve a device's REAL `online` flag for the persisted/forked-worker
211
+ * list branch. Forked workers own the live `IDevice` in their own process,
212
+ * so the hub registry can't read `device.online` directly. The owning
213
+ * driver instead publishes its liveness through the auto-registered
214
+ * `device-status` runtime-state slice (`markOnline` → `setCapState`), which
215
+ * the canonical `deviceState.setCapSlice` write entrypoint mirrors into the
216
+ * hub-side `stateMirror`. We read that mirrored slice here so the list
217
+ * payload reflects the device's actual reachability instead of a constant.
218
+ *
219
+ * Fallback (`fallbackOnline`) preserves the legacy behaviour when no slice
220
+ * has been published yet: a persisted device with a live registry is
221
+ * assumed online (it was successfully registered by its owning process),
222
+ * and the null-registry "offline view" keeps reporting offline. We never
223
+ * regress a device to offline merely because its mirror is empty.
224
+ */
225
+ resolveDeviceOnline(deviceId: number, fallbackOnline: boolean): boolean;
226
+ /**
227
+ * Derive the `probed` flag for an offline-view (forked-worker, not
228
+ * live in the hub registry) device projection. Reads the mirrored
229
+ * `feature-probe` slice the owning worker publishes. Mirrors the
230
+ * `toDeviceInfo` rule: no mirrored slice → ready (`true`, no probe seen);
231
+ * slice present → ready iff `lastProbedAt` has advanced past 0. The
232
+ * mirror is populated when the worker's first `setCapSlice` RPC arrives
233
+ * (BaseDevice seeds `feature-probe` `lastProbedAt:0` at construction, but
234
+ * cross-process delivery is async); until then the no-entry path returns
235
+ * `true` — a brief transient window, same as `resolveDeviceOnline`.
236
+ */
237
+ resolveDeviceProbed(deviceId: number): boolean;
238
+ /** The EFFECTIVE slices of a device: native for an unclaimed cap, the merge
239
+ * for a claimed one (a held cap is not reported). */
240
+ snapshotForDevice(deviceId: number): Record<string, Record<string, unknown>>;
241
+ /** One cap's EFFECTIVE slice, cloned. Null when the device has never written
242
+ * it — callers read that as "the cap has no state", never as an empty slice —
243
+ * and null while a claim holds it. */
244
+ capSlice(deviceId: number, cap: string): Record<string, unknown> | null;
245
+ /** The device's NATIVE slices — what the row stores under the cap names. */
246
+ private nativeSnapshotForDevice;
247
+ /** Whole-system mirror dump. Backs `deviceState.getAllSnapshots` — one
248
+ * round-trip for a warm boot instead of N per-device calls. */
249
+ allSnapshots(): Record<string, Record<string, Record<string, unknown>>>;
250
+ /**
251
+ * The PUBLIC event: exactly `{ deviceId, capName, slice }` for every device,
252
+ * claimed or not. The native shadow never rides here (D224) — see
253
+ * `emitNativeShadow`.
254
+ */
255
+ private emitStateChanged;
256
+ /**
257
+ * The owner-only event (D224, D663): the native slice as the provider wrote
258
+ * it, for the composer's native self-reads. Its category is refused by the
259
+ * public event routers (`isOwnerOnlyEventCategory`), so no UI or share-scope
260
+ * subscriber ever sees a second truth beside the merged slice.
261
+ */
262
+ private emitNativeShadow;
271
263
  }