@camstack/core 0.1.15 → 0.1.16
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 +36 -0
- package/dist/addon/addon-api-factory.d.ts.map +1 -0
- package/dist/addon-routes/addon-route-registry.d.ts +38 -0
- package/dist/addon-routes/addon-route-registry.d.ts.map +1 -0
- package/dist/auth/api-key-manager.d.ts +27 -0
- package/dist/auth/api-key-manager.d.ts.map +1 -0
- package/dist/auth/auth-manager.d.ts +47 -0
- package/dist/auth/auth-manager.d.ts.map +1 -0
- package/dist/auth/parse-record.d.ts +19 -0
- package/dist/auth/parse-record.d.ts.map +1 -0
- package/dist/auth/scoped-token-manager.d.ts +18 -0
- package/dist/auth/scoped-token-manager.d.ts.map +1 -0
- package/dist/auth/user-manager.d.ts +34 -0
- package/dist/auth/user-manager.d.ts.map +1 -0
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.d.ts +54 -0
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.d.ts.map +1 -0
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +223 -217
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js.map +1 -1
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +216 -7
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs.map +1 -1
- package/dist/builtins/addon-pages-aggregator/index.d.ts +2 -0
- package/dist/builtins/addon-pages-aggregator/index.d.ts.map +1 -0
- package/dist/builtins/addon-pages-aggregator/index.js +6 -221
- package/dist/builtins/addon-pages-aggregator/index.mjs +2 -9
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.d.ts +33 -0
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.d.ts.map +1 -0
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +199 -197
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js.map +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +192 -7
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs.map +1 -1
- package/dist/builtins/addon-widgets-aggregator/index.d.ts +2 -0
- package/dist/builtins/addon-widgets-aggregator/index.d.ts.map +1 -0
- package/dist/builtins/addon-widgets-aggregator/index.js +6 -201
- package/dist/builtins/addon-widgets-aggregator/index.mjs +2 -9
- package/dist/builtins/alerts/alerts.addon.d.ts +82 -0
- package/dist/builtins/alerts/alerts.addon.d.ts.map +1 -0
- package/dist/builtins/alerts/alerts.addon.js +590 -430
- package/dist/builtins/alerts/alerts.addon.js.map +1 -1
- package/dist/builtins/alerts/alerts.addon.mjs +595 -7
- package/dist/builtins/alerts/alerts.addon.mjs.map +1 -1
- package/dist/builtins/alerts/index.d.ts +2 -0
- package/dist/builtins/alerts/index.d.ts.map +1 -0
- package/dist/builtins/alerts/index.js +3 -443
- package/dist/builtins/alerts/index.mjs +2 -8
- package/dist/builtins/auth-orchestrator/auth-orchestrator.addon.d.ts +8 -0
- package/dist/builtins/auth-orchestrator/auth-orchestrator.addon.d.ts.map +1 -0
- package/dist/builtins/auth-orchestrator/auth-orchestrator.addon.js +56 -0
- package/dist/builtins/auth-orchestrator/auth-orchestrator.addon.js.map +1 -0
- package/dist/builtins/auth-orchestrator/auth-orchestrator.addon.mjs +50 -0
- package/dist/builtins/auth-orchestrator/auth-orchestrator.addon.mjs.map +1 -0
- package/dist/builtins/auth-orchestrator/index.d.ts +2 -0
- package/dist/builtins/auth-orchestrator/index.d.ts.map +1 -0
- package/dist/builtins/auth-orchestrator/index.js +7 -0
- package/dist/builtins/auth-orchestrator/index.mjs +2 -0
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.d.ts +148 -0
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.d.ts.map +1 -0
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +7639 -0
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js.map +1 -0
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +7627 -0
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs.map +1 -0
- package/dist/builtins/backup-orchestrator/cron-helpers.d.ts +24 -0
- package/dist/builtins/backup-orchestrator/cron-helpers.d.ts.map +1 -0
- package/dist/builtins/backup-orchestrator/destination-policy.d.ts +73 -0
- package/dist/builtins/backup-orchestrator/destination-policy.d.ts.map +1 -0
- package/dist/builtins/backup-orchestrator/download-helpers.d.ts +13 -0
- package/dist/builtins/backup-orchestrator/download-helpers.d.ts.map +1 -0
- package/dist/builtins/backup-orchestrator/index.d.ts +3 -0
- package/dist/builtins/backup-orchestrator/index.d.ts.map +1 -0
- package/dist/builtins/backup-orchestrator/index.js +7 -0
- package/dist/builtins/backup-orchestrator/index.mjs +2 -0
- package/dist/builtins/backup-orchestrator/manifest-store.d.ts +78 -0
- package/dist/builtins/backup-orchestrator/manifest-store.d.ts.map +1 -0
- package/dist/builtins/console-logging/console-destination.d.ts +14 -0
- package/dist/builtins/console-logging/console-destination.d.ts.map +1 -0
- package/dist/builtins/console-logging/console-logging.addon.d.ts +26 -0
- package/dist/builtins/console-logging/console-logging.addon.d.ts.map +1 -0
- package/dist/builtins/console-logging/index.d.ts +4 -0
- package/dist/builtins/console-logging/index.d.ts.map +1 -0
- package/dist/builtins/console-logging/index.js +99 -235
- package/dist/builtins/console-logging/index.js.map +1 -1
- package/dist/builtins/console-logging/index.mjs +95 -9
- package/dist/builtins/console-logging/index.mjs.map +1 -1
- package/dist/builtins/device-manager/device-event-propagator.d.ts +27 -0
- package/dist/builtins/device-manager/device-event-propagator.d.ts.map +1 -0
- package/dist/builtins/device-manager/device-manager.addon.d.ts +259 -0
- package/dist/builtins/device-manager/device-manager.addon.d.ts.map +1 -0
- package/dist/builtins/device-manager/device-manager.addon.js +2125 -2127
- package/dist/builtins/device-manager/device-manager.addon.js.map +1 -1
- package/dist/builtins/device-manager/device-manager.addon.mjs +2145 -7
- package/dist/builtins/device-manager/device-manager.addon.mjs.map +1 -1
- package/dist/builtins/device-manager/index.d.ts +3 -0
- package/dist/builtins/device-manager/index.d.ts.map +1 -0
- package/dist/builtins/device-manager/index.js +6 -2156
- package/dist/builtins/device-manager/index.mjs +2 -10
- package/dist/builtins/hub-forwarder/hub-forwarder-destination.d.ts +45 -0
- package/dist/builtins/hub-forwarder/hub-forwarder-destination.d.ts.map +1 -0
- package/dist/builtins/hub-forwarder/hub-forwarder.addon.d.ts +16 -0
- package/dist/builtins/hub-forwarder/hub-forwarder.addon.d.ts.map +1 -0
- package/dist/builtins/hub-forwarder/index.d.ts +4 -0
- package/dist/builtins/hub-forwarder/index.d.ts.map +1 -0
- package/dist/builtins/hub-forwarder/index.js +150 -291
- package/dist/builtins/hub-forwarder/index.js.map +1 -1
- package/dist/builtins/hub-forwarder/index.mjs +145 -9
- package/dist/builtins/hub-forwarder/index.mjs.map +1 -1
- package/dist/builtins/local-auth/auth-schema.d.ts +12 -0
- package/dist/builtins/local-auth/auth-schema.d.ts.map +1 -0
- package/dist/builtins/local-auth/index.d.ts +2 -0
- package/dist/builtins/local-auth/index.d.ts.map +1 -0
- package/dist/builtins/local-auth/index.js +3 -623
- package/dist/builtins/local-auth/index.mjs +2 -8
- package/dist/builtins/local-auth/local-auth.addon.d.ts +17 -0
- package/dist/builtins/local-auth/local-auth.addon.d.ts.map +1 -0
- package/dist/builtins/local-auth/local-auth.addon.js +6861 -589
- package/dist/builtins/local-auth/local-auth.addon.js.map +1 -1
- package/dist/builtins/local-auth/local-auth.addon.mjs +6883 -7
- package/dist/builtins/local-auth/local-auth.addon.mjs.map +1 -1
- package/dist/builtins/local-network/index.d.ts +3 -0
- package/dist/builtins/local-network/index.d.ts.map +1 -0
- package/dist/builtins/local-network/index.js +9 -0
- package/dist/builtins/local-network/index.mjs +2 -0
- package/dist/builtins/local-network/local-network.addon.d.ts +102 -0
- package/dist/builtins/local-network/local-network.addon.d.ts.map +1 -0
- package/dist/builtins/local-network/local-network.addon.js +404 -0
- package/dist/builtins/local-network/local-network.addon.js.map +1 -0
- package/dist/builtins/local-network/local-network.addon.mjs +392 -0
- package/dist/builtins/local-network/local-network.addon.mjs.map +1 -0
- package/dist/builtins/mesh-orchestrator/index.d.ts +2 -0
- package/dist/builtins/mesh-orchestrator/index.d.ts.map +1 -0
- package/dist/builtins/mesh-orchestrator/index.js +7 -0
- package/dist/builtins/mesh-orchestrator/index.mjs +2 -0
- package/dist/builtins/mesh-orchestrator/mesh-orchestrator.addon.d.ts +9 -0
- package/dist/builtins/mesh-orchestrator/mesh-orchestrator.addon.d.ts.map +1 -0
- package/dist/builtins/mesh-orchestrator/mesh-orchestrator.addon.js +83 -0
- package/dist/builtins/mesh-orchestrator/mesh-orchestrator.addon.js.map +1 -0
- package/dist/builtins/mesh-orchestrator/mesh-orchestrator.addon.mjs +77 -0
- package/dist/builtins/mesh-orchestrator/mesh-orchestrator.addon.mjs.map +1 -0
- package/dist/builtins/native-metrics/index.d.ts +3 -0
- package/dist/builtins/native-metrics/index.d.ts.map +1 -0
- package/dist/builtins/native-metrics/native-metrics-provider.d.ts +49 -0
- package/dist/builtins/native-metrics/native-metrics-provider.d.ts.map +1 -0
- package/dist/builtins/native-metrics/native-metrics.addon.d.ts +74 -0
- package/dist/builtins/native-metrics/native-metrics.addon.d.ts.map +1 -0
- package/dist/builtins/native-metrics/native-metrics.addon.js +887 -861
- package/dist/builtins/native-metrics/native-metrics.addon.js.map +1 -1
- package/dist/builtins/native-metrics/native-metrics.addon.mjs +914 -5
- package/dist/builtins/native-metrics/native-metrics.addon.mjs.map +1 -1
- package/dist/builtins/platform-probe/index.d.ts +12 -0
- package/dist/builtins/platform-probe/index.d.ts.map +1 -0
- package/dist/builtins/platform-probe/index.js +539 -0
- package/dist/builtins/platform-probe/index.js.map +1 -0
- package/dist/builtins/platform-probe/index.mjs +530 -0
- package/dist/builtins/platform-probe/index.mjs.map +1 -0
- package/dist/builtins/platform-probe/inference-config-resolver.d.ts +30 -0
- package/dist/builtins/platform-probe/inference-config-resolver.d.ts.map +1 -0
- package/dist/builtins/platform-probe/platform-scorer.d.ts +22 -0
- package/dist/builtins/platform-probe/platform-scorer.d.ts.map +1 -0
- package/dist/builtins/remote-access-orchestrator/index.d.ts +2 -0
- package/dist/builtins/remote-access-orchestrator/index.d.ts.map +1 -0
- package/dist/builtins/remote-access-orchestrator/index.js +7 -0
- package/dist/builtins/remote-access-orchestrator/index.mjs +2 -0
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.d.ts +9 -0
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.d.ts.map +1 -0
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +72 -0
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js.map +1 -0
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +66 -0
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs.map +1 -0
- package/dist/builtins/snapshot/index.d.ts +3 -0
- package/dist/builtins/snapshot/index.d.ts.map +1 -0
- package/dist/builtins/snapshot/index.js +481 -491
- package/dist/builtins/snapshot/index.js.map +1 -1
- package/dist/builtins/snapshot/index.mjs +475 -464
- package/dist/builtins/snapshot/index.mjs.map +1 -1
- package/dist/builtins/snapshot/snapshot.addon.d.ts +121 -0
- package/dist/builtins/snapshot/snapshot.addon.d.ts.map +1 -0
- package/dist/builtins/sqlite-storage/config-store.d.ts +9 -0
- package/dist/builtins/sqlite-storage/config-store.d.ts.map +1 -0
- package/dist/builtins/sqlite-storage/device-store.d.ts +24 -0
- package/dist/builtins/sqlite-storage/device-store.d.ts.map +1 -0
- package/dist/builtins/sqlite-storage/filesystem-storage-provider.d.ts +87 -0
- package/dist/builtins/sqlite-storage/filesystem-storage-provider.d.ts.map +1 -0
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.d.ts +32 -0
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.d.ts.map +1 -0
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +312 -56
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.js.map +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +305 -7
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs.map +1 -1
- package/dist/builtins/sqlite-storage/index.d.ts +12 -0
- package/dist/builtins/sqlite-storage/index.d.ts.map +1 -0
- package/dist/builtins/sqlite-storage/index.js +229 -1001
- package/dist/builtins/sqlite-storage/index.js.map +1 -1
- package/dist/builtins/sqlite-storage/index.mjs +268 -26
- package/dist/builtins/sqlite-storage/index.mjs.map +1 -1
- package/dist/builtins/sqlite-storage/integration-registry.d.ts +28 -0
- package/dist/builtins/sqlite-storage/integration-registry.d.ts.map +1 -0
- package/dist/builtins/sqlite-storage/settings-store.d.ts +40 -0
- package/dist/builtins/sqlite-storage/settings-store.d.ts.map +1 -0
- package/dist/builtins/sqlite-storage/sql-schema.d.ts +33 -0
- package/dist/builtins/sqlite-storage/sql-schema.d.ts.map +1 -0
- package/dist/builtins/sqlite-storage/sqlite-settings-backend.d.ts +94 -0
- package/dist/builtins/sqlite-storage/sqlite-settings-backend.d.ts.map +1 -0
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.d.ts +15 -0
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.d.ts.map +1 -0
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +586 -653
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.js.map +1 -1
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +582 -7
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs.map +1 -1
- package/dist/builtins/storage-orchestrator/index.d.ts +7 -0
- package/dist/builtins/storage-orchestrator/index.d.ts.map +1 -0
- package/dist/builtins/storage-orchestrator/index.js +9 -0
- package/dist/builtins/storage-orchestrator/index.mjs +2 -0
- package/dist/builtins/storage-orchestrator/location-store.d.ts +50 -0
- package/dist/builtins/storage-orchestrator/location-store.d.ts.map +1 -0
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.d.ts +60 -0
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.d.ts.map +1 -0
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +755 -0
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js.map +1 -0
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +746 -0
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs.map +1 -0
- package/dist/builtins/storage-orchestrator/storage-orchestrator.service.d.ts +121 -0
- package/dist/builtins/storage-orchestrator/storage-orchestrator.service.d.ts.map +1 -0
- package/dist/builtins/system-backup/system-backup.service.d.ts +138 -0
- package/dist/builtins/system-backup/system-backup.service.d.ts.map +1 -0
- package/dist/builtins/system-config/index.d.ts +2 -0
- package/dist/builtins/system-config/index.d.ts.map +1 -0
- package/dist/builtins/system-config/index.js +6 -188
- package/dist/builtins/system-config/index.mjs +2 -10
- package/dist/builtins/system-config/system-config.addon.d.ts +11 -0
- package/dist/builtins/system-config/system-config.addon.d.ts.map +1 -0
- package/dist/builtins/system-config/system-config.addon.js +227 -180
- package/dist/builtins/system-config/system-config.addon.js.map +1 -1
- package/dist/builtins/system-config/system-config.addon.mjs +226 -7
- package/dist/builtins/system-config/system-config.addon.mjs.map +1 -1
- package/dist/builtins/turn-orchestrator/index.d.ts +2 -0
- package/dist/builtins/turn-orchestrator/index.d.ts.map +1 -0
- package/dist/builtins/turn-orchestrator/index.js +7 -0
- package/dist/builtins/turn-orchestrator/index.mjs +2 -0
- package/dist/builtins/turn-orchestrator/turn-orchestrator.addon.d.ts +10 -0
- package/dist/builtins/turn-orchestrator/turn-orchestrator.addon.d.ts.map +1 -0
- package/dist/builtins/turn-orchestrator/turn-orchestrator.addon.js +78 -0
- package/dist/builtins/turn-orchestrator/turn-orchestrator.addon.js.map +1 -0
- package/dist/builtins/turn-orchestrator/turn-orchestrator.addon.mjs +72 -0
- package/dist/builtins/turn-orchestrator/turn-orchestrator.addon.mjs.map +1 -0
- package/dist/builtins/winston-logging/index.d.ts +4 -0
- package/dist/builtins/winston-logging/index.d.ts.map +1 -0
- package/dist/builtins/winston-logging/index.js +153 -300
- package/dist/builtins/winston-logging/index.js.map +1 -1
- package/dist/builtins/winston-logging/index.mjs +144 -9
- package/dist/builtins/winston-logging/index.mjs.map +1 -1
- package/dist/builtins/winston-logging/winston-destination.d.ts +22 -0
- package/dist/builtins/winston-logging/winston-destination.d.ts.map +1 -0
- package/dist/builtins/winston-logging/winston-logging.addon.d.ts +20 -0
- package/dist/builtins/winston-logging/winston-logging.addon.d.ts.map +1 -0
- package/dist/chunk-C13QxCFV.js +50 -0
- package/dist/chunk-hT5z_Zn9.mjs +35 -0
- package/dist/download/model-download-service.d.ts +42 -0
- package/dist/download/model-download-service.d.ts.map +1 -0
- package/dist/download/model-downloader.d.ts +32 -0
- package/dist/download/model-downloader.d.ts.map +1 -0
- package/dist/events/event-bus.d.ts +11 -0
- package/dist/events/event-bus.d.ts.map +1 -0
- package/dist/events/system-event-bus.d.ts +15 -0
- package/dist/events/system-event-bus.d.ts.map +1 -0
- package/dist/feature/feature-manager.d.ts +12 -0
- package/dist/feature/feature-manager.d.ts.map +1 -0
- package/dist/formatter-C-5An4Bl.mjs +164 -0
- package/dist/formatter-C-5An4Bl.mjs.map +1 -0
- package/dist/formatter-Dr_6NNZc.js +169 -0
- package/dist/formatter-Dr_6NNZc.js.map +1 -0
- package/dist/index.d.ts +76 -1696
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7780 -8035
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +7707 -2148
- package/dist/index.mjs.map +1 -1
- package/dist/lifecycle/lifecycle-state-machine.d.ts +29 -0
- package/dist/lifecycle/lifecycle-state-machine.d.ts.map +1 -0
- package/dist/logging/formatter.d.ts +31 -0
- package/dist/logging/formatter.d.ts.map +1 -0
- package/dist/logging/log-manager.d.ts +52 -0
- package/dist/logging/log-manager.d.ts.map +1 -0
- package/dist/logging/log-ring-buffer.d.ts +48 -0
- package/dist/logging/log-ring-buffer.d.ts.map +1 -0
- package/dist/logging/scoped-logger.d.ts +18 -0
- package/dist/logging/scoped-logger.d.ts.map +1 -0
- package/dist/network/network-quality.d.ts +12 -0
- package/dist/network/network-quality.d.ts.map +1 -0
- package/dist/notification/notification-service.d.ts +38 -0
- package/dist/notification/notification-service.d.ts.map +1 -0
- package/dist/notification/toast-service.d.ts +23 -0
- package/dist/notification/toast-service.d.ts.map +1 -0
- package/dist/pipeline/engine-manager-resolver.d.ts +16 -0
- package/dist/pipeline/engine-manager-resolver.d.ts.map +1 -0
- package/dist/pipeline/pipeline-runner.d.ts +9 -0
- package/dist/pipeline/pipeline-runner.d.ts.map +1 -0
- package/dist/pipeline/pipeline-validator.d.ts +14 -0
- package/dist/pipeline/pipeline-validator.d.ts.map +1 -0
- package/dist/process/resource-monitor.d.ts +12 -0
- package/dist/process/resource-monitor.d.ts.map +1 -0
- package/dist/python/python-env-manager.d.ts +13 -0
- package/dist/python/python-env-manager.d.ts.map +1 -0
- package/dist/repl/interfaces.d.ts +32 -0
- package/dist/repl/interfaces.d.ts.map +1 -0
- package/dist/repl/repl-engine.d.ts +9 -0
- package/dist/repl/repl-engine.d.ts.map +1 -0
- package/dist/resource-monitor-CmuWlmap.js +76 -0
- package/dist/resource-monitor-CmuWlmap.js.map +1 -0
- package/dist/resource-monitor-DcQdKGYU.mjs +59 -0
- package/dist/resource-monitor-DcQdKGYU.mjs.map +1 -0
- package/dist/storage/fs-storage-backend.d.ts +41 -0
- package/dist/storage/fs-storage-backend.d.ts.map +1 -0
- package/dist/storage/storage-location-manager.d.ts +24 -0
- package/dist/storage/storage-location-manager.d.ts.map +1 -0
- package/dist/storage/storage-manager.d.ts +77 -0
- package/dist/storage/storage-manager.d.ts.map +1 -0
- package/dist/tls/cert-manager.d.ts +27 -0
- package/dist/tls/cert-manager.d.ts.map +1 -0
- package/dist/tls/index.d.ts +2 -0
- package/dist/tls/index.d.ts.map +1 -0
- package/package.json +119 -23
- package/dist/builtins/addon-pages-aggregator/index.js.map +0 -1
- package/dist/builtins/addon-pages-aggregator/index.mjs.map +0 -1
- package/dist/builtins/addon-widgets-aggregator/index.js.map +0 -1
- package/dist/builtins/addon-widgets-aggregator/index.mjs.map +0 -1
- package/dist/builtins/alerts/index.js.map +0 -1
- package/dist/builtins/alerts/index.mjs.map +0 -1
- package/dist/builtins/device-manager/index.js.map +0 -1
- package/dist/builtins/device-manager/index.mjs.map +0 -1
- package/dist/builtins/local-auth/index.js.map +0 -1
- package/dist/builtins/local-auth/index.mjs.map +0 -1
- package/dist/builtins/local-backup/index.js +0 -173
- package/dist/builtins/local-backup/index.js.map +0 -1
- package/dist/builtins/local-backup/index.mjs +0 -10
- package/dist/builtins/local-backup/index.mjs.map +0 -1
- package/dist/builtins/system-config/index.js.map +0 -1
- package/dist/builtins/system-config/index.mjs.map +0 -1
- package/dist/chunk-2CIYKDRN.mjs +0 -1
- package/dist/chunk-2CIYKDRN.mjs.map +0 -1
- package/dist/chunk-2F76X6NL.mjs +0 -136
- package/dist/chunk-2F76X6NL.mjs.map +0 -1
- package/dist/chunk-2QUFBZ7M.mjs +0 -1
- package/dist/chunk-2QUFBZ7M.mjs.map +0 -1
- package/dist/chunk-3BK2Y7GY.mjs +0 -593
- package/dist/chunk-3BK2Y7GY.mjs.map +0 -1
- package/dist/chunk-4OOHFJHT.mjs +0 -421
- package/dist/chunk-4OOHFJHT.mjs.map +0 -1
- package/dist/chunk-4XHB7IHT.mjs +0 -809
- package/dist/chunk-4XHB7IHT.mjs.map +0 -1
- package/dist/chunk-6M2HSSTQ.mjs +0 -98
- package/dist/chunk-6M2HSSTQ.mjs.map +0 -1
- package/dist/chunk-7FI7SQS7.mjs +0 -135
- package/dist/chunk-7FI7SQS7.mjs.map +0 -1
- package/dist/chunk-ED57RCQE.mjs +0 -171
- package/dist/chunk-ED57RCQE.mjs.map +0 -1
- package/dist/chunk-FZN56HGQ.mjs +0 -626
- package/dist/chunk-FZN56HGQ.mjs.map +0 -1
- package/dist/chunk-GL4OOB25.mjs +0 -51
- package/dist/chunk-GL4OOB25.mjs.map +0 -1
- package/dist/chunk-KDG2NTDB.mjs +0 -137
- package/dist/chunk-KDG2NTDB.mjs.map +0 -1
- package/dist/chunk-NRBQWBDM.mjs +0 -191
- package/dist/chunk-NRBQWBDM.mjs.map +0 -1
- package/dist/chunk-O4V246GG.mjs +0 -2137
- package/dist/chunk-O4V246GG.mjs.map +0 -1
- package/dist/chunk-QT57H266.mjs +0 -163
- package/dist/chunk-QT57H266.mjs.map +0 -1
- package/dist/chunk-QX4RH25I.mjs +0 -141
- package/dist/chunk-QX4RH25I.mjs.map +0 -1
- package/dist/chunk-TB562PZX.mjs +0 -86
- package/dist/chunk-TB562PZX.mjs.map +0 -1
- package/dist/chunk-TDYPZXK5.mjs +0 -1
- package/dist/chunk-TDYPZXK5.mjs.map +0 -1
- package/dist/chunk-UJI4LN5P.mjs +0 -36
- package/dist/chunk-UJI4LN5P.mjs.map +0 -1
- package/dist/chunk-W6RTHQGP.mjs +0 -1
- package/dist/chunk-W6RTHQGP.mjs.map +0 -1
- package/dist/chunk-ZELBCPDC.mjs +0 -369
- package/dist/chunk-ZELBCPDC.mjs.map +0 -1
- package/dist/index.d.mts +0 -1696
- package/dist/resource-monitor-UZUGPIAU.mjs +0 -9
- package/dist/resource-monitor-UZUGPIAU.mjs.map +0 -1
- package/dist/storage-location-manager-HFNB3PCS.mjs +0 -7
- package/dist/storage-location-manager-HFNB3PCS.mjs.map +0 -1
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { IScopedLogger, IEventBus } from '@camstack/types';
|
|
2
|
+
export type ElementState = 'stopped' | 'starting' | 'running' | 'stopping' | 'error' | 'disabled';
|
|
3
|
+
export interface ElementStatus {
|
|
4
|
+
state: ElementState;
|
|
5
|
+
error?: string;
|
|
6
|
+
startedAt?: number;
|
|
7
|
+
stoppedAt?: number;
|
|
8
|
+
restartCount: number;
|
|
9
|
+
uptime: number;
|
|
10
|
+
}
|
|
11
|
+
export declare class LifecycleStateMachine {
|
|
12
|
+
private readonly elementId;
|
|
13
|
+
private readonly elementType;
|
|
14
|
+
private readonly eventBus;
|
|
15
|
+
private readonly logger;
|
|
16
|
+
private _state;
|
|
17
|
+
private _error?;
|
|
18
|
+
private _startedAt?;
|
|
19
|
+
private _stoppedAt?;
|
|
20
|
+
private _restartCount;
|
|
21
|
+
private _hasStartedOnce;
|
|
22
|
+
constructor(elementId: string, elementType: 'provider' | 'device' | 'addon' | 'process', eventBus: IEventBus, logger: IScopedLogger);
|
|
23
|
+
get state(): ElementState;
|
|
24
|
+
getStatus(): ElementStatus;
|
|
25
|
+
transition(to: ElementState, error?: string): boolean;
|
|
26
|
+
incrementRestartCount(): void;
|
|
27
|
+
private isValidTransition;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=lifecycle-state-machine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle-state-machine.d.ts","sourceRoot":"","sources":["../../src/lifecycle/lifecycle-state-machine.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE/D,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,CAAA;AAEjG,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,YAAY,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;CACf;AAWD,qBAAa,qBAAqB;IAS9B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAXzB,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,MAAM,CAAC,CAAQ;IACvB,OAAO,CAAC,UAAU,CAAC,CAAQ;IAC3B,OAAO,CAAC,UAAU,CAAC,CAAQ;IAC3B,OAAO,CAAC,aAAa,CAAI;IACzB,OAAO,CAAC,eAAe,CAAQ;gBAGZ,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,EACxD,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,aAAa;IAGxC,IAAI,KAAK,IAAI,YAAY,CAExB;IAED,SAAS,IAAI,aAAa;IAc1B,UAAU,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO;IAqCrD,qBAAqB,IAAI,IAAI;IAI7B,OAAO,CAAC,iBAAiB;CAG1B"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { LogEntry } from '@camstack/types';
|
|
2
|
+
/** Options for `formatLogLine`. */
|
|
3
|
+
export interface FormatLogLineOptions {
|
|
4
|
+
/**
|
|
5
|
+
* Emit ANSI colour codes. When omitted, falls back to the shell-env
|
|
6
|
+
* heuristic (`NO_COLOR`/`FORCE_COLOR`/`isTTY`). Destinations that
|
|
7
|
+
* always target a console (ConsoleDestination, HubForwarderDestination)
|
|
8
|
+
* pass `true`; file sinks (Winston JSON) pass `false` so logs on disk
|
|
9
|
+
* stay plain text regardless of the shell env.
|
|
10
|
+
*
|
|
11
|
+
* `NO_COLOR=1` in the environment still wins — consumer opt-in beats
|
|
12
|
+
* producer opt-in, matching the https://no-color.org/ convention.
|
|
13
|
+
*/
|
|
14
|
+
readonly colorize?: boolean;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Render a `LogEntry` as one complete console line — no trailing newline.
|
|
18
|
+
* Caller appends `\n` (file sinks) or relies on `console.log` (stdout sink).
|
|
19
|
+
*
|
|
20
|
+
* PID column prefers `entry.tags.pid` when set (so forked-worker entries
|
|
21
|
+
* carry the worker's OS pid even when the hub renders them), falling back
|
|
22
|
+
* to the renderer's own `process.pid`.
|
|
23
|
+
*
|
|
24
|
+
* Colours (when enabled) follow the NestJS convention: the level token
|
|
25
|
+
* AND the message body share the level colour (green/yellow/red/gray for
|
|
26
|
+
* info/warn/error/debug). Brand, device context, scope and meta keep
|
|
27
|
+
* their fixed hues so the structural fields stay visually distinct from
|
|
28
|
+
* the message content.
|
|
29
|
+
*/
|
|
30
|
+
export declare function formatLogLine(entry: LogEntry, options?: FormatLogLineOptions): string;
|
|
31
|
+
//# sourceMappingURL=formatter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../src/logging/formatter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAW,MAAM,iBAAiB,CAAA;AAgKxD,mCAAmC;AACnC,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;OASG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,MAAM,CAyBrF"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { LogEntry, LogFilter } from './log-ring-buffer.js';
|
|
2
|
+
import { IScopedLogger } from './scoped-logger.js';
|
|
3
|
+
export interface ILogDestination {
|
|
4
|
+
initialize(): Promise<void>;
|
|
5
|
+
shutdown(): Promise<void>;
|
|
6
|
+
write(entry: LogEntry): void;
|
|
7
|
+
query?(filter: LogFilter): Promise<readonly LogEntry[]>;
|
|
8
|
+
}
|
|
9
|
+
export declare class LogManager {
|
|
10
|
+
private readonly ringBuffer;
|
|
11
|
+
private readonly destinations;
|
|
12
|
+
private readonly subscribers;
|
|
13
|
+
private deviceNameLookup;
|
|
14
|
+
constructor(bufferSize?: number);
|
|
15
|
+
/**
|
|
16
|
+
* Register a callback that resolves `deviceId → deviceName`. Called
|
|
17
|
+
* for every emitted entry that carries `tags.deviceId` but no
|
|
18
|
+
* explicit `tags.deviceName` — the LogManager injects the resolved
|
|
19
|
+
* name directly into the entry's tags BEFORE ring-buffer / destination
|
|
20
|
+
* write, so every destination (local console, file, remote forwarder,
|
|
21
|
+
* addon-bundled copies of core) sees the enriched shape regardless of
|
|
22
|
+
* which module instance the destination was built from.
|
|
23
|
+
*/
|
|
24
|
+
setDeviceNameLookup(lookup: ((deviceId: number) => string | null) | null): void;
|
|
25
|
+
createLogger(scope?: string): IScopedLogger;
|
|
26
|
+
private enrichDeviceName;
|
|
27
|
+
/** Subscribe to live logs matching a filter. Returns an unsubscribe function. */
|
|
28
|
+
subscribe(filter: Partial<LogFilter>, callback: (entry: LogEntry) => void): () => void;
|
|
29
|
+
private matchesFilter;
|
|
30
|
+
/**
|
|
31
|
+
* Register a log destination.
|
|
32
|
+
*
|
|
33
|
+
* @param opts.replay If true (default), replay every entry currently in
|
|
34
|
+
* the ring buffer to the new destination before live
|
|
35
|
+
* traffic starts. Lets a destination added mid-boot
|
|
36
|
+
* still receive boot-time log entries.
|
|
37
|
+
*/
|
|
38
|
+
addDestination(dest: ILogDestination, opts?: {
|
|
39
|
+
replay?: boolean;
|
|
40
|
+
}): void;
|
|
41
|
+
removeDestination(dest: ILogDestination): void;
|
|
42
|
+
query(filter: LogFilter): LogEntry[];
|
|
43
|
+
/**
|
|
44
|
+
* Drop ring-buffer entries matching `filter`. Returns the count
|
|
45
|
+
* removed. Backs the UI's "Clear logs" admin action so an operator
|
|
46
|
+
* can wipe the historical window for a scope (per-device, per-addon,
|
|
47
|
+
* agent-level) without restarting the server. External destinations
|
|
48
|
+
* (file, forwarder) are NOT touched — only the in-memory ring.
|
|
49
|
+
*/
|
|
50
|
+
clear(filter?: LogFilter): number;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=log-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-manager.d.ts","sourceRoot":"","sources":["../../src/logging/log-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACnG,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAErE,MAAM,WAAW,eAAe;IAC9B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAA;IAC5B,KAAK,CAAC,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAA;CACxD;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAe;IAC1C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyF;IACrH,OAAO,CAAC,gBAAgB,CAAqD;gBAEjE,UAAU,GAAE,MAAc;IAItC;;;;;;;;OAQG;IACH,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;IAI/E,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,aAAa;IAgB3C,OAAO,CAAC,gBAAgB;IAYxB,iFAAiF;IACjF,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,GAAG,MAAM,IAAI;IAMtF,OAAO,CAAC,aAAa;IAarB;;;;;;;OAOG;IACH,cAAc,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,IAAI;IAU5E,iBAAiB,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;IAO9C,KAAK,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,EAAE;IAIpC;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,GAAE,SAAc,GAAG,MAAM;CAGtC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { LogLevel, LogEntry, LogFilter, LogTags } from '@camstack/types';
|
|
2
|
+
export type { LogLevel, LogEntry, LogFilter };
|
|
3
|
+
/**
|
|
4
|
+
* Per-tag filter matcher with semantic-aware comparisons:
|
|
5
|
+
*
|
|
6
|
+
* `addonId` — matches the entry's bare addon id (strips any `@<workerId>`
|
|
7
|
+
* qualifier added by the cap-router for remote providers).
|
|
8
|
+
* So a UI filter for `audio-classifier` matches both the
|
|
9
|
+
* addon's own log lines and bridge management lines whose
|
|
10
|
+
* addonId is logged as `audio-classifier@dev-agent-0/audio-classifier`.
|
|
11
|
+
*
|
|
12
|
+
* `agentId` — matches when ANY of these hold:
|
|
13
|
+
* * the entry was emitted by that agent (`agentId` exact)
|
|
14
|
+
* * the entry's `nodeId` IS that agent (single-node case)
|
|
15
|
+
* * the entry's `nodeId` starts with `<agent>/` (worker
|
|
16
|
+
* inside that agent — e.g. `dev-agent-0/audio-classifier`)
|
|
17
|
+
* Captures all the log emission paths for an addon hosted
|
|
18
|
+
* on the agent regardless of who actually emitted the line.
|
|
19
|
+
*
|
|
20
|
+
* any other key — exact match (legacy semantics).
|
|
21
|
+
*
|
|
22
|
+
* Returns `true` when ALL filter keys match (AND), `false` otherwise.
|
|
23
|
+
* `undefined` filter values are skipped.
|
|
24
|
+
*/
|
|
25
|
+
export declare function matchesLogTags(entryTags: LogTags | undefined, filterTags: Partial<LogTags>): boolean;
|
|
26
|
+
export declare class LogRingBuffer {
|
|
27
|
+
private readonly capacity;
|
|
28
|
+
private readonly buffer;
|
|
29
|
+
private head;
|
|
30
|
+
private count;
|
|
31
|
+
constructor(capacity?: number);
|
|
32
|
+
push(entry: LogEntry): void;
|
|
33
|
+
getAll(): LogEntry[];
|
|
34
|
+
query(filter: LogFilter): LogEntry[];
|
|
35
|
+
/**
|
|
36
|
+
* Drop entries that match `filter`. Returns the number of entries
|
|
37
|
+
* removed. Triggered by the UI's "Clear logs" button so the operator
|
|
38
|
+
* can wipe the historical buffer for a specific scope (per-device,
|
|
39
|
+
* per-addon, per-agent) — without it, closing and reopening the
|
|
40
|
+
* panel re-populates the cleared rows from the server's ring buffer.
|
|
41
|
+
*
|
|
42
|
+
* Filter semantics mirror `query` (same level / since / until / tags
|
|
43
|
+
* handling) — whatever you'd see listed by `query(filter)` is what
|
|
44
|
+
* gets removed.
|
|
45
|
+
*/
|
|
46
|
+
clear(filter?: LogFilter): number;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=log-ring-buffer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-ring-buffer.d.ts","sourceRoot":"","sources":["../../src/logging/log-ring-buffer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAE7E,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAA;AAE7C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,OAAO,GAAG,SAAS,EAC9B,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,GAC3B,OAAO,CAkCT;AAED,qBAAa,aAAa;IAKZ,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAJrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IACpD,OAAO,CAAC,IAAI,CAAI;IAChB,OAAO,CAAC,KAAK,CAAI;gBAEY,QAAQ,GAAE,MAAc;IAIrD,IAAI,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAQ3B,MAAM,IAAI,QAAQ,EAAE;IAWpB,KAAK,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,EAAE;IA4BpC;;;;;;;;;;OAUG;IACH,KAAK,CAAC,MAAM,GAAE,SAAc,GAAG,MAAM;CA0BtC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { IScopedLogger, LogExtras, LogTags } from '@camstack/types';
|
|
2
|
+
import { LogEntry } from './log-ring-buffer.js';
|
|
3
|
+
export type { IScopedLogger };
|
|
4
|
+
export declare class ScopedLogger implements IScopedLogger {
|
|
5
|
+
private readonly scope;
|
|
6
|
+
private readonly writeFn;
|
|
7
|
+
private readonly tags?;
|
|
8
|
+
constructor(scope: string | undefined, writeFn: (entry: LogEntry) => void, tags?: LogTags | undefined);
|
|
9
|
+
debug(message: string, extras?: LogExtras): void;
|
|
10
|
+
info(message: string, extras?: LogExtras): void;
|
|
11
|
+
warn(message: string, extras?: LogExtras): void;
|
|
12
|
+
error(message: string, extras?: LogExtras): void;
|
|
13
|
+
child(childScope: string): IScopedLogger;
|
|
14
|
+
withTags(tags: LogTags): IScopedLogger;
|
|
15
|
+
private write;
|
|
16
|
+
private mergeTags;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=scoped-logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scoped-logger.d.ts","sourceRoot":"","sources":["../../src/logging/scoped-logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAY,MAAM,sBAAsB,CAAA;AAE9D,YAAY,EAAE,aAAa,EAAE,CAAA;AAE7B,qBAAa,YAAa,YAAW,aAAa;IAE9C,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAFL,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,EAClC,IAAI,CAAC,EAAE,OAAO,YAAA;IAGjC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI;IAIhD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI;IAI/C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI;IAI/C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI;IAIhD,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa;IAIxC,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa;IAKtC,OAAO,CAAC,KAAK;IAab,OAAO,CAAC,SAAS;CAMlB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { StreamNetworkStats, ClientNetworkStats, DeviceNetworkStats, INetworkQualityTracker } from '@camstack/types';
|
|
2
|
+
export type { StreamNetworkStats, ClientNetworkStats, DeviceNetworkStats, INetworkQualityTracker, };
|
|
3
|
+
export declare class NetworkQualityTracker implements INetworkQualityTracker {
|
|
4
|
+
private readonly devices;
|
|
5
|
+
private static readonly MAX_SAMPLES;
|
|
6
|
+
reportStreamStats(deviceId: number, streamId: string, bitrateKbps: number, packetLoss?: number): void;
|
|
7
|
+
reportClientStats(deviceId: number, stats: Omit<ClientNetworkStats, 'lastUpdated'>): void;
|
|
8
|
+
getDeviceStats(deviceId: number): DeviceNetworkStats | null;
|
|
9
|
+
getAllStats(): readonly DeviceNetworkStats[];
|
|
10
|
+
private getOrCreateDevice;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=network-quality.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network-quality.d.ts","sourceRoot":"","sources":["../../src/network/network-quality.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,iBAAiB,CAAA;AAExB,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,GACvB,CAAA;AAUD,qBAAa,qBAAsB,YAAW,sBAAsB;IAClE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAGpB;IAEJ,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAK;IAExC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;IAqBrG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC,GAAG,IAAI;IAKzF,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI;IAmB3D,WAAW,IAAI,SAAS,kBAAkB,EAAE;IAS5C,OAAO,CAAC,iBAAiB;CAQ1B"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { INotificationOutput, Notification, ICapabilityRegistry } from '@camstack/types';
|
|
2
|
+
import { IScopedLogger } from '../logging/scoped-logger.js';
|
|
3
|
+
/**
|
|
4
|
+
* Central notification service that routes notifications to configured outputs.
|
|
5
|
+
* Framework-agnostic — dependencies injected via constructor.
|
|
6
|
+
*
|
|
7
|
+
* Outputs are resolved from the ICapabilityRegistry's 'notification-output'
|
|
8
|
+
* collection on each call (proxy pattern). Falls back to a local map
|
|
9
|
+
* when no registry is provided (backward compat).
|
|
10
|
+
*/
|
|
11
|
+
export declare class NotificationService {
|
|
12
|
+
private readonly logger;
|
|
13
|
+
private readonly localOutputs;
|
|
14
|
+
private readonly routing;
|
|
15
|
+
private readonly rateLimits;
|
|
16
|
+
private readonly lastSent;
|
|
17
|
+
private registry;
|
|
18
|
+
constructor(logger: IScopedLogger);
|
|
19
|
+
/** Set the registry for live output lookup. Called once during boot. */
|
|
20
|
+
setRegistry(registry: ICapabilityRegistry): void;
|
|
21
|
+
/** Resolve all outputs — prefers registry, falls back to local map */
|
|
22
|
+
private get outputs();
|
|
23
|
+
/** Register an output in the local fallback map (used when no registry is set). */
|
|
24
|
+
registerLocalOutput(output: INotificationOutput): void;
|
|
25
|
+
/** Remove an output from the local fallback map. */
|
|
26
|
+
unregisterLocalOutput(id: string): void;
|
|
27
|
+
setRouting(category: string, outputIds: string[]): void;
|
|
28
|
+
setRateLimit(category: string, minIntervalMs: number): void;
|
|
29
|
+
notify(notification: Notification): Promise<void>;
|
|
30
|
+
getOutputs(): ReadonlyArray<{
|
|
31
|
+
id: string;
|
|
32
|
+
name: string;
|
|
33
|
+
icon: string;
|
|
34
|
+
}>;
|
|
35
|
+
getRouting(): ReadonlyMap<string, string[]>;
|
|
36
|
+
getOutput(id: string): INotificationOutput | undefined;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=notification-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notification-service.d.ts","sourceRoot":"","sources":["../../src/notification/notification-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAC7F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAGhE;;;;;;;GAOG;AACH,qBAAa,mBAAmB;IAOlB,OAAO,CAAC,QAAQ,CAAC,MAAM;IANnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyC;IACtE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4B;IACvD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,QAAQ,CAAmC;gBAEtB,MAAM,EAAE,aAAa;IAElD,wEAAwE;IACxE,WAAW,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAIhD,sEAAsE;IACtE,OAAO,KAAK,OAAO,GAUlB;IAED,mFAAmF;IACnF,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAKtD,oDAAoD;IACpD,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKvC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAIvD,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAIrD,MAAM,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IA4CvD,UAAU,IAAI,aAAa,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAIvE,UAAU,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAI3C,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;CAGvD"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Toast } from '@camstack/types';
|
|
2
|
+
export type Unsubscribe = () => void;
|
|
3
|
+
/**
|
|
4
|
+
* Service for broadcasting toast notifications to connected UI clients.
|
|
5
|
+
* Framework-agnostic — integrates with tRPC subscriptions via subscribe().
|
|
6
|
+
*/
|
|
7
|
+
export declare class ToastService {
|
|
8
|
+
private readonly listeners;
|
|
9
|
+
/**
|
|
10
|
+
* Subscribe to toast events for a specific user.
|
|
11
|
+
* Returns an unsubscribe function.
|
|
12
|
+
*/
|
|
13
|
+
subscribe(connectionId: string, userId: string, callback: (toast: Toast) => void): Unsubscribe;
|
|
14
|
+
/**
|
|
15
|
+
* Broadcast a toast to all connected clients.
|
|
16
|
+
*/
|
|
17
|
+
broadcast(toast: Toast): void;
|
|
18
|
+
/**
|
|
19
|
+
* Send a toast to a specific user's connections only.
|
|
20
|
+
*/
|
|
21
|
+
sendToUser(userId: string, toast: Toast): void;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=toast-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toast-service.d.ts","sourceRoot":"","sources":["../../src/notification/toast-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAE5C,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAA;AAOpC;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmC;IAE7D;;;OAGG;IACH,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,WAAW;IAO9F;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAM7B;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;CAO/C"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { IAddonResolver, IAddonCaller, IEngineManager } from '@camstack/types';
|
|
2
|
+
/**
|
|
3
|
+
* Adapter that wraps an IEngineManager + addonConfigs as an IAddonResolver.
|
|
4
|
+
*
|
|
5
|
+
* Used for backwards compatibility — the in-process AddonEngineManager
|
|
6
|
+
* still uses the old getOrCreateEngine(addonId, globalConfig, override) API.
|
|
7
|
+
* This adapter bridges it to the new resolve(addonId, config) interface.
|
|
8
|
+
*/
|
|
9
|
+
export declare class EngineManagerResolver implements IAddonResolver {
|
|
10
|
+
private readonly engineManager;
|
|
11
|
+
private readonly addonConfigs;
|
|
12
|
+
constructor(engineManager: IEngineManager, addonConfigs: Map<string, Record<string, unknown>>);
|
|
13
|
+
resolve(addonId: string, config: Record<string, unknown>): Promise<IAddonCaller>;
|
|
14
|
+
shutdownAll(): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=engine-manager-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine-manager-resolver.d.ts","sourceRoot":"","sources":["../../src/pipeline/engine-manager-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,cAAc,EAIf,MAAM,iBAAiB,CAAA;AAExB;;;;;;GAMG;AACH,qBAAa,qBAAsB,YAAW,cAAc;IAExD,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY;gBADZ,aAAa,EAAE,cAAc,EAC7B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAG/D,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IAWhF,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CAGnC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { FrameInput, PipelineConfig, PipelineResult, IAddonResolver } from '@camstack/types';
|
|
2
|
+
export declare class PipelineRunner {
|
|
3
|
+
private readonly addonResolver;
|
|
4
|
+
constructor(addonResolver: IAddonResolver);
|
|
5
|
+
run(frame: FrameInput, config: PipelineConfig): Promise<PipelineResult>;
|
|
6
|
+
private executeNode;
|
|
7
|
+
private executeChildren;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=pipeline-runner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline-runner.d.ts","sourceRoot":"","sources":["../../src/pipeline/pipeline-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EAEV,cAAc,EAEd,cAAc,EAId,cAAc,EAEf,MAAM,iBAAiB,CAAA;AAIxB,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,cAAc;IAG1C,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;YAsB/D,WAAW;YAqFX,eAAe;CA0B9B"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { PipelineConfig, ValidationIssue, ValidationResult } from '@camstack/types';
|
|
2
|
+
export type { ValidationIssue, ValidationResult };
|
|
3
|
+
/**
|
|
4
|
+
* Check if a pipeline step is available in the system.
|
|
5
|
+
* Implementations should check the capability registry for `pipeline-step:{stepId}`.
|
|
6
|
+
*/
|
|
7
|
+
export type StepExistsFn = (stepId: string) => boolean;
|
|
8
|
+
export declare class PipelineValidator {
|
|
9
|
+
private readonly stepExists;
|
|
10
|
+
constructor(stepExists: StepExistsFn);
|
|
11
|
+
validate(config: PipelineConfig): ValidationResult;
|
|
12
|
+
private validateNode;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=pipeline-validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline-validator.d.ts","sourceRoot":"","sources":["../../src/pipeline/pipeline-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAgB,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAEtG,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAA;AAEjD;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAA;AAEtD,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,YAAY;IAErD,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,gBAAgB;IAmBlD,OAAO,CAAC,YAAY;CAqBrB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface PidStats {
|
|
2
|
+
cpu: number;
|
|
3
|
+
memory: number;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Get CPU% and memory RSS for one or more PIDs.
|
|
7
|
+
* Returns a map of pid → stats. Missing/dead PIDs are silently omitted.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getPidStats(pids: number | readonly number[]): Promise<ReadonlyMap<number, PidStats>>;
|
|
10
|
+
/** Get CPU% and memory RSS for a single PID. Returns null if dead. */
|
|
11
|
+
export declare function getSinglePidStats(pid: number): Promise<PidStats | null>;
|
|
12
|
+
//# sourceMappingURL=resource-monitor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource-monitor.d.ts","sourceRoot":"","sources":["../../src/process/resource-monitor.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;CACf;AAgCD;;;GAGG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAU1G;AAED,sEAAsE;AACtE,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAG7E"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IPythonEnvironment, PythonProbeResult, PythonEnvReady } from '@camstack/types';
|
|
2
|
+
import { ChildProcess } from 'node:child_process';
|
|
3
|
+
export declare class PythonEnvManager implements IPythonEnvironment {
|
|
4
|
+
private venvPath;
|
|
5
|
+
private cachedProbe;
|
|
6
|
+
constructor(dataDir: string);
|
|
7
|
+
probe(): Promise<PythonProbeResult>;
|
|
8
|
+
ensure(options: {
|
|
9
|
+
packages: readonly string[];
|
|
10
|
+
}): Promise<PythonEnvReady>;
|
|
11
|
+
spawn(script: string, args: readonly string[]): ChildProcess;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=python-env-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"python-env-manager.d.ts","sourceRoot":"","sources":["../../src/python/python-env-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAE5F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAOtD,qBAAa,gBAAiB,YAAW,kBAAkB;IACzD,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,WAAW,CAAiC;gBAExC,OAAO,EAAE,MAAM;IAIrB,KAAK,IAAI,OAAO,CAAC,iBAAiB,CAAC;IA6BnC,MAAM,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IA2B/E,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,YAAY;CAO7D"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ReplResult } from '@camstack/types';
|
|
2
|
+
export interface ReplScope {
|
|
3
|
+
readonly type: 'system' | 'provider' | 'device' | 'addon';
|
|
4
|
+
readonly providerId?: string;
|
|
5
|
+
readonly deviceId?: number;
|
|
6
|
+
readonly addonId?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface ReplSessionContext {
|
|
9
|
+
readonly scope: ReplScope;
|
|
10
|
+
/** Pre-populated variables available in the REPL session */
|
|
11
|
+
readonly variables: Record<string, unknown>;
|
|
12
|
+
}
|
|
13
|
+
export type { ReplResult };
|
|
14
|
+
export interface IReplEngine {
|
|
15
|
+
execute(code: string, context: ReplSessionContext): Promise<ReplResult>;
|
|
16
|
+
getCompletions(partial: string, context: ReplSessionContext): Promise<string[]>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Context provider that the server kernel implements.
|
|
20
|
+
* The REPL engine calls this to build the sandbox for each scope type.
|
|
21
|
+
*
|
|
22
|
+
* Methods may return a Promise so the kernel can warm up async
|
|
23
|
+
* resources (e.g. `SystemManager.init()`) before exposing them — the
|
|
24
|
+
* engine awaits each before evaluating user code.
|
|
25
|
+
*/
|
|
26
|
+
export interface IReplContextProvider {
|
|
27
|
+
getSystemSandbox(): Record<string, unknown> | Promise<Record<string, unknown>>;
|
|
28
|
+
getDeviceSandbox(deviceId: number): Record<string, unknown> | Promise<Record<string, unknown>>;
|
|
29
|
+
getProviderSandbox(providerId: string): Record<string, unknown> | Promise<Record<string, unknown>>;
|
|
30
|
+
getAddonSandbox(addonId: string): Record<string, unknown> | Promise<Record<string, unknown>>;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=interfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/repl/interfaces.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAA;IACzD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IACzB,4DAA4D;IAC5D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC5C;AAED,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,YAAY,EAAE,UAAU,EAAE,CAAA;AAE1B,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACvE,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;CAChF;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAC9E,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAC9F,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAClG,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAC7F"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IReplEngine, IReplContextProvider, ReplSessionContext, ReplResult } from './interfaces.js';
|
|
2
|
+
export declare class ReplEngine implements IReplEngine {
|
|
3
|
+
private readonly contextProvider;
|
|
4
|
+
constructor(contextProvider: IReplContextProvider);
|
|
5
|
+
execute(code: string, context: ReplSessionContext): Promise<ReplResult>;
|
|
6
|
+
getCompletions(partial: string, context: ReplSessionContext): Promise<string[]>;
|
|
7
|
+
private buildSandbox;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=repl-engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repl-engine.d.ts","sourceRoot":"","sources":["../../src/repl/repl-engine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EAClB,UAAU,EACX,MAAM,iBAAiB,CAAA;AAKxB,qBAAa,UAAW,YAAW,WAAW;IAE1C,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,EAAE,oBAAoB;IAGlD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC;IAoDvE,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAgCvE,YAAY;CA6C3B"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
const require_chunk = require("./chunk-C13QxCFV.js");
|
|
2
|
+
let node_child_process = require("node:child_process");
|
|
3
|
+
//#region src/process/resource-monitor.ts
|
|
4
|
+
var resource_monitor_exports = /* @__PURE__ */ require_chunk.__exportAll({
|
|
5
|
+
getPidStats: () => getPidStats,
|
|
6
|
+
getSinglePidStats: () => getSinglePidStats
|
|
7
|
+
});
|
|
8
|
+
function execPsForPids(pids) {
|
|
9
|
+
return new Promise((resolve, reject) => {
|
|
10
|
+
(0, node_child_process.execFile)("ps", [
|
|
11
|
+
"-o",
|
|
12
|
+
"pid=,pcpu=,rss=",
|
|
13
|
+
"-p",
|
|
14
|
+
pids.join(",")
|
|
15
|
+
], { timeout: 5e3 }, (err, stdout) => {
|
|
16
|
+
if (err) return reject(err);
|
|
17
|
+
resolve(stdout);
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
function parsePsOutput(stdout) {
|
|
22
|
+
const result = /* @__PURE__ */ new Map();
|
|
23
|
+
for (const line of stdout.trim().split("\n")) {
|
|
24
|
+
const trimmed = line.trim();
|
|
25
|
+
if (!trimmed) continue;
|
|
26
|
+
const parts = trimmed.split(/\s+/);
|
|
27
|
+
if (parts.length < 3) continue;
|
|
28
|
+
const pid = parseInt(parts[0], 10);
|
|
29
|
+
const cpu = parseFloat(parts[1]);
|
|
30
|
+
const rssKb = parseInt(parts[2], 10);
|
|
31
|
+
if (isNaN(pid) || isNaN(cpu) || isNaN(rssKb)) continue;
|
|
32
|
+
result.set(pid, {
|
|
33
|
+
cpu: Math.round(cpu * 10) / 10,
|
|
34
|
+
memory: rssKb * 1024
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Get CPU% and memory RSS for one or more PIDs.
|
|
41
|
+
* Returns a map of pid → stats. Missing/dead PIDs are silently omitted.
|
|
42
|
+
*/
|
|
43
|
+
async function getPidStats(pids) {
|
|
44
|
+
const pidArray = typeof pids === "number" ? [pids] : [...pids];
|
|
45
|
+
if (pidArray.length === 0) return /* @__PURE__ */ new Map();
|
|
46
|
+
try {
|
|
47
|
+
return parsePsOutput(await execPsForPids(pidArray));
|
|
48
|
+
} catch {
|
|
49
|
+
return /* @__PURE__ */ new Map();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/** Get CPU% and memory RSS for a single PID. Returns null if dead. */
|
|
53
|
+
async function getSinglePidStats(pid) {
|
|
54
|
+
return (await getPidStats([pid])).get(pid) ?? null;
|
|
55
|
+
}
|
|
56
|
+
//#endregion
|
|
57
|
+
Object.defineProperty(exports, "getPidStats", {
|
|
58
|
+
enumerable: true,
|
|
59
|
+
get: function() {
|
|
60
|
+
return getPidStats;
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
Object.defineProperty(exports, "getSinglePidStats", {
|
|
64
|
+
enumerable: true,
|
|
65
|
+
get: function() {
|
|
66
|
+
return getSinglePidStats;
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
Object.defineProperty(exports, "resource_monitor_exports", {
|
|
70
|
+
enumerable: true,
|
|
71
|
+
get: function() {
|
|
72
|
+
return resource_monitor_exports;
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
//# sourceMappingURL=resource-monitor-CmuWlmap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource-monitor-CmuWlmap.js","names":[],"sources":["../src/process/resource-monitor.ts"],"sourcesContent":["import { execFile } from 'node:child_process'\n\n// ===========================================================================\n// Per-PID resource usage — zero dependencies, uses ps (macOS/Linux).\n//\n// These are process-management utilities used by:\n// - native-metrics-provider.ts (system metrics collection)\n// - addon-registry.service.ts (addon process stats)\n//\n// System-wide metrics (CPU, memory, disk, network, GPU, temp, PSI)\n// have moved to @camstack/addon-metrics-native via the IMetricsProvider\n// interface defined in @camstack/types.\n// ===========================================================================\n\nexport interface PidStats {\n cpu: number // 0–100 percentage\n memory: number // RSS in bytes\n}\n\nfunction execPsForPids(pids: readonly number[]): Promise<string> {\n return new Promise((resolve, reject) => {\n execFile('ps', ['-o', 'pid=,pcpu=,rss=', '-p', pids.join(',')], {\n timeout: 5000,\n }, (err, stdout) => {\n if (err) return reject(err)\n resolve(stdout)\n })\n })\n}\n\nfunction parsePsOutput(stdout: string): ReadonlyMap<number, PidStats> {\n const result = new Map<number, PidStats>()\n for (const line of stdout.trim().split('\\n')) {\n const trimmed = line.trim()\n if (!trimmed) continue\n const parts = trimmed.split(/\\s+/)\n if (parts.length < 3) continue\n const pid = parseInt(parts[0]!, 10)\n const cpu = parseFloat(parts[1]!)\n const rssKb = parseInt(parts[2]!, 10)\n if (isNaN(pid) || isNaN(cpu) || isNaN(rssKb)) continue\n result.set(pid, {\n cpu: Math.round(cpu * 10) / 10,\n memory: rssKb * 1024, // KB → bytes\n })\n }\n return result\n}\n\n/**\n * Get CPU% and memory RSS for one or more PIDs.\n * Returns a map of pid → stats. Missing/dead PIDs are silently omitted.\n */\nexport async function getPidStats(pids: number | readonly number[]): Promise<ReadonlyMap<number, PidStats>> {\n const pidArray = typeof pids === 'number' ? [pids] : [...pids]\n if (pidArray.length === 0) return new Map()\n\n try {\n const stdout = await execPsForPids(pidArray)\n return parsePsOutput(stdout)\n } catch {\n return new Map()\n }\n}\n\n/** Get CPU% and memory RSS for a single PID. Returns null if dead. */\nexport async function getSinglePidStats(pid: number): Promise<PidStats | null> {\n const stats = await getPidStats([pid])\n return stats.get(pid) ?? null\n}\n"],"mappings":";;;;;;;AAmBA,SAAS,cAAc,MAA0C;CAC/D,OAAO,IAAI,SAAS,SAAS,WAAW;EACtC,CAAA,GAAA,mBAAA,UAAS,MAAM;GAAC;GAAM;GAAmB;GAAM,KAAK,KAAK,IAAI;GAAC,EAAE,EAC9D,SAAS,KACV,GAAG,KAAK,WAAW;GAClB,IAAI,KAAK,OAAO,OAAO,IAAI;GAC3B,QAAQ,OAAO;IACf;GACF;;AAGJ,SAAS,cAAc,QAA+C;CACpE,MAAM,yBAAS,IAAI,KAAuB;CAC1C,KAAK,MAAM,QAAQ,OAAO,MAAM,CAAC,MAAM,KAAK,EAAE;EAC5C,MAAM,UAAU,KAAK,MAAM;EAC3B,IAAI,CAAC,SAAS;EACd,MAAM,QAAQ,QAAQ,MAAM,MAAM;EAClC,IAAI,MAAM,SAAS,GAAG;EACtB,MAAM,MAAM,SAAS,MAAM,IAAK,GAAG;EACnC,MAAM,MAAM,WAAW,MAAM,GAAI;EACjC,MAAM,QAAQ,SAAS,MAAM,IAAK,GAAG;EACrC,IAAI,MAAM,IAAI,IAAI,MAAM,IAAI,IAAI,MAAM,MAAM,EAAE;EAC9C,OAAO,IAAI,KAAK;GACd,KAAK,KAAK,MAAM,MAAM,GAAG,GAAG;GAC5B,QAAQ,QAAQ;GACjB,CAAC;;CAEJ,OAAO;;;;;;AAOT,eAAsB,YAAY,MAA0E;CAC1G,MAAM,WAAW,OAAO,SAAS,WAAW,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK;CAC9D,IAAI,SAAS,WAAW,GAAG,uBAAO,IAAI,KAAK;CAE3C,IAAI;EAEF,OAAO,cAAc,MADA,cAAc,SAAS,CAChB;SACtB;EACN,uBAAO,IAAI,KAAK;;;;AAKpB,eAAsB,kBAAkB,KAAuC;CAE7E,QAAO,MADa,YAAY,CAAC,IAAI,CAAC,EACzB,IAAI,IAAI,IAAI"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { n as __exportAll } from "./chunk-hT5z_Zn9.mjs";
|
|
2
|
+
import { execFile } from "node:child_process";
|
|
3
|
+
//#region src/process/resource-monitor.ts
|
|
4
|
+
var resource_monitor_exports = /* @__PURE__ */ __exportAll({
|
|
5
|
+
getPidStats: () => getPidStats,
|
|
6
|
+
getSinglePidStats: () => getSinglePidStats
|
|
7
|
+
});
|
|
8
|
+
function execPsForPids(pids) {
|
|
9
|
+
return new Promise((resolve, reject) => {
|
|
10
|
+
execFile("ps", [
|
|
11
|
+
"-o",
|
|
12
|
+
"pid=,pcpu=,rss=",
|
|
13
|
+
"-p",
|
|
14
|
+
pids.join(",")
|
|
15
|
+
], { timeout: 5e3 }, (err, stdout) => {
|
|
16
|
+
if (err) return reject(err);
|
|
17
|
+
resolve(stdout);
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
function parsePsOutput(stdout) {
|
|
22
|
+
const result = /* @__PURE__ */ new Map();
|
|
23
|
+
for (const line of stdout.trim().split("\n")) {
|
|
24
|
+
const trimmed = line.trim();
|
|
25
|
+
if (!trimmed) continue;
|
|
26
|
+
const parts = trimmed.split(/\s+/);
|
|
27
|
+
if (parts.length < 3) continue;
|
|
28
|
+
const pid = parseInt(parts[0], 10);
|
|
29
|
+
const cpu = parseFloat(parts[1]);
|
|
30
|
+
const rssKb = parseInt(parts[2], 10);
|
|
31
|
+
if (isNaN(pid) || isNaN(cpu) || isNaN(rssKb)) continue;
|
|
32
|
+
result.set(pid, {
|
|
33
|
+
cpu: Math.round(cpu * 10) / 10,
|
|
34
|
+
memory: rssKb * 1024
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Get CPU% and memory RSS for one or more PIDs.
|
|
41
|
+
* Returns a map of pid → stats. Missing/dead PIDs are silently omitted.
|
|
42
|
+
*/
|
|
43
|
+
async function getPidStats(pids) {
|
|
44
|
+
const pidArray = typeof pids === "number" ? [pids] : [...pids];
|
|
45
|
+
if (pidArray.length === 0) return /* @__PURE__ */ new Map();
|
|
46
|
+
try {
|
|
47
|
+
return parsePsOutput(await execPsForPids(pidArray));
|
|
48
|
+
} catch {
|
|
49
|
+
return /* @__PURE__ */ new Map();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/** Get CPU% and memory RSS for a single PID. Returns null if dead. */
|
|
53
|
+
async function getSinglePidStats(pid) {
|
|
54
|
+
return (await getPidStats([pid])).get(pid) ?? null;
|
|
55
|
+
}
|
|
56
|
+
//#endregion
|
|
57
|
+
export { getSinglePidStats as n, resource_monitor_exports as r, getPidStats as t };
|
|
58
|
+
|
|
59
|
+
//# sourceMappingURL=resource-monitor-DcQdKGYU.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource-monitor-DcQdKGYU.mjs","names":[],"sources":["../src/process/resource-monitor.ts"],"sourcesContent":["import { execFile } from 'node:child_process'\n\n// ===========================================================================\n// Per-PID resource usage — zero dependencies, uses ps (macOS/Linux).\n//\n// These are process-management utilities used by:\n// - native-metrics-provider.ts (system metrics collection)\n// - addon-registry.service.ts (addon process stats)\n//\n// System-wide metrics (CPU, memory, disk, network, GPU, temp, PSI)\n// have moved to @camstack/addon-metrics-native via the IMetricsProvider\n// interface defined in @camstack/types.\n// ===========================================================================\n\nexport interface PidStats {\n cpu: number // 0–100 percentage\n memory: number // RSS in bytes\n}\n\nfunction execPsForPids(pids: readonly number[]): Promise<string> {\n return new Promise((resolve, reject) => {\n execFile('ps', ['-o', 'pid=,pcpu=,rss=', '-p', pids.join(',')], {\n timeout: 5000,\n }, (err, stdout) => {\n if (err) return reject(err)\n resolve(stdout)\n })\n })\n}\n\nfunction parsePsOutput(stdout: string): ReadonlyMap<number, PidStats> {\n const result = new Map<number, PidStats>()\n for (const line of stdout.trim().split('\\n')) {\n const trimmed = line.trim()\n if (!trimmed) continue\n const parts = trimmed.split(/\\s+/)\n if (parts.length < 3) continue\n const pid = parseInt(parts[0]!, 10)\n const cpu = parseFloat(parts[1]!)\n const rssKb = parseInt(parts[2]!, 10)\n if (isNaN(pid) || isNaN(cpu) || isNaN(rssKb)) continue\n result.set(pid, {\n cpu: Math.round(cpu * 10) / 10,\n memory: rssKb * 1024, // KB → bytes\n })\n }\n return result\n}\n\n/**\n * Get CPU% and memory RSS for one or more PIDs.\n * Returns a map of pid → stats. Missing/dead PIDs are silently omitted.\n */\nexport async function getPidStats(pids: number | readonly number[]): Promise<ReadonlyMap<number, PidStats>> {\n const pidArray = typeof pids === 'number' ? [pids] : [...pids]\n if (pidArray.length === 0) return new Map()\n\n try {\n const stdout = await execPsForPids(pidArray)\n return parsePsOutput(stdout)\n } catch {\n return new Map()\n }\n}\n\n/** Get CPU% and memory RSS for a single PID. Returns null if dead. */\nexport async function getSinglePidStats(pid: number): Promise<PidStats | null> {\n const stats = await getPidStats([pid])\n return stats.get(pid) ?? null\n}\n"],"mappings":";;;;;;;AAmBA,SAAS,cAAc,MAA0C;CAC/D,OAAO,IAAI,SAAS,SAAS,WAAW;EACtC,SAAS,MAAM;GAAC;GAAM;GAAmB;GAAM,KAAK,KAAK,IAAI;GAAC,EAAE,EAC9D,SAAS,KACV,GAAG,KAAK,WAAW;GAClB,IAAI,KAAK,OAAO,OAAO,IAAI;GAC3B,QAAQ,OAAO;IACf;GACF;;AAGJ,SAAS,cAAc,QAA+C;CACpE,MAAM,yBAAS,IAAI,KAAuB;CAC1C,KAAK,MAAM,QAAQ,OAAO,MAAM,CAAC,MAAM,KAAK,EAAE;EAC5C,MAAM,UAAU,KAAK,MAAM;EAC3B,IAAI,CAAC,SAAS;EACd,MAAM,QAAQ,QAAQ,MAAM,MAAM;EAClC,IAAI,MAAM,SAAS,GAAG;EACtB,MAAM,MAAM,SAAS,MAAM,IAAK,GAAG;EACnC,MAAM,MAAM,WAAW,MAAM,GAAI;EACjC,MAAM,QAAQ,SAAS,MAAM,IAAK,GAAG;EACrC,IAAI,MAAM,IAAI,IAAI,MAAM,IAAI,IAAI,MAAM,MAAM,EAAE;EAC9C,OAAO,IAAI,KAAK;GACd,KAAK,KAAK,MAAM,MAAM,GAAG,GAAG;GAC5B,QAAQ,QAAQ;GACjB,CAAC;;CAEJ,OAAO;;;;;;AAOT,eAAsB,YAAY,MAA0E;CAC1G,MAAM,WAAW,OAAO,SAAS,WAAW,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK;CAC9D,IAAI,SAAS,WAAW,GAAG,uBAAO,IAAI,KAAK;CAE3C,IAAI;EAEF,OAAO,cAAc,MADA,cAAc,SAAS,CAChB;SACtB;EACN,uBAAO,IAAI,KAAK;;;;AAKpB,eAAsB,kBAAkB,KAAuC;CAE7E,QAAO,MADa,YAAY,CAAC,IAAI,CAAC,EACzB,IAAI,IAAI,IAAI"}
|