@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,46 +1,98 @@
|
|
|
1
|
-
import { IScopedLogger } from '@camstack/types';
|
|
2
1
|
/**
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
* "Who are my children?" asked by a thousand devices, answered in a handful of
|
|
3
|
+
* calls.
|
|
4
|
+
*
|
|
5
|
+
* ## The number
|
|
6
|
+
*
|
|
7
|
+
* Every `BaseDevice` inherits a `getAccessoryChildren()` that returns `[]`, so
|
|
8
|
+
* the accessory reconcile in `device-cap-proxy.ts` runs its orphan-prune step
|
|
9
|
+
* for EVERY registered device — including the leaf accessories that can never
|
|
10
|
+
* own one. Each pass asked `device-manager.getChildren` for its own id.
|
|
11
|
+
* Measured on the live hub 2026-08-27, 120-second boot window, 1 017 devices:
|
|
12
|
+
* **1 024 calls returning 919 rows in total**. A thousand round-trips, and a
|
|
13
|
+
* thousand indexed scans behind them, to move less than one row each.
|
|
14
|
+
*
|
|
15
|
+
* ## Why a loader and not a caller that loops
|
|
16
|
+
*
|
|
17
|
+
* There is no loop to unroll. Reconcile is per-device by construction: it runs
|
|
18
|
+
* inside `register()`, and again whenever a late feature-probe writes the
|
|
19
|
+
* slice. The repetition is a THOUSAND INDEPENDENT CALLERS, not one caller
|
|
20
|
+
* asking a thousand times — so the collapse has to happen between them.
|
|
21
|
+
*
|
|
22
|
+
* ## Why the batch is self-clocking, with no window to tune
|
|
23
|
+
*
|
|
24
|
+
* At most ONE batch call is in flight. Anything that arrives while it is in
|
|
25
|
+
* flight lands in the next batch, dispatched the moment the current one
|
|
26
|
+
* settles. That makes the batch size adapt to the arrival rate on its own:
|
|
27
|
+
*
|
|
28
|
+
* - Idle: the first caller flushes on the next macrotask. No added wait, and
|
|
29
|
+
* no timer to pick a value for and be wrong about.
|
|
30
|
+
* - Boot: `BaseDeviceProvider.onRestoreDevices` issues every top-level
|
|
31
|
+
* `create()` at once and `runBounded(specs, 12)` spawns accessory children
|
|
32
|
+
* twelve wide, so reconciles arrive in bursts — measured as 2 372 device
|
|
33
|
+
* log lines in one 5-second bucket at boot+16s, against 62 at boot+142s.
|
|
34
|
+
* Every arrival inside one round-trip collapses into the next call.
|
|
35
|
+
* - Worst case: arrivals slower than a round-trip give batches of one, which
|
|
36
|
+
* is exactly today's cost. The loader can never be worse than what it
|
|
37
|
+
* replaces.
|
|
38
|
+
*
|
|
39
|
+
* A fixed debounce window would have to be guessed against that distribution,
|
|
40
|
+
* and would tax the idle case to pay for the busy one.
|
|
41
|
+
*
|
|
42
|
+
* ## Degrading, rather than breaking, against an older hub
|
|
43
|
+
*
|
|
44
|
+
* `getChildrenBatch` is a NEW method: a hub that predates it rejects the call
|
|
45
|
+
* (it does not silently strip the input and answer a different question, which
|
|
46
|
+
* is what adding a `parentDeviceIds` FIELD to `getChildren` would have done).
|
|
47
|
+
* Every waiter in a failed batch is then answered by the per-parent
|
|
48
|
+
* `getChildren` it would have used anyway, so the reconcile is never denied
|
|
49
|
+
* its answer. A rejection that names the method as unknown latches the
|
|
50
|
+
* fallback permanently — re-probing a method the hub will never have, once per
|
|
51
|
+
* batch for a whole boot, is the storm this exists to remove.
|
|
52
|
+
*/
|
|
53
|
+
import type { IScopedLogger } from "@camstack/types";
|
|
54
|
+
/**
|
|
55
|
+
* The child fields the accessory reconcile reads. Deliberately narrower than
|
|
56
|
+
* `DeviceInfo`: the loader is a transport, and a transport that pins the whole
|
|
57
|
+
* projection would have to change every time an unrelated field does.
|
|
58
|
+
*/
|
|
7
59
|
export interface ReconcileChildRow {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
60
|
+
readonly id: number;
|
|
61
|
+
readonly stableId: string;
|
|
62
|
+
readonly name: string;
|
|
63
|
+
readonly linkDeviceId?: number | null;
|
|
12
64
|
}
|
|
13
65
|
/**
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
66
|
+
* Narrow an untyped cap answer to the fields the reconcile reads.
|
|
67
|
+
*
|
|
68
|
+
* `callDeviceManager` is an untyped boundary, and the answer may come from a
|
|
69
|
+
* hub of a different vintage. A row that does not carry an id, a stableId and
|
|
70
|
+
* a name is not a child this code can prune ON, so it is dropped rather than
|
|
71
|
+
* cast into shape — the prune step DELETES, and a half-parsed row is the input
|
|
72
|
+
* that would make it delete the wrong thing.
|
|
73
|
+
*/
|
|
22
74
|
export declare function parseChildRows(value: unknown): readonly ReconcileChildRow[] | null;
|
|
23
75
|
/**
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
76
|
+
* Narrow a `getChildrenBatch` answer: a record keyed by parent id as a string.
|
|
77
|
+
*
|
|
78
|
+
* An EMPTY record is a valid answer — "none of these parents has children" —
|
|
79
|
+
* and so is what a hub that answers the call but knows none of the parents
|
|
80
|
+
* would send. Both mean "nothing to prune", which is the safe direction. Only
|
|
81
|
+
* a shape that is not a record at all is `null`, and the loader treats that as
|
|
82
|
+
* a failed batch and re-asks per parent.
|
|
83
|
+
*/
|
|
32
84
|
export declare function parseChildrenByParent(value: unknown): ReadonlyMap<number, readonly ReconcileChildRow[]> | null;
|
|
33
85
|
export interface ChildrenBatchLoaderOptions {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
86
|
+
/** One `device-manager.getChildrenBatch` call. Rejects like any RPC. */
|
|
87
|
+
readonly fetchBatch: (parentDeviceIds: readonly number[]) => Promise<ReadonlyMap<number, readonly ReconcileChildRow[]>>;
|
|
88
|
+
/** One `device-manager.getChildren` call — the fallback, and the old path. */
|
|
89
|
+
readonly fetchOne: (parentDeviceId: number) => Promise<readonly ReconcileChildRow[]>;
|
|
90
|
+
readonly logger: IScopedLogger;
|
|
91
|
+
/** Test seam. Production takes {@link DEVICE_CHILDREN_BATCH_MAX}. */
|
|
92
|
+
readonly maxBatch?: number;
|
|
41
93
|
}
|
|
42
94
|
export interface ChildrenBatchLoader {
|
|
43
|
-
|
|
44
|
-
|
|
95
|
+
/** The direct children of one parent, coalesced with every other in-flight ask. */
|
|
96
|
+
load(parentDeviceId: number): Promise<readonly ReconcileChildRow[]>;
|
|
45
97
|
}
|
|
46
98
|
export declare function createChildrenBatchLoader(opts: ChildrenBatchLoaderOptions): ChildrenBatchLoader;
|
|
@@ -9,35 +9,35 @@ export declare const CLUSTER_SECRET_REJECTED_EXIT_CODE = 78;
|
|
|
9
9
|
/** SHA-256 hex digest of a cluster secret. Never transmit or log the raw secret. */
|
|
10
10
|
export declare function hashClusterSecret(secret: string): string;
|
|
11
11
|
/**
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
* True if a registration carrying `presentedHash` is allowed against a
|
|
13
|
+
* receiver whose own secret hashes to `expectedHash`.
|
|
14
|
+
* - `expectedHash` undefined → the gate is OFF; everything is allowed.
|
|
15
|
+
* - otherwise `presentedHash` must be present and equal (constant-time).
|
|
16
|
+
*/
|
|
17
17
|
export declare function clusterSecretMatches(expectedHash: string | undefined, presentedHash: string | undefined): boolean;
|
|
18
18
|
/** Recognises a cluster-secret rejection, including after a Moleculer RPC round-trip. */
|
|
19
19
|
export declare function isClusterSecretMismatchError(err: unknown): boolean;
|
|
20
20
|
/** Moleculer error `type` of a registration refused because the hub cannot read its own secret yet. */
|
|
21
21
|
export declare const CLUSTER_SECRET_UNAVAILABLE_TYPE = "CLUSTER_SECRET_UNAVAILABLE";
|
|
22
22
|
/**
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
23
|
+
* What the hub knows about its own cluster secret:
|
|
24
|
+
* - `off`: none is set — every node may register (the behaviour of a hub
|
|
25
|
+
* that never had a secret);
|
|
26
|
+
* - `on`: set — a node must present the matching hash;
|
|
27
|
+
* - `unknown`: one is set (the marker exists) but the keychain cannot answer
|
|
28
|
+
* yet — registrations are refused with a RETRYABLE error until it does.
|
|
29
|
+
* Fail closed: a locked keychain never opens the gate.
|
|
30
|
+
*/
|
|
31
31
|
export type ClusterSecretGate = {
|
|
32
|
-
|
|
32
|
+
readonly kind: "off";
|
|
33
33
|
} | {
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
readonly kind: "on";
|
|
35
|
+
readonly hash: string;
|
|
36
36
|
} | {
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
readonly kind: "unknown";
|
|
38
|
+
readonly reason: string;
|
|
39
39
|
};
|
|
40
|
-
export type ClusterSecretVerdict =
|
|
40
|
+
export type ClusterSecretVerdict = "allow" | "mismatch" | "unavailable";
|
|
41
41
|
export declare function checkClusterSecret(gate: ClusterSecretGate, presentedHash: string | undefined): ClusterSecretVerdict;
|
|
42
42
|
/** Register the hub's gate. Called by `system-config`, which owns the field. */
|
|
43
43
|
export declare function setProcessClusterSecretGate(gate: ClusterSecretGate): void;
|
|
@@ -1,65 +1,65 @@
|
|
|
1
|
-
import { ServiceSchema } from
|
|
1
|
+
import type { ServiceSchema } from "moleculer";
|
|
2
2
|
/**
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
* Who issued a `$core-caps` action. Both fields are `null` when Moleculer did
|
|
4
|
+
* not carry the information — never blank, so an absent origin reads as absent
|
|
5
|
+
* rather than as a formatting defect.
|
|
6
|
+
*/
|
|
7
7
|
export interface CoreCapCallOrigin {
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
readonly nodeId: string | null;
|
|
9
|
+
readonly caller: string | null;
|
|
10
10
|
}
|
|
11
11
|
/**
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
* Default Moleculer service name for the hub core-capability bridge.
|
|
13
|
+
*
|
|
14
|
+
* `$`-prefixed so it never collides with an addon id (addon services
|
|
15
|
+
* take their name from `declaration.id`). It is still a regular,
|
|
16
|
+
* discoverable service — `findServiceCandidates` in `trpc-links.ts`
|
|
17
|
+
* scans every entry returned by `registry.getServiceList()`.
|
|
18
|
+
*/
|
|
19
19
|
export declare const CORE_CAP_SERVICE_NAME = "$core-caps";
|
|
20
20
|
/**
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
21
|
+
* A single hub core-capability procedure, ready to expose as a
|
|
22
|
+
* Moleculer action.
|
|
23
|
+
*
|
|
24
|
+
* `actionName` must be the kebab-cased `<capName>.<method>` pair the
|
|
25
|
+
* worker-side `brokerTransportLink` resolves: it parses `op.path`,
|
|
26
|
+
* kebab-cases the namespace and looks for a service action ending in
|
|
27
|
+
* `.<capName>.<method>` (see `findServiceCandidates`). Mounting the
|
|
28
|
+
* action as `system.info` makes Moleculer register it as
|
|
29
|
+
* `$core-caps.system.info`, which matches that suffix lookup.
|
|
30
|
+
*/
|
|
31
31
|
export interface CoreCapAction {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
32
|
+
/** Kebab-cased `<capName>.<method>` — e.g. `system.info`, `addon-settings-raw.getGlobal`. */
|
|
33
|
+
readonly actionName: string;
|
|
34
|
+
/**
|
|
35
|
+
* Invoke the underlying tRPC procedure with a trusted mesh context.
|
|
36
|
+
*
|
|
37
|
+
* `origin` is diagnostics only — the transport census uses it to name the
|
|
38
|
+
* caller of an in-process call, which has no request and therefore no other
|
|
39
|
+
* identity. No implementation may gate on it.
|
|
40
|
+
*/
|
|
41
|
+
readonly invoke: (input: unknown, origin: CoreCapCallOrigin) => Promise<unknown> | unknown;
|
|
42
42
|
}
|
|
43
43
|
export interface CoreCapServiceOptions {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
/** Moleculer service name. Defaults to {@link CORE_CAP_SERVICE_NAME}. */
|
|
45
|
+
readonly serviceName?: string;
|
|
46
|
+
readonly actions: readonly CoreCapAction[];
|
|
47
47
|
}
|
|
48
48
|
/**
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
49
|
+
* Wrap the hub's core (non-addon) tRPC procedures as a single Moleculer
|
|
50
|
+
* service so forked addons and remote agents can reach them through
|
|
51
|
+
* `ctx.api.<coreCap>.<method>`.
|
|
52
|
+
*
|
|
53
|
+
* Core routers (`system`, `addons`, `capabilities`, `nodes`, …) are
|
|
54
|
+
* mounted only as the hub's tRPC routers — no addon registers a
|
|
55
|
+
* provider for them, so `addon-service-factory` never gives them a
|
|
56
|
+
* Moleculer service. Without this bridge a forked addon's
|
|
57
|
+
* `ctx.api.<coreCap>` falls through `localProviderLink` into
|
|
58
|
+
* `brokerTransportLink`, whose load-balanced discovery wait has no
|
|
59
|
+
* deadline, and hangs forever.
|
|
60
|
+
*
|
|
61
|
+
* Mirrors `createAddonService`: each action deserializes typed arrays
|
|
62
|
+
* and normalizes Moleculer's `{}` (empty params) back to `undefined`
|
|
63
|
+
* so void-input procedures don't receive a spurious empty object.
|
|
64
|
+
*/
|
|
65
65
|
export declare function createCoreCapService(options: CoreCapServiceOptions): ServiceSchema;
|
|
@@ -1,50 +1,50 @@
|
|
|
1
1
|
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
2
|
+
* Per-runner crash circuit-breaker.
|
|
3
|
+
*
|
|
4
|
+
* Replaces the old infinite-respawn loop in `process-service.ts`'s
|
|
5
|
+
* `spawnRunner` exit handler. A runner that exits unexpectedly is
|
|
6
|
+
* respawned with exponential backoff while the crash count inside a
|
|
7
|
+
* sliding time window stays under `maxCrashes`. Once the window fills
|
|
8
|
+
* up the breaker trips: respawning STOPS and the caller marks the
|
|
9
|
+
* addon `failed`.
|
|
10
|
+
*
|
|
11
|
+
* State is per-runner (keyed on `runnerId`) and crash timestamps older
|
|
12
|
+
* than `windowMs` age out — a runner that crashed once an hour ago and
|
|
13
|
+
* then crashes again starts a fresh streak.
|
|
14
|
+
*/
|
|
15
15
|
/** Tunables for `CrashSupervisor`. */
|
|
16
16
|
export interface CrashSupervisorOptions {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
/** CRASH_WINDOW_MS — crashes older than this age out of the count. */
|
|
18
|
+
readonly windowMs: number;
|
|
19
|
+
/** Crashes within the window before the breaker trips to `failed`. */
|
|
20
|
+
readonly maxCrashes: number;
|
|
21
|
+
/** Backoff cap — the exponential backoff never exceeds this. */
|
|
22
|
+
readonly maxBackoffMs: number;
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
* Outcome of recording a crash. Discriminated on `action`:
|
|
26
|
+
* - `respawn` — under the threshold, schedule another spawn after `backoffMs`.
|
|
27
|
+
* - `failed` — breaker tripped, do NOT respawn; mark the addon `failed`.
|
|
28
|
+
*/
|
|
29
29
|
export type CrashDecision = {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
readonly action: "respawn";
|
|
31
|
+
readonly backoffMs: number;
|
|
32
|
+
readonly crashesInWindow: number;
|
|
33
33
|
} | {
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
readonly action: "failed";
|
|
35
|
+
readonly crashesInWindow: number;
|
|
36
36
|
};
|
|
37
37
|
/** Per-runner crash circuit-breaker. Replaces the old infinite-respawn loop. */
|
|
38
38
|
export declare class CrashSupervisor {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
39
|
+
private readonly opts;
|
|
40
|
+
/** runnerId → crash timestamps (ms epoch), pruned to the active window. */
|
|
41
|
+
private readonly crashes;
|
|
42
|
+
constructor(opts: CrashSupervisorOptions);
|
|
43
|
+
/**
|
|
44
|
+
* Record a crash for `runnerId` and decide what to do. `now` is
|
|
45
|
+
* injectable for deterministic tests; production calls omit it.
|
|
46
|
+
*/
|
|
47
|
+
recordCrash(runnerId: string, now?: number): CrashDecision;
|
|
48
|
+
/** Clear crash history after a clean run / manual restart. */
|
|
49
|
+
reset(runnerId: string): void;
|
|
50
50
|
}
|
|
@@ -1,70 +1,70 @@
|
|
|
1
|
-
import { AddonApi, CapabilityDefinition, DeviceManagerApi, IDevice, IEventBus, IKernelStreamProbe, InferProvider, IScopedLogger } from
|
|
2
|
-
import { deviceOpsCapability } from
|
|
3
|
-
import { ServiceBroker } from
|
|
4
|
-
import { CapabilityRegistry } from
|
|
5
|
-
import { DeviceRegistry } from
|
|
6
|
-
export { NATIVE_PROVIDER_SERVICE_INFIX } from
|
|
1
|
+
import type { AddonApi, CapabilityDefinition, DeviceManagerApi, IDevice, IEventBus, IKernelStreamProbe, InferProvider, IScopedLogger } from "@camstack/types";
|
|
2
|
+
import { deviceOpsCapability } from "@camstack/types/addon";
|
|
3
|
+
import type { ServiceBroker } from "moleculer";
|
|
4
|
+
import type { CapabilityRegistry } from "../capability-registry.js";
|
|
5
|
+
import type { DeviceRegistry } from "../device-registry.js";
|
|
6
|
+
export { NATIVE_PROVIDER_SERVICE_INFIX } from "../transport/cap-action-name.js";
|
|
7
7
|
export interface WorkerDeviceManagerOptions {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
8
|
+
readonly api: AddonApi;
|
|
9
|
+
readonly addonId: string;
|
|
10
|
+
readonly nodeId: string;
|
|
11
|
+
readonly logger: IScopedLogger;
|
|
12
|
+
readonly eventBus: IEventBus;
|
|
13
|
+
readonly registry: DeviceRegistry;
|
|
14
|
+
readonly capabilityRegistry?: CapabilityRegistry;
|
|
15
|
+
readonly broker?: ServiceBroker;
|
|
16
|
+
/**
|
|
17
|
+
* UDS-only forked child (Phase F1+F2): no `capabilityRegistry`, no
|
|
18
|
+
* `broker`. `registerNativeCap` populates the per-process `workerNativeCaps`
|
|
19
|
+
* map (read by the UDS dispatch in `addon-runner`) but mounts NO Moleculer
|
|
20
|
+
* `<addon>.native-provider.*` service — the child has no broker.
|
|
21
|
+
*/
|
|
22
|
+
readonly udsMode?: boolean;
|
|
23
|
+
readonly streamProbe?: IKernelStreamProbe;
|
|
24
24
|
}
|
|
25
25
|
/** Subscribe to worker native-cap set changes. Pass null to clear. */
|
|
26
26
|
export declare function setWorkerNativeCapsChangeListener(listener: (() => void) | null): void;
|
|
27
27
|
/**
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
28
|
+
* Mount the Moleculer service exposing `<addonId>.native-provider.<capName>`
|
|
29
|
+
* with per-method actions that dispatch to `workerNativeCaps`. Called
|
|
30
|
+
* lazily on first `registerNativeCap` AND proactively at worker boot for
|
|
31
|
+
* always-on caps (e.g. `device-ops`) so the INFO packet sent at TCP
|
|
32
|
+
* connect already advertises the service.
|
|
33
|
+
*/
|
|
34
34
|
export declare function mountNativeCapService<TCap extends CapabilityDefinition>(broker: ServiceBroker, addonId: string, cap: TCap): void;
|
|
35
35
|
export declare function getWorkerNativeCap(capName: string, deviceId: number): unknown | null;
|
|
36
36
|
export declare function clearWorkerNativeCapsForDevice(deviceId: number): void;
|
|
37
37
|
export declare function getWorkerNativeCapNames(): readonly string[];
|
|
38
38
|
/**
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
39
|
+
* Snapshot of every device-scoped native cap this worker hosts, with the
|
|
40
|
+
* device ids and registering addonId for each. Used by the D3 registration
|
|
41
|
+
* handshake (`process-runner`/`group-runner` → `$hub.registerNode`'s
|
|
42
|
+
* `nativeCaps` field) so the hub's `HubNodeRegistry` learns device-scoped
|
|
43
|
+
* native caps (including addonId) without the pull-based discovery sweep.
|
|
44
|
+
*
|
|
45
|
+
* Groups by `(capName, addonId)` because different addons in the same group
|
|
46
|
+
* may register the same cap for different devices — each such pair becomes
|
|
47
|
+
* its own entry so the hub can build the correct Moleculer proxy target.
|
|
48
|
+
*/
|
|
49
49
|
export declare function getWorkerNativeCapSnapshot(): ReadonlyArray<{
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
readonly capName: string;
|
|
51
|
+
readonly addonId: string;
|
|
52
|
+
readonly deviceIds: readonly number[];
|
|
53
53
|
}>;
|
|
54
54
|
export declare function getWorkerNativeCapsForDevice(deviceId: number): readonly string[];
|
|
55
55
|
/**
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
56
|
+
* Read-only accessor for UDS dispatch — returns the provider registered for a
|
|
57
|
+
* given (capName, deviceId) pair, or `undefined` when none is registered.
|
|
58
|
+
* Returns the provider as an opaque `object`; `createChildCapDispatch` resolves
|
|
59
|
+
* its methods structurally via a type guard, so no cast is needed.
|
|
60
|
+
*/
|
|
61
61
|
export declare function getWorkerNativeCapProvider(capName: string, deviceId: number): object | undefined;
|
|
62
62
|
/**
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
63
|
+
* Hub-side proxy factory. Returns an object whose method access dispatches
|
|
64
|
+
* via `broker.call('<addonId>.native-provider.<capName>.<method>', input)`.
|
|
65
|
+
* Calls are wrapped in exponential-backoff retry to absorb the race between
|
|
66
|
+
* worker `broker.createService` and the hub's Moleculer registry INFO packet.
|
|
67
|
+
*/
|
|
68
68
|
export declare function buildNativeCapProxy(broker: ServiceBroker, addonId: string, capName: string, deviceId: number): Record<string, (input: unknown) => Promise<unknown>>;
|
|
69
69
|
export declare function buildDeviceOpsProvider(device: IDevice): InferProvider<typeof deviceOpsCapability>;
|
|
70
70
|
export declare function createBrokerDeviceManagerApi(opts: WorkerDeviceManagerOptions): DeviceManagerApi;
|