@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,26 +1,26 @@
|
|
|
1
|
-
import { IEventBus, SystemEvent } from
|
|
1
|
+
import type { IEventBus, SystemEvent } from "@camstack/types";
|
|
2
2
|
export interface DeviceEventPropagatorOptions {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
3
|
+
readonly eventBus: IEventBus;
|
|
4
|
+
/**
|
|
5
|
+
* Resolve the numeric parent id of a device, or `null` when the
|
|
6
|
+
* device has no parent (or was deleted). The propagator injects a
|
|
7
|
+
* closure over the hub's `DeviceRegistry` so the lookup is in-
|
|
8
|
+
* process and O(1) per call.
|
|
9
|
+
*/
|
|
10
|
+
readonly getParentOf: (deviceId: number) => number | null;
|
|
11
|
+
/** Structured logger for anti-cycle + anti-loop diagnostics. */
|
|
12
|
+
readonly logger: {
|
|
13
|
+
warn: (msg: string, meta?: Record<string, unknown>) => void;
|
|
14
|
+
debug: (msg: string, meta?: Record<string, unknown>) => void;
|
|
15
|
+
};
|
|
16
16
|
}
|
|
17
17
|
export declare class DeviceEventPropagator {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
18
|
+
private readonly opts;
|
|
19
|
+
private unsubscribe;
|
|
20
|
+
constructor(opts: DeviceEventPropagatorOptions);
|
|
21
|
+
start(): void;
|
|
22
|
+
stop(): void;
|
|
23
|
+
/** Exposed for tests — lets them inject events without the full bus. */
|
|
24
|
+
handle(ev: SystemEvent): void;
|
|
25
|
+
private resolveParentChain;
|
|
26
26
|
}
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import { IDeviceExtensionProvider } from
|
|
2
|
-
import { ProviderContext } from
|
|
1
|
+
import { type IDeviceExtensionProvider } from "@camstack/types";
|
|
2
|
+
import type { ProviderContext } from "./device-provider-context.js";
|
|
3
3
|
/** The routing prefix of this owner's `slotRef`s. */
|
|
4
4
|
export declare const DEVICE_MANAGER_EXTENSION_SOURCE = "device-manager";
|
|
5
5
|
/** The store the slot reads and writes, named (D62). */
|
|
6
|
-
export declare const LINKED_DEVICES_AUTHORITY
|
|
6
|
+
export declare const LINKED_DEVICES_AUTHORITY: string;
|
|
7
7
|
/** What `refusedTrackedOptIns` judges: the opt-in written, and what it may name. */
|
|
8
8
|
export interface TrackedOptInWrite {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
9
|
+
readonly tracked: readonly number[];
|
|
10
|
+
/** The picks being written. */
|
|
11
|
+
readonly picked: readonly number[];
|
|
12
|
+
/** Linked by structure: tree children, a picked container's child. */
|
|
13
|
+
readonly implied: readonly number[];
|
|
14
|
+
/** The opt-in as stored before this write. */
|
|
15
|
+
readonly stored: readonly number[];
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
18
|
+
* Which ids of a written opt-in must be refused: a NEW opt-in for a device the
|
|
19
|
+
* camera does not link. An id already stored is never refused — whatever was
|
|
20
|
+
* read can be written back unchanged (a stale opt-in is removed by leaving it
|
|
21
|
+
* out, never by being unable to save). The written list REPLACES the stored
|
|
22
|
+
* one: since D655 the editor shows every stored opt-in, so nothing it sends
|
|
23
|
+
* back is written blind.
|
|
24
|
+
*/
|
|
25
25
|
export declare function refusedTrackedOptIns(params: TrackedOptInWrite): readonly number[];
|
|
26
26
|
/** Build the `device-extension` provider the device manager registers. */
|
|
27
27
|
export declare function createDeviceManagerExtensionProvider(pctx: ProviderContext): IDeviceExtensionProvider;
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { ContributionShape } from
|
|
2
|
-
type Sections = ContributionShape[
|
|
1
|
+
import type { ContributionShape } from "./device-meta-types.js";
|
|
2
|
+
type Sections = ContributionShape["sections"];
|
|
3
3
|
/**
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
* The driver's hydrated sections with every keychain-stored secret replaced
|
|
5
|
+
* by its view. Returns the input unchanged when the blob holds no marker.
|
|
6
|
+
*/
|
|
7
7
|
export declare function viewStoredSecrets(sections: Sections, stored: Record<string, unknown>, declaredPaths: readonly string[]): Sections;
|
|
8
8
|
/** A form patch split into what the driver applies and what the door clears. */
|
|
9
9
|
export interface DriverFormPatch {
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
readonly driverPatch: Record<string, unknown>;
|
|
11
|
+
readonly clearKeys: readonly string[];
|
|
12
12
|
}
|
|
13
13
|
/** Split a device-settings form patch (see the module doc). */
|
|
14
14
|
export declare function splitDriverFormPatch(patch: Record<string, unknown>): DriverFormPatch;
|
|
15
15
|
/**
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
* Apply a device-settings form patch: the driver gets plain values only, then
|
|
17
|
+
* an explicit clear removes the stored secret at the keychain door (after the
|
|
18
|
+
* driver's own persist, whose `''` the door reads as KEEP).
|
|
19
|
+
*/
|
|
20
20
|
export declare function applyDriverFormPatch(input: {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
readonly patch: Record<string, unknown>;
|
|
22
|
+
readonly applyToDriver: (driverPatch: Record<string, unknown>) => Promise<void>;
|
|
23
|
+
readonly clearSecrets: (keys: readonly string[]) => Promise<void>;
|
|
24
24
|
}): Promise<void>;
|
|
25
25
|
export {};
|
|
@@ -1,140 +1,201 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Linked devices — camera ↔ companion-device association (first-class
|
|
3
|
+
* device-manager concept).
|
|
4
|
+
*
|
|
5
|
+
* ONE cap read surface (`getLinkedDevices`) resolves the linked set:
|
|
6
|
+
* - device-tree CHILDREN are ALWAYS included;
|
|
7
|
+
* - plus the persisted manual list — the operator's picks (D356: nothing
|
|
8
|
+
* links itself; same-location devices are only SUGGESTED by the picker);
|
|
9
|
+
* - the camera itself is excluded; the result is deduped.
|
|
10
|
+
*
|
|
11
|
+
* CONTAINERS (`DeviceType.Container` — "parent container for entity-children
|
|
12
|
+
* adopted from a single HA device entry", never renderable standalone, never
|
|
13
|
+
* capability-bearing by construction, see `device-type.ts`) are never a
|
|
14
|
+
* resolved link, in EITHER mode. A container occupies a UI slot and produces
|
|
15
|
+
* no event — the capability always lives on the container's CHILD instead
|
|
16
|
+
* (`getBindings(containerId)` is empty by construction; the child has the
|
|
17
|
+
* cap). Any candidate that resolves to a container is transparently expanded
|
|
18
|
+
* to that container's own children instead of being dropped — this is what
|
|
19
|
+
* lets an operator link "the door lock" when the lock is modelled as a
|
|
20
|
+
* container-with-children device: the always-included children rule and a
|
|
21
|
+
* persisted manual id both funnel through the same expansion
|
|
22
|
+
* (`expandContainer` below), recursively, so a container reached by either
|
|
23
|
+
* path never appears and its real (capability-bearing) descendants do
|
|
24
|
+
* instead. A manually-picked id that names a container is NOT stripped from
|
|
25
|
+
* the persisted `_linkedDeviceIds` config — that would be a write on what is
|
|
26
|
+
* otherwise a read path — it simply now resolves through the same expansion
|
|
27
|
+
* as everything else (to its children, or to nothing if childless). The
|
|
28
|
+
* `linked-devices` extension slot (`device-extension-linked-slot.ts`) never
|
|
29
|
+
* OFFERS a container as a candidate and refuses one as a new pick — it is
|
|
30
|
+
* never a legitimate pick, not just a filtered-out resolution.
|
|
31
|
+
*
|
|
32
|
+
* AUTO mode's same-location match compares each candidate's OWN `location`
|
|
33
|
+
* field directly — no read-time inheritance. (2026-08-26, operator decision,
|
|
34
|
+
* supersedes the read-time `resolveEffectiveLocation` this file used to
|
|
35
|
+
* carry: a container's location-less child does NOT get resolved a location
|
|
36
|
+
* at read time. Instead `setLocation` — device-meta-actions.ts — CASCADES a
|
|
37
|
+
* container's location to every descendant's own `location` column the
|
|
38
|
+
* instant the operator (re)sets it. Since D352 that write-time coverage is
|
|
39
|
+
* complete: a one-shot boot backfill aligned every pre-cascade container
|
|
40
|
+
* (`location-alignment.ts`), and `registerDevice` stamps the nearest located
|
|
41
|
+
* CONTAINER ancestor's location onto a later-adopted child at registration
|
|
42
|
+
* (container-only — a camera's accessories stay location-less on purpose,
|
|
43
|
+
* reachable structurally, so they never become other cameras' companions). A
|
|
44
|
+
* location-less child of a located container is therefore an ANOMALY (a
|
|
45
|
+
* partially-failed cascade, a hand-edited ledger) — still skipped here, a
|
|
46
|
+
* container is never itself a link (file header), full stop. The skip here
|
|
47
|
+
* stays silent — there is no per-read warning in this file — but it is no
|
|
48
|
+
* longer UNREPORTED: `location-alignment.ts`'s boot-time detection re-lists
|
|
49
|
+
* every device on each boot and logs a WARN naming the ancestor and its
|
|
50
|
+
* misaligned descendants, so the anomaly surfaces on a fixed cadence even
|
|
51
|
+
* though no individual read here announces it.
|
|
52
|
+
*
|
|
53
|
+
* CONFIGURATION is the `linked-devices` extension slot (D648): it reads the
|
|
54
|
+
* reserved keys below with `parseLinkedDevicesConfig` and writes them with
|
|
55
|
+
* `applyLinkedDevicesPatch` — the device config blob, the same pattern as
|
|
56
|
+
* `_profileMap`. The hand-written "Linked devices" settings section that
|
|
57
|
+
* wrote the same keys was retired by D655. The one-shot "rebuild this room"
|
|
58
|
+
* action is a CLIENT concern: the Locations page computes the same-location
|
|
59
|
+
* set with `legacyAutoLinkIds` and writes it through the same slot.
|
|
60
|
+
*/
|
|
61
|
+
import type { IDeviceManagerProvider, LinkedDevicesMode } from "@camstack/types";
|
|
62
|
+
import { legacyAutoLinkIds, type LinkCandidate } from "@camstack/types";
|
|
3
63
|
export { legacyAutoLinkIds, type LinkCandidate };
|
|
64
|
+
import type { ProviderContext } from "./device-provider-context.js";
|
|
4
65
|
/** Reserved device-config keys (cf. `_profileMap`). */
|
|
5
66
|
export declare const LINKED_MODE_CONFIG_KEY = "_linkedDevicesMode";
|
|
6
67
|
export declare const LINKED_IDS_CONFIG_KEY = "_linkedDeviceIds";
|
|
7
68
|
/** Reserved key: subset of linked devices that materialize synthetic tracked
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
69
|
+
* events on the camera. Absent ⇒ NONE — producing tracked events is an
|
|
70
|
+
* explicit operator OPT-IN (2026-07-22 flip: the old absent⇒ALL default
|
|
71
|
+
* auto-materialized sensor snapshots the operator never asked for). */
|
|
11
72
|
export declare const LINKED_TRACKED_IDS_CONFIG_KEY = "_linkedDeviceTrackedIds";
|
|
12
73
|
/**
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
74
|
+
* The three reserved keys, as one set: they stay with a camera's NUMBER on a
|
|
75
|
+
* hardware swap, and a settings save that still carries them (a page opened
|
|
76
|
+
* before D655 retired the section) is refused by name, never dropped.
|
|
77
|
+
*/
|
|
17
78
|
export declare const LINKED_DEVICES_RESERVED_KEYS: ReadonlySet<string>;
|
|
18
79
|
export interface LinkedDevicesConfig {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
80
|
+
/** Always `manual` since D356 — kept on the type because the cap output
|
|
81
|
+
* still carries it for clients already shipped. */
|
|
82
|
+
readonly mode: LinkedDevicesMode;
|
|
83
|
+
readonly manualIds: readonly number[];
|
|
23
84
|
}
|
|
24
85
|
/** Parse the two reserved keys out of a device-config blob. Tolerant:
|
|
25
|
-
|
|
26
|
-
|
|
86
|
+
* ids may arrive as numbers or numeric strings (the multiselect field
|
|
87
|
+
* stores string option values); anything else is dropped. */
|
|
27
88
|
export declare function parseLinkedDevicesConfig(blob: Record<string, unknown>): LinkedDevicesConfig;
|
|
28
89
|
/**
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
90
|
+
* Pure resolution core: children ∪ (auto → same-location | manual → list),
|
|
91
|
+
* minus self, deduped, CONTAINERS expanded to their children (see file
|
|
92
|
+
* header). Order: children first, then mode additions.
|
|
93
|
+
*/
|
|
33
94
|
export declare function resolveLinkedDeviceIds(params: {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
95
|
+
readonly selfId: number;
|
|
96
|
+
readonly config: LinkedDevicesConfig;
|
|
97
|
+
readonly candidates: readonly LinkCandidate[];
|
|
37
98
|
}): readonly number[];
|
|
38
99
|
/**
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
100
|
+
* Which linked devices materialize synthetic tracked events on the camera.
|
|
101
|
+
* Absent / non-array config key ⇒ NONE — the operator must explicitly pick
|
|
102
|
+
* producers (opt-in; flipped from the legacy absent⇒ALL default, which
|
|
103
|
+
* auto-materialized sensor snapshots for every linked device). Otherwise the
|
|
104
|
+
* configured subset intersected with the currently-resolved linked set (a
|
|
105
|
+
* picked id no longer linked is dropped). Ids may arrive as numbers or numeric
|
|
106
|
+
* strings (the multiselect stores string option values); non-numeric entries
|
|
107
|
+
* are ignored.
|
|
108
|
+
*/
|
|
48
109
|
export declare function resolveTrackedEventDeviceIds(config: Record<string, unknown>, linkedIds: readonly number[]): readonly number[];
|
|
49
110
|
/**
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
111
|
+
* The persisted tracked-event opt-in AS STORED — not intersected with the
|
|
112
|
+
* linked set, which is the resolver's job. Absent / non-array ⇒ `[]` (NONE,
|
|
113
|
+
* the same answer the resolver gives). Ids may be numbers or numeric strings;
|
|
114
|
+
* anything else is dropped; deduped, in stored order.
|
|
115
|
+
*/
|
|
55
116
|
export declare function parseTrackedOptIn(config: Record<string, unknown>): readonly number[];
|
|
56
117
|
/**
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
118
|
+
* The fleet listing every function here needs, and the ONLY projection any of
|
|
119
|
+
* them may ask for.
|
|
120
|
+
*
|
|
121
|
+
* Linked-device policy reads five fields off a candidate — `id`,
|
|
122
|
+
* `parentDeviceId`, `location`, `name`, `features` — and `slim` carries all
|
|
123
|
+
* five. What `slim` drops is `config`, and `config` is not a column: `listAll`
|
|
124
|
+
* materialises it with ONE `readDeviceStore` per device, sequentially, on
|
|
125
|
+
* device-manager's event loop. This module asked for the full projection three
|
|
126
|
+
* times, so every linked-devices read swept the whole fleet's settings rows to
|
|
127
|
+
* use none of them.
|
|
128
|
+
*
|
|
129
|
+
* Measured on the live hub 2026-08-25: `query addon-device-settings` ran
|
|
130
|
+
* 36 814 times a minute against a 967-device fleet — ~38 full-fleet sweeps a
|
|
131
|
+
* minute, ~31 of them the `pipeline-analytics` reverse index rebuilding itself
|
|
132
|
+
* one camera at a time through `getLinkedDevices`. The per-camera `config`
|
|
133
|
+
* this query DOES need is the separate `readDeviceStore(deviceId)` below, and
|
|
134
|
+
* it is one row, not the fleet.
|
|
135
|
+
*/
|
|
75
136
|
export declare const LINK_CANDIDATE_PROJECTION: {
|
|
76
|
-
|
|
137
|
+
readonly projection: "slim";
|
|
77
138
|
};
|
|
78
139
|
/** The single resolved answer, before it is tagged with its camera. */
|
|
79
|
-
export type ResolvedLinkedDevices = Awaited<ReturnType<IDeviceManagerProvider[
|
|
140
|
+
export type ResolvedLinkedDevices = Awaited<ReturnType<IDeviceManagerProvider["getLinkedDevices"]>>;
|
|
80
141
|
/** Cap implementation of `getLinkedDevices`. */
|
|
81
|
-
export declare function getLinkedDevices(pctx: ProviderContext, input: Parameters<IDeviceManagerProvider[
|
|
142
|
+
export declare function getLinkedDevices(pctx: ProviderContext, input: Parameters<IDeviceManagerProvider["getLinkedDevices"]>[0]): ReturnType<IDeviceManagerProvider["getLinkedDevices"]>;
|
|
82
143
|
/**
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
export declare function getLinkedDevicesBatch(pctx: ProviderContext, input: Parameters<IDeviceManagerProvider[
|
|
144
|
+
* Cap implementation of `getLinkedDevicesBatch` — ONE fleet listing for the
|
|
145
|
+
* whole set.
|
|
146
|
+
*
|
|
147
|
+
* That listing is the query's cost (see `resolveFor`), and asking per camera
|
|
148
|
+
* does not amortise it: on the live hub 2026-08-25, 30 concurrent
|
|
149
|
+
* `getLinkedDevices` took 4110 ms wall — a queue of thirty full-fleet sweeps
|
|
150
|
+
* on device-manager's event loop — to produce 7260 bytes.
|
|
151
|
+
*
|
|
152
|
+
* Ids are deduped and the answer is one row per REQUESTED id, in the order
|
|
153
|
+
* asked: a camera whose settings read fails still gets a row (resolved against
|
|
154
|
+
* an empty config, i.e. children-only) rather than dropping out of the array.
|
|
155
|
+
*/
|
|
156
|
+
export declare function getLinkedDevicesBatch(pctx: ProviderContext, input: Parameters<IDeviceManagerProvider["getLinkedDevicesBatch"]>[0]): ReturnType<IDeviceManagerProvider["getLinkedDevicesBatch"]>;
|
|
96
157
|
/** The two device-store calls the linked-devices write needs — nothing else. */
|
|
97
158
|
export interface LinkedDevicesStoreAccess {
|
|
98
|
-
|
|
159
|
+
readonly settings: Pick<ProviderContext["settings"], "readDeviceStore" | "writeDeviceStore">;
|
|
99
160
|
}
|
|
100
161
|
/**
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
162
|
+
* THE write path for the linked-devices keys — the `linked-devices` slot's
|
|
163
|
+
* `set` lands here (D648). Normalizes the pick list and the tracked-event
|
|
164
|
+
* opt-in; an EXPLICIT empty opt-in is stored as `[]`, never deleted, because
|
|
165
|
+
* an absent key and an empty one are read alike today but only `[]` says the
|
|
166
|
+
* operator chose "none".
|
|
167
|
+
*/
|
|
107
168
|
export declare function applyLinkedDevicesPatch(pctx: LinkedDevicesStoreAccess, deviceId: number, patch: Record<string, unknown>): Promise<{
|
|
108
|
-
|
|
169
|
+
success: true;
|
|
109
170
|
}>;
|
|
110
171
|
/** The one field a pick is judged by. */
|
|
111
172
|
export interface LinkedPickDevice {
|
|
112
|
-
|
|
173
|
+
readonly type: string;
|
|
113
174
|
}
|
|
114
175
|
/** What `refusedLinkedPicks` judges: the write, and what it is judged against. */
|
|
115
176
|
export interface LinkedPicksInput {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
177
|
+
readonly selfId: number;
|
|
178
|
+
readonly picked: readonly number[];
|
|
179
|
+
readonly persisted: readonly number[];
|
|
180
|
+
readonly fleet: ReadonlyMap<number, LinkedPickDevice>;
|
|
120
181
|
}
|
|
121
182
|
/** One refused pick, named — the refusal message is built from these. */
|
|
122
183
|
export interface LinkedPickRefusal {
|
|
123
|
-
|
|
124
|
-
|
|
184
|
+
readonly deviceId: number;
|
|
185
|
+
readonly reason: "self" | "container" | "unknown";
|
|
125
186
|
}
|
|
126
187
|
/**
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
188
|
+
* Which NEW picks a linked-devices write must refuse: the camera itself, a
|
|
189
|
+
* container (never a pick — its children are, D356 and the file header), and
|
|
190
|
+
* an id no device has.
|
|
191
|
+
*
|
|
192
|
+
* Only ids that are not ALREADY persisted are judged. A list written before
|
|
193
|
+
* this rule existed may hold a container or a device that has since been
|
|
194
|
+
* deleted; the editor shows those as unavailable / missing, and keeping them
|
|
195
|
+
* is not a new link. Removing them is the operator's call, never this
|
|
196
|
+
* function's (a missing source is shown, never silently dropped).
|
|
197
|
+
*
|
|
198
|
+
* Since D655 every write of the list goes through the slot, the Locations
|
|
199
|
+
* page's room rebuild included, so this is the only gate a pick passes.
|
|
200
|
+
*/
|
|
140
201
|
export declare function refusedLinkedPicks(params: LinkedPicksInput): readonly LinkedPickRefusal[];
|