@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,31 +1,66 @@
1
- import { PixelOrigin, PixelSize } from './grid-canvas.js';
2
- import { NormalizedRect } from './grid-filter-graph.js';
1
+ /**
2
+ * The operator's layout, as one decoder child per CELL.
3
+ *
4
+ * ## Why per cell, when `grid-plan.ts` dedupes per source
5
+ *
6
+ * The single ffmpeg that this replaces made a camera used by two cells ONE
7
+ * input, because decoding it twice doubles the expensive half of the job. A
8
+ * compositor cannot do that with the same shape: this repo has exactly one
9
+ * ffmpeg argv builder (`scripts/check-ffmpeg-primitive.ts`, Rule 1) and it
10
+ * expresses one output per process, so a source feeding two differently cropped
11
+ * and differently scaled tiles needs two children.
12
+ *
13
+ * The trade is small and worth stating: since D528 every source is read at its
14
+ * CHEAPEST stream, so the duplicate is a second 640x360 sub-stream decode, not a
15
+ * second 4 MP one. Teaching the builder several outputs would buy that back, and
16
+ * is the right change to make if a grid ever shows one camera many times — it is
17
+ * deliberately not made for a case that costs this little.
18
+ *
19
+ * ## Why the tile is scaled in the DECODER
20
+ *
21
+ * ffmpeg's scaler is SIMD and already there. Scaling in this process would be a
22
+ * per-pixel loop in JavaScript, on the event loop that also answers the grid's
23
+ * RPCs. Handing each child the exact pixel size its rectangle needs makes the
24
+ * composition a strided memcpy (`grid-canvas.ts`) and keeps the only per-pixel
25
+ * work where it belongs.
26
+ *
27
+ * ## Even, and snapped DOWN
28
+ *
29
+ * yuv420p subsamples chroma 2x2, so an odd origin lands a tile's chroma half a
30
+ * sample off its luma — which TINTS the tile instead of breaking it, and
31
+ * survives review. Sizes round DOWN so a tile never claims a row the decoder
32
+ * was not asked to produce; a cell that rounds away to nothing is dropped
33
+ * rather than emitted at zero size, because a zero-size output is an ffmpeg
34
+ * start-up failure that would take the whole grid with it.
35
+ */
36
+ import { type PixelOrigin, type PixelSize } from "./grid-canvas.js";
37
+ import type { NormalizedRect } from "./grid-filter-graph.js";
3
38
  /** The one pixel format the canvas is in, so a blit is a copy and not a convert. */
4
39
  export declare const TILE_PIXEL_FORMAT = "yuv420p";
5
40
  export interface GridTilePlanCell {
6
- readonly deviceId: number;
7
- /** The part of the source to take, normalized against the SOURCE. */
8
- readonly source: NormalizedRect;
9
- /** Where it lands, normalized against the CANVAS. */
10
- readonly cell: NormalizedRect;
41
+ readonly deviceId: number;
42
+ /** The part of the source to take, normalized against the SOURCE. */
43
+ readonly source: NormalizedRect;
44
+ /** Where it lands, normalized against the CANVAS. */
45
+ readonly cell: NormalizedRect;
11
46
  }
12
47
  export interface GridTilePlanInput {
13
- readonly canvas: PixelSize;
14
- readonly cells: readonly GridTilePlanCell[];
48
+ readonly canvas: PixelSize;
49
+ readonly cells: readonly GridTilePlanCell[];
15
50
  }
16
51
  export interface GridTile {
17
- /** Unique within this composition — the key its frames arrive under. */
18
- readonly id: string;
19
- readonly deviceId: number;
20
- readonly size: PixelSize;
21
- readonly origin: PixelOrigin;
22
- /** Bytes one frame of this tile occupies — the feed's frame length. */
23
- readonly frameBytes: number;
24
- /** The `-vf` chain its decoder runs: crop (when cropped), scale, format. */
25
- readonly filter: string;
52
+ /** Unique within this composition — the key its frames arrive under. */
53
+ readonly id: string;
54
+ readonly deviceId: number;
55
+ readonly size: PixelSize;
56
+ readonly origin: PixelOrigin;
57
+ /** Bytes one frame of this tile occupies — the feed's frame length. */
58
+ readonly frameBytes: number;
59
+ /** The `-vf` chain its decoder runs: crop (when cropped), scale, format. */
60
+ readonly filter: string;
26
61
  }
27
62
  export interface GridTilePlan {
28
- readonly canvas: PixelSize;
29
- readonly tiles: readonly GridTile[];
63
+ readonly canvas: PixelSize;
64
+ readonly tiles: readonly GridTile[];
30
65
  }
31
66
  export declare function buildGridTilePlan(input: GridTilePlanInput): GridTilePlan;
@@ -1,4 +1,20 @@
1
- import { CamStreamKind } from '@camstack/types';
1
+ /**
2
+ * The one place that says what a grid puts on the wire.
3
+ *
4
+ * Four things have to agree — the ffmpeg sink, the HTTP content type, the URL
5
+ * the broker dials, and the `kind` the catalog declares — and on 2026-09-17
6
+ * they stopped agreeing twice in one hour. The switch from MPEG-TS to FLV
7
+ * moved three of them and left the snapshot sampler spawning `-f mpegts`
8
+ * against an FLV pipe: every grab returned nothing, and the WARN said "the
9
+ * frame grab produced no bytes" without naming a format, because from where it
10
+ * stood there was nothing to name.
11
+ *
12
+ * A constant cannot drift the way four literals can. Why FLV at all is
13
+ * explained where the sink is built (`grid-stream-invocation.ts`): the bundled
14
+ * ffmpeg segfaults re-muxing MPEG-TS, which is exactly what the broker's source
15
+ * reader does to whatever this serves.
16
+ */
17
+ import type { CamStreamKind } from "@camstack/types";
2
18
  /** The ffmpeg muxer the composition writes to stdout. */
3
19
  export declare const GRID_WIRE_CONTAINER: "flv";
4
20
  /** What the relay answers with, and what the sampler must demux. */
@@ -6,9 +22,9 @@ export declare const GRID_WIRE_CONTENT_TYPE = "video/x-flv";
6
22
  /** `/grid/<instanceId>/<profile>.flv`. */
7
23
  export declare const GRID_WIRE_PATH_SUFFIX = ".flv";
8
24
  /**
9
- * How the broker must ingest it: `pull-flv` is documented as ALWAYS read
10
- * through the ffmpeg source reader with `-c copy`. `pull-http` would have been
11
- * the intuitive choice and means MJPEG in this broker — it answers with
12
- * `HTTP_MJPEG_H264_OUTPUT_ARGS` and re-encodes an already-encoded H.264.
13
- */
25
+ * How the broker must ingest it: `pull-flv` is documented as ALWAYS read
26
+ * through the ffmpeg source reader with `-c copy`. `pull-http` would have been
27
+ * the intuitive choice and means MJPEG in this broker — it answers with
28
+ * `HTTP_MJPEG_H264_OUTPUT_ARGS` and re-encodes an already-encoded H.264.
29
+ */
14
30
  export declare const GRID_WIRE_STREAM_KIND: CamStreamKind;
@@ -1,45 +1,45 @@
1
1
  /**
2
- * Camera Grids — composite cameras built from other cameras.
3
- *
4
- * The manifest `entry` points at THIS module's build (`./dist/index.js`), and
5
- * `vite.config.ts` must carry an `entries` key for every module a manifest
6
- * names — a manifest entry is just a string and nothing resolves it at build
7
- * time, so a missing key compiles and fails at runtime.
8
- * `scripts/check-addon-entries.ts` is what catches that.
9
- */
10
- export { CameraGridAddon } from './addon.js';
11
- export { CameraGridAddon as default } from './addon.js';
12
- export { buildGridFilterGraph } from './grid-filter-graph.js';
13
- export type { GridCell, GridFilterGraph, GridLayout, NormalizedRect, } from './grid-filter-graph.js';
14
- export { buildGridCameraDeclarations, gridCameraReconciliationIndex, newGridCameraStableId, } from './grid-camera-declarations.js';
15
- export type { ExistingGridCameraRow, GridCameraConfig, GridCameraDeclaration, } from './grid-camera-declarations.js';
16
- export { GridCameraDevice, installGridCameraRuntime } from './grid-camera-device.js';
17
- export type { GridCameraRuntime } from './grid-camera-device.js';
18
- export { readGridInstances } from './grid-instances.js';
19
- export type { GridCellConfig, GridInstance } from './grid-instances.js';
20
- export { gridPlanFor } from './grid-plan.js';
21
- export type { GridPlanEncodeContext } from './grid-plan.js';
22
- export { normalizeGridRows } from './grid-row-normalization.js';
23
- export type { NormalizedGridRows } from './grid-row-normalization.js';
24
- export { gridStreamDescriptor } from './grid-stream-descriptor.js';
25
- export { GRID_CAM_STREAM_ID, GRID_PROFILES, gridCamStreamId, gridProfilePlans, } from './grid-profiles.js';
26
- export type { GridProfilePlan, ServedProfile } from './grid-profiles.js';
27
- export { deriveGridCanvas } from './grid-canvas-derivation.js';
28
- export { gridSourceDial } from './grid-sentry-sources.js';
29
- export type { GridSourceAcquisition, GridSourceDial } from './grid-sentry-sources.js';
30
- export { GridSnapshotSource, gridSnapshotAnswerFor } from './grid-snapshot.js';
31
- export type { GridLastFrameStore, GridSnapshotAnswer, GridSnapshotDeps, GridSnapshotImage, GridSnapshotSession, } from './grid-snapshot.js';
32
- export { GridLastFrameFileStore } from './grid-last-frame-store.js';
33
- export { GridFrameSampler } from './grid-frame-sample.js';
34
- export type { GridFrameSource, GridSpawn } from './grid-frame-sample.js';
35
- export type { GridStreamDescriptorInput } from './grid-stream-descriptor.js';
36
- export { gridStreamInvocation } from './grid-stream-invocation.js';
37
- export type { GridStreamInvocationInput, GridStreamSource } from './grid-stream-invocation.js';
38
- export { GridStreamRelay, parseGridStreamPath } from './grid-stream-relay.js';
39
- export type { GridStreamRelayDeps, GridStreamRequest } from './grid-stream-relay.js';
40
- export { GridStreamSession } from './grid-stream-session.js';
41
- export type { GridSourceHandle, GridStreamChild, GridStreamConsumer, GridStreamHold, GridStreamLogger, GridStreamPlan, GridStreamSessionDeps, GridStreamSessionOptions, } from './grid-stream-session.js';
42
- export { startGridChild } from './grid-child.js';
43
- export type { GridChildContext } from './grid-child.js';
44
- export { GRID_SILENCED_CAP_NAMES, silenceAnalysisFor } from './silence-analysis.js';
45
- export type { SilenceAnalysisDeps } from './silence-analysis.js';
2
+ * Camera Grids — composite cameras built from other cameras.
3
+ *
4
+ * The manifest `entry` points at THIS module's build (`./dist/index.js`), and
5
+ * `vite.config.ts` must carry an `entries` key for every module a manifest
6
+ * names — a manifest entry is just a string and nothing resolves it at build
7
+ * time, so a missing key compiles and fails at runtime.
8
+ * `scripts/check-addon-entries.ts` is what catches that.
9
+ */
10
+ export { CameraGridAddon } from "./addon.js";
11
+ export { CameraGridAddon as default } from "./addon.js";
12
+ export { buildGridFilterGraph } from "./grid-filter-graph.js";
13
+ export type { GridCell, GridFilterGraph, GridLayout, NormalizedRect } from "./grid-filter-graph.js";
14
+ export { buildGridCameraDeclarations, gridCameraReconciliationIndex, newGridCameraStableId } from "./grid-camera-declarations.js";
15
+ export type { ExistingGridCameraRow, GridCameraConfig, GridCameraDeclaration } from "./grid-camera-declarations.js";
16
+ export { GridCameraDevice, installGridCameraRuntime } from "./grid-camera-device.js";
17
+ export type { GridCameraRuntime } from "./grid-camera-device.js";
18
+ export { readGridInstances } from "./grid-instances.js";
19
+ export type { GridCellConfig, GridInstance } from "./grid-instances.js";
20
+ export { gridPlanFor } from "./grid-plan.js";
21
+ export type { GridPlanEncodeContext } from "./grid-plan.js";
22
+ export { normalizeGridRows } from "./grid-row-normalization.js";
23
+ export type { NormalizedGridRows } from "./grid-row-normalization.js";
24
+ export { gridStreamDescriptor } from "./grid-stream-descriptor.js";
25
+ export { GRID_CAM_STREAM_ID, GRID_PROFILES, gridCamStreamId, gridProfilePlans } from "./grid-profiles.js";
26
+ export type { GridProfilePlan, ServedProfile } from "./grid-profiles.js";
27
+ export { deriveGridCanvas } from "./grid-canvas-derivation.js";
28
+ export { gridSourceDial } from "./grid-sentry-sources.js";
29
+ export type { GridSourceAcquisition, GridSourceDial } from "./grid-sentry-sources.js";
30
+ export { GridSnapshotSource, gridSnapshotAnswerFor } from "./grid-snapshot.js";
31
+ export type { GridLastFrameStore, GridSnapshotAnswer, GridSnapshotDeps, GridSnapshotImage, GridSnapshotSession } from "./grid-snapshot.js";
32
+ export { GridLastFrameFileStore } from "./grid-last-frame-store.js";
33
+ export { GridFrameSampler } from "./grid-frame-sample.js";
34
+ export type { GridFrameSource, GridSpawn } from "./grid-frame-sample.js";
35
+ export type { GridStreamDescriptorInput } from "./grid-stream-descriptor.js";
36
+ export { gridStreamInvocation } from "./grid-stream-invocation.js";
37
+ export type { GridStreamInvocationInput, GridStreamSource } from "./grid-stream-invocation.js";
38
+ export { GridStreamRelay, parseGridStreamPath } from "./grid-stream-relay.js";
39
+ export type { GridStreamRelayDeps, GridStreamRequest } from "./grid-stream-relay.js";
40
+ export { GridStreamSession } from "./grid-stream-session.js";
41
+ export type { GridSourceHandle, GridStreamChild, GridStreamConsumer, GridStreamHold, GridStreamLogger, GridStreamPlan, GridStreamSessionDeps, GridStreamSessionOptions } from "./grid-stream-session.js";
42
+ export { startGridChild } from "./grid-child.js";
43
+ export type { GridChildContext } from "./grid-child.js";
44
+ export { GRID_SILENCED_CAP_NAMES, silenceAnalysisFor } from "./silence-analysis.js";
45
+ export type { SilenceAnalysisDeps } from "./silence-analysis.js";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-8LQ4lDEB.js");
6
+ const require_dist = require("../../dist-XTkzsnz-.js");
7
7
  let zod = require("zod");
8
8
  let _camstack_types_node = require("@camstack/types/node");
9
9
  let node_path = require("node:path");
@@ -1,4 +1,4 @@
1
- import { Mr as hydrateSchema, N as MOTION_CLOSE_AFTER_MS, Pn as snapshotCapability, Tr as createEvent, Yn as buildFfmpegArgs, b as DeclaredDevices, cr as DeviceType, ht as declarationOwnerNodeId, i as BaseDevice, in as memoizePinnedFfmpeg, lr as errMsg, ni as EventCategory, nt as cameraGridLayoutCapability, or as DeviceFeature, sn as motionCapability, ur as BaseAddon, y as DERIVED_CAMERA_SILENCED_CAP_NAMES, zn as streamCatalogCapability } from "../../dist-Biqn3TEn.mjs";
1
+ import { Mr as hydrateSchema, N as MOTION_CLOSE_AFTER_MS, Pn as snapshotCapability, Tr as createEvent, Yn as buildFfmpegArgs, b as DeclaredDevices, cr as DeviceType, ht as declarationOwnerNodeId, i as BaseDevice, in as memoizePinnedFfmpeg, lr as errMsg, ni as EventCategory, nt as cameraGridLayoutCapability, or as DeviceFeature, sn as motionCapability, ur as BaseAddon, y as DERIVED_CAMERA_SILENCED_CAP_NAMES, zn as streamCatalogCapability } from "../../dist-byg8IP4Q.mjs";
2
2
  import { z } from "zod";
3
3
  import { FfmpegProcess } from "@camstack/types/node";
4
4
  import { join } from "node:path";
@@ -1,20 +1,37 @@
1
- import { AddonApi, IScopedLogger } from '@camstack/types';
2
1
  /**
3
- * The list lives in `@camstack/types` now, and this is an alias rather than a
4
- * second copy. There WERE two — this one and the Terminal addon's — and they
5
- * had drifted: neither named `pipeline-analytics`, the one cap with no gate of
6
- * its own, which is what a grid forwarding its sources' motion would have used
7
- * to write a duplicate motion episode per event.
8
- */
2
+ * Every analyzer a composite camera is created with switched OFF.
3
+ *
4
+ * A grid is a picture we composed from cameras that are ALREADY analyzed. Running
5
+ * detection on the composite would pay for the same subjects a second time, and
6
+ * would attribute them to a camera that does not exist as a viewpoint — a person
7
+ * detected in the bottom-right cell is a person on THAT camera, not on the grid.
8
+ *
9
+ * `motion-detection` sits first deliberately: it is the one that holds the decode
10
+ * session open, so its absence is the difference between a grid costing a
11
+ * composition and costing a full decode pipeline. Same ordering, and the same
12
+ * reason, as the Terminal addon's list.
13
+ *
14
+ * Called ONLY on creation. An operator who deliberately turns detection back on
15
+ * for a grid must win, and a reconcile that re-asserted every pass would silently
16
+ * overrule them once a minute.
17
+ */
18
+ import { type AddonApi, type IScopedLogger } from "@camstack/types";
19
+ /**
20
+ * The list lives in `@camstack/types` now, and this is an alias rather than a
21
+ * second copy. There WERE two — this one and the Terminal addon's — and they
22
+ * had drifted: neither named `pipeline-analytics`, the one cap with no gate of
23
+ * its own, which is what a grid forwarding its sources' motion would have used
24
+ * to write a duplicate motion episode per event.
25
+ */
9
26
  export declare const GRID_SILENCED_CAP_NAMES: readonly string[];
10
27
  export interface SilenceAnalysisDeps {
11
- readonly api: AddonApi;
12
- readonly logger: IScopedLogger;
28
+ readonly api: AddonApi;
29
+ readonly logger: IScopedLogger;
13
30
  }
14
31
  /**
15
- * @throws if a cap IS bound and the write to its authority failed. The composite
16
- * would then be running a full analyzer over a picture whose subjects are already
17
- * counted elsewhere — exactly the cost this removes — and a silent version of
18
- * that failure is unfindable.
19
- */
32
+ * @throws if a cap IS bound and the write to its authority failed. The composite
33
+ * would then be running a full analyzer over a picture whose subjects are already
34
+ * counted elsewhere — exactly the cost this removes — and a silent version of
35
+ * that failure is unfindable.
36
+ */
20
37
  export declare function silenceAnalysisFor(deps: SilenceAnalysisDeps, deviceId: number): Promise<void>;
@@ -1,32 +1,59 @@
1
- import { FieldClaim, IScopedLogger } from '@camstack/types';
1
+ /**
2
+ * The D49 gate over RELEASING a claim (D663).
3
+ *
4
+ * A composition on an existing device owns fields of the device through claims
5
+ * on the hub, keyed by the block id. When the block is deleted, disabled, or
6
+ * loses a feature, its claims must be handed back — and a block missing from
7
+ * ONE apply (a transient store read, a race) must not hand a native field back
8
+ * for good. So a release needs two consecutive applies to agree, exactly like
9
+ * `WithdrawalGate` guards a composed device (D659).
10
+ *
11
+ * The gate is seeded at boot from the hub's claims index, so a restart is never
12
+ * the first miss: an orphaned claim of a block that no longer exists is
13
+ * released on the SECOND apply after boot, not the first, and not never.
14
+ *
15
+ * A release the hub did not confirm (a throw, an unreadable row, a migration in
16
+ * flight) is retried on EVERY later apply until it lands — never on a timer
17
+ * (D3), and never given up: a forgotten orphan claim would pin a stale composed
18
+ * value on a native field until the composer restarts. Logged once per
19
+ * transition (D391): a WARN when the failures start, an INFO naming the failed
20
+ * attempts when it finally lands. This is also what heals a runtime whose own
21
+ * `releaseClaim` on `disable()` failed: a disabled runtime runs no further pass
22
+ * to re-send it (Task 8), the gate does.
23
+ *
24
+ * NOT the gate's: a FIELD released because its source is unavailable (S1b).
25
+ * That is the runtime's `withhold`, immediate and reversible on the next event —
26
+ * a source that blinked is not a withdrawal of the block's authority.
27
+ */
28
+ import type { FieldClaim, IScopedLogger } from "@camstack/types";
2
29
  export interface ClaimKey {
3
- readonly deviceId: number;
4
- readonly capName: string;
5
- readonly owner: string;
30
+ readonly deviceId: number;
31
+ readonly capName: string;
32
+ readonly owner: string;
6
33
  }
7
34
  export declare function claimKey(k: ClaimKey): string;
8
35
  export declare class ClaimGate {
9
- private readonly logger;
10
- private known;
11
- constructor(logger: IScopedLogger);
12
- /**
13
- * The claims the hub holds before this process applied anything. Called once
14
- * at boot, before the first `filter`. A claim the gate already knows keeps its
15
- * entry and its miss count.
16
- */
17
- seed(claims: readonly FieldClaim[]): void;
18
- /** Every claim known under one owner — what a block whose plan is held keeps (D659 placeholder rule). */
19
- claimsOf(owner: string): readonly ClaimKey[];
20
- /**
21
- * Learn `wanted` and answer the claims to release NOW: those absent from
22
- * `wanted` on two consecutive calls, plus those whose earlier release the hub
23
- * has not confirmed yet. A claim wanted again starts from zero misses.
24
- */
25
- filter(wanted: readonly ClaimKey[]): readonly ClaimKey[];
26
- /** The hub confirmed the release (or held nothing of ours): forgotten. */
27
- released(key: ClaimKey, how: string): void;
28
- /** The release did not land: kept, and returned by every later `filter` until it does. Never given up. */
29
- releaseFailed(key: ClaimKey, error: string): void;
30
- private tagsOf;
31
- private metaOf;
36
+ private readonly logger;
37
+ private known;
38
+ constructor(logger: IScopedLogger);
39
+ /**
40
+ * The claims the hub holds before this process applied anything. Called once
41
+ * at boot, before the first `filter`. A claim the gate already knows keeps its
42
+ * entry and its miss count.
43
+ */
44
+ seed(claims: readonly FieldClaim[]): void;
45
+ /** Every claim known under one owner — what a block whose plan is held keeps (D659 placeholder rule). */
46
+ claimsOf(owner: string): readonly ClaimKey[];
47
+ /**
48
+ * Learn `wanted` and answer the claims to release NOW: those absent from
49
+ * `wanted` on two consecutive calls, plus those whose earlier release the hub
50
+ * has not confirmed yet. A claim wanted again starts from zero misses.
51
+ */
52
+ filter(wanted: readonly ClaimKey[]): readonly ClaimKey[];
53
+ /** The hub confirmed the release (or held nothing of ours): forgotten. */
54
+ released(key: ClaimKey, how: string): void;
55
+ /** The release did not land: kept, and returned by every later `filter` until it does. Never given up. */
56
+ releaseFailed(key: ClaimKey, error: string): void;
57
+ private tagsOf;
58
+ private metaOf;
32
59
  }
@@ -1,38 +1,52 @@
1
- import { DeviceDeclaration, IScopedLogger } from '@camstack/types';
2
- import { ComposedDeviceHandle } from './composed-device.js';
3
- import { ComposerDerivedSpec, PlannedBlock } from './composer-plan.js';
4
- import { PersistedComposedRow } from './composition-declarations.js';
1
+ /**
2
+ * The composed devices the composer DECLARED (D659): one row per `new`-target
3
+ * block, hung off the shared Blocks integration, adopted or built by
4
+ * `DeclaredDevices.reconcile`. This is the only place a composed row is created,
5
+ * kept or swept — a composition on an EXISTING device never enters it (D663).
6
+ *
7
+ * - `rows` is the set of stableIds whose row exists: seeded from the persisted
8
+ * rows at boot, then what every declare kept. Planning asks it to decide
9
+ * whether a block that stopped planning has a row to hold as a placeholder.
10
+ * - A changed shape (type, role, cap set, placeholder or not) needs a NEW device
11
+ * object: decommission, and let the reconcile adopt it with the new class. A
12
+ * failure keeps the old device and is retried on the next apply.
13
+ * - A failed reconcile changes nothing (D49): the devices already live stay.
14
+ */
15
+ import { type DeviceDeclaration, type IScopedLogger } from "@camstack/types";
16
+ import type { ComposedDeviceHandle } from "./composed-device.js";
17
+ import type { ComposerDerivedSpec, PlannedBlock } from "./composer-plan.js";
18
+ import type { PersistedComposedRow } from "./composition-declarations.js";
5
19
  export interface ComposerDevicePorts {
6
- setName(deviceId: number, name: string): Promise<void>;
7
- decommission(deviceId: number): Promise<void>;
8
- applyDerivedSpec(deviceId: number, derived: ComposerDerivedSpec): Promise<void>;
20
+ setName(deviceId: number, name: string): Promise<void>;
21
+ decommission(deviceId: number): Promise<void>;
22
+ applyDerivedSpec(deviceId: number, derived: ComposerDerivedSpec): Promise<void>;
9
23
  }
10
24
  export interface ComposerDeclareResult {
11
- /** Live composed devices by stableId. */
12
- readonly devices: ReadonlyMap<string, ComposedDeviceHandle>;
25
+ /** Live composed devices by stableId. */
26
+ readonly devices: ReadonlyMap<string, ComposedDeviceHandle>;
13
27
  }
14
28
  export type ComposerDeclare = (integrationId: string, devices: readonly DeviceDeclaration[]) => Promise<ComposerDeclareResult>;
15
29
  export interface ComposedDeviceSetDeps {
16
- readonly logger: IScopedLogger;
17
- readonly declare: ComposerDeclare;
18
- readonly devices: ComposerDevicePorts;
30
+ readonly logger: IScopedLogger;
31
+ readonly declare: ComposerDeclare;
32
+ readonly devices: ComposerDevicePorts;
19
33
  }
20
34
  /** What `rebuildShapes` needs of a block's previous apply: its live device and the shape it was built for. */
21
35
  export interface PreviousShape {
22
- readonly device: ComposedDeviceHandle | null;
23
- readonly shape: string | null;
36
+ readonly device: ComposedDeviceHandle | null;
37
+ readonly shape: string | null;
24
38
  }
25
39
  export declare class ComposedDeviceSet {
26
- private readonly deps;
27
- private devices;
28
- private existingRows;
29
- private declaredFingerprint;
30
- constructor(deps: ComposedDeviceSetDeps);
31
- /** StableIds whose row exists. */
32
- get rows(): ReadonlySet<string>;
33
- seedRows(rows: readonly PersistedComposedRow[]): void;
34
- get(stableId: string): ComposedDeviceHandle | null;
35
- idOf(stableId: string): number | null;
36
- rebuildShapes(planned: readonly PlannedBlock[], previousOf: (blockId: string) => PreviousShape | undefined): Promise<ReadonlyMap<string, string>>;
37
- reconcile(integrationId: string, declarations: readonly DeviceDeclaration[], planned: readonly PlannedBlock[]): Promise<void>;
40
+ private readonly deps;
41
+ private devices;
42
+ private existingRows;
43
+ private declaredFingerprint;
44
+ constructor(deps: ComposedDeviceSetDeps);
45
+ /** StableIds whose row exists. */
46
+ get rows(): ReadonlySet<string>;
47
+ seedRows(rows: readonly PersistedComposedRow[]): void;
48
+ get(stableId: string): ComposedDeviceHandle | null;
49
+ idOf(stableId: string): number | null;
50
+ rebuildShapes(planned: readonly PlannedBlock[], previousOf: (blockId: string) => PreviousShape | undefined): Promise<ReadonlyMap<string, string>>;
51
+ reconcile(integrationId: string, declarations: readonly DeviceDeclaration[], planned: readonly PlannedBlock[]): Promise<void>;
38
52
  }
@@ -1,27 +1,49 @@
1
- import { BaseDevice, CapabilityDefinition, DeviceConstructor, DeviceContext, DeviceFeature, DeviceType, IDevice } from '@camstack/types';
2
- import { z } from 'zod';
3
- import { ComposedWriteTarget, WriteOutcome } from './composition-runtime.js';
4
- import { SlicePatch } from './slice-assembler.js';
5
- declare const COMPOSED_DEVICE_CONFIG_SCHEMA: z.ZodObject<{}, z.core.$strip>;
1
+ /**
2
+ * A composed device: an ordinary `BaseDevice` whose caps are served by the
3
+ * composer (D659). Every consumer (exporters, NC, UI, HomeKit) reads it
4
+ * through its bindings, unchanged.
5
+ *
6
+ * It serves NO command method: slice 1 refuses any cap with one
7
+ * (`has-commands`), and commands arrive with `forward` in slice 3. So each
8
+ * composed cap is registered with an EMPTY native provider, and `getStatus`
9
+ * (R4) is the kernel's: `registerNativeCap` installs a default that reads the
10
+ * device's runtime slice for any cap declaring both `status` and
11
+ * `runtimeState` (`device-cap-proxy.ts`, "Default `getStatus`"), on the
12
+ * registry path and the forked-runner (UDS) path alike. Every composable cap
13
+ * qualifies: the validator refuses a cap with no `runtimeState`
14
+ * (`validate-composition.ts`, `not-composable`). The default is correct only
15
+ * because, for every composable cap, `status.schema` and `runtimeState` have
16
+ * one shape — `composed-device.spec.ts` enumerates the real cap registry and
17
+ * fails the day one breaks it (slice 3 lifting `has-commands` makes
18
+ * `recording-signal` such a cap). `room-device.e2e.spec.ts` proves R4 through
19
+ * the real registry. Its type comes from the declaration, not from
20
+ * `deviceMeta`: a failed meta read builds a device as `generic`, and the
21
+ * declaration is the authority for what this device is.
22
+ */
23
+ import { BaseDevice, type CapabilityDefinition, type DeviceConstructor, type DeviceContext, type DeviceFeature, type DeviceType, type IDevice } from "@camstack/types";
24
+ import { z } from "zod";
25
+ import type { ComposedWriteTarget, WriteOutcome } from "./composition-runtime.js";
26
+ import type { SlicePatch } from "./slice-assembler.js";
27
+ declare const COMPOSED_DEVICE_CONFIG_SCHEMA: z.ZodObject<Record<string, never>>;
6
28
  export interface ComposedDeviceHandle extends ComposedWriteTarget {
7
- readonly name: string;
29
+ readonly name: string;
8
30
  }
9
31
  export declare class ComposedDevice extends BaseDevice<typeof COMPOSED_DEVICE_CONFIG_SCHEMA> implements ComposedDeviceHandle {
10
- readonly features: readonly DeviceFeature[];
11
- constructor(ctx: DeviceContext, type: DeviceType, caps: readonly CapabilityDefinition[]);
12
- seed(capName: string, slice: SlicePatch): WriteOutcome;
13
- patch(capName: string, patch: SlicePatch): WriteOutcome;
14
- setAvailable(available: boolean): void;
32
+ readonly features: readonly DeviceFeature[];
33
+ constructor(ctx: DeviceContext, type: DeviceType, caps: readonly CapabilityDefinition[]);
34
+ seed(capName: string, slice: SlicePatch): WriteOutcome;
35
+ patch(capName: string, patch: SlicePatch): WriteOutcome;
36
+ setAvailable(available: boolean): void;
15
37
  }
16
38
  export declare function composedDeviceClass(type: DeviceType, caps: readonly CapabilityDefinition[]): DeviceConstructor<ComposedDevice>;
17
39
  /**
18
- * A composed device kept alive by the withdrawal gate for a persisted row whose
19
- * block this process has not planned (yet): no caps, offline. Its type is the
20
- * ROW's (`deviceMeta.type`) — only ever adopted from an existing row, where the
21
- * row is canonical — because there is no plan to take one from.
22
- */
40
+ * A composed device kept alive by the withdrawal gate for a persisted row whose
41
+ * block this process has not planned (yet): no caps, offline. Its type is the
42
+ * ROW's (`deviceMeta.type`) — only ever adopted from an existing row, where the
43
+ * row is canonical — because there is no plan to take one from.
44
+ */
23
45
  export declare class ComposedPlaceholderDevice extends ComposedDevice {
24
- constructor(ctx: DeviceContext);
46
+ constructor(ctx: DeviceContext);
25
47
  }
26
48
  export declare function isComposedDevice(device: IDevice): device is ComposedDevice;
27
49
  export {};
@@ -1,21 +1,28 @@
1
- import { ComposerApplyInput, ComposerApplyResult, IScopedLogger } from '@camstack/types';
1
+ /**
2
+ * The two preconditions an apply waits on BEFORE it reads anything (D49, R2):
3
+ * the `core_blocks` store has loaded, and the shared Blocks integration has
4
+ * reconciled. Each wait is warned once per run — the supervisor re-applies
5
+ * every converge while it waits — and its end is logged with the count of
6
+ * applies it refused.
7
+ */
8
+ import type { ComposerApplyInput, ComposerApplyResult, IScopedLogger } from "@camstack/types";
2
9
  /** An apply either waits, naming why, or goes on with the reconciled integration. */
3
10
  export type ApplyGate = {
4
- readonly kind: 'wait';
5
- readonly reason: string;
11
+ readonly kind: "wait";
12
+ readonly reason: string;
6
13
  } | {
7
- readonly kind: 'go';
8
- readonly integrationId: string;
14
+ readonly kind: "go";
15
+ readonly integrationId: string;
9
16
  };
10
17
  export declare class ApplyWaits {
11
- private readonly logger;
12
- /** Consecutive applies refused because `core_blocks` had not loaded: warned once per run. */
13
- private storeWaitApplies;
14
- /** Consecutive applies refused because the Blocks integration had not reconciled: warned once per run. */
15
- private integrationWaitApplies;
16
- constructor(logger: IScopedLogger);
17
- /** Whether this apply must act on nothing (and why), or may go on. */
18
- check(input: ComposerApplyInput, liveCount: number): ApplyGate;
18
+ private readonly logger;
19
+ /** Consecutive applies refused because `core_blocks` had not loaded: warned once per run. */
20
+ private storeWaitApplies;
21
+ /** Consecutive applies refused because the Blocks integration had not reconciled: warned once per run. */
22
+ private integrationWaitApplies;
23
+ constructor(logger: IScopedLogger);
24
+ /** Whether this apply must act on nothing (and why), or may go on. */
25
+ check(input: ComposerApplyInput, liveCount: number): ApplyGate;
19
26
  }
20
27
  /** Every block `starting`, naming the wait; nothing acted. */
21
28
  export declare function waitingResult(blockIds: readonly string[], reason: string): ComposerApplyResult;