@mxf-dev/core 1.0.1 → 2.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 +18 -0
- package/dist/adapters/FrameworkAdapter.js +1 -1
- package/dist/adapters/FrameworkAdapter.js.map +1 -1
- package/dist/config/ConfigManager.d.ts +9 -8
- package/dist/config/ConfigManager.d.ts.map +1 -1
- package/dist/config/ConfigManager.js +47 -17
- package/dist/config/ConfigManager.js.map +1 -1
- package/dist/config/memory-strata.config.d.ts +25 -0
- package/dist/config/memory-strata.config.d.ts.map +1 -0
- package/dist/config/memory-strata.config.js +107 -0
- package/dist/config/memory-strata.config.js.map +1 -0
- package/dist/constants/ToolNames.d.ts +1 -29
- package/dist/constants/ToolNames.d.ts.map +1 -1
- package/dist/constants/ToolNames.js +4 -17
- package/dist/constants/ToolNames.js.map +1 -1
- package/dist/database/DatabaseAdapterFactory.d.ts +14 -2
- package/dist/database/DatabaseAdapterFactory.d.ts.map +1 -1
- package/dist/database/DatabaseAdapterFactory.js +21 -6
- package/dist/database/DatabaseAdapterFactory.js.map +1 -1
- package/dist/database/adapters/mongodb/MongoBaseRepository.d.ts +7 -1
- package/dist/database/adapters/mongodb/MongoBaseRepository.d.ts.map +1 -1
- package/dist/database/adapters/mongodb/MongoBaseRepository.js +12 -2
- package/dist/database/adapters/mongodb/MongoBaseRepository.js.map +1 -1
- package/dist/events/ClientEventBus.d.ts +16 -77
- package/dist/events/ClientEventBus.d.ts.map +1 -1
- package/dist/events/ClientEventBus.js +38 -311
- package/dist/events/ClientEventBus.js.map +1 -1
- package/dist/events/EventBus.d.ts +1 -1
- package/dist/events/EventBus.d.ts.map +1 -1
- package/dist/events/EventBus.js +5 -4
- package/dist/events/EventBus.js.map +1 -1
- package/dist/events/EventBusBase.d.ts +139 -34
- package/dist/events/EventBusBase.d.ts.map +1 -1
- package/dist/events/EventBusBase.js +366 -88
- package/dist/events/EventBusBase.js.map +1 -1
- package/dist/events/EventNames.d.ts +10 -1
- package/dist/events/EventNames.d.ts.map +1 -1
- package/dist/events/EventNames.js +3 -0
- package/dist/events/EventNames.js.map +1 -1
- package/dist/events/PublicEvents.d.ts +6 -2
- package/dist/events/PublicEvents.d.ts.map +1 -1
- package/dist/events/PublicEvents.js +7 -4
- package/dist/events/PublicEvents.js.map +1 -1
- package/dist/events/ServerEventBus.d.ts +23 -112
- package/dist/events/ServerEventBus.d.ts.map +1 -1
- package/dist/events/ServerEventBus.js +58 -323
- package/dist/events/ServerEventBus.js.map +1 -1
- package/dist/events/event-definitions/LlmBudgetEvents.d.ts +68 -0
- package/dist/events/event-definitions/LlmBudgetEvents.d.ts.map +1 -0
- package/dist/events/event-definitions/LlmBudgetEvents.js +35 -0
- package/dist/events/event-definitions/LlmBudgetEvents.js.map +1 -0
- package/dist/interfaces/IMemoryPersistence.d.ts +41 -0
- package/dist/interfaces/IMemoryPersistence.d.ts.map +1 -0
- package/dist/interfaces/IMemoryPersistence.js +15 -0
- package/dist/interfaces/IMemoryPersistence.js.map +1 -0
- package/dist/middleware/MxpMiddleware.d.ts +8 -1
- package/dist/middleware/MxpMiddleware.d.ts.map +1 -1
- package/dist/middleware/MxpMiddleware.js +42 -20
- package/dist/middleware/MxpMiddleware.js.map +1 -1
- package/dist/models/channelKey.d.ts +1 -0
- package/dist/models/channelKey.d.ts.map +1 -1
- package/dist/models/channelKey.js +5 -0
- package/dist/models/channelKey.js.map +1 -1
- package/dist/models/memoryUtility.d.ts +39 -0
- package/dist/models/memoryUtility.d.ts.map +1 -0
- package/dist/models/memoryUtility.js +39 -0
- package/dist/models/memoryUtility.js.map +1 -0
- package/dist/models/user.d.ts.map +1 -1
- package/dist/models/user.js +23 -1
- package/dist/models/user.js.map +1 -1
- package/dist/mxp/BinaryProtocolLayer.d.ts +24 -8
- package/dist/mxp/BinaryProtocolLayer.d.ts.map +1 -1
- package/dist/mxp/BinaryProtocolLayer.js +90 -103
- package/dist/mxp/BinaryProtocolLayer.js.map +1 -1
- package/dist/mxp/ContextCompressionEngine.d.ts +57 -10
- package/dist/mxp/ContextCompressionEngine.d.ts.map +1 -1
- package/dist/mxp/ContextCompressionEngine.js +170 -128
- package/dist/mxp/ContextCompressionEngine.js.map +1 -1
- package/dist/mxp/MxpTokenOptimizer.d.ts +7 -3
- package/dist/mxp/MxpTokenOptimizer.d.ts.map +1 -1
- package/dist/mxp/MxpTokenOptimizer.js +8 -5
- package/dist/mxp/MxpTokenOptimizer.js.map +1 -1
- package/dist/prompts/MxfAgentSystemPrompt.d.ts +1 -1
- package/dist/prompts/MxfAgentSystemPrompt.d.ts.map +1 -1
- package/dist/prompts/MxfAgentSystemPrompt.js +47 -57
- package/dist/prompts/MxfAgentSystemPrompt.js.map +1 -1
- package/dist/protocols/mcp/ToolError.d.ts +123 -0
- package/dist/protocols/mcp/ToolError.d.ts.map +1 -0
- package/dist/protocols/mcp/ToolError.js +108 -0
- package/dist/protocols/mcp/ToolError.js.map +1 -0
- package/dist/protocols/mcp/defineTool.d.ts +133 -0
- package/dist/protocols/mcp/defineTool.d.ts.map +1 -0
- package/dist/protocols/mcp/defineTool.js +236 -0
- package/dist/protocols/mcp/defineTool.js.map +1 -0
- package/dist/protocols/mcp/security/HttpTargetGuard.d.ts +38 -0
- package/dist/protocols/mcp/security/HttpTargetGuard.d.ts.map +1 -0
- package/dist/protocols/mcp/security/HttpTargetGuard.js +227 -0
- package/dist/protocols/mcp/security/HttpTargetGuard.js.map +1 -0
- package/dist/protocols/mcp/security/McpSecurityGuard.d.ts +9 -1
- package/dist/protocols/mcp/security/McpSecurityGuard.d.ts.map +1 -1
- package/dist/protocols/mcp/security/McpSecurityGuard.js +10 -2
- package/dist/protocols/mcp/security/McpSecurityGuard.js.map +1 -1
- package/dist/protocols/mcp/security/McpToolPolicy.d.ts +81 -0
- package/dist/protocols/mcp/security/McpToolPolicy.d.ts.map +1 -0
- package/dist/protocols/mcp/security/McpToolPolicy.js +202 -0
- package/dist/protocols/mcp/security/McpToolPolicy.js.map +1 -0
- package/dist/protocols/mcp/services/ExternalMcpServerManager.d.ts +51 -18
- package/dist/protocols/mcp/services/ExternalMcpServerManager.d.ts.map +1 -1
- package/dist/protocols/mcp/services/ExternalMcpServerManager.js +256 -283
- package/dist/protocols/mcp/services/ExternalMcpServerManager.js.map +1 -1
- package/dist/protocols/mcp/services/ExternalServerConfigs.d.ts +39 -6
- package/dist/protocols/mcp/services/ExternalServerConfigs.d.ts.map +1 -1
- package/dist/protocols/mcp/services/ExternalServerConfigs.js +76 -18
- package/dist/protocols/mcp/services/ExternalServerConfigs.js.map +1 -1
- package/dist/protocols/mcp/tools/AnalyticsTools.js +1 -1
- package/dist/protocols/mcp/tools/AnalyticsTools.js.map +1 -1
- package/dist/protocols/mcp/tools/CodeAnalysisTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/CodeAnalysisTools.js +15 -0
- package/dist/protocols/mcp/tools/CodeAnalysisTools.js.map +1 -1
- package/dist/protocols/mcp/tools/EffectivenessTools.js +3 -3
- package/dist/protocols/mcp/tools/EffectivenessTools.js.map +1 -1
- package/dist/protocols/mcp/tools/GitTools.d.ts +9 -369
- package/dist/protocols/mcp/tools/GitTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/GitTools.js +222 -517
- package/dist/protocols/mcp/tools/GitTools.js.map +1 -1
- package/dist/protocols/mcp/tools/InfrastructureTools.d.ts +56 -24
- package/dist/protocols/mcp/tools/InfrastructureTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/InfrastructureTools.js +117 -26
- package/dist/protocols/mcp/tools/InfrastructureTools.js.map +1 -1
- package/dist/protocols/mcp/tools/MemorySearchTools.d.ts +0 -3
- package/dist/protocols/mcp/tools/MemorySearchTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/MemorySearchTools.js +58 -1
- package/dist/protocols/mcp/tools/MemorySearchTools.js.map +1 -1
- package/dist/protocols/mcp/tools/OrparTools.d.ts +8 -0
- package/dist/protocols/mcp/tools/OrparTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/OrparTools.js +66 -0
- package/dist/protocols/mcp/tools/OrparTools.js.map +1 -1
- package/dist/protocols/mcp/tools/SafetyTools.d.ts +7 -525
- package/dist/protocols/mcp/tools/SafetyTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/SafetyTools.js +349 -514
- package/dist/protocols/mcp/tools/SafetyTools.js.map +1 -1
- package/dist/protocols/mcp/tools/TaskPlanningTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/TaskPlanningTools.js +56 -26
- package/dist/protocols/mcp/tools/TaskPlanningTools.js.map +1 -1
- package/dist/protocols/mcp/tools/TestTools.d.ts +15 -376
- package/dist/protocols/mcp/tools/TestTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/TestTools.js +241 -363
- package/dist/protocols/mcp/tools/TestTools.js.map +1 -1
- package/dist/protocols/mcp/tools/TypeScriptTools.d.ts +6 -276
- package/dist/protocols/mcp/tools/TypeScriptTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/TypeScriptTools.js +223 -337
- package/dist/protocols/mcp/tools/TypeScriptTools.js.map +1 -1
- package/dist/protocols/mcp/tools/WebTools.d.ts +15 -728
- package/dist/protocols/mcp/tools/WebTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/WebTools.js +151 -257
- package/dist/protocols/mcp/tools/WebTools.js.map +1 -1
- package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.d.ts +5 -3
- package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.js +31 -6
- package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.js.map +1 -1
- package/dist/schemas/EventPayloadSchema.d.ts +21 -0
- package/dist/schemas/EventPayloadSchema.d.ts.map +1 -1
- package/dist/schemas/EventPayloadSchema.js +14 -0
- package/dist/schemas/EventPayloadSchema.js.map +1 -1
- package/dist/services/BackgroundTaskManager.d.ts.map +1 -1
- package/dist/services/BackgroundTaskManager.js +12 -4
- package/dist/services/BackgroundTaskManager.js.map +1 -1
- package/dist/services/BrowserManager.d.ts +1 -1
- package/dist/services/BrowserManager.d.ts.map +1 -1
- package/dist/services/BrowserManager.js +26 -3
- package/dist/services/BrowserManager.js.map +1 -1
- package/dist/services/MemoryCompressor.d.ts +11 -2
- package/dist/services/MemoryCompressor.d.ts.map +1 -1
- package/dist/services/MemoryCompressor.js +8 -26
- package/dist/services/MemoryCompressor.js.map +1 -1
- package/dist/services/MemoryService.d.ts +16 -3
- package/dist/services/MemoryService.d.ts.map +1 -1
- package/dist/services/MemoryService.js +79 -55
- package/dist/services/MemoryService.js.map +1 -1
- package/dist/services/MxfMLService.d.ts +5 -0
- package/dist/services/MxfMLService.d.ts.map +1 -1
- package/dist/services/MxfMLService.js +32 -6
- package/dist/services/MxfMLService.js.map +1 -1
- package/dist/services/PredictiveAnalyticsService.d.ts +45 -9
- package/dist/services/PredictiveAnalyticsService.d.ts.map +1 -1
- package/dist/services/PredictiveAnalyticsService.js +82 -44
- package/dist/services/PredictiveAnalyticsService.js.map +1 -1
- package/dist/services/QValueManager.d.ts +7 -0
- package/dist/services/QValueManager.d.ts.map +1 -1
- package/dist/services/QValueManager.js +9 -0
- package/dist/services/QValueManager.js.map +1 -1
- package/dist/services/RewardSignalProcessor.d.ts +38 -1
- package/dist/services/RewardSignalProcessor.d.ts.map +1 -1
- package/dist/services/RewardSignalProcessor.js +109 -7
- package/dist/services/RewardSignalProcessor.js.map +1 -1
- package/dist/services/SharedStateService.d.ts +16 -2
- package/dist/services/SharedStateService.d.ts.map +1 -1
- package/dist/services/SharedStateService.js +44 -3
- package/dist/services/SharedStateService.js.map +1 -1
- package/dist/services/TaskEffectivenessService.d.ts +34 -18
- package/dist/services/TaskEffectivenessService.d.ts.map +1 -1
- package/dist/services/TaskEffectivenessService.js +91 -155
- package/dist/services/TaskEffectivenessService.js.map +1 -1
- package/dist/services/WebSearchService.d.ts.map +1 -1
- package/dist/services/WebSearchService.js.map +1 -1
- package/dist/services/dag/TaskDagService.d.ts.map +1 -1
- package/dist/services/dag/TaskDagService.js +2 -0
- package/dist/services/dag/TaskDagService.js.map +1 -1
- package/dist/services/orpar-memory/OrparMemoryCoordinator.d.ts +7 -0
- package/dist/services/orpar-memory/OrparMemoryCoordinator.d.ts.map +1 -1
- package/dist/services/orpar-memory/OrparMemoryCoordinator.js +71 -10
- package/dist/services/orpar-memory/OrparMemoryCoordinator.js.map +1 -1
- package/dist/types/MemoryUtilityTypes.d.ts +2 -0
- package/dist/types/MemoryUtilityTypes.d.ts.map +1 -1
- package/dist/types/MemoryUtilityTypes.js.map +1 -1
- package/dist/utils/Logger.d.ts +43 -3
- package/dist/utils/Logger.d.ts.map +1 -1
- package/dist/utils/Logger.js +78 -36
- package/dist/utils/Logger.js.map +1 -1
- package/dist/utils/MxpEncryption.d.ts +19 -6
- package/dist/utils/MxpEncryption.d.ts.map +1 -1
- package/dist/utils/MxpEncryption.js +48 -16
- package/dist/utils/MxpEncryption.js.map +1 -1
- package/package.json +19 -4
- package/src/adapters/FrameworkAdapter.ts +1 -1
- package/src/config/ConfigManager.ts +52 -19
- package/src/config/memory-strata.config.ts +136 -0
- package/src/constants/ToolNames.ts +4 -18
- package/src/database/DatabaseAdapterFactory.ts +23 -6
- package/src/database/adapters/mongodb/MongoBaseRepository.ts +16 -2
- package/src/events/ClientEventBus.ts +68 -403
- package/src/events/EventBus.ts +7 -8
- package/src/events/EventBusBase.ts +479 -116
- package/src/events/EventNames.ts +6 -0
- package/src/events/PublicEvents.ts +7 -4
- package/src/events/ServerEventBus.ts +78 -473
- package/src/events/event-definitions/LlmBudgetEvents.ts +74 -0
- package/src/interfaces/IMemoryPersistence.ts +51 -0
- package/src/middleware/MxpMiddleware.ts +51 -24
- package/src/models/channelKey.ts +18 -4
- package/src/models/memoryUtility.ts +64 -0
- package/src/models/user.ts +36 -4
- package/src/mxp/BinaryProtocolLayer.ts +108 -124
- package/src/mxp/ContextCompressionEngine.ts +219 -161
- package/src/mxp/MxpTokenOptimizer.ts +10 -10
- package/src/prompts/MxfAgentSystemPrompt.ts +45 -55
- package/src/protocols/mcp/ToolError.ts +201 -0
- package/src/protocols/mcp/defineTool.ts +379 -0
- package/src/protocols/mcp/security/HttpTargetGuard.ts +267 -0
- package/src/protocols/mcp/security/McpSecurityGuard.ts +10 -3
- package/src/protocols/mcp/security/McpToolPolicy.ts +221 -0
- package/src/protocols/mcp/services/ExternalMcpServerManager.ts +340 -322
- package/src/protocols/mcp/services/ExternalServerConfigs.ts +82 -19
- package/src/protocols/mcp/tools/AnalyticsTools.ts +1 -1
- package/src/protocols/mcp/tools/CodeAnalysisTools.ts +15 -0
- package/src/protocols/mcp/tools/EffectivenessTools.ts +3 -3
- package/src/protocols/mcp/tools/GitTools.ts +290 -569
- package/src/protocols/mcp/tools/InfrastructureTools.ts +189 -43
- package/src/protocols/mcp/tools/MemorySearchTools.ts +77 -1
- package/src/protocols/mcp/tools/OrparTools.ts +87 -0
- package/src/protocols/mcp/tools/SafetyTools.ts +501 -579
- package/src/protocols/mcp/tools/TaskPlanningTools.ts +81 -39
- package/src/protocols/mcp/tools/TestTools.ts +339 -419
- package/src/protocols/mcp/tools/TypeScriptTools.ts +316 -376
- package/src/protocols/mcp/tools/WebTools.ts +209 -307
- package/src/protocols/mcp/tools/shell/ShellExecuteHandler.ts +53 -14
- package/src/schemas/EventPayloadSchema.ts +37 -0
- package/src/services/BackgroundTaskManager.ts +12 -4
- package/src/services/BrowserManager.ts +41 -1
- package/src/services/MemoryCompressor.ts +20 -32
- package/src/services/MemoryService.ts +96 -58
- package/src/services/MxfMLService.ts +41 -7
- package/src/services/PredictiveAnalyticsService.ts +101 -51
- package/src/services/QValueManager.ts +10 -0
- package/src/services/RewardSignalProcessor.ts +138 -9
- package/src/services/SharedStateService.ts +56 -8
- package/src/services/TaskEffectivenessService.ts +114 -187
- package/src/services/WebSearchService.ts +2 -1
- package/src/services/dag/TaskDagService.ts +2 -0
- package/src/services/orpar-memory/OrparMemoryCoordinator.ts +86 -10
- package/src/types/MemoryUtilityTypes.ts +2 -0
- package/src/utils/Logger.ts +116 -40
- package/src/utils/MxpEncryption.ts +69 -34
- package/dist/mxp/MxpEventForwardingEnhancer.d.ts +0 -134
- package/dist/mxp/MxpEventForwardingEnhancer.d.ts.map +0 -1
- package/dist/mxp/MxpEventForwardingEnhancer.js +0 -361
- package/dist/mxp/MxpEventForwardingEnhancer.js.map +0 -1
- package/dist/protocols/mcp/services/ToolSchemaEnhancements.d.ts +0 -56
- package/dist/protocols/mcp/services/ToolSchemaEnhancements.d.ts.map +0 -1
- package/dist/protocols/mcp/services/ToolSchemaEnhancements.js +0 -57
- package/dist/protocols/mcp/services/ToolSchemaEnhancements.js.map +0 -1
- package/dist/protocols/mcp/tools/ControlLoopLifecycle.d.ts +0 -270
- package/dist/protocols/mcp/tools/ControlLoopLifecycle.d.ts.map +0 -1
- package/dist/protocols/mcp/tools/ControlLoopLifecycle.js +0 -256
- package/dist/protocols/mcp/tools/ControlLoopLifecycle.js.map +0 -1
- package/dist/protocols/mcp/tools/LspTools.d.ts +0 -495
- package/dist/protocols/mcp/tools/LspTools.d.ts.map +0 -1
- package/dist/protocols/mcp/tools/LspTools.js +0 -469
- package/dist/protocols/mcp/tools/LspTools.js.map +0 -1
- package/src/mxp/MxpEventForwardingEnhancer.ts +0 -471
- package/src/protocols/mcp/services/ToolSchemaEnhancements.ts +0 -92
- package/src/protocols/mcp/tools/ControlLoopLifecycle.ts +0 -302
- package/src/protocols/mcp/tools/LspTools.ts +0 -476
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MxpMiddleware.d.ts","sourceRoot":"","sources":["../../src/middleware/MxpMiddleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;GAKG;AAEH,OAAO,EACH,UAAU,EAQb,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAK5E;;GAEG;AACH,qBAAa,aAAa;IACtB;;OAEG;WACiB,eAAe,CAC/B,OAAO,EAAE,cAAc,GAAG,YAAY,GAAG,UAAU,EACnD,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;QACL,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,eAAe,CAAC,EAAE,KAAK,GAAG,kBAAkB,CAAC;KAC3C,GACP,OAAO,CAAC,cAAc,GAAG,YAAY,GAAG,UAAU,CAAC;IA8BtD;;OAEG;WACiB,eAAe,CAC/B,OAAO,EAAE,GAAG,GACb,OAAO,CAAC,cAAc,GAAG,YAAY,GAAG,UAAU,CAAC;IA+BtD;;OAEG;mBACkB,YAAY;IA+CjC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IA8BnC
|
|
1
|
+
{"version":3,"file":"MxpMiddleware.d.ts","sourceRoot":"","sources":["../../src/middleware/MxpMiddleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;GAKG;AAEH,OAAO,EACH,UAAU,EAQb,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAK5E;;GAEG;AACH,qBAAa,aAAa;IACtB;;OAEG;WACiB,eAAe,CAC/B,OAAO,EAAE,cAAc,GAAG,YAAY,GAAG,UAAU,EACnD,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;QACL,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,eAAe,CAAC,EAAE,KAAK,GAAG,kBAAkB,CAAC;KAC3C,GACP,OAAO,CAAC,cAAc,GAAG,YAAY,GAAG,UAAU,CAAC;IA8BtD;;OAEG;WACiB,eAAe,CAC/B,OAAO,EAAE,GAAG,GACb,OAAO,CAAC,cAAc,GAAG,YAAY,GAAG,UAAU,CAAC;IA+BtD;;OAEG;mBACkB,YAAY;IA+CjC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IA8BnC;;;;;;;;;OASG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAkDlC;;OAEG;WACW,oBAAoB,CAAC,OAAO,EAAE,GAAG,GAAG,MAAM;IAmDxD;;OAEG;WACW,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAS1D;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,KAAK,CASlB;WAEY,QAAQ;;;;;;;;;;;;;;WAaR,UAAU;CAY3B"}
|
|
@@ -69,10 +69,11 @@ export class MxpMiddleware {
|
|
|
69
69
|
if (isMxpMessage(message)) {
|
|
70
70
|
this.stats.mxpMessages++;
|
|
71
71
|
const mxpMsg = message;
|
|
72
|
-
// Decrypt if needed
|
|
72
|
+
// Decrypt if needed. decryptMessage() throws on failure — an
|
|
73
|
+
// undecryptable message must not be passed on as if it were fine.
|
|
73
74
|
if (mxpMsg.encrypted && isEncryptedPayload(mxpMsg.payload)) {
|
|
74
|
-
|
|
75
|
-
|
|
75
|
+
try {
|
|
76
|
+
const decrypted = mxpEncryption.decryptMessage(mxpMsg.payload);
|
|
76
77
|
this.stats.messagesDecrypted++;
|
|
77
78
|
return {
|
|
78
79
|
...mxpMsg,
|
|
@@ -80,10 +81,9 @@ export class MxpMiddleware {
|
|
|
80
81
|
encrypted: false
|
|
81
82
|
};
|
|
82
83
|
}
|
|
83
|
-
|
|
84
|
-
logger.error('Failed to decrypt MXP message');
|
|
84
|
+
catch (error) {
|
|
85
85
|
this.stats.encryptionFailures++;
|
|
86
|
-
throw
|
|
86
|
+
throw error;
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
return mxpMsg;
|
|
@@ -158,31 +158,53 @@ export class MxpMiddleware {
|
|
|
158
158
|
return args;
|
|
159
159
|
}
|
|
160
160
|
/**
|
|
161
|
-
* Handle encryption for MXP messages
|
|
161
|
+
* Handle encryption for MXP messages.
|
|
162
|
+
*
|
|
163
|
+
* `forceEncryption` means exactly that: if the message cannot be encrypted,
|
|
164
|
+
* this throws rather than putting the plaintext on the wire. An earlier
|
|
165
|
+
* version incremented an `encryptionFailures` counter and returned the
|
|
166
|
+
* message unencrypted, so callers that asked for encryption silently got none.
|
|
167
|
+
*
|
|
168
|
+
* @throws If forceEncryption is set and encryption is unavailable or fails.
|
|
162
169
|
*/
|
|
163
170
|
static handleMxpEncryption(message, forceEncryption) {
|
|
164
171
|
// Skip if already encrypted
|
|
165
172
|
if (message.encrypted && isEncryptedPayload(message.payload)) {
|
|
166
173
|
return message;
|
|
167
174
|
}
|
|
168
|
-
|
|
175
|
+
if (isEncryptedPayload(message.payload)) {
|
|
176
|
+
return message;
|
|
177
|
+
}
|
|
178
|
+
if (forceEncryption && !mxpEncryption.isEncryptionEnabled()) {
|
|
179
|
+
this.stats.encryptionFailures++;
|
|
180
|
+
throw new Error('forceEncryption was requested but MXP encryption is not configured. ' +
|
|
181
|
+
'Set MXP_ENCRYPTION_KEY and MXP_ENCRYPTION_SALT, or stop forcing encryption.');
|
|
182
|
+
}
|
|
183
|
+
// Reasoning messages stay in the clear unless encryption is forced:
|
|
184
|
+
// they carry no operational payload and are meant to be human-readable.
|
|
169
185
|
const shouldEncrypt = forceEncryption ||
|
|
170
186
|
(mxpEncryption.isEncryptionEnabled() && message.type !== MxpMessageType.REASONING);
|
|
171
|
-
if (shouldEncrypt
|
|
187
|
+
if (!shouldEncrypt) {
|
|
188
|
+
return message;
|
|
189
|
+
}
|
|
190
|
+
try {
|
|
191
|
+
// Throws on cipher failure; returns null only when encryption is off,
|
|
192
|
+
// which forceEncryption has already ruled out above.
|
|
172
193
|
const encrypted = mxpEncryption.encrypt(message.payload);
|
|
173
|
-
if (encrypted) {
|
|
174
|
-
|
|
175
|
-
return {
|
|
176
|
-
...message,
|
|
177
|
-
encrypted: true,
|
|
178
|
-
payload: encrypted
|
|
179
|
-
};
|
|
180
|
-
}
|
|
181
|
-
else {
|
|
182
|
-
this.stats.encryptionFailures++;
|
|
194
|
+
if (!encrypted) {
|
|
195
|
+
return message;
|
|
183
196
|
}
|
|
197
|
+
this.stats.messagesEncrypted++;
|
|
198
|
+
return {
|
|
199
|
+
...message,
|
|
200
|
+
encrypted: true,
|
|
201
|
+
payload: encrypted
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
catch (error) {
|
|
205
|
+
this.stats.encryptionFailures++;
|
|
206
|
+
throw error;
|
|
184
207
|
}
|
|
185
|
-
return message;
|
|
186
208
|
}
|
|
187
209
|
/**
|
|
188
210
|
* Convert MXP message back to natural language (for display/logging)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MxpMiddleware.js","sourceRoot":"","sources":["../../src/middleware/MxpMiddleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;GAKG;AAEH,OAAO,EAGH,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,YAAY,EACf,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;AAE9D;;GAEG;AACH,MAAM,OAAO,aAAa;IACtB;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,eAAe,CAC/B,OAAmD,EACnD,QAAgB,EAChB,UAII,EAAE;QAEN,8CAA8C;QAC9C,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC;YACrC,OAAO,OAAO,CAAC;QACnB,CAAC;QAED,oDAAoD;QACpD,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAqB,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QACpF,CAAC;QAED,sDAAsD;QACtD,IAAI,OAAO,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;YACpC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC7D,IAAI,SAAS,EAAE,CAAC;gBACZ,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;gBAC/B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;YACpC,CAAC;QACL,CAAC;QAED,2CAA2C;QAC3C,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC;QACrC,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,eAAe,CAC/B,OAAY;QAEZ,+BAA+B;QAC/B,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,OAAqB,CAAC;YAErC,
|
|
1
|
+
{"version":3,"file":"MxpMiddleware.js","sourceRoot":"","sources":["../../src/middleware/MxpMiddleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;GAKG;AAEH,OAAO,EAGH,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,YAAY,EACf,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;AAE9D;;GAEG;AACH,MAAM,OAAO,aAAa;IACtB;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,eAAe,CAC/B,OAAmD,EACnD,QAAgB,EAChB,UAII,EAAE;QAEN,8CAA8C;QAC9C,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC;YACrC,OAAO,OAAO,CAAC;QACnB,CAAC;QAED,oDAAoD;QACpD,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAqB,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QACpF,CAAC;QAED,sDAAsD;QACtD,IAAI,OAAO,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;YACpC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC7D,IAAI,SAAS,EAAE,CAAC;gBACZ,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;gBAC/B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;YACpC,CAAC;QACL,CAAC;QAED,2CAA2C;QAC3C,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC;QACrC,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,eAAe,CAC/B,OAAY;QAEZ,+BAA+B;QAC/B,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,OAAqB,CAAC;YAErC,6DAA6D;YAC7D,kEAAkE;YAClE,IAAI,MAAM,CAAC,SAAS,IAAI,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzD,IAAI,CAAC;oBACD,MAAM,SAAS,GAAG,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC/D,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;oBAC/B,OAAO;wBACH,GAAG,MAAM;wBACT,OAAO,EAAE,SAAS;wBAClB,SAAS,EAAE,KAAK;qBACnB,CAAC;gBACN,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;oBAChC,MAAM,KAAK,CAAC;gBAChB,CAAC;YACL,CAAC;YAED,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,0BAA0B;QAC1B,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC;QACrC,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,KAAK,CAAC,YAAY,CAC7B,OAAsC,EACtC,QAAgB;QAEhB,IAAI,CAAC;YACD,+BAA+B;YAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;YACtC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC,CAAC,mCAAmC;YACpD,CAAC;YAED,gDAAgD;YAChD,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;gBAC3C,OAAO,IAAI,CAAC,CAAC,kCAAkC;YACnD,CAAC;YAED,4CAA4C;YAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;YAE9D,qBAAqB;YACrB,MAAM,UAAU,GAAG,gBAAgB,CAC/B,cAAc,CAAC,SAAS,EACxB,QAAQ,EACR;gBACI,EAAE,EAAE,SAAS,CAAC,EAAE;gBAChB,IAAI;gBACJ,SAAS,EAAE,OAAO,EAAE,4BAA4B;gBAChD,QAAQ,EAAE;oBACN,QAAQ,EAAE,CAAC;oBACX,aAAa,EAAG,OAAe,CAAC,QAAQ,EAAE,aAAa;iBAC1D;aACJ,EACD;gBACI,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,SAAS,EAAG,OAAe,CAAC,OAAO,EAAE,SAAS;aACjD,CACJ,CAAC;YAEF,OAAO,UAAU,CAAC;QAEtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,6BAA6B,KAAK,EAAE,CAAC,CAAC;YACnD,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,oBAAoB,CAAC,OAAe,EAAE,SAAiB;QAClE,wDAAwD;QACxD,MAAM,IAAI,GAAU,EAAE,CAAC;QAEvB,QAAQ,SAAS,EAAE,CAAC;YAChB,KAAK,YAAY,CAAC,QAAQ,CAAC;YAC3B,KAAK,YAAY,CAAC,YAAY;gBAC1B,4BAA4B;gBAC5B,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBAC9C,IAAI,OAAO,EAAE,CAAC;oBACV,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClD,CAAC;gBACD,MAAM;YAEV,KAAK,YAAY,CAAC,UAAU;gBACxB,6CAA6C;gBAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBACrD,IAAI,MAAM,EAAE,CAAC;oBACT,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClD,CAAC;gBACD,MAAM;YAEV;gBACI,qBAAqB;gBACrB,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;;;;OASG;IACK,MAAM,CAAC,mBAAmB,CAC9B,OAAmB,EACnB,eAAyB;QAEzB,4BAA4B;QAC5B,IAAI,OAAO,CAAC,SAAS,IAAI,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3D,OAAO,OAAO,CAAC;QACnB,CAAC;QAED,IAAI,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACtC,OAAO,OAAO,CAAC;QACnB,CAAC;QAED,IAAI,eAAe,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,EAAE,CAAC;YAC1D,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CACX,sEAAsE;gBACtE,6EAA6E,CAChF,CAAC;QACN,CAAC;QAED,oEAAoE;QACpE,wEAAwE;QACxE,MAAM,aAAa,GAAG,eAAe;YACjC,CAAC,aAAa,CAAC,mBAAmB,EAAE,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC,SAAS,CAAC,CAAC;QAEvF,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,OAAO,OAAO,CAAC;QACnB,CAAC;QAED,IAAI,CAAC;YACD,sEAAsE;YACtE,qDAAqD;YACrD,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,OAAqB,CAAC,CAAC;YACvE,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,OAAO,OAAO,CAAC;YACnB,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC/B,OAAO;gBACH,GAAG,OAAO;gBACV,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,SAAS;aACrB,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;YAChC,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,oBAAoB,CAAC,OAAY;QAC3C,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;QAED,8DAA8D;QAC9D,iFAAiF;QACjF,MAAM,YAAY,GAAG,OAAc,CAAC;QACpC,IAAI,YAAY,CAAC,SAAS,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;YAChD,QAAQ,YAAY,CAAC,SAAS,EAAE,CAAC;gBAC7B,KAAK,UAAU,CAAC;gBAChB,KAAK,YAAY,CAAC,QAAQ;oBACtB,OAAO,wBAAwB,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpE,KAAK,cAAc,CAAC;gBACpB,KAAK,YAAY,CAAC,YAAY;oBAC1B,OAAO,4BAA4B,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxE;oBACI,OAAO,kBAAkB,YAAY,CAAC,SAAS,iBAAiB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9G,CAAC;QACL,CAAC;QAED,wCAAwC;QACxC,MAAM,YAAY,GAAG,OAAqB,CAAC;QAC3C,MAAM,OAAO,GAAG,YAAY,CAAC,OAAqB,CAAC;QACnD,IAAI,OAAO,EAAE,CAAC;YACV,+BAA+B;YAC/B,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACpB,OAAO,OAAO,CAAC,SAAS,CAAC;YAC7B,CAAC;YAED,iDAAiD;YACjD,QAAQ,OAAO,CAAC,EAAE,EAAE,CAAC;gBACjB,KAAK,YAAY,CAAC,QAAQ;oBACtB,OAAO,wBAAwB,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9D,KAAK,YAAY,CAAC,YAAY;oBAC1B,OAAO,4BAA4B,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClE,KAAK,YAAY,CAAC,UAAU;oBACxB,OAAO,eAAe,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrD,KAAK,YAAY,CAAC,YAAY;oBAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;oBACnC,OAAO,gBAAgB,QAAQ,EAAE,IAAI,eAAe,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC1F,KAAK,YAAY,CAAC,UAAU;oBACxB,OAAO,oCAAoC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnF;oBACI,OAAO,kBAAkB,OAAO,CAAC,EAAE,eAAe,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACzF,CAAC;QACL,CAAC;QAED,OAAO,gBAAgB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;IACrD,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,kBAAkB,CAAC,OAAe;QAC5C,kDAAkD;QAClD,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG;YAAE,OAAO,KAAK,CAAC;QAEvC,+BAA+B;QAC/B,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QAC3C,OAAO,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,UAAU,IAAI,GAAG,CAAC;IAC7D,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,KAAK,GAAG;QACnB,iBAAiB,EAAE,CAAC;QACpB,iBAAiB,EAAE,CAAC;QACpB,iBAAiB,EAAE,CAAC;QACpB,kBAAkB,EAAE,CAAC;QACrB,kBAAkB,EAAE,CAAC;QACrB,uBAAuB,EAAE,CAAC;QAC1B,WAAW,EAAE,CAAC;QACd,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACxB,CAAC;IAEK,MAAM,CAAC,QAAQ;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QACjD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QAElF,OAAO;YACH,GAAG,IAAI,CAAC,KAAK;YACb,MAAM;YACN,aAAa;YACb,aAAa,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,aAAa,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI;YACzG,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI;SACrI,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,UAAU;QACpB,IAAI,CAAC,KAAK,GAAG;YACT,iBAAiB,EAAE,CAAC;YACpB,iBAAiB,EAAE,CAAC;YACpB,iBAAiB,EAAE,CAAC;YACpB,kBAAkB,EAAE,CAAC;YACrB,kBAAkB,EAAE,CAAC;YACrB,uBAAuB,EAAE,CAAC;YAC1B,WAAW,EAAE,CAAC;YACd,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACxB,CAAC;IACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channelKey.d.ts","sourceRoot":"","sources":["../../src/models/channelKey.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;GAMG;AAEH,OAAO,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGtD;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,QAAQ;IAEzC,KAAK,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"channelKey.d.ts","sourceRoot":"","sources":["../../src/models/channelKey.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;GAMG;AAEH,OAAO,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGtD;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,QAAQ;IAEzC,KAAK,EAAE,MAAM,CAAC;IAKd,SAAS,EAAE,MAAM,CAAC;IAGlB,SAAS,EAAE,MAAM,CAAC;IAOlB,OAAO,EAAE,MAAM,CAAC;IAGhB,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;IAGjC,QAAQ,EAAE,OAAO,CAAC;IAGlB,SAAS,CAAC,EAAE,IAAI,CAAC;IAGjB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,CAAC,EAAE,IAAI,CAAC;CACnB;AA4DD;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAAO;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAKvE,CAAC;AAGF,QAAA,MAAM,UAAU;;;;OAA8D,CAAC;AAC/E,eAAe,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channelKey.js","sourceRoot":"","sources":["../../src/models/channelKey.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;GAMG;AAEH,OAAO,QAAQ,EAAE,EAAE,MAAM,EAAY,MAAM,UAAU,CAAC;AACtD,OAAO,MAAM,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"channelKey.js","sourceRoot":"","sources":["../../src/models/channelKey.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;GAMG;AAEH,OAAO,QAAQ,EAAE,EAAE,MAAM,EAAY,MAAM,UAAU,CAAC;AACtD,OAAO,MAAM,MAAM,QAAQ,CAAC;AA0C5B;;GAEG;AACH,MAAM,gBAAgB,GAAW,IAAI,MAAM,CAAC;IACxC,KAAK,EAAE;QACH,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;KACf;IACD,SAAS,EAAE;QACP,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACjB;IACD,SAAS,EAAE;QACP,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,IAAI;QACX,GAAG,EAAE,qBAAqB;KAC7B;IACD,OAAO,EAAE;QACL,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,IAAI;KACd;IACD,IAAI,EAAE;QACF,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;KAClB;IACD,SAAS,EAAE;QACP,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,GAAG,EAAE,MAAM;QACX,QAAQ,EAAE,IAAI;KACjB;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,IAAI;KAChB;IACD,SAAS,EAAE;QACP,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,KAAK;KAClB;IACD,SAAS,EAAE;QACP,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,CAAC,GAAG;KACpB;IACD,SAAS,EAAE;QACP,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,CAAC,GAAG;KACpB;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,KAAK;KAClB;CACJ,CAAC,CAAC;AAEH,8BAA8B;AAC9B,gBAAgB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;AAEtD;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAyC,EAAE;IACzE,OAAO;QACH,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QACtD,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;KACvD,CAAC;AACN,CAAC,CAAC;AAEF,yCAAyC;AACzC,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAc,YAAY,EAAE,gBAAgB,CAAC,CAAC;AAC/E,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Memory Utility model (MULS).
|
|
3
|
+
*
|
|
4
|
+
* Stores the learned Q-value and reward statistics for a single *retrievable* memory —
|
|
5
|
+
* the unit QValueManager actually learns about, which is a document in the search index
|
|
6
|
+
* (a conversation message, action, or pattern), identified by its search-index id.
|
|
7
|
+
*
|
|
8
|
+
* Why this is its own collection: the `utility` subdocument on AgentMemory /
|
|
9
|
+
* ChannelMemory / RelationshipMemory is keyed by the id of a whole memory-scope
|
|
10
|
+
* document, whereas retrieval returns individual indexed items. Those are different
|
|
11
|
+
* granularities, so utility written onto a scope document would never match the id a
|
|
12
|
+
* retrieval learned about. That mismatch is why the previous persistence path silently
|
|
13
|
+
* matched nothing. Keying by the retrieved memory id is what makes learning durable.
|
|
14
|
+
*/
|
|
15
|
+
import { Document, Model } from 'mongoose';
|
|
16
|
+
import { QValueInitSource } from '../types/MemoryUtilityTypes.js';
|
|
17
|
+
export interface IMemoryUtilityDocument extends Document {
|
|
18
|
+
/** The retrieved memory's id — matches the search-index document id. */
|
|
19
|
+
memoryId: string;
|
|
20
|
+
/** Agent this memory's utility was learned for (scoping and analytics). */
|
|
21
|
+
agentId?: string;
|
|
22
|
+
/** Channel this memory's utility was learned in (scoping and analytics). */
|
|
23
|
+
channelId?: string;
|
|
24
|
+
qValue: number;
|
|
25
|
+
qValueHistory: Array<{
|
|
26
|
+
value: number;
|
|
27
|
+
reward: number;
|
|
28
|
+
timestamp: Date;
|
|
29
|
+
phase?: string;
|
|
30
|
+
}>;
|
|
31
|
+
retrievalCount: number;
|
|
32
|
+
successCount: number;
|
|
33
|
+
failureCount: number;
|
|
34
|
+
lastRewardAt?: Date;
|
|
35
|
+
initializedFrom: QValueInitSource;
|
|
36
|
+
updatedAt: Date;
|
|
37
|
+
}
|
|
38
|
+
export declare const MemoryUtility: Model<IMemoryUtilityDocument>;
|
|
39
|
+
//# sourceMappingURL=memoryUtility.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memoryUtility.d.ts","sourceRoot":"","sources":["../../src/models/memoryUtility.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAiB,EAAU,QAAQ,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,MAAM,WAAW,sBAAuB,SAAQ,QAAQ;IACpD,wEAAwE;IACxE,QAAQ,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzF,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,eAAe,EAAE,gBAAgB,CAAC;IAClC,SAAS,EAAE,IAAI,CAAC;CACnB;AA4BD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,sBAAsB,CAEwB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Memory Utility model (MULS).
|
|
3
|
+
*
|
|
4
|
+
* Stores the learned Q-value and reward statistics for a single *retrievable* memory —
|
|
5
|
+
* the unit QValueManager actually learns about, which is a document in the search index
|
|
6
|
+
* (a conversation message, action, or pattern), identified by its search-index id.
|
|
7
|
+
*
|
|
8
|
+
* Why this is its own collection: the `utility` subdocument on AgentMemory /
|
|
9
|
+
* ChannelMemory / RelationshipMemory is keyed by the id of a whole memory-scope
|
|
10
|
+
* document, whereas retrieval returns individual indexed items. Those are different
|
|
11
|
+
* granularities, so utility written onto a scope document would never match the id a
|
|
12
|
+
* retrieval learned about. That mismatch is why the previous persistence path silently
|
|
13
|
+
* matched nothing. Keying by the retrieved memory id is what makes learning durable.
|
|
14
|
+
*/
|
|
15
|
+
import mongoose, { Schema } from 'mongoose';
|
|
16
|
+
const memoryUtilitySchema = new Schema({
|
|
17
|
+
memoryId: { type: String, required: true, unique: true, index: true },
|
|
18
|
+
agentId: { type: String, index: true },
|
|
19
|
+
channelId: { type: String, index: true },
|
|
20
|
+
qValue: { type: Number, default: 0.5, min: 0, max: 1 },
|
|
21
|
+
qValueHistory: [{
|
|
22
|
+
value: { type: Number, required: true },
|
|
23
|
+
reward: { type: Number, required: true },
|
|
24
|
+
timestamp: { type: Date, default: Date.now },
|
|
25
|
+
phase: { type: String }
|
|
26
|
+
}],
|
|
27
|
+
retrievalCount: { type: Number, default: 0 },
|
|
28
|
+
successCount: { type: Number, default: 0 },
|
|
29
|
+
failureCount: { type: Number, default: 0 },
|
|
30
|
+
lastRewardAt: { type: Date },
|
|
31
|
+
initializedFrom: { type: String, default: 'default' },
|
|
32
|
+
updatedAt: { type: Date, default: Date.now }
|
|
33
|
+
});
|
|
34
|
+
// Ranking reads sort by Q-value, scoped by agent or channel.
|
|
35
|
+
memoryUtilitySchema.index({ agentId: 1, qValue: -1 });
|
|
36
|
+
memoryUtilitySchema.index({ channelId: 1, qValue: -1 });
|
|
37
|
+
export const MemoryUtility = mongoose.models.MemoryUtility ||
|
|
38
|
+
mongoose.model('MemoryUtility', memoryUtilitySchema);
|
|
39
|
+
//# sourceMappingURL=memoryUtility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memoryUtility.js","sourceRoot":"","sources":["../../src/models/memoryUtility.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,QAAQ,EAAE,EAAE,MAAM,EAAmB,MAAM,UAAU,CAAC;AAoB7D,MAAM,mBAAmB,GAAG,IAAI,MAAM,CAAyB;IAC3D,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;IACrE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;IACtC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;IAExC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;IAEtD,aAAa,EAAE,CAAC;YACZ,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;YACvC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;YACxC,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;YAC5C,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SAC1B,CAAC;IAEF,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;IAC5C,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;IAC1C,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;IAC1C,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;IAC5B,eAAe,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;IACrD,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;CAC/C,CAAC,CAAC;AAEH,6DAA6D;AAC7D,mBAAmB,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACtD,mBAAmB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAExD,MAAM,CAAC,MAAM,aAAa,GACtB,QAAQ,CAAC,MAAM,CAAC,aAAa;IAC7B,QAAQ,CAAC,KAAK,CAAyB,eAAe,EAAE,mBAAmB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../src/models/user.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,QAAQ,EAAE,EAAE,QAAQ,EAAU,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../src/models/user.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,QAAQ,EAAE,EAAE,QAAQ,EAAU,MAAM,UAAU,CAAC;AAgCtD;;GAEG;AACH,oBAAY,QAAQ;IAChB,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,QAAQ,aAAa;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,KAAM,SAAQ,QAAQ;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAGhB,eAAe,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAChE;AAkGD,eAAO,MAAM,IAAI;;;;OAA4C,CAAC"}
|
package/dist/models/user.js
CHANGED
|
@@ -18,7 +18,27 @@
|
|
|
18
18
|
* @documentation https://mxf-dev.github.io/mxf/
|
|
19
19
|
*/
|
|
20
20
|
import mongoose, { Schema } from 'mongoose';
|
|
21
|
-
|
|
21
|
+
let bcryptModule = null;
|
|
22
|
+
/**
|
|
23
|
+
* Load bcrypt on demand.
|
|
24
|
+
*
|
|
25
|
+
* @throws If bcrypt is not installed. Passwords are never stored unhashed.
|
|
26
|
+
*/
|
|
27
|
+
const loadBcrypt = async () => {
|
|
28
|
+
if (bcryptModule) {
|
|
29
|
+
return bcryptModule;
|
|
30
|
+
}
|
|
31
|
+
try {
|
|
32
|
+
const imported = await import('bcrypt');
|
|
33
|
+
bcryptModule = (imported.default ?? imported);
|
|
34
|
+
return bcryptModule;
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
throw new Error('Password hashing requires the optional peer dependency "bcrypt", which is not installed. ' +
|
|
38
|
+
'Install it with `bun add bcrypt` (or `npm install bcrypt`) to use the User model. ' +
|
|
39
|
+
`Underlying error: ${error instanceof Error ? error.message : String(error)}`);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
22
42
|
/**
|
|
23
43
|
* User role enum
|
|
24
44
|
*/
|
|
@@ -97,6 +117,7 @@ UserSchema.pre('save', async function (next) {
|
|
|
97
117
|
return next();
|
|
98
118
|
}
|
|
99
119
|
try {
|
|
120
|
+
const bcrypt = await loadBcrypt();
|
|
100
121
|
// Generate a salt
|
|
101
122
|
const salt = await bcrypt.genSalt(10);
|
|
102
123
|
// Hash the password along with the new salt
|
|
@@ -111,6 +132,7 @@ UserSchema.pre('save', async function (next) {
|
|
|
111
132
|
});
|
|
112
133
|
// Method to compare passwords
|
|
113
134
|
UserSchema.methods.comparePassword = async function (candidatePassword) {
|
|
135
|
+
const bcrypt = await loadBcrypt();
|
|
114
136
|
return bcrypt.compare(candidatePassword, this.password);
|
|
115
137
|
};
|
|
116
138
|
// Create and export the User model
|
package/dist/models/user.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/models/user.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,QAAQ,EAAE,EAAY,MAAM,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/models/user.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,QAAQ,EAAE,EAAY,MAAM,EAAE,MAAM,UAAU,CAAC;AAOtD,IAAI,YAAY,GAA+B,IAAI,CAAC;AAEpD;;;;GAIG;AACH,MAAM,UAAU,GAAG,KAAK,IAAkC,EAAE;IACxD,IAAI,YAAY,EAAE,CAAC;QACf,OAAO,YAAY,CAAC;IACxB,CAAC;IAED,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxC,YAAY,GAAG,CAAC,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAwB,CAAC;QACrE,OAAO,YAAY,CAAC;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACX,2FAA2F;YAC3F,oFAAoF;YACpF,qBAAqB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAChF,CAAC;IACN,CAAC;AACL,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAN,IAAY,QAIX;AAJD,WAAY,QAAQ;IAChB,2BAAe,CAAA;IACf,iCAAqB,CAAA;IACrB,iCAAqB,CAAA;AACzB,CAAC,EAJW,QAAQ,KAAR,QAAQ,QAInB;AAuBD;;GAEG;AACH,MAAM,UAAU,GAAG,IAAI,MAAM,CAAQ;IACjC,QAAQ,EAAE;QACN,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,CAAC;KACf;IACD,KAAK,EAAE;QACH,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,6CAA6C,EAAE,oCAAoC,CAAC;KAC/F;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,CAAC;KACf;IACD,SAAS,EAAE;QACP,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;KACb;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;KACb;IACD,OAAO,EAAE;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;KACb;IACD,IAAI,EAAE;QACF,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC7B,OAAO,EAAE,QAAQ,CAAC,QAAQ;KAC7B;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,MAAM;KACf;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,IAAI;KAChB;IACD,SAAS,EAAE;QACP,IAAI,EAAE,IAAI;KACb;IACD,SAAS,EAAE;QACP,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,CAAC,GAAG;KACpB;IACD,SAAS,EAAE;QACP,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,CAAC,GAAG;KACpB;CACJ,CAAC,CAAC;AAEH,kFAAkF;AAClF,UAAU,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;AAE9B,uCAAuC;AACvC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,WAAU,IAAI;IACtC,6DAA6D;IAC7D,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,EAAE,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;QAElC,kBAAkB;QAClB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEtC,4CAA4C;QAC5C,IAAI,CAAC,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAEvD,6BAA6B;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAE5B,IAAI,EAAE,CAAC;IACX,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,KAAc,CAAC,CAAC;IACzB,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8BAA8B;AAC9B,UAAU,CAAC,OAAO,CAAC,eAAe,GAAG,KAAK,WAAU,iBAAyB;IACzE,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAClC,OAAO,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEF,mCAAmC;AACnC,MAAM,CAAC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAQ,MAAM,EAAE,UAAU,CAAC,CAAC"}
|
|
@@ -39,6 +39,8 @@ export declare class BinaryProtocolLayer {
|
|
|
39
39
|
private readonly logger;
|
|
40
40
|
private readonly validator;
|
|
41
41
|
private readonly compressionThresholds;
|
|
42
|
+
/** Counters for getCompressionStats(). Updated on every encode. */
|
|
43
|
+
private readonly stats;
|
|
42
44
|
private constructor();
|
|
43
45
|
/**
|
|
44
46
|
* Get the singleton instance of BinaryProtocolLayer
|
|
@@ -50,16 +52,28 @@ export declare class BinaryProtocolLayer {
|
|
|
50
52
|
*/
|
|
51
53
|
encodeMessage(message: MxpMessage, channelId: string, agentId?: string): CompressionResult | null;
|
|
52
54
|
/**
|
|
53
|
-
* Decode
|
|
55
|
+
* Decode an encoded message back to its original form.
|
|
56
|
+
*
|
|
57
|
+
* @throws If the payload cannot be decoded. A corrupt message is an error,
|
|
58
|
+
* not an empty result.
|
|
54
59
|
*/
|
|
55
|
-
decodeMessage(compressedData: CompressionResult): MxpMessage
|
|
60
|
+
decodeMessage(compressedData: CompressionResult): MxpMessage;
|
|
56
61
|
/**
|
|
57
|
-
*
|
|
62
|
+
* Encode a group of messages as one or more batches.
|
|
63
|
+
*
|
|
64
|
+
* Batches that exceed maxBatchSize are split in half recursively until each
|
|
65
|
+
* part fits, and EVERY part is returned. An earlier version encoded only the
|
|
66
|
+
* first half and discarded the rest, silently losing messages.
|
|
67
|
+
*
|
|
68
|
+
* @returns One CompressionResult per batch, or null when bandwidth
|
|
69
|
+
* optimization is disabled or there is nothing to send.
|
|
70
|
+
* @throws If a batch cannot be encoded, or a single message is too large to
|
|
71
|
+
* fit in maxBatchSize on its own.
|
|
58
72
|
*/
|
|
59
73
|
batchEncode(messages: MxpMessage[], channelId: string, agentId?: string, options?: {
|
|
60
74
|
maxBatchSize?: number;
|
|
61
75
|
compressionLevel?: 'light' | 'standard' | 'aggressive';
|
|
62
|
-
}): CompressionResult | null;
|
|
76
|
+
}): CompressionResult[] | null;
|
|
63
77
|
/**
|
|
64
78
|
* Select optimal encoding format based on message characteristics
|
|
65
79
|
*/
|
|
@@ -69,7 +83,10 @@ export declare class BinaryProtocolLayer {
|
|
|
69
83
|
*/
|
|
70
84
|
shouldApplyCompression(channelId: string, agentId?: string): boolean;
|
|
71
85
|
/**
|
|
72
|
-
*
|
|
86
|
+
* Compression statistics measured from the encodes this instance performed.
|
|
87
|
+
*
|
|
88
|
+
* averageCompressionRatio is compressedBytes/originalBytes across all
|
|
89
|
+
* encodes (1.0 = no reduction), and is 0 before anything has been encoded.
|
|
73
90
|
*/
|
|
74
91
|
getCompressionStats(): {
|
|
75
92
|
totalCompressions: number;
|
|
@@ -78,9 +95,8 @@ export declare class BinaryProtocolLayer {
|
|
|
78
95
|
algorithmUsage: Record<CompressionAlgorithm, number>;
|
|
79
96
|
};
|
|
80
97
|
/**
|
|
81
|
-
*
|
|
82
|
-
* Placeholder for future implementation with Socket.IO streaming
|
|
98
|
+
* Reset the compression counters (used by tests).
|
|
83
99
|
*/
|
|
84
|
-
|
|
100
|
+
resetCompressionStats(): void;
|
|
85
101
|
}
|
|
86
102
|
//# sourceMappingURL=BinaryProtocolLayer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BinaryProtocolLayer.d.ts","sourceRoot":"","sources":["../../src/mxp/BinaryProtocolLayer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAsBH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,oBAAoB,CAAC;AACvE,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AAE1E,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,oBAAoB,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,GAAG,CAAC;IACb,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAoC;IAE3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgD;IAG1E,OAAO,CAAC,QAAQ,CAAC,qBAAqB,
|
|
1
|
+
{"version":3,"file":"BinaryProtocolLayer.d.ts","sourceRoot":"","sources":["../../src/mxp/BinaryProtocolLayer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAsBH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,oBAAoB,CAAC;AACvE,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AAE1E,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,oBAAoB,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,GAAG,CAAC;IACb,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAoC;IAE3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgD;IAG1E,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAGpC;IAEF,mEAAmE;IACnE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAUpB;IAEF,OAAO;IAIP;;OAEG;WACW,WAAW,IAAI,mBAAmB;IAOhD;;;OAGG;IACI,aAAa,CAChB,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,GACjB,iBAAiB,GAAG,IAAI;IAgH3B;;;;;OAKG;IACI,aAAa,CAAC,cAAc,EAAE,iBAAiB,GAAG,UAAU;IA8BnE;;;;;;;;;;;OAWG;IACI,WAAW,CACd,QAAQ,EAAE,UAAU,EAAE,EACtB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,GAAE;QACL,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,gBAAgB,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,YAAY,CAAC;KACrD,GACP,iBAAiB,EAAE,GAAG,IAAI;IA2D7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoB3B;;OAEG;IACI,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO;IAQ3E;;;;;OAKG;IACI,mBAAmB,IAAI;QAC1B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,uBAAuB,EAAE,MAAM,CAAC;QAChC,mBAAmB,EAAE,MAAM,CAAC;QAC5B,cAAc,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;KACxD;IAaD;;OAEG;IACI,qBAAqB,IAAI,IAAI;CAMvC"}
|