@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,50 +1,91 @@
1
- import { FrameResult, IEventBus, IScopedLogger } from '@camstack/types';
2
- import { GridMotionState } from './grid-activity-mirror.js';
3
- import { GridMappingCell } from './grid-detection-mapping.js';
1
+ /**
2
+ * The grid's own motion / audio / detection, forwarded from its sources.
3
+ *
4
+ * ## Why the grid speaks a camera's language instead of a new one
5
+ *
6
+ * The operator asked for the grid's tile to light up in the viewer exactly as a
7
+ * camera's card does, with NO app change. The app already knows how: it filters
8
+ * `motion.on-motion-changed` by `deviceId` for the motion ring,
9
+ * `pipeline.audio-inference-result` for the audio one, and `detection.result`
10
+ * for the detection one. So the grid answers those three questions about its
11
+ * own device id, in the same shapes. Nothing new is invented, and nothing in
12
+ * the viewer is touched.
13
+ *
14
+ * The rules are the operator's: motion if AT LEAST ONE source has it, and the
15
+ * LOUDEST source's level for audio.
16
+ *
17
+ * ## What speaking a camera's language costs, and why it is safe here
18
+ *
19
+ * Those categories have other listeners, and emitting on them makes the grid a
20
+ * motion source for the whole system. Checked, one by one, before shipping:
21
+ * the recorder's event capture, the HomeKit and Alexa exports and the Home
22
+ * Assistant export are all per-device and do nothing until an operator enables
23
+ * them for this camera — and if an operator DOES export a grid to HomeKit, a
24
+ * grid reporting motion is correct, not a surprise.
25
+ *
26
+ * The one listener with no gate of its own was `pipeline-analytics`, which
27
+ * would have opened a motion EPISODE per grid, duplicating the rows its sources
28
+ * already write. Its gate turned out to be the `pipeline-analytics` WRAPPER
29
+ * BINDING, so the answer is the one the operator gave: a derived camera is
30
+ * created with the analytics wrappers OFF (`grid-analytics-defaults.ts`).
31
+ * That is a binding, not a new flag, so an operator who wants a grid analysed
32
+ * can simply turn it back on.
33
+ *
34
+ * ## Detection carries boxes whether or not anyone wanted them
35
+ *
36
+ * `detection.result` is the same event the viewer draws BOXES from, so a grid
37
+ * that reports detections reports boxes. Sending the source's own pixel box
38
+ * would draw it against the composed canvas at confidently wrong coordinates,
39
+ * so every box is carried through the cell geometry first
40
+ * (`grid-detection-mapping.ts`) and lands where the subject actually is.
41
+ */
42
+ import { type FrameResult, type IEventBus, type IScopedLogger } from "@camstack/types";
43
+ import { type GridMotionState } from "./grid-activity-mirror.js";
44
+ import { type GridMappingCell } from "./grid-detection-mapping.js";
4
45
  /** Everything this needs to know about one grid, re-read on every event. */
5
46
  export interface GridActivityTarget {
6
- readonly deviceId: number;
7
- readonly canvas: {
8
- readonly width: number;
9
- readonly height: number;
10
- };
11
- /** Every cell this source appears in. Empty ⇒ the grid does not show it. */
12
- cellsForSource(sourceDeviceId: number): readonly GridMappingCell[];
13
- /** Every source this grid composes, for the mirror's housekeeping. */
14
- readonly sourceDeviceIds: readonly number[];
47
+ readonly deviceId: number;
48
+ readonly canvas: {
49
+ readonly width: number;
50
+ readonly height: number;
51
+ };
52
+ /** Every cell this source appears in. Empty ⇒ the grid does not show it. */
53
+ cellsForSource(sourceDeviceId: number): readonly GridMappingCell[];
54
+ /** Every source this grid composes, for the mirror's housekeeping. */
55
+ readonly sourceDeviceIds: readonly number[];
15
56
  }
16
57
  export interface GridActivityDeps {
17
- readonly eventBus: IEventBus;
18
- readonly logger: IScopedLogger;
19
- readonly addonId: string;
20
- /** The grids that contain this source, or empty. */
21
- gridsForSource(sourceDeviceId: number): readonly GridActivityTarget[];
22
- readonly now: () => number;
58
+ readonly eventBus: IEventBus;
59
+ readonly logger: IScopedLogger;
60
+ readonly addonId: string;
61
+ /** The grids that contain this source, or empty. */
62
+ gridsForSource(sourceDeviceId: number): readonly GridActivityTarget[];
63
+ readonly now: () => number;
23
64
  }
24
65
  /**
25
- * One mirror per grid, and the emission that follows an update.
26
- *
27
- * Deliberately NOT one mirror per source: the question is always "is THIS grid
28
- * lit", and a source shared by two grids answers it twice, differently, because
29
- * the other cells differ.
30
- */
66
+ * One mirror per grid, and the emission that follows an update.
67
+ *
68
+ * Deliberately NOT one mirror per source: the question is always "is THIS grid
69
+ * lit", and a source shared by two grids answers it twice, differently, because
70
+ * the other cells differ.
71
+ */
31
72
  export declare class GridActivityForwarder {
32
- private readonly deps;
33
- private readonly mirrors;
34
- constructor(deps: GridActivityDeps);
35
- /** A source camera's motion push. */
36
- onSourceMotion(sourceDeviceId: number, detected: boolean, atMs: number): void;
37
- /** A source camera's audio window. */
38
- onSourceAudio(sourceDeviceId: number, dbfs: number, atMs: number): void;
39
- /** A source camera's detection frame, with its boxes in SOURCE pixels. */
40
- onSourceDetections(frame: FrameResult): void;
41
- /** The grid's own motion answer, for `motion.getStatus`. */
42
- motionStatusFor(deviceId: number, nowMs: number): GridMotionState;
43
- /** Drop the mirror of a grid that no longer exists. */
44
- forget(deviceId: number): void;
45
- private mirrorFor;
46
- private source;
47
- private emitMotion;
48
- private emitAudio;
49
- private emitDetections;
73
+ private readonly deps;
74
+ private readonly mirrors;
75
+ constructor(deps: GridActivityDeps);
76
+ /** A source camera's motion push. */
77
+ onSourceMotion(sourceDeviceId: number, detected: boolean, atMs: number): void;
78
+ /** A source camera's audio window. */
79
+ onSourceAudio(sourceDeviceId: number, dbfs: number, atMs: number): void;
80
+ /** A source camera's detection frame, with its boxes in SOURCE pixels. */
81
+ onSourceDetections(frame: FrameResult): void;
82
+ /** The grid's own motion answer, for `motion.getStatus`. */
83
+ motionStatusFor(deviceId: number, nowMs: number): GridMotionState;
84
+ /** Drop the mirror of a grid that no longer exists. */
85
+ forget(deviceId: number): void;
86
+ private mirrorFor;
87
+ private source;
88
+ private emitMotion;
89
+ private emitAudio;
90
+ private emitDetections;
50
91
  }
@@ -1,59 +1,59 @@
1
- import { GridInstance } from './grid-instances.js';
1
+ import type { GridInstance } from "./grid-instances.js";
2
2
  /**
3
- * The stable id is `camera-grid-<instance uuid>` and NOTHING else.
4
- *
5
- * A stable id is permanent the instant it is minted: bindings, grid layouts in
6
- * other addons, recording rows, the timeline and this addon's own tombstones
7
- * all reference it, and a device whose stable id changes is a NEW camera with
8
- * an empty history. So it may only be derived from something that itself never
9
- * changes.
10
- *
11
- * The instance uuid is the only such thing here. Deriving it from the NAME
12
- * would rename-break every reference; deriving it from the CELLS would mint a
13
- * new camera every time the operator drags a rectangle — which is the entire
14
- * activity this addon exists for. Terminal learned the same lesson from the
15
- * other end: its original one-camera-per-node id is permanent, and its profile
16
- * migration had to ENRICH that row rather than mint a replacement.
17
- */
3
+ * The stable id is `camera-grid-<instance uuid>` and NOTHING else.
4
+ *
5
+ * A stable id is permanent the instant it is minted: bindings, grid layouts in
6
+ * other addons, recording rows, the timeline and this addon's own tombstones
7
+ * all reference it, and a device whose stable id changes is a NEW camera with
8
+ * an empty history. So it may only be derived from something that itself never
9
+ * changes.
10
+ *
11
+ * The instance uuid is the only such thing here. Deriving it from the NAME
12
+ * would rename-break every reference; deriving it from the CELLS would mint a
13
+ * new camera every time the operator drags a rectangle — which is the entire
14
+ * activity this addon exists for. Terminal learned the same lesson from the
15
+ * other end: its original one-camera-per-node id is permanent, and its profile
16
+ * migration had to ENRICH that row rather than mint a replacement.
17
+ */
18
18
  export declare function newGridCameraStableId(instanceId: string): string;
19
19
  /** The config a declared grid camera device carries. */
20
20
  export interface GridCameraConfig {
21
- readonly instanceId: string;
22
- /** `DeviceDeclaration.config` is an open record; this keeps the named type assignable. */
23
- readonly [key: string]: unknown;
21
+ readonly instanceId: string;
22
+ /** `DeviceDeclaration.config` is an open record; this keeps the named type assignable. */
23
+ readonly [key: string]: unknown;
24
24
  }
25
25
  export interface GridCameraDeclaration {
26
- readonly stableId: string;
27
- readonly name: string;
28
- readonly config: GridCameraConfig;
26
+ readonly stableId: string;
27
+ readonly name: string;
28
+ readonly config: GridCameraConfig;
29
29
  }
30
30
  export interface ExistingGridCameraRow {
31
- readonly id: number;
32
- readonly stableId: string;
33
- readonly integrationId?: string | null;
34
- readonly config: Readonly<Record<string, unknown>>;
31
+ readonly id: number;
32
+ readonly stableId: string;
33
+ readonly integrationId?: string | null;
34
+ readonly config: Readonly<Record<string, unknown>>;
35
35
  }
36
36
  /**
37
- * Explicit persisted instances only. A grid camera exists because an operator
38
- * created a grid, never because some source camera happens to exist.
39
- *
40
- * A grid with NO cells is declared like any other: creation is name-only and
41
- * the layout is authored afterwards in the camera's own device details, so
42
- * "no cells yet" is the normal first state, not an invalid row.
43
- */
37
+ * Explicit persisted instances only. A grid camera exists because an operator
38
+ * created a grid, never because some source camera happens to exist.
39
+ *
40
+ * A grid with NO cells is declared like any other: creation is name-only and
41
+ * the layout is authored afterwards in the camera's own device details, so
42
+ * "no cells yet" is the normal first state, not an invalid row.
43
+ */
44
44
  export declare function buildGridCameraDeclarations(instances: readonly GridInstance[]): readonly GridCameraDeclaration[];
45
45
  /**
46
- * The rows `DeclaredDevices` is allowed to consider — every live declaration
47
- * plus ONE bounded batch of orphans.
48
- *
49
- * Two guards, both copied from Terminal because both were paid for there:
50
- *
51
- * 1. **An unknown integration id yields an EMPTY index.** `null`/`undefined`
52
- * means "the integration lookup has not answered", which is not the same
53
- * fact as "this addon owns no rows" — and only the second one may drive a
54
- * withdrawal.
55
- * 2. **The orphan batch is bounded and deterministically ordered.** The generic
56
- * sweep refuses an over-limit set outright; selecting a batch here drains a
57
- * large historical orphan set across passes without weakening that guard.
58
- */
46
+ * The rows `DeclaredDevices` is allowed to consider — every live declaration
47
+ * plus ONE bounded batch of orphans.
48
+ *
49
+ * Two guards, both copied from Terminal because both were paid for there:
50
+ *
51
+ * 1. **An unknown integration id yields an EMPTY index.** `null`/`undefined`
52
+ * means "the integration lookup has not answered", which is not the same
53
+ * fact as "this addon owns no rows" — and only the second one may drive a
54
+ * withdrawal.
55
+ * 2. **The orphan batch is bounded and deterministically ordered.** The generic
56
+ * sweep refuses an over-limit set outright; selecting a batch here drains a
57
+ * large historical orphan set across passes without weakening that guard.
58
+ */
59
59
  export declare function gridCameraReconciliationIndex(rows: readonly ExistingGridCameraRow[], integrationId: string | null | undefined, declarations: readonly GridCameraDeclaration[], managedStableIds?: ReadonlySet<string>): readonly ExistingGridCameraRow[];
@@ -1,42 +1,68 @@
1
- import { BaseDevice, CamStreamDescriptor, DeviceContext, DeviceFeature, GridLayoutPatch, GridLayoutView, MotionStatus } from '@camstack/types';
2
- import { z } from 'zod';
3
- import { GridSnapshotImage } from './grid-snapshot.js';
1
+ /**
2
+ * The composite camera device.
3
+ *
4
+ * An ORDINARY camera in every respect the rest of the system can see: it
5
+ * records, it appears in the timeline, it has profile slots, it is bound like
6
+ * any other. What makes it a grid is invisible from here — its streams are
7
+ * composed rather than dialled, and object detection is switched off at
8
+ * CREATION (see `silence-analysis.ts`), never re-asserted.
9
+ *
10
+ * ## The three native caps, and why each is native
11
+ *
12
+ * - **`stream-catalog`** — what this grid OFFERS, one descriptor per profile it
13
+ * can honestly compose. Named on every pull, idle included: the broker sweeps
14
+ * anything its registry holds that a catalog does not name.
15
+ * - **`camera-grid-layout`** — the geometry, on the camera's own page. Device
16
+ * scoped so the widget asks THE CAMERA; the addon-scoped custom actions it
17
+ * replaces could only be reached by a caller that already knew the addon id,
18
+ * which is why the editor rendered nowhere.
19
+ * - **`snapshot`** — a frame of the composition. It used to be deliberately
20
+ * ABSENT, on the reasoning that the broker's ordinary grab takes one from the
21
+ * profile slot and taking one IS a consumer. That is true and it is the
22
+ * defect: it means a thumbnail in a list starts N decodes, and on a battery
23
+ * source it would be a wake. A native provider runs BEFORE that grab and
24
+ * answers from the live composition or from the frame it kept
25
+ * (`grid-snapshot.ts`).
26
+ */
27
+ import { BaseDevice, type CamStreamDescriptor, type DeviceContext, DeviceFeature, type GridLayoutPatch, type GridLayoutView, type MotionStatus } from "@camstack/types";
28
+ import { z } from "zod";
29
+ import type { GridSnapshotImage } from "./grid-snapshot.js";
4
30
  declare const gridCameraSchema: z.ZodObject<{
5
- instanceId: z.ZodString;
6
- }, z.core.$strip>;
31
+ instanceId: z.ZodString;
32
+ }>;
7
33
  /**
8
- * What the device needs from the running addon. Installed as a module
9
- * singleton, like the Terminal camera's relay: `DeclaredDevices` constructs
10
- * devices, so a device cannot be handed a constructor dependency.
11
- */
34
+ * What the device needs from the running addon. Installed as a module
35
+ * singleton, like the Terminal camera's relay: `DeclaredDevices` constructs
36
+ * devices, so a device cannot be handed a constructor dependency.
37
+ */
12
38
  export interface GridCameraRuntime {
13
- /**
14
- * The catalog descriptors for this grid — one per OFFERED profile — or `null`
15
- * when the addon cannot say. `null` is a REFUSAL to describe, never an empty
16
- * catalog with a shrug: see the note on the empty branch below.
17
- */
18
- descriptorsFor(instanceId: string): readonly CamStreamDescriptor[] | null;
19
- /** The grid behind a device, or `null` — which means "answered: not a grid". */
20
- getLayout(deviceId: number): GridLayoutView | null;
21
- saveLayout(patch: GridLayoutPatch): Promise<GridLayoutView>;
22
- /** A frame of the composition, or `null`. Never starts one. */
23
- getSnapshot(deviceId: number): Promise<GridSnapshotImage | null>;
24
- /**
25
- * This grid's own motion, derived from its sources (`grid-activity-mirror`).
26
- *
27
- * The device answers `motion.getStatus` from it because the VIEWER polls that
28
- * as its backstop — it subscribes to `motion.on-motion-changed` and polls the
29
- * status in case an event was missed. A grid that emitted the event but could
30
- * not answer the poll would light up and then, on any dropped edge, be
31
- * unrecoverably dark until the next one.
32
- */
33
- motionStatus(deviceId: number): MotionStatus;
39
+ /**
40
+ * The catalog descriptors for this grid — one per OFFERED profile — or `null`
41
+ * when the addon cannot say. `null` is a REFUSAL to describe, never an empty
42
+ * catalog with a shrug: see the note on the empty branch below.
43
+ */
44
+ descriptorsFor(instanceId: string): readonly CamStreamDescriptor[] | null;
45
+ /** The grid behind a device, or `null` — which means "answered: not a grid". */
46
+ getLayout(deviceId: number): GridLayoutView | null;
47
+ saveLayout(patch: GridLayoutPatch): Promise<GridLayoutView>;
48
+ /** A frame of the composition, or `null`. Never starts one. */
49
+ getSnapshot(deviceId: number): Promise<GridSnapshotImage | null>;
50
+ /**
51
+ * This grid's own motion, derived from its sources (`grid-activity-mirror`).
52
+ *
53
+ * The device answers `motion.getStatus` from it because the VIEWER polls that
54
+ * as its backstop — it subscribes to `motion.on-motion-changed` and polls the
55
+ * status in case an event was missed. A grid that emitted the event but could
56
+ * not answer the poll would light up and then, on any dropped edge, be
57
+ * unrecoverably dark until the next one.
58
+ */
59
+ motionStatus(deviceId: number): MotionStatus;
34
60
  }
35
61
  export declare function installGridCameraRuntime(next: GridCameraRuntime | null): void;
36
62
  export declare class GridCameraDevice extends BaseDevice<typeof gridCameraSchema> {
37
- readonly features: readonly DeviceFeature[];
38
- constructor(ctx: DeviceContext);
39
- private catalog;
40
- setAddonOnline(online: boolean): void;
63
+ readonly features: readonly DeviceFeature[];
64
+ constructor(ctx: DeviceContext);
65
+ private catalog;
66
+ setAddonOnline(online: boolean): void;
41
67
  }
42
68
  export {};
@@ -1,19 +1,54 @@
1
- import { PixelSize } from './grid-canvas.js';
2
- import { NormalizedRect } from './grid-filter-graph.js';
1
+ /**
2
+ * The canvas is a RESULT, not a field.
3
+ *
4
+ * ## Why the operator stopped typing it
5
+ *
6
+ * A grid's resolution used to be two numbers in the editor, beside FPS. They
7
+ * looked harmless and were not: that number silently decided how much the
8
+ * composite cost and how sharp it was. An operator typing 1920x1080 was, without
9
+ * being told, committing the hub to reading two 4 MP streams — or, with the
10
+ * rule before it, to upscaling a 640x360 sub-stream by 3x. Neither is a thing
11
+ * anyone can be expected to work out from a text field.
12
+ *
13
+ * ## What it is derived from
14
+ *
15
+ * The operator draws two rectangles per camera — which part of the source to
16
+ * take, and where it lands — and both are fractions, so nothing is pixels yet.
17
+ * Exactly one number is missing: how many pixels the whole canvas is worth.
18
+ *
19
+ * A cell has `sourceResolution x crop` REAL pixels behind it. Showing them 1:1
20
+ * neither invents nor discards anything, so the cell should be exactly that
21
+ * many pixels — and since the cell is a fraction `f` of the canvas, the canvas
22
+ * it implies is `real / f`. Each cell proposes one, and the LARGEST wins: the
23
+ * hungriest cell is served 1:1 and the others scale down by a hair, never up.
24
+ *
25
+ * Gaps change nothing. Cells need not cover the canvas, and an uncovered part
26
+ * is background — it has no pixels to propose.
27
+ *
28
+ * ## One per profile
29
+ *
30
+ * A source is a different size at each profile, so each profile derives its own
31
+ * canvas: a grid's `low` composes its sources' `low` onto the canvas their
32
+ * `low` implies. That is what makes the three outputs 1:1 with what they are
33
+ * made of, and what lets a viewer's adaptive pick a rung without the grid
34
+ * needing to know it exists.
35
+ */
36
+ import { type PixelSize } from "./grid-canvas.js";
37
+ import type { NormalizedRect } from "./grid-filter-graph.js";
3
38
  export interface GridCanvasCell {
4
- /** The part of the source this cell shows, normalized against the SOURCE. */
5
- readonly source: NormalizedRect;
6
- /** Where it lands, normalized against the CANVAS. */
7
- readonly cell: NormalizedRect;
8
- /** The source's size AT THE PROFILE being derived for. */
9
- readonly sourceSize: PixelSize;
39
+ /** The part of the source this cell shows, normalized against the SOURCE. */
40
+ readonly source: NormalizedRect;
41
+ /** Where it lands, normalized against the CANVAS. */
42
+ readonly cell: NormalizedRect;
43
+ /** The source's size AT THE PROFILE being derived for. */
44
+ readonly sourceSize: PixelSize;
10
45
  }
11
46
  /**
12
- * The canvas these cells imply, or `null` when they imply none.
13
- *
14
- * `null` for a grid with no cells — the normal freshly-created state — and for
15
- * a layout whose every rectangle is degenerate. Both are "there is no picture
16
- * to size", which the caller turns into "this profile is not on offer" rather
17
- * than into a guess.
18
- */
47
+ * The canvas these cells imply, or `null` when they imply none.
48
+ *
49
+ * `null` for a grid with no cells — the normal freshly-created state — and for
50
+ * a layout whose every rectangle is degenerate. Both are "there is no picture
51
+ * to size", which the caller turns into "this profile is not on offer" rather
52
+ * than into a guess.
53
+ */
19
54
  export declare function deriveGridCanvas(cells: readonly GridCanvasCell[]): PixelSize | null;
@@ -1,62 +1,112 @@
1
- import { PixelOrigin, PixelSize } from './grid-canvas.js';
2
- import { GridTilePlan } from './grid-tile-plan.js';
3
1
  /**
4
- * The word a card carries. Deliberately not a fault: nothing has arrived YET,
5
- * which is true of a camera that is slow and of one that is broken, and this
6
- * placeholder knows which it is for neither.
7
- */
2
+ * What the canvas SAYS before a single camera has delivered a frame.
3
+ *
4
+ * ## Why black was not good enough
5
+ *
6
+ * The compositor emits from its very first tick (`grid-compositor.ts`) — that
7
+ * is the whole point of a canvas, and it is what removed the ~9 s cold start.
8
+ * But what it emitted until now was black, and black is the same picture for
9
+ * four different situations: a grid with no cells, a grid whose sources are all
10
+ * broken, a grid whose sources are merely slow, and a viewer that connected to
11
+ * the wrong camera. An operator cannot tell them apart, and the one they
12
+ * actually hit — sources still opening — is the one that fixes itself.
13
+ *
14
+ * The seed paints the LAYOUT instead: one card per cell, at the cell's own
15
+ * rectangle, carrying the camera's name and the word `Waiting`. Three states
16
+ * become three pictures — "no cards" is an empty grid, "a card still there" is
17
+ * a tile that has not arrived, and "a picture" is a tile that has.
18
+ *
19
+ * It is honest about what it is. It is not a stand-in picture of the camera,
20
+ * and it never carries a state it has not been told (a tile whose source is
21
+ * genuinely broken is a matter for the tile's own decoder and its logs — this
22
+ * says only "nothing has arrived here yet", which is true of both).
23
+ *
24
+ * ## Drawn ONCE, before the tick exists
25
+ *
26
+ * The seed is a full-canvas frame blitted in at the compositor's construction,
27
+ * so the first tick already carries it and the tick never waits on anything.
28
+ * Rendering it is the only asynchronous part, and it happens BEFORE the
29
+ * compositor is built — never on the tick, which serves every cell.
30
+ *
31
+ * ## Why SVG → sharp, and why the conversion is here
32
+ *
33
+ * `snapshot-courtesy.ts` already renders text this way and states the reason:
34
+ * shelling out to ffmpeg's `drawtext` was 52 ms against sharp's 4.8 ms, and an
35
+ * SVG names a font FAMILY that fontconfig resolves instead of a font PATH that
36
+ * has to be probed. This is that pattern, not a second one.
37
+ *
38
+ * What is different is the output. The canvas is yuv420p — that is what makes a
39
+ * blit a strided memcpy — and sharp has no yuv output, so the raster is
40
+ * converted once, here, by `rgbToYuv420p`. Once per composition start, over a
41
+ * frame that is already being allocated; never per tick.
42
+ *
43
+ * ## Even, like everything else that touches the canvas
44
+ *
45
+ * The cards are the TILES' own rectangles, which `buildGridTilePlan` has
46
+ * already snapped to even pixels — yuv420p subsamples chroma 2×2, and an odd
47
+ * rectangle tints a tile rather than breaking it. Nothing here re-derives a
48
+ * rectangle; it copies the one the decoder was sized against, so a card cannot
49
+ * land anywhere other than exactly where its picture will.
50
+ */
51
+ import { type PixelOrigin, type PixelSize } from "./grid-canvas.js";
52
+ import type { GridTilePlan } from "./grid-tile-plan.js";
53
+ /**
54
+ * The word a card carries. Deliberately not a fault: nothing has arrived YET,
55
+ * which is true of a camera that is slow and of one that is broken, and this
56
+ * placeholder knows which it is for neither.
57
+ */
8
58
  export declare const GRID_SEED_WAITING_LABEL = "Waiting";
9
59
  export interface GridSeedCell {
10
- readonly origin: PixelOrigin;
11
- readonly size: PixelSize;
12
- /** What the card is labelled with — a camera name, or its id. */
13
- readonly name: string;
60
+ readonly origin: PixelOrigin;
61
+ readonly size: PixelSize;
62
+ /** What the card is labelled with — a camera name, or its id. */
63
+ readonly name: string;
14
64
  }
15
65
  export interface GridSeedSpec {
16
- readonly canvas: PixelSize;
17
- readonly cells: readonly GridSeedCell[];
66
+ readonly canvas: PixelSize;
67
+ readonly cells: readonly GridSeedCell[];
18
68
  }
19
69
  /**
20
- * The label for one source.
21
- *
22
- * A name we could not read is not a reason to paint an anonymous rectangle: the
23
- * DEVICE ID is what every log line about that tile carries, so it is the one
24
- * label an operator can act on. A blank or whitespace name is treated as no
25
- * name for the same reason.
26
- */
70
+ * The label for one source.
71
+ *
72
+ * A name we could not read is not a reason to paint an anonymous rectangle: the
73
+ * DEVICE ID is what every log line about that tile carries, so it is the one
74
+ * label an operator can act on. A blank or whitespace name is treated as no
75
+ * name for the same reason.
76
+ */
27
77
  export declare function gridSeedName(names: ReadonlyMap<number, string>, deviceId: number): string;
28
78
  /**
29
- * The seed a tile plan implies — pure, and the plan is the ONLY input to the
30
- * geometry. A card is its tile's rectangle, never a recomputed one.
31
- */
79
+ * The seed a tile plan implies — pure, and the plan is the ONLY input to the
80
+ * geometry. A card is its tile's rectangle, never a recomputed one.
81
+ */
32
82
  export declare function buildGridSeedSpec(plan: GridTilePlan, names: ReadonlyMap<number, string>): GridSeedSpec;
33
83
  /**
34
- * The document the seed is rasterized from.
35
- *
36
- * No full-bleed background: the uncovered part of a canvas is NOT a cell — the
37
- * cells need not cover it (`grid-canvas-derivation.ts`) — and painting a card's
38
- * treatment over it would say "waiting" about a tile that does not exist. It
39
- * stays the canvas' own black.
40
- *
41
- * Each card clips its own text. A camera named for a whole street would
42
- * otherwise spill across the cell next to it, and a label on the wrong tile is
43
- * worse than a truncated one.
44
- */
84
+ * The document the seed is rasterized from.
85
+ *
86
+ * No full-bleed background: the uncovered part of a canvas is NOT a cell — the
87
+ * cells need not cover it (`grid-canvas-derivation.ts`) — and painting a card's
88
+ * treatment over it would say "waiting" about a tile that does not exist. It
89
+ * stays the canvas' own black.
90
+ *
91
+ * Each card clips its own text. A camera named for a whole street would
92
+ * otherwise spill across the cell next to it, and a label on the wrong tile is
93
+ * worse than a truncated one.
94
+ */
45
95
  export declare function buildGridSeedSvg(spec: GridSeedSpec): string;
46
96
  /**
47
- * Packed RGB → yuv420p, once.
48
- *
49
- * Chroma is the average of each 2×2 block's colour, converted once per block —
50
- * which is what 4:2:0 means, and what keeps a card's border from fringing.
51
- * Sizes must be even; the canvas refuses anything else, so a caller that got
52
- * here with an odd size has a bug the blit would hide.
53
- */
97
+ * Packed RGB → yuv420p, once.
98
+ *
99
+ * Chroma is the average of each 2×2 block's colour, converted once per block —
100
+ * which is what 4:2:0 means, and what keeps a card's border from fringing.
101
+ * Sizes must be even; the canvas refuses anything else, so a caller that got
102
+ * here with an odd size has a bug the blit would hide.
103
+ */
54
104
  export declare function rgbToYuv420p(rgb: Buffer, size: PixelSize): Buffer;
55
105
  /**
56
- * Render the seed as one yuv420p frame the canvas can take whole.
57
- *
58
- * Rejects on failure rather than answering black: the caller decides, and it
59
- * decides to carry on without a seed — a grid that would not start because its
60
- * placeholder would not draw is a worse grid than one that starts black.
61
- */
106
+ * Render the seed as one yuv420p frame the canvas can take whole.
107
+ *
108
+ * Rejects on failure rather than answering black: the caller decides, and it
109
+ * decides to carry on without a seed — a grid that would not start because its
110
+ * placeholder would not draw is a worse grid than one that starts black.
111
+ */
62
112
  export declare function renderGridSeed(spec: GridSeedSpec): Promise<Buffer>;