xypriss 1.0.0 → 1.0.1
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/README.md +2 -0
- package/dist/cjs/ServerFactory.js +195 -0
- package/dist/cjs/ServerFactory.js.map +1 -0
- package/dist/cjs/cache/CacheFactory.js +406 -0
- package/dist/cjs/cache/CacheFactory.js.map +1 -0
- package/dist/cjs/cache/SecureCacheAdapter.js +1227 -0
- package/dist/cjs/cache/SecureCacheAdapter.js.map +1 -0
- package/dist/cjs/cluster/cluster-manager.js +1011 -0
- package/dist/cjs/cluster/cluster-manager.js.map +1 -0
- package/dist/cjs/cluster/index.js +343 -0
- package/dist/cjs/cluster/index.js.map +1 -0
- package/dist/cjs/cluster/modules/AutoScaler.js +532 -0
- package/dist/cjs/cluster/modules/AutoScaler.js.map +1 -0
- package/dist/cjs/cluster/modules/ClusterFactory.js +518 -0
- package/dist/cjs/cluster/modules/ClusterFactory.js.map +1 -0
- package/dist/cjs/cluster/modules/ClusterPersistenceManager.js +436 -0
- package/dist/cjs/cluster/modules/ClusterPersistenceManager.js.map +1 -0
- package/dist/cjs/cluster/modules/HealthMonitor.js +461 -0
- package/dist/cjs/cluster/modules/HealthMonitor.js.map +1 -0
- package/dist/cjs/cluster/modules/IPCManager.js +781 -0
- package/dist/cjs/cluster/modules/IPCManager.js.map +1 -0
- package/dist/cjs/cluster/modules/LoadBalancer.js +1123 -0
- package/dist/cjs/cluster/modules/LoadBalancer.js.map +1 -0
- package/dist/cjs/cluster/modules/MetricsCollector.js +559 -0
- package/dist/cjs/cluster/modules/MetricsCollector.js.map +1 -0
- package/dist/cjs/cluster/modules/WorkerManager.js +1187 -0
- package/dist/cjs/cluster/modules/WorkerManager.js.map +1 -0
- package/dist/cjs/encryption/EncryptionService.js +399 -0
- package/dist/cjs/encryption/EncryptionService.js.map +1 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/middleware/safe-json-middleware.js +159 -0
- package/dist/cjs/middleware/safe-json-middleware.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/algorithms/hash-algorithms.js +727 -0
- package/dist/cjs/mods/toolkit/src/algorithms/hash-algorithms.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/algorithms/registry.js +83 -0
- package/dist/cjs/mods/toolkit/src/algorithms/registry.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/attestation.js +1065 -0
- package/dist/cjs/mods/toolkit/src/components/attestation.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/cache/FastLRU.js +323 -0
- package/dist/cjs/mods/toolkit/src/components/cache/FastLRU.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/cache/UFSIMC.js +1131 -0
- package/dist/cjs/mods/toolkit/src/components/cache/UFSIMC.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/cache/cacheSys.js +624 -0
- package/dist/cjs/mods/toolkit/src/components/cache/cacheSys.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/cache/cacheSys.utils.js +136 -0
- package/dist/cjs/mods/toolkit/src/components/cache/cacheSys.utils.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/cache/config/cache.config.js +39 -0
- package/dist/cjs/mods/toolkit/src/components/cache/config/cache.config.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/cache/index.js +459 -0
- package/dist/cjs/mods/toolkit/src/components/cache/index.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/cache/useCache.js +243 -0
- package/dist/cjs/mods/toolkit/src/components/cache/useCache.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/canary-tokens.js +351 -0
- package/dist/cjs/mods/toolkit/src/components/canary-tokens.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/entropy-augmentation.js +478 -0
- package/dist/cjs/mods/toolkit/src/components/entropy-augmentation.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/UFA/ultra-fast-allocator.js +338 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/UFA/ultra-fast-allocator.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/UFA/ultra-fast-cache.js +536 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/UFA/ultra-fast-cache.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/UFA/ultra-fast-engine.js +631 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/UFA/ultra-fast-engine.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/const/exec.const.js +18 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/const/exec.const.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/core/fortified-config.js +356 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/core/fortified-config.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/core/fortified-function-core.js +520 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/core/fortified-function-core.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/core/fortified-logger.js +246 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/core/fortified-logger.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/api-manager.js +189 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/api-manager.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/cache-manager.js +107 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/cache-manager.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/execution-context.js +105 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/execution-context.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/execution-engine.js +127 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/execution-engine.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/execution-router.js +93 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/execution-router.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/memory-manager.js +147 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/memory-manager.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/security-manager.js +102 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/security-manager.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/stats-manager.js +159 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/stats-manager.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/timing-manager.js +125 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/timing-manager.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/engines/analytics-engine.js +370 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/engines/analytics-engine.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/engines/execution-engine.js +402 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/engines/execution-engine.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/index.js +172 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/index.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/performance/performance-monitor.js +240 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/performance/performance-monitor.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/performance/performance-timer.js +188 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/performance/performance-timer.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/security/security-handler.js +253 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/security/security-handler.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/serializer/safe-serializer.js +350 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/serializer/safe-serializer.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/smart-cache.js +693 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/smart-cache.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/types/types.js +16 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/types/types.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/utils/utils.js +68 -0
- package/dist/cjs/mods/toolkit/src/components/fortified-function/utils/utils.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/memory-hard.js +922 -0
- package/dist/cjs/mods/toolkit/src/components/memory-hard.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/post-quantum.js +323 -0
- package/dist/cjs/mods/toolkit/src/components/post-quantum.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/runtime-verification.js +645 -0
- package/dist/cjs/mods/toolkit/src/components/runtime-verification.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/secure-array/core/secure-array-core.js +1572 -0
- package/dist/cjs/mods/toolkit/src/components/secure-array/core/secure-array-core.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/secure-array/crypto/ArrayCryptoHandler.js +330 -0
- package/dist/cjs/mods/toolkit/src/components/secure-array/crypto/ArrayCryptoHandler.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/secure-array/events/event-manager.js +270 -0
- package/dist/cjs/mods/toolkit/src/components/secure-array/events/event-manager.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/secure-array/index.js +66 -0
- package/dist/cjs/mods/toolkit/src/components/secure-array/index.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/secure-array/metadata/metadata-manager.js +331 -0
- package/dist/cjs/mods/toolkit/src/components/secure-array/metadata/metadata-manager.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/secure-array/serialization/ArraySerializationHandler.js +390 -0
- package/dist/cjs/mods/toolkit/src/components/secure-array/serialization/ArraySerializationHandler.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/secure-array/types/index.js +87 -0
- package/dist/cjs/mods/toolkit/src/components/secure-array/types/index.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/secure-array/utils/id-generator.js +80 -0
- package/dist/cjs/mods/toolkit/src/components/secure-array/utils/id-generator.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/secure-array/utils/validation.js +275 -0
- package/dist/cjs/mods/toolkit/src/components/secure-array/utils/validation.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/secure-memory.js +906 -0
- package/dist/cjs/mods/toolkit/src/components/secure-memory.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/secure-object/core/secure-object-core.js +1605 -0
- package/dist/cjs/mods/toolkit/src/components/secure-object/core/secure-object-core.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/secure-object/encryption/crypto-handler.js +362 -0
- package/dist/cjs/mods/toolkit/src/components/secure-object/encryption/crypto-handler.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/secure-object/encryption/sensitive-keys.js +206 -0
- package/dist/cjs/mods/toolkit/src/components/secure-object/encryption/sensitive-keys.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/secure-object/events/event-manager.js +197 -0
- package/dist/cjs/mods/toolkit/src/components/secure-object/events/event-manager.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/secure-object/index.js +67 -0
- package/dist/cjs/mods/toolkit/src/components/secure-object/index.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/secure-object/metadata/metadata-manager.js +183 -0
- package/dist/cjs/mods/toolkit/src/components/secure-object/metadata/metadata-manager.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/secure-object/serialization/serialization-handler.js +197 -0
- package/dist/cjs/mods/toolkit/src/components/secure-object/serialization/serialization-handler.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/secure-object/utils/id-generator.js +64 -0
- package/dist/cjs/mods/toolkit/src/components/secure-object/utils/id-generator.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/secure-object/utils/validation.js +239 -0
- package/dist/cjs/mods/toolkit/src/components/secure-object/utils/validation.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/secure-serialization.js +772 -0
- package/dist/cjs/mods/toolkit/src/components/secure-serialization.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/secure-string/advanced/entropy-analyzer.js +308 -0
- package/dist/cjs/mods/toolkit/src/components/secure-string/advanced/entropy-analyzer.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/secure-string/advanced/performance-monitor.js +335 -0
- package/dist/cjs/mods/toolkit/src/components/secure-string/advanced/performance-monitor.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/secure-string/advanced/quantum-safe.js +245 -0
- package/dist/cjs/mods/toolkit/src/components/secure-string/advanced/quantum-safe.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/secure-string/buffer/buffer-manager.js +205 -0
- package/dist/cjs/mods/toolkit/src/components/secure-string/buffer/buffer-manager.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/secure-string/core/secure-string-core.js +788 -0
- package/dist/cjs/mods/toolkit/src/components/secure-string/core/secure-string-core.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/secure-string/crypto/crypto-operations.js +319 -0
- package/dist/cjs/mods/toolkit/src/components/secure-string/crypto/crypto-operations.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/secure-string/operations/comparison-operations.js +221 -0
- package/dist/cjs/mods/toolkit/src/components/secure-string/operations/comparison-operations.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/secure-string/operations/string-operations.js +234 -0
- package/dist/cjs/mods/toolkit/src/components/secure-string/operations/string-operations.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/secure-string/types/index.js +41 -0
- package/dist/cjs/mods/toolkit/src/components/secure-string/types/index.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/secure-string/validation/string-validator.js +334 -0
- package/dist/cjs/mods/toolkit/src/components/secure-string/validation/string-validator.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/side-channel.js +146 -0
- package/dist/cjs/mods/toolkit/src/components/side-channel.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/components/tamper-evident-logging.js +391 -0
- package/dist/cjs/mods/toolkit/src/components/tamper-evident-logging.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/const/buffer.const.js +15 -0
- package/dist/cjs/mods/toolkit/src/const/buffer.const.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/core/crypto.js +722 -0
- package/dist/cjs/mods/toolkit/src/core/crypto.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/core/hash/hash-advanced.js +388 -0
- package/dist/cjs/mods/toolkit/src/core/hash/hash-advanced.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/core/hash/hash-core.js +376 -0
- package/dist/cjs/mods/toolkit/src/core/hash/hash-core.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/core/hash/hash-entropy.js +307 -0
- package/dist/cjs/mods/toolkit/src/core/hash/hash-entropy.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/core/hash/hash-security.js +372 -0
- package/dist/cjs/mods/toolkit/src/core/hash/hash-security.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/core/hash/hash-types.js +16 -0
- package/dist/cjs/mods/toolkit/src/core/hash/hash-types.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/core/hash/hash-utils.js +328 -0
- package/dist/cjs/mods/toolkit/src/core/hash/hash-utils.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/core/hash/hash-validator.js +312 -0
- package/dist/cjs/mods/toolkit/src/core/hash/hash-validator.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/core/hash.js +25 -0
- package/dist/cjs/mods/toolkit/src/core/hash.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/core/keys/algorithms/mods/Argon2Algo.js +135 -0
- package/dist/cjs/mods/toolkit/src/core/keys/algorithms/mods/Argon2Algo.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/core/keys/algorithms/mods/PBKDF2Algo.js +293 -0
- package/dist/cjs/mods/toolkit/src/core/keys/algorithms/mods/PBKDF2Algo.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/core/keys/algorithms/mods/ScryptAlgo.js +317 -0
- package/dist/cjs/mods/toolkit/src/core/keys/algorithms/mods/ScryptAlgo.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/core/keys/keys-core.js +201 -0
- package/dist/cjs/mods/toolkit/src/core/keys/keys-core.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/core/keys/keys-logger.js +234 -0
- package/dist/cjs/mods/toolkit/src/core/keys/keys-logger.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/core/keys/keys-types.js +65 -0
- package/dist/cjs/mods/toolkit/src/core/keys/keys-types.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/core/keys/keys-utils.js +322 -0
- package/dist/cjs/mods/toolkit/src/core/keys/keys-utils.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/core/keys.js +136 -0
- package/dist/cjs/mods/toolkit/src/core/keys.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/core/password/index.js +122 -0
- package/dist/cjs/mods/toolkit/src/core/password/index.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/core/password/password-algorithms.js +397 -0
- package/dist/cjs/mods/toolkit/src/core/password/password-algorithms.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/core/password/password-core.js +294 -0
- package/dist/cjs/mods/toolkit/src/core/password/password-core.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/core/password/password-generator.js +365 -0
- package/dist/cjs/mods/toolkit/src/core/password/password-generator.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/core/password/password-migration.js +237 -0
- package/dist/cjs/mods/toolkit/src/core/password/password-migration.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/core/password/password-security.js +534 -0
- package/dist/cjs/mods/toolkit/src/core/password/password-security.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/core/password/password-types.js +39 -0
- package/dist/cjs/mods/toolkit/src/core/password/password-types.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/core/password/password-utils.js +651 -0
- package/dist/cjs/mods/toolkit/src/core/password/password-utils.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/core/password/swlist.js +1122 -0
- package/dist/cjs/mods/toolkit/src/core/password/swlist.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/core/random/random-core.js +328 -0
- package/dist/cjs/mods/toolkit/src/core/random/random-core.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/core/random/random-crypto.js +339 -0
- package/dist/cjs/mods/toolkit/src/core/random/random-crypto.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/core/random/random-entropy.js +388 -0
- package/dist/cjs/mods/toolkit/src/core/random/random-entropy.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/core/random/random-generators.js +344 -0
- package/dist/cjs/mods/toolkit/src/core/random/random-generators.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/core/random/random-sources.js +426 -0
- package/dist/cjs/mods/toolkit/src/core/random/random-sources.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/core/random/random-tokens.js +309 -0
- package/dist/cjs/mods/toolkit/src/core/random/random-tokens.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/core/random/random-types.js +36 -0
- package/dist/cjs/mods/toolkit/src/core/random/random-types.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/core/validators.js +200 -0
- package/dist/cjs/mods/toolkit/src/core/validators.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/helpers/Uint8Array.js +335 -0
- package/dist/cjs/mods/toolkit/src/helpers/Uint8Array.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/helpers/createEnu.js +27 -0
- package/dist/cjs/mods/toolkit/src/helpers/createEnu.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/index.js +417 -0
- package/dist/cjs/mods/toolkit/src/index.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/types/global.js +51 -0
- package/dist/cjs/mods/toolkit/src/types/global.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/types/secure-mem.type.js +100 -0
- package/dist/cjs/mods/toolkit/src/types/secure-mem.type.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/types/secure-memory.js +20 -0
- package/dist/cjs/mods/toolkit/src/types/secure-memory.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/types.js +63 -0
- package/dist/cjs/mods/toolkit/src/types.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/utils/CryptoAlgorithmUtils.js +71 -0
- package/dist/cjs/mods/toolkit/src/utils/CryptoAlgorithmUtils.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/utils/constants.js +111 -0
- package/dist/cjs/mods/toolkit/src/utils/constants.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/utils/dataConverter.js +74 -0
- package/dist/cjs/mods/toolkit/src/utils/dataConverter.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/utils/encoding.js +290 -0
- package/dist/cjs/mods/toolkit/src/utils/encoding.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/utils/errorHandler.js +140 -0
- package/dist/cjs/mods/toolkit/src/utils/errorHandler.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/utils/memory/config-manager.js +282 -0
- package/dist/cjs/mods/toolkit/src/utils/memory/config-manager.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/utils/memory/event-manager.js +277 -0
- package/dist/cjs/mods/toolkit/src/utils/memory/event-manager.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/utils/memory/index.js +162 -0
- package/dist/cjs/mods/toolkit/src/utils/memory/index.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/utils/memory/memory-manager.js +888 -0
- package/dist/cjs/mods/toolkit/src/utils/memory/memory-manager.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/utils/memory/memory-pool.js +356 -0
- package/dist/cjs/mods/toolkit/src/utils/memory/memory-pool.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/utils/memory/reference-tracker.js +376 -0
- package/dist/cjs/mods/toolkit/src/utils/memory/reference-tracker.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/utils/memory/types.js +56 -0
- package/dist/cjs/mods/toolkit/src/utils/memory/types.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/utils/patterns.js +127 -0
- package/dist/cjs/mods/toolkit/src/utils/patterns.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/utils/performanceMonitor.js +249 -0
- package/dist/cjs/mods/toolkit/src/utils/performanceMonitor.js.map +1 -0
- package/dist/cjs/mods/toolkit/src/utils/stats.js +182 -0
- package/dist/cjs/mods/toolkit/src/utils/stats.js.map +1 -0
- package/dist/cjs/performance-monitor.js +162 -0
- package/dist/cjs/performance-monitor.js.map +1 -0
- package/dist/cjs/plugins/plugin-manager.js +151 -0
- package/dist/cjs/plugins/plugin-manager.js.map +1 -0
- package/dist/cjs/plugins/route-optimization-plugin.js +413 -0
- package/dist/cjs/plugins/route-optimization-plugin.js.map +1 -0
- package/dist/cjs/plugins/server-maintenance-plugin.js +510 -0
- package/dist/cjs/plugins/server-maintenance-plugin.js.map +1 -0
- package/dist/cjs/quick-start.js +47 -0
- package/dist/cjs/quick-start.js.map +1 -0
- package/dist/cjs/security-middleware.js +415 -0
- package/dist/cjs/security-middleware.js.map +1 -0
- package/dist/cjs/server/FastServer.js +988 -0
- package/dist/cjs/server/FastServer.js.map +1 -0
- package/dist/cjs/server/components/fastapi/CacheManager.js +245 -0
- package/dist/cjs/server/components/fastapi/CacheManager.js.map +1 -0
- package/dist/cjs/server/components/fastapi/ClusterManagerComponent.js +327 -0
- package/dist/cjs/server/components/fastapi/ClusterManagerComponent.js.map +1 -0
- package/dist/cjs/server/components/fastapi/FileWatcherManager.js +493 -0
- package/dist/cjs/server/components/fastapi/FileWatcherManager.js.map +1 -0
- package/dist/cjs/server/components/fastapi/MonitoringManager.js +307 -0
- package/dist/cjs/server/components/fastapi/MonitoringManager.js.map +1 -0
- package/dist/cjs/server/components/fastapi/PerformanceManager.js +297 -0
- package/dist/cjs/server/components/fastapi/PerformanceManager.js.map +1 -0
- package/dist/cjs/server/components/fastapi/PluginManager.js +312 -0
- package/dist/cjs/server/components/fastapi/PluginManager.js.map +1 -0
- package/dist/cjs/server/components/fastapi/RedirectManager.js +492 -0
- package/dist/cjs/server/components/fastapi/RedirectManager.js.map +1 -0
- package/dist/cjs/server/components/fastapi/RequestProcessor.js +213 -0
- package/dist/cjs/server/components/fastapi/RequestProcessor.js.map +1 -0
- package/dist/cjs/server/components/fastapi/RouteManager.js +272 -0
- package/dist/cjs/server/components/fastapi/RouteManager.js.map +1 -0
- package/dist/cjs/server/components/fastapi/UltraFastRequestProcessor.js +668 -0
- package/dist/cjs/server/components/fastapi/UltraFastRequestProcessor.js.map +1 -0
- package/dist/cjs/server/components/fastapi/console/ConsoleInterceptor.js +812 -0
- package/dist/cjs/server/components/fastapi/console/ConsoleInterceptor.js.map +1 -0
- package/dist/cjs/server/components/fastapi/console/encryption/ConsoleEncryption.js +216 -0
- package/dist/cjs/server/components/fastapi/console/encryption/ConsoleEncryption.js.map +1 -0
- package/dist/cjs/server/components/fastapi/console/types.js +163 -0
- package/dist/cjs/server/components/fastapi/console/types.js.map +1 -0
- package/dist/cjs/server/components/fastapi/middlewares/MiddlewareAPI.js +347 -0
- package/dist/cjs/server/components/fastapi/middlewares/MiddlewareAPI.js.map +1 -0
- package/dist/cjs/server/components/fastapi/middlewares/MiddlewareMethodsManager.js +204 -0
- package/dist/cjs/server/components/fastapi/middlewares/MiddlewareMethodsManager.js.map +1 -0
- package/dist/cjs/server/components/fastapi/middlewares/middlewareManager.js +953 -0
- package/dist/cjs/server/components/fastapi/middlewares/middlewareManager.js.map +1 -0
- package/dist/cjs/server/components/fastapi/modules/UFRP/WorkerPool.js +56 -0
- package/dist/cjs/server/components/fastapi/modules/UFRP/WorkerPool.js.map +1 -0
- package/dist/cjs/server/components/fastapi/templates/redirectTemp.js +101 -0
- package/dist/cjs/server/components/fastapi/templates/redirectTemp.js.map +1 -0
- package/dist/cjs/server/components/fastapi/typescript/TypeScriptChecker.js +373 -0
- package/dist/cjs/server/components/fastapi/typescript/TypeScriptChecker.js.map +1 -0
- package/dist/cjs/server/const/Cluster.config.js +72 -0
- package/dist/cjs/server/const/Cluster.config.js.map +1 -0
- package/dist/cjs/server/const/ExecutionPredictor_EP.const.js +73 -0
- package/dist/cjs/server/const/ExecutionPredictor_EP.const.js.map +1 -0
- package/dist/cjs/server/const/FileWatcher.config.js +98 -0
- package/dist/cjs/server/const/FileWatcher.config.js.map +1 -0
- package/dist/cjs/server/const/default.js +122 -0
- package/dist/cjs/server/const/default.js.map +1 -0
- package/dist/cjs/server/optimization/ExecutionPredictor.js +218 -0
- package/dist/cjs/server/optimization/ExecutionPredictor.js.map +1 -0
- package/dist/cjs/server/optimization/PerformanceProfiler.js +234 -0
- package/dist/cjs/server/optimization/PerformanceProfiler.js.map +1 -0
- package/dist/cjs/server/optimization/RequestPreCompiler.js +708 -0
- package/dist/cjs/server/optimization/RequestPreCompiler.js.map +1 -0
- package/dist/cjs/server/optimization/UltraFastOptimizer.js +400 -0
- package/dist/cjs/server/optimization/UltraFastOptimizer.js.map +1 -0
- package/dist/cjs/server/plugins/PluginEngine.js +378 -0
- package/dist/cjs/server/plugins/PluginEngine.js.map +1 -0
- package/dist/cjs/server/plugins/PluginRegistry.js +339 -0
- package/dist/cjs/server/plugins/PluginRegistry.js.map +1 -0
- package/dist/cjs/server/plugins/builtin/JWTAuthPlugin.js +591 -0
- package/dist/cjs/server/plugins/builtin/JWTAuthPlugin.js.map +1 -0
- package/dist/cjs/server/plugins/builtin/ResponseTimePlugin.js +413 -0
- package/dist/cjs/server/plugins/builtin/ResponseTimePlugin.js.map +1 -0
- package/dist/cjs/server/plugins/builtin/SmartCachePlugin.js +843 -0
- package/dist/cjs/server/plugins/builtin/SmartCachePlugin.js.map +1 -0
- package/dist/cjs/server/plugins/core/CachePlugin.js +1975 -0
- package/dist/cjs/server/plugins/core/CachePlugin.js.map +1 -0
- package/dist/cjs/server/plugins/core/PerformancePlugin.js +894 -0
- package/dist/cjs/server/plugins/core/PerformancePlugin.js.map +1 -0
- package/dist/cjs/server/plugins/core/SecurityPlugin.js +799 -0
- package/dist/cjs/server/plugins/core/SecurityPlugin.js.map +1 -0
- package/dist/cjs/server/plugins/types/PluginTypes.js +47 -0
- package/dist/cjs/server/plugins/types/PluginTypes.js.map +1 -0
- package/dist/cjs/server/service/Reload/FileWatcher.js +756 -0
- package/dist/cjs/server/service/Reload/FileWatcher.js.map +1 -0
- package/dist/cjs/server/service/Reload/HotReloader.js +738 -0
- package/dist/cjs/server/service/Reload/HotReloader.js.map +1 -0
- package/dist/cjs/server/service/Reload/exec/TypeScriptExecutor.js +342 -0
- package/dist/cjs/server/service/Reload/exec/TypeScriptExecutor.js.map +1 -0
- package/dist/cjs/server/utils/ConfigLoader.js +209 -0
- package/dist/cjs/server/utils/ConfigLoader.js.map +1 -0
- package/dist/cjs/server/utils/Logger.js +238 -0
- package/dist/cjs/server/utils/Logger.js.map +1 -0
- package/dist/cjs/server/utils/PortManager.js +157 -0
- package/dist/cjs/server/utils/PortManager.js.map +1 -0
- package/dist/cjs/server/utils/forceClosePort.js +126 -0
- package/dist/cjs/server/utils/forceClosePort.js.map +1 -0
- package/dist/cjs/smart-routes.js +347 -0
- package/dist/cjs/smart-routes.js.map +1 -0
- package/dist/esm/ServerFactory.js +184 -0
- package/dist/esm/ServerFactory.js.map +1 -0
- package/dist/esm/cache/CacheFactory.js +402 -0
- package/dist/esm/cache/CacheFactory.js.map +1 -0
- package/dist/esm/cache/SecureCacheAdapter.js +1225 -0
- package/dist/esm/cache/SecureCacheAdapter.js.map +1 -0
- package/dist/esm/cluster/cluster-manager.js +990 -0
- package/dist/esm/cluster/cluster-manager.js.map +1 -0
- package/dist/esm/cluster/index.js +321 -0
- package/dist/esm/cluster/index.js.map +1 -0
- package/dist/esm/cluster/modules/AutoScaler.js +530 -0
- package/dist/esm/cluster/modules/AutoScaler.js.map +1 -0
- package/dist/esm/cluster/modules/ClusterFactory.js +490 -0
- package/dist/esm/cluster/modules/ClusterFactory.js.map +1 -0
- package/dist/esm/cluster/modules/ClusterPersistenceManager.js +434 -0
- package/dist/esm/cluster/modules/ClusterPersistenceManager.js.map +1 -0
- package/dist/esm/cluster/modules/HealthMonitor.js +440 -0
- package/dist/esm/cluster/modules/HealthMonitor.js.map +1 -0
- package/dist/esm/cluster/modules/IPCManager.js +759 -0
- package/dist/esm/cluster/modules/IPCManager.js.map +1 -0
- package/dist/esm/cluster/modules/LoadBalancer.js +1102 -0
- package/dist/esm/cluster/modules/LoadBalancer.js.map +1 -0
- package/dist/esm/cluster/modules/MetricsCollector.js +538 -0
- package/dist/esm/cluster/modules/MetricsCollector.js.map +1 -0
- package/dist/esm/cluster/modules/WorkerManager.js +1165 -0
- package/dist/esm/cluster/modules/WorkerManager.js.map +1 -0
- package/dist/esm/encryption/EncryptionService.js +378 -0
- package/dist/esm/encryption/EncryptionService.js.map +1 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/middleware/safe-json-middleware.js +153 -0
- package/dist/esm/middleware/safe-json-middleware.js.map +1 -0
- package/dist/esm/mods/toolkit/src/algorithms/hash-algorithms.js +705 -0
- package/dist/esm/mods/toolkit/src/algorithms/hash-algorithms.js.map +1 -0
- package/dist/esm/mods/toolkit/src/algorithms/registry.js +81 -0
- package/dist/esm/mods/toolkit/src/algorithms/registry.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/attestation.js +1059 -0
- package/dist/esm/mods/toolkit/src/components/attestation.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/cache/FastLRU.js +320 -0
- package/dist/esm/mods/toolkit/src/components/cache/FastLRU.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/cache/UFSIMC.js +1109 -0
- package/dist/esm/mods/toolkit/src/components/cache/UFSIMC.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/cache/cacheSys.js +622 -0
- package/dist/esm/mods/toolkit/src/components/cache/cacheSys.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/cache/cacheSys.utils.js +111 -0
- package/dist/esm/mods/toolkit/src/components/cache/cacheSys.utils.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/cache/config/cache.config.js +36 -0
- package/dist/esm/mods/toolkit/src/components/cache/config/cache.config.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/cache/index.js +449 -0
- package/dist/esm/mods/toolkit/src/components/cache/index.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/cache/useCache.js +240 -0
- package/dist/esm/mods/toolkit/src/components/cache/useCache.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/canary-tokens.js +346 -0
- package/dist/esm/mods/toolkit/src/components/canary-tokens.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/entropy-augmentation.js +476 -0
- package/dist/esm/mods/toolkit/src/components/entropy-augmentation.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/UFA/ultra-fast-allocator.js +336 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/UFA/ultra-fast-allocator.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/UFA/ultra-fast-cache.js +534 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/UFA/ultra-fast-cache.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/UFA/ultra-fast-engine.js +629 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/UFA/ultra-fast-engine.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/const/exec.const.js +11 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/const/exec.const.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/core/fortified-config.js +351 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/core/fortified-config.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/core/fortified-function-core.js +518 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/core/fortified-function-core.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/core/fortified-logger.js +243 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/core/fortified-logger.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/api-manager.js +187 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/api-manager.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/cache-manager.js +105 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/cache-manager.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/execution-context.js +103 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/execution-context.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/execution-engine.js +125 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/execution-engine.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/execution-router.js +91 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/execution-router.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/memory-manager.js +145 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/memory-manager.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/security-manager.js +100 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/security-manager.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/stats-manager.js +157 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/stats-manager.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/timing-manager.js +123 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/timing-manager.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/engines/analytics-engine.js +368 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/engines/analytics-engine.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/engines/execution-engine.js +400 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/engines/execution-engine.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/index.js +165 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/index.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/performance/performance-monitor.js +238 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/performance/performance-monitor.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/performance/performance-timer.js +186 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/performance/performance-timer.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/security/security-handler.js +251 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/security/security-handler.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/serializer/safe-serializer.js +344 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/serializer/safe-serializer.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/smart-cache.js +691 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/smart-cache.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/types/types.js +14 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/types/types.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/utils/utils.js +66 -0
- package/dist/esm/mods/toolkit/src/components/fortified-function/utils/utils.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/memory-hard.js +919 -0
- package/dist/esm/mods/toolkit/src/components/memory-hard.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/post-quantum.js +316 -0
- package/dist/esm/mods/toolkit/src/components/post-quantum.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/runtime-verification.js +643 -0
- package/dist/esm/mods/toolkit/src/components/runtime-verification.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/secure-array/core/secure-array-core.js +1570 -0
- package/dist/esm/mods/toolkit/src/components/secure-array/core/secure-array-core.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/secure-array/crypto/ArrayCryptoHandler.js +328 -0
- package/dist/esm/mods/toolkit/src/components/secure-array/crypto/ArrayCryptoHandler.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/secure-array/events/event-manager.js +268 -0
- package/dist/esm/mods/toolkit/src/components/secure-array/events/event-manager.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/secure-array/index.js +61 -0
- package/dist/esm/mods/toolkit/src/components/secure-array/index.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/secure-array/metadata/metadata-manager.js +329 -0
- package/dist/esm/mods/toolkit/src/components/secure-array/metadata/metadata-manager.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/secure-array/serialization/ArraySerializationHandler.js +388 -0
- package/dist/esm/mods/toolkit/src/components/secure-array/serialization/ArraySerializationHandler.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/secure-array/types/index.js +84 -0
- package/dist/esm/mods/toolkit/src/components/secure-array/types/index.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/secure-array/utils/id-generator.js +78 -0
- package/dist/esm/mods/toolkit/src/components/secure-array/utils/id-generator.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/secure-array/utils/validation.js +273 -0
- package/dist/esm/mods/toolkit/src/components/secure-array/utils/validation.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/secure-memory.js +884 -0
- package/dist/esm/mods/toolkit/src/components/secure-memory.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/secure-object/core/secure-object-core.js +1603 -0
- package/dist/esm/mods/toolkit/src/components/secure-object/core/secure-object-core.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/secure-object/encryption/crypto-handler.js +360 -0
- package/dist/esm/mods/toolkit/src/components/secure-object/encryption/crypto-handler.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/secure-object/encryption/sensitive-keys.js +203 -0
- package/dist/esm/mods/toolkit/src/components/secure-object/encryption/sensitive-keys.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/secure-object/events/event-manager.js +195 -0
- package/dist/esm/mods/toolkit/src/components/secure-object/events/event-manager.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/secure-object/index.js +63 -0
- package/dist/esm/mods/toolkit/src/components/secure-object/index.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/secure-object/metadata/metadata-manager.js +181 -0
- package/dist/esm/mods/toolkit/src/components/secure-object/metadata/metadata-manager.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/secure-object/serialization/serialization-handler.js +195 -0
- package/dist/esm/mods/toolkit/src/components/secure-object/serialization/serialization-handler.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/secure-object/utils/id-generator.js +62 -0
- package/dist/esm/mods/toolkit/src/components/secure-object/utils/id-generator.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/secure-object/utils/validation.js +237 -0
- package/dist/esm/mods/toolkit/src/components/secure-object/utils/validation.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/secure-serialization.js +769 -0
- package/dist/esm/mods/toolkit/src/components/secure-serialization.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/secure-string/advanced/entropy-analyzer.js +306 -0
- package/dist/esm/mods/toolkit/src/components/secure-string/advanced/entropy-analyzer.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/secure-string/advanced/performance-monitor.js +333 -0
- package/dist/esm/mods/toolkit/src/components/secure-string/advanced/performance-monitor.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/secure-string/advanced/quantum-safe.js +243 -0
- package/dist/esm/mods/toolkit/src/components/secure-string/advanced/quantum-safe.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/secure-string/buffer/buffer-manager.js +203 -0
- package/dist/esm/mods/toolkit/src/components/secure-string/buffer/buffer-manager.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/secure-string/core/secure-string-core.js +786 -0
- package/dist/esm/mods/toolkit/src/components/secure-string/core/secure-string-core.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/secure-string/crypto/crypto-operations.js +298 -0
- package/dist/esm/mods/toolkit/src/components/secure-string/crypto/crypto-operations.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/secure-string/operations/comparison-operations.js +219 -0
- package/dist/esm/mods/toolkit/src/components/secure-string/operations/comparison-operations.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/secure-string/operations/string-operations.js +232 -0
- package/dist/esm/mods/toolkit/src/components/secure-string/operations/string-operations.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/secure-string/types/index.js +37 -0
- package/dist/esm/mods/toolkit/src/components/secure-string/types/index.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/secure-string/validation/string-validator.js +332 -0
- package/dist/esm/mods/toolkit/src/components/secure-string/validation/string-validator.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/side-channel.js +142 -0
- package/dist/esm/mods/toolkit/src/components/side-channel.js.map +1 -0
- package/dist/esm/mods/toolkit/src/components/tamper-evident-logging.js +389 -0
- package/dist/esm/mods/toolkit/src/components/tamper-evident-logging.js.map +1 -0
- package/dist/esm/mods/toolkit/src/const/buffer.const.js +13 -0
- package/dist/esm/mods/toolkit/src/const/buffer.const.js.map +1 -0
- package/dist/esm/mods/toolkit/src/core/crypto.js +720 -0
- package/dist/esm/mods/toolkit/src/core/crypto.js.map +1 -0
- package/dist/esm/mods/toolkit/src/core/hash/hash-advanced.js +367 -0
- package/dist/esm/mods/toolkit/src/core/hash/hash-advanced.js.map +1 -0
- package/dist/esm/mods/toolkit/src/core/hash/hash-core.js +355 -0
- package/dist/esm/mods/toolkit/src/core/hash/hash-core.js.map +1 -0
- package/dist/esm/mods/toolkit/src/core/hash/hash-entropy.js +286 -0
- package/dist/esm/mods/toolkit/src/core/hash/hash-entropy.js.map +1 -0
- package/dist/esm/mods/toolkit/src/core/hash/hash-security.js +351 -0
- package/dist/esm/mods/toolkit/src/core/hash/hash-security.js.map +1 -0
- package/dist/esm/mods/toolkit/src/core/hash/hash-types.js +16 -0
- package/dist/esm/mods/toolkit/src/core/hash/hash-types.js.map +1 -0
- package/dist/esm/mods/toolkit/src/core/hash/hash-utils.js +307 -0
- package/dist/esm/mods/toolkit/src/core/hash/hash-utils.js.map +1 -0
- package/dist/esm/mods/toolkit/src/core/hash/hash-validator.js +310 -0
- package/dist/esm/mods/toolkit/src/core/hash/hash-validator.js.map +1 -0
- package/dist/esm/mods/toolkit/src/core/hash.js +9 -0
- package/dist/esm/mods/toolkit/src/core/hash.js.map +1 -0
- package/dist/esm/mods/toolkit/src/core/keys/algorithms/mods/Argon2Algo.js +133 -0
- package/dist/esm/mods/toolkit/src/core/keys/algorithms/mods/Argon2Algo.js.map +1 -0
- package/dist/esm/mods/toolkit/src/core/keys/algorithms/mods/PBKDF2Algo.js +272 -0
- package/dist/esm/mods/toolkit/src/core/keys/algorithms/mods/PBKDF2Algo.js.map +1 -0
- package/dist/esm/mods/toolkit/src/core/keys/algorithms/mods/ScryptAlgo.js +296 -0
- package/dist/esm/mods/toolkit/src/core/keys/algorithms/mods/ScryptAlgo.js.map +1 -0
- package/dist/esm/mods/toolkit/src/core/keys/keys-core.js +199 -0
- package/dist/esm/mods/toolkit/src/core/keys/keys-core.js.map +1 -0
- package/dist/esm/mods/toolkit/src/core/keys/keys-logger.js +231 -0
- package/dist/esm/mods/toolkit/src/core/keys/keys-logger.js.map +1 -0
- package/dist/esm/mods/toolkit/src/core/keys/keys-types.js +63 -0
- package/dist/esm/mods/toolkit/src/core/keys/keys-types.js.map +1 -0
- package/dist/esm/mods/toolkit/src/core/keys/keys-utils.js +316 -0
- package/dist/esm/mods/toolkit/src/core/keys/keys-utils.js.map +1 -0
- package/dist/esm/mods/toolkit/src/core/keys.js +134 -0
- package/dist/esm/mods/toolkit/src/core/keys.js.map +1 -0
- package/dist/esm/mods/toolkit/src/core/password/index.js +110 -0
- package/dist/esm/mods/toolkit/src/core/password/index.js.map +1 -0
- package/dist/esm/mods/toolkit/src/core/password/password-algorithms.js +395 -0
- package/dist/esm/mods/toolkit/src/core/password/password-algorithms.js.map +1 -0
- package/dist/esm/mods/toolkit/src/core/password/password-core.js +292 -0
- package/dist/esm/mods/toolkit/src/core/password/password-core.js.map +1 -0
- package/dist/esm/mods/toolkit/src/core/password/password-generator.js +363 -0
- package/dist/esm/mods/toolkit/src/core/password/password-generator.js.map +1 -0
- package/dist/esm/mods/toolkit/src/core/password/password-migration.js +235 -0
- package/dist/esm/mods/toolkit/src/core/password/password-migration.js.map +1 -0
- package/dist/esm/mods/toolkit/src/core/password/password-security.js +532 -0
- package/dist/esm/mods/toolkit/src/core/password/password-security.js.map +1 -0
- package/dist/esm/mods/toolkit/src/core/password/password-types.js +34 -0
- package/dist/esm/mods/toolkit/src/core/password/password-types.js.map +1 -0
- package/dist/esm/mods/toolkit/src/core/password/password-utils.js +630 -0
- package/dist/esm/mods/toolkit/src/core/password/password-utils.js.map +1 -0
- package/dist/esm/mods/toolkit/src/core/password/swlist.js +1120 -0
- package/dist/esm/mods/toolkit/src/core/password/swlist.js.map +1 -0
- package/dist/esm/mods/toolkit/src/core/random/random-core.js +326 -0
- package/dist/esm/mods/toolkit/src/core/random/random-core.js.map +1 -0
- package/dist/esm/mods/toolkit/src/core/random/random-crypto.js +337 -0
- package/dist/esm/mods/toolkit/src/core/random/random-crypto.js.map +1 -0
- package/dist/esm/mods/toolkit/src/core/random/random-entropy.js +367 -0
- package/dist/esm/mods/toolkit/src/core/random/random-entropy.js.map +1 -0
- package/dist/esm/mods/toolkit/src/core/random/random-generators.js +323 -0
- package/dist/esm/mods/toolkit/src/core/random/random-generators.js.map +1 -0
- package/dist/esm/mods/toolkit/src/core/random/random-sources.js +405 -0
- package/dist/esm/mods/toolkit/src/core/random/random-sources.js.map +1 -0
- package/dist/esm/mods/toolkit/src/core/random/random-tokens.js +307 -0
- package/dist/esm/mods/toolkit/src/core/random/random-tokens.js.map +1 -0
- package/dist/esm/mods/toolkit/src/core/random/random-types.js +27 -0
- package/dist/esm/mods/toolkit/src/core/random/random-types.js.map +1 -0
- package/dist/esm/mods/toolkit/src/core/validators.js +198 -0
- package/dist/esm/mods/toolkit/src/core/validators.js.map +1 -0
- package/dist/esm/mods/toolkit/src/helpers/Uint8Array.js +333 -0
- package/dist/esm/mods/toolkit/src/helpers/Uint8Array.js.map +1 -0
- package/dist/esm/mods/toolkit/src/helpers/createEnu.js +25 -0
- package/dist/esm/mods/toolkit/src/helpers/createEnu.js.map +1 -0
- package/dist/esm/mods/toolkit/src/index.js +373 -0
- package/dist/esm/mods/toolkit/src/index.js.map +1 -0
- package/dist/esm/mods/toolkit/src/types/global.js +49 -0
- package/dist/esm/mods/toolkit/src/types/global.js.map +1 -0
- package/dist/esm/mods/toolkit/src/types/secure-mem.type.js +96 -0
- package/dist/esm/mods/toolkit/src/types/secure-mem.type.js.map +1 -0
- package/dist/esm/mods/toolkit/src/types/secure-memory.js +20 -0
- package/dist/esm/mods/toolkit/src/types/secure-memory.js.map +1 -0
- package/dist/esm/mods/toolkit/src/types.js +63 -0
- package/dist/esm/mods/toolkit/src/types.js.map +1 -0
- package/dist/esm/mods/toolkit/src/utils/CryptoAlgorithmUtils.js +69 -0
- package/dist/esm/mods/toolkit/src/utils/CryptoAlgorithmUtils.js.map +1 -0
- package/dist/esm/mods/toolkit/src/utils/constants.js +105 -0
- package/dist/esm/mods/toolkit/src/utils/constants.js.map +1 -0
- package/dist/esm/mods/toolkit/src/utils/dataConverter.js +72 -0
- package/dist/esm/mods/toolkit/src/utils/dataConverter.js.map +1 -0
- package/dist/esm/mods/toolkit/src/utils/encoding.js +279 -0
- package/dist/esm/mods/toolkit/src/utils/encoding.js.map +1 -0
- package/dist/esm/mods/toolkit/src/utils/errorHandler.js +137 -0
- package/dist/esm/mods/toolkit/src/utils/errorHandler.js.map +1 -0
- package/dist/esm/mods/toolkit/src/utils/memory/config-manager.js +280 -0
- package/dist/esm/mods/toolkit/src/utils/memory/config-manager.js.map +1 -0
- package/dist/esm/mods/toolkit/src/utils/memory/event-manager.js +275 -0
- package/dist/esm/mods/toolkit/src/utils/memory/event-manager.js.map +1 -0
- package/dist/esm/mods/toolkit/src/utils/memory/index.js +141 -0
- package/dist/esm/mods/toolkit/src/utils/memory/index.js.map +1 -0
- package/dist/esm/mods/toolkit/src/utils/memory/memory-manager.js +886 -0
- package/dist/esm/mods/toolkit/src/utils/memory/memory-manager.js.map +1 -0
- package/dist/esm/mods/toolkit/src/utils/memory/memory-pool.js +354 -0
- package/dist/esm/mods/toolkit/src/utils/memory/memory-pool.js.map +1 -0
- package/dist/esm/mods/toolkit/src/utils/memory/reference-tracker.js +374 -0
- package/dist/esm/mods/toolkit/src/utils/memory/reference-tracker.js.map +1 -0
- package/dist/esm/mods/toolkit/src/utils/memory/types.js +56 -0
- package/dist/esm/mods/toolkit/src/utils/memory/types.js.map +1 -0
- package/dist/esm/mods/toolkit/src/utils/patterns.js +124 -0
- package/dist/esm/mods/toolkit/src/utils/patterns.js.map +1 -0
- package/dist/esm/mods/toolkit/src/utils/performanceMonitor.js +246 -0
- package/dist/esm/mods/toolkit/src/utils/performanceMonitor.js.map +1 -0
- package/dist/esm/mods/toolkit/src/utils/stats.js +180 -0
- package/dist/esm/mods/toolkit/src/utils/stats.js.map +1 -0
- package/dist/esm/performance-monitor.js +160 -0
- package/dist/esm/performance-monitor.js.map +1 -0
- package/dist/esm/plugins/plugin-manager.js +149 -0
- package/dist/esm/plugins/plugin-manager.js.map +1 -0
- package/dist/esm/plugins/route-optimization-plugin.js +411 -0
- package/dist/esm/plugins/route-optimization-plugin.js.map +1 -0
- package/dist/esm/plugins/server-maintenance-plugin.js +488 -0
- package/dist/esm/plugins/server-maintenance-plugin.js.map +1 -0
- package/dist/esm/quick-start.js +45 -0
- package/dist/esm/quick-start.js.map +1 -0
- package/dist/esm/security-middleware.js +413 -0
- package/dist/esm/security-middleware.js.map +1 -0
- package/dist/esm/server/FastServer.js +985 -0
- package/dist/esm/server/FastServer.js.map +1 -0
- package/dist/esm/server/components/fastapi/CacheManager.js +243 -0
- package/dist/esm/server/components/fastapi/CacheManager.js.map +1 -0
- package/dist/esm/server/components/fastapi/ClusterManagerComponent.js +325 -0
- package/dist/esm/server/components/fastapi/ClusterManagerComponent.js.map +1 -0
- package/dist/esm/server/components/fastapi/FileWatcherManager.js +491 -0
- package/dist/esm/server/components/fastapi/FileWatcherManager.js.map +1 -0
- package/dist/esm/server/components/fastapi/MonitoringManager.js +305 -0
- package/dist/esm/server/components/fastapi/MonitoringManager.js.map +1 -0
- package/dist/esm/server/components/fastapi/PerformanceManager.js +295 -0
- package/dist/esm/server/components/fastapi/PerformanceManager.js.map +1 -0
- package/dist/esm/server/components/fastapi/PluginManager.js +310 -0
- package/dist/esm/server/components/fastapi/PluginManager.js.map +1 -0
- package/dist/esm/server/components/fastapi/RedirectManager.js +490 -0
- package/dist/esm/server/components/fastapi/RedirectManager.js.map +1 -0
- package/dist/esm/server/components/fastapi/RequestProcessor.js +211 -0
- package/dist/esm/server/components/fastapi/RequestProcessor.js.map +1 -0
- package/dist/esm/server/components/fastapi/RouteManager.js +270 -0
- package/dist/esm/server/components/fastapi/RouteManager.js.map +1 -0
- package/dist/esm/server/components/fastapi/UltraFastRequestProcessor.js +647 -0
- package/dist/esm/server/components/fastapi/UltraFastRequestProcessor.js.map +1 -0
- package/dist/esm/server/components/fastapi/console/ConsoleInterceptor.js +810 -0
- package/dist/esm/server/components/fastapi/console/ConsoleInterceptor.js.map +1 -0
- package/dist/esm/server/components/fastapi/console/encryption/ConsoleEncryption.js +214 -0
- package/dist/esm/server/components/fastapi/console/encryption/ConsoleEncryption.js.map +1 -0
- package/dist/esm/server/components/fastapi/console/types.js +160 -0
- package/dist/esm/server/components/fastapi/console/types.js.map +1 -0
- package/dist/esm/server/components/fastapi/middlewares/MiddlewareAPI.js +345 -0
- package/dist/esm/server/components/fastapi/middlewares/MiddlewareAPI.js.map +1 -0
- package/dist/esm/server/components/fastapi/middlewares/MiddlewareMethodsManager.js +202 -0
- package/dist/esm/server/components/fastapi/middlewares/MiddlewareMethodsManager.js.map +1 -0
- package/dist/esm/server/components/fastapi/middlewares/middlewareManager.js +951 -0
- package/dist/esm/server/components/fastapi/middlewares/middlewareManager.js.map +1 -0
- package/dist/esm/server/components/fastapi/modules/UFRP/WorkerPool.js +54 -0
- package/dist/esm/server/components/fastapi/modules/UFRP/WorkerPool.js.map +1 -0
- package/dist/esm/server/components/fastapi/templates/redirectTemp.js +99 -0
- package/dist/esm/server/components/fastapi/templates/redirectTemp.js.map +1 -0
- package/dist/esm/server/components/fastapi/typescript/TypeScriptChecker.js +351 -0
- package/dist/esm/server/components/fastapi/typescript/TypeScriptChecker.js.map +1 -0
- package/dist/esm/server/const/Cluster.config.js +70 -0
- package/dist/esm/server/const/Cluster.config.js.map +1 -0
- package/dist/esm/server/const/ExecutionPredictor_EP.const.js +62 -0
- package/dist/esm/server/const/ExecutionPredictor_EP.const.js.map +1 -0
- package/dist/esm/server/const/FileWatcher.config.js +96 -0
- package/dist/esm/server/const/FileWatcher.config.js.map +1 -0
- package/dist/esm/server/const/default.js +120 -0
- package/dist/esm/server/const/default.js.map +1 -0
- package/dist/esm/server/optimization/ExecutionPredictor.js +216 -0
- package/dist/esm/server/optimization/ExecutionPredictor.js.map +1 -0
- package/dist/esm/server/optimization/PerformanceProfiler.js +232 -0
- package/dist/esm/server/optimization/PerformanceProfiler.js.map +1 -0
- package/dist/esm/server/optimization/RequestPreCompiler.js +706 -0
- package/dist/esm/server/optimization/RequestPreCompiler.js.map +1 -0
- package/dist/esm/server/optimization/UltraFastOptimizer.js +398 -0
- package/dist/esm/server/optimization/UltraFastOptimizer.js.map +1 -0
- package/dist/esm/server/plugins/PluginEngine.js +376 -0
- package/dist/esm/server/plugins/PluginEngine.js.map +1 -0
- package/dist/esm/server/plugins/PluginRegistry.js +337 -0
- package/dist/esm/server/plugins/PluginRegistry.js.map +1 -0
- package/dist/esm/server/plugins/builtin/JWTAuthPlugin.js +589 -0
- package/dist/esm/server/plugins/builtin/JWTAuthPlugin.js.map +1 -0
- package/dist/esm/server/plugins/builtin/ResponseTimePlugin.js +411 -0
- package/dist/esm/server/plugins/builtin/ResponseTimePlugin.js.map +1 -0
- package/dist/esm/server/plugins/builtin/SmartCachePlugin.js +841 -0
- package/dist/esm/server/plugins/builtin/SmartCachePlugin.js.map +1 -0
- package/dist/esm/server/plugins/core/CachePlugin.js +1973 -0
- package/dist/esm/server/plugins/core/CachePlugin.js.map +1 -0
- package/dist/esm/server/plugins/core/PerformancePlugin.js +872 -0
- package/dist/esm/server/plugins/core/PerformancePlugin.js.map +1 -0
- package/dist/esm/server/plugins/core/SecurityPlugin.js +797 -0
- package/dist/esm/server/plugins/core/SecurityPlugin.js.map +1 -0
- package/dist/esm/server/plugins/types/PluginTypes.js +47 -0
- package/dist/esm/server/plugins/types/PluginTypes.js.map +1 -0
- package/dist/esm/server/service/Reload/FileWatcher.js +734 -0
- package/dist/esm/server/service/Reload/FileWatcher.js.map +1 -0
- package/dist/esm/server/service/Reload/HotReloader.js +735 -0
- package/dist/esm/server/service/Reload/HotReloader.js.map +1 -0
- package/dist/esm/server/service/Reload/exec/TypeScriptExecutor.js +339 -0
- package/dist/esm/server/service/Reload/exec/TypeScriptExecutor.js.map +1 -0
- package/dist/esm/server/utils/ConfigLoader.js +207 -0
- package/dist/esm/server/utils/ConfigLoader.js.map +1 -0
- package/dist/esm/server/utils/Logger.js +234 -0
- package/dist/esm/server/utils/Logger.js.map +1 -0
- package/dist/esm/server/utils/PortManager.js +155 -0
- package/dist/esm/server/utils/PortManager.js.map +1 -0
- package/dist/esm/server/utils/forceClosePort.js +124 -0
- package/dist/esm/server/utils/forceClosePort.js.map +1 -0
- package/dist/esm/smart-routes.js +345 -0
- package/dist/esm/smart-routes.js.map +1 -0
- package/package.json +5 -6
|
@@ -0,0 +1,1011 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var os = require('os');
|
|
4
|
+
var events = require('events');
|
|
5
|
+
var WorkerManager = require('./modules/WorkerManager.js');
|
|
6
|
+
var HealthMonitor = require('./modules/HealthMonitor.js');
|
|
7
|
+
var LoadBalancer = require('./modules/LoadBalancer.js');
|
|
8
|
+
var IPCManager = require('./modules/IPCManager.js');
|
|
9
|
+
var MetricsCollector = require('./modules/MetricsCollector.js');
|
|
10
|
+
var AutoScaler = require('./modules/AutoScaler.js');
|
|
11
|
+
var ClusterPersistenceManager = require('./modules/ClusterPersistenceManager.js');
|
|
12
|
+
var errorHandler = require('../mods/toolkit/src/utils/errorHandler.js');
|
|
13
|
+
var Cluster_config = require('../server/const/Cluster.config.js');
|
|
14
|
+
var Logger = require('../server/utils/Logger.js');
|
|
15
|
+
|
|
16
|
+
function _interopNamespaceDefault(e) {
|
|
17
|
+
var n = Object.create(null);
|
|
18
|
+
if (e) {
|
|
19
|
+
Object.keys(e).forEach(function (k) {
|
|
20
|
+
if (k !== 'default') {
|
|
21
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
22
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
23
|
+
enumerable: true,
|
|
24
|
+
get: function () { return e[k]; }
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
n.default = e;
|
|
30
|
+
return Object.freeze(n);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
var os__namespace = /*#__PURE__*/_interopNamespaceDefault(os);
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* XyPrissJS Cluster Manager
|
|
37
|
+
* cluster management for Express applications with advanced monitoring
|
|
38
|
+
*/
|
|
39
|
+
/**
|
|
40
|
+
* cluster manager with comprehensive monitoring and auto-scaling
|
|
41
|
+
*/
|
|
42
|
+
class ClusterManager extends events.EventEmitter {
|
|
43
|
+
constructor(config = {}) {
|
|
44
|
+
super();
|
|
45
|
+
this.state = "initializing";
|
|
46
|
+
this.startTime = new Date();
|
|
47
|
+
this.isShuttingDown = false;
|
|
48
|
+
// Apply intelligent defaults
|
|
49
|
+
this.config = this.applyDefaults(config);
|
|
50
|
+
// Initialize components with fortified security
|
|
51
|
+
this.errorLogger = new errorHandler.SecurityErrorLogger();
|
|
52
|
+
this.workerManager = new WorkerManager.WorkerManager(this.config, this.errorLogger);
|
|
53
|
+
this.healthMonitor = new HealthMonitor.HealthMonitor(this.config, this.errorLogger);
|
|
54
|
+
this.loadBalancer = new LoadBalancer.LoadBalancer(this.config);
|
|
55
|
+
this.ipcManager = new IPCManager.IPCManager(this.config, this.errorLogger);
|
|
56
|
+
this.metricsCollector = new MetricsCollector.MetricsCollector(this.config);
|
|
57
|
+
this.autoScaler = new AutoScaler.AutoScaler(this.config, this.errorLogger);
|
|
58
|
+
// Initialize persistence manager if configured
|
|
59
|
+
if (this.config.persistence?.enabled && this.config.persistence.type) {
|
|
60
|
+
this.persistenceManager = new ClusterPersistenceManager.ClusterPersistenceManager(this.config.persistence);
|
|
61
|
+
}
|
|
62
|
+
// Setup component integrations
|
|
63
|
+
this.setupComponentIntegrations();
|
|
64
|
+
// Setup event forwarding
|
|
65
|
+
this.setupEventForwarding();
|
|
66
|
+
// Setup error handling
|
|
67
|
+
this.setupErrorHandling();
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Apply intelligent defaults to cluster configuration
|
|
71
|
+
*/
|
|
72
|
+
applyDefaults(config) {
|
|
73
|
+
const defaults = Cluster_config.DEFAULT_CLUSTER_CONFIGS;
|
|
74
|
+
return this.mergeDeep(defaults, config);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Deep merge configuration objects
|
|
78
|
+
*/
|
|
79
|
+
mergeDeep(target, source) {
|
|
80
|
+
const result = { ...target };
|
|
81
|
+
for (const key in source) {
|
|
82
|
+
if (source[key] &&
|
|
83
|
+
typeof source[key] === "object" &&
|
|
84
|
+
!Array.isArray(source[key])) {
|
|
85
|
+
result[key] = this.mergeDeep(target[key] || {}, source[key]);
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
result[key] = source[key];
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return result;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Setup component integrations for cross-component communication
|
|
95
|
+
*/
|
|
96
|
+
setupComponentIntegrations() {
|
|
97
|
+
// Integrate IPC Manager with Worker Manager
|
|
98
|
+
this.ipcManager.setWorkerManager(this.workerManager);
|
|
99
|
+
// Setup auto-scaler with worker manager and metrics collector integration
|
|
100
|
+
this.autoScaler.setWorkerManager(this.workerManager);
|
|
101
|
+
this.autoScaler.setMetricsCollector(this.metricsCollector);
|
|
102
|
+
// Setup metrics collector with worker manager integration
|
|
103
|
+
this.metricsCollector.setWorkerManager(this.workerManager);
|
|
104
|
+
// Setup health monitor with worker manager integration
|
|
105
|
+
this.healthMonitor.setWorkerManager(this.workerManager);
|
|
106
|
+
// Setup load balancer with IPC manager integration
|
|
107
|
+
this.loadBalancer.setIPCManager(this.ipcManager);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Setup event forwarding between components
|
|
111
|
+
*/
|
|
112
|
+
setupEventForwarding() {
|
|
113
|
+
// Forward worker manager events
|
|
114
|
+
this.workerManager.on("worker:started", (workerId, pid) => {
|
|
115
|
+
this.emit("worker:started", workerId, pid);
|
|
116
|
+
});
|
|
117
|
+
this.workerManager.on("worker:died", (workerId, code, signal) => {
|
|
118
|
+
this.emit("worker:died", workerId, code, signal);
|
|
119
|
+
});
|
|
120
|
+
this.workerManager.on("worker:restarted", (workerId, reason) => {
|
|
121
|
+
this.emit("worker:restarted", workerId, reason);
|
|
122
|
+
});
|
|
123
|
+
// Forward health monitor events
|
|
124
|
+
this.healthMonitor.on("worker:health:warning", (workerId, metrics) => {
|
|
125
|
+
this.emit("worker:health:warning", workerId, metrics);
|
|
126
|
+
});
|
|
127
|
+
this.healthMonitor.on("worker:health:critical", (workerId, metrics) => {
|
|
128
|
+
this.emit("worker:health:critical", workerId, metrics);
|
|
129
|
+
});
|
|
130
|
+
// Forward auto-scaler events
|
|
131
|
+
this.autoScaler.on("cluster:scaled", (action, newWorkerCount) => {
|
|
132
|
+
this.emit("cluster:scaled", action, newWorkerCount);
|
|
133
|
+
});
|
|
134
|
+
this.autoScaler.on("scaling:triggered", (reason, currentWorkers, targetWorkers) => {
|
|
135
|
+
this.emit("scaling:triggered", reason, currentWorkers, targetWorkers);
|
|
136
|
+
});
|
|
137
|
+
// Forward load balancer events
|
|
138
|
+
this.loadBalancer.on("loadbalancer:updated", (strategy, weights) => {
|
|
139
|
+
this.emit("loadbalancer:updated", strategy, weights);
|
|
140
|
+
});
|
|
141
|
+
// Forward IPC events
|
|
142
|
+
this.ipcManager.on("ipc:message", (from, to, message) => {
|
|
143
|
+
this.emit("ipc:message", from, to, message);
|
|
144
|
+
});
|
|
145
|
+
this.ipcManager.on("ipc:broadcast", (from, message) => {
|
|
146
|
+
this.emit("ipc:broadcast", from, message);
|
|
147
|
+
});
|
|
148
|
+
// Forward metrics events
|
|
149
|
+
this.metricsCollector.on("metrics:updated", (metrics) => {
|
|
150
|
+
this.updateClusterState(metrics);
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Setup comprehensive error handling
|
|
155
|
+
*/
|
|
156
|
+
setupErrorHandling() {
|
|
157
|
+
// Handle uncaught exceptions
|
|
158
|
+
process.on("uncaughtException", (error) => {
|
|
159
|
+
const securityError = errorHandler.createSecurityError(`Uncaught exception in cluster manager: ${error.message}`, errorHandler.ErrorType.INTERNAL, errorHandler.ErrorSeverity.CRITICAL, "CLUSTER_UNCAUGHT_EXCEPTION", { operation: "cluster_manager" });
|
|
160
|
+
this.errorLogger.logError(securityError);
|
|
161
|
+
if (this.config.errorHandling?.uncaughtException === "restart") {
|
|
162
|
+
this.handleCriticalError("uncaught_exception");
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
// Handle unhandled rejections
|
|
166
|
+
process.on("unhandledRejection", (reason) => {
|
|
167
|
+
const securityError = errorHandler.createSecurityError(`Unhandled rejection in cluster manager: ${reason}`, errorHandler.ErrorType.INTERNAL, errorHandler.ErrorSeverity.CRITICAL, "CLUSTER_UNHANDLED_REJECTION", { operation: "cluster_manager" });
|
|
168
|
+
this.errorLogger.logError(securityError);
|
|
169
|
+
if (this.config.errorHandling?.unhandledRejection === "restart") {
|
|
170
|
+
this.handleCriticalError("unhandled_rejection");
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Update cluster state based on metrics
|
|
176
|
+
*/
|
|
177
|
+
updateClusterState(metrics) {
|
|
178
|
+
// Update state based on cluster health
|
|
179
|
+
if (metrics.healthOverall.status === "critical") {
|
|
180
|
+
this.state = "degraded";
|
|
181
|
+
}
|
|
182
|
+
else if (metrics.activeWorkers === 0) {
|
|
183
|
+
this.state = "stopped";
|
|
184
|
+
}
|
|
185
|
+
else if (this.state === "initializing" || this.state === "starting") {
|
|
186
|
+
this.state = "running";
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Handle critical errors with recovery strategies
|
|
191
|
+
*/
|
|
192
|
+
async handleCriticalError(errorType) {
|
|
193
|
+
Logger.logger.error("cluster", `Critical error detected: ${errorType}`);
|
|
194
|
+
try {
|
|
195
|
+
// Attempt graceful recovery
|
|
196
|
+
await this.restart();
|
|
197
|
+
}
|
|
198
|
+
catch (error) {
|
|
199
|
+
Logger.logger.error("cluster", "Failed to recover from critical error:", error);
|
|
200
|
+
process.exit(1);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
// ===== CORE CLUSTER MANAGEMENT METHODS =====
|
|
204
|
+
/**
|
|
205
|
+
* Start the cluster with intelligent worker management
|
|
206
|
+
*/
|
|
207
|
+
async start() {
|
|
208
|
+
if (this.state === "running") {
|
|
209
|
+
Logger.logger.debug("cluster", "Cluster is already running");
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
this.state = "starting";
|
|
213
|
+
try {
|
|
214
|
+
// logger.debug( "cluster","Starting cluster...");
|
|
215
|
+
// Determine if we're in master or worker process
|
|
216
|
+
const clusterModule = require("cluster");
|
|
217
|
+
if (clusterModule.isMaster) {
|
|
218
|
+
Logger.logger.debug("cluster", "Starting as cluster master process");
|
|
219
|
+
// Start monitoring components
|
|
220
|
+
this.healthMonitor.startMonitoring();
|
|
221
|
+
this.metricsCollector.startCollection();
|
|
222
|
+
// Start workers
|
|
223
|
+
await this.workerManager.startWorkers();
|
|
224
|
+
// Update auto-scaler with initial worker count
|
|
225
|
+
const workerCount = this.workerManager.getActiveWorkers().length;
|
|
226
|
+
this.autoScaler.updateWorkerCount(workerCount);
|
|
227
|
+
// Setup graceful shutdown
|
|
228
|
+
this.setupGracefulShutdown();
|
|
229
|
+
Logger.logger.debug("cluster", `Cluster master started with ${workerCount} workers`);
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
Logger.logger.debug("cluster", `Worker ${process.pid} started`);
|
|
233
|
+
// Worker-specific initialization
|
|
234
|
+
this.setupWorkerProcess();
|
|
235
|
+
}
|
|
236
|
+
this.state = "running";
|
|
237
|
+
// logger.debug( "cluster","XyPrissJS cluster started successfully");
|
|
238
|
+
}
|
|
239
|
+
catch (error) {
|
|
240
|
+
this.state = "error";
|
|
241
|
+
const securityError = errorHandler.createSecurityError(`Cluster start failed: ${error.message}`, errorHandler.ErrorType.INTERNAL, errorHandler.ErrorSeverity.CRITICAL, "CLUSTER_START_ERROR", { operation: "start" });
|
|
242
|
+
this.errorLogger.logError(securityError);
|
|
243
|
+
throw error;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Setup worker process initialization
|
|
248
|
+
*/
|
|
249
|
+
setupWorkerProcess() {
|
|
250
|
+
// Set worker environment
|
|
251
|
+
process.env.WORKER_ID =
|
|
252
|
+
process.env.WORKER_ID || process.pid?.toString() || "unknown";
|
|
253
|
+
process.env.NODE_ENV = "worker";
|
|
254
|
+
// Setup worker-specific error handling
|
|
255
|
+
process.on("uncaughtException", (error) => {
|
|
256
|
+
Logger.logger.error("cluster", "Worker uncaught exception:", error);
|
|
257
|
+
process.exit(1);
|
|
258
|
+
});
|
|
259
|
+
process.on("unhandledRejection", (reason, promise) => {
|
|
260
|
+
Logger.logger.error("cluster", "Worker unhandled rejection at:", promise, "reason:", reason);
|
|
261
|
+
process.exit(1);
|
|
262
|
+
});
|
|
263
|
+
// Send ready signal to master
|
|
264
|
+
if (process.send) {
|
|
265
|
+
process.send({
|
|
266
|
+
type: "worker_ready",
|
|
267
|
+
workerId: process.env.WORKER_ID,
|
|
268
|
+
pid: process.pid,
|
|
269
|
+
});
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Setup graceful shutdown handling
|
|
274
|
+
*/
|
|
275
|
+
setupGracefulShutdown() {
|
|
276
|
+
const gracefulShutdown = async (signal) => {
|
|
277
|
+
Logger.logger.debug("cluster", `Received ${signal}, starting graceful shutdown...`);
|
|
278
|
+
try {
|
|
279
|
+
await this.stop();
|
|
280
|
+
process.exit(0);
|
|
281
|
+
}
|
|
282
|
+
catch (error) {
|
|
283
|
+
Logger.logger.error("cluster", "Error during graceful shutdown:", error);
|
|
284
|
+
process.exit(1);
|
|
285
|
+
}
|
|
286
|
+
};
|
|
287
|
+
process.on("SIGTERM", () => gracefulShutdown("SIGTERM"));
|
|
288
|
+
process.on("SIGINT", () => gracefulShutdown("SIGINT"));
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Stop the cluster gracefully or forcefully
|
|
292
|
+
*/
|
|
293
|
+
async stop(graceful = true) {
|
|
294
|
+
if (this.state === "stopped" || this.state === "stopping") {
|
|
295
|
+
Logger.logger.debug("cluster", "Cluster is already stopped or stopping");
|
|
296
|
+
return;
|
|
297
|
+
}
|
|
298
|
+
this.state = "stopping";
|
|
299
|
+
try {
|
|
300
|
+
Logger.logger.debug("cluster", `Stopping cluster ${graceful ? "gracefully" : "forcefully"}...`);
|
|
301
|
+
// Stop monitoring
|
|
302
|
+
this.healthMonitor.stopMonitoring();
|
|
303
|
+
this.metricsCollector.stopCollection();
|
|
304
|
+
this.autoScaler.stopScaling();
|
|
305
|
+
// Stop all workers
|
|
306
|
+
await this.workerManager.stopAllWorkers(graceful);
|
|
307
|
+
// Close persistence manager
|
|
308
|
+
await this.closePersistenceManager();
|
|
309
|
+
this.state = "stopped";
|
|
310
|
+
Logger.logger.debug("cluster", "Cluster stopped successfully");
|
|
311
|
+
}
|
|
312
|
+
catch (error) {
|
|
313
|
+
this.state = "error";
|
|
314
|
+
const securityError = errorHandler.createSecurityError(`Cluster stop failed: ${error.message}`, errorHandler.ErrorType.INTERNAL, errorHandler.ErrorSeverity.HIGH, "CLUSTER_STOP_ERROR", { operation: "stop" });
|
|
315
|
+
this.errorLogger.logError(securityError);
|
|
316
|
+
throw error;
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* Restart the cluster or specific worker
|
|
321
|
+
*/
|
|
322
|
+
async restart(workerId) {
|
|
323
|
+
if (workerId) {
|
|
324
|
+
// Restart specific worker using WorkerManager
|
|
325
|
+
try {
|
|
326
|
+
Logger.logger.debug("cluster", `Restarting worker ${workerId}...`);
|
|
327
|
+
// Use WorkerManager to restart the specific worker
|
|
328
|
+
const newWorkerId = await this.replaceWorker(workerId);
|
|
329
|
+
this.emit("worker:restarted", newWorkerId, "manual_restart");
|
|
330
|
+
Logger.logger.debug("cluster", `Worker ${workerId} restarted as ${newWorkerId}`);
|
|
331
|
+
}
|
|
332
|
+
catch (error) {
|
|
333
|
+
const securityError = errorHandler.createSecurityError(`Failed to restart worker ${workerId}: ${error.message}`, errorHandler.ErrorType.INTERNAL, errorHandler.ErrorSeverity.HIGH, "WORKER_RESTART_ERROR", { operation: "restart_worker" });
|
|
334
|
+
this.errorLogger.logError(securityError);
|
|
335
|
+
throw error;
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
else {
|
|
339
|
+
// Restart entire cluster
|
|
340
|
+
try {
|
|
341
|
+
Logger.logger.debug("cluster", "Restarting entire cluster...");
|
|
342
|
+
await this.stop(true);
|
|
343
|
+
await new Promise((resolve) => setTimeout(resolve, 2000)); // Brief pause
|
|
344
|
+
await this.start();
|
|
345
|
+
Logger.logger.debug("cluster", "Cluster restarted successfully");
|
|
346
|
+
}
|
|
347
|
+
catch (error) {
|
|
348
|
+
const securityError = errorHandler.createSecurityError(`Failed to restart cluster: ${error.message}`, errorHandler.ErrorType.INTERNAL, errorHandler.ErrorSeverity.CRITICAL, "CLUSTER_RESTART_ERROR", { operation: "restart_cluster" });
|
|
349
|
+
this.errorLogger.logError(securityError);
|
|
350
|
+
throw error;
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Pause cluster operations
|
|
356
|
+
*/
|
|
357
|
+
async pause() {
|
|
358
|
+
if (this.state !== "running") {
|
|
359
|
+
throw new Error("Cannot pause cluster: not running");
|
|
360
|
+
}
|
|
361
|
+
this.state = "paused";
|
|
362
|
+
// Pause monitoring
|
|
363
|
+
this.healthMonitor.stopMonitoring();
|
|
364
|
+
this.autoScaler.disable();
|
|
365
|
+
Logger.logger.debug("cluster", "Cluster paused");
|
|
366
|
+
}
|
|
367
|
+
/**
|
|
368
|
+
* Resume cluster operations
|
|
369
|
+
*/
|
|
370
|
+
async resume() {
|
|
371
|
+
if (this.state !== "paused") {
|
|
372
|
+
throw new Error("Cannot resume cluster: not paused");
|
|
373
|
+
}
|
|
374
|
+
this.state = "running";
|
|
375
|
+
// Resume monitoring
|
|
376
|
+
this.healthMonitor.startMonitoring();
|
|
377
|
+
this.autoScaler.enable();
|
|
378
|
+
Logger.logger.debug("cluster", "Cluster resumed");
|
|
379
|
+
}
|
|
380
|
+
// ===== WORKER MANAGEMENT METHODS =====
|
|
381
|
+
/**
|
|
382
|
+
* Add new worker to the cluster
|
|
383
|
+
*/
|
|
384
|
+
async addWorker() {
|
|
385
|
+
const workers = this.workerManager.getActiveWorkers();
|
|
386
|
+
const maxWorkers = this.config.autoScaling?.maxWorkers || 8;
|
|
387
|
+
if (workers.length >= maxWorkers) {
|
|
388
|
+
throw new Error("Cannot add worker: maximum worker limit reached");
|
|
389
|
+
}
|
|
390
|
+
try {
|
|
391
|
+
// Use WorkerManager to actually start a worker
|
|
392
|
+
const workerId = await this.workerManager.startSingleWorker();
|
|
393
|
+
// Update auto-scaler with new worker count
|
|
394
|
+
this.autoScaler.updateWorkerCount(workers.length + 1);
|
|
395
|
+
this.emit("worker:started", workerId, 0);
|
|
396
|
+
return workerId;
|
|
397
|
+
}
|
|
398
|
+
catch (error) {
|
|
399
|
+
const securityError = errorHandler.createSecurityError(`Failed to add worker: ${error.message}`, errorHandler.ErrorType.INTERNAL, errorHandler.ErrorSeverity.HIGH, "WORKER_ADD_ERROR", { operation: "add_worker" });
|
|
400
|
+
this.errorLogger.logError(securityError);
|
|
401
|
+
throw error;
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
/**
|
|
405
|
+
* Remove worker from the cluster
|
|
406
|
+
*/
|
|
407
|
+
async removeWorker(workerId, graceful = true) {
|
|
408
|
+
const workers = this.workerManager.getActiveWorkers();
|
|
409
|
+
const minWorkers = this.config.autoScaling?.minWorkers || 1;
|
|
410
|
+
if (workers.length <= minWorkers) {
|
|
411
|
+
throw new Error("Cannot remove worker: minimum worker limit reached");
|
|
412
|
+
}
|
|
413
|
+
try {
|
|
414
|
+
// Use WorkerManager to actually stop the worker
|
|
415
|
+
await this.workerManager.stopSingleWorker(workerId, graceful);
|
|
416
|
+
// Update auto-scaler with new worker count
|
|
417
|
+
this.autoScaler.updateWorkerCount(workers.length - 1);
|
|
418
|
+
this.emit("worker:died", workerId, 0, graceful ? "SIGTERM" : "SIGKILL");
|
|
419
|
+
}
|
|
420
|
+
catch (error) {
|
|
421
|
+
const securityError = errorHandler.createSecurityError(`Failed to remove worker ${workerId}: ${error.message}`, errorHandler.ErrorType.INTERNAL, errorHandler.ErrorSeverity.HIGH, "WORKER_REMOVE_ERROR", { operation: "remove_worker" });
|
|
422
|
+
this.errorLogger.logError(securityError);
|
|
423
|
+
throw error;
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
/**
|
|
427
|
+
* Replace worker with a new one
|
|
428
|
+
*/
|
|
429
|
+
async replaceWorker(workerId) {
|
|
430
|
+
Logger.logger.debug("cluster", `Replacing worker ${workerId}...`);
|
|
431
|
+
// Start new worker first
|
|
432
|
+
const newWorkerId = await this.addWorker();
|
|
433
|
+
// Wait for new worker to be ready
|
|
434
|
+
await new Promise((resolve) => setTimeout(resolve, 2000));
|
|
435
|
+
// Remove old worker
|
|
436
|
+
await this.removeWorker(workerId, true);
|
|
437
|
+
return newWorkerId;
|
|
438
|
+
}
|
|
439
|
+
/**
|
|
440
|
+
* Get worker by ID
|
|
441
|
+
*/
|
|
442
|
+
getWorker(workerId) {
|
|
443
|
+
return this.workerManager.getWorker(workerId);
|
|
444
|
+
}
|
|
445
|
+
/**
|
|
446
|
+
* Get all workers
|
|
447
|
+
*/
|
|
448
|
+
getAllWorkers() {
|
|
449
|
+
return this.workerManager.getActiveWorkers();
|
|
450
|
+
}
|
|
451
|
+
/**
|
|
452
|
+
* Get active workers
|
|
453
|
+
*/
|
|
454
|
+
getActiveWorkers() {
|
|
455
|
+
return this.workerManager
|
|
456
|
+
.getActiveWorkers()
|
|
457
|
+
.filter((w) => w.health.status === "healthy" ||
|
|
458
|
+
w.health.status === "warning");
|
|
459
|
+
}
|
|
460
|
+
/**
|
|
461
|
+
* Get unhealthy workers
|
|
462
|
+
*/
|
|
463
|
+
getUnhealthyWorkers() {
|
|
464
|
+
return this.workerManager
|
|
465
|
+
.getActiveWorkers()
|
|
466
|
+
.filter((w) => w.health.status === "critical" || w.health.status === "dead");
|
|
467
|
+
}
|
|
468
|
+
// ===== HEALTH MONITORING METHODS =====
|
|
469
|
+
/**
|
|
470
|
+
* Check health of specific worker or all workers
|
|
471
|
+
*/
|
|
472
|
+
async checkHealth(workerId) {
|
|
473
|
+
if (workerId) {
|
|
474
|
+
return await this.healthMonitor.checkWorkerHealth(workerId);
|
|
475
|
+
}
|
|
476
|
+
else {
|
|
477
|
+
await this.healthMonitor.performHealthChecks();
|
|
478
|
+
const healthStatus = this.healthMonitor.getHealthStatus();
|
|
479
|
+
return Object.values(healthStatus).every((healthy) => healthy);
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
/**
|
|
483
|
+
* Get health status of all workers
|
|
484
|
+
*/
|
|
485
|
+
async getHealthStatus() {
|
|
486
|
+
return this.healthMonitor.getHealthStatus();
|
|
487
|
+
}
|
|
488
|
+
/**
|
|
489
|
+
* Run comprehensive health check
|
|
490
|
+
*/
|
|
491
|
+
async runHealthCheck() {
|
|
492
|
+
await this.healthMonitor.performHealthChecks();
|
|
493
|
+
}
|
|
494
|
+
// ===== METRICS AND MONITORING METHODS =====
|
|
495
|
+
/**
|
|
496
|
+
* Get comprehensive cluster metrics
|
|
497
|
+
*/
|
|
498
|
+
async getMetrics() {
|
|
499
|
+
return this.metricsCollector.getClusterMetrics();
|
|
500
|
+
}
|
|
501
|
+
/**
|
|
502
|
+
* Get metrics for specific worker
|
|
503
|
+
*/
|
|
504
|
+
async getWorkerMetrics(workerId) {
|
|
505
|
+
return this.metricsCollector.getWorkerMetrics(workerId);
|
|
506
|
+
}
|
|
507
|
+
/**
|
|
508
|
+
* Get aggregated metrics summary
|
|
509
|
+
*/
|
|
510
|
+
async getAggregatedMetrics() {
|
|
511
|
+
return this.metricsCollector.getAggregatedMetrics();
|
|
512
|
+
}
|
|
513
|
+
/**
|
|
514
|
+
* Start monitoring systems
|
|
515
|
+
*/
|
|
516
|
+
startMonitoring() {
|
|
517
|
+
this.healthMonitor.startMonitoring();
|
|
518
|
+
this.metricsCollector.startCollection();
|
|
519
|
+
Logger.logger.debug("cluster", "Monitoring systems started");
|
|
520
|
+
}
|
|
521
|
+
/**
|
|
522
|
+
* Stop monitoring systems
|
|
523
|
+
*/
|
|
524
|
+
stopMonitoring() {
|
|
525
|
+
this.healthMonitor.stopMonitoring();
|
|
526
|
+
this.metricsCollector.stopCollection();
|
|
527
|
+
Logger.logger.debug("cluster", "Monitoring systems stopped");
|
|
528
|
+
}
|
|
529
|
+
/**
|
|
530
|
+
* Export metrics in specified format
|
|
531
|
+
*/
|
|
532
|
+
async exportMetrics(format = "json") {
|
|
533
|
+
return await this.metricsCollector.exportMetrics(format);
|
|
534
|
+
}
|
|
535
|
+
// ===== SCALING METHODS =====
|
|
536
|
+
/**
|
|
537
|
+
* Scale up by adding workers
|
|
538
|
+
*/
|
|
539
|
+
async scaleUp(count = 1) {
|
|
540
|
+
await this.autoScaler.scaleUp(count);
|
|
541
|
+
}
|
|
542
|
+
/**
|
|
543
|
+
* Scale down by removing workers
|
|
544
|
+
*/
|
|
545
|
+
async scaleDown(count = 1) {
|
|
546
|
+
await this.autoScaler.scaleDown(count);
|
|
547
|
+
}
|
|
548
|
+
/**
|
|
549
|
+
* Perform auto-scaling evaluation
|
|
550
|
+
*/
|
|
551
|
+
async autoScale() {
|
|
552
|
+
await this.autoScaler.autoScale();
|
|
553
|
+
}
|
|
554
|
+
/**
|
|
555
|
+
* Get optimal worker count
|
|
556
|
+
*/
|
|
557
|
+
async getOptimalWorkerCount() {
|
|
558
|
+
return await this.autoScaler.getOptimalWorkerCount();
|
|
559
|
+
}
|
|
560
|
+
// ===== LOAD BALANCING METHODS =====
|
|
561
|
+
/**
|
|
562
|
+
* Update load balancing strategy
|
|
563
|
+
*/
|
|
564
|
+
async updateLoadBalancingStrategy(strategy, options) {
|
|
565
|
+
await this.loadBalancer.updateStrategy(strategy, options);
|
|
566
|
+
}
|
|
567
|
+
/**
|
|
568
|
+
* Get load balance status
|
|
569
|
+
*/
|
|
570
|
+
async getLoadBalanceStatus() {
|
|
571
|
+
const status = this.loadBalancer.getLoadBalanceStatus();
|
|
572
|
+
return status.connections;
|
|
573
|
+
}
|
|
574
|
+
/**
|
|
575
|
+
* Redistribute load across workers
|
|
576
|
+
*/
|
|
577
|
+
async redistributeLoad() {
|
|
578
|
+
await this.loadBalancer.redistributeLoad();
|
|
579
|
+
}
|
|
580
|
+
// ===== IPC METHODS =====
|
|
581
|
+
/**
|
|
582
|
+
* Send message to specific worker
|
|
583
|
+
*/
|
|
584
|
+
async sendToWorker(workerId, message) {
|
|
585
|
+
await this.ipcManager.sendToWorker(workerId, message);
|
|
586
|
+
}
|
|
587
|
+
/**
|
|
588
|
+
* Send message to all workers
|
|
589
|
+
*/
|
|
590
|
+
async sendToAllWorkers(message) {
|
|
591
|
+
await this.ipcManager.sendToAllWorkers(message);
|
|
592
|
+
}
|
|
593
|
+
/**
|
|
594
|
+
* Broadcast message to all workers
|
|
595
|
+
*/
|
|
596
|
+
async broadcast(message) {
|
|
597
|
+
await this.ipcManager.broadcast(message);
|
|
598
|
+
}
|
|
599
|
+
/**
|
|
600
|
+
* Send message to random worker
|
|
601
|
+
*/
|
|
602
|
+
async sendToRandomWorker(message) {
|
|
603
|
+
await this.ipcManager.sendToRandomWorker(message);
|
|
604
|
+
}
|
|
605
|
+
/**
|
|
606
|
+
* Send message to least loaded worker
|
|
607
|
+
*/
|
|
608
|
+
async sendToLeastLoadedWorker(message) {
|
|
609
|
+
await this.ipcManager.sendToLeastLoadedWorker(message);
|
|
610
|
+
}
|
|
611
|
+
// ===== EVENT HANDLING METHODS =====
|
|
612
|
+
/**
|
|
613
|
+
* Register event handler
|
|
614
|
+
*/
|
|
615
|
+
addListener(event, handler) {
|
|
616
|
+
return super.on(event, handler);
|
|
617
|
+
}
|
|
618
|
+
/**
|
|
619
|
+
* Remove event handler
|
|
620
|
+
*/
|
|
621
|
+
removeListener(event, handler) {
|
|
622
|
+
return super.off(event, handler);
|
|
623
|
+
}
|
|
624
|
+
/**
|
|
625
|
+
* Emit cluster event
|
|
626
|
+
*/
|
|
627
|
+
emitEvent(event, ...args) {
|
|
628
|
+
return super.emit(event, ...args);
|
|
629
|
+
}
|
|
630
|
+
// ===== STATE MANAGEMENT METHODS =====
|
|
631
|
+
/**
|
|
632
|
+
* Save cluster state
|
|
633
|
+
*/
|
|
634
|
+
async saveState() {
|
|
635
|
+
try {
|
|
636
|
+
// Create comprehensive persistent state
|
|
637
|
+
const persistentState = {
|
|
638
|
+
state: this.state,
|
|
639
|
+
config: this.config,
|
|
640
|
+
workers: this.workerManager
|
|
641
|
+
.getActiveWorkers()
|
|
642
|
+
.map((worker) => ({
|
|
643
|
+
id: worker.workerId,
|
|
644
|
+
pid: worker.pid,
|
|
645
|
+
status: worker.health.status === "healthy"
|
|
646
|
+
? "running"
|
|
647
|
+
: "stopped",
|
|
648
|
+
startTime: worker.lastRestart || new Date(),
|
|
649
|
+
restarts: worker.restarts,
|
|
650
|
+
metrics: worker,
|
|
651
|
+
})),
|
|
652
|
+
metrics: this.metricsCollector.exportMetricsForPersistence(),
|
|
653
|
+
loadBalancer: {
|
|
654
|
+
strategy: this.config.loadBalancing?.strategy || "round-robin",
|
|
655
|
+
weights: {},
|
|
656
|
+
distribution: {},
|
|
657
|
+
historicalTrends: {
|
|
658
|
+
requestsPerMinute: [],
|
|
659
|
+
averageResponseTimes: [],
|
|
660
|
+
errorRates: [],
|
|
661
|
+
},
|
|
662
|
+
},
|
|
663
|
+
timestamp: new Date(),
|
|
664
|
+
version: "1.0.0",
|
|
665
|
+
};
|
|
666
|
+
// Save to persistent storage
|
|
667
|
+
await this.saveClusterStateToPersistentStorage(persistentState);
|
|
668
|
+
}
|
|
669
|
+
catch (error) {
|
|
670
|
+
const securityError = errorHandler.createSecurityError(`Failed to save cluster state: ${error.message}`, errorHandler.ErrorType.INTERNAL, errorHandler.ErrorSeverity.MEDIUM, "CLUSTER_STATE_SAVE_ERROR", { operation: "save_state" });
|
|
671
|
+
this.errorLogger.logError(securityError);
|
|
672
|
+
throw error;
|
|
673
|
+
}
|
|
674
|
+
}
|
|
675
|
+
/**
|
|
676
|
+
* Restore cluster state
|
|
677
|
+
*/
|
|
678
|
+
async restoreState() {
|
|
679
|
+
try {
|
|
680
|
+
// Restore from persistent storage
|
|
681
|
+
const savedState = await this.loadClusterStateFromPersistentStorage();
|
|
682
|
+
if (savedState) {
|
|
683
|
+
await this.applyRestoredState(savedState);
|
|
684
|
+
Logger.logger.debug("cluster", " Cluster state restored from persistent storage");
|
|
685
|
+
}
|
|
686
|
+
else {
|
|
687
|
+
Logger.logger.debug("cluster", "No saved cluster state found, starting fresh");
|
|
688
|
+
}
|
|
689
|
+
// if (savedState) {
|
|
690
|
+
// await this.applyRestoredState(savedState);
|
|
691
|
+
// }
|
|
692
|
+
}
|
|
693
|
+
catch (error) {
|
|
694
|
+
const securityError = errorHandler.createSecurityError(`Failed to restore cluster state: ${error.message}`, errorHandler.ErrorType.INTERNAL, errorHandler.ErrorSeverity.MEDIUM, "CLUSTER_STATE_RESTORE_ERROR", { operation: "restore_state" });
|
|
695
|
+
this.errorLogger.logError(securityError);
|
|
696
|
+
throw error;
|
|
697
|
+
}
|
|
698
|
+
}
|
|
699
|
+
/**
|
|
700
|
+
* Get current cluster state
|
|
701
|
+
*/
|
|
702
|
+
async getState() {
|
|
703
|
+
return this.state;
|
|
704
|
+
}
|
|
705
|
+
/**
|
|
706
|
+
* Export cluster configuration
|
|
707
|
+
*/
|
|
708
|
+
async exportConfiguration() {
|
|
709
|
+
return { ...this.config };
|
|
710
|
+
}
|
|
711
|
+
// ===== UTILITY METHODS =====
|
|
712
|
+
/**
|
|
713
|
+
* Check if cluster is healthy
|
|
714
|
+
*/
|
|
715
|
+
isHealthy() {
|
|
716
|
+
const activeWorkers = this.getActiveWorkers();
|
|
717
|
+
const totalWorkers = this.getAllWorkers();
|
|
718
|
+
if (totalWorkers.length === 0)
|
|
719
|
+
return false;
|
|
720
|
+
const healthyPercentage = (activeWorkers.length / totalWorkers.length) * 100;
|
|
721
|
+
return healthyPercentage >= 70; // 70% threshold
|
|
722
|
+
}
|
|
723
|
+
/**
|
|
724
|
+
* Get load balance score
|
|
725
|
+
*/
|
|
726
|
+
getLoadBalance() {
|
|
727
|
+
return this.loadBalancer.getLoadDistributionEfficiency();
|
|
728
|
+
}
|
|
729
|
+
/**
|
|
730
|
+
* Get recommended worker count
|
|
731
|
+
*/
|
|
732
|
+
getRecommendedWorkerCount() {
|
|
733
|
+
const cpuCount = os__namespace.cpus().length;
|
|
734
|
+
const currentLoad = this.getActiveWorkers().length;
|
|
735
|
+
// Simple recommendation based on CPU cores and current load
|
|
736
|
+
return Math.max(1, Math.min(cpuCount - 1, currentLoad));
|
|
737
|
+
}
|
|
738
|
+
/**
|
|
739
|
+
* Get cluster efficiency score
|
|
740
|
+
*/
|
|
741
|
+
getClusterEfficiency() {
|
|
742
|
+
const loadBalanceEfficiency = this.getLoadBalance();
|
|
743
|
+
const healthScore = this.isHealthy() ? 100 : 50;
|
|
744
|
+
const utilizationScore = this.calculateUtilizationScore();
|
|
745
|
+
return (loadBalanceEfficiency + healthScore + utilizationScore) / 3;
|
|
746
|
+
}
|
|
747
|
+
/**
|
|
748
|
+
* Calculate utilization score
|
|
749
|
+
*/
|
|
750
|
+
calculateUtilizationScore() {
|
|
751
|
+
const workers = this.getActiveWorkers();
|
|
752
|
+
if (workers.length === 0)
|
|
753
|
+
return 0;
|
|
754
|
+
const avgCpu = workers.reduce((sum, w) => sum + w.cpu.usage, 0) / workers.length;
|
|
755
|
+
const avgMemory = workers.reduce((sum, w) => sum + w.memory.percentage, 0) /
|
|
756
|
+
workers.length;
|
|
757
|
+
// Optimal utilization is around 60-70%
|
|
758
|
+
const optimalCpu = 65;
|
|
759
|
+
const optimalMemory = 65;
|
|
760
|
+
const cpuScore = 100 - Math.abs(avgCpu - optimalCpu);
|
|
761
|
+
const memoryScore = 100 - Math.abs(avgMemory - optimalMemory);
|
|
762
|
+
return (cpuScore + memoryScore) / 2;
|
|
763
|
+
}
|
|
764
|
+
// ===== ADVANCED FEATURES =====
|
|
765
|
+
/**
|
|
766
|
+
* Enable profiling for worker
|
|
767
|
+
*/
|
|
768
|
+
async enableProfiling(workerId) {
|
|
769
|
+
Logger.logger.debug("cluster", `Enabling profiling for worker ${workerId}`);
|
|
770
|
+
await this.sendToWorker(workerId, { type: "enable_profiling" });
|
|
771
|
+
}
|
|
772
|
+
/**
|
|
773
|
+
* Disable profiling for worker
|
|
774
|
+
*/
|
|
775
|
+
async disableProfiling(workerId) {
|
|
776
|
+
Logger.logger.debug("cluster", `Disabling profiling for worker ${workerId}`);
|
|
777
|
+
await this.sendToWorker(workerId, { type: "disable_profiling" });
|
|
778
|
+
}
|
|
779
|
+
/**
|
|
780
|
+
* Take heap snapshot of worker
|
|
781
|
+
*/
|
|
782
|
+
async takeHeapSnapshot(workerId) {
|
|
783
|
+
const snapshotPath = `/tmp/heap-snapshot-${workerId}-${Date.now()}.heapsnapshot`;
|
|
784
|
+
Logger.logger.debug("cluster", `Taking heap snapshot for worker ${workerId}: ${snapshotPath}`);
|
|
785
|
+
await this.sendToWorker(workerId, {
|
|
786
|
+
type: "take_heap_snapshot",
|
|
787
|
+
path: snapshotPath,
|
|
788
|
+
});
|
|
789
|
+
return snapshotPath;
|
|
790
|
+
}
|
|
791
|
+
/**
|
|
792
|
+
* Enable debug mode for worker
|
|
793
|
+
*/
|
|
794
|
+
async enableDebugMode(workerId, port) {
|
|
795
|
+
const debugPort = port || 9229;
|
|
796
|
+
Logger.logger.debug("cluster", `Enabling debug mode for worker ${workerId} on port ${debugPort}`);
|
|
797
|
+
await this.sendToWorker(workerId, {
|
|
798
|
+
type: "enable_debug",
|
|
799
|
+
port: debugPort,
|
|
800
|
+
});
|
|
801
|
+
}
|
|
802
|
+
/**
|
|
803
|
+
* Disable debug mode for worker
|
|
804
|
+
*/
|
|
805
|
+
async disableDebugMode(workerId) {
|
|
806
|
+
Logger.logger.debug("cluster", `Disabling debug mode for worker ${workerId}`);
|
|
807
|
+
await this.sendToWorker(workerId, { type: "disable_debug" });
|
|
808
|
+
}
|
|
809
|
+
// ===== ROLLING UPDATES =====
|
|
810
|
+
/**
|
|
811
|
+
* Perform rolling update
|
|
812
|
+
*/
|
|
813
|
+
async performRollingUpdate(updateFn) {
|
|
814
|
+
Logger.logger.debug("cluster", "Starting rolling update...");
|
|
815
|
+
const workers = this.getAllWorkers();
|
|
816
|
+
const maxUnavailable = this.config.advanced?.deployment?.maxUnavailable || 1;
|
|
817
|
+
for (let i = 0; i < workers.length; i += maxUnavailable) {
|
|
818
|
+
const batch = workers.slice(i, i + maxUnavailable);
|
|
819
|
+
// Drain workers in batch
|
|
820
|
+
for (const worker of batch) {
|
|
821
|
+
await this.drainWorker(worker.workerId);
|
|
822
|
+
}
|
|
823
|
+
// Perform update
|
|
824
|
+
await updateFn();
|
|
825
|
+
// Replace workers
|
|
826
|
+
for (const worker of batch) {
|
|
827
|
+
await this.replaceWorker(worker.workerId);
|
|
828
|
+
}
|
|
829
|
+
// Wait for new workers to be ready
|
|
830
|
+
await new Promise((resolve) => setTimeout(resolve, 5000));
|
|
831
|
+
}
|
|
832
|
+
Logger.logger.debug("cluster", "Rolling update completed");
|
|
833
|
+
}
|
|
834
|
+
/**
|
|
835
|
+
* Drain worker connections
|
|
836
|
+
*/
|
|
837
|
+
async drainWorker(workerId) {
|
|
838
|
+
Logger.logger.debug("cluster", `Draining worker ${workerId}...`);
|
|
839
|
+
await this.sendToWorker(workerId, { type: "drain_connections" });
|
|
840
|
+
// Wait for connections to drain
|
|
841
|
+
await new Promise((resolve) => setTimeout(resolve, 10000));
|
|
842
|
+
}
|
|
843
|
+
// ===== CIRCUIT BREAKER =====
|
|
844
|
+
/**
|
|
845
|
+
* Check if circuit breaker is open
|
|
846
|
+
*/
|
|
847
|
+
isCircuitOpen(workerId) {
|
|
848
|
+
if (workerId) {
|
|
849
|
+
const worker = this.getWorker(workerId);
|
|
850
|
+
return worker ? worker.health.consecutiveFailures >= 5 : false;
|
|
851
|
+
}
|
|
852
|
+
// Check overall cluster circuit breaker
|
|
853
|
+
const unhealthyWorkers = this.getUnhealthyWorkers();
|
|
854
|
+
const totalWorkers = this.getAllWorkers();
|
|
855
|
+
return (totalWorkers.length > 0 &&
|
|
856
|
+
unhealthyWorkers.length / totalWorkers.length > 0.5);
|
|
857
|
+
}
|
|
858
|
+
/**
|
|
859
|
+
* Reset circuit breaker
|
|
860
|
+
*/
|
|
861
|
+
async resetCircuitBreaker(workerId) {
|
|
862
|
+
if (workerId) {
|
|
863
|
+
Logger.logger.debug("cluster", `Resetting circuit breaker for worker ${workerId}`);
|
|
864
|
+
await this.sendToWorker(workerId, {
|
|
865
|
+
type: "reset_circuit_breaker",
|
|
866
|
+
});
|
|
867
|
+
}
|
|
868
|
+
else {
|
|
869
|
+
Logger.logger.debug("cluster", "Resetting cluster circuit breaker");
|
|
870
|
+
// Reset all worker circuit breakers
|
|
871
|
+
const workers = this.getAllWorkers();
|
|
872
|
+
for (const worker of workers) {
|
|
873
|
+
await this.sendToWorker(worker.workerId, {
|
|
874
|
+
type: "reset_circuit_breaker",
|
|
875
|
+
});
|
|
876
|
+
}
|
|
877
|
+
}
|
|
878
|
+
}
|
|
879
|
+
// ===== CLEANUP METHODS =====
|
|
880
|
+
/**
|
|
881
|
+
* Cleanup cluster resources
|
|
882
|
+
*/
|
|
883
|
+
async cleanup() {
|
|
884
|
+
Logger.logger.debug("cluster", "Cleaning up cluster resources...");
|
|
885
|
+
await this.stop(true);
|
|
886
|
+
// Cleanup monitoring
|
|
887
|
+
this.healthMonitor.stopMonitoring();
|
|
888
|
+
this.metricsCollector.stopCollection();
|
|
889
|
+
this.autoScaler.stopScaling();
|
|
890
|
+
Logger.logger.debug("cluster", "Cluster cleanup completed");
|
|
891
|
+
}
|
|
892
|
+
/**
|
|
893
|
+
* Force cleanup cluster resources
|
|
894
|
+
*/
|
|
895
|
+
async forceCleanup() {
|
|
896
|
+
Logger.logger.debug("cluster", "Force cleaning up cluster resources...");
|
|
897
|
+
await this.stop(false);
|
|
898
|
+
// Force cleanup
|
|
899
|
+
this.removeAllListeners();
|
|
900
|
+
Logger.logger.debug("cluster", "Force cleanup completed");
|
|
901
|
+
}
|
|
902
|
+
// ===== PERSISTENCE METHODS =====
|
|
903
|
+
/**
|
|
904
|
+
* Save cluster state to persistent storage
|
|
905
|
+
*/
|
|
906
|
+
async saveClusterStateToPersistentStorage(clusterState) {
|
|
907
|
+
if (!this.persistenceManager) {
|
|
908
|
+
// Fallback: emit event for external handling
|
|
909
|
+
this.emit("cluster:state:saved", clusterState);
|
|
910
|
+
return;
|
|
911
|
+
}
|
|
912
|
+
try {
|
|
913
|
+
await this.persistenceManager.saveClusterState(clusterState);
|
|
914
|
+
}
|
|
915
|
+
catch (error) {
|
|
916
|
+
Logger.logger.warn("cluster", `Failed to save cluster state: ${error.message}`);
|
|
917
|
+
// Emit event as fallback
|
|
918
|
+
this.emit("cluster:state:saved", clusterState);
|
|
919
|
+
}
|
|
920
|
+
}
|
|
921
|
+
/**
|
|
922
|
+
* Load cluster state from persistent storage
|
|
923
|
+
*/
|
|
924
|
+
async loadClusterStateFromPersistentStorage() {
|
|
925
|
+
if (!this.persistenceManager) {
|
|
926
|
+
// Fallback: emit event for external handling
|
|
927
|
+
this.emit("cluster:state:restore_requested");
|
|
928
|
+
return null;
|
|
929
|
+
}
|
|
930
|
+
try {
|
|
931
|
+
return await this.persistenceManager.loadClusterState();
|
|
932
|
+
}
|
|
933
|
+
catch (error) {
|
|
934
|
+
Logger.logger.warn("cluster", `Failed to load cluster state: ${error.message}`);
|
|
935
|
+
return null;
|
|
936
|
+
}
|
|
937
|
+
}
|
|
938
|
+
/**
|
|
939
|
+
* Apply restored cluster state
|
|
940
|
+
*/
|
|
941
|
+
async applyRestoredState(savedState) {
|
|
942
|
+
try {
|
|
943
|
+
if (savedState.workers) {
|
|
944
|
+
// Restore worker configurations
|
|
945
|
+
for (const workerState of savedState.workers) {
|
|
946
|
+
if (workerState.status === "running") {
|
|
947
|
+
// Try to reconnect to existing worker or spawn new one
|
|
948
|
+
await this.restoreOrSpawnWorker(workerState);
|
|
949
|
+
}
|
|
950
|
+
}
|
|
951
|
+
}
|
|
952
|
+
if (savedState.config) {
|
|
953
|
+
// Apply saved configuration (merge with current)
|
|
954
|
+
this.config = { ...this.config, ...savedState.config };
|
|
955
|
+
}
|
|
956
|
+
if (savedState.metrics) {
|
|
957
|
+
// Restore metrics using the MetricsCollector
|
|
958
|
+
if (savedState.metrics.historicalData) {
|
|
959
|
+
this.metricsCollector.restoreHistoricalData(savedState.metrics.historicalData);
|
|
960
|
+
}
|
|
961
|
+
if (savedState.metrics.workerHistory) {
|
|
962
|
+
this.metricsCollector.restoreWorkerHistoricalData(savedState.metrics.workerHistory);
|
|
963
|
+
}
|
|
964
|
+
Logger.logger.debug("cluster", "✔ Restored metrics from persistent storage");
|
|
965
|
+
}
|
|
966
|
+
}
|
|
967
|
+
catch (error) {
|
|
968
|
+
Logger.logger.warn("cluster", `Failed to apply restored state: ${error.message}`);
|
|
969
|
+
}
|
|
970
|
+
}
|
|
971
|
+
/**
|
|
972
|
+
* Restore or spawn worker from saved state
|
|
973
|
+
*/
|
|
974
|
+
async restoreOrSpawnWorker(workerState) {
|
|
975
|
+
try {
|
|
976
|
+
// Check if worker process still exists
|
|
977
|
+
const existingWorker = this.workerManager.getWorker(workerState.id);
|
|
978
|
+
if (!existingWorker) {
|
|
979
|
+
// Worker doesn't exist, spawn a new one
|
|
980
|
+
Logger.logger.debug("cluster", `Spawning new worker to replace ${workerState.id}`);
|
|
981
|
+
await this.addWorker();
|
|
982
|
+
}
|
|
983
|
+
else {
|
|
984
|
+
Logger.logger.debug("cluster", `Worker ${workerState.id} already exists and running`);
|
|
985
|
+
}
|
|
986
|
+
}
|
|
987
|
+
catch (error) {
|
|
988
|
+
Logger.logger.warn("cluster", `Failed to restore worker ${workerState.id}: ${error.message}`);
|
|
989
|
+
}
|
|
990
|
+
}
|
|
991
|
+
/**
|
|
992
|
+
* Get persistence manager statistics
|
|
993
|
+
*/
|
|
994
|
+
getPersistenceStats() {
|
|
995
|
+
if (!this.persistenceManager) {
|
|
996
|
+
return { enabled: false, type: "none" };
|
|
997
|
+
}
|
|
998
|
+
return this.persistenceManager.getStats();
|
|
999
|
+
}
|
|
1000
|
+
/**
|
|
1001
|
+
* Close persistence manager
|
|
1002
|
+
*/
|
|
1003
|
+
async closePersistenceManager() {
|
|
1004
|
+
if (this.persistenceManager) {
|
|
1005
|
+
await this.persistenceManager.close();
|
|
1006
|
+
}
|
|
1007
|
+
}
|
|
1008
|
+
}
|
|
1009
|
+
|
|
1010
|
+
exports.ClusterManager = ClusterManager;
|
|
1011
|
+
//# sourceMappingURL=cluster-manager.js.map
|