@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,68 +1,128 @@
|
|
|
1
|
-
import { IClusterBroker, IScopedLogger, ISettingsStoreProvider } from '@camstack/types';
|
|
2
1
|
/**
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
* The data door with the HUB behind it — an agent's `settings-store` provider.
|
|
3
|
+
*
|
|
4
|
+
* ## Why this exists
|
|
5
|
+
*
|
|
6
|
+
* Persistence is the hub's. An agent runs no `data-store-provider` engine
|
|
7
|
+
* (see `resolveAgentInfraCapabilities` in `server/backend/src/agent/`), so the
|
|
8
|
+
* `settings-store` door the storage-orchestrator registers on an agent has
|
|
9
|
+
* nothing local behind it. Rather than refuse — which would strand the four
|
|
10
|
+
* infra addons that boot inside agent-main (`hub-forwarder`, `native-metrics`,
|
|
11
|
+
* `platform-probe`, the orchestrator itself) with a `ctx.settings` that throws
|
|
12
|
+
* on every read — the door FORWARDS into the hub's own routing.
|
|
13
|
+
*
|
|
14
|
+
* This is not a new transport. It is the same `$hub-cap-fwd.forward` a forked
|
|
15
|
+
* addon on an agent has always used to reach a hub-hosted cap
|
|
16
|
+
* (`kernel/transport/hub-cap-forward.ts` names `settings-store` in its own
|
|
17
|
+
* header); agent-main's infra addons simply never had it, because they resolve
|
|
18
|
+
* `ctx.api.settingsStore` through `localProviderLink` against the process's own
|
|
19
|
+
* provider registry — which is exactly the local door.
|
|
20
|
+
*
|
|
21
|
+
* ## The payload crosses untouched
|
|
22
|
+
*
|
|
23
|
+
* The engine composes its table name from `namespace` + `collection` **out of
|
|
24
|
+
* the payload**. A forwarder that injected, defaulted or stripped a namespace
|
|
25
|
+
* would silently rename every table on the hub. Every method here is the same
|
|
26
|
+
* forward, and the args are the caller's object verbatim — the same rule
|
|
27
|
+
* `data-store-dispatch.ts` states for the local path, for the same reason.
|
|
28
|
+
*
|
|
29
|
+
* ## No second key space
|
|
30
|
+
*
|
|
31
|
+
* Per-node scoping already exists, one layer up, and it is per FIELD:
|
|
32
|
+
* `BaseAddon` persists a `perNode: true` schema field as `<key>@<nodeId>`
|
|
33
|
+
* inside the addon's single shared blob (`packages/types/src/addon/
|
|
34
|
+
* per-node-store.ts`). The agent therefore reads and writes the SAME row the
|
|
35
|
+
* hub's copy of that addon reads — `<addonId>:addon-settings` / `root` — and
|
|
36
|
+
* the two agree by construction. Introducing a second, addon-level
|
|
37
|
+
* `(nodeId, addonId)` row here would be a second authority over one fact,
|
|
38
|
+
* which is the shape [D224](../../../../../docs/decisions/adr-0224-the-freshness-of-a-camera-fact-lives-in-its-provider.md)
|
|
39
|
+
* forbids: the hub's copy would keep writing the bare row and nothing would
|
|
40
|
+
* reconcile them.
|
|
41
|
+
*
|
|
42
|
+
* ## A hub NEVER forwards
|
|
43
|
+
*
|
|
44
|
+
* {@link nodeOwnsItsDataStore} gates construction. A hub that built one would
|
|
45
|
+
* route its own door back into itself through `$hub-cap-fwd`, which resolves
|
|
46
|
+
* `settings-store` to… this. The gate reads the same env var, with the same
|
|
47
|
+
* default, as `settingsStoreIsAuthoritativeHere` — unset means hub, because
|
|
48
|
+
* that is what the launcher defaults to.
|
|
49
|
+
*
|
|
50
|
+
* ## When the hub is down
|
|
51
|
+
*
|
|
52
|
+
* Every method REJECTS. It never answers "empty": `ctx.settings`' read path
|
|
53
|
+
* (`addon-context-factory.ts`) distinguishes a MISS from a FAILURE precisely
|
|
54
|
+
* so a failed read cannot make the next read-modify-write persist the patch
|
|
55
|
+
* alone and destroy every field the patch does not mention. An empty answer
|
|
56
|
+
* would be indistinguishable from an empty store; a rejection is not. The
|
|
57
|
+
* operator's rule for this node is the same one that already governs it —
|
|
58
|
+
* without the hub an agent has no work — so a rejection is the whole of the
|
|
59
|
+
* degraded behaviour, and it is loud.
|
|
60
|
+
*/
|
|
61
|
+
import { type IClusterBroker, type IScopedLogger, type ISettingsStoreProvider } from "@camstack/types";
|
|
62
|
+
/**
|
|
63
|
+
* The envelope `$hub-cap-fwd.forward` takes. Structurally
|
|
64
|
+
* `HubCapForwardParams` minus the routing hints this door never sets: a
|
|
65
|
+
* settings call carries no `deviceId`, pins no node (the hub's store is THE
|
|
66
|
+
* store) and asks for no native provider.
|
|
67
|
+
*/
|
|
8
68
|
export interface HubForwardEnvelope {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
69
|
+
readonly capName: string;
|
|
70
|
+
readonly method: string;
|
|
71
|
+
readonly args: unknown;
|
|
12
72
|
}
|
|
13
73
|
/**
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
74
|
+
* How a forward reaches the hub. Generic in the result so the provider's
|
|
75
|
+
* per-method return types flow through without a cast — the transport is the
|
|
76
|
+
* documented type boundary, exactly as it is for the generated cap routers'
|
|
77
|
+
* remote proxies.
|
|
78
|
+
*/
|
|
19
79
|
export type HubForwardCall = <TResult>(envelope: HubForwardEnvelope) => Promise<TResult>;
|
|
20
80
|
/**
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
81
|
+
* Does THIS node hold its own data store?
|
|
82
|
+
*
|
|
83
|
+
* Unset or `'hub'` means hub — the launcher's own default, mirrored from
|
|
84
|
+
* `resolveNodeRole` (`server/backend/src/node-role.ts`) the same way
|
|
85
|
+
* `settingsStoreIsAuthoritativeHere` mirrors it, and duplicated rather than
|
|
86
|
+
* imported for the same reason: `@camstack/system` is a dependency OF the
|
|
87
|
+
* backend, not the other way round.
|
|
88
|
+
*
|
|
89
|
+
* Anything else is an agent, and an agent's answer is the hub's store.
|
|
90
|
+
*/
|
|
31
91
|
export declare function nodeOwnsItsDataStore(env: NodeJS.ProcessEnv): boolean;
|
|
32
92
|
/**
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
93
|
+
* Build the `settings-store` provider that forwards to the hub.
|
|
94
|
+
*
|
|
95
|
+
* Every method is the same forward under the CAP name — never the engine
|
|
96
|
+
* name. The hub routes `settings-store` to its own door, which then picks its
|
|
97
|
+
* local engine; asking for `data-store-provider` would step around the door on
|
|
98
|
+
* the far side and lose whatever the door is for.
|
|
99
|
+
*/
|
|
40
100
|
export declare function createHubSettingsForward(forward: HubForwardCall): ISettingsStoreProvider;
|
|
41
101
|
/**
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
export declare const HUB_SETTINGS_FORWARD_TIMEOUT_MS =
|
|
102
|
+
* How long an agent waits for the hub to answer a settings call before the
|
|
103
|
+
* door rejects. Matches the agent's own `forwardToHub` budget in
|
|
104
|
+
* `server/backend/src/agent/main.ts` — the same hop, over the same action, so
|
|
105
|
+
* a shorter one here would only manufacture a timeout the transport did not
|
|
106
|
+
* have.
|
|
107
|
+
*/
|
|
108
|
+
export declare const HUB_SETTINGS_FORWARD_TIMEOUT_MS = 6e4;
|
|
49
109
|
/** What {@link resolveHubSettingsForward} needs. Narrow on purpose — fakeable. */
|
|
50
110
|
export interface HubSettingsForwardOptions {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
111
|
+
readonly env: NodeJS.ProcessEnv;
|
|
112
|
+
/** `undefined` in a forked worker or a test harness — no cluster to reach. */
|
|
113
|
+
readonly broker: IClusterBroker | undefined;
|
|
114
|
+
readonly logger: Pick<IScopedLogger, "info">;
|
|
55
115
|
}
|
|
56
116
|
/**
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
117
|
+
* The whole decision, in one place: does this node's data door have the hub
|
|
118
|
+
* behind it, and how does it get there?
|
|
119
|
+
*
|
|
120
|
+
* `null` means "no remote" and the door keeps its old behaviour — it refuses
|
|
121
|
+
* when no engine is registered. That is the answer on a hub (which IS the
|
|
122
|
+
* store) and in any process with no cluster broker.
|
|
123
|
+
*
|
|
124
|
+
* Extracted from the addon so the gate is unit-testable without booting a
|
|
125
|
+
* `BaseAddon` — the same reason `data-store-dispatch.ts` and
|
|
126
|
+
* `provider-discovery.ts` exist.
|
|
127
|
+
*/
|
|
68
128
|
export declare function resolveHubSettingsForward(options: HubSettingsForwardOptions): ISettingsStoreProvider | null;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export type { ILocationStore } from
|
|
2
|
-
export { SqliteLocationStore } from
|
|
3
|
-
export type { FootageMigrationParticipant, LeaseParticipant, MediaMigrationParticipant, MigrationState, StorageMigrationCoordinatorDeps, StorageMigrationParticipants
|
|
4
|
-
export { StorageMigrationCoordinator } from
|
|
5
|
-
export { StorageOrchestratorAddon, StorageOrchestratorAddon as default
|
|
6
|
-
export type { ListLocationsFilter, StorageProviderLookup } from
|
|
7
|
-
export { StorageOrchestratorService } from
|
|
1
|
+
export type { ILocationStore } from "./location-store.js";
|
|
2
|
+
export { SqliteLocationStore } from "./location-store.js";
|
|
3
|
+
export type { FootageMigrationParticipant, LeaseParticipant, MediaMigrationParticipant, MigrationState, StorageMigrationCoordinatorDeps, StorageMigrationParticipants } from "./storage-migration-coordinator.js";
|
|
4
|
+
export { StorageMigrationCoordinator } from "./storage-migration-coordinator.js";
|
|
5
|
+
export { StorageOrchestratorAddon, StorageOrchestratorAddon as default } from "./storage-orchestrator.addon.js";
|
|
6
|
+
export type { ListLocationsFilter, StorageProviderLookup } from "./storage-orchestrator.service.js";
|
|
7
|
+
export { StorageOrchestratorService } from "./storage-orchestrator.service.js";
|
|
@@ -1,47 +1,71 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* How much of each location CamStack ITSELF holds (D388) — the slice
|
|
3
|
+
* `listLocations` stamps from.
|
|
4
|
+
*
|
|
5
|
+
* ## Why this is a slice and not a call
|
|
6
|
+
*
|
|
7
|
+
* `listLocations` is on the admin UI's hot path. Fanning out a per-addon RPC
|
|
8
|
+
* synchronously on every list would put a cross-process round trip (and, in the
|
|
9
|
+
* providers, an indexed SQL aggregate) in front of a screen that repaints on
|
|
10
|
+
* every navigation, and a slow or dead addon would hang the whole page.
|
|
11
|
+
*
|
|
12
|
+
* So this follows D224's freshness discipline: the figure has a WINDOW, a read
|
|
13
|
+
* is answered from the slice — empty included — and a read NEVER joins a
|
|
14
|
+
* refresh already in flight. Staleness costs the operator a figure that is up
|
|
15
|
+
* to one window old, which the stamped `measuredAtMs` tells them; the
|
|
16
|
+
* alternative costs them the screen.
|
|
17
|
+
*
|
|
18
|
+
* ## Absence is the answer (D315)
|
|
19
|
+
*
|
|
20
|
+
* A location no provider reported for is UNKNOWN, and this module has no code
|
|
21
|
+
* path that turns that into a zero. `ownedFor` returns `undefined`, the
|
|
22
|
+
* orchestrator omits the field, and a UI omits the segment. A share drawn at
|
|
23
|
+
* zero would claim we occupy nothing, which is a different and false statement.
|
|
24
|
+
*/
|
|
25
|
+
import type { IScopedLogger, IStorageOccupancyProvider } from "@camstack/types";
|
|
2
26
|
/** What one location's owners hold there, merged. */
|
|
3
27
|
export interface LocationOwnedBytes {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
28
|
+
readonly bytes: number;
|
|
29
|
+
/** The OLDEST contributing measurement — honest about the whole figure
|
|
30
|
+
* rather than about its freshest part. */
|
|
31
|
+
readonly measuredAtMs: number;
|
|
8
32
|
}
|
|
9
33
|
export interface OccupancySliceDeps {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
34
|
+
readonly logger: IScopedLogger;
|
|
35
|
+
/** Registered `storage-occupancy` providers (cross-process proxies). */
|
|
36
|
+
readonly getProviders: () => readonly IStorageOccupancyProvider[];
|
|
37
|
+
/** Every location worth asking about, at refresh time. */
|
|
38
|
+
readonly locationIds: () => readonly string[];
|
|
39
|
+
readonly now: () => number;
|
|
40
|
+
/** How long a figure stays servable before a refresh is kicked. */
|
|
41
|
+
readonly staleAfterMs?: number;
|
|
18
42
|
}
|
|
19
43
|
export declare class LocationOccupancySlice {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
private readonly deps;
|
|
45
|
+
private slice;
|
|
46
|
+
private refreshing;
|
|
47
|
+
private lastRefreshMs;
|
|
48
|
+
constructor(deps: OccupancySliceDeps);
|
|
49
|
+
/**
|
|
50
|
+
* What the last completed refresh saw for this location, or `undefined` when
|
|
51
|
+
* nothing has reported for it. There is deliberately no fallback: unknown is
|
|
52
|
+
* the truth about a location nobody owns bytes on.
|
|
53
|
+
*/
|
|
54
|
+
ownedFor(locationId: string): LocationOwnedBytes | undefined;
|
|
55
|
+
/**
|
|
56
|
+
* Serve-and-revalidate. Called by every read: it returns immediately, and
|
|
57
|
+
* kicks a background refresh when the slice is older than the window. A read
|
|
58
|
+
* never awaits, and never joins a refresh already in flight (D224).
|
|
59
|
+
*/
|
|
60
|
+
serveAndRevalidate(): void;
|
|
61
|
+
/**
|
|
62
|
+
* Ask every provider once and replace the slice.
|
|
63
|
+
*
|
|
64
|
+
* A provider that throws contributes NOTHING and is logged — it does not
|
|
65
|
+
* contribute a zero, and it does not take the other providers' answers down
|
|
66
|
+
* with it. A location that ends up with no contribution at all simply stays
|
|
67
|
+
* out of the slice, which is what makes it read back as unknown.
|
|
68
|
+
*/
|
|
69
|
+
refresh(): Promise<void>;
|
|
70
|
+
private runRefresh;
|
|
47
71
|
}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { LocationOccupancy } from
|
|
1
|
+
import type { LocationOccupancy } from "./storage-orchestrator.service.js";
|
|
2
2
|
/**
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
* Class → directories under `<root>/<camera>/`. Same map as the discard
|
|
4
|
+
* wipe (`DISCARD_SUBTREES` in the recorder / pipeline-analytics addons).
|
|
5
|
+
* Types not listed keep the legacy "any non-dot entry at the root" rule
|
|
6
|
+
* (backups, addon-data, …).
|
|
7
|
+
*/
|
|
8
8
|
export declare const STORAGE_CLASS_SUBTREES: Readonly<Record<string, readonly string[]>>;
|
|
9
9
|
/**
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
* Occupancy of `basePath` for a location of `type`.
|
|
11
|
+
*
|
|
12
|
+
* - missing root → `empty` (nothing this delete can strand)
|
|
13
|
+
* - class-mapped type → occupied iff any `<camera>/<subtree>` has an entry
|
|
14
|
+
* - other types → occupied iff the root has a non-dot entry
|
|
15
|
+
*/
|
|
16
16
|
export declare function probeLocalDirectoryOccupancy(input: {
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
readonly type: string;
|
|
18
|
+
readonly basePath: string;
|
|
19
19
|
}): Promise<LocationOccupancy>;
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
/** statfs of the location's volume, when this node could take it. */
|
|
2
2
|
export interface LocationVolumeCapacity {
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
readonly totalBytes: number;
|
|
4
|
+
readonly availableBytes: number;
|
|
5
5
|
}
|
|
6
6
|
/** One line, at most once per location per process. */
|
|
7
7
|
export type ProtectionNotice = (message: string, meta: Record<string, unknown>) => void;
|
|
8
8
|
/**
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
9
|
+
* The free-space percentage the guard enforces for one location.
|
|
10
|
+
*
|
|
11
|
+
* Order:
|
|
12
|
+
* 1. `config.minFreeGb`, converted against the volume total — the operator's
|
|
13
|
+
* criterion in the unit they set it in.
|
|
14
|
+
* 2. `config.minFreePercent` — the legacy per-location override, and the
|
|
15
|
+
* fallback when `minFreeGb` cannot be converted (no volume total: a
|
|
16
|
+
* remote-node or unstattable location). Falling back is the right
|
|
17
|
+
* direction — the alternative is a location with no guard at all.
|
|
18
|
+
* 3. the provider's declared default.
|
|
19
|
+
*/
|
|
20
20
|
export declare function resolveMinFreePercent(config: Readonly<Record<string, unknown>>, providerDefaultPercent: number, capacity: LocationVolumeCapacity | null, notice: ProtectionNotice): number;
|
|
@@ -1,52 +1,52 @@
|
|
|
1
1
|
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
2
|
+
* Moving a location's bytes when its root is re-pointed.
|
|
3
|
+
*
|
|
4
|
+
* ## Why this exists, and why only for singletons
|
|
5
|
+
*
|
|
6
|
+
* A `multi` location moves the sanctioned way: register a second instance,
|
|
7
|
+
* drain the first, watch it empty (D386). A **singleton** cannot — the
|
|
8
|
+
* cardinality guard in `upsertLocation` refuses the second instance by
|
|
9
|
+
* declaration, so there is no destination to drain into. For those, editing
|
|
10
|
+
* the `basePath` IS the migration, and either it carries the data or the data
|
|
11
|
+
* is stranded.
|
|
12
|
+
*
|
|
13
|
+
* It was stranded. On 2026-09-08 the `artifacts` root moved and 320 enrolled
|
|
14
|
+
* gallery blobs stayed at the previous path — invisible until every face in the
|
|
15
|
+
* Review panel answered 404, and one boot away from being collected as "the
|
|
16
|
+
* pixels are gone" by a reconcile that had no way to know better.
|
|
17
|
+
*
|
|
18
|
+
* ## The order is the safety property
|
|
19
|
+
*
|
|
20
|
+
* copy → verify → (caller saves the row) → delete. A crash at any point leaves
|
|
21
|
+
* the bytes somewhere that a location still points at: before the row moves,
|
|
22
|
+
* that is the OLD root; after it, the new one holds a verified copy. Nothing
|
|
23
|
+
* here deletes anything until every file has landed and been read back.
|
|
24
|
+
*
|
|
25
|
+
* A failure ABORTS with nothing deleted, so the caller can refuse the edit and
|
|
26
|
+
* leave the operator pointing at intact data.
|
|
27
|
+
*
|
|
28
|
+
* I/O is injected: the walk and the ordering are what matter and they are
|
|
29
|
+
* testable without a filesystem.
|
|
30
|
+
*/
|
|
31
31
|
/** The four operations a move needs, in the caller's own terms. */
|
|
32
32
|
export interface RepointMoveIo {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
33
|
+
/** Entries directly under `prefix` (undefined = the root), as relative paths. */
|
|
34
|
+
list(prefix: string | undefined): Promise<readonly string[]>;
|
|
35
|
+
/** Bytes of a source file. THROWS when the path is a directory. */
|
|
36
|
+
read(relativePath: string): Promise<Uint8Array<ArrayBuffer>>;
|
|
37
|
+
/** Write into the destination root. */
|
|
38
|
+
write(relativePath: string, data: Uint8Array<ArrayBuffer>): Promise<void>;
|
|
39
|
+
/** Read back from the DESTINATION, to prove the copy landed. */
|
|
40
|
+
readBack(relativePath: string): Promise<Uint8Array<ArrayBuffer>>;
|
|
41
|
+
/** Remove one file from the source root. */
|
|
42
|
+
deleteSource(relativePath: string): Promise<void>;
|
|
43
43
|
}
|
|
44
44
|
export interface RepointMoveResult {
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
readonly files: number;
|
|
46
|
+
readonly bytes: number;
|
|
47
47
|
}
|
|
48
48
|
/**
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
49
|
+
* Copy every file from the source root to the destination, verify each, then
|
|
50
|
+
* delete the originals. Throws with NOTHING deleted if any copy fails.
|
|
51
|
+
*/
|
|
52
52
|
export declare function moveLocationTree(io: RepointMoveIo): Promise<RepointMoveResult>;
|
|
@@ -1,44 +1,80 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Two locations of the SAME type must not share a physical root (D389).
|
|
3
|
+
*
|
|
4
|
+
* ## What is legitimate and must stay legitimate
|
|
5
|
+
*
|
|
6
|
+
* Two locations of DIFFERENT types on one root is a designed configuration, not
|
|
7
|
+
* an accident: stock `recordings` and `recordingsLow` deliberately share a root
|
|
8
|
+
* (D327 scores occupancy by class SUBTREE — `high|mid` against `low` — and the
|
|
9
|
+
* recorder's eviction domain merges same-root aliases into one oldest-first
|
|
10
|
+
* pool on purpose). A check that refused every shared root would break the
|
|
11
|
+
* default install.
|
|
12
|
+
*
|
|
13
|
+
* ## What is a collision
|
|
14
|
+
*
|
|
15
|
+
* Two locations of the same TYPE on one physical root. Their class subtrees are
|
|
16
|
+
* identical, so every per-location figure double-counts and every deletion
|
|
17
|
+
* under one is a deletion under the other. The recorder already has a late
|
|
18
|
+
* parachute for this — `demoteWritableAliasConflicts` demotes the extras to
|
|
19
|
+
* read-only and logs — but by then the operator has created the row and may
|
|
20
|
+
* have pointed configuration at it. This refuses it at the door, and the
|
|
21
|
+
* parachute stays: it still guards rows created before this check existed, and
|
|
22
|
+
* a guard that only exists at the door is not a guard.
|
|
23
|
+
*
|
|
24
|
+
* Containment counts, in BOTH directions. A location nested inside another's
|
|
25
|
+
* tree is worse than two equal roots: the accounting overlaps and a deletion
|
|
26
|
+
* under the outer one can take the inner one's footage with it.
|
|
27
|
+
*
|
|
28
|
+
* ## "They collide" is not "I cannot tell"
|
|
29
|
+
*
|
|
30
|
+
* A location on another node, or behind a remote provider, cannot be resolved
|
|
31
|
+
* from here. An unresolvable root produces a WARNING and lets the write
|
|
32
|
+
* through — never a refusal. Refusing on an unanswerable read blocks the
|
|
33
|
+
* operator on a doubt (D49's spirit: a fallible read is not the gate).
|
|
34
|
+
*
|
|
35
|
+
* Pure: the realpath derivation is injected.
|
|
36
|
+
*/
|
|
37
|
+
import type { PhysicalRoot } from "@camstack/types/node";
|
|
2
38
|
/** The minimum a row must expose for this check. */
|
|
3
39
|
export interface RootCollisionCandidate {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
40
|
+
readonly id: string;
|
|
41
|
+
readonly type: string;
|
|
42
|
+
/** Which node the path lives on. Two locations on DIFFERENT nodes can never
|
|
43
|
+
* collide, however identical their paths look. */
|
|
44
|
+
readonly nodeId?: string;
|
|
45
|
+
readonly config: Readonly<Record<string, unknown>>;
|
|
10
46
|
}
|
|
11
47
|
/** How this location's physical root was derived, or that it could not be. */
|
|
12
48
|
export type ResolveRoot = (basePath: string) => PhysicalRoot;
|
|
13
49
|
/** A same-type root collision, with everything the message needs to name it. */
|
|
14
50
|
export interface RootCollision {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
51
|
+
readonly otherId: string;
|
|
52
|
+
readonly type: string;
|
|
53
|
+
readonly sharedRoot: string;
|
|
54
|
+
/** `equal` — the same directory. `nested` — one inside the other's tree. */
|
|
55
|
+
readonly kind: "equal" | "nested";
|
|
20
56
|
}
|
|
21
57
|
/** Why the check could not be made. Never a refusal — the caller warns. */
|
|
22
58
|
export interface RootCollisionUnknown {
|
|
23
|
-
|
|
24
|
-
|
|
59
|
+
readonly reason: "no-base-path" | "unresolvable";
|
|
60
|
+
readonly detail: string;
|
|
25
61
|
}
|
|
26
62
|
export type RootCollisionVerdict = {
|
|
27
|
-
|
|
63
|
+
readonly outcome: "clear";
|
|
28
64
|
} | {
|
|
29
|
-
|
|
30
|
-
|
|
65
|
+
readonly outcome: "collides";
|
|
66
|
+
readonly collision: RootCollision;
|
|
31
67
|
} | {
|
|
32
|
-
|
|
33
|
-
|
|
68
|
+
readonly outcome: "unknown";
|
|
69
|
+
readonly unknown: RootCollisionUnknown;
|
|
34
70
|
};
|
|
35
71
|
/**
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
72
|
+
* Does `next` collide with anything already stored?
|
|
73
|
+
*
|
|
74
|
+
* `existing` is every other location; the row being EDITED is excluded by id,
|
|
75
|
+
* so re-saving a location without moving its root never refuses itself.
|
|
76
|
+
*/
|
|
41
77
|
export declare function findRootCollision(next: RootCollisionCandidate, existing: Iterable<RootCollisionCandidate>, resolveRoot: ResolveRoot, storedSelf?: RootCollisionCandidate): RootCollisionVerdict;
|
|
42
78
|
/** The operator-facing refusal. Names the location it collides with and the
|
|
43
|
-
|
|
79
|
+
* shared root — a refusal that says only "conflict" makes the operator hunt. */
|
|
44
80
|
export declare function rootCollisionMessage(id: string, collision: RootCollision): string;
|