@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,110 +1,153 @@
1
- import { AdoptionJob, IScopedLogger } from '@camstack/types';
2
- import { RemovalFence } from './removal-fence.js';
3
1
  /**
4
- * The slice of a `device-adoption` provider this engine drives. Structural on
5
- * purpose: the real provider satisfies it, and a spec can exercise the whole
6
- * loop without standing up a registry.
7
- */
2
+ * Background adoption job engine.
3
+ *
4
+ * `device-adoption.adopt({childNativeIds: [...]})` materialises one CamStack
5
+ * device per candidate PLUS every accessory child, and the whole array shares
6
+ * ONE UDS request deadline (60s). The deadline is correct and is not the thing
7
+ * to raise — `SocketChannel.request` once had no timeout at all and a mute peer
8
+ * hung forever. The work simply does not fit inside it:
9
+ *
10
+ * Measured on the live hub (Home Assistant, 491 candidates):
11
+ * - `listCandidates` for the whole inventory: ~200 ms. Not the cost.
12
+ * - Each device the kernel creates: ~450 ms, because `devices.create`
13
+ * pre-seeds meta with up to eleven SEQUENTIAL round trips before the class
14
+ * is constructed. An accessory child costs exactly what its parent costs.
15
+ * - 25 candidates × ~6 children → ~150 devices → timed out at 60,346 ms with
16
+ * 9 of 25 landed; the provider kept going and finished all 25 at ~130 s.
17
+ * - ONE candidate with 217 children → timed out at 61,829 ms.
18
+ *
19
+ * That last line is the whole argument for a job. The count that blows the
20
+ * budget is the SOURCE SYSTEM's accessory fan-out — the operator neither picks
21
+ * it nor sees it — so no chunk size, no bounded concurrency over candidates and
22
+ * no per-call tuning fixes a shape where N=1 already fails.
23
+ *
24
+ * ## Why serial, and not bounded-concurrent
25
+ *
26
+ * Every one of those ~450 ms is round trips into the single-threaded hub, not
27
+ * work this process could overlap. Running candidates concurrently would
28
+ * multiply pressure on the same event loop that the live pipeline shares, and
29
+ * would race two `allocateDeviceId` calls for the same stableId when a source
30
+ * system exposes one entity under two candidates. The concurrency here is
31
+ * deliberately ONE; the fix for wall-clock is collapsing the eleven-RPC
32
+ * pre-seed in `devices.create`, which is a separate, framework-wide change.
33
+ *
34
+ * ## Cheap question first
35
+ *
36
+ * A candidate that is already adopted is skipped BEFORE any provider call, from
37
+ * one `listCandidates` snapshot taken at job start. That makes a retry after a
38
+ * timeout a no-op for everything that already landed, instead of the current
39
+ * behaviour — the provider throws on a duplicate stableId, and when EVERY
40
+ * resubmitted candidate was already adopted the whole call fails with
41
+ * "all N adopt(s) failed", which reads as "nothing worked" when in truth
42
+ * everything did.
43
+ */
44
+ import type { AdoptionJob, IScopedLogger } from "@camstack/types";
45
+ import type { RemovalFence } from "./removal-fence.js";
46
+ /**
47
+ * The slice of a `device-adoption` provider this engine drives. Structural on
48
+ * purpose: the real provider satisfies it, and a spec can exercise the whole
49
+ * loop without standing up a registry.
50
+ */
8
51
  export interface AdoptionJobProvider {
9
- listCandidates(input: {
10
- integrationId: string;
11
- page: number;
12
- pageSize: number;
13
- filter?: string;
14
- }): Promise<{
15
- readonly candidates: readonly {
16
- readonly childNativeId: string;
17
- readonly alreadyAdopted?: boolean;
18
- }[];
19
- }>;
20
- adopt(input: {
21
- integrationId: string;
22
- childNativeIds: readonly string[];
23
- filter?: string;
24
- importLocations?: boolean;
25
- perCandidate?: Record<string, {
26
- name?: string;
27
- hiddenChildIds?: string[];
28
- }>;
29
- }): Promise<AdoptResult>;
52
+ listCandidates(input: {
53
+ integrationId: string;
54
+ page: number;
55
+ pageSize: number;
56
+ filter?: string;
57
+ }): Promise<{
58
+ readonly candidates: readonly {
59
+ readonly childNativeId: string;
60
+ readonly alreadyAdopted?: boolean;
61
+ }[];
62
+ }>;
63
+ adopt(input: {
64
+ integrationId: string;
65
+ childNativeIds: readonly string[];
66
+ filter?: string;
67
+ importLocations?: boolean;
68
+ perCandidate?: Record<string, {
69
+ name?: string;
70
+ hiddenChildIds?: string[];
71
+ }>;
72
+ }): Promise<AdoptResult>;
30
73
  }
31
74
  /** What one `adopt` call answers. Named so the per-candidate suspension in
32
- * {@link AdoptionJobEngine} has a return type to state. */
75
+ * {@link AdoptionJobEngine} has a return type to state. */
33
76
  export interface AdoptResult {
34
- readonly adopted: readonly {
35
- readonly childNativeId: string;
36
- readonly parentDeviceId: number;
37
- readonly accessoryDeviceIds: readonly number[];
38
- }[];
77
+ readonly adopted: readonly {
78
+ readonly childNativeId: string;
79
+ readonly parentDeviceId: number;
80
+ readonly accessoryDeviceIds: readonly number[];
81
+ }[];
39
82
  }
40
83
  export interface AdoptionJobEngineDeps {
41
- /** Resolve the integration's adoption provider for an `addonId` pin. */
42
- resolveProvider(addonId: string): Promise<AdoptionJobProvider>;
43
- readonly logger: IScopedLogger;
44
- /**
45
- * The device-manager's removal fence, so an operator re-adopting hardware
46
- * they just deleted is not refused for their OWN action.
47
- *
48
- * `removal-fence.ts` says a deliberate re-add lifts the fence, and
49
- * `adoptDevice` does exactly that — but a job never went near it, so every
50
- * integration driven through this engine refused a re-add for the whole
51
- * 5-minute TTL. Reported on a Dreame vacuum, 2026-09-16.
52
- *
53
- * It has to be suspended HERE and not by the caller: `runUnfenced` is a
54
- * counter held for the length of an awaited call, while `start()` hands back
55
- * a jobId immediately and adopts on a detached promise. Wrapping the caller
56
- * would lower the fence for the microseconds it takes to mint an id.
57
- *
58
- * Optional: absent means exactly the previous behaviour.
59
- */
60
- readonly removalFence?: RemovalFence;
61
- readonly now?: () => number;
62
- readonly newId?: () => string;
84
+ /** Resolve the integration's adoption provider for an `addonId` pin. */
85
+ resolveProvider(addonId: string): Promise<AdoptionJobProvider>;
86
+ readonly logger: IScopedLogger;
87
+ /**
88
+ * The device-manager's removal fence, so an operator re-adopting hardware
89
+ * they just deleted is not refused for their OWN action.
90
+ *
91
+ * `removal-fence.ts` says a deliberate re-add lifts the fence, and
92
+ * `adoptDevice` does exactly that — but a job never went near it, so every
93
+ * integration driven through this engine refused a re-add for the whole
94
+ * 5-minute TTL. Reported on a Dreame vacuum, 2026-09-16.
95
+ *
96
+ * It has to be suspended HERE and not by the caller: `runUnfenced` is a
97
+ * counter held for the length of an awaited call, while `start()` hands back
98
+ * a jobId immediately and adopts on a detached promise. Wrapping the caller
99
+ * would lower the fence for the microseconds it takes to mint an id.
100
+ *
101
+ * Optional: absent means exactly the previous behaviour.
102
+ */
103
+ readonly removalFence?: RemovalFence;
104
+ readonly now?: () => number;
105
+ readonly newId?: () => string;
63
106
  }
64
107
  export interface StartAdoptionJobInput {
65
- readonly addonId: string;
66
- readonly integrationId: string;
67
- readonly childNativeIds: readonly string[];
68
- readonly filter?: string;
69
- readonly importLocations?: boolean;
70
- readonly perCandidate?: Record<string, {
71
- name?: string;
72
- hiddenChildIds?: string[];
73
- }>;
108
+ readonly addonId: string;
109
+ readonly integrationId: string;
110
+ readonly childNativeIds: readonly string[];
111
+ readonly filter?: string;
112
+ readonly importLocations?: boolean;
113
+ readonly perCandidate?: Record<string, {
114
+ name?: string;
115
+ hiddenChildIds?: string[];
116
+ }>;
74
117
  }
75
118
  export declare class AdoptionJobEngine {
76
- private readonly deps;
77
- private readonly jobs;
78
- private seq;
79
- constructor(deps: AdoptionJobEngineDeps);
80
- private now;
81
- private newId;
82
- /**
83
- * Accept the batch and return immediately. The provider is resolved BEFORE
84
- * returning so an unroutable `addonId` is refused at the call the operator
85
- * made, not buried in a job they have to go looking for.
86
- */
87
- start(input: StartAdoptionJobInput): Promise<{
88
- jobId: string;
89
- }>;
90
- get(jobId: string): AdoptionJob | null;
91
- list(filter: {
92
- addonId?: string;
93
- integrationId?: string;
94
- }): readonly AdoptionJob[];
95
- /** Cooperative cancel — the in-flight candidate finishes, the rest do not start. */
96
- cancel(jobId: string): boolean;
97
- /** Test-only: await the detached loop. Never called by production code. */
98
- waitForTest(jobId: string): Promise<void>;
99
- private prune;
100
- private run;
101
- /**
102
- * One `listCandidates` snapshot at job start. A read that FAILS must not be
103
- * read as "nothing is adopted" — that would send every candidate to the
104
- * provider and turn a safe retry back into a wall of duplicate-stableId
105
- * errors — so a failure yields an empty set AND a warning, and the
106
- * per-candidate failure path stays the backstop.
107
- */
108
- private alreadyAdopted;
109
- private adoptOne;
119
+ private readonly deps;
120
+ private readonly jobs;
121
+ private seq;
122
+ constructor(deps: AdoptionJobEngineDeps);
123
+ private now;
124
+ private newId;
125
+ /**
126
+ * Accept the batch and return immediately. The provider is resolved BEFORE
127
+ * returning so an unroutable `addonId` is refused at the call the operator
128
+ * made, not buried in a job they have to go looking for.
129
+ */
130
+ start(input: StartAdoptionJobInput): Promise<{
131
+ jobId: string;
132
+ }>;
133
+ get(jobId: string): AdoptionJob | null;
134
+ list(filter: {
135
+ addonId?: string;
136
+ integrationId?: string;
137
+ }): readonly AdoptionJob[];
138
+ /** Cooperative cancel — the in-flight candidate finishes, the rest do not start. */
139
+ cancel(jobId: string): boolean;
140
+ /** Test-only: await the detached loop. Never called by production code. */
141
+ waitForTest(jobId: string): Promise<void>;
142
+ private prune;
143
+ private run;
144
+ /**
145
+ * One `listCandidates` snapshot at job start. A read that FAILS must not be
146
+ * read as "nothing is adopted" — that would send every candidate to the
147
+ * provider and turn a safe retry back into a wall of duplicate-stableId
148
+ * errors — so a failure yields an empty set AND a warning, and the
149
+ * per-candidate failure path stays the backstop.
150
+ */
151
+ private alreadyAdopted;
152
+ private adoptOne;
110
153
  }
@@ -1,12 +1,45 @@
1
- import { ICapabilityRegistry, IScopedLogger } from '@camstack/types';
2
- import { DeviceManagerSettings } from './device-meta-store.js';
3
- import { ClaimsIndexView, DeviceStateMirror } from './device-state-mirror.js';
1
+ /**
2
+ * The device-manager's side of the claimed-status overlay (D663, ruling S3):
3
+ * the `CapabilityRegistry` asks "is `(cap, device)` claimed, and what does the
4
+ * merge say?" and the answer comes from the mirror's `effectiveIfClaimed` —
5
+ * once the device's claims are KNOWN.
6
+ *
7
+ * Knowing them is the point (D315, D49). The mirror seeds a device lazily, on
8
+ * its provider's first native write, so from hub boot until then
9
+ * `effectiveIfClaimed` is `null` for every device — and `null` read as
10
+ * "unclaimed" would hand every caller the native value of a claimed cap for as
11
+ * long as a sleeping battery camera takes to report (an hour, per boot), then
12
+ * swap it under them. So:
13
+ * - `peek` (synchronous, the registry's resolve-time question) answers from
14
+ * what is known: a seeded device from its merge; an unseeded device the
15
+ * LOADED claims index does not name is KNOWN unclaimed (and marked seeded,
16
+ * as `ensureSeeded` would); anything else is `unknown`.
17
+ * - `resolve` (awaited on the `getStatus` call path) makes the claims known
18
+ * first — `ensureSeeded`: the index, and when it cannot vouch for the
19
+ * device, its row read once, single-flight — then answers from the merge.
20
+ * A row that cannot be read stays `unknown`, which every consumer answers
21
+ * as "not reported", never the native; the mirror logs that refusal once
22
+ * per device.
23
+ *
24
+ * A cap that declares no `runtimeState` can never be claimed — claims live
25
+ * only on runtime-state slices — so it is answered `unclaimed` before either
26
+ * question is asked (final review M-2): no row read on its call path while the
27
+ * index is not loaded (D447), and no false "unknown" while the row is
28
+ * unreadable (D315).
29
+ *
30
+ * Installed once at init, over the mirror and index the addon owns; the
31
+ * returned uninstall runs on shutdown so a registry that outlives this addon
32
+ * does not keep asking a dead mirror.
33
+ */
34
+ import type { ICapabilityRegistry, IScopedLogger } from "@camstack/types";
35
+ import type { DeviceManagerSettings } from "./device-meta-store.js";
36
+ import type { ClaimsIndexView, DeviceStateMirror } from "./device-state-mirror.js";
4
37
  export interface ClaimedStatusOverlayDeps {
5
- readonly mirror: DeviceStateMirror;
6
- /** The claims index as it is NOW — loaded or not; read at every question, never captured. */
7
- readonly claimsIndex: () => ClaimsIndexView;
8
- /** The settings door the mirror reads a device's row through. */
9
- readonly settings: () => DeviceManagerSettings;
10
- readonly logger: IScopedLogger;
38
+ readonly mirror: DeviceStateMirror;
39
+ /** The claims index as it is NOW — loaded or not; read at every question, never captured. */
40
+ readonly claimsIndex: () => ClaimsIndexView;
41
+ /** The settings door the mirror reads a device's row through. */
42
+ readonly settings: () => DeviceManagerSettings;
43
+ readonly logger: IScopedLogger;
11
44
  }
12
45
  export declare function installClaimedStatusOverlay(registry: ICapabilityRegistry, deps: ClaimedStatusOverlayDeps): () => void;
@@ -1,68 +1,68 @@
1
1
  /**
2
- * The device-details fan-out, made survivable: budgeted, cached, single-flight.
3
- *
4
- * ## What it is for
5
- *
6
- * `getDeviceAggregate` asks every contributing provider for this device's
7
- * settings panel and waits for all of them. Measured on this hub (2026-09-14):
8
- * 10 595 ms on a battery camera against 331 ms on a mains one, while the page
9
- * re-polls every 2 500 ms. One slow contributor stalled the whole device page,
10
- * the poll stacked a fresh 10 s call on top of the one still running, and not
11
- * one line named which provider was holding it.
12
- *
13
- * ## Why a budget alone would have been worse
14
- *
15
- * Dropping the provider that overran makes its settings SECTION disappear and
16
- * come back between polls. A section of settings that flickers is worse than a
17
- * slow one — and it is also what moved the operator's page: the schema loses a
18
- * tab for a beat, and everything downstream reacts to a tab that is not there.
19
- *
20
- * So the budget is paired with the last answer that provider gave. A slow
21
- * provider costs the page its budget ONCE; after that the page is instant and
22
- * shows what that provider last said, until it says something new.
23
- *
24
- * ## The rules
25
- *
26
- * - **A read never joins a refresh already in flight** (D224). Without this the
27
- * 2.5 s poll starts a new 10 s call every tick and they pile up.
28
- * - **An explicit `null` is an ANSWER**, not a miss: it means "I have nothing
29
- * for this device", and it replaces what was cached. A cache that only ever
30
- * remembers successes would serve a stale panel around a provider that has
31
- * since disowned the device.
32
- * - **A failure falls back**, but a failure with nothing behind it is ABSENT
33
- * and says which of the two it was — "never answered" and "answered once and
34
- * is now broken" are different operator problems.
35
- */
2
+ * The device-details fan-out, made survivable: budgeted, cached, single-flight.
3
+ *
4
+ * ## What it is for
5
+ *
6
+ * `getDeviceAggregate` asks every contributing provider for this device's
7
+ * settings panel and waits for all of them. Measured on this hub (2026-09-14):
8
+ * 10 595 ms on a battery camera against 331 ms on a mains one, while the page
9
+ * re-polls every 2 500 ms. One slow contributor stalled the whole device page,
10
+ * the poll stacked a fresh 10 s call on top of the one still running, and not
11
+ * one line named which provider was holding it.
12
+ *
13
+ * ## Why a budget alone would have been worse
14
+ *
15
+ * Dropping the provider that overran makes its settings SECTION disappear and
16
+ * come back between polls. A section of settings that flickers is worse than a
17
+ * slow one — and it is also what moved the operator's page: the schema loses a
18
+ * tab for a beat, and everything downstream reacts to a tab that is not there.
19
+ *
20
+ * So the budget is paired with the last answer that provider gave. A slow
21
+ * provider costs the page its budget ONCE; after that the page is instant and
22
+ * shows what that provider last said, until it says something new.
23
+ *
24
+ * ## The rules
25
+ *
26
+ * - **A read never joins a refresh already in flight** (D224). Without this the
27
+ * 2.5 s poll starts a new 10 s call every tick and they pile up.
28
+ * - **An explicit `null` is an ANSWER**, not a miss: it means "I have nothing
29
+ * for this device", and it replaces what was cached. A cache that only ever
30
+ * remembers successes would serve a stale panel around a provider that has
31
+ * since disowned the device.
32
+ * - **A failure falls back**, but a failure with nothing behind it is ABSENT
33
+ * and says which of the two it was — "never answered" and "answered once and
34
+ * is now broken" are different operator problems.
35
+ */
36
36
  /** How long the page waits for ONE provider before serving what it has. */
37
37
  export declare const CONTRIBUTION_BUDGET_MS = 1500;
38
38
  /**
39
- * Entries held across all devices. A device page touches a dozen or so, and an
40
- * operator walks a fleet — bounded so a long session cannot grow it without
41
- * limit. Oldest-inserted is evicted first; a re-read of an evicted key simply
42
- * pays the budget again.
43
- */
39
+ * Entries held across all devices. A device page touches a dozen or so, and an
40
+ * operator walks a fleet — bounded so a long session cannot grow it without
41
+ * limit. Oldest-inserted is evicted first; a re-read of an evicted key simply
42
+ * pays the budget again.
43
+ */
44
44
  export declare const CONTRIBUTION_CACHE_MAX_ENTRIES = 512;
45
45
  /** How a single provider's contribution was resolved. */
46
46
  export type ContributionOutcome<T> = {
47
- readonly kind: 'fresh';
48
- readonly value: T | null;
47
+ readonly kind: "fresh";
48
+ readonly value: T | null;
49
49
  } | {
50
- readonly kind: 'stale';
51
- readonly value: T;
50
+ readonly kind: "stale";
51
+ readonly value: T;
52
52
  } | {
53
- readonly kind: 'absent';
54
- readonly reason: 'slow' | 'failed';
53
+ readonly kind: "absent";
54
+ readonly reason: "slow" | "failed";
55
55
  };
56
56
  export declare class ContributionCache<T = unknown> {
57
- private readonly maxEntries;
58
- private readonly entries;
59
- constructor(maxEntries?: number);
60
- /**
61
- * Resolve one provider's contribution within `budgetMs`.
62
- *
63
- * The call is never cancelled: it keeps running and its answer refreshes the
64
- * cache, so the provider that overran this page pays for the next one.
65
- */
66
- resolve(key: string, call: () => Promise<T | null>, budgetMs?: number): Promise<ContributionOutcome<T>>;
67
- private remember;
57
+ private readonly maxEntries;
58
+ private readonly entries;
59
+ constructor(maxEntries?: number);
60
+ /**
61
+ * Resolve one provider's contribution within `budgetMs`.
62
+ *
63
+ * The call is never cancelled: it keeps running and its answer refreshes the
64
+ * cache, so the provider that overran this page pays for the next one.
65
+ */
66
+ resolve(key: string, call: () => Promise<T | null>, budgetMs?: number): Promise<ContributionOutcome<T>>;
67
+ private remember;
68
68
  }
@@ -1,16 +1,30 @@
1
- import { ConfigUISchema, DayNightOptions, DayNightSettingsPatch, DayNightStatus } from '@camstack/types';
2
1
  /**
3
- * Build the `day-night` `ConfigUISchema` from the camera-probed options +
4
- * current status. Returns `null` when the camera exposes no configurable
5
- * property — the cap then reports "no schema" and the renderer shows the
6
- * unsupported-camera message.
7
- */
2
+ * day-night — server-side `ConfigUISchema` builder + form-patch parser.
3
+ *
4
+ * Sibling of `stream-params-config-schema.ts` (which lives in
5
+ * `@camstack/types` because both vendor providers call it directly from
6
+ * their `getConfigSchema` cap method). `day-night` has no such method —
7
+ * it follows the plain D14 `derived-form` archetype (`getOptions` +
8
+ * `getStatus` + one `setSettings` mutation, no per-vendor schema code) —
9
+ * so this builder lives here in `@camstack/system`, registered against
10
+ * the `day-night` builderId in `device-config-contribution.ts`.
11
+ *
12
+ * Field keys use the `dayNight_<prop>` prefix so a flat form patch can be
13
+ * re-parsed into a `DayNightSettingsPatch` by `parseDayNightFormPatch`.
14
+ */
15
+ import type { ConfigUISchema, DayNightOptions, DayNightSettingsPatch, DayNightStatus } from "@camstack/types";
16
+ /**
17
+ * Build the `day-night` `ConfigUISchema` from the camera-probed options +
18
+ * current status. Returns `null` when the camera exposes no configurable
19
+ * property — the cap then reports "no schema" and the renderer shows the
20
+ * unsupported-camera message.
21
+ */
8
22
  export declare function buildDayNightConfigSchema(options: DayNightOptions, status: DayNightStatus | null): ConfigUISchema | null;
9
23
  /**
10
- * Re-parse a flat `ConfigFormBuilder` patch into a `DayNightSettingsPatch`.
11
- * Returns an empty object when no `dayNight_*` field changed — the caller
12
- * (`parseDerivedFormSettingsPatch`) forwards the result verbatim to the
13
- * cap's `setSettings` mutation, which itself ignores fields it doesn't
14
- * support.
15
- */
24
+ * Re-parse a flat `ConfigFormBuilder` patch into a `DayNightSettingsPatch`.
25
+ * Returns an empty object when no `dayNight_*` field changed — the caller
26
+ * (`parseDerivedFormSettingsPatch`) forwards the result verbatim to the
27
+ * cap's `setSettings` mutation, which itself ignores fields it doesn't
28
+ * support.
29
+ */
16
30
  export declare function parseDayNightFormPatch(patch: Record<string, unknown>): DayNightSettingsPatch;
@@ -1,22 +1,22 @@
1
- import { ConfigUISchemaWithValues } from '@camstack/types';
2
- import { ContributionShape } from './device-meta-types.js';
1
+ import type { ConfigUISchemaWithValues } from "@camstack/types";
2
+ import type { ContributionShape } from "./device-meta-types.js";
3
3
  /**
4
- * Walk the sections/fields of a contribution and inject `writerCapName` +
5
- * `writerAddonId` + `source` on each editable field. Readonly fields and
6
- * structural fields (separator/info/button) pass through untouched. The
7
- * aggregator is the single place that knows provenance — provider schemas
8
- * stay clean, UI-bound metadata is attached once at the boundary.
9
- */
10
- export declare function tagContribution(contribution: ContributionShape, capName: string, addonId: string, kind: 'settings' | 'live'): ContributionShape;
4
+ * Walk the sections/fields of a contribution and inject `writerCapName` +
5
+ * `writerAddonId` + `source` on each editable field. Readonly fields and
6
+ * structural fields (separator/info/button) pass through untouched. The
7
+ * aggregator is the single place that knows provenance — provider schemas
8
+ * stay clean, UI-bound metadata is attached once at the boundary.
9
+ */
10
+ export declare function tagContribution(contribution: ContributionShape, capName: string, addonId: string, kind: "settings" | "live"): ContributionShape;
11
11
  export declare function isFieldRecord(value: unknown): value is Record<string, unknown>;
12
12
  /**
13
- * Convert a strict `ConfigUISchemaWithValues` (readonly arrays, typed
14
- * field union) into the cap wire shape `ContributionShape` (mutable
15
- * arrays, opaque field records). Required because the cap method z.infer
16
- * uses mutable arrays — readonly arrays are not assignable to mutable
17
- * even when structurally identical, so a structural copy bridges the gap
18
- * without disabling the type checker.
19
- */
13
+ * Convert a strict `ConfigUISchemaWithValues` (readonly arrays, typed
14
+ * field union) into the cap wire shape `ContributionShape` (mutable
15
+ * arrays, opaque field records). Required because the cap method z.infer
16
+ * uses mutable arrays — readonly arrays are not assignable to mutable
17
+ * even when structurally identical, so a structural copy bridges the gap
18
+ * without disabling the type checker.
19
+ */
20
20
  export declare function toWireShape(input: ConfigUISchemaWithValues): ContributionShape;
21
- export declare function tagField(field: unknown, capName: string, addonId: string, source: 'settings' | 'live', kind: 'settings' | 'live'): unknown;
21
+ export declare function tagField(field: unknown, capName: string, addonId: string, source: "settings" | "live", kind: "settings" | "live"): unknown;
22
22
  export declare function mergeAggregates(parts: readonly ContributionShape[]): ContributionShape;