@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,27 +1,53 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* ONE JPEG out of a composition that is already running.
|
|
3
|
+
*
|
|
4
|
+
* ## Why this is not the ffmpeg primitive
|
|
5
|
+
*
|
|
6
|
+
* `FfmpegProcess` + `buildFfmpegArgs` own the STREAM job: a long-lived encode
|
|
7
|
+
* with a hardware cascade, a first-data deadline and a bounded restart. This is
|
|
8
|
+
* the other kind — run-to-completion, no encode plan worth sharing, finishes or
|
|
9
|
+
* is killed — which is the class `scripts/check-ffmpeg-primitive.ts` already
|
|
10
|
+
* carves out by name for `recorder/still/still-frame-service.ts` ("single-JPEG
|
|
11
|
+
* still grab") and `builtins/snapshot/snapshot.addon.ts` ("keyframe snapshot
|
|
12
|
+
* grab"). It is the same job as those two, on a pipe instead of a URL.
|
|
13
|
+
*
|
|
14
|
+
* ## Why a pipe and not the grid's own URL
|
|
15
|
+
*
|
|
16
|
+
* Dialling the relay would be a CONSUMER, and a consumer of a cold grid starts
|
|
17
|
+
* the composition — N broker acquisitions for a thumbnail, which is the one
|
|
18
|
+
* thing the operator ruled out. Reading the bytes of a session that is ALREADY
|
|
19
|
+
* running costs nothing: the child is up, the packets are being produced, and
|
|
20
|
+
* this just takes a copy of them.
|
|
21
|
+
*
|
|
22
|
+
* Bounded on both ends. A composition whose first key frame is far away must
|
|
23
|
+
* not hold an ffmpeg (or this promise) open for ever, so the grab has a
|
|
24
|
+
* deadline and the child is killed at it — a snapshot that did not arrive is
|
|
25
|
+
* `null`, and `null` is a real answer.
|
|
26
|
+
*/
|
|
27
|
+
import { spawn as nodeSpawn } from "node:child_process";
|
|
28
|
+
import type { GridStreamLogger } from "./grid-stream-session.js";
|
|
3
29
|
export type GridSpawn = typeof nodeSpawn;
|
|
4
30
|
export interface GridFrameSamplerOptions {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
31
|
+
readonly binaryPath: string;
|
|
32
|
+
readonly logger: GridStreamLogger;
|
|
33
|
+
readonly timeoutMs?: number;
|
|
34
|
+
/** Injectable for tests. */
|
|
35
|
+
readonly spawnFn?: GridSpawn;
|
|
10
36
|
}
|
|
11
37
|
/** How a caller feeds the sampler: it hands over chunks and a way to stop. */
|
|
12
38
|
export interface GridFrameSource {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
39
|
+
/** Start receiving MPEG-TS chunks. Returns the handle that stops them. */
|
|
40
|
+
attach(onChunk: (chunk: Buffer) => void): {
|
|
41
|
+
close(): void;
|
|
42
|
+
} | null;
|
|
17
43
|
}
|
|
18
44
|
export declare class GridFrameSampler {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
45
|
+
private readonly options;
|
|
46
|
+
constructor(options: GridFrameSamplerOptions);
|
|
47
|
+
/**
|
|
48
|
+
* @returns the JPEG, or `null` — a grab that produced nothing, could not be
|
|
49
|
+
* attached, or ran out of time. Every one of those is logged with the
|
|
50
|
+
* device: a branch that accepts the request and produces nothing must say so.
|
|
51
|
+
*/
|
|
52
|
+
sample(deviceId: number, source: GridFrameSource): Promise<Buffer | null>;
|
|
27
53
|
}
|
|
@@ -1,52 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}, z.core.$strip>;
|
|
22
|
-
export type GridCellConfig = z.infer<typeof GridCellSchema>;
|
|
23
|
-
declare const GridInstanceSchema: z.ZodObject<{
|
|
24
|
-
id: z.ZodString;
|
|
25
|
-
cameraStableId: z.ZodString;
|
|
26
|
-
name: z.ZodString;
|
|
27
|
-
enabled: z.ZodBoolean;
|
|
28
|
-
fps: z.ZodNumber;
|
|
29
|
-
publishedProfiles: z.ZodDefault<z.ZodArray<z.ZodEnum<{
|
|
30
|
-
high: "high";
|
|
31
|
-
mid: "mid";
|
|
32
|
-
low: "low";
|
|
33
|
-
}>>>;
|
|
34
|
-
cells: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
35
|
-
deviceId: z.ZodNumber;
|
|
36
|
-
source: z.ZodObject<{
|
|
37
|
-
x: z.ZodNumber;
|
|
38
|
-
y: z.ZodNumber;
|
|
39
|
-
width: z.ZodNumber;
|
|
40
|
-
height: z.ZodNumber;
|
|
41
|
-
}, z.core.$strip>;
|
|
42
|
-
cell: z.ZodObject<{
|
|
43
|
-
x: z.ZodNumber;
|
|
44
|
-
y: z.ZodNumber;
|
|
45
|
-
width: z.ZodNumber;
|
|
46
|
-
height: z.ZodNumber;
|
|
47
|
-
}, z.core.$strip>;
|
|
48
|
-
}, z.core.$strip>>>;
|
|
49
|
-
}, z.core.$strip>;
|
|
50
|
-
export type GridInstance = z.infer<typeof GridInstanceSchema>;
|
|
1
|
+
type NormalizedRect = {
|
|
2
|
+
x: number;
|
|
3
|
+
y: number;
|
|
4
|
+
width: number;
|
|
5
|
+
height: number;
|
|
6
|
+
};
|
|
7
|
+
export type GridCellConfig = {
|
|
8
|
+
deviceId: number;
|
|
9
|
+
source: NormalizedRect;
|
|
10
|
+
cell: NormalizedRect;
|
|
11
|
+
};
|
|
12
|
+
export type GridInstance = {
|
|
13
|
+
id: string;
|
|
14
|
+
cameraStableId: string;
|
|
15
|
+
name: string;
|
|
16
|
+
enabled: boolean;
|
|
17
|
+
fps: number;
|
|
18
|
+
publishedProfiles: Array<"high" | "mid" | "low">;
|
|
19
|
+
cells: GridCellConfig[];
|
|
20
|
+
};
|
|
51
21
|
export declare function readGridInstances(raw: readonly Record<string, unknown>[], onInvalid?: (message: string) => void): readonly GridInstance[];
|
|
52
22
|
export {};
|
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
import { GridLastFrameStore } from
|
|
2
|
-
import { GridStreamLogger } from
|
|
1
|
+
import type { GridLastFrameStore } from "./grid-snapshot.js";
|
|
2
|
+
import type { GridStreamLogger } from "./grid-stream-session.js";
|
|
3
3
|
/**
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
4
|
+
* Exactly the filesystem this store touches, so a caller can hand it a
|
|
5
|
+
* different one and a spec can hand it a broken one.
|
|
6
|
+
*
|
|
7
|
+
* The four calls are `node:fs/promises`' own shapes, narrowed to the single
|
|
8
|
+
* overload used here — that is what makes `promises` assignable to it with no
|
|
9
|
+
* cast.
|
|
10
|
+
*/
|
|
11
11
|
export interface GridFrameFs {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
mkdir(dir: string, options: {
|
|
13
|
+
readonly recursive: true;
|
|
14
|
+
}): Promise<string | undefined>;
|
|
15
|
+
writeFile(path: string, data: Buffer): Promise<void>;
|
|
16
|
+
rename(from: string, to: string): Promise<void>;
|
|
17
|
+
readFile(path: string): Promise<Buffer>;
|
|
18
18
|
}
|
|
19
19
|
export interface GridLastFrameFileStoreOptions {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
20
|
+
/** `ctx.dataDir` — the addon's exclusive directory. */
|
|
21
|
+
readonly dataDir: string;
|
|
22
|
+
/** Where a dropped frame is named. A silent drop reads as "never happened". */
|
|
23
|
+
readonly logger: GridStreamLogger;
|
|
24
|
+
readonly minIntervalMs?: number;
|
|
25
|
+
/** Injectable for tests; `Date.now` otherwise. */
|
|
26
|
+
readonly now?: () => number;
|
|
27
|
+
/** Injectable for tests; `node:fs/promises` otherwise. */
|
|
28
|
+
readonly fs?: GridFrameFs;
|
|
29
|
+
/** The bound on how long the caller waits on the disk. */
|
|
30
|
+
readonly deadlineMs?: number;
|
|
31
31
|
}
|
|
32
32
|
export declare class GridLastFrameFileStore implements GridLastFrameStore {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
33
|
+
private readonly dir;
|
|
34
|
+
private readonly minIntervalMs;
|
|
35
|
+
private readonly now;
|
|
36
|
+
private readonly fs;
|
|
37
|
+
private readonly deadlineMs;
|
|
38
|
+
private readonly logger;
|
|
39
|
+
/** Last write per device, so the throttle survives without touching disk. */
|
|
40
|
+
private readonly lastWriteMs;
|
|
41
|
+
constructor(options: GridLastFrameFileStoreOptions);
|
|
42
|
+
put(deviceId: number, jpeg: Buffer): Promise<void>;
|
|
43
|
+
get(deviceId: number): Promise<Buffer | null>;
|
|
44
|
+
/**
|
|
45
|
+
* Run one piece of disk work, and answer `fallback` whether it REFUSES or
|
|
46
|
+
* never answers at all.
|
|
47
|
+
*
|
|
48
|
+
* The `try/catch` this replaces covered only the first of those. Measured on
|
|
49
|
+
* the CI runner (Linux, root, in a container) 2026-09-20: `fs.mkdir` with
|
|
50
|
+
* `recursive: true` under a parent that cannot hold a directory never
|
|
51
|
+
* settles — procfs answers ENOENT and Node's recursive mkdir retries the
|
|
52
|
+
* child forever — and `put` is AWAITED on the snapshot answer path, so the
|
|
53
|
+
* grid's snapshot RPC never answered either. An exception is not the only
|
|
54
|
+
* way the disk says no.
|
|
55
|
+
*/
|
|
56
|
+
private bounded;
|
|
57
|
+
private pathFor;
|
|
58
58
|
}
|
|
@@ -1,8 +1,34 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* The `camera-grid-layout` provider, contribution included.
|
|
3
|
+
*
|
|
4
|
+
* ## Why the section lives on the DEVICE provider and not on the addon
|
|
5
|
+
*
|
|
6
|
+
* `camera-grid-layout` is registered per device, through
|
|
7
|
+
* `DeviceContext.registerNativeCap`. `child-cap-dispatch` resolves a call that
|
|
8
|
+
* carries a `deviceId` to the device-scoped provider FIRST, and when the method
|
|
9
|
+
* is absent there it throws rather than falling back to the singleton — the
|
|
10
|
+
* fallback exists only for a collection cap's list method. Every contribution
|
|
11
|
+
* method carries a `deviceId` by definition, so an addon-level wrapper is
|
|
12
|
+
* simply never reached: it registered, it type-checked, and the live hub
|
|
13
|
+
* answered HTTP 500 with
|
|
14
|
+
* `method 'getDeviceSettingsContribution' not found on provider
|
|
15
|
+
* 'camera-grid-layout'`.
|
|
16
|
+
*
|
|
17
|
+
* That is why the whole provider is built here, in one place, and handed to
|
|
18
|
+
* `registerNativeCap` as a single object. `exposesDeviceSettings` widens
|
|
19
|
+
* `InferProvider` and not `InferNativeProvider`, so the type below is the wider
|
|
20
|
+
* one; registering it is safe because a native registration only ever needs a
|
|
21
|
+
* SUBSET of what this carries.
|
|
22
|
+
*
|
|
23
|
+
* The refusal (D526) rides along: a device the addon cannot name as a grid gets
|
|
24
|
+
* `null`, so a camera that is not a grid gets no section at all rather than a
|
|
25
|
+
* panel that renders its own emptiness.
|
|
26
|
+
*/
|
|
27
|
+
import { type GridLayoutPatch, type GridLayoutView, type ICameraGridLayoutSettingsProvider } from "@camstack/types";
|
|
2
28
|
/** What the provider needs from the running addon — nothing more. */
|
|
3
29
|
export interface GridLayoutSource {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
30
|
+
/** The grid behind a device, or `null` — "answered: not a grid". */
|
|
31
|
+
getLayout(deviceId: number): GridLayoutView | null;
|
|
32
|
+
saveLayout(patch: GridLayoutPatch): Promise<GridLayoutView>;
|
|
7
33
|
}
|
|
8
34
|
export declare function buildGridLayoutNativeProvider(source: GridLayoutSource): ICameraGridLayoutSettingsProvider;
|
|
@@ -1,24 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/**
|
|
2
|
+
* A persisted grid row → the composition plan the stream session runs.
|
|
3
|
+
*
|
|
4
|
+
* The one piece of real work here is the source→ordinal mapping. The operator
|
|
5
|
+
* authors cells against CAMERAS; ffmpeg addresses them by INPUT ORDINAL, and a
|
|
6
|
+
* camera used by two cells must be ONE input. Two views of one camera — a wide
|
|
7
|
+
* shot and a crop of the same street — is the case a composite is asked for
|
|
8
|
+
* most often, and decoding it twice doubles the expensive half of the job for
|
|
9
|
+
* no extra picture.
|
|
10
|
+
*/
|
|
11
|
+
import type { FfmpegVideoEncoderId } from "@camstack/types";
|
|
12
|
+
import type { GridInstance } from "./grid-instances.js";
|
|
13
|
+
import type { GridStreamPlan } from "./grid-stream-session.js";
|
|
4
14
|
export interface GridPlanEncodeContext {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
15
|
+
readonly encoder: FfmpegVideoEncoderId;
|
|
16
|
+
readonly decodeHwAccel: string | null;
|
|
17
|
+
/**
|
|
18
|
+
* The canvas to compose onto. REQUIRED, and never authored: each profile
|
|
19
|
+
* derives its own from the cells and its sources' size
|
|
20
|
+
* (`grid-canvas-derivation.ts`). It used to fall back to two numbers the
|
|
21
|
+
* operator typed into the editor, and that field is gone — it silently
|
|
22
|
+
* decided both what the composite cost and how sharp it was.
|
|
23
|
+
*
|
|
24
|
+
* The geometry needs no second version of itself: every rectangle is
|
|
25
|
+
* normalized on both sides (D519), so the same fractions land correctly on a
|
|
26
|
+
* canvas of any size.
|
|
27
|
+
*/
|
|
28
|
+
readonly canvas: {
|
|
29
|
+
readonly width: number;
|
|
30
|
+
readonly height: number;
|
|
31
|
+
};
|
|
22
32
|
}
|
|
23
33
|
/** `null` when the grid has nothing to compose — the normal freshly-created state. */
|
|
24
34
|
export declare function gridPlanFor(instance: GridInstance, encode: GridPlanEncodeContext): GridStreamPlan | null;
|
|
@@ -1,13 +1,53 @@
|
|
|
1
|
-
import { CamProfile } from '@camstack/types';
|
|
2
|
-
import { PixelSize } from './grid-canvas.js';
|
|
3
|
-
import { NormalizedRect } from './grid-filter-graph.js';
|
|
4
1
|
/**
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
2
|
+
* A grid publishes one composition PER PROFILE, each made of the matching
|
|
3
|
+
* profile of every source, on the canvas that profile implies.
|
|
4
|
+
*
|
|
5
|
+
* ## The shape, and the two wrong ones before it
|
|
6
|
+
*
|
|
7
|
+
* D519 shipped a single `high` stream. Then came one composition per profile,
|
|
8
|
+
* on a SCALED copy of a canvas the operator typed in — and the operator's
|
|
9
|
+
* adaptive tore one down and built another at every rung, because each was a
|
|
10
|
+
* whole separate composition with its own decodes and its own key-frame waits
|
|
11
|
+
* (hub log, 2026-09-18: `mid` at 13:03:18, `low` at 13:03:28). D528 then
|
|
12
|
+
* collapsed it to ONE output to stop the rebuilds, and that lost the adaptive
|
|
13
|
+
* a rung to stand on.
|
|
14
|
+
*
|
|
15
|
+
* The rebuild was never the profiles' fault. It was that a rebuild used to mean
|
|
16
|
+
* a blank screen for as long as the slowest source took to produce a key frame.
|
|
17
|
+
* With the composition driven by an output clock (D530) a rebuild shows the
|
|
18
|
+
* picture at once and fills the cells in, so three matched profiles cost what
|
|
19
|
+
* they are worth and nothing more.
|
|
20
|
+
*
|
|
21
|
+
* ## 1:1, and the canvas follows
|
|
22
|
+
*
|
|
23
|
+
* A grid's `low` composes its sources' `low`; its `high` their `high`. Nothing
|
|
24
|
+
* is chosen and nothing is mapped — which is what lets a viewer's adaptive do
|
|
25
|
+
* its ordinary job without knowing a grid is a grid.
|
|
26
|
+
*
|
|
27
|
+
* The canvas is not typed in either: each profile derives its own from the
|
|
28
|
+
* cells and the sources' size AT THAT PROFILE (`grid-canvas-derivation.ts`).
|
|
29
|
+
* So the three outputs are each 1:1 with what they are made of, and the cost of
|
|
30
|
+
* a rung is the cost of the pictures in it.
|
|
31
|
+
*
|
|
32
|
+
* ## What is refused
|
|
33
|
+
*
|
|
34
|
+
* A profile is offered only when EVERY source serves it. Not "at least one": a
|
|
35
|
+
* cell whose source has no `low` cannot be filled, and a composition with a
|
|
36
|
+
* hole reads to an operator as a broken camera, not as an unassigned profile
|
|
37
|
+
* three cameras away. An UNKNOWN answer is a refusal, never an offer (D315).
|
|
38
|
+
* The refusal names the sources, because "the grid has no low" is not a finding
|
|
39
|
+
* — "615 has no low" is.
|
|
40
|
+
*/
|
|
41
|
+
import type { CamProfile } from "@camstack/types";
|
|
42
|
+
import type { PixelSize } from "./grid-canvas.js";
|
|
43
|
+
import type { NormalizedRect } from "./grid-filter-graph.js";
|
|
44
|
+
/**
|
|
45
|
+
* One id per profile, for every grid, forever.
|
|
46
|
+
*
|
|
47
|
+
* D519's reason is what keeps `high`'s id bare: a newly-spelled id mints a
|
|
48
|
+
* second cam-stream and orphans whatever profile assignment the operator had
|
|
49
|
+
* made. `grid` was `high` on the live hub before any of this and still is.
|
|
50
|
+
*/
|
|
11
51
|
export declare const GRID_CAM_STREAM_ID = "grid";
|
|
12
52
|
/** Every profile a grid can compose, in descending quality. */
|
|
13
53
|
export declare const GRID_PROFILES: readonly CamProfile[];
|
|
@@ -15,50 +55,50 @@ export declare const GRID_PROFILES: readonly CamProfile[];
|
|
|
15
55
|
export declare function gridCamStreamId(profile: CamProfile): string;
|
|
16
56
|
/** One stream a camera serves, with the size the canvas is derived from. */
|
|
17
57
|
export interface ServedProfile {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
58
|
+
readonly profile: CamProfile;
|
|
59
|
+
readonly width: number;
|
|
60
|
+
readonly height: number;
|
|
21
61
|
}
|
|
22
62
|
/** One cell: which part of which source, and where it lands. */
|
|
23
63
|
export interface GridSourceCell {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
64
|
+
readonly deviceId: number;
|
|
65
|
+
readonly source: NormalizedRect;
|
|
66
|
+
readonly cell: NormalizedRect;
|
|
27
67
|
}
|
|
28
68
|
export interface GridProfilePlansInput {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
69
|
+
readonly cells: readonly GridSourceCell[];
|
|
70
|
+
/**
|
|
71
|
+
* Which profiles the operator wants published. A profile that is not in here
|
|
72
|
+
* is still SIZED and reported — the editor shows what it would come out as,
|
|
73
|
+
* so turning it on is a decision made with the number in view — but it is not
|
|
74
|
+
* offered to the broker.
|
|
75
|
+
*/
|
|
76
|
+
readonly publishedProfiles: readonly CamProfile[];
|
|
77
|
+
/**
|
|
78
|
+
* Which streams this source serves, or `null` when nobody could say. `null`
|
|
79
|
+
* is not an empty list: an unanswerable question is a refusal, and saying so
|
|
80
|
+
* separately keeps "we did not ask" out of the catalog.
|
|
81
|
+
*/
|
|
82
|
+
readonly profilesServedBy: (deviceId: number) => readonly ServedProfile[] | null;
|
|
43
83
|
}
|
|
44
84
|
export type GridProfilePlan = {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
85
|
+
readonly profile: CamProfile;
|
|
86
|
+
readonly offered: true;
|
|
87
|
+
readonly canvas: PixelSize;
|
|
88
|
+
/** False ⇒ serviceable, sized, and deliberately not published. */
|
|
89
|
+
readonly published: boolean;
|
|
50
90
|
} | {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
91
|
+
readonly profile: CamProfile;
|
|
92
|
+
readonly offered: false;
|
|
93
|
+
/** The sources that cannot serve it. Empty only when there are none at all. */
|
|
94
|
+
readonly missingSources: readonly number[];
|
|
55
95
|
};
|
|
56
96
|
/**
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
97
|
+
* What this grid can honestly publish, per profile, with the canvas or the
|
|
98
|
+
* refusal.
|
|
99
|
+
*
|
|
100
|
+
* Every profile gets a row whether it is offered or not: an absent row says
|
|
101
|
+
* nothing, and the caller logging a refusal needs the reason more than the
|
|
102
|
+
* caller publishing an offer needs the offer.
|
|
103
|
+
*/
|
|
64
104
|
export declare function gridProfilePlans(input: GridProfilePlansInput): readonly GridProfilePlan[];
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export interface NormalizedGridRows {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
readonly rows: readonly Record<string, unknown>[];
|
|
3
|
+
/** `true` when the rows differ from what was read, i.e. they must be persisted. */
|
|
4
|
+
readonly changed: boolean;
|
|
5
5
|
}
|
|
6
6
|
/**
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
* @param mintId a UUID factory — injected so the normalization is testable
|
|
8
|
+
* without reaching for `crypto`.
|
|
9
|
+
*/
|
|
10
10
|
export declare function normalizeGridRows(raw: readonly Record<string, unknown>[], mintId: () => string): NormalizedGridRows;
|
|
@@ -1,64 +1,64 @@
|
|
|
1
1
|
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
2
|
+
* Which URL a grid dials for one source: the live stream, or the SENTRY one.
|
|
3
|
+
*
|
|
4
|
+
* ## What "sentryMuted" turned out to be
|
|
5
|
+
*
|
|
6
|
+
* The operator asked for a stream that *"non esiste ancora"* [does not exist yet]. It half did.
|
|
7
|
+
* `SENTRY_PATH_SUFFIX` has existed since the sentry shipped. What did not exist is the
|
|
8
|
+
* WRITER that turns an acquired restream url into that dial, and the broker
|
|
9
|
+
* telling a consumer whether one is on offer. Both are now in
|
|
10
|
+
* `addon-pipeline/src/stream-broker`: `withSentryIntent`, and `sentryUrl` on
|
|
11
|
+
* the `getStreamWithCodec` result.
|
|
12
|
+
*
|
|
13
|
+
* ## It is NOT muted, and this comment used to say it was
|
|
14
|
+
*
|
|
15
|
+
* `parseRestreamPath` answered `muted: true` for `/sentry` when this was
|
|
16
|
+
* written, and D525 changed it to `false` the next day: the mute belonged to
|
|
17
|
+
* the PLACEHOLDER, not to the path. The track is announced and FILLED — silence
|
|
18
|
+
* while the still picture is served, the camera's own RTP the instant media
|
|
19
|
+
* flows — because a decision taken from a string is taken once and RTSP cannot
|
|
20
|
+
* renegotiate, so `true` there meant a sentry consumer could never receive
|
|
21
|
+
* audio, awake or asleep.
|
|
22
|
+
*
|
|
23
|
+
* A grid takes no audio from any source (`audio: 'none'`), so nothing about the
|
|
24
|
+
* composite changes either way. The correction is here because the old sentence
|
|
25
|
+
* described the design that was REPLACED, which is the one kind of comment that
|
|
26
|
+
* reads as verification.
|
|
27
|
+
*
|
|
28
|
+
* ## The rule, and the fallback it refuses
|
|
29
|
+
*
|
|
30
|
+
* An offered sentry is TAKEN. There is no sleep check and no fallback, and that
|
|
31
|
+
* is deliberate: "use the sentry if the camera is asleep, otherwise the live
|
|
32
|
+
* stream" reads reasonable and is exactly the wake. Whether a battery camera is
|
|
33
|
+
* asleep right now is a fact that changes between the read and the dial, and
|
|
34
|
+
* the dial is what wakes it. The ONE question asked is the one the broker
|
|
35
|
+
* already owns — is this camera offered a sentry at all — and the broker only
|
|
36
|
+
* offers it to a battery camera that declares the signals cap.
|
|
37
|
+
*
|
|
38
|
+
* ## What the operator sees
|
|
39
|
+
*
|
|
40
|
+
* A cell whose source is asleep composes that camera's last picture, held, for
|
|
41
|
+
* as long as it sleeps — visible, legible, and obviously not moving. The two
|
|
42
|
+
* alternatives are the ones D519 and the sentry both exist to refuse: dropping
|
|
43
|
+
* the cell (a hole an operator files as a broken grid) and dialling the camera
|
|
44
|
+
* (eleven seconds of battery for five seconds of video, measured on device 640).
|
|
45
|
+
*/
|
|
46
46
|
/** What `streamBroker.getStreamWithCodec` handed back for one source. */
|
|
47
47
|
export interface GridSourceAcquisition {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
48
|
+
readonly url: string;
|
|
49
|
+
/**
|
|
50
|
+
* The sentry counterpart, when the BROKER offers one. Absent and `null` mean
|
|
51
|
+
* the same thing — this camera has no sentry — and neither is ever resolved
|
|
52
|
+
* into the live url by guessing.
|
|
53
|
+
*/
|
|
54
|
+
readonly sentryUrl?: string | null;
|
|
55
|
+
readonly pipelineKey: string;
|
|
56
56
|
}
|
|
57
57
|
export interface GridSourceDial {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
58
|
+
readonly url: string;
|
|
59
|
+
/** The key the acquisition was issued under — releasing anything else leaks a dial. */
|
|
60
|
+
readonly pipelineKey: string;
|
|
61
|
+
/** What this cell is actually reading. Logged, so a still cell is never a mystery. */
|
|
62
|
+
readonly mode: "live" | "sentry";
|
|
63
63
|
}
|
|
64
64
|
export declare function gridSourceDial(acquired: GridSourceAcquisition): GridSourceDial;
|