@camstack/system 1.2.389 → 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 -93
- package/dist/builtins/system-config/system-config.addon.js +46 -33
- package/dist/builtins/system-config/system-config.addon.mjs +46 -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,96 +1,96 @@
|
|
|
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
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
2
|
+
* Pure reconciliation core for the remote-access orchestrator's durable
|
|
3
|
+
* `enabledProviders` set (D8 delivery-rule fix).
|
|
4
|
+
*
|
|
5
|
+
* Why this module exists
|
|
6
|
+
* ----------------------
|
|
7
|
+
* `enabledProviders: string[]` is the operator's "auto-start on boot"
|
|
8
|
+
* intent — a DURABLE setting. Historically it was written ONLY from two
|
|
9
|
+
* fire-and-forget bus events (`NetworkTunnelStarted` / `Stopped`). A
|
|
10
|
+
* dropped event (hub restart, addon crash-respawn, hub↔orchestrator
|
|
11
|
+
* partition) silently diverges the persisted set from reality:
|
|
12
|
+
* - dropped `Started` → tunnel running, not recorded → no auto-start
|
|
13
|
+
* - dropped `Stopped` → tunnel stopped, still recorded → boot restarts
|
|
14
|
+
* an operator-stopped tunnel.
|
|
15
|
+
*
|
|
16
|
+
* A durable setting must not be written by a lossy event. The fix is an
|
|
17
|
+
* idempotent reconcile pass that pulls authoritative state via an
|
|
18
|
+
* ACKNOWLEDGED RPC (`network-access` cap `getStatus`) on every provider
|
|
19
|
+
* (re)connect — mirroring the kernel readiness-registry hydration via
|
|
20
|
+
* `$readiness.getSnapshot`. The lifecycle events stay (still fine for
|
|
21
|
+
* live UI dashboards); only the PERSISTENCE WRITE moves to the RPC pull.
|
|
22
|
+
*
|
|
23
|
+
* Reconcile semantics — ADD-ONLY (deliberately conservative)
|
|
24
|
+
* ----------------------------------------------------------
|
|
25
|
+
* `connected: true` from an acked RPC is UNAMBIGUOUS: the tunnel is up,
|
|
26
|
+
* so the operator must have started it → safe to ADD to `enabledProviders`
|
|
27
|
+
* (recovers a dropped `NetworkTunnelStarted` event).
|
|
28
|
+
*
|
|
29
|
+
* `connected: false` is AMBIGUOUS:
|
|
30
|
+
* - Provider registered but not yet started (normal cold-boot state,
|
|
31
|
+
* BEFORE `autoStartEnabledProviders` has called `start()`).
|
|
32
|
+
* - Provider transiently down (network blip, restart in progress).
|
|
33
|
+
* - Provider intentionally stopped by the operator.
|
|
34
|
+
* `getStatus()` reports connectivity, NOT operator intent. Acting on
|
|
35
|
+
* `connected: false` would wipe `enabledProviders` on every hub restart
|
|
36
|
+
* (providers re-register ~15-20 s before `start()` is called), defeating
|
|
37
|
+
* the purpose of the durable enabled-set. Therefore the reconcile pass
|
|
38
|
+
* NEVER removes on `connected: false`.
|
|
39
|
+
*
|
|
40
|
+
* Removal of operator intent stays event-driven (`NetworkTunnelStopped`
|
|
41
|
+
* → `markEnabled(id, false)`). That event is emitted synchronously by
|
|
42
|
+
* the provider's own `stop()` call — it is the reliable signal that the
|
|
43
|
+
* operator actually stopped the tunnel. A failed/absent RPC probe also
|
|
44
|
+
* leaves the provider untouched.
|
|
45
|
+
*
|
|
46
|
+
* // Follow-up: covering the dropped-`Stopped` direction (a `Stopped`
|
|
47
|
+
* // event lost → tunnel stopped but still in enabledProviders → boot
|
|
48
|
+
* // wrongly restarts it) would require a provider-side persisted
|
|
49
|
+
* // operator-intent flag that `getStatus()` surfaces. That is a larger
|
|
50
|
+
* // multi-addon change (the audit's "approach 2") and is OUT OF SCOPE
|
|
51
|
+
* // for this backstop. The current fix covers the higher-impact direction
|
|
52
|
+
* // (dropped `Started` → operator's running tunnel not auto-restarted).
|
|
53
|
+
*
|
|
54
|
+
* The function is pure: the addon owns the RPC fan-out + the persist
|
|
55
|
+
* call, so this core is unit-testable without a CapabilityRegistry.
|
|
56
|
+
*/
|
|
57
57
|
/**
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
58
|
+
* Outcome of one provider's `getStatus()` RPC probe.
|
|
59
|
+
*
|
|
60
|
+
* `ok: true` → the RPC was acknowledged; `connected` is authoritative.
|
|
61
|
+
* `ok: false` → the RPC threw / timed out; state is unknown and the
|
|
62
|
+
* provider's membership must be left as-is.
|
|
63
|
+
*/
|
|
64
64
|
export type ProviderProbeResult = {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
65
|
+
readonly addonId: string;
|
|
66
|
+
readonly ok: true;
|
|
67
|
+
readonly connected: boolean;
|
|
68
68
|
} | {
|
|
69
|
-
|
|
70
|
-
|
|
69
|
+
readonly addonId: string;
|
|
70
|
+
readonly ok: false;
|
|
71
71
|
};
|
|
72
72
|
export interface ReconcileResult {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
73
|
+
/** The corrected enabled-set, sorted for stable persistence. */
|
|
74
|
+
readonly nextEnabled: readonly string[];
|
|
75
|
+
/** `true` when `nextEnabled` differs from the input — caller persists only then. */
|
|
76
|
+
readonly changed: boolean;
|
|
77
|
+
/** addonIds added because an acked RPC reported them connected. */
|
|
78
|
+
readonly added: readonly string[];
|
|
79
|
+
/**
|
|
80
|
+
* Always empty — reconcile is add-only. Removal of operator intent is
|
|
81
|
+
* event-driven (`NetworkTunnelStopped`). Kept in the type so callers
|
|
82
|
+
* that log `result.removed` continue to compile without changes.
|
|
83
|
+
*/
|
|
84
|
+
readonly removed: readonly string[];
|
|
85
85
|
}
|
|
86
86
|
/**
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
87
|
+
* Reconcile the durable `enabledProviders` set against authoritative
|
|
88
|
+
* RPC probe results. Pure — no I/O. ADD-ONLY: only adds providers whose
|
|
89
|
+
* acked `getStatus()` reports `connected: true`. Never removes on
|
|
90
|
+
* `connected: false` — see module doc for the full rationale.
|
|
91
|
+
*
|
|
92
|
+
* @param currentEnabled - the persisted enabled-set before reconcile.
|
|
93
|
+
* @param probes - one entry per provider whose `getStatus()` RPC was
|
|
94
|
+
* attempted this pass. Providers absent from this list are untouched.
|
|
95
|
+
*/
|
|
96
96
|
export declare function reconcileEnabledProviders(currentEnabled: readonly string[], probes: readonly ProviderProbeResult[]): ReconcileResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { RemoteAccessOrchestratorAddon, default } from
|
|
1
|
+
export { RemoteAccessOrchestratorAddon, default } from "./remote-access-orchestrator.addon.js";
|
|
@@ -1,40 +1,71 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Remote-access orchestrator — backend-only boot-autostart service for
|
|
3
|
+
* the `network-access` collection (Cloudflare Tunnel, ngrok, Tailscale, …).
|
|
4
|
+
*
|
|
5
|
+
* Retired its `remote-access` facade cap (2026-05-15): the admin UI now
|
|
6
|
+
* talks to the `network-access` collection cap directly via generic
|
|
7
|
+
* per-`addonId` routing, so this addon registers NO capability.
|
|
8
|
+
*
|
|
9
|
+
* What it still owns — the load-bearing logic:
|
|
10
|
+
* The orchestrator owns the "operator wants this provider running"
|
|
11
|
+
* intent — an `enabledProviders: string[]` slice in its addon-store
|
|
12
|
+
* blob (BaseAddon.config). On boot we iterate the list and call
|
|
13
|
+
* `provider.start()` for each enabled entry, so a tunnel set up once
|
|
14
|
+
* stays up across hub restarts.
|
|
15
|
+
*
|
|
16
|
+
* Since start/stop no longer flow through this addon, the enabled-set
|
|
17
|
+
* is kept in sync from two sources:
|
|
18
|
+
* 1. `NetworkTunnelStarted` / `NetworkTunnelStopped` bus events —
|
|
19
|
+
* fast, but lossy (fire-and-forget broadcasts). They drive both
|
|
20
|
+
* the live UI and removal from the durable set (`Stopped` is the
|
|
21
|
+
* only reliable "operator stopped it" signal).
|
|
22
|
+
* 2. An RPC-driven ADD-ONLY RECONCILE pass (`reconcileEnabledProviders`)
|
|
23
|
+
* that pulls authoritative `connected` state via the `network-access`
|
|
24
|
+
* cap's `getStatus()` on every provider (re)connect. THIS covers
|
|
25
|
+
* dropped `NetworkTunnelStarted` events — if `connected: true` is
|
|
26
|
+
* acked, the provider is added to `enabledProviders`. It NEVER
|
|
27
|
+
* removes on `connected: false` because that signal is ambiguous
|
|
28
|
+
* (registered-not-yet-started vs transiently-down vs intentionally
|
|
29
|
+
* stopped). Running before `autoStartEnabledProviders` is safe:
|
|
30
|
+
* it can only add already-connected providers, never evict.
|
|
31
|
+
*/
|
|
32
|
+
import { BaseAddon, type ProviderRegistration } from "@camstack/types";
|
|
2
33
|
interface RemoteAccessOrchestratorConfig {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
34
|
+
/**
|
|
35
|
+
* addonIds the operator has explicitly Started. Auto-respawned on
|
|
36
|
+
* boot so a tunnel set up once stays up across hub restarts.
|
|
37
|
+
*/
|
|
38
|
+
readonly enabledProviders: readonly string[];
|
|
8
39
|
}
|
|
9
40
|
export declare class RemoteAccessOrchestratorAddon extends BaseAddon<RemoteAccessOrchestratorConfig> {
|
|
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
|
-
|
|
41
|
+
constructor();
|
|
42
|
+
protected onInitialize(): Promise<ProviderRegistration[]>;
|
|
43
|
+
/**
|
|
44
|
+
* Maintain the persisted `enabledProviders` set from a tunnel
|
|
45
|
+
* lifecycle event. `source.id` is `string | number`; `network-access`
|
|
46
|
+
* providers emit with `type: 'addon'` so it is always the addonId
|
|
47
|
+
* string. Non-string / non-addon sources are ignored defensively.
|
|
48
|
+
*/
|
|
49
|
+
private onTunnelLifecycle;
|
|
50
|
+
/**
|
|
51
|
+
* Probe every locally-visible `network-access` provider's
|
|
52
|
+
* `getStatus()` over RPC and reconcile the durable `enabledProviders`
|
|
53
|
+
* set against the result. This is the D8 backstop for dropped
|
|
54
|
+
* `NetworkTunnelStarted` events: if `connected: true` is acked, the
|
|
55
|
+
* provider is added to `enabledProviders`. ADD-ONLY — never removes on
|
|
56
|
+
* `connected: false` (see enabled-providers-reconcile.ts for rationale).
|
|
57
|
+
*
|
|
58
|
+
* `getStatus()` is an acknowledged cap RPC — a transport blip surfaces
|
|
59
|
+
* as a rejected promise (recorded as `ok: false`, membership left
|
|
60
|
+
* untouched), never as a silent lossy write. Runs on every provider
|
|
61
|
+
* (re)connect via the `watchCapability` hooks, mirroring the kernel
|
|
62
|
+
* readiness-registry hydration on `$node.connected`. Safe to call
|
|
63
|
+
* before `autoStartEnabledProviders`: add-only semantics mean it cannot
|
|
64
|
+
* wipe the enabled-set even when providers are registered-not-yet-started.
|
|
65
|
+
*/
|
|
66
|
+
private reconcileAndPersist;
|
|
67
|
+
private autoStartEnabledProviders;
|
|
68
|
+
private markEnabled;
|
|
69
|
+
private resolveImpl;
|
|
39
70
|
}
|
|
40
71
|
export default RemoteAccessOrchestratorAddon;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
* The ONE cast-free narrowing of the `device.state-changed` payload. The
|
|
3
|
+
* category is not part of the typed `EventCatalog` — every subscriber validates
|
|
4
|
+
* at the boundary, and the builtins share this one narrowing instead of a
|
|
5
|
+
* verbatim copy each (D659), like `./settle-sources.ts`; addons never import
|
|
6
|
+
* each other, and its consumers live in this package.
|
|
7
|
+
*/
|
|
8
8
|
/** Narrowed payload of a `DeviceStateChanged` bus event. */
|
|
9
9
|
export interface DeviceStateChangedData {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
readonly deviceId: number;
|
|
11
|
+
readonly capName: string;
|
|
12
|
+
readonly slice: Readonly<Record<string, unknown>>;
|
|
13
13
|
}
|
|
14
14
|
/** Structural narrowing helper for untrusted bus payloads. */
|
|
15
15
|
export declare function isRecord(value: unknown): value is Readonly<Record<string, unknown>>;
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
2
|
+
* settleSourcesWithTimeout — parallel, per-source-timeout fan-out shared by
|
|
3
|
+
* the addon-pages / addon-widgets aggregators.
|
|
4
|
+
*
|
|
5
|
+
* Each source is called concurrently and raced against `timeoutMs`. A source
|
|
6
|
+
* that rejects OR exceeds the timeout yields a `{ ok: false, error }` result
|
|
7
|
+
* instead of blocking or failing the whole batch. This is the defense that
|
|
8
|
+
* keeps ONE slow/unreachable source — e.g. an agent-hosted source whose cap
|
|
9
|
+
* call sits in a 30s Moleculer `waitForServices` — from stalling the
|
|
10
|
+
* aggregator's `listPages()/listWidgets()` (which otherwise hangs long enough
|
|
11
|
+
* to trip the admin-ui WS keepalive → "server unreachable") or blanking the
|
|
12
|
+
* sidebar. Entry order is preserved in the returned array.
|
|
13
|
+
*/
|
|
14
14
|
/** Per-source outcome: the source's items, or the error that prevented them. */
|
|
15
15
|
export type SourceResult<T> = {
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
readonly ok: true;
|
|
17
|
+
readonly value: readonly T[];
|
|
18
18
|
} | {
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
readonly ok: false;
|
|
20
|
+
readonly error: Error;
|
|
21
21
|
};
|
|
22
22
|
export declare function settleSourcesWithTimeout<T>(entries: ReadonlyArray<readonly [string, () => Promise<readonly T[]>]>, timeoutMs: number): Promise<ReadonlyArray<readonly [string, SourceResult<T>]>>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { SnapshotAddon } from
|
|
2
|
-
export { SnapshotAddon as default } from
|
|
1
|
+
export { SnapshotAddon } from "./snapshot.addon.js";
|
|
2
|
+
export { SnapshotAddon as default } from "./snapshot.addon.js";
|
|
@@ -1,108 +1,108 @@
|
|
|
1
1
|
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
2
|
+
* The per-device snapshot cache, keyed by (device, STREAM).
|
|
3
|
+
*
|
|
4
|
+
* It used to be keyed by device alone, and `getSnapshot` served the hit before
|
|
5
|
+
* it had resolved which stream the caller asked for — so `?streamId=low`
|
|
6
|
+
* silently returned whatever was already cached. In production that meant the
|
|
7
|
+
* 4K main frame: probing a live camera with `low`, `sub` and `high` returned
|
|
8
|
+
* three byte-identical 1.2 MB responses. The parameter existed, was documented,
|
|
9
|
+
* and did nothing.
|
|
10
|
+
*
|
|
11
|
+
* Two views still need to ask a device-wide question — "when did this camera
|
|
12
|
+
* last produce a frame" (`getSnapshotOverview`, `getStatus`) — so
|
|
13
|
+
* {@link SnapshotCache.latest} answers it across streams rather than making
|
|
14
|
+
* every caller guess a key.
|
|
15
|
+
*/
|
|
16
16
|
/** The cached frame. Structurally the addon's `SnapshotImage` — declared here
|
|
17
|
-
|
|
17
|
+
* rather than imported so the cache does not depend on the 1,100-line addon. */
|
|
18
18
|
export interface SnapshotCacheImage {
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
readonly base64: string;
|
|
20
|
+
readonly contentType: string;
|
|
21
21
|
}
|
|
22
22
|
export interface SnapshotCacheEntry {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
readonly data: SnapshotCacheImage;
|
|
24
|
+
readonly ts: number;
|
|
25
|
+
/** Stream id resolved at capture time — 'high' | 'mid' | 'low' | custom | null. */
|
|
26
|
+
readonly streamId: string | null;
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
29
|
+
* Byte budget across every cached frame.
|
|
30
|
+
*
|
|
31
|
+
* The cache shipped with NO bound of any kind: no TTL, no LRU, no size cap. It
|
|
32
|
+
* holds base64 JPEG payloads — a 4K main-stream frame is ~1.6 MB as base64 —
|
|
33
|
+
* keyed by (device, stream), so the ceiling was "every camera × every stream it
|
|
34
|
+
* was ever asked for", which is not a ceiling.
|
|
35
|
+
*
|
|
36
|
+
* 64 MiB is roughly 40 main-stream frames, comfortably above the live 27-camera
|
|
37
|
+
* roster's working set (the whole `snapshot` runner measures 185 MB RSS, of
|
|
38
|
+
* which the node baseline is ~130 MB), so nothing an operator does today starts
|
|
39
|
+
* evicting. It exists so a roster that grows, or a device that gets probed on
|
|
40
|
+
* many stream ids, cannot walk this structure into the OOM.
|
|
41
|
+
*/
|
|
42
42
|
export declare const SNAPSHOT_CACHE_MAX_BYTES: number;
|
|
43
43
|
/**
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
export declare const SNAPSHOT_CACHE_IDLE_TTL_MS =
|
|
44
|
+
* Drop an entry nobody has READ for this long.
|
|
45
|
+
*
|
|
46
|
+
* Deliberately an IDLE timeout and not a capture-age one. Capture age is
|
|
47
|
+
* already governed per device by `snapshotMaxAgeS` (default 15s, but one HOUR
|
|
48
|
+
* for battery cameras), so a TTL on age would either fight those rules or have
|
|
49
|
+
* to sit above the largest of them and bound nothing. "Nobody has looked at
|
|
50
|
+
* this in an hour" is orthogonal to freshness and is the actual condition under
|
|
51
|
+
* which the bytes are dead weight — a removed camera, an unreachable one, a
|
|
52
|
+
* stream id probed once by a debug view.
|
|
53
|
+
*/
|
|
54
|
+
export declare const SNAPSHOT_CACHE_IDLE_TTL_MS = 36e5;
|
|
55
55
|
/** Why an entry was dropped. `budget` = the byte ceiling; `idle` = unread for
|
|
56
|
-
|
|
57
|
-
export type SnapshotCacheEvictReason =
|
|
56
|
+
* {@link SNAPSHOT_CACHE_IDLE_TTL_MS}. */
|
|
57
|
+
export type SnapshotCacheEvictReason = "budget" | "idle";
|
|
58
58
|
/** Notified for every eviction so the owner can put it on the record with the
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
* device tag. A cached frame that vanishes is the explanation for a later
|
|
60
|
+
* capture that did not have to happen; silence reads as "never happened". */
|
|
61
61
|
export type SnapshotCacheEvictListener = (deviceId: number, streamId: string | null, reason: SnapshotCacheEvictReason) => void;
|
|
62
62
|
export interface SnapshotCacheOptions {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
63
|
+
/** Total base64 bytes held across all entries. Default {@link SNAPSHOT_CACHE_MAX_BYTES}. */
|
|
64
|
+
readonly maxBytes?: number;
|
|
65
|
+
/** Idle timeout. Default {@link SNAPSHOT_CACHE_IDLE_TTL_MS}. */
|
|
66
|
+
readonly idleTtlMs?: number;
|
|
67
|
+
/** Injected clock — the bounds must be testable without waiting an hour. */
|
|
68
|
+
readonly now?: () => number;
|
|
69
|
+
readonly onEvict?: SnapshotCacheEvictListener;
|
|
70
70
|
}
|
|
71
71
|
export declare class SnapshotCache {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
72
|
+
private readonly byKey;
|
|
73
|
+
/** deviceId → its live keys, so invalidation is O(streams) not O(cache). */
|
|
74
|
+
private readonly keysByDevice;
|
|
75
|
+
private readonly maxBytes;
|
|
76
|
+
private readonly idleTtlMs;
|
|
77
|
+
private readonly now;
|
|
78
|
+
private readonly onEvict;
|
|
79
|
+
private totalBytes;
|
|
80
|
+
constructor(options?: SnapshotCacheOptions);
|
|
81
|
+
get(deviceId: number, streamId: string | undefined): SnapshotCacheEntry | undefined;
|
|
82
|
+
set(deviceId: number, streamId: string | undefined, entry: SnapshotCacheEntry): void;
|
|
83
|
+
/** The newest entry for a device, whichever stream produced it. */
|
|
84
|
+
latest(deviceId: number): SnapshotCacheEntry | undefined;
|
|
85
|
+
/** Base64 bytes currently retained. The number the budget is enforced on. */
|
|
86
|
+
sizeBytes(): number;
|
|
87
|
+
/** Entries currently retained. */
|
|
88
|
+
entryCount(): number;
|
|
89
|
+
/** Read through the idle timeout: an entry nobody has touched inside
|
|
90
|
+
* `idleTtlMs` is dropped here rather than on a sweep, so the cost is paid by
|
|
91
|
+
* the caller that proves it was not wanted. */
|
|
92
|
+
private read;
|
|
93
|
+
/** Evict least-recently-ACCESSED first until the budget holds. `protectedKey`
|
|
94
|
+
* is the entry just written — evicting it would make `set` a no-op. */
|
|
95
|
+
private enforceBudget;
|
|
96
|
+
private evict;
|
|
97
|
+
/** Remove a key and everything that indexes or accounts for it. */
|
|
98
|
+
private forget;
|
|
99
|
+
/**
|
|
100
|
+
* Drop every stream of one device.
|
|
101
|
+
*
|
|
102
|
+
* Device-wide on purpose: a settings change or an operator refresh
|
|
103
|
+
* invalidates the CAMERA, and leaving a sibling entry behind would keep
|
|
104
|
+
* serving the pre-change frame from the other key.
|
|
105
|
+
*/
|
|
106
|
+
deleteDevice(deviceId: number): void;
|
|
107
|
+
clear(): void;
|
|
108
108
|
}
|