@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,96 +1,96 @@
1
1
  /**
2
- * Pure reconciliation core for the remote-access orchestrator's durable
3
- * `enabledProviders` set (D8 delivery-rule fix).
4
- *
5
- * Why this module exists
6
- * ----------------------
7
- * `enabledProviders: string[]` is the operator's "auto-start on boot"
8
- * intent — a DURABLE setting. Historically it was written ONLY from two
9
- * fire-and-forget bus events (`NetworkTunnelStarted` / `Stopped`). A
10
- * dropped event (hub restart, addon crash-respawn, hub↔orchestrator
11
- * partition) silently diverges the persisted set from reality:
12
- * - dropped `Started` → tunnel running, not recorded → no auto-start
13
- * - dropped `Stopped` → tunnel stopped, still recorded → boot restarts
14
- * an operator-stopped tunnel.
15
- *
16
- * A durable setting must not be written by a lossy event. The fix is an
17
- * idempotent reconcile pass that pulls authoritative state via an
18
- * ACKNOWLEDGED RPC (`network-access` cap `getStatus`) on every provider
19
- * (re)connect — mirroring the kernel readiness-registry hydration via
20
- * `$readiness.getSnapshot`. The lifecycle events stay (still fine for
21
- * live UI dashboards); only the PERSISTENCE WRITE moves to the RPC pull.
22
- *
23
- * Reconcile semantics — ADD-ONLY (deliberately conservative)
24
- * ----------------------------------------------------------
25
- * `connected: true` from an acked RPC is UNAMBIGUOUS: the tunnel is up,
26
- * so the operator must have started it → safe to ADD to `enabledProviders`
27
- * (recovers a dropped `NetworkTunnelStarted` event).
28
- *
29
- * `connected: false` is AMBIGUOUS:
30
- * - Provider registered but not yet started (normal cold-boot state,
31
- * BEFORE `autoStartEnabledProviders` has called `start()`).
32
- * - Provider transiently down (network blip, restart in progress).
33
- * - Provider intentionally stopped by the operator.
34
- * `getStatus()` reports connectivity, NOT operator intent. Acting on
35
- * `connected: false` would wipe `enabledProviders` on every hub restart
36
- * (providers re-register ~15-20 s before `start()` is called), defeating
37
- * the purpose of the durable enabled-set. Therefore the reconcile pass
38
- * NEVER removes on `connected: false`.
39
- *
40
- * Removal of operator intent stays event-driven (`NetworkTunnelStopped`
41
- * → `markEnabled(id, false)`). That event is emitted synchronously by
42
- * the provider's own `stop()` call — it is the reliable signal that the
43
- * operator actually stopped the tunnel. A failed/absent RPC probe also
44
- * leaves the provider untouched.
45
- *
46
- * // Follow-up: covering the dropped-`Stopped` direction (a `Stopped`
47
- * // event lost → tunnel stopped but still in enabledProviders → boot
48
- * // wrongly restarts it) would require a provider-side persisted
49
- * // operator-intent flag that `getStatus()` surfaces. That is a larger
50
- * // multi-addon change (the audit's "approach 2") and is OUT OF SCOPE
51
- * // for this backstop. The current fix covers the higher-impact direction
52
- * // (dropped `Started` → operator's running tunnel not auto-restarted).
53
- *
54
- * The function is pure: the addon owns the RPC fan-out + the persist
55
- * call, so this core is unit-testable without a CapabilityRegistry.
56
- */
2
+ * Pure reconciliation core for the remote-access orchestrator's durable
3
+ * `enabledProviders` set (D8 delivery-rule fix).
4
+ *
5
+ * Why this module exists
6
+ * ----------------------
7
+ * `enabledProviders: string[]` is the operator's "auto-start on boot"
8
+ * intent — a DURABLE setting. Historically it was written ONLY from two
9
+ * fire-and-forget bus events (`NetworkTunnelStarted` / `Stopped`). A
10
+ * dropped event (hub restart, addon crash-respawn, hub↔orchestrator
11
+ * partition) silently diverges the persisted set from reality:
12
+ * - dropped `Started` → tunnel running, not recorded → no auto-start
13
+ * - dropped `Stopped` → tunnel stopped, still recorded → boot restarts
14
+ * an operator-stopped tunnel.
15
+ *
16
+ * A durable setting must not be written by a lossy event. The fix is an
17
+ * idempotent reconcile pass that pulls authoritative state via an
18
+ * ACKNOWLEDGED RPC (`network-access` cap `getStatus`) on every provider
19
+ * (re)connect — mirroring the kernel readiness-registry hydration via
20
+ * `$readiness.getSnapshot`. The lifecycle events stay (still fine for
21
+ * live UI dashboards); only the PERSISTENCE WRITE moves to the RPC pull.
22
+ *
23
+ * Reconcile semantics — ADD-ONLY (deliberately conservative)
24
+ * ----------------------------------------------------------
25
+ * `connected: true` from an acked RPC is UNAMBIGUOUS: the tunnel is up,
26
+ * so the operator must have started it → safe to ADD to `enabledProviders`
27
+ * (recovers a dropped `NetworkTunnelStarted` event).
28
+ *
29
+ * `connected: false` is AMBIGUOUS:
30
+ * - Provider registered but not yet started (normal cold-boot state,
31
+ * BEFORE `autoStartEnabledProviders` has called `start()`).
32
+ * - Provider transiently down (network blip, restart in progress).
33
+ * - Provider intentionally stopped by the operator.
34
+ * `getStatus()` reports connectivity, NOT operator intent. Acting on
35
+ * `connected: false` would wipe `enabledProviders` on every hub restart
36
+ * (providers re-register ~15-20 s before `start()` is called), defeating
37
+ * the purpose of the durable enabled-set. Therefore the reconcile pass
38
+ * NEVER removes on `connected: false`.
39
+ *
40
+ * Removal of operator intent stays event-driven (`NetworkTunnelStopped`
41
+ * → `markEnabled(id, false)`). That event is emitted synchronously by
42
+ * the provider's own `stop()` call — it is the reliable signal that the
43
+ * operator actually stopped the tunnel. A failed/absent RPC probe also
44
+ * leaves the provider untouched.
45
+ *
46
+ * // Follow-up: covering the dropped-`Stopped` direction (a `Stopped`
47
+ * // event lost → tunnel stopped but still in enabledProviders → boot
48
+ * // wrongly restarts it) would require a provider-side persisted
49
+ * // operator-intent flag that `getStatus()` surfaces. That is a larger
50
+ * // multi-addon change (the audit's "approach 2") and is OUT OF SCOPE
51
+ * // for this backstop. The current fix covers the higher-impact direction
52
+ * // (dropped `Started` → operator's running tunnel not auto-restarted).
53
+ *
54
+ * The function is pure: the addon owns the RPC fan-out + the persist
55
+ * call, so this core is unit-testable without a CapabilityRegistry.
56
+ */
57
57
  /**
58
- * Outcome of one provider's `getStatus()` RPC probe.
59
- *
60
- * `ok: true` → the RPC was acknowledged; `connected` is authoritative.
61
- * `ok: false` → the RPC threw / timed out; state is unknown and the
62
- * provider's membership must be left as-is.
63
- */
58
+ * Outcome of one provider's `getStatus()` RPC probe.
59
+ *
60
+ * `ok: true` → the RPC was acknowledged; `connected` is authoritative.
61
+ * `ok: false` → the RPC threw / timed out; state is unknown and the
62
+ * provider's membership must be left as-is.
63
+ */
64
64
  export type ProviderProbeResult = {
65
- readonly addonId: string;
66
- readonly ok: true;
67
- readonly connected: boolean;
65
+ readonly addonId: string;
66
+ readonly ok: true;
67
+ readonly connected: boolean;
68
68
  } | {
69
- readonly addonId: string;
70
- readonly ok: false;
69
+ readonly addonId: string;
70
+ readonly ok: false;
71
71
  };
72
72
  export interface ReconcileResult {
73
- /** The corrected enabled-set, sorted for stable persistence. */
74
- readonly nextEnabled: readonly string[];
75
- /** `true` when `nextEnabled` differs from the input — caller persists only then. */
76
- readonly changed: boolean;
77
- /** addonIds added because an acked RPC reported them connected. */
78
- readonly added: readonly string[];
79
- /**
80
- * Always empty — reconcile is add-only. Removal of operator intent is
81
- * event-driven (`NetworkTunnelStopped`). Kept in the type so callers
82
- * that log `result.removed` continue to compile without changes.
83
- */
84
- readonly removed: readonly string[];
73
+ /** The corrected enabled-set, sorted for stable persistence. */
74
+ readonly nextEnabled: readonly string[];
75
+ /** `true` when `nextEnabled` differs from the input — caller persists only then. */
76
+ readonly changed: boolean;
77
+ /** addonIds added because an acked RPC reported them connected. */
78
+ readonly added: readonly string[];
79
+ /**
80
+ * Always empty — reconcile is add-only. Removal of operator intent is
81
+ * event-driven (`NetworkTunnelStopped`). Kept in the type so callers
82
+ * that log `result.removed` continue to compile without changes.
83
+ */
84
+ readonly removed: readonly string[];
85
85
  }
86
86
  /**
87
- * Reconcile the durable `enabledProviders` set against authoritative
88
- * RPC probe results. Pure — no I/O. ADD-ONLY: only adds providers whose
89
- * acked `getStatus()` reports `connected: true`. Never removes on
90
- * `connected: false` — see module doc for the full rationale.
91
- *
92
- * @param currentEnabled - the persisted enabled-set before reconcile.
93
- * @param probes - one entry per provider whose `getStatus()` RPC was
94
- * attempted this pass. Providers absent from this list are untouched.
95
- */
87
+ * Reconcile the durable `enabledProviders` set against authoritative
88
+ * RPC probe results. Pure — no I/O. ADD-ONLY: only adds providers whose
89
+ * acked `getStatus()` reports `connected: true`. Never removes on
90
+ * `connected: false` — see module doc for the full rationale.
91
+ *
92
+ * @param currentEnabled - the persisted enabled-set before reconcile.
93
+ * @param probes - one entry per provider whose `getStatus()` RPC was
94
+ * attempted this pass. Providers absent from this list are untouched.
95
+ */
96
96
  export declare function reconcileEnabledProviders(currentEnabled: readonly string[], probes: readonly ProviderProbeResult[]): ReconcileResult;
@@ -1 +1 @@
1
- export { RemoteAccessOrchestratorAddon, default } from './remote-access-orchestrator.addon.js';
1
+ export { RemoteAccessOrchestratorAddon, default } from "./remote-access-orchestrator.addon.js";
@@ -1,40 +1,71 @@
1
- import { BaseAddon, ProviderRegistration } from '@camstack/types';
1
+ /**
2
+ * Remote-access orchestrator — backend-only boot-autostart service for
3
+ * the `network-access` collection (Cloudflare Tunnel, ngrok, Tailscale, …).
4
+ *
5
+ * Retired its `remote-access` facade cap (2026-05-15): the admin UI now
6
+ * talks to the `network-access` collection cap directly via generic
7
+ * per-`addonId` routing, so this addon registers NO capability.
8
+ *
9
+ * What it still owns — the load-bearing logic:
10
+ * The orchestrator owns the "operator wants this provider running"
11
+ * intent — an `enabledProviders: string[]` slice in its addon-store
12
+ * blob (BaseAddon.config). On boot we iterate the list and call
13
+ * `provider.start()` for each enabled entry, so a tunnel set up once
14
+ * stays up across hub restarts.
15
+ *
16
+ * Since start/stop no longer flow through this addon, the enabled-set
17
+ * is kept in sync from two sources:
18
+ * 1. `NetworkTunnelStarted` / `NetworkTunnelStopped` bus events —
19
+ * fast, but lossy (fire-and-forget broadcasts). They drive both
20
+ * the live UI and removal from the durable set (`Stopped` is the
21
+ * only reliable "operator stopped it" signal).
22
+ * 2. An RPC-driven ADD-ONLY RECONCILE pass (`reconcileEnabledProviders`)
23
+ * that pulls authoritative `connected` state via the `network-access`
24
+ * cap's `getStatus()` on every provider (re)connect. THIS covers
25
+ * dropped `NetworkTunnelStarted` events — if `connected: true` is
26
+ * acked, the provider is added to `enabledProviders`. It NEVER
27
+ * removes on `connected: false` because that signal is ambiguous
28
+ * (registered-not-yet-started vs transiently-down vs intentionally
29
+ * stopped). Running before `autoStartEnabledProviders` is safe:
30
+ * it can only add already-connected providers, never evict.
31
+ */
32
+ import { BaseAddon, type ProviderRegistration } from "@camstack/types";
2
33
  interface RemoteAccessOrchestratorConfig {
3
- /**
4
- * addonIds the operator has explicitly Started. Auto-respawned on
5
- * boot so a tunnel set up once stays up across hub restarts.
6
- */
7
- readonly enabledProviders: readonly string[];
34
+ /**
35
+ * addonIds the operator has explicitly Started. Auto-respawned on
36
+ * boot so a tunnel set up once stays up across hub restarts.
37
+ */
38
+ readonly enabledProviders: readonly string[];
8
39
  }
9
40
  export declare class RemoteAccessOrchestratorAddon extends BaseAddon<RemoteAccessOrchestratorConfig> {
10
- constructor();
11
- protected onInitialize(): Promise<ProviderRegistration[]>;
12
- /**
13
- * Maintain the persisted `enabledProviders` set from a tunnel
14
- * lifecycle event. `source.id` is `string | number`; `network-access`
15
- * providers emit with `type: 'addon'` so it is always the addonId
16
- * string. Non-string / non-addon sources are ignored defensively.
17
- */
18
- private onTunnelLifecycle;
19
- /**
20
- * Probe every locally-visible `network-access` provider's
21
- * `getStatus()` over RPC and reconcile the durable `enabledProviders`
22
- * set against the result. This is the D8 backstop for dropped
23
- * `NetworkTunnelStarted` events: if `connected: true` is acked, the
24
- * provider is added to `enabledProviders`. ADD-ONLY — never removes on
25
- * `connected: false` (see enabled-providers-reconcile.ts for rationale).
26
- *
27
- * `getStatus()` is an acknowledged cap RPC — a transport blip surfaces
28
- * as a rejected promise (recorded as `ok: false`, membership left
29
- * untouched), never as a silent lossy write. Runs on every provider
30
- * (re)connect via the `watchCapability` hooks, mirroring the kernel
31
- * readiness-registry hydration on `$node.connected`. Safe to call
32
- * before `autoStartEnabledProviders`: add-only semantics mean it cannot
33
- * wipe the enabled-set even when providers are registered-not-yet-started.
34
- */
35
- private reconcileAndPersist;
36
- private autoStartEnabledProviders;
37
- private markEnabled;
38
- private resolveImpl;
41
+ constructor();
42
+ protected onInitialize(): Promise<ProviderRegistration[]>;
43
+ /**
44
+ * Maintain the persisted `enabledProviders` set from a tunnel
45
+ * lifecycle event. `source.id` is `string | number`; `network-access`
46
+ * providers emit with `type: 'addon'` so it is always the addonId
47
+ * string. Non-string / non-addon sources are ignored defensively.
48
+ */
49
+ private onTunnelLifecycle;
50
+ /**
51
+ * Probe every locally-visible `network-access` provider's
52
+ * `getStatus()` over RPC and reconcile the durable `enabledProviders`
53
+ * set against the result. This is the D8 backstop for dropped
54
+ * `NetworkTunnelStarted` events: if `connected: true` is acked, the
55
+ * provider is added to `enabledProviders`. ADD-ONLY — never removes on
56
+ * `connected: false` (see enabled-providers-reconcile.ts for rationale).
57
+ *
58
+ * `getStatus()` is an acknowledged cap RPC — a transport blip surfaces
59
+ * as a rejected promise (recorded as `ok: false`, membership left
60
+ * untouched), never as a silent lossy write. Runs on every provider
61
+ * (re)connect via the `watchCapability` hooks, mirroring the kernel
62
+ * readiness-registry hydration on `$node.connected`. Safe to call
63
+ * before `autoStartEnabledProviders`: add-only semantics mean it cannot
64
+ * wipe the enabled-set even when providers are registered-not-yet-started.
65
+ */
66
+ private reconcileAndPersist;
67
+ private autoStartEnabledProviders;
68
+ private markEnabled;
69
+ private resolveImpl;
39
70
  }
40
71
  export default RemoteAccessOrchestratorAddon;
@@ -1,15 +1,15 @@
1
1
  /**
2
- * The ONE cast-free narrowing of the `device.state-changed` payload. The
3
- * category is not part of the typed `EventCatalog` — every subscriber validates
4
- * at the boundary, and the builtins share this one narrowing instead of a
5
- * verbatim copy each (D659), like `./settle-sources.ts`; addons never import
6
- * each other, and its consumers live in this package.
7
- */
2
+ * The ONE cast-free narrowing of the `device.state-changed` payload. The
3
+ * category is not part of the typed `EventCatalog` — every subscriber validates
4
+ * at the boundary, and the builtins share this one narrowing instead of a
5
+ * verbatim copy each (D659), like `./settle-sources.ts`; addons never import
6
+ * each other, and its consumers live in this package.
7
+ */
8
8
  /** Narrowed payload of a `DeviceStateChanged` bus event. */
9
9
  export interface DeviceStateChangedData {
10
- readonly deviceId: number;
11
- readonly capName: string;
12
- readonly slice: Readonly<Record<string, unknown>>;
10
+ readonly deviceId: number;
11
+ readonly capName: string;
12
+ readonly slice: Readonly<Record<string, unknown>>;
13
13
  }
14
14
  /** Structural narrowing helper for untrusted bus payloads. */
15
15
  export declare function isRecord(value: unknown): value is Readonly<Record<string, unknown>>;
@@ -1,22 +1,22 @@
1
1
  /**
2
- * settleSourcesWithTimeout — parallel, per-source-timeout fan-out shared by
3
- * the addon-pages / addon-widgets aggregators.
4
- *
5
- * Each source is called concurrently and raced against `timeoutMs`. A source
6
- * that rejects OR exceeds the timeout yields a `{ ok: false, error }` result
7
- * instead of blocking or failing the whole batch. This is the defense that
8
- * keeps ONE slow/unreachable source — e.g. an agent-hosted source whose cap
9
- * call sits in a 30s Moleculer `waitForServices` — from stalling the
10
- * aggregator's `listPages()/listWidgets()` (which otherwise hangs long enough
11
- * to trip the admin-ui WS keepalive → "server unreachable") or blanking the
12
- * sidebar. Entry order is preserved in the returned array.
13
- */
2
+ * settleSourcesWithTimeout — parallel, per-source-timeout fan-out shared by
3
+ * the addon-pages / addon-widgets aggregators.
4
+ *
5
+ * Each source is called concurrently and raced against `timeoutMs`. A source
6
+ * that rejects OR exceeds the timeout yields a `{ ok: false, error }` result
7
+ * instead of blocking or failing the whole batch. This is the defense that
8
+ * keeps ONE slow/unreachable source — e.g. an agent-hosted source whose cap
9
+ * call sits in a 30s Moleculer `waitForServices` — from stalling the
10
+ * aggregator's `listPages()/listWidgets()` (which otherwise hangs long enough
11
+ * to trip the admin-ui WS keepalive → "server unreachable") or blanking the
12
+ * sidebar. Entry order is preserved in the returned array.
13
+ */
14
14
  /** Per-source outcome: the source's items, or the error that prevented them. */
15
15
  export type SourceResult<T> = {
16
- readonly ok: true;
17
- readonly value: readonly T[];
16
+ readonly ok: true;
17
+ readonly value: readonly T[];
18
18
  } | {
19
- readonly ok: false;
20
- readonly error: Error;
19
+ readonly ok: false;
20
+ readonly error: Error;
21
21
  };
22
22
  export declare function settleSourcesWithTimeout<T>(entries: ReadonlyArray<readonly [string, () => Promise<readonly T[]>]>, timeoutMs: number): Promise<ReadonlyArray<readonly [string, SourceResult<T>]>>;
@@ -1,2 +1,2 @@
1
- export { SnapshotAddon } from './snapshot.addon.js';
2
- export { SnapshotAddon as default } from './snapshot.addon.js';
1
+ export { SnapshotAddon } from "./snapshot.addon.js";
2
+ export { SnapshotAddon as default } from "./snapshot.addon.js";
@@ -1,108 +1,108 @@
1
1
  /**
2
- * The per-device snapshot cache, keyed by (device, STREAM).
3
- *
4
- * It used to be keyed by device alone, and `getSnapshot` served the hit before
5
- * it had resolved which stream the caller asked for — so `?streamId=low`
6
- * silently returned whatever was already cached. In production that meant the
7
- * 4K main frame: probing a live camera with `low`, `sub` and `high` returned
8
- * three byte-identical 1.2 MB responses. The parameter existed, was documented,
9
- * and did nothing.
10
- *
11
- * Two views still need to ask a device-wide question — "when did this camera
12
- * last produce a frame" (`getSnapshotOverview`, `getStatus`) — so
13
- * {@link SnapshotCache.latest} answers it across streams rather than making
14
- * every caller guess a key.
15
- */
2
+ * The per-device snapshot cache, keyed by (device, STREAM).
3
+ *
4
+ * It used to be keyed by device alone, and `getSnapshot` served the hit before
5
+ * it had resolved which stream the caller asked for — so `?streamId=low`
6
+ * silently returned whatever was already cached. In production that meant the
7
+ * 4K main frame: probing a live camera with `low`, `sub` and `high` returned
8
+ * three byte-identical 1.2 MB responses. The parameter existed, was documented,
9
+ * and did nothing.
10
+ *
11
+ * Two views still need to ask a device-wide question — "when did this camera
12
+ * last produce a frame" (`getSnapshotOverview`, `getStatus`) — so
13
+ * {@link SnapshotCache.latest} answers it across streams rather than making
14
+ * every caller guess a key.
15
+ */
16
16
  /** The cached frame. Structurally the addon's `SnapshotImage` — declared here
17
- * rather than imported so the cache does not depend on the 1,100-line addon. */
17
+ * rather than imported so the cache does not depend on the 1,100-line addon. */
18
18
  export interface SnapshotCacheImage {
19
- readonly base64: string;
20
- readonly contentType: string;
19
+ readonly base64: string;
20
+ readonly contentType: string;
21
21
  }
22
22
  export interface SnapshotCacheEntry {
23
- readonly data: SnapshotCacheImage;
24
- readonly ts: number;
25
- /** Stream id resolved at capture time — 'high' | 'mid' | 'low' | custom | null. */
26
- readonly streamId: string | null;
23
+ readonly data: SnapshotCacheImage;
24
+ readonly ts: number;
25
+ /** Stream id resolved at capture time — 'high' | 'mid' | 'low' | custom | null. */
26
+ readonly streamId: string | null;
27
27
  }
28
28
  /**
29
- * Byte budget across every cached frame.
30
- *
31
- * The cache shipped with NO bound of any kind: no TTL, no LRU, no size cap. It
32
- * holds base64 JPEG payloads — a 4K main-stream frame is ~1.6 MB as base64 —
33
- * keyed by (device, stream), so the ceiling was "every camera × every stream it
34
- * was ever asked for", which is not a ceiling.
35
- *
36
- * 64 MiB is roughly 40 main-stream frames, comfortably above the live 27-camera
37
- * roster's working set (the whole `snapshot` runner measures 185 MB RSS, of
38
- * which the node baseline is ~130 MB), so nothing an operator does today starts
39
- * evicting. It exists so a roster that grows, or a device that gets probed on
40
- * many stream ids, cannot walk this structure into the OOM.
41
- */
29
+ * Byte budget across every cached frame.
30
+ *
31
+ * The cache shipped with NO bound of any kind: no TTL, no LRU, no size cap. It
32
+ * holds base64 JPEG payloads — a 4K main-stream frame is ~1.6 MB as base64 —
33
+ * keyed by (device, stream), so the ceiling was "every camera × every stream it
34
+ * was ever asked for", which is not a ceiling.
35
+ *
36
+ * 64 MiB is roughly 40 main-stream frames, comfortably above the live 27-camera
37
+ * roster's working set (the whole `snapshot` runner measures 185 MB RSS, of
38
+ * which the node baseline is ~130 MB), so nothing an operator does today starts
39
+ * evicting. It exists so a roster that grows, or a device that gets probed on
40
+ * many stream ids, cannot walk this structure into the OOM.
41
+ */
42
42
  export declare const SNAPSHOT_CACHE_MAX_BYTES: number;
43
43
  /**
44
- * Drop an entry nobody has READ for this long.
45
- *
46
- * Deliberately an IDLE timeout and not a capture-age one. Capture age is
47
- * already governed per device by `snapshotMaxAgeS` (default 15s, but one HOUR
48
- * for battery cameras), so a TTL on age would either fight those rules or have
49
- * to sit above the largest of them and bound nothing. "Nobody has looked at
50
- * this in an hour" is orthogonal to freshness and is the actual condition under
51
- * which the bytes are dead weight — a removed camera, an unreachable one, a
52
- * stream id probed once by a debug view.
53
- */
54
- export declare const SNAPSHOT_CACHE_IDLE_TTL_MS = 3600000;
44
+ * Drop an entry nobody has READ for this long.
45
+ *
46
+ * Deliberately an IDLE timeout and not a capture-age one. Capture age is
47
+ * already governed per device by `snapshotMaxAgeS` (default 15s, but one HOUR
48
+ * for battery cameras), so a TTL on age would either fight those rules or have
49
+ * to sit above the largest of them and bound nothing. "Nobody has looked at
50
+ * this in an hour" is orthogonal to freshness and is the actual condition under
51
+ * which the bytes are dead weight — a removed camera, an unreachable one, a
52
+ * stream id probed once by a debug view.
53
+ */
54
+ export declare const SNAPSHOT_CACHE_IDLE_TTL_MS = 36e5;
55
55
  /** Why an entry was dropped. `budget` = the byte ceiling; `idle` = unread for
56
- * {@link SNAPSHOT_CACHE_IDLE_TTL_MS}. */
57
- export type SnapshotCacheEvictReason = 'budget' | 'idle';
56
+ * {@link SNAPSHOT_CACHE_IDLE_TTL_MS}. */
57
+ export type SnapshotCacheEvictReason = "budget" | "idle";
58
58
  /** Notified for every eviction so the owner can put it on the record with the
59
- * device tag. A cached frame that vanishes is the explanation for a later
60
- * capture that did not have to happen; silence reads as "never happened". */
59
+ * device tag. A cached frame that vanishes is the explanation for a later
60
+ * capture that did not have to happen; silence reads as "never happened". */
61
61
  export type SnapshotCacheEvictListener = (deviceId: number, streamId: string | null, reason: SnapshotCacheEvictReason) => void;
62
62
  export interface SnapshotCacheOptions {
63
- /** Total base64 bytes held across all entries. Default {@link SNAPSHOT_CACHE_MAX_BYTES}. */
64
- readonly maxBytes?: number;
65
- /** Idle timeout. Default {@link SNAPSHOT_CACHE_IDLE_TTL_MS}. */
66
- readonly idleTtlMs?: number;
67
- /** Injected clock — the bounds must be testable without waiting an hour. */
68
- readonly now?: () => number;
69
- readonly onEvict?: SnapshotCacheEvictListener;
63
+ /** Total base64 bytes held across all entries. Default {@link SNAPSHOT_CACHE_MAX_BYTES}. */
64
+ readonly maxBytes?: number;
65
+ /** Idle timeout. Default {@link SNAPSHOT_CACHE_IDLE_TTL_MS}. */
66
+ readonly idleTtlMs?: number;
67
+ /** Injected clock — the bounds must be testable without waiting an hour. */
68
+ readonly now?: () => number;
69
+ readonly onEvict?: SnapshotCacheEvictListener;
70
70
  }
71
71
  export declare class SnapshotCache {
72
- private readonly byKey;
73
- /** deviceId → its live keys, so invalidation is O(streams) not O(cache). */
74
- private readonly keysByDevice;
75
- private readonly maxBytes;
76
- private readonly idleTtlMs;
77
- private readonly now;
78
- private readonly onEvict;
79
- private totalBytes;
80
- constructor(options?: SnapshotCacheOptions);
81
- get(deviceId: number, streamId: string | undefined): SnapshotCacheEntry | undefined;
82
- set(deviceId: number, streamId: string | undefined, entry: SnapshotCacheEntry): void;
83
- /** The newest entry for a device, whichever stream produced it. */
84
- latest(deviceId: number): SnapshotCacheEntry | undefined;
85
- /** Base64 bytes currently retained. The number the budget is enforced on. */
86
- sizeBytes(): number;
87
- /** Entries currently retained. */
88
- entryCount(): number;
89
- /** Read through the idle timeout: an entry nobody has touched inside
90
- * `idleTtlMs` is dropped here rather than on a sweep, so the cost is paid by
91
- * the caller that proves it was not wanted. */
92
- private read;
93
- /** Evict least-recently-ACCESSED first until the budget holds. `protectedKey`
94
- * is the entry just written — evicting it would make `set` a no-op. */
95
- private enforceBudget;
96
- private evict;
97
- /** Remove a key and everything that indexes or accounts for it. */
98
- private forget;
99
- /**
100
- * Drop every stream of one device.
101
- *
102
- * Device-wide on purpose: a settings change or an operator refresh
103
- * invalidates the CAMERA, and leaving a sibling entry behind would keep
104
- * serving the pre-change frame from the other key.
105
- */
106
- deleteDevice(deviceId: number): void;
107
- clear(): void;
72
+ private readonly byKey;
73
+ /** deviceId → its live keys, so invalidation is O(streams) not O(cache). */
74
+ private readonly keysByDevice;
75
+ private readonly maxBytes;
76
+ private readonly idleTtlMs;
77
+ private readonly now;
78
+ private readonly onEvict;
79
+ private totalBytes;
80
+ constructor(options?: SnapshotCacheOptions);
81
+ get(deviceId: number, streamId: string | undefined): SnapshotCacheEntry | undefined;
82
+ set(deviceId: number, streamId: string | undefined, entry: SnapshotCacheEntry): void;
83
+ /** The newest entry for a device, whichever stream produced it. */
84
+ latest(deviceId: number): SnapshotCacheEntry | undefined;
85
+ /** Base64 bytes currently retained. The number the budget is enforced on. */
86
+ sizeBytes(): number;
87
+ /** Entries currently retained. */
88
+ entryCount(): number;
89
+ /** Read through the idle timeout: an entry nobody has touched inside
90
+ * `idleTtlMs` is dropped here rather than on a sweep, so the cost is paid by
91
+ * the caller that proves it was not wanted. */
92
+ private read;
93
+ /** Evict least-recently-ACCESSED first until the budget holds. `protectedKey`
94
+ * is the entry just written — evicting it would make `set` a no-op. */
95
+ private enforceBudget;
96
+ private evict;
97
+ /** Remove a key and everything that indexes or accounts for it. */
98
+ private forget;
99
+ /**
100
+ * Drop every stream of one device.
101
+ *
102
+ * Device-wide on purpose: a settings change or an operator refresh
103
+ * invalidates the CAMERA, and leaving a sibling entry behind would keep
104
+ * serving the pre-change frame from the other key.
105
+ */
106
+ deleteDevice(deviceId: number): void;
107
+ clear(): void;
108
108
  }