@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,89 +1,89 @@
|
|
|
1
1
|
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
2
|
+
* Tuning constants for the emulated PTZ autotrack.
|
|
3
|
+
*
|
|
4
|
+
* Everything here is a number the OPERATOR does not set: the dead zone, the
|
|
5
|
+
* settle zone, the command ceiling, the pulse dead time, the refresh cadences.
|
|
6
|
+
* D520 kept them out of the settings surface on purpose — they are the
|
|
7
|
+
* behaviour of the control loop, not a preference, and a camera whose dead zone
|
|
8
|
+
* somebody widened by hand is a camera nobody can reason about.
|
|
9
|
+
*
|
|
10
|
+
* What IS per camera lives with the record (`autotrack-cameras.ts`): the switch,
|
|
11
|
+
* the target class and the disappear delay, all read through the cap's own
|
|
12
|
+
* settings so there is one place an operator changes them.
|
|
13
|
+
*/
|
|
14
14
|
/**
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
15
|
+
* ## The constants that used to live here
|
|
16
|
+
*
|
|
17
|
+
* `AUTOTRACK_ARMED` and `AUTOTRACK_TARGET_DEVICE_ID` were the whole protection
|
|
18
|
+
* of the measurement slice: arming was a deploy-shaped act because there was no
|
|
19
|
+
* switch to do it with. There is one now — the emulation registers
|
|
20
|
+
* `ptz-autotrack` as a wrapper the operator BINDS per camera and switches on
|
|
21
|
+
* through the cap's own `setEnabled` (D62: one function, one switch). The
|
|
22
|
+
* protection is no longer a constant; it is that a camera must be both bound
|
|
23
|
+
* and switched on, and that the loop still refuses to move without
|
|
24
|
+
* `moveImpulseMs` or while the camera's native autotrack is armed (D520).
|
|
25
|
+
*
|
|
26
|
+
* `AUTOTRACK_TARGET_CLASS` went the same way: the class is per camera now,
|
|
27
|
+
* from the cap's `targetType` setting (`autotrack-cameras.ts`).
|
|
28
|
+
*/
|
|
29
29
|
/** Signed single-axis step handed to `ptz.move` — a DIRECTION, not a delta.
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
* Every provider reads the sign and ignores the magnitude (reolink:
|
|
31
|
+
* `pan > 0 ? 'Right' : 'Left'`), so only -1 / 0 / +1 are meaningful. */
|
|
32
32
|
export type PtzAxisStep = -1 | 0 | 1;
|
|
33
33
|
/** Tuning of the control loop. Every field is a time or a fraction; nothing
|
|
34
|
-
|
|
34
|
+
* here is derived from `detectionFps` — see {@link maxCommandsPerSecond}. */
|
|
35
35
|
export interface AutotrackLoopConfig {
|
|
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
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
36
|
+
/**
|
|
37
|
+
* Width/height of the central "do nothing" box, as a fraction of the frame.
|
|
38
|
+
* `0.5` = the central 50%: a correction starts only once the subject's
|
|
39
|
+
* centre leaves it (|error| > 0.25 on that axis).
|
|
40
|
+
*/
|
|
41
|
+
readonly deadZoneFraction: number;
|
|
42
|
+
/**
|
|
43
|
+
* Width/height of the TIGHTER box that ENDS a correction, as a fraction of
|
|
44
|
+
* the frame. Must be smaller than {@link deadZoneFraction}.
|
|
45
|
+
*
|
|
46
|
+
* This is the anti-overshoot rule: the loop stops correcting BEFORE the
|
|
47
|
+
* subject reaches the centre. Aiming at the centre with an estimated gain
|
|
48
|
+
* overshoots, and an overshoot on the next frame reverses the sign — that is
|
|
49
|
+
* the oscillation this box exists to prevent.
|
|
50
|
+
*/
|
|
51
|
+
readonly settleZoneFraction: number;
|
|
52
|
+
/**
|
|
53
|
+
* Hard ceiling on commands issued to the camera, in commands per second,
|
|
54
|
+
* owned by the LOOP.
|
|
55
|
+
*
|
|
56
|
+
* Explicitly NOT derived from the analysis rate. `frame-tracked` arrives at
|
|
57
|
+
* 1–10 Hz; at 10 Hz a per-frame command would be ~10 commands/s, an order of
|
|
58
|
+
* magnitude above what the hardware takes. The ceiling is measured, in-repo:
|
|
59
|
+
* a Reolink E1 Outdoor PoE rejects a command issued while the previous one
|
|
60
|
+
* is still travelling with `response_code 400` — presses 1.2 s apart were
|
|
61
|
+
* REJECTED, 3 s apart were ACCEPTED (`reolink-camera.ts`, `runZoom`). `1/3`
|
|
62
|
+
* is that 3 s, and it is the gate that binds in practice.
|
|
63
|
+
*/
|
|
64
|
+
readonly maxCommandsPerSecond: number;
|
|
65
|
+
/**
|
|
66
|
+
* Extra silence after a pulse is expected to have FINISHED, ms.
|
|
67
|
+
*
|
|
68
|
+
* The dead time after a command is `moveImpulseMs + pulseSettleMs`: the head
|
|
69
|
+
* is still travelling for the first part and the detector has not yet seen
|
|
70
|
+
* the new framing for the second. Commanding inside it measures an error
|
|
71
|
+
* that the in-flight pulse has already corrected.
|
|
72
|
+
*/
|
|
73
|
+
readonly pulseSettleMs: number;
|
|
74
|
+
/**
|
|
75
|
+
* How long the chosen target may be absent before it is released and the
|
|
76
|
+
* head is sent home, ms. Also the silence watchdog's budget: if
|
|
77
|
+
* `frame-tracked` stops arriving entirely, the same delay elapses and the
|
|
78
|
+
* same release happens — off the event path, by timer.
|
|
79
|
+
*/
|
|
80
|
+
readonly disappearDelayMs: number;
|
|
81
|
+
/** Normalized speed (0..1) handed to `ptz.move`. */
|
|
82
|
+
readonly speed: number;
|
|
83
|
+
/** How often the off-event-path mirror re-reads `ptz.getOptions` and the
|
|
84
|
+
* native-autotrack state, ms. Never on the event path (D49). */
|
|
85
|
+
readonly mirrorRefreshMs: number;
|
|
86
|
+
/** How often the measurement aggregates are summarized to the log, ms. */
|
|
87
|
+
readonly measurementSummaryMs: number;
|
|
88
88
|
}
|
|
89
89
|
export declare const DEFAULT_AUTOTRACK_LOOP_CONFIG: AutotrackLoopConfig;
|
|
@@ -1,99 +1,86 @@
|
|
|
1
|
-
import { AutotrackLoopConfig, PtzAxisStep } from './autotrack-config.js';
|
|
2
|
-
import { NormalizedError } from './frame-error.js';
|
|
3
1
|
/**
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
2
|
+
* `decideAutotrack` — the whole control loop, as one pure function.
|
|
3
|
+
*
|
|
4
|
+
* Error in, action out, clock injected (`nowMs` is a parameter and is never
|
|
5
|
+
* read inside), state immutable (a new state object comes back; the input is
|
|
6
|
+
* never mutated). Same shape as `FrameGovernor` / `MotionSettleGovernor`.
|
|
7
|
+
*
|
|
8
|
+
* ## The one property that makes this safe over droppable telemetry
|
|
9
|
+
*
|
|
10
|
+
* The only command this loop ever issues to move the head is `ptz.move`, which
|
|
11
|
+
* is a SELF-TERMINATING pulse on every driver (reolink 200 ms, amcrest 350,
|
|
12
|
+
* hikvision 500, onvif 1000 — readable as `ptz.getOptions().moveImpulseMs`).
|
|
13
|
+
* `continuousMove` would need a matching `stop`, and its `stop` would travel
|
|
14
|
+
* over an event-driven loop whose input is telemetry and MAY BE DROPPED (D8,
|
|
15
|
+
* D11). A dropped frame would then leave the head panning until someone
|
|
16
|
+
* noticed. With a pulse, a dead event stream means the head stops by itself.
|
|
17
|
+
*
|
|
18
|
+
* That is also why {@link AutotrackDecisionInput.moveImpulseMs} being `null`
|
|
19
|
+
* REFUSES rather than substituting a default: a driver that cannot say how
|
|
20
|
+
* long its pulse lasts has not told us the head stops, and this loop is only
|
|
21
|
+
* safe because it does (D393 — a measurement that failed is `null`).
|
|
22
|
+
*/
|
|
23
|
+
import type { AutotrackLoopConfig, PtzAxisStep } from "./autotrack-config.js";
|
|
24
|
+
import type { NormalizedError } from "./frame-error.js";
|
|
25
|
+
/**
|
|
26
|
+
* What the loop knows about the camera's NATIVE autotrack, from the
|
|
27
|
+
* off-event-path mirror.
|
|
28
|
+
*
|
|
29
|
+
* Native and emulated are two implementations of ONE function and must never
|
|
30
|
+
* be two switches an operator can set to disagree (D62). Until that single
|
|
31
|
+
* switch exists, this slice refuses to move a head whose firmware may also be
|
|
32
|
+
* moving it — and `unknown` refuses too, because not-yet-read must not look
|
|
33
|
+
* like not-enabled (D315, D393).
|
|
34
|
+
*/
|
|
35
|
+
export type NativeAutotrackState = "absent" | "disabled" | "enabled" | "unknown";
|
|
22
36
|
/** Why the loop did NOT move. Every one of these is logged, per frame, with
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
export type AutotrackHoldReason =
|
|
26
|
-
/** `AUTOTRACK_ARMED` is false, or no target camera is configured. */
|
|
27
|
-
'disarmed'
|
|
28
|
-
/** No target has ever been held. */
|
|
29
|
-
| 'no-target'
|
|
30
|
-
/** The held target was absent from this frame, inside its disappear delay. */
|
|
31
|
-
| 'target-absent'
|
|
32
|
-
/** The target is gone and the head has already been sent home. */
|
|
33
|
-
| 'home-already-issued'
|
|
34
|
-
/** The frame did not say how big it is — the error is unknowable (D393). */
|
|
35
|
-
| 'frame-geometry-unknown'
|
|
36
|
-
/** The subject's centre is inside the central dead zone. THE NORMAL CASE. */
|
|
37
|
-
| 'inside-dead-zone'
|
|
38
|
-
/** A correction was running and the subject reached the tighter inner box.
|
|
39
|
-
* The correction ENDS here, deliberately short of the centre. */
|
|
40
|
-
| 'settled'
|
|
41
|
-
/** The driver does not report `moveImpulseMs`, so nothing proves the pulse
|
|
42
|
-
* self-terminates. */
|
|
43
|
-
| 'impulse-duration-unknown'
|
|
44
|
-
/** The camera's own autotrack is armed — two sources, one mechanism. */
|
|
45
|
-
| 'native-autotrack-enabled'
|
|
46
|
-
/** The camera's own autotrack state has never been read. */
|
|
47
|
-
| 'native-autotrack-unknown'
|
|
48
|
-
/** The previous pulse is still travelling, or the detector has not yet seen
|
|
49
|
-
* the framing it produced. */
|
|
50
|
-
| 'pulse-dead-time'
|
|
51
|
-
/** The loop's own commands-per-second ceiling. */
|
|
52
|
-
| 'rate-limited';
|
|
37
|
+
* the measured error: a loop that decides not to move must not be
|
|
38
|
+
* indistinguishable from a dead one (D391). */
|
|
39
|
+
export type AutotrackHoldReason = "disarmed" | "no-target" | "target-absent" | "home-already-issued" | "frame-geometry-unknown" | "inside-dead-zone" | "settled" | "impulse-duration-unknown" | "native-autotrack-enabled" | "native-autotrack-unknown" | "pulse-dead-time" | "rate-limited";
|
|
53
40
|
export type AutotrackDecision = {
|
|
54
|
-
|
|
55
|
-
|
|
41
|
+
readonly action: "hold";
|
|
42
|
+
readonly reason: AutotrackHoldReason;
|
|
56
43
|
} | {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
44
|
+
readonly action: "pulse";
|
|
45
|
+
readonly pan: PtzAxisStep;
|
|
46
|
+
readonly tilt: PtzAxisStep;
|
|
47
|
+
readonly speed: number;
|
|
61
48
|
} | {
|
|
62
|
-
|
|
63
|
-
|
|
49
|
+
readonly action: "home";
|
|
50
|
+
readonly reason: "target-gone";
|
|
64
51
|
};
|
|
65
52
|
export interface AutotrackLoopState {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
53
|
+
/** A correction is in progress on this axis: it ends at the tighter inner
|
|
54
|
+
* box, not at the dead zone it started outside of. */
|
|
55
|
+
readonly correctingX: boolean;
|
|
56
|
+
readonly correctingY: boolean;
|
|
57
|
+
/** When the last command (pulse or home) was issued. `null` = never. */
|
|
58
|
+
readonly lastCommandAtMs: number | null;
|
|
59
|
+
/** Whether the head has already been sent home for the current absence. */
|
|
60
|
+
readonly homeIssued: boolean;
|
|
74
61
|
}
|
|
75
62
|
export declare const INITIAL_AUTOTRACK_LOOP_STATE: AutotrackLoopState;
|
|
76
63
|
/** The held target as this frame saw it. `error` is `null` when the frame's
|
|
77
|
-
|
|
64
|
+
* geometry was unreadable — present-but-unmeasurable, which is NOT absent. */
|
|
78
65
|
export interface AutotrackTargetFrame {
|
|
79
|
-
|
|
80
|
-
|
|
66
|
+
readonly trackId: string;
|
|
67
|
+
readonly error: NormalizedError | null;
|
|
81
68
|
}
|
|
82
69
|
export interface AutotrackDecisionInput {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
70
|
+
readonly nowMs: number;
|
|
71
|
+
/** Armed AND pointed at a camera. False ⇒ the loop only measures. */
|
|
72
|
+
readonly armed: boolean;
|
|
73
|
+
/** The held target if it was OBSERVED on this frame, else `null`. */
|
|
74
|
+
readonly target: AutotrackTargetFrame | null;
|
|
75
|
+
/** When the held target was last observed. `null` = nothing held. */
|
|
76
|
+
readonly targetLastSeenAtMs: number | null;
|
|
77
|
+
/** `ptz.getOptions().moveImpulseMs`, from the mirror. `null` = unknown. */
|
|
78
|
+
readonly moveImpulseMs: number | null;
|
|
79
|
+
readonly nativeAutotrack: NativeAutotrackState;
|
|
80
|
+
readonly config: AutotrackLoopConfig;
|
|
94
81
|
}
|
|
95
82
|
export interface AutotrackDecisionResult {
|
|
96
|
-
|
|
97
|
-
|
|
83
|
+
readonly state: AutotrackLoopState;
|
|
84
|
+
readonly decision: AutotrackDecision;
|
|
98
85
|
}
|
|
99
86
|
export declare function decideAutotrack(state: AutotrackLoopState, input: AutotrackDecisionInput): AutotrackDecisionResult;
|
|
@@ -1,75 +1,95 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
/**
|
|
2
|
+
* `AutotrackLoop` — the thin wiring between a `frame-tracked` payload and the
|
|
3
|
+
* pure decision function, plus the two measurements.
|
|
4
|
+
*
|
|
5
|
+
* Everything with a decision in it lives in `autotrack-decision.ts` /
|
|
6
|
+
* `target-selection.ts` and is pure; this class owns the state those functions
|
|
7
|
+
* are threaded through, the clock (injected), and the logging. It performs no
|
|
8
|
+
* I/O itself — commands go out through {@link AutotrackCommands}, which the
|
|
9
|
+
* addon fills with `ctx.api.ptz.*`.
|
|
10
|
+
*
|
|
11
|
+
* ## The silence watchdog is not optional
|
|
12
|
+
*
|
|
13
|
+
* The input is TELEMETRY and may be dropped (D8, D11). A subject does not
|
|
14
|
+
* disappear because the bus did, so a target released only by "a frame said it
|
|
15
|
+
* was gone" would be held forever the moment the stream stopped. {@link tick}
|
|
16
|
+
* runs off the event path, applies the SAME disappear delay to the silence,
|
|
17
|
+
* and releases + homes. It is also what makes the D49 shape work: the gate
|
|
18
|
+
* ("am I tracking") is in-memory state refreshed off the event path, and a
|
|
19
|
+
* failed mirror read never spells the subject's disappearance.
|
|
20
|
+
*/
|
|
21
|
+
import type { IScopedLogger, ObjectDetection } from "@camstack/types";
|
|
22
|
+
import type { AutotrackLoopConfig, PtzAxisStep } from "./autotrack-config.js";
|
|
23
|
+
import { type MirrorRefreshOutcome, type PtzMirror } from "./ptz-mirror.js";
|
|
24
|
+
import { type TargetCandidate } from "./target-selection.js";
|
|
5
25
|
export interface PulseCommand {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
26
|
+
readonly deviceId: number;
|
|
27
|
+
readonly pan: PtzAxisStep;
|
|
28
|
+
readonly tilt: PtzAxisStep;
|
|
29
|
+
readonly speed: number;
|
|
10
30
|
}
|
|
11
31
|
/** The only way this loop touches the camera. One self-terminating pulse, or
|
|
12
|
-
|
|
32
|
+
* home. There is deliberately no `continuousMove` and no `stop`. */
|
|
13
33
|
export interface AutotrackCommands {
|
|
14
|
-
|
|
15
|
-
|
|
34
|
+
pulse(command: PulseCommand): Promise<void>;
|
|
35
|
+
goHome(deviceId: number): Promise<void>;
|
|
16
36
|
}
|
|
17
37
|
export interface AutotrackLoopDeps {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
38
|
+
readonly deviceId: number;
|
|
39
|
+
readonly targetClass: string;
|
|
40
|
+
readonly armed: boolean;
|
|
41
|
+
readonly config: AutotrackLoopConfig;
|
|
42
|
+
readonly logger: IScopedLogger;
|
|
43
|
+
readonly commands: AutotrackCommands;
|
|
44
|
+
readonly now: () => number;
|
|
25
45
|
}
|
|
26
46
|
/** The subset of the `frame-tracked` payload this loop reads. Named so the
|
|
27
|
-
|
|
47
|
+
* tests can build one without the event envelope. */
|
|
28
48
|
export interface TrackedFrame {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
49
|
+
readonly deviceId: number;
|
|
50
|
+
readonly timestamp: number;
|
|
51
|
+
readonly frameWidth: number;
|
|
52
|
+
readonly frameHeight: number;
|
|
53
|
+
readonly detections: readonly ObjectDetection[];
|
|
34
54
|
}
|
|
35
55
|
/**
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
56
|
+
* Candidates of the configured class on this frame.
|
|
57
|
+
*
|
|
58
|
+
* A detection counts only when it carries a `track` — `buildOverlayDetections`
|
|
59
|
+
* attaches one exactly to the boxes a tracked entry was ASSOCIATED with on this
|
|
60
|
+
* frame, so this set is the observed-and-tracked set and nothing else.
|
|
61
|
+
*/
|
|
42
62
|
export declare function candidatesFromFrame(detections: readonly ObjectDetection[], targetClass: string): readonly TargetCandidate[];
|
|
43
63
|
export declare class AutotrackLoop {
|
|
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
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
64
|
+
private readonly deps;
|
|
65
|
+
private selection;
|
|
66
|
+
private loopState;
|
|
67
|
+
private mirror;
|
|
68
|
+
private latency;
|
|
69
|
+
private presence;
|
|
70
|
+
private lastFrameAtMs;
|
|
71
|
+
private lastSummaryAtMs;
|
|
72
|
+
constructor(deps: AutotrackLoopDeps);
|
|
73
|
+
/** Read-only view of the mirror, for the addon's startup log. */
|
|
74
|
+
get ptzMirror(): PtzMirror;
|
|
75
|
+
/** Fold one refresh outcome into the mirror. Called by the TIMER, never from
|
|
76
|
+
* {@link onFrame}. */
|
|
77
|
+
applyMirror(outcome: MirrorRefreshOutcome): void;
|
|
78
|
+
/** One analysed frame. Measures first, then decides. */
|
|
79
|
+
onFrame(frame: TrackedFrame): Promise<void>;
|
|
80
|
+
/**
|
|
81
|
+
* Off-event-path tick: the silence watchdog.
|
|
82
|
+
*
|
|
83
|
+
* Evaluates the SAME disappear delay against the time since the last frame.
|
|
84
|
+
* A stream that died is a target that is gone, and the head goes home —
|
|
85
|
+
* which is also the only thing that would otherwise never happen, because
|
|
86
|
+
* every other release is driven by a frame arriving.
|
|
87
|
+
*/
|
|
88
|
+
tick(): Promise<void>;
|
|
89
|
+
/** Emit the aggregates now, whatever the schedule says. Used at shutdown so
|
|
90
|
+
* a short run still reports what it measured. */
|
|
91
|
+
logSummary(): void;
|
|
92
|
+
private maybeSummarize;
|
|
93
|
+
private dispatch;
|
|
94
|
+
private logDecision;
|
|
75
95
|
}
|