@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,46 +1,98 @@
1
- import { IScopedLogger } from '@camstack/types';
2
1
  /**
3
- * The child fields the accessory reconcile reads. Deliberately narrower than
4
- * `DeviceInfo`: the loader is a transport, and a transport that pins the whole
5
- * projection would have to change every time an unrelated field does.
6
- */
2
+ * "Who are my children?" asked by a thousand devices, answered in a handful of
3
+ * calls.
4
+ *
5
+ * ## The number
6
+ *
7
+ * Every `BaseDevice` inherits a `getAccessoryChildren()` that returns `[]`, so
8
+ * the accessory reconcile in `device-cap-proxy.ts` runs its orphan-prune step
9
+ * for EVERY registered device — including the leaf accessories that can never
10
+ * own one. Each pass asked `device-manager.getChildren` for its own id.
11
+ * Measured on the live hub 2026-08-27, 120-second boot window, 1 017 devices:
12
+ * **1 024 calls returning 919 rows in total**. A thousand round-trips, and a
13
+ * thousand indexed scans behind them, to move less than one row each.
14
+ *
15
+ * ## Why a loader and not a caller that loops
16
+ *
17
+ * There is no loop to unroll. Reconcile is per-device by construction: it runs
18
+ * inside `register()`, and again whenever a late feature-probe writes the
19
+ * slice. The repetition is a THOUSAND INDEPENDENT CALLERS, not one caller
20
+ * asking a thousand times — so the collapse has to happen between them.
21
+ *
22
+ * ## Why the batch is self-clocking, with no window to tune
23
+ *
24
+ * At most ONE batch call is in flight. Anything that arrives while it is in
25
+ * flight lands in the next batch, dispatched the moment the current one
26
+ * settles. That makes the batch size adapt to the arrival rate on its own:
27
+ *
28
+ * - Idle: the first caller flushes on the next macrotask. No added wait, and
29
+ * no timer to pick a value for and be wrong about.
30
+ * - Boot: `BaseDeviceProvider.onRestoreDevices` issues every top-level
31
+ * `create()` at once and `runBounded(specs, 12)` spawns accessory children
32
+ * twelve wide, so reconciles arrive in bursts — measured as 2 372 device
33
+ * log lines in one 5-second bucket at boot+16s, against 62 at boot+142s.
34
+ * Every arrival inside one round-trip collapses into the next call.
35
+ * - Worst case: arrivals slower than a round-trip give batches of one, which
36
+ * is exactly today's cost. The loader can never be worse than what it
37
+ * replaces.
38
+ *
39
+ * A fixed debounce window would have to be guessed against that distribution,
40
+ * and would tax the idle case to pay for the busy one.
41
+ *
42
+ * ## Degrading, rather than breaking, against an older hub
43
+ *
44
+ * `getChildrenBatch` is a NEW method: a hub that predates it rejects the call
45
+ * (it does not silently strip the input and answer a different question, which
46
+ * is what adding a `parentDeviceIds` FIELD to `getChildren` would have done).
47
+ * Every waiter in a failed batch is then answered by the per-parent
48
+ * `getChildren` it would have used anyway, so the reconcile is never denied
49
+ * its answer. A rejection that names the method as unknown latches the
50
+ * fallback permanently — re-probing a method the hub will never have, once per
51
+ * batch for a whole boot, is the storm this exists to remove.
52
+ */
53
+ import type { IScopedLogger } from "@camstack/types";
54
+ /**
55
+ * The child fields the accessory reconcile reads. Deliberately narrower than
56
+ * `DeviceInfo`: the loader is a transport, and a transport that pins the whole
57
+ * projection would have to change every time an unrelated field does.
58
+ */
7
59
  export interface ReconcileChildRow {
8
- readonly id: number;
9
- readonly stableId: string;
10
- readonly name: string;
11
- readonly linkDeviceId?: number | null;
60
+ readonly id: number;
61
+ readonly stableId: string;
62
+ readonly name: string;
63
+ readonly linkDeviceId?: number | null;
12
64
  }
13
65
  /**
14
- * Narrow an untyped cap answer to the fields the reconcile reads.
15
- *
16
- * `callDeviceManager` is an untyped boundary, and the answer may come from a
17
- * hub of a different vintage. A row that does not carry an id, a stableId and
18
- * a name is not a child this code can prune ON, so it is dropped rather than
19
- * cast into shape — the prune step DELETES, and a half-parsed row is the input
20
- * that would make it delete the wrong thing.
21
- */
66
+ * Narrow an untyped cap answer to the fields the reconcile reads.
67
+ *
68
+ * `callDeviceManager` is an untyped boundary, and the answer may come from a
69
+ * hub of a different vintage. A row that does not carry an id, a stableId and
70
+ * a name is not a child this code can prune ON, so it is dropped rather than
71
+ * cast into shape — the prune step DELETES, and a half-parsed row is the input
72
+ * that would make it delete the wrong thing.
73
+ */
22
74
  export declare function parseChildRows(value: unknown): readonly ReconcileChildRow[] | null;
23
75
  /**
24
- * Narrow a `getChildrenBatch` answer: a record keyed by parent id as a string.
25
- *
26
- * An EMPTY record is a valid answer — "none of these parents has children" —
27
- * and so is what a hub that answers the call but knows none of the parents
28
- * would send. Both mean "nothing to prune", which is the safe direction. Only
29
- * a shape that is not a record at all is `null`, and the loader treats that as
30
- * a failed batch and re-asks per parent.
31
- */
76
+ * Narrow a `getChildrenBatch` answer: a record keyed by parent id as a string.
77
+ *
78
+ * An EMPTY record is a valid answer — "none of these parents has children" —
79
+ * and so is what a hub that answers the call but knows none of the parents
80
+ * would send. Both mean "nothing to prune", which is the safe direction. Only
81
+ * a shape that is not a record at all is `null`, and the loader treats that as
82
+ * a failed batch and re-asks per parent.
83
+ */
32
84
  export declare function parseChildrenByParent(value: unknown): ReadonlyMap<number, readonly ReconcileChildRow[]> | null;
33
85
  export interface ChildrenBatchLoaderOptions {
34
- /** One `device-manager.getChildrenBatch` call. Rejects like any RPC. */
35
- readonly fetchBatch: (parentDeviceIds: readonly number[]) => Promise<ReadonlyMap<number, readonly ReconcileChildRow[]>>;
36
- /** One `device-manager.getChildren` call — the fallback, and the old path. */
37
- readonly fetchOne: (parentDeviceId: number) => Promise<readonly ReconcileChildRow[]>;
38
- readonly logger: IScopedLogger;
39
- /** Test seam. Production takes {@link DEVICE_CHILDREN_BATCH_MAX}. */
40
- readonly maxBatch?: number;
86
+ /** One `device-manager.getChildrenBatch` call. Rejects like any RPC. */
87
+ readonly fetchBatch: (parentDeviceIds: readonly number[]) => Promise<ReadonlyMap<number, readonly ReconcileChildRow[]>>;
88
+ /** One `device-manager.getChildren` call — the fallback, and the old path. */
89
+ readonly fetchOne: (parentDeviceId: number) => Promise<readonly ReconcileChildRow[]>;
90
+ readonly logger: IScopedLogger;
91
+ /** Test seam. Production takes {@link DEVICE_CHILDREN_BATCH_MAX}. */
92
+ readonly maxBatch?: number;
41
93
  }
42
94
  export interface ChildrenBatchLoader {
43
- /** The direct children of one parent, coalesced with every other in-flight ask. */
44
- load(parentDeviceId: number): Promise<readonly ReconcileChildRow[]>;
95
+ /** The direct children of one parent, coalesced with every other in-flight ask. */
96
+ load(parentDeviceId: number): Promise<readonly ReconcileChildRow[]>;
45
97
  }
46
98
  export declare function createChildrenBatchLoader(opts: ChildrenBatchLoaderOptions): ChildrenBatchLoader;
@@ -9,35 +9,35 @@ export declare const CLUSTER_SECRET_REJECTED_EXIT_CODE = 78;
9
9
  /** SHA-256 hex digest of a cluster secret. Never transmit or log the raw secret. */
10
10
  export declare function hashClusterSecret(secret: string): string;
11
11
  /**
12
- * True if a registration carrying `presentedHash` is allowed against a
13
- * receiver whose own secret hashes to `expectedHash`.
14
- * - `expectedHash` undefined → the gate is OFF; everything is allowed.
15
- * - otherwise `presentedHash` must be present and equal (constant-time).
16
- */
12
+ * True if a registration carrying `presentedHash` is allowed against a
13
+ * receiver whose own secret hashes to `expectedHash`.
14
+ * - `expectedHash` undefined → the gate is OFF; everything is allowed.
15
+ * - otherwise `presentedHash` must be present and equal (constant-time).
16
+ */
17
17
  export declare function clusterSecretMatches(expectedHash: string | undefined, presentedHash: string | undefined): boolean;
18
18
  /** Recognises a cluster-secret rejection, including after a Moleculer RPC round-trip. */
19
19
  export declare function isClusterSecretMismatchError(err: unknown): boolean;
20
20
  /** Moleculer error `type` of a registration refused because the hub cannot read its own secret yet. */
21
21
  export declare const CLUSTER_SECRET_UNAVAILABLE_TYPE = "CLUSTER_SECRET_UNAVAILABLE";
22
22
  /**
23
- * What the hub knows about its own cluster secret:
24
- * - `off`: none is set — every node may register (the behaviour of a hub
25
- * that never had a secret);
26
- * - `on`: set — a node must present the matching hash;
27
- * - `unknown`: one is set (the marker exists) but the keychain cannot answer
28
- * yet — registrations are refused with a RETRYABLE error until it does.
29
- * Fail closed: a locked keychain never opens the gate.
30
- */
23
+ * What the hub knows about its own cluster secret:
24
+ * - `off`: none is set — every node may register (the behaviour of a hub
25
+ * that never had a secret);
26
+ * - `on`: set — a node must present the matching hash;
27
+ * - `unknown`: one is set (the marker exists) but the keychain cannot answer
28
+ * yet — registrations are refused with a RETRYABLE error until it does.
29
+ * Fail closed: a locked keychain never opens the gate.
30
+ */
31
31
  export type ClusterSecretGate = {
32
- readonly kind: 'off';
32
+ readonly kind: "off";
33
33
  } | {
34
- readonly kind: 'on';
35
- readonly hash: string;
34
+ readonly kind: "on";
35
+ readonly hash: string;
36
36
  } | {
37
- readonly kind: 'unknown';
38
- readonly reason: string;
37
+ readonly kind: "unknown";
38
+ readonly reason: string;
39
39
  };
40
- export type ClusterSecretVerdict = 'allow' | 'mismatch' | 'unavailable';
40
+ export type ClusterSecretVerdict = "allow" | "mismatch" | "unavailable";
41
41
  export declare function checkClusterSecret(gate: ClusterSecretGate, presentedHash: string | undefined): ClusterSecretVerdict;
42
42
  /** Register the hub's gate. Called by `system-config`, which owns the field. */
43
43
  export declare function setProcessClusterSecretGate(gate: ClusterSecretGate): void;
@@ -1,65 +1,65 @@
1
- import { ServiceSchema } from 'moleculer';
1
+ import type { ServiceSchema } from "moleculer";
2
2
  /**
3
- * Who issued a `$core-caps` action. Both fields are `null` when Moleculer did
4
- * not carry the information — never blank, so an absent origin reads as absent
5
- * rather than as a formatting defect.
6
- */
3
+ * Who issued a `$core-caps` action. Both fields are `null` when Moleculer did
4
+ * not carry the information — never blank, so an absent origin reads as absent
5
+ * rather than as a formatting defect.
6
+ */
7
7
  export interface CoreCapCallOrigin {
8
- readonly nodeId: string | null;
9
- readonly caller: string | null;
8
+ readonly nodeId: string | null;
9
+ readonly caller: string | null;
10
10
  }
11
11
  /**
12
- * Default Moleculer service name for the hub core-capability bridge.
13
- *
14
- * `$`-prefixed so it never collides with an addon id (addon services
15
- * take their name from `declaration.id`). It is still a regular,
16
- * discoverable service — `findServiceCandidates` in `trpc-links.ts`
17
- * scans every entry returned by `registry.getServiceList()`.
18
- */
12
+ * Default Moleculer service name for the hub core-capability bridge.
13
+ *
14
+ * `$`-prefixed so it never collides with an addon id (addon services
15
+ * take their name from `declaration.id`). It is still a regular,
16
+ * discoverable service — `findServiceCandidates` in `trpc-links.ts`
17
+ * scans every entry returned by `registry.getServiceList()`.
18
+ */
19
19
  export declare const CORE_CAP_SERVICE_NAME = "$core-caps";
20
20
  /**
21
- * A single hub core-capability procedure, ready to expose as a
22
- * Moleculer action.
23
- *
24
- * `actionName` must be the kebab-cased `<capName>.<method>` pair the
25
- * worker-side `brokerTransportLink` resolves: it parses `op.path`,
26
- * kebab-cases the namespace and looks for a service action ending in
27
- * `.<capName>.<method>` (see `findServiceCandidates`). Mounting the
28
- * action as `system.info` makes Moleculer register it as
29
- * `$core-caps.system.info`, which matches that suffix lookup.
30
- */
21
+ * A single hub core-capability procedure, ready to expose as a
22
+ * Moleculer action.
23
+ *
24
+ * `actionName` must be the kebab-cased `<capName>.<method>` pair the
25
+ * worker-side `brokerTransportLink` resolves: it parses `op.path`,
26
+ * kebab-cases the namespace and looks for a service action ending in
27
+ * `.<capName>.<method>` (see `findServiceCandidates`). Mounting the
28
+ * action as `system.info` makes Moleculer register it as
29
+ * `$core-caps.system.info`, which matches that suffix lookup.
30
+ */
31
31
  export interface CoreCapAction {
32
- /** Kebab-cased `<capName>.<method>` — e.g. `system.info`, `addon-settings-raw.getGlobal`. */
33
- readonly actionName: string;
34
- /**
35
- * Invoke the underlying tRPC procedure with a trusted mesh context.
36
- *
37
- * `origin` is diagnostics only — the transport census uses it to name the
38
- * caller of an in-process call, which has no request and therefore no other
39
- * identity. No implementation may gate on it.
40
- */
41
- readonly invoke: (input: unknown, origin: CoreCapCallOrigin) => Promise<unknown> | unknown;
32
+ /** Kebab-cased `<capName>.<method>` — e.g. `system.info`, `addon-settings-raw.getGlobal`. */
33
+ readonly actionName: string;
34
+ /**
35
+ * Invoke the underlying tRPC procedure with a trusted mesh context.
36
+ *
37
+ * `origin` is diagnostics only — the transport census uses it to name the
38
+ * caller of an in-process call, which has no request and therefore no other
39
+ * identity. No implementation may gate on it.
40
+ */
41
+ readonly invoke: (input: unknown, origin: CoreCapCallOrigin) => Promise<unknown> | unknown;
42
42
  }
43
43
  export interface CoreCapServiceOptions {
44
- /** Moleculer service name. Defaults to {@link CORE_CAP_SERVICE_NAME}. */
45
- readonly serviceName?: string;
46
- readonly actions: readonly CoreCapAction[];
44
+ /** Moleculer service name. Defaults to {@link CORE_CAP_SERVICE_NAME}. */
45
+ readonly serviceName?: string;
46
+ readonly actions: readonly CoreCapAction[];
47
47
  }
48
48
  /**
49
- * Wrap the hub's core (non-addon) tRPC procedures as a single Moleculer
50
- * service so forked addons and remote agents can reach them through
51
- * `ctx.api.<coreCap>.<method>`.
52
- *
53
- * Core routers (`system`, `addons`, `capabilities`, `nodes`, …) are
54
- * mounted only as the hub's tRPC routers — no addon registers a
55
- * provider for them, so `addon-service-factory` never gives them a
56
- * Moleculer service. Without this bridge a forked addon's
57
- * `ctx.api.<coreCap>` falls through `localProviderLink` into
58
- * `brokerTransportLink`, whose load-balanced discovery wait has no
59
- * deadline, and hangs forever.
60
- *
61
- * Mirrors `createAddonService`: each action deserializes typed arrays
62
- * and normalizes Moleculer's `{}` (empty params) back to `undefined`
63
- * so void-input procedures don't receive a spurious empty object.
64
- */
49
+ * Wrap the hub's core (non-addon) tRPC procedures as a single Moleculer
50
+ * service so forked addons and remote agents can reach them through
51
+ * `ctx.api.<coreCap>.<method>`.
52
+ *
53
+ * Core routers (`system`, `addons`, `capabilities`, `nodes`, …) are
54
+ * mounted only as the hub's tRPC routers — no addon registers a
55
+ * provider for them, so `addon-service-factory` never gives them a
56
+ * Moleculer service. Without this bridge a forked addon's
57
+ * `ctx.api.<coreCap>` falls through `localProviderLink` into
58
+ * `brokerTransportLink`, whose load-balanced discovery wait has no
59
+ * deadline, and hangs forever.
60
+ *
61
+ * Mirrors `createAddonService`: each action deserializes typed arrays
62
+ * and normalizes Moleculer's `{}` (empty params) back to `undefined`
63
+ * so void-input procedures don't receive a spurious empty object.
64
+ */
65
65
  export declare function createCoreCapService(options: CoreCapServiceOptions): ServiceSchema;
@@ -1,50 +1,50 @@
1
1
  /**
2
- * Per-runner crash circuit-breaker.
3
- *
4
- * Replaces the old infinite-respawn loop in `process-service.ts`'s
5
- * `spawnRunner` exit handler. A runner that exits unexpectedly is
6
- * respawned with exponential backoff while the crash count inside a
7
- * sliding time window stays under `maxCrashes`. Once the window fills
8
- * up the breaker trips: respawning STOPS and the caller marks the
9
- * addon `failed`.
10
- *
11
- * State is per-runner (keyed on `runnerId`) and crash timestamps older
12
- * than `windowMs` age out — a runner that crashed once an hour ago and
13
- * then crashes again starts a fresh streak.
14
- */
2
+ * Per-runner crash circuit-breaker.
3
+ *
4
+ * Replaces the old infinite-respawn loop in `process-service.ts`'s
5
+ * `spawnRunner` exit handler. A runner that exits unexpectedly is
6
+ * respawned with exponential backoff while the crash count inside a
7
+ * sliding time window stays under `maxCrashes`. Once the window fills
8
+ * up the breaker trips: respawning STOPS and the caller marks the
9
+ * addon `failed`.
10
+ *
11
+ * State is per-runner (keyed on `runnerId`) and crash timestamps older
12
+ * than `windowMs` age out — a runner that crashed once an hour ago and
13
+ * then crashes again starts a fresh streak.
14
+ */
15
15
  /** Tunables for `CrashSupervisor`. */
16
16
  export interface CrashSupervisorOptions {
17
- /** CRASH_WINDOW_MS — crashes older than this age out of the count. */
18
- readonly windowMs: number;
19
- /** Crashes within the window before the breaker trips to `failed`. */
20
- readonly maxCrashes: number;
21
- /** Backoff cap — the exponential backoff never exceeds this. */
22
- readonly maxBackoffMs: number;
17
+ /** CRASH_WINDOW_MS — crashes older than this age out of the count. */
18
+ readonly windowMs: number;
19
+ /** Crashes within the window before the breaker trips to `failed`. */
20
+ readonly maxCrashes: number;
21
+ /** Backoff cap — the exponential backoff never exceeds this. */
22
+ readonly maxBackoffMs: number;
23
23
  }
24
24
  /**
25
- * Outcome of recording a crash. Discriminated on `action`:
26
- * - `respawn` — under the threshold, schedule another spawn after `backoffMs`.
27
- * - `failed` — breaker tripped, do NOT respawn; mark the addon `failed`.
28
- */
25
+ * Outcome of recording a crash. Discriminated on `action`:
26
+ * - `respawn` — under the threshold, schedule another spawn after `backoffMs`.
27
+ * - `failed` — breaker tripped, do NOT respawn; mark the addon `failed`.
28
+ */
29
29
  export type CrashDecision = {
30
- readonly action: 'respawn';
31
- readonly backoffMs: number;
32
- readonly crashesInWindow: number;
30
+ readonly action: "respawn";
31
+ readonly backoffMs: number;
32
+ readonly crashesInWindow: number;
33
33
  } | {
34
- readonly action: 'failed';
35
- readonly crashesInWindow: number;
34
+ readonly action: "failed";
35
+ readonly crashesInWindow: number;
36
36
  };
37
37
  /** Per-runner crash circuit-breaker. Replaces the old infinite-respawn loop. */
38
38
  export declare class CrashSupervisor {
39
- private readonly opts;
40
- /** runnerId → crash timestamps (ms epoch), pruned to the active window. */
41
- private readonly crashes;
42
- constructor(opts: CrashSupervisorOptions);
43
- /**
44
- * Record a crash for `runnerId` and decide what to do. `now` is
45
- * injectable for deterministic tests; production calls omit it.
46
- */
47
- recordCrash(runnerId: string, now?: number): CrashDecision;
48
- /** Clear crash history after a clean run / manual restart. */
49
- reset(runnerId: string): void;
39
+ private readonly opts;
40
+ /** runnerId → crash timestamps (ms epoch), pruned to the active window. */
41
+ private readonly crashes;
42
+ constructor(opts: CrashSupervisorOptions);
43
+ /**
44
+ * Record a crash for `runnerId` and decide what to do. `now` is
45
+ * injectable for deterministic tests; production calls omit it.
46
+ */
47
+ recordCrash(runnerId: string, now?: number): CrashDecision;
48
+ /** Clear crash history after a clean run / manual restart. */
49
+ reset(runnerId: string): void;
50
50
  }
@@ -1,70 +1,70 @@
1
- import { AddonApi, CapabilityDefinition, DeviceManagerApi, IDevice, IEventBus, IKernelStreamProbe, InferProvider, IScopedLogger } from '@camstack/types';
2
- import { deviceOpsCapability } from '@camstack/types/addon';
3
- import { ServiceBroker } from 'moleculer';
4
- import { CapabilityRegistry } from '../capability-registry.js';
5
- import { DeviceRegistry } from '../device-registry.js';
6
- export { NATIVE_PROVIDER_SERVICE_INFIX } from '../transport/cap-action-name.js';
1
+ import type { AddonApi, CapabilityDefinition, DeviceManagerApi, IDevice, IEventBus, IKernelStreamProbe, InferProvider, IScopedLogger } from "@camstack/types";
2
+ import { deviceOpsCapability } from "@camstack/types/addon";
3
+ import type { ServiceBroker } from "moleculer";
4
+ import type { CapabilityRegistry } from "../capability-registry.js";
5
+ import type { DeviceRegistry } from "../device-registry.js";
6
+ export { NATIVE_PROVIDER_SERVICE_INFIX } from "../transport/cap-action-name.js";
7
7
  export interface WorkerDeviceManagerOptions {
8
- readonly api: AddonApi;
9
- readonly addonId: string;
10
- readonly nodeId: string;
11
- readonly logger: IScopedLogger;
12
- readonly eventBus: IEventBus;
13
- readonly registry: DeviceRegistry;
14
- readonly capabilityRegistry?: CapabilityRegistry;
15
- readonly broker?: ServiceBroker;
16
- /**
17
- * UDS-only forked child (Phase F1+F2): no `capabilityRegistry`, no
18
- * `broker`. `registerNativeCap` populates the per-process `workerNativeCaps`
19
- * map (read by the UDS dispatch in `addon-runner`) but mounts NO Moleculer
20
- * `<addon>.native-provider.*` service — the child has no broker.
21
- */
22
- readonly udsMode?: boolean;
23
- readonly streamProbe?: IKernelStreamProbe;
8
+ readonly api: AddonApi;
9
+ readonly addonId: string;
10
+ readonly nodeId: string;
11
+ readonly logger: IScopedLogger;
12
+ readonly eventBus: IEventBus;
13
+ readonly registry: DeviceRegistry;
14
+ readonly capabilityRegistry?: CapabilityRegistry;
15
+ readonly broker?: ServiceBroker;
16
+ /**
17
+ * UDS-only forked child (Phase F1+F2): no `capabilityRegistry`, no
18
+ * `broker`. `registerNativeCap` populates the per-process `workerNativeCaps`
19
+ * map (read by the UDS dispatch in `addon-runner`) but mounts NO Moleculer
20
+ * `<addon>.native-provider.*` service — the child has no broker.
21
+ */
22
+ readonly udsMode?: boolean;
23
+ readonly streamProbe?: IKernelStreamProbe;
24
24
  }
25
25
  /** Subscribe to worker native-cap set changes. Pass null to clear. */
26
26
  export declare function setWorkerNativeCapsChangeListener(listener: (() => void) | null): void;
27
27
  /**
28
- * Mount the Moleculer service exposing `<addonId>.native-provider.<capName>`
29
- * with per-method actions that dispatch to `workerNativeCaps`. Called
30
- * lazily on first `registerNativeCap` AND proactively at worker boot for
31
- * always-on caps (e.g. `device-ops`) so the INFO packet sent at TCP
32
- * connect already advertises the service.
33
- */
28
+ * Mount the Moleculer service exposing `<addonId>.native-provider.<capName>`
29
+ * with per-method actions that dispatch to `workerNativeCaps`. Called
30
+ * lazily on first `registerNativeCap` AND proactively at worker boot for
31
+ * always-on caps (e.g. `device-ops`) so the INFO packet sent at TCP
32
+ * connect already advertises the service.
33
+ */
34
34
  export declare function mountNativeCapService<TCap extends CapabilityDefinition>(broker: ServiceBroker, addonId: string, cap: TCap): void;
35
35
  export declare function getWorkerNativeCap(capName: string, deviceId: number): unknown | null;
36
36
  export declare function clearWorkerNativeCapsForDevice(deviceId: number): void;
37
37
  export declare function getWorkerNativeCapNames(): readonly string[];
38
38
  /**
39
- * Snapshot of every device-scoped native cap this worker hosts, with the
40
- * device ids and registering addonId for each. Used by the D3 registration
41
- * handshake (`process-runner`/`group-runner` → `$hub.registerNode`'s
42
- * `nativeCaps` field) so the hub's `HubNodeRegistry` learns device-scoped
43
- * native caps (including addonId) without the pull-based discovery sweep.
44
- *
45
- * Groups by `(capName, addonId)` because different addons in the same group
46
- * may register the same cap for different devices — each such pair becomes
47
- * its own entry so the hub can build the correct Moleculer proxy target.
48
- */
39
+ * Snapshot of every device-scoped native cap this worker hosts, with the
40
+ * device ids and registering addonId for each. Used by the D3 registration
41
+ * handshake (`process-runner`/`group-runner` → `$hub.registerNode`'s
42
+ * `nativeCaps` field) so the hub's `HubNodeRegistry` learns device-scoped
43
+ * native caps (including addonId) without the pull-based discovery sweep.
44
+ *
45
+ * Groups by `(capName, addonId)` because different addons in the same group
46
+ * may register the same cap for different devices — each such pair becomes
47
+ * its own entry so the hub can build the correct Moleculer proxy target.
48
+ */
49
49
  export declare function getWorkerNativeCapSnapshot(): ReadonlyArray<{
50
- readonly capName: string;
51
- readonly addonId: string;
52
- readonly deviceIds: readonly number[];
50
+ readonly capName: string;
51
+ readonly addonId: string;
52
+ readonly deviceIds: readonly number[];
53
53
  }>;
54
54
  export declare function getWorkerNativeCapsForDevice(deviceId: number): readonly string[];
55
55
  /**
56
- * Read-only accessor for UDS dispatch — returns the provider registered for a
57
- * given (capName, deviceId) pair, or `undefined` when none is registered.
58
- * Returns the provider as an opaque `object`; `createChildCapDispatch` resolves
59
- * its methods structurally via a type guard, so no cast is needed.
60
- */
56
+ * Read-only accessor for UDS dispatch — returns the provider registered for a
57
+ * given (capName, deviceId) pair, or `undefined` when none is registered.
58
+ * Returns the provider as an opaque `object`; `createChildCapDispatch` resolves
59
+ * its methods structurally via a type guard, so no cast is needed.
60
+ */
61
61
  export declare function getWorkerNativeCapProvider(capName: string, deviceId: number): object | undefined;
62
62
  /**
63
- * Hub-side proxy factory. Returns an object whose method access dispatches
64
- * via `broker.call('<addonId>.native-provider.<capName>.<method>', input)`.
65
- * Calls are wrapped in exponential-backoff retry to absorb the race between
66
- * worker `broker.createService` and the hub's Moleculer registry INFO packet.
67
- */
63
+ * Hub-side proxy factory. Returns an object whose method access dispatches
64
+ * via `broker.call('<addonId>.native-provider.<capName>.<method>', input)`.
65
+ * Calls are wrapped in exponential-backoff retry to absorb the race between
66
+ * worker `broker.createService` and the hub's Moleculer registry INFO packet.
67
+ */
68
68
  export declare function buildNativeCapProxy(broker: ServiceBroker, addonId: string, capName: string, deviceId: number): Record<string, (input: unknown) => Promise<unknown>>;
69
69
  export declare function buildDeviceOpsProvider(device: IDevice): InferProvider<typeof deviceOpsCapability>;
70
70
  export declare function createBrokerDeviceManagerApi(opts: WorkerDeviceManagerOptions): DeviceManagerApi;