@camstack/system 1.2.390 → 1.2.392
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/addon-utils.js +1 -1
- package/dist/addon-utils.mjs +1 -1
- package/dist/amd-accelerators-CEuPFBBK.js +36 -0
- package/dist/amd-accelerators-U_RsoEDd.mjs +35 -0
- package/dist/amd-npu-B-QyyMyF.js +53 -0
- package/dist/amd-npu-Db_SoSuL.mjs +52 -0
- 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/addon-pages-aggregator.addon.js +1 -1
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
- 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/addon-widgets-aggregator.addon.js +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
- 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/alerts.addon.js +1 -1
- package/dist/builtins/alerts/alerts.addon.mjs +1 -1
- 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/index.js +1 -1
- package/dist/builtins/autotrack/index.mjs +1 -1
- 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/backup-orchestrator.addon.js +2 -2
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +2 -2
- 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/calendars.addon.js +1 -1
- package/dist/builtins/calendars/calendars.addon.mjs +1 -1
- 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/index.js +1 -1
- package/dist/builtins/camera-grid/index.mjs +1 -1
- 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.addon.js +2 -2
- package/dist/builtins/composer/composer.addon.mjs +2 -2
- 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/console-logging/index.js +1 -1
- package/dist/builtins/console-logging/index.mjs +1 -1
- 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/core-blocks.addon.js +2 -2
- package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
- 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-manager.addon.js +2 -2
- package/dist/builtins/device-manager/device-manager.addon.mjs +2 -2
- 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/hub-forwarder/index.js +1 -1
- package/dist/builtins/hub-forwarder/index.mjs +1 -1
- package/dist/builtins/keychain/index.d.ts +1 -1
- package/dist/builtins/keychain/index.js +3 -3
- package/dist/builtins/keychain/index.mjs +3 -3
- 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/liveness-monitor/liveness-monitor.addon.js +1 -1
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
- 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/local-auth.addon.js +2 -2
- package/dist/builtins/local-auth/local-auth.addon.mjs +2 -2
- 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/local-network/local-network.addon.js +1 -1
- package/dist/builtins/local-network/local-network.addon.mjs +1 -1
- package/dist/builtins/loki-logging/index.d.ts +4 -4
- package/dist/builtins/loki-logging/index.js +1 -1
- package/dist/builtins/loki-logging/index.mjs +1 -1
- 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/native-metrics.addon.js +1 -1
- package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
- 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/amd-accelerators.d.ts +15 -0
- package/dist/builtins/platform-probe/amd-npu.d.ts +29 -0
- 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/index.js +59 -22
- package/dist/builtins/platform-probe/index.mjs +59 -22
- 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/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
- 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/index.js +1 -1
- package/dist/builtins/snapshot/index.mjs +1 -1
- 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/filesystem-storage.addon.js +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
- 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-settings.addon.js +0 -0
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +0 -0
- 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.addon.js +1 -1
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
- package/dist/builtins/storage-orchestrator/storage-orchestrator.service.d.ts +431 -450
- package/dist/builtins/storage-orchestrator/storage-pressure-manager.d.ts +104 -104
- package/dist/builtins/system-backup/backup-encryption.d.ts +60 -23
- package/dist/builtins/system-backup/system-backup.service.d.ts +240 -240
- package/dist/builtins/system-config/cluster-secret-keeper.d.ts +54 -34
- package/dist/builtins/system-config/index.d.ts +2 -2
- package/dist/builtins/system-config/mesh-actions.d.ts +2 -30
- package/dist/builtins/system-config/system-config.addon.d.ts +57 -100
- package/dist/builtins/system-config/system-config.addon.js +39 -35
- package/dist/builtins/system-config/system-config.addon.mjs +320 -316
- package/dist/builtins/winston-logging/index.d.ts +3 -3
- package/dist/builtins/winston-logging/index.js +1 -1
- package/dist/builtins/winston-logging/index.mjs +1 -1
- 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-Nx-lrlHR.js} +19 -1
- package/dist/{child-cap-dispatch-B1gyE35b.mjs → child-cap-dispatch-x-onDDiV.mjs} +2 -2
- package/dist/{composition-sources-wdAxs-uY.js → composition-sources-LUJsW0AQ.js} +1 -1
- package/dist/{composition-sources-xqhm2Ygr.mjs → composition-sources-R8TskGSV.mjs} +1 -1
- package/dist/{constants-Ca-Sgcl8.js → constants-D4lxxip7.js} +1 -1
- package/dist/{constants-D5z4EwY8.mjs → constants-DMvAcbbP.mjs} +1 -1
- package/dist/{dist-8LQ4lDEB.js → dist-XTkzsnz-.js} +35 -1
- package/dist/{dist-Biqn3TEn.mjs → dist-byg8IP4Q.mjs} +35 -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/{event-loop-stall-monitor-CNj73d4D.js → event-loop-stall-monitor-DPFghEFw.js} +1 -1
- package/dist/{event-loop-stall-monitor-BtK_0Pjc.mjs → event-loop-stall-monitor-TG8UcdY2.mjs} +1 -1
- 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 +9 -8
- package/dist/index.mjs +7 -9
- package/dist/{jwt-signing-key-DxV2ucvJ.js → jwt-signing-key-CD87HrHH.js} +1 -1
- package/dist/{jwt-signing-key-SnDgvVUQ.mjs → jwt-signing-key-DNBxSN5p.mjs} +1 -1
- 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/{restore-archive-D4cmLoNe.mjs → restore-archive-Bmmmyp1M.mjs} +81 -81
- package/dist/{restore-archive-Do_Yu5rC.js → restore-archive-bvYTsnvp.js} +1 -1
- package/dist/{retired-settings-keys-BsgVxh8-.mjs → retired-settings-keys-R9CBo2lY.mjs} +1 -1
- package/dist/{retired-settings-keys-Cyn3OD0K.js → retired-settings-keys-V0yq5Bm6.js} +1 -1
- 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,214 +1,214 @@
|
|
|
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
|
-
|
|
2
|
+
* In-memory retention for the per-node load snapshots — the shared analogue of
|
|
3
|
+
* the log ring (`packages/system/src/logging/partitioned-log-buffer.ts`), and
|
|
4
|
+
* built to the same shape for the same reason: a fixed-capacity circular
|
|
5
|
+
* partition per key, plus **declared hard ceilings** on the total.
|
|
6
|
+
*
|
|
7
|
+
* ## What this is, and what it deliberately is not
|
|
8
|
+
*
|
|
9
|
+
* `native-metrics` emits `metrics.node-processes-snapshot` every 20 s on every
|
|
10
|
+
* node whether or not anyone is watching (D250). Until now nobody kept it: the
|
|
11
|
+
* Load charts accumulated 180 points inside the browser tab, so closing the
|
|
12
|
+
* page threw the hour away and two operators looking at the same node saw two
|
|
13
|
+
* different windows.
|
|
14
|
+
*
|
|
15
|
+
* This ring RETAINS what already arrives. It adds no timer, no sampler, no
|
|
16
|
+
* probe and no new event — subscribing to a fan-out that exists is the whole
|
|
17
|
+
* mechanism. It is **not** durable retention: nothing here reaches disk, and a
|
|
18
|
+
* stored series remains its own decision with its own resolution, retention and
|
|
19
|
+
* owner (D250 § Consequences).
|
|
20
|
+
*
|
|
21
|
+
* ## It does not know what a load snapshot looks like
|
|
22
|
+
*
|
|
23
|
+
* `TProcess` is a type parameter and the payload is stored **verbatim**. The
|
|
24
|
+
* ring reads exactly two things off the envelope — which node, and when — and
|
|
25
|
+
* never a field of a process row. A field added to the snapshot (a `deviceId`
|
|
26
|
+
* next to the pid, say) flows through untouched, because there is nothing here
|
|
27
|
+
* for it to flow through.
|
|
28
|
+
*
|
|
29
|
+
* ## Measured cost — see `docs/architecture/load-ledger.md`
|
|
30
|
+
*
|
|
31
|
+
* Measured, not estimated, against the real process payloads of the live
|
|
32
|
+
* cluster (`metricsProvider.listNodeProcesses` on all three nodes: 42 + 20 + 14
|
|
33
|
+
* rows) replayed 180 deep and weighed as V8 retained heap after a forced GC:
|
|
34
|
+
*
|
|
35
|
+
* **464 B per process row**, so the live cluster's full hour —
|
|
36
|
+
* 3 nodes x 180 samples x 76 rows = 13 680 rows — is **6.06 MiB**.
|
|
37
|
+
*
|
|
38
|
+
* Linear in rows (checked at 360 samples: 463.9 B/row). Every ceiling below is
|
|
39
|
+
* expressed in ROWS for that reason: rows are what the memory is proportional
|
|
40
|
+
* to, and samples are not.
|
|
41
|
+
*/
|
|
42
42
|
/** One retained snapshot: when it arrived, and the payload exactly as it came. */
|
|
43
43
|
export interface LoadSample<TProcess> {
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
readonly atMs: number;
|
|
45
|
+
readonly processes: readonly TProcess[];
|
|
46
46
|
}
|
|
47
47
|
/** What a reader gets back for one node. */
|
|
48
48
|
export interface NodeLoadSeries<TProcess> {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
49
|
+
readonly nodeId: string;
|
|
50
|
+
/** Oldest-first, and filtered by the caller's `sinceMs` when given. */
|
|
51
|
+
readonly samples: readonly LoadSample<TProcess>[];
|
|
52
|
+
/** Samples retained for this node right now — independent of `sinceMs`. */
|
|
53
|
+
readonly retainedSamples: number;
|
|
54
|
+
/** Oldest retained sample's timestamp, or `null` when nothing is retained. */
|
|
55
|
+
readonly oldestAtMs: number | null;
|
|
56
|
+
/** The per-node ceiling in force, so a caller can say what it is looking at. */
|
|
57
|
+
readonly capacity: number;
|
|
58
58
|
}
|
|
59
59
|
/**
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
60
|
+
* Per-node ceiling, in SAMPLES.
|
|
61
|
+
*
|
|
62
|
+
* 180 at the 20 s process-snapshot cadence is **one hour** — the window the
|
|
63
|
+
* operator asked to keep, and the same 180 the browser buffer used before this
|
|
64
|
+
* existed (`LOAD_SERIES_MAX_POINTS`). The cap is on points, not on age, so a
|
|
65
|
+
* node whose emits are deduped away covers a longer wall-clock window at the
|
|
66
|
+
* same cost.
|
|
67
|
+
*/
|
|
68
68
|
export declare const DEFAULT_SAMPLES_PER_NODE = 180;
|
|
69
69
|
/**
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
export declare const DEFAULT_MAX_TOTAL_PROCESS_ROWS =
|
|
70
|
+
* Fleet ceiling, in PROCESS ROWS across every node.
|
|
71
|
+
*
|
|
72
|
+
* This is the bound the per-node ceiling cannot provide. 180 samples is a fixed
|
|
73
|
+
* number of samples, not a fixed amount of memory: a node whose process count
|
|
74
|
+
* explodes — a leaked tsx tree, an inference pool respawning, the ghost storms
|
|
75
|
+
* the Processes tab exists to surface — multiplies its own partition without
|
|
76
|
+
* ever touching the per-node cap. That is precisely the defect the RTP pre-roll
|
|
77
|
+
* rings have in `docs/architecture/load-ledger.md` (#5): a maximum per instance
|
|
78
|
+
* and no budget for the fleet, which reached 898 MB across 47 rings.
|
|
79
|
+
*
|
|
80
|
+
* 32 000 rows x the measured 464 B = **14.2 MiB**, which is deliberately the
|
|
81
|
+
* same envelope hub-main already accepted for the log ring
|
|
82
|
+
* (`DEFAULT_MAX_TOTAL_LOG_ENTRIES` 50 000 x ~306 B ~ 15 MB). It is 2.3x the
|
|
83
|
+
* live cluster's full hour (13 680 rows), so no real deployment evicts on it —
|
|
84
|
+
* it exists so a runaway node costs 14 MiB instead of everything.
|
|
85
|
+
*/
|
|
86
|
+
export declare const DEFAULT_MAX_TOTAL_PROCESS_ROWS = 32e3;
|
|
87
87
|
/**
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
88
|
+
* Ceiling on the number of PARTITIONS.
|
|
89
|
+
*
|
|
90
|
+
* The backstop for an unbounded key space, exactly as `DEFAULT_MAX_LOG_BUCKETS`
|
|
91
|
+
* is: a partition is created on first write, and a node id that appears once —
|
|
92
|
+
* a renamed agent, a node that joined for an afternoon — must not hold a ring
|
|
93
|
+
* for the life of the process. 16 is >5x the live fleet of 3.
|
|
94
|
+
*/
|
|
95
95
|
export declare const DEFAULT_MAX_NODES = 16;
|
|
96
96
|
/**
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
export declare const DEFAULT_NODE_IDLE_EVICTION_MS =
|
|
97
|
+
* A partition whose newest sample is older than this is dropped whole.
|
|
98
|
+
*
|
|
99
|
+
* **Why age, and why this age.** The alternative — evict when the node leaves
|
|
100
|
+
* the cluster registry — was rejected twice over: it couples this ring to a
|
|
101
|
+
* registry it has no other reason to know, and a node that is merely offline is
|
|
102
|
+
* never "removed", so the case that actually happens (an agent that stops
|
|
103
|
+
* answering) would keep its partition forever. That is the failure mode being
|
|
104
|
+
* bounded.
|
|
105
|
+
*
|
|
106
|
+
* The number is not chosen, it is derived: `DEFAULT_SAMPLES_PER_NODE` x the 20 s
|
|
107
|
+
* snapshot cadence = **one hour** = the entire window this ring can represent.
|
|
108
|
+
* A node silent for that long holds nothing that overlaps the hour an operator
|
|
109
|
+
* is asking about; every point in it has aged out of the question. Below that
|
|
110
|
+
* threshold the partition is still answering a live question and is kept, even
|
|
111
|
+
* though the node is quiet — a node emits at least once a minute
|
|
112
|
+
* (`METRICS_SNAPSHOT_HEARTBEAT_MS`), so an hour of silence is not a slow node,
|
|
113
|
+
* it is a gone one.
|
|
114
|
+
*/
|
|
115
|
+
export declare const DEFAULT_NODE_IDLE_EVICTION_MS = 36e5;
|
|
116
116
|
export interface NodeLoadRingOptions {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
117
|
+
readonly samplesPerNode?: number;
|
|
118
|
+
readonly maxTotalProcessRows?: number;
|
|
119
|
+
readonly maxNodes?: number;
|
|
120
|
+
readonly idleEvictionMs?: number;
|
|
121
|
+
/** Injectable clock. Tests drive eviction without sleeping for an hour. */
|
|
122
|
+
readonly now?: () => number;
|
|
123
123
|
}
|
|
124
124
|
/**
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
125
|
+
* The partitioned ring: one {@link LoadPartition} per node id.
|
|
126
|
+
*
|
|
127
|
+
* Three bounds, doing three different jobs — the same division as the log
|
|
128
|
+
* buffer, for the same reason:
|
|
129
|
+
*
|
|
130
|
+
* - **`samplesPerNode`** is HARD and per partition. It is what the operator
|
|
131
|
+
* asked for (an hour) and it can never be exceeded.
|
|
132
|
+
* - **`maxTotalProcessRows`** is the FLEET budget, and it is denominated in the
|
|
133
|
+
* thing memory is proportional to. When it bites, the oldest sample of the
|
|
134
|
+
* HEAVIEST partition is dropped — the node creating the pressure is the node
|
|
135
|
+
* that pays, and a quiet node keeps its full hour. The node just written to is
|
|
136
|
+
* NOT protected here: if it is the heaviest, it is the culprit.
|
|
137
|
+
* - **`maxNodes`** is the backstop against an unbounded key space, and it drops
|
|
138
|
+
* whole partitions least-recently-written first, never the one being written.
|
|
139
|
+
*
|
|
140
|
+
* Plus {@link DEFAULT_NODE_IDLE_EVICTION_MS}, which is what stops a node that
|
|
141
|
+
* simply stopped emitting from living in memory forever.
|
|
142
|
+
*/
|
|
143
143
|
export declare class NodeLoadRing<TProcess> {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
144
|
+
private readonly partitions;
|
|
145
|
+
/**
|
|
146
|
+
* Node id → write ordinal of its last accepted sample. A monotonic counter,
|
|
147
|
+
* not a clock: partition eviction must follow the order writes actually
|
|
148
|
+
* happened, and node clocks disagree.
|
|
149
|
+
*/
|
|
150
|
+
private readonly lastWriteSeq;
|
|
151
|
+
private writeSeq;
|
|
152
|
+
private totalRows;
|
|
153
|
+
private readonly samplesPerNode;
|
|
154
|
+
private readonly maxTotalProcessRows;
|
|
155
|
+
private readonly maxNodes;
|
|
156
|
+
private readonly idleEvictionMs;
|
|
157
|
+
private readonly now;
|
|
158
|
+
constructor(options?: NodeLoadRingOptions);
|
|
159
|
+
/**
|
|
160
|
+
* Retain one snapshot. `processes` is stored by reference — the payload is
|
|
161
|
+
* already an immutable arrival off the bus, and copying it would double the
|
|
162
|
+
* measured cost for nothing.
|
|
163
|
+
*
|
|
164
|
+
* Returns whether the sample was ACCEPTED — that is, whether it was new
|
|
165
|
+
* rather than a replay of a timestamp this node has already delivered.
|
|
166
|
+
*
|
|
167
|
+
* The return value is not diagnostics. It is the idempotence gate the
|
|
168
|
+
* DURABLE tier rides on (`load-series-store.ts`): only an accepted sample is
|
|
169
|
+
* appended to the table, which is what lets that table carry an `INTEGER`
|
|
170
|
+
* rowid key instead of a composite unique index over two million rows. The
|
|
171
|
+
* gate is one monotonic comparison in memory; the index it replaces was
|
|
172
|
+
* measured at ~40 bytes per row.
|
|
173
|
+
*/
|
|
174
|
+
record(nodeId: string, atMs: number, processes: readonly TProcess[]): boolean;
|
|
175
|
+
/**
|
|
176
|
+
* Read one node's retained series, oldest-first.
|
|
177
|
+
*
|
|
178
|
+
* `sinceMs` is EXCLUSIVE: a caller passes the newest timestamp it already
|
|
179
|
+
* holds and gets back only what it is missing. That is the whole contract
|
|
180
|
+
* that lets the admin UI seed from here and then continue live without
|
|
181
|
+
* doubling a point it already drew.
|
|
182
|
+
*
|
|
183
|
+
* A node nobody has recorded answers with an empty series, not an error —
|
|
184
|
+
* unknown is the truth about a node that has not reported.
|
|
185
|
+
*/
|
|
186
|
+
read(nodeId: string, sinceMs?: number): NodeLoadSeries<TProcess>;
|
|
187
|
+
/** Node ids with a live partition. Observability for the fleet bound. */
|
|
188
|
+
nodeIds(): readonly string[];
|
|
189
|
+
/** Process rows retained across every partition — the number that IS memory. */
|
|
190
|
+
rowCount(): number;
|
|
191
|
+
/** Samples retained across every partition. */
|
|
192
|
+
sampleCount(): number;
|
|
193
|
+
/**
|
|
194
|
+
* Drop partitions whose newest sample is older than the retention window.
|
|
195
|
+
*
|
|
196
|
+
* Lazy, on write and on read — never a timer. A timer would be a new
|
|
197
|
+
* periodic cost in a subsystem whose entire premise is that it adds none,
|
|
198
|
+
* and a ring that nobody writes to and nobody reads is not growing either.
|
|
199
|
+
*/
|
|
200
|
+
private sweepIdle;
|
|
201
|
+
/**
|
|
202
|
+
* Bring the fleet back under the row budget by dropping the OLDEST sample of
|
|
203
|
+
* the HEAVIEST partition, repeatedly.
|
|
204
|
+
*
|
|
205
|
+
* Terminates: every iteration removes one sample from a non-empty partition,
|
|
206
|
+
* and the population of samples is finite and strictly decreasing.
|
|
207
|
+
*/
|
|
208
|
+
private enforceRowBudget;
|
|
209
|
+
private heaviestPartition;
|
|
210
|
+
/** Drop `count` whole partitions, least-recently-written first. */
|
|
211
|
+
private evictPartitions;
|
|
212
|
+
/** Remove a partition and everything that indexes it. */
|
|
213
|
+
private dropPartition;
|
|
214
214
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { ProcReader } from
|
|
2
|
-
import { PsProcessRow } from
|
|
1
|
+
import { type ProcReader } from "../../process/proc-stat.js";
|
|
2
|
+
import type { PsProcessRow } from "./process-classification.js";
|
|
3
3
|
/** Every process in `/proc`, as the rows `ps -eo …` would have printed. */
|
|
4
4
|
export declare function readProcProcessTable(reader?: ProcReader): Promise<readonly PsProcessRow[]>;
|
|
5
5
|
/**
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
* Parse `ps etime` → seconds. `MM:SS`, `HH:MM:SS`, `DD-HH:MM:SS`.
|
|
7
|
+
* Only the `ps` path needs this; `/proc` gives the number directly.
|
|
8
|
+
*/
|
|
9
9
|
export declare function parseEtime(etime: string): number;
|
|
10
10
|
/** Parse the output of `ps -eo pid=,ppid=,pgid=,pcpu=,rss=,etime=,command=`. */
|
|
11
11
|
export declare function parsePsTable(stdout: string): readonly PsProcessRow[];
|
|
@@ -13,13 +13,13 @@ export declare function parsePsTable(stdout: string): readonly PsProcessRow[];
|
|
|
13
13
|
export declare function spawnPsTable(): Promise<readonly PsProcessRow[]>;
|
|
14
14
|
/** What decides the source. Injectable so the choice is pinned by a test, not by the CI host. */
|
|
15
15
|
export interface ProcessTableDeps {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
readonly platform: NodeJS.Platform;
|
|
17
|
+
readonly reader: ProcReader;
|
|
18
|
+
readonly spawnPs: () => Promise<readonly PsProcessRow[]>;
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
* The process table, from `/proc` where it exists and from `ps` elsewhere.
|
|
22
|
+
* Throws only when the chosen source cannot answer at all; the caller logs it
|
|
23
|
+
* as a skipped interval.
|
|
24
|
+
*/
|
|
25
25
|
export declare function readProcessTable(deps?: ProcessTableDeps): Promise<readonly PsProcessRow[]>;
|
|
@@ -1,51 +1,110 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Classification of the camstack-shaped processes on one node.
|
|
3
|
+
*
|
|
4
|
+
* Pure: no `ps`, no broker, no clock. Everything the verdict depends on
|
|
5
|
+
* arrives as an argument, so a `ps` row becoming a class is pinned by
|
|
6
|
+
* `__tests__/process-classification.spec.ts` rather than by a running node.
|
|
7
|
+
*
|
|
8
|
+
* This is a MONITORING label and nothing else. Nothing acts on it: the
|
|
9
|
+
* process-control surface (`metricsProvider.killProcess` and the kill buttons
|
|
10
|
+
* in Cluster → Node → Processes) was deleted on 2026-08-27. A runner's
|
|
11
|
+
* lifecycle belongs to `CrashSupervisor` and is driven through
|
|
12
|
+
* `addons.restartAddon` / `$process.restart`; signalling a raw pid went around
|
|
13
|
+
* the supervisor, which is the exact thing D6 exists to prevent. If a class
|
|
14
|
+
* ever needs to gate an ACTION again, that is a new decision, not a
|
|
15
|
+
* re-plumbing of this one.
|
|
16
|
+
*
|
|
17
|
+
* ── The classes ────────────────────────────────────────────────────────────
|
|
18
|
+
*
|
|
19
|
+
* root — this node's own pid.
|
|
20
|
+
* managed — a forked addon worker the kernel's `$process.list` names, so its
|
|
21
|
+
* CPU and RSS can be attributed to that addon.
|
|
22
|
+
* system — every other camstack-shaped process on the machine: one the node
|
|
23
|
+
* did not spawn and cannot name. Reported, never attributed.
|
|
24
|
+
*
|
|
25
|
+
* ── What used to be here, and why it must not come back as it was ──────────
|
|
26
|
+
*
|
|
27
|
+
* There was a fourth class, `ghost`, produced by a `classifyByAncestry` walk:
|
|
28
|
+
* a process whose ancestry reached `ppid=1` — or a parent `ps` could not see —
|
|
29
|
+
* without crossing `SUPERVISOR_BOUNDARY_RE` was declared an orphan, and it was
|
|
30
|
+
* the one class `killProcess` allowed.
|
|
31
|
+
*
|
|
32
|
+
* That boundary list was entirely a DEV-WORKSTATION list: `tsx watch …
|
|
33
|
+
* launcher.ts`, the agent CLI, `concurrently`, `vite`, `npm exec`. Production
|
|
34
|
+
* has none of those shapes, so the definition never had a chance to be right
|
|
35
|
+
* there — it did not age out, it never knew production:
|
|
36
|
+
*
|
|
37
|
+
* - in a container, pid 1 is `tini -- docker-entrypoint.sh … starter.js`. It
|
|
38
|
+
* matches the camstack command pattern, its ppid is 0, and pid 0 is not in
|
|
39
|
+
* the `ps` snapshot → ghost. Every containerised node called its own init
|
|
40
|
+
* an orphan, permanently. **The init of a container is not an orphan.**
|
|
41
|
+
* - on the desktop node, `/Applications/camstack.app` is launched by launchd
|
|
42
|
+
* (ppid 1) and its three Electron helpers hang off it → four ghosts, which
|
|
43
|
+
* were the operator's running app.
|
|
44
|
+
*
|
|
45
|
+
* Measured on the live cluster on 2026-08-27: 6 ghosts across three nodes, 6
|
|
46
|
+
* false positives, 0 true ones. And because `ghost` was the killable class,
|
|
47
|
+
* the UI's "Kill all N ghost(s)" aimed SIGKILL at pid 1 and its tree-kill
|
|
48
|
+
* button aimed at the desktop app. Nothing downstream stopped either — which
|
|
49
|
+
* is a large part of why the kill path is gone too.
|
|
50
|
+
*
|
|
51
|
+
* Detecting a REAL orphan is still a legitimate goal. Whoever picks it up:
|
|
52
|
+
* do not restart from an ancestry walk gated on a hand-written list of
|
|
53
|
+
* supervisor command lines. `ppid == 1` is the normal state of a container
|
|
54
|
+
* init, of a launchd-started app, and of anything a service manager owns —
|
|
55
|
+
* it is not evidence, and pid 1 of a container is not an orphan. Evidence
|
|
56
|
+
* would be positive: a pid the cluster once spawned (it is in the runner
|
|
57
|
+
* ledger) that is no longer in `$process.list` and whose runner is gone.
|
|
58
|
+
* Anything less does not get to name a process disposable.
|
|
59
|
+
*/
|
|
60
|
+
import type { NodeProcess } from "@camstack/types";
|
|
61
|
+
import type { ThreadCpuSplit } from "./thread-cpu-sampler.js";
|
|
3
62
|
/** The classes a node process can carry. Mirrors `NodeProcessSchema`. */
|
|
4
|
-
export type ProcessClassification = NodeProcess[
|
|
63
|
+
export type ProcessClassification = NodeProcess["classification"];
|
|
5
64
|
/** One parsed `ps -eo pid,ppid,pgid,pcpu,rss,etime,command` row. */
|
|
6
65
|
export interface PsProcessRow {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
66
|
+
readonly pid: number;
|
|
67
|
+
readonly ppid: number;
|
|
68
|
+
readonly pgid: number;
|
|
69
|
+
readonly cpuPercent: number;
|
|
70
|
+
readonly memoryRssBytes: number;
|
|
71
|
+
readonly uptimeSec: number;
|
|
72
|
+
readonly command: string;
|
|
14
73
|
}
|
|
15
74
|
/** A pid the kernel's `$process.list` attributes to an addon runner. */
|
|
16
75
|
export interface ManagedProcessEntry {
|
|
17
|
-
|
|
18
|
-
|
|
76
|
+
readonly addonId: string;
|
|
77
|
+
readonly nodeId: string;
|
|
19
78
|
}
|
|
20
79
|
export interface BuildNodeProcessesInput {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
80
|
+
/** Every visible `ps` row on this node, camstack-shaped or not. */
|
|
81
|
+
readonly psRows: readonly PsProcessRow[];
|
|
82
|
+
/** This node's own pid. */
|
|
83
|
+
readonly selfPid: number;
|
|
84
|
+
/** Node id reported for the `root` row. */
|
|
85
|
+
readonly selfNodeId: string;
|
|
86
|
+
/** pid → addon attribution from `$process.list`. */
|
|
87
|
+
readonly managed: ReadonlyMap<number, ManagedProcessEntry>;
|
|
88
|
+
/** pid → thread CPU split, when the sampler had an answer this tick. */
|
|
89
|
+
readonly cpuSplits: ReadonlyMap<number, ThreadCpuSplit>;
|
|
31
90
|
}
|
|
32
91
|
/**
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
92
|
+
* Regex matching camstack-related command lines. We surface anything with
|
|
93
|
+
* an obvious camstack fingerprint so operators can spot stray inference
|
|
94
|
+
* pools, leaked tsx watchers, and zombie node workers in the Cluster →
|
|
95
|
+
* Agent → Processes tab.
|
|
96
|
+
*
|
|
97
|
+
* Patterns mirror `scripts/hunt-zombies.sh` — keep them in sync when
|
|
98
|
+
* adding a new long-lived subprocess.
|
|
99
|
+
*/
|
|
41
100
|
export declare const CAMSTACK_CMD_RE: RegExp;
|
|
42
101
|
/**
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
102
|
+
* Classify one pid.
|
|
103
|
+
*
|
|
104
|
+
* Identity-driven, not ancestry-driven: a process is `root` because it IS
|
|
105
|
+
* this node, `managed` because the kernel named it, and `system` otherwise.
|
|
106
|
+
* There is no third source of truth to consult and no walk to get wrong.
|
|
107
|
+
*/
|
|
49
108
|
export declare function classifyProcess(pid: number, selfPid: number, managed: ReadonlyMap<number, ManagedProcessEntry>): ProcessClassification;
|
|
50
109
|
/** Turn a `ps` snapshot into the node's process table. */
|
|
51
110
|
export declare function buildNodeProcesses(input: BuildNodeProcessesInput): readonly NodeProcess[];
|