@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
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
* for LLM workflows (observations, reasoning, plans, reflections).
|
|
29
29
|
*/
|
|
30
30
|
import { Observable } from 'rxjs';
|
|
31
|
+
import { IMemoryPersistence } from '../interfaces/IMemoryPersistence.js';
|
|
31
32
|
import { IAgentMemory, IChannelMemory, IRelationshipMemory, MemoryScope } from '../types/MemoryTypes.js';
|
|
32
33
|
import { Observation, Reasoning, Plan, Reflection } from '../models/controlLoop.js';
|
|
33
34
|
import { AgentId, ChannelId } from '../types/ChannelContext.js';
|
|
@@ -101,7 +102,7 @@ export interface IEnhancedChannelMemory extends IChannelMemory {
|
|
|
101
102
|
interface MemoryServiceConfig {
|
|
102
103
|
enablePersistence?: boolean;
|
|
103
104
|
cacheSize?: number;
|
|
104
|
-
persistenceService?:
|
|
105
|
+
persistenceService?: IMemoryPersistence;
|
|
105
106
|
}
|
|
106
107
|
/**
|
|
107
108
|
* Memory Service
|
|
@@ -297,10 +298,22 @@ export declare class MemoryService {
|
|
|
297
298
|
*/
|
|
298
299
|
trackMemoryUsage(taskId: string, memoryIds: string[], phase: OrparPhase): void;
|
|
299
300
|
/**
|
|
300
|
-
*
|
|
301
|
-
*
|
|
301
|
+
* Persist the utility subdocument for a memory.
|
|
302
|
+
*
|
|
303
|
+
* Registered as QValueManager's persistence callback at server boot, so this runs
|
|
304
|
+
* on every Q-value change and on dirty-cache eviction. It must throw on failure:
|
|
305
|
+
* swallowing the error here is what previously made the whole learning system look
|
|
306
|
+
* like it worked while retaining nothing across a restart.
|
|
302
307
|
*/
|
|
303
308
|
updateMemoryUtility(memoryId: string, utilityUpdate: Partial<MemoryUtilitySubdocument>): Promise<void>;
|
|
309
|
+
/**
|
|
310
|
+
* Load stored Q-values for a batch of memories into the QValueManager cache.
|
|
311
|
+
*
|
|
312
|
+
* Called before utility scoring so that ranking uses values learned in previous
|
|
313
|
+
* runs rather than the default for every memory the current process has not seen.
|
|
314
|
+
* Memories with no stored utility keep the configured default.
|
|
315
|
+
*/
|
|
316
|
+
hydrateQValues(memoryIds: string[]): Promise<void>;
|
|
304
317
|
/**
|
|
305
318
|
* Trigger entity extraction from memory content
|
|
306
319
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryService.d.ts","sourceRoot":"","sources":["../../src/services/MemoryService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAM,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"MemoryService.d.ts","sourceRoot":"","sources":["../../src/services/MemoryService.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
* for LLM workflows (observations, reasoning, plans, reflections).
|
|
29
29
|
*/
|
|
30
30
|
import { Observable, of } from 'rxjs';
|
|
31
|
+
import { MxfMeilisearchService } from './MxfMeilisearchService.js';
|
|
31
32
|
import { v4 as uuidv4 } from 'uuid';
|
|
32
33
|
import { MemoryScope, MemoryPersistenceLevel, createMemoryValidator } from '../types/MemoryTypes.js';
|
|
33
34
|
import { Logger } from '../utils/Logger.js';
|
|
@@ -403,9 +404,10 @@ export class MemoryService {
|
|
|
403
404
|
return of(existingMemory);
|
|
404
405
|
}
|
|
405
406
|
// If persistence service is available, try loading from MongoDB
|
|
406
|
-
|
|
407
|
+
const persistence = this.persistenceService;
|
|
408
|
+
if (persistence) {
|
|
407
409
|
return new Observable(observer => {
|
|
408
|
-
|
|
410
|
+
persistence.getAgentMemory(agentId).subscribe({
|
|
409
411
|
next: (loadedMemory) => {
|
|
410
412
|
// Enhance the loaded memory with cognitive memory structure
|
|
411
413
|
const enhancedMemory = {
|
|
@@ -1215,46 +1217,55 @@ export class MemoryService {
|
|
|
1215
1217
|
};
|
|
1216
1218
|
}
|
|
1217
1219
|
const semanticSearchStart = Date.now();
|
|
1218
|
-
// Phase A:
|
|
1219
|
-
//
|
|
1220
|
-
//
|
|
1220
|
+
// Phase A: semantic search over the real memory index.
|
|
1221
|
+
//
|
|
1222
|
+
// Meilisearch is the only retrieval path agents actually use, so utility scoring
|
|
1223
|
+
// has to sit on top of it to influence anything. (This previously searched an
|
|
1224
|
+
// in-process cognitiveMemory Map with keyword counting, which nothing populated
|
|
1225
|
+
// in production — so the whole two-phase retrieval could never return a result.)
|
|
1226
|
+
const meilisearch = MxfMeilisearchService.getInstance();
|
|
1227
|
+
const maxCandidates = options.maxCandidates ?? 20;
|
|
1228
|
+
const similarityThreshold = options.similarityThreshold ?? 0.3;
|
|
1229
|
+
const filters = [];
|
|
1230
|
+
if (options.agentId) {
|
|
1231
|
+
filters.push(`agentId = "${options.agentId}"`);
|
|
1232
|
+
}
|
|
1233
|
+
if (options.channelId) {
|
|
1234
|
+
filters.push(`channelId = "${options.channelId}"`);
|
|
1235
|
+
}
|
|
1236
|
+
const searchResult = await meilisearch.searchConversations({
|
|
1237
|
+
query: options.query,
|
|
1238
|
+
filter: filters.length > 0 ? filters.join(' AND ') : undefined,
|
|
1239
|
+
limit: maxCandidates,
|
|
1240
|
+
hybridRatio: options.hybridRatio ?? 0.7
|
|
1241
|
+
});
|
|
1242
|
+
const semanticSearchTimeMs = Date.now() - semanticSearchStart;
|
|
1221
1243
|
const candidates = [];
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
if (options.agentId && entry.agentId !== options.agentId)
|
|
1244
|
+
for (const hit of searchResult.hits) {
|
|
1245
|
+
// Meilisearch ranking scores are already normalised to 0..1.
|
|
1246
|
+
const similarity = hit._rankingScore;
|
|
1247
|
+
if (similarity < similarityThreshold) {
|
|
1227
1248
|
continue;
|
|
1228
|
-
if (options.channelId && entry.channelId !== options.channelId)
|
|
1229
|
-
continue;
|
|
1230
|
-
// Simple text similarity for cognitive memory (in production, use Meilisearch)
|
|
1231
|
-
const contentStr = JSON.stringify(entry.content).toLowerCase();
|
|
1232
|
-
const queryWords = options.query.toLowerCase().split(/\s+/);
|
|
1233
|
-
const matchCount = queryWords.filter(word => contentStr.includes(word)).length;
|
|
1234
|
-
const similarity = matchCount / Math.max(queryWords.length, 1);
|
|
1235
|
-
// Apply similarity threshold
|
|
1236
|
-
const threshold = options.similarityThreshold ?? 0.3;
|
|
1237
|
-
if (similarity >= threshold) {
|
|
1238
|
-
// Get Q-value from manager or use default
|
|
1239
|
-
const qValue = qValueManager.getQValue(entry.id);
|
|
1240
|
-
candidates.push({
|
|
1241
|
-
memoryId: entry.id,
|
|
1242
|
-
similarity,
|
|
1243
|
-
qValue,
|
|
1244
|
-
content: entry.content,
|
|
1245
|
-
metadata: {
|
|
1246
|
-
memoryType: entry.memoryType,
|
|
1247
|
-
labels: entry.labels,
|
|
1248
|
-
createdAt: entry.createdAt
|
|
1249
|
-
}
|
|
1250
|
-
});
|
|
1251
1249
|
}
|
|
1250
|
+
candidates.push({
|
|
1251
|
+
memoryId: hit.id,
|
|
1252
|
+
similarity,
|
|
1253
|
+
qValue: qValueManager.getQValue(hit.id),
|
|
1254
|
+
content: hit.content,
|
|
1255
|
+
metadata: {
|
|
1256
|
+
memoryType: hit.role,
|
|
1257
|
+
createdAt: new Date(hit.timestamp)
|
|
1258
|
+
}
|
|
1259
|
+
});
|
|
1252
1260
|
}
|
|
1253
|
-
|
|
1254
|
-
//
|
|
1255
|
-
|
|
1256
|
-
candidates.
|
|
1257
|
-
const
|
|
1261
|
+
// Load Q-values learned in previous runs before scoring, otherwise every memory
|
|
1262
|
+
// this process has not seen yet would score at the default and ranking would
|
|
1263
|
+
// silently ignore everything the system has learned.
|
|
1264
|
+
await this.hydrateQValues(candidates.map(c => c.memoryId));
|
|
1265
|
+
for (const candidate of candidates) {
|
|
1266
|
+
candidate.qValue = qValueManager.getQValue(candidate.memoryId);
|
|
1267
|
+
}
|
|
1268
|
+
const topCandidates = candidates;
|
|
1258
1269
|
// Phase B: Utility scoring
|
|
1259
1270
|
const utilityScoringStart = Date.now();
|
|
1260
1271
|
const scoringResult = options.phase
|
|
@@ -1308,28 +1319,41 @@ export class MemoryService {
|
|
|
1308
1319
|
this.logger.debug(`[MemoryService] Tracked ${memoryIds.length} memories for task ${taskId} (phase=${phase})`);
|
|
1309
1320
|
}
|
|
1310
1321
|
/**
|
|
1311
|
-
*
|
|
1312
|
-
*
|
|
1322
|
+
* Persist the utility subdocument for a memory.
|
|
1323
|
+
*
|
|
1324
|
+
* Registered as QValueManager's persistence callback at server boot, so this runs
|
|
1325
|
+
* on every Q-value change and on dirty-cache eviction. It must throw on failure:
|
|
1326
|
+
* swallowing the error here is what previously made the whole learning system look
|
|
1327
|
+
* like it worked while retaining nothing across a restart.
|
|
1313
1328
|
*/
|
|
1314
1329
|
async updateMemoryUtility(memoryId, utilityUpdate) {
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1330
|
+
if (!this.persistenceService) {
|
|
1331
|
+
throw new Error(`[MemoryService] Cannot persist utility for memory ${memoryId}: no persistence service is configured. ` +
|
|
1332
|
+
`MULS requires the server to inject a persistence service at boot.`);
|
|
1333
|
+
}
|
|
1334
|
+
await this.persistenceService.updateAgentMemoryUtility(memoryId, utilityUpdate);
|
|
1335
|
+
}
|
|
1336
|
+
/**
|
|
1337
|
+
* Load stored Q-values for a batch of memories into the QValueManager cache.
|
|
1338
|
+
*
|
|
1339
|
+
* Called before utility scoring so that ranking uses values learned in previous
|
|
1340
|
+
* runs rather than the default for every memory the current process has not seen.
|
|
1341
|
+
* Memories with no stored utility keep the configured default.
|
|
1342
|
+
*/
|
|
1343
|
+
async hydrateQValues(memoryIds) {
|
|
1344
|
+
if (!this.persistenceService || memoryIds.length === 0) {
|
|
1320
1345
|
return;
|
|
1321
1346
|
}
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
this.logger.warn(`[MemoryService] Failed to update utility for memory ${memoryId}: ${error}`);
|
|
1331
|
-
}
|
|
1347
|
+
const qValueManager = QValueManager.getInstance();
|
|
1348
|
+
const uncached = memoryIds.filter(id => !qValueManager.isCached(id));
|
|
1349
|
+
if (uncached.length === 0) {
|
|
1350
|
+
return;
|
|
1351
|
+
}
|
|
1352
|
+
const utilities = await this.persistenceService.getAgentMemoryUtilities(uncached);
|
|
1353
|
+
for (const [memoryId, utility] of utilities) {
|
|
1354
|
+
qValueManager.setQValueInCache(memoryId, utility.qValue);
|
|
1332
1355
|
}
|
|
1356
|
+
this.logger.debug(`[MemoryService] Hydrated ${utilities.size}/${uncached.length} Q-values from persistence`);
|
|
1333
1357
|
}
|
|
1334
1358
|
/**
|
|
1335
1359
|
* Trigger entity extraction from memory content
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryService.js","sourceRoot":"","sources":["../../src/services/MemoryService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MemoryService.js","sourceRoot":"","sources":["../../src/services/MemoryService.ts"],"names":[],"mappings":"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"}
|
|
@@ -199,6 +199,11 @@ export declare class MxfMLService {
|
|
|
199
199
|
*
|
|
200
200
|
* Calls the provided trainCallback at the model's retrainIntervalMs.
|
|
201
201
|
* The callback is responsible for collecting training data and calling train().
|
|
202
|
+
* No-ops when auto-training is disabled (autoTrainEnabled=false).
|
|
203
|
+
*
|
|
204
|
+
* A model must have exactly one retraining owner: either a timer registered
|
|
205
|
+
* here or a consumer-managed schedule — never both. Overlapping schedules
|
|
206
|
+
* train on the same data twice and collide on TF.js fit() calls.
|
|
202
207
|
*
|
|
203
208
|
* @param modelId - ID of a registered model
|
|
204
209
|
* @param trainCallback - Function to call when retraining is due
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MxfMLService.d.ts","sourceRoot":"","sources":["../../src/services/MxfMLService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAsCH,OAAO,EACH,QAAQ,EACR,cAAc,EAGd,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACpB,MAAM,6BAA6B,CAAC;AA+NrC;;GAEG;AACH,qBAAa,YAAY;IACrB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAe;IACtC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,EAAE,CAAkD;IAC5D,OAAO,CAAC,MAAM,CAAoC;IAClD,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,kBAAkB,CAA+B;IACzD,OAAO,CAAC,aAAa,CAA0C;IAE/D,OAAO;WAIO,WAAW,IAAI,YAAY;IASzC;;;;;;;;OAQG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAiCxC;;OAEG;IACI,SAAS,IAAI,OAAO;IAI3B;;;;;OAKG;IACI,KAAK,IAAI,cAAc,kBAAkB,CAAC;IASjD;;;;;;;;;OASG;IACI,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IA2ClD;;;;;;;;;OASG;IACU,oBAAoB,CAC7B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,CAAC,EAAE,EAAE,cAAc,kBAAkB,CAAC,KAAK,OAAO,GAC5D,OAAO,CAAC,IAAI,CAAC;IAahB;;;;;;;;;;;;OAYG;IACU,KAAK,CACd,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EAAE,EAAE,EACjB,KAAK,EAAE,MAAM,EAAE,EAAE,EACjB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5E,OAAO,CAAC,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"MxfMLService.d.ts","sourceRoot":"","sources":["../../src/services/MxfMLService.ts"],"names":[],"mappings":"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"}
|
|
@@ -364,6 +364,13 @@ export class MxfMLService {
|
|
|
364
364
|
if (!entry.model) {
|
|
365
365
|
throw new Error(`[MxfMLService] Model "${modelId}" has not been built yet`);
|
|
366
366
|
}
|
|
367
|
+
// Fail fast on concurrent training: TF.js rejects overlapping fit() calls
|
|
368
|
+
// on a single model, and two callers would race on this entry's status
|
|
369
|
+
// and metrics. Callers must serialize training per model.
|
|
370
|
+
if (entry.status === ModelStatus.TRAINING) {
|
|
371
|
+
throw new Error(`[MxfMLService] Model "${modelId}" is already training — ` +
|
|
372
|
+
`concurrent training on the same model is not allowed`);
|
|
373
|
+
}
|
|
367
374
|
if (xData.length < entry.config.minTrainingSamples) {
|
|
368
375
|
throw new Error(`[MxfMLService] Insufficient training data for "${modelId}": ` +
|
|
369
376
|
`got ${xData.length}, need ${entry.config.minTrainingSamples}`);
|
|
@@ -375,10 +382,13 @@ export class MxfMLService {
|
|
|
375
382
|
this.emitTrainingStarted(modelId, xData.length, epochs);
|
|
376
383
|
entry.status = ModelStatus.TRAINING;
|
|
377
384
|
const startTime = Date.now();
|
|
385
|
+
// fit() is async, so tf.tidy() cannot wrap it — create the tensors
|
|
386
|
+
// eagerly and dispose them in finally so a failed fit() does not leak.
|
|
387
|
+
let xs;
|
|
388
|
+
let ys;
|
|
378
389
|
try {
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
const ys = tfRef.tensor2d(yData);
|
|
390
|
+
xs = tfRef.tensor2d(xData);
|
|
391
|
+
ys = tfRef.tensor2d(yData);
|
|
382
392
|
const layersModel = entry.model;
|
|
383
393
|
const result = await layersModel.fit(xs, ys, {
|
|
384
394
|
epochs,
|
|
@@ -398,9 +408,6 @@ export class MxfMLService {
|
|
|
398
408
|
durationMs: Date.now() - startTime,
|
|
399
409
|
samplesUsed: xData.length,
|
|
400
410
|
};
|
|
401
|
-
// Clean up tensors
|
|
402
|
-
xs.dispose();
|
|
403
|
-
ys.dispose();
|
|
404
411
|
// Update model state
|
|
405
412
|
entry.status = ModelStatus.TRAINED;
|
|
406
413
|
entry.lastTrainingMetrics = metrics;
|
|
@@ -422,6 +429,10 @@ export class MxfMLService {
|
|
|
422
429
|
this.logger.error(`[MxfMLService] Training failed for ${modelId}: ${errorMsg}`);
|
|
423
430
|
throw error;
|
|
424
431
|
}
|
|
432
|
+
finally {
|
|
433
|
+
xs?.dispose();
|
|
434
|
+
ys?.dispose();
|
|
435
|
+
}
|
|
425
436
|
}
|
|
426
437
|
// ─── Training: Custom Loop ──────────────────────────────────────────────────
|
|
427
438
|
/**
|
|
@@ -446,6 +457,11 @@ export class MxfMLService {
|
|
|
446
457
|
if (!entry.model) {
|
|
447
458
|
throw new Error(`[MxfMLService] Model "${modelId}" has not been built yet`);
|
|
448
459
|
}
|
|
460
|
+
// Fail fast on concurrent training (same contract as train())
|
|
461
|
+
if (entry.status === ModelStatus.TRAINING) {
|
|
462
|
+
throw new Error(`[MxfMLService] Model "${modelId}" is already training — ` +
|
|
463
|
+
`concurrent training on the same model is not allowed`);
|
|
464
|
+
}
|
|
449
465
|
// Emit training started (we don't know sample count upfront for custom training)
|
|
450
466
|
this.emitTrainingStarted(modelId, 0, entry.config.epochs);
|
|
451
467
|
entry.status = ModelStatus.TRAINING;
|
|
@@ -814,12 +830,22 @@ export class MxfMLService {
|
|
|
814
830
|
*
|
|
815
831
|
* Calls the provided trainCallback at the model's retrainIntervalMs.
|
|
816
832
|
* The callback is responsible for collecting training data and calling train().
|
|
833
|
+
* No-ops when auto-training is disabled (autoTrainEnabled=false).
|
|
834
|
+
*
|
|
835
|
+
* A model must have exactly one retraining owner: either a timer registered
|
|
836
|
+
* here or a consumer-managed schedule — never both. Overlapping schedules
|
|
837
|
+
* train on the same data twice and collide on TF.js fit() calls.
|
|
817
838
|
*
|
|
818
839
|
* @param modelId - ID of a registered model
|
|
819
840
|
* @param trainCallback - Function to call when retraining is due
|
|
820
841
|
*/
|
|
821
842
|
scheduleRetrain(modelId, trainCallback) {
|
|
822
843
|
const entry = this.getModelEntry(modelId);
|
|
844
|
+
if (!getTensorFlowConfig().autoTrainEnabled) {
|
|
845
|
+
this.logger.info(`[MxfMLService] Auto-training disabled (autoTrainEnabled=false), ` +
|
|
846
|
+
`not scheduling retrain for ${modelId}`);
|
|
847
|
+
return;
|
|
848
|
+
}
|
|
823
849
|
// Clear any existing timer for this model
|
|
824
850
|
const existingTimer = this.retrainTimers.get(modelId);
|
|
825
851
|
if (existingTimer) {
|