@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.
- package/dist/addon/addon-api-factory.d.ts +30 -30
- package/dist/addon-routes/addon-route-registry.d.ts +31 -31
- package/dist/addon-runner.js +1 -1
- package/dist/addon-runner.mjs +1 -1
- package/dist/addon-utils.d.ts +22 -22
- package/dist/addon-utils.js +1 -1
- package/dist/addon-utils.mjs +1 -1
- package/dist/amd-accelerators-CEuPFBBK.js +36 -0
- package/dist/amd-accelerators-U_RsoEDd.mjs +35 -0
- package/dist/amd-npu-B-QyyMyF.js +53 -0
- package/dist/amd-npu-Db_SoSuL.mjs +52 -0
- package/dist/auth/admin-token-manager.d.ts +37 -67
- package/dist/auth/api-key-manager.d.ts +8 -8
- package/dist/auth/auth-audit-log.d.ts +29 -49
- package/dist/auth/auth-manager.d.ts +127 -126
- package/dist/auth/cidr.d.ts +8 -8
- package/dist/auth/external-identity-manager.d.ts +46 -34
- package/dist/auth/jwt-signing-key.d.ts +14 -14
- package/dist/auth/login-session-manager.d.ts +95 -135
- package/dist/auth/parse-record.d.ts +13 -13
- package/dist/auth/scope-matcher.d.ts +7 -7
- package/dist/auth/scoped-token-manager.d.ts +62 -62
- package/dist/auth/token-expiry.d.ts +49 -26
- package/dist/auth/totp-manager.d.ts +48 -48
- package/dist/auth/user-management-internal.d.ts +67 -52
- package/dist/auth/user-manager.d.ts +58 -58
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.d.ts +54 -54
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
- package/dist/builtins/addon-pages-aggregator/dedupe-pages.d.ts +22 -4
- package/dist/builtins/addon-pages-aggregator/index.d.ts +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.d.ts +54 -54
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
- package/dist/builtins/addon-widgets-aggregator/index.d.ts +1 -1
- package/dist/builtins/alerts/alerts.addon.d.ts +88 -87
- package/dist/builtins/alerts/alerts.addon.js +1 -1
- package/dist/builtins/alerts/alerts.addon.mjs +1 -1
- package/dist/builtins/alerts/device-label.d.ts +6 -6
- package/dist/builtins/alerts/index.d.ts +1 -1
- package/dist/builtins/alerts/prune-policy.d.ts +36 -36
- package/dist/builtins/autotrack/autotrack-cameras.d.ts +102 -79
- package/dist/builtins/autotrack/autotrack-config.d.ts +81 -81
- package/dist/builtins/autotrack/autotrack-decision.d.ts +69 -82
- package/dist/builtins/autotrack/autotrack-loop.d.ts +81 -61
- package/dist/builtins/autotrack/autotrack.addon.d.ts +103 -66
- package/dist/builtins/autotrack/frame-error.d.ts +38 -38
- package/dist/builtins/autotrack/frame-measurements.d.ts +79 -79
- package/dist/builtins/autotrack/index.d.ts +2 -2
- package/dist/builtins/autotrack/index.js +1 -1
- package/dist/builtins/autotrack/index.mjs +1 -1
- package/dist/builtins/autotrack/ptz-mirror.d.ts +46 -17
- package/dist/builtins/autotrack/target-selection.d.ts +33 -47
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.d.ts +270 -269
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +2 -2
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +2 -2
- package/dist/builtins/backup-orchestrator/cron-helpers.d.ts +17 -17
- package/dist/builtins/backup-orchestrator/destination-policy.d.ts +99 -82
- package/dist/builtins/backup-orchestrator/download-helpers.d.ts +9 -9
- package/dist/builtins/backup-orchestrator/encryption-key-store.d.ts +40 -29
- package/dist/builtins/backup-orchestrator/index.d.ts +2 -2
- package/dist/builtins/backup-orchestrator/manifest-store.d.ts +88 -69
- package/dist/builtins/backup-orchestrator/restore-archive.d.ts +14 -14
- package/dist/builtins/backup-orchestrator/run-queue.d.ts +86 -86
- package/dist/builtins/backup-orchestrator/schedule-store.d.ts +53 -37
- package/dist/builtins/backup-orchestrator/staging-paths.d.ts +23 -23
- package/dist/builtins/backup-orchestrator/write-targets.d.ts +53 -53
- package/dist/builtins/calendars/calendar-color.d.ts +5 -1
- package/dist/builtins/calendars/calendar-prefs-store.d.ts +18 -12
- package/dist/builtins/calendars/calendars.addon.d.ts +16 -11
- package/dist/builtins/calendars/calendars.addon.js +1 -1
- package/dist/builtins/calendars/calendars.addon.mjs +1 -1
- package/dist/builtins/calendars/index.d.ts +1 -1
- package/dist/builtins/camera-grid/acquire-retry.d.ts +26 -26
- package/dist/builtins/camera-grid/addon.d.ts +200 -174
- package/dist/builtins/camera-grid/flv-join.d.ts +32 -58
- package/dist/builtins/camera-grid/grid-activity-mirror.d.ts +37 -37
- package/dist/builtins/camera-grid/grid-activity.d.ts +83 -42
- package/dist/builtins/camera-grid/grid-camera-declarations.d.ts +46 -46
- package/dist/builtins/camera-grid/grid-camera-device.d.ts +60 -34
- package/dist/builtins/camera-grid/grid-canvas-derivation.d.ts +50 -15
- package/dist/builtins/camera-grid/grid-canvas-seed.d.ts +96 -46
- package/dist/builtins/camera-grid/grid-canvas.d.ts +74 -74
- package/dist/builtins/camera-grid/grid-child.d.ts +29 -16
- package/dist/builtins/camera-grid/grid-compositor-child.d.ts +2 -2
- package/dist/builtins/camera-grid/grid-compositor-invocation.d.ts +39 -11
- package/dist/builtins/camera-grid/grid-compositor.d.ts +50 -50
- package/dist/builtins/camera-grid/grid-detection-mapping.d.ts +52 -22
- package/dist/builtins/camera-grid/grid-device-settings.d.ts +31 -7
- package/dist/builtins/camera-grid/grid-filter-graph.d.ts +41 -41
- package/dist/builtins/camera-grid/grid-frame-sample.d.ts +45 -19
- package/dist/builtins/camera-grid/grid-instances.d.ts +20 -50
- package/dist/builtins/camera-grid/grid-last-frame-store.d.ts +51 -51
- package/dist/builtins/camera-grid/grid-layout-native-provider.d.ts +30 -4
- package/dist/builtins/camera-grid/grid-plan.d.ts +30 -20
- package/dist/builtins/camera-grid/grid-profiles.d.ts +85 -45
- package/dist/builtins/camera-grid/grid-row-normalization.d.ts +6 -6
- package/dist/builtins/camera-grid/grid-sentry-sources.d.ts +57 -57
- package/dist/builtins/camera-grid/grid-snapshot.d.ts +41 -41
- package/dist/builtins/camera-grid/grid-stream-descriptor.d.ts +49 -21
- package/dist/builtins/camera-grid/grid-stream-invocation.d.ts +37 -22
- package/dist/builtins/camera-grid/grid-stream-relay.d.ts +26 -26
- package/dist/builtins/camera-grid/grid-stream-session.d.ts +123 -93
- package/dist/builtins/camera-grid/grid-tile-feed.d.ts +47 -47
- package/dist/builtins/camera-grid/grid-tile-plan.d.ts +55 -20
- package/dist/builtins/camera-grid/grid-wire-format.d.ts +22 -6
- package/dist/builtins/camera-grid/index.d.ts +44 -44
- package/dist/builtins/camera-grid/index.js +1 -1
- package/dist/builtins/camera-grid/index.mjs +1 -1
- package/dist/builtins/camera-grid/silence-analysis.d.ts +31 -14
- package/dist/builtins/composer/claim-gate.d.ts +54 -27
- package/dist/builtins/composer/composed-device-set.d.ts +40 -26
- package/dist/builtins/composer/composed-device.d.ts +39 -17
- package/dist/builtins/composer/composer-apply-waits.d.ts +20 -13
- package/dist/builtins/composer/composer-grafts.d.ts +57 -38
- package/dist/builtins/composer/composer-live-set.d.ts +15 -15
- package/dist/builtins/composer/composer-plan.d.ts +76 -60
- package/dist/builtins/composer/composer-runtime-factory.d.ts +21 -14
- package/dist/builtins/composer/composer-seeds.d.ts +20 -14
- package/dist/builtins/composer/composer-verdict.d.ts +28 -14
- package/dist/builtins/composer/composer.addon.d.ts +23 -9
- package/dist/builtins/composer/composer.addon.js +2 -2
- package/dist/builtins/composer/composer.addon.mjs +2 -2
- package/dist/builtins/composer/composer.d.ts +145 -100
- package/dist/builtins/composer/composition-declarations.d.ts +50 -39
- package/dist/builtins/composer/composition-evaluation.d.ts +38 -22
- package/dist/builtins/composer/composition-runtime.d.ts +178 -125
- package/dist/builtins/composer/composition-target.d.ts +38 -34
- package/dist/builtins/composer/confirmed-seed.d.ts +35 -23
- package/dist/builtins/composer/deadline-timer.d.ts +13 -13
- package/dist/builtins/composer/existing-target.d.ts +90 -73
- package/dist/builtins/composer/field-record.d.ts +26 -19
- package/dist/builtins/composer/graft-host.d.ts +56 -32
- package/dist/builtins/composer/held-claims.d.ts +26 -9
- package/dist/builtins/composer/index.d.ts +1 -1
- package/dist/builtins/composer/own-field-reads.d.ts +26 -15
- package/dist/builtins/composer/owned-fields-target.d.ts +75 -44
- package/dist/builtins/composer/slice-assembler.d.ts +19 -3
- package/dist/builtins/composer/source-readings.d.ts +67 -61
- package/dist/builtins/composer/source-tracker.d.ts +133 -69
- package/dist/builtins/console-logging/console-destination.d.ts +15 -8
- package/dist/builtins/console-logging/console-logging.addon.d.ts +20 -19
- package/dist/builtins/console-logging/index.d.ts +3 -3
- package/dist/builtins/console-logging/index.js +1 -1
- package/dist/builtins/console-logging/index.mjs +1 -1
- package/dist/builtins/core-blocks/block-package.d.ts +37 -37
- package/dist/builtins/core-blocks/block-settings-store.d.ts +34 -21
- package/dist/builtins/core-blocks/block-supervisor.d.ts +138 -117
- package/dist/builtins/core-blocks/block-type-defs.d.ts +21 -21
- package/dist/builtins/core-blocks/blocks-integration.d.ts +76 -49
- package/dist/builtins/core-blocks/compile-block.d.ts +37 -37
- package/dist/builtins/core-blocks/composition-api.d.ts +38 -24
- package/dist/builtins/core-blocks/composition-peers.d.ts +26 -4
- package/dist/builtins/core-blocks/composition-sources.d.ts +25 -10
- package/dist/builtins/core-blocks/core-block-store.d.ts +109 -109
- package/dist/builtins/core-blocks/core-blocks.addon.d.ts +72 -72
- package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
- package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
- package/dist/builtins/core-blocks/extract-settings-schema.d.ts +4 -4
- package/dist/builtins/core-blocks/index.d.ts +8 -8
- package/dist/builtins/device-manager/adoption-job-engine.d.ts +141 -98
- package/dist/builtins/device-manager/claimed-status-overlay.d.ts +42 -9
- package/dist/builtins/device-manager/contribution-cache.d.ts +56 -56
- package/dist/builtins/device-manager/day-night-config-schema.d.ts +26 -12
- package/dist/builtins/device-manager/device-aggregation-merge.d.ts +17 -17
- package/dist/builtins/device-manager/device-aggregation.d.ts +277 -254
- package/dist/builtins/device-manager/device-bindings-store.d.ts +232 -220
- package/dist/builtins/device-manager/device-config-contribution.d.ts +29 -29
- package/dist/builtins/device-manager/device-config-secrets.d.ts +32 -13
- package/dist/builtins/device-manager/device-event-propagator.d.ts +22 -22
- package/dist/builtins/device-manager/device-extension-linked-slot.d.ts +17 -17
- package/dist/builtins/device-manager/device-form-secrets.d.ts +14 -14
- package/dist/builtins/device-manager/device-linked-devices.d.ts +159 -98
- package/dist/builtins/device-manager/device-manager.addon.d.ts +223 -197
- package/dist/builtins/device-manager/device-manager.addon.js +2 -2
- package/dist/builtins/device-manager/device-manager.addon.mjs +2 -2
- package/dist/builtins/device-manager/device-meta-actions.d.ts +306 -305
- package/dist/builtins/device-manager/device-meta-store.d.ts +100 -90
- package/dist/builtins/device-manager/device-meta-types.d.ts +250 -241
- package/dist/builtins/device-manager/device-online-fallback.d.ts +30 -30
- package/dist/builtins/device-manager/device-projection.d.ts +53 -67
- package/dist/builtins/device-manager/device-provider-context.d.ts +109 -94
- package/dist/builtins/device-manager/device-queries.d.ts +63 -63
- package/dist/builtins/device-manager/device-row-store.d.ts +417 -365
- package/dist/builtins/device-manager/device-source-activation.d.ts +91 -49
- package/dist/builtins/device-manager/device-state-claim-views.d.ts +76 -61
- package/dist/builtins/device-manager/device-state-claims.d.ts +53 -30
- package/dist/builtins/device-manager/device-state-mirror.d.ts +256 -264
- package/dist/builtins/device-manager/device-sync-resolvers.d.ts +25 -25
- package/dist/builtins/device-manager/field-claims-index.d.ts +85 -58
- package/dist/builtins/device-manager/field-ownership.d.ts +54 -36
- package/dist/builtins/device-manager/fleet-read-census.d.ts +99 -61
- package/dist/builtins/device-manager/image-settings-config-schema.d.ts +18 -8
- package/dist/builtins/device-manager/index.d.ts +2 -2
- package/dist/builtins/device-manager/linked-devices-manual-backfill.d.ts +20 -9
- package/dist/builtins/device-manager/location-alignment.d.ts +46 -46
- package/dist/builtins/device-manager/migrate-device.d.ts +178 -101
- package/dist/builtins/device-manager/migrate-guard.d.ts +66 -34
- package/dist/builtins/device-manager/migrate-hardware-state.d.ts +59 -59
- package/dist/builtins/device-manager/migrate-reload.d.ts +42 -4
- package/dist/builtins/device-manager/migration-refused.d.ts +20 -20
- package/dist/builtins/device-manager/mirror-row-writer.d.ts +205 -179
- package/dist/builtins/device-manager/recording-onboard-config-schema.d.ts +56 -32
- package/dist/builtins/device-manager/removal-fence.d.ts +48 -48
- package/dist/builtins/device-manager/runtime-state-persist-gate.d.ts +54 -26
- package/dist/builtins/device-manager/secret-config-paths.d.ts +17 -17
- package/dist/builtins/device-manager/stale-wrapper-activations.d.ts +52 -25
- package/dist/builtins/device-manager/write-lock.d.ts +13 -13
- package/dist/builtins/hub-forwarder/hub-forwarder-destination.d.ts +41 -41
- package/dist/builtins/hub-forwarder/hub-forwarder.addon.d.ts +13 -12
- package/dist/builtins/hub-forwarder/index.d.ts +3 -3
- package/dist/builtins/hub-forwarder/index.js +1 -1
- package/dist/builtins/hub-forwarder/index.mjs +1 -1
- package/dist/builtins/keychain/index.d.ts +1 -1
- package/dist/builtins/keychain/index.js +3 -3
- package/dist/builtins/keychain/index.mjs +3 -3
- package/dist/builtins/keychain/key-sources.d.ts +19 -19
- package/dist/builtins/keychain/keychain-crypto.d.ts +4 -4
- package/dist/builtins/keychain/keychain-reset-trigger.d.ts +13 -13
- package/dist/builtins/keychain/keychain-service.d.ts +128 -128
- package/dist/builtins/keychain/keychain-store.d.ts +96 -87
- package/dist/builtins/keychain/keychain-usage.d.ts +13 -2
- package/dist/builtins/keychain/keychain.addon.d.ts +31 -6
- package/dist/builtins/keychain/platform-key-source.d.ts +15 -15
- package/dist/builtins/keychain/system-held-secrets.d.ts +17 -4
- package/dist/builtins/liveness-monitor/index.d.ts +2 -2
- package/dist/builtins/liveness-monitor/liveness-checks.d.ts +73 -52
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.d.ts +57 -36
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
- package/dist/builtins/local-auth/admin-account-boot.d.ts +14 -14
- package/dist/builtins/local-auth/auth-config-reader.d.ts +34 -17
- package/dist/builtins/local-auth/auth-schema.d.ts +92 -69
- package/dist/builtins/local-auth/index.d.ts +1 -1
- package/dist/builtins/local-auth/jwt-signing-key-keeper.d.ts +22 -22
- package/dist/builtins/local-auth/local-auth.addon.d.ts +41 -40
- package/dist/builtins/local-auth/local-auth.addon.js +2 -2
- package/dist/builtins/local-auth/local-auth.addon.mjs +2 -2
- package/dist/builtins/local-auth/oauth-grants.d.ts +57 -57
- package/dist/builtins/local-auth/oauth-session-manager.d.ts +62 -62
- package/dist/builtins/local-network/address-book.d.ts +61 -36
- package/dist/builtins/local-network/index.d.ts +2 -2
- package/dist/builtins/local-network/ipv6-lan.d.ts +12 -17
- package/dist/builtins/local-network/local-hostname.d.ts +10 -10
- package/dist/builtins/local-network/local-network.addon.d.ts +259 -258
- package/dist/builtins/local-network/local-network.addon.js +1 -1
- package/dist/builtins/local-network/local-network.addon.mjs +1 -1
- package/dist/builtins/loki-logging/index.d.ts +4 -4
- package/dist/builtins/loki-logging/index.js +1 -1
- package/dist/builtins/loki-logging/index.mjs +1 -1
- package/dist/builtins/loki-logging/loki-destination.d.ts +113 -87
- package/dist/builtins/loki-logging/loki-logging.addon.d.ts +61 -42
- package/dist/builtins/loki-logging/loki-payload.d.ts +82 -39
- package/dist/builtins/loki-logging/retire-enabled-flag.d.ts +37 -12
- package/dist/builtins/native-metrics/cgroup-memory.d.ts +206 -159
- package/dist/builtins/native-metrics/cgroup-pids.d.ts +138 -91
- package/dist/builtins/native-metrics/container-memory-series.d.ts +212 -178
- package/dist/builtins/native-metrics/gpu-probe.d.ts +9 -9
- package/dist/builtins/native-metrics/index.d.ts +2 -2
- package/dist/builtins/native-metrics/load-series-config.d.ts +29 -57
- package/dist/builtins/native-metrics/load-series-reader.d.ts +52 -26
- package/dist/builtins/native-metrics/load-series-store.d.ts +237 -176
- package/dist/builtins/native-metrics/native-metrics-provider.d.ts +43 -43
- package/dist/builtins/native-metrics/native-metrics.addon.d.ts +230 -230
- package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
- package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
- package/dist/builtins/native-metrics/node-load-ring.d.ts +196 -196
- package/dist/builtins/native-metrics/proc-process-table.d.ts +12 -12
- package/dist/builtins/native-metrics/process-classification.d.ts +95 -36
- package/dist/builtins/native-metrics/thread-cpu-sampler.d.ts +95 -95
- package/dist/builtins/platform-probe/amd-accelerators.d.ts +15 -0
- package/dist/builtins/platform-probe/amd-npu.d.ts +29 -0
- package/dist/builtins/platform-probe/coral-accelerators.d.ts +17 -17
- package/dist/builtins/platform-probe/index.d.ts +38 -30
- package/dist/builtins/platform-probe/index.js +59 -22
- package/dist/builtins/platform-probe/index.mjs +59 -22
- package/dist/builtins/platform-probe/inference-config-resolver.d.ts +27 -27
- package/dist/builtins/platform-probe/intel-accelerators.d.ts +8 -8
- package/dist/builtins/platform-probe/intel-npu.d.ts +30 -30
- package/dist/builtins/platform-probe/platform-scorer.d.ts +35 -35
- package/dist/builtins/platform-probe/runtime-packages.d.ts +3 -3
- package/dist/builtins/remote-access-orchestrator/enabled-providers-reconcile.d.ts +87 -87
- package/dist/builtins/remote-access-orchestrator/index.d.ts +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.d.ts +66 -35
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
- package/dist/builtins/shared/device-state-changed.d.ts +9 -9
- package/dist/builtins/shared/settle-sources.d.ts +16 -16
- package/dist/builtins/snapshot/index.d.ts +2 -2
- package/dist/builtins/snapshot/index.js +1 -1
- package/dist/builtins/snapshot/index.mjs +1 -1
- package/dist/builtins/snapshot/snapshot-cache.d.ts +92 -92
- package/dist/builtins/snapshot/snapshot-coalescing.d.ts +108 -108
- package/dist/builtins/snapshot/snapshot-courtesy.d.ts +48 -48
- package/dist/builtins/snapshot/snapshot-durable-store.d.ts +32 -32
- package/dist/builtins/snapshot/snapshot-fatigue.d.ts +34 -34
- package/dist/builtins/snapshot/snapshot-grab-pick.d.ts +14 -14
- package/dist/builtins/snapshot/snapshot-link-url.d.ts +49 -49
- package/dist/builtins/snapshot/snapshot-media-handler.d.ts +97 -97
- package/dist/builtins/snapshot/snapshot-resize.d.ts +64 -103
- package/dist/builtins/snapshot/snapshot.addon.d.ts +569 -568
- package/dist/builtins/sqlite-storage/analyze-stats.d.ts +73 -29
- package/dist/builtins/sqlite-storage/config-store.d.ts +6 -6
- package/dist/builtins/sqlite-storage/device-store.d.ts +16 -16
- package/dist/builtins/sqlite-storage/filesystem-browse-provider.d.ts +23 -23
- package/dist/builtins/sqlite-storage/filesystem-storage-provider.d.ts +79 -79
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.d.ts +27 -26
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
- package/dist/builtins/sqlite-storage/filter-compiler.d.ts +107 -107
- package/dist/builtins/sqlite-storage/index.d.ts +12 -12
- package/dist/builtins/sqlite-storage/integration-registry.d.ts +37 -37
- package/dist/builtins/sqlite-storage/path-guard.d.ts +5 -5
- package/dist/builtins/sqlite-storage/prefix-range.d.ts +44 -44
- package/dist/builtins/sqlite-storage/query-bounds.d.ts +100 -106
- package/dist/builtins/sqlite-storage/query-profiler.d.ts +217 -217
- package/dist/builtins/sqlite-storage/retired-collections.d.ts +124 -55
- package/dist/builtins/sqlite-storage/retired-settings-keys.d.ts +239 -189
- package/dist/builtins/sqlite-storage/shm-lock-canary.d.ts +41 -41
- package/dist/builtins/sqlite-storage/sqlite-pragmas.d.ts +162 -162
- package/dist/builtins/sqlite-storage/sqlite-settings-backend.d.ts +458 -458
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.d.ts +59 -58
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +0 -0
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +0 -0
- package/dist/builtins/sqlite-storage/sqlite-snapshot-protocol.d.ts +37 -32
- package/dist/builtins/sqlite-storage/sqlite-snapshot-worker.d.ts +19 -19
- package/dist/builtins/sqlite-storage/sqlite-snapshotter.d.ts +76 -76
- package/dist/builtins/sqlite-storage/statement-shape.d.ts +54 -54
- package/dist/builtins/sqlite-storage/table-sizes.d.ts +71 -71
- package/dist/builtins/sqlite-storage/vector-index-shared.d.ts +63 -54
- package/dist/builtins/sqlite-storage/vector-index-vec.d.ts +133 -96
- package/dist/builtins/sqlite-storage/wal-checkpoint-policy.d.ts +161 -161
- package/dist/builtins/sqlite-storage/wal-checkpointer.d.ts +60 -60
- package/dist/builtins/sqlite-storage/wal-maintenance.d.ts +94 -94
- package/dist/builtins/storage-orchestrator/access-guards.d.ts +37 -26
- package/dist/builtins/storage-orchestrator/data-store-dispatch.d.ts +33 -18
- package/dist/builtins/storage-orchestrator/drain-ratchet.d.ts +85 -85
- package/dist/builtins/storage-orchestrator/drain-state-store.d.ts +20 -10
- package/dist/builtins/storage-orchestrator/hub-settings-forward.d.ts +113 -53
- package/dist/builtins/storage-orchestrator/index.d.ts +7 -7
- package/dist/builtins/storage-orchestrator/location-occupancy-slice.d.ts +64 -40
- package/dist/builtins/storage-orchestrator/location-occupancy.d.ts +14 -14
- package/dist/builtins/storage-orchestrator/location-protection.d.ts +13 -13
- package/dist/builtins/storage-orchestrator/location-repoint-move.d.ts +44 -44
- package/dist/builtins/storage-orchestrator/location-root-collision.d.ts +61 -25
- package/dist/builtins/storage-orchestrator/location-secrets.d.ts +99 -58
- package/dist/builtins/storage-orchestrator/location-store.d.ts +56 -47
- package/dist/builtins/storage-orchestrator/location-volume-capacity.d.ts +37 -37
- package/dist/builtins/storage-orchestrator/provider-discovery.d.ts +20 -6
- package/dist/builtins/storage-orchestrator/storage-cleanup-coordinator.d.ts +51 -51
- package/dist/builtins/storage-orchestrator/storage-migration-coordinator.d.ts +224 -224
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.d.ts +292 -292
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
- package/dist/builtins/storage-orchestrator/storage-orchestrator.service.d.ts +431 -450
- package/dist/builtins/storage-orchestrator/storage-pressure-manager.d.ts +104 -104
- package/dist/builtins/system-backup/backup-encryption.d.ts +60 -23
- package/dist/builtins/system-backup/system-backup.service.d.ts +240 -240
- package/dist/builtins/system-config/cluster-secret-keeper.d.ts +54 -34
- package/dist/builtins/system-config/index.d.ts +2 -2
- package/dist/builtins/system-config/mesh-actions.d.ts +2 -30
- package/dist/builtins/system-config/system-config.addon.d.ts +57 -100
- package/dist/builtins/system-config/system-config.addon.js +39 -35
- package/dist/builtins/system-config/system-config.addon.mjs +320 -316
- package/dist/builtins/winston-logging/index.d.ts +3 -3
- package/dist/builtins/winston-logging/index.js +1 -1
- package/dist/builtins/winston-logging/index.mjs +1 -1
- package/dist/builtins/winston-logging/winston-destination.d.ts +15 -15
- package/dist/builtins/winston-logging/winston-logging.addon.d.ts +14 -13
- package/dist/{child-cap-dispatch-nURMuVTX.js → child-cap-dispatch-Nx-lrlHR.js} +19 -1
- package/dist/{child-cap-dispatch-B1gyE35b.mjs → child-cap-dispatch-x-onDDiV.mjs} +2 -2
- package/dist/{composition-sources-wdAxs-uY.js → composition-sources-LUJsW0AQ.js} +1 -1
- package/dist/{composition-sources-xqhm2Ygr.mjs → composition-sources-R8TskGSV.mjs} +1 -1
- package/dist/{constants-Ca-Sgcl8.js → constants-D4lxxip7.js} +1 -1
- package/dist/{constants-D5z4EwY8.mjs → constants-DMvAcbbP.mjs} +1 -1
- package/dist/{dist-8LQ4lDEB.js → dist-XTkzsnz-.js} +35 -1
- package/dist/{dist-Biqn3TEn.mjs → dist-byg8IP4Q.mjs} +35 -1
- package/dist/download/hosted-model-revisions.d.ts +8 -8
- package/dist/download/model-download-service.d.ts +32 -32
- package/dist/download/model-downloader.d.ts +88 -88
- package/dist/{event-loop-stall-monitor-CNj73d4D.js → event-loop-stall-monitor-DPFghEFw.js} +1 -1
- package/dist/{event-loop-stall-monitor-BtK_0Pjc.mjs → event-loop-stall-monitor-TG8UcdY2.mjs} +1 -1
- package/dist/events/event-bus.d.ts +6 -6
- package/dist/events/system-event-bus.d.ts +11 -11
- package/dist/feature/feature-manager.d.ts +6 -6
- package/dist/http/asset-compression.d.ts +35 -73
- package/dist/http/authenticated-file-server.d.ts +32 -32
- package/dist/http/data-plane-registry.d.ts +49 -39
- package/dist/http/file-data-plane.d.ts +14 -14
- package/dist/http/lan-http-bind.d.ts +24 -13
- package/dist/http/reverse-proxy.d.ts +36 -24
- package/dist/index.d.ts +137 -137
- package/dist/index.js +9 -8
- package/dist/index.mjs +7 -9
- package/dist/{jwt-signing-key-DxV2ucvJ.js → jwt-signing-key-CD87HrHH.js} +1 -1
- package/dist/{jwt-signing-key-SnDgvVUQ.mjs → jwt-signing-key-DNBxSN5p.mjs} +1 -1
- package/dist/kernel/addon-class-resolver.d.ts +1 -1
- package/dist/kernel/addon-engine-manager.d.ts +20 -20
- package/dist/kernel/addon-health-monitor.d.ts +151 -151
- package/dist/kernel/addon-installer.d.ts +609 -609
- package/dist/kernel/addon-loader.d.ts +133 -133
- package/dist/kernel/addon-manifest.d.ts +118 -118
- package/dist/kernel/addon-residue.d.ts +28 -32
- package/dist/kernel/array-buffer-census.d.ts +84 -88
- package/dist/kernel/bootstrap-config.d.ts +3 -3
- package/dist/kernel/cap-router-builder.d.ts +145 -101
- package/dist/kernel/capability-handle.d.ts +41 -41
- package/dist/kernel/capability-registry.d.ts +588 -576
- package/dist/kernel/config-manager.d.ts +199 -199
- package/dist/kernel/config-schema.d.ts +132 -128
- package/dist/kernel/custom-action-registry.d.ts +25 -25
- package/dist/kernel/deps/addon-deps-manager.d.ts +17 -17
- package/dist/kernel/deps/closure-dedupe.d.ts +76 -76
- package/dist/kernel/deps/ensure-addon-natives.d.ts +34 -34
- package/dist/kernel/deps/ensure-native-prebuilds.d.ts +25 -25
- package/dist/kernel/deps/manifest-native-deps.d.ts +38 -38
- package/dist/kernel/deps/manifest-python-deps.d.ts +18 -18
- package/dist/kernel/deps/manifest-system-deps.d.ts +13 -13
- package/dist/kernel/deps/npm-command.d.ts +45 -45
- package/dist/kernel/deps/system-package-allowlist.d.ts +9 -9
- package/dist/kernel/deps/system-package-broker.d.ts +20 -20
- package/dist/kernel/deps/system-package-client.d.ts +3 -3
- package/dist/kernel/device-registry.d.ts +27 -27
- package/dist/kernel/event-loop-stall-monitor.d.ts +33 -33
- package/dist/kernel/event-plane-report.d.ts +174 -174
- package/dist/kernel/fs-utils.d.ts +70 -70
- package/dist/kernel/gc-census.d.ts +119 -119
- package/dist/kernel/heap-spaces.d.ts +87 -87
- package/dist/kernel/heap-watch.d.ts +706 -706
- package/dist/kernel/host-externals.d.ts +8 -8
- package/dist/kernel/hwaccel/hwaccel-resolver.d.ts +27 -27
- package/dist/kernel/index.d.ts +115 -113
- package/dist/kernel/inference/inference-resolver.d.ts +13 -13
- package/dist/kernel/infra-capabilities.d.ts +7 -7
- package/dist/kernel/isolated-builtin-phase.d.ts +42 -42
- package/dist/kernel/lifecycle/job-journal.d.ts +17 -17
- package/dist/kernel/lifecycle/lifecycle-job-engine.d.ts +99 -99
- package/dist/kernel/lifecycle/staging-area.d.ts +22 -22
- package/dist/kernel/moleculer/addon-context-factory.d.ts +90 -89
- package/dist/kernel/moleculer/addon-data-plane-facility.d.ts +12 -12
- package/dist/kernel/moleculer/addon-deploy-source.d.ts +11 -11
- package/dist/kernel/moleculer/addon-peer-bytes-facility.d.ts +18 -18
- package/dist/kernel/moleculer/addon-service-factory.d.ts +41 -41
- package/dist/kernel/moleculer/agent-mesh-authenticator.d.ts +60 -33
- package/dist/kernel/moleculer/agent-ui-unlock.d.ts +30 -30
- package/dist/kernel/moleculer/broker-factory.d.ts +61 -61
- package/dist/kernel/moleculer/cap-usage-registry.d.ts +108 -153
- package/dist/kernel/moleculer/capabilities-access.d.ts +19 -19
- package/dist/kernel/moleculer/child-addon-call-dispatch.d.ts +43 -43
- package/dist/kernel/moleculer/child-cap-descriptors.d.ts +26 -26
- package/dist/kernel/moleculer/child-cap-dispatch.d.ts +52 -52
- package/dist/kernel/moleculer/children-batch-loader.d.ts +86 -34
- package/dist/kernel/moleculer/cluster-secret.d.ts +19 -19
- package/dist/kernel/moleculer/core-cap-service.d.ts +53 -53
- package/dist/kernel/moleculer/crash-supervisor.d.ts +39 -39
- package/dist/kernel/moleculer/device-cap-proxy.d.ts +51 -51
- package/dist/kernel/moleculer/device-event-ring.d.ts +117 -75
- package/dist/kernel/moleculer/event-bus-core.d.ts +171 -159
- package/dist/kernel/moleculer/event-bus.d.ts +73 -73
- package/dist/kernel/moleculer/hub-log-forwarder.d.ts +30 -30
- package/dist/kernel/moleculer/hub-service.d.ts +42 -42
- package/dist/kernel/moleculer/init-watchdog.d.ts +49 -49
- package/dist/kernel/moleculer/mesh-access-middleware.d.ts +36 -21
- package/dist/kernel/moleculer/mesh-auth-mode.d.ts +33 -39
- package/dist/kernel/moleculer/mesh-authenticator.d.ts +58 -58
- package/dist/kernel/moleculer/mesh-auto-enforce.d.ts +38 -18
- package/dist/kernel/moleculer/mesh-join-client.d.ts +67 -45
- package/dist/kernel/moleculer/mesh-join-proof.d.ts +8 -8
- package/dist/kernel/moleculer/mesh-mtls/constants.d.ts +1 -1
- package/dist/kernel/moleculer/mesh-mtls/index.d.ts +10 -10
- package/dist/kernel/moleculer/mesh-mtls/mesh-ca-keeper.d.ts +43 -38
- package/dist/kernel/moleculer/mesh-mtls/mesh-ca.d.ts +29 -20
- package/dist/kernel/moleculer/mesh-mtls/mesh-clear-port.d.ts +32 -32
- package/dist/kernel/moleculer/mesh-mtls/mesh-crl.d.ts +11 -11
- package/dist/kernel/moleculer/mesh-mtls/mesh-enroll.d.ts +19 -16
- package/dist/kernel/moleculer/mesh-mtls/mesh-join-token.d.ts +40 -40
- package/dist/kernel/moleculer/mesh-mtls/mesh-tls-enabler.d.ts +5 -1
- package/dist/kernel/moleculer/mesh-mtls/tls-tcp-transporter.d.ts +131 -130
- package/dist/kernel/moleculer/mesh-queue-report.d.ts +39 -39
- package/dist/kernel/moleculer/node-registry.d.ts +120 -120
- package/dist/kernel/moleculer/process-context.d.ts +2 -2
- package/dist/kernel/moleculer/process-service.d.ts +168 -168
- package/dist/kernel/moleculer/provider-registry.d.ts +9 -9
- package/dist/kernel/moleculer/readiness-context.d.ts +58 -58
- package/dist/kernel/moleculer/readiness-service.d.ts +31 -16
- package/dist/kernel/moleculer/register-framework-resolver.d.ts +6 -6
- package/dist/kernel/moleculer/register-node-client.d.ts +34 -27
- package/dist/kernel/moleculer/remote-logger.d.ts +29 -29
- package/dist/kernel/moleculer/resilient-cap-call.d.ts +21 -21
- package/dist/kernel/moleculer/runner-native-allocator.d.ts +95 -95
- package/dist/kernel/moleculer/runner-process-group.d.ts +57 -57
- package/dist/kernel/moleculer/runtime-state-load.d.ts +21 -11
- package/dist/kernel/moleculer/settings-read-guard.d.ts +39 -39
- package/dist/kernel/moleculer/stream-probe-service.d.ts +25 -6
- package/dist/kernel/moleculer/trpc-links.d.ts +203 -203
- package/dist/kernel/moleculer/typed-array-serde.d.ts +9 -20
- package/dist/kernel/moleculer/worker-device-restore.d.ts +8 -8
- package/dist/kernel/outbound-queue-watch.d.ts +74 -74
- package/dist/kernel/process-cpu-census.d.ts +55 -55
- package/dist/kernel/provider-kind-drift.d.ts +17 -8
- package/dist/kernel/restart-coordinator.d.ts +71 -71
- package/dist/kernel/settings-door-view.d.ts +36 -25
- package/dist/kernel/settings-read-error.d.ts +29 -31
- package/dist/kernel/settings-view-types.d.ts +100 -95
- package/dist/kernel/socket-plane-report.d.ts +214 -153
- package/dist/kernel/status-overlay.d.ts +31 -11
- package/dist/kernel/storage-location-registry.d.ts +50 -50
- package/dist/kernel/store-settings-view.d.ts +13 -13
- package/dist/kernel/system-settings-mirror.d.ts +40 -28
- package/dist/kernel/system-settings-policy.d.ts +15 -34
- package/dist/kernel/transport/cap-action-census.d.ts +183 -183
- package/dist/kernel/transport/cap-action-name.d.ts +84 -84
- package/dist/kernel/transport/cap-child-index.d.ts +41 -41
- package/dist/kernel/transport/cap-route-resolver.d.ts +237 -212
- package/dist/kernel/transport/cap-route.d.ts +139 -139
- package/dist/kernel/transport/cap-routing-hints.d.ts +37 -37
- package/dist/kernel/transport/child-cap-protocol.d.ts +245 -245
- package/dist/kernel/transport/claimed-get-status.d.ts +30 -6
- package/dist/kernel/transport/create-local-transport.d.ts +5 -5
- package/dist/kernel/transport/frame-codec.d.ts +109 -109
- package/dist/kernel/transport/hub-cap-forward.d.ts +81 -59
- package/dist/kernel/transport/index.d.ts +36 -36
- package/dist/kernel/transport/local-child-client.d.ts +184 -184
- package/dist/kernel/transport/local-child-registry.d.ts +592 -592
- package/dist/kernel/transport/local-endpoint-path.d.ts +4 -4
- package/dist/kernel/transport/local-transport.d.ts +92 -92
- package/dist/kernel/transport/parent-unowned-call.d.ts +266 -237
- package/dist/kernel/transport/peer-answered-error.d.ts +14 -14
- package/dist/kernel/transport/socket-channel.d.ts +110 -110
- package/dist/kernel/transport/socket-traffic.d.ts +96 -96
- package/dist/kernel/transport/uds-event-bridge.d.ts +77 -50
- package/dist/kernel/transport/uds-event-bus.d.ts +75 -26
- package/dist/kernel/transport/uds-local-transport.d.ts +14 -14
- package/dist/kernel/transport/uds-log-ingest.d.ts +38 -23
- package/dist/kernel/transport/uds-logger.d.ts +33 -33
- package/dist/kernel/utils/ring-buffer.d.ts +12 -12
- package/dist/kernel/workspace-detect.d.ts +7 -7
- package/dist/lifecycle/lifecycle-state-machine.d.ts +24 -24
- package/dist/logging/formatter.d.ts +52 -25
- package/dist/logging/log-manager.d.ts +133 -133
- package/dist/logging/log-redactor.d.ts +22 -1
- package/dist/logging/log-ring-buffer.d.ts +57 -57
- package/dist/logging/logging-gate.d.ts +69 -25
- package/dist/logging/logging-gate.singleton.d.ts +12 -1
- package/dist/logging/partitioned-log-buffer.d.ts +161 -161
- package/dist/logging/scoped-logger.d.ts +14 -14
- package/dist/network/network-quality.d.ts +8 -8
- package/dist/notification/notification-service.d.ts +37 -37
- package/dist/notification/toast-service.d.ts +18 -18
- package/dist/pipeline/engine-manager-resolver.d.ts +12 -12
- package/dist/pipeline/pipeline-runner.d.ts +6 -6
- package/dist/pipeline/pipeline-validator.d.ts +8 -8
- package/dist/process/proc-stat.d.ts +51 -51
- package/dist/process/resource-monitor.d.ts +19 -19
- package/dist/python/python-env-manager.d.ts +10 -10
- package/dist/repl/interfaces.d.ts +21 -21
- package/dist/repl/repl-engine.d.ts +6 -6
- package/dist/{restore-archive-D4cmLoNe.mjs → restore-archive-Bmmmyp1M.mjs} +81 -81
- package/dist/{restore-archive-Do_Yu5rC.js → restore-archive-bvYTsnvp.js} +1 -1
- package/dist/{retired-settings-keys-BsgVxh8-.mjs → retired-settings-keys-R9CBo2lY.mjs} +1 -1
- package/dist/{retired-settings-keys-Cyn3OD0K.js → retired-settings-keys-V0yq5Bm6.js} +1 -1
- package/dist/storage/fs-storage-backend.d.ts +35 -35
- package/dist/storage/storage-location-manager.d.ts +21 -21
- package/dist/storage/storage-manager.d.ts +68 -68
- package/dist/tls/boot-tls.d.ts +24 -24
- package/dist/tls/cert-evaluation.d.ts +25 -25
- package/dist/tls/cert-identity.d.ts +39 -39
- package/dist/tls/cert-issue.d.ts +37 -17
- package/dist/tls/cert-manager.d.ts +86 -84
- package/dist/tls/https-listener.d.ts +16 -16
- package/dist/tls/index.d.ts +8 -8
- package/dist/tls/tls-actions.d.ts +18 -18
- package/dist/tls/tls-status.d.ts +15 -15
- package/dist/tls/uploaded-cert.d.ts +9 -9
- package/package.json +9 -3
|
@@ -1,92 +1,109 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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
|
-
|
|
27
|
+
listClaims(input: ListClaimsInput): Promise<ClaimsListing>;
|
|
11
28
|
}
|
|
12
29
|
export interface ExistingTargetSeedRead {
|
|
13
|
-
|
|
30
|
+
readonly byCap: ReadonlyMap<string, Readonly<Record<string, unknown>> | null>;
|
|
14
31
|
}
|
|
15
32
|
export interface SeedlessRestoredCapsInput {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
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
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
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
|
-
|
|
70
|
-
|
|
71
|
-
|
|
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
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
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
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
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
|
-
|
|
111
|
-
|
|
112
|
-
|
|
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
|
-
|
|
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
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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,
|
|
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
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
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
|
-
|
|
47
|
-
|
|
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
|
-
|
|
2
|
-
|
|
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
|
-
|
|
5
|
-
|
|
28
|
+
readonly createContext: (stableId: string, id: number) => DeviceContext;
|
|
29
|
+
readonly logger: IScopedLogger;
|
|
6
30
|
}
|
|
7
31
|
export type GraftOutcome = {
|
|
8
|
-
|
|
32
|
+
readonly kind: "grafted";
|
|
9
33
|
} | {
|
|
10
|
-
|
|
34
|
+
readonly kind: "already";
|
|
11
35
|
} | {
|
|
12
|
-
|
|
13
|
-
|
|
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
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
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
|
-
|
|
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 =
|
|
20
|
+
export type ClaimEvent = "claiming" | "held" | "free" | "unsettled";
|
|
4
21
|
export declare class HeldClaims {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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
|
|
1
|
+
export { ComposerAddon as default, ComposerAddon } from "./composer.addon.js";
|
|
@@ -1,19 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
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
|
-
|
|
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
|
-
|
|
8
|
-
|
|
23
|
+
readonly plan: CompositionFieldPlan;
|
|
24
|
+
readonly value: ExpressionValue;
|
|
9
25
|
}
|
|
10
26
|
export declare function assembleSlice(entries: readonly AssemblerEntry[], lookupCap: CapabilityLookup): SlicePatch;
|