@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,92 +1,109 @@
1
- import { CapabilityLookup, ClaimsListing, CompositionFeaturePlan, CompositionFieldPlan, CompositionFieldState, CompositionSourceRef, CompositionTargetFound, deviceStateCapability, DeviceType, FieldClaimMode, IScopedLogger } from '@camstack/types';
2
- import { z } from 'zod';
3
- import { ReleasedField } from './composition-runtime.js';
4
- import { GraftOutcome } from './graft-host.js';
5
- import { OwnedFieldsApi } from './owned-fields-target.js';
6
- import { BoundCapsRead } from './source-tracker.js';
1
+ /**
2
+ * What the composer needs to run a composition on an EXISTING device (D663)
3
+ * besides the runtime and the claim-backed target: the target's description,
4
+ * the claim shapes derived from the plan, and the block report's words.
5
+ *
6
+ * - The target is DESCRIBED (bound caps → native addon, row type) with ONE
7
+ * `getBindings` per plan change, cached until `device.bindings-changed` for
8
+ * that device. A read that fails keeps the previous description; with none,
9
+ * the block waits and nothing is claimed (D49).
10
+ * - A claim's field set is the PLAN's (S5): the top-level fields of the cap, an
11
+ * item leaf contributing its whole array. Its mode is the feature's.
12
+ * - A self-read of the target (rule 6) is served from the NATIVE view unless it
13
+ * reads an ADDED cap — that is the composition's own output. Whether a native
14
+ * cap's `device.state-changed` is the native or the composition's own merge
15
+ * is NOT decided here from the plan: it follows whether the claim has landed
16
+ * (`HeldClaims`, C-1).
17
+ */
18
+ import { type CapabilityLookup, type ClaimsListing, type CompositionFeaturePlan, type CompositionFieldPlan, type CompositionFieldState, type CompositionSourceRef, type CompositionTargetFound, type deviceStateCapability, type DeviceType, type FieldClaimMode, type IScopedLogger } from "@camstack/types";
19
+ import type { z } from "zod";
20
+ import type { ReleasedField } from "./composition-runtime.js";
21
+ import type { GraftOutcome } from "./graft-host.js";
22
+ import type { OwnedFieldsApi } from "./owned-fields-target.js";
23
+ import type { BoundCapsRead } from "./source-tracker.js";
7
24
  export type ListClaimsInput = z.infer<typeof deviceStateCapability.methods.listClaims.input>;
8
25
  /** The hub's claim surface the composer uses: the write target's three methods plus the boot seed. */
9
26
  export interface ComposerClaimsApi extends OwnedFieldsApi {
10
- listClaims(input: ListClaimsInput): Promise<ClaimsListing>;
27
+ listClaims(input: ListClaimsInput): Promise<ClaimsListing>;
11
28
  }
12
29
  export interface ExistingTargetSeedRead {
13
- readonly byCap: ReadonlyMap<string, Readonly<Record<string, unknown>> | null>;
30
+ readonly byCap: ReadonlyMap<string, Readonly<Record<string, unknown>> | null>;
14
31
  }
15
32
  export interface SeedlessRestoredCapsInput {
16
- readonly logger: IScopedLogger;
17
- readonly blockId: string;
18
- readonly deviceId: number;
19
- readonly features: readonly CompositionFeaturePlan[];
20
- readonly seed: ExistingTargetSeedRead;
21
- readonly lookupCap: CapabilityLookup;
33
+ readonly logger: IScopedLogger;
34
+ readonly blockId: string;
35
+ readonly deviceId: number;
36
+ readonly features: readonly CompositionFeaturePlan[];
37
+ readonly seed: ExistingTargetSeedRead;
38
+ readonly lookupCap: CapabilityLookup;
22
39
  }
23
40
  /**
24
- * Review M3: an ADDED `restored` cap seeded from NOTHING says so, once per
25
- * runtime build, on its device. After a restart its state comes from the
26
- * target's runtime-state row; a row that lost the slice (D677: 615's doorbell,
27
- * dropped at a hub boot) used to surface as "not seeded yet" and now seeds a
28
- * clean `{ null, 0 }` — a lifetime count silently reset unless this line
29
- * names it. A first composition of a device that never had the slice logs it
30
- * too: the line cannot tell the two apart, and says both.
31
- */
41
+ * Review M3: an ADDED `restored` cap seeded from NOTHING says so, once per
42
+ * runtime build, on its device. After a restart its state comes from the
43
+ * target's runtime-state row; a row that lost the slice (D677: 615's doorbell,
44
+ * dropped at a hub boot) used to surface as "not seeded yet" and now seeds a
45
+ * clean `{ null, 0 }` — a lifetime count silently reset unless this line
46
+ * names it. A first composition of a device that never had the slice logs it
47
+ * too: the line cannot tell the two apart, and says both.
48
+ */
32
49
  export declare function reportSeedlessRestoredCaps(input: SeedlessRestoredCapsInput): void;
33
50
  /**
34
- * Read every affected effective capability exactly once, before the composer
35
- * grafts or claims any of them. A null slice is a successful empty seed; a
36
- * rejection is deliberately left to the caller so ownership cannot begin.
37
- */
51
+ * Read every affected effective capability exactly once, before the composer
52
+ * grafts or claims any of them. A null slice is a successful empty seed; a
53
+ * rejection is deliberately left to the caller so ownership cannot begin.
54
+ */
38
55
  export declare function readExistingTargetSeeds(targetDeviceId: number, caps: readonly string[], read: (deviceId: number, capName: string) => Promise<Readonly<Record<string, unknown>> | null>): Promise<ExistingTargetSeedRead>;
39
56
  /**
40
- * The composer's grafts (`GraftHost`, Task 10): a method-serving native for each
41
- * cap a customization ADDS. Grafted at PLAN time only; removed when a foreign
42
- * native appears, when the target is gone (Kernel ruling,
43
- * `DeviceContext.unregisterNativeCap`), or when the block's add claim is
44
- * released — else the runner keeps a native on that id and `LocalChildRegistry`
45
- * keeps routing to it.
46
- */
57
+ * The composer's grafts (`GraftHost`, Task 10): a method-serving native for each
58
+ * cap a customization ADDS. Grafted at PLAN time only; removed when a foreign
59
+ * native appears, when the target is gone (Kernel ruling,
60
+ * `DeviceContext.unregisterNativeCap`), or when the block's add claim is
61
+ * released — else the runner keeps a native on that id and `LocalChildRegistry`
62
+ * keeps routing to it.
63
+ */
47
64
  export interface ComposerGraftPorts {
48
- graft(deviceId: number, stableId: string, capName: string): GraftOutcome;
49
- ungraft(deviceId: number, capName: string, reason: string): void;
50
- grafted(deviceId: number): ReadonlySet<string>;
51
- /**
52
- * Retract a binding a PREVIOUS incarnation of the composer left on `deviceId`
53
- * (I-3): this process never registered it, so `ungraft` cannot reach it. The
54
- * caller has read that the binding IS the composer's.
55
- */
56
- retractStale(deviceId: number, capName: string, reason: string): void;
65
+ graft(deviceId: number, stableId: string, capName: string): GraftOutcome;
66
+ ungraft(deviceId: number, capName: string, reason: string): void;
67
+ grafted(deviceId: number): ReadonlySet<string>;
68
+ /**
69
+ * Retract a binding a PREVIOUS incarnation of the composer left on `deviceId`
70
+ * (I-3): this process never registered it, so `ungraft` cannot reach it. The
71
+ * caller has read that the binding IS the composer's.
72
+ */
73
+ retractStale(deviceId: number, capName: string, reason: string): void;
57
74
  }
58
75
  /** The reason every ungraft of a gone target carries (Task 9 rule 5 / Task 10 rule 2). */
59
76
  export declare const TARGET_GONE_UNGRAFT_REASON = "target device gone";
60
77
  export interface GoneTargetUngraft {
61
- readonly grafts: ComposerGraftPorts | undefined;
62
- readonly logger: IScopedLogger;
63
- readonly blockId: string;
64
- readonly deviceId: number;
65
- readonly ref: CompositionSourceRef;
66
- readonly features: readonly CompositionFeaturePlan[];
78
+ readonly grafts: ComposerGraftPorts | undefined;
79
+ readonly logger: IScopedLogger;
80
+ readonly blockId: string;
81
+ readonly deviceId: number;
82
+ readonly ref: CompositionSourceRef;
83
+ readonly features: readonly CompositionFeaturePlan[];
67
84
  }
68
85
  /**
69
- * Rule 5, on either path that finds the target gone (`device.unregistered`, or
70
- * a later plan when that event was dropped): ungraft every cap the block ADDED
71
- * on that id, with the one ERROR that says so.
72
- */
86
+ * Rule 5, on either path that finds the target gone (`device.unregistered`, or
87
+ * a later plan when that event was dropped): ungraft every cap the block ADDED
88
+ * on that id, with the one ERROR that says so.
89
+ */
73
90
  export declare function ungraftGoneTarget(input: GoneTargetUngraft): void;
74
91
  /** ONE `getBindings` read: cap → the addon serving it natively. */
75
92
  export type DescribeTarget = (deviceId: number) => Promise<BoundCapsRead>;
76
93
  export declare class TargetDescriptions {
77
- private readonly logger;
78
- private readonly readBoundCaps;
79
- private cache;
80
- constructor(logger: IScopedLogger, readBoundCaps: DescribeTarget);
81
- /** `device.bindings-changed` for this device: the next read is a real read. */
82
- invalidate(deviceId: number): void;
83
- /**
84
- * The description of `ref`, resolved to `deviceId`. Served from the cache
85
- * unless `force` (the block's plan changed) or nothing is cached. A read that
86
- * fails keeps the previous description of the SAME device id, and answers
87
- * null when there is none: the caller waits, and claims nothing.
88
- */
89
- describe(ref: CompositionSourceRef, deviceId: number, type: DeviceType, force: boolean): Promise<CompositionTargetFound | null>;
94
+ private readonly logger;
95
+ private readonly readBoundCaps;
96
+ private cache;
97
+ constructor(logger: IScopedLogger, readBoundCaps: DescribeTarget);
98
+ /** `device.bindings-changed` for this device: the next read is a real read. */
99
+ invalidate(deviceId: number): void;
100
+ /**
101
+ * The description of `ref`, resolved to `deviceId`. Served from the cache
102
+ * unless `force` (the block's plan changed) or nothing is cached. A read that
103
+ * fails keeps the previous description of the SAME device id, and answers
104
+ * null when there is none: the caller waits, and claims nothing.
105
+ */
106
+ describe(ref: CompositionSourceRef, deviceId: number, type: DeviceType, force: boolean): Promise<CompositionTargetFound | null>;
90
107
  }
91
108
  /** The PLANNED field set a claim carries for `cap` (S5): an item leaf claims its whole array. */
92
109
  export declare function claimFieldsOf(fields: readonly CompositionFieldPlan[], cap: string): readonly string[];
@@ -96,10 +113,10 @@ export declare function claimModeOf(features: readonly CompositionFeaturePlan[],
96
113
  export declare function addedCapsOf(features: readonly CompositionFeaturePlan[]): readonly string[];
97
114
  /** How the target's own caps are tracked for a block's self-reads (rule 6). */
98
115
  export interface SelfReadCaps {
99
- /** Added caps read back: the composition's own output, the effective view. */
100
- readonly effective: readonly string[];
101
- /** Every other self-read cap: the native view. */
102
- readonly native: readonly string[];
116
+ /** Added caps read back: the composition's own output, the effective view. */
117
+ readonly effective: readonly string[];
118
+ /** Every other self-read cap: the native view. */
119
+ readonly native: readonly string[];
103
120
  }
104
121
  export declare function selfReadCaps(fields: readonly CompositionFieldPlan[], target: CompositionSourceRef, features: readonly CompositionFeaturePlan[]): SelfReadCaps;
105
122
  /** The `degraded` reason (rule 8): one entry per released field, the source's own reason after the dash. */
@@ -107,8 +124,8 @@ export declare function degradedReason(released: readonly ReleasedField[]): stri
107
124
  /** The `starting` reason of a block with HELD fields: each keeps its last value and claim until its source answers (D49). */
108
125
  export declare function heldReason(held: readonly ReleasedField[]): string;
109
126
  /**
110
- * Rule 4: a customization whose row exists but whose plan failed keeps its
111
- * claims, so its owned fields stay at their last value on the hub. The report
112
- * says so — each field that had a value is `stale`, with the reason.
113
- */
127
+ * Rule 4: a customization whose row exists but whose plan failed keeps its
128
+ * claims, so its owned fields stay at their last value on the hub. The report
129
+ * says so — each field that had a value is `stale`, with the reason.
130
+ */
114
131
  export declare function heldFieldsOf(fields: readonly CompositionFieldState[], reason: string): readonly CompositionFieldState[];
@@ -1,17 +1,24 @@
1
- import { CapabilityLookup, CompositionFieldItem, CompositionFieldPlan, CompositionFieldState, ExpressionValue, FieldOutcome, StatefulExpressionMemory } from '@camstack/types';
1
+ /**
2
+ * One composed field's record and the pure judgements over it (D659, D663):
3
+ * what it may write, whether it is released (a CONFIRMED unavailability of a
4
+ * `release`-mode field, S1b) or HELD (no answer yet, D49), and how a report or a
5
+ * log line names it. Split from `composition-runtime.ts`, which holds the
6
+ * behaviour.
7
+ */
8
+ import { type CapabilityLookup, type CompositionFieldItem, type CompositionFieldPlan, type CompositionFieldState, type ExpressionValue, type FieldOutcome, type StatefulExpressionMemory } from "@camstack/types";
2
9
  export declare const NO_FIELDS: ReadonlySet<string>;
3
10
  export interface FieldRecord {
4
- readonly plan: CompositionFieldPlan;
5
- readonly outcome: FieldOutcome | null;
6
- /** The effective target value observed before this runtime took ownership. Never changes. */
7
- readonly initial: unknown;
8
- /** Whether `written` is an accepted runtime answer; kept separate because every falsey value is valid. */
9
- readonly hasWritten: boolean;
10
- /** What the target last accepted from this runtime. */
11
- readonly written: unknown;
12
- readonly expressionMemory: StatefulExpressionMemory;
13
- /** Last finite state value already represented by a derived event. */
14
- readonly eventHighWater: number | null;
11
+ readonly plan: CompositionFieldPlan;
12
+ readonly outcome: FieldOutcome | null;
13
+ /** The effective target value observed before this runtime took ownership. Never changes. */
14
+ readonly initial: unknown;
15
+ /** Whether `written` is an accepted runtime answer; kept separate because every falsey value is valid. */
16
+ readonly hasWritten: boolean;
17
+ /** What the target last accepted from this runtime. */
18
+ readonly written: unknown;
19
+ readonly expressionMemory: StatefulExpressionMemory;
20
+ /** Last finite state value already represented by a derived event. */
21
+ readonly eventHighWater: number | null;
15
22
  }
16
23
  export declare function fieldKey(plan: CompositionFieldPlan): string;
17
24
  export declare function createFieldRecord(plan: CompositionFieldPlan, byCap: ReadonlyMap<string, Readonly<Record<string, unknown>> | null> | undefined, lookupCap: CapabilityLookup): FieldRecord;
@@ -20,7 +27,7 @@ export declare function currentOutput(record: FieldRecord): unknown;
20
27
  export declare function topLevelField(plan: CompositionFieldPlan): string;
21
28
  /** The field as a report or a log line names it: `items[desiccant].status` for an item leaf. */
22
29
  export declare function fieldPath(plan: CompositionFieldPlan): string;
23
- export declare function itemOf(plan: CompositionFieldPlan): Partial<Pick<CompositionFieldState, 'item'>>;
30
+ export declare function itemOf(plan: CompositionFieldPlan): Partial<Pick<CompositionFieldState, "item">>;
24
31
  export declare function sameSet(a: ReadonlySet<string>, b: ReadonlySet<string>): boolean;
25
32
  export declare function valueOf(outcome: FieldOutcome | null): ExpressionValue | undefined;
26
33
  export declare function reasonOf(outcome: FieldOutcome | null): string | null;
@@ -36,15 +43,15 @@ export declare function namedField(r: FieldRecord): ReleasedField;
36
43
  export declare function writable(record: FieldRecord): ExpressionValue | undefined;
37
44
  /** A `release`-mode field handed back to the native provider, and why (for the block report). */
38
45
  export interface ReleasedField {
39
- readonly cap: string;
40
- readonly path: string;
41
- readonly item?: CompositionFieldItem;
42
- readonly reason: string;
46
+ readonly cap: string;
47
+ readonly path: string;
48
+ readonly item?: CompositionFieldItem;
49
+ readonly reason: string;
43
50
  }
44
51
  /** Why a cap's last write did not land; the cap is re-written whole on the next pass that evaluates it. */
45
52
  export interface PendingWrite {
46
- readonly kind: 'refused' | 'threw';
47
- readonly error: string;
53
+ readonly kind: "refused" | "threw";
54
+ readonly error: string;
48
55
  }
49
56
  export declare function errorText(error: unknown): string;
50
57
  export declare function pendingReason(cap: string, pending: PendingWrite): string;
@@ -1,16 +1,40 @@
1
- import { CapabilityLookup, DeviceContext, IScopedLogger } from '@camstack/types';
2
- import { ComposerGraftPorts } from './existing-target.js';
1
+ /**
2
+ * Grafts (D663): a method-serving native provider for a cap a customization
3
+ * ADDS to a device the composer does not own — a battery on an HA pet feeder
4
+ * that registers none. Without it the added cap has claimed values on the hub
5
+ * but nothing answers its methods, so `getBindings` never lists it and a caller
6
+ * of `battery.wakeForStream` finds no provider.
7
+ *
8
+ * - The provider is built ONLY from the cap's `composedMethods` (Task 1): an
9
+ * `answer` resolves to its value, a `refuse` rejects naming its reason. A cap
10
+ * with a served method that has no composed answer is refused here as it is
11
+ * at plan time (`has-commands`, slice 1). `getStatus` reads the MERGED slice
12
+ * (`readMerged`): the hub overlays it anyway (Task 7), but a direct call to
13
+ * this runner must never answer `{}`.
14
+ * - The context is `createContext(stableId, id)` on a FOREIGN device id: the
15
+ * second use of the forked-runner native path D659 lists as unverified live
16
+ * (D659 live item 1). Task 16 step 4.1 is its live proof. Its EMPTY runtime
17
+ * state is correct and deliberate (D677): no device is built from it and no
18
+ * slice is written through it — the graft only registers method-serving
19
+ * natives, and `getStatus` reads the hub's merged slice.
20
+ * - `ungraft` removes only what THIS host registered, through the context's
21
+ * optional `unregisterNativeCap`. An older kernel without it leaves the graft
22
+ * routable until the composer respawns — warned once per device, never
23
+ * silent.
24
+ */
25
+ import { type CapabilityLookup, type DeviceContext, type IScopedLogger } from "@camstack/types";
26
+ import type { ComposerGraftPorts } from "./existing-target.js";
3
27
  export interface GraftPorts {
4
- readonly createContext: (stableId: string, id: number) => DeviceContext;
5
- readonly logger: IScopedLogger;
28
+ readonly createContext: (stableId: string, id: number) => DeviceContext;
29
+ readonly logger: IScopedLogger;
6
30
  }
7
31
  export type GraftOutcome = {
8
- readonly kind: 'grafted';
32
+ readonly kind: "grafted";
9
33
  } | {
10
- readonly kind: 'already';
34
+ readonly kind: "already";
11
35
  } | {
12
- readonly kind: 'refused';
13
- readonly reason: string;
36
+ readonly kind: "refused";
37
+ readonly reason: string;
14
38
  };
15
39
  /** The merged (effective) slice of `cap` on `deviceId`, as every consumer reads it; null when there is none. */
16
40
  export type ReadMergedSlice = (deviceId: number, cap: string) => Promise<Readonly<Record<string, unknown>> | null>;
@@ -19,29 +43,29 @@ type GraftMethod = (input: unknown) => Promise<unknown>;
19
43
  /** The provider a graft registers: method name → its composed implementation. */
20
44
  export type GraftProvider = Readonly<Record<string, GraftMethod>>;
21
45
  export declare class GraftHost implements ComposerGraftPorts {
22
- private readonly ports;
23
- private readonly lookupCap;
24
- private readonly readMerged;
25
- /** One context per foreign device: `registerNativeCap` is per context, and so is its unregister. */
26
- private contexts;
27
- private caps;
28
- /** Devices already warned that this kernel cannot unregister a graft. */
29
- private warnedNoUnregister;
30
- constructor(ports: GraftPorts, lookupCap: CapabilityLookup, readMerged: ReadMergedSlice);
31
- graft(deviceId: number, stableId: string, capName: string): GraftOutcome;
32
- ungraft(deviceId: number, capName: string, reason: string): void;
33
- /**
34
- * I-3: a binding a PREVIOUS composer process left on `deviceId` — this one
35
- * never registered it. The kernel retracts it under the composer's addon id;
36
- * the hub drops only an entry the composer registered (rule 4). The caller has
37
- * read that the binding is the composer's.
38
- */
39
- retractStale(deviceId: number, capName: string, reason: string): void;
40
- grafted(deviceId: number): ReadonlySet<string>;
41
- /** A throw keeps the graft known, so a later plan retries (M-2); an older kernel forgets it (warned once). */
42
- private unregister;
43
- private contextFor;
44
- private providerFor;
45
- private refuse;
46
+ private readonly ports;
47
+ private readonly lookupCap;
48
+ private readonly readMerged;
49
+ /** One context per foreign device: `registerNativeCap` is per context, and so is its unregister. */
50
+ private contexts;
51
+ private caps;
52
+ /** Devices already warned that this kernel cannot unregister a graft. */
53
+ private warnedNoUnregister;
54
+ constructor(ports: GraftPorts, lookupCap: CapabilityLookup, readMerged: ReadMergedSlice);
55
+ graft(deviceId: number, stableId: string, capName: string): GraftOutcome;
56
+ ungraft(deviceId: number, capName: string, reason: string): void;
57
+ /**
58
+ * I-3: a binding a PREVIOUS composer process left on `deviceId` — this one
59
+ * never registered it. The kernel retracts it under the composer's addon id;
60
+ * the hub drops only an entry the composer registered (rule 4). The caller has
61
+ * read that the binding is the composer's.
62
+ */
63
+ retractStale(deviceId: number, capName: string, reason: string): void;
64
+ grafted(deviceId: number): ReadonlySet<string>;
65
+ /** A throw keeps the graft known, so a later plan retries (M-2); an older kernel forgets it (warned once). */
66
+ private unregister;
67
+ private contextFor;
68
+ private providerFor;
69
+ private refuse;
46
70
  }
47
71
  export {};
@@ -1,12 +1,29 @@
1
- import { FieldClaim } from '@camstack/types';
1
+ /**
2
+ * Which of a block's OWN `replace` claims the hub holds, or is being asked for
3
+ * (D663) — the fact that decides what a `device.state-changed` of that cap is
4
+ * for the block's native self-reads. With no claim it IS the provider's native;
5
+ * under the block's claim it is the block's own merge, and the native arrives
6
+ * only on `device.native-shadow-changed`.
7
+ *
8
+ * - Fed by what actually LANDED, never by the plan (C-1): the boot seed (the
9
+ * hub's claims index), a claim the hub answered `ok`, a release the hub
10
+ * confirmed. A throw or an unexplained refusal changes nothing (D49).
11
+ * - While a claim RPC is IN FLIGHT the hub may already merge (the mirror emits
12
+ * from inside `claim()`, before the answer): a `device.state-changed` then is
13
+ * neither native nor composed, and is not taken as either (N-1). The reply —
14
+ * any reply — ends the window, and the caller re-reads the native once.
15
+ * - Keyed by OWNER (N-7): another block's claim on the same cap, and an `add`
16
+ * claim (which emits no shadow), never make this block's cap held.
17
+ */
18
+ import type { FieldClaim } from "@camstack/types";
2
19
  /** What one claim RPC of an owner did, as its target saw it. */
3
- export type ClaimEvent = 'claiming' | 'held' | 'free' | 'unsettled';
20
+ export type ClaimEvent = "claiming" | "held" | "free" | "unsettled";
4
21
  export declare class HeldClaims {
5
- private held;
6
- private claiming;
7
- /** The `replace` claims the hub holds before this process wrote any (the boot seed). */
8
- seed(claims: readonly FieldClaim[]): void;
9
- apply(deviceId: number, cap: string, owner: string, event: ClaimEvent): void;
10
- /** `device.state-changed` of `cap` is NOT the native for `owner`'s self-reads: its claim is held, or being asked for. */
11
- shadowsNative(deviceId: number, cap: string, owner: string): boolean;
22
+ private held;
23
+ private claiming;
24
+ /** The `replace` claims the hub holds before this process wrote any (the boot seed). */
25
+ seed(claims: readonly FieldClaim[]): void;
26
+ apply(deviceId: number, cap: string, owner: string, event: ClaimEvent): void;
27
+ /** `device.state-changed` of `cap` is NOT the native for `owner`'s self-reads: its claim is held, or being asked for. */
28
+ shadowsNative(deviceId: number, cap: string, owner: string): boolean;
12
29
  }
@@ -1 +1 @@
1
- export { ComposerAddon as default, ComposerAddon } from './composer.addon.js';
1
+ export { ComposerAddon as default, ComposerAddon } from "./composer.addon.js";
@@ -1,19 +1,30 @@
1
- import { SourceReading } from '@camstack/types';
2
- import { FieldRecord } from './field-record.js';
1
+ /**
2
+ * A composition's read of its OWN output, answered from the runtime's records
3
+ * (D670 amendment, 2026-09-29). Split from `composition-runtime.ts`, which
4
+ * decides WHEN a read is an own read (`isOwnRead`) and re-runs its readers.
5
+ *
6
+ * Through the hub such a read was circular: the effective slice of an ADDED cap
7
+ * exists only once the composer's claim lands, and the claim lands only once
8
+ * every required field has a value — camera 615's `pressCountSinceStart =
9
+ * count(lastPressedAt)` was one of them, and nothing served its doorbell for
10
+ * 12 h.
11
+ */
12
+ import type { SourceReading } from "@camstack/types";
13
+ import { type FieldRecord } from "./field-record.js";
3
14
  /** `keys` in evaluation order: derived, then accumulators, then the rest; stable within a rank. */
4
15
  export declare function orderForEvaluation(keys: readonly string[], records: ReadonlyMap<string, FieldRecord>): readonly string[];
5
16
  /**
6
- * The own field `key` as the runtime holds it right now (`records`: the pass in
7
- * progress) — exactly what the runtime PUBLISHES for it, which is what the hub
8
- * answered before (review H1). An unavailable field under the `null` or
9
- * `unknown` policy is published as `null` / `'unknown'`, so a reader sees that
10
- * value; only a field nothing is written for (`release`, `offline`) reads as
11
- * unavailable. Answering those as unavailable left `count` unprimed while a
12
- * source was late at boot, and it then swallowed the first press as its seed.
13
- *
14
- * Not evaluated yet is unavailable: nothing is published, and unknown is never
15
- * `null` (D393). The evaluation order makes this unreachable for a derived
16
- * reader of a derived field. Never fatal here: a gone source fails the block
17
- * through the field that reads it directly.
18
- */
17
+ * The own field `key` as the runtime holds it right now (`records`: the pass in
18
+ * progress) — exactly what the runtime PUBLISHES for it, which is what the hub
19
+ * answered before (review H1). An unavailable field under the `null` or
20
+ * `unknown` policy is published as `null` / `'unknown'`, so a reader sees that
21
+ * value; only a field nothing is written for (`release`, `offline`) reads as
22
+ * unavailable. Answering those as unavailable left `count` unprimed while a
23
+ * source was late at boot, and it then swallowed the first press as its seed.
24
+ *
25
+ * Not evaluated yet is unavailable: nothing is published, and unknown is never
26
+ * `null` (D393). The evaluation order makes this unreachable for a derived
27
+ * reader of a derived field. Never fatal here: a gone source fails the block
28
+ * through the field that reads it directly.
29
+ */
19
30
  export declare function ownFieldReading(records: ReadonlyMap<string, FieldRecord>, key: string): SourceReading;
@@ -1,55 +1,86 @@
1
- import { ClaimOutcome, deviceStateCapability, FieldClaimMode, IScopedLogger } from '@camstack/types';
2
- import { z } from 'zod';
3
- import { ComposedWriteTarget, TargetAsyncFailure, WriteOutcome } from './composition-runtime.js';
4
- import { ClaimEvent } from './held-claims.js';
5
- import { SlicePatch } from './slice-assembler.js';
1
+ /**
2
+ * The write target of a composition on an EXISTING device (D663): its fields
3
+ * are CLAIMED on the hub (`deviceState.claimFields`), then patched
4
+ * (`patchOwnedFields`). The runtime's `seed`/`patch` are synchronous and never
5
+ * fail here — the RPC is enqueued — so what did not land is reported through
6
+ * `onAsyncFailure`, and the runtime marks the cap write-pending and re-writes
7
+ * it whole on its next pass. No retry timer (D3).
8
+ *
9
+ * - **The claim is re-sent until it has LANDED (ruling S5).** A cap enters
10
+ * `landed` only on an `ok` claim answer. Every write of a cap not in `landed`
11
+ * is a claim carrying the FULL planned field set (`fieldsOf`, never inferred
12
+ * from the values). `not-claimed` / `field-not-claimed` — the hub lost or
13
+ * never had the claim — drop the cap from `landed` and are escalated by
14
+ * name, so the next write claims again.
15
+ * - **Concurrent partial patches are MERGED, never dropped (S5).** One chain
16
+ * per cap: while an RPC is in flight, later patches fold into one pending
17
+ * value set (later keys win; a seed replaces it wholly), and the landing log
18
+ * says how many were absorbed (D391).
19
+ * - **A released field is withheld (S1b).** `withhold(cap, fields)` narrows the
20
+ * next claim to the rest and omits their values; nothing left → the claim is
21
+ * released at once. `[]` re-widens.
22
+ * - **Every claim RPC of a `replace` cap is reported** (`onClaim`, C-1/N-1):
23
+ * `claiming` when it goes out, then `held` on an `ok`, `free` on a confirmed
24
+ * release or `not-claimed`, `unsettled` on a throw or any other refusal (D49:
25
+ * changes nothing). `field-not-claimed` on a patch drops `landed` so the next
26
+ * write claims again, but the hub still holds the claim: `held` stays (N-3).
27
+ * The tracker follows this — never the plan — to know whether
28
+ * `device.state-changed` of the cap is the provider's native, the
29
+ * composition's own merge, or (while a claim is in flight) neither.
30
+ * - `setAvailable` is a no-op: `device-status` is the native device's.
31
+ */
32
+ import { type ClaimOutcome, type deviceStateCapability, type FieldClaimMode, type IScopedLogger } from "@camstack/types";
33
+ import type { z } from "zod";
34
+ import type { ComposedWriteTarget, TargetAsyncFailure, WriteOutcome } from "./composition-runtime.js";
35
+ import type { ClaimEvent } from "./held-claims.js";
36
+ import type { SlicePatch } from "./slice-assembler.js";
6
37
  export type ClaimFieldsInput = z.infer<typeof deviceStateCapability.methods.claimFields.input>;
7
38
  export type PatchOwnedFieldsInput = z.infer<typeof deviceStateCapability.methods.patchOwnedFields.input>;
8
39
  export type ReleaseClaimInput = z.infer<typeof deviceStateCapability.methods.releaseClaim.input>;
9
40
  export interface OwnedFieldsApi {
10
- claimFields(input: ClaimFieldsInput): Promise<ClaimOutcome>;
11
- patchOwnedFields(input: PatchOwnedFieldsInput): Promise<ClaimOutcome>;
12
- releaseClaim(input: ReleaseClaimInput): Promise<ClaimOutcome>;
41
+ claimFields(input: ClaimFieldsInput): Promise<ClaimOutcome>;
42
+ patchOwnedFields(input: PatchOwnedFieldsInput): Promise<ClaimOutcome>;
43
+ releaseClaim(input: ReleaseClaimInput): Promise<ClaimOutcome>;
13
44
  }
14
45
  export interface OwnedFieldsTargetDeps {
15
- readonly deviceId: number;
16
- readonly owner: string;
17
- readonly modeOf: (cap: string) => FieldClaimMode;
18
- /** The PLANNED field set per cap, from the plan — sent on every claim, never inferred from values (S5). */
19
- readonly fieldsOf: (cap: string) => readonly string[];
20
- readonly api: OwnedFieldsApi;
21
- readonly logger: IScopedLogger;
22
- /** A claim RPC of this owner on a `replace` cap went out or was answered (see the header). */
23
- readonly onClaim?: (cap: string, event: ClaimEvent) => void;
46
+ readonly deviceId: number;
47
+ readonly owner: string;
48
+ readonly modeOf: (cap: string) => FieldClaimMode;
49
+ /** The PLANNED field set per cap, from the plan — sent on every claim, never inferred from values (S5). */
50
+ readonly fieldsOf: (cap: string) => readonly string[];
51
+ readonly api: OwnedFieldsApi;
52
+ readonly logger: IScopedLogger;
53
+ /** A claim RPC of this owner on a `replace` cap went out or was answered (see the header). */
54
+ readonly onClaim?: (cap: string, event: ClaimEvent) => void;
24
55
  }
25
56
  type AsyncFailureListener = (cap: string, failure: TargetAsyncFailure) => void;
26
57
  export declare class OwnedFieldsTarget implements ComposedWriteTarget {
27
- private readonly deps;
28
- readonly id: number;
29
- private landed;
30
- private withheld;
31
- private inFlight;
32
- private pending;
33
- private listeners;
34
- /** Per cap, bumped by every `withhold`: a claim that settles under another epoch claimed a stale field set and does not land (I-2). */
35
- private epoch;
36
- constructor(deps: OwnedFieldsTargetDeps);
37
- seed(cap: string, slice: SlicePatch): WriteOutcome;
38
- patch(cap: string, patch: SlicePatch): WriteOutcome;
39
- /** `device-status` belongs to the native device; availability lives in the block report only. */
40
- setAvailable(_available: boolean): void;
41
- onAsyncFailure(listener: AsyncFailureListener): void;
42
- withhold(cap: string, fields: readonly string[]): WriteOutcome;
43
- private claimableFields;
44
- private enqueue;
45
- private send;
46
- private settled;
47
- private sendWrite;
48
- private sendRelease;
49
- private logLanded;
50
- /** Only a `replace` cap has a native the tracker must tell apart from the merge (N-7). */
51
- private report;
52
- /** Escalated to the runtime; a failure nobody listens to is logged — never silent (D391). */
53
- private fail;
58
+ private readonly deps;
59
+ readonly id: number;
60
+ private landed;
61
+ private withheld;
62
+ private inFlight;
63
+ private pending;
64
+ private listeners;
65
+ /** Per cap, bumped by every `withhold`: a claim that settles under another epoch claimed a stale field set and does not land (I-2). */
66
+ private epoch;
67
+ constructor(deps: OwnedFieldsTargetDeps);
68
+ seed(cap: string, slice: SlicePatch): WriteOutcome;
69
+ patch(cap: string, patch: SlicePatch): WriteOutcome;
70
+ /** `device-status` belongs to the native device; availability lives in the block report only. */
71
+ setAvailable(_available: boolean): void;
72
+ onAsyncFailure(listener: AsyncFailureListener): void;
73
+ withhold(cap: string, fields: readonly string[]): WriteOutcome;
74
+ private claimableFields;
75
+ private enqueue;
76
+ private send;
77
+ private settled;
78
+ private sendWrite;
79
+ private sendRelease;
80
+ private logLanded;
81
+ /** Only a `replace` cap has a native the tracker must tell apart from the merge (N-7). */
82
+ private report;
83
+ /** Escalated to the runtime; a failure nobody listens to is logged — never silent (D391). */
84
+ private fail;
54
85
  }
55
86
  export {};
@@ -1,10 +1,26 @@
1
- import { CapabilityLookup, CompositionFieldPlan, ExpressionValue } from '@camstack/types';
1
+ /**
2
+ * From the runtime's flat field values to the slice a target takes (D663).
3
+ *
4
+ * A top-level field is written under its path. An item leaf
5
+ * (`consumables.items[desiccant].remaining.value`) is one entry of an ARRAY:
6
+ * every leaf of one item is grouped by `(cap, arrayPath, key)` and set, by
7
+ * path segment, onto the cap's OWN `status.itemArray.emptyItem` — so an
8
+ * unsourced nullable leaf is `null` because the cap says so, not because this
9
+ * module guessed. The key, the label and {@link COMPOSED_ITEM_FIXED_FIELDS}
10
+ * are the composer's; items are sorted by key so two writes of the same
11
+ * values are one slice.
12
+ *
13
+ * A cap the lookup does not know as an item array cannot be assembled: that
14
+ * is thrown by name, and the runtime's write path turns a throw into a named,
15
+ * retried failure — never a half-built array.
16
+ */
17
+ import { type CapabilityLookup, type CompositionFieldPlan, type ExpressionValue } from "@camstack/types";
2
18
  /** One item of an item-array field, as written. */
3
19
  export type SliceItem = Readonly<Record<string, unknown>>;
4
20
  export type SliceValue = ExpressionValue | readonly SliceItem[];
5
21
  export type SlicePatch = Readonly<Record<string, SliceValue>>;
6
22
  export interface AssemblerEntry {
7
- readonly plan: CompositionFieldPlan;
8
- readonly value: ExpressionValue;
23
+ readonly plan: CompositionFieldPlan;
24
+ readonly value: ExpressionValue;
9
25
  }
10
26
  export declare function assembleSlice(entries: readonly AssemblerEntry[], lookupCap: CapabilityLookup): SlicePatch;