@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,50 +1,91 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/**
|
|
2
|
+
* The grid's own motion / audio / detection, forwarded from its sources.
|
|
3
|
+
*
|
|
4
|
+
* ## Why the grid speaks a camera's language instead of a new one
|
|
5
|
+
*
|
|
6
|
+
* The operator asked for the grid's tile to light up in the viewer exactly as a
|
|
7
|
+
* camera's card does, with NO app change. The app already knows how: it filters
|
|
8
|
+
* `motion.on-motion-changed` by `deviceId` for the motion ring,
|
|
9
|
+
* `pipeline.audio-inference-result` for the audio one, and `detection.result`
|
|
10
|
+
* for the detection one. So the grid answers those three questions about its
|
|
11
|
+
* own device id, in the same shapes. Nothing new is invented, and nothing in
|
|
12
|
+
* the viewer is touched.
|
|
13
|
+
*
|
|
14
|
+
* The rules are the operator's: motion if AT LEAST ONE source has it, and the
|
|
15
|
+
* LOUDEST source's level for audio.
|
|
16
|
+
*
|
|
17
|
+
* ## What speaking a camera's language costs, and why it is safe here
|
|
18
|
+
*
|
|
19
|
+
* Those categories have other listeners, and emitting on them makes the grid a
|
|
20
|
+
* motion source for the whole system. Checked, one by one, before shipping:
|
|
21
|
+
* the recorder's event capture, the HomeKit and Alexa exports and the Home
|
|
22
|
+
* Assistant export are all per-device and do nothing until an operator enables
|
|
23
|
+
* them for this camera — and if an operator DOES export a grid to HomeKit, a
|
|
24
|
+
* grid reporting motion is correct, not a surprise.
|
|
25
|
+
*
|
|
26
|
+
* The one listener with no gate of its own was `pipeline-analytics`, which
|
|
27
|
+
* would have opened a motion EPISODE per grid, duplicating the rows its sources
|
|
28
|
+
* already write. Its gate turned out to be the `pipeline-analytics` WRAPPER
|
|
29
|
+
* BINDING, so the answer is the one the operator gave: a derived camera is
|
|
30
|
+
* created with the analytics wrappers OFF (`grid-analytics-defaults.ts`).
|
|
31
|
+
* That is a binding, not a new flag, so an operator who wants a grid analysed
|
|
32
|
+
* can simply turn it back on.
|
|
33
|
+
*
|
|
34
|
+
* ## Detection carries boxes whether or not anyone wanted them
|
|
35
|
+
*
|
|
36
|
+
* `detection.result` is the same event the viewer draws BOXES from, so a grid
|
|
37
|
+
* that reports detections reports boxes. Sending the source's own pixel box
|
|
38
|
+
* would draw it against the composed canvas at confidently wrong coordinates,
|
|
39
|
+
* so every box is carried through the cell geometry first
|
|
40
|
+
* (`grid-detection-mapping.ts`) and lands where the subject actually is.
|
|
41
|
+
*/
|
|
42
|
+
import { type FrameResult, type IEventBus, type IScopedLogger } from "@camstack/types";
|
|
43
|
+
import { type GridMotionState } from "./grid-activity-mirror.js";
|
|
44
|
+
import { type GridMappingCell } from "./grid-detection-mapping.js";
|
|
4
45
|
/** Everything this needs to know about one grid, re-read on every event. */
|
|
5
46
|
export interface GridActivityTarget {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
47
|
+
readonly deviceId: number;
|
|
48
|
+
readonly canvas: {
|
|
49
|
+
readonly width: number;
|
|
50
|
+
readonly height: number;
|
|
51
|
+
};
|
|
52
|
+
/** Every cell this source appears in. Empty ⇒ the grid does not show it. */
|
|
53
|
+
cellsForSource(sourceDeviceId: number): readonly GridMappingCell[];
|
|
54
|
+
/** Every source this grid composes, for the mirror's housekeeping. */
|
|
55
|
+
readonly sourceDeviceIds: readonly number[];
|
|
15
56
|
}
|
|
16
57
|
export interface GridActivityDeps {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
58
|
+
readonly eventBus: IEventBus;
|
|
59
|
+
readonly logger: IScopedLogger;
|
|
60
|
+
readonly addonId: string;
|
|
61
|
+
/** The grids that contain this source, or empty. */
|
|
62
|
+
gridsForSource(sourceDeviceId: number): readonly GridActivityTarget[];
|
|
63
|
+
readonly now: () => number;
|
|
23
64
|
}
|
|
24
65
|
/**
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
66
|
+
* One mirror per grid, and the emission that follows an update.
|
|
67
|
+
*
|
|
68
|
+
* Deliberately NOT one mirror per source: the question is always "is THIS grid
|
|
69
|
+
* lit", and a source shared by two grids answers it twice, differently, because
|
|
70
|
+
* the other cells differ.
|
|
71
|
+
*/
|
|
31
72
|
export declare class GridActivityForwarder {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
73
|
+
private readonly deps;
|
|
74
|
+
private readonly mirrors;
|
|
75
|
+
constructor(deps: GridActivityDeps);
|
|
76
|
+
/** A source camera's motion push. */
|
|
77
|
+
onSourceMotion(sourceDeviceId: number, detected: boolean, atMs: number): void;
|
|
78
|
+
/** A source camera's audio window. */
|
|
79
|
+
onSourceAudio(sourceDeviceId: number, dbfs: number, atMs: number): void;
|
|
80
|
+
/** A source camera's detection frame, with its boxes in SOURCE pixels. */
|
|
81
|
+
onSourceDetections(frame: FrameResult): void;
|
|
82
|
+
/** The grid's own motion answer, for `motion.getStatus`. */
|
|
83
|
+
motionStatusFor(deviceId: number, nowMs: number): GridMotionState;
|
|
84
|
+
/** Drop the mirror of a grid that no longer exists. */
|
|
85
|
+
forget(deviceId: number): void;
|
|
86
|
+
private mirrorFor;
|
|
87
|
+
private source;
|
|
88
|
+
private emitMotion;
|
|
89
|
+
private emitAudio;
|
|
90
|
+
private emitDetections;
|
|
50
91
|
}
|
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
import { GridInstance } from
|
|
1
|
+
import type { GridInstance } from "./grid-instances.js";
|
|
2
2
|
/**
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
3
|
+
* The stable id is `camera-grid-<instance uuid>` and NOTHING else.
|
|
4
|
+
*
|
|
5
|
+
* A stable id is permanent the instant it is minted: bindings, grid layouts in
|
|
6
|
+
* other addons, recording rows, the timeline and this addon's own tombstones
|
|
7
|
+
* all reference it, and a device whose stable id changes is a NEW camera with
|
|
8
|
+
* an empty history. So it may only be derived from something that itself never
|
|
9
|
+
* changes.
|
|
10
|
+
*
|
|
11
|
+
* The instance uuid is the only such thing here. Deriving it from the NAME
|
|
12
|
+
* would rename-break every reference; deriving it from the CELLS would mint a
|
|
13
|
+
* new camera every time the operator drags a rectangle — which is the entire
|
|
14
|
+
* activity this addon exists for. Terminal learned the same lesson from the
|
|
15
|
+
* other end: its original one-camera-per-node id is permanent, and its profile
|
|
16
|
+
* migration had to ENRICH that row rather than mint a replacement.
|
|
17
|
+
*/
|
|
18
18
|
export declare function newGridCameraStableId(instanceId: string): string;
|
|
19
19
|
/** The config a declared grid camera device carries. */
|
|
20
20
|
export interface GridCameraConfig {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
readonly instanceId: string;
|
|
22
|
+
/** `DeviceDeclaration.config` is an open record; this keeps the named type assignable. */
|
|
23
|
+
readonly [key: string]: unknown;
|
|
24
24
|
}
|
|
25
25
|
export interface GridCameraDeclaration {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
readonly stableId: string;
|
|
27
|
+
readonly name: string;
|
|
28
|
+
readonly config: GridCameraConfig;
|
|
29
29
|
}
|
|
30
30
|
export interface ExistingGridCameraRow {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
readonly id: number;
|
|
32
|
+
readonly stableId: string;
|
|
33
|
+
readonly integrationId?: string | null;
|
|
34
|
+
readonly config: Readonly<Record<string, unknown>>;
|
|
35
35
|
}
|
|
36
36
|
/**
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
37
|
+
* Explicit persisted instances only. A grid camera exists because an operator
|
|
38
|
+
* created a grid, never because some source camera happens to exist.
|
|
39
|
+
*
|
|
40
|
+
* A grid with NO cells is declared like any other: creation is name-only and
|
|
41
|
+
* the layout is authored afterwards in the camera's own device details, so
|
|
42
|
+
* "no cells yet" is the normal first state, not an invalid row.
|
|
43
|
+
*/
|
|
44
44
|
export declare function buildGridCameraDeclarations(instances: readonly GridInstance[]): readonly GridCameraDeclaration[];
|
|
45
45
|
/**
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
46
|
+
* The rows `DeclaredDevices` is allowed to consider — every live declaration
|
|
47
|
+
* plus ONE bounded batch of orphans.
|
|
48
|
+
*
|
|
49
|
+
* Two guards, both copied from Terminal because both were paid for there:
|
|
50
|
+
*
|
|
51
|
+
* 1. **An unknown integration id yields an EMPTY index.** `null`/`undefined`
|
|
52
|
+
* means "the integration lookup has not answered", which is not the same
|
|
53
|
+
* fact as "this addon owns no rows" — and only the second one may drive a
|
|
54
|
+
* withdrawal.
|
|
55
|
+
* 2. **The orphan batch is bounded and deterministically ordered.** The generic
|
|
56
|
+
* sweep refuses an over-limit set outright; selecting a batch here drains a
|
|
57
|
+
* large historical orphan set across passes without weakening that guard.
|
|
58
|
+
*/
|
|
59
59
|
export declare function gridCameraReconciliationIndex(rows: readonly ExistingGridCameraRow[], integrationId: string | null | undefined, declarations: readonly GridCameraDeclaration[], managedStableIds?: ReadonlySet<string>): readonly ExistingGridCameraRow[];
|
|
@@ -1,42 +1,68 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/**
|
|
2
|
+
* The composite camera device.
|
|
3
|
+
*
|
|
4
|
+
* An ORDINARY camera in every respect the rest of the system can see: it
|
|
5
|
+
* records, it appears in the timeline, it has profile slots, it is bound like
|
|
6
|
+
* any other. What makes it a grid is invisible from here — its streams are
|
|
7
|
+
* composed rather than dialled, and object detection is switched off at
|
|
8
|
+
* CREATION (see `silence-analysis.ts`), never re-asserted.
|
|
9
|
+
*
|
|
10
|
+
* ## The three native caps, and why each is native
|
|
11
|
+
*
|
|
12
|
+
* - **`stream-catalog`** — what this grid OFFERS, one descriptor per profile it
|
|
13
|
+
* can honestly compose. Named on every pull, idle included: the broker sweeps
|
|
14
|
+
* anything its registry holds that a catalog does not name.
|
|
15
|
+
* - **`camera-grid-layout`** — the geometry, on the camera's own page. Device
|
|
16
|
+
* scoped so the widget asks THE CAMERA; the addon-scoped custom actions it
|
|
17
|
+
* replaces could only be reached by a caller that already knew the addon id,
|
|
18
|
+
* which is why the editor rendered nowhere.
|
|
19
|
+
* - **`snapshot`** — a frame of the composition. It used to be deliberately
|
|
20
|
+
* ABSENT, on the reasoning that the broker's ordinary grab takes one from the
|
|
21
|
+
* profile slot and taking one IS a consumer. That is true and it is the
|
|
22
|
+
* defect: it means a thumbnail in a list starts N decodes, and on a battery
|
|
23
|
+
* source it would be a wake. A native provider runs BEFORE that grab and
|
|
24
|
+
* answers from the live composition or from the frame it kept
|
|
25
|
+
* (`grid-snapshot.ts`).
|
|
26
|
+
*/
|
|
27
|
+
import { BaseDevice, type CamStreamDescriptor, type DeviceContext, DeviceFeature, type GridLayoutPatch, type GridLayoutView, type MotionStatus } from "@camstack/types";
|
|
28
|
+
import { z } from "zod";
|
|
29
|
+
import type { GridSnapshotImage } from "./grid-snapshot.js";
|
|
4
30
|
declare const gridCameraSchema: z.ZodObject<{
|
|
5
|
-
|
|
6
|
-
}
|
|
31
|
+
instanceId: z.ZodString;
|
|
32
|
+
}>;
|
|
7
33
|
/**
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
34
|
+
* What the device needs from the running addon. Installed as a module
|
|
35
|
+
* singleton, like the Terminal camera's relay: `DeclaredDevices` constructs
|
|
36
|
+
* devices, so a device cannot be handed a constructor dependency.
|
|
37
|
+
*/
|
|
12
38
|
export interface GridCameraRuntime {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
39
|
+
/**
|
|
40
|
+
* The catalog descriptors for this grid — one per OFFERED profile — or `null`
|
|
41
|
+
* when the addon cannot say. `null` is a REFUSAL to describe, never an empty
|
|
42
|
+
* catalog with a shrug: see the note on the empty branch below.
|
|
43
|
+
*/
|
|
44
|
+
descriptorsFor(instanceId: string): readonly CamStreamDescriptor[] | null;
|
|
45
|
+
/** The grid behind a device, or `null` — which means "answered: not a grid". */
|
|
46
|
+
getLayout(deviceId: number): GridLayoutView | null;
|
|
47
|
+
saveLayout(patch: GridLayoutPatch): Promise<GridLayoutView>;
|
|
48
|
+
/** A frame of the composition, or `null`. Never starts one. */
|
|
49
|
+
getSnapshot(deviceId: number): Promise<GridSnapshotImage | null>;
|
|
50
|
+
/**
|
|
51
|
+
* This grid's own motion, derived from its sources (`grid-activity-mirror`).
|
|
52
|
+
*
|
|
53
|
+
* The device answers `motion.getStatus` from it because the VIEWER polls that
|
|
54
|
+
* as its backstop — it subscribes to `motion.on-motion-changed` and polls the
|
|
55
|
+
* status in case an event was missed. A grid that emitted the event but could
|
|
56
|
+
* not answer the poll would light up and then, on any dropped edge, be
|
|
57
|
+
* unrecoverably dark until the next one.
|
|
58
|
+
*/
|
|
59
|
+
motionStatus(deviceId: number): MotionStatus;
|
|
34
60
|
}
|
|
35
61
|
export declare function installGridCameraRuntime(next: GridCameraRuntime | null): void;
|
|
36
62
|
export declare class GridCameraDevice extends BaseDevice<typeof gridCameraSchema> {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
63
|
+
readonly features: readonly DeviceFeature[];
|
|
64
|
+
constructor(ctx: DeviceContext);
|
|
65
|
+
private catalog;
|
|
66
|
+
setAddonOnline(online: boolean): void;
|
|
41
67
|
}
|
|
42
68
|
export {};
|
|
@@ -1,19 +1,54 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* The canvas is a RESULT, not a field.
|
|
3
|
+
*
|
|
4
|
+
* ## Why the operator stopped typing it
|
|
5
|
+
*
|
|
6
|
+
* A grid's resolution used to be two numbers in the editor, beside FPS. They
|
|
7
|
+
* looked harmless and were not: that number silently decided how much the
|
|
8
|
+
* composite cost and how sharp it was. An operator typing 1920x1080 was, without
|
|
9
|
+
* being told, committing the hub to reading two 4 MP streams — or, with the
|
|
10
|
+
* rule before it, to upscaling a 640x360 sub-stream by 3x. Neither is a thing
|
|
11
|
+
* anyone can be expected to work out from a text field.
|
|
12
|
+
*
|
|
13
|
+
* ## What it is derived from
|
|
14
|
+
*
|
|
15
|
+
* The operator draws two rectangles per camera — which part of the source to
|
|
16
|
+
* take, and where it lands — and both are fractions, so nothing is pixels yet.
|
|
17
|
+
* Exactly one number is missing: how many pixels the whole canvas is worth.
|
|
18
|
+
*
|
|
19
|
+
* A cell has `sourceResolution x crop` REAL pixels behind it. Showing them 1:1
|
|
20
|
+
* neither invents nor discards anything, so the cell should be exactly that
|
|
21
|
+
* many pixels — and since the cell is a fraction `f` of the canvas, the canvas
|
|
22
|
+
* it implies is `real / f`. Each cell proposes one, and the LARGEST wins: the
|
|
23
|
+
* hungriest cell is served 1:1 and the others scale down by a hair, never up.
|
|
24
|
+
*
|
|
25
|
+
* Gaps change nothing. Cells need not cover the canvas, and an uncovered part
|
|
26
|
+
* is background — it has no pixels to propose.
|
|
27
|
+
*
|
|
28
|
+
* ## One per profile
|
|
29
|
+
*
|
|
30
|
+
* A source is a different size at each profile, so each profile derives its own
|
|
31
|
+
* canvas: a grid's `low` composes its sources' `low` onto the canvas their
|
|
32
|
+
* `low` implies. That is what makes the three outputs 1:1 with what they are
|
|
33
|
+
* made of, and what lets a viewer's adaptive pick a rung without the grid
|
|
34
|
+
* needing to know it exists.
|
|
35
|
+
*/
|
|
36
|
+
import { type PixelSize } from "./grid-canvas.js";
|
|
37
|
+
import type { NormalizedRect } from "./grid-filter-graph.js";
|
|
3
38
|
export interface GridCanvasCell {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
39
|
+
/** The part of the source this cell shows, normalized against the SOURCE. */
|
|
40
|
+
readonly source: NormalizedRect;
|
|
41
|
+
/** Where it lands, normalized against the CANVAS. */
|
|
42
|
+
readonly cell: NormalizedRect;
|
|
43
|
+
/** The source's size AT THE PROFILE being derived for. */
|
|
44
|
+
readonly sourceSize: PixelSize;
|
|
10
45
|
}
|
|
11
46
|
/**
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
47
|
+
* The canvas these cells imply, or `null` when they imply none.
|
|
48
|
+
*
|
|
49
|
+
* `null` for a grid with no cells — the normal freshly-created state — and for
|
|
50
|
+
* a layout whose every rectangle is degenerate. Both are "there is no picture
|
|
51
|
+
* to size", which the caller turns into "this profile is not on offer" rather
|
|
52
|
+
* than into a guess.
|
|
53
|
+
*/
|
|
19
54
|
export declare function deriveGridCanvas(cells: readonly GridCanvasCell[]): PixelSize | null;
|
|
@@ -1,62 +1,112 @@
|
|
|
1
|
-
import { PixelOrigin, PixelSize } from './grid-canvas.js';
|
|
2
|
-
import { GridTilePlan } from './grid-tile-plan.js';
|
|
3
1
|
/**
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
* What the canvas SAYS before a single camera has delivered a frame.
|
|
3
|
+
*
|
|
4
|
+
* ## Why black was not good enough
|
|
5
|
+
*
|
|
6
|
+
* The compositor emits from its very first tick (`grid-compositor.ts`) — that
|
|
7
|
+
* is the whole point of a canvas, and it is what removed the ~9 s cold start.
|
|
8
|
+
* But what it emitted until now was black, and black is the same picture for
|
|
9
|
+
* four different situations: a grid with no cells, a grid whose sources are all
|
|
10
|
+
* broken, a grid whose sources are merely slow, and a viewer that connected to
|
|
11
|
+
* the wrong camera. An operator cannot tell them apart, and the one they
|
|
12
|
+
* actually hit — sources still opening — is the one that fixes itself.
|
|
13
|
+
*
|
|
14
|
+
* The seed paints the LAYOUT instead: one card per cell, at the cell's own
|
|
15
|
+
* rectangle, carrying the camera's name and the word `Waiting`. Three states
|
|
16
|
+
* become three pictures — "no cards" is an empty grid, "a card still there" is
|
|
17
|
+
* a tile that has not arrived, and "a picture" is a tile that has.
|
|
18
|
+
*
|
|
19
|
+
* It is honest about what it is. It is not a stand-in picture of the camera,
|
|
20
|
+
* and it never carries a state it has not been told (a tile whose source is
|
|
21
|
+
* genuinely broken is a matter for the tile's own decoder and its logs — this
|
|
22
|
+
* says only "nothing has arrived here yet", which is true of both).
|
|
23
|
+
*
|
|
24
|
+
* ## Drawn ONCE, before the tick exists
|
|
25
|
+
*
|
|
26
|
+
* The seed is a full-canvas frame blitted in at the compositor's construction,
|
|
27
|
+
* so the first tick already carries it and the tick never waits on anything.
|
|
28
|
+
* Rendering it is the only asynchronous part, and it happens BEFORE the
|
|
29
|
+
* compositor is built — never on the tick, which serves every cell.
|
|
30
|
+
*
|
|
31
|
+
* ## Why SVG → sharp, and why the conversion is here
|
|
32
|
+
*
|
|
33
|
+
* `snapshot-courtesy.ts` already renders text this way and states the reason:
|
|
34
|
+
* shelling out to ffmpeg's `drawtext` was 52 ms against sharp's 4.8 ms, and an
|
|
35
|
+
* SVG names a font FAMILY that fontconfig resolves instead of a font PATH that
|
|
36
|
+
* has to be probed. This is that pattern, not a second one.
|
|
37
|
+
*
|
|
38
|
+
* What is different is the output. The canvas is yuv420p — that is what makes a
|
|
39
|
+
* blit a strided memcpy — and sharp has no yuv output, so the raster is
|
|
40
|
+
* converted once, here, by `rgbToYuv420p`. Once per composition start, over a
|
|
41
|
+
* frame that is already being allocated; never per tick.
|
|
42
|
+
*
|
|
43
|
+
* ## Even, like everything else that touches the canvas
|
|
44
|
+
*
|
|
45
|
+
* The cards are the TILES' own rectangles, which `buildGridTilePlan` has
|
|
46
|
+
* already snapped to even pixels — yuv420p subsamples chroma 2×2, and an odd
|
|
47
|
+
* rectangle tints a tile rather than breaking it. Nothing here re-derives a
|
|
48
|
+
* rectangle; it copies the one the decoder was sized against, so a card cannot
|
|
49
|
+
* land anywhere other than exactly where its picture will.
|
|
50
|
+
*/
|
|
51
|
+
import { type PixelOrigin, type PixelSize } from "./grid-canvas.js";
|
|
52
|
+
import type { GridTilePlan } from "./grid-tile-plan.js";
|
|
53
|
+
/**
|
|
54
|
+
* The word a card carries. Deliberately not a fault: nothing has arrived YET,
|
|
55
|
+
* which is true of a camera that is slow and of one that is broken, and this
|
|
56
|
+
* placeholder knows which it is for neither.
|
|
57
|
+
*/
|
|
8
58
|
export declare const GRID_SEED_WAITING_LABEL = "Waiting";
|
|
9
59
|
export interface GridSeedCell {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
60
|
+
readonly origin: PixelOrigin;
|
|
61
|
+
readonly size: PixelSize;
|
|
62
|
+
/** What the card is labelled with — a camera name, or its id. */
|
|
63
|
+
readonly name: string;
|
|
14
64
|
}
|
|
15
65
|
export interface GridSeedSpec {
|
|
16
|
-
|
|
17
|
-
|
|
66
|
+
readonly canvas: PixelSize;
|
|
67
|
+
readonly cells: readonly GridSeedCell[];
|
|
18
68
|
}
|
|
19
69
|
/**
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
70
|
+
* The label for one source.
|
|
71
|
+
*
|
|
72
|
+
* A name we could not read is not a reason to paint an anonymous rectangle: the
|
|
73
|
+
* DEVICE ID is what every log line about that tile carries, so it is the one
|
|
74
|
+
* label an operator can act on. A blank or whitespace name is treated as no
|
|
75
|
+
* name for the same reason.
|
|
76
|
+
*/
|
|
27
77
|
export declare function gridSeedName(names: ReadonlyMap<number, string>, deviceId: number): string;
|
|
28
78
|
/**
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
79
|
+
* The seed a tile plan implies — pure, and the plan is the ONLY input to the
|
|
80
|
+
* geometry. A card is its tile's rectangle, never a recomputed one.
|
|
81
|
+
*/
|
|
32
82
|
export declare function buildGridSeedSpec(plan: GridTilePlan, names: ReadonlyMap<number, string>): GridSeedSpec;
|
|
33
83
|
/**
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
84
|
+
* The document the seed is rasterized from.
|
|
85
|
+
*
|
|
86
|
+
* No full-bleed background: the uncovered part of a canvas is NOT a cell — the
|
|
87
|
+
* cells need not cover it (`grid-canvas-derivation.ts`) — and painting a card's
|
|
88
|
+
* treatment over it would say "waiting" about a tile that does not exist. It
|
|
89
|
+
* stays the canvas' own black.
|
|
90
|
+
*
|
|
91
|
+
* Each card clips its own text. A camera named for a whole street would
|
|
92
|
+
* otherwise spill across the cell next to it, and a label on the wrong tile is
|
|
93
|
+
* worse than a truncated one.
|
|
94
|
+
*/
|
|
45
95
|
export declare function buildGridSeedSvg(spec: GridSeedSpec): string;
|
|
46
96
|
/**
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
97
|
+
* Packed RGB → yuv420p, once.
|
|
98
|
+
*
|
|
99
|
+
* Chroma is the average of each 2×2 block's colour, converted once per block —
|
|
100
|
+
* which is what 4:2:0 means, and what keeps a card's border from fringing.
|
|
101
|
+
* Sizes must be even; the canvas refuses anything else, so a caller that got
|
|
102
|
+
* here with an odd size has a bug the blit would hide.
|
|
103
|
+
*/
|
|
54
104
|
export declare function rgbToYuv420p(rgb: Buffer, size: PixelSize): Buffer;
|
|
55
105
|
/**
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
106
|
+
* Render the seed as one yuv420p frame the canvas can take whole.
|
|
107
|
+
*
|
|
108
|
+
* Rejects on failure rather than answering black: the caller decides, and it
|
|
109
|
+
* decides to carry on without a seed — a grid that would not start because its
|
|
110
|
+
* placeholder would not draw is a worse grid than one that starts black.
|
|
111
|
+
*/
|
|
62
112
|
export declare function renderGridSeed(spec: GridSeedSpec): Promise<Buffer>;
|