@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.
- 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/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/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/index.d.ts +1 -1
- package/dist/builtins/alerts/alerts.addon.d.ts +88 -87
- 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/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/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/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/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.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/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/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-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/keychain/index.d.ts +1 -1
- 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/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/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/loki-logging/index.d.ts +4 -4
- 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/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/coral-accelerators.d.ts +17 -17
- package/dist/builtins/platform-probe/index.d.ts +38 -30
- 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/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/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/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-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.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 -93
- package/dist/builtins/system-config/system-config.addon.js +46 -33
- package/dist/builtins/system-config/system-config.addon.mjs +46 -33
- package/dist/builtins/winston-logging/index.d.ts +3 -3
- 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-Bnr8brru.js} +18 -0
- package/dist/{child-cap-dispatch-B1gyE35b.mjs → child-cap-dispatch-mHO_6r0G.mjs} +1 -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/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 +4 -3
- package/dist/index.mjs +2 -4
- 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/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,30 +1,30 @@
|
|
|
1
|
-
import { ProviderContext } from
|
|
1
|
+
import type { ProviderContext } from "./device-provider-context.js";
|
|
2
2
|
/**
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
* Sync ownership lookup backing persistence fallbacks (e.g. remove()
|
|
4
|
+
* when the owning worker is offline). Ownership is keyed by numeric
|
|
5
|
+
* deviceId → owning addonId as recorded in the persisted meta. NOT
|
|
6
|
+
* a native-cap lookup: an addon can own a device without registering
|
|
7
|
+
* every possible cap natively (e.g. RtspCamera without snapshotUrl
|
|
8
|
+
* doesn't register the snapshot cap). Use `resolveNativeCapOwnerSync`
|
|
9
|
+
* for cap-resolution paths.
|
|
10
|
+
*/
|
|
11
11
|
export declare function resolveDeviceOwnerSync(pctx: ProviderContext, deviceId: number): string | null;
|
|
12
12
|
/**
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
13
|
+
* Sync lookup for the addon that registered a native provider for
|
|
14
|
+
* `(capName, deviceId)`. Backs `CapabilityRegistry`'s native fallback
|
|
15
|
+
* so the hub only synthesizes a cross-process proxy when the cap is
|
|
16
|
+
* actually published — never on speculative device ownership.
|
|
17
|
+
*
|
|
18
|
+
* Resolution order:
|
|
19
|
+
* 1. Hub-local `capabilityRegistry` (in-process natives — fastest path).
|
|
20
|
+
* 2. Push-fed `remoteNativeCaps` cache (`DeviceBindingsChanged` events
|
|
21
|
+
* from forked workers — accurate in steady state).
|
|
22
|
+
* 3. Handshake-fed `HubNodeRegistry` via `listClusterNativeCaps()`
|
|
23
|
+
* (D3 re-handshake after device restore — covers the Moleculer
|
|
24
|
+
* transport window where push events were lost). This is the
|
|
25
|
+
* reliable replacement for the deleted `syncWorkerNativeCaps` pull.
|
|
26
|
+
*/
|
|
27
27
|
export declare function resolveNativeCapOwnerSync(pctx: ProviderContext, capName: string, deviceId: number): {
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
addonId: string;
|
|
29
|
+
nodeId: string;
|
|
30
30
|
} | null;
|
|
@@ -1,69 +1,96 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
/**
|
|
2
|
+
* The claims INDEX (D663): which (device, cap) pairs carry a per-field claim,
|
|
3
|
+
* by whom, in which mode, over which fields — one blob on the device-manager's
|
|
4
|
+
* own settings store, key `field-claims-index`.
|
|
5
|
+
*
|
|
6
|
+
* It is a LISTING PROJECTION, not an authority (rulings D3/D62, preflight
|
|
7
|
+
* §4-4): the merge authority is the device's row (`$owned`, `DeviceStateMirror`).
|
|
8
|
+
* The index answers two questions the row cannot answer cheaply: "which devices
|
|
9
|
+
* have claims at all?" (the boot seed asks it before reading any row — S6,
|
|
10
|
+
* D447) and "list every claim" (`deviceState.listClaims`).
|
|
11
|
+
*
|
|
12
|
+
* Write order keeps it a SUPERSET of the rows' claims: written BEFORE the row on
|
|
13
|
+
* a claim, AFTER the row on a release. A crash between the two leaves at worst
|
|
14
|
+
* an index entry with no row claim — never a row claim the index misses, which
|
|
15
|
+
* would let a claimed device seed without its row and answer the native for a
|
|
16
|
+
* claimed field. Three conditions keep the projection honest: `removeDevice`
|
|
17
|
+
* prunes it (`pruneDevice`); a `releaseClaim` that finds no claim on the row
|
|
18
|
+
* removes the stale entry (the caller does that with `remove`); and D663 names
|
|
19
|
+
* it a projection with this write order.
|
|
20
|
+
*
|
|
21
|
+
* It loads once at init and never on a timer (D3): until a load has SUCCEEDED,
|
|
22
|
+
* `view()` is `not-loaded` (every seed reads its row, as before the index
|
|
23
|
+
* existed) and `list()` says so with the reason — never `[]` (D315). A blob
|
|
24
|
+
* that READS but does not PARSE is the same state: unknown, not empty (D49).
|
|
25
|
+
* Each caller that needs it loaded asks `load` again; a failed read is retried
|
|
26
|
+
* by the next call, not by a clock.
|
|
27
|
+
*/
|
|
28
|
+
import type { ClaimsListing, FieldClaim, IScopedLogger } from "@camstack/types";
|
|
29
|
+
import type { DeviceManagerSettings } from "./device-meta-store.js";
|
|
30
|
+
import type { ClaimsIndexView } from "./device-state-mirror.js";
|
|
31
|
+
import type { WriteLock } from "./write-lock.js";
|
|
5
32
|
/** The addon-store key the index lives under. */
|
|
6
33
|
export declare const FIELD_CLAIMS_INDEX_KEY = "field-claims-index";
|
|
7
34
|
/** One claim's identity in the index: a cap on a device has at most one owner. */
|
|
8
35
|
export interface ClaimKey {
|
|
9
|
-
|
|
10
|
-
|
|
36
|
+
readonly deviceId: number;
|
|
37
|
+
readonly capName: string;
|
|
11
38
|
}
|
|
12
39
|
/** A read-modify-write step over the loaded entries; null means nothing to write. */
|
|
13
40
|
export type IndexTransform = (current: ReadonlyMap<string, FieldClaim>) => ReadonlyMap<string, FieldClaim> | null;
|
|
14
41
|
export interface FieldClaimsIndexDeps {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
42
|
+
readonly logger: IScopedLogger;
|
|
43
|
+
/**
|
|
44
|
+
* The addon's own settings row-set lock, shared with every other writer of
|
|
45
|
+
* it: `writeAddonStore` is a read-modify-write of the WHOLE key range on the
|
|
46
|
+
* store side, so unordered writers destroy each other's keys.
|
|
47
|
+
*/
|
|
48
|
+
readonly withAddonStoreWriteLock: WriteLock;
|
|
22
49
|
}
|
|
23
50
|
export declare class FieldClaimsIndex {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
51
|
+
private readonly deps;
|
|
52
|
+
/** The loaded entries by key, or null until a load has succeeded. */
|
|
53
|
+
private entries;
|
|
54
|
+
/** Devices with at least one entry — what the seed asks, per native write. */
|
|
55
|
+
private claimedDevices;
|
|
56
|
+
/** Why the last load did not succeed. */
|
|
57
|
+
private notLoadedReason;
|
|
58
|
+
/** One load in flight at a time; concurrent callers join it. */
|
|
59
|
+
private loading;
|
|
60
|
+
constructor(deps: FieldClaimsIndexDeps);
|
|
61
|
+
/**
|
|
62
|
+
* Load the blob. Resolves `true` once the index is loaded (now or already);
|
|
63
|
+
* `false` when the store could not answer — the reason is kept for `list`.
|
|
64
|
+
* Never throws: an index that cannot load is a state, not a failure.
|
|
65
|
+
*/
|
|
66
|
+
load(settings: DeviceManagerSettings): Promise<boolean>;
|
|
67
|
+
/** What the seed consults: loaded with a device predicate, or not loaded. */
|
|
68
|
+
view(): ClaimsIndexView;
|
|
69
|
+
/** Every entry, optionally those whose owner starts with `ownerPrefix`; or why there is no answer. */
|
|
70
|
+
list(ownerPrefix?: string): ClaimsListing;
|
|
71
|
+
/** The entry for a key, when the index is loaded and has one. */
|
|
72
|
+
entry(key: ClaimKey): FieldClaim | undefined;
|
|
73
|
+
/** Add or replace one entry — written before the row it announces. Throws when the index cannot be loaded or written. */
|
|
74
|
+
upsert(claim: FieldClaim, settings: DeviceManagerSettings): Promise<void>;
|
|
75
|
+
/** Remove one entry — written after the row no longer carries the claim. No write when absent. */
|
|
76
|
+
remove(key: ClaimKey, settings: DeviceManagerSettings): Promise<void>;
|
|
77
|
+
/**
|
|
78
|
+
* Drop every entry of a removed device (condition i). Best effort: an index
|
|
79
|
+
* that cannot be loaded or written keeps a stale entry, which costs the next
|
|
80
|
+
* seed of that number one row read and is removed by the next release that
|
|
81
|
+
* answers `not-claimed` — so it is logged, never thrown, and the removal
|
|
82
|
+
* proceeds.
|
|
83
|
+
*/
|
|
84
|
+
pruneDevice(deviceId: number, settings: DeviceManagerSettings): Promise<void>;
|
|
85
|
+
/**
|
|
86
|
+
* Read-modify-write of the whole blob under the addon-store lock, from the
|
|
87
|
+
* LOADED entries: the index is never written from a partial picture. `next`
|
|
88
|
+
* returning null means nothing to write.
|
|
89
|
+
*/
|
|
90
|
+
private mutate;
|
|
91
|
+
private install;
|
|
92
|
+
/** The three-way read (D651): a failed read is a REASON, never an empty index. */
|
|
93
|
+
private readBlob;
|
|
94
|
+
/** Not loaded, by name: the index stays unknown and says why. */
|
|
95
|
+
private refuseMalformed;
|
|
69
96
|
}
|
|
@@ -1,53 +1,71 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Per-field ownership of a runtime-state slice (D663) — the pure half.
|
|
3
|
+
*
|
|
4
|
+
* A composition may claim fields of a cap on an existing device. The native
|
|
5
|
+
* provider keeps writing its slice (it never learns of the claim — D62: one
|
|
6
|
+
* authority per field, and the authority for a claimed field is the owner),
|
|
7
|
+
* the hub keeps that slice as a SHADOW, and what consumers read and receive is
|
|
8
|
+
* the MERGE: the native slice with the owned fields replaced. The shadow is
|
|
9
|
+
* readable only by the owner-side mechanism (D224), never served as a second
|
|
10
|
+
* truth.
|
|
11
|
+
*
|
|
12
|
+
* Both halves live in the device's own runtime-state row: the native slices
|
|
13
|
+
* under their cap names, the claims under `$owned`. One row, one write, so a
|
|
14
|
+
* claim and the slice it governs can never disagree on disk.
|
|
15
|
+
*
|
|
16
|
+
* This module has no mirror, no settings store and no logger: it merges and
|
|
17
|
+
* it (de)serialises. `DeviceStateMirror` owns the state and the log lines.
|
|
18
|
+
*/
|
|
19
|
+
import { z } from "zod";
|
|
20
|
+
import { type FieldClaimMode } from "@camstack/types";
|
|
21
|
+
import type { RuntimeStatePolicyLookup } from "./runtime-state-persist-gate.js";
|
|
4
22
|
/** The row key under which claims travel. Not a cap name: `$` is not legal in one. */
|
|
5
23
|
export declare const OWNED_FIELDS_KEY = "$owned";
|
|
6
24
|
/**
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
25
|
+
* One claimed cap. `fields` is the claimed set, `values` what has been written
|
|
26
|
+
* so far — a claimed field with no value is HELD (ruling S5), never answered
|
|
27
|
+
* from the native slice.
|
|
28
|
+
*/
|
|
11
29
|
export interface OwnedCap {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
30
|
+
readonly owner: string;
|
|
31
|
+
readonly mode: FieldClaimMode;
|
|
32
|
+
readonly fields: readonly string[];
|
|
33
|
+
readonly values: Readonly<Record<string, unknown>>;
|
|
16
34
|
}
|
|
17
35
|
export type OwnedCaps = ReadonlyMap<string, OwnedCap>;
|
|
18
36
|
export interface SplitBlob {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
37
|
+
readonly native: Readonly<Record<string, Readonly<Record<string, unknown>>>>;
|
|
38
|
+
readonly owned: OwnedCaps;
|
|
39
|
+
/** `$owned` entries that failed `OwnedCapSchema`, by cap name — logged once per device, never applied. */
|
|
40
|
+
readonly dropped: readonly string[];
|
|
23
41
|
}
|
|
24
42
|
export type MergedSlice = {
|
|
25
|
-
|
|
26
|
-
|
|
43
|
+
readonly kind: "slice";
|
|
44
|
+
readonly slice: Readonly<Record<string, unknown>>;
|
|
27
45
|
} | {
|
|
28
|
-
|
|
29
|
-
|
|
46
|
+
readonly kind: "held";
|
|
47
|
+
readonly reason: string;
|
|
30
48
|
};
|
|
31
49
|
export declare function isPlainRecord(value: unknown): value is Readonly<Record<string, unknown>>;
|
|
32
50
|
/**
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
51
|
+
* Split a runtime-state row into its native slices and its claims. A row with
|
|
52
|
+
* no `$owned` splits to its slices and an empty map — the shape every device
|
|
53
|
+
* without a claim has always had. Non-object entries are dropped, as the
|
|
54
|
+
* mirror seed and `DeviceRuntimeState.fromInitial` have always dropped them.
|
|
55
|
+
*/
|
|
38
56
|
export declare function splitRuntimeBlob(blob: Readonly<Record<string, unknown>>): SplitBlob;
|
|
39
57
|
/**
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
export declare function joinRuntimeBlob(native: SplitBlob[
|
|
58
|
+
* Join native slices and claims into one row. `values` are kept only for caps
|
|
59
|
+
* whose policy is `durability: 'restored'`; a session-only cap keeps its CLAIM
|
|
60
|
+
* (so a restart still knows who owns what) but not its values, and the claimed
|
|
61
|
+
* fields are held after boot until the owner writes again. A device with no
|
|
62
|
+
* claims gets no `$owned` key at all — its row is byte-identical to before.
|
|
63
|
+
*/
|
|
64
|
+
export declare function joinRuntimeBlob(native: SplitBlob["native"], owned: OwnedCaps, policyFor: RuntimeStatePolicyLookup): Record<string, Record<string, unknown>>;
|
|
47
65
|
/**
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
66
|
+
* The one merge. Held when a claimed field has no value yet (S5: never
|
|
67
|
+
* answered from the native), when a `replace` has no native slice to overlay
|
|
68
|
+
* (a partial slice is never emitted), or when the merged slice fails the cap's
|
|
69
|
+
* `runtimeState` schema (the native value never leaks through a bad overlay).
|
|
70
|
+
*/
|
|
53
71
|
export declare function mergeOwned(native: Readonly<Record<string, unknown>> | null, owned: OwnedCap, schema: z.ZodType | null): MergedSlice;
|
|
@@ -1,66 +1,104 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Which CALL SITE reads the whole fleet — measured, never inferred.
|
|
3
|
+
*
|
|
4
|
+
* ## The number this exists to explain
|
|
5
|
+
*
|
|
6
|
+
* The sqlite profiler measured `query device-manager:devices`, shape
|
|
7
|
+
* `SELECT … ORDER BY "deviceId" ASC LIMIT ?`, at **4 149 calls and 4 219 533
|
|
8
|
+
* rows in one 66-second boot window** (2026-08-25). Steady state is 39/min. The
|
|
9
|
+
* comment in `device-queries.ts#listAll` has said "~3 000 for a 974-device boot"
|
|
10
|
+
* for weeks and names nobody, because the engine reports an
|
|
11
|
+
* `(op, collection, shape)` tuple — a statement, not a caller.
|
|
12
|
+
*
|
|
13
|
+
* Two candidates were read and EXCLUDED by hand: `device-manager.addon.ts`'s
|
|
14
|
+
* `idToAddonId` warm and `device-bindings-store.ts`'s `getAllBindings`. Both are
|
|
15
|
+
* boot one-shots. Picking the next most plausible reader is exactly what this
|
|
16
|
+
* repo did twice in one afternoon and got wrong twice, at half a day each. An
|
|
17
|
+
* attribution is a measurement or it is a guess.
|
|
18
|
+
*
|
|
19
|
+
* ## Why an env var, and not a `debug.*` action
|
|
20
|
+
*
|
|
21
|
+
* `pipeline-analytics`'s {@link StoreReadCensus} is armed through a custom
|
|
22
|
+
* action, which is the right shape for a steady-state mystery: you notice, you
|
|
23
|
+
* arm, you read. It cannot work here. **The storm is at BOOT** — by the time a
|
|
24
|
+
* process is up enough to receive an action, the window being investigated has
|
|
25
|
+
* closed. So this arms at CONSTRUCTION from `CAMSTACK_FLEET_READ_CENSUS_MS` and
|
|
26
|
+
* closes itself after that many milliseconds.
|
|
27
|
+
*
|
|
28
|
+
* A bad value **disarms**. An env var someone fat-fingered must not quietly
|
|
29
|
+
* install a stack capture on the fleet-read path until the next container
|
|
30
|
+
* recreation.
|
|
31
|
+
*
|
|
32
|
+
* ## Why it reports through the logger
|
|
33
|
+
*
|
|
34
|
+
* The hub's in-memory log ring holds roughly 35 minutes. A boot measurement
|
|
35
|
+
* asked about an hour later is simply gone — that is what turned the
|
|
36
|
+
* native-capture question into an UNKNOWN until Loki was used instead. A logged
|
|
37
|
+
* report lands in Loki, which carries 12 h and more.
|
|
38
|
+
*/
|
|
39
|
+
import type { IScopedLogger } from "@camstack/types";
|
|
2
40
|
/** One attributed call site. */
|
|
3
41
|
export interface FleetCensusRow {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
42
|
+
readonly site: string;
|
|
43
|
+
readonly calls: number;
|
|
44
|
+
readonly rows: number;
|
|
7
45
|
}
|
|
8
46
|
export declare class FleetReadCensus {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
47
|
+
/**
|
|
48
|
+
* Longest window the census may be armed for.
|
|
49
|
+
*
|
|
50
|
+
* Ten minutes covers a boot several times over and bounds what an operator
|
|
51
|
+
* pays if they set the variable and forget it. A diagnostic that can be left
|
|
52
|
+
* on becomes a tax nobody remembers enabling.
|
|
53
|
+
*/
|
|
54
|
+
static readonly MAX_WINDOW_MS: number;
|
|
55
|
+
readonly windowMs: number;
|
|
56
|
+
private readonly closesAt;
|
|
57
|
+
private readonly counts;
|
|
58
|
+
private reported;
|
|
59
|
+
constructor(rawEnv: string | undefined, nowMs: number);
|
|
60
|
+
get armed(): boolean;
|
|
61
|
+
/** Test seam: pretend the window closed. Production reads the clock. */
|
|
62
|
+
closeAt(nowMs: number): void;
|
|
63
|
+
private forceClosed;
|
|
64
|
+
private isOpen;
|
|
65
|
+
/**
|
|
66
|
+
* Capture the caller, or `null` when the window is shut.
|
|
67
|
+
*
|
|
68
|
+
* Called at the START of a read. A read that began inside the window belongs
|
|
69
|
+
* to it even if it lands after the close — otherwise the slow reads at the
|
|
70
|
+
* edge would be attributed to nobody, and the slow ones are the interesting
|
|
71
|
+
* ones.
|
|
72
|
+
*
|
|
73
|
+
* `callerAddonId`, when given, is formatted as the site VERBATIM instead of
|
|
74
|
+
* walking the local stack. A call that arrived over the cap channel — a
|
|
75
|
+
* forked addon's `ctx.api.deviceManager.listAll.query()`, routed through
|
|
76
|
+
* `LocalChildRegistry` → `onUnownedCall` → `CapRouteResolver` — carries its
|
|
77
|
+
* origin as DATA (the registered `childId` the parent captured off the UDS
|
|
78
|
+
* connection), and no amount of stack depth would ever recover it: every
|
|
79
|
+
* frame between the socket read and this call is the SAME generic
|
|
80
|
+
* dispatcher code (`onUnownedCall`, `dispatch`, `invoke`) regardless of
|
|
81
|
+
* which addon called — the 2026-08-25 boot census measured this directly,
|
|
82
|
+
* five thousand calls landing on `listAll` with nothing nameable above it.
|
|
83
|
+
*
|
|
84
|
+
* `isOpen` is checked FIRST, before the id is even looked at — a caller
|
|
85
|
+
* threading a (cheap, already-known) `callerAddonId` through on every
|
|
86
|
+
* request, armed or not, must not pay for the template string when
|
|
87
|
+
* disarmed. This is also why formatting lives HERE rather than at the call
|
|
88
|
+
* site: `DeviceRowStore` passes the raw id through unconditionally, and
|
|
89
|
+
* only this method — which already knows whether armed — decides whether
|
|
90
|
+
* to spend anything on it.
|
|
91
|
+
*/
|
|
92
|
+
siteOf(callerAddonId?: string, nowMs?: number): string | null;
|
|
93
|
+
/** Count one read at an already-captured site. A `null` site is not counted. */
|
|
94
|
+
record(site: string | null, rowCount: number): void;
|
|
95
|
+
/** Attributed sites, busiest first. */
|
|
96
|
+
rows(): readonly FleetCensusRow[];
|
|
97
|
+
/**
|
|
98
|
+
* Emit the report ONCE.
|
|
99
|
+
*
|
|
100
|
+
* `perMin` is included because the raw count is unreadable without the window
|
|
101
|
+
* it was taken over — "4 149" means nothing until you know it was 66 seconds.
|
|
102
|
+
*/
|
|
103
|
+
report(logger: IScopedLogger, elapsedMs: number): void;
|
|
66
104
|
}
|
|
@@ -1,12 +1,22 @@
|
|
|
1
|
-
import { ConfigUISchema, ImageSettingsOptions, ImageSettingsPatch, ImageSettingsStatus } from '@camstack/types';
|
|
2
1
|
/**
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
* image-settings — server-side `ConfigUISchema` builder + form-patch
|
|
3
|
+
* parser. Sibling of `day-night-config-schema.ts` — see that file's
|
|
4
|
+
* header for why this lives in `@camstack/system` rather than
|
|
5
|
+
* `@camstack/types`.
|
|
6
|
+
*
|
|
7
|
+
* Field keys use the `imageSettings_<prop>` prefix so a flat form patch
|
|
8
|
+
* can be re-parsed into an `ImageSettingsPatch` by
|
|
9
|
+
* `parseImageSettingsFormPatch`.
|
|
10
|
+
*/
|
|
11
|
+
import type { ConfigUISchema, ImageSettingsOptions, ImageSettingsPatch, ImageSettingsStatus } from "@camstack/types";
|
|
12
|
+
/**
|
|
13
|
+
* Build the `image-settings` `ConfigUISchema` from the camera-probed
|
|
14
|
+
* options + current status. Returns `null` when the camera exposes no
|
|
15
|
+
* configurable property.
|
|
16
|
+
*/
|
|
7
17
|
export declare function buildImageSettingsConfigSchema(options: ImageSettingsOptions, status: ImageSettingsStatus | null): ConfigUISchema | null;
|
|
8
18
|
/**
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
19
|
+
* Re-parse a flat `ConfigFormBuilder` patch into an `ImageSettingsPatch`.
|
|
20
|
+
* Returns an empty object when no `imageSettings_*` field changed.
|
|
21
|
+
*/
|
|
12
22
|
export declare function parseImageSettingsFormPatch(patch: Record<string, unknown>): ImageSettingsPatch;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { DeviceManagerAddon } from
|
|
2
|
-
export { default } from
|
|
1
|
+
export { DeviceManagerAddon } from "./device-manager.addon.js";
|
|
2
|
+
export { default } from "./device-manager.addon.js";
|
|
@@ -1,16 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* One-shot boot backfill for D356: the `auto` link mode is retired, and a
|
|
3
|
+
* camera that never chose `manual` was linked by location until today.
|
|
4
|
+
*
|
|
5
|
+
* A rule an operator relied on cannot vanish on an update — a notification
|
|
6
|
+
* that named a linked siren, a tracked-event source — so what `auto`
|
|
7
|
+
* resolved is written ONCE into the camera's manual list, and the operator
|
|
8
|
+
* PRUNES from the picker instead of discovering an absence. A camera that
|
|
9
|
+
* already said `manual` is left exactly as it is. Runs under a version
|
|
10
|
+
* marker in the addon store, like the location backfill it sits next to.
|
|
11
|
+
*/
|
|
12
|
+
import type { LinkCandidate } from "./device-linked-devices.js";
|
|
13
|
+
import type { ProviderContext } from "./device-provider-context.js";
|
|
3
14
|
export declare const LINKED_MANUAL_BACKFILL_MARKER_KEY = "_linkedDevicesManualBackfillVersion";
|
|
4
15
|
export declare const LINKED_MANUAL_BACKFILL_VERSION = 1;
|
|
5
16
|
export interface ManualBackfillPlan {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
17
|
+
/** `false` = the camera was already on `manual`; nothing to write. */
|
|
18
|
+
readonly write: boolean;
|
|
19
|
+
readonly manualIds: readonly number[];
|
|
9
20
|
}
|
|
10
21
|
export declare function planManualBackfill(params: {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
22
|
+
readonly selfId: number;
|
|
23
|
+
readonly selfLocation: string | null;
|
|
24
|
+
readonly blob: Record<string, unknown>;
|
|
25
|
+
readonly candidates: readonly LinkCandidate[];
|
|
15
26
|
}): ManualBackfillPlan;
|
|
16
27
|
export declare function runLinkedDevicesManualBackfillAtBoot(pctx: ProviderContext): Promise<void>;
|