@camstack/system 1.2.390 → 1.2.391
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/addon/addon-api-factory.d.ts +30 -30
- package/dist/addon-routes/addon-route-registry.d.ts +31 -31
- package/dist/addon-runner.js +1 -1
- package/dist/addon-runner.mjs +1 -1
- package/dist/addon-utils.d.ts +22 -22
- package/dist/auth/admin-token-manager.d.ts +37 -67
- package/dist/auth/api-key-manager.d.ts +8 -8
- package/dist/auth/auth-audit-log.d.ts +29 -49
- package/dist/auth/auth-manager.d.ts +127 -126
- package/dist/auth/cidr.d.ts +8 -8
- package/dist/auth/external-identity-manager.d.ts +46 -34
- package/dist/auth/jwt-signing-key.d.ts +14 -14
- package/dist/auth/login-session-manager.d.ts +95 -135
- package/dist/auth/parse-record.d.ts +13 -13
- package/dist/auth/scope-matcher.d.ts +7 -7
- package/dist/auth/scoped-token-manager.d.ts +62 -62
- package/dist/auth/token-expiry.d.ts +49 -26
- package/dist/auth/totp-manager.d.ts +48 -48
- package/dist/auth/user-management-internal.d.ts +67 -52
- package/dist/auth/user-manager.d.ts +58 -58
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.d.ts +54 -54
- package/dist/builtins/addon-pages-aggregator/dedupe-pages.d.ts +22 -4
- package/dist/builtins/addon-pages-aggregator/index.d.ts +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.d.ts +54 -54
- package/dist/builtins/addon-widgets-aggregator/index.d.ts +1 -1
- package/dist/builtins/alerts/alerts.addon.d.ts +88 -87
- package/dist/builtins/alerts/device-label.d.ts +6 -6
- package/dist/builtins/alerts/index.d.ts +1 -1
- package/dist/builtins/alerts/prune-policy.d.ts +36 -36
- package/dist/builtins/autotrack/autotrack-cameras.d.ts +102 -79
- package/dist/builtins/autotrack/autotrack-config.d.ts +81 -81
- package/dist/builtins/autotrack/autotrack-decision.d.ts +69 -82
- package/dist/builtins/autotrack/autotrack-loop.d.ts +81 -61
- package/dist/builtins/autotrack/autotrack.addon.d.ts +103 -66
- package/dist/builtins/autotrack/frame-error.d.ts +38 -38
- package/dist/builtins/autotrack/frame-measurements.d.ts +79 -79
- package/dist/builtins/autotrack/index.d.ts +2 -2
- package/dist/builtins/autotrack/ptz-mirror.d.ts +46 -17
- package/dist/builtins/autotrack/target-selection.d.ts +33 -47
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.d.ts +270 -269
- package/dist/builtins/backup-orchestrator/cron-helpers.d.ts +17 -17
- package/dist/builtins/backup-orchestrator/destination-policy.d.ts +99 -82
- package/dist/builtins/backup-orchestrator/download-helpers.d.ts +9 -9
- package/dist/builtins/backup-orchestrator/encryption-key-store.d.ts +40 -29
- package/dist/builtins/backup-orchestrator/index.d.ts +2 -2
- package/dist/builtins/backup-orchestrator/manifest-store.d.ts +88 -69
- package/dist/builtins/backup-orchestrator/restore-archive.d.ts +14 -14
- package/dist/builtins/backup-orchestrator/run-queue.d.ts +86 -86
- package/dist/builtins/backup-orchestrator/schedule-store.d.ts +53 -37
- package/dist/builtins/backup-orchestrator/staging-paths.d.ts +23 -23
- package/dist/builtins/backup-orchestrator/write-targets.d.ts +53 -53
- package/dist/builtins/calendars/calendar-color.d.ts +5 -1
- package/dist/builtins/calendars/calendar-prefs-store.d.ts +18 -12
- package/dist/builtins/calendars/calendars.addon.d.ts +16 -11
- package/dist/builtins/calendars/index.d.ts +1 -1
- package/dist/builtins/camera-grid/acquire-retry.d.ts +26 -26
- package/dist/builtins/camera-grid/addon.d.ts +200 -174
- package/dist/builtins/camera-grid/flv-join.d.ts +32 -58
- package/dist/builtins/camera-grid/grid-activity-mirror.d.ts +37 -37
- package/dist/builtins/camera-grid/grid-activity.d.ts +83 -42
- package/dist/builtins/camera-grid/grid-camera-declarations.d.ts +46 -46
- package/dist/builtins/camera-grid/grid-camera-device.d.ts +60 -34
- package/dist/builtins/camera-grid/grid-canvas-derivation.d.ts +50 -15
- package/dist/builtins/camera-grid/grid-canvas-seed.d.ts +96 -46
- package/dist/builtins/camera-grid/grid-canvas.d.ts +74 -74
- package/dist/builtins/camera-grid/grid-child.d.ts +29 -16
- package/dist/builtins/camera-grid/grid-compositor-child.d.ts +2 -2
- package/dist/builtins/camera-grid/grid-compositor-invocation.d.ts +39 -11
- package/dist/builtins/camera-grid/grid-compositor.d.ts +50 -50
- package/dist/builtins/camera-grid/grid-detection-mapping.d.ts +52 -22
- package/dist/builtins/camera-grid/grid-device-settings.d.ts +31 -7
- package/dist/builtins/camera-grid/grid-filter-graph.d.ts +41 -41
- package/dist/builtins/camera-grid/grid-frame-sample.d.ts +45 -19
- package/dist/builtins/camera-grid/grid-instances.d.ts +20 -50
- package/dist/builtins/camera-grid/grid-last-frame-store.d.ts +51 -51
- package/dist/builtins/camera-grid/grid-layout-native-provider.d.ts +30 -4
- package/dist/builtins/camera-grid/grid-plan.d.ts +30 -20
- package/dist/builtins/camera-grid/grid-profiles.d.ts +85 -45
- package/dist/builtins/camera-grid/grid-row-normalization.d.ts +6 -6
- package/dist/builtins/camera-grid/grid-sentry-sources.d.ts +57 -57
- package/dist/builtins/camera-grid/grid-snapshot.d.ts +41 -41
- package/dist/builtins/camera-grid/grid-stream-descriptor.d.ts +49 -21
- package/dist/builtins/camera-grid/grid-stream-invocation.d.ts +37 -22
- package/dist/builtins/camera-grid/grid-stream-relay.d.ts +26 -26
- package/dist/builtins/camera-grid/grid-stream-session.d.ts +123 -93
- package/dist/builtins/camera-grid/grid-tile-feed.d.ts +47 -47
- package/dist/builtins/camera-grid/grid-tile-plan.d.ts +55 -20
- package/dist/builtins/camera-grid/grid-wire-format.d.ts +22 -6
- package/dist/builtins/camera-grid/index.d.ts +44 -44
- package/dist/builtins/camera-grid/silence-analysis.d.ts +31 -14
- package/dist/builtins/composer/claim-gate.d.ts +54 -27
- package/dist/builtins/composer/composed-device-set.d.ts +40 -26
- package/dist/builtins/composer/composed-device.d.ts +39 -17
- package/dist/builtins/composer/composer-apply-waits.d.ts +20 -13
- package/dist/builtins/composer/composer-grafts.d.ts +57 -38
- package/dist/builtins/composer/composer-live-set.d.ts +15 -15
- package/dist/builtins/composer/composer-plan.d.ts +76 -60
- package/dist/builtins/composer/composer-runtime-factory.d.ts +21 -14
- package/dist/builtins/composer/composer-seeds.d.ts +20 -14
- package/dist/builtins/composer/composer-verdict.d.ts +28 -14
- package/dist/builtins/composer/composer.addon.d.ts +23 -9
- package/dist/builtins/composer/composer.d.ts +145 -100
- package/dist/builtins/composer/composition-declarations.d.ts +50 -39
- package/dist/builtins/composer/composition-evaluation.d.ts +38 -22
- package/dist/builtins/composer/composition-runtime.d.ts +178 -125
- package/dist/builtins/composer/composition-target.d.ts +38 -34
- package/dist/builtins/composer/confirmed-seed.d.ts +35 -23
- package/dist/builtins/composer/deadline-timer.d.ts +13 -13
- package/dist/builtins/composer/existing-target.d.ts +90 -73
- package/dist/builtins/composer/field-record.d.ts +26 -19
- package/dist/builtins/composer/graft-host.d.ts +56 -32
- package/dist/builtins/composer/held-claims.d.ts +26 -9
- package/dist/builtins/composer/index.d.ts +1 -1
- package/dist/builtins/composer/own-field-reads.d.ts +26 -15
- package/dist/builtins/composer/owned-fields-target.d.ts +75 -44
- package/dist/builtins/composer/slice-assembler.d.ts +19 -3
- package/dist/builtins/composer/source-readings.d.ts +67 -61
- package/dist/builtins/composer/source-tracker.d.ts +133 -69
- package/dist/builtins/console-logging/console-destination.d.ts +15 -8
- package/dist/builtins/console-logging/console-logging.addon.d.ts +20 -19
- package/dist/builtins/console-logging/index.d.ts +3 -3
- package/dist/builtins/core-blocks/block-package.d.ts +37 -37
- package/dist/builtins/core-blocks/block-settings-store.d.ts +34 -21
- package/dist/builtins/core-blocks/block-supervisor.d.ts +138 -117
- package/dist/builtins/core-blocks/block-type-defs.d.ts +21 -21
- package/dist/builtins/core-blocks/blocks-integration.d.ts +76 -49
- package/dist/builtins/core-blocks/compile-block.d.ts +37 -37
- package/dist/builtins/core-blocks/composition-api.d.ts +38 -24
- package/dist/builtins/core-blocks/composition-peers.d.ts +26 -4
- package/dist/builtins/core-blocks/composition-sources.d.ts +25 -10
- package/dist/builtins/core-blocks/core-block-store.d.ts +109 -109
- package/dist/builtins/core-blocks/core-blocks.addon.d.ts +72 -72
- package/dist/builtins/core-blocks/extract-settings-schema.d.ts +4 -4
- package/dist/builtins/core-blocks/index.d.ts +8 -8
- package/dist/builtins/device-manager/adoption-job-engine.d.ts +141 -98
- package/dist/builtins/device-manager/claimed-status-overlay.d.ts +42 -9
- package/dist/builtins/device-manager/contribution-cache.d.ts +56 -56
- package/dist/builtins/device-manager/day-night-config-schema.d.ts +26 -12
- package/dist/builtins/device-manager/device-aggregation-merge.d.ts +17 -17
- package/dist/builtins/device-manager/device-aggregation.d.ts +277 -254
- package/dist/builtins/device-manager/device-bindings-store.d.ts +232 -220
- package/dist/builtins/device-manager/device-config-contribution.d.ts +29 -29
- package/dist/builtins/device-manager/device-config-secrets.d.ts +32 -13
- package/dist/builtins/device-manager/device-event-propagator.d.ts +22 -22
- package/dist/builtins/device-manager/device-extension-linked-slot.d.ts +17 -17
- package/dist/builtins/device-manager/device-form-secrets.d.ts +14 -14
- package/dist/builtins/device-manager/device-linked-devices.d.ts +159 -98
- package/dist/builtins/device-manager/device-manager.addon.d.ts +223 -197
- package/dist/builtins/device-manager/device-meta-actions.d.ts +306 -305
- package/dist/builtins/device-manager/device-meta-store.d.ts +100 -90
- package/dist/builtins/device-manager/device-meta-types.d.ts +250 -241
- package/dist/builtins/device-manager/device-online-fallback.d.ts +30 -30
- package/dist/builtins/device-manager/device-projection.d.ts +53 -67
- package/dist/builtins/device-manager/device-provider-context.d.ts +109 -94
- package/dist/builtins/device-manager/device-queries.d.ts +63 -63
- package/dist/builtins/device-manager/device-row-store.d.ts +417 -365
- package/dist/builtins/device-manager/device-source-activation.d.ts +91 -49
- package/dist/builtins/device-manager/device-state-claim-views.d.ts +76 -61
- package/dist/builtins/device-manager/device-state-claims.d.ts +53 -30
- package/dist/builtins/device-manager/device-state-mirror.d.ts +256 -264
- package/dist/builtins/device-manager/device-sync-resolvers.d.ts +25 -25
- package/dist/builtins/device-manager/field-claims-index.d.ts +85 -58
- package/dist/builtins/device-manager/field-ownership.d.ts +54 -36
- package/dist/builtins/device-manager/fleet-read-census.d.ts +99 -61
- package/dist/builtins/device-manager/image-settings-config-schema.d.ts +18 -8
- package/dist/builtins/device-manager/index.d.ts +2 -2
- package/dist/builtins/device-manager/linked-devices-manual-backfill.d.ts +20 -9
- package/dist/builtins/device-manager/location-alignment.d.ts +46 -46
- package/dist/builtins/device-manager/migrate-device.d.ts +178 -101
- package/dist/builtins/device-manager/migrate-guard.d.ts +66 -34
- package/dist/builtins/device-manager/migrate-hardware-state.d.ts +59 -59
- package/dist/builtins/device-manager/migrate-reload.d.ts +42 -4
- package/dist/builtins/device-manager/migration-refused.d.ts +20 -20
- package/dist/builtins/device-manager/mirror-row-writer.d.ts +205 -179
- package/dist/builtins/device-manager/recording-onboard-config-schema.d.ts +56 -32
- package/dist/builtins/device-manager/removal-fence.d.ts +48 -48
- package/dist/builtins/device-manager/runtime-state-persist-gate.d.ts +54 -26
- package/dist/builtins/device-manager/secret-config-paths.d.ts +17 -17
- package/dist/builtins/device-manager/stale-wrapper-activations.d.ts +52 -25
- package/dist/builtins/device-manager/write-lock.d.ts +13 -13
- package/dist/builtins/hub-forwarder/hub-forwarder-destination.d.ts +41 -41
- package/dist/builtins/hub-forwarder/hub-forwarder.addon.d.ts +13 -12
- package/dist/builtins/hub-forwarder/index.d.ts +3 -3
- package/dist/builtins/keychain/index.d.ts +1 -1
- package/dist/builtins/keychain/key-sources.d.ts +19 -19
- package/dist/builtins/keychain/keychain-crypto.d.ts +4 -4
- package/dist/builtins/keychain/keychain-reset-trigger.d.ts +13 -13
- package/dist/builtins/keychain/keychain-service.d.ts +128 -128
- package/dist/builtins/keychain/keychain-store.d.ts +96 -87
- package/dist/builtins/keychain/keychain-usage.d.ts +13 -2
- package/dist/builtins/keychain/keychain.addon.d.ts +31 -6
- package/dist/builtins/keychain/platform-key-source.d.ts +15 -15
- package/dist/builtins/keychain/system-held-secrets.d.ts +17 -4
- package/dist/builtins/liveness-monitor/index.d.ts +2 -2
- package/dist/builtins/liveness-monitor/liveness-checks.d.ts +73 -52
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.d.ts +57 -36
- package/dist/builtins/local-auth/admin-account-boot.d.ts +14 -14
- package/dist/builtins/local-auth/auth-config-reader.d.ts +34 -17
- package/dist/builtins/local-auth/auth-schema.d.ts +92 -69
- package/dist/builtins/local-auth/index.d.ts +1 -1
- package/dist/builtins/local-auth/jwt-signing-key-keeper.d.ts +22 -22
- package/dist/builtins/local-auth/local-auth.addon.d.ts +41 -40
- package/dist/builtins/local-auth/oauth-grants.d.ts +57 -57
- package/dist/builtins/local-auth/oauth-session-manager.d.ts +62 -62
- package/dist/builtins/local-network/address-book.d.ts +61 -36
- package/dist/builtins/local-network/index.d.ts +2 -2
- package/dist/builtins/local-network/ipv6-lan.d.ts +12 -17
- package/dist/builtins/local-network/local-hostname.d.ts +10 -10
- package/dist/builtins/local-network/local-network.addon.d.ts +259 -258
- package/dist/builtins/loki-logging/index.d.ts +4 -4
- package/dist/builtins/loki-logging/loki-destination.d.ts +113 -87
- package/dist/builtins/loki-logging/loki-logging.addon.d.ts +61 -42
- package/dist/builtins/loki-logging/loki-payload.d.ts +82 -39
- package/dist/builtins/loki-logging/retire-enabled-flag.d.ts +37 -12
- package/dist/builtins/native-metrics/cgroup-memory.d.ts +206 -159
- package/dist/builtins/native-metrics/cgroup-pids.d.ts +138 -91
- package/dist/builtins/native-metrics/container-memory-series.d.ts +212 -178
- package/dist/builtins/native-metrics/gpu-probe.d.ts +9 -9
- package/dist/builtins/native-metrics/index.d.ts +2 -2
- package/dist/builtins/native-metrics/load-series-config.d.ts +29 -57
- package/dist/builtins/native-metrics/load-series-reader.d.ts +52 -26
- package/dist/builtins/native-metrics/load-series-store.d.ts +237 -176
- package/dist/builtins/native-metrics/native-metrics-provider.d.ts +43 -43
- package/dist/builtins/native-metrics/native-metrics.addon.d.ts +230 -230
- package/dist/builtins/native-metrics/node-load-ring.d.ts +196 -196
- package/dist/builtins/native-metrics/proc-process-table.d.ts +12 -12
- package/dist/builtins/native-metrics/process-classification.d.ts +95 -36
- package/dist/builtins/native-metrics/thread-cpu-sampler.d.ts +95 -95
- package/dist/builtins/platform-probe/coral-accelerators.d.ts +17 -17
- package/dist/builtins/platform-probe/index.d.ts +38 -30
- package/dist/builtins/platform-probe/inference-config-resolver.d.ts +27 -27
- package/dist/builtins/platform-probe/intel-accelerators.d.ts +8 -8
- package/dist/builtins/platform-probe/intel-npu.d.ts +30 -30
- package/dist/builtins/platform-probe/platform-scorer.d.ts +35 -35
- package/dist/builtins/platform-probe/runtime-packages.d.ts +3 -3
- package/dist/builtins/remote-access-orchestrator/enabled-providers-reconcile.d.ts +87 -87
- package/dist/builtins/remote-access-orchestrator/index.d.ts +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.d.ts +66 -35
- package/dist/builtins/shared/device-state-changed.d.ts +9 -9
- package/dist/builtins/shared/settle-sources.d.ts +16 -16
- package/dist/builtins/snapshot/index.d.ts +2 -2
- package/dist/builtins/snapshot/snapshot-cache.d.ts +92 -92
- package/dist/builtins/snapshot/snapshot-coalescing.d.ts +108 -108
- package/dist/builtins/snapshot/snapshot-courtesy.d.ts +48 -48
- package/dist/builtins/snapshot/snapshot-durable-store.d.ts +32 -32
- package/dist/builtins/snapshot/snapshot-fatigue.d.ts +34 -34
- package/dist/builtins/snapshot/snapshot-grab-pick.d.ts +14 -14
- package/dist/builtins/snapshot/snapshot-link-url.d.ts +49 -49
- package/dist/builtins/snapshot/snapshot-media-handler.d.ts +97 -97
- package/dist/builtins/snapshot/snapshot-resize.d.ts +64 -103
- package/dist/builtins/snapshot/snapshot.addon.d.ts +569 -568
- package/dist/builtins/sqlite-storage/analyze-stats.d.ts +73 -29
- package/dist/builtins/sqlite-storage/config-store.d.ts +6 -6
- package/dist/builtins/sqlite-storage/device-store.d.ts +16 -16
- package/dist/builtins/sqlite-storage/filesystem-browse-provider.d.ts +23 -23
- package/dist/builtins/sqlite-storage/filesystem-storage-provider.d.ts +79 -79
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.d.ts +27 -26
- package/dist/builtins/sqlite-storage/filter-compiler.d.ts +107 -107
- package/dist/builtins/sqlite-storage/index.d.ts +12 -12
- package/dist/builtins/sqlite-storage/integration-registry.d.ts +37 -37
- package/dist/builtins/sqlite-storage/path-guard.d.ts +5 -5
- package/dist/builtins/sqlite-storage/prefix-range.d.ts +44 -44
- package/dist/builtins/sqlite-storage/query-bounds.d.ts +100 -106
- package/dist/builtins/sqlite-storage/query-profiler.d.ts +217 -217
- package/dist/builtins/sqlite-storage/retired-collections.d.ts +124 -55
- package/dist/builtins/sqlite-storage/retired-settings-keys.d.ts +239 -189
- package/dist/builtins/sqlite-storage/shm-lock-canary.d.ts +41 -41
- package/dist/builtins/sqlite-storage/sqlite-pragmas.d.ts +162 -162
- package/dist/builtins/sqlite-storage/sqlite-settings-backend.d.ts +458 -458
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.d.ts +59 -58
- package/dist/builtins/sqlite-storage/sqlite-snapshot-protocol.d.ts +37 -32
- package/dist/builtins/sqlite-storage/sqlite-snapshot-worker.d.ts +19 -19
- package/dist/builtins/sqlite-storage/sqlite-snapshotter.d.ts +76 -76
- package/dist/builtins/sqlite-storage/statement-shape.d.ts +54 -54
- package/dist/builtins/sqlite-storage/table-sizes.d.ts +71 -71
- package/dist/builtins/sqlite-storage/vector-index-shared.d.ts +63 -54
- package/dist/builtins/sqlite-storage/vector-index-vec.d.ts +133 -96
- package/dist/builtins/sqlite-storage/wal-checkpoint-policy.d.ts +161 -161
- package/dist/builtins/sqlite-storage/wal-checkpointer.d.ts +60 -60
- package/dist/builtins/sqlite-storage/wal-maintenance.d.ts +94 -94
- package/dist/builtins/storage-orchestrator/access-guards.d.ts +37 -26
- package/dist/builtins/storage-orchestrator/data-store-dispatch.d.ts +33 -18
- package/dist/builtins/storage-orchestrator/drain-ratchet.d.ts +85 -85
- package/dist/builtins/storage-orchestrator/drain-state-store.d.ts +20 -10
- package/dist/builtins/storage-orchestrator/hub-settings-forward.d.ts +113 -53
- package/dist/builtins/storage-orchestrator/index.d.ts +7 -7
- package/dist/builtins/storage-orchestrator/location-occupancy-slice.d.ts +64 -40
- package/dist/builtins/storage-orchestrator/location-occupancy.d.ts +14 -14
- package/dist/builtins/storage-orchestrator/location-protection.d.ts +13 -13
- package/dist/builtins/storage-orchestrator/location-repoint-move.d.ts +44 -44
- package/dist/builtins/storage-orchestrator/location-root-collision.d.ts +61 -25
- package/dist/builtins/storage-orchestrator/location-secrets.d.ts +99 -58
- package/dist/builtins/storage-orchestrator/location-store.d.ts +56 -47
- package/dist/builtins/storage-orchestrator/location-volume-capacity.d.ts +37 -37
- package/dist/builtins/storage-orchestrator/provider-discovery.d.ts +20 -6
- package/dist/builtins/storage-orchestrator/storage-cleanup-coordinator.d.ts +51 -51
- package/dist/builtins/storage-orchestrator/storage-migration-coordinator.d.ts +224 -224
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.d.ts +292 -292
- package/dist/builtins/storage-orchestrator/storage-orchestrator.service.d.ts +431 -450
- package/dist/builtins/storage-orchestrator/storage-pressure-manager.d.ts +104 -104
- package/dist/builtins/system-backup/backup-encryption.d.ts +60 -23
- package/dist/builtins/system-backup/system-backup.service.d.ts +240 -240
- package/dist/builtins/system-config/cluster-secret-keeper.d.ts +54 -34
- package/dist/builtins/system-config/index.d.ts +2 -2
- package/dist/builtins/system-config/mesh-actions.d.ts +2 -30
- package/dist/builtins/system-config/system-config.addon.d.ts +57 -100
- package/dist/builtins/system-config/system-config.addon.js +37 -33
- package/dist/builtins/system-config/system-config.addon.mjs +37 -33
- package/dist/builtins/winston-logging/index.d.ts +3 -3
- package/dist/builtins/winston-logging/winston-destination.d.ts +15 -15
- package/dist/builtins/winston-logging/winston-logging.addon.d.ts +14 -13
- package/dist/{child-cap-dispatch-nURMuVTX.js → child-cap-dispatch-Bnr8brru.js} +18 -0
- package/dist/{child-cap-dispatch-B1gyE35b.mjs → child-cap-dispatch-mHO_6r0G.mjs} +1 -1
- package/dist/download/hosted-model-revisions.d.ts +8 -8
- package/dist/download/model-download-service.d.ts +32 -32
- package/dist/download/model-downloader.d.ts +88 -88
- package/dist/events/event-bus.d.ts +6 -6
- package/dist/events/system-event-bus.d.ts +11 -11
- package/dist/feature/feature-manager.d.ts +6 -6
- package/dist/http/asset-compression.d.ts +35 -73
- package/dist/http/authenticated-file-server.d.ts +32 -32
- package/dist/http/data-plane-registry.d.ts +49 -39
- package/dist/http/file-data-plane.d.ts +14 -14
- package/dist/http/lan-http-bind.d.ts +24 -13
- package/dist/http/reverse-proxy.d.ts +36 -24
- package/dist/index.d.ts +137 -137
- package/dist/index.js +4 -3
- package/dist/index.mjs +2 -4
- package/dist/kernel/addon-class-resolver.d.ts +1 -1
- package/dist/kernel/addon-engine-manager.d.ts +20 -20
- package/dist/kernel/addon-health-monitor.d.ts +151 -151
- package/dist/kernel/addon-installer.d.ts +609 -609
- package/dist/kernel/addon-loader.d.ts +133 -133
- package/dist/kernel/addon-manifest.d.ts +118 -118
- package/dist/kernel/addon-residue.d.ts +28 -32
- package/dist/kernel/array-buffer-census.d.ts +84 -88
- package/dist/kernel/bootstrap-config.d.ts +3 -3
- package/dist/kernel/cap-router-builder.d.ts +145 -101
- package/dist/kernel/capability-handle.d.ts +41 -41
- package/dist/kernel/capability-registry.d.ts +588 -576
- package/dist/kernel/config-manager.d.ts +199 -199
- package/dist/kernel/config-schema.d.ts +132 -128
- package/dist/kernel/custom-action-registry.d.ts +25 -25
- package/dist/kernel/deps/addon-deps-manager.d.ts +17 -17
- package/dist/kernel/deps/closure-dedupe.d.ts +76 -76
- package/dist/kernel/deps/ensure-addon-natives.d.ts +34 -34
- package/dist/kernel/deps/ensure-native-prebuilds.d.ts +25 -25
- package/dist/kernel/deps/manifest-native-deps.d.ts +38 -38
- package/dist/kernel/deps/manifest-python-deps.d.ts +18 -18
- package/dist/kernel/deps/manifest-system-deps.d.ts +13 -13
- package/dist/kernel/deps/npm-command.d.ts +45 -45
- package/dist/kernel/deps/system-package-allowlist.d.ts +9 -9
- package/dist/kernel/deps/system-package-broker.d.ts +20 -20
- package/dist/kernel/deps/system-package-client.d.ts +3 -3
- package/dist/kernel/device-registry.d.ts +27 -27
- package/dist/kernel/event-loop-stall-monitor.d.ts +33 -33
- package/dist/kernel/event-plane-report.d.ts +174 -174
- package/dist/kernel/fs-utils.d.ts +70 -70
- package/dist/kernel/gc-census.d.ts +119 -119
- package/dist/kernel/heap-spaces.d.ts +87 -87
- package/dist/kernel/heap-watch.d.ts +706 -706
- package/dist/kernel/host-externals.d.ts +8 -8
- package/dist/kernel/hwaccel/hwaccel-resolver.d.ts +27 -27
- package/dist/kernel/index.d.ts +115 -113
- package/dist/kernel/inference/inference-resolver.d.ts +13 -13
- package/dist/kernel/infra-capabilities.d.ts +7 -7
- package/dist/kernel/isolated-builtin-phase.d.ts +42 -42
- package/dist/kernel/lifecycle/job-journal.d.ts +17 -17
- package/dist/kernel/lifecycle/lifecycle-job-engine.d.ts +99 -99
- package/dist/kernel/lifecycle/staging-area.d.ts +22 -22
- package/dist/kernel/moleculer/addon-context-factory.d.ts +90 -89
- package/dist/kernel/moleculer/addon-data-plane-facility.d.ts +12 -12
- package/dist/kernel/moleculer/addon-deploy-source.d.ts +11 -11
- package/dist/kernel/moleculer/addon-peer-bytes-facility.d.ts +18 -18
- package/dist/kernel/moleculer/addon-service-factory.d.ts +41 -41
- package/dist/kernel/moleculer/agent-mesh-authenticator.d.ts +60 -33
- package/dist/kernel/moleculer/agent-ui-unlock.d.ts +30 -30
- package/dist/kernel/moleculer/broker-factory.d.ts +61 -61
- package/dist/kernel/moleculer/cap-usage-registry.d.ts +108 -153
- package/dist/kernel/moleculer/capabilities-access.d.ts +19 -19
- package/dist/kernel/moleculer/child-addon-call-dispatch.d.ts +43 -43
- package/dist/kernel/moleculer/child-cap-descriptors.d.ts +26 -26
- package/dist/kernel/moleculer/child-cap-dispatch.d.ts +52 -52
- package/dist/kernel/moleculer/children-batch-loader.d.ts +86 -34
- package/dist/kernel/moleculer/cluster-secret.d.ts +19 -19
- package/dist/kernel/moleculer/core-cap-service.d.ts +53 -53
- package/dist/kernel/moleculer/crash-supervisor.d.ts +39 -39
- package/dist/kernel/moleculer/device-cap-proxy.d.ts +51 -51
- package/dist/kernel/moleculer/device-event-ring.d.ts +117 -75
- package/dist/kernel/moleculer/event-bus-core.d.ts +171 -159
- package/dist/kernel/moleculer/event-bus.d.ts +73 -73
- package/dist/kernel/moleculer/hub-log-forwarder.d.ts +30 -30
- package/dist/kernel/moleculer/hub-service.d.ts +42 -42
- package/dist/kernel/moleculer/init-watchdog.d.ts +49 -49
- package/dist/kernel/moleculer/mesh-access-middleware.d.ts +36 -21
- package/dist/kernel/moleculer/mesh-auth-mode.d.ts +33 -39
- package/dist/kernel/moleculer/mesh-authenticator.d.ts +58 -58
- package/dist/kernel/moleculer/mesh-auto-enforce.d.ts +38 -18
- package/dist/kernel/moleculer/mesh-join-client.d.ts +67 -45
- package/dist/kernel/moleculer/mesh-join-proof.d.ts +8 -8
- package/dist/kernel/moleculer/mesh-mtls/constants.d.ts +1 -1
- package/dist/kernel/moleculer/mesh-mtls/index.d.ts +10 -10
- package/dist/kernel/moleculer/mesh-mtls/mesh-ca-keeper.d.ts +43 -38
- package/dist/kernel/moleculer/mesh-mtls/mesh-ca.d.ts +29 -20
- package/dist/kernel/moleculer/mesh-mtls/mesh-clear-port.d.ts +32 -32
- package/dist/kernel/moleculer/mesh-mtls/mesh-crl.d.ts +11 -11
- package/dist/kernel/moleculer/mesh-mtls/mesh-enroll.d.ts +19 -16
- package/dist/kernel/moleculer/mesh-mtls/mesh-join-token.d.ts +40 -40
- package/dist/kernel/moleculer/mesh-mtls/mesh-tls-enabler.d.ts +5 -1
- package/dist/kernel/moleculer/mesh-mtls/tls-tcp-transporter.d.ts +131 -130
- package/dist/kernel/moleculer/mesh-queue-report.d.ts +39 -39
- package/dist/kernel/moleculer/node-registry.d.ts +120 -120
- package/dist/kernel/moleculer/process-context.d.ts +2 -2
- package/dist/kernel/moleculer/process-service.d.ts +168 -168
- package/dist/kernel/moleculer/provider-registry.d.ts +9 -9
- package/dist/kernel/moleculer/readiness-context.d.ts +58 -58
- package/dist/kernel/moleculer/readiness-service.d.ts +31 -16
- package/dist/kernel/moleculer/register-framework-resolver.d.ts +6 -6
- package/dist/kernel/moleculer/register-node-client.d.ts +34 -27
- package/dist/kernel/moleculer/remote-logger.d.ts +29 -29
- package/dist/kernel/moleculer/resilient-cap-call.d.ts +21 -21
- package/dist/kernel/moleculer/runner-native-allocator.d.ts +95 -95
- package/dist/kernel/moleculer/runner-process-group.d.ts +57 -57
- package/dist/kernel/moleculer/runtime-state-load.d.ts +21 -11
- package/dist/kernel/moleculer/settings-read-guard.d.ts +39 -39
- package/dist/kernel/moleculer/stream-probe-service.d.ts +25 -6
- package/dist/kernel/moleculer/trpc-links.d.ts +203 -203
- package/dist/kernel/moleculer/typed-array-serde.d.ts +9 -20
- package/dist/kernel/moleculer/worker-device-restore.d.ts +8 -8
- package/dist/kernel/outbound-queue-watch.d.ts +74 -74
- package/dist/kernel/process-cpu-census.d.ts +55 -55
- package/dist/kernel/provider-kind-drift.d.ts +17 -8
- package/dist/kernel/restart-coordinator.d.ts +71 -71
- package/dist/kernel/settings-door-view.d.ts +36 -25
- package/dist/kernel/settings-read-error.d.ts +29 -31
- package/dist/kernel/settings-view-types.d.ts +100 -95
- package/dist/kernel/socket-plane-report.d.ts +214 -153
- package/dist/kernel/status-overlay.d.ts +31 -11
- package/dist/kernel/storage-location-registry.d.ts +50 -50
- package/dist/kernel/store-settings-view.d.ts +13 -13
- package/dist/kernel/system-settings-mirror.d.ts +40 -28
- package/dist/kernel/system-settings-policy.d.ts +15 -34
- package/dist/kernel/transport/cap-action-census.d.ts +183 -183
- package/dist/kernel/transport/cap-action-name.d.ts +84 -84
- package/dist/kernel/transport/cap-child-index.d.ts +41 -41
- package/dist/kernel/transport/cap-route-resolver.d.ts +237 -212
- package/dist/kernel/transport/cap-route.d.ts +139 -139
- package/dist/kernel/transport/cap-routing-hints.d.ts +37 -37
- package/dist/kernel/transport/child-cap-protocol.d.ts +245 -245
- package/dist/kernel/transport/claimed-get-status.d.ts +30 -6
- package/dist/kernel/transport/create-local-transport.d.ts +5 -5
- package/dist/kernel/transport/frame-codec.d.ts +109 -109
- package/dist/kernel/transport/hub-cap-forward.d.ts +81 -59
- package/dist/kernel/transport/index.d.ts +36 -36
- package/dist/kernel/transport/local-child-client.d.ts +184 -184
- package/dist/kernel/transport/local-child-registry.d.ts +592 -592
- package/dist/kernel/transport/local-endpoint-path.d.ts +4 -4
- package/dist/kernel/transport/local-transport.d.ts +92 -92
- package/dist/kernel/transport/parent-unowned-call.d.ts +266 -237
- package/dist/kernel/transport/peer-answered-error.d.ts +14 -14
- package/dist/kernel/transport/socket-channel.d.ts +110 -110
- package/dist/kernel/transport/socket-traffic.d.ts +96 -96
- package/dist/kernel/transport/uds-event-bridge.d.ts +77 -50
- package/dist/kernel/transport/uds-event-bus.d.ts +75 -26
- package/dist/kernel/transport/uds-local-transport.d.ts +14 -14
- package/dist/kernel/transport/uds-log-ingest.d.ts +38 -23
- package/dist/kernel/transport/uds-logger.d.ts +33 -33
- package/dist/kernel/utils/ring-buffer.d.ts +12 -12
- package/dist/kernel/workspace-detect.d.ts +7 -7
- package/dist/lifecycle/lifecycle-state-machine.d.ts +24 -24
- package/dist/logging/formatter.d.ts +52 -25
- package/dist/logging/log-manager.d.ts +133 -133
- package/dist/logging/log-redactor.d.ts +22 -1
- package/dist/logging/log-ring-buffer.d.ts +57 -57
- package/dist/logging/logging-gate.d.ts +69 -25
- package/dist/logging/logging-gate.singleton.d.ts +12 -1
- package/dist/logging/partitioned-log-buffer.d.ts +161 -161
- package/dist/logging/scoped-logger.d.ts +14 -14
- package/dist/network/network-quality.d.ts +8 -8
- package/dist/notification/notification-service.d.ts +37 -37
- package/dist/notification/toast-service.d.ts +18 -18
- package/dist/pipeline/engine-manager-resolver.d.ts +12 -12
- package/dist/pipeline/pipeline-runner.d.ts +6 -6
- package/dist/pipeline/pipeline-validator.d.ts +8 -8
- package/dist/process/proc-stat.d.ts +51 -51
- package/dist/process/resource-monitor.d.ts +19 -19
- package/dist/python/python-env-manager.d.ts +10 -10
- package/dist/repl/interfaces.d.ts +21 -21
- package/dist/repl/repl-engine.d.ts +6 -6
- package/dist/storage/fs-storage-backend.d.ts +35 -35
- package/dist/storage/storage-location-manager.d.ts +21 -21
- package/dist/storage/storage-manager.d.ts +68 -68
- package/dist/tls/boot-tls.d.ts +24 -24
- package/dist/tls/cert-evaluation.d.ts +25 -25
- package/dist/tls/cert-identity.d.ts +39 -39
- package/dist/tls/cert-issue.d.ts +37 -17
- package/dist/tls/cert-manager.d.ts +86 -84
- package/dist/tls/https-listener.d.ts +16 -16
- package/dist/tls/index.d.ts +8 -8
- package/dist/tls/tls-actions.d.ts +18 -18
- package/dist/tls/tls-status.d.ts +15 -15
- package/dist/tls/uploaded-cert.d.ts +9 -9
- package/package.json +9 -3
|
@@ -1,113 +1,113 @@
|
|
|
1
|
-
import { IScopedLogger } from
|
|
2
|
-
import
|
|
1
|
+
import type { IScopedLogger } from "@camstack/types";
|
|
2
|
+
import type Database from "better-sqlite3";
|
|
3
3
|
/**
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
4
|
+
* Size at or above which the WAL is a candidate for a truncating checkpoint,
|
|
5
|
+
* in bytes. 67108864 = **64 MiB**.
|
|
6
|
+
*
|
|
7
|
+
* Matched to `SQLITE_JOURNAL_SIZE_LIMIT_BYTES`: below this, the passive
|
|
8
|
+
* mechanism (autocheckpoint + `journal_size_limit`) is doing its job and there
|
|
9
|
+
* is nothing to reclaim. The live hub's WAL had reached 248,955,152 bytes —
|
|
10
|
+
* roughly 2x the 130 MB database — which is what says the passive path alone
|
|
11
|
+
* had stopped keeping up.
|
|
12
|
+
*/
|
|
13
13
|
export declare const WAL_HIGH_WATER_BYTES = 67108864;
|
|
14
14
|
/**
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
export declare const WAL_IDLE_QUIET_MS =
|
|
15
|
+
* How long the WAL must have gone UNWRITTEN before a truncating checkpoint is
|
|
16
|
+
* allowed, in ms.
|
|
17
|
+
*
|
|
18
|
+
* This is the stall guard and the reason this file exists. `wal_checkpoint
|
|
19
|
+
* (TRUNCATE)` takes the writer lock, waits for readers, and copies the whole
|
|
20
|
+
* WAL back into the database — synchronously, on the thread that serves every
|
|
21
|
+
* request. An unconditional periodic one on a busy NVR would be the disease
|
|
22
|
+
* (hub-main already spends 42 s per 2 minutes inside uninterrupted blocks),
|
|
23
|
+
* not the cure.
|
|
24
|
+
*
|
|
25
|
+
* The idle signal is the WAL file's own mtime. It is one `stat`, and unlike a
|
|
26
|
+
* write counter maintained in this class it covers EVERY writer on the file —
|
|
27
|
+
* the settings backend, the sqlite-vec index sharing the handle, and the
|
|
28
|
+
* short-lived second connection system-backup opens. On a genuinely busy NVR
|
|
29
|
+
* this gate simply never opens, and `journal_size_limit` remains the only
|
|
30
|
+
* thing bounding the file. That is the intended failure mode: doing nothing is
|
|
31
|
+
* strictly better than a 249 MB copy in the middle of a live request.
|
|
32
|
+
*/
|
|
33
|
+
export declare const WAL_IDLE_QUIET_MS = 3e4;
|
|
34
34
|
/**
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
35
|
+
* Ceiling on how long the checkpoint may wait for a lock, in ms.
|
|
36
|
+
*
|
|
37
|
+
* better-sqlite3 defaults `busy_timeout` to 5000. A checkpoint invokes the
|
|
38
|
+
* busy handler while waiting for readers, so without this a "quiet" moment
|
|
39
|
+
* that turns out not to be quiet could park the main thread for 5 s. 250 ms
|
|
40
|
+
* means the checkpoint gives up and we try again on the next tick — the WAL
|
|
41
|
+
* staying big for another minute costs nothing.
|
|
42
|
+
*/
|
|
43
43
|
export declare const WAL_CHECKPOINT_BUSY_TIMEOUT_MS = 250;
|
|
44
44
|
/** How often the gate is evaluated, in ms. Cheap: a `stat` unless it fires. */
|
|
45
|
-
export declare const WAL_MAINTENANCE_INTERVAL_MS =
|
|
45
|
+
export declare const WAL_MAINTENANCE_INTERVAL_MS = 6e4;
|
|
46
46
|
/** What a single maintenance tick did. Every branch is named. */
|
|
47
47
|
export type WalMaintenanceOutcome = {
|
|
48
|
-
|
|
48
|
+
readonly kind: "no-wal";
|
|
49
49
|
} | {
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
readonly kind: "below-high-water";
|
|
51
|
+
readonly walBytes: number;
|
|
52
52
|
} | {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
53
|
+
readonly kind: "deferred-not-idle";
|
|
54
|
+
readonly walBytes: number;
|
|
55
|
+
readonly quietForMs: number;
|
|
56
56
|
} | {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
57
|
+
readonly kind: "checkpointed";
|
|
58
|
+
readonly beforeBytes: number;
|
|
59
|
+
readonly afterBytes: number;
|
|
60
|
+
readonly busy: boolean;
|
|
61
|
+
readonly walFrames: number;
|
|
62
|
+
readonly checkpointedFrames: number;
|
|
63
63
|
} | {
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
readonly kind: "failed";
|
|
65
|
+
readonly error: string;
|
|
66
66
|
};
|
|
67
67
|
/** Construction inputs for {@link WalMaintenance}. */
|
|
68
68
|
export interface WalMaintenanceOptions {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
69
|
+
readonly db: Database.Database;
|
|
70
|
+
/** Path to the main database file; the WAL is `${dbPath}-wal`. */
|
|
71
|
+
readonly dbPath: string;
|
|
72
|
+
readonly logger: IScopedLogger;
|
|
73
|
+
readonly highWaterBytes?: number;
|
|
74
|
+
readonly idleQuietMs?: number;
|
|
75
|
+
readonly intervalMs?: number;
|
|
76
|
+
readonly busyTimeoutMs?: number;
|
|
77
77
|
}
|
|
78
78
|
/**
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
79
|
+
* Periodic, heavily gated `wal_checkpoint(TRUNCATE)`.
|
|
80
|
+
*
|
|
81
|
+
* The interesting behaviour is all refusal. A tick costs one `stat` in the
|
|
82
|
+
* common case; it escalates to a lock-taking checkpoint only when the WAL is
|
|
83
|
+
* over the high-water mark AND nothing has written to it for
|
|
84
|
+
* {@link WAL_IDLE_QUIET_MS}, and even then the wait is bounded to
|
|
85
|
+
* {@link WAL_CHECKPOINT_BUSY_TIMEOUT_MS}.
|
|
86
|
+
*/
|
|
87
87
|
export declare class WalMaintenance {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
88
|
+
private readonly db;
|
|
89
|
+
private readonly walPath;
|
|
90
|
+
private readonly logger;
|
|
91
|
+
private readonly highWaterBytes;
|
|
92
|
+
private readonly idleQuietMs;
|
|
93
|
+
private readonly intervalMs;
|
|
94
|
+
private readonly busyTimeoutMs;
|
|
95
|
+
private timer;
|
|
96
|
+
constructor(options: WalMaintenanceOptions);
|
|
97
|
+
start(): void;
|
|
98
|
+
stop(): void;
|
|
99
|
+
isRunning(): boolean;
|
|
100
|
+
/** Evaluate the gate once and act. Never throws. */
|
|
101
|
+
runOnce(): WalMaintenanceOutcome;
|
|
102
|
+
private evaluate;
|
|
103
|
+
/**
|
|
104
|
+
* Take the writer lock and fold the WAL back, with the wait bounded.
|
|
105
|
+
*
|
|
106
|
+
* The original `busy_timeout` is restored in a `finally`: this connection is
|
|
107
|
+
* shared with the settings backend and the vector index, and leaving them on
|
|
108
|
+
* a 250 ms timeout would turn an ordinary contended write into a spurious
|
|
109
|
+
* SQLITE_BUSY.
|
|
110
|
+
*/
|
|
111
|
+
private checkpoint;
|
|
112
|
+
private statWal;
|
|
113
113
|
}
|
|
@@ -1,32 +1,43 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* The two decisions the orchestrator makes from "is this location backed by a
|
|
3
|
+
* local filesystem?", extracted so both are directly testable without standing
|
|
4
|
+
* up an addon.
|
|
5
|
+
*
|
|
6
|
+
* They are the second and third locks of D296. The first is
|
|
7
|
+
* `upsertLocation`'s refusal, which stops the configuration from existing.
|
|
8
|
+
* These two hold for a row that predates the guard, for one written by a
|
|
9
|
+
* future code path, and for a provider that changes its own `nodeLocal`
|
|
10
|
+
* answer after a location was made.
|
|
11
|
+
*/
|
|
12
|
+
import type { StorageLocation } from "@camstack/types";
|
|
2
13
|
/** What a provider answered about itself; `undefined` = not yet classified. */
|
|
3
14
|
export type ProviderLocality = boolean | undefined;
|
|
4
15
|
/**
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
* May `storage.resolve` return a path for this location?
|
|
17
|
+
*
|
|
18
|
+
* `resolve` is the only method on the cap whose result LEAVES the storage
|
|
19
|
+
* abstraction — every caller of it opens the string with `node:fs`. A remote
|
|
20
|
+
* provider answers with a path on the remote host, which on this node is
|
|
21
|
+
* either missing or an unrelated local directory of the same name. For the
|
|
22
|
+
* recorder, writing to the wrong place is not an error the operator sees; it
|
|
23
|
+
* is a black window in the footage.
|
|
24
|
+
*
|
|
25
|
+
* Only a POSITIVE `false` refuses. `undefined` is "not yet classified", not
|
|
26
|
+
* "remote" — and a conclusion drawn from a read that was never made is how a
|
|
27
|
+
* doorbell rang 0/3 (D49).
|
|
28
|
+
*/
|
|
18
29
|
export declare function resolveRefusalFor(location: StorageLocation, locality: ProviderLocality): string | null;
|
|
19
30
|
/**
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
31
|
+
* Can this node's filesystem answer "does this location still hold anything?"
|
|
32
|
+
*
|
|
33
|
+
* Only for a provider it KNOWS to be node-local. Everything else is `unknown`,
|
|
34
|
+
* which refuses a delete.
|
|
35
|
+
*
|
|
36
|
+
* The direction that matters is the one this closes. A remote location carries
|
|
37
|
+
* a plain-looking `basePath` (`/backups/camstack`); `fs.readdir` of it on the
|
|
38
|
+
* hub answers `ENOENT`, and `ENOENT` is deliberately read as `empty` — because
|
|
39
|
+
* for a LOCAL location an absent root means there is nothing the delete can
|
|
40
|
+
* strand. Applied to a remote row, that same reasoning turns a full share into
|
|
41
|
+
* a vacant one and walks D293's delete guard straight past it.
|
|
42
|
+
*/
|
|
32
43
|
export declare function canProbeOccupancyLocally(locality: ProviderLocality): boolean;
|
|
@@ -1,24 +1,39 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* The data door's dispatcher — the `settings-store` provider the storage
|
|
3
|
+
* orchestrator registers, forwarding every call to the
|
|
4
|
+
* `data-store-provider` engine behind it ([D44](../../../../../docs/decisions/adr-0044.md)).
|
|
5
|
+
*
|
|
6
|
+
* It is a ROUTER, not a translator. The two cap surfaces are deliberately
|
|
7
|
+
* identical, so every method here is the same forward, and the payload
|
|
8
|
+
* crosses untouched. That matters more than it looks: the engine composes
|
|
9
|
+
* its table name from `namespace` + `collection` **out of the payload**,
|
|
10
|
+
* so a dispatcher that injected, defaulted or stripped a namespace would
|
|
11
|
+
* silently rename every table in the database.
|
|
12
|
+
*
|
|
13
|
+
* Extracted from the addon so the forwarding is unit-testable without
|
|
14
|
+
* booting a `BaseAddon` — the same reason `provider-discovery.ts` exists.
|
|
15
|
+
*/
|
|
16
|
+
import type { IDataStoreProvider, ISettingsStoreProvider } from "@camstack/types";
|
|
2
17
|
/** How the dispatcher reaches the registered engines, read per call. */
|
|
3
18
|
export type GetDataStoreEngines = () => readonly IDataStoreProvider[];
|
|
4
19
|
/**
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
20
|
+
* How the dispatcher reaches the node that owns the store when THIS node
|
|
21
|
+
* does not — an agent, whose persistence is the hub's
|
|
22
|
+
* (`createHubSettingsForward`). Read per call for the same reason
|
|
23
|
+
* `getEngines` is: the broker reconnects, and a snapshot taken at
|
|
24
|
+
* construction time would go stale exactly when the hub came back.
|
|
25
|
+
*
|
|
26
|
+
* `null` (and an omitted getter) means "there is no remote" — a hub, where a
|
|
27
|
+
* remote could only be this very door, reached back through `$hub-cap-fwd`.
|
|
28
|
+
*/
|
|
14
29
|
export type GetRemoteDataStore = () => ISettingsStoreProvider | null;
|
|
15
30
|
/**
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
31
|
+
* Build the `settings-store` provider that fronts the registered engines,
|
|
32
|
+
* with an optional remote behind it for a node that registers none.
|
|
33
|
+
*
|
|
34
|
+
* `getEngines` and `getRemote` are read on every call, never captured:
|
|
35
|
+
* engines register during boot and a runner respawn replaces the instance, so
|
|
36
|
+
* a snapshot taken at construction time would go stale exactly when an addon
|
|
37
|
+
* crashed and came back.
|
|
38
|
+
*/
|
|
24
39
|
export declare function createDataStoreDispatch(getEngines: GetDataStoreEngines, getRemote?: GetRemoteDataStore): ISettingsStoreProvider;
|
|
@@ -1,104 +1,104 @@
|
|
|
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
|
-
|
|
2
|
+
* The growth-matched drain ratchet (D386).
|
|
3
|
+
*
|
|
4
|
+
* `readonly` takes a location OUT of pressure eviction. `drain` must instead
|
|
5
|
+
* SHRINK it — and priority ordering alone does nothing, because the draining
|
|
6
|
+
* disk and the destination are different physical devices: pressure on one can
|
|
7
|
+
* never trigger eviction on the other.
|
|
8
|
+
*
|
|
9
|
+
* So a draining location gets a **monotonically descending effective usage
|
|
10
|
+
* cap**, enforced through the existing `relieveToUsageCap` machinery rather
|
|
11
|
+
* than a second eviction path. The pace is GROWTH-MATCHED: each sweep, the
|
|
12
|
+
* draining location cedes as many bytes as the ACTIVE locations of its class
|
|
13
|
+
* gained since the previous sweep. There is no operator-facing rate — the
|
|
14
|
+
* operator sets one flag and nothing else.
|
|
15
|
+
*
|
|
16
|
+
* The properties this module exists to hold, each one a named test:
|
|
17
|
+
*
|
|
18
|
+
* - no growth in the destination ⇒ nothing is deleted this sweep;
|
|
19
|
+
* - the cap never rises again — a shrunken cap survives a sweep where growth
|
|
20
|
+
* is negative or unmeasurable;
|
|
21
|
+
* - the state survives a process restart (it is PERSISTED, never recomputed
|
|
22
|
+
* from scratch — a recomputed cap would start again at today's usage and
|
|
23
|
+
* silently undo every byte of progress);
|
|
24
|
+
* - reaching zero stops the ratchet and reports the location as drained;
|
|
25
|
+
* - switching back to `readonly` or `active` stops it immediately (the caller
|
|
26
|
+
* clears the state; nothing here keeps running on its own).
|
|
27
|
+
*
|
|
28
|
+
* Pure. Every input is a parameter, every output is a new object.
|
|
29
|
+
*/
|
|
30
30
|
/** What one sweep measured about a draining location and its class. */
|
|
31
31
|
export interface DrainObservation {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
32
|
+
readonly locationId: string;
|
|
33
|
+
/** Evictable bytes on the DRAINING location, now. */
|
|
34
|
+
readonly usedBytes: number;
|
|
35
|
+
/**
|
|
36
|
+
* Evictable bytes held by the ACTIVE locations of the same class, now.
|
|
37
|
+
* `null` when this sweep could not measure them — no active peer, or a
|
|
38
|
+
* provider read that failed. Unmeasurable is NOT zero growth with a
|
|
39
|
+
* different name: it must never be allowed to move the cap in either
|
|
40
|
+
* direction, and it must never be folded into the observed growth rate the
|
|
41
|
+
* estimate is derived from.
|
|
42
|
+
*/
|
|
43
|
+
readonly peerUsedBytes: number | null;
|
|
44
|
+
readonly atMs: number;
|
|
45
45
|
}
|
|
46
46
|
/** The persisted ratchet state for one draining location. */
|
|
47
47
|
export interface DrainState {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
48
|
+
readonly locationId: string;
|
|
49
|
+
/** When the drain began. Persisted so a restart reports real elapsed time. */
|
|
50
|
+
readonly startedAtMs: number;
|
|
51
|
+
/** Evictable bytes at that moment — the denominator of "progress". */
|
|
52
|
+
readonly startBytes: number;
|
|
53
|
+
/** The effective usage cap. NEVER rises. */
|
|
54
|
+
readonly capBytes: number;
|
|
55
|
+
/** Peer footprint at the previous sweep; the next sweep's growth is measured
|
|
56
|
+
* against it. `null` until a sweep manages to measure it. */
|
|
57
|
+
readonly lastPeerBytes: number | null;
|
|
58
|
+
readonly lastSweepMs: number;
|
|
59
|
+
/** Total MEASURED growth ceded so far, and the wall time it took. The empty
|
|
60
|
+
* estimate is derived from these two and from nothing else — a rate the
|
|
61
|
+
* system has not observed is reported as absent, never as a date. */
|
|
62
|
+
readonly observedGrowthBytes: number;
|
|
63
|
+
readonly observedElapsedMs: number;
|
|
64
64
|
}
|
|
65
65
|
/** One sweep's decision. */
|
|
66
66
|
export interface DrainStep {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
67
|
+
readonly state: DrainState;
|
|
68
|
+
/**
|
|
69
|
+
* The cap to enforce this sweep, or `null` when nothing is to be evicted —
|
|
70
|
+
* the first sweep (no growth measured yet) and a location already drained.
|
|
71
|
+
*/
|
|
72
|
+
readonly capBytes: number | null;
|
|
73
|
+
/** The location holds nothing more: the ratchet stops and the caller reports
|
|
74
|
+
* it drained. */
|
|
75
|
+
readonly drained: boolean;
|
|
76
|
+
/** Growth measured this sweep, or `null` when it was unmeasurable. */
|
|
77
|
+
readonly growthBytes: number | null;
|
|
78
78
|
}
|
|
79
79
|
/** Progress a UI can render. */
|
|
80
80
|
export interface DrainProgress {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
81
|
+
readonly locationId: string;
|
|
82
|
+
readonly startedAtMs: number;
|
|
83
|
+
readonly startBytes: number;
|
|
84
|
+
readonly bytesRemaining: number;
|
|
85
|
+
readonly drained: boolean;
|
|
86
|
+
/**
|
|
87
|
+
* Epoch ms this location is expected to be empty, or `null` when the growth
|
|
88
|
+
* rate is unknown. Never a fabricated date: a drain with no observed growth
|
|
89
|
+
* has no honest ETA, and inventing one is how an operator learns not to
|
|
90
|
+
* believe the screen.
|
|
91
|
+
*/
|
|
92
|
+
readonly estimatedEmptyAtMs: number | null;
|
|
93
93
|
}
|
|
94
94
|
/** The state a drain starts from. No deletion happens on this sweep. */
|
|
95
95
|
export declare function beginDrain(observation: DrainObservation): DrainState;
|
|
96
96
|
/**
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
97
|
+
* Advance the ratchet by one sweep. `previous` is `null` on the first sweep of
|
|
98
|
+
* a drain (and after a state the caller cleared), which only ARMS the ratchet:
|
|
99
|
+
* the first growth can be measured no earlier than the second sweep, and a cap
|
|
100
|
+
* derived from no measurement would be a rate the operator never asked for.
|
|
101
|
+
*/
|
|
102
102
|
export declare function stepDrain(previous: DrainState | null, observation: DrainObservation): DrainStep;
|
|
103
103
|
/** Progress for a UI, derived from the persisted state and today's usage. */
|
|
104
104
|
export declare function drainProgressOf(state: DrainState, usedBytes: number, nowMs: number): DrainProgress;
|
|
@@ -1,13 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Durable home for the drain ratchet (D386).
|
|
3
|
+
*
|
|
4
|
+
* The cap MUST survive a restart. Recomputing it from today's usage would
|
|
5
|
+
* restart the ratchet at the top of the disk and silently undo every byte of
|
|
6
|
+
* progress — the operator would see a drain that never finishes and no line
|
|
7
|
+
* saying why. So the cap, the drain start and the observed growth are persisted
|
|
8
|
+
* on every sweep, through the same `settings-store` door the location table
|
|
9
|
+
* uses.
|
|
10
|
+
*/
|
|
11
|
+
import type { ISettingsStoreProvider } from "@camstack/types";
|
|
12
|
+
import type { DrainState } from "./drain-ratchet.js";
|
|
13
|
+
import type { DrainStateStore } from "./storage-pressure-manager.js";
|
|
4
14
|
/** {@link DrainStateStore} on the `settings-store` collection surface. */
|
|
5
15
|
export declare class SqliteDrainStateStore implements DrainStateStore {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
16
|
+
private readonly store;
|
|
17
|
+
private declared;
|
|
18
|
+
constructor(store: ISettingsStoreProvider);
|
|
19
|
+
private ensureDeclared;
|
|
20
|
+
load(): Promise<readonly DrainState[]>;
|
|
21
|
+
save(state: DrainState): Promise<void>;
|
|
22
|
+
clear(locationId: string): Promise<void>;
|
|
13
23
|
}
|