@nxuss/lemma 0.1.0 → 0.2.0
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 +347 -181
- package/dist/cjs/cloud/KeyManager.d.ts.map +1 -0
- package/dist/cjs/cloud/KeyManager.js.map +1 -0
- package/dist/cjs/cloud/TenantCache.d.ts.map +1 -0
- package/dist/cjs/cloud/TenantCache.js.map +1 -0
- package/dist/cjs/cloud/index.d.ts.map +1 -0
- package/dist/cjs/cloud/index.js.map +1 -0
- package/dist/cjs/cloud/server.d.ts.map +1 -0
- package/dist/cjs/cloud/server.js.map +1 -0
- package/dist/cjs/cloud/types.d.ts.map +1 -0
- package/dist/cjs/cloud/types.js.map +1 -0
- package/dist/cjs/config/index.d.ts.map +1 -0
- package/dist/cjs/config/index.js.map +1 -0
- package/dist/cjs/consensus/ConsensusEngine.d.ts.map +1 -0
- package/dist/cjs/consensus/ConsensusEngine.js.map +1 -0
- package/dist/cjs/consensus/ModelPool.d.ts.map +1 -0
- package/dist/cjs/consensus/ModelPool.js.map +1 -0
- package/dist/cjs/consensus/index.d.ts.map +1 -0
- package/dist/cjs/consensus/index.js.map +1 -0
- package/dist/cjs/core/AgentRegistry.d.ts.map +1 -0
- package/dist/cjs/core/AgentRegistry.js.map +1 -0
- package/dist/cjs/core/DashboardBroadcaster.d.ts.map +1 -0
- package/dist/cjs/core/DashboardBroadcaster.js.map +1 -0
- package/dist/{core → cjs/core}/OrchestrationEngine.d.ts +1 -0
- package/dist/cjs/core/OrchestrationEngine.d.ts.map +1 -0
- package/dist/{core → cjs/core}/OrchestrationEngine.js +29 -23
- package/dist/cjs/core/OrchestrationEngine.js.map +1 -0
- package/dist/cjs/core/SubconsciousEngine.d.ts.map +1 -0
- package/dist/{core → cjs/core}/SubconsciousEngine.js +15 -3
- package/dist/cjs/core/SubconsciousEngine.js.map +1 -0
- package/dist/cjs/core/WebSocketServer.d.ts.map +1 -0
- package/dist/{core → cjs/core}/WebSocketServer.js +2 -1
- package/dist/cjs/core/WebSocketServer.js.map +1 -0
- package/dist/cjs/core/index.d.ts.map +1 -0
- package/dist/cjs/core/index.js.map +1 -0
- package/dist/cjs/core/router.d.ts.map +1 -0
- package/dist/cjs/core/router.js.map +1 -0
- package/dist/{embed → cjs/embed}/index.d.ts +66 -1
- package/dist/cjs/embed/index.d.ts.map +1 -0
- package/dist/cjs/embed/index.js +979 -0
- package/dist/cjs/embed/index.js.map +1 -0
- package/dist/cjs/embed.d.ts.map +1 -0
- package/dist/cjs/embed.js.map +1 -0
- package/dist/cjs/examples/basic-usage.d.ts +12 -0
- package/dist/cjs/examples/basic-usage.d.ts.map +1 -0
- package/dist/cjs/examples/basic-usage.js +128 -0
- package/dist/cjs/examples/basic-usage.js.map +1 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/protocol/flows.d.ts.map +1 -0
- package/dist/cjs/protocol/flows.js.map +1 -0
- package/dist/cjs/protocol/iap.d.ts.map +1 -0
- package/dist/cjs/protocol/iap.js.map +1 -0
- package/dist/cjs/protocol/index.d.ts.map +1 -0
- package/dist/cjs/protocol/index.js.map +1 -0
- package/dist/cjs/protocol/types.d.ts.map +1 -0
- package/dist/cjs/protocol/types.js.map +1 -0
- package/dist/cjs/protocol/utils.d.ts.map +1 -0
- package/dist/cjs/protocol/utils.js.map +1 -0
- package/dist/cjs/protocol/validators.d.ts.map +1 -0
- package/dist/cjs/protocol/validators.js.map +1 -0
- package/dist/cjs/security/AuthManager.d.ts.map +1 -0
- package/dist/cjs/security/AuthManager.js.map +1 -0
- package/dist/cjs/security/MessageSanitizer.d.ts.map +1 -0
- package/dist/{security → cjs/security}/MessageSanitizer.js +22 -6
- package/dist/cjs/security/MessageSanitizer.js.map +1 -0
- package/dist/cjs/security/RateLimiter.d.ts.map +1 -0
- package/dist/cjs/security/RateLimiter.js.map +1 -0
- package/dist/{security → cjs/security}/SecurityMiddleware.d.ts +3 -1
- package/dist/cjs/security/SecurityMiddleware.d.ts.map +1 -0
- package/dist/{security → cjs/security}/SecurityMiddleware.js +5 -3
- package/dist/cjs/security/SecurityMiddleware.js.map +1 -0
- package/dist/cjs/security/index.d.ts.map +1 -0
- package/dist/cjs/security/index.js.map +1 -0
- package/dist/cjs/speculative/PredictionEngine.d.ts.map +1 -0
- package/dist/cjs/speculative/PredictionEngine.js.map +1 -0
- package/dist/cjs/speculative/SpeculativeCache.d.ts.map +1 -0
- package/dist/cjs/speculative/SpeculativeCache.js.map +1 -0
- package/dist/cjs/speculative/SpeculativeEngine.d.ts.map +1 -0
- package/dist/cjs/speculative/SpeculativeEngine.js.map +1 -0
- package/dist/cjs/speculative/WorkerPool.d.ts.map +1 -0
- package/dist/cjs/speculative/WorkerPool.js.map +1 -0
- package/dist/cjs/speculative/index.d.ts.map +1 -0
- package/dist/cjs/speculative/index.js.map +1 -0
- package/dist/cjs/subconscious/EmbeddingService.d.ts.map +1 -0
- package/dist/cjs/subconscious/EmbeddingService.js.map +1 -0
- package/dist/cjs/subconscious/SemanticCache.d.ts.map +1 -0
- package/dist/cjs/subconscious/SemanticCache.js.map +1 -0
- package/dist/cjs/subconscious/SubconsciousEngine.d.ts.map +1 -0
- package/dist/cjs/subconscious/SubconsciousEngine.js.map +1 -0
- package/dist/cjs/subconscious/VectorStore.d.ts.map +1 -0
- package/dist/{subconscious → cjs/subconscious}/VectorStore.js +3 -3
- package/dist/cjs/subconscious/VectorStore.js.map +1 -0
- package/dist/cjs/subconscious/cache.d.ts.map +1 -0
- package/dist/cjs/subconscious/cache.js.map +1 -0
- package/dist/cjs/subconscious/embeddings.d.ts.map +1 -0
- package/dist/cjs/subconscious/embeddings.js.map +1 -0
- package/dist/cjs/subconscious/index.d.ts.map +1 -0
- package/dist/cjs/subconscious/index.js.map +1 -0
- package/dist/cjs/types/index.d.ts.map +1 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/cjs/utils/logger.d.ts.map +1 -0
- package/dist/cjs/utils/logger.js.map +1 -0
- package/dist/esm/cloud/KeyManager.d.ts +29 -0
- package/dist/esm/cloud/KeyManager.d.ts.map +1 -0
- package/dist/esm/cloud/KeyManager.js +135 -0
- package/dist/esm/cloud/KeyManager.js.map +1 -0
- package/dist/esm/cloud/TenantCache.d.ts +29 -0
- package/dist/esm/cloud/TenantCache.d.ts.map +1 -0
- package/dist/esm/cloud/TenantCache.js +125 -0
- package/dist/esm/cloud/TenantCache.js.map +1 -0
- package/dist/esm/cloud/index.d.ts +4 -0
- package/dist/esm/cloud/index.d.ts.map +1 -0
- package/dist/esm/cloud/index.js +4 -0
- package/dist/esm/cloud/index.js.map +1 -0
- package/dist/esm/cloud/server.d.ts +17 -0
- package/dist/esm/cloud/server.d.ts.map +1 -0
- package/dist/esm/cloud/server.js +181 -0
- package/dist/esm/cloud/server.js.map +1 -0
- package/dist/esm/cloud/types.d.ts +35 -0
- package/dist/esm/cloud/types.d.ts.map +1 -0
- package/dist/esm/cloud/types.js +11 -0
- package/dist/esm/cloud/types.js.map +1 -0
- package/dist/esm/config/index.d.ts +44 -0
- package/dist/esm/config/index.d.ts.map +1 -0
- package/dist/esm/config/index.js +151 -0
- package/dist/esm/config/index.js.map +1 -0
- package/dist/esm/consensus/ConsensusEngine.d.ts +119 -0
- package/dist/esm/consensus/ConsensusEngine.d.ts.map +1 -0
- package/dist/esm/consensus/ConsensusEngine.js +310 -0
- package/dist/esm/consensus/ConsensusEngine.js.map +1 -0
- package/dist/esm/consensus/ModelPool.d.ts +103 -0
- package/dist/esm/consensus/ModelPool.d.ts.map +1 -0
- package/dist/esm/consensus/ModelPool.js +269 -0
- package/dist/esm/consensus/ModelPool.js.map +1 -0
- package/dist/esm/consensus/index.d.ts +8 -0
- package/dist/esm/consensus/index.d.ts.map +1 -0
- package/dist/esm/consensus/index.js +8 -0
- package/dist/esm/consensus/index.js.map +1 -0
- package/dist/esm/core/AgentRegistry.d.ts +89 -0
- package/dist/esm/core/AgentRegistry.d.ts.map +1 -0
- package/dist/esm/core/AgentRegistry.js +260 -0
- package/dist/esm/core/AgentRegistry.js.map +1 -0
- package/dist/esm/core/DashboardBroadcaster.d.ts +67 -0
- package/dist/esm/core/DashboardBroadcaster.d.ts.map +1 -0
- package/dist/esm/core/DashboardBroadcaster.js +260 -0
- package/dist/esm/core/DashboardBroadcaster.js.map +1 -0
- package/dist/esm/core/OrchestrationEngine.d.ts +85 -0
- package/dist/esm/core/OrchestrationEngine.d.ts.map +1 -0
- package/dist/esm/core/OrchestrationEngine.js +457 -0
- package/dist/esm/core/OrchestrationEngine.js.map +1 -0
- package/dist/esm/core/SubconsciousEngine.d.ts +53 -0
- package/dist/esm/core/SubconsciousEngine.d.ts.map +1 -0
- package/dist/esm/core/SubconsciousEngine.js +278 -0
- package/dist/esm/core/SubconsciousEngine.js.map +1 -0
- package/dist/esm/core/WebSocketServer.d.ts +89 -0
- package/dist/esm/core/WebSocketServer.d.ts.map +1 -0
- package/dist/esm/core/WebSocketServer.js +380 -0
- package/dist/esm/core/WebSocketServer.js.map +1 -0
- package/dist/esm/core/index.d.ts +15 -0
- package/dist/esm/core/index.d.ts.map +1 -0
- package/dist/esm/core/index.js +15 -0
- package/dist/esm/core/index.js.map +1 -0
- package/dist/esm/core/router.d.ts +105 -0
- package/dist/esm/core/router.d.ts.map +1 -0
- package/dist/esm/core/router.js +416 -0
- package/dist/esm/core/router.js.map +1 -0
- package/dist/esm/embed/index.d.ts +218 -0
- package/dist/esm/embed/index.d.ts.map +1 -0
- package/dist/esm/embed/index.js +939 -0
- package/dist/esm/embed/index.js.map +1 -0
- package/dist/esm/embed.d.ts +11 -0
- package/dist/esm/embed.d.ts.map +1 -0
- package/dist/esm/embed.js +11 -0
- package/dist/esm/embed.js.map +1 -0
- package/dist/esm/examples/basic-usage.d.ts +12 -0
- package/dist/esm/examples/basic-usage.d.ts.map +1 -0
- package/dist/esm/examples/basic-usage.js +126 -0
- package/dist/esm/examples/basic-usage.js.map +1 -0
- package/dist/esm/index.d.ts +83 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +132 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/protocol/flows.d.ts +126 -0
- package/dist/esm/protocol/flows.d.ts.map +1 -0
- package/dist/esm/protocol/flows.js +338 -0
- package/dist/esm/protocol/flows.js.map +1 -0
- package/dist/esm/protocol/iap.d.ts +54 -0
- package/dist/esm/protocol/iap.d.ts.map +1 -0
- package/dist/esm/protocol/iap.js +104 -0
- package/dist/esm/protocol/iap.js.map +1 -0
- package/dist/esm/protocol/index.d.ts +23 -0
- package/dist/esm/protocol/index.d.ts.map +1 -0
- package/dist/esm/protocol/index.js +28 -0
- package/dist/esm/protocol/index.js.map +1 -0
- package/dist/esm/protocol/types.d.ts +332 -0
- package/dist/esm/protocol/types.d.ts.map +1 -0
- package/dist/esm/protocol/types.js +54 -0
- package/dist/esm/protocol/types.js.map +1 -0
- package/dist/esm/protocol/utils.d.ts +130 -0
- package/dist/esm/protocol/utils.d.ts.map +1 -0
- package/dist/esm/protocol/utils.js +260 -0
- package/dist/esm/protocol/utils.js.map +1 -0
- package/dist/esm/protocol/validators.d.ts +54 -0
- package/dist/esm/protocol/validators.d.ts.map +1 -0
- package/dist/esm/protocol/validators.js +332 -0
- package/dist/esm/protocol/validators.js.map +1 -0
- package/dist/esm/security/AuthManager.d.ts +73 -0
- package/dist/esm/security/AuthManager.d.ts.map +1 -0
- package/dist/esm/security/AuthManager.js +95 -0
- package/dist/esm/security/AuthManager.js.map +1 -0
- package/dist/esm/security/MessageSanitizer.d.ts +51 -0
- package/dist/esm/security/MessageSanitizer.d.ts.map +1 -0
- package/dist/esm/security/MessageSanitizer.js +178 -0
- package/dist/esm/security/MessageSanitizer.js.map +1 -0
- package/dist/esm/security/RateLimiter.d.ts +46 -0
- package/dist/esm/security/RateLimiter.d.ts.map +1 -0
- package/dist/esm/security/RateLimiter.js +129 -0
- package/dist/esm/security/RateLimiter.js.map +1 -0
- package/dist/esm/security/SecurityMiddleware.d.ts +90 -0
- package/dist/esm/security/SecurityMiddleware.d.ts.map +1 -0
- package/dist/esm/security/SecurityMiddleware.js +144 -0
- package/dist/esm/security/SecurityMiddleware.js.map +1 -0
- package/dist/esm/security/index.d.ts +35 -0
- package/dist/esm/security/index.d.ts.map +1 -0
- package/dist/esm/security/index.js +35 -0
- package/dist/esm/security/index.js.map +1 -0
- package/dist/esm/speculative/PredictionEngine.d.ts +99 -0
- package/dist/esm/speculative/PredictionEngine.d.ts.map +1 -0
- package/dist/esm/speculative/PredictionEngine.js +284 -0
- package/dist/esm/speculative/PredictionEngine.js.map +1 -0
- package/dist/esm/speculative/SpeculativeCache.d.ts +117 -0
- package/dist/esm/speculative/SpeculativeCache.d.ts.map +1 -0
- package/dist/esm/speculative/SpeculativeCache.js +288 -0
- package/dist/esm/speculative/SpeculativeCache.js.map +1 -0
- package/dist/esm/speculative/SpeculativeEngine.d.ts +114 -0
- package/dist/esm/speculative/SpeculativeEngine.d.ts.map +1 -0
- package/dist/esm/speculative/SpeculativeEngine.js +240 -0
- package/dist/esm/speculative/SpeculativeEngine.js.map +1 -0
- package/dist/esm/speculative/WorkerPool.d.ts +109 -0
- package/dist/esm/speculative/WorkerPool.d.ts.map +1 -0
- package/dist/esm/speculative/WorkerPool.js +323 -0
- package/dist/esm/speculative/WorkerPool.js.map +1 -0
- package/dist/esm/speculative/index.d.ts +10 -0
- package/dist/esm/speculative/index.d.ts.map +1 -0
- package/dist/esm/speculative/index.js +10 -0
- package/dist/esm/speculative/index.js.map +1 -0
- package/dist/esm/subconscious/EmbeddingService.d.ts +73 -0
- package/dist/esm/subconscious/EmbeddingService.d.ts.map +1 -0
- package/dist/esm/subconscious/EmbeddingService.js +189 -0
- package/dist/esm/subconscious/EmbeddingService.js.map +1 -0
- package/dist/esm/subconscious/SemanticCache.d.ts +82 -0
- package/dist/esm/subconscious/SemanticCache.d.ts.map +1 -0
- package/dist/esm/subconscious/SemanticCache.js +160 -0
- package/dist/esm/subconscious/SemanticCache.js.map +1 -0
- package/dist/esm/subconscious/SubconsciousEngine.d.ts +121 -0
- package/dist/esm/subconscious/SubconsciousEngine.d.ts.map +1 -0
- package/dist/esm/subconscious/SubconsciousEngine.js +237 -0
- package/dist/esm/subconscious/SubconsciousEngine.js.map +1 -0
- package/dist/esm/subconscious/VectorStore.d.ts +54 -0
- package/dist/esm/subconscious/VectorStore.d.ts.map +1 -0
- package/dist/esm/subconscious/VectorStore.js +164 -0
- package/dist/esm/subconscious/VectorStore.js.map +1 -0
- package/dist/esm/subconscious/cache.d.ts +34 -0
- package/dist/esm/subconscious/cache.d.ts.map +1 -0
- package/dist/esm/subconscious/cache.js +152 -0
- package/dist/{subconscious → esm/subconscious}/cache.js.map +1 -1
- package/dist/esm/subconscious/embeddings.d.ts +25 -0
- package/dist/esm/subconscious/embeddings.d.ts.map +1 -0
- package/dist/esm/subconscious/embeddings.js +58 -0
- package/dist/esm/subconscious/embeddings.js.map +1 -0
- package/dist/esm/subconscious/index.d.ts +12 -0
- package/dist/esm/subconscious/index.d.ts.map +1 -0
- package/dist/esm/subconscious/index.js +12 -0
- package/dist/esm/subconscious/index.js.map +1 -0
- package/dist/esm/types/index.d.ts +286 -0
- package/dist/esm/types/index.d.ts.map +1 -0
- package/dist/esm/types/index.js +40 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/utils/logger.d.ts +63 -0
- package/dist/esm/utils/logger.d.ts.map +1 -0
- package/dist/esm/utils/logger.js +122 -0
- package/dist/esm/utils/logger.js.map +1 -0
- package/package.json +77 -13
- package/dist/cloud/KeyManager.d.ts.map +0 -1
- package/dist/cloud/KeyManager.js.map +0 -1
- package/dist/cloud/TenantCache.d.ts.map +0 -1
- package/dist/cloud/TenantCache.js.map +0 -1
- package/dist/cloud/index.d.ts.map +0 -1
- package/dist/cloud/index.js.map +0 -1
- package/dist/cloud/server.d.ts.map +0 -1
- package/dist/cloud/server.js.map +0 -1
- package/dist/cloud/types.d.ts.map +0 -1
- package/dist/cloud/types.js.map +0 -1
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/index.js.map +0 -1
- package/dist/consensus/ConsensusEngine.d.ts.map +0 -1
- package/dist/consensus/ConsensusEngine.js.map +0 -1
- package/dist/consensus/ModelPool.d.ts.map +0 -1
- package/dist/consensus/ModelPool.js.map +0 -1
- package/dist/consensus/index.d.ts.map +0 -1
- package/dist/consensus/index.js.map +0 -1
- package/dist/core/AgentRegistry.d.ts.map +0 -1
- package/dist/core/AgentRegistry.js.map +0 -1
- package/dist/core/DashboardBroadcaster.d.ts.map +0 -1
- package/dist/core/DashboardBroadcaster.js.map +0 -1
- package/dist/core/OrchestrationEngine.d.ts.map +0 -1
- package/dist/core/OrchestrationEngine.js.map +0 -1
- package/dist/core/SubconsciousEngine.d.ts.map +0 -1
- package/dist/core/SubconsciousEngine.js.map +0 -1
- package/dist/core/WebSocketServer.d.ts.map +0 -1
- package/dist/core/WebSocketServer.js.map +0 -1
- package/dist/core/index.d.ts.map +0 -1
- package/dist/core/index.js.map +0 -1
- package/dist/core/router.d.ts.map +0 -1
- package/dist/core/router.js.map +0 -1
- package/dist/embed/index.d.ts.map +0 -1
- package/dist/embed/index.js +0 -408
- package/dist/embed/index.js.map +0 -1
- package/dist/embed.d.ts.map +0 -1
- package/dist/embed.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/protocol/flows.d.ts.map +0 -1
- package/dist/protocol/flows.js.map +0 -1
- package/dist/protocol/iap.d.ts.map +0 -1
- package/dist/protocol/iap.js.map +0 -1
- package/dist/protocol/index.d.ts.map +0 -1
- package/dist/protocol/index.js.map +0 -1
- package/dist/protocol/types.d.ts.map +0 -1
- package/dist/protocol/types.js.map +0 -1
- package/dist/protocol/utils.d.ts.map +0 -1
- package/dist/protocol/utils.js.map +0 -1
- package/dist/protocol/validators.d.ts.map +0 -1
- package/dist/protocol/validators.js.map +0 -1
- package/dist/security/AuthManager.d.ts.map +0 -1
- package/dist/security/AuthManager.js.map +0 -1
- package/dist/security/MessageSanitizer.d.ts.map +0 -1
- package/dist/security/MessageSanitizer.js.map +0 -1
- package/dist/security/RateLimiter.d.ts.map +0 -1
- package/dist/security/RateLimiter.js.map +0 -1
- package/dist/security/SecurityMiddleware.d.ts.map +0 -1
- package/dist/security/SecurityMiddleware.js.map +0 -1
- package/dist/security/index.d.ts.map +0 -1
- package/dist/security/index.js.map +0 -1
- package/dist/speculative/PredictionEngine.d.ts.map +0 -1
- package/dist/speculative/PredictionEngine.js.map +0 -1
- package/dist/speculative/SpeculativeCache.d.ts.map +0 -1
- package/dist/speculative/SpeculativeCache.js.map +0 -1
- package/dist/speculative/SpeculativeEngine.d.ts.map +0 -1
- package/dist/speculative/SpeculativeEngine.js.map +0 -1
- package/dist/speculative/WorkerPool.d.ts.map +0 -1
- package/dist/speculative/WorkerPool.js.map +0 -1
- package/dist/speculative/index.d.ts.map +0 -1
- package/dist/speculative/index.js.map +0 -1
- package/dist/subconscious/EmbeddingService.d.ts.map +0 -1
- package/dist/subconscious/EmbeddingService.js.map +0 -1
- package/dist/subconscious/SemanticCache.d.ts.map +0 -1
- package/dist/subconscious/SemanticCache.js.map +0 -1
- package/dist/subconscious/SubconsciousEngine.d.ts.map +0 -1
- package/dist/subconscious/SubconsciousEngine.js.map +0 -1
- package/dist/subconscious/VectorStore.d.ts.map +0 -1
- package/dist/subconscious/VectorStore.js.map +0 -1
- package/dist/subconscious/cache.d.ts.map +0 -1
- package/dist/subconscious/embeddings.d.ts.map +0 -1
- package/dist/subconscious/embeddings.js.map +0 -1
- package/dist/subconscious/index.d.ts.map +0 -1
- package/dist/subconscious/index.js.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js.map +0 -1
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js.map +0 -1
- /package/dist/{cloud → cjs/cloud}/KeyManager.d.ts +0 -0
- /package/dist/{cloud → cjs/cloud}/KeyManager.js +0 -0
- /package/dist/{cloud → cjs/cloud}/TenantCache.d.ts +0 -0
- /package/dist/{cloud → cjs/cloud}/TenantCache.js +0 -0
- /package/dist/{cloud → cjs/cloud}/index.d.ts +0 -0
- /package/dist/{cloud → cjs/cloud}/index.js +0 -0
- /package/dist/{cloud → cjs/cloud}/server.d.ts +0 -0
- /package/dist/{cloud → cjs/cloud}/server.js +0 -0
- /package/dist/{cloud → cjs/cloud}/types.d.ts +0 -0
- /package/dist/{cloud → cjs/cloud}/types.js +0 -0
- /package/dist/{config → cjs/config}/index.d.ts +0 -0
- /package/dist/{config → cjs/config}/index.js +0 -0
- /package/dist/{consensus → cjs/consensus}/ConsensusEngine.d.ts +0 -0
- /package/dist/{consensus → cjs/consensus}/ConsensusEngine.js +0 -0
- /package/dist/{consensus → cjs/consensus}/ModelPool.d.ts +0 -0
- /package/dist/{consensus → cjs/consensus}/ModelPool.js +0 -0
- /package/dist/{consensus → cjs/consensus}/index.d.ts +0 -0
- /package/dist/{consensus → cjs/consensus}/index.js +0 -0
- /package/dist/{core → cjs/core}/AgentRegistry.d.ts +0 -0
- /package/dist/{core → cjs/core}/AgentRegistry.js +0 -0
- /package/dist/{core → cjs/core}/DashboardBroadcaster.d.ts +0 -0
- /package/dist/{core → cjs/core}/DashboardBroadcaster.js +0 -0
- /package/dist/{core → cjs/core}/SubconsciousEngine.d.ts +0 -0
- /package/dist/{core → cjs/core}/WebSocketServer.d.ts +0 -0
- /package/dist/{core → cjs/core}/index.d.ts +0 -0
- /package/dist/{core → cjs/core}/index.js +0 -0
- /package/dist/{core → cjs/core}/router.d.ts +0 -0
- /package/dist/{core → cjs/core}/router.js +0 -0
- /package/dist/{embed.d.ts → cjs/embed.d.ts} +0 -0
- /package/dist/{embed.js → cjs/embed.js} +0 -0
- /package/dist/{index.d.ts → cjs/index.d.ts} +0 -0
- /package/dist/{index.js → cjs/index.js} +0 -0
- /package/dist/{protocol → cjs/protocol}/flows.d.ts +0 -0
- /package/dist/{protocol → cjs/protocol}/flows.js +0 -0
- /package/dist/{protocol → cjs/protocol}/iap.d.ts +0 -0
- /package/dist/{protocol → cjs/protocol}/iap.js +0 -0
- /package/dist/{protocol → cjs/protocol}/index.d.ts +0 -0
- /package/dist/{protocol → cjs/protocol}/index.js +0 -0
- /package/dist/{protocol → cjs/protocol}/types.d.ts +0 -0
- /package/dist/{protocol → cjs/protocol}/types.js +0 -0
- /package/dist/{protocol → cjs/protocol}/utils.d.ts +0 -0
- /package/dist/{protocol → cjs/protocol}/utils.js +0 -0
- /package/dist/{protocol → cjs/protocol}/validators.d.ts +0 -0
- /package/dist/{protocol → cjs/protocol}/validators.js +0 -0
- /package/dist/{security → cjs/security}/AuthManager.d.ts +0 -0
- /package/dist/{security → cjs/security}/AuthManager.js +0 -0
- /package/dist/{security → cjs/security}/MessageSanitizer.d.ts +0 -0
- /package/dist/{security → cjs/security}/RateLimiter.d.ts +0 -0
- /package/dist/{security → cjs/security}/RateLimiter.js +0 -0
- /package/dist/{security → cjs/security}/index.d.ts +0 -0
- /package/dist/{security → cjs/security}/index.js +0 -0
- /package/dist/{speculative → cjs/speculative}/PredictionEngine.d.ts +0 -0
- /package/dist/{speculative → cjs/speculative}/PredictionEngine.js +0 -0
- /package/dist/{speculative → cjs/speculative}/SpeculativeCache.d.ts +0 -0
- /package/dist/{speculative → cjs/speculative}/SpeculativeCache.js +0 -0
- /package/dist/{speculative → cjs/speculative}/SpeculativeEngine.d.ts +0 -0
- /package/dist/{speculative → cjs/speculative}/SpeculativeEngine.js +0 -0
- /package/dist/{speculative → cjs/speculative}/WorkerPool.d.ts +0 -0
- /package/dist/{speculative → cjs/speculative}/WorkerPool.js +0 -0
- /package/dist/{speculative → cjs/speculative}/index.d.ts +0 -0
- /package/dist/{speculative → cjs/speculative}/index.js +0 -0
- /package/dist/{subconscious → cjs/subconscious}/EmbeddingService.d.ts +0 -0
- /package/dist/{subconscious → cjs/subconscious}/EmbeddingService.js +0 -0
- /package/dist/{subconscious → cjs/subconscious}/SemanticCache.d.ts +0 -0
- /package/dist/{subconscious → cjs/subconscious}/SemanticCache.js +0 -0
- /package/dist/{subconscious → cjs/subconscious}/SubconsciousEngine.d.ts +0 -0
- /package/dist/{subconscious → cjs/subconscious}/SubconsciousEngine.js +0 -0
- /package/dist/{subconscious → cjs/subconscious}/VectorStore.d.ts +0 -0
- /package/dist/{subconscious → cjs/subconscious}/cache.d.ts +0 -0
- /package/dist/{subconscious → cjs/subconscious}/cache.js +0 -0
- /package/dist/{subconscious → cjs/subconscious}/embeddings.d.ts +0 -0
- /package/dist/{subconscious → cjs/subconscious}/embeddings.js +0 -0
- /package/dist/{subconscious → cjs/subconscious}/index.d.ts +0 -0
- /package/dist/{subconscious → cjs/subconscious}/index.js +0 -0
- /package/dist/{types → cjs/types}/index.d.ts +0 -0
- /package/dist/{types → cjs/types}/index.js +0 -0
- /package/dist/{utils → cjs/utils}/logger.d.ts +0 -0
- /package/dist/{utils → cjs/utils}/logger.js +0 -0
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { ApiKey } from './AuthManager';
|
|
2
|
+
/**
|
|
3
|
+
* Security Middleware
|
|
4
|
+
* Integrates all security features into a single middleware
|
|
5
|
+
*/
|
|
6
|
+
export interface SecurityConfig {
|
|
7
|
+
auth: {
|
|
8
|
+
enabled: boolean;
|
|
9
|
+
requireApiKey: boolean;
|
|
10
|
+
allowedOrigins?: string[];
|
|
11
|
+
defaultRateLimit?: {
|
|
12
|
+
requestsPerMinute: number;
|
|
13
|
+
requestsPerHour: number;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
rateLimit: {
|
|
17
|
+
enabled: boolean;
|
|
18
|
+
requestsPerMinute: number;
|
|
19
|
+
requestsPerHour: number;
|
|
20
|
+
blockDuration?: number;
|
|
21
|
+
};
|
|
22
|
+
sanitization: {
|
|
23
|
+
enabled: boolean;
|
|
24
|
+
maxStringLength?: number;
|
|
25
|
+
maxArrayLength?: number;
|
|
26
|
+
maxObjectDepth?: number;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export interface SecurityCheckResult {
|
|
30
|
+
allowed: boolean;
|
|
31
|
+
reason?: string;
|
|
32
|
+
apiKey?: ApiKey;
|
|
33
|
+
rateLimit?: {
|
|
34
|
+
remaining: {
|
|
35
|
+
perMinute: number;
|
|
36
|
+
perHour: number;
|
|
37
|
+
};
|
|
38
|
+
resetAt?: number;
|
|
39
|
+
};
|
|
40
|
+
sanitizedMessage?: any;
|
|
41
|
+
}
|
|
42
|
+
export declare class SecurityMiddleware {
|
|
43
|
+
private authManager;
|
|
44
|
+
private rateLimiter;
|
|
45
|
+
private sanitizer;
|
|
46
|
+
private config;
|
|
47
|
+
constructor(config: SecurityConfig);
|
|
48
|
+
/**
|
|
49
|
+
* Check if a request is allowed
|
|
50
|
+
* @param isConnectionCheck - true when called for the initial TCP/WS connection
|
|
51
|
+
* (before any protocol message arrives). Skips message structure validation.
|
|
52
|
+
*/
|
|
53
|
+
checkRequest(apiKey: string | undefined, origin: string | undefined, message: any, identifier: string, isConnectionCheck?: boolean): SecurityCheckResult;
|
|
54
|
+
/**
|
|
55
|
+
* Generate a new API key
|
|
56
|
+
*/
|
|
57
|
+
generateApiKey(agentId: string, name: string, options?: {
|
|
58
|
+
expiresIn?: number;
|
|
59
|
+
permissions?: string[];
|
|
60
|
+
rateLimit?: {
|
|
61
|
+
requestsPerMinute: number;
|
|
62
|
+
requestsPerHour: number;
|
|
63
|
+
};
|
|
64
|
+
}): string;
|
|
65
|
+
/**
|
|
66
|
+
* Revoke an API key
|
|
67
|
+
*/
|
|
68
|
+
revokeApiKey(key: string): boolean;
|
|
69
|
+
/**
|
|
70
|
+
* List API keys
|
|
71
|
+
*/
|
|
72
|
+
listApiKeys(agentId?: string): ApiKey[];
|
|
73
|
+
/**
|
|
74
|
+
* Get rate limit usage
|
|
75
|
+
*/
|
|
76
|
+
getRateLimitUsage(identifier: string): {
|
|
77
|
+
minuteRequests: number;
|
|
78
|
+
hourRequests: number;
|
|
79
|
+
blockedUntil?: number;
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
* Reset rate limit for an identifier
|
|
83
|
+
*/
|
|
84
|
+
resetRateLimit(identifier: string): void;
|
|
85
|
+
/**
|
|
86
|
+
* Destroy security middleware
|
|
87
|
+
*/
|
|
88
|
+
destroy(): void;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=SecurityMiddleware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SecurityMiddleware.d.ts","sourceRoot":"","sources":["../../../src/security/SecurityMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,MAAM,EAAE,MAAM,eAAe,CAAC;AAIpD;;;GAGG;AAEH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE;QACJ,OAAO,EAAE,OAAO,CAAC;QACjB,aAAa,EAAE,OAAO,CAAC;QACvB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;QAC1B,gBAAgB,CAAC,EAAE;YACjB,iBAAiB,EAAE,MAAM,CAAC;YAC1B,eAAe,EAAE,MAAM,CAAC;SACzB,CAAC;KACH,CAAC;IACF,SAAS,EAAE;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,YAAY,EAAE;QACZ,OAAO,EAAE,OAAO,CAAC;QACjB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE;QACV,SAAS,EAAE;YACT,SAAS,EAAE,MAAM,CAAC;YAClB,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,gBAAgB,CAAC,EAAE,GAAG,CAAC;CACxB;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,MAAM,CAAiB;gBAEnB,MAAM,EAAE,cAAc;IAOlC;;;;OAIG;IACH,YAAY,CACV,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE,GAAG,EACZ,UAAU,EAAE,MAAM,EAClB,iBAAiB,UAAQ,GACxB,mBAAmB;IA2GtB;;OAEG;IACH,cAAc,CACZ,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,SAAS,CAAC,EAAE;YAAE,iBAAiB,EAAE,MAAM,CAAC;YAAC,eAAe,EAAE,MAAM,CAAA;SAAE,CAAC;KACpE,GACA,MAAM;IAIT;;OAEG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIlC;;OAEG;IACH,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAIvC;;OAEG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG;QACrC,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB;IAID;;OAEG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIxC;;OAEG;IACH,OAAO,IAAI,IAAI;CAGhB"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { AuthManager } from './AuthManager';
|
|
2
|
+
import { RateLimiter } from './RateLimiter';
|
|
3
|
+
import { MessageSanitizer } from './MessageSanitizer';
|
|
4
|
+
export class SecurityMiddleware {
|
|
5
|
+
constructor(config) {
|
|
6
|
+
this.config = config;
|
|
7
|
+
this.authManager = new AuthManager(config.auth);
|
|
8
|
+
this.rateLimiter = new RateLimiter();
|
|
9
|
+
this.sanitizer = new MessageSanitizer(config.sanitization);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Check if a request is allowed
|
|
13
|
+
* @param isConnectionCheck - true when called for the initial TCP/WS connection
|
|
14
|
+
* (before any protocol message arrives). Skips message structure validation.
|
|
15
|
+
*/
|
|
16
|
+
checkRequest(apiKey, origin, message, identifier, isConnectionCheck = false) {
|
|
17
|
+
// 1. Check authentication
|
|
18
|
+
if (this.config.auth.enabled) {
|
|
19
|
+
const authResult = this.authManager.validateApiKey(apiKey || '');
|
|
20
|
+
if (!authResult.valid) {
|
|
21
|
+
return {
|
|
22
|
+
allowed: false,
|
|
23
|
+
reason: authResult.reason || 'Authentication failed',
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
// Check origin (CORS)
|
|
27
|
+
if (origin && !this.authManager.validateOrigin(origin)) {
|
|
28
|
+
return {
|
|
29
|
+
allowed: false,
|
|
30
|
+
reason: 'Origin not allowed',
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
// 2. Check rate limit
|
|
34
|
+
if (this.config.rateLimit.enabled && authResult.apiKey) {
|
|
35
|
+
const rateLimit = this.authManager.getRateLimit(authResult.apiKey);
|
|
36
|
+
const rateLimitResult = this.rateLimiter.checkLimit(identifier, {
|
|
37
|
+
...rateLimit,
|
|
38
|
+
blockDuration: this.config.rateLimit.blockDuration,
|
|
39
|
+
});
|
|
40
|
+
if (!rateLimitResult.allowed) {
|
|
41
|
+
return {
|
|
42
|
+
allowed: false,
|
|
43
|
+
reason: 'Rate limit exceeded',
|
|
44
|
+
rateLimit: {
|
|
45
|
+
remaining: rateLimitResult.remaining,
|
|
46
|
+
resetAt: rateLimitResult.resetAt,
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
// 3. Sanitize message
|
|
51
|
+
let sanitizedMessage = message;
|
|
52
|
+
if (this.config.sanitization.enabled && !isConnectionCheck) {
|
|
53
|
+
const sanitizationResult = this.sanitizer.sanitizeAndValidate(message);
|
|
54
|
+
if (!sanitizationResult.valid) {
|
|
55
|
+
return {
|
|
56
|
+
allowed: false,
|
|
57
|
+
reason: `Message validation failed: ${sanitizationResult.errors?.join(', ')}`,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
sanitizedMessage = sanitizationResult.sanitized;
|
|
61
|
+
}
|
|
62
|
+
return {
|
|
63
|
+
allowed: true,
|
|
64
|
+
apiKey: authResult.apiKey,
|
|
65
|
+
rateLimit: {
|
|
66
|
+
remaining: rateLimitResult.remaining,
|
|
67
|
+
},
|
|
68
|
+
sanitizedMessage,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
// If auth is disabled, still check rate limit and sanitization
|
|
73
|
+
if (this.config.rateLimit.enabled) {
|
|
74
|
+
const rateLimitResult = this.rateLimiter.checkLimit(identifier, {
|
|
75
|
+
requestsPerMinute: this.config.rateLimit.requestsPerMinute,
|
|
76
|
+
requestsPerHour: this.config.rateLimit.requestsPerHour,
|
|
77
|
+
blockDuration: this.config.rateLimit.blockDuration,
|
|
78
|
+
});
|
|
79
|
+
if (!rateLimitResult.allowed) {
|
|
80
|
+
return {
|
|
81
|
+
allowed: false,
|
|
82
|
+
reason: 'Rate limit exceeded',
|
|
83
|
+
rateLimit: {
|
|
84
|
+
remaining: rateLimitResult.remaining,
|
|
85
|
+
resetAt: rateLimitResult.resetAt,
|
|
86
|
+
},
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
// Sanitize message
|
|
91
|
+
let sanitizedMessage = message;
|
|
92
|
+
if (this.config.sanitization.enabled && !isConnectionCheck) {
|
|
93
|
+
const sanitizationResult = this.sanitizer.sanitizeAndValidate(message);
|
|
94
|
+
if (!sanitizationResult.valid) {
|
|
95
|
+
return {
|
|
96
|
+
allowed: false,
|
|
97
|
+
reason: `Message validation failed: ${sanitizationResult.errors?.join(', ')}`,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
sanitizedMessage = sanitizationResult.sanitized;
|
|
101
|
+
}
|
|
102
|
+
return {
|
|
103
|
+
allowed: true,
|
|
104
|
+
sanitizedMessage,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Generate a new API key
|
|
109
|
+
*/
|
|
110
|
+
generateApiKey(agentId, name, options) {
|
|
111
|
+
return this.authManager.generateApiKey(agentId, name, options);
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Revoke an API key
|
|
115
|
+
*/
|
|
116
|
+
revokeApiKey(key) {
|
|
117
|
+
return this.authManager.revokeApiKey(key);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* List API keys
|
|
121
|
+
*/
|
|
122
|
+
listApiKeys(agentId) {
|
|
123
|
+
return this.authManager.listApiKeys(agentId);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Get rate limit usage
|
|
127
|
+
*/
|
|
128
|
+
getRateLimitUsage(identifier) {
|
|
129
|
+
return this.rateLimiter.getUsage(identifier);
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Reset rate limit for an identifier
|
|
133
|
+
*/
|
|
134
|
+
resetRateLimit(identifier) {
|
|
135
|
+
this.rateLimiter.reset(identifier);
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Destroy security middleware
|
|
139
|
+
*/
|
|
140
|
+
destroy() {
|
|
141
|
+
this.rateLimiter.destroy();
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=SecurityMiddleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SecurityMiddleware.js","sourceRoot":"","sources":["../../../src/security/SecurityMiddleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Security Module
|
|
3
|
+
* Exports all security-related components
|
|
4
|
+
*/
|
|
5
|
+
export { AuthManager, ApiKey, AuthConfig } from './AuthManager';
|
|
6
|
+
export { RateLimiter, RateLimitConfig } from './RateLimiter';
|
|
7
|
+
export { MessageSanitizer, SanitizationResult } from './MessageSanitizer';
|
|
8
|
+
export { SecurityMiddleware, SecurityConfig, SecurityCheckResult } from './SecurityMiddleware';
|
|
9
|
+
/**
|
|
10
|
+
* Default security configuration
|
|
11
|
+
*/
|
|
12
|
+
export declare const DEFAULT_SECURITY_CONFIG: {
|
|
13
|
+
auth: {
|
|
14
|
+
enabled: boolean;
|
|
15
|
+
requireApiKey: boolean;
|
|
16
|
+
allowedOrigins: string[];
|
|
17
|
+
defaultRateLimit: {
|
|
18
|
+
requestsPerMinute: number;
|
|
19
|
+
requestsPerHour: number;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
rateLimit: {
|
|
23
|
+
enabled: boolean;
|
|
24
|
+
requestsPerMinute: number;
|
|
25
|
+
requestsPerHour: number;
|
|
26
|
+
blockDuration: number;
|
|
27
|
+
};
|
|
28
|
+
sanitization: {
|
|
29
|
+
enabled: boolean;
|
|
30
|
+
maxStringLength: number;
|
|
31
|
+
maxArrayLength: number;
|
|
32
|
+
maxObjectDepth: number;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/security/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE/F;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;CAsBnC,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Security Module
|
|
3
|
+
* Exports all security-related components
|
|
4
|
+
*/
|
|
5
|
+
export { AuthManager } from './AuthManager';
|
|
6
|
+
export { RateLimiter } from './RateLimiter';
|
|
7
|
+
export { MessageSanitizer } from './MessageSanitizer';
|
|
8
|
+
export { SecurityMiddleware } from './SecurityMiddleware';
|
|
9
|
+
/**
|
|
10
|
+
* Default security configuration
|
|
11
|
+
*/
|
|
12
|
+
export const DEFAULT_SECURITY_CONFIG = {
|
|
13
|
+
auth: {
|
|
14
|
+
enabled: false, // Disabled by default for development
|
|
15
|
+
requireApiKey: false,
|
|
16
|
+
allowedOrigins: ['*'],
|
|
17
|
+
defaultRateLimit: {
|
|
18
|
+
requestsPerMinute: 60,
|
|
19
|
+
requestsPerHour: 1000,
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
rateLimit: {
|
|
23
|
+
enabled: true,
|
|
24
|
+
requestsPerMinute: 60,
|
|
25
|
+
requestsPerHour: 1000,
|
|
26
|
+
blockDuration: 60000, // 1 minute
|
|
27
|
+
},
|
|
28
|
+
sanitization: {
|
|
29
|
+
enabled: true,
|
|
30
|
+
maxStringLength: 10000,
|
|
31
|
+
maxArrayLength: 1000,
|
|
32
|
+
maxObjectDepth: 10,
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/security/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAsB,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,WAAW,EAAmB,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAsB,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAuC,MAAM,sBAAsB,CAAC;AAE/F;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,IAAI,EAAE;QACJ,OAAO,EAAE,KAAK,EAAE,sCAAsC;QACtD,aAAa,EAAE,KAAK;QACpB,cAAc,EAAE,CAAC,GAAG,CAAC;QACrB,gBAAgB,EAAE;YAChB,iBAAiB,EAAE,EAAE;YACrB,eAAe,EAAE,IAAI;SACtB;KACF;IACD,SAAS,EAAE;QACT,OAAO,EAAE,IAAI;QACb,iBAAiB,EAAE,EAAE;QACrB,eAAe,EAAE,IAAI;QACrB,aAAa,EAAE,KAAK,EAAE,WAAW;KAClC;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,IAAI;QACb,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,IAAI;QACpB,cAAc,EAAE,EAAE;KACnB;CACF,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prediction Engine - Speculative Execution v2.0
|
|
3
|
+
*
|
|
4
|
+
* Analyzes historical request patterns and predicts the next 3 most probable
|
|
5
|
+
* agent requests using lightweight local models (Llama 3.2 1B/3B).
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - Pattern analysis from request history
|
|
9
|
+
* - Confidence scoring (0.0-1.0)
|
|
10
|
+
* - Lightweight model inference
|
|
11
|
+
* - Real-time prediction updates
|
|
12
|
+
*/
|
|
13
|
+
import { EventEmitter } from 'events';
|
|
14
|
+
export interface PredictionRequest {
|
|
15
|
+
taskType: string;
|
|
16
|
+
context: string;
|
|
17
|
+
agentId?: string;
|
|
18
|
+
timestamp: number;
|
|
19
|
+
}
|
|
20
|
+
export interface Prediction {
|
|
21
|
+
id: string;
|
|
22
|
+
taskType: string;
|
|
23
|
+
context: string;
|
|
24
|
+
confidence: number;
|
|
25
|
+
reasoning: string;
|
|
26
|
+
timestamp: number;
|
|
27
|
+
expiresAt: number;
|
|
28
|
+
}
|
|
29
|
+
export interface PredictionEngineConfig {
|
|
30
|
+
ollamaUrl?: string;
|
|
31
|
+
modelName?: string;
|
|
32
|
+
maxPredictions?: number;
|
|
33
|
+
minConfidence?: number;
|
|
34
|
+
historySize?: number;
|
|
35
|
+
predictionTTL?: number;
|
|
36
|
+
}
|
|
37
|
+
export interface PredictionMetrics {
|
|
38
|
+
totalPredictions: number;
|
|
39
|
+
accuratePredictions: number;
|
|
40
|
+
accuracy: number;
|
|
41
|
+
averageConfidence: number;
|
|
42
|
+
predictionTime: number;
|
|
43
|
+
}
|
|
44
|
+
export declare class PredictionEngine extends EventEmitter {
|
|
45
|
+
private config;
|
|
46
|
+
private requestHistory;
|
|
47
|
+
private activePredictions;
|
|
48
|
+
private metrics;
|
|
49
|
+
constructor(config?: PredictionEngineConfig);
|
|
50
|
+
/**
|
|
51
|
+
* Record a new request in the history
|
|
52
|
+
*/
|
|
53
|
+
recordRequest(request: PredictionRequest): void;
|
|
54
|
+
/**
|
|
55
|
+
* Generate predictions based on current history
|
|
56
|
+
*/
|
|
57
|
+
generatePredictions(): Promise<Prediction[]>;
|
|
58
|
+
/**
|
|
59
|
+
* Check if a request matches any active prediction
|
|
60
|
+
*/
|
|
61
|
+
matchPrediction(request: PredictionRequest): Prediction | null;
|
|
62
|
+
/**
|
|
63
|
+
* Analyze patterns in request history
|
|
64
|
+
*/
|
|
65
|
+
private analyzePatterns;
|
|
66
|
+
/**
|
|
67
|
+
* Use lightweight model to predict next requests
|
|
68
|
+
*/
|
|
69
|
+
private predictNextRequests;
|
|
70
|
+
/**
|
|
71
|
+
* Build prompt for prediction model
|
|
72
|
+
*/
|
|
73
|
+
private buildPredictionPrompt;
|
|
74
|
+
/**
|
|
75
|
+
* Parse predictions from model response
|
|
76
|
+
*/
|
|
77
|
+
private parsePredictions;
|
|
78
|
+
/**
|
|
79
|
+
* Calculate similarity score between request and prediction
|
|
80
|
+
*/
|
|
81
|
+
private calculateMatchScore;
|
|
82
|
+
/**
|
|
83
|
+
* Simple text similarity using word overlap
|
|
84
|
+
*/
|
|
85
|
+
private calculateTextSimilarity;
|
|
86
|
+
/**
|
|
87
|
+
* Get current metrics
|
|
88
|
+
*/
|
|
89
|
+
getMetrics(): PredictionMetrics;
|
|
90
|
+
/**
|
|
91
|
+
* Get active predictions
|
|
92
|
+
*/
|
|
93
|
+
getActivePredictions(): Prediction[];
|
|
94
|
+
/**
|
|
95
|
+
* Clear all predictions and history
|
|
96
|
+
*/
|
|
97
|
+
clear(): void;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=PredictionEngine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PredictionEngine.d.ts","sourceRoot":"","sources":["../../../src/speculative/PredictionEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,OAAO,CAAC,MAAM,CAAmC;IACjD,OAAO,CAAC,cAAc,CAA2B;IACjD,OAAO,CAAC,iBAAiB,CAAsC;IAC/D,OAAO,CAAC,OAAO,CAMb;gBAEU,MAAM,GAAE,sBAA2B;IAY/C;;OAEG;IACI,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IActD;;OAEG;IACU,mBAAmB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IA0CzD;;OAEG;IACI,eAAe,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,GAAG,IAAI;IAsCrE;;OAEG;IACH,OAAO,CAAC,eAAe;IAqCvB;;OAEG;YACW,mBAAmB;IAiCjC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiC7B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA0BxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAwB3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAU/B;;OAEG;IACI,UAAU,IAAI,iBAAiB;IAItC;;OAEG;IACI,oBAAoB,IAAI,UAAU,EAAE;IAO3C;;OAEG;IACI,KAAK,IAAI,IAAI;CAWrB"}
|