@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,41 +1,41 @@
|
|
|
1
|
-
import { CertIdentity } from
|
|
1
|
+
import type { CertIdentity } from "./cert-identity.js";
|
|
2
2
|
/** OID `id-kp-serverAuth`. Apple's trustd requires it on the leaf. */
|
|
3
3
|
export declare const SERVER_AUTH_OID = "1.3.6.1.5.5.7.3.1";
|
|
4
4
|
/**
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
* Apple's `SecPolicyCheckOtherTrustValidityPeriod` ceiling is 825 days;
|
|
6
|
+
* the CA/Browser Forum's recommended maximum is 397. We sit at 397.
|
|
7
|
+
*/
|
|
8
8
|
export declare const MAX_LEAF_VALIDITY_DAYS = 397;
|
|
9
9
|
/** Reissue this long before the leaf dies, so nobody serves an expired one. */
|
|
10
10
|
export declare const LEAF_RENEWAL_WINDOW_DAYS = 30;
|
|
11
11
|
/** A local root outlives many leaves — it is the anchor an operator trusts. */
|
|
12
12
|
export declare const CA_VALIDITY_DAYS = 3650;
|
|
13
13
|
/**
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
* The CA must outlive any leaf it signs by a margin, or a leaf issued
|
|
15
|
+
* today expires after its own issuer.
|
|
16
|
+
*/
|
|
17
17
|
export declare const CA_RENEWAL_WINDOW_DAYS: number;
|
|
18
18
|
/**
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
export type CertRegenerationReason =
|
|
19
|
+
* Why a reissue is happening. Reported on `EnsureTlsResult` and logged
|
|
20
|
+
* verbatim — an operator who trusted the old certificate by hand learns
|
|
21
|
+
* from this string, not from a browser error.
|
|
22
|
+
*/
|
|
23
|
+
export type CertRegenerationReason = "missing" | "unreadable" | "no-local-ca" | "ca-expiring" | "key-mismatch" | "expiring" | "missing-server-auth-eku" | "not-issued-by-local-ca" | "validity-too-long" | "san-coverage-gap";
|
|
24
24
|
export interface CertEvaluationInput {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
25
|
+
/** Contents of `camstack.crt` — leaf first, then the issuing CA. */
|
|
26
|
+
readonly chainPem: string;
|
|
27
|
+
/** Contents of `camstack.key` — the leaf's private key. */
|
|
28
|
+
readonly keyPem: string;
|
|
29
|
+
/** Contents of `camstack-ca.crt` — the local root. */
|
|
30
|
+
readonly caPem: string;
|
|
31
|
+
readonly identity: CertIdentity;
|
|
32
|
+
readonly now: Date;
|
|
33
33
|
}
|
|
34
34
|
export declare function reasonRequiresNewCa(reason: CertRegenerationReason): boolean;
|
|
35
35
|
/**
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
36
|
+
* `null` when the material on disk is fit to keep serving.
|
|
37
|
+
*
|
|
38
|
+
* Order matters only for the quality of the reported reason; any
|
|
39
|
+
* non-null answer produces the same action.
|
|
40
|
+
*/
|
|
41
41
|
export declare function evaluateExistingCert(input: CertEvaluationInput): CertRegenerationReason | null;
|
|
@@ -1,60 +1,60 @@
|
|
|
1
1
|
/** One address on one interface — the slice of `os.NetworkInterfaceInfo` this uses. */
|
|
2
2
|
export interface HostInterfaceAddress {
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
readonly address: string;
|
|
4
|
+
readonly internal: boolean;
|
|
5
5
|
}
|
|
6
6
|
/**
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
7
|
+
* What the certificate needs to know about the machine it identifies.
|
|
8
|
+
*
|
|
9
|
+
* Injected rather than read, for the same reason `evaluateExistingCert`
|
|
10
|
+
* takes `now` instead of calling `Date.now()`: a rule whose inputs are
|
|
11
|
+
* ambient cannot be stated in a test, and a spec that reads the real
|
|
12
|
+
* `os.hostname()` is a statement about the machine running it. The CI
|
|
13
|
+
* runner and this laptop disagreed about both halves (D551).
|
|
14
|
+
*/
|
|
15
15
|
export interface HostFacts {
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
readonly hostname: string;
|
|
17
|
+
readonly networkInterfaces: Readonly<Record<string, readonly HostInterfaceAddress[] | undefined>>;
|
|
18
18
|
}
|
|
19
19
|
/** The real machine. The only place in `tls/` that touches `os`. */
|
|
20
20
|
export declare function systemHostFacts(): HostFacts;
|
|
21
21
|
/**
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
22
|
+
* Names/addresses that go INTO the certificate, and the subset whose
|
|
23
|
+
* absence forces a reissue.
|
|
24
|
+
*
|
|
25
|
+
* The two are deliberately different sizes. Everything plausible is
|
|
26
|
+
* certified — costs nothing. Only a **stable** identity gates
|
|
27
|
+
* regeneration (IPv4 + DNS + operator `extraSans`), because a gate that
|
|
28
|
+
* fires on a rotating address rewrites the certificate on every boot,
|
|
29
|
+
* which is a worse bug than the one the gate exists to fix. IPv6 never
|
|
30
|
+
* gates — ULA proved as unstable as global SLAAC on the live hub.
|
|
31
|
+
*/
|
|
32
32
|
export interface CertIdentity {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
readonly dnsNames: readonly string[];
|
|
34
|
+
readonly ipAddresses: readonly string[];
|
|
35
|
+
readonly requiredDnsNames: readonly string[];
|
|
36
|
+
readonly requiredIpAddresses: readonly string[];
|
|
37
37
|
}
|
|
38
38
|
export interface CertIdentityOptions {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
readonly commonName: string;
|
|
40
|
+
readonly extraSans: readonly string[];
|
|
41
|
+
/** The machine being certified. Defaults to {@link systemHostFacts}. */
|
|
42
|
+
readonly hostFacts?: HostFacts;
|
|
43
43
|
}
|
|
44
44
|
export declare function isIpv4(value: string): boolean;
|
|
45
45
|
export declare function isIpv6(value: string): boolean;
|
|
46
46
|
/**
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
47
|
+
* `fe80::/10` and `169.254.0.0/16`. An IPv6 link-local address needs a
|
|
48
|
+
* zone index to be usable and a SAN cannot carry one, so such an entry
|
|
49
|
+
* can never match anything — it is noise that makes the certificate look
|
|
50
|
+
* broader than it is.
|
|
51
|
+
*/
|
|
52
52
|
export declare function isLinkLocal(value: string): boolean;
|
|
53
53
|
/** `fc00::/7` — the IPv6 range that behaves like RFC 1918 does for v4. */
|
|
54
54
|
export declare function isUniqueLocalIpv6(value: string): boolean;
|
|
55
55
|
/**
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
56
|
+
* Snapshot the machine's identity. Called once per `ensureTlsCert`; the
|
|
57
|
+
* result is both the SAN list for a new leaf and the yardstick the
|
|
58
|
+
* existing leaf is measured against.
|
|
59
|
+
*/
|
|
60
60
|
export declare function collectCertIdentity(options: CertIdentityOptions): CertIdentity;
|
package/dist/tls/cert-issue.d.ts
CHANGED
|
@@ -1,31 +1,51 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Certificate issuance. Isolated so `cert-manager.ts` reads as policy and
|
|
3
|
+
* this file reads as mechanics.
|
|
4
|
+
*
|
|
5
|
+
* **In-process, by decision (D551).** This used to shell out to `openssl`
|
|
6
|
+
* three times. The hub's own TLS identity is not allowed to be a function
|
|
7
|
+
* of which openssl happens to sit on the host: this fleet alone runs four
|
|
8
|
+
* of them, and one — Ubuntu 20.04's 1.1.1f — silently ADDED the ambient
|
|
9
|
+
* `/etc/ssl/openssl.cnf` `[req] x509_extensions = v3_ca` block on top of
|
|
10
|
+
* our `-addext` flags, producing a root with two `basicConstraints` and
|
|
11
|
+
* two `subjectKeyIdentifier` extensions. RFC 5280 §4.2 allows each at
|
|
12
|
+
* most once, so OpenSSL 3 (which is what `node:crypto` is) marked that
|
|
13
|
+
* root invalid: `X509Certificate.ca` read `false` on our own CA and
|
|
14
|
+
* `checkIssued()` refused the pair. Under D227 that means "not issued by
|
|
15
|
+
* the local CA", i.e. rotate the root — on every boot, forever, voiding
|
|
16
|
+
* every trust an operator had granted by hand.
|
|
17
|
+
*
|
|
18
|
+
* Keys come from WebCrypto (`node:crypto`'s own implementation) and the
|
|
19
|
+
* DER is assembled by `@peculiar/x509`. Nothing here reads the host.
|
|
20
|
+
*/
|
|
21
|
+
import type { webcrypto as WebCrypto } from "node:crypto";
|
|
22
|
+
import { X509Certificate as PeculiarCertificate } from "@peculiar/x509";
|
|
23
|
+
import type { CertIdentity } from "./cert-identity.js";
|
|
4
24
|
/** Subject of the local root. Distinct from the leaf's CN by construction. */
|
|
5
25
|
export declare const CA_COMMON_NAME = "CamStack Local CA";
|
|
6
26
|
/** A PEM-encoded certificate and the PKCS#8 PEM of its private key. */
|
|
7
27
|
export interface CertMaterial {
|
|
8
|
-
|
|
9
|
-
|
|
28
|
+
readonly certPem: string;
|
|
29
|
+
readonly keyPem: string;
|
|
10
30
|
}
|
|
11
31
|
/** An issuing root: its PEM, and the live key handle needed to sign with it. */
|
|
12
32
|
export interface CaSigner {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
33
|
+
readonly certPem: string;
|
|
34
|
+
readonly keyPem: string;
|
|
35
|
+
readonly cert: PeculiarCertificate;
|
|
36
|
+
readonly privateKey: WebCrypto.CryptoKey;
|
|
17
37
|
}
|
|
18
38
|
/**
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
39
|
+
* A local root: 10 years, `pathlen:0` so it can sign leaves and nothing
|
|
40
|
+
* else, and **no EKU** — Apple rejects an anchor asserting
|
|
41
|
+
* `anyExtendedKeyUsage`, and a root with no EKU constrains nothing.
|
|
42
|
+
*/
|
|
23
43
|
export declare function generateCa(now: Date): Promise<CaSigner>;
|
|
24
44
|
/** Re-open a root already on disk so a leaf can be issued under it. */
|
|
25
45
|
export declare function loadCa(certPem: string, keyPem: string): Promise<CaSigner>;
|
|
26
46
|
/**
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
47
|
+
* A server leaf signed by the local root: `CA:FALSE`, and
|
|
48
|
+
* `extendedKeyUsage=serverAuth` — not `anyExtendedKeyUsage`, which
|
|
49
|
+
* Apple's `testAppTrustRoot_AnyEKU_AfterJul2019` asserts must fail.
|
|
50
|
+
*/
|
|
31
51
|
export declare function issueLeaf(ca: CaSigner, identity: CertIdentity, commonName: string, validDays: number, now: Date): Promise<CertMaterial>;
|
|
@@ -1,98 +1,100 @@
|
|
|
1
|
-
import { CertRegenerationReason
|
|
2
|
-
import {
|
|
1
|
+
import type { CertRegenerationReason } from "./cert-evaluation.js";
|
|
2
|
+
import { evaluateExistingCert, MAX_LEAF_VALIDITY_DAYS } from "./cert-evaluation.js";
|
|
3
|
+
import type { CertIdentity, HostFacts } from "./cert-identity.js";
|
|
4
|
+
import { collectCertIdentity } from "./cert-identity.js";
|
|
3
5
|
export interface TlsCertPair {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
+
readonly cert: Buffer;
|
|
7
|
+
readonly key: Buffer;
|
|
6
8
|
}
|
|
7
9
|
export interface EnsureTlsResult {
|
|
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
|
-
|
|
10
|
+
/** Full chain — leaf then CA. This is what the listener serves. */
|
|
11
|
+
readonly certPath: string;
|
|
12
|
+
/** The leaf's private key. */
|
|
13
|
+
readonly keyPath: string;
|
|
14
|
+
/** The local root. **This** is the file an operator installs as trusted. */
|
|
15
|
+
readonly caCertPath: string;
|
|
16
|
+
readonly caKeyPath: string;
|
|
17
|
+
readonly generated: boolean;
|
|
18
|
+
/** Why it was reissued — `null` when the existing material was kept. */
|
|
19
|
+
readonly reason: CertRegenerationReason | null;
|
|
20
|
+
/** True when the ROOT rotated, i.e. trust granted by hand is now void. */
|
|
21
|
+
readonly caRotated: boolean;
|
|
22
|
+
readonly fingerprintSha256: string;
|
|
23
|
+
readonly caFingerprintSha256: string;
|
|
24
|
+
/** Fingerprint of the leaf this one replaced — `null` on a fresh install. */
|
|
25
|
+
readonly previousFingerprintSha256: string | null;
|
|
26
|
+
/** ISO timestamp at which the leaf stops being valid. */
|
|
27
|
+
readonly validTo: string;
|
|
28
|
+
readonly sans: readonly string[];
|
|
29
|
+
/**
|
|
30
|
+
* Set when a reissue was needed and FAILED, and the previous material is
|
|
31
|
+
* still being served. Never null-and-degraded silently: this is the line
|
|
32
|
+
* that says the certificate is not what the rule wants it to be.
|
|
33
|
+
*/
|
|
34
|
+
readonly reissueError: string | null;
|
|
33
35
|
}
|
|
34
36
|
export interface CertOptions {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
37
|
+
/** Common Name for the leaf (default: 'camstack.local') */
|
|
38
|
+
readonly commonName?: string;
|
|
39
|
+
/** Leaf validity in days. Clamped to `MAX_LEAF_VALIDITY_DAYS`. */
|
|
40
|
+
readonly validDays?: number;
|
|
41
|
+
/** Additional SANs (DNS names or IPs). Required coverage by definition. */
|
|
42
|
+
readonly extraSans?: readonly string[];
|
|
43
|
+
/**
|
|
44
|
+
* The machine being certified. Defaults to the real one; injected by the
|
|
45
|
+
* spec so the regeneration rule can be stated without reference to
|
|
46
|
+
* whichever box happens to run it (D551).
|
|
47
|
+
*/
|
|
48
|
+
readonly hostFacts?: HostFacts;
|
|
47
49
|
}
|
|
48
50
|
/**
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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
|
-
|
|
51
|
+
* Ensure the hub has a usable TLS identity under `<dataDir>/tls`, made of
|
|
52
|
+
* a long-lived local **root** (`camstack-ca.crt`) and a short **leaf**
|
|
53
|
+
* chained to it (`camstack.crt` = leaf + root, `camstack.key`).
|
|
54
|
+
*
|
|
55
|
+
* ## The regeneration rule (D227)
|
|
56
|
+
*
|
|
57
|
+
* Reissue happens when, and only when, the material on disk **cannot do
|
|
58
|
+
* its job**:
|
|
59
|
+
*
|
|
60
|
+
* - it is absent, unreadable, or the key does not match the certificate;
|
|
61
|
+
* - the root is absent (every pre-2026-08 install: one self-signed
|
|
62
|
+
* `CA:TRUE` leaf and no root) or is inside its renewal window;
|
|
63
|
+
* - the leaf is inside its 30-day renewal window;
|
|
64
|
+
* - the leaf lacks `extendedKeyUsage = serverAuth` — Apple's trustd
|
|
65
|
+
* rejects an app-supplied anchor without it;
|
|
66
|
+
* - the leaf is not actually issued by the root on disk;
|
|
67
|
+
* - the leaf's validity span exceeds {@link MAX_LEAF_VALIDITY_DAYS};
|
|
68
|
+
* - **a name or address the hub must answer for is missing from the SAN
|
|
69
|
+
* list** — a DHCP move, a new interface or a new hostname.
|
|
70
|
+
*
|
|
71
|
+
* And explicitly NOT when: the certificate names an address the machine
|
|
72
|
+
* no longer has (a superset still works — the check is one-directional),
|
|
73
|
+
* a volatile interface (docker/VPN/mesh) or **any** IPv6 address changed
|
|
74
|
+
* (global and ULA both rotate under privacy extensions / interface-id
|
|
75
|
+
* churn — `os` cannot tell temporary from permanent), or a new build shipped.
|
|
76
|
+
*
|
|
77
|
+
* Every trigger is derived from the files plus the machine, so once a
|
|
78
|
+
* reissue clears them it clears them for good: the next boot returns
|
|
79
|
+
* `generated: false`. A certificate that moved on every boot would
|
|
80
|
+
* invalidate every trust an operator granted by hand — worse than the
|
|
81
|
+
* bugs this rule fixes.
|
|
82
|
+
*
|
|
83
|
+
* **The root is rotated only for root-level reasons.** SAN drift rotates
|
|
84
|
+
* the leaf alone, so trust granted to `camstack-ca.crt` survives every
|
|
85
|
+
* address change the hub will ever see.
|
|
86
|
+
*/
|
|
85
87
|
export declare function ensureTlsCert(dataDir: string, options?: CertOptions): Promise<EnsureTlsResult>;
|
|
86
88
|
/**
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
89
|
+
* Operator "Regenerate": issue a new leaf under the existing local CA.
|
|
90
|
+
* Never rotates the root — trust granted to `camstack-ca.crt` survives.
|
|
91
|
+
*/
|
|
90
92
|
export declare function reissueTlsLeaf(dataDir: string, options?: CertOptions): Promise<EnsureTlsResult>;
|
|
91
93
|
/**
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
94
|
+
* Load TLS cert+key from files. Returns Buffers suitable for Node.js TLS
|
|
95
|
+
* options. `certPath` is a full chain, so the listener presents the local
|
|
96
|
+
* root alongside the leaf.
|
|
97
|
+
*/
|
|
96
98
|
export declare function loadTlsCert(certPath: string, keyPath: string): TlsCertPair;
|
|
97
99
|
export type { CertIdentity, CertRegenerationReason, HostFacts };
|
|
98
100
|
export { collectCertIdentity, evaluateExistingCert, MAX_LEAF_VALIDITY_DAYS };
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { Server as TlsServer } from
|
|
2
|
-
import { TlsCertPair } from
|
|
1
|
+
import type { Server as TlsServer } from "node:tls";
|
|
2
|
+
import type { TlsCertPair } from "./cert-manager.js";
|
|
3
3
|
export type HttpsReloadOutcome = {
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
readonly kind: "reloaded";
|
|
5
|
+
readonly servedLeafFingerprint: string;
|
|
6
6
|
} | {
|
|
7
|
-
|
|
7
|
+
readonly kind: "no-listener";
|
|
8
8
|
} | {
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
readonly kind: "failed";
|
|
10
|
+
readonly error: string;
|
|
11
11
|
};
|
|
12
12
|
/** SHA-256 fingerprint of the first certificate (the leaf) in a PEM chain. */
|
|
13
13
|
export declare function leafFingerprintOf(chain: Buffer | string): string;
|
|
14
14
|
/**
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
* Called once by the server after its HTTPS listener is up, with the pair it
|
|
16
|
+
* was started on. From here on a certificate action swaps the served
|
|
17
|
+
* certificate in place (`setSecureContext`) — new handshakes get the new
|
|
18
|
+
* leaf, open connections keep theirs, nothing restarts.
|
|
19
|
+
*/
|
|
20
20
|
export declare function registerHttpsListener(server: TlsServer, pair: TlsCertPair): void;
|
|
21
21
|
/** Forget the listener — on shutdown, and between specs. */
|
|
22
22
|
export declare function clearHttpsListener(): void;
|
|
23
23
|
/**
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
* The leaf the HTTPS listener serves now, or `null` when this process has no
|
|
25
|
+
* registered listener (TLS off, or a process that does not own one) — in
|
|
26
|
+
* which case nobody can say, and `null` is the honest answer.
|
|
27
|
+
*/
|
|
28
28
|
export declare function servedHttpsLeafFingerprint(): string | null;
|
|
29
29
|
/** Serve `pair` from now on. Never throws: the outcome says what happened. */
|
|
30
30
|
export declare function reloadHttpsListener(pair: TlsCertPair): HttpsReloadOutcome;
|
package/dist/tls/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { CA_VALIDITY_DAYS, type CertEvaluationInput, LEAF_RENEWAL_WINDOW_DAYS, SERVER_AUTH_OID
|
|
2
|
-
export { type CertIdentity, type CertOptions, type HostFacts, type CertRegenerationReason, collectCertIdentity, type EnsureTlsResult, ensureTlsCert, reissueTlsLeaf, evaluateExistingCert, loadTlsCert, MAX_LEAF_VALIDITY_DAYS, type TlsCertPair
|
|
3
|
-
export { type BootTls, type BootTlsMode, prepareBootTls } from
|
|
4
|
-
export { clearHttpsListener, type HttpsReloadOutcome, leafFingerprintOf, registerHttpsListener, reloadHttpsListener, servedHttpsLeafFingerprint
|
|
5
|
-
export { applyCertificateToListener, regenerateCertificate, revertToGeneratedCertificate, storeUploadedCertificate, type UploadCertificateInput
|
|
6
|
-
export { CA_COMMON_NAME } from
|
|
7
|
-
export { validateUploadedTls, type UploadedTlsValidation } from
|
|
8
|
-
export { type TlsAccessStatus, readTlsAccessStatus, splitPemCertificates, UPLOADED_CA_FILE, writeTlsMode, readTlsMode, readExtraSans, writeExtraSans
|
|
1
|
+
export { CA_VALIDITY_DAYS, type CertEvaluationInput, LEAF_RENEWAL_WINDOW_DAYS, SERVER_AUTH_OID } from "./cert-evaluation.js";
|
|
2
|
+
export { type CertIdentity, type CertOptions, type HostFacts, type CertRegenerationReason, collectCertIdentity, type EnsureTlsResult, ensureTlsCert, reissueTlsLeaf, evaluateExistingCert, loadTlsCert, MAX_LEAF_VALIDITY_DAYS, type TlsCertPair } from "./cert-manager.js";
|
|
3
|
+
export { type BootTls, type BootTlsMode, prepareBootTls } from "./boot-tls.js";
|
|
4
|
+
export { clearHttpsListener, type HttpsReloadOutcome, leafFingerprintOf, registerHttpsListener, reloadHttpsListener, servedHttpsLeafFingerprint } from "./https-listener.js";
|
|
5
|
+
export { applyCertificateToListener, regenerateCertificate, revertToGeneratedCertificate, storeUploadedCertificate, type UploadCertificateInput } from "./tls-actions.js";
|
|
6
|
+
export { CA_COMMON_NAME } from "./cert-issue.js";
|
|
7
|
+
export { validateUploadedTls, type UploadedTlsValidation } from "./uploaded-cert.js";
|
|
8
|
+
export { type TlsAccessStatus, readTlsAccessStatus, splitPemCertificates, UPLOADED_CA_FILE, writeTlsMode, readTlsMode, readExtraSans, writeExtraSans } from "./tls-status.js";
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import { CertOptions } from
|
|
2
|
-
import { HttpsReloadOutcome } from
|
|
1
|
+
import { type CertOptions } from "./cert-manager.js";
|
|
2
|
+
import { type HttpsReloadOutcome } from "./https-listener.js";
|
|
3
3
|
/**
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
* The certificate actions of Network → Local access (D726). Each one changes
|
|
5
|
+
* the files under `<dataDir>/tls` and then puts them on the listener, so the
|
|
6
|
+
* certificate the status reports is the certificate a client is served.
|
|
7
|
+
*/
|
|
8
8
|
export interface UploadCertificateInput {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
readonly certPem: string;
|
|
10
|
+
readonly keyPem: string;
|
|
11
|
+
readonly caPem?: string | undefined;
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
* Store an operator's certificate. The leaf (or chain) and key replace the
|
|
15
|
+
* served pair; a CA, when given, goes to its own file. The local CA
|
|
16
|
+
* (`camstack-ca.crt` + key) is never touched — it did not sign the upload,
|
|
17
|
+
* and it is what "Revert to generated" and every device that trusts it
|
|
18
|
+
* still need.
|
|
19
|
+
*/
|
|
20
20
|
export declare function storeUploadedCertificate(dataDir: string, input: UploadCertificateInput): Promise<void>;
|
|
21
21
|
/** Issue a new generated leaf under the local CA. Refused while an upload is served. */
|
|
22
22
|
export declare function regenerateCertificate(dataDir: string, options: CertOptions): Promise<void>;
|
|
23
23
|
/** Drop the upload and serve the generated local-CA leaf again (D227). */
|
|
24
24
|
export declare function revertToGeneratedCertificate(dataDir: string, options: CertOptions): Promise<void>;
|
|
25
25
|
/**
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
* Put the pair on disk on the HTTPS listener. Called after every action, so
|
|
27
|
+
* "the certificate changed" and "clients see it" are the same moment.
|
|
28
|
+
*/
|
|
29
29
|
export declare function applyCertificateToListener(dataDir: string): HttpsReloadOutcome;
|
package/dist/tls/tls-status.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export type TlsMode =
|
|
1
|
+
export type TlsMode = "generated" | "uploaded" | "disabled";
|
|
2
2
|
export interface TlsAccessStatus {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
readonly mode: TlsMode;
|
|
4
|
+
readonly leafFingerprintSha256: string | null;
|
|
5
|
+
readonly caFingerprintSha256: string | null;
|
|
6
|
+
readonly validTo: string | null;
|
|
7
|
+
readonly sans: readonly string[];
|
|
8
|
+
readonly caCertPem: string | null;
|
|
9
|
+
readonly reissueError: string | null;
|
|
10
|
+
readonly restartRequired: boolean;
|
|
11
11
|
}
|
|
12
12
|
export declare function readTlsMode(dataDir: string): TlsMode;
|
|
13
13
|
export declare function writeTlsMode(dataDir: string, mode: TlsMode): void;
|
|
@@ -18,10 +18,10 @@ export declare const UPLOADED_CA_FILE = "uploaded-ca.crt";
|
|
|
18
18
|
/** Every certificate in a PEM bundle, in order. */
|
|
19
19
|
export declare function splitPemCertificates(pem: string): readonly string[];
|
|
20
20
|
/**
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
* What the node's certificate is, and whether the listener serves it.
|
|
22
|
+
* `servedLeafFingerprint` is the leaf the HTTPS listener presents right now
|
|
23
|
+
* (`servedHttpsLeafFingerprint()`), or `null` when unknown; a restart is
|
|
24
|
+
* required exactly when the listener serves a different leaf than the one
|
|
25
|
+
* on disk — a measured fact, not a flag a mutation remembered to set.
|
|
26
|
+
*/
|
|
27
27
|
export declare function readTlsAccessStatus(dataDir: string, servedLeafFingerprint: string | null): TlsAccessStatus;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
export type UploadedTlsValidation = {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
readonly ok: true;
|
|
3
|
+
readonly fingerprintSha256: string;
|
|
4
|
+
readonly validTo: string;
|
|
5
5
|
} | {
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
readonly ok: false;
|
|
7
|
+
readonly error: string;
|
|
8
8
|
};
|
|
9
9
|
/**
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
* Operator-supplied material must parse, match its key, and carry
|
|
11
|
+
* `extendedKeyUsage = serverAuth` — the same leaf defects D227 refused
|
|
12
|
+
* to keep generating.
|
|
13
|
+
*/
|
|
14
14
|
export declare function validateUploadedTls(certPem: string, keyPem: string): UploadedTlsValidation;
|