@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,147 +1,147 @@
|
|
|
1
1
|
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
* HubNodeRegistry — the single authority for which capabilities each
|
|
3
|
+
* cluster node provides. Holds the union of node manifests delivered by
|
|
4
|
+
* the D3 `$hub.registerNode` handshake; a node is dropped on
|
|
5
|
+
* `$node.disconnected`. Pure data — no Moleculer, no timers, no scan.
|
|
6
|
+
*/
|
|
7
7
|
/**
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
* A capability call function — routes a method call to a remote cap provider
|
|
9
|
+
* via Moleculer. Moved here from `capability-bridge.ts` when that file was
|
|
10
|
+
* deleted as part of the D3 clean-up (Task 11).
|
|
11
|
+
*/
|
|
12
12
|
type CallFn = (method: string, params: unknown, targetNodeId?: string) => Promise<unknown>;
|
|
13
13
|
/** One addon's contribution within a node's registration manifest. */
|
|
14
14
|
interface RegisteredAddonManifest {
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
readonly addonId: string;
|
|
16
|
+
readonly capabilities: readonly string[];
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
19
|
+
* One device-scoped native cap a node hosts, with the device ids that
|
|
20
|
+
* registered it and the addonId of the registering addon. Device-scoped
|
|
21
|
+
* native caps (`ctx.registerNativeCap` from a `BaseDevice` subclass) are
|
|
22
|
+
* registered per device AFTER the node's system caps, once background device
|
|
23
|
+
* restore completes — so the node re-handshakes carrying these once they are
|
|
24
|
+
* known (D3 idempotent replace).
|
|
25
|
+
*
|
|
26
|
+
* `addonId` is required for the hub to build the correct Moleculer proxy
|
|
27
|
+
* target (`<addonId>.native-provider.<capName>.<method>`). It replaces the
|
|
28
|
+
* pull-based `syncWorkerNativeCaps` discovery sweep (Task 13).
|
|
29
|
+
*/
|
|
30
30
|
interface RegisteredNativeCap {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
readonly capName: string;
|
|
32
|
+
readonly addonId: string;
|
|
33
|
+
readonly deviceIds: readonly number[];
|
|
34
34
|
}
|
|
35
35
|
/**
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
36
|
+
* A node's runtime-updatable ROOT package identity (`@camstack/server` — the
|
|
37
|
+
* single root package for every node role) — carried in the `registerNode`
|
|
38
|
+
* manifest so the hub knows every node's exact software version (design:
|
|
39
|
+
* runtime-updatable node packages, "visibility"). Version skew is SEEN in
|
|
40
|
+
* the UI instead of discovered via a black-hole.
|
|
41
|
+
*/
|
|
42
42
|
interface NodeRootPackageInfo {
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
readonly name: string;
|
|
44
|
+
readonly version: string;
|
|
45
45
|
}
|
|
46
46
|
/** Payload of the `$hub.registerNode` RPC — a node's COMPLETE manifest. */
|
|
47
47
|
interface RegisterNodeParams {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
48
|
+
readonly nodeId: string;
|
|
49
|
+
readonly addons: readonly RegisteredAddonManifest[];
|
|
50
|
+
/**
|
|
51
|
+
* Device-scoped native caps the node hosts. Optional — absent (or empty)
|
|
52
|
+
* on the FIRST handshake, populated by the re-handshake the node fires
|
|
53
|
+
* after `runWorkerDeviceRestoreWithRetry` completes. Each entry includes
|
|
54
|
+
* the registering `addonId` so the hub can build the correct Moleculer
|
|
55
|
+
* proxy target without the pull-based discovery sweep (Task 13).
|
|
56
|
+
*/
|
|
57
|
+
readonly nativeCaps?: readonly RegisteredNativeCap[];
|
|
58
|
+
/**
|
|
59
|
+
* SHA-256 hash of the node's cluster secret. Optional — absent
|
|
60
|
+
* when the node has no secret configured. Verified by the `registerNode`
|
|
61
|
+
* receiver; never carries the raw secret. (Cluster-secret registration gate.)
|
|
62
|
+
*/
|
|
63
|
+
readonly clusterSecretHash?: string;
|
|
64
|
+
/**
|
|
65
|
+
* The node's root-package identity. Optional — absent from UDS child
|
|
66
|
+
* manifests and pre-phase-2 agents; present on agents running the
|
|
67
|
+
* runtime-updatable root model.
|
|
68
|
+
*/
|
|
69
|
+
readonly rootPackage?: NodeRootPackageInfo;
|
|
70
70
|
}
|
|
71
71
|
/** Ack returned by `$hub.registerNode` — presence of `ok` is the signal. */
|
|
72
72
|
interface RegisterNodeResult {
|
|
73
|
-
|
|
73
|
+
readonly ok: true;
|
|
74
74
|
}
|
|
75
75
|
/** Flattened registry view: one row per (node, addon, capability). */
|
|
76
76
|
interface NodeCapEntry {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
77
|
+
readonly nodeId: string;
|
|
78
|
+
readonly addonId: string;
|
|
79
|
+
readonly capName: string;
|
|
80
80
|
}
|
|
81
81
|
/** Flattened native-cap view: one row per (node, native cap, device). */
|
|
82
82
|
interface NodeNativeCapEntry {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
83
|
+
readonly nodeId: string;
|
|
84
|
+
readonly addonId: string;
|
|
85
|
+
readonly capName: string;
|
|
86
|
+
readonly deviceId: number;
|
|
87
87
|
}
|
|
88
88
|
declare class HubNodeRegistry {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
89
|
+
/** nodeId → its complete addon manifest (last `registerNode` wins). */
|
|
90
|
+
private readonly nodes;
|
|
91
|
+
/** nodeId → its device-scoped native caps (last `registerNode` wins). */
|
|
92
|
+
private readonly nativeCaps;
|
|
93
|
+
/** nodeId → its root-package identity (last `registerNode` wins). */
|
|
94
|
+
private readonly rootPackages;
|
|
95
|
+
/**
|
|
96
|
+
* deviceId → flat native-cap entries for THAT device, across all nodes.
|
|
97
|
+
* Maintained incrementally on every `registerNode`/`removeNode` so a
|
|
98
|
+
* per-device lookup is O(caps-for-device) instead of flattening the whole
|
|
99
|
+
* cluster (`listNativeCapEntries()`) and filtering — the latter makes the
|
|
100
|
+
* per-device `getBindings`, run for every device in `getAllBindings`, an
|
|
101
|
+
* O(D²·C) boot-time hot spot. Insertion order mirrors `listNativeCapEntries`
|
|
102
|
+
* (node-registration order) so consumers that take the first match are
|
|
103
|
+
* unaffected.
|
|
104
|
+
*/
|
|
105
|
+
private readonly nativeCapsByDevice;
|
|
106
|
+
/**
|
|
107
|
+
* Drop every `nativeCapsByDevice` entry contributed by `nodeId`, reading the
|
|
108
|
+
* node's CURRENT (about-to-be-replaced) native caps to know which device
|
|
109
|
+
* rows it touched. Must run BEFORE `nativeCaps` is overwritten/deleted.
|
|
110
|
+
*/
|
|
111
|
+
private dropNodeFromDeviceIndex;
|
|
112
|
+
/**
|
|
113
|
+
* Replace the node's ENTIRE manifest atomically — addons AND native
|
|
114
|
+
* caps. Idempotent: a reconnect, hot-update, or post-device-restore
|
|
115
|
+
* re-handshake simply overwrites. Partial state is impossible because
|
|
116
|
+
* the node sends its complete picture every time.
|
|
117
|
+
*/
|
|
118
|
+
registerNode(params: RegisterNodeParams): void;
|
|
119
|
+
/** Drop a node entirely — caps AND native caps — on `$node.disconnected`. */
|
|
120
|
+
removeNode(nodeId: string): void;
|
|
121
|
+
/** The node's root-package identity, or null when it never reported one. */
|
|
122
|
+
getNodeRootPackage(nodeId: string): NodeRootPackageInfo | null;
|
|
123
|
+
/** The node's manifest, or undefined when the node never registered. */
|
|
124
|
+
getNodeManifest(nodeId: string): readonly RegisteredAddonManifest[] | undefined;
|
|
125
|
+
/**
|
|
126
|
+
* The node's device-scoped native caps. `[]` when the node registered
|
|
127
|
+
* without any (or has not yet re-handshaked post-device-restore);
|
|
128
|
+
* `undefined` when the node never registered at all.
|
|
129
|
+
*/
|
|
130
|
+
getNodeNativeCaps(nodeId: string): readonly RegisteredNativeCap[] | undefined;
|
|
131
|
+
/** Flat (nodeId, addonId, capName) view of the whole cluster. */
|
|
132
|
+
listEntries(): readonly NodeCapEntry[];
|
|
133
|
+
/** Flat (nodeId, addonId, capName, deviceId) native-cap view of the whole cluster. */
|
|
134
|
+
listNativeCapEntries(): readonly NodeNativeCapEntry[];
|
|
135
|
+
/**
|
|
136
|
+
* Native-cap entries for ONE device, across all nodes — O(caps-for-device).
|
|
137
|
+
* Equivalent to `listNativeCapEntries().filter(e => e.deviceId === deviceId)`
|
|
138
|
+
* but served from the incrementally-maintained `nativeCapsByDevice` index, so
|
|
139
|
+
* per-device resolution (and `getAllBindings`, which runs it per device)
|
|
140
|
+
* doesn't flatten the whole cluster each call.
|
|
141
|
+
*/
|
|
142
|
+
listNativeCapEntriesForDevice(deviceId: number): readonly NodeNativeCapEntry[];
|
|
143
|
+
/** Every node id currently registered. */
|
|
144
|
+
listNodeIds(): readonly string[];
|
|
145
145
|
}
|
|
146
146
|
export { HubNodeRegistry };
|
|
147
|
-
export type { CallFn, NodeRootPackageInfo, RegisteredAddonManifest, RegisteredNativeCap, RegisterNodeParams, RegisterNodeResult, NodeCapEntry, NodeNativeCapEntry
|
|
147
|
+
export type { CallFn, NodeRootPackageInfo, RegisteredAddonManifest, RegisteredNativeCap, RegisterNodeParams, RegisterNodeResult, NodeCapEntry, NodeNativeCapEntry };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ServiceBroker } from
|
|
2
|
-
import { IAddonProcessManager } from
|
|
1
|
+
import type { ServiceBroker } from "moleculer";
|
|
2
|
+
import type { IAddonProcessManager } from "@camstack/types";
|
|
3
3
|
declare function createScopedProcessManager(broker: ServiceBroker, addonId: string): IAddonProcessManager;
|
|
4
4
|
export { createScopedProcessManager };
|
|
@@ -1,185 +1,185 @@
|
|
|
1
|
-
import { ChildProcess, SpawnOptions } from
|
|
2
|
-
import { ServiceSchema } from
|
|
3
|
-
import { ProcessGroupOps } from
|
|
1
|
+
import { type ChildProcess, type SpawnOptions } from "node:child_process";
|
|
2
|
+
import type { ServiceSchema } from "moleculer";
|
|
3
|
+
import { type ProcessGroupOps } from "./runner-process-group.js";
|
|
4
4
|
/** One addon hosted inside a runner subprocess. */
|
|
5
5
|
interface RunnerAddonSpec {
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
readonly addonId: string;
|
|
7
|
+
readonly addonDir: string;
|
|
8
8
|
}
|
|
9
9
|
/**
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
10
|
+
* Default old-space ceiling for a HEAVY runner, in MB.
|
|
11
|
+
*
|
|
12
|
+
* ## Why a heavy runner needs a ceiling at all
|
|
13
|
+
*
|
|
14
|
+
* `heapProfile: 'heavy'` used to mean "V8 defaults", i.e. no `--max-old-space-size` — which on this
|
|
15
|
+
* host is V8's own memory-derived default (multiple GB). Nothing then bounds a burst, and V8 does
|
|
16
|
+
* not hand committed pages back (the long argument for that is in `kernel/heap-watch.ts`), so a
|
|
17
|
+
* one-off burst becomes the runner's permanent RSS.
|
|
18
|
+
*
|
|
19
|
+
* Measured on the live hub, 2026-08-17: the `recorder` runner reaches **2122 MB RSS** and stays
|
|
20
|
+
* there. The same addon on two agent nodes carrying the same code and a smaller archive sits at
|
|
21
|
+
* **58 MB**.
|
|
22
|
+
*
|
|
23
|
+
* ⚠ This paragraph used to attribute that ~2 GB to "walk garbage" from the deferred archive walk,
|
|
24
|
+
* and to argue from a ~21 MB `RecordingIndex`. Both were wrong, and the error cost a session on
|
|
25
|
+
* 2026-08-27. The deferred walk had NO CALLER and never ran (it has since been deleted). And the
|
|
26
|
+
* index is not 21 MB: a 2026-08-27 profile of the live recorder read `heapUsed = 1606 MB` against
|
|
27
|
+
* `external = 8 MB`, with an `smaps` census putting 1510 MB in V8's 256 KB page ranges against
|
|
28
|
+
* 54 MB of native heap — LIVE JavaScript retainers, not high-water garbage. The retained set is
|
|
29
|
+
* ~7.1 M `SegmentRow`s plus their path strings and Map entries (13 cameras x 2 profiles x 8 640
|
|
30
|
+
* segments/day x ~30 days), reseeded at boot by `SegmentHourLedger.hydrateIndex`.
|
|
31
|
+
*
|
|
32
|
+
* The lesson for anyone sizing this flag: a heap number needs a RETAINER, and "garbage the GC has
|
|
33
|
+
* no reason to collect" is the explanation to reach for last, not first.
|
|
34
|
+
*
|
|
35
|
+
* ## Why 1024
|
|
36
|
+
*
|
|
37
|
+
* From the same live topology snapshot, every heavy runner's FULL RSS — which is a strict
|
|
38
|
+
* over-estimate of its old space, since it also contains native allocations, `external` and
|
|
39
|
+
* `arrayBuffers`, none of which `--max-old-space-size` bounds:
|
|
40
|
+
*
|
|
41
|
+
* detection 471 MB · provider-reolink 507 MB · pipeline-orchestrator 238 MB · ml 218 MB ·
|
|
42
|
+
* snapshot 185 MB · decoder-nodeav 174 MB · audio-analyzer 170 MB
|
|
43
|
+
*
|
|
44
|
+
* 1024 MB clears the largest of those by ~2x while cutting the recorder's observed ratchet by
|
|
45
|
+
* more than half. It is a CEILING, not a target: a runner that fits today keeps behaving exactly
|
|
46
|
+
* as it does now, because V8 only collects harder as it approaches the limit.
|
|
47
|
+
*
|
|
48
|
+
* A runner whose working set genuinely does not fit declares its own number in its manifest
|
|
49
|
+
* (`execution.maxOldSpaceMb`) — the number belongs next to the addon that knows its working set.
|
|
50
|
+
* `recorder` (3072 MB; peak 2341 MB heapTotal) is the one shipped addon that does. `stream-broker` does NOT, despite 1585 MB peak RSS: ~1 GB of that is
|
|
51
|
+
* `arrayBuffers` (47 RTP rings), which this flag does not bound and never will — its actual old
|
|
52
|
+
* space peaks at 224 MB. Size the declaration from `heapTotal` in the `[mem]` heartbeat, never
|
|
53
|
+
* from RSS.
|
|
54
|
+
*
|
|
55
|
+
* ## What this flag CANNOT do
|
|
56
|
+
*
|
|
57
|
+
* It bounds old space and nothing else — not `external`, not `arrayBuffers`, not what a native
|
|
58
|
+
* addon mallocs. `hub/pipeline-analytics` reached 7334 MB RSS with this flag set to 1024 the
|
|
59
|
+
* whole time, because 96% of it was native. That half is bounded in `runner-native-allocator.ts`.
|
|
60
|
+
* Reaching for a bigger number here when RSS is the complaint is the standard wrong move.
|
|
61
|
+
*/
|
|
62
62
|
export declare const HEAVY_MAX_OLD_MB_DEFAULT = 1024;
|
|
63
63
|
/**
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
64
|
+
* V8 platform worker threads for a LIGHT runner (`--v8-pool-size`).
|
|
65
|
+
*
|
|
66
|
+
* ## What this bounds
|
|
67
|
+
*
|
|
68
|
+
* Node gives every process a V8 platform thread pool — background compilation,
|
|
69
|
+
* parallel marking and sweeping — defaulted to 4. It is not the libuv pool
|
|
70
|
+
* (`UV_THREADPOOL_SIZE`, which serves `fs`/`dns`/`zlib`/`crypto`) and it is
|
|
71
|
+
* deliberately not touched here; see below.
|
|
72
|
+
*
|
|
73
|
+
* ## Why it is worth a flag
|
|
74
|
+
*
|
|
75
|
+
* A container cgroup counts THREADS, not processes, and this cluster forks a
|
|
76
|
+
* runner per addon (D2). Measured on the live hub 2026-09-18 (20 cores,
|
|
77
|
+
* `pids.max=2048`), after 22 fork refusals in 45 minutes earlier that day:
|
|
78
|
+
*
|
|
79
|
+
* pids.current 991 · 47 node processes holding 469 threads
|
|
80
|
+
* of those, 29 LIGHT runners holding 274 (mean 9.4 threads each)
|
|
81
|
+
*
|
|
82
|
+
* A light runner is a control-plane addon with a 2 MB young generation. It does
|
|
83
|
+
* not generate the background GC work four marking threads exist for, and it
|
|
84
|
+
* pays 4 threads of the cgroup's pid budget for them anyway. Two returns ~58
|
|
85
|
+
* threads — ~6% of the container's live thread count — for background GC that
|
|
86
|
+
* is, on these heaps, a few milliseconds a cycle.
|
|
87
|
+
*
|
|
88
|
+
* ## Why TWO and never ZERO
|
|
89
|
+
*
|
|
90
|
+
* `--v8-pool-size=0` does not disable the pool: it tells V8 to size it from the
|
|
91
|
+
* detected parallelism. Measured locally 2026-09-18 on a node process holding
|
|
92
|
+
* the libuv pool open:
|
|
93
|
+
*
|
|
94
|
+
* default 11 threads
|
|
95
|
+
* --v8-pool-size=2 9 threads
|
|
96
|
+
* --v8-pool-size=0 18 threads
|
|
97
|
+
*
|
|
98
|
+
* So the flag is only ever passed with a value of at least 1 — the same trap as
|
|
99
|
+
* `MALLOC_ARENA_MAX=0` in `runner-native-allocator.ts`.
|
|
100
|
+
*
|
|
101
|
+
* ## What is deliberately NOT bounded
|
|
102
|
+
*
|
|
103
|
+
* HEAVY runners keep V8's default: they hold real heaps (the recorder declares
|
|
104
|
+
* 3072 MB) where parallel marking is the difference between a pause and a stall.
|
|
105
|
+
*
|
|
106
|
+
* `UV_THREADPOOL_SIZE` is left alone on every runner. Its 4 threads are lazily
|
|
107
|
+
* spawned, and the measurement above says most light runners have spawned all
|
|
108
|
+
* four — i.e. they really do run concurrent `fs` work. Halving that would trade
|
|
109
|
+
* ~58 more threads for serialized filesystem I/O in runners whose I/O profile
|
|
110
|
+
* has not been measured, on a media system. A thread saving is not worth a
|
|
111
|
+
* media gap.
|
|
112
|
+
*/
|
|
113
113
|
export declare const LIGHT_V8_POOL_SIZE_DEFAULT = 2;
|
|
114
114
|
interface SpawnedProcess {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
115
|
+
readonly pid: number;
|
|
116
|
+
readonly nodeId: string;
|
|
117
|
+
readonly name: string;
|
|
118
|
+
/**
|
|
119
|
+
* Synthetic supervisor label `runner:${runnerId}` — the real list of
|
|
120
|
+
* hosted addons lives on `runnerAddons`. The normal case is a size-1
|
|
121
|
+
* `runnerAddons` array (one addon, one process); the media-pipeline
|
|
122
|
+
* group is the sole multi-addon exception.
|
|
123
|
+
*/
|
|
124
|
+
readonly addonId: string;
|
|
125
|
+
readonly addonDir: string;
|
|
126
|
+
/** Every addon hosted by this runner subprocess (size 1 in the normal case). */
|
|
127
|
+
readonly runnerAddons: readonly RunnerAddonSpec[];
|
|
128
|
+
readonly startedAt: number;
|
|
129
|
+
restartCount: number;
|
|
130
|
+
/**
|
|
131
|
+
* Runner lifecycle state. `failed` is terminal — the D6 crash
|
|
132
|
+
* circuit-breaker tripped (too many crashes inside `CRASH_WINDOW_MS`)
|
|
133
|
+
* and the runner will NOT be respawned. `crashed` is transient — the
|
|
134
|
+
* window between an exit and the next backoff respawn.
|
|
135
|
+
*/
|
|
136
|
+
state: "starting" | "running" | "stopping" | "stopped" | "crashed" | "failed";
|
|
137
|
+
child: ChildProcess;
|
|
138
|
+
/** The runner leads its own process group (POSIX, D668); its pgid is its `pid`. */
|
|
139
|
+
readonly ownsGroup: boolean;
|
|
140
|
+
/** The reap of this runner's group, once started. Memoized: every exit path shares it. */
|
|
141
|
+
groupReap: Promise<void> | null;
|
|
142
142
|
}
|
|
143
143
|
interface ProcessInfo {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
144
|
+
readonly pid: number;
|
|
145
|
+
readonly nodeId: string;
|
|
146
|
+
readonly name: string;
|
|
147
|
+
readonly addonId: string;
|
|
148
|
+
/**
|
|
149
|
+
* The full list of addon ids inside this runner subprocess. Size 1 in
|
|
150
|
+
* the normal one-addon-one-process case; longer only for the media
|
|
151
|
+
* group. Cluster page UI expands this to render every addon under the
|
|
152
|
+
* same process card so operators see what's running where.
|
|
153
|
+
*/
|
|
154
|
+
readonly addonIds: readonly string[];
|
|
155
|
+
/** Runner label — the `runnerId` this subprocess was spawned with. */
|
|
156
|
+
readonly groupId: string;
|
|
157
|
+
readonly isolated: boolean;
|
|
158
|
+
readonly spawnedBy: string | null;
|
|
159
|
+
readonly startedAt: number;
|
|
160
|
+
readonly restartCount: number;
|
|
161
|
+
readonly state: string;
|
|
162
|
+
readonly cpuPercent: number;
|
|
163
|
+
readonly memoryRss: number;
|
|
164
|
+
readonly uptimeSeconds: number;
|
|
165
165
|
}
|
|
166
166
|
/**
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
167
|
+
* Subprocess spawner injected into `createProcessService`. Production
|
|
168
|
+
* code passes `child_process.spawn`; tests pass a fake that records
|
|
169
|
+
* the call shape and returns a stub `ChildProcess`. Centralising the
|
|
170
|
+
* dependency here is the only ESM-safe way to intercept spawn — the
|
|
171
|
+
* `node:child_process` module export is non-configurable so `vi.spyOn`
|
|
172
|
+
* fails. The injection point is private to this module: callers don't
|
|
173
|
+
* see it, so the public `createProcessService(parentNodeId, dataDir)`
|
|
174
|
+
* shape stays unchanged.
|
|
175
|
+
*/
|
|
176
176
|
type SpawnFn = (command: string, args: readonly string[], opts: SpawnOptions) => ChildProcess;
|
|
177
177
|
interface ProcessServiceDeps {
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
178
|
+
readonly spawnFn?: SpawnFn;
|
|
179
|
+
/** Group signalling + member listing. Tests inject a fake: a fake pid must never be signalled. */
|
|
180
|
+
readonly processGroups?: ProcessGroupOps;
|
|
181
|
+
/** Platform deciding whether a runner leads a process group. Defaults to `process.platform`. */
|
|
182
|
+
readonly platform?: NodeJS.Platform;
|
|
183
183
|
}
|
|
184
184
|
declare function createProcessService(parentNodeId: string, dataDir: string, deps?: ProcessServiceDeps, parentTcpPort?: number, parentUdsPath?: string): ServiceSchema;
|
|
185
185
|
export type { ProcessInfo, SpawnedProcess };
|