@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,266 +1,278 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Persisted wrapper-activation + per-device binding resolution for the
|
|
3
|
+
* device-manager addon. Extracted from `device-manager.addon.ts` as free
|
|
4
|
+
* functions that receive an explicit `BindingsDeps` context (dependency
|
|
5
|
+
* injection) instead of closing over the addon instance — keeps the routing
|
|
6
|
+
* logic cohesive and independently testable while preserving the EXACT call
|
|
7
|
+
* semantics, ordering, and side effects of the original class methods.
|
|
8
|
+
*
|
|
9
|
+
* The addon keeps thin delegator methods (`getBindings`, `getAllBindings`, …)
|
|
10
|
+
* that build `BindingsDeps` from its own state and forward here, so every
|
|
11
|
+
* existing internal + cap-router call site is unchanged.
|
|
12
|
+
*/
|
|
13
|
+
import type { AddonContext, CapabilityDefinition, DeviceBindingEntry, ICapabilityRegistry } from "@camstack/types";
|
|
14
|
+
import type { DeviceBindingsStore } from "./device-meta-types.js";
|
|
15
|
+
import type { DeviceRow, DeviceRowStore } from "./device-row-store.js";
|
|
16
|
+
import type { StaleWrapperActivations } from "./stale-wrapper-activations.js";
|
|
17
|
+
import type { WriteLock } from "./write-lock.js";
|
|
6
18
|
/** Push-fed remote native-cap cache shape (numeric deviceId → capName → owner). */
|
|
7
19
|
export type RemoteNativeCaps = Map<number, Map<string, {
|
|
8
|
-
|
|
9
|
-
|
|
20
|
+
addonId: string;
|
|
21
|
+
nodeId: string;
|
|
10
22
|
}>>;
|
|
11
23
|
/**
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
24
|
+
* Low-level dependencies the binding resolver needs. Assembled by the addon
|
|
25
|
+
* from its own (mostly private) state and passed in explicitly — no hidden
|
|
26
|
+
* `this` capture.
|
|
27
|
+
*/
|
|
16
28
|
export interface BindingsDeps {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
29
|
+
readonly ctx: AddonContext;
|
|
30
|
+
readonly capabilityRegistry: ICapabilityRegistry | undefined;
|
|
31
|
+
readonly remoteNativeCaps: RemoteNativeCaps;
|
|
32
|
+
/** Row access for `device-manager:devices` — the device ledger the type and
|
|
33
|
+
* presence gates below consult. */
|
|
34
|
+
readonly rows: DeviceRowStore;
|
|
35
|
+
/**
|
|
36
|
+
* Ordering for every read-modify-write of this addon's `addon-settings` key
|
|
37
|
+
* range — `deviceBindings` above all, but also `locations`, `nextDeviceId`
|
|
38
|
+
* and `roleDisplayDefaults`.
|
|
39
|
+
*
|
|
40
|
+
* `deviceBindings` is ONE fleet-wide blob keyed by device, so a writer that
|
|
41
|
+
* only means to touch camera 615 rewrites every camera's row. Nothing
|
|
42
|
+
* ordered those writers, and the window between the read and the write is a
|
|
43
|
+
* settings-door round trip — an RPC to the isolated `sqlite-settings` child,
|
|
44
|
+
* measured at 2.9 s on the live hub mid-drain (D181). Two toggles on
|
|
45
|
+
* DIFFERENT cameras therefore lost each other, and the value that went
|
|
46
|
+
* missing was `{ wrapperAddonId: null }`: the marker that keeps a
|
|
47
|
+
* `defaultActive` wrapper from re-binding. The operator's OFF came back ON
|
|
48
|
+
* (D62).
|
|
49
|
+
*
|
|
50
|
+
* **Writers only.** No read path takes this lock: `getBindings`,
|
|
51
|
+
* `getBindingsBatch` and `getAllBindings` must never queue behind a write,
|
|
52
|
+
* and putting a read under it would make a 1 019-device sweep wait on
|
|
53
|
+
* whatever toggle happens to be in flight.
|
|
54
|
+
*/
|
|
55
|
+
readonly withAddonStoreWriteLock: WriteLock;
|
|
56
|
+
/**
|
|
57
|
+
* The per-process memory of stored activations that name a RETIRED wrapper
|
|
58
|
+
* (a cap with no `kind: 'wrapper'` any more): each is ignored by step 1 and
|
|
59
|
+
* said once (task 17 review M1, `stale-wrapper-activations.ts`).
|
|
60
|
+
*/
|
|
61
|
+
readonly staleWrapperActivations: StaleWrapperActivations;
|
|
50
62
|
}
|
|
51
63
|
/**
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
* Wire the push-fed cross-process native-cap cache (`remoteNativeCaps`).
|
|
65
|
+
* Workers emit `DeviceBindingsChanged` on `ctx.registerNativeCap` / device
|
|
66
|
+
* removal; we mirror those into `remoteNativeCaps` so `getBindings` returns the
|
|
67
|
+
* full cluster view. Events from the local node are ignored: hub-local natives
|
|
68
|
+
* live in `capabilityRegistry` and are folded in directly by getBindings.
|
|
69
|
+
*
|
|
70
|
+
* Push events are accurate in the steady state but can be lost during the
|
|
71
|
+
* Moleculer transport handshake window (hub restart, crash-respawn,
|
|
72
|
+
* restartAddon). The reliable replacement for lost events is the D3 re-handshake
|
|
73
|
+
* (`listClusterNativeCaps()`), which `resolveNativeCapOwnerSync` /
|
|
74
|
+
* `getBindings` step 4 fall through to on a push miss. The `$node.disconnected`
|
|
75
|
+
* handler purges a gone node's entries; the worker re-handshakes (and re-emits
|
|
76
|
+
* `native-registered`) on its next boot.
|
|
77
|
+
*/
|
|
66
78
|
export declare function wireRemoteNativeCapSync(ctx: AddonContext, remoteNativeCaps: RemoteNativeCaps): void;
|
|
67
79
|
/**
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
80
|
+
* All a bindings-store read or write needs: the settings door. Named narrower
|
|
81
|
+
* than {@link BindingsDeps} so the activation verb (`device-source-activation.ts`)
|
|
82
|
+
* can reach the store without the device ledger and the remote-native cache it
|
|
83
|
+
* never touches — `BindingsDeps` satisfies it structurally, so every existing
|
|
84
|
+
* call site is unchanged.
|
|
85
|
+
*/
|
|
74
86
|
export interface BindingsStoreDeps {
|
|
75
|
-
|
|
87
|
+
readonly ctx: AddonContext;
|
|
76
88
|
}
|
|
77
89
|
export declare function readBindingsStore(deps: BindingsStoreDeps): Promise<DeviceBindingsStore>;
|
|
78
90
|
export declare function writeBindingsStore(deps: BindingsStoreDeps, next: DeviceBindingsStore): Promise<void>;
|
|
79
91
|
export declare function resolveWrapperNodeId(_wrapperAddonId: string): string;
|
|
80
92
|
/**
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
93
|
+
* Reduce a provider node id to the routable form `DeviceProxy` can pin.
|
|
94
|
+
*
|
|
95
|
+
* Every addon runs in its own `addon-runner` with the composite node id
|
|
96
|
+
* `${parentNodeId}/${runnerId}` (see `addon-runner.ts`) — e.g.
|
|
97
|
+
* `hub/provider-reolink` or `dev-agent-0/provider-reolink`. That composite is
|
|
98
|
+
* an IDENTITY, not a routable target: the `CapRouteResolver` reaches a child
|
|
99
|
+
* only THROUGH its parent (the hub resolves a hub-local-uds child by
|
|
100
|
+
* cap+device; an agent forwards to its own child). `DeviceProxy` pins
|
|
101
|
+
* `entry.providerNodeId` on every cap call, so a binding entry must expose the
|
|
102
|
+
* parent node id — otherwise the explicit pin classifies as `remote-moleculer`
|
|
103
|
+
* to an unknown node → `no-provider`, which surfaces as
|
|
104
|
+
* "this camera doesn't expose …" for client-proxy-driven widget caps
|
|
105
|
+
* (motion-zones, privacy-mask). Wrappers already report the parent via
|
|
106
|
+
* `resolveWrapperNodeId`; this aligns natives with the same contract.
|
|
107
|
+
*
|
|
108
|
+
* A flat node id (a genuine standalone node with no `/`) is returned
|
|
109
|
+
* unchanged.
|
|
110
|
+
*/
|
|
99
111
|
export declare function toRoutableProviderNodeId(nodeId: string): string;
|
|
100
112
|
/**
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
113
|
+
* Resolve a remote native cap entry for a given `(capName, deviceId)` by
|
|
114
|
+
* consulting the handshake-fed `HubNodeRegistry` via
|
|
115
|
+
* `ctx.kernel.listClusterNativeCaps()`. Called when the push-based
|
|
116
|
+
* `remoteNativeCaps` cache misses — covers the Moleculer transport
|
|
117
|
+
* handshake window where `DeviceBindingsChanged` events were lost but the
|
|
118
|
+
* D3 re-handshake (post device restore) has already populated the registry.
|
|
119
|
+
*
|
|
120
|
+
* Returns `null` when the entry is genuinely not present in the cluster
|
|
121
|
+
* view (cap not registered on any worker for that device).
|
|
122
|
+
*/
|
|
111
123
|
export declare function resolveRemoteNativeCapFromRegistry(deps: BindingsDeps, capName: string, deviceId: number): {
|
|
112
|
-
|
|
113
|
-
|
|
124
|
+
addonId: string;
|
|
125
|
+
nodeId: string;
|
|
114
126
|
} | null;
|
|
115
127
|
/**
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
128
|
+
* Resolve the device's declared TYPE (`'camera'`, `'event-emitter'`, …), or
|
|
129
|
+
* `undefined` when it cannot be established.
|
|
130
|
+
*
|
|
131
|
+
* The PERSISTED row is the authority: `ctx.kernel.deviceRegistry` is hub-only
|
|
132
|
+
* and has been observed empty in the very process that answers `getBindings`
|
|
133
|
+
* correctly (see the note on `getAllBindings`). The registry is consulted only
|
|
134
|
+
* as a secondary source, for a device constructed but not yet persisted.
|
|
135
|
+
*
|
|
136
|
+
* `undefined` is a first-class answer and callers must treat it as "no
|
|
137
|
+
* filtering" — an absent row must never be the reason a device loses bindings.
|
|
138
|
+
*/
|
|
127
139
|
export declare function resolveDeviceType(deps: BindingsDeps, row: DeviceRow | null, deviceId: number): string | undefined;
|
|
128
140
|
/**
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
export type DevicePresence =
|
|
141
|
+
* Whether the device-manager's own stores still know a device id.
|
|
142
|
+
*
|
|
143
|
+
* `'unknown'` is NOT `'absent'` — it means the question could not be answered
|
|
144
|
+
* and the caller must behave exactly as it did before asking.
|
|
145
|
+
*/
|
|
146
|
+
export type DevicePresence = "present" | "absent" | "unknown";
|
|
135
147
|
/**
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
148
|
+
* Is this device still part of the fleet?
|
|
149
|
+
*
|
|
150
|
+
* The device-manager's own stores are the authority in-process — no RPC. Two
|
|
151
|
+
* sources, in the same order `resolveDeviceType` uses them: the live registry
|
|
152
|
+
* first (a device constructed but not yet persisted is present), then the
|
|
153
|
+
* PERSISTED meta, which is the index `getBindings` already reads and is present
|
|
154
|
+
* wherever this provider runs.
|
|
155
|
+
*
|
|
156
|
+
* `'absent'` is only ever returned against a NON-EMPTY ledger. An empty one
|
|
157
|
+
* means device restore has not run, not that the fleet was deleted (D49) — the
|
|
158
|
+
* same reason `getAllBindings` warns instead of reporting zero devices. That is
|
|
159
|
+
* the only reason this is async: the `COUNT(*)` runs solely on the miss path,
|
|
160
|
+
* where the alternative is to call a device gone because the store is empty.
|
|
161
|
+
*
|
|
162
|
+
* `ledgerNonEmpty` is passed IN rather than defaulted, deliberately. A default
|
|
163
|
+
* that issued its own `rows.count()` would be a per-device read hiding behind
|
|
164
|
+
* an optional argument — the exact shape this file just removed from the
|
|
165
|
+
* activations blob — and nothing would fail when a future caller took it.
|
|
166
|
+
*/
|
|
155
167
|
export declare function resolveDevicePresence(deps: BindingsDeps, row: DeviceRow | null, deviceId: number, ledgerNonEmpty: LedgerNonEmpty): Promise<DevicePresence>;
|
|
156
168
|
/** "Does the ledger hold any row at all?", asked at most once per pass. */
|
|
157
169
|
export type LedgerNonEmpty = () => Promise<boolean>;
|
|
158
170
|
/**
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
171
|
+
* Does a capability apply to a device of type `deviceType`?
|
|
172
|
+
*
|
|
173
|
+
* The cap's `deviceTypes` is the ONLY declaration consulted (D4: behavioural
|
|
174
|
+
* cap metadata lives in the `*.cap.ts`, never in a manifest). Two deliberate
|
|
175
|
+
* fail-open cases:
|
|
176
|
+
*
|
|
177
|
+
* - a cap that declares no `deviceTypes` (or an empty list) applies to every
|
|
178
|
+
* device — the pre-existing, back-compatible semantics;
|
|
179
|
+
* - an UNKNOWN `deviceType` never filters, so a missing/failed meta lookup
|
|
180
|
+
* changes nothing (D49: a read that fails must not destroy work).
|
|
181
|
+
*/
|
|
170
182
|
export declare function capAppliesToDeviceType(def: CapabilityDefinition | undefined, deviceType: string | undefined): boolean;
|
|
171
183
|
/**
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
184
|
+
* An addon's identity, with the node it happens to run on stripped.
|
|
185
|
+
*
|
|
186
|
+
* A capability registered on an agent arrives under `<addonId>@<nodeId>` —
|
|
187
|
+
* `pipeline-analytics@little-unraid`. That is the same ADDON as the hub-local
|
|
188
|
+
* `pipeline-analytics`, and treating the two as different providers is what
|
|
189
|
+
* put `analytics` in device 592's clip picker three times (D554 amended).
|
|
190
|
+
* Where a provider RUNS is a routing fact; it is not part of who it is.
|
|
191
|
+
*/
|
|
180
192
|
export declare function addonIdentityOf(addonId: string): string;
|
|
181
193
|
export declare function getBindings(deps: BindingsDeps, input: {
|
|
182
|
-
|
|
194
|
+
deviceId: number;
|
|
183
195
|
}): Promise<{
|
|
184
|
-
|
|
185
|
-
|
|
196
|
+
deviceId: number;
|
|
197
|
+
entries: DeviceBindingEntry[];
|
|
186
198
|
}>;
|
|
187
199
|
/**
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
200
|
+
* A NAMED set of devices' bindings, in one round-trip.
|
|
201
|
+
*
|
|
202
|
+
* Same resolver as `getBindings`, so the routing rules and the per-device
|
|
203
|
+
* shape are identical by construction. It exists because the gap between one
|
|
204
|
+
* device and all 988 had nothing in it: measured on the live hub 2026-08-25, a
|
|
205
|
+
* caller needing seventy-five paid either 75 round-trips (1211 ms / 118 KB) or
|
|
206
|
+
* `getAllBindings` (511 ms / 679 KB of mostly-unwanted rows).
|
|
207
|
+
*
|
|
208
|
+
* Sequential on purpose, like `getAllBindings`: `resolveBindingsForDevice`'s
|
|
209
|
+
* remaining per-device work is the routing rules, which run on this process's
|
|
210
|
+
* own event loop, so concurrency buys nothing there and a fan-out of
|
|
211
|
+
* `Promise.all` over hundreds of ids only makes the queue less fair to
|
|
212
|
+
* everything else on it. Both parts that DO amortise across the whole set are
|
|
213
|
+
* fetched ONCE, ahead of the loop, and in parallel with each other:
|
|
214
|
+
*
|
|
215
|
+
* - the device rows ({@link DeviceRowStore.getMany}) rather than once per
|
|
216
|
+
* iteration — measured on the live hub 2026-08-25, `get
|
|
217
|
+
* device-manager:devices` ran 1 656 calls/min steady-state, one row per
|
|
218
|
+
* call, which is exactly what looping `getBindings`'s own
|
|
219
|
+
* `rows.get(deviceId)` here produced;
|
|
220
|
+
* - the wrapper-activation blob, which the per-device resolver used to read
|
|
221
|
+
* itself — a second settings-door round trip per id, on the call that
|
|
222
|
+
* exists precisely so a caller needing many devices does not pay per
|
|
223
|
+
* device. Measured on the live hub 2026-08-30, mid-drain:
|
|
224
|
+
* `getBindingsBatch` of 1 id = 5.78 s, of 8 ids = 17.16 s — a slope of
|
|
225
|
+
* 1.63 s PER ADDITIONAL DEVICE, on a call that ships 4.5 KB a row.
|
|
226
|
+
*/
|
|
215
227
|
export declare function getBindingsBatch(deps: BindingsDeps, input: {
|
|
216
|
-
|
|
228
|
+
deviceIds: readonly number[];
|
|
217
229
|
}): Promise<Array<{
|
|
218
|
-
|
|
219
|
-
|
|
230
|
+
deviceId: number;
|
|
231
|
+
entries: DeviceBindingEntry[];
|
|
220
232
|
}>>;
|
|
221
233
|
/**
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
234
|
+
* Whole-fleet binding dump. Iterates every device known to the
|
|
235
|
+
* deviceRegistry and reuses the per-device `getBindings` resolver
|
|
236
|
+
* for each — same routing rules, single round-trip. Used by
|
|
237
|
+
* `SystemManager.init()` for warm-boot.
|
|
238
|
+
*
|
|
239
|
+
* Bindings change rarely (wrapper toggle, device add/remove) so
|
|
240
|
+
* clients invalidate via the existing
|
|
241
|
+
* `capability.binding-changed` event rather than re-fetching this
|
|
242
|
+
* payload periodically.
|
|
243
|
+
*
|
|
244
|
+
* **"Single round-trip" was a claim, not a fact, until 2026-08-30.** The
|
|
245
|
+
* per-device resolver read the wrapper-activation blob itself, so this call
|
|
246
|
+
* issued one settings-door RPC per device — 1 020 of them on the live
|
|
247
|
+
* 1 019-device hub, at ~2.9 s each while the storage drain ran. It did not
|
|
248
|
+
* return in 240 s, and `SystemMirror.init` gives it 15 s, so the admin UI
|
|
249
|
+
* could not boot at all. Now the whole pass costs exactly TWO reads (the fleet
|
|
250
|
+
* listing and the blob), issued in parallel, and nothing in the loop awaits a
|
|
251
|
+
* store.
|
|
252
|
+
*/
|
|
241
253
|
export declare function getAllBindings(deps: BindingsDeps): Promise<Array<{
|
|
242
|
-
|
|
243
|
-
|
|
254
|
+
deviceId: number;
|
|
255
|
+
entries: DeviceBindingEntry[];
|
|
244
256
|
}>>;
|
|
245
257
|
/**
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
258
|
+
* The ids of every device bound to at least one of `capNames`, ascending.
|
|
259
|
+
*
|
|
260
|
+
* Built on {@link getAllBindings} so the routing rules (native, wrapped,
|
|
261
|
+
* remote) are the ones `getBindings` applies — a second resolver is how the
|
|
262
|
+
* two would drift. Only ids leave: the whole point is that a caller asking
|
|
263
|
+
* "which devices are openings" does not receive 1 000 binding maps (D636).
|
|
264
|
+
*/
|
|
253
265
|
export interface ListDeviceIdsByCapsInput {
|
|
254
|
-
|
|
266
|
+
readonly capNames: readonly string[];
|
|
255
267
|
}
|
|
256
268
|
export declare function listDeviceIdsByCaps(deps: BindingsDeps, input: ListDeviceIdsByCapsInput): Promise<number[]>;
|
|
257
269
|
/**
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
270
|
+
* Resolve a numeric deviceId to a stableId via persisted meta.
|
|
271
|
+
* Used by callers that need a persisted stableId when the live registry
|
|
272
|
+
* does not hold the device (cross-process / mid-restart). Formerly fed
|
|
273
|
+
* the Config Identity section; that section left Config for Overview.
|
|
274
|
+
* aggregator (see `buildBaseDeviceSection`) to surface the stableId as
|
|
275
|
+
* a readonly display field. All runtime/registry lookups are keyed by
|
|
276
|
+
* numeric deviceId; this helper is display-only.
|
|
277
|
+
*/
|
|
266
278
|
export declare function lookupPersistedStableId(deps: BindingsDeps, deviceId: number): Promise<string | undefined>;
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { StreamProfile, StreamProfilePatch } from
|
|
1
|
+
import type { StreamProfile, StreamProfilePatch } from "@camstack/types";
|
|
2
2
|
/** A framework-derived contribution shape — sections[] (+ optional tabs[]). */
|
|
3
3
|
export interface DerivedContributionShape {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
4
|
+
readonly tabs?: ReadonlyArray<{
|
|
5
|
+
id: string;
|
|
6
|
+
label: string;
|
|
7
|
+
icon: string;
|
|
8
|
+
order?: number;
|
|
9
|
+
}>;
|
|
10
|
+
readonly sections: ReadonlyArray<{
|
|
11
|
+
id: string;
|
|
12
|
+
title: string;
|
|
13
|
+
tab?: string;
|
|
14
|
+
order?: number;
|
|
15
|
+
description?: string;
|
|
16
|
+
columns?: 1 | 2 | 3 | 4;
|
|
17
|
+
fields: readonly unknown[];
|
|
18
|
+
}>;
|
|
19
19
|
}
|
|
20
20
|
/** A per-profile mutation callback the cap's provider supplies (profile-based caps only). */
|
|
21
21
|
export type ProfileSetter = (profile: StreamProfile, patch: StreamProfilePatch) => Promise<void>;
|
|
@@ -25,21 +25,21 @@ export declare const DAY_NIGHT_BUILDER_ID: "day-night";
|
|
|
25
25
|
export declare const IMAGE_SETTINGS_BUILDER_ID: "image-settings";
|
|
26
26
|
export declare const RECORDING_ONBOARD_BUILDER_ID: "recording-onboard";
|
|
27
27
|
/**
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
* Build the device-detail form section for a `derived-form` device-config
|
|
29
|
+
* cap. Returns null when the camera exposes no configurable property.
|
|
30
|
+
*/
|
|
31
31
|
export declare function deriveFormContribution(builderId: string, options: unknown, status: unknown): DerivedContributionShape | null;
|
|
32
32
|
/**
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
33
|
+
* Route a flat form patch back through a profile-based cap's per-profile
|
|
34
|
+
* `setProfile` mutation (`stream-params`). Throws if `builderId` isn't
|
|
35
|
+
* registered as a profile-based reducer — callers dispatch here only
|
|
36
|
+
* after confirming the bound provider exposes `setProfile`.
|
|
37
|
+
*/
|
|
38
38
|
export declare function applyDerivedFormProfilePatch(builderId: string, patch: Record<string, unknown>, setProfile: ProfileSetter): Promise<void>;
|
|
39
39
|
/**
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
40
|
+
* Parse a flat form patch into the settings payload for a `setSettings`-
|
|
41
|
+
* based cap (`day-night`, `image-settings`). The caller forwards the
|
|
42
|
+
* result verbatim to `dcProvider.setSettings({ deviceId, settings })`.
|
|
43
|
+
* Throws if `builderId` isn't registered as a settings-based reducer.
|
|
44
|
+
*/
|
|
45
45
|
export declare function parseDerivedFormSettingsPatch(builderId: string, patch: Record<string, unknown>): Record<string, unknown>;
|
|
@@ -1,21 +1,40 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* The device-config door of the keychain (D787) — device CONNECTION config
|
|
3
|
+
* (camera passwords, controller API keys) lives in device-manager's per-device
|
|
4
|
+
* store, written by the driver's `persistConfig` and read back by its
|
|
5
|
+
* `loadConfig`. Resolving HERE, at the door, means no driver ever sees a
|
|
6
|
+
* marker and no driver has to change.
|
|
7
|
+
*
|
|
8
|
+
* - WRITE: the paths the device's own schema declares secret (D783:
|
|
9
|
+
* `secretConfigPaths`, from the persist call or from its last
|
|
10
|
+
* `registerDevice`) go through the keychain save path, owned by the DRIVER
|
|
11
|
+
* addon (`device/<id>` scope). A value equal to an inline pre-keychain one
|
|
12
|
+
* stays inline (no silent migration); `''` keeps.
|
|
13
|
+
* - READ: every marker in the stored blob is resolved for the driver; one that
|
|
14
|
+
* cannot be is LEFT OUT (the driver's schema default applies) and logged by
|
|
15
|
+
* ref — never answered as `''`, never written back.
|
|
16
|
+
*
|
|
17
|
+
* device-manager runs in hub-main, so it acts for the driver through
|
|
18
|
+
* `ctx.secrets.forOwner` — the in-process delegate no forked addon has.
|
|
19
|
+
*/
|
|
20
|
+
import { type AddonContext } from "@camstack/types";
|
|
2
21
|
export interface DeviceConfigSecretDeps {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
22
|
+
readonly ctx: AddonContext;
|
|
23
|
+
readonly readStored: () => Promise<Record<string, unknown>>;
|
|
24
|
+
readonly write: (patch: Record<string, unknown>) => Promise<void>;
|
|
6
25
|
}
|
|
7
26
|
/** Persist a device config patch with its declared secrets kept in the keychain. */
|
|
8
27
|
export declare function persistDeviceConfigWithSecrets(deps: DeviceConfigSecretDeps, input: {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
28
|
+
readonly deviceId: number;
|
|
29
|
+
readonly ownerAddonId: string;
|
|
30
|
+
readonly data: Record<string, unknown>;
|
|
31
|
+
readonly secretPaths: readonly string[];
|
|
32
|
+
/** The write was made by the operator (no driver stamped it). */
|
|
33
|
+
readonly operatorWrite: boolean;
|
|
15
34
|
}): Promise<void>;
|
|
16
35
|
/** A stored device config with its markers resolved for the driver. */
|
|
17
36
|
export declare function loadDeviceConfigWithSecrets(ctx: AddonContext, input: {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
37
|
+
readonly deviceId: number;
|
|
38
|
+
readonly ownerAddonId: string;
|
|
39
|
+
readonly stored: Record<string, unknown>;
|
|
21
40
|
}): Promise<Record<string, unknown>>;
|