@camstack/system 1.2.389 → 1.2.391

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (503) hide show
  1. package/dist/addon/addon-api-factory.d.ts +30 -30
  2. package/dist/addon-routes/addon-route-registry.d.ts +31 -31
  3. package/dist/addon-runner.js +1 -1
  4. package/dist/addon-runner.mjs +1 -1
  5. package/dist/addon-utils.d.ts +22 -22
  6. package/dist/auth/admin-token-manager.d.ts +37 -67
  7. package/dist/auth/api-key-manager.d.ts +8 -8
  8. package/dist/auth/auth-audit-log.d.ts +29 -49
  9. package/dist/auth/auth-manager.d.ts +127 -126
  10. package/dist/auth/cidr.d.ts +8 -8
  11. package/dist/auth/external-identity-manager.d.ts +46 -34
  12. package/dist/auth/jwt-signing-key.d.ts +14 -14
  13. package/dist/auth/login-session-manager.d.ts +95 -135
  14. package/dist/auth/parse-record.d.ts +13 -13
  15. package/dist/auth/scope-matcher.d.ts +7 -7
  16. package/dist/auth/scoped-token-manager.d.ts +62 -62
  17. package/dist/auth/token-expiry.d.ts +49 -26
  18. package/dist/auth/totp-manager.d.ts +48 -48
  19. package/dist/auth/user-management-internal.d.ts +67 -52
  20. package/dist/auth/user-manager.d.ts +58 -58
  21. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.d.ts +54 -54
  22. package/dist/builtins/addon-pages-aggregator/dedupe-pages.d.ts +22 -4
  23. package/dist/builtins/addon-pages-aggregator/index.d.ts +1 -1
  24. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.d.ts +54 -54
  25. package/dist/builtins/addon-widgets-aggregator/index.d.ts +1 -1
  26. package/dist/builtins/alerts/alerts.addon.d.ts +88 -87
  27. package/dist/builtins/alerts/device-label.d.ts +6 -6
  28. package/dist/builtins/alerts/index.d.ts +1 -1
  29. package/dist/builtins/alerts/prune-policy.d.ts +36 -36
  30. package/dist/builtins/autotrack/autotrack-cameras.d.ts +102 -79
  31. package/dist/builtins/autotrack/autotrack-config.d.ts +81 -81
  32. package/dist/builtins/autotrack/autotrack-decision.d.ts +69 -82
  33. package/dist/builtins/autotrack/autotrack-loop.d.ts +81 -61
  34. package/dist/builtins/autotrack/autotrack.addon.d.ts +103 -66
  35. package/dist/builtins/autotrack/frame-error.d.ts +38 -38
  36. package/dist/builtins/autotrack/frame-measurements.d.ts +79 -79
  37. package/dist/builtins/autotrack/index.d.ts +2 -2
  38. package/dist/builtins/autotrack/ptz-mirror.d.ts +46 -17
  39. package/dist/builtins/autotrack/target-selection.d.ts +33 -47
  40. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.d.ts +270 -269
  41. package/dist/builtins/backup-orchestrator/cron-helpers.d.ts +17 -17
  42. package/dist/builtins/backup-orchestrator/destination-policy.d.ts +99 -82
  43. package/dist/builtins/backup-orchestrator/download-helpers.d.ts +9 -9
  44. package/dist/builtins/backup-orchestrator/encryption-key-store.d.ts +40 -29
  45. package/dist/builtins/backup-orchestrator/index.d.ts +2 -2
  46. package/dist/builtins/backup-orchestrator/manifest-store.d.ts +88 -69
  47. package/dist/builtins/backup-orchestrator/restore-archive.d.ts +14 -14
  48. package/dist/builtins/backup-orchestrator/run-queue.d.ts +86 -86
  49. package/dist/builtins/backup-orchestrator/schedule-store.d.ts +53 -37
  50. package/dist/builtins/backup-orchestrator/staging-paths.d.ts +23 -23
  51. package/dist/builtins/backup-orchestrator/write-targets.d.ts +53 -53
  52. package/dist/builtins/calendars/calendar-color.d.ts +5 -1
  53. package/dist/builtins/calendars/calendar-prefs-store.d.ts +18 -12
  54. package/dist/builtins/calendars/calendars.addon.d.ts +16 -11
  55. package/dist/builtins/calendars/index.d.ts +1 -1
  56. package/dist/builtins/camera-grid/acquire-retry.d.ts +26 -26
  57. package/dist/builtins/camera-grid/addon.d.ts +200 -174
  58. package/dist/builtins/camera-grid/flv-join.d.ts +32 -58
  59. package/dist/builtins/camera-grid/grid-activity-mirror.d.ts +37 -37
  60. package/dist/builtins/camera-grid/grid-activity.d.ts +83 -42
  61. package/dist/builtins/camera-grid/grid-camera-declarations.d.ts +46 -46
  62. package/dist/builtins/camera-grid/grid-camera-device.d.ts +60 -34
  63. package/dist/builtins/camera-grid/grid-canvas-derivation.d.ts +50 -15
  64. package/dist/builtins/camera-grid/grid-canvas-seed.d.ts +96 -46
  65. package/dist/builtins/camera-grid/grid-canvas.d.ts +74 -74
  66. package/dist/builtins/camera-grid/grid-child.d.ts +29 -16
  67. package/dist/builtins/camera-grid/grid-compositor-child.d.ts +2 -2
  68. package/dist/builtins/camera-grid/grid-compositor-invocation.d.ts +39 -11
  69. package/dist/builtins/camera-grid/grid-compositor.d.ts +50 -50
  70. package/dist/builtins/camera-grid/grid-detection-mapping.d.ts +52 -22
  71. package/dist/builtins/camera-grid/grid-device-settings.d.ts +31 -7
  72. package/dist/builtins/camera-grid/grid-filter-graph.d.ts +41 -41
  73. package/dist/builtins/camera-grid/grid-frame-sample.d.ts +45 -19
  74. package/dist/builtins/camera-grid/grid-instances.d.ts +20 -50
  75. package/dist/builtins/camera-grid/grid-last-frame-store.d.ts +51 -51
  76. package/dist/builtins/camera-grid/grid-layout-native-provider.d.ts +30 -4
  77. package/dist/builtins/camera-grid/grid-plan.d.ts +30 -20
  78. package/dist/builtins/camera-grid/grid-profiles.d.ts +85 -45
  79. package/dist/builtins/camera-grid/grid-row-normalization.d.ts +6 -6
  80. package/dist/builtins/camera-grid/grid-sentry-sources.d.ts +57 -57
  81. package/dist/builtins/camera-grid/grid-snapshot.d.ts +41 -41
  82. package/dist/builtins/camera-grid/grid-stream-descriptor.d.ts +49 -21
  83. package/dist/builtins/camera-grid/grid-stream-invocation.d.ts +37 -22
  84. package/dist/builtins/camera-grid/grid-stream-relay.d.ts +26 -26
  85. package/dist/builtins/camera-grid/grid-stream-session.d.ts +123 -93
  86. package/dist/builtins/camera-grid/grid-tile-feed.d.ts +47 -47
  87. package/dist/builtins/camera-grid/grid-tile-plan.d.ts +55 -20
  88. package/dist/builtins/camera-grid/grid-wire-format.d.ts +22 -6
  89. package/dist/builtins/camera-grid/index.d.ts +44 -44
  90. package/dist/builtins/camera-grid/silence-analysis.d.ts +31 -14
  91. package/dist/builtins/composer/claim-gate.d.ts +54 -27
  92. package/dist/builtins/composer/composed-device-set.d.ts +40 -26
  93. package/dist/builtins/composer/composed-device.d.ts +39 -17
  94. package/dist/builtins/composer/composer-apply-waits.d.ts +20 -13
  95. package/dist/builtins/composer/composer-grafts.d.ts +57 -38
  96. package/dist/builtins/composer/composer-live-set.d.ts +15 -15
  97. package/dist/builtins/composer/composer-plan.d.ts +76 -60
  98. package/dist/builtins/composer/composer-runtime-factory.d.ts +21 -14
  99. package/dist/builtins/composer/composer-seeds.d.ts +20 -14
  100. package/dist/builtins/composer/composer-verdict.d.ts +28 -14
  101. package/dist/builtins/composer/composer.addon.d.ts +23 -9
  102. package/dist/builtins/composer/composer.d.ts +145 -100
  103. package/dist/builtins/composer/composition-declarations.d.ts +50 -39
  104. package/dist/builtins/composer/composition-evaluation.d.ts +38 -22
  105. package/dist/builtins/composer/composition-runtime.d.ts +178 -125
  106. package/dist/builtins/composer/composition-target.d.ts +38 -34
  107. package/dist/builtins/composer/confirmed-seed.d.ts +35 -23
  108. package/dist/builtins/composer/deadline-timer.d.ts +13 -13
  109. package/dist/builtins/composer/existing-target.d.ts +90 -73
  110. package/dist/builtins/composer/field-record.d.ts +26 -19
  111. package/dist/builtins/composer/graft-host.d.ts +56 -32
  112. package/dist/builtins/composer/held-claims.d.ts +26 -9
  113. package/dist/builtins/composer/index.d.ts +1 -1
  114. package/dist/builtins/composer/own-field-reads.d.ts +26 -15
  115. package/dist/builtins/composer/owned-fields-target.d.ts +75 -44
  116. package/dist/builtins/composer/slice-assembler.d.ts +19 -3
  117. package/dist/builtins/composer/source-readings.d.ts +67 -61
  118. package/dist/builtins/composer/source-tracker.d.ts +133 -69
  119. package/dist/builtins/console-logging/console-destination.d.ts +15 -8
  120. package/dist/builtins/console-logging/console-logging.addon.d.ts +20 -19
  121. package/dist/builtins/console-logging/index.d.ts +3 -3
  122. package/dist/builtins/core-blocks/block-package.d.ts +37 -37
  123. package/dist/builtins/core-blocks/block-settings-store.d.ts +34 -21
  124. package/dist/builtins/core-blocks/block-supervisor.d.ts +138 -117
  125. package/dist/builtins/core-blocks/block-type-defs.d.ts +21 -21
  126. package/dist/builtins/core-blocks/blocks-integration.d.ts +76 -49
  127. package/dist/builtins/core-blocks/compile-block.d.ts +37 -37
  128. package/dist/builtins/core-blocks/composition-api.d.ts +38 -24
  129. package/dist/builtins/core-blocks/composition-peers.d.ts +26 -4
  130. package/dist/builtins/core-blocks/composition-sources.d.ts +25 -10
  131. package/dist/builtins/core-blocks/core-block-store.d.ts +109 -109
  132. package/dist/builtins/core-blocks/core-blocks.addon.d.ts +72 -72
  133. package/dist/builtins/core-blocks/extract-settings-schema.d.ts +4 -4
  134. package/dist/builtins/core-blocks/index.d.ts +8 -8
  135. package/dist/builtins/device-manager/adoption-job-engine.d.ts +141 -98
  136. package/dist/builtins/device-manager/claimed-status-overlay.d.ts +42 -9
  137. package/dist/builtins/device-manager/contribution-cache.d.ts +56 -56
  138. package/dist/builtins/device-manager/day-night-config-schema.d.ts +26 -12
  139. package/dist/builtins/device-manager/device-aggregation-merge.d.ts +17 -17
  140. package/dist/builtins/device-manager/device-aggregation.d.ts +277 -254
  141. package/dist/builtins/device-manager/device-bindings-store.d.ts +232 -220
  142. package/dist/builtins/device-manager/device-config-contribution.d.ts +29 -29
  143. package/dist/builtins/device-manager/device-config-secrets.d.ts +32 -13
  144. package/dist/builtins/device-manager/device-event-propagator.d.ts +22 -22
  145. package/dist/builtins/device-manager/device-extension-linked-slot.d.ts +17 -17
  146. package/dist/builtins/device-manager/device-form-secrets.d.ts +14 -14
  147. package/dist/builtins/device-manager/device-linked-devices.d.ts +159 -98
  148. package/dist/builtins/device-manager/device-manager.addon.d.ts +223 -197
  149. package/dist/builtins/device-manager/device-meta-actions.d.ts +306 -305
  150. package/dist/builtins/device-manager/device-meta-store.d.ts +100 -90
  151. package/dist/builtins/device-manager/device-meta-types.d.ts +250 -241
  152. package/dist/builtins/device-manager/device-online-fallback.d.ts +30 -30
  153. package/dist/builtins/device-manager/device-projection.d.ts +53 -67
  154. package/dist/builtins/device-manager/device-provider-context.d.ts +109 -94
  155. package/dist/builtins/device-manager/device-queries.d.ts +63 -63
  156. package/dist/builtins/device-manager/device-row-store.d.ts +417 -365
  157. package/dist/builtins/device-manager/device-source-activation.d.ts +91 -49
  158. package/dist/builtins/device-manager/device-state-claim-views.d.ts +76 -61
  159. package/dist/builtins/device-manager/device-state-claims.d.ts +53 -30
  160. package/dist/builtins/device-manager/device-state-mirror.d.ts +256 -264
  161. package/dist/builtins/device-manager/device-sync-resolvers.d.ts +25 -25
  162. package/dist/builtins/device-manager/field-claims-index.d.ts +85 -58
  163. package/dist/builtins/device-manager/field-ownership.d.ts +54 -36
  164. package/dist/builtins/device-manager/fleet-read-census.d.ts +99 -61
  165. package/dist/builtins/device-manager/image-settings-config-schema.d.ts +18 -8
  166. package/dist/builtins/device-manager/index.d.ts +2 -2
  167. package/dist/builtins/device-manager/linked-devices-manual-backfill.d.ts +20 -9
  168. package/dist/builtins/device-manager/location-alignment.d.ts +46 -46
  169. package/dist/builtins/device-manager/migrate-device.d.ts +178 -101
  170. package/dist/builtins/device-manager/migrate-guard.d.ts +66 -34
  171. package/dist/builtins/device-manager/migrate-hardware-state.d.ts +59 -59
  172. package/dist/builtins/device-manager/migrate-reload.d.ts +42 -4
  173. package/dist/builtins/device-manager/migration-refused.d.ts +20 -20
  174. package/dist/builtins/device-manager/mirror-row-writer.d.ts +205 -179
  175. package/dist/builtins/device-manager/recording-onboard-config-schema.d.ts +56 -32
  176. package/dist/builtins/device-manager/removal-fence.d.ts +48 -48
  177. package/dist/builtins/device-manager/runtime-state-persist-gate.d.ts +54 -26
  178. package/dist/builtins/device-manager/secret-config-paths.d.ts +17 -17
  179. package/dist/builtins/device-manager/stale-wrapper-activations.d.ts +52 -25
  180. package/dist/builtins/device-manager/write-lock.d.ts +13 -13
  181. package/dist/builtins/hub-forwarder/hub-forwarder-destination.d.ts +41 -41
  182. package/dist/builtins/hub-forwarder/hub-forwarder.addon.d.ts +13 -12
  183. package/dist/builtins/hub-forwarder/index.d.ts +3 -3
  184. package/dist/builtins/keychain/index.d.ts +1 -1
  185. package/dist/builtins/keychain/key-sources.d.ts +19 -19
  186. package/dist/builtins/keychain/keychain-crypto.d.ts +4 -4
  187. package/dist/builtins/keychain/keychain-reset-trigger.d.ts +13 -13
  188. package/dist/builtins/keychain/keychain-service.d.ts +128 -128
  189. package/dist/builtins/keychain/keychain-store.d.ts +96 -87
  190. package/dist/builtins/keychain/keychain-usage.d.ts +13 -2
  191. package/dist/builtins/keychain/keychain.addon.d.ts +31 -6
  192. package/dist/builtins/keychain/platform-key-source.d.ts +15 -15
  193. package/dist/builtins/keychain/system-held-secrets.d.ts +17 -4
  194. package/dist/builtins/liveness-monitor/index.d.ts +2 -2
  195. package/dist/builtins/liveness-monitor/liveness-checks.d.ts +73 -52
  196. package/dist/builtins/liveness-monitor/liveness-monitor.addon.d.ts +57 -36
  197. package/dist/builtins/local-auth/admin-account-boot.d.ts +14 -14
  198. package/dist/builtins/local-auth/auth-config-reader.d.ts +34 -17
  199. package/dist/builtins/local-auth/auth-schema.d.ts +92 -69
  200. package/dist/builtins/local-auth/index.d.ts +1 -1
  201. package/dist/builtins/local-auth/jwt-signing-key-keeper.d.ts +22 -22
  202. package/dist/builtins/local-auth/local-auth.addon.d.ts +41 -40
  203. package/dist/builtins/local-auth/oauth-grants.d.ts +57 -57
  204. package/dist/builtins/local-auth/oauth-session-manager.d.ts +62 -62
  205. package/dist/builtins/local-network/address-book.d.ts +61 -36
  206. package/dist/builtins/local-network/index.d.ts +2 -2
  207. package/dist/builtins/local-network/ipv6-lan.d.ts +12 -17
  208. package/dist/builtins/local-network/local-hostname.d.ts +10 -10
  209. package/dist/builtins/local-network/local-network.addon.d.ts +259 -258
  210. package/dist/builtins/loki-logging/index.d.ts +4 -4
  211. package/dist/builtins/loki-logging/loki-destination.d.ts +113 -87
  212. package/dist/builtins/loki-logging/loki-logging.addon.d.ts +61 -42
  213. package/dist/builtins/loki-logging/loki-payload.d.ts +82 -39
  214. package/dist/builtins/loki-logging/retire-enabled-flag.d.ts +37 -12
  215. package/dist/builtins/native-metrics/cgroup-memory.d.ts +206 -159
  216. package/dist/builtins/native-metrics/cgroup-pids.d.ts +138 -91
  217. package/dist/builtins/native-metrics/container-memory-series.d.ts +212 -178
  218. package/dist/builtins/native-metrics/gpu-probe.d.ts +9 -9
  219. package/dist/builtins/native-metrics/index.d.ts +2 -2
  220. package/dist/builtins/native-metrics/load-series-config.d.ts +29 -57
  221. package/dist/builtins/native-metrics/load-series-reader.d.ts +52 -26
  222. package/dist/builtins/native-metrics/load-series-store.d.ts +237 -176
  223. package/dist/builtins/native-metrics/native-metrics-provider.d.ts +43 -43
  224. package/dist/builtins/native-metrics/native-metrics.addon.d.ts +230 -230
  225. package/dist/builtins/native-metrics/node-load-ring.d.ts +196 -196
  226. package/dist/builtins/native-metrics/proc-process-table.d.ts +12 -12
  227. package/dist/builtins/native-metrics/process-classification.d.ts +95 -36
  228. package/dist/builtins/native-metrics/thread-cpu-sampler.d.ts +95 -95
  229. package/dist/builtins/platform-probe/coral-accelerators.d.ts +17 -17
  230. package/dist/builtins/platform-probe/index.d.ts +38 -30
  231. package/dist/builtins/platform-probe/inference-config-resolver.d.ts +27 -27
  232. package/dist/builtins/platform-probe/intel-accelerators.d.ts +8 -8
  233. package/dist/builtins/platform-probe/intel-npu.d.ts +30 -30
  234. package/dist/builtins/platform-probe/platform-scorer.d.ts +35 -35
  235. package/dist/builtins/platform-probe/runtime-packages.d.ts +3 -3
  236. package/dist/builtins/remote-access-orchestrator/enabled-providers-reconcile.d.ts +87 -87
  237. package/dist/builtins/remote-access-orchestrator/index.d.ts +1 -1
  238. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.d.ts +66 -35
  239. package/dist/builtins/shared/device-state-changed.d.ts +9 -9
  240. package/dist/builtins/shared/settle-sources.d.ts +16 -16
  241. package/dist/builtins/snapshot/index.d.ts +2 -2
  242. package/dist/builtins/snapshot/snapshot-cache.d.ts +92 -92
  243. package/dist/builtins/snapshot/snapshot-coalescing.d.ts +108 -108
  244. package/dist/builtins/snapshot/snapshot-courtesy.d.ts +48 -48
  245. package/dist/builtins/snapshot/snapshot-durable-store.d.ts +32 -32
  246. package/dist/builtins/snapshot/snapshot-fatigue.d.ts +34 -34
  247. package/dist/builtins/snapshot/snapshot-grab-pick.d.ts +14 -14
  248. package/dist/builtins/snapshot/snapshot-link-url.d.ts +49 -49
  249. package/dist/builtins/snapshot/snapshot-media-handler.d.ts +97 -97
  250. package/dist/builtins/snapshot/snapshot-resize.d.ts +64 -103
  251. package/dist/builtins/snapshot/snapshot.addon.d.ts +569 -568
  252. package/dist/builtins/sqlite-storage/analyze-stats.d.ts +73 -29
  253. package/dist/builtins/sqlite-storage/config-store.d.ts +6 -6
  254. package/dist/builtins/sqlite-storage/device-store.d.ts +16 -16
  255. package/dist/builtins/sqlite-storage/filesystem-browse-provider.d.ts +23 -23
  256. package/dist/builtins/sqlite-storage/filesystem-storage-provider.d.ts +79 -79
  257. package/dist/builtins/sqlite-storage/filesystem-storage.addon.d.ts +27 -26
  258. package/dist/builtins/sqlite-storage/filter-compiler.d.ts +107 -107
  259. package/dist/builtins/sqlite-storage/index.d.ts +12 -12
  260. package/dist/builtins/sqlite-storage/integration-registry.d.ts +37 -37
  261. package/dist/builtins/sqlite-storage/path-guard.d.ts +5 -5
  262. package/dist/builtins/sqlite-storage/prefix-range.d.ts +44 -44
  263. package/dist/builtins/sqlite-storage/query-bounds.d.ts +100 -106
  264. package/dist/builtins/sqlite-storage/query-profiler.d.ts +217 -217
  265. package/dist/builtins/sqlite-storage/retired-collections.d.ts +124 -55
  266. package/dist/builtins/sqlite-storage/retired-settings-keys.d.ts +239 -189
  267. package/dist/builtins/sqlite-storage/shm-lock-canary.d.ts +41 -41
  268. package/dist/builtins/sqlite-storage/sqlite-pragmas.d.ts +162 -162
  269. package/dist/builtins/sqlite-storage/sqlite-settings-backend.d.ts +458 -458
  270. package/dist/builtins/sqlite-storage/sqlite-settings.addon.d.ts +59 -58
  271. package/dist/builtins/sqlite-storage/sqlite-snapshot-protocol.d.ts +37 -32
  272. package/dist/builtins/sqlite-storage/sqlite-snapshot-worker.d.ts +19 -19
  273. package/dist/builtins/sqlite-storage/sqlite-snapshotter.d.ts +76 -76
  274. package/dist/builtins/sqlite-storage/statement-shape.d.ts +54 -54
  275. package/dist/builtins/sqlite-storage/table-sizes.d.ts +71 -71
  276. package/dist/builtins/sqlite-storage/vector-index-shared.d.ts +63 -54
  277. package/dist/builtins/sqlite-storage/vector-index-vec.d.ts +133 -96
  278. package/dist/builtins/sqlite-storage/wal-checkpoint-policy.d.ts +161 -161
  279. package/dist/builtins/sqlite-storage/wal-checkpointer.d.ts +60 -60
  280. package/dist/builtins/sqlite-storage/wal-maintenance.d.ts +94 -94
  281. package/dist/builtins/storage-orchestrator/access-guards.d.ts +37 -26
  282. package/dist/builtins/storage-orchestrator/data-store-dispatch.d.ts +33 -18
  283. package/dist/builtins/storage-orchestrator/drain-ratchet.d.ts +85 -85
  284. package/dist/builtins/storage-orchestrator/drain-state-store.d.ts +20 -10
  285. package/dist/builtins/storage-orchestrator/hub-settings-forward.d.ts +113 -53
  286. package/dist/builtins/storage-orchestrator/index.d.ts +7 -7
  287. package/dist/builtins/storage-orchestrator/location-occupancy-slice.d.ts +64 -40
  288. package/dist/builtins/storage-orchestrator/location-occupancy.d.ts +14 -14
  289. package/dist/builtins/storage-orchestrator/location-protection.d.ts +13 -13
  290. package/dist/builtins/storage-orchestrator/location-repoint-move.d.ts +44 -44
  291. package/dist/builtins/storage-orchestrator/location-root-collision.d.ts +61 -25
  292. package/dist/builtins/storage-orchestrator/location-secrets.d.ts +99 -58
  293. package/dist/builtins/storage-orchestrator/location-store.d.ts +56 -47
  294. package/dist/builtins/storage-orchestrator/location-volume-capacity.d.ts +37 -37
  295. package/dist/builtins/storage-orchestrator/provider-discovery.d.ts +20 -6
  296. package/dist/builtins/storage-orchestrator/storage-cleanup-coordinator.d.ts +51 -51
  297. package/dist/builtins/storage-orchestrator/storage-migration-coordinator.d.ts +224 -224
  298. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.d.ts +292 -292
  299. package/dist/builtins/storage-orchestrator/storage-orchestrator.service.d.ts +431 -450
  300. package/dist/builtins/storage-orchestrator/storage-pressure-manager.d.ts +104 -104
  301. package/dist/builtins/system-backup/backup-encryption.d.ts +60 -23
  302. package/dist/builtins/system-backup/system-backup.service.d.ts +240 -240
  303. package/dist/builtins/system-config/cluster-secret-keeper.d.ts +54 -34
  304. package/dist/builtins/system-config/index.d.ts +2 -2
  305. package/dist/builtins/system-config/mesh-actions.d.ts +2 -30
  306. package/dist/builtins/system-config/system-config.addon.d.ts +57 -93
  307. package/dist/builtins/system-config/system-config.addon.js +46 -33
  308. package/dist/builtins/system-config/system-config.addon.mjs +46 -33
  309. package/dist/builtins/winston-logging/index.d.ts +3 -3
  310. package/dist/builtins/winston-logging/winston-destination.d.ts +15 -15
  311. package/dist/builtins/winston-logging/winston-logging.addon.d.ts +14 -13
  312. package/dist/{child-cap-dispatch-nURMuVTX.js → child-cap-dispatch-Bnr8brru.js} +18 -0
  313. package/dist/{child-cap-dispatch-B1gyE35b.mjs → child-cap-dispatch-mHO_6r0G.mjs} +1 -1
  314. package/dist/download/hosted-model-revisions.d.ts +8 -8
  315. package/dist/download/model-download-service.d.ts +32 -32
  316. package/dist/download/model-downloader.d.ts +88 -88
  317. package/dist/events/event-bus.d.ts +6 -6
  318. package/dist/events/system-event-bus.d.ts +11 -11
  319. package/dist/feature/feature-manager.d.ts +6 -6
  320. package/dist/http/asset-compression.d.ts +35 -73
  321. package/dist/http/authenticated-file-server.d.ts +32 -32
  322. package/dist/http/data-plane-registry.d.ts +49 -39
  323. package/dist/http/file-data-plane.d.ts +14 -14
  324. package/dist/http/lan-http-bind.d.ts +24 -13
  325. package/dist/http/reverse-proxy.d.ts +36 -24
  326. package/dist/index.d.ts +137 -137
  327. package/dist/index.js +4 -3
  328. package/dist/index.mjs +2 -4
  329. package/dist/kernel/addon-class-resolver.d.ts +1 -1
  330. package/dist/kernel/addon-engine-manager.d.ts +20 -20
  331. package/dist/kernel/addon-health-monitor.d.ts +151 -151
  332. package/dist/kernel/addon-installer.d.ts +609 -609
  333. package/dist/kernel/addon-loader.d.ts +133 -133
  334. package/dist/kernel/addon-manifest.d.ts +118 -118
  335. package/dist/kernel/addon-residue.d.ts +28 -32
  336. package/dist/kernel/array-buffer-census.d.ts +84 -88
  337. package/dist/kernel/bootstrap-config.d.ts +3 -3
  338. package/dist/kernel/cap-router-builder.d.ts +145 -101
  339. package/dist/kernel/capability-handle.d.ts +41 -41
  340. package/dist/kernel/capability-registry.d.ts +588 -576
  341. package/dist/kernel/config-manager.d.ts +199 -199
  342. package/dist/kernel/config-schema.d.ts +132 -128
  343. package/dist/kernel/custom-action-registry.d.ts +25 -25
  344. package/dist/kernel/deps/addon-deps-manager.d.ts +17 -17
  345. package/dist/kernel/deps/closure-dedupe.d.ts +76 -76
  346. package/dist/kernel/deps/ensure-addon-natives.d.ts +34 -34
  347. package/dist/kernel/deps/ensure-native-prebuilds.d.ts +25 -25
  348. package/dist/kernel/deps/manifest-native-deps.d.ts +38 -38
  349. package/dist/kernel/deps/manifest-python-deps.d.ts +18 -18
  350. package/dist/kernel/deps/manifest-system-deps.d.ts +13 -13
  351. package/dist/kernel/deps/npm-command.d.ts +45 -45
  352. package/dist/kernel/deps/system-package-allowlist.d.ts +9 -9
  353. package/dist/kernel/deps/system-package-broker.d.ts +20 -20
  354. package/dist/kernel/deps/system-package-client.d.ts +3 -3
  355. package/dist/kernel/device-registry.d.ts +27 -27
  356. package/dist/kernel/event-loop-stall-monitor.d.ts +33 -33
  357. package/dist/kernel/event-plane-report.d.ts +174 -174
  358. package/dist/kernel/fs-utils.d.ts +70 -70
  359. package/dist/kernel/gc-census.d.ts +119 -119
  360. package/dist/kernel/heap-spaces.d.ts +87 -87
  361. package/dist/kernel/heap-watch.d.ts +706 -706
  362. package/dist/kernel/host-externals.d.ts +8 -8
  363. package/dist/kernel/hwaccel/hwaccel-resolver.d.ts +27 -27
  364. package/dist/kernel/index.d.ts +115 -113
  365. package/dist/kernel/inference/inference-resolver.d.ts +13 -13
  366. package/dist/kernel/infra-capabilities.d.ts +7 -7
  367. package/dist/kernel/isolated-builtin-phase.d.ts +42 -42
  368. package/dist/kernel/lifecycle/job-journal.d.ts +17 -17
  369. package/dist/kernel/lifecycle/lifecycle-job-engine.d.ts +99 -99
  370. package/dist/kernel/lifecycle/staging-area.d.ts +22 -22
  371. package/dist/kernel/moleculer/addon-context-factory.d.ts +90 -89
  372. package/dist/kernel/moleculer/addon-data-plane-facility.d.ts +12 -12
  373. package/dist/kernel/moleculer/addon-deploy-source.d.ts +11 -11
  374. package/dist/kernel/moleculer/addon-peer-bytes-facility.d.ts +18 -18
  375. package/dist/kernel/moleculer/addon-service-factory.d.ts +41 -41
  376. package/dist/kernel/moleculer/agent-mesh-authenticator.d.ts +60 -33
  377. package/dist/kernel/moleculer/agent-ui-unlock.d.ts +30 -30
  378. package/dist/kernel/moleculer/broker-factory.d.ts +61 -61
  379. package/dist/kernel/moleculer/cap-usage-registry.d.ts +108 -153
  380. package/dist/kernel/moleculer/capabilities-access.d.ts +19 -19
  381. package/dist/kernel/moleculer/child-addon-call-dispatch.d.ts +43 -43
  382. package/dist/kernel/moleculer/child-cap-descriptors.d.ts +26 -26
  383. package/dist/kernel/moleculer/child-cap-dispatch.d.ts +52 -52
  384. package/dist/kernel/moleculer/children-batch-loader.d.ts +86 -34
  385. package/dist/kernel/moleculer/cluster-secret.d.ts +19 -19
  386. package/dist/kernel/moleculer/core-cap-service.d.ts +53 -53
  387. package/dist/kernel/moleculer/crash-supervisor.d.ts +39 -39
  388. package/dist/kernel/moleculer/device-cap-proxy.d.ts +51 -51
  389. package/dist/kernel/moleculer/device-event-ring.d.ts +117 -75
  390. package/dist/kernel/moleculer/event-bus-core.d.ts +171 -159
  391. package/dist/kernel/moleculer/event-bus.d.ts +73 -73
  392. package/dist/kernel/moleculer/hub-log-forwarder.d.ts +30 -30
  393. package/dist/kernel/moleculer/hub-service.d.ts +42 -42
  394. package/dist/kernel/moleculer/init-watchdog.d.ts +49 -49
  395. package/dist/kernel/moleculer/mesh-access-middleware.d.ts +36 -21
  396. package/dist/kernel/moleculer/mesh-auth-mode.d.ts +33 -39
  397. package/dist/kernel/moleculer/mesh-authenticator.d.ts +58 -58
  398. package/dist/kernel/moleculer/mesh-auto-enforce.d.ts +38 -18
  399. package/dist/kernel/moleculer/mesh-join-client.d.ts +67 -45
  400. package/dist/kernel/moleculer/mesh-join-proof.d.ts +8 -8
  401. package/dist/kernel/moleculer/mesh-mtls/constants.d.ts +1 -1
  402. package/dist/kernel/moleculer/mesh-mtls/index.d.ts +10 -10
  403. package/dist/kernel/moleculer/mesh-mtls/mesh-ca-keeper.d.ts +43 -38
  404. package/dist/kernel/moleculer/mesh-mtls/mesh-ca.d.ts +29 -20
  405. package/dist/kernel/moleculer/mesh-mtls/mesh-clear-port.d.ts +32 -32
  406. package/dist/kernel/moleculer/mesh-mtls/mesh-crl.d.ts +11 -11
  407. package/dist/kernel/moleculer/mesh-mtls/mesh-enroll.d.ts +19 -16
  408. package/dist/kernel/moleculer/mesh-mtls/mesh-join-token.d.ts +40 -40
  409. package/dist/kernel/moleculer/mesh-mtls/mesh-tls-enabler.d.ts +5 -1
  410. package/dist/kernel/moleculer/mesh-mtls/tls-tcp-transporter.d.ts +131 -130
  411. package/dist/kernel/moleculer/mesh-queue-report.d.ts +39 -39
  412. package/dist/kernel/moleculer/node-registry.d.ts +120 -120
  413. package/dist/kernel/moleculer/process-context.d.ts +2 -2
  414. package/dist/kernel/moleculer/process-service.d.ts +168 -168
  415. package/dist/kernel/moleculer/provider-registry.d.ts +9 -9
  416. package/dist/kernel/moleculer/readiness-context.d.ts +58 -58
  417. package/dist/kernel/moleculer/readiness-service.d.ts +31 -16
  418. package/dist/kernel/moleculer/register-framework-resolver.d.ts +6 -6
  419. package/dist/kernel/moleculer/register-node-client.d.ts +34 -27
  420. package/dist/kernel/moleculer/remote-logger.d.ts +29 -29
  421. package/dist/kernel/moleculer/resilient-cap-call.d.ts +21 -21
  422. package/dist/kernel/moleculer/runner-native-allocator.d.ts +95 -95
  423. package/dist/kernel/moleculer/runner-process-group.d.ts +57 -57
  424. package/dist/kernel/moleculer/runtime-state-load.d.ts +21 -11
  425. package/dist/kernel/moleculer/settings-read-guard.d.ts +39 -39
  426. package/dist/kernel/moleculer/stream-probe-service.d.ts +25 -6
  427. package/dist/kernel/moleculer/trpc-links.d.ts +203 -203
  428. package/dist/kernel/moleculer/typed-array-serde.d.ts +9 -20
  429. package/dist/kernel/moleculer/worker-device-restore.d.ts +8 -8
  430. package/dist/kernel/outbound-queue-watch.d.ts +74 -74
  431. package/dist/kernel/process-cpu-census.d.ts +55 -55
  432. package/dist/kernel/provider-kind-drift.d.ts +17 -8
  433. package/dist/kernel/restart-coordinator.d.ts +71 -71
  434. package/dist/kernel/settings-door-view.d.ts +36 -25
  435. package/dist/kernel/settings-read-error.d.ts +29 -31
  436. package/dist/kernel/settings-view-types.d.ts +100 -95
  437. package/dist/kernel/socket-plane-report.d.ts +214 -153
  438. package/dist/kernel/status-overlay.d.ts +31 -11
  439. package/dist/kernel/storage-location-registry.d.ts +50 -50
  440. package/dist/kernel/store-settings-view.d.ts +13 -13
  441. package/dist/kernel/system-settings-mirror.d.ts +40 -28
  442. package/dist/kernel/system-settings-policy.d.ts +15 -34
  443. package/dist/kernel/transport/cap-action-census.d.ts +183 -183
  444. package/dist/kernel/transport/cap-action-name.d.ts +84 -84
  445. package/dist/kernel/transport/cap-child-index.d.ts +41 -41
  446. package/dist/kernel/transport/cap-route-resolver.d.ts +237 -212
  447. package/dist/kernel/transport/cap-route.d.ts +139 -139
  448. package/dist/kernel/transport/cap-routing-hints.d.ts +37 -37
  449. package/dist/kernel/transport/child-cap-protocol.d.ts +245 -245
  450. package/dist/kernel/transport/claimed-get-status.d.ts +30 -6
  451. package/dist/kernel/transport/create-local-transport.d.ts +5 -5
  452. package/dist/kernel/transport/frame-codec.d.ts +109 -109
  453. package/dist/kernel/transport/hub-cap-forward.d.ts +81 -59
  454. package/dist/kernel/transport/index.d.ts +36 -36
  455. package/dist/kernel/transport/local-child-client.d.ts +184 -184
  456. package/dist/kernel/transport/local-child-registry.d.ts +592 -592
  457. package/dist/kernel/transport/local-endpoint-path.d.ts +4 -4
  458. package/dist/kernel/transport/local-transport.d.ts +92 -92
  459. package/dist/kernel/transport/parent-unowned-call.d.ts +266 -237
  460. package/dist/kernel/transport/peer-answered-error.d.ts +14 -14
  461. package/dist/kernel/transport/socket-channel.d.ts +110 -110
  462. package/dist/kernel/transport/socket-traffic.d.ts +96 -96
  463. package/dist/kernel/transport/uds-event-bridge.d.ts +77 -50
  464. package/dist/kernel/transport/uds-event-bus.d.ts +75 -26
  465. package/dist/kernel/transport/uds-local-transport.d.ts +14 -14
  466. package/dist/kernel/transport/uds-log-ingest.d.ts +38 -23
  467. package/dist/kernel/transport/uds-logger.d.ts +33 -33
  468. package/dist/kernel/utils/ring-buffer.d.ts +12 -12
  469. package/dist/kernel/workspace-detect.d.ts +7 -7
  470. package/dist/lifecycle/lifecycle-state-machine.d.ts +24 -24
  471. package/dist/logging/formatter.d.ts +52 -25
  472. package/dist/logging/log-manager.d.ts +133 -133
  473. package/dist/logging/log-redactor.d.ts +22 -1
  474. package/dist/logging/log-ring-buffer.d.ts +57 -57
  475. package/dist/logging/logging-gate.d.ts +69 -25
  476. package/dist/logging/logging-gate.singleton.d.ts +12 -1
  477. package/dist/logging/partitioned-log-buffer.d.ts +161 -161
  478. package/dist/logging/scoped-logger.d.ts +14 -14
  479. package/dist/network/network-quality.d.ts +8 -8
  480. package/dist/notification/notification-service.d.ts +37 -37
  481. package/dist/notification/toast-service.d.ts +18 -18
  482. package/dist/pipeline/engine-manager-resolver.d.ts +12 -12
  483. package/dist/pipeline/pipeline-runner.d.ts +6 -6
  484. package/dist/pipeline/pipeline-validator.d.ts +8 -8
  485. package/dist/process/proc-stat.d.ts +51 -51
  486. package/dist/process/resource-monitor.d.ts +19 -19
  487. package/dist/python/python-env-manager.d.ts +10 -10
  488. package/dist/repl/interfaces.d.ts +21 -21
  489. package/dist/repl/repl-engine.d.ts +6 -6
  490. package/dist/storage/fs-storage-backend.d.ts +35 -35
  491. package/dist/storage/storage-location-manager.d.ts +21 -21
  492. package/dist/storage/storage-manager.d.ts +68 -68
  493. package/dist/tls/boot-tls.d.ts +24 -24
  494. package/dist/tls/cert-evaluation.d.ts +25 -25
  495. package/dist/tls/cert-identity.d.ts +39 -39
  496. package/dist/tls/cert-issue.d.ts +37 -17
  497. package/dist/tls/cert-manager.d.ts +86 -84
  498. package/dist/tls/https-listener.d.ts +16 -16
  499. package/dist/tls/index.d.ts +8 -8
  500. package/dist/tls/tls-actions.d.ts +18 -18
  501. package/dist/tls/tls-status.d.ts +15 -15
  502. package/dist/tls/uploaded-cert.d.ts +9 -9
  503. package/package.json +9 -3
@@ -1,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;