@camstack/system 1.2.390 → 1.2.392

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