@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,144 +1,144 @@
|
|
|
1
|
-
import { AddonDeclaration, ICamstackAddon, IScopedLogger, StorageLocationDeclaration } from
|
|
1
|
+
import type { AddonDeclaration, ICamstackAddon, IScopedLogger, StorageLocationDeclaration } from "@camstack/types";
|
|
2
2
|
/**
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
3
|
+
* Cache-bust key for an addon entry module: the `?v=` query that makes each
|
|
4
|
+
* on-disk REVISION of `entryPath` a distinct ESM module URL. Returns null when
|
|
5
|
+
* the entry cannot be stat'd — the caller then does a plain import.
|
|
6
|
+
*
|
|
7
|
+
* The key is `<version>-<content hash>`, and BOTH halves are load-bearing
|
|
8
|
+
* because each on its own has a documented way of not changing across a real
|
|
9
|
+
* redeploy:
|
|
10
|
+
*
|
|
11
|
+
* - **mtime does not change.** `npm pack` normalises every file's mtime in the
|
|
12
|
+
* tarball to 499162500000 (1985-10-26); every install path here extracts
|
|
13
|
+
* such a tarball, so the entry file of v1.0.0 and of v1.0.99 carry the same
|
|
14
|
+
* mtime. An mtime-only key (what this used to be) is a NO-OP — it produced
|
|
15
|
+
* one byte-identical URL for every version of every addon ever installed.
|
|
16
|
+
* - **the version does not change** on a `camstack deploy` of an unbumped
|
|
17
|
+
* workspace package — the whole dev loop.
|
|
18
|
+
* - **the entry hash does not change** when a multi-chunk dist alters a chunk
|
|
19
|
+
* the entry only re-exports; the version bump covers that case.
|
|
20
|
+
*
|
|
21
|
+
* Hashing the entry costs one extra read of an already-read file (~1.5 MB for
|
|
22
|
+
* the largest addon bundle, single-digit ms) once per addon load. Cheap against
|
|
23
|
+
* what a stale key costs: hub-main keeps validating `addons.custom` input
|
|
24
|
+
* against the OLD `customActions` schema — silently STRIPPING newly-added
|
|
25
|
+
* fields — and, worse, Node caches a load that THREW as a rejected module and
|
|
26
|
+
* replays that rejection for every later retry at the same URL. On 2026-08-12
|
|
27
|
+
* `@camstack/addon-export-hap` burned 126 identical failed load retries over
|
|
28
|
+
* 10.5h, none of which could have succeeded: the fixed bytes on disk were never
|
|
29
|
+
* read.
|
|
30
|
+
*
|
|
31
|
+
* Never throws: an unreadable version degrades to the mtime, an unreadable body
|
|
32
|
+
* to mtime+size.
|
|
33
|
+
*/
|
|
34
34
|
export declare function addonModuleCacheKey(entryPath: string): string | null;
|
|
35
35
|
export interface RegisteredAddon {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
36
|
+
readonly declaration: AddonDeclaration;
|
|
37
|
+
readonly packageName: string;
|
|
38
|
+
readonly packageVersion: string;
|
|
39
|
+
/** Human-readable package name from camstack.displayName in package.json */
|
|
40
|
+
readonly packageDisplayName?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Optional bundle metadata when the npm package ships multiple addon
|
|
43
|
+
* entries. Mirrors `AddonPackageManifest.bundle`. Drives the
|
|
44
|
+
* collapsible bundle card in the Addons admin UI.
|
|
45
|
+
*/
|
|
46
|
+
readonly bundle?: {
|
|
47
|
+
displayName: string;
|
|
48
|
+
description?: string;
|
|
49
|
+
icon?: string;
|
|
50
|
+
};
|
|
51
|
+
readonly addonClass: new () => ICamstackAddon;
|
|
52
|
+
/**
|
|
53
|
+
* Full raw module namespace. Consumers can read additional named exports
|
|
54
|
+
* (e.g. `customActions`) without instantiating the addon — lets the hub
|
|
55
|
+
* register a forkable addon's custom-action catalog with real zod
|
|
56
|
+
* schemas before the child process is up.
|
|
57
|
+
*/
|
|
58
|
+
readonly module: Readonly<Record<string, unknown>>;
|
|
59
59
|
}
|
|
60
60
|
/**
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
61
|
+
* Per-package failure record. Surfaced via `listLoadFailures()` so the
|
|
62
|
+
* AddonRegistry can hand the failures to the kernel's
|
|
63
|
+
* `AddonHealthMonitor` after `loadFromDirectory()` completes — the
|
|
64
|
+
* health monitor then schedules the retry loop and emits operator-
|
|
65
|
+
* visible alerts post-grace.
|
|
66
|
+
*
|
|
67
|
+
* Two failure shapes are tracked:
|
|
68
|
+
* - **package-level**: package.json couldn't be read/parsed, or the
|
|
69
|
+
* manifest was malformed. `addonId` undefined.
|
|
70
|
+
* - **declaration-level**: per-addon load failure inside
|
|
71
|
+
* `loadDeclaration` (entry import threw, addon class resolution
|
|
72
|
+
* failed, etc). `addonId` set to `declaration.id`.
|
|
73
|
+
*/
|
|
74
74
|
export interface AddonLoadFailure {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
75
|
+
readonly packageName: string;
|
|
76
|
+
readonly addonDir: string;
|
|
77
|
+
readonly addonId?: string;
|
|
78
|
+
readonly error: Error;
|
|
79
|
+
readonly timestamp: number;
|
|
80
80
|
}
|
|
81
81
|
/**
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
82
|
+
* Pure extraction of per-addon storage-location declarations from a set of
|
|
83
|
+
* registered addons. Each registered addon carries its manifest declaration
|
|
84
|
+
* (`RegisteredAddon.declaration`), whose optional `storageLocations` array is
|
|
85
|
+
* the `camstack.addons[].storageLocations` entry authored in package.json.
|
|
86
|
+
*
|
|
87
|
+
* Returns ONE inner array per addon that declared at least one location;
|
|
88
|
+
* addons declaring nothing are omitted entirely (no empty arrays). The result
|
|
89
|
+
* is the `perAddon` input shape consumed by
|
|
90
|
+
* {@link buildStorageLocationRegistry}.
|
|
91
|
+
*/
|
|
92
92
|
export declare function extractStorageLocationDeclarations(addons: Iterable<RegisteredAddon>): StorageLocationDeclaration[][];
|
|
93
93
|
export declare class AddonLoader {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
94
|
+
private addons;
|
|
95
|
+
private readonly loadFailures;
|
|
96
|
+
private readonly logger;
|
|
97
|
+
constructor(logger?: IScopedLogger);
|
|
98
|
+
/**
|
|
99
|
+
* Failures encountered during the most recent `loadFromDirectory` /
|
|
100
|
+
* `loadFromAddonDir` pass. Cleared (per-package) on a successful
|
|
101
|
+
* subsequent reload so retries don't see stale entries. Cumulative
|
|
102
|
+
* across multiple loads otherwise.
|
|
103
|
+
*/
|
|
104
|
+
listLoadFailures(): readonly AddonLoadFailure[];
|
|
105
|
+
/** Forget any tracked failures for a given package — uninstall path. */
|
|
106
|
+
clearLoadFailures(packageName: string): void;
|
|
107
|
+
/** Scan addons directory and load all addon packages.
|
|
108
|
+
* Supports scoped layout: addons/@scope/package-name/
|
|
109
|
+
*
|
|
110
|
+
* `skipPackages` names scoped packages (e.g. `@camstack/system`) that the
|
|
111
|
+
* caller loads from elsewhere — the single-copy model loads the framework
|
|
112
|
+
* BUILTINS from the active closure, not the (now-inert) addons-dir copy, so
|
|
113
|
+
* the addons-dir `@camstack/system` must NOT be double-loaded here. */
|
|
114
|
+
loadFromDirectory(addonsDir: string, skipPackages?: readonly string[]): Promise<void>;
|
|
115
|
+
private tryLoadAddon;
|
|
116
|
+
/** Load addon from a specific directory (package.json + dist/) */
|
|
117
|
+
loadFromAddonDir(addonDir: string): Promise<void>;
|
|
118
|
+
private loadDeclaration;
|
|
119
|
+
/** Load addon from a direct path (for development/testing) */
|
|
120
|
+
loadFromPath(addonId: string, modulePath: string, packageName: string, declaration?: Partial<AddonDeclaration>, packageVersion?: string): Promise<void>;
|
|
121
|
+
/** Get a registered addon by ID */
|
|
122
|
+
getAddon(addonId: string): RegisteredAddon | undefined;
|
|
123
|
+
/** List all registered addons */
|
|
124
|
+
listAddons(): RegisteredAddon[];
|
|
125
|
+
/**
|
|
126
|
+
* Per-addon storage-location declarations across every registered addon.
|
|
127
|
+
*
|
|
128
|
+
* Each registered addon's `declaration.storageLocations` (the
|
|
129
|
+
* `camstack.addons[].storageLocations` array from package.json) is surfaced
|
|
130
|
+
* as one inner array; addons declaring nothing are omitted. The result is
|
|
131
|
+
* fed directly to `buildStorageLocationRegistry(perAddon)` so the
|
|
132
|
+
* storage-orchestrator can aggregate declarations and seed `<id>:default`
|
|
133
|
+
* instances.
|
|
134
|
+
*/
|
|
135
|
+
listStorageLocationDeclarations(): StorageLocationDeclaration[][];
|
|
136
|
+
/** Check if an addon is registered */
|
|
137
|
+
hasAddon(addonId: string): boolean;
|
|
138
|
+
/**
|
|
139
|
+
* Create a new instance of an addon (not yet initialized).
|
|
140
|
+
* Injects the manifest from package.json (AddonDeclaration) so the
|
|
141
|
+
* addon class doesn't need to declare it.
|
|
142
|
+
*/
|
|
143
|
+
createInstance(addonId: string): ICamstackAddon;
|
|
144
144
|
}
|
|
@@ -1,128 +1,128 @@
|
|
|
1
1
|
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
export type AddonInstallSource =
|
|
2
|
+
* `closure` — re-aligned from the running `@camstack/server` closure at boot.
|
|
3
|
+
*
|
|
4
|
+
* Distinct from `bundled`, which is the copy an Electron app shipped with and
|
|
5
|
+
* seeds ONCE. A `closure` install is a refresh of a copy that was already
|
|
6
|
+
* there, and naming it separately is what lets an operator tell "I deployed
|
|
7
|
+
* this" from "the server update brought it" — the distinction the six stale
|
|
8
|
+
* copies of 2026-09-17 had no way to express, all of them reading `upload`
|
|
9
|
+
* because each HAD been a deliberate deploy, once. See D518.
|
|
10
|
+
*/
|
|
11
|
+
export type AddonInstallSource = "npm" | "local" | "upload" | "bundled" | "seed" | "closure";
|
|
12
12
|
export interface AddonManifestEntry {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
13
|
+
/** Full pkg name, e.g. `@camstack/addon-pipeline`. */
|
|
14
|
+
name: string;
|
|
15
|
+
/** Semver currently installed. */
|
|
16
|
+
version: string;
|
|
17
|
+
/** Where this version came from. */
|
|
18
|
+
source: AddonInstallSource;
|
|
19
|
+
/** ISO 8601 of first install. */
|
|
20
|
+
installedAt: string;
|
|
21
|
+
/** ISO 8601 of last update (== installedAt for first install). */
|
|
22
|
+
updatedAt: string;
|
|
23
|
+
/**
|
|
24
|
+
* Path (absolute) of the most recent pre-update backup, if any.
|
|
25
|
+
* Used by `applyUpdate` rollback when an upgrade fails its post-restart
|
|
26
|
+
* health check. Cleared once the new version is confirmed healthy.
|
|
27
|
+
*/
|
|
28
|
+
lastBackupDir?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Free-form, addon-specific metadata. Currently unused but reserved so
|
|
31
|
+
* future fields (e.g. integrity hash, peer-dep checks) don't require a
|
|
32
|
+
* manifest schema bump.
|
|
33
|
+
*/
|
|
34
|
+
meta?: Record<string, unknown>;
|
|
35
35
|
}
|
|
36
36
|
/** One correction `reconcileFromDisk` made to bring the manifest back to disk truth. */
|
|
37
37
|
export interface ManifestReconcileChange {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
38
|
+
readonly kind: "added" | "version-corrected" | "pruned";
|
|
39
|
+
readonly name: string;
|
|
40
|
+
/** Version the manifest claimed before the change. Absent for `added`. */
|
|
41
|
+
readonly from?: string;
|
|
42
|
+
/** Version now recorded. Absent for `pruned`. */
|
|
43
|
+
readonly to?: string;
|
|
44
44
|
}
|
|
45
45
|
export interface AddonManifestFile {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
46
|
+
/**
|
|
47
|
+
* Schema version. Increment whenever the on-disk shape changes
|
|
48
|
+
* incompatibly so older readers can refuse to load.
|
|
49
|
+
*/
|
|
50
|
+
version: 1;
|
|
51
|
+
/** Per-package state, keyed by full pkg name. */
|
|
52
|
+
addons: Record<string, AddonManifestEntry>;
|
|
53
|
+
/** ISO 8601 of last manifest write. */
|
|
54
|
+
updatedAt: string;
|
|
55
55
|
}
|
|
56
56
|
export declare class AddonManifest {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
57
|
+
private readonly manifestPath;
|
|
58
|
+
private cache;
|
|
59
|
+
constructor(addonsDir: string);
|
|
60
|
+
/**
|
|
61
|
+
* Read the manifest from disk. Returns an empty manifest if the file is
|
|
62
|
+
* missing or corrupted (logs a warning to stderr in the corrupted case).
|
|
63
|
+
* Cached per instance — call `invalidate()` to force a re-read.
|
|
64
|
+
*/
|
|
65
|
+
read(): AddonManifestFile;
|
|
66
|
+
/**
|
|
67
|
+
* Atomic write — writes to a tmpfile in the same directory, then renames.
|
|
68
|
+
* Rename is atomic on the same filesystem, so readers can never observe
|
|
69
|
+
* a half-written file.
|
|
70
|
+
*/
|
|
71
|
+
write(manifest: AddonManifestFile): void;
|
|
72
|
+
/** Lookup a single addon's manifest entry, or `null` if not tracked. */
|
|
73
|
+
get(name: string): AddonManifestEntry | null;
|
|
74
|
+
/** List every tracked entry. */
|
|
75
|
+
list(): AddonManifestEntry[];
|
|
76
|
+
/**
|
|
77
|
+
* Insert or replace an addon entry. `installedAt` is preserved if the
|
|
78
|
+
* entry already exists; only `updatedAt` advances on subsequent writes.
|
|
79
|
+
*/
|
|
80
|
+
upsert(name: string, fields: Omit<AddonManifestEntry, "name" | "installedAt" | "updatedAt">): void;
|
|
81
|
+
/** Remove an addon from tracking (e.g. uninstall). */
|
|
82
|
+
remove(name: string): void;
|
|
83
|
+
/**
|
|
84
|
+
* Drop the in-memory cache so the next `read()` re-loads from disk.
|
|
85
|
+
* Useful when an external process may have written the manifest.
|
|
86
|
+
*/
|
|
87
|
+
invalidate(): void;
|
|
88
|
+
/**
|
|
89
|
+
* Reconcile the manifest against what is actually present on disk.
|
|
90
|
+
*
|
|
91
|
+
* **The directory is the truth.** It is what `AddonLoader` runs; a manifest
|
|
92
|
+
* that disagrees with it is a lie the update flow and the admin UI then
|
|
93
|
+
* repeat. Three corrections, all idempotent and safe on every boot:
|
|
94
|
+
*
|
|
95
|
+
* - **added** — an on-disk addon with no entry gets one, source `'seed'`.
|
|
96
|
+
* Addons baked into the Docker/Electron image are copied straight into
|
|
97
|
+
* `addonsDir` by the container entrypoint (`ensureRequiredPackages` then
|
|
98
|
+
* sees `package.json` present and skips, never calling `upsert`), so they
|
|
99
|
+
* would otherwise stay untracked and `applyUpdate` would reject them with
|
|
100
|
+
* "not currently tracked in manifest" — what broke "Update all" on a
|
|
101
|
+
* fresh image.
|
|
102
|
+
* - **version-corrected** — an entry whose version disagrees with the
|
|
103
|
+
* installed `package.json` adopts the DISK version. Provenance (`source`,
|
|
104
|
+
* `installedAt`) is NOT derivable from disk and stays authoritative here;
|
|
105
|
+
* `updatedAt` is left alone because the correction is not an update, and
|
|
106
|
+
* stamping `now` would claim an install that never happened.
|
|
107
|
+
* - **pruned** — an entry naming a directory that does not exist. The live
|
|
108
|
+
* hub carried three (`@camstack/system 1.2.29`, `addon-viewer-ui 1.1.39`,
|
|
109
|
+
* `addon-agent-ui 1.2.4`); `@camstack/system` in particular is
|
|
110
|
+
* host-provided and deliberately NOT seeded under `addonsDir`
|
|
111
|
+
* ([D45]), so its entry advertised a copy that must not exist.
|
|
112
|
+
* An entry holding a `lastBackupDir` is NEVER pruned: that pointer is the
|
|
113
|
+
* only reference to a pre-update backup, and the launcher's backup sweep
|
|
114
|
+
* reclaims anything the manifest does not point at.
|
|
115
|
+
*
|
|
116
|
+
* `onChange` receives one record per correction, so the caller can log
|
|
117
|
+
* exactly what moved. Returns the total number of changes.
|
|
118
|
+
*/
|
|
119
|
+
reconcileFromDisk(addonsDir: string, onChange?: (change: ManifestReconcileChange) => void): number;
|
|
120
|
+
/**
|
|
121
|
+
* Migration helper: if the manifest is empty but the addons directory
|
|
122
|
+
* has packages with `.install-source` markers (the legacy per-addon
|
|
123
|
+
* tracking), seed the manifest from those markers. Runs once at boot.
|
|
124
|
+
* Returns the number of entries migrated.
|
|
125
|
+
*/
|
|
126
|
+
migrateFromInstallSourceMarkers(addonsDir: string): number;
|
|
127
|
+
private empty;
|
|
128
128
|
}
|
|
@@ -1,49 +1,45 @@
|
|
|
1
1
|
/** Where residue is moved to, relative to the addon root. */
|
|
2
2
|
export declare const QUARANTINE_DIRNAME = ".quarantine";
|
|
3
|
-
export type ResidueReason =
|
|
4
|
-
/** The directory name carries a backup marker — `.bak…`, `.old…`, `.orig…`. */
|
|
5
|
-
'backup-residue'
|
|
6
|
-
/** The directory declares a package whose name is not this directory. */
|
|
7
|
-
| 'name-mismatch';
|
|
3
|
+
export type ResidueReason = "backup-residue" | "name-mismatch";
|
|
8
4
|
export interface AddonDirCandidate {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
5
|
+
/** Directory basename under the addon root (or under its `@scope`). */
|
|
6
|
+
readonly dirName: string;
|
|
7
|
+
/** `name` from the directory's `package.json`; null when absent/unreadable. */
|
|
8
|
+
readonly declaredName: string | null;
|
|
13
9
|
}
|
|
14
10
|
export interface ResidueVerdict extends AddonDirCandidate {
|
|
15
|
-
|
|
11
|
+
readonly reason: ResidueReason;
|
|
16
12
|
}
|
|
17
13
|
/**
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
14
|
+
* Is this directory residue? Returns the verdict, or null to keep it.
|
|
15
|
+
*
|
|
16
|
+
* A directory with no `package.json` is NOT residue on that ground alone —
|
|
17
|
+
* `models/`, a half-finished copy, a scratch dir are all absence, not a
|
|
18
|
+
* rename. Only a backup marker condemns one.
|
|
19
|
+
*/
|
|
24
20
|
export declare function classifyAddonDir(candidate: AddonDirCandidate): ResidueVerdict | null;
|
|
25
21
|
export declare function selectAddonResidue(candidates: readonly AddonDirCandidate[]): readonly ResidueVerdict[];
|
|
26
22
|
export interface QuarantinedEntry extends ResidueVerdict {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
23
|
+
/** Absolute path the residue occupied under the addon root. */
|
|
24
|
+
readonly from: string;
|
|
25
|
+
/** Absolute path it now occupies under `.quarantine/`. */
|
|
26
|
+
readonly to: string;
|
|
31
27
|
}
|
|
32
28
|
export interface ResidueQuarantineFailure extends ResidueVerdict {
|
|
33
|
-
|
|
34
|
-
|
|
29
|
+
readonly from: string;
|
|
30
|
+
readonly error: string;
|
|
35
31
|
}
|
|
36
32
|
export interface ResidueQuarantineResult {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
33
|
+
readonly quarantined: readonly QuarantinedEntry[];
|
|
34
|
+
/** Residue that could not be moved. Reported, never fatal. */
|
|
35
|
+
readonly failed: readonly ResidueQuarantineFailure[];
|
|
40
36
|
}
|
|
41
37
|
/**
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
38
|
+
* Move every residue directory under `addonsDir` into `addonsDir/.quarantine`.
|
|
39
|
+
*
|
|
40
|
+
* Runs at boot, BEFORE anything scans the root or seeds into it — a residue
|
|
41
|
+
* that is still present when the loader walks has already been installed.
|
|
42
|
+
* Never throws, never deletes; a move that fails is reported and left in
|
|
43
|
+
* place, which is strictly better than a half-moved package.
|
|
44
|
+
*/
|
|
49
45
|
export declare function quarantineAddonResidue(addonsDir: string, log: (message: string) => void): ResidueQuarantineResult;
|