@camstack/system 1.2.389 → 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 -93
  307. package/dist/builtins/system-config/system-config.addon.js +46 -33
  308. package/dist/builtins/system-config/system-config.addon.mjs +46 -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,135 +1,135 @@
1
1
  /**
2
- * Pure, side-effect-free coalescing / stale-while-revalidate / bounded-pool
3
- * primitives for the snapshot wrapper.
4
- *
5
- * These are extracted from `SnapshotAddon` so the decision logic is unit-testable
6
- * without instantiating the addon (no camera, no ffmpeg, no tRPC). The addon wires
7
- * them to its cache + ladder; this module owns only the mechanics:
8
- *
9
- * - {@link decideSnapshotServe} — the pure serve/refresh decision (fresh cache vs
10
- * stale-while-revalidate vs cold blocking capture) keyed off the cached frame
11
- * age, the per-device max-age, and whether the caller forced a refresh.
12
- * - {@link Semaphore} — a counting semaphore bounding concurrent grabs.
13
- * - {@link SingleFlight} — de-dupes concurrent captures for the same key and
14
- * retains a SETTLED success for a short hold window so a mount burst collapses
15
- * into one capture.
16
- * - {@link raceForResult} — races a promise against a wait bound without
17
- * cancelling the promise (the loser keeps running in the background).
18
- */
2
+ * Pure, side-effect-free coalescing / stale-while-revalidate / bounded-pool
3
+ * primitives for the snapshot wrapper.
4
+ *
5
+ * These are extracted from `SnapshotAddon` so the decision logic is unit-testable
6
+ * without instantiating the addon (no camera, no ffmpeg, no tRPC). The addon wires
7
+ * them to its cache + ladder; this module owns only the mechanics:
8
+ *
9
+ * - {@link decideSnapshotServe} — the pure serve/refresh decision (fresh cache vs
10
+ * stale-while-revalidate vs cold blocking capture) keyed off the cached frame
11
+ * age, the per-device max-age, and whether the caller forced a refresh.
12
+ * - {@link Semaphore} — a counting semaphore bounding concurrent grabs.
13
+ * - {@link SingleFlight} — de-dupes concurrent captures for the same key and
14
+ * retains a SETTLED success for a short hold window so a mount burst collapses
15
+ * into one capture.
16
+ * - {@link raceForResult} — races a promise against a wait bound without
17
+ * cancelling the promise (the loser keeps running in the background).
18
+ */
19
19
  /**
20
- * Retain a SETTLED single-flight capture this long so a grid-mount burst of
21
- * `getSnapshot` calls (and a row of refresh buttons) collapses into ONE capture
22
- * instead of one dial per tile. Only success outcomes are held — a null/failed
23
- * capture expires immediately so a transiently-unreachable camera is retried on
24
- * the next call rather than pinned blank for the window.
25
- */
26
- export declare const COALESCE_MS = 4000;
20
+ * Retain a SETTLED single-flight capture this long so a grid-mount burst of
21
+ * `getSnapshot` calls (and a row of refresh buttons) collapses into ONE capture
22
+ * instead of one dial per tile. Only success outcomes are held — a null/failed
23
+ * capture expires immediately so a transiently-unreachable camera is retried on
24
+ * the next call rather than pinned blank for the window.
25
+ */
26
+ export declare const COALESCE_MS = 4e3;
27
27
  /**
28
- * Stale-while-revalidate: when a cached frame exists but is past its max-age,
29
- * start the refresh and wait at most this long for it to land before returning
30
- * the STALE frame (the refresh keeps running and populates the cache for the
31
- * next poll). Keeps a grid mount painting instantly from cache.
32
- */
28
+ * Stale-while-revalidate: when a cached frame exists but is past its max-age,
29
+ * start the refresh and wait at most this long for it to land before returning
30
+ * the STALE frame (the refresh keeps running and populates the cache for the
31
+ * next poll). Keeps a grid mount painting instantly from cache.
32
+ */
33
33
  export declare const SWR_STALE_WAIT_MS = 2500;
34
34
  /**
35
- * Cold path (no cached frame) or a forced refresh: wait up to this long for a
36
- * fresh capture. On a cold miss there is nothing to fall back to, so we block
37
- * (bounded) on the capture; on a forced refresh with a stale frame available we
38
- * still prefer a fresh one but cap the wait, falling back to stale on timeout.
39
- */
40
- export declare const SWR_COLD_WAIT_MS = 10000;
35
+ * Cold path (no cached frame) or a forced refresh: wait up to this long for a
36
+ * fresh capture. On a cold miss there is nothing to fall back to, so we block
37
+ * (bounded) on the capture; on a forced refresh with a stale frame available we
38
+ * still prefer a fresh one but cap the wait, falling back to stale on timeout.
39
+ */
40
+ export declare const SWR_COLD_WAIT_MS = 1e4;
41
41
  /**
42
- * Max simultaneous ffmpeg keyframe grabs — the WRAPPER path, the common case for
43
- * cameras with no vendor snapshot URL. A 20-cam grid mount spawns at most this
44
- * many ffmpeg processes; the rest serve cached frames (SWR) or queue.
45
- *
46
- * Raised 3 → 6 on 2026-08-12 (operator): a 17-camera cold start serialised
47
- * into 6 waves and the client-side "image displayed" clustering matched the
48
- * pool exactly (p90 10.8 s). Measured client-side after the raise — if the
49
- * hub shows decode pressure, this is the first knob to lower.
50
- */
42
+ * Max simultaneous ffmpeg keyframe grabs — the WRAPPER path, the common case for
43
+ * cameras with no vendor snapshot URL. A 20-cam grid mount spawns at most this
44
+ * many ffmpeg processes; the rest serve cached frames (SWR) or queue.
45
+ *
46
+ * Raised 3 → 6 on 2026-08-12 (operator): a 17-camera cold start serialised
47
+ * into 6 waves and the client-side "image displayed" clustering matched the
48
+ * pool exactly (p90 10.8 s). Measured client-side after the raise — if the
49
+ * hub shows decode pressure, this is the first knob to lower.
50
+ */
51
51
  export declare const MAX_CONCURRENT_GRABS = 6;
52
52
  /**
53
- * Max simultaneous cheap native snapshot fetches (vendor HTTP/ONVIF). Higher than
54
- * the ffmpeg bound because a native fetch is a lightweight HTTP round-trip, not a
55
- * decode pipeline.
56
- */
53
+ * Max simultaneous cheap native snapshot fetches (vendor HTTP/ONVIF). Higher than
54
+ * the ffmpeg bound because a native fetch is a lightweight HTTP round-trip, not a
55
+ * decode pipeline.
56
+ */
57
57
  export declare const MAX_CONCURRENT_NATIVE = 6;
58
58
  /**
59
- * Serve either the fresh cache directly, or start/join a refresh and wait a
60
- * bounded time. `await-refresh` always runs (or joins) the single flight;
61
- * `waitMs` bounds how long the caller waits before, when `staleFallback` is set
62
- * and a cached frame exists, returning the stale frame while the refresh
63
- * continues in the background.
64
- */
59
+ * Serve either the fresh cache directly, or start/join a refresh and wait a
60
+ * bounded time. `await-refresh` always runs (or joins) the single flight;
61
+ * `waitMs` bounds how long the caller waits before, when `staleFallback` is set
62
+ * and a cached frame exists, returning the stale frame while the refresh
63
+ * continues in the background.
64
+ */
65
65
  export type SnapshotServeDecision = {
66
- readonly kind: 'serve-cache';
66
+ readonly kind: "serve-cache";
67
67
  } | {
68
- readonly kind: 'await-refresh';
69
- readonly waitMs: number;
70
- readonly staleFallback: boolean;
68
+ readonly kind: "await-refresh";
69
+ readonly waitMs: number;
70
+ readonly staleFallback: boolean;
71
71
  };
72
72
  export interface SnapshotServeInputs {
73
- readonly now: number;
74
- /** Epoch ms of the cached frame, or null when nothing is cached. */
75
- readonly cachedAt: number | null;
76
- /** Effective per-device max cache age in ms (battery-aware default or override). */
77
- readonly effectiveMaxAgeMs: number;
78
- /** Caller forced a refresh (UI refresh button) — bypass the freshness gate. */
79
- readonly force: boolean;
73
+ readonly now: number;
74
+ /** Epoch ms of the cached frame, or null when nothing is cached. */
75
+ readonly cachedAt: number | null;
76
+ /** Effective per-device max cache age in ms (battery-aware default or override). */
77
+ readonly effectiveMaxAgeMs: number;
78
+ /** Caller forced a refresh (UI refresh button) — bypass the freshness gate. */
79
+ readonly force: boolean;
80
80
  }
81
81
  /**
82
- * Pure serve/refresh decision.
83
- *
84
- * - fresh cache + !force -> serve-cache
85
- * - stale cache + !force -> SWR: wait SWR_STALE_WAIT_MS, then stale
86
- * - no cache + !force -> cold: wait SWR_COLD_WAIT_MS, no fallback
87
- * - force (cache present or not) -> prefer fresh: wait SWR_COLD_WAIT_MS,
88
- * fall back to stale only if a frame exists
89
- */
82
+ * Pure serve/refresh decision.
83
+ *
84
+ * - fresh cache + !force -> serve-cache
85
+ * - stale cache + !force -> SWR: wait SWR_STALE_WAIT_MS, then stale
86
+ * - no cache + !force -> cold: wait SWR_COLD_WAIT_MS, no fallback
87
+ * - force (cache present or not) -> prefer fresh: wait SWR_COLD_WAIT_MS,
88
+ * fall back to stale only if a frame exists
89
+ */
90
90
  export declare function decideSnapshotServe(input: SnapshotServeInputs): SnapshotServeDecision;
91
91
  /**
92
- * A counting semaphore. `run` acquires a permit, awaits `fn`, and releases the
93
- * permit (even if `fn` throws), so at most `max` `fn`s run concurrently. Waiters
94
- * are served FIFO.
95
- */
92
+ * A counting semaphore. `run` acquires a permit, awaits `fn`, and releases the
93
+ * permit (even if `fn` throws), so at most `max` `fn`s run concurrently. Waiters
94
+ * are served FIFO.
95
+ */
96
96
  export declare class Semaphore {
97
- private available;
98
- private readonly waiters;
99
- constructor(max: number);
100
- run<T>(fn: () => Promise<T>): Promise<T>;
101
- private acquire;
102
- private makeReleaser;
97
+ private available;
98
+ private readonly waiters;
99
+ constructor(max: number);
100
+ run<T>(fn: () => Promise<T>): Promise<T>;
101
+ private acquire;
102
+ private makeReleaser;
103
103
  }
104
104
  export declare class SingleFlight<T> {
105
- private readonly holdMs;
106
- private readonly holdWorthy;
107
- private readonly now;
108
- private readonly flights;
109
- /**
110
- * @param holdMs how long a settled hold-worthy result is reused
111
- * @param holdWorthy predicate deciding whether a settled value is worth holding
112
- * (e.g. a successful capture with a real frame)
113
- * @param now clock injection for tests
114
- */
115
- constructor(holdMs: number, holdWorthy: (value: T) => boolean, now?: () => number);
116
- run(key: string, factory: () => Promise<T>): Promise<T>;
117
- /** Drop every held flight whose key starts with `prefix` (e.g. `"<deviceId>:"`). */
118
- invalidatePrefix(prefix: string): void;
119
- clear(): void;
120
- private isReusable;
105
+ private readonly holdMs;
106
+ private readonly holdWorthy;
107
+ private readonly now;
108
+ private readonly flights;
109
+ /**
110
+ * @param holdMs how long a settled hold-worthy result is reused
111
+ * @param holdWorthy predicate deciding whether a settled value is worth holding
112
+ * (e.g. a successful capture with a real frame)
113
+ * @param now clock injection for tests
114
+ */
115
+ constructor(holdMs: number, holdWorthy: (value: T) => boolean, now?: () => number);
116
+ run(key: string, factory: () => Promise<T>): Promise<T>;
117
+ /** Drop every held flight whose key starts with `prefix` (e.g. `"<deviceId>:"`). */
118
+ invalidatePrefix(prefix: string): void;
119
+ clear(): void;
120
+ private isReusable;
121
121
  }
122
122
  export type RaceOutcome<T> = {
123
- readonly settled: true;
124
- readonly value: T;
123
+ readonly settled: true;
124
+ readonly value: T;
125
125
  } | {
126
- readonly settled: false;
126
+ readonly settled: false;
127
127
  };
128
128
  /**
129
- * Race `promise` against a `timeoutMs` bound WITHOUT cancelling it — on timeout
130
- * the promise keeps running (its result lands in the cache for the next poll).
131
- * Rejections propagate: if `promise` rejects before the timeout, this rejects.
132
- * The caller passes a promise that never rejects (a settled outcome union) when
133
- * background continuation must stay unhandled-safe.
134
- */
129
+ * Race `promise` against a `timeoutMs` bound WITHOUT cancelling it — on timeout
130
+ * the promise keeps running (its result lands in the cache for the next poll).
131
+ * Rejections propagate: if `promise` rejects before the timeout, this rejects.
132
+ * The caller passes a promise that never rejects (a settled outcome union) when
133
+ * background continuation must stay unhandled-safe.
134
+ */
135
135
  export declare function raceForResult<T>(promise: Promise<T>, timeoutMs: number): Promise<RaceOutcome<T>>;
@@ -1,68 +1,68 @@
1
1
  /**
2
- * Why a camera cannot produce a frame right now.
3
- *
4
- * `sleeping` and `unreachable` are deliberately two reasons and not one. A
5
- * battery camera in low-power mode is WORKING — that tile must not read as a
6
- * fault, which is D62's rule in the third state — while a battery camera
7
- * nothing has been heard from for hours is a genuine fault the operator has to
8
- * see (a flat battery, or a camera off the LAN). Painting the second as the
9
- * first is how a dead camera stayed green for 30 hours. The two are separated
10
- * by `deriveBatteryPresence`, never by a caller's own guess.
11
- */
12
- export type CourtesyReason = 'disabled' | 'offline' | 'sleeping' | 'unreachable' | 'waking';
2
+ * Why a camera cannot produce a frame right now.
3
+ *
4
+ * `sleeping` and `unreachable` are deliberately two reasons and not one. A
5
+ * battery camera in low-power mode is WORKING — that tile must not read as a
6
+ * fault, which is D62's rule in the third state — while a battery camera
7
+ * nothing has been heard from for hours is a genuine fault the operator has to
8
+ * see (a flat battery, or a camera off the LAN). Painting the second as the
9
+ * first is how a dead camera stayed green for 30 hours. The two are separated
10
+ * by `deriveBatteryPresence`, never by a caller's own guess.
11
+ */
12
+ export type CourtesyReason = "disabled" | "offline" | "sleeping" | "unreachable" | "waking";
13
13
  /** Default tile size when the caller asks for no particular width. */
14
14
  export declare const COURTESY_DEFAULT_WIDTH = 640;
15
15
  /** The word the frame carries. Deliberately the operator's vocabulary. */
16
16
  export declare function courtesyLabel(reason: CourtesyReason): string;
17
17
  /**
18
- * Background per reason. A disabled camera is a DELIBERATE state and must not
19
- * read as an alarm, so it is neutral grey; offline is a fault and is warmer.
20
- */
18
+ * Background per reason. A disabled camera is a DELIBERATE state and must not
19
+ * read as an alarm, so it is neutral grey; offline is a fault and is warmer.
20
+ */
21
21
  export declare function courtesyBackground(reason: CourtesyReason): string;
22
22
  /** XML escaping for text placed inside an SVG `<text>` node. */
23
23
  export declare function escapeCourtesyText(value: string): string;
24
24
  export interface CourtesyFrameSpec {
25
- readonly deviceName: string;
26
- readonly reason: CourtesyReason;
27
- readonly width: number;
28
- readonly height: number;
25
+ readonly deviceName: string;
26
+ readonly reason: CourtesyReason;
27
+ readonly width: number;
28
+ readonly height: number;
29
29
  }
30
30
  /**
31
- * The SVG the frame is rasterized from: the state large and centred, the
32
- * camera's name under it, smaller and dimmer.
33
- *
34
- * Sizes derive from the width so a 240 px grid tile and a 1920 px full-bleed
35
- * frame read the same, with a floor so a thumbnail stays legible.
36
- */
31
+ * The SVG the frame is rasterized from: the state large and centred, the
32
+ * camera's name under it, smaller and dimmer.
33
+ *
34
+ * Sizes derive from the width so a 240 px grid tile and a 1920 px full-bleed
35
+ * frame read the same, with a floor so a thumbnail stays legible.
36
+ */
37
37
  export declare function buildCourtesySvg(spec: CourtesyFrameSpec): string;
38
38
  /**
39
- * The state treatment for a frame that HAS a picture under it: a band along the
40
- * bottom, and nothing else touched.
41
- *
42
- * It was a full-frame wash at 0.62 opacity, under a docblock claiming the frame
43
- * "remains visible underneath". A 38 % view of a dark room is not a view of it,
44
- * and the operator read the result as a placeholder rather than as their own
45
- * camera: *"ma perché Waking? Dovremmo mostrare l'ultimo snapshot
46
- * disponibile"* [but why Waking? We should show the last available snapshot] (Baby monitor, 2026-09-16).
47
- *
48
- * The marker still has to earn its place — a stale frame shown clean gets
49
- * mistaken for live, which is the reason the treatment exists at all. A band
50
- * says the same thing a wash said. Covering the picture was never the message.
51
- */
39
+ * The state treatment for a frame that HAS a picture under it: a band along the
40
+ * bottom, and nothing else touched.
41
+ *
42
+ * It was a full-frame wash at 0.62 opacity, under a docblock claiming the frame
43
+ * "remains visible underneath". A 38 % view of a dark room is not a view of it,
44
+ * and the operator read the result as a placeholder rather than as their own
45
+ * camera: *"ma perché Waking? Dovremmo mostrare l'ultimo snapshot
46
+ * disponibile"* [but why Waking? We should show the last available snapshot] (Baby monitor, 2026-09-16).
47
+ *
48
+ * The marker still has to earn its place — a stale frame shown clean gets
49
+ * mistaken for live, which is the reason the treatment exists at all. A band
50
+ * says the same thing a wash said. Covering the picture was never the message.
51
+ */
52
52
  export declare function buildCourtesyOverlaySvg(spec: CourtesyFrameSpec): string;
53
53
  /** Cache key — a courtesy frame is a pure function of these four. */
54
54
  export declare function courtesyCacheKey(spec: CourtesyFrameSpec): string;
55
55
  /**
56
- * Render the frame.
57
- *
58
- * Rejects on failure — the caller decides what to do, exactly as `resizeJpeg`
59
- * does, so a broken courtesy path is never mistaken for a broken camera.
60
- */
56
+ * Render the frame.
57
+ *
58
+ * Rejects on failure — the caller decides what to do, exactly as `resizeJpeg`
59
+ * does, so a broken courtesy path is never mistaken for a broken camera.
60
+ */
61
61
  export declare function renderCourtesyJpeg(spec: CourtesyFrameSpec): Promise<Buffer>;
62
62
  /**
63
- * Paint the state treatment over a real cached frame.
64
- *
65
- * The source dimensions are authoritative: overlays preserve the original
66
- * frame rather than resizing it to the generated courtesy-frame default.
67
- */
68
- export declare function renderCourtesyOverlayJpeg(background: Buffer, spec: Pick<CourtesyFrameSpec, 'deviceName' | 'reason'>): Promise<Buffer>;
63
+ * Paint the state treatment over a real cached frame.
64
+ *
65
+ * The source dimensions are authoritative: overlays preserve the original
66
+ * frame rather than resizing it to the generated courtesy-frame default.
67
+ */
68
+ export declare function renderCourtesyOverlayJpeg(background: Buffer, spec: Pick<CourtesyFrameSpec, "deviceName" | "reason">): Promise<Buffer>;
@@ -1,36 +1,36 @@
1
- import { IScopedLogger } from '@camstack/types';
1
+ import type { IScopedLogger } from "@camstack/types";
2
2
  export interface SnapshotDurableStoreOptions {
3
- /** `ctx.dataDir` — the addon's exclusive directory. */
4
- readonly dataDir: string;
5
- readonly minIntervalMs?: number;
6
- /** Injectable for tests; `Date.now` otherwise. */
7
- readonly now?: () => number;
8
- /** Where a refused write is reported. Absent only in unit tests. */
9
- readonly logger?: IScopedLogger;
3
+ /** `ctx.dataDir` — the addon's exclusive directory. */
4
+ readonly dataDir: string;
5
+ readonly minIntervalMs?: number;
6
+ /** Injectable for tests; `Date.now` otherwise. */
7
+ readonly now?: () => number;
8
+ /** Where a refused write is reported. Absent only in unit tests. */
9
+ readonly logger?: IScopedLogger;
10
10
  }
11
11
  export declare class SnapshotDurableStore {
12
- private readonly dir;
13
- private readonly minIntervalMs;
14
- private readonly now;
15
- private readonly logger;
16
- /** Last write per device, so the throttle survives without touching disk. */
17
- private readonly lastWriteMs;
18
- constructor(options: SnapshotDurableStoreOptions);
19
- /** @returns whether the frame was written. `false` is throttled or refused. */
20
- put(deviceId: number, jpeg: Buffer): Promise<boolean>;
21
- /** The frame from a previous process, or `null` — which is a real answer. */
22
- get(deviceId: number): Promise<Buffer | null>;
23
- /**
24
- * The frame WITH the moment it was captured.
25
- *
26
- * The age travels with it because everything downstream decides on age, and
27
- * a frame restored from disk that claims to be new is worse than no frame:
28
- * it would satisfy a freshness gate it has no right to pass. The file's own
29
- * mtime is the honest answer — it is when this frame was written.
30
- */
31
- getDated(deviceId: number): Promise<{
32
- jpeg: Buffer;
33
- capturedAtMs: number;
34
- } | null>;
35
- private pathFor;
12
+ private readonly dir;
13
+ private readonly minIntervalMs;
14
+ private readonly now;
15
+ private readonly logger;
16
+ /** Last write per device, so the throttle survives without touching disk. */
17
+ private readonly lastWriteMs;
18
+ constructor(options: SnapshotDurableStoreOptions);
19
+ /** @returns whether the frame was written. `false` is throttled or refused. */
20
+ put(deviceId: number, jpeg: Buffer): Promise<boolean>;
21
+ /** The frame from a previous process, or `null` — which is a real answer. */
22
+ get(deviceId: number): Promise<Buffer | null>;
23
+ /**
24
+ * The frame WITH the moment it was captured.
25
+ *
26
+ * The age travels with it because everything downstream decides on age, and
27
+ * a frame restored from disk that claims to be new is worse than no frame:
28
+ * it would satisfy a freshness gate it has no right to pass. The file's own
29
+ * mtime is the honest answer — it is when this frame was written.
30
+ */
31
+ getDated(deviceId: number): Promise<{
32
+ jpeg: Buffer;
33
+ capturedAtMs: number;
34
+ } | null>;
35
+ private pathFor;
36
36
  }
@@ -1,41 +1,41 @@
1
1
  /**
2
- * Rest for a camera that could not answer a native snapshot.
3
- *
4
- * The wrapper is polled — grids, cards, the media plane — and every miss used
5
- * to be followed by another ISAPI/CGI dial on the next poll. On a camera that
6
- * is already struggling ("Videocamera retro casa" answered HTTP 503 to 68
7
- * native dials in one hour on 2026-09-05) that is the load that keeps it
8
- * struggling. So a miss earns a rest window during which the native provider
9
- * is NOT dialled: the request falls through to the stream-broker frame grab
10
- * and the stale cache, which cost the camera nothing. The window doubles with
11
- * consecutive misses and is capped; the first frame that lands ends it.
12
- *
13
- * Generic on purpose: every vendor's native provider sits behind this one
14
- * wrapper, so one ledger here covers them all (D62 spirit: one owner).
15
- * `force` bypasses it — an operator's deliberate wake is never held back.
16
- */
2
+ * Rest for a camera that could not answer a native snapshot.
3
+ *
4
+ * The wrapper is polled — grids, cards, the media plane — and every miss used
5
+ * to be followed by another ISAPI/CGI dial on the next poll. On a camera that
6
+ * is already struggling ("Videocamera retro casa" answered HTTP 503 to 68
7
+ * native dials in one hour on 2026-09-05) that is the load that keeps it
8
+ * struggling. So a miss earns a rest window during which the native provider
9
+ * is NOT dialled: the request falls through to the stream-broker frame grab
10
+ * and the stale cache, which cost the camera nothing. The window doubles with
11
+ * consecutive misses and is capped; the first frame that lands ends it.
12
+ *
13
+ * Generic on purpose: every vendor's native provider sits behind this one
14
+ * wrapper, so one ledger here covers them all (D62 spirit: one owner).
15
+ * `force` bypasses it — an operator's deliberate wake is never held back.
16
+ */
17
17
  export interface NativeSnapshotFatigueOptions {
18
- /** Rest after the first miss. */
19
- readonly baseMs?: number;
20
- /** Longest rest a streak can earn. */
21
- readonly maxMs?: number;
18
+ /** Rest after the first miss. */
19
+ readonly baseMs?: number;
20
+ /** Longest rest a streak can earn. */
21
+ readonly maxMs?: number;
22
22
  }
23
23
  export interface FatigueVerdict {
24
- readonly streak: number;
25
- readonly restMs: number;
24
+ readonly streak: number;
25
+ readonly restMs: number;
26
26
  }
27
- export declare const NATIVE_SNAPSHOT_REST_BASE_MS = 10000;
28
- export declare const NATIVE_SNAPSHOT_REST_MAX_MS = 300000;
27
+ export declare const NATIVE_SNAPSHOT_REST_BASE_MS = 1e4;
28
+ export declare const NATIVE_SNAPSHOT_REST_MAX_MS = 3e5;
29
29
  export declare class NativeSnapshotFatigue {
30
- private readonly baseMs;
31
- private readonly maxMs;
32
- private readonly entries;
33
- constructor(options?: NativeSnapshotFatigueOptions);
34
- /** The instant the rest ends, or `null` when the camera may be dialled now. */
35
- restingUntil(deviceId: number, now: number): number | null;
36
- /** A dial that did not produce a frame — thrown or answered `null`. */
37
- recordFailure(deviceId: number, now: number): FatigueVerdict;
38
- /** A frame landed: the camera is answering again. */
39
- recordSuccess(deviceId: number): void;
40
- forget(deviceId: number): void;
30
+ private readonly baseMs;
31
+ private readonly maxMs;
32
+ private readonly entries;
33
+ constructor(options?: NativeSnapshotFatigueOptions);
34
+ /** The instant the rest ends, or `null` when the camera may be dialled now. */
35
+ restingUntil(deviceId: number, now: number): number | null;
36
+ /** A dial that did not produce a frame — thrown or answered `null`. */
37
+ recordFailure(deviceId: number, now: number): FatigueVerdict;
38
+ /** A frame landed: the camera is answering again. */
39
+ recordSuccess(deviceId: number): void;
40
+ forget(deviceId: number): void;
41
41
  }
@@ -1,20 +1,20 @@
1
1
  /**
2
- * Which restream ffmpeg should grab a snapshot JPEG from.
3
- *
4
- * `status: 'streaming'` is not enough. A derived whose source profile is
5
- * unassigned sits in that state with zero packets (618, 2026-08-16: `derived:Mid
6
- * to low` had four subscribers and never a frame). Preferring it as "warm"
7
- * parked every grab on a 15 s ffmpeg timeout, so the connecting poster never
8
- * moved.
9
- *
10
- * Derived brokers are never the warm shortcut. A native that is actually
11
- * streaming still wins; otherwise the caller walks the ranked list and will
12
- * wake an idle source.
13
- */
2
+ * Which restream ffmpeg should grab a snapshot JPEG from.
3
+ *
4
+ * `status: 'streaming'` is not enough. A derived whose source profile is
5
+ * unassigned sits in that state with zero packets (618, 2026-08-16: `derived:Mid
6
+ * to low` had four subscribers and never a frame). Preferring it as "warm"
7
+ * parked every grab on a 15 s ffmpeg timeout, so the connecting poster never
8
+ * moved.
9
+ *
10
+ * Derived brokers are never the warm shortcut. A native that is actually
11
+ * streaming still wins; otherwise the caller walks the ranked list and will
12
+ * wake an idle source.
13
+ */
14
14
  export declare function isDerivedBrokerId(brokerId: string, devicePrefix: string): boolean;
15
15
  export interface SnapshotGrabCandidate {
16
- readonly brokerId: string;
17
- readonly status: string;
16
+ readonly brokerId: string;
17
+ readonly status: string;
18
18
  }
19
19
  /** Highest-quality currently-streaming NON-derived broker, or undefined. */
20
20
  export declare function pickWarmSnapshotBroker(ranked: readonly SnapshotGrabCandidate[], devicePrefix: string): SnapshotGrabCandidate | undefined;