@camstack/system 1.2.390 → 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 -100
- package/dist/builtins/system-config/system-config.addon.js +37 -33
- package/dist/builtins/system-config/system-config.addon.mjs +37 -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,306 +1,329 @@
|
|
|
1
|
-
import { AddonContext, CapabilityDefinition, DeviceBindingEntry, DeviceConfigSpec, DeviceSettingsContribution, ICapabilityRegistry, IDevice, InferProvider, StreamProfile, StreamProfilePatch, deviceManagerCapability } from '@camstack/types';
|
|
2
|
-
import { BindingsDeps, RemoteNativeCaps } from './device-bindings-store.js';
|
|
3
|
-
import { ContributionShape, DriverConfigSchemaResult } from './device-meta-types.js';
|
|
4
1
|
/**
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
2
|
+
* Device-details aggregation + field-update routing for the device-manager
|
|
3
|
+
* addon. Extracted from `device-manager.addon.ts` as free functions that
|
|
4
|
+
* receive an explicit `AggregationDeps` context (DI) rather than closing over
|
|
5
|
+
* the addon instance.
|
|
6
|
+
*
|
|
7
|
+
* This module owns the binding-driven settings/live/status aggregators
|
|
8
|
+
* (`getDeviceAggregate`, `collectSystemDeviceContributions`,
|
|
9
|
+
* `deriveDeviceConfigContribution`, `buildBaseDeviceSection`,
|
|
10
|
+
* `getDeviceStatusAggregate`, `resolveDriverConfigSchema`) and the
|
|
11
|
+
* field-update routing (`updateDeviceField`, `updateDeviceFieldsBatch`,
|
|
12
|
+
* `applyGroupPatch`, `resolveContributionProvider`, `dispatchDeviceAction`)
|
|
13
|
+
* plus the wrapper-activation mutators (`setWrapperActive`,
|
|
14
|
+
* `listWrappersForCap`, `listBindableCapsForDeviceType`).
|
|
15
|
+
*
|
|
16
|
+
* Sibling aggregator functions call each other directly (passing `deps`);
|
|
17
|
+
* cross-domain leaf calls (`getBindings`, `resolveRemoteNativeCapFromRegistry`,
|
|
18
|
+
* read/writeBindingsStore) route through the bindings-store module via
|
|
19
|
+
* `deps.bindingsDeps`. EXACT semantics, ordering, and side effects of the
|
|
20
|
+
* original class methods are preserved; the addon keeps thin delegator
|
|
21
|
+
* methods over these functions.
|
|
22
|
+
*/
|
|
23
|
+
import type { AddonContext, CapabilityDefinition, DeviceBindingEntry, DeviceConfigSpec, DeviceSettingsContribution, ICapabilityRegistry, IDevice, InferProvider, StreamProfile, StreamProfilePatch } from "@camstack/types";
|
|
24
|
+
import { deviceManagerCapability } from "@camstack/types";
|
|
25
|
+
import { type BindingsDeps, type RemoteNativeCaps } from "./device-bindings-store.js";
|
|
26
|
+
import type { ContributionShape, DriverConfigSchemaResult } from "./device-meta-types.js";
|
|
27
|
+
/**
|
|
28
|
+
* Dependencies the aggregation + update routing functions consume. Assembled
|
|
29
|
+
* by the addon from its own state and passed in explicitly — no hidden `this`
|
|
30
|
+
* capture. `bindingsDeps` carries the lower-level context the bindings-store
|
|
31
|
+
* resolvers need so this module can call them directly.
|
|
32
|
+
*/
|
|
10
33
|
export interface AggregationDeps {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
34
|
+
readonly ctx: AddonContext;
|
|
35
|
+
readonly capabilityRegistry: ICapabilityRegistry | undefined;
|
|
36
|
+
readonly remoteNativeCaps: RemoteNativeCaps;
|
|
37
|
+
readonly bindingsDeps: BindingsDeps;
|
|
38
|
+
/**
|
|
39
|
+
* The keychain side of a driver's device form (D789): the STORED blob (its
|
|
40
|
+
* markers, never resolved), the device's declared secret paths, and the
|
|
41
|
+
* door's explicit clear. Without it a driver form carries what the driver
|
|
42
|
+
* hydrated and a clear cannot be applied.
|
|
43
|
+
*/
|
|
44
|
+
readonly deviceFormSecrets?: DeviceFormSecretsDeps;
|
|
22
45
|
}
|
|
23
46
|
export interface DeviceFormSecretsDeps {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
47
|
+
readonly readStored: (deviceId: number) => Promise<Record<string, unknown>>;
|
|
48
|
+
readonly declaredPaths: (deviceId: number) => readonly string[];
|
|
49
|
+
readonly clear: (deviceId: number, keys: readonly string[]) => Promise<void>;
|
|
27
50
|
}
|
|
28
51
|
type IDeviceManagerProvider = InferProvider<typeof deviceManagerCapability>;
|
|
29
|
-
export declare function getDeviceAggregate(deps: AggregationDeps, deviceId: number, kind:
|
|
52
|
+
export declare function getDeviceAggregate(deps: AggregationDeps, deviceId: number, kind: "settings" | "live"): Promise<ContributionShape | null>;
|
|
30
53
|
/**
|
|
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
|
-
export declare function collectSystemDeviceContributions(deps: AggregationDeps, deviceId: number, kind:
|
|
54
|
+
* System-scoped per-device contributions — the deliberate exception to
|
|
55
|
+
* binding-driven aggregation (D12).
|
|
56
|
+
*
|
|
57
|
+
* A `scope: 'system'` cap with `exposesDeviceSettings: true` holds per-device
|
|
58
|
+
* state but is NOT bound per-device: it is a system addon, not a BaseDevice,
|
|
59
|
+
* so it never calls `registerNativeCap` and never appears in
|
|
60
|
+
* `getBindings(deviceId)`. The binding-driven loop therefore skips it and its
|
|
61
|
+
* per-device panel never renders. Two such caps ship today:
|
|
62
|
+
* - `stream-broker` (singleton) — the RTSP-restream / pre-buffer settings
|
|
63
|
+
* tab, scoped to the cameras whose streams it serves.
|
|
64
|
+
* - `device-export` (collection) — the "Export" panel; a device can be
|
|
65
|
+
* exposed to MULTIPLE exporters at once (Alexa + HomeKit + HA-MQTT).
|
|
66
|
+
*
|
|
67
|
+
* D12 bans fanning a per-device call out to every same-named provider of a
|
|
68
|
+
* `scope: 'device'` cap, because vendor providers SHARE cap names
|
|
69
|
+
* (`stream-params`/`ptz` from reolink AND hikvision). System caps are NOT
|
|
70
|
+
* vendor-shared — a system cap name maps to one active provider (singleton)
|
|
71
|
+
* or one declared collection — so consulting the cap's own provider(s)
|
|
72
|
+
* directly is safe. Each provider gates internally by deviceId and returns
|
|
73
|
+
* null for devices it does not own.
|
|
74
|
+
*
|
|
75
|
+
* `seenCaps` skips any system cap that already contributed via a binding so
|
|
76
|
+
* its section is never duplicated.
|
|
77
|
+
*/
|
|
78
|
+
export declare function collectSystemDeviceContributions(deps: AggregationDeps, deviceId: number, kind: "settings" | "live", seenCaps: ReadonlySet<string>): Promise<ContributionShape[]>;
|
|
56
79
|
/**
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
80
|
+
* D14: framework-derived device-config contribution.
|
|
81
|
+
*
|
|
82
|
+
* `kind === 'live'` — device-config caps contribute nothing to the live
|
|
83
|
+
* aggregate (they hold editable config, not live observables).
|
|
84
|
+
*
|
|
85
|
+
* `ui.kind === 'widget'` — emits a single structural `type:'widget'`
|
|
86
|
+
* section; the widget self-persists via the cap's own mutations.
|
|
87
|
+
*
|
|
88
|
+
* `ui.kind === 'derived-form'` — calls `getOptions`/`getStatus` on the
|
|
89
|
+
* bound provider, runs the registered pure builder, and returns the
|
|
90
|
+
* derived form sections. Returns null when the camera exposes nothing
|
|
91
|
+
* configurable or the provider is not yet registered.
|
|
92
|
+
*/
|
|
70
93
|
export declare function deriveDeviceConfigContribution(deps: AggregationDeps, registry: ICapabilityRegistry, def: CapabilityDefinition & {
|
|
71
|
-
|
|
72
|
-
}, entry: DeviceBindingEntry, deviceId: number, kind:
|
|
94
|
+
deviceConfig: DeviceConfigSpec;
|
|
95
|
+
}, entry: DeviceBindingEntry, deviceId: number, kind: "settings" | "live"): Promise<ContributionShape | null>;
|
|
73
96
|
/**
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
97
|
+
* Build the device-manager's own contribution to the aggregator — the
|
|
98
|
+
* device identity (id, stableId, addonId, type, online) + the
|
|
99
|
+
* driver-specific config exposed by the device class via
|
|
100
|
+
* `zodEntriesToConfigUI`.
|
|
101
|
+
*
|
|
102
|
+
* Two paths, deliberately symmetric with `getSettingsSchema`:
|
|
103
|
+
*
|
|
104
|
+
* - Hub-local: device's IDevice instance lives in this process'
|
|
105
|
+
* DeviceRegistry, we read config + schema directly by reference.
|
|
106
|
+
* - Cross-process: device lives in a forked worker (RtspCamera on
|
|
107
|
+
* provider-rtsp, ONVIF on provider-onvif, …). We ask the worker's
|
|
108
|
+
* `device-ops.getSettingsSchema` native provider for a wire-
|
|
109
|
+
* serializable ConfigUISchema and merge it in under the same
|
|
110
|
+
* "Driver Config" section, so the UI sees the same shape regardless
|
|
111
|
+
* of where the IDevice physically runs.
|
|
112
|
+
*
|
|
113
|
+
* Returns `null` only when the device genuinely doesn't exist anywhere
|
|
114
|
+
* (no hub-local, no persisted ownership, no device-ops native). The
|
|
115
|
+
* aggregator falls back to contributor sections only in that case.
|
|
116
|
+
*/
|
|
94
117
|
export declare function buildBaseDeviceSection(deps: AggregationDeps, deviceId: number): Promise<ContributionShape | null>;
|
|
95
118
|
/**
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
119
|
+
* Lookup the native owner for `device-ops` on `deviceId` — the native-cap
|
|
120
|
+
* registry (hub-local and remote) is keyed by numeric id.
|
|
121
|
+
*/
|
|
99
122
|
export declare function resolveNativeDeviceOwner(deps: AggregationDeps, deviceId: number): {
|
|
100
|
-
|
|
101
|
-
|
|
123
|
+
addonId: string;
|
|
124
|
+
nodeId: string;
|
|
102
125
|
} | null;
|
|
103
126
|
/**
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
export declare const STATUS_CALL_DEADLINE_MS =
|
|
127
|
+
* How long ONE cap's `getStatus` may take before the aggregate gives up on it
|
|
128
|
+
* and reports `null`.
|
|
129
|
+
*
|
|
130
|
+
* A cap call for a device owned by another node crosses the cluster, where the
|
|
131
|
+
* transport's own ceiling is `REMOTE_CALL_TIMEOUT_MS` — SIXTY seconds. That
|
|
132
|
+
* ceiling is right for a deliberate operator action; it is catastrophic here,
|
|
133
|
+
* because this aggregate is what a camera LIST asks for on every boot, and it
|
|
134
|
+
* has no answer to give until the slowest cap replies.
|
|
135
|
+
*
|
|
136
|
+
* The failure this bounds is not a node that is DOWN — `classifyCapRoute`
|
|
137
|
+
* rejects those immediately with `node-offline`, which the catch below turns
|
|
138
|
+
* into `null` in microseconds. It is a node that is FLAPPING: a crash-looping
|
|
139
|
+
* agent re-registers every few seconds, so the registry believes it is online,
|
|
140
|
+
* the call is routed, and the peer dies mid-flight. Then nothing throws and
|
|
141
|
+
* nothing resolves. On 2026-08-08 little-unraid did exactly that for 22
|
|
142
|
+
* minutes and the viewer showed a loading skeleton the whole time.
|
|
143
|
+
*
|
|
144
|
+
* 3s is chosen against what a HEALTHY remote cap costs (a same-LAN cap call is
|
|
145
|
+
* single-digit ms; the slowest observed live is ~300ms) — so this cannot cut
|
|
146
|
+
* off a working node — and against what a human waits for a camera list.
|
|
147
|
+
*/
|
|
148
|
+
export declare const STATUS_CALL_DEADLINE_MS = 3e3;
|
|
126
149
|
/** Per-call bound for a status aggregation. Tests pass a small value; nothing
|
|
127
|
-
|
|
150
|
+
* in production overrides the default. */
|
|
128
151
|
export interface StatusAggregateOptions {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
152
|
+
/** Deadline for a single cap's `getStatus`. Defaults to
|
|
153
|
+
* {@link STATUS_CALL_DEADLINE_MS}. */
|
|
154
|
+
readonly deadlineMs?: number;
|
|
132
155
|
}
|
|
133
156
|
export declare function getDeviceStatusAggregate(deps: AggregationDeps, input: {
|
|
134
|
-
|
|
135
|
-
|
|
157
|
+
readonly deviceId: number;
|
|
158
|
+
readonly caps?: readonly string[];
|
|
136
159
|
}, options?: StatusAggregateOptions): Promise<Record<string, unknown | null>>;
|
|
137
160
|
/**
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
161
|
+
* `getDeviceStatusAggregate` for a LIST of devices, in one round-trip.
|
|
162
|
+
*
|
|
163
|
+
* Each device is aggregated by the SAME function the single-device call uses —
|
|
164
|
+
* deliberately, because that function already encodes the behaviour that
|
|
165
|
+
* matters: a provider that throws or returns an invalid status yields `null`
|
|
166
|
+
* for that cap instead of poisoning the result. Re-implementing the walk here
|
|
167
|
+
* to "batch it properly" would mean two copies of that rule and one of them
|
|
168
|
+
* eventually missing it.
|
|
169
|
+
*
|
|
170
|
+
* A device whose whole aggregation fails still gets an ENTRY (all caps null)
|
|
171
|
+
* rather than being omitted: a caller that reads a missing key as "not
|
|
172
|
+
* answered yet" would keep the previous badge on screen forever.
|
|
173
|
+
*
|
|
174
|
+
* ## The response is BOUNDED, and that is load-bearing
|
|
175
|
+
*
|
|
176
|
+
* The windows are walked SEQUENTIALLY, so before the per-cap deadline existed a
|
|
177
|
+
* single unanswerable device did not merely cost its own window — it held every
|
|
178
|
+
* later window behind it, and the call never returned at all. That is the whole
|
|
179
|
+
* mechanism behind "one node offline and the app loads nothing": this is the
|
|
180
|
+
* one call a camera list makes for every card, the client has no timeout of its
|
|
181
|
+
* own, and a tRPC query that never settles is `isLoading` forever.
|
|
182
|
+
*
|
|
183
|
+
* The ceiling is now `ceil(devices / STATUS_BATCH_WINDOW) × STATUS_CALL_DEADLINE_MS`
|
|
184
|
+
* in the worst case (a dead device in every window), and unchanged when every
|
|
185
|
+
* node is healthy. It is never unbounded.
|
|
186
|
+
*/
|
|
164
187
|
export declare function getDeviceStatusAggregateBatch(deps: AggregationDeps, input: {
|
|
165
|
-
|
|
166
|
-
|
|
188
|
+
readonly deviceIds: readonly number[];
|
|
189
|
+
readonly caps?: readonly string[];
|
|
167
190
|
}, options?: StatusAggregateOptions): Promise<Record<string, Record<string, unknown | null>>>;
|
|
168
191
|
/**
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
192
|
+
* Return the driver-specific device-settings contribution. Hub-local
|
|
193
|
+
* devices call `getSettingsUISchema()` directly; forked-worker devices
|
|
194
|
+
* go through the `device-ops.getSettingsSchema` cap method on the
|
|
195
|
+
* numeric-id-keyed native registry.
|
|
196
|
+
*
|
|
197
|
+
* Returns a discriminated result so callers can distinguish three states:
|
|
198
|
+
* 'ok' – schema obtained successfully
|
|
199
|
+
* 'none' – driver genuinely has no settings schema
|
|
200
|
+
* 'unavailable' – worker was unreachable after retries (transient)
|
|
201
|
+
*/
|
|
179
202
|
export declare function resolveDriverConfigSchema(deps: AggregationDeps, deviceId: number, hubLocal: {
|
|
180
|
-
|
|
181
|
-
|
|
203
|
+
addonId: string;
|
|
204
|
+
device: IDevice;
|
|
182
205
|
} | null): Promise<DriverConfigSchemaResult>;
|
|
183
206
|
/**
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
207
|
+
* Provider surface for a `derived-form` device-config cap's save path.
|
|
208
|
+
* Exactly one of `setProfile` / `setSettings` is present on the actual
|
|
209
|
+
* bound provider — which one is present tells us how to route the
|
|
210
|
+
* patch. `stream-params` exposes `setProfile` (profile axis); `day-night`
|
|
211
|
+
* / `image-settings` expose `setSettings` (no profile axis). Never branch
|
|
212
|
+
* on the cap name here — the method surface is the source of truth.
|
|
213
|
+
*/
|
|
191
214
|
export interface DerivedFormSaveSurface {
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
215
|
+
setProfile?: (input: {
|
|
216
|
+
deviceId: number;
|
|
217
|
+
profile: StreamProfile;
|
|
218
|
+
patch: StreamProfilePatch;
|
|
219
|
+
}) => Promise<void>;
|
|
220
|
+
setSettings?: (input: {
|
|
221
|
+
deviceId: number;
|
|
222
|
+
settings: Record<string, unknown>;
|
|
223
|
+
}) => Promise<void>;
|
|
201
224
|
}
|
|
202
225
|
/**
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
226
|
+
* Route a `derived-form` device-config cap's flat form patch to whichever
|
|
227
|
+
* mutation the bound provider actually exposes — inspecting the
|
|
228
|
+
* provider's method surface, not the cap name. `setSettings` fires once
|
|
229
|
+
* with the parsed flat patch; `setProfile` fans the patch out per-profile
|
|
230
|
+
* via the registered builderId reducer.
|
|
231
|
+
*/
|
|
209
232
|
export declare function dispatchDerivedFormSave(builderId: string, deviceId: number, patch: Record<string, unknown>, dcProvider: DerivedFormSaveSurface, capName: string): Promise<void>;
|
|
210
233
|
export declare function updateDeviceField(deps: AggregationDeps, input: {
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
234
|
+
deviceId: number;
|
|
235
|
+
writerCapName: string;
|
|
236
|
+
writerAddonId: string;
|
|
237
|
+
key: string;
|
|
238
|
+
value: unknown;
|
|
216
239
|
}): Promise<{
|
|
217
|
-
|
|
240
|
+
success: true;
|
|
218
241
|
}>;
|
|
219
242
|
/**
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
243
|
+
* Dispatch a device custom action. Hub-local devices run it directly;
|
|
244
|
+
* forked/remote devices route through the `device-ops` native cap
|
|
245
|
+
* (`runAction`) — the same hub-local-then-device-ops fan-out that
|
|
246
|
+
* `updateDeviceField` uses for `applySettingsPatch`.
|
|
247
|
+
*/
|
|
225
248
|
export declare function dispatchDeviceAction(deps: AggregationDeps, deviceId: number, action: string, input: unknown): Promise<unknown>;
|
|
226
249
|
/**
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
250
|
+
* Resolve the `DeviceSettingsContribution` provider that owns a tagged
|
|
251
|
+
* field. The `writerAddonId` on a tagged field equals `entry.providerAddonId`
|
|
252
|
+
* from the binding that produced it — for `kind:'wrapped'` entries, that is
|
|
253
|
+
* the wrapper addon id (e.g. 'snapshot-addon'); for native-only entries,
|
|
254
|
+
* the system addon id.
|
|
255
|
+
*
|
|
256
|
+
* Resolution order (Bug-3 fix):
|
|
257
|
+
* 1. `getProviderByAddon(capName, writerAddonId)` — resolves the
|
|
258
|
+
* system-registered provider by the addon id from the tagged field.
|
|
259
|
+
* For wrapper bindings (snapshot, motion-detection, etc.) this directly
|
|
260
|
+
* returns the wrapper provider, bypassing the native-first resolution
|
|
261
|
+
* order of `getProviderForDevice` that caused "method not found".
|
|
262
|
+
* 2. `getSingleton(capName)` — fallback for stale/mismatched writerAddonIds.
|
|
263
|
+
* The active singleton handles the contribution even if the addonId
|
|
264
|
+
* stored in the field is out of date (e.g. after an addon rename).
|
|
265
|
+
*
|
|
266
|
+
* `getProviderForDevice` is intentionally NOT used here: it returns the
|
|
267
|
+
* per-device native first when present (e.g. Reolink/ONVIF), and the native
|
|
268
|
+
* does NOT implement contribution methods — the root cause of Bug-3.
|
|
269
|
+
*/
|
|
247
270
|
export declare function resolveContributionProvider(registry: ICapabilityRegistry, _def: CapabilityDefinition, writerCapName: string, writerAddonId: string, deviceId: number): DeviceSettingsContribution;
|
|
248
271
|
/**
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
272
|
+
* Batched counterpart of `updateDeviceField`. Groups changes by
|
|
273
|
+
* `(writerCapName, writerAddonId)` so each contributor receives a
|
|
274
|
+
* single `applyDeviceSettingsPatch` with all of its updates merged —
|
|
275
|
+
* avoids N round-trips for simultaneous edits in the same save.
|
|
276
|
+
*
|
|
277
|
+
* Per-provider failures are captured in the `failures[]` output so the
|
|
278
|
+
* admin UI can highlight which sections didn't persist; a failure on
|
|
279
|
+
* one provider does NOT abort the others.
|
|
280
|
+
*/
|
|
258
281
|
export declare function updateDeviceFieldsBatch(deps: AggregationDeps, input: {
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
282
|
+
deviceId: number;
|
|
283
|
+
changes: ReadonlyArray<{
|
|
284
|
+
writerCapName: string;
|
|
285
|
+
writerAddonId: string;
|
|
286
|
+
key: string;
|
|
287
|
+
value: unknown;
|
|
288
|
+
}>;
|
|
266
289
|
}): Promise<{
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
290
|
+
success: true;
|
|
291
|
+
failures: {
|
|
292
|
+
writerCapName: string;
|
|
293
|
+
writerAddonId: string;
|
|
294
|
+
error: string;
|
|
295
|
+
}[];
|
|
273
296
|
}>;
|
|
274
297
|
/** Apply a single grouped patch to the appropriate provider. Mirrors
|
|
275
|
-
|
|
276
|
-
|
|
298
|
+
* `updateDeviceField` routing (special-case device-manager, else
|
|
299
|
+
* registry lookup). Used by `updateDeviceFieldsBatch`. */
|
|
277
300
|
export declare function applyGroupPatch(deps: AggregationDeps, deviceId: number, group: {
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
301
|
+
writerCapName: string;
|
|
302
|
+
writerAddonId: string;
|
|
303
|
+
patch: Record<string, unknown>;
|
|
281
304
|
}): Promise<void>;
|
|
282
305
|
export declare function listWrappersForCap(deps: AggregationDeps, input: {
|
|
283
|
-
|
|
306
|
+
capName: string;
|
|
284
307
|
}): Promise<string[]>;
|
|
285
308
|
export declare function listBindableCapsForDeviceType(deps: AggregationDeps, input: {
|
|
286
|
-
|
|
309
|
+
deviceType: string;
|
|
287
310
|
}): Promise<Array<{
|
|
288
|
-
|
|
289
|
-
|
|
311
|
+
capName: string;
|
|
312
|
+
wrappers: string[];
|
|
290
313
|
}>>;
|
|
291
314
|
/**
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
export declare function getWireableFields(deps: AggregationDeps, input: Parameters<IDeviceManagerProvider[
|
|
315
|
+
* Per-device wireable-field catalog — the domain status fields a device's
|
|
316
|
+
* bound caps expose, for the operator's cross-device wiring UI. Binding-driven:
|
|
317
|
+
* walks `getBindings(deviceId)`, skips wrapper caps (their status schemas are
|
|
318
|
+
* internal book-keeping, not wireable domain data), and enumerates each cap's
|
|
319
|
+
* status schema leaf fields (per-item fields included for item-array caps).
|
|
320
|
+
*
|
|
321
|
+
* `includeSynthesizable: true` (TARGET pickers only) additionally unions in
|
|
322
|
+
* UNBOUND device-scoped caps that declare `status.empty` (the synthesize-target
|
|
323
|
+
* marker) and whose `deviceTypes` admit this device's persisted type — so the
|
|
324
|
+
* FIRST link to a synthesize-only cap (consumables on an HA vacuum) can be
|
|
325
|
+
* authored before any binding exists. Default (absent/false) behavior is
|
|
326
|
+
* byte-identical to the binding-driven catalog.
|
|
327
|
+
*/
|
|
328
|
+
export declare function getWireableFields(deps: AggregationDeps, input: Parameters<IDeviceManagerProvider["getWireableFields"]>[0]): ReturnType<IDeviceManagerProvider["getWireableFields"]>;
|
|
306
329
|
export {};
|