@camstack/system 1.2.390 → 1.2.392
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/addon/addon-api-factory.d.ts +30 -30
- package/dist/addon-routes/addon-route-registry.d.ts +31 -31
- package/dist/addon-runner.js +1 -1
- package/dist/addon-runner.mjs +1 -1
- package/dist/addon-utils.d.ts +22 -22
- package/dist/addon-utils.js +1 -1
- package/dist/addon-utils.mjs +1 -1
- package/dist/amd-accelerators-CEuPFBBK.js +36 -0
- package/dist/amd-accelerators-U_RsoEDd.mjs +35 -0
- package/dist/amd-npu-B-QyyMyF.js +53 -0
- package/dist/amd-npu-Db_SoSuL.mjs +52 -0
- package/dist/auth/admin-token-manager.d.ts +37 -67
- package/dist/auth/api-key-manager.d.ts +8 -8
- package/dist/auth/auth-audit-log.d.ts +29 -49
- package/dist/auth/auth-manager.d.ts +127 -126
- package/dist/auth/cidr.d.ts +8 -8
- package/dist/auth/external-identity-manager.d.ts +46 -34
- package/dist/auth/jwt-signing-key.d.ts +14 -14
- package/dist/auth/login-session-manager.d.ts +95 -135
- package/dist/auth/parse-record.d.ts +13 -13
- package/dist/auth/scope-matcher.d.ts +7 -7
- package/dist/auth/scoped-token-manager.d.ts +62 -62
- package/dist/auth/token-expiry.d.ts +49 -26
- package/dist/auth/totp-manager.d.ts +48 -48
- package/dist/auth/user-management-internal.d.ts +67 -52
- package/dist/auth/user-manager.d.ts +58 -58
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.d.ts +54 -54
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
- package/dist/builtins/addon-pages-aggregator/dedupe-pages.d.ts +22 -4
- package/dist/builtins/addon-pages-aggregator/index.d.ts +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.d.ts +54 -54
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
- package/dist/builtins/addon-widgets-aggregator/index.d.ts +1 -1
- package/dist/builtins/alerts/alerts.addon.d.ts +88 -87
- package/dist/builtins/alerts/alerts.addon.js +1 -1
- package/dist/builtins/alerts/alerts.addon.mjs +1 -1
- package/dist/builtins/alerts/device-label.d.ts +6 -6
- package/dist/builtins/alerts/index.d.ts +1 -1
- package/dist/builtins/alerts/prune-policy.d.ts +36 -36
- package/dist/builtins/autotrack/autotrack-cameras.d.ts +102 -79
- package/dist/builtins/autotrack/autotrack-config.d.ts +81 -81
- package/dist/builtins/autotrack/autotrack-decision.d.ts +69 -82
- package/dist/builtins/autotrack/autotrack-loop.d.ts +81 -61
- package/dist/builtins/autotrack/autotrack.addon.d.ts +103 -66
- package/dist/builtins/autotrack/frame-error.d.ts +38 -38
- package/dist/builtins/autotrack/frame-measurements.d.ts +79 -79
- package/dist/builtins/autotrack/index.d.ts +2 -2
- package/dist/builtins/autotrack/index.js +1 -1
- package/dist/builtins/autotrack/index.mjs +1 -1
- package/dist/builtins/autotrack/ptz-mirror.d.ts +46 -17
- package/dist/builtins/autotrack/target-selection.d.ts +33 -47
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.d.ts +270 -269
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +2 -2
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +2 -2
- package/dist/builtins/backup-orchestrator/cron-helpers.d.ts +17 -17
- package/dist/builtins/backup-orchestrator/destination-policy.d.ts +99 -82
- package/dist/builtins/backup-orchestrator/download-helpers.d.ts +9 -9
- package/dist/builtins/backup-orchestrator/encryption-key-store.d.ts +40 -29
- package/dist/builtins/backup-orchestrator/index.d.ts +2 -2
- package/dist/builtins/backup-orchestrator/manifest-store.d.ts +88 -69
- package/dist/builtins/backup-orchestrator/restore-archive.d.ts +14 -14
- package/dist/builtins/backup-orchestrator/run-queue.d.ts +86 -86
- package/dist/builtins/backup-orchestrator/schedule-store.d.ts +53 -37
- package/dist/builtins/backup-orchestrator/staging-paths.d.ts +23 -23
- package/dist/builtins/backup-orchestrator/write-targets.d.ts +53 -53
- package/dist/builtins/calendars/calendar-color.d.ts +5 -1
- package/dist/builtins/calendars/calendar-prefs-store.d.ts +18 -12
- package/dist/builtins/calendars/calendars.addon.d.ts +16 -11
- package/dist/builtins/calendars/calendars.addon.js +1 -1
- package/dist/builtins/calendars/calendars.addon.mjs +1 -1
- package/dist/builtins/calendars/index.d.ts +1 -1
- package/dist/builtins/camera-grid/acquire-retry.d.ts +26 -26
- package/dist/builtins/camera-grid/addon.d.ts +200 -174
- package/dist/builtins/camera-grid/flv-join.d.ts +32 -58
- package/dist/builtins/camera-grid/grid-activity-mirror.d.ts +37 -37
- package/dist/builtins/camera-grid/grid-activity.d.ts +83 -42
- package/dist/builtins/camera-grid/grid-camera-declarations.d.ts +46 -46
- package/dist/builtins/camera-grid/grid-camera-device.d.ts +60 -34
- package/dist/builtins/camera-grid/grid-canvas-derivation.d.ts +50 -15
- package/dist/builtins/camera-grid/grid-canvas-seed.d.ts +96 -46
- package/dist/builtins/camera-grid/grid-canvas.d.ts +74 -74
- package/dist/builtins/camera-grid/grid-child.d.ts +29 -16
- package/dist/builtins/camera-grid/grid-compositor-child.d.ts +2 -2
- package/dist/builtins/camera-grid/grid-compositor-invocation.d.ts +39 -11
- package/dist/builtins/camera-grid/grid-compositor.d.ts +50 -50
- package/dist/builtins/camera-grid/grid-detection-mapping.d.ts +52 -22
- package/dist/builtins/camera-grid/grid-device-settings.d.ts +31 -7
- package/dist/builtins/camera-grid/grid-filter-graph.d.ts +41 -41
- package/dist/builtins/camera-grid/grid-frame-sample.d.ts +45 -19
- package/dist/builtins/camera-grid/grid-instances.d.ts +20 -50
- package/dist/builtins/camera-grid/grid-last-frame-store.d.ts +51 -51
- package/dist/builtins/camera-grid/grid-layout-native-provider.d.ts +30 -4
- package/dist/builtins/camera-grid/grid-plan.d.ts +30 -20
- package/dist/builtins/camera-grid/grid-profiles.d.ts +85 -45
- package/dist/builtins/camera-grid/grid-row-normalization.d.ts +6 -6
- package/dist/builtins/camera-grid/grid-sentry-sources.d.ts +57 -57
- package/dist/builtins/camera-grid/grid-snapshot.d.ts +41 -41
- package/dist/builtins/camera-grid/grid-stream-descriptor.d.ts +49 -21
- package/dist/builtins/camera-grid/grid-stream-invocation.d.ts +37 -22
- package/dist/builtins/camera-grid/grid-stream-relay.d.ts +26 -26
- package/dist/builtins/camera-grid/grid-stream-session.d.ts +123 -93
- package/dist/builtins/camera-grid/grid-tile-feed.d.ts +47 -47
- package/dist/builtins/camera-grid/grid-tile-plan.d.ts +55 -20
- package/dist/builtins/camera-grid/grid-wire-format.d.ts +22 -6
- package/dist/builtins/camera-grid/index.d.ts +44 -44
- package/dist/builtins/camera-grid/index.js +1 -1
- package/dist/builtins/camera-grid/index.mjs +1 -1
- package/dist/builtins/camera-grid/silence-analysis.d.ts +31 -14
- package/dist/builtins/composer/claim-gate.d.ts +54 -27
- package/dist/builtins/composer/composed-device-set.d.ts +40 -26
- package/dist/builtins/composer/composed-device.d.ts +39 -17
- package/dist/builtins/composer/composer-apply-waits.d.ts +20 -13
- package/dist/builtins/composer/composer-grafts.d.ts +57 -38
- package/dist/builtins/composer/composer-live-set.d.ts +15 -15
- package/dist/builtins/composer/composer-plan.d.ts +76 -60
- package/dist/builtins/composer/composer-runtime-factory.d.ts +21 -14
- package/dist/builtins/composer/composer-seeds.d.ts +20 -14
- package/dist/builtins/composer/composer-verdict.d.ts +28 -14
- package/dist/builtins/composer/composer.addon.d.ts +23 -9
- package/dist/builtins/composer/composer.addon.js +2 -2
- package/dist/builtins/composer/composer.addon.mjs +2 -2
- package/dist/builtins/composer/composer.d.ts +145 -100
- package/dist/builtins/composer/composition-declarations.d.ts +50 -39
- package/dist/builtins/composer/composition-evaluation.d.ts +38 -22
- package/dist/builtins/composer/composition-runtime.d.ts +178 -125
- package/dist/builtins/composer/composition-target.d.ts +38 -34
- package/dist/builtins/composer/confirmed-seed.d.ts +35 -23
- package/dist/builtins/composer/deadline-timer.d.ts +13 -13
- package/dist/builtins/composer/existing-target.d.ts +90 -73
- package/dist/builtins/composer/field-record.d.ts +26 -19
- package/dist/builtins/composer/graft-host.d.ts +56 -32
- package/dist/builtins/composer/held-claims.d.ts +26 -9
- package/dist/builtins/composer/index.d.ts +1 -1
- package/dist/builtins/composer/own-field-reads.d.ts +26 -15
- package/dist/builtins/composer/owned-fields-target.d.ts +75 -44
- package/dist/builtins/composer/slice-assembler.d.ts +19 -3
- package/dist/builtins/composer/source-readings.d.ts +67 -61
- package/dist/builtins/composer/source-tracker.d.ts +133 -69
- package/dist/builtins/console-logging/console-destination.d.ts +15 -8
- package/dist/builtins/console-logging/console-logging.addon.d.ts +20 -19
- package/dist/builtins/console-logging/index.d.ts +3 -3
- package/dist/builtins/console-logging/index.js +1 -1
- package/dist/builtins/console-logging/index.mjs +1 -1
- package/dist/builtins/core-blocks/block-package.d.ts +37 -37
- package/dist/builtins/core-blocks/block-settings-store.d.ts +34 -21
- package/dist/builtins/core-blocks/block-supervisor.d.ts +138 -117
- package/dist/builtins/core-blocks/block-type-defs.d.ts +21 -21
- package/dist/builtins/core-blocks/blocks-integration.d.ts +76 -49
- package/dist/builtins/core-blocks/compile-block.d.ts +37 -37
- package/dist/builtins/core-blocks/composition-api.d.ts +38 -24
- package/dist/builtins/core-blocks/composition-peers.d.ts +26 -4
- package/dist/builtins/core-blocks/composition-sources.d.ts +25 -10
- package/dist/builtins/core-blocks/core-block-store.d.ts +109 -109
- package/dist/builtins/core-blocks/core-blocks.addon.d.ts +72 -72
- package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
- package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
- package/dist/builtins/core-blocks/extract-settings-schema.d.ts +4 -4
- package/dist/builtins/core-blocks/index.d.ts +8 -8
- package/dist/builtins/device-manager/adoption-job-engine.d.ts +141 -98
- package/dist/builtins/device-manager/claimed-status-overlay.d.ts +42 -9
- package/dist/builtins/device-manager/contribution-cache.d.ts +56 -56
- package/dist/builtins/device-manager/day-night-config-schema.d.ts +26 -12
- package/dist/builtins/device-manager/device-aggregation-merge.d.ts +17 -17
- package/dist/builtins/device-manager/device-aggregation.d.ts +277 -254
- package/dist/builtins/device-manager/device-bindings-store.d.ts +232 -220
- package/dist/builtins/device-manager/device-config-contribution.d.ts +29 -29
- package/dist/builtins/device-manager/device-config-secrets.d.ts +32 -13
- package/dist/builtins/device-manager/device-event-propagator.d.ts +22 -22
- package/dist/builtins/device-manager/device-extension-linked-slot.d.ts +17 -17
- package/dist/builtins/device-manager/device-form-secrets.d.ts +14 -14
- package/dist/builtins/device-manager/device-linked-devices.d.ts +159 -98
- package/dist/builtins/device-manager/device-manager.addon.d.ts +223 -197
- package/dist/builtins/device-manager/device-manager.addon.js +2 -2
- package/dist/builtins/device-manager/device-manager.addon.mjs +2 -2
- package/dist/builtins/device-manager/device-meta-actions.d.ts +306 -305
- package/dist/builtins/device-manager/device-meta-store.d.ts +100 -90
- package/dist/builtins/device-manager/device-meta-types.d.ts +250 -241
- package/dist/builtins/device-manager/device-online-fallback.d.ts +30 -30
- package/dist/builtins/device-manager/device-projection.d.ts +53 -67
- package/dist/builtins/device-manager/device-provider-context.d.ts +109 -94
- package/dist/builtins/device-manager/device-queries.d.ts +63 -63
- package/dist/builtins/device-manager/device-row-store.d.ts +417 -365
- package/dist/builtins/device-manager/device-source-activation.d.ts +91 -49
- package/dist/builtins/device-manager/device-state-claim-views.d.ts +76 -61
- package/dist/builtins/device-manager/device-state-claims.d.ts +53 -30
- package/dist/builtins/device-manager/device-state-mirror.d.ts +256 -264
- package/dist/builtins/device-manager/device-sync-resolvers.d.ts +25 -25
- package/dist/builtins/device-manager/field-claims-index.d.ts +85 -58
- package/dist/builtins/device-manager/field-ownership.d.ts +54 -36
- package/dist/builtins/device-manager/fleet-read-census.d.ts +99 -61
- package/dist/builtins/device-manager/image-settings-config-schema.d.ts +18 -8
- package/dist/builtins/device-manager/index.d.ts +2 -2
- package/dist/builtins/device-manager/linked-devices-manual-backfill.d.ts +20 -9
- package/dist/builtins/device-manager/location-alignment.d.ts +46 -46
- package/dist/builtins/device-manager/migrate-device.d.ts +178 -101
- package/dist/builtins/device-manager/migrate-guard.d.ts +66 -34
- package/dist/builtins/device-manager/migrate-hardware-state.d.ts +59 -59
- package/dist/builtins/device-manager/migrate-reload.d.ts +42 -4
- package/dist/builtins/device-manager/migration-refused.d.ts +20 -20
- package/dist/builtins/device-manager/mirror-row-writer.d.ts +205 -179
- package/dist/builtins/device-manager/recording-onboard-config-schema.d.ts +56 -32
- package/dist/builtins/device-manager/removal-fence.d.ts +48 -48
- package/dist/builtins/device-manager/runtime-state-persist-gate.d.ts +54 -26
- package/dist/builtins/device-manager/secret-config-paths.d.ts +17 -17
- package/dist/builtins/device-manager/stale-wrapper-activations.d.ts +52 -25
- package/dist/builtins/device-manager/write-lock.d.ts +13 -13
- package/dist/builtins/hub-forwarder/hub-forwarder-destination.d.ts +41 -41
- package/dist/builtins/hub-forwarder/hub-forwarder.addon.d.ts +13 -12
- package/dist/builtins/hub-forwarder/index.d.ts +3 -3
- package/dist/builtins/hub-forwarder/index.js +1 -1
- package/dist/builtins/hub-forwarder/index.mjs +1 -1
- package/dist/builtins/keychain/index.d.ts +1 -1
- package/dist/builtins/keychain/index.js +3 -3
- package/dist/builtins/keychain/index.mjs +3 -3
- package/dist/builtins/keychain/key-sources.d.ts +19 -19
- package/dist/builtins/keychain/keychain-crypto.d.ts +4 -4
- package/dist/builtins/keychain/keychain-reset-trigger.d.ts +13 -13
- package/dist/builtins/keychain/keychain-service.d.ts +128 -128
- package/dist/builtins/keychain/keychain-store.d.ts +96 -87
- package/dist/builtins/keychain/keychain-usage.d.ts +13 -2
- package/dist/builtins/keychain/keychain.addon.d.ts +31 -6
- package/dist/builtins/keychain/platform-key-source.d.ts +15 -15
- package/dist/builtins/keychain/system-held-secrets.d.ts +17 -4
- package/dist/builtins/liveness-monitor/index.d.ts +2 -2
- package/dist/builtins/liveness-monitor/liveness-checks.d.ts +73 -52
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.d.ts +57 -36
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
- package/dist/builtins/local-auth/admin-account-boot.d.ts +14 -14
- package/dist/builtins/local-auth/auth-config-reader.d.ts +34 -17
- package/dist/builtins/local-auth/auth-schema.d.ts +92 -69
- package/dist/builtins/local-auth/index.d.ts +1 -1
- package/dist/builtins/local-auth/jwt-signing-key-keeper.d.ts +22 -22
- package/dist/builtins/local-auth/local-auth.addon.d.ts +41 -40
- package/dist/builtins/local-auth/local-auth.addon.js +2 -2
- package/dist/builtins/local-auth/local-auth.addon.mjs +2 -2
- package/dist/builtins/local-auth/oauth-grants.d.ts +57 -57
- package/dist/builtins/local-auth/oauth-session-manager.d.ts +62 -62
- package/dist/builtins/local-network/address-book.d.ts +61 -36
- package/dist/builtins/local-network/index.d.ts +2 -2
- package/dist/builtins/local-network/ipv6-lan.d.ts +12 -17
- package/dist/builtins/local-network/local-hostname.d.ts +10 -10
- package/dist/builtins/local-network/local-network.addon.d.ts +259 -258
- package/dist/builtins/local-network/local-network.addon.js +1 -1
- package/dist/builtins/local-network/local-network.addon.mjs +1 -1
- package/dist/builtins/loki-logging/index.d.ts +4 -4
- package/dist/builtins/loki-logging/index.js +1 -1
- package/dist/builtins/loki-logging/index.mjs +1 -1
- package/dist/builtins/loki-logging/loki-destination.d.ts +113 -87
- package/dist/builtins/loki-logging/loki-logging.addon.d.ts +61 -42
- package/dist/builtins/loki-logging/loki-payload.d.ts +82 -39
- package/dist/builtins/loki-logging/retire-enabled-flag.d.ts +37 -12
- package/dist/builtins/native-metrics/cgroup-memory.d.ts +206 -159
- package/dist/builtins/native-metrics/cgroup-pids.d.ts +138 -91
- package/dist/builtins/native-metrics/container-memory-series.d.ts +212 -178
- package/dist/builtins/native-metrics/gpu-probe.d.ts +9 -9
- package/dist/builtins/native-metrics/index.d.ts +2 -2
- package/dist/builtins/native-metrics/load-series-config.d.ts +29 -57
- package/dist/builtins/native-metrics/load-series-reader.d.ts +52 -26
- package/dist/builtins/native-metrics/load-series-store.d.ts +237 -176
- package/dist/builtins/native-metrics/native-metrics-provider.d.ts +43 -43
- package/dist/builtins/native-metrics/native-metrics.addon.d.ts +230 -230
- package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
- package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
- package/dist/builtins/native-metrics/node-load-ring.d.ts +196 -196
- package/dist/builtins/native-metrics/proc-process-table.d.ts +12 -12
- package/dist/builtins/native-metrics/process-classification.d.ts +95 -36
- package/dist/builtins/native-metrics/thread-cpu-sampler.d.ts +95 -95
- package/dist/builtins/platform-probe/amd-accelerators.d.ts +15 -0
- package/dist/builtins/platform-probe/amd-npu.d.ts +29 -0
- package/dist/builtins/platform-probe/coral-accelerators.d.ts +17 -17
- package/dist/builtins/platform-probe/index.d.ts +38 -30
- package/dist/builtins/platform-probe/index.js +59 -22
- package/dist/builtins/platform-probe/index.mjs +59 -22
- package/dist/builtins/platform-probe/inference-config-resolver.d.ts +27 -27
- package/dist/builtins/platform-probe/intel-accelerators.d.ts +8 -8
- package/dist/builtins/platform-probe/intel-npu.d.ts +30 -30
- package/dist/builtins/platform-probe/platform-scorer.d.ts +35 -35
- package/dist/builtins/platform-probe/runtime-packages.d.ts +3 -3
- package/dist/builtins/remote-access-orchestrator/enabled-providers-reconcile.d.ts +87 -87
- package/dist/builtins/remote-access-orchestrator/index.d.ts +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.d.ts +66 -35
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
- package/dist/builtins/shared/device-state-changed.d.ts +9 -9
- package/dist/builtins/shared/settle-sources.d.ts +16 -16
- package/dist/builtins/snapshot/index.d.ts +2 -2
- package/dist/builtins/snapshot/index.js +1 -1
- package/dist/builtins/snapshot/index.mjs +1 -1
- package/dist/builtins/snapshot/snapshot-cache.d.ts +92 -92
- package/dist/builtins/snapshot/snapshot-coalescing.d.ts +108 -108
- package/dist/builtins/snapshot/snapshot-courtesy.d.ts +48 -48
- package/dist/builtins/snapshot/snapshot-durable-store.d.ts +32 -32
- package/dist/builtins/snapshot/snapshot-fatigue.d.ts +34 -34
- package/dist/builtins/snapshot/snapshot-grab-pick.d.ts +14 -14
- package/dist/builtins/snapshot/snapshot-link-url.d.ts +49 -49
- package/dist/builtins/snapshot/snapshot-media-handler.d.ts +97 -97
- package/dist/builtins/snapshot/snapshot-resize.d.ts +64 -103
- package/dist/builtins/snapshot/snapshot.addon.d.ts +569 -568
- package/dist/builtins/sqlite-storage/analyze-stats.d.ts +73 -29
- package/dist/builtins/sqlite-storage/config-store.d.ts +6 -6
- package/dist/builtins/sqlite-storage/device-store.d.ts +16 -16
- package/dist/builtins/sqlite-storage/filesystem-browse-provider.d.ts +23 -23
- package/dist/builtins/sqlite-storage/filesystem-storage-provider.d.ts +79 -79
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.d.ts +27 -26
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
- package/dist/builtins/sqlite-storage/filter-compiler.d.ts +107 -107
- package/dist/builtins/sqlite-storage/index.d.ts +12 -12
- package/dist/builtins/sqlite-storage/integration-registry.d.ts +37 -37
- package/dist/builtins/sqlite-storage/path-guard.d.ts +5 -5
- package/dist/builtins/sqlite-storage/prefix-range.d.ts +44 -44
- package/dist/builtins/sqlite-storage/query-bounds.d.ts +100 -106
- package/dist/builtins/sqlite-storage/query-profiler.d.ts +217 -217
- package/dist/builtins/sqlite-storage/retired-collections.d.ts +124 -55
- package/dist/builtins/sqlite-storage/retired-settings-keys.d.ts +239 -189
- package/dist/builtins/sqlite-storage/shm-lock-canary.d.ts +41 -41
- package/dist/builtins/sqlite-storage/sqlite-pragmas.d.ts +162 -162
- package/dist/builtins/sqlite-storage/sqlite-settings-backend.d.ts +458 -458
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.d.ts +59 -58
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +0 -0
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +0 -0
- package/dist/builtins/sqlite-storage/sqlite-snapshot-protocol.d.ts +37 -32
- package/dist/builtins/sqlite-storage/sqlite-snapshot-worker.d.ts +19 -19
- package/dist/builtins/sqlite-storage/sqlite-snapshotter.d.ts +76 -76
- package/dist/builtins/sqlite-storage/statement-shape.d.ts +54 -54
- package/dist/builtins/sqlite-storage/table-sizes.d.ts +71 -71
- package/dist/builtins/sqlite-storage/vector-index-shared.d.ts +63 -54
- package/dist/builtins/sqlite-storage/vector-index-vec.d.ts +133 -96
- package/dist/builtins/sqlite-storage/wal-checkpoint-policy.d.ts +161 -161
- package/dist/builtins/sqlite-storage/wal-checkpointer.d.ts +60 -60
- package/dist/builtins/sqlite-storage/wal-maintenance.d.ts +94 -94
- package/dist/builtins/storage-orchestrator/access-guards.d.ts +37 -26
- package/dist/builtins/storage-orchestrator/data-store-dispatch.d.ts +33 -18
- package/dist/builtins/storage-orchestrator/drain-ratchet.d.ts +85 -85
- package/dist/builtins/storage-orchestrator/drain-state-store.d.ts +20 -10
- package/dist/builtins/storage-orchestrator/hub-settings-forward.d.ts +113 -53
- package/dist/builtins/storage-orchestrator/index.d.ts +7 -7
- package/dist/builtins/storage-orchestrator/location-occupancy-slice.d.ts +64 -40
- package/dist/builtins/storage-orchestrator/location-occupancy.d.ts +14 -14
- package/dist/builtins/storage-orchestrator/location-protection.d.ts +13 -13
- package/dist/builtins/storage-orchestrator/location-repoint-move.d.ts +44 -44
- package/dist/builtins/storage-orchestrator/location-root-collision.d.ts +61 -25
- package/dist/builtins/storage-orchestrator/location-secrets.d.ts +99 -58
- package/dist/builtins/storage-orchestrator/location-store.d.ts +56 -47
- package/dist/builtins/storage-orchestrator/location-volume-capacity.d.ts +37 -37
- package/dist/builtins/storage-orchestrator/provider-discovery.d.ts +20 -6
- package/dist/builtins/storage-orchestrator/storage-cleanup-coordinator.d.ts +51 -51
- package/dist/builtins/storage-orchestrator/storage-migration-coordinator.d.ts +224 -224
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.d.ts +292 -292
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
- package/dist/builtins/storage-orchestrator/storage-orchestrator.service.d.ts +431 -450
- package/dist/builtins/storage-orchestrator/storage-pressure-manager.d.ts +104 -104
- package/dist/builtins/system-backup/backup-encryption.d.ts +60 -23
- package/dist/builtins/system-backup/system-backup.service.d.ts +240 -240
- package/dist/builtins/system-config/cluster-secret-keeper.d.ts +54 -34
- package/dist/builtins/system-config/index.d.ts +2 -2
- package/dist/builtins/system-config/mesh-actions.d.ts +2 -30
- package/dist/builtins/system-config/system-config.addon.d.ts +57 -100
- package/dist/builtins/system-config/system-config.addon.js +39 -35
- package/dist/builtins/system-config/system-config.addon.mjs +320 -316
- package/dist/builtins/winston-logging/index.d.ts +3 -3
- package/dist/builtins/winston-logging/index.js +1 -1
- package/dist/builtins/winston-logging/index.mjs +1 -1
- package/dist/builtins/winston-logging/winston-destination.d.ts +15 -15
- package/dist/builtins/winston-logging/winston-logging.addon.d.ts +14 -13
- package/dist/{child-cap-dispatch-nURMuVTX.js → child-cap-dispatch-Nx-lrlHR.js} +19 -1
- package/dist/{child-cap-dispatch-B1gyE35b.mjs → child-cap-dispatch-x-onDDiV.mjs} +2 -2
- package/dist/{composition-sources-wdAxs-uY.js → composition-sources-LUJsW0AQ.js} +1 -1
- package/dist/{composition-sources-xqhm2Ygr.mjs → composition-sources-R8TskGSV.mjs} +1 -1
- package/dist/{constants-Ca-Sgcl8.js → constants-D4lxxip7.js} +1 -1
- package/dist/{constants-D5z4EwY8.mjs → constants-DMvAcbbP.mjs} +1 -1
- package/dist/{dist-8LQ4lDEB.js → dist-XTkzsnz-.js} +35 -1
- package/dist/{dist-Biqn3TEn.mjs → dist-byg8IP4Q.mjs} +35 -1
- package/dist/download/hosted-model-revisions.d.ts +8 -8
- package/dist/download/model-download-service.d.ts +32 -32
- package/dist/download/model-downloader.d.ts +88 -88
- package/dist/{event-loop-stall-monitor-CNj73d4D.js → event-loop-stall-monitor-DPFghEFw.js} +1 -1
- package/dist/{event-loop-stall-monitor-BtK_0Pjc.mjs → event-loop-stall-monitor-TG8UcdY2.mjs} +1 -1
- package/dist/events/event-bus.d.ts +6 -6
- package/dist/events/system-event-bus.d.ts +11 -11
- package/dist/feature/feature-manager.d.ts +6 -6
- package/dist/http/asset-compression.d.ts +35 -73
- package/dist/http/authenticated-file-server.d.ts +32 -32
- package/dist/http/data-plane-registry.d.ts +49 -39
- package/dist/http/file-data-plane.d.ts +14 -14
- package/dist/http/lan-http-bind.d.ts +24 -13
- package/dist/http/reverse-proxy.d.ts +36 -24
- package/dist/index.d.ts +137 -137
- package/dist/index.js +9 -8
- package/dist/index.mjs +7 -9
- package/dist/{jwt-signing-key-DxV2ucvJ.js → jwt-signing-key-CD87HrHH.js} +1 -1
- package/dist/{jwt-signing-key-SnDgvVUQ.mjs → jwt-signing-key-DNBxSN5p.mjs} +1 -1
- package/dist/kernel/addon-class-resolver.d.ts +1 -1
- package/dist/kernel/addon-engine-manager.d.ts +20 -20
- package/dist/kernel/addon-health-monitor.d.ts +151 -151
- package/dist/kernel/addon-installer.d.ts +609 -609
- package/dist/kernel/addon-loader.d.ts +133 -133
- package/dist/kernel/addon-manifest.d.ts +118 -118
- package/dist/kernel/addon-residue.d.ts +28 -32
- package/dist/kernel/array-buffer-census.d.ts +84 -88
- package/dist/kernel/bootstrap-config.d.ts +3 -3
- package/dist/kernel/cap-router-builder.d.ts +145 -101
- package/dist/kernel/capability-handle.d.ts +41 -41
- package/dist/kernel/capability-registry.d.ts +588 -576
- package/dist/kernel/config-manager.d.ts +199 -199
- package/dist/kernel/config-schema.d.ts +132 -128
- package/dist/kernel/custom-action-registry.d.ts +25 -25
- package/dist/kernel/deps/addon-deps-manager.d.ts +17 -17
- package/dist/kernel/deps/closure-dedupe.d.ts +76 -76
- package/dist/kernel/deps/ensure-addon-natives.d.ts +34 -34
- package/dist/kernel/deps/ensure-native-prebuilds.d.ts +25 -25
- package/dist/kernel/deps/manifest-native-deps.d.ts +38 -38
- package/dist/kernel/deps/manifest-python-deps.d.ts +18 -18
- package/dist/kernel/deps/manifest-system-deps.d.ts +13 -13
- package/dist/kernel/deps/npm-command.d.ts +45 -45
- package/dist/kernel/deps/system-package-allowlist.d.ts +9 -9
- package/dist/kernel/deps/system-package-broker.d.ts +20 -20
- package/dist/kernel/deps/system-package-client.d.ts +3 -3
- package/dist/kernel/device-registry.d.ts +27 -27
- package/dist/kernel/event-loop-stall-monitor.d.ts +33 -33
- package/dist/kernel/event-plane-report.d.ts +174 -174
- package/dist/kernel/fs-utils.d.ts +70 -70
- package/dist/kernel/gc-census.d.ts +119 -119
- package/dist/kernel/heap-spaces.d.ts +87 -87
- package/dist/kernel/heap-watch.d.ts +706 -706
- package/dist/kernel/host-externals.d.ts +8 -8
- package/dist/kernel/hwaccel/hwaccel-resolver.d.ts +27 -27
- package/dist/kernel/index.d.ts +115 -113
- package/dist/kernel/inference/inference-resolver.d.ts +13 -13
- package/dist/kernel/infra-capabilities.d.ts +7 -7
- package/dist/kernel/isolated-builtin-phase.d.ts +42 -42
- package/dist/kernel/lifecycle/job-journal.d.ts +17 -17
- package/dist/kernel/lifecycle/lifecycle-job-engine.d.ts +99 -99
- package/dist/kernel/lifecycle/staging-area.d.ts +22 -22
- package/dist/kernel/moleculer/addon-context-factory.d.ts +90 -89
- package/dist/kernel/moleculer/addon-data-plane-facility.d.ts +12 -12
- package/dist/kernel/moleculer/addon-deploy-source.d.ts +11 -11
- package/dist/kernel/moleculer/addon-peer-bytes-facility.d.ts +18 -18
- package/dist/kernel/moleculer/addon-service-factory.d.ts +41 -41
- package/dist/kernel/moleculer/agent-mesh-authenticator.d.ts +60 -33
- package/dist/kernel/moleculer/agent-ui-unlock.d.ts +30 -30
- package/dist/kernel/moleculer/broker-factory.d.ts +61 -61
- package/dist/kernel/moleculer/cap-usage-registry.d.ts +108 -153
- package/dist/kernel/moleculer/capabilities-access.d.ts +19 -19
- package/dist/kernel/moleculer/child-addon-call-dispatch.d.ts +43 -43
- package/dist/kernel/moleculer/child-cap-descriptors.d.ts +26 -26
- package/dist/kernel/moleculer/child-cap-dispatch.d.ts +52 -52
- package/dist/kernel/moleculer/children-batch-loader.d.ts +86 -34
- package/dist/kernel/moleculer/cluster-secret.d.ts +19 -19
- package/dist/kernel/moleculer/core-cap-service.d.ts +53 -53
- package/dist/kernel/moleculer/crash-supervisor.d.ts +39 -39
- package/dist/kernel/moleculer/device-cap-proxy.d.ts +51 -51
- package/dist/kernel/moleculer/device-event-ring.d.ts +117 -75
- package/dist/kernel/moleculer/event-bus-core.d.ts +171 -159
- package/dist/kernel/moleculer/event-bus.d.ts +73 -73
- package/dist/kernel/moleculer/hub-log-forwarder.d.ts +30 -30
- package/dist/kernel/moleculer/hub-service.d.ts +42 -42
- package/dist/kernel/moleculer/init-watchdog.d.ts +49 -49
- package/dist/kernel/moleculer/mesh-access-middleware.d.ts +36 -21
- package/dist/kernel/moleculer/mesh-auth-mode.d.ts +33 -39
- package/dist/kernel/moleculer/mesh-authenticator.d.ts +58 -58
- package/dist/kernel/moleculer/mesh-auto-enforce.d.ts +38 -18
- package/dist/kernel/moleculer/mesh-join-client.d.ts +67 -45
- package/dist/kernel/moleculer/mesh-join-proof.d.ts +8 -8
- package/dist/kernel/moleculer/mesh-mtls/constants.d.ts +1 -1
- package/dist/kernel/moleculer/mesh-mtls/index.d.ts +10 -10
- package/dist/kernel/moleculer/mesh-mtls/mesh-ca-keeper.d.ts +43 -38
- package/dist/kernel/moleculer/mesh-mtls/mesh-ca.d.ts +29 -20
- package/dist/kernel/moleculer/mesh-mtls/mesh-clear-port.d.ts +32 -32
- package/dist/kernel/moleculer/mesh-mtls/mesh-crl.d.ts +11 -11
- package/dist/kernel/moleculer/mesh-mtls/mesh-enroll.d.ts +19 -16
- package/dist/kernel/moleculer/mesh-mtls/mesh-join-token.d.ts +40 -40
- package/dist/kernel/moleculer/mesh-mtls/mesh-tls-enabler.d.ts +5 -1
- package/dist/kernel/moleculer/mesh-mtls/tls-tcp-transporter.d.ts +131 -130
- package/dist/kernel/moleculer/mesh-queue-report.d.ts +39 -39
- package/dist/kernel/moleculer/node-registry.d.ts +120 -120
- package/dist/kernel/moleculer/process-context.d.ts +2 -2
- package/dist/kernel/moleculer/process-service.d.ts +168 -168
- package/dist/kernel/moleculer/provider-registry.d.ts +9 -9
- package/dist/kernel/moleculer/readiness-context.d.ts +58 -58
- package/dist/kernel/moleculer/readiness-service.d.ts +31 -16
- package/dist/kernel/moleculer/register-framework-resolver.d.ts +6 -6
- package/dist/kernel/moleculer/register-node-client.d.ts +34 -27
- package/dist/kernel/moleculer/remote-logger.d.ts +29 -29
- package/dist/kernel/moleculer/resilient-cap-call.d.ts +21 -21
- package/dist/kernel/moleculer/runner-native-allocator.d.ts +95 -95
- package/dist/kernel/moleculer/runner-process-group.d.ts +57 -57
- package/dist/kernel/moleculer/runtime-state-load.d.ts +21 -11
- package/dist/kernel/moleculer/settings-read-guard.d.ts +39 -39
- package/dist/kernel/moleculer/stream-probe-service.d.ts +25 -6
- package/dist/kernel/moleculer/trpc-links.d.ts +203 -203
- package/dist/kernel/moleculer/typed-array-serde.d.ts +9 -20
- package/dist/kernel/moleculer/worker-device-restore.d.ts +8 -8
- package/dist/kernel/outbound-queue-watch.d.ts +74 -74
- package/dist/kernel/process-cpu-census.d.ts +55 -55
- package/dist/kernel/provider-kind-drift.d.ts +17 -8
- package/dist/kernel/restart-coordinator.d.ts +71 -71
- package/dist/kernel/settings-door-view.d.ts +36 -25
- package/dist/kernel/settings-read-error.d.ts +29 -31
- package/dist/kernel/settings-view-types.d.ts +100 -95
- package/dist/kernel/socket-plane-report.d.ts +214 -153
- package/dist/kernel/status-overlay.d.ts +31 -11
- package/dist/kernel/storage-location-registry.d.ts +50 -50
- package/dist/kernel/store-settings-view.d.ts +13 -13
- package/dist/kernel/system-settings-mirror.d.ts +40 -28
- package/dist/kernel/system-settings-policy.d.ts +15 -34
- package/dist/kernel/transport/cap-action-census.d.ts +183 -183
- package/dist/kernel/transport/cap-action-name.d.ts +84 -84
- package/dist/kernel/transport/cap-child-index.d.ts +41 -41
- package/dist/kernel/transport/cap-route-resolver.d.ts +237 -212
- package/dist/kernel/transport/cap-route.d.ts +139 -139
- package/dist/kernel/transport/cap-routing-hints.d.ts +37 -37
- package/dist/kernel/transport/child-cap-protocol.d.ts +245 -245
- package/dist/kernel/transport/claimed-get-status.d.ts +30 -6
- package/dist/kernel/transport/create-local-transport.d.ts +5 -5
- package/dist/kernel/transport/frame-codec.d.ts +109 -109
- package/dist/kernel/transport/hub-cap-forward.d.ts +81 -59
- package/dist/kernel/transport/index.d.ts +36 -36
- package/dist/kernel/transport/local-child-client.d.ts +184 -184
- package/dist/kernel/transport/local-child-registry.d.ts +592 -592
- package/dist/kernel/transport/local-endpoint-path.d.ts +4 -4
- package/dist/kernel/transport/local-transport.d.ts +92 -92
- package/dist/kernel/transport/parent-unowned-call.d.ts +266 -237
- package/dist/kernel/transport/peer-answered-error.d.ts +14 -14
- package/dist/kernel/transport/socket-channel.d.ts +110 -110
- package/dist/kernel/transport/socket-traffic.d.ts +96 -96
- package/dist/kernel/transport/uds-event-bridge.d.ts +77 -50
- package/dist/kernel/transport/uds-event-bus.d.ts +75 -26
- package/dist/kernel/transport/uds-local-transport.d.ts +14 -14
- package/dist/kernel/transport/uds-log-ingest.d.ts +38 -23
- package/dist/kernel/transport/uds-logger.d.ts +33 -33
- package/dist/kernel/utils/ring-buffer.d.ts +12 -12
- package/dist/kernel/workspace-detect.d.ts +7 -7
- package/dist/lifecycle/lifecycle-state-machine.d.ts +24 -24
- package/dist/logging/formatter.d.ts +52 -25
- package/dist/logging/log-manager.d.ts +133 -133
- package/dist/logging/log-redactor.d.ts +22 -1
- package/dist/logging/log-ring-buffer.d.ts +57 -57
- package/dist/logging/logging-gate.d.ts +69 -25
- package/dist/logging/logging-gate.singleton.d.ts +12 -1
- package/dist/logging/partitioned-log-buffer.d.ts +161 -161
- package/dist/logging/scoped-logger.d.ts +14 -14
- package/dist/network/network-quality.d.ts +8 -8
- package/dist/notification/notification-service.d.ts +37 -37
- package/dist/notification/toast-service.d.ts +18 -18
- package/dist/pipeline/engine-manager-resolver.d.ts +12 -12
- package/dist/pipeline/pipeline-runner.d.ts +6 -6
- package/dist/pipeline/pipeline-validator.d.ts +8 -8
- package/dist/process/proc-stat.d.ts +51 -51
- package/dist/process/resource-monitor.d.ts +19 -19
- package/dist/python/python-env-manager.d.ts +10 -10
- package/dist/repl/interfaces.d.ts +21 -21
- package/dist/repl/repl-engine.d.ts +6 -6
- package/dist/{restore-archive-D4cmLoNe.mjs → restore-archive-Bmmmyp1M.mjs} +81 -81
- package/dist/{restore-archive-Do_Yu5rC.js → restore-archive-bvYTsnvp.js} +1 -1
- package/dist/{retired-settings-keys-BsgVxh8-.mjs → retired-settings-keys-R9CBo2lY.mjs} +1 -1
- package/dist/{retired-settings-keys-Cyn3OD0K.js → retired-settings-keys-V0yq5Bm6.js} +1 -1
- package/dist/storage/fs-storage-backend.d.ts +35 -35
- package/dist/storage/storage-location-manager.d.ts +21 -21
- package/dist/storage/storage-manager.d.ts +68 -68
- package/dist/tls/boot-tls.d.ts +24 -24
- package/dist/tls/cert-evaluation.d.ts +25 -25
- package/dist/tls/cert-identity.d.ts +39 -39
- package/dist/tls/cert-issue.d.ts +37 -17
- package/dist/tls/cert-manager.d.ts +86 -84
- package/dist/tls/https-listener.d.ts +16 -16
- package/dist/tls/index.d.ts +8 -8
- package/dist/tls/tls-actions.d.ts +18 -18
- package/dist/tls/tls-status.d.ts +15 -15
- package/dist/tls/uploaded-cert.d.ts +9 -9
- package/package.json +9 -3
|
@@ -1,71 +1,108 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* `autotrack` — the EMULATED implementation behind the `ptz-autotrack` switch.
|
|
3
|
+
*
|
|
4
|
+
* A camera with firmware autotrack serves `ptz-autotrack` from its own native
|
|
5
|
+
* provider. A camera with a mechanical head and no firmware autotrack gets the
|
|
6
|
+
* same cap from THIS addon, as a wrapper the operator binds per camera —
|
|
7
|
+
* exactly how `snapshot` gives a frame to a device whose driver cannot take
|
|
8
|
+
* one.
|
|
9
|
+
*
|
|
10
|
+
* That is the whole point of the shape (D62, D520): **one switch**. The
|
|
11
|
+
* operator turns autotrack on in the same place whichever implementation is
|
|
12
|
+
* behind it, and the two can never disagree, because there are not two of them
|
|
13
|
+
* on one camera — the binding chooses which one answers.
|
|
14
|
+
*
|
|
15
|
+
* ## What the emulation may do, and what it may never do (D520)
|
|
16
|
+
*
|
|
17
|
+
* It moves a head ONLY with a self-terminating `ptz.move` pulse — never
|
|
18
|
+
* `continuousMove`, whose `stop` would ride on telemetry that may be dropped,
|
|
19
|
+
* and whose worst case is a camera spinning unattended. It refuses to move at
|
|
20
|
+
* all when it cannot read `moveImpulseMs`, because that number is the proof the
|
|
21
|
+
* head stops without a second message. It refuses while the camera's NATIVE
|
|
22
|
+
* autotrack is on. It is declaredly visual: `getPosition` is null on every PTZ
|
|
23
|
+
* driver here, so the loop never knows where the head points.
|
|
24
|
+
*
|
|
25
|
+
* ## Erring direction: CLOSED
|
|
26
|
+
*
|
|
27
|
+
* A gate whose worst error is a spurious event may err OPEN on an unreadable
|
|
28
|
+
* binding (D49). Here it is the opposite: the cost of running when the
|
|
29
|
+
* operator has unbound us is a head that keeps moving on its own. A camera whose binding cannot be
|
|
30
|
+
* confirmed stops. It resumes the moment a read confirms it again, and the
|
|
31
|
+
* stop is logged — a loop that quietly stopped is the same as a loop that
|
|
32
|
+
* never ran.
|
|
33
|
+
*
|
|
34
|
+
* Its own runner, `hub-only`, and no `execution.group`: it drives devices and a
|
|
35
|
+
* co-located crash would respawn everything sharing the runner (D29).
|
|
36
|
+
*/
|
|
37
|
+
import type { AddonInitResult } from "@camstack/types";
|
|
38
|
+
import { BaseAddon } from "@camstack/types";
|
|
2
39
|
/** Persisted shape: one entry per camera the operator has touched. */
|
|
3
40
|
export interface AutotrackConfig {
|
|
4
|
-
|
|
41
|
+
readonly cameras: Record<string, unknown>;
|
|
5
42
|
}
|
|
6
43
|
export declare class AutotrackAddon extends BaseAddon<AutotrackConfig> {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
44
|
+
private records;
|
|
45
|
+
private readonly sessions;
|
|
46
|
+
/** Cameras whose `ptz-autotrack` binding names THIS addon, last time we read. */
|
|
47
|
+
private bound;
|
|
48
|
+
/**
|
|
49
|
+
* Cameras that ALSO have a `ptz-autotrack` provider that is not us.
|
|
50
|
+
*
|
|
51
|
+
* This is the only way to ask about a firmware autotrack without asking
|
|
52
|
+
* ourselves: on a camera where our wrapper is the binding, `ptzAutotrack.
|
|
53
|
+
* getStatus` resolves to THIS addon and returns our own switch — so a loop
|
|
54
|
+
* that read it would see `enabled: true` the moment the operator turned it
|
|
55
|
+
* on, conclude the firmware was driving the head, and refuse to move. A
|
|
56
|
+
* self-deadlock that would have looked exactly like the safety gate working.
|
|
57
|
+
*/
|
|
58
|
+
private foreignProvider;
|
|
59
|
+
private readonly lastChangedAt;
|
|
60
|
+
private unsubscribeFrames;
|
|
61
|
+
private unsubscribeBindings;
|
|
62
|
+
private mirrorTimer;
|
|
63
|
+
private watchdogTimer;
|
|
64
|
+
constructor();
|
|
65
|
+
protected onInitialize(): Promise<AddonInitResult>;
|
|
66
|
+
protected onShutdown(): Promise<void>;
|
|
67
|
+
protected onConfigChanged(): Promise<void>;
|
|
68
|
+
private recordOf;
|
|
69
|
+
private statusOf;
|
|
70
|
+
private patchCamera;
|
|
71
|
+
private serialiseRecords;
|
|
72
|
+
/** Bindings first, then sessions: a session must never outlive its binding. */
|
|
73
|
+
private refreshEverything;
|
|
74
|
+
/**
|
|
75
|
+
* Which cameras have this addon bound as their `ptz-autotrack` provider.
|
|
76
|
+
*
|
|
77
|
+
* Only cameras the operator has a record for are asked about: a wrapper that
|
|
78
|
+
* enumerated every camera on every refresh would walk the whole fleet to
|
|
79
|
+
* learn nothing about the ones nobody switched on.
|
|
80
|
+
*
|
|
81
|
+
* A read that FAILS leaves the previous answer standing (D49) — a transient
|
|
82
|
+
* store blip must not stop a running loop. A read that SUCCEEDS and omits us
|
|
83
|
+
* is believed immediately: unlike a doorbell press, the cost of erring open
|
|
84
|
+
* here is a head that keeps moving after the operator unbound it.
|
|
85
|
+
*/
|
|
86
|
+
private refreshBindings;
|
|
87
|
+
/** Start a loop for every camera that is bound AND switched on; stop the rest. */
|
|
88
|
+
private reconcileSessions;
|
|
89
|
+
private startSession;
|
|
90
|
+
private stopSession;
|
|
91
|
+
/**
|
|
92
|
+
* One off-event-path refresh of a camera's mirror.
|
|
93
|
+
*
|
|
94
|
+
* Two reads, and either one failing fails the whole refresh: a mirror half
|
|
95
|
+
* from now and half from twenty minutes ago is worse than one that says it
|
|
96
|
+
* is stale. The previous answers stand (D49).
|
|
97
|
+
*/
|
|
98
|
+
private refreshMirror;
|
|
99
|
+
/**
|
|
100
|
+
* Is the camera's OWN autotrack on?
|
|
101
|
+
*
|
|
102
|
+
* `null` when the camera has no native autotrack at all — which is the case
|
|
103
|
+
* this addon exists for, and is NOT an error. A camera that HAS one and has
|
|
104
|
+
* it armed makes this loop refuse: two implementations driving one head is
|
|
105
|
+
* the thing the single-switch rule exists to prevent (D62).
|
|
106
|
+
*/
|
|
107
|
+
private readNativeAutotrack;
|
|
71
108
|
}
|
|
@@ -1,50 +1,50 @@
|
|
|
1
1
|
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
2
|
+
* The frame-space error term: where the subject's centre sits relative to the
|
|
3
|
+
* centre of the frame, normalized to ±0.5 on each axis.
|
|
4
|
+
*
|
|
5
|
+
* ## There is no letterbox to discount here, and that was checked
|
|
6
|
+
*
|
|
7
|
+
* The detector runs on a 640×640 `fit: 'contain'` view
|
|
8
|
+
* (`SPLIT_DETECTION_VIEW`, `packages/addon-pipeline/src/pipeline-runner/
|
|
9
|
+
* index.ts`), so the raster the model sees IS letterboxed. The coordinates that
|
|
10
|
+
* reach this module are not: `ObjectDetection.bbox` is documented — and
|
|
11
|
+
* produced — as "absolute pixel coordinates in the SOURCE frame"
|
|
12
|
+
* (`packages/types/src/types/detection.ts`), and the same payload carries the
|
|
13
|
+
* `frameWidth` / `frameHeight` those pixels are expressed in
|
|
14
|
+
* (`PipelineAnalyticsFrameTrackedPayload`). The un-letterboxing has already
|
|
15
|
+
* happened upstream; doing it again here would double-count the bars.
|
|
16
|
+
*
|
|
17
|
+
* ## A geometry we cannot read is `null`, never centred (D393)
|
|
18
|
+
*
|
|
19
|
+
* A frame that arrives with a zero or non-finite width has not told us the
|
|
20
|
+
* subject is centred — it has told us nothing. Folding that into `{x:0, y:0}`
|
|
21
|
+
* would read as "perfectly on target" and silence the loop exactly when it
|
|
22
|
+
* should complain, the same shape as the unreadable `statfs` folded into "0
|
|
23
|
+
* bytes of headroom". The return type says so, and every caller must branch.
|
|
24
|
+
*/
|
|
25
25
|
/** Signed offset of the subject's centre from the frame centre, in fractions
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
* of the frame: `-0.5` = hard left/top edge, `0` = centred, `+0.5` = hard
|
|
27
|
+
* right/bottom edge. `y` grows DOWNWARD, as image coordinates do. */
|
|
28
28
|
export interface NormalizedError {
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
readonly x: number;
|
|
30
|
+
readonly y: number;
|
|
31
31
|
}
|
|
32
32
|
/** The frame the bbox's pixels are expressed in. */
|
|
33
33
|
export interface FrameGeometry {
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
readonly frameWidth: number;
|
|
35
|
+
readonly frameHeight: number;
|
|
36
36
|
}
|
|
37
37
|
/** Absolute-pixel box in the source frame (`ObjectDetection.bbox`). */
|
|
38
38
|
export interface FrameBox {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
readonly x: number;
|
|
40
|
+
readonly y: number;
|
|
41
|
+
readonly width: number;
|
|
42
|
+
readonly height: number;
|
|
43
43
|
}
|
|
44
44
|
/**
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
45
|
+
* Error of one subject box against the frame centre.
|
|
46
|
+
*
|
|
47
|
+
* `null` when the frame geometry or the box is unreadable — never a centred
|
|
48
|
+
* zero (D393).
|
|
49
|
+
*/
|
|
50
50
|
export declare function computeNormalizedError(box: FrameBox, geometry: FrameGeometry): NormalizedError | null;
|
|
@@ -1,97 +1,97 @@
|
|
|
1
1
|
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
2
|
+
* The two measurements this slice exists to produce. Pure reducers: a tally in,
|
|
3
|
+
* a NEW tally out, nothing mutated, no clock read inside.
|
|
4
|
+
*
|
|
5
|
+
* ## 1. Bus latency — how old a `frame-tracked` payload is when a hub-only
|
|
6
|
+
* subscriber gets it
|
|
7
|
+
*
|
|
8
|
+
* `Date.now() - payload.timestamp`, per frame. Nobody has measured this hop.
|
|
9
|
+
* The only latency number in the docs (p90 381 ms, max 22 s) is a DIFFERENT hop
|
|
10
|
+
* and must not be reused for it. It decides whether a visual control loop is
|
|
11
|
+
* viable at all: the error the loop acts on is this many milliseconds stale, so
|
|
12
|
+
* a subject walking at 1 m/s has already moved `latency × 1 m/s` by the time a
|
|
13
|
+
* pulse is issued.
|
|
14
|
+
*
|
|
15
|
+
* ## 2. Track absence — the empirical test of the loop's SAFETY PREMISE
|
|
16
|
+
*
|
|
17
|
+
* The premise is that every bbox on `frame-tracked` is an OBSERVED detection,
|
|
18
|
+
* never a coasted `SortTracker` prediction. It is INFERRED, not measured:
|
|
19
|
+
* `buildOverlayDetections` (`addon-post-analysis/src/pipeline-analytics/
|
|
20
|
+
* overlay-frame-builder.ts`) iterates the REAL frame detections and attaches a
|
|
21
|
+
* track only to the ones a tracked entry was associated with, so a coasted
|
|
22
|
+
* track contributes no box. `matchedThisFrame` is not on the wire, so the
|
|
23
|
+
* premise cannot be read off the payload — only inferred from the SHAPE of the
|
|
24
|
+
* gaps.
|
|
25
|
+
*
|
|
26
|
+
* If the premise HOLDS, an absence is a genuine miss and gaps are ragged: runs
|
|
27
|
+
* of 1, the odd 2, no preferred length. If it is FALSE — if a coasted
|
|
28
|
+
* prediction is being published as a box — the loop would be chasing a
|
|
29
|
+
* fabricated position, and the tell is the opposite: long stretches with NO
|
|
30
|
+
* gaps at all (the tracker filling every miss), then a gap exactly as long as
|
|
31
|
+
* the tracker's max age when it finally gives up. That is what
|
|
32
|
+
* {@link PresenceTally.gapRunHistogram} is for; a run-length distribution with
|
|
33
|
+
* a spike at one value is coasting, a decaying distribution is honest misses.
|
|
34
|
+
*/
|
|
35
35
|
/** Rolling aggregate of the bus-latency measurement. */
|
|
36
36
|
export interface LatencyTally {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
37
|
+
readonly frames: number;
|
|
38
|
+
readonly sumMs: number;
|
|
39
|
+
readonly minMs: number | null;
|
|
40
|
+
readonly maxMs: number | null;
|
|
41
|
+
/** Upper bounds, ms, of the histogram buckets — the last bucket is the
|
|
42
|
+
* overflow above the final bound. */
|
|
43
|
+
readonly bucketBoundsMs: readonly number[];
|
|
44
|
+
/** One count per bucket bound, plus one trailing overflow count. */
|
|
45
|
+
readonly bucketCounts: readonly number[];
|
|
46
|
+
/** Frames whose `timestamp` produced a NEGATIVE age. A clock skew between
|
|
47
|
+
* the analytics node and the hub shows up here and nowhere else; counted
|
|
48
|
+
* separately rather than folded into the mean, which would hide it. */
|
|
49
|
+
readonly negativeAgeFrames: number;
|
|
50
50
|
}
|
|
51
51
|
export declare const LATENCY_BUCKET_BOUNDS_MS: readonly number[];
|
|
52
52
|
export declare const INITIAL_LATENCY_TALLY: LatencyTally;
|
|
53
53
|
export declare function recordLatency(tally: LatencyTally, latencyMs: number): LatencyTally;
|
|
54
54
|
/** Rolling aggregate of the track-absence measurement. */
|
|
55
55
|
export interface PresenceTally {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
56
|
+
/** Frames counted while a target was HELD — the denominator. A frame with
|
|
57
|
+
* no target held at all is not evidence about absence and is excluded. */
|
|
58
|
+
readonly framesWithTarget: number;
|
|
59
|
+
/** Of those, how many did not carry a box for the held track. */
|
|
60
|
+
readonly absentFrames: number;
|
|
61
|
+
/** Length of the gap currently open, in frames. */
|
|
62
|
+
readonly currentGapFrames: number;
|
|
63
|
+
/** Longest gap seen. */
|
|
64
|
+
readonly maxGapFrames: number;
|
|
65
|
+
/** How many CLOSED gaps had length 1, 2, 3, … The index is `length - 1`;
|
|
66
|
+
* lengths beyond {@link GAP_HISTOGRAM_LENGTHS} land in the final overflow
|
|
67
|
+
* slot. The SHAPE of this is the premise test — see the module docblock. */
|
|
68
|
+
readonly gapRunHistogram: readonly number[];
|
|
69
69
|
}
|
|
70
70
|
export declare const GAP_HISTOGRAM_LENGTHS = 8;
|
|
71
71
|
export declare const INITIAL_PRESENCE_TALLY: PresenceTally;
|
|
72
72
|
/**
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
73
|
+
* Count one frame on which a target was held.
|
|
74
|
+
*
|
|
75
|
+
* `present` is "the held track carried a box on THIS frame". A closing gap is
|
|
76
|
+
* binned at the moment it closes, which is why the open gap is reported
|
|
77
|
+
* separately (`currentGapFrames`) instead of being counted twice.
|
|
78
|
+
*/
|
|
79
79
|
export declare function recordPresence(tally: PresenceTally, present: boolean): PresenceTally;
|
|
80
80
|
/** Flat, log-friendly view of both tallies. Every field is a number so the log
|
|
81
|
-
|
|
81
|
+
* line can be grouped and diffed per camera. */
|
|
82
82
|
export interface MeasurementSummary {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
83
|
+
readonly frames: number;
|
|
84
|
+
readonly latencyMeanMs: number | null;
|
|
85
|
+
readonly latencyMinMs: number | null;
|
|
86
|
+
readonly latencyMaxMs: number | null;
|
|
87
|
+
readonly latencyBucketsMs: readonly number[];
|
|
88
|
+
readonly latencyBucketCounts: readonly number[];
|
|
89
|
+
readonly negativeAgeFrames: number;
|
|
90
|
+
readonly framesWithTarget: number;
|
|
91
|
+
readonly absentFrames: number;
|
|
92
|
+
readonly absentFraction: number | null;
|
|
93
|
+
readonly maxGapFrames: number;
|
|
94
|
+
readonly openGapFrames: number;
|
|
95
|
+
readonly gapRunHistogram: readonly number[];
|
|
96
96
|
}
|
|
97
97
|
export declare function summarize(latency: LatencyTally, presence: PresenceTally): MeasurementSummary;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { AutotrackAddon } from
|
|
2
|
-
export { AutotrackAddon as default } from
|
|
1
|
+
export { AutotrackAddon } from "./autotrack.addon.js";
|
|
2
|
+
export { AutotrackAddon as default } from "./autotrack.addon.js";
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-XTkzsnz-.js");
|
|
7
7
|
//#region src/builtins/autotrack/autotrack-config.ts
|
|
8
8
|
var DEFAULT_AUTOTRACK_LOOP_CONFIG = {
|
|
9
9
|
deadZoneFraction: .5,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Pr as isEvent, S as FIRST_LEVEL_MACRO_CLASSES, Z as bareAddonId, _n as ptzAutotrackCapability, lr as errMsg, ni as EventCategory, ur as BaseAddon } from "../../dist-
|
|
1
|
+
import { Pr as isEvent, S as FIRST_LEVEL_MACRO_CLASSES, Z as bareAddonId, _n as ptzAutotrackCapability, lr as errMsg, ni as EventCategory, ur as BaseAddon } from "../../dist-byg8IP4Q.mjs";
|
|
2
2
|
//#region src/builtins/autotrack/autotrack-config.ts
|
|
3
3
|
var DEFAULT_AUTOTRACK_LOOP_CONFIG = {
|
|
4
4
|
deadZoneFraction: .5,
|
|
@@ -1,25 +1,54 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* The in-memory mirror of everything the loop needs to know about the camera
|
|
3
|
+
* that is NOT on the event payload — refreshed off the event path, by timer,
|
|
4
|
+
* and only READ on the event path (D49).
|
|
5
|
+
*
|
|
6
|
+
* Two facts live here:
|
|
7
|
+
* - `moveImpulseMs` (`ptz.getOptions`) — how long one pulse runs. Without it
|
|
8
|
+
* nothing proves the pulse self-terminates, and the loop refuses to move.
|
|
9
|
+
* - the NATIVE autotrack state (`deviceManager.getBindings` +
|
|
10
|
+
* `ptzAutotrack.getStatus`) — whether the firmware is already driving this
|
|
11
|
+
* head.
|
|
12
|
+
*
|
|
13
|
+
* ## Why a mirror and not a read on the event path
|
|
14
|
+
*
|
|
15
|
+
* A one-shot decision must never gate on a fallible read (D49). If the loop
|
|
16
|
+
* awaited `getOptions()` per frame, one bad read would look exactly like "this
|
|
17
|
+
* camera has no PTZ" — and at 10 Hz it would also put a tRPC round-trip on the
|
|
18
|
+
* frame path. So the refresh runs on its own timer and the event path reads a
|
|
19
|
+
* field.
|
|
20
|
+
*
|
|
21
|
+
* ## A failed refresh changes nothing
|
|
22
|
+
*
|
|
23
|
+
* {@link applyMirrorRefresh} never downgrades a KNOWN value to `null` on a
|
|
24
|
+
* failed read: a refresh that threw leaves the previous answer standing and
|
|
25
|
+
* records the failure. A value that has never been read stays `unknown`, and
|
|
26
|
+
* `unknown` refuses to move — not-yet-read must not look like not-enabled
|
|
27
|
+
* (D315), and a measurement that failed is `null`, never a convenient zero
|
|
28
|
+
* (D393).
|
|
29
|
+
*/
|
|
30
|
+
import type { NativeAutotrackState } from "./autotrack-decision.js";
|
|
2
31
|
export interface PtzMirror {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
32
|
+
/** `ptz.getOptions().moveImpulseMs`. `null` = never read, or the driver
|
|
33
|
+
* itself reports it cannot say. */
|
|
34
|
+
readonly moveImpulseMs: number | null;
|
|
35
|
+
readonly nativeAutotrack: NativeAutotrackState;
|
|
36
|
+
/** When a refresh last SUCCEEDED. `null` = never. */
|
|
37
|
+
readonly lastRefreshAtMs: number | null;
|
|
38
|
+
/** Message of the last failed refresh, `null` once one succeeds again. */
|
|
39
|
+
readonly lastError: string | null;
|
|
40
|
+
/** Consecutive failed refreshes since the last success. */
|
|
41
|
+
readonly consecutiveFailures: number;
|
|
13
42
|
}
|
|
14
43
|
export declare const INITIAL_PTZ_MIRROR: PtzMirror;
|
|
15
44
|
/** What one refresh attempt found. A `failed` outcome carries a reason —
|
|
16
|
-
|
|
45
|
+
* there is no silent failure shape. */
|
|
17
46
|
export type MirrorRefreshOutcome = {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
47
|
+
readonly kind: "read";
|
|
48
|
+
readonly moveImpulseMs: number | null;
|
|
49
|
+
readonly nativeAutotrack: NativeAutotrackState;
|
|
21
50
|
} | {
|
|
22
|
-
|
|
23
|
-
|
|
51
|
+
readonly kind: "failed";
|
|
52
|
+
readonly error: string;
|
|
24
53
|
};
|
|
25
54
|
export declare function applyMirrorRefresh(mirror: PtzMirror, outcome: MirrorRefreshOutcome, nowMs: number): PtzMirror;
|
|
@@ -1,60 +1,46 @@
|
|
|
1
1
|
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
2
|
+
* Sticky target choice: pick ONE track, then stay on it.
|
|
3
|
+
*
|
|
4
|
+
* Re-picking "the best candidate" every frame is oscillation on another axis —
|
|
5
|
+
* two people a metre apart trade the top score frame to frame and the head
|
|
6
|
+
* saws between them, having centred neither. So the target is chosen ONCE and
|
|
7
|
+
* held by `trackId` until it has been gone for the disappear delay. While it
|
|
8
|
+
* is merely MISSING from a frame nothing is switched and nothing is released:
|
|
9
|
+
* `present: false` is reported and the decision layer decides what a gap means.
|
|
10
|
+
*
|
|
11
|
+
* Pure: state in, state out, no clock read inside — `nowMs` is passed. A new
|
|
12
|
+
* state object is returned every call; the input is never mutated.
|
|
13
|
+
*/
|
|
14
14
|
/** One candidate of the configured class on this frame. */
|
|
15
15
|
export interface TargetCandidate {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
readonly trackId: string;
|
|
17
|
+
/** Pixel area of the box. Used ONLY to break the first choice; it never
|
|
18
|
+
* unseats a target that is still alive. */
|
|
19
|
+
readonly areaPx: number;
|
|
20
20
|
}
|
|
21
21
|
export interface TargetSelectionState {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
/** The track being followed, or `null` when nothing is held. */
|
|
23
|
+
readonly trackId: string | null;
|
|
24
|
+
/** When that track was last OBSERVED on a frame. `null` while nothing is
|
|
25
|
+
* held. Never advanced by a frame the track was absent from. */
|
|
26
|
+
readonly lastSeenAtMs: number | null;
|
|
27
27
|
}
|
|
28
28
|
export declare const INITIAL_TARGET_SELECTION_STATE: TargetSelectionState;
|
|
29
29
|
/** Why the selection came out the way it did — logged on every frame so a
|
|
30
|
-
|
|
31
|
-
export type TargetSelectionReason =
|
|
32
|
-
/** The held track was observed on this frame. */
|
|
33
|
-
'held'
|
|
34
|
-
/** The held track was absent from this frame but is still within its
|
|
35
|
-
* disappear delay — nothing is switched, nothing is released. */
|
|
36
|
-
| 'held-absent'
|
|
37
|
-
/** The held track exceeded its disappear delay and was released; no
|
|
38
|
-
* candidate was available to take its place. */
|
|
39
|
-
| 'released'
|
|
40
|
-
/** The held track was released and a new one was picked on the same frame. */
|
|
41
|
-
| 'switched'
|
|
42
|
-
/** Nothing was held and a candidate was picked. */
|
|
43
|
-
| 'acquired'
|
|
44
|
-
/** Nothing was held and no candidate was available. */
|
|
45
|
-
| 'idle';
|
|
30
|
+
* loop that chooses nothing is distinguishable from a loop that is dead. */
|
|
31
|
+
export type TargetSelectionReason = "held" | "held-absent" | "released" | "switched" | "acquired" | "idle";
|
|
46
32
|
export interface TargetSelectionResult {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
33
|
+
readonly state: TargetSelectionState;
|
|
34
|
+
/** The held track, after this frame. `null` when nothing is held. */
|
|
35
|
+
readonly trackId: string | null;
|
|
36
|
+
/** Whether the held track was OBSERVED on this frame. This is the boolean
|
|
37
|
+
* the absence measurement counts. */
|
|
38
|
+
readonly present: boolean;
|
|
39
|
+
readonly reason: TargetSelectionReason;
|
|
54
40
|
}
|
|
55
41
|
export interface TargetSelectionInput {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
42
|
+
readonly nowMs: number;
|
|
43
|
+
readonly candidates: readonly TargetCandidate[];
|
|
44
|
+
readonly disappearDelayMs: number;
|
|
59
45
|
}
|
|
60
46
|
export declare function selectTarget(state: TargetSelectionState, input: TargetSelectionInput): TargetSelectionResult;
|