@camstack/system 1.2.390 → 1.2.392

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (575) hide show
  1. package/dist/addon/addon-api-factory.d.ts +30 -30
  2. package/dist/addon-routes/addon-route-registry.d.ts +31 -31
  3. package/dist/addon-runner.js +1 -1
  4. package/dist/addon-runner.mjs +1 -1
  5. package/dist/addon-utils.d.ts +22 -22
  6. package/dist/addon-utils.js +1 -1
  7. package/dist/addon-utils.mjs +1 -1
  8. package/dist/amd-accelerators-CEuPFBBK.js +36 -0
  9. package/dist/amd-accelerators-U_RsoEDd.mjs +35 -0
  10. package/dist/amd-npu-B-QyyMyF.js +53 -0
  11. package/dist/amd-npu-Db_SoSuL.mjs +52 -0
  12. package/dist/auth/admin-token-manager.d.ts +37 -67
  13. package/dist/auth/api-key-manager.d.ts +8 -8
  14. package/dist/auth/auth-audit-log.d.ts +29 -49
  15. package/dist/auth/auth-manager.d.ts +127 -126
  16. package/dist/auth/cidr.d.ts +8 -8
  17. package/dist/auth/external-identity-manager.d.ts +46 -34
  18. package/dist/auth/jwt-signing-key.d.ts +14 -14
  19. package/dist/auth/login-session-manager.d.ts +95 -135
  20. package/dist/auth/parse-record.d.ts +13 -13
  21. package/dist/auth/scope-matcher.d.ts +7 -7
  22. package/dist/auth/scoped-token-manager.d.ts +62 -62
  23. package/dist/auth/token-expiry.d.ts +49 -26
  24. package/dist/auth/totp-manager.d.ts +48 -48
  25. package/dist/auth/user-management-internal.d.ts +67 -52
  26. package/dist/auth/user-manager.d.ts +58 -58
  27. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.d.ts +54 -54
  28. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
  29. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
  30. package/dist/builtins/addon-pages-aggregator/dedupe-pages.d.ts +22 -4
  31. package/dist/builtins/addon-pages-aggregator/index.d.ts +1 -1
  32. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.d.ts +54 -54
  33. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
  34. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
  35. package/dist/builtins/addon-widgets-aggregator/index.d.ts +1 -1
  36. package/dist/builtins/alerts/alerts.addon.d.ts +88 -87
  37. package/dist/builtins/alerts/alerts.addon.js +1 -1
  38. package/dist/builtins/alerts/alerts.addon.mjs +1 -1
  39. package/dist/builtins/alerts/device-label.d.ts +6 -6
  40. package/dist/builtins/alerts/index.d.ts +1 -1
  41. package/dist/builtins/alerts/prune-policy.d.ts +36 -36
  42. package/dist/builtins/autotrack/autotrack-cameras.d.ts +102 -79
  43. package/dist/builtins/autotrack/autotrack-config.d.ts +81 -81
  44. package/dist/builtins/autotrack/autotrack-decision.d.ts +69 -82
  45. package/dist/builtins/autotrack/autotrack-loop.d.ts +81 -61
  46. package/dist/builtins/autotrack/autotrack.addon.d.ts +103 -66
  47. package/dist/builtins/autotrack/frame-error.d.ts +38 -38
  48. package/dist/builtins/autotrack/frame-measurements.d.ts +79 -79
  49. package/dist/builtins/autotrack/index.d.ts +2 -2
  50. package/dist/builtins/autotrack/index.js +1 -1
  51. package/dist/builtins/autotrack/index.mjs +1 -1
  52. package/dist/builtins/autotrack/ptz-mirror.d.ts +46 -17
  53. package/dist/builtins/autotrack/target-selection.d.ts +33 -47
  54. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.d.ts +270 -269
  55. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +2 -2
  56. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +2 -2
  57. package/dist/builtins/backup-orchestrator/cron-helpers.d.ts +17 -17
  58. package/dist/builtins/backup-orchestrator/destination-policy.d.ts +99 -82
  59. package/dist/builtins/backup-orchestrator/download-helpers.d.ts +9 -9
  60. package/dist/builtins/backup-orchestrator/encryption-key-store.d.ts +40 -29
  61. package/dist/builtins/backup-orchestrator/index.d.ts +2 -2
  62. package/dist/builtins/backup-orchestrator/manifest-store.d.ts +88 -69
  63. package/dist/builtins/backup-orchestrator/restore-archive.d.ts +14 -14
  64. package/dist/builtins/backup-orchestrator/run-queue.d.ts +86 -86
  65. package/dist/builtins/backup-orchestrator/schedule-store.d.ts +53 -37
  66. package/dist/builtins/backup-orchestrator/staging-paths.d.ts +23 -23
  67. package/dist/builtins/backup-orchestrator/write-targets.d.ts +53 -53
  68. package/dist/builtins/calendars/calendar-color.d.ts +5 -1
  69. package/dist/builtins/calendars/calendar-prefs-store.d.ts +18 -12
  70. package/dist/builtins/calendars/calendars.addon.d.ts +16 -11
  71. package/dist/builtins/calendars/calendars.addon.js +1 -1
  72. package/dist/builtins/calendars/calendars.addon.mjs +1 -1
  73. package/dist/builtins/calendars/index.d.ts +1 -1
  74. package/dist/builtins/camera-grid/acquire-retry.d.ts +26 -26
  75. package/dist/builtins/camera-grid/addon.d.ts +200 -174
  76. package/dist/builtins/camera-grid/flv-join.d.ts +32 -58
  77. package/dist/builtins/camera-grid/grid-activity-mirror.d.ts +37 -37
  78. package/dist/builtins/camera-grid/grid-activity.d.ts +83 -42
  79. package/dist/builtins/camera-grid/grid-camera-declarations.d.ts +46 -46
  80. package/dist/builtins/camera-grid/grid-camera-device.d.ts +60 -34
  81. package/dist/builtins/camera-grid/grid-canvas-derivation.d.ts +50 -15
  82. package/dist/builtins/camera-grid/grid-canvas-seed.d.ts +96 -46
  83. package/dist/builtins/camera-grid/grid-canvas.d.ts +74 -74
  84. package/dist/builtins/camera-grid/grid-child.d.ts +29 -16
  85. package/dist/builtins/camera-grid/grid-compositor-child.d.ts +2 -2
  86. package/dist/builtins/camera-grid/grid-compositor-invocation.d.ts +39 -11
  87. package/dist/builtins/camera-grid/grid-compositor.d.ts +50 -50
  88. package/dist/builtins/camera-grid/grid-detection-mapping.d.ts +52 -22
  89. package/dist/builtins/camera-grid/grid-device-settings.d.ts +31 -7
  90. package/dist/builtins/camera-grid/grid-filter-graph.d.ts +41 -41
  91. package/dist/builtins/camera-grid/grid-frame-sample.d.ts +45 -19
  92. package/dist/builtins/camera-grid/grid-instances.d.ts +20 -50
  93. package/dist/builtins/camera-grid/grid-last-frame-store.d.ts +51 -51
  94. package/dist/builtins/camera-grid/grid-layout-native-provider.d.ts +30 -4
  95. package/dist/builtins/camera-grid/grid-plan.d.ts +30 -20
  96. package/dist/builtins/camera-grid/grid-profiles.d.ts +85 -45
  97. package/dist/builtins/camera-grid/grid-row-normalization.d.ts +6 -6
  98. package/dist/builtins/camera-grid/grid-sentry-sources.d.ts +57 -57
  99. package/dist/builtins/camera-grid/grid-snapshot.d.ts +41 -41
  100. package/dist/builtins/camera-grid/grid-stream-descriptor.d.ts +49 -21
  101. package/dist/builtins/camera-grid/grid-stream-invocation.d.ts +37 -22
  102. package/dist/builtins/camera-grid/grid-stream-relay.d.ts +26 -26
  103. package/dist/builtins/camera-grid/grid-stream-session.d.ts +123 -93
  104. package/dist/builtins/camera-grid/grid-tile-feed.d.ts +47 -47
  105. package/dist/builtins/camera-grid/grid-tile-plan.d.ts +55 -20
  106. package/dist/builtins/camera-grid/grid-wire-format.d.ts +22 -6
  107. package/dist/builtins/camera-grid/index.d.ts +44 -44
  108. package/dist/builtins/camera-grid/index.js +1 -1
  109. package/dist/builtins/camera-grid/index.mjs +1 -1
  110. package/dist/builtins/camera-grid/silence-analysis.d.ts +31 -14
  111. package/dist/builtins/composer/claim-gate.d.ts +54 -27
  112. package/dist/builtins/composer/composed-device-set.d.ts +40 -26
  113. package/dist/builtins/composer/composed-device.d.ts +39 -17
  114. package/dist/builtins/composer/composer-apply-waits.d.ts +20 -13
  115. package/dist/builtins/composer/composer-grafts.d.ts +57 -38
  116. package/dist/builtins/composer/composer-live-set.d.ts +15 -15
  117. package/dist/builtins/composer/composer-plan.d.ts +76 -60
  118. package/dist/builtins/composer/composer-runtime-factory.d.ts +21 -14
  119. package/dist/builtins/composer/composer-seeds.d.ts +20 -14
  120. package/dist/builtins/composer/composer-verdict.d.ts +28 -14
  121. package/dist/builtins/composer/composer.addon.d.ts +23 -9
  122. package/dist/builtins/composer/composer.addon.js +2 -2
  123. package/dist/builtins/composer/composer.addon.mjs +2 -2
  124. package/dist/builtins/composer/composer.d.ts +145 -100
  125. package/dist/builtins/composer/composition-declarations.d.ts +50 -39
  126. package/dist/builtins/composer/composition-evaluation.d.ts +38 -22
  127. package/dist/builtins/composer/composition-runtime.d.ts +178 -125
  128. package/dist/builtins/composer/composition-target.d.ts +38 -34
  129. package/dist/builtins/composer/confirmed-seed.d.ts +35 -23
  130. package/dist/builtins/composer/deadline-timer.d.ts +13 -13
  131. package/dist/builtins/composer/existing-target.d.ts +90 -73
  132. package/dist/builtins/composer/field-record.d.ts +26 -19
  133. package/dist/builtins/composer/graft-host.d.ts +56 -32
  134. package/dist/builtins/composer/held-claims.d.ts +26 -9
  135. package/dist/builtins/composer/index.d.ts +1 -1
  136. package/dist/builtins/composer/own-field-reads.d.ts +26 -15
  137. package/dist/builtins/composer/owned-fields-target.d.ts +75 -44
  138. package/dist/builtins/composer/slice-assembler.d.ts +19 -3
  139. package/dist/builtins/composer/source-readings.d.ts +67 -61
  140. package/dist/builtins/composer/source-tracker.d.ts +133 -69
  141. package/dist/builtins/console-logging/console-destination.d.ts +15 -8
  142. package/dist/builtins/console-logging/console-logging.addon.d.ts +20 -19
  143. package/dist/builtins/console-logging/index.d.ts +3 -3
  144. package/dist/builtins/console-logging/index.js +1 -1
  145. package/dist/builtins/console-logging/index.mjs +1 -1
  146. package/dist/builtins/core-blocks/block-package.d.ts +37 -37
  147. package/dist/builtins/core-blocks/block-settings-store.d.ts +34 -21
  148. package/dist/builtins/core-blocks/block-supervisor.d.ts +138 -117
  149. package/dist/builtins/core-blocks/block-type-defs.d.ts +21 -21
  150. package/dist/builtins/core-blocks/blocks-integration.d.ts +76 -49
  151. package/dist/builtins/core-blocks/compile-block.d.ts +37 -37
  152. package/dist/builtins/core-blocks/composition-api.d.ts +38 -24
  153. package/dist/builtins/core-blocks/composition-peers.d.ts +26 -4
  154. package/dist/builtins/core-blocks/composition-sources.d.ts +25 -10
  155. package/dist/builtins/core-blocks/core-block-store.d.ts +109 -109
  156. package/dist/builtins/core-blocks/core-blocks.addon.d.ts +72 -72
  157. package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
  158. package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
  159. package/dist/builtins/core-blocks/extract-settings-schema.d.ts +4 -4
  160. package/dist/builtins/core-blocks/index.d.ts +8 -8
  161. package/dist/builtins/device-manager/adoption-job-engine.d.ts +141 -98
  162. package/dist/builtins/device-manager/claimed-status-overlay.d.ts +42 -9
  163. package/dist/builtins/device-manager/contribution-cache.d.ts +56 -56
  164. package/dist/builtins/device-manager/day-night-config-schema.d.ts +26 -12
  165. package/dist/builtins/device-manager/device-aggregation-merge.d.ts +17 -17
  166. package/dist/builtins/device-manager/device-aggregation.d.ts +277 -254
  167. package/dist/builtins/device-manager/device-bindings-store.d.ts +232 -220
  168. package/dist/builtins/device-manager/device-config-contribution.d.ts +29 -29
  169. package/dist/builtins/device-manager/device-config-secrets.d.ts +32 -13
  170. package/dist/builtins/device-manager/device-event-propagator.d.ts +22 -22
  171. package/dist/builtins/device-manager/device-extension-linked-slot.d.ts +17 -17
  172. package/dist/builtins/device-manager/device-form-secrets.d.ts +14 -14
  173. package/dist/builtins/device-manager/device-linked-devices.d.ts +159 -98
  174. package/dist/builtins/device-manager/device-manager.addon.d.ts +223 -197
  175. package/dist/builtins/device-manager/device-manager.addon.js +2 -2
  176. package/dist/builtins/device-manager/device-manager.addon.mjs +2 -2
  177. package/dist/builtins/device-manager/device-meta-actions.d.ts +306 -305
  178. package/dist/builtins/device-manager/device-meta-store.d.ts +100 -90
  179. package/dist/builtins/device-manager/device-meta-types.d.ts +250 -241
  180. package/dist/builtins/device-manager/device-online-fallback.d.ts +30 -30
  181. package/dist/builtins/device-manager/device-projection.d.ts +53 -67
  182. package/dist/builtins/device-manager/device-provider-context.d.ts +109 -94
  183. package/dist/builtins/device-manager/device-queries.d.ts +63 -63
  184. package/dist/builtins/device-manager/device-row-store.d.ts +417 -365
  185. package/dist/builtins/device-manager/device-source-activation.d.ts +91 -49
  186. package/dist/builtins/device-manager/device-state-claim-views.d.ts +76 -61
  187. package/dist/builtins/device-manager/device-state-claims.d.ts +53 -30
  188. package/dist/builtins/device-manager/device-state-mirror.d.ts +256 -264
  189. package/dist/builtins/device-manager/device-sync-resolvers.d.ts +25 -25
  190. package/dist/builtins/device-manager/field-claims-index.d.ts +85 -58
  191. package/dist/builtins/device-manager/field-ownership.d.ts +54 -36
  192. package/dist/builtins/device-manager/fleet-read-census.d.ts +99 -61
  193. package/dist/builtins/device-manager/image-settings-config-schema.d.ts +18 -8
  194. package/dist/builtins/device-manager/index.d.ts +2 -2
  195. package/dist/builtins/device-manager/linked-devices-manual-backfill.d.ts +20 -9
  196. package/dist/builtins/device-manager/location-alignment.d.ts +46 -46
  197. package/dist/builtins/device-manager/migrate-device.d.ts +178 -101
  198. package/dist/builtins/device-manager/migrate-guard.d.ts +66 -34
  199. package/dist/builtins/device-manager/migrate-hardware-state.d.ts +59 -59
  200. package/dist/builtins/device-manager/migrate-reload.d.ts +42 -4
  201. package/dist/builtins/device-manager/migration-refused.d.ts +20 -20
  202. package/dist/builtins/device-manager/mirror-row-writer.d.ts +205 -179
  203. package/dist/builtins/device-manager/recording-onboard-config-schema.d.ts +56 -32
  204. package/dist/builtins/device-manager/removal-fence.d.ts +48 -48
  205. package/dist/builtins/device-manager/runtime-state-persist-gate.d.ts +54 -26
  206. package/dist/builtins/device-manager/secret-config-paths.d.ts +17 -17
  207. package/dist/builtins/device-manager/stale-wrapper-activations.d.ts +52 -25
  208. package/dist/builtins/device-manager/write-lock.d.ts +13 -13
  209. package/dist/builtins/hub-forwarder/hub-forwarder-destination.d.ts +41 -41
  210. package/dist/builtins/hub-forwarder/hub-forwarder.addon.d.ts +13 -12
  211. package/dist/builtins/hub-forwarder/index.d.ts +3 -3
  212. package/dist/builtins/hub-forwarder/index.js +1 -1
  213. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  214. package/dist/builtins/keychain/index.d.ts +1 -1
  215. package/dist/builtins/keychain/index.js +3 -3
  216. package/dist/builtins/keychain/index.mjs +3 -3
  217. package/dist/builtins/keychain/key-sources.d.ts +19 -19
  218. package/dist/builtins/keychain/keychain-crypto.d.ts +4 -4
  219. package/dist/builtins/keychain/keychain-reset-trigger.d.ts +13 -13
  220. package/dist/builtins/keychain/keychain-service.d.ts +128 -128
  221. package/dist/builtins/keychain/keychain-store.d.ts +96 -87
  222. package/dist/builtins/keychain/keychain-usage.d.ts +13 -2
  223. package/dist/builtins/keychain/keychain.addon.d.ts +31 -6
  224. package/dist/builtins/keychain/platform-key-source.d.ts +15 -15
  225. package/dist/builtins/keychain/system-held-secrets.d.ts +17 -4
  226. package/dist/builtins/liveness-monitor/index.d.ts +2 -2
  227. package/dist/builtins/liveness-monitor/liveness-checks.d.ts +73 -52
  228. package/dist/builtins/liveness-monitor/liveness-monitor.addon.d.ts +57 -36
  229. package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
  230. package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
  231. package/dist/builtins/local-auth/admin-account-boot.d.ts +14 -14
  232. package/dist/builtins/local-auth/auth-config-reader.d.ts +34 -17
  233. package/dist/builtins/local-auth/auth-schema.d.ts +92 -69
  234. package/dist/builtins/local-auth/index.d.ts +1 -1
  235. package/dist/builtins/local-auth/jwt-signing-key-keeper.d.ts +22 -22
  236. package/dist/builtins/local-auth/local-auth.addon.d.ts +41 -40
  237. package/dist/builtins/local-auth/local-auth.addon.js +2 -2
  238. package/dist/builtins/local-auth/local-auth.addon.mjs +2 -2
  239. package/dist/builtins/local-auth/oauth-grants.d.ts +57 -57
  240. package/dist/builtins/local-auth/oauth-session-manager.d.ts +62 -62
  241. package/dist/builtins/local-network/address-book.d.ts +61 -36
  242. package/dist/builtins/local-network/index.d.ts +2 -2
  243. package/dist/builtins/local-network/ipv6-lan.d.ts +12 -17
  244. package/dist/builtins/local-network/local-hostname.d.ts +10 -10
  245. package/dist/builtins/local-network/local-network.addon.d.ts +259 -258
  246. package/dist/builtins/local-network/local-network.addon.js +1 -1
  247. package/dist/builtins/local-network/local-network.addon.mjs +1 -1
  248. package/dist/builtins/loki-logging/index.d.ts +4 -4
  249. package/dist/builtins/loki-logging/index.js +1 -1
  250. package/dist/builtins/loki-logging/index.mjs +1 -1
  251. package/dist/builtins/loki-logging/loki-destination.d.ts +113 -87
  252. package/dist/builtins/loki-logging/loki-logging.addon.d.ts +61 -42
  253. package/dist/builtins/loki-logging/loki-payload.d.ts +82 -39
  254. package/dist/builtins/loki-logging/retire-enabled-flag.d.ts +37 -12
  255. package/dist/builtins/native-metrics/cgroup-memory.d.ts +206 -159
  256. package/dist/builtins/native-metrics/cgroup-pids.d.ts +138 -91
  257. package/dist/builtins/native-metrics/container-memory-series.d.ts +212 -178
  258. package/dist/builtins/native-metrics/gpu-probe.d.ts +9 -9
  259. package/dist/builtins/native-metrics/index.d.ts +2 -2
  260. package/dist/builtins/native-metrics/load-series-config.d.ts +29 -57
  261. package/dist/builtins/native-metrics/load-series-reader.d.ts +52 -26
  262. package/dist/builtins/native-metrics/load-series-store.d.ts +237 -176
  263. package/dist/builtins/native-metrics/native-metrics-provider.d.ts +43 -43
  264. package/dist/builtins/native-metrics/native-metrics.addon.d.ts +230 -230
  265. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  266. package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
  267. package/dist/builtins/native-metrics/node-load-ring.d.ts +196 -196
  268. package/dist/builtins/native-metrics/proc-process-table.d.ts +12 -12
  269. package/dist/builtins/native-metrics/process-classification.d.ts +95 -36
  270. package/dist/builtins/native-metrics/thread-cpu-sampler.d.ts +95 -95
  271. package/dist/builtins/platform-probe/amd-accelerators.d.ts +15 -0
  272. package/dist/builtins/platform-probe/amd-npu.d.ts +29 -0
  273. package/dist/builtins/platform-probe/coral-accelerators.d.ts +17 -17
  274. package/dist/builtins/platform-probe/index.d.ts +38 -30
  275. package/dist/builtins/platform-probe/index.js +59 -22
  276. package/dist/builtins/platform-probe/index.mjs +59 -22
  277. package/dist/builtins/platform-probe/inference-config-resolver.d.ts +27 -27
  278. package/dist/builtins/platform-probe/intel-accelerators.d.ts +8 -8
  279. package/dist/builtins/platform-probe/intel-npu.d.ts +30 -30
  280. package/dist/builtins/platform-probe/platform-scorer.d.ts +35 -35
  281. package/dist/builtins/platform-probe/runtime-packages.d.ts +3 -3
  282. package/dist/builtins/remote-access-orchestrator/enabled-providers-reconcile.d.ts +87 -87
  283. package/dist/builtins/remote-access-orchestrator/index.d.ts +1 -1
  284. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.d.ts +66 -35
  285. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  286. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  287. package/dist/builtins/shared/device-state-changed.d.ts +9 -9
  288. package/dist/builtins/shared/settle-sources.d.ts +16 -16
  289. package/dist/builtins/snapshot/index.d.ts +2 -2
  290. package/dist/builtins/snapshot/index.js +1 -1
  291. package/dist/builtins/snapshot/index.mjs +1 -1
  292. package/dist/builtins/snapshot/snapshot-cache.d.ts +92 -92
  293. package/dist/builtins/snapshot/snapshot-coalescing.d.ts +108 -108
  294. package/dist/builtins/snapshot/snapshot-courtesy.d.ts +48 -48
  295. package/dist/builtins/snapshot/snapshot-durable-store.d.ts +32 -32
  296. package/dist/builtins/snapshot/snapshot-fatigue.d.ts +34 -34
  297. package/dist/builtins/snapshot/snapshot-grab-pick.d.ts +14 -14
  298. package/dist/builtins/snapshot/snapshot-link-url.d.ts +49 -49
  299. package/dist/builtins/snapshot/snapshot-media-handler.d.ts +97 -97
  300. package/dist/builtins/snapshot/snapshot-resize.d.ts +64 -103
  301. package/dist/builtins/snapshot/snapshot.addon.d.ts +569 -568
  302. package/dist/builtins/sqlite-storage/analyze-stats.d.ts +73 -29
  303. package/dist/builtins/sqlite-storage/config-store.d.ts +6 -6
  304. package/dist/builtins/sqlite-storage/device-store.d.ts +16 -16
  305. package/dist/builtins/sqlite-storage/filesystem-browse-provider.d.ts +23 -23
  306. package/dist/builtins/sqlite-storage/filesystem-storage-provider.d.ts +79 -79
  307. package/dist/builtins/sqlite-storage/filesystem-storage.addon.d.ts +27 -26
  308. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  309. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  310. package/dist/builtins/sqlite-storage/filter-compiler.d.ts +107 -107
  311. package/dist/builtins/sqlite-storage/index.d.ts +12 -12
  312. package/dist/builtins/sqlite-storage/integration-registry.d.ts +37 -37
  313. package/dist/builtins/sqlite-storage/path-guard.d.ts +5 -5
  314. package/dist/builtins/sqlite-storage/prefix-range.d.ts +44 -44
  315. package/dist/builtins/sqlite-storage/query-bounds.d.ts +100 -106
  316. package/dist/builtins/sqlite-storage/query-profiler.d.ts +217 -217
  317. package/dist/builtins/sqlite-storage/retired-collections.d.ts +124 -55
  318. package/dist/builtins/sqlite-storage/retired-settings-keys.d.ts +239 -189
  319. package/dist/builtins/sqlite-storage/shm-lock-canary.d.ts +41 -41
  320. package/dist/builtins/sqlite-storage/sqlite-pragmas.d.ts +162 -162
  321. package/dist/builtins/sqlite-storage/sqlite-settings-backend.d.ts +458 -458
  322. package/dist/builtins/sqlite-storage/sqlite-settings.addon.d.ts +59 -58
  323. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +0 -0
  324. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +0 -0
  325. package/dist/builtins/sqlite-storage/sqlite-snapshot-protocol.d.ts +37 -32
  326. package/dist/builtins/sqlite-storage/sqlite-snapshot-worker.d.ts +19 -19
  327. package/dist/builtins/sqlite-storage/sqlite-snapshotter.d.ts +76 -76
  328. package/dist/builtins/sqlite-storage/statement-shape.d.ts +54 -54
  329. package/dist/builtins/sqlite-storage/table-sizes.d.ts +71 -71
  330. package/dist/builtins/sqlite-storage/vector-index-shared.d.ts +63 -54
  331. package/dist/builtins/sqlite-storage/vector-index-vec.d.ts +133 -96
  332. package/dist/builtins/sqlite-storage/wal-checkpoint-policy.d.ts +161 -161
  333. package/dist/builtins/sqlite-storage/wal-checkpointer.d.ts +60 -60
  334. package/dist/builtins/sqlite-storage/wal-maintenance.d.ts +94 -94
  335. package/dist/builtins/storage-orchestrator/access-guards.d.ts +37 -26
  336. package/dist/builtins/storage-orchestrator/data-store-dispatch.d.ts +33 -18
  337. package/dist/builtins/storage-orchestrator/drain-ratchet.d.ts +85 -85
  338. package/dist/builtins/storage-orchestrator/drain-state-store.d.ts +20 -10
  339. package/dist/builtins/storage-orchestrator/hub-settings-forward.d.ts +113 -53
  340. package/dist/builtins/storage-orchestrator/index.d.ts +7 -7
  341. package/dist/builtins/storage-orchestrator/location-occupancy-slice.d.ts +64 -40
  342. package/dist/builtins/storage-orchestrator/location-occupancy.d.ts +14 -14
  343. package/dist/builtins/storage-orchestrator/location-protection.d.ts +13 -13
  344. package/dist/builtins/storage-orchestrator/location-repoint-move.d.ts +44 -44
  345. package/dist/builtins/storage-orchestrator/location-root-collision.d.ts +61 -25
  346. package/dist/builtins/storage-orchestrator/location-secrets.d.ts +99 -58
  347. package/dist/builtins/storage-orchestrator/location-store.d.ts +56 -47
  348. package/dist/builtins/storage-orchestrator/location-volume-capacity.d.ts +37 -37
  349. package/dist/builtins/storage-orchestrator/provider-discovery.d.ts +20 -6
  350. package/dist/builtins/storage-orchestrator/storage-cleanup-coordinator.d.ts +51 -51
  351. package/dist/builtins/storage-orchestrator/storage-migration-coordinator.d.ts +224 -224
  352. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.d.ts +292 -292
  353. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
  354. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  355. package/dist/builtins/storage-orchestrator/storage-orchestrator.service.d.ts +431 -450
  356. package/dist/builtins/storage-orchestrator/storage-pressure-manager.d.ts +104 -104
  357. package/dist/builtins/system-backup/backup-encryption.d.ts +60 -23
  358. package/dist/builtins/system-backup/system-backup.service.d.ts +240 -240
  359. package/dist/builtins/system-config/cluster-secret-keeper.d.ts +54 -34
  360. package/dist/builtins/system-config/index.d.ts +2 -2
  361. package/dist/builtins/system-config/mesh-actions.d.ts +2 -30
  362. package/dist/builtins/system-config/system-config.addon.d.ts +57 -100
  363. package/dist/builtins/system-config/system-config.addon.js +39 -35
  364. package/dist/builtins/system-config/system-config.addon.mjs +320 -316
  365. package/dist/builtins/winston-logging/index.d.ts +3 -3
  366. package/dist/builtins/winston-logging/index.js +1 -1
  367. package/dist/builtins/winston-logging/index.mjs +1 -1
  368. package/dist/builtins/winston-logging/winston-destination.d.ts +15 -15
  369. package/dist/builtins/winston-logging/winston-logging.addon.d.ts +14 -13
  370. package/dist/{child-cap-dispatch-nURMuVTX.js → child-cap-dispatch-Nx-lrlHR.js} +19 -1
  371. package/dist/{child-cap-dispatch-B1gyE35b.mjs → child-cap-dispatch-x-onDDiV.mjs} +2 -2
  372. package/dist/{composition-sources-wdAxs-uY.js → composition-sources-LUJsW0AQ.js} +1 -1
  373. package/dist/{composition-sources-xqhm2Ygr.mjs → composition-sources-R8TskGSV.mjs} +1 -1
  374. package/dist/{constants-Ca-Sgcl8.js → constants-D4lxxip7.js} +1 -1
  375. package/dist/{constants-D5z4EwY8.mjs → constants-DMvAcbbP.mjs} +1 -1
  376. package/dist/{dist-8LQ4lDEB.js → dist-XTkzsnz-.js} +35 -1
  377. package/dist/{dist-Biqn3TEn.mjs → dist-byg8IP4Q.mjs} +35 -1
  378. package/dist/download/hosted-model-revisions.d.ts +8 -8
  379. package/dist/download/model-download-service.d.ts +32 -32
  380. package/dist/download/model-downloader.d.ts +88 -88
  381. package/dist/{event-loop-stall-monitor-CNj73d4D.js → event-loop-stall-monitor-DPFghEFw.js} +1 -1
  382. package/dist/{event-loop-stall-monitor-BtK_0Pjc.mjs → event-loop-stall-monitor-TG8UcdY2.mjs} +1 -1
  383. package/dist/events/event-bus.d.ts +6 -6
  384. package/dist/events/system-event-bus.d.ts +11 -11
  385. package/dist/feature/feature-manager.d.ts +6 -6
  386. package/dist/http/asset-compression.d.ts +35 -73
  387. package/dist/http/authenticated-file-server.d.ts +32 -32
  388. package/dist/http/data-plane-registry.d.ts +49 -39
  389. package/dist/http/file-data-plane.d.ts +14 -14
  390. package/dist/http/lan-http-bind.d.ts +24 -13
  391. package/dist/http/reverse-proxy.d.ts +36 -24
  392. package/dist/index.d.ts +137 -137
  393. package/dist/index.js +9 -8
  394. package/dist/index.mjs +7 -9
  395. package/dist/{jwt-signing-key-DxV2ucvJ.js → jwt-signing-key-CD87HrHH.js} +1 -1
  396. package/dist/{jwt-signing-key-SnDgvVUQ.mjs → jwt-signing-key-DNBxSN5p.mjs} +1 -1
  397. package/dist/kernel/addon-class-resolver.d.ts +1 -1
  398. package/dist/kernel/addon-engine-manager.d.ts +20 -20
  399. package/dist/kernel/addon-health-monitor.d.ts +151 -151
  400. package/dist/kernel/addon-installer.d.ts +609 -609
  401. package/dist/kernel/addon-loader.d.ts +133 -133
  402. package/dist/kernel/addon-manifest.d.ts +118 -118
  403. package/dist/kernel/addon-residue.d.ts +28 -32
  404. package/dist/kernel/array-buffer-census.d.ts +84 -88
  405. package/dist/kernel/bootstrap-config.d.ts +3 -3
  406. package/dist/kernel/cap-router-builder.d.ts +145 -101
  407. package/dist/kernel/capability-handle.d.ts +41 -41
  408. package/dist/kernel/capability-registry.d.ts +588 -576
  409. package/dist/kernel/config-manager.d.ts +199 -199
  410. package/dist/kernel/config-schema.d.ts +132 -128
  411. package/dist/kernel/custom-action-registry.d.ts +25 -25
  412. package/dist/kernel/deps/addon-deps-manager.d.ts +17 -17
  413. package/dist/kernel/deps/closure-dedupe.d.ts +76 -76
  414. package/dist/kernel/deps/ensure-addon-natives.d.ts +34 -34
  415. package/dist/kernel/deps/ensure-native-prebuilds.d.ts +25 -25
  416. package/dist/kernel/deps/manifest-native-deps.d.ts +38 -38
  417. package/dist/kernel/deps/manifest-python-deps.d.ts +18 -18
  418. package/dist/kernel/deps/manifest-system-deps.d.ts +13 -13
  419. package/dist/kernel/deps/npm-command.d.ts +45 -45
  420. package/dist/kernel/deps/system-package-allowlist.d.ts +9 -9
  421. package/dist/kernel/deps/system-package-broker.d.ts +20 -20
  422. package/dist/kernel/deps/system-package-client.d.ts +3 -3
  423. package/dist/kernel/device-registry.d.ts +27 -27
  424. package/dist/kernel/event-loop-stall-monitor.d.ts +33 -33
  425. package/dist/kernel/event-plane-report.d.ts +174 -174
  426. package/dist/kernel/fs-utils.d.ts +70 -70
  427. package/dist/kernel/gc-census.d.ts +119 -119
  428. package/dist/kernel/heap-spaces.d.ts +87 -87
  429. package/dist/kernel/heap-watch.d.ts +706 -706
  430. package/dist/kernel/host-externals.d.ts +8 -8
  431. package/dist/kernel/hwaccel/hwaccel-resolver.d.ts +27 -27
  432. package/dist/kernel/index.d.ts +115 -113
  433. package/dist/kernel/inference/inference-resolver.d.ts +13 -13
  434. package/dist/kernel/infra-capabilities.d.ts +7 -7
  435. package/dist/kernel/isolated-builtin-phase.d.ts +42 -42
  436. package/dist/kernel/lifecycle/job-journal.d.ts +17 -17
  437. package/dist/kernel/lifecycle/lifecycle-job-engine.d.ts +99 -99
  438. package/dist/kernel/lifecycle/staging-area.d.ts +22 -22
  439. package/dist/kernel/moleculer/addon-context-factory.d.ts +90 -89
  440. package/dist/kernel/moleculer/addon-data-plane-facility.d.ts +12 -12
  441. package/dist/kernel/moleculer/addon-deploy-source.d.ts +11 -11
  442. package/dist/kernel/moleculer/addon-peer-bytes-facility.d.ts +18 -18
  443. package/dist/kernel/moleculer/addon-service-factory.d.ts +41 -41
  444. package/dist/kernel/moleculer/agent-mesh-authenticator.d.ts +60 -33
  445. package/dist/kernel/moleculer/agent-ui-unlock.d.ts +30 -30
  446. package/dist/kernel/moleculer/broker-factory.d.ts +61 -61
  447. package/dist/kernel/moleculer/cap-usage-registry.d.ts +108 -153
  448. package/dist/kernel/moleculer/capabilities-access.d.ts +19 -19
  449. package/dist/kernel/moleculer/child-addon-call-dispatch.d.ts +43 -43
  450. package/dist/kernel/moleculer/child-cap-descriptors.d.ts +26 -26
  451. package/dist/kernel/moleculer/child-cap-dispatch.d.ts +52 -52
  452. package/dist/kernel/moleculer/children-batch-loader.d.ts +86 -34
  453. package/dist/kernel/moleculer/cluster-secret.d.ts +19 -19
  454. package/dist/kernel/moleculer/core-cap-service.d.ts +53 -53
  455. package/dist/kernel/moleculer/crash-supervisor.d.ts +39 -39
  456. package/dist/kernel/moleculer/device-cap-proxy.d.ts +51 -51
  457. package/dist/kernel/moleculer/device-event-ring.d.ts +117 -75
  458. package/dist/kernel/moleculer/event-bus-core.d.ts +171 -159
  459. package/dist/kernel/moleculer/event-bus.d.ts +73 -73
  460. package/dist/kernel/moleculer/hub-log-forwarder.d.ts +30 -30
  461. package/dist/kernel/moleculer/hub-service.d.ts +42 -42
  462. package/dist/kernel/moleculer/init-watchdog.d.ts +49 -49
  463. package/dist/kernel/moleculer/mesh-access-middleware.d.ts +36 -21
  464. package/dist/kernel/moleculer/mesh-auth-mode.d.ts +33 -39
  465. package/dist/kernel/moleculer/mesh-authenticator.d.ts +58 -58
  466. package/dist/kernel/moleculer/mesh-auto-enforce.d.ts +38 -18
  467. package/dist/kernel/moleculer/mesh-join-client.d.ts +67 -45
  468. package/dist/kernel/moleculer/mesh-join-proof.d.ts +8 -8
  469. package/dist/kernel/moleculer/mesh-mtls/constants.d.ts +1 -1
  470. package/dist/kernel/moleculer/mesh-mtls/index.d.ts +10 -10
  471. package/dist/kernel/moleculer/mesh-mtls/mesh-ca-keeper.d.ts +43 -38
  472. package/dist/kernel/moleculer/mesh-mtls/mesh-ca.d.ts +29 -20
  473. package/dist/kernel/moleculer/mesh-mtls/mesh-clear-port.d.ts +32 -32
  474. package/dist/kernel/moleculer/mesh-mtls/mesh-crl.d.ts +11 -11
  475. package/dist/kernel/moleculer/mesh-mtls/mesh-enroll.d.ts +19 -16
  476. package/dist/kernel/moleculer/mesh-mtls/mesh-join-token.d.ts +40 -40
  477. package/dist/kernel/moleculer/mesh-mtls/mesh-tls-enabler.d.ts +5 -1
  478. package/dist/kernel/moleculer/mesh-mtls/tls-tcp-transporter.d.ts +131 -130
  479. package/dist/kernel/moleculer/mesh-queue-report.d.ts +39 -39
  480. package/dist/kernel/moleculer/node-registry.d.ts +120 -120
  481. package/dist/kernel/moleculer/process-context.d.ts +2 -2
  482. package/dist/kernel/moleculer/process-service.d.ts +168 -168
  483. package/dist/kernel/moleculer/provider-registry.d.ts +9 -9
  484. package/dist/kernel/moleculer/readiness-context.d.ts +58 -58
  485. package/dist/kernel/moleculer/readiness-service.d.ts +31 -16
  486. package/dist/kernel/moleculer/register-framework-resolver.d.ts +6 -6
  487. package/dist/kernel/moleculer/register-node-client.d.ts +34 -27
  488. package/dist/kernel/moleculer/remote-logger.d.ts +29 -29
  489. package/dist/kernel/moleculer/resilient-cap-call.d.ts +21 -21
  490. package/dist/kernel/moleculer/runner-native-allocator.d.ts +95 -95
  491. package/dist/kernel/moleculer/runner-process-group.d.ts +57 -57
  492. package/dist/kernel/moleculer/runtime-state-load.d.ts +21 -11
  493. package/dist/kernel/moleculer/settings-read-guard.d.ts +39 -39
  494. package/dist/kernel/moleculer/stream-probe-service.d.ts +25 -6
  495. package/dist/kernel/moleculer/trpc-links.d.ts +203 -203
  496. package/dist/kernel/moleculer/typed-array-serde.d.ts +9 -20
  497. package/dist/kernel/moleculer/worker-device-restore.d.ts +8 -8
  498. package/dist/kernel/outbound-queue-watch.d.ts +74 -74
  499. package/dist/kernel/process-cpu-census.d.ts +55 -55
  500. package/dist/kernel/provider-kind-drift.d.ts +17 -8
  501. package/dist/kernel/restart-coordinator.d.ts +71 -71
  502. package/dist/kernel/settings-door-view.d.ts +36 -25
  503. package/dist/kernel/settings-read-error.d.ts +29 -31
  504. package/dist/kernel/settings-view-types.d.ts +100 -95
  505. package/dist/kernel/socket-plane-report.d.ts +214 -153
  506. package/dist/kernel/status-overlay.d.ts +31 -11
  507. package/dist/kernel/storage-location-registry.d.ts +50 -50
  508. package/dist/kernel/store-settings-view.d.ts +13 -13
  509. package/dist/kernel/system-settings-mirror.d.ts +40 -28
  510. package/dist/kernel/system-settings-policy.d.ts +15 -34
  511. package/dist/kernel/transport/cap-action-census.d.ts +183 -183
  512. package/dist/kernel/transport/cap-action-name.d.ts +84 -84
  513. package/dist/kernel/transport/cap-child-index.d.ts +41 -41
  514. package/dist/kernel/transport/cap-route-resolver.d.ts +237 -212
  515. package/dist/kernel/transport/cap-route.d.ts +139 -139
  516. package/dist/kernel/transport/cap-routing-hints.d.ts +37 -37
  517. package/dist/kernel/transport/child-cap-protocol.d.ts +245 -245
  518. package/dist/kernel/transport/claimed-get-status.d.ts +30 -6
  519. package/dist/kernel/transport/create-local-transport.d.ts +5 -5
  520. package/dist/kernel/transport/frame-codec.d.ts +109 -109
  521. package/dist/kernel/transport/hub-cap-forward.d.ts +81 -59
  522. package/dist/kernel/transport/index.d.ts +36 -36
  523. package/dist/kernel/transport/local-child-client.d.ts +184 -184
  524. package/dist/kernel/transport/local-child-registry.d.ts +592 -592
  525. package/dist/kernel/transport/local-endpoint-path.d.ts +4 -4
  526. package/dist/kernel/transport/local-transport.d.ts +92 -92
  527. package/dist/kernel/transport/parent-unowned-call.d.ts +266 -237
  528. package/dist/kernel/transport/peer-answered-error.d.ts +14 -14
  529. package/dist/kernel/transport/socket-channel.d.ts +110 -110
  530. package/dist/kernel/transport/socket-traffic.d.ts +96 -96
  531. package/dist/kernel/transport/uds-event-bridge.d.ts +77 -50
  532. package/dist/kernel/transport/uds-event-bus.d.ts +75 -26
  533. package/dist/kernel/transport/uds-local-transport.d.ts +14 -14
  534. package/dist/kernel/transport/uds-log-ingest.d.ts +38 -23
  535. package/dist/kernel/transport/uds-logger.d.ts +33 -33
  536. package/dist/kernel/utils/ring-buffer.d.ts +12 -12
  537. package/dist/kernel/workspace-detect.d.ts +7 -7
  538. package/dist/lifecycle/lifecycle-state-machine.d.ts +24 -24
  539. package/dist/logging/formatter.d.ts +52 -25
  540. package/dist/logging/log-manager.d.ts +133 -133
  541. package/dist/logging/log-redactor.d.ts +22 -1
  542. package/dist/logging/log-ring-buffer.d.ts +57 -57
  543. package/dist/logging/logging-gate.d.ts +69 -25
  544. package/dist/logging/logging-gate.singleton.d.ts +12 -1
  545. package/dist/logging/partitioned-log-buffer.d.ts +161 -161
  546. package/dist/logging/scoped-logger.d.ts +14 -14
  547. package/dist/network/network-quality.d.ts +8 -8
  548. package/dist/notification/notification-service.d.ts +37 -37
  549. package/dist/notification/toast-service.d.ts +18 -18
  550. package/dist/pipeline/engine-manager-resolver.d.ts +12 -12
  551. package/dist/pipeline/pipeline-runner.d.ts +6 -6
  552. package/dist/pipeline/pipeline-validator.d.ts +8 -8
  553. package/dist/process/proc-stat.d.ts +51 -51
  554. package/dist/process/resource-monitor.d.ts +19 -19
  555. package/dist/python/python-env-manager.d.ts +10 -10
  556. package/dist/repl/interfaces.d.ts +21 -21
  557. package/dist/repl/repl-engine.d.ts +6 -6
  558. package/dist/{restore-archive-D4cmLoNe.mjs → restore-archive-Bmmmyp1M.mjs} +81 -81
  559. package/dist/{restore-archive-Do_Yu5rC.js → restore-archive-bvYTsnvp.js} +1 -1
  560. package/dist/{retired-settings-keys-BsgVxh8-.mjs → retired-settings-keys-R9CBo2lY.mjs} +1 -1
  561. package/dist/{retired-settings-keys-Cyn3OD0K.js → retired-settings-keys-V0yq5Bm6.js} +1 -1
  562. package/dist/storage/fs-storage-backend.d.ts +35 -35
  563. package/dist/storage/storage-location-manager.d.ts +21 -21
  564. package/dist/storage/storage-manager.d.ts +68 -68
  565. package/dist/tls/boot-tls.d.ts +24 -24
  566. package/dist/tls/cert-evaluation.d.ts +25 -25
  567. package/dist/tls/cert-identity.d.ts +39 -39
  568. package/dist/tls/cert-issue.d.ts +37 -17
  569. package/dist/tls/cert-manager.d.ts +86 -84
  570. package/dist/tls/https-listener.d.ts +16 -16
  571. package/dist/tls/index.d.ts +8 -8
  572. package/dist/tls/tls-actions.d.ts +18 -18
  573. package/dist/tls/tls-status.d.ts +15 -15
  574. package/dist/tls/uploaded-cert.d.ts +9 -9
  575. package/package.json +9 -3
@@ -1,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;
@@ -1,66 +1,66 @@
1
1
  /**
2
- * How long a minted link stays valid.
3
- *
4
- * A snapshot is a live view of the operator's home, so this is short on purpose
5
- * — the exposure of a leaked link is bounded by it. Two minutes is long enough
6
- * that a page renders, re-renders and survives a brief backgrounding on the URL
7
- * it was given, and short enough that a link pasted somewhere is dead before it
8
- * is useful. The client re-mints on every overview poll (5 s), so it never
9
- * depends on the tail of this window.
10
- */
11
- export declare const SNAPSHOT_LINK_TTL_MS = 120000;
2
+ * How long a minted link stays valid.
3
+ *
4
+ * A snapshot is a live view of the operator's home, so this is short on purpose
5
+ * — the exposure of a leaked link is bounded by it. Two minutes is long enough
6
+ * that a page renders, re-renders and survives a brief backgrounding on the URL
7
+ * it was given, and short enough that a link pasted somewhere is dead before it
8
+ * is useful. The client re-mints on every overview poll (5 s), so it never
9
+ * depends on the tail of this window.
10
+ */
11
+ export declare const SNAPSHOT_LINK_TTL_MS = 12e4;
12
12
  /**
13
- * Quantum the expiry is rounded UP to, so a link is stable between mints.
14
- *
15
- * Without it every mint produces a different `exp`, hence a different URL, hence
16
- * a full re-download of an unchanged frame on every poll. With it the URL is a
17
- * pure function of (device, width, frame, bucket) — so a tile fetches when its
18
- * frame moves, and at most once more per bucket.
19
- */
20
- export declare const SNAPSHOT_LINK_EXP_BUCKET_MS = 30000;
13
+ * Quantum the expiry is rounded UP to, so a link is stable between mints.
14
+ *
15
+ * Without it every mint produces a different `exp`, hence a different URL, hence
16
+ * a full re-download of an unchanged frame on every poll. With it the URL is a
17
+ * pure function of (device, width, frame, bucket) — so a tile fetches when its
18
+ * frame moves, and at most once more per bucket.
19
+ */
20
+ export declare const SNAPSHOT_LINK_EXP_BUCKET_MS = 3e4;
21
21
  /** The token the signature is computed over. Width is part of the identity so a
22
- * tile link cannot be escalated into a full-frame request. */
22
+ * tile link cannot be escalated into a full-frame request. */
23
23
  export declare function snapshotLinkId(deviceId: number, width: number | undefined): string;
24
24
  /** The bucketed expiry for a link minted at `nowMs`. Always ≥ `nowMs + TTL`. */
25
25
  export declare function snapshotLinkExpiry(nowMs: number, ttlMs?: number, bucketMs?: number): number;
26
26
  export interface BuildSnapshotLinkInput {
27
- /** Root-relative plane prefix, e.g. `/addon/snapshot/link`. */
28
- readonly routePrefix: string;
29
- readonly deviceId: number;
30
- /** Snapped ladder rung the bytes will be at, or undefined for the full frame. */
31
- readonly width: number | undefined;
32
- /** Capture identity of the frame this link names — the client's cache key. */
33
- readonly capturedAt: number | null;
34
- readonly secret: string;
35
- readonly expMs: number;
27
+ /** Root-relative plane prefix, e.g. `/addon/snapshot/link`. */
28
+ readonly routePrefix: string;
29
+ readonly deviceId: number;
30
+ /** Snapped ladder rung the bytes will be at, or undefined for the full frame. */
31
+ readonly width: number | undefined;
32
+ /** Capture identity of the frame this link names — the client's cache key. */
33
+ readonly capturedAt: number | null;
34
+ readonly secret: string;
35
+ readonly expMs: number;
36
36
  }
37
37
  /**
38
- * The link, as a ROOT-RELATIVE path.
39
- *
40
- * Deliberately not absolute. The artifact and HA planes must mint absolute URLs
41
- * because the fetcher is a phone or a notifier backend that has no idea where
42
- * the hub is — and picking that base is the `hubUrl: localhost` trap the Alexa
43
- * work paid for. Here the fetcher is a client that is already connected to the
44
- * hub and holds its own `serverUrl`, so the correct base is the one it used to
45
- * make the call. Returning a path makes it impossible to hand a client a link
46
- * pointing somewhere it cannot reach.
47
- */
38
+ * The link, as a ROOT-RELATIVE path.
39
+ *
40
+ * Deliberately not absolute. The artifact and HA planes must mint absolute URLs
41
+ * because the fetcher is a phone or a notifier backend that has no idea where
42
+ * the hub is — and picking that base is the `hubUrl: localhost` trap the Alexa
43
+ * work paid for. Here the fetcher is a client that is already connected to the
44
+ * hub and holds its own `serverUrl`, so the correct base is the one it used to
45
+ * make the call. Returning a path makes it impossible to hand a client a link
46
+ * pointing somewhere it cannot reach.
47
+ */
48
48
  export declare function buildSnapshotLinkUrl(input: BuildSnapshotLinkInput): string;
49
49
  /** A verified link request. `width` is the SIGNED width, never the raw query. */
50
50
  export interface ParsedSnapshotLink {
51
- readonly deviceId: number;
52
- readonly width: number | undefined;
51
+ readonly deviceId: number;
52
+ readonly width: number | undefined;
53
53
  }
54
54
  export interface ParseSnapshotLinkInput {
55
- /** Handler-relative url, e.g. `/615.jpg?w=240&exp=…&sig=…`. */
56
- readonly url: string;
57
- readonly secret: string;
58
- readonly nowMs: number;
55
+ /** Handler-relative url, e.g. `/615.jpg?w=240&exp=…&sig=…`. */
56
+ readonly url: string;
57
+ readonly secret: string;
58
+ readonly nowMs: number;
59
59
  }
60
60
  /**
61
- * Parse and VERIFY a link request in one step, so a caller cannot accidentally
62
- * use the device id before checking the signature. Null = refuse (404/403);
63
- * there is deliberately no way to distinguish "bad signature" from "expired"
64
- * from "malformed" at this boundary, so a public route cannot be probed.
65
- */
61
+ * Parse and VERIFY a link request in one step, so a caller cannot accidentally
62
+ * use the device id before checking the signature. Null = refuse (404/403);
63
+ * there is deliberately no way to distinguish "bad signature" from "expired"
64
+ * from "malformed" at this boundary, so a public route cannot be probed.
65
+ */
66
66
  export declare function parseVerifiedSnapshotLink(input: ParseSnapshotLinkInput): ParsedSnapshotLink | null;
@@ -1,121 +1,121 @@
1
- import { DataPlaneHandler } from '@camstack/types';
1
+ import type { DataPlaneHandler } from "@camstack/types";
2
2
  /** A renderable snapshot frame resolved for one device. */
3
3
  export interface SnapshotMedia {
4
- /** Raw image bytes (already decoded from the wrapper's base64 cache). */
5
- readonly bytes: Uint8Array;
6
- /** MIME type — practically always `image/jpeg`. */
7
- readonly contentType: string;
8
- /** Epoch ms of the cached capture — drives the ETag and frame identity. */
9
- readonly capturedAt: number;
10
- /** Effective per-device max cache age (seconds) → `Cache-Control: max-age`. */
11
- readonly maxAgeS: number;
12
- /** State treatment painted over the capture (sleeping, waking, …). */
13
- readonly variantKey?: string | undefined;
14
- /**
15
- * The width the returned BYTES are actually at, or undefined when they are the
16
- * frame as captured.
17
- *
18
- * Deliberately not the same thing as the requested width. A failed resize
19
- * serves the full frame, and stamping the requested `-w320` on it poisons the
20
- * ETag: a later SUCCESSFUL resize of the same capture mints the identical tag
21
- * with completely different bytes, so a client holding the megabyte revalidates,
22
- * gets a 304, and keeps it. The tag has to describe what went out.
23
- */
24
- readonly servedWidth?: number | undefined;
4
+ /** Raw image bytes (already decoded from the wrapper's base64 cache). */
5
+ readonly bytes: Uint8Array;
6
+ /** MIME type — practically always `image/jpeg`. */
7
+ readonly contentType: string;
8
+ /** Epoch ms of the cached capture — drives the ETag and frame identity. */
9
+ readonly capturedAt: number;
10
+ /** Effective per-device max cache age (seconds) → `Cache-Control: max-age`. */
11
+ readonly maxAgeS: number;
12
+ /** State treatment painted over the capture (sleeping, waking, …). */
13
+ readonly variantKey?: string | undefined;
14
+ /**
15
+ * The width the returned BYTES are actually at, or undefined when they are the
16
+ * frame as captured.
17
+ *
18
+ * Deliberately not the same thing as the requested width. A failed resize
19
+ * serves the full frame, and stamping the requested `-w320` on it poisons the
20
+ * ETag: a later SUCCESSFUL resize of the same capture mints the identical tag
21
+ * with completely different bytes, so a client holding the megabyte revalidates,
22
+ * gets a 304, and keeps it. The tag has to describe what went out.
23
+ */
24
+ readonly servedWidth?: number | undefined;
25
25
  }
26
26
  /** What the cache can answer about a device WITHOUT capturing anything. */
27
27
  export interface SnapshotPeek {
28
- /** Epoch ms of the cached capture. */
29
- readonly capturedAt: number;
30
- /** Effective per-device max cache age (seconds). */
31
- readonly maxAgeS: number;
32
- /** State treatment that would be painted over this capture. */
33
- readonly variantKey?: string | undefined;
28
+ /** Epoch ms of the cached capture. */
29
+ readonly capturedAt: number;
30
+ /** Effective per-device max cache age (seconds). */
31
+ readonly maxAgeS: number;
32
+ /** State treatment that would be painted over this capture. */
33
+ readonly variantKey?: string | undefined;
34
34
  }
35
35
  export interface SnapshotMediaHandlerDeps {
36
- /**
37
- * Resolve a device (+ optional stream, + force) to a renderable frame. Runs
38
- * the wrapper's coalesced capture ladder; returns null when no frame can be
39
- * produced (→ 404). Throwing produces an opaque 500 (caller logs).
40
- */
41
- readonly getMedia: (deviceId: number, streamId: string | undefined, force: boolean, width: number | undefined) => Promise<SnapshotMedia | null>;
42
- /**
43
- * Cache-only lookup: what frame is cached for this (device, stream) right now,
44
- * and is it still FRESH? Returns null when nothing is cached or the entry is
45
- * past its max-age.
46
- *
47
- * This exists so a conditional GET can be answered before `getMedia` runs.
48
- * Without it a 304 is only cheap in bytes — the ladder and the resize have
49
- * both already happened by the time the ETags are compared, which on a camera
50
- * whose live paths are failing is two 15 s ffmpeg timeouts to send zero bytes.
51
- *
52
- * Width is deliberately absent: the ETag the client presents already names the
53
- * width it holds, and it can only hold a tag this server minted, so matching
54
- * the frame identity is sufficient. A client holding the FULL frame after a
55
- * failed resize presents `"<id>-<ts>"`, which cannot collide with the
56
- * `"<id>-<ts>-w320"` a `?w=320` request computes — it falls through and
57
- * re-derives, which is exactly right.
58
- *
59
- * Optional: a host that does not supply it keeps the previous behaviour
60
- * exactly (run the ladder, then compare).
61
- */
62
- readonly peekFresh?: (deviceId: number, streamId: string | undefined) => Promise<SnapshotPeek | null>;
36
+ /**
37
+ * Resolve a device (+ optional stream, + force) to a renderable frame. Runs
38
+ * the wrapper's coalesced capture ladder; returns null when no frame can be
39
+ * produced (→ 404). Throwing produces an opaque 500 (caller logs).
40
+ */
41
+ readonly getMedia: (deviceId: number, streamId: string | undefined, force: boolean, width: number | undefined) => Promise<SnapshotMedia | null>;
42
+ /**
43
+ * Cache-only lookup: what frame is cached for this (device, stream) right now,
44
+ * and is it still FRESH? Returns null when nothing is cached or the entry is
45
+ * past its max-age.
46
+ *
47
+ * This exists so a conditional GET can be answered before `getMedia` runs.
48
+ * Without it a 304 is only cheap in bytes — the ladder and the resize have
49
+ * both already happened by the time the ETags are compared, which on a camera
50
+ * whose live paths are failing is two 15 s ffmpeg timeouts to send zero bytes.
51
+ *
52
+ * Width is deliberately absent: the ETag the client presents already names the
53
+ * width it holds, and it can only hold a tag this server minted, so matching
54
+ * the frame identity is sufficient. A client holding the FULL frame after a
55
+ * failed resize presents `"<id>-<ts>"`, which cannot collide with the
56
+ * `"<id>-<ts>-w320"` a `?w=320` request computes — it falls through and
57
+ * re-derives, which is exactly right.
58
+ *
59
+ * Optional: a host that does not supply it keeps the previous behaviour
60
+ * exactly (run the ladder, then compare).
61
+ */
62
+ readonly peekFresh?: (deviceId: number, streamId: string | undefined) => Promise<SnapshotPeek | null>;
63
63
  }
64
64
  /** Parsed `/<deviceId>[.jpg][?streamId=…&force=1&w=320]` request. */
65
65
  export interface SnapshotMediaRequest {
66
- readonly deviceId: number;
67
- readonly streamId: string | undefined;
68
- readonly force: boolean;
69
- /** Snapped target width in px, or undefined for the frame as captured. */
70
- readonly width: number | undefined;
66
+ readonly deviceId: number;
67
+ readonly streamId: string | undefined;
68
+ readonly force: boolean;
69
+ /** Snapped target width in px, or undefined for the frame as captured. */
70
+ readonly width: number | undefined;
71
71
  }
72
72
  /**
73
- * The widths a thumbnail may be served at.
74
- *
75
- * A ladder, not a free integer: the width is a cache key AND an ffmpeg run, so
76
- * honouring `?w=` verbatim would let any caller mint unbounded work and
77
- * unbounded memory. Twelve tiles measured at 181–240 px collapse onto one
78
- * variant instead of twelve.
79
- *
80
- * Rungs are chosen for the card sizes the viewer actually renders (180–390 px)
81
- * with headroom for a 2× device pixel ratio.
82
- */
73
+ * The widths a thumbnail may be served at.
74
+ *
75
+ * A ladder, not a free integer: the width is a cache key AND an ffmpeg run, so
76
+ * honouring `?w=` verbatim would let any caller mint unbounded work and
77
+ * unbounded memory. Twelve tiles measured at 181–240 px collapse onto one
78
+ * variant instead of twelve.
79
+ *
80
+ * Rungs are chosen for the card sizes the viewer actually renders (180–390 px)
81
+ * with headroom for a 2× device pixel ratio.
82
+ */
83
83
  export declare const SNAPSHOT_WIDTH_LADDER: readonly number[];
84
84
  /** Snap UP to the next rung — never below what was asked, so the client is not
85
- * handed an image it has to upscale. Above the ladder, the largest rung: the
86
- * point is to stop serving the 4K original. */
85
+ * handed an image it has to upscale. Above the ladder, the largest rung: the
86
+ * point is to stop serving the 4K original. */
87
87
  export declare function snapSnapshotWidth(requested: number): number;
88
88
  /**
89
- * Parse the handler-relative path (`/<deviceId>.jpg?query`) into a request.
90
- * Returns null for a malformed / nested / non-numeric id so the handler answers
91
- * 404 without ever reaching `getMedia`.
92
- */
89
+ * Parse the handler-relative path (`/<deviceId>.jpg?query`) into a request.
90
+ * Returns null for a malformed / nested / non-numeric id so the handler answers
91
+ * 404 without ever reaching `getMedia`.
92
+ */
93
93
  export declare function parseSnapshotMediaRequest(url: string): SnapshotMediaRequest | null;
94
94
  /**
95
- * The response's entity tag.
96
- *
97
- * It has to identify the VARIANT, not just the frame: the same capture can now
98
- * be served at several widths, from several streams, and with a camera-state
99
- * treatment, and a plain
100
- * `"<device>-<capturedAt>"` would let a client that fetched `?w=320` receive a
101
- * 304 for `?w=960` and render the small image at full size. The base form is
102
- * unchanged for a plain request, so the identity
103
- * `snapshot.getSnapshotOverview` advertises still matches the frame nobody
104
- * asked to resize.
105
- */
95
+ * The response's entity tag.
96
+ *
97
+ * It has to identify the VARIANT, not just the frame: the same capture can now
98
+ * be served at several widths, from several streams, and with a camera-state
99
+ * treatment, and a plain
100
+ * `"<device>-<capturedAt>"` would let a client that fetched `?w=320` receive a
101
+ * 304 for `?w=960` and render the small image at full size. The base form is
102
+ * unchanged for a plain request, so the identity
103
+ * `snapshot.getSnapshotOverview` advertises still matches the frame nobody
104
+ * asked to resize.
105
+ */
106
106
  export declare function snapshotEtag(variant: SnapshotVariantIdentity, capturedAt: number): string;
107
107
  /** The (device, stream, width) triple an ETag names. Structurally a
108
- * {@link SnapshotMediaRequest}, but the width is the width SERVED — see
109
- * {@link SnapshotMedia.servedWidth}. */
108
+ * {@link SnapshotMediaRequest}, but the width is the width SERVED — see
109
+ * {@link SnapshotMedia.servedWidth}. */
110
110
  export interface SnapshotVariantIdentity {
111
- readonly deviceId: number;
112
- readonly streamId: string | undefined;
113
- readonly width: number | undefined;
114
- readonly variantKey?: string | undefined;
111
+ readonly deviceId: number;
112
+ readonly streamId: string | undefined;
113
+ readonly width: number | undefined;
114
+ readonly variantKey?: string | undefined;
115
115
  }
116
116
  /**
117
- * Create a data-plane handler that serves per-device snapshots as JPEG images.
118
- * `deps.getMedia` is called once per request; null → 404, throw → 500. A
119
- * conditional GET with a matching `If-None-Match` produces a 304.
120
- */
117
+ * Create a data-plane handler that serves per-device snapshots as JPEG images.
118
+ * `deps.getMedia` is called once per request; null → 404, throw → 500. A
119
+ * conditional GET with a matching `If-None-Match` produces a 304.
120
+ */
121
121
  export declare function createSnapshotMediaHandler(deps: SnapshotMediaHandlerDeps): DataPlaneHandler;