@mxf-dev/core 1.0.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/LICENSE +13 -0
- package/README.md +29 -0
- package/dist/adapters/FrameworkAdapter.d.ts +177 -0
- package/dist/adapters/FrameworkAdapter.d.ts.map +1 -0
- package/dist/adapters/FrameworkAdapter.js +142 -0
- package/dist/adapters/FrameworkAdapter.js.map +1 -0
- package/dist/adapters/index.d.ts +24 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +21 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/config/ConfigManager.d.ts +606 -0
- package/dist/config/ConfigManager.d.ts.map +1 -0
- package/dist/config/ConfigManager.js +814 -0
- package/dist/config/ConfigManager.js.map +1 -0
- package/dist/config/FeatureFlags.d.ts +84 -0
- package/dist/config/FeatureFlags.d.ts.map +1 -0
- package/dist/config/FeatureFlags.js +103 -0
- package/dist/config/FeatureFlags.js.map +1 -0
- package/dist/config/McpPromptsConfig.d.ts +43 -0
- package/dist/config/McpPromptsConfig.d.ts.map +1 -0
- package/dist/config/McpPromptsConfig.js +108 -0
- package/dist/config/McpPromptsConfig.js.map +1 -0
- package/dist/config/ModelContextLimits.d.ts +40 -0
- package/dist/config/ModelContextLimits.d.ts.map +1 -0
- package/dist/config/ModelContextLimits.js +137 -0
- package/dist/config/ModelContextLimits.js.map +1 -0
- package/dist/config/PromptCompactionConfig.d.ts +75 -0
- package/dist/config/PromptCompactionConfig.d.ts.map +1 -0
- package/dist/config/PromptCompactionConfig.js +146 -0
- package/dist/config/PromptCompactionConfig.js.map +1 -0
- package/dist/config/PromptConfig.d.ts +57 -0
- package/dist/config/PromptConfig.d.ts.map +1 -0
- package/dist/config/PromptConfig.js +43 -0
- package/dist/config/PromptConfig.js.map +1 -0
- package/dist/config/ServerConfig.d.ts +45 -0
- package/dist/config/ServerConfig.d.ts.map +1 -0
- package/dist/config/ServerConfig.js +51 -0
- package/dist/config/ServerConfig.js.map +1 -0
- package/dist/config/dag.config.d.ts +83 -0
- package/dist/config/dag.config.d.ts.map +1 -0
- package/dist/config/dag.config.js +171 -0
- package/dist/config/dag.config.js.map +1 -0
- package/dist/config/knowledge-graph.config.d.ts +112 -0
- package/dist/config/knowledge-graph.config.d.ts.map +1 -0
- package/dist/config/knowledge-graph.config.js +225 -0
- package/dist/config/knowledge-graph.config.js.map +1 -0
- package/dist/config/orpar-memory.config.d.ts +115 -0
- package/dist/config/orpar-memory.config.d.ts.map +1 -0
- package/dist/config/orpar-memory.config.js +309 -0
- package/dist/config/orpar-memory.config.js.map +1 -0
- package/dist/config/tensorflow.config.d.ts +74 -0
- package/dist/config/tensorflow.config.d.ts.map +1 -0
- package/dist/config/tensorflow.config.js +165 -0
- package/dist/config/tensorflow.config.js.map +1 -0
- package/dist/constants/CoreTools.d.ts +47 -0
- package/dist/constants/CoreTools.d.ts.map +1 -0
- package/dist/constants/CoreTools.js +80 -0
- package/dist/constants/CoreTools.js.map +1 -0
- package/dist/constants/DefaultPhaseProfiles.d.ts +163 -0
- package/dist/constants/DefaultPhaseProfiles.d.ts.map +1 -0
- package/dist/constants/DefaultPhaseProfiles.js +618 -0
- package/dist/constants/DefaultPhaseProfiles.js.map +1 -0
- package/dist/constants/EnhancementConstants.d.ts +352 -0
- package/dist/constants/EnhancementConstants.d.ts.map +1 -0
- package/dist/constants/EnhancementConstants.js +352 -0
- package/dist/constants/EnhancementConstants.js.map +1 -0
- package/dist/constants/ToolNames.d.ts +649 -0
- package/dist/constants/ToolNames.d.ts.map +1 -0
- package/dist/constants/ToolNames.js +463 -0
- package/dist/constants/ToolNames.js.map +1 -0
- package/dist/database/DatabaseAdapterFactory.d.ts +107 -0
- package/dist/database/DatabaseAdapterFactory.d.ts.map +1 -0
- package/dist/database/DatabaseAdapterFactory.js +160 -0
- package/dist/database/DatabaseAdapterFactory.js.map +1 -0
- package/dist/database/adapters/mongodb/MongoAgentRepository.d.ts +82 -0
- package/dist/database/adapters/mongodb/MongoAgentRepository.d.ts.map +1 -0
- package/dist/database/adapters/mongodb/MongoAgentRepository.js +145 -0
- package/dist/database/adapters/mongodb/MongoAgentRepository.js.map +1 -0
- package/dist/database/adapters/mongodb/MongoBaseRepository.d.ts +79 -0
- package/dist/database/adapters/mongodb/MongoBaseRepository.d.ts.map +1 -0
- package/dist/database/adapters/mongodb/MongoBaseRepository.js +168 -0
- package/dist/database/adapters/mongodb/MongoBaseRepository.js.map +1 -0
- package/dist/database/adapters/mongodb/MongoChannelRepository.d.ts +80 -0
- package/dist/database/adapters/mongodb/MongoChannelRepository.d.ts.map +1 -0
- package/dist/database/adapters/mongodb/MongoChannelRepository.js +155 -0
- package/dist/database/adapters/mongodb/MongoChannelRepository.js.map +1 -0
- package/dist/database/adapters/mongodb/MongoDagRepository.d.ts +104 -0
- package/dist/database/adapters/mongodb/MongoDagRepository.d.ts.map +1 -0
- package/dist/database/adapters/mongodb/MongoDagRepository.js +288 -0
- package/dist/database/adapters/mongodb/MongoDagRepository.js.map +1 -0
- package/dist/database/adapters/mongodb/MongoKnowledgeGraphRepository.d.ts +86 -0
- package/dist/database/adapters/mongodb/MongoKnowledgeGraphRepository.d.ts.map +1 -0
- package/dist/database/adapters/mongodb/MongoKnowledgeGraphRepository.js +717 -0
- package/dist/database/adapters/mongodb/MongoKnowledgeGraphRepository.js.map +1 -0
- package/dist/database/adapters/mongodb/MongoMemoryRepository.d.ts +60 -0
- package/dist/database/adapters/mongodb/MongoMemoryRepository.d.ts.map +1 -0
- package/dist/database/adapters/mongodb/MongoMemoryRepository.js +176 -0
- package/dist/database/adapters/mongodb/MongoMemoryRepository.js.map +1 -0
- package/dist/database/adapters/mongodb/MongoTaskRepository.d.ts +103 -0
- package/dist/database/adapters/mongodb/MongoTaskRepository.d.ts.map +1 -0
- package/dist/database/adapters/mongodb/MongoTaskRepository.js +301 -0
- package/dist/database/adapters/mongodb/MongoTaskRepository.js.map +1 -0
- package/dist/database/adapters/mongodb/index.d.ts +25 -0
- package/dist/database/adapters/mongodb/index.d.ts.map +1 -0
- package/dist/database/adapters/mongodb/index.js +25 -0
- package/dist/database/adapters/mongodb/index.js.map +1 -0
- package/dist/database/index.d.ts +22 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/index.js +22 -0
- package/dist/database/index.js.map +1 -0
- package/dist/events/ClientEventBus.d.ts +226 -0
- package/dist/events/ClientEventBus.d.ts.map +1 -0
- package/dist/events/ClientEventBus.js +630 -0
- package/dist/events/ClientEventBus.js.map +1 -0
- package/dist/events/EventBus.d.ts +59 -0
- package/dist/events/EventBus.d.ts.map +1 -0
- package/dist/events/EventBus.js +98 -0
- package/dist/events/EventBus.js.map +1 -0
- package/dist/events/EventBusBase.d.ts +236 -0
- package/dist/events/EventBusBase.d.ts.map +1 -0
- package/dist/events/EventBusBase.js +247 -0
- package/dist/events/EventBusBase.js.map +1 -0
- package/dist/events/EventNames.d.ts +747 -0
- package/dist/events/EventNames.d.ts.map +1 -0
- package/dist/events/EventNames.js +157 -0
- package/dist/events/EventNames.js.map +1 -0
- package/dist/events/PublicEvents.d.ts +102 -0
- package/dist/events/PublicEvents.d.ts.map +1 -0
- package/dist/events/PublicEvents.js +221 -0
- package/dist/events/PublicEvents.js.map +1 -0
- package/dist/events/ServerEventBus.d.ts +201 -0
- package/dist/events/ServerEventBus.d.ts.map +1 -0
- package/dist/events/ServerEventBus.js +412 -0
- package/dist/events/ServerEventBus.js.map +1 -0
- package/dist/events/event-definitions/AgentEvents.d.ts +270 -0
- package/dist/events/event-definitions/AgentEvents.d.ts.map +1 -0
- package/dist/events/event-definitions/AgentEvents.js +82 -0
- package/dist/events/event-definitions/AgentEvents.js.map +1 -0
- package/dist/events/event-definitions/AnalyticsEvents.d.ts +280 -0
- package/dist/events/event-definitions/AnalyticsEvents.d.ts.map +1 -0
- package/dist/events/event-definitions/AnalyticsEvents.js +52 -0
- package/dist/events/event-definitions/AnalyticsEvents.js.map +1 -0
- package/dist/events/event-definitions/BulkEvents.d.ts +445 -0
- package/dist/events/event-definitions/BulkEvents.d.ts.map +1 -0
- package/dist/events/event-definitions/BulkEvents.js +61 -0
- package/dist/events/event-definitions/BulkEvents.js.map +1 -0
- package/dist/events/event-definitions/ChannelEvents.d.ts +197 -0
- package/dist/events/event-definitions/ChannelEvents.d.ts.map +1 -0
- package/dist/events/event-definitions/ChannelEvents.js +82 -0
- package/dist/events/event-definitions/ChannelEvents.js.map +1 -0
- package/dist/events/event-definitions/CodeExecutionEvents.d.ts +263 -0
- package/dist/events/event-definitions/CodeExecutionEvents.d.ts.map +1 -0
- package/dist/events/event-definitions/CodeExecutionEvents.js +41 -0
- package/dist/events/event-definitions/CodeExecutionEvents.js.map +1 -0
- package/dist/events/event-definitions/CompactionEvents.d.ts +166 -0
- package/dist/events/event-definitions/CompactionEvents.d.ts.map +1 -0
- package/dist/events/event-definitions/CompactionEvents.js +35 -0
- package/dist/events/event-definitions/CompactionEvents.js.map +1 -0
- package/dist/events/event-definitions/ConfigEvents.d.ts +319 -0
- package/dist/events/event-definitions/ConfigEvents.d.ts.map +1 -0
- package/dist/events/event-definitions/ConfigEvents.js +45 -0
- package/dist/events/event-definitions/ConfigEvents.js.map +1 -0
- package/dist/events/event-definitions/ControlLoopEvents.d.ts +113 -0
- package/dist/events/event-definitions/ControlLoopEvents.d.ts.map +1 -0
- package/dist/events/event-definitions/ControlLoopEvents.js +40 -0
- package/dist/events/event-definitions/ControlLoopEvents.js.map +1 -0
- package/dist/events/event-definitions/DagEvents.d.ts +216 -0
- package/dist/events/event-definitions/DagEvents.d.ts.map +1 -0
- package/dist/events/event-definitions/DagEvents.js +46 -0
- package/dist/events/event-definitions/DagEvents.js.map +1 -0
- package/dist/events/event-definitions/HeartbeatEvents.d.ts +45 -0
- package/dist/events/event-definitions/HeartbeatEvents.d.ts.map +1 -0
- package/dist/events/event-definitions/HeartbeatEvents.js +28 -0
- package/dist/events/event-definitions/HeartbeatEvents.js.map +1 -0
- package/dist/events/event-definitions/InferenceParameterEvents.d.ts +99 -0
- package/dist/events/event-definitions/InferenceParameterEvents.d.ts.map +1 -0
- package/dist/events/event-definitions/InferenceParameterEvents.js +38 -0
- package/dist/events/event-definitions/InferenceParameterEvents.js.map +1 -0
- package/dist/events/event-definitions/KeyEvents.d.ts +141 -0
- package/dist/events/event-definitions/KeyEvents.d.ts.map +1 -0
- package/dist/events/event-definitions/KeyEvents.js +49 -0
- package/dist/events/event-definitions/KeyEvents.js.map +1 -0
- package/dist/events/event-definitions/KnowledgeGraphEvents.d.ts +257 -0
- package/dist/events/event-definitions/KnowledgeGraphEvents.d.ts.map +1 -0
- package/dist/events/event-definitions/KnowledgeGraphEvents.js +49 -0
- package/dist/events/event-definitions/KnowledgeGraphEvents.js.map +1 -0
- package/dist/events/event-definitions/LlmEvents.d.ts +50 -0
- package/dist/events/event-definitions/LlmEvents.d.ts.map +1 -0
- package/dist/events/event-definitions/LlmEvents.js +29 -0
- package/dist/events/event-definitions/LlmEvents.js.map +1 -0
- package/dist/events/event-definitions/McpEvents.d.ts +385 -0
- package/dist/events/event-definitions/McpEvents.d.ts.map +1 -0
- package/dist/events/event-definitions/McpEvents.js +86 -0
- package/dist/events/event-definitions/McpEvents.js.map +1 -0
- package/dist/events/event-definitions/MeilisearchEvents.d.ts +49 -0
- package/dist/events/event-definitions/MeilisearchEvents.d.ts.map +1 -0
- package/dist/events/event-definitions/MeilisearchEvents.js +34 -0
- package/dist/events/event-definitions/MeilisearchEvents.js.map +1 -0
- package/dist/events/event-definitions/MemoryEvents.d.ts +328 -0
- package/dist/events/event-definitions/MemoryEvents.d.ts.map +1 -0
- package/dist/events/event-definitions/MemoryEvents.js +69 -0
- package/dist/events/event-definitions/MemoryEvents.js.map +1 -0
- package/dist/events/event-definitions/MemoryUtilityEvents.d.ts +233 -0
- package/dist/events/event-definitions/MemoryUtilityEvents.d.ts.map +1 -0
- package/dist/events/event-definitions/MemoryUtilityEvents.js +37 -0
- package/dist/events/event-definitions/MemoryUtilityEvents.js.map +1 -0
- package/dist/events/event-definitions/MessageEvents.d.ts +86 -0
- package/dist/events/event-definitions/MessageEvents.d.ts.map +1 -0
- package/dist/events/event-definitions/MessageEvents.js +42 -0
- package/dist/events/event-definitions/MessageEvents.js.map +1 -0
- package/dist/events/event-definitions/MxpEvents.d.ts +113 -0
- package/dist/events/event-definitions/MxpEvents.d.ts.map +1 -0
- package/dist/events/event-definitions/MxpEvents.js +46 -0
- package/dist/events/event-definitions/MxpEvents.js.map +1 -0
- package/dist/events/event-definitions/OrparEvents.d.ts +222 -0
- package/dist/events/event-definitions/OrparEvents.d.ts.map +1 -0
- package/dist/events/event-definitions/OrparEvents.js +58 -0
- package/dist/events/event-definitions/OrparEvents.js.map +1 -0
- package/dist/events/event-definitions/OrparMemoryEvents.d.ts +357 -0
- package/dist/events/event-definitions/OrparMemoryEvents.d.ts.map +1 -0
- package/dist/events/event-definitions/OrparMemoryEvents.js +79 -0
- package/dist/events/event-definitions/OrparMemoryEvents.js.map +1 -0
- package/dist/events/event-definitions/PlanEvents.d.ts +109 -0
- package/dist/events/event-definitions/PlanEvents.d.ts.map +1 -0
- package/dist/events/event-definitions/PlanEvents.js +41 -0
- package/dist/events/event-definitions/PlanEvents.js.map +1 -0
- package/dist/events/event-definitions/ProgressEvents.d.ts +44 -0
- package/dist/events/event-definitions/ProgressEvents.d.ts.map +1 -0
- package/dist/events/event-definitions/ProgressEvents.js +30 -0
- package/dist/events/event-definitions/ProgressEvents.js.map +1 -0
- package/dist/events/event-definitions/ShellExecutionEvents.d.ts +280 -0
- package/dist/events/event-definitions/ShellExecutionEvents.d.ts.map +1 -0
- package/dist/events/event-definitions/ShellExecutionEvents.js +41 -0
- package/dist/events/event-definitions/ShellExecutionEvents.js.map +1 -0
- package/dist/events/event-definitions/SystemEvents.d.ts +234 -0
- package/dist/events/event-definitions/SystemEvents.d.ts.map +1 -0
- package/dist/events/event-definitions/SystemEvents.js +42 -0
- package/dist/events/event-definitions/SystemEvents.js.map +1 -0
- package/dist/events/event-definitions/TaskEvents.d.ts +239 -0
- package/dist/events/event-definitions/TaskEvents.d.ts.map +1 -0
- package/dist/events/event-definitions/TaskEvents.js +58 -0
- package/dist/events/event-definitions/TaskEvents.js.map +1 -0
- package/dist/events/event-definitions/TensorFlowEvents.d.ts +144 -0
- package/dist/events/event-definitions/TensorFlowEvents.d.ts.map +1 -0
- package/dist/events/event-definitions/TensorFlowEvents.js +45 -0
- package/dist/events/event-definitions/TensorFlowEvents.js.map +1 -0
- package/dist/events/event-definitions/UserInputEvents.d.ts +180 -0
- package/dist/events/event-definitions/UserInputEvents.d.ts.map +1 -0
- package/dist/events/event-definitions/UserInputEvents.js +36 -0
- package/dist/events/event-definitions/UserInputEvents.js.map +1 -0
- package/dist/events/event-definitions/WorkflowEvents.d.ts +142 -0
- package/dist/events/event-definitions/WorkflowEvents.d.ts.map +1 -0
- package/dist/events/event-definitions/WorkflowEvents.js +50 -0
- package/dist/events/event-definitions/WorkflowEvents.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/interfaces/AgentContext.d.ts +154 -0
- package/dist/interfaces/AgentContext.d.ts.map +1 -0
- package/dist/interfaces/AgentContext.js +38 -0
- package/dist/interfaces/AgentContext.js.map +1 -0
- package/dist/interfaces/AgentInterfaces.d.ts +96 -0
- package/dist/interfaces/AgentInterfaces.d.ts.map +1 -0
- package/dist/interfaces/AgentInterfaces.js +21 -0
- package/dist/interfaces/AgentInterfaces.js.map +1 -0
- package/dist/interfaces/Channel.d.ts +34 -0
- package/dist/interfaces/Channel.d.ts.map +1 -0
- package/dist/interfaces/Channel.js +21 -0
- package/dist/interfaces/Channel.js.map +1 -0
- package/dist/interfaces/ChannelConfig.d.ts +50 -0
- package/dist/interfaces/ChannelConfig.d.ts.map +1 -0
- package/dist/interfaces/ChannelConfig.js +21 -0
- package/dist/interfaces/ChannelConfig.js.map +1 -0
- package/dist/interfaces/ChannelConnectionConfig.d.ts +36 -0
- package/dist/interfaces/ChannelConnectionConfig.d.ts.map +1 -0
- package/dist/interfaces/ChannelConnectionConfig.js +21 -0
- package/dist/interfaces/ChannelConnectionConfig.js.map +1 -0
- package/dist/interfaces/ChannelInfo.d.ts +32 -0
- package/dist/interfaces/ChannelInfo.d.ts.map +1 -0
- package/dist/interfaces/ChannelInfo.js +21 -0
- package/dist/interfaces/ChannelInfo.js.map +1 -0
- package/dist/interfaces/ConversationMessage.d.ts +74 -0
- package/dist/interfaces/ConversationMessage.d.ts.map +1 -0
- package/dist/interfaces/ConversationMessage.js +21 -0
- package/dist/interfaces/ConversationMessage.js.map +1 -0
- package/dist/interfaces/ILlmTopicExtractor.d.ts +65 -0
- package/dist/interfaces/ILlmTopicExtractor.d.ts.map +1 -0
- package/dist/interfaces/ILlmTopicExtractor.js +21 -0
- package/dist/interfaces/ILlmTopicExtractor.js.map +1 -0
- package/dist/interfaces/SocketServiceInterface.d.ts +93 -0
- package/dist/interfaces/SocketServiceInterface.d.ts.map +1 -0
- package/dist/interfaces/SocketServiceInterface.js +21 -0
- package/dist/interfaces/SocketServiceInterface.js.map +1 -0
- package/dist/interfaces/TaskInterfaces.d.ts +50 -0
- package/dist/interfaces/TaskInterfaces.d.ts.map +1 -0
- package/dist/interfaces/TaskInterfaces.js +21 -0
- package/dist/interfaces/TaskInterfaces.js.map +1 -0
- package/dist/middleware/MxpMiddleware.d.ts +84 -0
- package/dist/middleware/MxpMiddleware.d.ts.map +1 -0
- package/dist/middleware/MxpMiddleware.js +284 -0
- package/dist/middleware/MxpMiddleware.js.map +1 -0
- package/dist/models/PatternLearningModels.d.ts +163 -0
- package/dist/models/PatternLearningModels.d.ts.map +1 -0
- package/dist/models/PatternLearningModels.js +409 -0
- package/dist/models/PatternLearningModels.js.map +1 -0
- package/dist/models/agent.d.ts +59 -0
- package/dist/models/agent.d.ts.map +1 -0
- package/dist/models/agent.js +113 -0
- package/dist/models/agent.js.map +1 -0
- package/dist/models/auditLog.d.ts +46 -0
- package/dist/models/auditLog.d.ts.map +1 -0
- package/dist/models/auditLog.js +106 -0
- package/dist/models/auditLog.js.map +1 -0
- package/dist/models/channel.d.ts +91 -0
- package/dist/models/channel.d.ts.map +1 -0
- package/dist/models/channel.js +205 -0
- package/dist/models/channel.js.map +1 -0
- package/dist/models/channelKey.d.ts +57 -0
- package/dist/models/channelKey.d.ts.map +1 -0
- package/dist/models/channelKey.js +93 -0
- package/dist/models/channelKey.js.map +1 -0
- package/dist/models/codeExecution.d.ts +57 -0
- package/dist/models/codeExecution.d.ts.map +1 -0
- package/dist/models/codeExecution.js +197 -0
- package/dist/models/codeExecution.js.map +1 -0
- package/dist/models/controlLoop.d.ts +138 -0
- package/dist/models/controlLoop.d.ts.map +1 -0
- package/dist/models/controlLoop.js +38 -0
- package/dist/models/controlLoop.js.map +1 -0
- package/dist/models/coordination.d.ts +76 -0
- package/dist/models/coordination.d.ts.map +1 -0
- package/dist/models/coordination.js +130 -0
- package/dist/models/coordination.js.map +1 -0
- package/dist/models/document.d.ts +123 -0
- package/dist/models/document.d.ts.map +1 -0
- package/dist/models/document.js +191 -0
- package/dist/models/document.js.map +1 -0
- package/dist/models/entity.d.ts +60 -0
- package/dist/models/entity.d.ts.map +1 -0
- package/dist/models/entity.js +163 -0
- package/dist/models/entity.js.map +1 -0
- package/dist/models/mcpTool.d.ts +95 -0
- package/dist/models/mcpTool.d.ts.map +1 -0
- package/dist/models/mcpTool.js +175 -0
- package/dist/models/mcpTool.js.map +1 -0
- package/dist/models/mcpToolExecution.d.ts +77 -0
- package/dist/models/mcpToolExecution.d.ts.map +1 -0
- package/dist/models/mcpToolExecution.js +110 -0
- package/dist/models/mcpToolExecution.js.map +1 -0
- package/dist/models/memory.d.ts +47 -0
- package/dist/models/memory.d.ts.map +1 -0
- package/dist/models/memory.js +251 -0
- package/dist/models/memory.js.map +1 -0
- package/dist/models/memoryStrata.d.ts +130 -0
- package/dist/models/memoryStrata.d.ts.map +1 -0
- package/dist/models/memoryStrata.js +317 -0
- package/dist/models/memoryStrata.js.map +1 -0
- package/dist/models/personalAccessToken.d.ts +78 -0
- package/dist/models/personalAccessToken.d.ts.map +1 -0
- package/dist/models/personalAccessToken.js +155 -0
- package/dist/models/personalAccessToken.js.map +1 -0
- package/dist/models/plan.d.ts +53 -0
- package/dist/models/plan.d.ts.map +1 -0
- package/dist/models/plan.js +100 -0
- package/dist/models/plan.js.map +1 -0
- package/dist/models/relationship.d.ts +59 -0
- package/dist/models/relationship.d.ts.map +1 -0
- package/dist/models/relationship.js +132 -0
- package/dist/models/relationship.js.map +1 -0
- package/dist/models/shellOutput.d.ts +54 -0
- package/dist/models/shellOutput.d.ts.map +1 -0
- package/dist/models/shellOutput.js +76 -0
- package/dist/models/shellOutput.js.map +1 -0
- package/dist/models/task.d.ts +77 -0
- package/dist/models/task.d.ts.map +1 -0
- package/dist/models/task.js +297 -0
- package/dist/models/task.js.map +1 -0
- package/dist/models/taskEffectiveness.d.ts +45 -0
- package/dist/models/taskEffectiveness.d.ts.map +1 -0
- package/dist/models/taskEffectiveness.js +132 -0
- package/dist/models/taskEffectiveness.js.map +1 -0
- package/dist/models/tool.d.ts +57 -0
- package/dist/models/tool.d.ts.map +1 -0
- package/dist/models/tool.js +68 -0
- package/dist/models/tool.js.map +1 -0
- package/dist/models/toolExecution.d.ts +44 -0
- package/dist/models/toolExecution.d.ts.map +1 -0
- package/dist/models/toolExecution.js +46 -0
- package/dist/models/toolExecution.js.map +1 -0
- package/dist/models/toolModels.d.ts +130 -0
- package/dist/models/toolModels.d.ts.map +1 -0
- package/dist/models/toolModels.js +315 -0
- package/dist/models/toolModels.js.map +1 -0
- package/dist/models/user.d.ts +52 -0
- package/dist/models/user.d.ts.map +1 -0
- package/dist/models/user.js +118 -0
- package/dist/models/user.js.map +1 -0
- package/dist/models/userMemory.d.ts +57 -0
- package/dist/models/userMemory.d.ts.map +1 -0
- package/dist/models/userMemory.js +113 -0
- package/dist/models/userMemory.js.map +1 -0
- package/dist/mxp/BinaryProtocolLayer.d.ts +86 -0
- package/dist/mxp/BinaryProtocolLayer.d.ts.map +1 -0
- package/dist/mxp/BinaryProtocolLayer.js +313 -0
- package/dist/mxp/BinaryProtocolLayer.js.map +1 -0
- package/dist/mxp/ContextCompressionEngine.d.ts +134 -0
- package/dist/mxp/ContextCompressionEngine.d.ts.map +1 -0
- package/dist/mxp/ContextCompressionEngine.js +416 -0
- package/dist/mxp/ContextCompressionEngine.js.map +1 -0
- package/dist/mxp/MxpConfigManager.d.ts +109 -0
- package/dist/mxp/MxpConfigManager.d.ts.map +1 -0
- package/dist/mxp/MxpConfigManager.js +257 -0
- package/dist/mxp/MxpConfigManager.js.map +1 -0
- package/dist/mxp/MxpEventForwardingEnhancer.d.ts +134 -0
- package/dist/mxp/MxpEventForwardingEnhancer.d.ts.map +1 -0
- package/dist/mxp/MxpEventForwardingEnhancer.js +361 -0
- package/dist/mxp/MxpEventForwardingEnhancer.js.map +1 -0
- package/dist/mxp/MxpTokenOptimizer.d.ts +68 -0
- package/dist/mxp/MxpTokenOptimizer.d.ts.map +1 -0
- package/dist/mxp/MxpTokenOptimizer.js +198 -0
- package/dist/mxp/MxpTokenOptimizer.js.map +1 -0
- package/dist/prompts/ChannelContextProvider.d.ts +55 -0
- package/dist/prompts/ChannelContextProvider.d.ts.map +1 -0
- package/dist/prompts/ChannelContextProvider.js +159 -0
- package/dist/prompts/ChannelContextProvider.js.map +1 -0
- package/dist/prompts/DeferredToolSchemaRegistry.d.ts +84 -0
- package/dist/prompts/DeferredToolSchemaRegistry.d.ts.map +1 -0
- package/dist/prompts/DeferredToolSchemaRegistry.js +186 -0
- package/dist/prompts/DeferredToolSchemaRegistry.js.map +1 -0
- package/dist/prompts/DynamicContextProvider.d.ts +94 -0
- package/dist/prompts/DynamicContextProvider.d.ts.map +1 -0
- package/dist/prompts/DynamicContextProvider.js +124 -0
- package/dist/prompts/DynamicContextProvider.js.map +1 -0
- package/dist/prompts/MemoryPromptInjector.d.ts +77 -0
- package/dist/prompts/MemoryPromptInjector.d.ts.map +1 -0
- package/dist/prompts/MemoryPromptInjector.js +248 -0
- package/dist/prompts/MemoryPromptInjector.js.map +1 -0
- package/dist/prompts/MxfAgentSystemPrompt.d.ts +121 -0
- package/dist/prompts/MxfAgentSystemPrompt.d.ts.map +1 -0
- package/dist/prompts/MxfAgentSystemPrompt.js +922 -0
- package/dist/prompts/MxfAgentSystemPrompt.js.map +1 -0
- package/dist/prompts/PromptSegmentRegistry.d.ts +103 -0
- package/dist/prompts/PromptSegmentRegistry.d.ts.map +1 -0
- package/dist/prompts/PromptSegmentRegistry.js +303 -0
- package/dist/prompts/PromptSegmentRegistry.js.map +1 -0
- package/dist/prompts/ToolBehavioralGuidance.d.ts +68 -0
- package/dist/prompts/ToolBehavioralGuidance.d.ts.map +1 -0
- package/dist/prompts/ToolBehavioralGuidance.js +171 -0
- package/dist/prompts/ToolBehavioralGuidance.js.map +1 -0
- package/dist/protocols/binaryProtocol.d.ts +109 -0
- package/dist/protocols/binaryProtocol.d.ts.map +1 -0
- package/dist/protocols/binaryProtocol.js +329 -0
- package/dist/protocols/binaryProtocol.js.map +1 -0
- package/dist/protocols/mcp/ClientExecutableManifest.d.ts +68 -0
- package/dist/protocols/mcp/ClientExecutableManifest.d.ts.map +1 -0
- package/dist/protocols/mcp/ClientExecutableManifest.js +81 -0
- package/dist/protocols/mcp/ClientExecutableManifest.js.map +1 -0
- package/dist/protocols/mcp/IMcpClient.d.ts +285 -0
- package/dist/protocols/mcp/IMcpClient.d.ts.map +1 -0
- package/dist/protocols/mcp/IMcpClient.js +40 -0
- package/dist/protocols/mcp/IMcpClient.js.map +1 -0
- package/dist/protocols/mcp/LlmProviderFactory.d.ts +40 -0
- package/dist/protocols/mcp/LlmProviderFactory.d.ts.map +1 -0
- package/dist/protocols/mcp/LlmProviderFactory.js +78 -0
- package/dist/protocols/mcp/LlmProviderFactory.js.map +1 -0
- package/dist/protocols/mcp/LlmProviders.d.ts +42 -0
- package/dist/protocols/mcp/LlmProviders.d.ts.map +1 -0
- package/dist/protocols/mcp/LlmProviders.js +45 -0
- package/dist/protocols/mcp/LlmProviders.js.map +1 -0
- package/dist/protocols/mcp/McpClient.d.ts +106 -0
- package/dist/protocols/mcp/McpClient.d.ts.map +1 -0
- package/dist/protocols/mcp/McpClient.js +159 -0
- package/dist/protocols/mcp/McpClient.js.map +1 -0
- package/dist/protocols/mcp/McpClientFactory.d.ts +41 -0
- package/dist/protocols/mcp/McpClientFactory.d.ts.map +1 -0
- package/dist/protocols/mcp/McpClientFactory.js +51 -0
- package/dist/protocols/mcp/McpClientFactory.js.map +1 -0
- package/dist/protocols/mcp/McpServerTypes.d.ts +195 -0
- package/dist/protocols/mcp/McpServerTypes.d.ts.map +1 -0
- package/dist/protocols/mcp/McpServerTypes.js +21 -0
- package/dist/protocols/mcp/McpServerTypes.js.map +1 -0
- package/dist/protocols/mcp/McpToolCallParser.d.ts +68 -0
- package/dist/protocols/mcp/McpToolCallParser.d.ts.map +1 -0
- package/dist/protocols/mcp/McpToolCallParser.js +240 -0
- package/dist/protocols/mcp/McpToolCallParser.js.map +1 -0
- package/dist/protocols/mcp/McpToolSchema.d.ts +160 -0
- package/dist/protocols/mcp/McpToolSchema.d.ts.map +1 -0
- package/dist/protocols/mcp/McpToolSchema.js +512 -0
- package/dist/protocols/mcp/McpToolSchema.js.map +1 -0
- package/dist/protocols/mcp/converters/IFormatConverter.d.ts +309 -0
- package/dist/protocols/mcp/converters/IFormatConverter.d.ts.map +1 -0
- package/dist/protocols/mcp/converters/IFormatConverter.js +76 -0
- package/dist/protocols/mcp/converters/IFormatConverter.js.map +1 -0
- package/dist/protocols/mcp/converters/UnifiedMessageConverter.d.ts +80 -0
- package/dist/protocols/mcp/converters/UnifiedMessageConverter.d.ts.map +1 -0
- package/dist/protocols/mcp/converters/UnifiedMessageConverter.js +234 -0
- package/dist/protocols/mcp/converters/UnifiedMessageConverter.js.map +1 -0
- package/dist/protocols/mcp/converters/adapters/AnthropicMessageAdapter.d.ts +101 -0
- package/dist/protocols/mcp/converters/adapters/AnthropicMessageAdapter.d.ts.map +1 -0
- package/dist/protocols/mcp/converters/adapters/AnthropicMessageAdapter.js +434 -0
- package/dist/protocols/mcp/converters/adapters/AnthropicMessageAdapter.js.map +1 -0
- package/dist/protocols/mcp/converters/adapters/GeminiMessageAdapter.d.ts +34 -0
- package/dist/protocols/mcp/converters/adapters/GeminiMessageAdapter.d.ts.map +1 -0
- package/dist/protocols/mcp/converters/adapters/GeminiMessageAdapter.js +49 -0
- package/dist/protocols/mcp/converters/adapters/GeminiMessageAdapter.js.map +1 -0
- package/dist/protocols/mcp/converters/adapters/OpenAiMessageAdapter.d.ts +39 -0
- package/dist/protocols/mcp/converters/adapters/OpenAiMessageAdapter.d.ts.map +1 -0
- package/dist/protocols/mcp/converters/adapters/OpenAiMessageAdapter.js +43 -0
- package/dist/protocols/mcp/converters/adapters/OpenAiMessageAdapter.js.map +1 -0
- package/dist/protocols/mcp/converters/adapters/OpenRouterMessageAdapter.d.ts +96 -0
- package/dist/protocols/mcp/converters/adapters/OpenRouterMessageAdapter.d.ts.map +1 -0
- package/dist/protocols/mcp/converters/adapters/OpenRouterMessageAdapter.js +334 -0
- package/dist/protocols/mcp/converters/adapters/OpenRouterMessageAdapter.js.map +1 -0
- package/dist/protocols/mcp/converters/adapters/XaiMessageAdapter.d.ts +30 -0
- package/dist/protocols/mcp/converters/adapters/XaiMessageAdapter.d.ts.map +1 -0
- package/dist/protocols/mcp/converters/adapters/XaiMessageAdapter.js +34 -0
- package/dist/protocols/mcp/converters/adapters/XaiMessageAdapter.js.map +1 -0
- package/dist/protocols/mcp/providers/AnthropicMcpClient.d.ts +115 -0
- package/dist/protocols/mcp/providers/AnthropicMcpClient.d.ts.map +1 -0
- package/dist/protocols/mcp/providers/AnthropicMcpClient.js +514 -0
- package/dist/protocols/mcp/providers/AnthropicMcpClient.js.map +1 -0
- package/dist/protocols/mcp/providers/AzureOpenAiMcpClient.d.ts +151 -0
- package/dist/protocols/mcp/providers/AzureOpenAiMcpClient.d.ts.map +1 -0
- package/dist/protocols/mcp/providers/AzureOpenAiMcpClient.js +657 -0
- package/dist/protocols/mcp/providers/AzureOpenAiMcpClient.js.map +1 -0
- package/dist/protocols/mcp/providers/BaseMcpClient.d.ts +152 -0
- package/dist/protocols/mcp/providers/BaseMcpClient.d.ts.map +1 -0
- package/dist/protocols/mcp/providers/BaseMcpClient.js +219 -0
- package/dist/protocols/mcp/providers/BaseMcpClient.js.map +1 -0
- package/dist/protocols/mcp/providers/CustomMcpClient.d.ts +106 -0
- package/dist/protocols/mcp/providers/CustomMcpClient.d.ts.map +1 -0
- package/dist/protocols/mcp/providers/CustomMcpClient.js +282 -0
- package/dist/protocols/mcp/providers/CustomMcpClient.js.map +1 -0
- package/dist/protocols/mcp/providers/GeminiMcpClient.d.ts +121 -0
- package/dist/protocols/mcp/providers/GeminiMcpClient.d.ts.map +1 -0
- package/dist/protocols/mcp/providers/GeminiMcpClient.js +581 -0
- package/dist/protocols/mcp/providers/GeminiMcpClient.js.map +1 -0
- package/dist/protocols/mcp/providers/OllamaMcpClient.d.ts +97 -0
- package/dist/protocols/mcp/providers/OllamaMcpClient.d.ts.map +1 -0
- package/dist/protocols/mcp/providers/OllamaMcpClient.js +418 -0
- package/dist/protocols/mcp/providers/OllamaMcpClient.js.map +1 -0
- package/dist/protocols/mcp/providers/OpenAiMcpClient.d.ts +133 -0
- package/dist/protocols/mcp/providers/OpenAiMcpClient.d.ts.map +1 -0
- package/dist/protocols/mcp/providers/OpenAiMcpClient.js +672 -0
- package/dist/protocols/mcp/providers/OpenAiMcpClient.js.map +1 -0
- package/dist/protocols/mcp/providers/OpenRouterMcpClient.d.ts +164 -0
- package/dist/protocols/mcp/providers/OpenRouterMcpClient.d.ts.map +1 -0
- package/dist/protocols/mcp/providers/OpenRouterMcpClient.js +902 -0
- package/dist/protocols/mcp/providers/OpenRouterMcpClient.js.map +1 -0
- package/dist/protocols/mcp/providers/XaiMcpClient.d.ts +96 -0
- package/dist/protocols/mcp/providers/XaiMcpClient.d.ts.map +1 -0
- package/dist/protocols/mcp/providers/XaiMcpClient.js +474 -0
- package/dist/protocols/mcp/providers/XaiMcpClient.js.map +1 -0
- package/dist/protocols/mcp/security/McpConfirmationManager.d.ts +113 -0
- package/dist/protocols/mcp/security/McpConfirmationManager.d.ts.map +1 -0
- package/dist/protocols/mcp/security/McpConfirmationManager.js +238 -0
- package/dist/protocols/mcp/security/McpConfirmationManager.js.map +1 -0
- package/dist/protocols/mcp/security/McpSecurityConfig.d.ts +119 -0
- package/dist/protocols/mcp/security/McpSecurityConfig.d.ts.map +1 -0
- package/dist/protocols/mcp/security/McpSecurityConfig.js +306 -0
- package/dist/protocols/mcp/security/McpSecurityConfig.js.map +1 -0
- package/dist/protocols/mcp/security/McpSecurityGuard.d.ts +91 -0
- package/dist/protocols/mcp/security/McpSecurityGuard.d.ts.map +1 -0
- package/dist/protocols/mcp/security/McpSecurityGuard.js +458 -0
- package/dist/protocols/mcp/security/McpSecurityGuard.js.map +1 -0
- package/dist/protocols/mcp/security/index.d.ts +28 -0
- package/dist/protocols/mcp/security/index.d.ts.map +1 -0
- package/dist/protocols/mcp/security/index.js +28 -0
- package/dist/protocols/mcp/security/index.js.map +1 -0
- package/dist/protocols/mcp/services/ExternalMcpServerManager.d.ts +232 -0
- package/dist/protocols/mcp/services/ExternalMcpServerManager.d.ts.map +1 -0
- package/dist/protocols/mcp/services/ExternalMcpServerManager.js +1174 -0
- package/dist/protocols/mcp/services/ExternalMcpServerManager.js.map +1 -0
- package/dist/protocols/mcp/services/ExternalServerConfigs.d.ts +109 -0
- package/dist/protocols/mcp/services/ExternalServerConfigs.d.ts.map +1 -0
- package/dist/protocols/mcp/services/ExternalServerConfigs.js +321 -0
- package/dist/protocols/mcp/services/ExternalServerConfigs.js.map +1 -0
- package/dist/protocols/mcp/services/IToolEventEmitter.d.ts +50 -0
- package/dist/protocols/mcp/services/IToolEventEmitter.d.ts.map +1 -0
- package/dist/protocols/mcp/services/IToolEventEmitter.js +21 -0
- package/dist/protocols/mcp/services/IToolEventEmitter.js.map +1 -0
- package/dist/protocols/mcp/services/ToolSchemaEnhancements.d.ts +56 -0
- package/dist/protocols/mcp/services/ToolSchemaEnhancements.d.ts.map +1 -0
- package/dist/protocols/mcp/services/ToolSchemaEnhancements.js +57 -0
- package/dist/protocols/mcp/services/ToolSchemaEnhancements.js.map +1 -0
- package/dist/protocols/mcp/tools/AnalyticsTools.d.ts +68 -0
- package/dist/protocols/mcp/tools/AnalyticsTools.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/AnalyticsTools.js +725 -0
- package/dist/protocols/mcp/tools/AnalyticsTools.js.map +1 -0
- package/dist/protocols/mcp/tools/CodeAnalysisTools.d.ts +614 -0
- package/dist/protocols/mcp/tools/CodeAnalysisTools.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/CodeAnalysisTools.js +645 -0
- package/dist/protocols/mcp/tools/CodeAnalysisTools.js.map +1 -0
- package/dist/protocols/mcp/tools/ControlLoopLifecycle.d.ts +270 -0
- package/dist/protocols/mcp/tools/ControlLoopLifecycle.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/ControlLoopLifecycle.js +256 -0
- package/dist/protocols/mcp/tools/ControlLoopLifecycle.js.map +1 -0
- package/dist/protocols/mcp/tools/DateTimeTools.d.ts +431 -0
- package/dist/protocols/mcp/tools/DateTimeTools.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/DateTimeTools.js +525 -0
- package/dist/protocols/mcp/tools/DateTimeTools.js.map +1 -0
- package/dist/protocols/mcp/tools/EffectivenessTools.d.ts +51 -0
- package/dist/protocols/mcp/tools/EffectivenessTools.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/EffectivenessTools.js +403 -0
- package/dist/protocols/mcp/tools/EffectivenessTools.js.map +1 -0
- package/dist/protocols/mcp/tools/GitTools.d.ts +389 -0
- package/dist/protocols/mcp/tools/GitTools.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/GitTools.js +657 -0
- package/dist/protocols/mcp/tools/GitTools.js.map +1 -0
- package/dist/protocols/mcp/tools/InfrastructureTools.d.ts +826 -0
- package/dist/protocols/mcp/tools/InfrastructureTools.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/InfrastructureTools.js +689 -0
- package/dist/protocols/mcp/tools/InfrastructureTools.js.map +1 -0
- package/dist/protocols/mcp/tools/JsonTools.d.ts +339 -0
- package/dist/protocols/mcp/tools/JsonTools.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/JsonTools.js +304 -0
- package/dist/protocols/mcp/tools/JsonTools.js.map +1 -0
- package/dist/protocols/mcp/tools/KnowledgeGraphTools.d.ts +1295 -0
- package/dist/protocols/mcp/tools/KnowledgeGraphTools.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/KnowledgeGraphTools.js +929 -0
- package/dist/protocols/mcp/tools/KnowledgeGraphTools.js.map +1 -0
- package/dist/protocols/mcp/tools/LspTools.d.ts +495 -0
- package/dist/protocols/mcp/tools/LspTools.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/LspTools.js +469 -0
- package/dist/protocols/mcp/tools/LspTools.js.map +1 -0
- package/dist/protocols/mcp/tools/MemorySearchTools.d.ts +457 -0
- package/dist/protocols/mcp/tools/MemorySearchTools.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/MemorySearchTools.js +476 -0
- package/dist/protocols/mcp/tools/MemorySearchTools.js.map +1 -0
- package/dist/protocols/mcp/tools/MemoryUtilityTools.d.ts +47 -0
- package/dist/protocols/mcp/tools/MemoryUtilityTools.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/MemoryUtilityTools.js +480 -0
- package/dist/protocols/mcp/tools/MemoryUtilityTools.js.map +1 -0
- package/dist/protocols/mcp/tools/OrparTools.d.ts +396 -0
- package/dist/protocols/mcp/tools/OrparTools.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/OrparTools.js +963 -0
- package/dist/protocols/mcp/tools/OrparTools.js.map +1 -0
- package/dist/protocols/mcp/tools/PlanningTools.d.ts +63 -0
- package/dist/protocols/mcp/tools/PlanningTools.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/PlanningTools.js +533 -0
- package/dist/protocols/mcp/tools/PlanningTools.js.map +1 -0
- package/dist/protocols/mcp/tools/PredictiveTools.d.ts +74 -0
- package/dist/protocols/mcp/tools/PredictiveTools.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/PredictiveTools.js +316 -0
- package/dist/protocols/mcp/tools/PredictiveTools.js.map +1 -0
- package/dist/protocols/mcp/tools/ProgressTools.d.ts +41 -0
- package/dist/protocols/mcp/tools/ProgressTools.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/ProgressTools.js +85 -0
- package/dist/protocols/mcp/tools/ProgressTools.js.map +1 -0
- package/dist/protocols/mcp/tools/ProjectContextTools.d.ts +35 -0
- package/dist/protocols/mcp/tools/ProjectContextTools.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/ProjectContextTools.js +311 -0
- package/dist/protocols/mcp/tools/ProjectContextTools.js.map +1 -0
- package/dist/protocols/mcp/tools/SafetyTools.d.ts +545 -0
- package/dist/protocols/mcp/tools/SafetyTools.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/SafetyTools.js +959 -0
- package/dist/protocols/mcp/tools/SafetyTools.js.map +1 -0
- package/dist/protocols/mcp/tools/SearchProjectTools.d.ts +153 -0
- package/dist/protocols/mcp/tools/SearchProjectTools.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/SearchProjectTools.js +233 -0
- package/dist/protocols/mcp/tools/SearchProjectTools.js.map +1 -0
- package/dist/protocols/mcp/tools/TaskPlanningTools.d.ts +49 -0
- package/dist/protocols/mcp/tools/TaskPlanningTools.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/TaskPlanningTools.js +570 -0
- package/dist/protocols/mcp/tools/TaskPlanningTools.js.map +1 -0
- package/dist/protocols/mcp/tools/TestTools.d.ts +396 -0
- package/dist/protocols/mcp/tools/TestTools.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/TestTools.js +498 -0
- package/dist/protocols/mcp/tools/TestTools.js.map +1 -0
- package/dist/protocols/mcp/tools/ToolHelpTools.d.ts +164 -0
- package/dist/protocols/mcp/tools/ToolHelpTools.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/ToolHelpTools.js +269 -0
- package/dist/protocols/mcp/tools/ToolHelpTools.js.map +1 -0
- package/dist/protocols/mcp/tools/TypeScriptTools.d.ts +296 -0
- package/dist/protocols/mcp/tools/TypeScriptTools.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/TypeScriptTools.js +446 -0
- package/dist/protocols/mcp/tools/TypeScriptTools.js.map +1 -0
- package/dist/protocols/mcp/tools/UserInputTools.d.ts +306 -0
- package/dist/protocols/mcp/tools/UserInputTools.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/UserInputTools.js +354 -0
- package/dist/protocols/mcp/tools/UserInputTools.js.map +1 -0
- package/dist/protocols/mcp/tools/UserMemoryTools.d.ts +59 -0
- package/dist/protocols/mcp/tools/UserMemoryTools.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/UserMemoryTools.js +339 -0
- package/dist/protocols/mcp/tools/UserMemoryTools.js.map +1 -0
- package/dist/protocols/mcp/tools/WebTools.d.ts +758 -0
- package/dist/protocols/mcp/tools/WebTools.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/WebTools.js +494 -0
- package/dist/protocols/mcp/tools/WebTools.js.map +1 -0
- package/dist/protocols/mcp/tools/WolframTools.d.ts +175 -0
- package/dist/protocols/mcp/tools/WolframTools.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/WolframTools.js +200 -0
- package/dist/protocols/mcp/tools/WolframTools.js.map +1 -0
- package/dist/protocols/mcp/tools/shell/CommandClassification.d.ts +54 -0
- package/dist/protocols/mcp/tools/shell/CommandClassification.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/shell/CommandClassification.js +487 -0
- package/dist/protocols/mcp/tools/shell/CommandClassification.js.map +1 -0
- package/dist/protocols/mcp/tools/shell/CommandSemantics.d.ts +64 -0
- package/dist/protocols/mcp/tools/shell/CommandSemantics.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/shell/CommandSemantics.js +300 -0
- package/dist/protocols/mcp/tools/shell/CommandSemantics.js.map +1 -0
- package/dist/protocols/mcp/tools/shell/DestructiveCommandWarnings.d.ts +47 -0
- package/dist/protocols/mcp/tools/shell/DestructiveCommandWarnings.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/shell/DestructiveCommandWarnings.js +177 -0
- package/dist/protocols/mcp/tools/shell/DestructiveCommandWarnings.js.map +1 -0
- package/dist/protocols/mcp/tools/shell/LargeOutputHandler.d.ts +70 -0
- package/dist/protocols/mcp/tools/shell/LargeOutputHandler.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/shell/LargeOutputHandler.js +123 -0
- package/dist/protocols/mcp/tools/shell/LargeOutputHandler.js.map +1 -0
- package/dist/protocols/mcp/tools/shell/ShellCommandParser.d.ts +56 -0
- package/dist/protocols/mcp/tools/shell/ShellCommandParser.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/shell/ShellCommandParser.js +521 -0
- package/dist/protocols/mcp/tools/shell/ShellCommandParser.js.map +1 -0
- package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.d.ts +112 -0
- package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.js +314 -0
- package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.js.map +1 -0
- package/dist/protocols/mcp/tools/shell/ShellSandbox.d.ts +90 -0
- package/dist/protocols/mcp/tools/shell/ShellSandbox.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/shell/ShellSandbox.js +350 -0
- package/dist/protocols/mcp/tools/shell/ShellSandbox.js.map +1 -0
- package/dist/protocols/mcp/tools/shell/index.d.ts +46 -0
- package/dist/protocols/mcp/tools/shell/index.d.ts.map +1 -0
- package/dist/protocols/mcp/tools/shell/index.js +39 -0
- package/dist/protocols/mcp/tools/shell/index.js.map +1 -0
- package/dist/protocols/mcp/utils/JsonRecovery.d.ts +67 -0
- package/dist/protocols/mcp/utils/JsonRecovery.d.ts.map +1 -0
- package/dist/protocols/mcp/utils/JsonRecovery.js +230 -0
- package/dist/protocols/mcp/utils/JsonRecovery.js.map +1 -0
- package/dist/protocols/mcp/utils/MessageConverters.d.ts +99 -0
- package/dist/protocols/mcp/utils/MessageConverters.d.ts.map +1 -0
- package/dist/protocols/mcp/utils/MessageConverters.js +193 -0
- package/dist/protocols/mcp/utils/MessageConverters.js.map +1 -0
- package/dist/protocols/mcp/utils/NetworkRecovery.d.ts +76 -0
- package/dist/protocols/mcp/utils/NetworkRecovery.d.ts.map +1 -0
- package/dist/protocols/mcp/utils/NetworkRecovery.js +227 -0
- package/dist/protocols/mcp/utils/NetworkRecovery.js.map +1 -0
- package/dist/protocols/mcp/utils/ToolHandlers.d.ts +95 -0
- package/dist/protocols/mcp/utils/ToolHandlers.d.ts.map +1 -0
- package/dist/protocols/mcp/utils/ToolHandlers.js +231 -0
- package/dist/protocols/mcp/utils/ToolHandlers.js.map +1 -0
- package/dist/repositories/interfaces/IAgentRepository.d.ts +112 -0
- package/dist/repositories/interfaces/IAgentRepository.d.ts.map +1 -0
- package/dist/repositories/interfaces/IAgentRepository.js +21 -0
- package/dist/repositories/interfaces/IAgentRepository.js.map +1 -0
- package/dist/repositories/interfaces/IBaseRepository.d.ts +64 -0
- package/dist/repositories/interfaces/IBaseRepository.d.ts.map +1 -0
- package/dist/repositories/interfaces/IBaseRepository.js +21 -0
- package/dist/repositories/interfaces/IBaseRepository.js.map +1 -0
- package/dist/repositories/interfaces/IChannelRepository.d.ts +141 -0
- package/dist/repositories/interfaces/IChannelRepository.d.ts.map +1 -0
- package/dist/repositories/interfaces/IChannelRepository.js +21 -0
- package/dist/repositories/interfaces/IChannelRepository.js.map +1 -0
- package/dist/repositories/interfaces/IDagRepository.d.ts +153 -0
- package/dist/repositories/interfaces/IDagRepository.d.ts.map +1 -0
- package/dist/repositories/interfaces/IDagRepository.js +21 -0
- package/dist/repositories/interfaces/IDagRepository.js.map +1 -0
- package/dist/repositories/interfaces/IKnowledgeGraphRepository.d.ts +307 -0
- package/dist/repositories/interfaces/IKnowledgeGraphRepository.d.ts.map +1 -0
- package/dist/repositories/interfaces/IKnowledgeGraphRepository.js +21 -0
- package/dist/repositories/interfaces/IKnowledgeGraphRepository.js.map +1 -0
- package/dist/repositories/interfaces/IMemoryRepository.d.ts +156 -0
- package/dist/repositories/interfaces/IMemoryRepository.d.ts.map +1 -0
- package/dist/repositories/interfaces/IMemoryRepository.js +42 -0
- package/dist/repositories/interfaces/IMemoryRepository.js.map +1 -0
- package/dist/repositories/interfaces/ITaskRepository.d.ts +183 -0
- package/dist/repositories/interfaces/ITaskRepository.d.ts.map +1 -0
- package/dist/repositories/interfaces/ITaskRepository.js +21 -0
- package/dist/repositories/interfaces/ITaskRepository.js.map +1 -0
- package/dist/repositories/interfaces/index.d.ts +27 -0
- package/dist/repositories/interfaces/index.d.ts.map +1 -0
- package/dist/repositories/interfaces/index.js +27 -0
- package/dist/repositories/interfaces/index.js.map +1 -0
- package/dist/repositories/types/FilterTypes.d.ts +69 -0
- package/dist/repositories/types/FilterTypes.d.ts.map +1 -0
- package/dist/repositories/types/FilterTypes.js +21 -0
- package/dist/repositories/types/FilterTypes.js.map +1 -0
- package/dist/repositories/types/PaginationTypes.d.ts +55 -0
- package/dist/repositories/types/PaginationTypes.d.ts.map +1 -0
- package/dist/repositories/types/PaginationTypes.js +21 -0
- package/dist/repositories/types/PaginationTypes.js.map +1 -0
- package/dist/schemas/CodeExecutionEventPayloads.d.ts +108 -0
- package/dist/schemas/CodeExecutionEventPayloads.d.ts.map +1 -0
- package/dist/schemas/CodeExecutionEventPayloads.js +164 -0
- package/dist/schemas/CodeExecutionEventPayloads.js.map +1 -0
- package/dist/schemas/EventPayloadSchema.d.ts +2467 -0
- package/dist/schemas/EventPayloadSchema.d.ts.map +1 -0
- package/dist/schemas/EventPayloadSchema.js +2049 -0
- package/dist/schemas/EventPayloadSchema.js.map +1 -0
- package/dist/schemas/JsonResponseSchemas.d.ts +352 -0
- package/dist/schemas/JsonResponseSchemas.d.ts.map +1 -0
- package/dist/schemas/JsonResponseSchemas.js +256 -0
- package/dist/schemas/JsonResponseSchemas.js.map +1 -0
- package/dist/schemas/MessageSchemas.d.ts +180 -0
- package/dist/schemas/MessageSchemas.d.ts.map +1 -0
- package/dist/schemas/MessageSchemas.js +282 -0
- package/dist/schemas/MessageSchemas.js.map +1 -0
- package/dist/schemas/MxpProtocolSchemas.d.ts +340 -0
- package/dist/schemas/MxpProtocolSchemas.d.ts.map +1 -0
- package/dist/schemas/MxpProtocolSchemas.js +282 -0
- package/dist/schemas/MxpProtocolSchemas.js.map +1 -0
- package/dist/schemas/ShellExecutionEventPayloads.d.ts +117 -0
- package/dist/schemas/ShellExecutionEventPayloads.d.ts.map +1 -0
- package/dist/schemas/ShellExecutionEventPayloads.js +165 -0
- package/dist/schemas/ShellExecutionEventPayloads.js.map +1 -0
- package/dist/services/AgentPerformanceService.d.ts +73 -0
- package/dist/services/AgentPerformanceService.d.ts.map +1 -0
- package/dist/services/AgentPerformanceService.js +499 -0
- package/dist/services/AgentPerformanceService.js.map +1 -0
- package/dist/services/AutoCorrectionIntegrationService.d.ts +243 -0
- package/dist/services/AutoCorrectionIntegrationService.d.ts.map +1 -0
- package/dist/services/AutoCorrectionIntegrationService.js +594 -0
- package/dist/services/AutoCorrectionIntegrationService.js.map +1 -0
- package/dist/services/AutoCorrectionService.d.ts +178 -0
- package/dist/services/AutoCorrectionService.d.ts.map +1 -0
- package/dist/services/AutoCorrectionService.js +822 -0
- package/dist/services/AutoCorrectionService.js.map +1 -0
- package/dist/services/AutoMemoryCreator.d.ts +133 -0
- package/dist/services/AutoMemoryCreator.d.ts.map +1 -0
- package/dist/services/AutoMemoryCreator.js +453 -0
- package/dist/services/AutoMemoryCreator.js.map +1 -0
- package/dist/services/BackgroundTaskManager.d.ts +174 -0
- package/dist/services/BackgroundTaskManager.d.ts.map +1 -0
- package/dist/services/BackgroundTaskManager.js +443 -0
- package/dist/services/BackgroundTaskManager.js.map +1 -0
- package/dist/services/BrowserManager.d.ts +53 -0
- package/dist/services/BrowserManager.d.ts.map +1 -0
- package/dist/services/BrowserManager.js +203 -0
- package/dist/services/BrowserManager.js.map +1 -0
- package/dist/services/ChannelContextMemoryOperations.d.ts +63 -0
- package/dist/services/ChannelContextMemoryOperations.d.ts.map +1 -0
- package/dist/services/ChannelContextMemoryOperations.js +284 -0
- package/dist/services/ChannelContextMemoryOperations.js.map +1 -0
- package/dist/services/ChannelContextMessageOperations.d.ts +66 -0
- package/dist/services/ChannelContextMessageOperations.d.ts.map +1 -0
- package/dist/services/ChannelContextMessageOperations.js +331 -0
- package/dist/services/ChannelContextMessageOperations.js.map +1 -0
- package/dist/services/CodeExecutionSandboxService.d.ts +129 -0
- package/dist/services/CodeExecutionSandboxService.d.ts.map +1 -0
- package/dist/services/CodeExecutionSandboxService.js +314 -0
- package/dist/services/CodeExecutionSandboxService.js.map +1 -0
- package/dist/services/ContainerExecutionManager.d.ts +161 -0
- package/dist/services/ContainerExecutionManager.d.ts.map +1 -0
- package/dist/services/ContainerExecutionManager.js +594 -0
- package/dist/services/ContainerExecutionManager.js.map +1 -0
- package/dist/services/ContainerPoolManager.d.ts +9 -0
- package/dist/services/ContainerPoolManager.d.ts.map +1 -0
- package/dist/services/ContainerPoolManager.js +8 -0
- package/dist/services/ContainerPoolManager.js.map +1 -0
- package/dist/services/ContentProcessor.d.ts +133 -0
- package/dist/services/ContentProcessor.d.ts.map +1 -0
- package/dist/services/ContentProcessor.js +428 -0
- package/dist/services/ContentProcessor.js.map +1 -0
- package/dist/services/McpToolDocumentationService.d.ts +54 -0
- package/dist/services/McpToolDocumentationService.d.ts.map +1 -0
- package/dist/services/McpToolDocumentationService.js +202 -0
- package/dist/services/McpToolDocumentationService.js.map +1 -0
- package/dist/services/MemoryCompressor.d.ts +92 -0
- package/dist/services/MemoryCompressor.d.ts.map +1 -0
- package/dist/services/MemoryCompressor.js +283 -0
- package/dist/services/MemoryCompressor.js.map +1 -0
- package/dist/services/MemoryService.d.ts +328 -0
- package/dist/services/MemoryService.d.ts.map +1 -0
- package/dist/services/MemoryService.js +1424 -0
- package/dist/services/MemoryService.js.map +1 -0
- package/dist/services/MxfMLService.d.ts +236 -0
- package/dist/services/MxfMLService.d.ts.map +1 -0
- package/dist/services/MxfMLService.js +930 -0
- package/dist/services/MxfMLService.js.map +1 -0
- package/dist/services/MxfMeilisearchService.d.ts +232 -0
- package/dist/services/MxfMeilisearchService.d.ts.map +1 -0
- package/dist/services/MxfMeilisearchService.js +477 -0
- package/dist/services/MxfMeilisearchService.js.map +1 -0
- package/dist/services/MxfMessageAggregator.d.ts +86 -0
- package/dist/services/MxfMessageAggregator.d.ts.map +1 -0
- package/dist/services/MxfMessageAggregator.js +259 -0
- package/dist/services/MxfMessageAggregator.js.map +1 -0
- package/dist/services/PatternLearningService.d.ts +101 -0
- package/dist/services/PatternLearningService.d.ts.map +1 -0
- package/dist/services/PatternLearningService.js +893 -0
- package/dist/services/PatternLearningService.js.map +1 -0
- package/dist/services/PerformanceOptimizationService.d.ts +273 -0
- package/dist/services/PerformanceOptimizationService.d.ts.map +1 -0
- package/dist/services/PerformanceOptimizationService.js +861 -0
- package/dist/services/PerformanceOptimizationService.js.map +1 -0
- package/dist/services/PredictiveAnalyticsService.d.ts +513 -0
- package/dist/services/PredictiveAnalyticsService.d.ts.map +1 -0
- package/dist/services/PredictiveAnalyticsService.js +1656 -0
- package/dist/services/PredictiveAnalyticsService.js.map +1 -0
- package/dist/services/ProactiveValidationService.d.ts +266 -0
- package/dist/services/ProactiveValidationService.d.ts.map +1 -0
- package/dist/services/ProactiveValidationService.js +1012 -0
- package/dist/services/ProactiveValidationService.js.map +1 -0
- package/dist/services/PromptArgumentInferenceService.d.ts +51 -0
- package/dist/services/PromptArgumentInferenceService.d.ts.map +1 -0
- package/dist/services/PromptArgumentInferenceService.js +148 -0
- package/dist/services/PromptArgumentInferenceService.js.map +1 -0
- package/dist/services/QValueManager.d.ts +164 -0
- package/dist/services/QValueManager.d.ts.map +1 -0
- package/dist/services/QValueManager.js +502 -0
- package/dist/services/QValueManager.js.map +1 -0
- package/dist/services/ReasoningToolParser.d.ts +106 -0
- package/dist/services/ReasoningToolParser.d.ts.map +1 -0
- package/dist/services/ReasoningToolParser.js +354 -0
- package/dist/services/ReasoningToolParser.js.map +1 -0
- package/dist/services/RecoveryWorkflowService.d.ts +233 -0
- package/dist/services/RecoveryWorkflowService.d.ts.map +1 -0
- package/dist/services/RecoveryWorkflowService.js +655 -0
- package/dist/services/RecoveryWorkflowService.js.map +1 -0
- package/dist/services/ReflectionService.d.ts +66 -0
- package/dist/services/ReflectionService.d.ts.map +1 -0
- package/dist/services/ReflectionService.js +257 -0
- package/dist/services/ReflectionService.js.map +1 -0
- package/dist/services/RetentionGateService.d.ts +108 -0
- package/dist/services/RetentionGateService.d.ts.map +1 -0
- package/dist/services/RetentionGateService.js +306 -0
- package/dist/services/RetentionGateService.js.map +1 -0
- package/dist/services/RewardSignalProcessor.d.ts +164 -0
- package/dist/services/RewardSignalProcessor.d.ts.map +1 -0
- package/dist/services/RewardSignalProcessor.js +511 -0
- package/dist/services/RewardSignalProcessor.js.map +1 -0
- package/dist/services/SharedStateService.d.ts +79 -0
- package/dist/services/SharedStateService.d.ts.map +1 -0
- package/dist/services/SharedStateService.js +178 -0
- package/dist/services/SharedStateService.js.map +1 -0
- package/dist/services/StratumManager.d.ts +118 -0
- package/dist/services/StratumManager.d.ts.map +1 -0
- package/dist/services/StratumManager.js +392 -0
- package/dist/services/StratumManager.js.map +1 -0
- package/dist/services/StructuredSummaryBuilder.d.ts +90 -0
- package/dist/services/StructuredSummaryBuilder.d.ts.map +1 -0
- package/dist/services/StructuredSummaryBuilder.js +257 -0
- package/dist/services/StructuredSummaryBuilder.js.map +1 -0
- package/dist/services/SurpriseCalculator.d.ts +118 -0
- package/dist/services/SurpriseCalculator.d.ts.map +1 -0
- package/dist/services/SurpriseCalculator.js +303 -0
- package/dist/services/SurpriseCalculator.js.map +1 -0
- package/dist/services/SystemLlmMemoryAnalyzer.d.ts +73 -0
- package/dist/services/SystemLlmMemoryAnalyzer.d.ts.map +1 -0
- package/dist/services/SystemLlmMemoryAnalyzer.js +357 -0
- package/dist/services/SystemLlmMemoryAnalyzer.js.map +1 -0
- package/dist/services/TaskEffectivenessService.d.ts +122 -0
- package/dist/services/TaskEffectivenessService.d.ts.map +1 -0
- package/dist/services/TaskEffectivenessService.js +777 -0
- package/dist/services/TaskEffectivenessService.js.map +1 -0
- package/dist/services/ToolExecutionInterceptor.d.ts +158 -0
- package/dist/services/ToolExecutionInterceptor.d.ts.map +1 -0
- package/dist/services/ToolExecutionInterceptor.js +362 -0
- package/dist/services/ToolExecutionInterceptor.js.map +1 -0
- package/dist/services/UserInputRequestManager.d.ts +113 -0
- package/dist/services/UserInputRequestManager.d.ts.map +1 -0
- package/dist/services/UserInputRequestManager.js +392 -0
- package/dist/services/UserInputRequestManager.js.map +1 -0
- package/dist/services/UserMemoryService.d.ts +141 -0
- package/dist/services/UserMemoryService.d.ts.map +1 -0
- package/dist/services/UserMemoryService.js +398 -0
- package/dist/services/UserMemoryService.js.map +1 -0
- package/dist/services/UtilityScorerService.d.ts +120 -0
- package/dist/services/UtilityScorerService.d.ts.map +1 -0
- package/dist/services/UtilityScorerService.js +343 -0
- package/dist/services/UtilityScorerService.js.map +1 -0
- package/dist/services/ValidationAnalyticsService.d.ts +332 -0
- package/dist/services/ValidationAnalyticsService.d.ts.map +1 -0
- package/dist/services/ValidationAnalyticsService.js +859 -0
- package/dist/services/ValidationAnalyticsService.js.map +1 -0
- package/dist/services/ValidationCacheService.d.ts +250 -0
- package/dist/services/ValidationCacheService.d.ts.map +1 -0
- package/dist/services/ValidationCacheService.js +864 -0
- package/dist/services/ValidationCacheService.js.map +1 -0
- package/dist/services/ValidationMiddleware.d.ts +177 -0
- package/dist/services/ValidationMiddleware.d.ts.map +1 -0
- package/dist/services/ValidationMiddleware.js +671 -0
- package/dist/services/ValidationMiddleware.js.map +1 -0
- package/dist/services/ValidationPerformanceService.d.ts +84 -0
- package/dist/services/ValidationPerformanceService.d.ts.map +1 -0
- package/dist/services/ValidationPerformanceService.js +581 -0
- package/dist/services/ValidationPerformanceService.js.map +1 -0
- package/dist/services/WebSearchService.d.ts +76 -0
- package/dist/services/WebSearchService.d.ts.map +1 -0
- package/dist/services/WebSearchService.js +286 -0
- package/dist/services/WebSearchService.js.map +1 -0
- package/dist/services/dag/TaskDagService.d.ts +161 -0
- package/dist/services/dag/TaskDagService.d.ts.map +1 -0
- package/dist/services/dag/TaskDagService.js +771 -0
- package/dist/services/dag/TaskDagService.js.map +1 -0
- package/dist/services/dag/algorithms/TopologicalSort.d.ts +113 -0
- package/dist/services/dag/algorithms/TopologicalSort.d.ts.map +1 -0
- package/dist/services/dag/algorithms/TopologicalSort.js +460 -0
- package/dist/services/dag/algorithms/TopologicalSort.js.map +1 -0
- package/dist/services/kg/EntityExtractionService.d.ts +86 -0
- package/dist/services/kg/EntityExtractionService.d.ts.map +1 -0
- package/dist/services/kg/EntityExtractionService.js +385 -0
- package/dist/services/kg/EntityExtractionService.js.map +1 -0
- package/dist/services/kg/EntityQValueManager.d.ts +101 -0
- package/dist/services/kg/EntityQValueManager.d.ts.map +1 -0
- package/dist/services/kg/EntityQValueManager.js +263 -0
- package/dist/services/kg/EntityQValueManager.js.map +1 -0
- package/dist/services/kg/GraphSurpriseCalculator.d.ts +82 -0
- package/dist/services/kg/GraphSurpriseCalculator.d.ts.map +1 -0
- package/dist/services/kg/GraphSurpriseCalculator.js +278 -0
- package/dist/services/kg/GraphSurpriseCalculator.js.map +1 -0
- package/dist/services/kg/KnowledgeGraphService.d.ts +166 -0
- package/dist/services/kg/KnowledgeGraphService.d.ts.map +1 -0
- package/dist/services/kg/KnowledgeGraphService.js +555 -0
- package/dist/services/kg/KnowledgeGraphService.js.map +1 -0
- package/dist/services/kg/OrparGraphIntegration.d.ts +205 -0
- package/dist/services/kg/OrparGraphIntegration.d.ts.map +1 -0
- package/dist/services/kg/OrparGraphIntegration.js +571 -0
- package/dist/services/kg/OrparGraphIntegration.js.map +1 -0
- package/dist/services/lsp/LspDocumentManager.d.ts +75 -0
- package/dist/services/lsp/LspDocumentManager.d.ts.map +1 -0
- package/dist/services/lsp/LspDocumentManager.js +253 -0
- package/dist/services/lsp/LspDocumentManager.js.map +1 -0
- package/dist/services/lsp/LspProtocolAdapter.d.ts +117 -0
- package/dist/services/lsp/LspProtocolAdapter.d.ts.map +1 -0
- package/dist/services/lsp/LspProtocolAdapter.js +363 -0
- package/dist/services/lsp/LspProtocolAdapter.js.map +1 -0
- package/dist/services/lsp/LspServerManager.d.ts +87 -0
- package/dist/services/lsp/LspServerManager.d.ts.map +1 -0
- package/dist/services/lsp/LspServerManager.js +354 -0
- package/dist/services/lsp/LspServerManager.js.map +1 -0
- package/dist/services/lsp/interfaces/ILspConnection.d.ts +53 -0
- package/dist/services/lsp/interfaces/ILspConnection.d.ts.map +1 -0
- package/dist/services/lsp/interfaces/ILspConnection.js +7 -0
- package/dist/services/lsp/interfaces/ILspConnection.js.map +1 -0
- package/dist/services/lsp/interfaces/ILspDocumentManager.d.ts +65 -0
- package/dist/services/lsp/interfaces/ILspDocumentManager.d.ts.map +1 -0
- package/dist/services/lsp/interfaces/ILspDocumentManager.js +7 -0
- package/dist/services/lsp/interfaces/ILspDocumentManager.js.map +1 -0
- package/dist/services/lsp/interfaces/ILspServerManager.d.ts +56 -0
- package/dist/services/lsp/interfaces/ILspServerManager.d.ts.map +1 -0
- package/dist/services/lsp/interfaces/ILspServerManager.js +7 -0
- package/dist/services/lsp/interfaces/ILspServerManager.js.map +1 -0
- package/dist/services/orpar-memory/CycleConsolidationTrigger.d.ts +133 -0
- package/dist/services/orpar-memory/CycleConsolidationTrigger.d.ts.map +1 -0
- package/dist/services/orpar-memory/CycleConsolidationTrigger.js +505 -0
- package/dist/services/orpar-memory/CycleConsolidationTrigger.js.map +1 -0
- package/dist/services/orpar-memory/OrparMemoryCoordinator.d.ts +201 -0
- package/dist/services/orpar-memory/OrparMemoryCoordinator.d.ts.map +1 -0
- package/dist/services/orpar-memory/OrparMemoryCoordinator.js +783 -0
- package/dist/services/orpar-memory/OrparMemoryCoordinator.js.map +1 -0
- package/dist/services/orpar-memory/PhaseMemoryOperations.d.ts +163 -0
- package/dist/services/orpar-memory/PhaseMemoryOperations.d.ts.map +1 -0
- package/dist/services/orpar-memory/PhaseMemoryOperations.js +399 -0
- package/dist/services/orpar-memory/PhaseMemoryOperations.js.map +1 -0
- package/dist/services/orpar-memory/PhaseStrataRouter.d.ts +93 -0
- package/dist/services/orpar-memory/PhaseStrataRouter.d.ts.map +1 -0
- package/dist/services/orpar-memory/PhaseStrataRouter.js +317 -0
- package/dist/services/orpar-memory/PhaseStrataRouter.js.map +1 -0
- package/dist/services/orpar-memory/PhaseWeightedRewarder.d.ts +115 -0
- package/dist/services/orpar-memory/PhaseWeightedRewarder.d.ts.map +1 -0
- package/dist/services/orpar-memory/PhaseWeightedRewarder.js +333 -0
- package/dist/services/orpar-memory/PhaseWeightedRewarder.js.map +1 -0
- package/dist/services/orpar-memory/SurpriseOrparAdapter.d.ts +149 -0
- package/dist/services/orpar-memory/SurpriseOrparAdapter.d.ts.map +1 -0
- package/dist/services/orpar-memory/SurpriseOrparAdapter.js +436 -0
- package/dist/services/orpar-memory/SurpriseOrparAdapter.js.map +1 -0
- package/dist/services/orpar-memory/index.d.ts +75 -0
- package/dist/services/orpar-memory/index.d.ts.map +1 -0
- package/dist/services/orpar-memory/index.js +76 -0
- package/dist/services/orpar-memory/index.js.map +1 -0
- package/dist/types/Agent.d.ts +95 -0
- package/dist/types/Agent.d.ts.map +1 -0
- package/dist/types/Agent.js +34 -0
- package/dist/types/Agent.js.map +1 -0
- package/dist/types/AgentPerformanceTypes.d.ts +314 -0
- package/dist/types/AgentPerformanceTypes.d.ts.map +1 -0
- package/dist/types/AgentPerformanceTypes.js +21 -0
- package/dist/types/AgentPerformanceTypes.js.map +1 -0
- package/dist/types/AgentRegistry.d.ts +89 -0
- package/dist/types/AgentRegistry.d.ts.map +1 -0
- package/dist/types/AgentRegistry.js +246 -0
- package/dist/types/AgentRegistry.js.map +1 -0
- package/dist/types/AgentTypes.d.ts +46 -0
- package/dist/types/AgentTypes.d.ts.map +1 -0
- package/dist/types/AgentTypes.js +34 -0
- package/dist/types/AgentTypes.js.map +1 -0
- package/dist/types/ChannelContext.d.ts +221 -0
- package/dist/types/ChannelContext.d.ts.map +1 -0
- package/dist/types/ChannelContext.js +21 -0
- package/dist/types/ChannelContext.js.map +1 -0
- package/dist/types/ControlLoopTypes.d.ts +164 -0
- package/dist/types/ControlLoopTypes.d.ts.map +1 -0
- package/dist/types/ControlLoopTypes.js +37 -0
- package/dist/types/ControlLoopTypes.js.map +1 -0
- package/dist/types/DagTypes.d.ts +321 -0
- package/dist/types/DagTypes.d.ts.map +1 -0
- package/dist/types/DagTypes.js +82 -0
- package/dist/types/DagTypes.js.map +1 -0
- package/dist/types/EffectivenessTypes.d.ts +245 -0
- package/dist/types/EffectivenessTypes.d.ts.map +1 -0
- package/dist/types/EffectivenessTypes.js +21 -0
- package/dist/types/EffectivenessTypes.js.map +1 -0
- package/dist/types/InferenceParameterTypes.d.ts +510 -0
- package/dist/types/InferenceParameterTypes.d.ts.map +1 -0
- package/dist/types/InferenceParameterTypes.js +21 -0
- package/dist/types/InferenceParameterTypes.js.map +1 -0
- package/dist/types/KnowledgeGraphTypes.d.ts +455 -0
- package/dist/types/KnowledgeGraphTypes.d.ts.map +1 -0
- package/dist/types/KnowledgeGraphTypes.js +146 -0
- package/dist/types/KnowledgeGraphTypes.js.map +1 -0
- package/dist/types/LlmTypes.d.ts +144 -0
- package/dist/types/LlmTypes.d.ts.map +1 -0
- package/dist/types/LlmTypes.js +21 -0
- package/dist/types/LlmTypes.js.map +1 -0
- package/dist/types/LspTypes.d.ts +607 -0
- package/dist/types/LspTypes.d.ts.map +1 -0
- package/dist/types/LspTypes.js +80 -0
- package/dist/types/LspTypes.js.map +1 -0
- package/dist/types/McpPromptTypes.d.ts +275 -0
- package/dist/types/McpPromptTypes.d.ts.map +1 -0
- package/dist/types/McpPromptTypes.js +38 -0
- package/dist/types/McpPromptTypes.js.map +1 -0
- package/dist/types/MemoryStrataTypes.d.ts +340 -0
- package/dist/types/MemoryStrataTypes.d.ts.map +1 -0
- package/dist/types/MemoryStrataTypes.js +34 -0
- package/dist/types/MemoryStrataTypes.js.map +1 -0
- package/dist/types/MemoryTypes.d.ts +230 -0
- package/dist/types/MemoryTypes.d.ts.map +1 -0
- package/dist/types/MemoryTypes.js +118 -0
- package/dist/types/MemoryTypes.js.map +1 -0
- package/dist/types/MemoryUtilityTypes.d.ts +451 -0
- package/dist/types/MemoryUtilityTypes.d.ts.map +1 -0
- package/dist/types/MemoryUtilityTypes.js +122 -0
- package/dist/types/MemoryUtilityTypes.js.map +1 -0
- package/dist/types/MxpTypes.d.ts +264 -0
- package/dist/types/MxpTypes.d.ts.map +1 -0
- package/dist/types/MxpTypes.js +132 -0
- package/dist/types/MxpTypes.js.map +1 -0
- package/dist/types/NetworkRecoveryTypes.d.ts +133 -0
- package/dist/types/NetworkRecoveryTypes.d.ts.map +1 -0
- package/dist/types/NetworkRecoveryTypes.js +169 -0
- package/dist/types/NetworkRecoveryTypes.js.map +1 -0
- package/dist/types/OrparMemoryIntegrationTypes.d.ts +463 -0
- package/dist/types/OrparMemoryIntegrationTypes.d.ts.map +1 -0
- package/dist/types/OrparMemoryIntegrationTypes.js +260 -0
- package/dist/types/OrparMemoryIntegrationTypes.js.map +1 -0
- package/dist/types/PatternLearningTypes.d.ts +366 -0
- package/dist/types/PatternLearningTypes.d.ts.map +1 -0
- package/dist/types/PatternLearningTypes.js +21 -0
- package/dist/types/PatternLearningTypes.js.map +1 -0
- package/dist/types/PatternMemoryTypes.d.ts +245 -0
- package/dist/types/PatternMemoryTypes.d.ts.map +1 -0
- package/dist/types/PatternMemoryTypes.js +30 -0
- package/dist/types/PatternMemoryTypes.js.map +1 -0
- package/dist/types/ReflectionTypes.d.ts +61 -0
- package/dist/types/ReflectionTypes.d.ts.map +1 -0
- package/dist/types/ReflectionTypes.js +21 -0
- package/dist/types/ReflectionTypes.js.map +1 -0
- package/dist/types/TaskCompletionTypes.d.ts +122 -0
- package/dist/types/TaskCompletionTypes.d.ts.map +1 -0
- package/dist/types/TaskCompletionTypes.js +21 -0
- package/dist/types/TaskCompletionTypes.js.map +1 -0
- package/dist/types/TaskTypes.d.ts +237 -0
- package/dist/types/TaskTypes.d.ts.map +1 -0
- package/dist/types/TaskTypes.js +21 -0
- package/dist/types/TaskTypes.js.map +1 -0
- package/dist/types/TensorFlowTypes.d.ts +257 -0
- package/dist/types/TensorFlowTypes.d.ts.map +1 -0
- package/dist/types/TensorFlowTypes.js +115 -0
- package/dist/types/TensorFlowTypes.js.map +1 -0
- package/dist/types/ValidationPerformanceTypes.d.ts +168 -0
- package/dist/types/ValidationPerformanceTypes.d.ts.map +1 -0
- package/dist/types/ValidationPerformanceTypes.js +21 -0
- package/dist/types/ValidationPerformanceTypes.js.map +1 -0
- package/dist/types/WorkflowTypes.d.ts +291 -0
- package/dist/types/WorkflowTypes.d.ts.map +1 -0
- package/dist/types/WorkflowTypes.js +8 -0
- package/dist/types/WorkflowTypes.js.map +1 -0
- package/dist/types/toolTypes.d.ts +93 -0
- package/dist/types/toolTypes.d.ts.map +1 -0
- package/dist/types/toolTypes.js +82 -0
- package/dist/types/toolTypes.js.map +1 -0
- package/dist/types/types.d.ts +89 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/types.js +31 -0
- package/dist/types/types.js.map +1 -0
- package/dist/utils/Logger.d.ts +125 -0
- package/dist/utils/Logger.d.ts.map +1 -0
- package/dist/utils/Logger.js +194 -0
- package/dist/utils/Logger.js.map +1 -0
- package/dist/utils/MxpEncryption.d.ts +63 -0
- package/dist/utils/MxpEncryption.d.ts.map +1 -0
- package/dist/utils/MxpEncryption.js +169 -0
- package/dist/utils/MxpEncryption.js.map +1 -0
- package/dist/utils/ParameterNormalizer.d.ts +85 -0
- package/dist/utils/ParameterNormalizer.d.ts.map +1 -0
- package/dist/utils/ParameterNormalizer.js +409 -0
- package/dist/utils/ParameterNormalizer.js.map +1 -0
- package/dist/utils/PromptTemplateReplacer.d.ts +119 -0
- package/dist/utils/PromptTemplateReplacer.d.ts.map +1 -0
- package/dist/utils/PromptTemplateReplacer.js +255 -0
- package/dist/utils/PromptTemplateReplacer.js.map +1 -0
- package/dist/utils/TokenEstimator.d.ts +43 -0
- package/dist/utils/TokenEstimator.d.ts.map +1 -0
- package/dist/utils/TokenEstimator.js +113 -0
- package/dist/utils/TokenEstimator.js.map +1 -0
- package/dist/utils/ToolPaginationUtils.d.ts +177 -0
- package/dist/utils/ToolPaginationUtils.d.ts.map +1 -0
- package/dist/utils/ToolPaginationUtils.js +180 -0
- package/dist/utils/ToolPaginationUtils.js.map +1 -0
- package/dist/utils/env.d.ts +19 -0
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/env.js +25 -0
- package/dist/utils/env.js.map +1 -0
- package/dist/utils/toon/eligibility.d.ts +65 -0
- package/dist/utils/toon/eligibility.d.ts.map +1 -0
- package/dist/utils/toon/eligibility.js +259 -0
- package/dist/utils/toon/eligibility.js.map +1 -0
- package/dist/utils/toon/encoder.d.ts +72 -0
- package/dist/utils/toon/encoder.d.ts.map +1 -0
- package/dist/utils/toon/encoder.js +321 -0
- package/dist/utils/toon/encoder.js.map +1 -0
- package/dist/utils/toon/formatter.d.ts +118 -0
- package/dist/utils/toon/formatter.d.ts.map +1 -0
- package/dist/utils/toon/formatter.js +214 -0
- package/dist/utils/toon/formatter.js.map +1 -0
- package/dist/utils/toon/index.d.ts +49 -0
- package/dist/utils/toon/index.d.ts.map +1 -0
- package/dist/utils/toon/index.js +55 -0
- package/dist/utils/toon/index.js.map +1 -0
- package/dist/utils/toon/metrics.d.ts +162 -0
- package/dist/utils/toon/metrics.d.ts.map +1 -0
- package/dist/utils/toon/metrics.js +283 -0
- package/dist/utils/toon/metrics.js.map +1 -0
- package/dist/utils/toon/types.d.ts +145 -0
- package/dist/utils/toon/types.d.ts.map +1 -0
- package/dist/utils/toon/types.js +21 -0
- package/dist/utils/toon/types.js.map +1 -0
- package/dist/utils/validation.d.ts +169 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +471 -0
- package/dist/utils/validation.js.map +1 -0
- package/package.json +84 -0
- package/src/adapters/FrameworkAdapter.ts +261 -0
- package/src/adapters/index.ts +26 -0
- package/src/config/ConfigManager.ts +1406 -0
- package/src/config/FeatureFlags.ts +180 -0
- package/src/config/McpPromptsConfig.ts +134 -0
- package/src/config/ModelContextLimits.ts +154 -0
- package/src/config/PromptCompactionConfig.ts +236 -0
- package/src/config/PromptConfig.ts +85 -0
- package/src/config/ServerConfig.ts +69 -0
- package/src/config/dag.config.ts +211 -0
- package/src/config/knowledge-graph.config.ts +290 -0
- package/src/config/orpar-memory.config.ts +365 -0
- package/src/config/tensorflow.config.ts +209 -0
- package/src/constants/CoreTools.ts +95 -0
- package/src/constants/DefaultPhaseProfiles.ts +699 -0
- package/src/constants/EnhancementConstants.ts +383 -0
- package/src/constants/ToolNames.ts +538 -0
- package/src/database/DatabaseAdapterFactory.ts +212 -0
- package/src/database/adapters/mongodb/MongoAgentRepository.ts +181 -0
- package/src/database/adapters/mongodb/MongoBaseRepository.ts +203 -0
- package/src/database/adapters/mongodb/MongoChannelRepository.ts +185 -0
- package/src/database/adapters/mongodb/MongoDagRepository.ts +370 -0
- package/src/database/adapters/mongodb/MongoKnowledgeGraphRepository.ts +975 -0
- package/src/database/adapters/mongodb/MongoMemoryRepository.ts +244 -0
- package/src/database/adapters/mongodb/MongoTaskRepository.ts +361 -0
- package/src/database/adapters/mongodb/index.ts +25 -0
- package/src/database/index.ts +22 -0
- package/src/events/ClientEventBus.ts +821 -0
- package/src/events/EventBus.ts +111 -0
- package/src/events/EventBusBase.ts +419 -0
- package/src/events/EventNames.ts +308 -0
- package/src/events/PublicEvents.ts +231 -0
- package/src/events/ServerEventBus.ts +606 -0
- package/src/events/event-definitions/AgentEvents.ts +187 -0
- package/src/events/event-definitions/AnalyticsEvents.ts +299 -0
- package/src/events/event-definitions/BulkEvents.ts +474 -0
- package/src/events/event-definitions/ChannelEvents.ts +230 -0
- package/src/events/event-definitions/CodeExecutionEvents.ts +360 -0
- package/src/events/event-definitions/CompactionEvents.ts +185 -0
- package/src/events/event-definitions/ConfigEvents.ts +343 -0
- package/src/events/event-definitions/ControlLoopEvents.ts +61 -0
- package/src/events/event-definitions/DagEvents.ts +275 -0
- package/src/events/event-definitions/HeartbeatEvents.ts +43 -0
- package/src/events/event-definitions/InferenceParameterEvents.ts +110 -0
- package/src/events/event-definitions/KeyEvents.ts +154 -0
- package/src/events/event-definitions/KnowledgeGraphEvents.ts +285 -0
- package/src/events/event-definitions/LlmEvents.ts +39 -0
- package/src/events/event-definitions/McpEvents.ts +234 -0
- package/src/events/event-definitions/MeilisearchEvents.ts +55 -0
- package/src/events/event-definitions/MemoryEvents.ts +379 -0
- package/src/events/event-definitions/MemoryUtilityEvents.ts +254 -0
- package/src/events/event-definitions/MessageEvents.ts +107 -0
- package/src/events/event-definitions/MxpEvents.ts +138 -0
- package/src/events/event-definitions/OrparEvents.ts +249 -0
- package/src/events/event-definitions/OrparMemoryEvents.ts +404 -0
- package/src/events/event-definitions/PlanEvents.ts +124 -0
- package/src/events/event-definitions/ProgressEvents.ts +67 -0
- package/src/events/event-definitions/ShellExecutionEvents.ts +383 -0
- package/src/events/event-definitions/SystemEvents.ts +263 -0
- package/src/events/event-definitions/TaskEvents.ts +201 -0
- package/src/events/event-definitions/TensorFlowEvents.ts +162 -0
- package/src/events/event-definitions/UserInputEvents.ts +218 -0
- package/src/events/event-definitions/WorkflowEvents.ts +139 -0
- package/src/index.ts +17 -0
- package/src/interfaces/AgentContext.ts +214 -0
- package/src/interfaces/AgentInterfaces.ts +132 -0
- package/src/interfaces/Channel.ts +36 -0
- package/src/interfaces/ChannelConfig.ts +59 -0
- package/src/interfaces/ChannelConnectionConfig.ts +36 -0
- package/src/interfaces/ChannelInfo.ts +33 -0
- package/src/interfaces/ConversationMessage.ts +109 -0
- package/src/interfaces/ILlmTopicExtractor.ts +76 -0
- package/src/interfaces/SocketServiceInterface.ts +104 -0
- package/src/interfaces/TaskInterfaces.ts +53 -0
- package/src/middleware/MxpMiddleware.ts +346 -0
- package/src/models/PatternLearningModels.ts +585 -0
- package/src/models/agent.ts +162 -0
- package/src/models/auditLog.ts +133 -0
- package/src/models/channel.ts +304 -0
- package/src/models/channelKey.ts +129 -0
- package/src/models/codeExecution.ts +272 -0
- package/src/models/controlLoop.ts +165 -0
- package/src/models/coordination.ts +166 -0
- package/src/models/document.ts +263 -0
- package/src/models/entity.ts +206 -0
- package/src/models/mcpTool.ts +254 -0
- package/src/models/mcpToolExecution.ts +162 -0
- package/src/models/memory.ts +310 -0
- package/src/models/memoryStrata.ts +432 -0
- package/src/models/personalAccessToken.ts +206 -0
- package/src/models/plan.ts +135 -0
- package/src/models/relationship.ts +165 -0
- package/src/models/shellOutput.ts +102 -0
- package/src/models/task.ts +397 -0
- package/src/models/taskEffectiveness.ts +152 -0
- package/src/models/tool.ts +102 -0
- package/src/models/toolExecution.ts +64 -0
- package/src/models/toolModels.ts +423 -0
- package/src/models/user.ts +147 -0
- package/src/models/userMemory.ts +165 -0
- package/src/mxp/BinaryProtocolLayer.ts +420 -0
- package/src/mxp/ContextCompressionEngine.ts +534 -0
- package/src/mxp/MxpConfigManager.ts +316 -0
- package/src/mxp/MxpEventForwardingEnhancer.ts +471 -0
- package/src/mxp/MxpTokenOptimizer.ts +266 -0
- package/src/prompts/ChannelContextProvider.ts +212 -0
- package/src/prompts/DeferredToolSchemaRegistry.ts +212 -0
- package/src/prompts/DynamicContextProvider.ts +186 -0
- package/src/prompts/MemoryPromptInjector.ts +332 -0
- package/src/prompts/MxfAgentSystemPrompt.ts +1037 -0
- package/src/prompts/PromptSegmentRegistry.ts +372 -0
- package/src/prompts/ToolBehavioralGuidance.ts +214 -0
- package/src/protocols/binaryProtocol.ts +402 -0
- package/src/protocols/mcp/ClientExecutableManifest.ts +85 -0
- package/src/protocols/mcp/IMcpClient.ts +332 -0
- package/src/protocols/mcp/LlmProviderFactory.ts +81 -0
- package/src/protocols/mcp/LlmProviders.ts +45 -0
- package/src/protocols/mcp/McpClient.ts +220 -0
- package/src/protocols/mcp/McpClientFactory.ts +59 -0
- package/src/protocols/mcp/McpServerTypes.ts +208 -0
- package/src/protocols/mcp/McpToolCallParser.ts +297 -0
- package/src/protocols/mcp/McpToolSchema.ts +666 -0
- package/src/protocols/mcp/converters/IFormatConverter.ts +384 -0
- package/src/protocols/mcp/converters/UnifiedMessageConverter.ts +286 -0
- package/src/protocols/mcp/converters/adapters/AnthropicMessageAdapter.ts +545 -0
- package/src/protocols/mcp/converters/adapters/GeminiMessageAdapter.ts +63 -0
- package/src/protocols/mcp/converters/adapters/OpenAiMessageAdapter.ts +49 -0
- package/src/protocols/mcp/converters/adapters/OpenRouterMessageAdapter.ts +394 -0
- package/src/protocols/mcp/converters/adapters/XaiMessageAdapter.ts +39 -0
- package/src/protocols/mcp/providers/AnthropicMcpClient.ts +632 -0
- package/src/protocols/mcp/providers/AzureOpenAiMcpClient.ts +760 -0
- package/src/protocols/mcp/providers/BaseMcpClient.ts +286 -0
- package/src/protocols/mcp/providers/CustomMcpClient.ts +326 -0
- package/src/protocols/mcp/providers/GeminiMcpClient.ts +687 -0
- package/src/protocols/mcp/providers/OllamaMcpClient.ts +564 -0
- package/src/protocols/mcp/providers/OpenAiMcpClient.ts +779 -0
- package/src/protocols/mcp/providers/OpenRouterMcpClient.ts +1151 -0
- package/src/protocols/mcp/providers/XaiMcpClient.ts +601 -0
- package/src/protocols/mcp/security/McpConfirmationManager.ts +315 -0
- package/src/protocols/mcp/security/McpSecurityConfig.ts +429 -0
- package/src/protocols/mcp/security/McpSecurityGuard.ts +527 -0
- package/src/protocols/mcp/security/README.md +274 -0
- package/src/protocols/mcp/security/index.ts +29 -0
- package/src/protocols/mcp/services/ExternalMcpServerManager.ts +1540 -0
- package/src/protocols/mcp/services/ExternalServerConfigs.ts +346 -0
- package/src/protocols/mcp/services/IToolEventEmitter.ts +75 -0
- package/src/protocols/mcp/services/ToolSchemaEnhancements.ts +92 -0
- package/src/protocols/mcp/tools/AnalyticsTools.ts +759 -0
- package/src/protocols/mcp/tools/CodeAnalysisTools.ts +715 -0
- package/src/protocols/mcp/tools/ControlLoopLifecycle.ts +302 -0
- package/src/protocols/mcp/tools/DateTimeTools.ts +554 -0
- package/src/protocols/mcp/tools/EffectivenessTools.ts +434 -0
- package/src/protocols/mcp/tools/GitTools.ts +727 -0
- package/src/protocols/mcp/tools/InfrastructureTools.ts +926 -0
- package/src/protocols/mcp/tools/JsonTools.ts +376 -0
- package/src/protocols/mcp/tools/KnowledgeGraphTools.ts +1015 -0
- package/src/protocols/mcp/tools/LspTools.ts +476 -0
- package/src/protocols/mcp/tools/MemorySearchTools.ts +510 -0
- package/src/protocols/mcp/tools/MemoryUtilityTools.ts +514 -0
- package/src/protocols/mcp/tools/OrparTools.ts +1115 -0
- package/src/protocols/mcp/tools/PlanningTools.ts +660 -0
- package/src/protocols/mcp/tools/PredictiveTools.ts +351 -0
- package/src/protocols/mcp/tools/ProgressTools.ts +115 -0
- package/src/protocols/mcp/tools/ProjectContextTools.ts +330 -0
- package/src/protocols/mcp/tools/README.md +566 -0
- package/src/protocols/mcp/tools/SafetyTools.ts +1073 -0
- package/src/protocols/mcp/tools/SearchProjectTools.ts +279 -0
- package/src/protocols/mcp/tools/TaskPlanningTools.ts +629 -0
- package/src/protocols/mcp/tools/TestTools.ts +556 -0
- package/src/protocols/mcp/tools/ToolHelpTools.ts +294 -0
- package/src/protocols/mcp/tools/TypeScriptTools.ts +490 -0
- package/src/protocols/mcp/tools/UserInputTools.ts +415 -0
- package/src/protocols/mcp/tools/UserMemoryTools.ts +396 -0
- package/src/protocols/mcp/tools/WebTools.ts +558 -0
- package/src/protocols/mcp/tools/WolframTools.ts +258 -0
- package/src/protocols/mcp/tools/shell/CommandClassification.ts +570 -0
- package/src/protocols/mcp/tools/shell/CommandSemantics.ts +363 -0
- package/src/protocols/mcp/tools/shell/DestructiveCommandWarnings.ts +214 -0
- package/src/protocols/mcp/tools/shell/LargeOutputHandler.ts +169 -0
- package/src/protocols/mcp/tools/shell/ShellCommandParser.ts +613 -0
- package/src/protocols/mcp/tools/shell/ShellExecuteHandler.ts +502 -0
- package/src/protocols/mcp/tools/shell/ShellSandbox.ts +448 -0
- package/src/protocols/mcp/tools/shell/index.ts +53 -0
- package/src/protocols/mcp/utils/JsonRecovery.ts +280 -0
- package/src/protocols/mcp/utils/MessageConverters.ts +217 -0
- package/src/protocols/mcp/utils/NetworkRecovery.ts +275 -0
- package/src/protocols/mcp/utils/ToolHandlers.ts +271 -0
- package/src/repositories/interfaces/IAgentRepository.ts +125 -0
- package/src/repositories/interfaces/IBaseRepository.ts +72 -0
- package/src/repositories/interfaces/IChannelRepository.ts +154 -0
- package/src/repositories/interfaces/IDagRepository.ts +195 -0
- package/src/repositories/interfaces/IKnowledgeGraphRepository.ts +439 -0
- package/src/repositories/interfaces/IMemoryRepository.ts +174 -0
- package/src/repositories/interfaces/ITaskRepository.ts +208 -0
- package/src/repositories/interfaces/index.ts +27 -0
- package/src/repositories/types/FilterTypes.ts +89 -0
- package/src/repositories/types/PaginationTypes.ts +64 -0
- package/src/schemas/CodeExecutionEventPayloads.ts +271 -0
- package/src/schemas/EventPayloadSchema.ts +4448 -0
- package/src/schemas/JsonResponseSchemas.ts +262 -0
- package/src/schemas/MessageSchemas.ts +441 -0
- package/src/schemas/MxpProtocolSchemas.ts +362 -0
- package/src/schemas/ShellExecutionEventPayloads.ts +271 -0
- package/src/services/AgentPerformanceService.ts +619 -0
- package/src/services/AutoCorrectionIntegrationService.ts +814 -0
- package/src/services/AutoCorrectionService.ts +1074 -0
- package/src/services/AutoMemoryCreator.ts +570 -0
- package/src/services/BackgroundTaskManager.ts +631 -0
- package/src/services/BrowserManager.ts +250 -0
- package/src/services/ChannelContextMemoryOperations.ts +366 -0
- package/src/services/ChannelContextMessageOperations.ts +435 -0
- package/src/services/CodeExecutionSandboxService.ts +408 -0
- package/src/services/ContainerExecutionManager.ts +725 -0
- package/src/services/ContainerPoolManager.ts +13 -0
- package/src/services/ContentProcessor.ts +549 -0
- package/src/services/McpToolDocumentationService.ts +238 -0
- package/src/services/MemoryCompressor.ts +385 -0
- package/src/services/MemoryService.ts +1876 -0
- package/src/services/MxfMLService.ts +1229 -0
- package/src/services/MxfMeilisearchService.ts +629 -0
- package/src/services/MxfMessageAggregator.ts +313 -0
- package/src/services/PatternLearningService.ts +1084 -0
- package/src/services/PerformanceOptimizationService.ts +1132 -0
- package/src/services/PredictiveAnalyticsService.ts +2299 -0
- package/src/services/ProactiveValidationService.ts +1385 -0
- package/src/services/PromptArgumentInferenceService.ts +192 -0
- package/src/services/QValueManager.ts +649 -0
- package/src/services/ReasoningToolParser.ts +457 -0
- package/src/services/RecoveryWorkflowService.ts +911 -0
- package/src/services/ReflectionService.ts +299 -0
- package/src/services/RetentionGateService.ts +393 -0
- package/src/services/RewardSignalProcessor.ts +648 -0
- package/src/services/SharedStateService.ts +241 -0
- package/src/services/StratumManager.ts +523 -0
- package/src/services/StructuredSummaryBuilder.ts +325 -0
- package/src/services/SurpriseCalculator.ts +436 -0
- package/src/services/SystemLlmMemoryAnalyzer.ts +421 -0
- package/src/services/TaskEffectivenessService.ts +968 -0
- package/src/services/ToolExecutionInterceptor.ts +513 -0
- package/src/services/UserInputRequestManager.ts +536 -0
- package/src/services/UserMemoryService.ts +506 -0
- package/src/services/UtilityScorerService.ts +427 -0
- package/src/services/ValidationAnalyticsService.ts +1173 -0
- package/src/services/ValidationCacheService.ts +1177 -0
- package/src/services/ValidationMiddleware.ts +876 -0
- package/src/services/ValidationPerformanceService.ts +751 -0
- package/src/services/WebSearchService.ts +382 -0
- package/src/services/dag/TaskDagService.ts +1057 -0
- package/src/services/dag/algorithms/TopologicalSort.ts +562 -0
- package/src/services/kg/EntityExtractionService.ts +511 -0
- package/src/services/kg/EntityQValueManager.ts +368 -0
- package/src/services/kg/GraphSurpriseCalculator.ts +381 -0
- package/src/services/kg/KnowledgeGraphService.ts +830 -0
- package/src/services/kg/OrparGraphIntegration.ts +815 -0
- package/src/services/lsp/LspDocumentManager.ts +304 -0
- package/src/services/lsp/LspProtocolAdapter.ts +471 -0
- package/src/services/lsp/LspServerManager.ts +442 -0
- package/src/services/lsp/interfaces/ILspConnection.ts +60 -0
- package/src/services/lsp/interfaces/ILspDocumentManager.ts +74 -0
- package/src/services/lsp/interfaces/ILspServerManager.ts +64 -0
- package/src/services/orpar-memory/CycleConsolidationTrigger.ts +693 -0
- package/src/services/orpar-memory/OrparMemoryCoordinator.ts +1001 -0
- package/src/services/orpar-memory/PhaseMemoryOperations.ts +531 -0
- package/src/services/orpar-memory/PhaseStrataRouter.ts +387 -0
- package/src/services/orpar-memory/PhaseWeightedRewarder.ts +430 -0
- package/src/services/orpar-memory/SurpriseOrparAdapter.ts +572 -0
- package/src/services/orpar-memory/index.ts +79 -0
- package/src/types/Agent.ts +102 -0
- package/src/types/AgentPerformanceTypes.ts +404 -0
- package/src/types/AgentRegistry.ts +319 -0
- package/src/types/AgentTypes.ts +49 -0
- package/src/types/ChannelContext.ts +289 -0
- package/src/types/ControlLoopTypes.ts +182 -0
- package/src/types/DagTypes.ts +427 -0
- package/src/types/EffectivenessTypes.ts +303 -0
- package/src/types/InferenceParameterTypes.ts +598 -0
- package/src/types/KnowledgeGraphTypes.ts +620 -0
- package/src/types/LlmTypes.ts +153 -0
- package/src/types/LspTypes.ts +640 -0
- package/src/types/McpPromptTypes.ts +299 -0
- package/src/types/MemoryStrataTypes.ts +378 -0
- package/src/types/MemoryTypes.ts +280 -0
- package/src/types/MemoryUtilityTypes.ts +577 -0
- package/src/types/MxpTypes.ts +404 -0
- package/src/types/NetworkRecoveryTypes.ts +268 -0
- package/src/types/OrparMemoryIntegrationTypes.ts +698 -0
- package/src/types/PatternLearningTypes.ts +445 -0
- package/src/types/PatternMemoryTypes.ts +314 -0
- package/src/types/ReflectionTypes.ts +74 -0
- package/src/types/TaskCompletionTypes.ts +163 -0
- package/src/types/TaskTypes.ts +311 -0
- package/src/types/TensorFlowTypes.ts +329 -0
- package/src/types/ValidationPerformanceTypes.ts +186 -0
- package/src/types/WorkflowTypes.ts +323 -0
- package/src/types/toolTypes.ts +118 -0
- package/src/types/types.ts +95 -0
- package/src/utils/Logger.ts +240 -0
- package/src/utils/MxpEncryption.ts +195 -0
- package/src/utils/ParameterNormalizer.ts +432 -0
- package/src/utils/PromptTemplateReplacer.ts +331 -0
- package/src/utils/TokenEstimator.ts +132 -0
- package/src/utils/ToolPaginationUtils.ts +252 -0
- package/src/utils/env.ts +27 -0
- package/src/utils/toon/eligibility.ts +316 -0
- package/src/utils/toon/encoder.ts +396 -0
- package/src/utils/toon/formatter.ts +258 -0
- package/src/utils/toon/index.ts +88 -0
- package/src/utils/toon/metrics.ts +339 -0
- package/src/utils/toon/types.ts +183 -0
- package/src/utils/validation.ts +548 -0
|
@@ -0,0 +1,1876 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2024 Brad Anderson
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*
|
|
16
|
+
* @author Brad Anderson <BradA1878@pm.me>
|
|
17
|
+
* @repository https://github.com/mxf-dev/mxf
|
|
18
|
+
* @documentation https://mxf-dev.github.io/mxf/
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Unified Memory Service Implementation
|
|
23
|
+
*
|
|
24
|
+
* This service provides the core functionality for the MXF Memory System.
|
|
25
|
+
* It handles different memory scopes (agent, channel, relationship) and
|
|
26
|
+
* persistence levels (temporary, persistent).
|
|
27
|
+
*
|
|
28
|
+
* CONSOLIDATED: Includes cognitive operations from AgentMemoryService
|
|
29
|
+
* for LLM workflows (observations, reasoning, plans, reflections).
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
import { Observable, of } from 'rxjs';
|
|
33
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
34
|
+
|
|
35
|
+
import {
|
|
36
|
+
IAgentMemory,
|
|
37
|
+
IChannelMemory,
|
|
38
|
+
IRelationshipMemory,
|
|
39
|
+
MemoryScope,
|
|
40
|
+
MemoryPersistenceLevel,
|
|
41
|
+
MemoryData,
|
|
42
|
+
MemoryQueryParams,
|
|
43
|
+
createMemoryValidator
|
|
44
|
+
} from '../types/MemoryTypes.js';
|
|
45
|
+
|
|
46
|
+
// Cognitive operation types from control loop
|
|
47
|
+
import {
|
|
48
|
+
Observation,
|
|
49
|
+
Reasoning,
|
|
50
|
+
Plan,
|
|
51
|
+
Reflection
|
|
52
|
+
} from '../models/controlLoop.js';
|
|
53
|
+
|
|
54
|
+
import { Logger } from '../utils/Logger.js';
|
|
55
|
+
import { EventBus } from '../events/EventBus.js';
|
|
56
|
+
import { Events } from '../events/EventNames.js';
|
|
57
|
+
import { MemoryGetEvent, MemoryUpdateEvent } from '../events/event-definitions/MemoryEvents.js';
|
|
58
|
+
import { createBaseEventPayload, createMemoryUpdateResultEventPayload,
|
|
59
|
+
createMemoryDeleteResultEventPayload,
|
|
60
|
+
MemoryDeleteResultEventData,
|
|
61
|
+
MemoryUpdateResultEventData,
|
|
62
|
+
MemoryGetEventPayload,
|
|
63
|
+
MemoryUpdateEventPayload,
|
|
64
|
+
createMemoryGetResultEventPayload,
|
|
65
|
+
MemoryGetResultEventData
|
|
66
|
+
} from '../schemas/EventPayloadSchema.js';
|
|
67
|
+
import { AgentId, ChannelId } from '../types/ChannelContext.js';
|
|
68
|
+
import {
|
|
69
|
+
UtilityRetrievalOptions,
|
|
70
|
+
RetrievedMemoryWithUtility,
|
|
71
|
+
UtilityRetrievalResult,
|
|
72
|
+
MemoryCandidate,
|
|
73
|
+
OrparPhase,
|
|
74
|
+
MemoryUtilitySubdocument
|
|
75
|
+
} from '../types/MemoryUtilityTypes.js';
|
|
76
|
+
import { QValueManager } from './QValueManager.js';
|
|
77
|
+
import { UtilityScorerService } from './UtilityScorerService.js';
|
|
78
|
+
import { RewardSignalProcessor } from './RewardSignalProcessor.js';
|
|
79
|
+
import {
|
|
80
|
+
isKnowledgeGraphEnabled,
|
|
81
|
+
isExtractionEnabled,
|
|
82
|
+
} from '../config/knowledge-graph.config.js';
|
|
83
|
+
import { EntityExtractionService } from './kg/EntityExtractionService.js';
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Types of cognitive memory content
|
|
87
|
+
*/
|
|
88
|
+
export enum CognitiveMemoryType {
|
|
89
|
+
SHORT_TERM = 'short_term', // Temporary observations and immediate context
|
|
90
|
+
WORKING = 'working', // Active reasoning and planning
|
|
91
|
+
LONG_TERM = 'long_term' // Persistent reflections and learned patterns
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Cognitive memory entry with metadata
|
|
96
|
+
*/
|
|
97
|
+
export interface CognitiveMemoryEntry<T> {
|
|
98
|
+
id: string;
|
|
99
|
+
agentId: AgentId;
|
|
100
|
+
channelId: ChannelId;
|
|
101
|
+
memoryType: CognitiveMemoryType;
|
|
102
|
+
content: T;
|
|
103
|
+
createdAt: number;
|
|
104
|
+
updatedAt: number;
|
|
105
|
+
expiresAt?: number;
|
|
106
|
+
labels: string[];
|
|
107
|
+
relevance?: number;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Query options for cognitive memory
|
|
112
|
+
*/
|
|
113
|
+
export interface CognitiveMemoryQueryOptions {
|
|
114
|
+
memoryTypes?: CognitiveMemoryType[];
|
|
115
|
+
limit?: number;
|
|
116
|
+
offset?: number;
|
|
117
|
+
sortBy?: 'createdAt' | 'updatedAt' | 'relevance';
|
|
118
|
+
sortDirection?: 'asc' | 'desc';
|
|
119
|
+
labels?: string[];
|
|
120
|
+
fromTimestamp?: number;
|
|
121
|
+
toTimestamp?: number;
|
|
122
|
+
textQuery?: string;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Enhanced Agent Memory with cognitive operations
|
|
127
|
+
*/
|
|
128
|
+
export interface IEnhancedAgentMemory extends IAgentMemory {
|
|
129
|
+
// Cognitive Memory References
|
|
130
|
+
cognitiveMemory: {
|
|
131
|
+
observationIds: string[];
|
|
132
|
+
reasoningIds: string[];
|
|
133
|
+
planIds: string[];
|
|
134
|
+
reflectionIds: string[];
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Enhanced Channel Memory with shared cognitive insights
|
|
140
|
+
*/
|
|
141
|
+
export interface IEnhancedChannelMemory extends IChannelMemory {
|
|
142
|
+
// Channel activity tracking
|
|
143
|
+
lastActivity?: number;
|
|
144
|
+
messageCount?: number;
|
|
145
|
+
participants?: string[];
|
|
146
|
+
topics?: string[];
|
|
147
|
+
summary?: string;
|
|
148
|
+
|
|
149
|
+
// Shared Cognitive Insights
|
|
150
|
+
sharedCognitiveInsights: {
|
|
151
|
+
systemSummaries: string[];
|
|
152
|
+
topicExtractions: string[];
|
|
153
|
+
collaborativeReflections: string[];
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Configuration options for Memory Service
|
|
159
|
+
*/
|
|
160
|
+
interface MemoryServiceConfig {
|
|
161
|
+
enablePersistence?: boolean;
|
|
162
|
+
cacheSize?: number;
|
|
163
|
+
persistenceService?: any; // Optional persistence service (server-only)
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* Default configuration
|
|
168
|
+
*/
|
|
169
|
+
const DEFAULT_CONFIG: MemoryServiceConfig = {
|
|
170
|
+
enablePersistence: true,
|
|
171
|
+
cacheSize: 100
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* Memory Service
|
|
176
|
+
*
|
|
177
|
+
* Core service for managing the Memory System and handling in-memory cache.
|
|
178
|
+
*/
|
|
179
|
+
export class MemoryService {
|
|
180
|
+
// Singleton instance
|
|
181
|
+
private static instance: MemoryService;
|
|
182
|
+
|
|
183
|
+
// Memory cache
|
|
184
|
+
private agentMemory: Map<string, IEnhancedAgentMemory> = new Map();
|
|
185
|
+
private channelMemory: Map<string, IEnhancedChannelMemory> = new Map();
|
|
186
|
+
private relationshipMemory: Map<string, IRelationshipMemory> = new Map();
|
|
187
|
+
private generalData: Map<string, any> = new Map();
|
|
188
|
+
private cognitiveMemory: Map<string, CognitiveMemoryEntry<any>> = new Map();
|
|
189
|
+
|
|
190
|
+
// Configuration
|
|
191
|
+
private config: MemoryServiceConfig;
|
|
192
|
+
|
|
193
|
+
// Optional persistence service (server-only)
|
|
194
|
+
private persistenceService?: any;
|
|
195
|
+
|
|
196
|
+
// Validator
|
|
197
|
+
private validator = createMemoryValidator('MemoryService');
|
|
198
|
+
|
|
199
|
+
// Logger
|
|
200
|
+
private logger = new Logger('debug', 'MemoryService', "server");
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* Private constructor for singleton pattern
|
|
204
|
+
* @param config Configuration options
|
|
205
|
+
*/
|
|
206
|
+
private constructor(config: MemoryServiceConfig = {}) {
|
|
207
|
+
this.config = { ...DEFAULT_CONFIG, ...config };
|
|
208
|
+
this.persistenceService = config.persistenceService;
|
|
209
|
+
|
|
210
|
+
if (this.persistenceService) {
|
|
211
|
+
} else {
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
// Set up event listeners
|
|
215
|
+
this.setupEventListeners();
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* Set up event listeners
|
|
220
|
+
*/
|
|
221
|
+
private setupEventListeners(): void {
|
|
222
|
+
// Listen for memory update events to keep cache in sync
|
|
223
|
+
EventBus.server.on(Events.Memory.UPDATE_RESULT, (data: { scope: MemoryScope, id: string, memory: any }) => {
|
|
224
|
+
if (data.scope === MemoryScope.AGENT && data.memory) {
|
|
225
|
+
this.agentMemory.set(data.id, data.memory);
|
|
226
|
+
// ;
|
|
227
|
+
} else if (data.scope === MemoryScope.CHANNEL && data.memory) {
|
|
228
|
+
this.channelMemory.set(data.id, data.memory);
|
|
229
|
+
// ;
|
|
230
|
+
} else if (data.scope === MemoryScope.RELATIONSHIP && data.memory) {
|
|
231
|
+
this.relationshipMemory.set(data.id, data.memory);
|
|
232
|
+
// ;
|
|
233
|
+
}
|
|
234
|
+
});
|
|
235
|
+
|
|
236
|
+
// Set up EventBus bridge for Memory.UPDATE events
|
|
237
|
+
// This bridges EventBus memory events to internal memory operations
|
|
238
|
+
// Required for ChannelContextMemoryOperations to save data
|
|
239
|
+
EventBus.server.on(Events.Memory.UPDATE, (event: MemoryUpdateEventPayload) => {
|
|
240
|
+
try {
|
|
241
|
+
// Extract memory operation data from the event (handle EventBus forwarding nesting)
|
|
242
|
+
const memoryEventData = event.data.scope ? event.data : (event.data as any).data;
|
|
243
|
+
|
|
244
|
+
// Validate required fields
|
|
245
|
+
this.validator.assertIsString(memoryEventData.scope, 'Memory scope is required');
|
|
246
|
+
this.validator.assertIsString(memoryEventData.operationId, 'Operation ID is required');
|
|
247
|
+
|
|
248
|
+
// Determine the action based on memory scope and handle UPDATE operations
|
|
249
|
+
if (memoryEventData.scope === MemoryScope.CHANNEL) {
|
|
250
|
+
// For channel data, store by key (e.g., "channel:context:${channelId}")
|
|
251
|
+
const memoryKey = memoryEventData.id; // Use the id as the key
|
|
252
|
+
const memoryData = memoryEventData.data;
|
|
253
|
+
|
|
254
|
+
if (memoryKey && memoryData) {
|
|
255
|
+
// Store the data in generalData map (in-memory cache)
|
|
256
|
+
this.generalData.set(memoryKey, memoryData);
|
|
257
|
+
|
|
258
|
+
// Also persist to MongoDB for durability (if persistence service available)
|
|
259
|
+
// Extract actual context data - it's wrapped in another object with the key
|
|
260
|
+
const actualContextData = memoryData[memoryKey];
|
|
261
|
+
if (actualContextData && actualContextData.channelId && this.persistenceService) {
|
|
262
|
+
try {
|
|
263
|
+
// Convert to IChannelMemory format for persistence
|
|
264
|
+
const channelMemoryUpdate: any = {
|
|
265
|
+
id: `${actualContextData.channelId}-context`,
|
|
266
|
+
channelId: actualContextData.channelId,
|
|
267
|
+
createdAt: new Date(actualContextData.createdAt || Date.now()),
|
|
268
|
+
updatedAt: new Date(),
|
|
269
|
+
persistenceLevel: 'persistent' as any,
|
|
270
|
+
sharedState: { context: actualContextData },
|
|
271
|
+
notes: { channelContext: 'Auto-saved from ChannelContextService' },
|
|
272
|
+
conversationHistory: [],
|
|
273
|
+
customData: { contextMetadata: memoryEventData.metadata || {} }
|
|
274
|
+
};
|
|
275
|
+
|
|
276
|
+
// Persist to MongoDB (fire and forget for performance)
|
|
277
|
+
this.persistenceService.saveChannelMemory(channelMemoryUpdate)
|
|
278
|
+
.subscribe({
|
|
279
|
+
next: () => this.logger.info(`Channel context persisted to MongoDB for ${actualContextData.channelId}`),
|
|
280
|
+
error: (err: Error) => this.logger.warn(`Failed to persist channel context to MongoDB: ${err.message}`)
|
|
281
|
+
});
|
|
282
|
+
} catch (persistError) {
|
|
283
|
+
this.logger.warn(`Error persisting channel context: ${persistError}`);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
// Create success result payload
|
|
288
|
+
const updateResultData: MemoryUpdateResultEventData = {
|
|
289
|
+
operationId: memoryEventData.operationId,
|
|
290
|
+
scope: MemoryScope.CHANNEL,
|
|
291
|
+
id: memoryKey,
|
|
292
|
+
memory: memoryData
|
|
293
|
+
};
|
|
294
|
+
|
|
295
|
+
const systemAgentId: AgentId = 'SYSTEM_AGENT';
|
|
296
|
+
const channelId: ChannelId = event.channelId || 'NO_CHANNEL';
|
|
297
|
+
|
|
298
|
+
const payload = createMemoryUpdateResultEventPayload(
|
|
299
|
+
Events.Memory.UPDATE_RESULT,
|
|
300
|
+
systemAgentId,
|
|
301
|
+
channelId,
|
|
302
|
+
updateResultData
|
|
303
|
+
);
|
|
304
|
+
|
|
305
|
+
EventBus.server.emit(Events.Memory.UPDATE_RESULT, payload);
|
|
306
|
+
} else {
|
|
307
|
+
this.logger.warn(`Invalid UPDATE data - missing key or data: key=${memoryKey}, data=${!!memoryData}`);
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
} catch (error) {
|
|
311
|
+
this.logger.error(`Error handling Memory.UPDATE event: ${error instanceof Error ? error.message : String(error)}`);
|
|
312
|
+
}
|
|
313
|
+
});
|
|
314
|
+
|
|
315
|
+
// Set up EventBus bridge for Memory.GET events
|
|
316
|
+
// This bridges EventBus memory events to internal memory operations
|
|
317
|
+
// Required for ChannelContextMessageOperations to work with the memory system
|
|
318
|
+
EventBus.server.on(Events.Memory.GET, (event: MemoryGetEventPayload) => {
|
|
319
|
+
try {
|
|
320
|
+
// Extract memory operation data from the event (handle EventBus forwarding nesting)
|
|
321
|
+
const memoryEventData = event.data.scope ? event.data : (event.data as any).data;
|
|
322
|
+
|
|
323
|
+
// Validate required fields
|
|
324
|
+
this.validator.assertIsString(memoryEventData.scope, 'Memory scope is required');
|
|
325
|
+
this.validator.assertIsString(memoryEventData.operationId, 'Operation ID is required');
|
|
326
|
+
|
|
327
|
+
let memoryObservable: any = null;
|
|
328
|
+
|
|
329
|
+
// Determine the action based on memory scope and handle GET operations
|
|
330
|
+
switch (memoryEventData.scope) {
|
|
331
|
+
case MemoryScope.CHANNEL:
|
|
332
|
+
// Determine the memory key to look up - prioritize key field over id field
|
|
333
|
+
const memoryKey = memoryEventData.key || (Array.isArray(memoryEventData.id) ? memoryEventData.id[0] : memoryEventData.id);
|
|
334
|
+
|
|
335
|
+
if (memoryKey) {
|
|
336
|
+
// For channel data, look up by key (e.g., "channel:messages:${channelId}" or "channel:context:${channelId}")
|
|
337
|
+
const channelMemory = this.generalData.get(memoryKey);
|
|
338
|
+
|
|
339
|
+
// Create result payload
|
|
340
|
+
const getResultData: MemoryGetResultEventData = {
|
|
341
|
+
operationId: memoryEventData.operationId,
|
|
342
|
+
scope: MemoryScope.CHANNEL,
|
|
343
|
+
id: memoryKey, // Use the memory key as the id for proper matching
|
|
344
|
+
memory: channelMemory || null
|
|
345
|
+
};
|
|
346
|
+
|
|
347
|
+
const systemAgentId: AgentId = 'SYSTEM_AGENT';
|
|
348
|
+
const noChannelId: ChannelId = 'NO_CHANNEL';
|
|
349
|
+
|
|
350
|
+
const payload = createMemoryGetResultEventPayload(
|
|
351
|
+
Events.Memory.GET_RESULT,
|
|
352
|
+
systemAgentId,
|
|
353
|
+
noChannelId,
|
|
354
|
+
getResultData
|
|
355
|
+
);
|
|
356
|
+
|
|
357
|
+
//// this.logger.info(`[CRITICAL] MemoryService emitting GET_RESULT:`, Object.keys(payload));
|
|
358
|
+
EventBus.server.emit(Events.Memory.GET_RESULT, payload);
|
|
359
|
+
} else {
|
|
360
|
+
this.logger.warn(`[DEBUG] No memory key found in GET event data`);
|
|
361
|
+
}
|
|
362
|
+
break;
|
|
363
|
+
|
|
364
|
+
case MemoryScope.AGENT:
|
|
365
|
+
if (typeof memoryEventData.id === 'string') {
|
|
366
|
+
// ;
|
|
367
|
+
memoryObservable = this.getAgentMemory(memoryEventData.id);
|
|
368
|
+
|
|
369
|
+
// Subscribe to the observable and emit result
|
|
370
|
+
memoryObservable.subscribe({
|
|
371
|
+
next: (agentMemory: IEnhancedAgentMemory) => {
|
|
372
|
+
// Create result payload
|
|
373
|
+
const getResultData: MemoryGetResultEventData = {
|
|
374
|
+
operationId: memoryEventData.operationId,
|
|
375
|
+
scope: MemoryScope.AGENT,
|
|
376
|
+
id: memoryEventData.id as string,
|
|
377
|
+
memory: agentMemory || null
|
|
378
|
+
};
|
|
379
|
+
|
|
380
|
+
const payload = createMemoryGetResultEventPayload(
|
|
381
|
+
Events.Memory.GET_RESULT,
|
|
382
|
+
event.agentId,
|
|
383
|
+
event.channelId,
|
|
384
|
+
getResultData
|
|
385
|
+
);
|
|
386
|
+
|
|
387
|
+
EventBus.server.emit(Events.Memory.GET_RESULT, payload);
|
|
388
|
+
},
|
|
389
|
+
error: (error: Error) => {
|
|
390
|
+
this.logger.error(`Error getting agent memory: ${error}`);
|
|
391
|
+
|
|
392
|
+
// Create error result payload
|
|
393
|
+
const getResultData: MemoryGetResultEventData = {
|
|
394
|
+
operationId: memoryEventData.operationId,
|
|
395
|
+
scope: MemoryScope.AGENT,
|
|
396
|
+
id: memoryEventData.id as string,
|
|
397
|
+
memory: null
|
|
398
|
+
};
|
|
399
|
+
|
|
400
|
+
const payload = createMemoryGetResultEventPayload(
|
|
401
|
+
Events.Memory.GET_RESULT,
|
|
402
|
+
event.agentId,
|
|
403
|
+
event.channelId,
|
|
404
|
+
getResultData
|
|
405
|
+
);
|
|
406
|
+
|
|
407
|
+
EventBus.server.emit(Events.Memory.GET_RESULT, payload);
|
|
408
|
+
}
|
|
409
|
+
});
|
|
410
|
+
}
|
|
411
|
+
break;
|
|
412
|
+
|
|
413
|
+
case MemoryScope.RELATIONSHIP:
|
|
414
|
+
// Handle relationship memory GET
|
|
415
|
+
break;
|
|
416
|
+
|
|
417
|
+
default:
|
|
418
|
+
this.logger.warn(`Unsupported memory scope: ${memoryEventData.scope}`);
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
} catch (error) {
|
|
422
|
+
this.logger.error('[ERROR] Error processing EventBus Memory.GET:', error);
|
|
423
|
+
|
|
424
|
+
// Log error details for debugging without creating fake event payloads
|
|
425
|
+
const operationId = event.data?.operationId || '[NO_OPERATION_ID]';
|
|
426
|
+
const memoryId = event.data?.id || event.data?.key || '[NO_MEMORY_ID]';
|
|
427
|
+
this.logger.error(`Memory GET operation failed - OperationId: ${operationId}, MemoryId: ${memoryId}, Error: ${(error as Error).message}`);
|
|
428
|
+
|
|
429
|
+
// Cannot emit GET_RESULT event without valid agentId and channelId from original request
|
|
430
|
+
// Original event should have contained these required identifiers
|
|
431
|
+
this.logger.warn('Cannot emit Memory.GET_RESULT event - original event lacked valid agentId/channelId. Memory operation errors should be handled by the requesting component.');
|
|
432
|
+
}
|
|
433
|
+
});
|
|
434
|
+
|
|
435
|
+
// Set up EventBus bridge for Memory.UPDATE events
|
|
436
|
+
EventBus.server.on(Events.Memory.UPDATE, (event: MemoryUpdateEventPayload) => {
|
|
437
|
+
try {
|
|
438
|
+
// Extract memory operation data from the event (handle EventBus forwarding nesting)
|
|
439
|
+
const memoryEventData = event.data.scope ? event.data : (event.data as any).data;
|
|
440
|
+
|
|
441
|
+
// Validate required fields
|
|
442
|
+
this.validator.assertIsString(memoryEventData.scope, 'Memory scope is required');
|
|
443
|
+
this.validator.assertIsString(memoryEventData.operationId, 'Operation ID is required');
|
|
444
|
+
|
|
445
|
+
// Handle UPDATE operations
|
|
446
|
+
switch (memoryEventData.scope) {
|
|
447
|
+
case MemoryScope.CHANNEL:
|
|
448
|
+
// For UPDATE operations, the id field contains the memory key
|
|
449
|
+
const updateMemoryKey = Array.isArray(memoryEventData.id) ? memoryEventData.id[0] : memoryEventData.id;
|
|
450
|
+
|
|
451
|
+
// Handle the actual data structure from ChannelContextMessageOperations and ChannelContextMemoryOperations
|
|
452
|
+
// Data comes in format:
|
|
453
|
+
// - { "channel:messages:${channelId}": [...messages] } for messages
|
|
454
|
+
// - { "channel:context:${channelId}": {...context} } for context
|
|
455
|
+
if (memoryEventData.data && typeof memoryEventData.data === 'object') {
|
|
456
|
+
// Check if the data is already properly keyed or needs to be keyed
|
|
457
|
+
const dataKeys = Object.keys(memoryEventData.data);
|
|
458
|
+
|
|
459
|
+
if (updateMemoryKey.startsWith('channel:')) {
|
|
460
|
+
// Direct storage: id field is the memory key, data field contains the actual data
|
|
461
|
+
// ;
|
|
462
|
+
|
|
463
|
+
// If data has nested structure with the same key, extract the nested data
|
|
464
|
+
const actualData = memoryEventData.data[updateMemoryKey] || memoryEventData.data;
|
|
465
|
+
|
|
466
|
+
// Check if data has actually changed before updating
|
|
467
|
+
const existingData = this.generalData.get(updateMemoryKey);
|
|
468
|
+
const dataHasChanged = !this.isDataEqual(existingData, actualData);
|
|
469
|
+
|
|
470
|
+
if (!dataHasChanged) {
|
|
471
|
+
// ;
|
|
472
|
+
return; // Skip update and event emission
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
// ;
|
|
476
|
+
this.generalData.set(updateMemoryKey, actualData);
|
|
477
|
+
|
|
478
|
+
// Create success result payload
|
|
479
|
+
const updateResult: MemoryUpdateResultEventData = {
|
|
480
|
+
operationId: memoryEventData.operationId,
|
|
481
|
+
scope: MemoryScope.CHANNEL,
|
|
482
|
+
id: updateMemoryKey, // Use the memory key as the id for proper matching
|
|
483
|
+
memory: actualData
|
|
484
|
+
};
|
|
485
|
+
|
|
486
|
+
const systemAgentId: AgentId = 'SYSTEM_AGENT';
|
|
487
|
+
const noChannelId: ChannelId = 'NO_CHANNEL';
|
|
488
|
+
|
|
489
|
+
const payload = createMemoryUpdateResultEventPayload(
|
|
490
|
+
Events.Memory.UPDATE_RESULT,
|
|
491
|
+
systemAgentId,
|
|
492
|
+
noChannelId,
|
|
493
|
+
updateResult
|
|
494
|
+
);
|
|
495
|
+
|
|
496
|
+
// ;
|
|
497
|
+
EventBus.server.emit(Events.Memory.UPDATE_RESULT, payload);
|
|
498
|
+
} else {
|
|
499
|
+
// Legacy format: Find any channel-related key and data in the data object
|
|
500
|
+
const channelKey = dataKeys.find(key =>
|
|
501
|
+
key.startsWith('channel:messages:') || key.startsWith('channel:context:')
|
|
502
|
+
);
|
|
503
|
+
|
|
504
|
+
if (channelKey && memoryEventData.data[channelKey]) {
|
|
505
|
+
// ;
|
|
506
|
+
|
|
507
|
+
const newData = memoryEventData.data[channelKey];
|
|
508
|
+
|
|
509
|
+
// Check if data has actually changed before updating
|
|
510
|
+
const existingData = this.generalData.get(channelKey);
|
|
511
|
+
const dataHasChanged = !this.isDataEqual(existingData, newData);
|
|
512
|
+
|
|
513
|
+
if (!dataHasChanged) {
|
|
514
|
+
// ;
|
|
515
|
+
return; // Skip update and event emission
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
// Store the data by the key (messages array or context object)
|
|
519
|
+
// ;
|
|
520
|
+
this.generalData.set(channelKey, newData);
|
|
521
|
+
|
|
522
|
+
// Create success result payload
|
|
523
|
+
const updateResult: MemoryUpdateResultEventData = {
|
|
524
|
+
operationId: memoryEventData.operationId,
|
|
525
|
+
scope: MemoryScope.CHANNEL,
|
|
526
|
+
id: channelKey, // Use the memory key as the id for proper matching
|
|
527
|
+
memory: newData
|
|
528
|
+
};
|
|
529
|
+
|
|
530
|
+
const systemAgentId: AgentId = 'SYSTEM_AGENT';
|
|
531
|
+
const noChannelId: ChannelId = 'NO_CHANNEL';
|
|
532
|
+
|
|
533
|
+
const payload = createMemoryUpdateResultEventPayload(
|
|
534
|
+
Events.Memory.UPDATE_RESULT,
|
|
535
|
+
systemAgentId,
|
|
536
|
+
noChannelId,
|
|
537
|
+
updateResult
|
|
538
|
+
);
|
|
539
|
+
|
|
540
|
+
// ;
|
|
541
|
+
EventBus.server.emit(Events.Memory.UPDATE_RESULT, payload);
|
|
542
|
+
} else {
|
|
543
|
+
this.logger.warn(`No recognized channel key found in data keys: ${dataKeys.join(', ')}`);
|
|
544
|
+
}
|
|
545
|
+
}
|
|
546
|
+
}
|
|
547
|
+
break;
|
|
548
|
+
|
|
549
|
+
case MemoryScope.AGENT:
|
|
550
|
+
// Handle agent memory UPDATE
|
|
551
|
+
if (typeof memoryEventData.id === 'string' && memoryEventData.data) {
|
|
552
|
+
// CRITICAL: Must subscribe to Observable to trigger execution!
|
|
553
|
+
this.updateAgentMemory(memoryEventData.id, memoryEventData.data).subscribe({
|
|
554
|
+
next: () => null,
|
|
555
|
+
error: (err) => this.logger.error(`Agent memory update failed for ${memoryEventData.id}: ${err}`)
|
|
556
|
+
});
|
|
557
|
+
}
|
|
558
|
+
break;
|
|
559
|
+
|
|
560
|
+
case MemoryScope.RELATIONSHIP:
|
|
561
|
+
// Handle relationship memory UPDATE
|
|
562
|
+
break;
|
|
563
|
+
|
|
564
|
+
default:
|
|
565
|
+
this.logger.warn(`Unsupported memory scope: ${memoryEventData.scope}`);
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
} catch (error) {
|
|
569
|
+
this.logger.error('[ERROR] Error processing EventBus Memory.UPDATE:', error);
|
|
570
|
+
|
|
571
|
+
// Log error details for debugging without creating fake event payloads
|
|
572
|
+
const operationId = event.data?.operationId || '[NO_OPERATION_ID]';
|
|
573
|
+
const memoryId = event.data?.id || '[NO_MEMORY_ID]';
|
|
574
|
+
this.logger.error(`Memory UPDATE operation failed - OperationId: ${operationId}, MemoryId: ${memoryId}, Error: ${(error as Error).message}`);
|
|
575
|
+
|
|
576
|
+
// Cannot emit UPDATE_RESULT event without valid agentId and channelId from original request
|
|
577
|
+
// Original event should have contained these required identifiers
|
|
578
|
+
this.logger.warn('Cannot emit Memory.UPDATE_RESULT event - original event lacked valid agentId/channelId. Memory operation errors should be handled by the requesting component.');
|
|
579
|
+
}
|
|
580
|
+
});
|
|
581
|
+
|
|
582
|
+
}
|
|
583
|
+
|
|
584
|
+
/**
|
|
585
|
+
* Get the singleton instance
|
|
586
|
+
* @param config Configuration options
|
|
587
|
+
* @returns The memory service instance
|
|
588
|
+
*/
|
|
589
|
+
public static getInstance(config?: MemoryServiceConfig): MemoryService {
|
|
590
|
+
if (!MemoryService.instance) {
|
|
591
|
+
MemoryService.instance = new MemoryService(config);
|
|
592
|
+
} else if (config?.persistenceService && !MemoryService.instance.persistenceService) {
|
|
593
|
+
// Upgrade existing instance with persistence service (for server initialization)
|
|
594
|
+
MemoryService.instance.persistenceService = config.persistenceService;
|
|
595
|
+
MemoryService.instance.logger.info('Memory Service upgraded with MongoDB persistence');
|
|
596
|
+
}
|
|
597
|
+
return MemoryService.instance;
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
/**
|
|
601
|
+
* Get agent memory
|
|
602
|
+
* @param agentId Agent ID
|
|
603
|
+
* @returns Observable of agent memory
|
|
604
|
+
*/
|
|
605
|
+
public getAgentMemory(agentId: string): Observable<IEnhancedAgentMemory> {
|
|
606
|
+
this.validator.assertIsNonEmptyString(agentId, 'Agent ID must be a non-empty string');
|
|
607
|
+
|
|
608
|
+
// Return existing memory from cache if available (fast path)
|
|
609
|
+
const existingMemory = this.agentMemory.get(agentId);
|
|
610
|
+
if (existingMemory) {
|
|
611
|
+
return of(existingMemory);
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
// If persistence service is available, try loading from MongoDB
|
|
615
|
+
if (this.persistenceService) {
|
|
616
|
+
return new Observable<IEnhancedAgentMemory>(observer => {
|
|
617
|
+
this.persistenceService.getAgentMemory(agentId).subscribe({
|
|
618
|
+
next: (loadedMemory: any) => {
|
|
619
|
+
// Enhance the loaded memory with cognitive memory structure
|
|
620
|
+
const enhancedMemory: IEnhancedAgentMemory = {
|
|
621
|
+
...loadedMemory,
|
|
622
|
+
cognitiveMemory: loadedMemory.cognitiveMemory || {
|
|
623
|
+
observationIds: [],
|
|
624
|
+
reasoningIds: [],
|
|
625
|
+
planIds: [],
|
|
626
|
+
reflectionIds: []
|
|
627
|
+
}
|
|
628
|
+
};
|
|
629
|
+
|
|
630
|
+
// Cache the loaded memory
|
|
631
|
+
this.agentMemory.set(agentId, enhancedMemory);
|
|
632
|
+
|
|
633
|
+
|
|
634
|
+
observer.next(enhancedMemory);
|
|
635
|
+
observer.complete();
|
|
636
|
+
},
|
|
637
|
+
error: (error: any) => {
|
|
638
|
+
this.logger.warn(`Failed to load agent memory from MongoDB for ${agentId}: ${error.message}`);
|
|
639
|
+
// Fall back to creating new memory
|
|
640
|
+
const newMemory = this.createNewAgentMemory(agentId);
|
|
641
|
+
observer.next(newMemory);
|
|
642
|
+
observer.complete();
|
|
643
|
+
}
|
|
644
|
+
});
|
|
645
|
+
});
|
|
646
|
+
}
|
|
647
|
+
|
|
648
|
+
// No persistence service - create new memory
|
|
649
|
+
const newMemory = this.createNewAgentMemory(agentId);
|
|
650
|
+
return of(newMemory);
|
|
651
|
+
}
|
|
652
|
+
|
|
653
|
+
/**
|
|
654
|
+
* Create new agent memory
|
|
655
|
+
* @param agentId Agent ID
|
|
656
|
+
* @returns New agent memory
|
|
657
|
+
*/
|
|
658
|
+
private createNewAgentMemory(agentId: string): IEnhancedAgentMemory {
|
|
659
|
+
const newMemory: IEnhancedAgentMemory = {
|
|
660
|
+
id: uuidv4(),
|
|
661
|
+
agentId,
|
|
662
|
+
createdAt: new Date(),
|
|
663
|
+
updatedAt: new Date(),
|
|
664
|
+
persistenceLevel: MemoryPersistenceLevel.PERSISTENT,
|
|
665
|
+
notes: {},
|
|
666
|
+
conversationHistory: [],
|
|
667
|
+
customData: {},
|
|
668
|
+
cognitiveMemory: {
|
|
669
|
+
observationIds: [],
|
|
670
|
+
reasoningIds: [],
|
|
671
|
+
planIds: [],
|
|
672
|
+
reflectionIds: []
|
|
673
|
+
}
|
|
674
|
+
};
|
|
675
|
+
|
|
676
|
+
this.agentMemory.set(agentId, newMemory);
|
|
677
|
+
|
|
678
|
+
const operationId_agent_get_new = uuidv4();
|
|
679
|
+
const systemAgentId_agent_get_new: AgentId = 'SYSTEM_AGENT';
|
|
680
|
+
const noChannelId_agent_get_new: ChannelId = 'NO_CHANNEL';
|
|
681
|
+
const updateResultData_agent_get_new: MemoryUpdateResultEventData = {
|
|
682
|
+
operationId: operationId_agent_get_new,
|
|
683
|
+
scope: MemoryScope.AGENT,
|
|
684
|
+
id: agentId,
|
|
685
|
+
memory: newMemory
|
|
686
|
+
};
|
|
687
|
+
EventBus.server.emit(
|
|
688
|
+
Events.Memory.UPDATE_RESULT,
|
|
689
|
+
createMemoryUpdateResultEventPayload(
|
|
690
|
+
Events.Memory.UPDATE_RESULT,
|
|
691
|
+
systemAgentId_agent_get_new,
|
|
692
|
+
noChannelId_agent_get_new,
|
|
693
|
+
updateResultData_agent_get_new
|
|
694
|
+
)
|
|
695
|
+
);
|
|
696
|
+
|
|
697
|
+
return newMemory;
|
|
698
|
+
}
|
|
699
|
+
|
|
700
|
+
/**
|
|
701
|
+
* Update agent memory
|
|
702
|
+
* @param pAgentId Agent ID
|
|
703
|
+
* @param updates Memory updates
|
|
704
|
+
* @returns Observable of updated agent memory
|
|
705
|
+
*/
|
|
706
|
+
public updateAgentMemory(pAgentId: string, updates: Partial<IEnhancedAgentMemory>): Observable<IEnhancedAgentMemory> {
|
|
707
|
+
this.validator.assertIsNonEmptyString(pAgentId, 'Agent ID must be a non-empty string');
|
|
708
|
+
this.validator.assertIsObject(updates, 'Updates must be an object');
|
|
709
|
+
|
|
710
|
+
// Get existing memory or create new one
|
|
711
|
+
return new Observable<IEnhancedAgentMemory>(observer => {
|
|
712
|
+
this.getAgentMemory(pAgentId).subscribe(originalAgentMemory => {
|
|
713
|
+
// Apply updates
|
|
714
|
+
const updatedMemory: IEnhancedAgentMemory = {
|
|
715
|
+
...originalAgentMemory,
|
|
716
|
+
...updates,
|
|
717
|
+
updatedAt: new Date(),
|
|
718
|
+
// Ensure these fields can't be overridden
|
|
719
|
+
id: originalAgentMemory.id,
|
|
720
|
+
agentId: originalAgentMemory.agentId,
|
|
721
|
+
createdAt: originalAgentMemory.createdAt
|
|
722
|
+
};
|
|
723
|
+
|
|
724
|
+
// Deep merge for nested objects
|
|
725
|
+
if (updates.notes) {
|
|
726
|
+
updatedMemory.notes = { ...originalAgentMemory.notes, ...updates.notes };
|
|
727
|
+
}
|
|
728
|
+
|
|
729
|
+
if (updates.customData) {
|
|
730
|
+
updatedMemory.customData = { ...originalAgentMemory.customData, ...updates.customData };
|
|
731
|
+
}
|
|
732
|
+
|
|
733
|
+
if (updates.cognitiveMemory) {
|
|
734
|
+
updatedMemory.cognitiveMemory = {
|
|
735
|
+
...originalAgentMemory.cognitiveMemory,
|
|
736
|
+
...updates.cognitiveMemory
|
|
737
|
+
};
|
|
738
|
+
}
|
|
739
|
+
|
|
740
|
+
// Replace conversation history if provided (SDK sends full array, not incremental)
|
|
741
|
+
if (updates.conversationHistory !== undefined) {
|
|
742
|
+
updatedMemory.conversationHistory = updates.conversationHistory;
|
|
743
|
+
}
|
|
744
|
+
|
|
745
|
+
// Store updated memory in cache
|
|
746
|
+
this.agentMemory.set(pAgentId, updatedMemory);
|
|
747
|
+
|
|
748
|
+
// Persist to MongoDB if persistence service is available (async, non-blocking)
|
|
749
|
+
if (this.persistenceService) {
|
|
750
|
+
this.persistenceService.saveAgentMemory(updatedMemory)
|
|
751
|
+
.subscribe({
|
|
752
|
+
next: () => null,
|
|
753
|
+
error: (err: any) => this.logger.warn(`Failed to persist agent memory to MongoDB for ${pAgentId}: ${err.message}`)
|
|
754
|
+
});
|
|
755
|
+
}
|
|
756
|
+
|
|
757
|
+
// Trigger entity extraction from conversation history if Knowledge Graph is enabled
|
|
758
|
+
// This extracts entities and relationships for the Knowledge Graph
|
|
759
|
+
if (updates.conversationHistory && updates.conversationHistory.length > 0) {
|
|
760
|
+
const lastMessages = updates.conversationHistory.slice(-3);
|
|
761
|
+
const contentToExtract = lastMessages
|
|
762
|
+
.filter((msg): msg is typeof msg & { content: string } =>
|
|
763
|
+
typeof msg.content === 'string' && msg.content.length > 0)
|
|
764
|
+
.map(msg => msg.content)
|
|
765
|
+
.join('\n\n');
|
|
766
|
+
|
|
767
|
+
if (contentToExtract.length > 0) {
|
|
768
|
+
// Use agent ID as channel context for agent-level memories
|
|
769
|
+
// Entities extracted from agent memory are scoped to a pseudo-channel
|
|
770
|
+
const channelContext = `agent-memory-${pAgentId}`;
|
|
771
|
+
const memoryId = `agent-${pAgentId}-${Date.now()}`;
|
|
772
|
+
this.triggerEntityExtraction(channelContext, memoryId, contentToExtract)
|
|
773
|
+
.catch(err => this.logger.warn(`Entity extraction failed: ${err.message}`));
|
|
774
|
+
}
|
|
775
|
+
}
|
|
776
|
+
|
|
777
|
+
// Emit update event through EventBus
|
|
778
|
+
const operationId = uuidv4(); // Generate operationId for the event data
|
|
779
|
+
const updateResultData: MemoryUpdateResultEventData = {
|
|
780
|
+
operationId,
|
|
781
|
+
scope: MemoryScope.AGENT,
|
|
782
|
+
id: pAgentId,
|
|
783
|
+
memory: updatedMemory
|
|
784
|
+
};
|
|
785
|
+
|
|
786
|
+
// Define standard agentId and channelId for system-level memory events
|
|
787
|
+
const systemAgentId: AgentId = 'SYSTEM_AGENT'; // Or a more specific system agent ID
|
|
788
|
+
const noChannelId: ChannelId = 'NO_CHANNEL'; // Or a more specific system channel ID or null if appropriate
|
|
789
|
+
|
|
790
|
+
const payload = createMemoryUpdateResultEventPayload(
|
|
791
|
+
Events.Memory.UPDATE_RESULT,
|
|
792
|
+
systemAgentId,
|
|
793
|
+
noChannelId,
|
|
794
|
+
updateResultData
|
|
795
|
+
);
|
|
796
|
+
EventBus.server.emit(Events.Memory.UPDATE_RESULT, payload);
|
|
797
|
+
|
|
798
|
+
observer.next(updatedMemory);
|
|
799
|
+
observer.complete();
|
|
800
|
+
}, error => {
|
|
801
|
+
const operationId_agent_update_error = uuidv4();
|
|
802
|
+
const updateResultData_agent_update_error: MemoryUpdateResultEventData = {
|
|
803
|
+
operationId: operationId_agent_update_error,
|
|
804
|
+
scope: MemoryScope.AGENT,
|
|
805
|
+
id: pAgentId,
|
|
806
|
+
memory: null,
|
|
807
|
+
error: (error as Error).message
|
|
808
|
+
};
|
|
809
|
+
const systemAgentId_agent_update_error: AgentId = 'SYSTEM_AGENT'; // Or a more specific system agent ID
|
|
810
|
+
const noChannelId_agent_update_error: ChannelId = 'NO_CHANNEL'; // Or a more specific system channel ID or null if appropriate
|
|
811
|
+
EventBus.server.emit(
|
|
812
|
+
Events.Memory.UPDATE_RESULT,
|
|
813
|
+
createMemoryUpdateResultEventPayload(
|
|
814
|
+
Events.Memory.UPDATE_RESULT,
|
|
815
|
+
systemAgentId_agent_update_error,
|
|
816
|
+
noChannelId_agent_update_error,
|
|
817
|
+
updateResultData_agent_update_error
|
|
818
|
+
)
|
|
819
|
+
);
|
|
820
|
+
observer.error(error);
|
|
821
|
+
});
|
|
822
|
+
});
|
|
823
|
+
}
|
|
824
|
+
|
|
825
|
+
/**
|
|
826
|
+
* Channel-scoped validation for cognitive operations
|
|
827
|
+
* @param agentId Agent ID
|
|
828
|
+
* @param channelId Channel ID
|
|
829
|
+
*/
|
|
830
|
+
private validateCognitiveAccess(agentId: AgentId, channelId: ChannelId): void {
|
|
831
|
+
const agentMemory = this.agentMemory.get(agentId);
|
|
832
|
+
if (!agentMemory) {
|
|
833
|
+
throw new Error(`Agent ${agentId} not found in memory`);
|
|
834
|
+
}
|
|
835
|
+
// Note: Agent memory doesn't currently store channelId, but in the unified architecture it should
|
|
836
|
+
// For now, we'll validate that the agent exists and the channel is provided
|
|
837
|
+
if (!channelId) {
|
|
838
|
+
throw new Error(`Channel ID required for cognitive operations`);
|
|
839
|
+
}
|
|
840
|
+
}
|
|
841
|
+
|
|
842
|
+
/**
|
|
843
|
+
* Store an observation in cognitive memory
|
|
844
|
+
* @param agentId Agent ID
|
|
845
|
+
* @param channelId Channel ID for privacy enforcement
|
|
846
|
+
* @param observation The observation to store
|
|
847
|
+
* @returns Observable of observation ID
|
|
848
|
+
*/
|
|
849
|
+
public storeObservation(agentId: AgentId, channelId: ChannelId, observation: Observation): Observable<string> {
|
|
850
|
+
this.validator.assertIsNonEmptyString(agentId, 'Agent ID must be a non-empty string');
|
|
851
|
+
this.validator.assertIsNonEmptyString(channelId, 'Channel ID must be a non-empty string');
|
|
852
|
+
this.validator.assertIsObject(observation, 'Observation must be an object');
|
|
853
|
+
|
|
854
|
+
this.validateCognitiveAccess(agentId, channelId);
|
|
855
|
+
|
|
856
|
+
const observationId = `obs-${uuidv4()}`;
|
|
857
|
+
|
|
858
|
+
// Create cognitive memory entry
|
|
859
|
+
const cognitiveEntry: CognitiveMemoryEntry<Observation> = {
|
|
860
|
+
id: observationId,
|
|
861
|
+
agentId,
|
|
862
|
+
channelId,
|
|
863
|
+
memoryType: CognitiveMemoryType.SHORT_TERM,
|
|
864
|
+
content: {
|
|
865
|
+
...observation,
|
|
866
|
+
id: observationId,
|
|
867
|
+
agentId,
|
|
868
|
+
timestamp: observation.timestamp || Date.now()
|
|
869
|
+
},
|
|
870
|
+
createdAt: Date.now(),
|
|
871
|
+
updatedAt: Date.now(),
|
|
872
|
+
labels: ['observation'],
|
|
873
|
+
relevance: 1.0
|
|
874
|
+
};
|
|
875
|
+
|
|
876
|
+
// Store in cognitive memory
|
|
877
|
+
this.cognitiveMemory.set(observationId, cognitiveEntry);
|
|
878
|
+
|
|
879
|
+
// Update agent memory references
|
|
880
|
+
this.updateAgentMemory(agentId, {
|
|
881
|
+
cognitiveMemory: {
|
|
882
|
+
observationIds: [...(this.agentMemory.get(agentId)?.cognitiveMemory.observationIds || []), observationId],
|
|
883
|
+
reasoningIds: this.agentMemory.get(agentId)?.cognitiveMemory.reasoningIds || [],
|
|
884
|
+
planIds: this.agentMemory.get(agentId)?.cognitiveMemory.planIds || [],
|
|
885
|
+
reflectionIds: this.agentMemory.get(agentId)?.cognitiveMemory.reflectionIds || []
|
|
886
|
+
}
|
|
887
|
+
}).subscribe();
|
|
888
|
+
|
|
889
|
+
// ;
|
|
890
|
+
|
|
891
|
+
return of(observationId);
|
|
892
|
+
}
|
|
893
|
+
|
|
894
|
+
/**
|
|
895
|
+
* Get recent observations for an agent
|
|
896
|
+
* @param agentId Agent ID
|
|
897
|
+
* @param channelId Channel ID for privacy enforcement
|
|
898
|
+
* @param limit Maximum number of observations to retrieve
|
|
899
|
+
* @returns Observable of observations
|
|
900
|
+
*/
|
|
901
|
+
public getRecentObservations(agentId: AgentId, channelId: ChannelId, limit: number = 10): Observable<Observation[]> {
|
|
902
|
+
this.validator.assertIsNonEmptyString(agentId, 'Agent ID must be a non-empty string');
|
|
903
|
+
this.validator.assertIsNonEmptyString(channelId, 'Channel ID must be a non-empty string');
|
|
904
|
+
|
|
905
|
+
this.validateCognitiveAccess(agentId, channelId);
|
|
906
|
+
|
|
907
|
+
const agentMemory = this.agentMemory.get(agentId);
|
|
908
|
+
if (!agentMemory) {
|
|
909
|
+
return of([]);
|
|
910
|
+
}
|
|
911
|
+
|
|
912
|
+
// Get observations from cognitive memory
|
|
913
|
+
const observations: Observation[] = agentMemory.cognitiveMemory.observationIds
|
|
914
|
+
.map(id => this.cognitiveMemory.get(id))
|
|
915
|
+
.filter(entry => entry && entry.channelId === channelId)
|
|
916
|
+
.sort((a, b) => (b?.createdAt || 0) - (a?.createdAt || 0))
|
|
917
|
+
.slice(0, limit)
|
|
918
|
+
.map(entry => entry!.content)
|
|
919
|
+
.filter(obs => obs) as Observation[];
|
|
920
|
+
|
|
921
|
+
return of(observations);
|
|
922
|
+
}
|
|
923
|
+
|
|
924
|
+
/**
|
|
925
|
+
* Store reasoning in cognitive memory
|
|
926
|
+
* @param agentId Agent ID
|
|
927
|
+
* @param channelId Channel ID for privacy enforcement
|
|
928
|
+
* @param reasoning The reasoning to store
|
|
929
|
+
* @returns Observable of reasoning ID
|
|
930
|
+
*/
|
|
931
|
+
public storeReasoning(agentId: AgentId, channelId: ChannelId, reasoning: Reasoning): Observable<string> {
|
|
932
|
+
this.validator.assertIsNonEmptyString(agentId, 'Agent ID must be a non-empty string');
|
|
933
|
+
this.validator.assertIsNonEmptyString(channelId, 'Channel ID must be a non-empty string');
|
|
934
|
+
this.validator.assertIsObject(reasoning, 'Reasoning must be an object');
|
|
935
|
+
|
|
936
|
+
this.validateCognitiveAccess(agentId, channelId);
|
|
937
|
+
|
|
938
|
+
const reasoningId = `reason-${uuidv4()}`;
|
|
939
|
+
|
|
940
|
+
// Create cognitive memory entry
|
|
941
|
+
const cognitiveEntry: CognitiveMemoryEntry<Reasoning> = {
|
|
942
|
+
id: reasoningId,
|
|
943
|
+
agentId,
|
|
944
|
+
channelId,
|
|
945
|
+
memoryType: CognitiveMemoryType.WORKING,
|
|
946
|
+
content: {
|
|
947
|
+
...reasoning,
|
|
948
|
+
id: reasoningId,
|
|
949
|
+
agentId,
|
|
950
|
+
timestamp: reasoning.timestamp || Date.now()
|
|
951
|
+
},
|
|
952
|
+
createdAt: Date.now(),
|
|
953
|
+
updatedAt: Date.now(),
|
|
954
|
+
labels: ['reasoning'],
|
|
955
|
+
relevance: reasoning.confidence || 1.0
|
|
956
|
+
};
|
|
957
|
+
|
|
958
|
+
// Store in cognitive memory
|
|
959
|
+
this.cognitiveMemory.set(reasoningId, cognitiveEntry);
|
|
960
|
+
|
|
961
|
+
// Update agent memory references
|
|
962
|
+
this.updateAgentMemory(agentId, {
|
|
963
|
+
cognitiveMemory: {
|
|
964
|
+
observationIds: this.agentMemory.get(agentId)?.cognitiveMemory.observationIds || [],
|
|
965
|
+
reasoningIds: [...(this.agentMemory.get(agentId)?.cognitiveMemory.reasoningIds || []), reasoningId],
|
|
966
|
+
planIds: this.agentMemory.get(agentId)?.cognitiveMemory.planIds || [],
|
|
967
|
+
reflectionIds: this.agentMemory.get(agentId)?.cognitiveMemory.reflectionIds || []
|
|
968
|
+
}
|
|
969
|
+
}).subscribe();
|
|
970
|
+
|
|
971
|
+
// ;
|
|
972
|
+
|
|
973
|
+
return of(reasoningId);
|
|
974
|
+
}
|
|
975
|
+
|
|
976
|
+
/**
|
|
977
|
+
* Store a plan in cognitive memory
|
|
978
|
+
* @param agentId Agent ID
|
|
979
|
+
* @param channelId Channel ID for privacy enforcement
|
|
980
|
+
* @param plan The plan to store
|
|
981
|
+
* @returns Observable of plan ID
|
|
982
|
+
*/
|
|
983
|
+
public storePlan(agentId: AgentId, channelId: ChannelId, plan: Plan): Observable<string> {
|
|
984
|
+
this.validator.assertIsNonEmptyString(agentId, 'Agent ID must be a non-empty string');
|
|
985
|
+
this.validator.assertIsNonEmptyString(channelId, 'Channel ID must be a non-empty string');
|
|
986
|
+
this.validator.assertIsObject(plan, 'Plan must be an object');
|
|
987
|
+
|
|
988
|
+
this.validateCognitiveAccess(agentId, channelId);
|
|
989
|
+
|
|
990
|
+
const planId = `plan-${uuidv4()}`;
|
|
991
|
+
|
|
992
|
+
// Create cognitive memory entry
|
|
993
|
+
const cognitiveEntry: CognitiveMemoryEntry<Plan> = {
|
|
994
|
+
id: planId,
|
|
995
|
+
agentId,
|
|
996
|
+
channelId,
|
|
997
|
+
memoryType: CognitiveMemoryType.WORKING,
|
|
998
|
+
content: {
|
|
999
|
+
...plan,
|
|
1000
|
+
id: planId,
|
|
1001
|
+
agentId,
|
|
1002
|
+
timestamp: plan.timestamp || Date.now()
|
|
1003
|
+
},
|
|
1004
|
+
createdAt: Date.now(),
|
|
1005
|
+
updatedAt: Date.now(),
|
|
1006
|
+
labels: ['plan'],
|
|
1007
|
+
relevance: 1.0
|
|
1008
|
+
};
|
|
1009
|
+
|
|
1010
|
+
// Store in cognitive memory
|
|
1011
|
+
this.cognitiveMemory.set(planId, cognitiveEntry);
|
|
1012
|
+
|
|
1013
|
+
// Update agent memory references
|
|
1014
|
+
this.updateAgentMemory(agentId, {
|
|
1015
|
+
cognitiveMemory: {
|
|
1016
|
+
observationIds: this.agentMemory.get(agentId)?.cognitiveMemory.observationIds || [],
|
|
1017
|
+
reasoningIds: this.agentMemory.get(agentId)?.cognitiveMemory.reasoningIds || [],
|
|
1018
|
+
planIds: [...(this.agentMemory.get(agentId)?.cognitiveMemory.planIds || []), planId],
|
|
1019
|
+
reflectionIds: this.agentMemory.get(agentId)?.cognitiveMemory.reflectionIds || []
|
|
1020
|
+
}
|
|
1021
|
+
}).subscribe();
|
|
1022
|
+
|
|
1023
|
+
// ;
|
|
1024
|
+
|
|
1025
|
+
return of(planId);
|
|
1026
|
+
}
|
|
1027
|
+
|
|
1028
|
+
/**
|
|
1029
|
+
* Update a plan in cognitive memory
|
|
1030
|
+
* @param agentId Agent ID
|
|
1031
|
+
* @param channelId Channel ID for privacy enforcement
|
|
1032
|
+
* @param plan The updated plan
|
|
1033
|
+
* @returns Observable of success status
|
|
1034
|
+
*/
|
|
1035
|
+
public updatePlan(agentId: AgentId, channelId: ChannelId, plan: Plan): Observable<boolean> {
|
|
1036
|
+
this.validator.assertIsNonEmptyString(agentId, 'Agent ID must be a non-empty string');
|
|
1037
|
+
this.validator.assertIsNonEmptyString(channelId, 'Channel ID must be a non-empty string');
|
|
1038
|
+
this.validator.assertIsObject(plan, 'Plan must be an object');
|
|
1039
|
+
|
|
1040
|
+
this.validateCognitiveAccess(agentId, channelId);
|
|
1041
|
+
|
|
1042
|
+
const existingEntry = this.cognitiveMemory.get(plan.id);
|
|
1043
|
+
if (!existingEntry || existingEntry.agentId !== agentId || existingEntry.channelId !== channelId) {
|
|
1044
|
+
return of(false);
|
|
1045
|
+
}
|
|
1046
|
+
|
|
1047
|
+
// Update cognitive memory entry
|
|
1048
|
+
const updatedEntry: CognitiveMemoryEntry<Plan> = {
|
|
1049
|
+
...existingEntry,
|
|
1050
|
+
content: {
|
|
1051
|
+
...plan,
|
|
1052
|
+
timestamp: plan.timestamp || Date.now()
|
|
1053
|
+
},
|
|
1054
|
+
updatedAt: Date.now()
|
|
1055
|
+
};
|
|
1056
|
+
|
|
1057
|
+
this.cognitiveMemory.set(plan.id, updatedEntry);
|
|
1058
|
+
|
|
1059
|
+
// ;
|
|
1060
|
+
|
|
1061
|
+
return of(true);
|
|
1062
|
+
}
|
|
1063
|
+
|
|
1064
|
+
/**
|
|
1065
|
+
* Store a reflection in cognitive memory
|
|
1066
|
+
* @param agentId Agent ID
|
|
1067
|
+
* @param channelId Channel ID for privacy enforcement
|
|
1068
|
+
* @param reflection The reflection to store
|
|
1069
|
+
* @returns Observable of reflection ID
|
|
1070
|
+
*/
|
|
1071
|
+
public storeReflection(agentId: AgentId, channelId: ChannelId, reflection: Reflection): Observable<string> {
|
|
1072
|
+
this.validator.assertIsNonEmptyString(agentId, 'Agent ID must be a non-empty string');
|
|
1073
|
+
this.validator.assertIsNonEmptyString(channelId, 'Channel ID must be a non-empty string');
|
|
1074
|
+
this.validator.assertIsObject(reflection, 'Reflection must be an object');
|
|
1075
|
+
|
|
1076
|
+
this.validateCognitiveAccess(agentId, channelId);
|
|
1077
|
+
|
|
1078
|
+
const reflectionId = `reflect-${uuidv4()}`;
|
|
1079
|
+
|
|
1080
|
+
// Create cognitive memory entry
|
|
1081
|
+
const cognitiveEntry: CognitiveMemoryEntry<Reflection> = {
|
|
1082
|
+
id: reflectionId,
|
|
1083
|
+
agentId,
|
|
1084
|
+
channelId,
|
|
1085
|
+
memoryType: CognitiveMemoryType.LONG_TERM,
|
|
1086
|
+
content: {
|
|
1087
|
+
...reflection,
|
|
1088
|
+
id: reflectionId,
|
|
1089
|
+
agentId,
|
|
1090
|
+
timestamp: reflection.timestamp || Date.now()
|
|
1091
|
+
},
|
|
1092
|
+
createdAt: Date.now(),
|
|
1093
|
+
updatedAt: Date.now(),
|
|
1094
|
+
labels: ['reflection'],
|
|
1095
|
+
relevance: 1.0
|
|
1096
|
+
};
|
|
1097
|
+
|
|
1098
|
+
// Store in cognitive memory
|
|
1099
|
+
this.cognitiveMemory.set(reflectionId, cognitiveEntry);
|
|
1100
|
+
|
|
1101
|
+
// Update agent memory references
|
|
1102
|
+
this.updateAgentMemory(agentId, {
|
|
1103
|
+
cognitiveMemory: {
|
|
1104
|
+
observationIds: this.agentMemory.get(agentId)?.cognitiveMemory.observationIds || [],
|
|
1105
|
+
reasoningIds: this.agentMemory.get(agentId)?.cognitiveMemory.reasoningIds || [],
|
|
1106
|
+
planIds: this.agentMemory.get(agentId)?.cognitiveMemory.planIds || [],
|
|
1107
|
+
reflectionIds: [...(this.agentMemory.get(agentId)?.cognitiveMemory.reflectionIds || []), reflectionId]
|
|
1108
|
+
}
|
|
1109
|
+
}).subscribe();
|
|
1110
|
+
|
|
1111
|
+
// ;
|
|
1112
|
+
|
|
1113
|
+
return of(reflectionId);
|
|
1114
|
+
}
|
|
1115
|
+
|
|
1116
|
+
/**
|
|
1117
|
+
* Query cognitive memory with filtering options
|
|
1118
|
+
* @param agentId Agent ID
|
|
1119
|
+
* @param channelId Channel ID for privacy enforcement
|
|
1120
|
+
* @param options Query options
|
|
1121
|
+
* @returns Observable of cognitive memory entries
|
|
1122
|
+
*/
|
|
1123
|
+
public queryCognitiveMemory(agentId: AgentId, channelId: ChannelId, options: CognitiveMemoryQueryOptions = {}): Observable<CognitiveMemoryEntry<any>[]> {
|
|
1124
|
+
this.validator.assertIsNonEmptyString(agentId, 'Agent ID must be a non-empty string');
|
|
1125
|
+
this.validator.assertIsNonEmptyString(channelId, 'Channel ID must be a non-empty string');
|
|
1126
|
+
|
|
1127
|
+
this.validateCognitiveAccess(agentId, channelId);
|
|
1128
|
+
|
|
1129
|
+
// Get all cognitive memory entries for this agent and channel
|
|
1130
|
+
const entries = Array.from(this.cognitiveMemory.values())
|
|
1131
|
+
.filter(entry => entry.agentId === agentId && entry.channelId === channelId);
|
|
1132
|
+
|
|
1133
|
+
// Apply filters
|
|
1134
|
+
let filteredEntries = entries;
|
|
1135
|
+
|
|
1136
|
+
if (options.memoryTypes && options.memoryTypes.length > 0) {
|
|
1137
|
+
filteredEntries = filteredEntries.filter(entry => options.memoryTypes!.includes(entry.memoryType));
|
|
1138
|
+
}
|
|
1139
|
+
|
|
1140
|
+
if (options.labels && options.labels.length > 0) {
|
|
1141
|
+
filteredEntries = filteredEntries.filter(entry =>
|
|
1142
|
+
options.labels!.some(label => entry.labels.includes(label))
|
|
1143
|
+
);
|
|
1144
|
+
}
|
|
1145
|
+
|
|
1146
|
+
if (options.fromTimestamp) {
|
|
1147
|
+
filteredEntries = filteredEntries.filter(entry => entry.createdAt >= options.fromTimestamp!);
|
|
1148
|
+
}
|
|
1149
|
+
|
|
1150
|
+
if (options.toTimestamp) {
|
|
1151
|
+
filteredEntries = filteredEntries.filter(entry => entry.createdAt <= options.toTimestamp!);
|
|
1152
|
+
}
|
|
1153
|
+
|
|
1154
|
+
// Sort results
|
|
1155
|
+
const sortBy = options.sortBy || 'createdAt';
|
|
1156
|
+
const sortDirection = options.sortDirection || 'desc';
|
|
1157
|
+
filteredEntries.sort((a, b) => {
|
|
1158
|
+
const aVal = a[sortBy] || 0;
|
|
1159
|
+
const bVal = b[sortBy] || 0;
|
|
1160
|
+
return sortDirection === 'asc' ? aVal - bVal : bVal - aVal;
|
|
1161
|
+
});
|
|
1162
|
+
|
|
1163
|
+
// Apply pagination
|
|
1164
|
+
const offset = options.offset || 0;
|
|
1165
|
+
const limit = options.limit || 50;
|
|
1166
|
+
filteredEntries = filteredEntries.slice(offset, offset + limit);
|
|
1167
|
+
|
|
1168
|
+
return of(filteredEntries);
|
|
1169
|
+
}
|
|
1170
|
+
|
|
1171
|
+
/**
|
|
1172
|
+
* Get channel memory
|
|
1173
|
+
* @param channelId Channel ID
|
|
1174
|
+
* @returns Observable of channel memory
|
|
1175
|
+
*/
|
|
1176
|
+
public getChannelMemory(channelId: string): Observable<IEnhancedChannelMemory> {
|
|
1177
|
+
// ;
|
|
1178
|
+
this.validator.assertIsNonEmptyString(channelId, 'Channel ID must be a non-empty string');
|
|
1179
|
+
|
|
1180
|
+
// Return from cache if available
|
|
1181
|
+
if (this.channelMemory.has(channelId)) {
|
|
1182
|
+
const memory = this.channelMemory.get(channelId)!;
|
|
1183
|
+
// ;
|
|
1184
|
+
return of(memory);
|
|
1185
|
+
}
|
|
1186
|
+
|
|
1187
|
+
|
|
1188
|
+
// Create new memory
|
|
1189
|
+
const newMemory: IEnhancedChannelMemory = {
|
|
1190
|
+
id: uuidv4(),
|
|
1191
|
+
channelId,
|
|
1192
|
+
createdAt: new Date(),
|
|
1193
|
+
updatedAt: new Date(),
|
|
1194
|
+
persistenceLevel: MemoryPersistenceLevel.PERSISTENT,
|
|
1195
|
+
notes: {},
|
|
1196
|
+
sharedState: {},
|
|
1197
|
+
conversationHistory: [],
|
|
1198
|
+
customData: {},
|
|
1199
|
+
lastActivity: undefined,
|
|
1200
|
+
messageCount: undefined,
|
|
1201
|
+
participants: undefined,
|
|
1202
|
+
topics: undefined,
|
|
1203
|
+
summary: undefined,
|
|
1204
|
+
sharedCognitiveInsights: {
|
|
1205
|
+
systemSummaries: [],
|
|
1206
|
+
topicExtractions: [],
|
|
1207
|
+
collaborativeReflections: []
|
|
1208
|
+
}
|
|
1209
|
+
};
|
|
1210
|
+
|
|
1211
|
+
this.channelMemory.set(channelId, newMemory);
|
|
1212
|
+
|
|
1213
|
+
const operationId_channel_get_new = uuidv4();
|
|
1214
|
+
const systemAgentId_channel_get_new: AgentId = 'SYSTEM_AGENT';
|
|
1215
|
+
const noChannelId_channel_get_new: ChannelId = 'NO_CHANNEL';
|
|
1216
|
+
const updateResultData_channel_get_new: MemoryUpdateResultEventData = {
|
|
1217
|
+
operationId: operationId_channel_get_new,
|
|
1218
|
+
scope: MemoryScope.CHANNEL,
|
|
1219
|
+
id: channelId,
|
|
1220
|
+
memory: newMemory
|
|
1221
|
+
};
|
|
1222
|
+
EventBus.server.emit(
|
|
1223
|
+
Events.Memory.UPDATE_RESULT,
|
|
1224
|
+
createMemoryUpdateResultEventPayload(
|
|
1225
|
+
Events.Memory.UPDATE_RESULT,
|
|
1226
|
+
systemAgentId_channel_get_new,
|
|
1227
|
+
noChannelId_channel_get_new,
|
|
1228
|
+
updateResultData_channel_get_new
|
|
1229
|
+
)
|
|
1230
|
+
);
|
|
1231
|
+
|
|
1232
|
+
return of(newMemory);
|
|
1233
|
+
}
|
|
1234
|
+
|
|
1235
|
+
/**
|
|
1236
|
+
* Update channel memory
|
|
1237
|
+
* @param channelId Channel ID
|
|
1238
|
+
* @param updates Channel memory updates
|
|
1239
|
+
* @returns Observable of updated channel memory
|
|
1240
|
+
*/
|
|
1241
|
+
public updateChannelMemory(channelId: ChannelId, updates: Partial<IEnhancedChannelMemory>): Observable<IEnhancedChannelMemory> {
|
|
1242
|
+
this.validator.assertIsNonEmptyString(channelId, 'Channel ID must be a non-empty string');
|
|
1243
|
+
|
|
1244
|
+
return new Observable<IEnhancedChannelMemory>(observer => {
|
|
1245
|
+
this.getChannelMemory(channelId).subscribe(originalChannelMemory => {
|
|
1246
|
+
// Create updated memory by merging with original
|
|
1247
|
+
const updatedMemory: IEnhancedChannelMemory = {
|
|
1248
|
+
...originalChannelMemory, // This spreads all base properties
|
|
1249
|
+
channelId,
|
|
1250
|
+
lastActivity: updates.lastActivity || originalChannelMemory.lastActivity || Date.now(),
|
|
1251
|
+
messageCount: updates.messageCount !== undefined ? updates.messageCount : originalChannelMemory.messageCount,
|
|
1252
|
+
participants: updates.participants
|
|
1253
|
+
? [...new Set([...(originalChannelMemory.participants || []), ...updates.participants])]
|
|
1254
|
+
: originalChannelMemory.participants,
|
|
1255
|
+
topics: updates.topics
|
|
1256
|
+
? [...new Set([...(originalChannelMemory.topics || []), ...updates.topics])]
|
|
1257
|
+
: originalChannelMemory.topics,
|
|
1258
|
+
summary: updates.summary || originalChannelMemory.summary,
|
|
1259
|
+
conversationHistory: [...(originalChannelMemory.conversationHistory || [])],
|
|
1260
|
+
sharedCognitiveInsights: {
|
|
1261
|
+
...originalChannelMemory.sharedCognitiveInsights,
|
|
1262
|
+
...updates.sharedCognitiveInsights
|
|
1263
|
+
}
|
|
1264
|
+
};
|
|
1265
|
+
|
|
1266
|
+
// Handle conversation history updates
|
|
1267
|
+
if (updates.conversationHistory && updates.conversationHistory.length > 0) {
|
|
1268
|
+
updatedMemory.conversationHistory = [
|
|
1269
|
+
...(originalChannelMemory.conversationHistory || []),
|
|
1270
|
+
...updates.conversationHistory
|
|
1271
|
+
];
|
|
1272
|
+
}
|
|
1273
|
+
|
|
1274
|
+
// Store updated memory in cache
|
|
1275
|
+
this.channelMemory.set(channelId, updatedMemory);
|
|
1276
|
+
|
|
1277
|
+
// Emit update event through EventBus
|
|
1278
|
+
const operationId = uuidv4();
|
|
1279
|
+
const updateResultData: MemoryUpdateResultEventData = {
|
|
1280
|
+
operationId,
|
|
1281
|
+
scope: MemoryScope.CHANNEL,
|
|
1282
|
+
id: channelId,
|
|
1283
|
+
memory: updatedMemory
|
|
1284
|
+
};
|
|
1285
|
+
|
|
1286
|
+
// Define standard agentId and channelId for system-level memory events
|
|
1287
|
+
const systemAgentId: AgentId = 'SYSTEM_AGENT';
|
|
1288
|
+
const systemChannelId: ChannelId = channelId; // Use the actual channel ID for channel operations
|
|
1289
|
+
|
|
1290
|
+
const payload = createMemoryUpdateResultEventPayload(
|
|
1291
|
+
Events.Memory.UPDATE_RESULT,
|
|
1292
|
+
systemAgentId,
|
|
1293
|
+
systemChannelId,
|
|
1294
|
+
updateResultData
|
|
1295
|
+
);
|
|
1296
|
+
EventBus.server.emit(Events.Memory.UPDATE_RESULT, payload);
|
|
1297
|
+
|
|
1298
|
+
observer.next(updatedMemory);
|
|
1299
|
+
observer.complete();
|
|
1300
|
+
}, error => {
|
|
1301
|
+
const operationId_channel_update_error = uuidv4();
|
|
1302
|
+
const updateResultData_channel_update_error: MemoryUpdateResultEventData = {
|
|
1303
|
+
operationId: operationId_channel_update_error,
|
|
1304
|
+
scope: MemoryScope.CHANNEL,
|
|
1305
|
+
id: channelId,
|
|
1306
|
+
memory: null,
|
|
1307
|
+
error: (error as Error).message
|
|
1308
|
+
};
|
|
1309
|
+
const systemAgentId_channel_update_error: AgentId = 'SYSTEM_AGENT';
|
|
1310
|
+
const systemChannelId_channel_update_error: ChannelId = channelId;
|
|
1311
|
+
EventBus.server.emit(
|
|
1312
|
+
Events.Memory.UPDATE_RESULT,
|
|
1313
|
+
createMemoryUpdateResultEventPayload(
|
|
1314
|
+
Events.Memory.UPDATE_RESULT,
|
|
1315
|
+
systemAgentId_channel_update_error,
|
|
1316
|
+
systemChannelId_channel_update_error,
|
|
1317
|
+
updateResultData_channel_update_error
|
|
1318
|
+
)
|
|
1319
|
+
);
|
|
1320
|
+
observer.error(error);
|
|
1321
|
+
});
|
|
1322
|
+
});
|
|
1323
|
+
}
|
|
1324
|
+
|
|
1325
|
+
/**
|
|
1326
|
+
* Get relationship memory
|
|
1327
|
+
* @param agentId1 First agent ID
|
|
1328
|
+
* @param agentId2 Second agent ID
|
|
1329
|
+
* @param channelId Optional channel ID
|
|
1330
|
+
* @returns Observable of relationship memory
|
|
1331
|
+
*/
|
|
1332
|
+
public getRelationshipMemory(agentId1: string, agentId2: string, channelId?: string): Observable<IRelationshipMemory> {
|
|
1333
|
+
this.validator.assertIsNonEmptyString(agentId1, 'First agent ID must be a non-empty string');
|
|
1334
|
+
this.validator.assertIsNonEmptyString(agentId2, 'Second agent ID must be a non-empty string');
|
|
1335
|
+
|
|
1336
|
+
// Sort agent IDs for consistent key generation
|
|
1337
|
+
const [sortedId1, sortedId2] = [agentId1, agentId2].sort();
|
|
1338
|
+
|
|
1339
|
+
// Create a composite key
|
|
1340
|
+
const relationshipKey = channelId
|
|
1341
|
+
? `${sortedId1}:${sortedId2}:${channelId}`
|
|
1342
|
+
: `${sortedId1}:${sortedId2}`;
|
|
1343
|
+
|
|
1344
|
+
// Return existing memory if available
|
|
1345
|
+
const existingMemory = this.relationshipMemory.get(relationshipKey);
|
|
1346
|
+
if (existingMemory) {
|
|
1347
|
+
return of(existingMemory);
|
|
1348
|
+
}
|
|
1349
|
+
|
|
1350
|
+
// Create new memory
|
|
1351
|
+
const newMemory: IRelationshipMemory = {
|
|
1352
|
+
id: uuidv4(),
|
|
1353
|
+
agentId1: sortedId1,
|
|
1354
|
+
agentId2: sortedId2,
|
|
1355
|
+
channelId,
|
|
1356
|
+
createdAt: new Date(),
|
|
1357
|
+
updatedAt: new Date(),
|
|
1358
|
+
persistenceLevel: MemoryPersistenceLevel.PERSISTENT,
|
|
1359
|
+
notes: {},
|
|
1360
|
+
interactionHistory: [],
|
|
1361
|
+
customData: {}
|
|
1362
|
+
};
|
|
1363
|
+
|
|
1364
|
+
this.relationshipMemory.set(relationshipKey, newMemory);
|
|
1365
|
+
|
|
1366
|
+
const operationId_rel_get_new = uuidv4();
|
|
1367
|
+
const systemAgentId_rel_get_new: AgentId = 'SYSTEM_AGENT';
|
|
1368
|
+
const noChannelId_rel_get_new: ChannelId = 'NO_CHANNEL';
|
|
1369
|
+
const updateResultData_rel_get_new: MemoryUpdateResultEventData = {
|
|
1370
|
+
operationId: operationId_rel_get_new,
|
|
1371
|
+
scope: MemoryScope.RELATIONSHIP,
|
|
1372
|
+
id: relationshipKey,
|
|
1373
|
+
memory: newMemory
|
|
1374
|
+
};
|
|
1375
|
+
EventBus.server.emit(
|
|
1376
|
+
Events.Memory.UPDATE_RESULT,
|
|
1377
|
+
createMemoryUpdateResultEventPayload(
|
|
1378
|
+
Events.Memory.UPDATE_RESULT,
|
|
1379
|
+
systemAgentId_rel_get_new,
|
|
1380
|
+
noChannelId_rel_get_new,
|
|
1381
|
+
updateResultData_rel_get_new
|
|
1382
|
+
)
|
|
1383
|
+
);
|
|
1384
|
+
|
|
1385
|
+
return of(newMemory);
|
|
1386
|
+
}
|
|
1387
|
+
|
|
1388
|
+
/**
|
|
1389
|
+
* Update relationship memory
|
|
1390
|
+
* @param pAgentId1 Agent ID 1
|
|
1391
|
+
* @param pAgentId2 Agent ID 2
|
|
1392
|
+
* @param pChannelId Channel ID (optional, for context)
|
|
1393
|
+
* @param updates Memory updates
|
|
1394
|
+
* @returns Observable of updated relationship memory
|
|
1395
|
+
*/
|
|
1396
|
+
public updateRelationshipMemory(pAgentId1: string, pAgentId2: string, pChannelId: string, updates: Partial<IRelationshipMemory>): Observable<IRelationshipMemory> {
|
|
1397
|
+
this.validator.assertIsNonEmptyString(pAgentId1, 'Agent ID 1 must be a non-empty string');
|
|
1398
|
+
this.validator.assertIsNonEmptyString(pAgentId2, 'Agent ID 2 must be a non-empty string');
|
|
1399
|
+
this.validator.assertIsNonEmptyString(pChannelId, 'Channel ID must be a non-empty string');
|
|
1400
|
+
this.validator.assertIsObject(updates, 'Updates must be an object');
|
|
1401
|
+
|
|
1402
|
+
const relationshipKey = this.getRelationshipKey(pAgentId1, pAgentId2, pChannelId);
|
|
1403
|
+
|
|
1404
|
+
// Get existing memory or create new one
|
|
1405
|
+
return new Observable<IRelationshipMemory>(observer => {
|
|
1406
|
+
this.getRelationshipMemory(pAgentId1, pAgentId2, pChannelId).subscribe(originalRelationshipMemory => {
|
|
1407
|
+
// Apply updates
|
|
1408
|
+
const updatedMemory: IRelationshipMemory = {
|
|
1409
|
+
...originalRelationshipMemory,
|
|
1410
|
+
...updates,
|
|
1411
|
+
updatedAt: new Date(),
|
|
1412
|
+
// Ensure these fields can't be overridden
|
|
1413
|
+
id: originalRelationshipMemory.id,
|
|
1414
|
+
agentId1: originalRelationshipMemory.agentId1,
|
|
1415
|
+
agentId2: originalRelationshipMemory.agentId2,
|
|
1416
|
+
channelId: originalRelationshipMemory.channelId,
|
|
1417
|
+
createdAt: originalRelationshipMemory.createdAt
|
|
1418
|
+
};
|
|
1419
|
+
|
|
1420
|
+
// Deep merge for nested objects (if any)
|
|
1421
|
+
// Example: if (updates.customData) { updatedMemory.customData = { ...originalRelationshipMemory.customData, ...updates.customData }; }
|
|
1422
|
+
|
|
1423
|
+
// Update in-memory store
|
|
1424
|
+
this.relationshipMemory.set(relationshipKey, updatedMemory);
|
|
1425
|
+
|
|
1426
|
+
const operationId_rel_update_success = uuidv4();
|
|
1427
|
+
const systemAgentId_rel_update_success: AgentId = 'SYSTEM_AGENT';
|
|
1428
|
+
const noChannelId_rel_update_success: ChannelId = 'NO_CHANNEL'; // General system event
|
|
1429
|
+
const updateResultData_rel_update_success: MemoryUpdateResultEventData = {
|
|
1430
|
+
operationId: operationId_rel_update_success,
|
|
1431
|
+
scope: MemoryScope.RELATIONSHIP,
|
|
1432
|
+
id: relationshipKey,
|
|
1433
|
+
memory: updatedMemory
|
|
1434
|
+
};
|
|
1435
|
+
EventBus.server.emit(
|
|
1436
|
+
Events.Memory.UPDATE_RESULT,
|
|
1437
|
+
createMemoryUpdateResultEventPayload(
|
|
1438
|
+
Events.Memory.UPDATE_RESULT,
|
|
1439
|
+
systemAgentId_rel_update_success,
|
|
1440
|
+
noChannelId_rel_update_success,
|
|
1441
|
+
updateResultData_rel_update_success
|
|
1442
|
+
)
|
|
1443
|
+
);
|
|
1444
|
+
|
|
1445
|
+
// Return updated memory
|
|
1446
|
+
observer.next(updatedMemory);
|
|
1447
|
+
observer.complete();
|
|
1448
|
+
}, error => { // This 'error' is from getRelationshipMemory()
|
|
1449
|
+
const operationId_rel_update_error = uuidv4();
|
|
1450
|
+
const systemAgentId_rel_update_error: AgentId = 'SYSTEM_AGENT';
|
|
1451
|
+
const noChannelId_rel_update_error: ChannelId = 'NO_CHANNEL';
|
|
1452
|
+
// Reconstruct the key for the 'id' field as it was the one attempted for the update.
|
|
1453
|
+
const attemptedRelationshipKey = this.getRelationshipKey(pAgentId1, pAgentId2, pChannelId);
|
|
1454
|
+
const updateResultData_rel_update_error: MemoryUpdateResultEventData = {
|
|
1455
|
+
operationId: operationId_rel_update_error,
|
|
1456
|
+
scope: MemoryScope.RELATIONSHIP,
|
|
1457
|
+
id: attemptedRelationshipKey, // Use the key that was attempted
|
|
1458
|
+
memory: null,
|
|
1459
|
+
error: (error as Error).message
|
|
1460
|
+
};
|
|
1461
|
+
EventBus.server.emit(
|
|
1462
|
+
Events.Memory.UPDATE_RESULT,
|
|
1463
|
+
createMemoryUpdateResultEventPayload(
|
|
1464
|
+
Events.Memory.UPDATE_RESULT,
|
|
1465
|
+
systemAgentId_rel_update_error,
|
|
1466
|
+
noChannelId_rel_update_error,
|
|
1467
|
+
updateResultData_rel_update_error
|
|
1468
|
+
)
|
|
1469
|
+
);
|
|
1470
|
+
observer.error(error);
|
|
1471
|
+
});
|
|
1472
|
+
});
|
|
1473
|
+
}
|
|
1474
|
+
|
|
1475
|
+
/**
|
|
1476
|
+
* Delete memory by scope and ID
|
|
1477
|
+
* @param scope Memory scope
|
|
1478
|
+
* @param id Entity ID
|
|
1479
|
+
* @returns Observable of success status
|
|
1480
|
+
*/
|
|
1481
|
+
public deleteMemory(scope: MemoryScope, id: string): Observable<boolean> {
|
|
1482
|
+
this.validator.validateMemoryScope(scope);
|
|
1483
|
+
this.validator.assertIsNonEmptyString(id, 'ID must be a non-empty string');
|
|
1484
|
+
|
|
1485
|
+
let success = false;
|
|
1486
|
+
const operationId = uuidv4(); // Generate operationId for the event data
|
|
1487
|
+
|
|
1488
|
+
switch (scope) {
|
|
1489
|
+
case MemoryScope.AGENT:
|
|
1490
|
+
success = this.agentMemory.delete(id);
|
|
1491
|
+
break;
|
|
1492
|
+
case MemoryScope.CHANNEL:
|
|
1493
|
+
success = this.channelMemory.delete(id);
|
|
1494
|
+
break;
|
|
1495
|
+
case MemoryScope.RELATIONSHIP:
|
|
1496
|
+
success = this.relationshipMemory.delete(id);
|
|
1497
|
+
break;
|
|
1498
|
+
}
|
|
1499
|
+
|
|
1500
|
+
// Emit delete event through EventBus
|
|
1501
|
+
const deleteResultData: MemoryDeleteResultEventData = {
|
|
1502
|
+
operationId,
|
|
1503
|
+
scope,
|
|
1504
|
+
id,
|
|
1505
|
+
success
|
|
1506
|
+
};
|
|
1507
|
+
|
|
1508
|
+
// Define standard agentId and channelId for system-level memory events
|
|
1509
|
+
const systemAgentId: AgentId = 'SYSTEM_AGENT'; // Or a more specific system agent ID
|
|
1510
|
+
const noChannelId: ChannelId = 'NO_CHANNEL'; // Or a more specific system channel ID or null if appropriate
|
|
1511
|
+
|
|
1512
|
+
const payload = createMemoryDeleteResultEventPayload(
|
|
1513
|
+
Events.Memory.DELETE_RESULT,
|
|
1514
|
+
systemAgentId,
|
|
1515
|
+
noChannelId,
|
|
1516
|
+
deleteResultData
|
|
1517
|
+
);
|
|
1518
|
+
EventBus.server.emit(Events.Memory.DELETE_RESULT, payload);
|
|
1519
|
+
|
|
1520
|
+
return of(success);
|
|
1521
|
+
}
|
|
1522
|
+
|
|
1523
|
+
/**
|
|
1524
|
+
* Clear all memory of a specific scope
|
|
1525
|
+
* @param scope Memory scope
|
|
1526
|
+
* @returns Observable of success status
|
|
1527
|
+
*/
|
|
1528
|
+
public clearMemory(scope: MemoryScope): Observable<boolean> {
|
|
1529
|
+
this.validator.validateMemoryScope(scope);
|
|
1530
|
+
|
|
1531
|
+
switch (scope) {
|
|
1532
|
+
case MemoryScope.AGENT:
|
|
1533
|
+
this.agentMemory.clear();
|
|
1534
|
+
break;
|
|
1535
|
+
case MemoryScope.CHANNEL:
|
|
1536
|
+
this.channelMemory.clear();
|
|
1537
|
+
break;
|
|
1538
|
+
case MemoryScope.RELATIONSHIP:
|
|
1539
|
+
this.relationshipMemory.clear();
|
|
1540
|
+
break;
|
|
1541
|
+
}
|
|
1542
|
+
|
|
1543
|
+
// Emit clear event through EventBus
|
|
1544
|
+
EventBus.server.emit(Events.Memory.CLEAR_RESULT, {
|
|
1545
|
+
scope,
|
|
1546
|
+
timestamp: Date.now()
|
|
1547
|
+
});
|
|
1548
|
+
|
|
1549
|
+
return of(true);
|
|
1550
|
+
}
|
|
1551
|
+
|
|
1552
|
+
/**
|
|
1553
|
+
* Clear all memory
|
|
1554
|
+
* @returns Observable of success status
|
|
1555
|
+
*/
|
|
1556
|
+
public clearAllMemory(): Observable<boolean> {
|
|
1557
|
+
this.agentMemory.clear();
|
|
1558
|
+
this.channelMemory.clear();
|
|
1559
|
+
this.relationshipMemory.clear();
|
|
1560
|
+
this.generalData.clear();
|
|
1561
|
+
this.cognitiveMemory.clear();
|
|
1562
|
+
|
|
1563
|
+
// Emit clear all event through EventBus
|
|
1564
|
+
EventBus.server.emit(Events.Memory.CLEAR_ALL_RESULT, {
|
|
1565
|
+
timestamp: Date.now()
|
|
1566
|
+
});
|
|
1567
|
+
|
|
1568
|
+
return of(true);
|
|
1569
|
+
}
|
|
1570
|
+
|
|
1571
|
+
/**
|
|
1572
|
+
* Get general key-value data
|
|
1573
|
+
* Used for tool-level key-value storage
|
|
1574
|
+
*/
|
|
1575
|
+
public getGeneralData(key: string): any {
|
|
1576
|
+
return this.generalData.get(key);
|
|
1577
|
+
}
|
|
1578
|
+
|
|
1579
|
+
/**
|
|
1580
|
+
* Set general key-value data
|
|
1581
|
+
* Used for tool-level key-value storage
|
|
1582
|
+
*/
|
|
1583
|
+
public setGeneralData(key: string, value: any): void {
|
|
1584
|
+
this.generalData.set(key, value);
|
|
1585
|
+
}
|
|
1586
|
+
|
|
1587
|
+
/**
|
|
1588
|
+
* Delete general key-value data
|
|
1589
|
+
*/
|
|
1590
|
+
public deleteGeneralData(key: string): boolean {
|
|
1591
|
+
return this.generalData.delete(key);
|
|
1592
|
+
}
|
|
1593
|
+
|
|
1594
|
+
// =========================================================================
|
|
1595
|
+
// Memory Utility Learning System (MULS) Methods
|
|
1596
|
+
// =========================================================================
|
|
1597
|
+
|
|
1598
|
+
/**
|
|
1599
|
+
* Retrieve memories with utility-based scoring (MULS)
|
|
1600
|
+
*
|
|
1601
|
+
* Two-Phase Retrieval:
|
|
1602
|
+
* Phase A: Query semantic search → filter by similarity threshold → take top k1
|
|
1603
|
+
* Phase B: Fetch Q-values → z-score normalize → composite score → return top k2
|
|
1604
|
+
*
|
|
1605
|
+
* @param options Retrieval options including query, phase, and filters
|
|
1606
|
+
* @returns Retrieved memories with utility scoring information
|
|
1607
|
+
*/
|
|
1608
|
+
public async retrieveWithUtility(options: UtilityRetrievalOptions): Promise<UtilityRetrievalResult> {
|
|
1609
|
+
const startTime = Date.now();
|
|
1610
|
+
const qValueManager = QValueManager.getInstance();
|
|
1611
|
+
const utilityScorer = UtilityScorerService.getInstance();
|
|
1612
|
+
|
|
1613
|
+
// If MULS is disabled, return empty result
|
|
1614
|
+
if (!qValueManager.isEnabled()) {
|
|
1615
|
+
return {
|
|
1616
|
+
memories: [],
|
|
1617
|
+
metadata: {
|
|
1618
|
+
query: options.query,
|
|
1619
|
+
phase: options.phase,
|
|
1620
|
+
lambda: 0,
|
|
1621
|
+
totalCandidates: 0,
|
|
1622
|
+
semanticSearchTimeMs: 0,
|
|
1623
|
+
utilityScoringTimeMs: 0,
|
|
1624
|
+
totalTimeMs: Date.now() - startTime
|
|
1625
|
+
}
|
|
1626
|
+
};
|
|
1627
|
+
}
|
|
1628
|
+
|
|
1629
|
+
const semanticSearchStart = Date.now();
|
|
1630
|
+
|
|
1631
|
+
// Phase A: Semantic search to get candidates
|
|
1632
|
+
// This would typically integrate with MxfMeilisearchService
|
|
1633
|
+
// For now, we search cognitive memory as a fallback
|
|
1634
|
+
const candidates: MemoryCandidate[] = [];
|
|
1635
|
+
|
|
1636
|
+
// Search cognitive memory entries matching the query
|
|
1637
|
+
const allCognitiveEntries = Array.from(this.cognitiveMemory.values());
|
|
1638
|
+
for (const entry of allCognitiveEntries) {
|
|
1639
|
+
// Filter by agent/channel if specified
|
|
1640
|
+
if (options.agentId && entry.agentId !== options.agentId) continue;
|
|
1641
|
+
if (options.channelId && entry.channelId !== options.channelId) continue;
|
|
1642
|
+
|
|
1643
|
+
// Simple text similarity for cognitive memory (in production, use Meilisearch)
|
|
1644
|
+
const contentStr = JSON.stringify(entry.content).toLowerCase();
|
|
1645
|
+
const queryWords = options.query.toLowerCase().split(/\s+/);
|
|
1646
|
+
const matchCount = queryWords.filter(word => contentStr.includes(word)).length;
|
|
1647
|
+
const similarity = matchCount / Math.max(queryWords.length, 1);
|
|
1648
|
+
|
|
1649
|
+
// Apply similarity threshold
|
|
1650
|
+
const threshold = options.similarityThreshold ?? 0.3;
|
|
1651
|
+
if (similarity >= threshold) {
|
|
1652
|
+
// Get Q-value from manager or use default
|
|
1653
|
+
const qValue = qValueManager.getQValue(entry.id);
|
|
1654
|
+
|
|
1655
|
+
candidates.push({
|
|
1656
|
+
memoryId: entry.id,
|
|
1657
|
+
similarity,
|
|
1658
|
+
qValue,
|
|
1659
|
+
content: entry.content,
|
|
1660
|
+
metadata: {
|
|
1661
|
+
memoryType: entry.memoryType,
|
|
1662
|
+
labels: entry.labels,
|
|
1663
|
+
createdAt: entry.createdAt
|
|
1664
|
+
}
|
|
1665
|
+
});
|
|
1666
|
+
}
|
|
1667
|
+
}
|
|
1668
|
+
|
|
1669
|
+
const semanticSearchTimeMs = Date.now() - semanticSearchStart;
|
|
1670
|
+
|
|
1671
|
+
// Limit candidates for Phase B
|
|
1672
|
+
const maxCandidates = options.maxCandidates ?? 20;
|
|
1673
|
+
candidates.sort((a, b) => b.similarity - a.similarity);
|
|
1674
|
+
const topCandidates = candidates.slice(0, maxCandidates);
|
|
1675
|
+
|
|
1676
|
+
// Phase B: Utility scoring
|
|
1677
|
+
const utilityScoringStart = Date.now();
|
|
1678
|
+
|
|
1679
|
+
const scoringResult = options.phase
|
|
1680
|
+
? utilityScorer.scoreForPhase(options.query, topCandidates, options.phase)
|
|
1681
|
+
: utilityScorer.scoreMemories(options.query, topCandidates, {
|
|
1682
|
+
lambda: options.lambda,
|
|
1683
|
+
maxResults: options.maxResults,
|
|
1684
|
+
includeBreakdown: options.includeBreakdown
|
|
1685
|
+
});
|
|
1686
|
+
|
|
1687
|
+
const utilityScoringTimeMs = Date.now() - utilityScoringStart;
|
|
1688
|
+
|
|
1689
|
+
// Build result
|
|
1690
|
+
const memories: RetrievedMemoryWithUtility[] = scoringResult.memories.map(scored => ({
|
|
1691
|
+
memoryId: scored.memoryId,
|
|
1692
|
+
content: scored.content,
|
|
1693
|
+
score: scored.finalScore,
|
|
1694
|
+
breakdown: scored.breakdown,
|
|
1695
|
+
metadata: scored.metadata
|
|
1696
|
+
}));
|
|
1697
|
+
|
|
1698
|
+
// Emit retrieval event
|
|
1699
|
+
this.emitUtilityRetrievalEvent(options, memories, scoringResult.stats.lambdaUsed, {
|
|
1700
|
+
semanticSearchTimeMs,
|
|
1701
|
+
utilityScoringTimeMs,
|
|
1702
|
+
totalCandidates: candidates.length
|
|
1703
|
+
});
|
|
1704
|
+
|
|
1705
|
+
return {
|
|
1706
|
+
memories,
|
|
1707
|
+
metadata: {
|
|
1708
|
+
query: options.query,
|
|
1709
|
+
phase: options.phase,
|
|
1710
|
+
lambda: scoringResult.stats.lambdaUsed,
|
|
1711
|
+
totalCandidates: candidates.length,
|
|
1712
|
+
semanticSearchTimeMs,
|
|
1713
|
+
utilityScoringTimeMs,
|
|
1714
|
+
totalTimeMs: Date.now() - startTime
|
|
1715
|
+
}
|
|
1716
|
+
};
|
|
1717
|
+
}
|
|
1718
|
+
|
|
1719
|
+
/**
|
|
1720
|
+
* Track memory usage for reward attribution
|
|
1721
|
+
*
|
|
1722
|
+
* @param taskId The task ID to track usage for
|
|
1723
|
+
* @param memoryIds The memory IDs that were retrieved
|
|
1724
|
+
* @param phase The ORPAR phase when retrieval occurred
|
|
1725
|
+
*/
|
|
1726
|
+
public trackMemoryUsage(taskId: string, memoryIds: string[], phase: OrparPhase): void {
|
|
1727
|
+
const rewardProcessor = RewardSignalProcessor.getInstance();
|
|
1728
|
+
|
|
1729
|
+
if (!rewardProcessor.isEnabled()) {
|
|
1730
|
+
return;
|
|
1731
|
+
}
|
|
1732
|
+
|
|
1733
|
+
rewardProcessor.trackMemoriesUsage(taskId, memoryIds, phase);
|
|
1734
|
+
this.logger.debug(`[MemoryService] Tracked ${memoryIds.length} memories for task ${taskId} (phase=${phase})`);
|
|
1735
|
+
}
|
|
1736
|
+
|
|
1737
|
+
/**
|
|
1738
|
+
* Update Q-value for a specific memory
|
|
1739
|
+
* Used by QValueManager persistence callback
|
|
1740
|
+
*/
|
|
1741
|
+
public async updateMemoryUtility(memoryId: string, utilityUpdate: Partial<MemoryUtilitySubdocument>): Promise<void> {
|
|
1742
|
+
// Find the memory in cognitive memory cache
|
|
1743
|
+
const cognitiveEntry = this.cognitiveMemory.get(memoryId);
|
|
1744
|
+
if (cognitiveEntry) {
|
|
1745
|
+
// Update in-memory cache (cognitive memory doesn't have utility subdoc by default)
|
|
1746
|
+
// For cognitive memory, we just rely on QValueManager's cache
|
|
1747
|
+
return;
|
|
1748
|
+
}
|
|
1749
|
+
|
|
1750
|
+
// For persistent memory, delegate to persistence service
|
|
1751
|
+
if (this.persistenceService) {
|
|
1752
|
+
try {
|
|
1753
|
+
// Update agent memory with utility subdocument
|
|
1754
|
+
// This is a partial update to just the utility field
|
|
1755
|
+
await this.persistenceService.updateAgentMemoryUtility?.(memoryId, utilityUpdate);
|
|
1756
|
+
} catch (error) {
|
|
1757
|
+
this.logger.warn(`[MemoryService] Failed to update utility for memory ${memoryId}: ${error}`);
|
|
1758
|
+
}
|
|
1759
|
+
}
|
|
1760
|
+
}
|
|
1761
|
+
|
|
1762
|
+
/**
|
|
1763
|
+
* Trigger entity extraction from memory content
|
|
1764
|
+
*
|
|
1765
|
+
* Called when memory is stored or promoted to extract entities and relationships
|
|
1766
|
+
* for the Knowledge Graph. Only processes if Knowledge Graph is enabled and
|
|
1767
|
+
* entity extraction is enabled.
|
|
1768
|
+
*
|
|
1769
|
+
* @param channelId - The channel context for the extracted entities
|
|
1770
|
+
* @param memoryId - The memory ID being processed
|
|
1771
|
+
* @param content - The text content to extract entities from
|
|
1772
|
+
*/
|
|
1773
|
+
public async triggerEntityExtraction(
|
|
1774
|
+
channelId: ChannelId,
|
|
1775
|
+
memoryId: string,
|
|
1776
|
+
content: string
|
|
1777
|
+
): Promise<void> {
|
|
1778
|
+
// Check if Knowledge Graph and extraction are enabled
|
|
1779
|
+
if (!isKnowledgeGraphEnabled() || !isExtractionEnabled()) {
|
|
1780
|
+
return;
|
|
1781
|
+
}
|
|
1782
|
+
|
|
1783
|
+
// Skip if content is too short or empty
|
|
1784
|
+
if (!content || content.trim().length < 20) {
|
|
1785
|
+
return;
|
|
1786
|
+
}
|
|
1787
|
+
|
|
1788
|
+
try {
|
|
1789
|
+
const extractionService = EntityExtractionService.getInstance();
|
|
1790
|
+
const result = await extractionService.processMemory(channelId, memoryId, content);
|
|
1791
|
+
|
|
1792
|
+
if (result.entitiesExtracted > 0 || result.relationshipsExtracted > 0) {
|
|
1793
|
+
this.logger.debug(
|
|
1794
|
+
`[MemoryService] Extracted ${result.entitiesExtracted} entities and ` +
|
|
1795
|
+
`${result.relationshipsExtracted} relationships from memory ${memoryId}`
|
|
1796
|
+
);
|
|
1797
|
+
}
|
|
1798
|
+
} catch (error: any) {
|
|
1799
|
+
this.logger.warn(
|
|
1800
|
+
`[MemoryService] Entity extraction failed for memory ${memoryId}: ${error.message}`
|
|
1801
|
+
);
|
|
1802
|
+
}
|
|
1803
|
+
}
|
|
1804
|
+
|
|
1805
|
+
/**
|
|
1806
|
+
* Emit utility retrieval completed event
|
|
1807
|
+
*/
|
|
1808
|
+
private emitUtilityRetrievalEvent(
|
|
1809
|
+
options: UtilityRetrievalOptions,
|
|
1810
|
+
memories: RetrievedMemoryWithUtility[],
|
|
1811
|
+
lambda: number,
|
|
1812
|
+
timing: { semanticSearchTimeMs: number; utilityScoringTimeMs: number; totalCandidates: number }
|
|
1813
|
+
): void {
|
|
1814
|
+
try {
|
|
1815
|
+
EventBus.server.emit(Events.MemoryUtility.UTILITY_RETRIEVAL_COMPLETED, createBaseEventPayload(
|
|
1816
|
+
Events.MemoryUtility.UTILITY_RETRIEVAL_COMPLETED,
|
|
1817
|
+
options.agentId ?? 'system',
|
|
1818
|
+
options.channelId ?? 'global',
|
|
1819
|
+
{
|
|
1820
|
+
query: options.query,
|
|
1821
|
+
phase: options.phase,
|
|
1822
|
+
lambda,
|
|
1823
|
+
totalCandidates: timing.totalCandidates,
|
|
1824
|
+
resultsReturned: memories.length,
|
|
1825
|
+
semanticSearchTimeMs: timing.semanticSearchTimeMs,
|
|
1826
|
+
utilityScoringTimeMs: timing.utilityScoringTimeMs,
|
|
1827
|
+
totalTimeMs: timing.semanticSearchTimeMs + timing.utilityScoringTimeMs,
|
|
1828
|
+
memoryIds: memories.map(m => m.memoryId),
|
|
1829
|
+
agentId: options.agentId,
|
|
1830
|
+
channelId: options.channelId
|
|
1831
|
+
}
|
|
1832
|
+
));
|
|
1833
|
+
} catch (error) {
|
|
1834
|
+
// EventBus may not be available in all contexts
|
|
1835
|
+
this.logger.debug(`[MemoryService] Could not emit utility retrieval event: ${error}`);
|
|
1836
|
+
}
|
|
1837
|
+
}
|
|
1838
|
+
|
|
1839
|
+
private getRelationshipKey(agentId1: string, agentId2: string, channelId?: string): string {
|
|
1840
|
+
const [sortedId1, sortedId2] = [agentId1, agentId2].sort();
|
|
1841
|
+
return channelId ? `${sortedId1}:${sortedId2}:${channelId}` : `${sortedId1}:${sortedId2}`;
|
|
1842
|
+
}
|
|
1843
|
+
|
|
1844
|
+
/**
|
|
1845
|
+
* Compare two data objects to determine if they are equal
|
|
1846
|
+
* Uses deep comparison for objects and arrays
|
|
1847
|
+
*/
|
|
1848
|
+
private isDataEqual(data1: any, data2: any): boolean {
|
|
1849
|
+
// Handle null/undefined cases
|
|
1850
|
+
if (data1 === data2) return true;
|
|
1851
|
+
if (data1 == null || data2 == null) return false;
|
|
1852
|
+
|
|
1853
|
+
// Handle primitive types
|
|
1854
|
+
if (typeof data1 !== 'object' || typeof data2 !== 'object') {
|
|
1855
|
+
return data1 === data2;
|
|
1856
|
+
}
|
|
1857
|
+
|
|
1858
|
+
// Handle arrays
|
|
1859
|
+
if (Array.isArray(data1) && Array.isArray(data2)) {
|
|
1860
|
+
if (data1.length !== data2.length) return false;
|
|
1861
|
+
return data1.every((item, index) => this.isDataEqual(item, data2[index]));
|
|
1862
|
+
}
|
|
1863
|
+
|
|
1864
|
+
// Handle objects
|
|
1865
|
+
if (Array.isArray(data1) || Array.isArray(data2)) return false;
|
|
1866
|
+
|
|
1867
|
+
const keys1 = Object.keys(data1);
|
|
1868
|
+
const keys2 = Object.keys(data2);
|
|
1869
|
+
|
|
1870
|
+
if (keys1.length !== keys2.length) return false;
|
|
1871
|
+
|
|
1872
|
+
return keys1.every(key =>
|
|
1873
|
+
keys2.includes(key) && this.isDataEqual(data1[key], data2[key])
|
|
1874
|
+
);
|
|
1875
|
+
}
|
|
1876
|
+
}
|