@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,1656 @@
|
|
|
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
|
+
* PredictiveAnalyticsService - Phase 6 Advanced Analytics
|
|
22
|
+
*
|
|
23
|
+
* ML-based prediction features including:
|
|
24
|
+
* - Error prediction model
|
|
25
|
+
* - Anomaly detection
|
|
26
|
+
* - Proactive suggestions
|
|
27
|
+
* - Pattern forecasting
|
|
28
|
+
* - Risk scoring
|
|
29
|
+
*/
|
|
30
|
+
import { createBaseEventPayload } from '../schemas/EventPayloadSchema.js';
|
|
31
|
+
import * as os from 'os';
|
|
32
|
+
import { EventEmitter } from 'events';
|
|
33
|
+
import { Logger } from '../utils/Logger.js';
|
|
34
|
+
import { EventBus } from '../events/EventBus.js';
|
|
35
|
+
import { Events } from '../events/EventNames.js';
|
|
36
|
+
import { TensorFlowEvents } from '../events/event-definitions/TensorFlowEvents.js';
|
|
37
|
+
import { createTfInferenceFallbackPayload, } from '../schemas/EventPayloadSchema.js';
|
|
38
|
+
import { PatternLearningService } from './PatternLearningService.js';
|
|
39
|
+
import { MxfMLService } from './MxfMLService.js';
|
|
40
|
+
import { MxfModelType } from '../types/TensorFlowTypes.js';
|
|
41
|
+
import { isTensorFlowEnabled, getTensorFlowConfig } from '../config/tensorflow.config.js';
|
|
42
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
43
|
+
/**
|
|
44
|
+
* Prediction types
|
|
45
|
+
*/
|
|
46
|
+
export var PredictionType;
|
|
47
|
+
(function (PredictionType) {
|
|
48
|
+
PredictionType["ERROR_PROBABILITY"] = "error_probability";
|
|
49
|
+
PredictionType["PARAMETER_VALUE"] = "parameter_value";
|
|
50
|
+
PredictionType["EXECUTION_TIME"] = "execution_time";
|
|
51
|
+
PredictionType["SUCCESS_RATE"] = "success_rate";
|
|
52
|
+
PredictionType["ANOMALY_SCORE"] = "anomaly_score";
|
|
53
|
+
})(PredictionType || (PredictionType = {}));
|
|
54
|
+
/**
|
|
55
|
+
* Model types
|
|
56
|
+
*/
|
|
57
|
+
export var ModelType;
|
|
58
|
+
(function (ModelType) {
|
|
59
|
+
ModelType["RANDOM_FOREST"] = "random_forest";
|
|
60
|
+
ModelType["GRADIENT_BOOSTING"] = "gradient_boosting";
|
|
61
|
+
ModelType["NEURAL_NETWORK"] = "neural_network";
|
|
62
|
+
ModelType["ISOLATION_FOREST"] = "isolation_forest";
|
|
63
|
+
ModelType["LSTM"] = "lstm";
|
|
64
|
+
})(ModelType || (ModelType = {}));
|
|
65
|
+
/** TF.js model ID for the error prediction Dense classifier */
|
|
66
|
+
const TF_ERROR_PREDICTION_MODEL_ID = 'error_prediction';
|
|
67
|
+
/** TF.js model ID for the anomaly detection autoencoder */
|
|
68
|
+
const TF_ANOMALY_AUTOENCODER_MODEL_ID = 'anomaly_autoencoder';
|
|
69
|
+
/** Number of features in the vectorized feature vector */
|
|
70
|
+
const ERROR_PREDICTION_FEATURE_COUNT = 12;
|
|
71
|
+
/**
|
|
72
|
+
* Scale factor for normalizing autoencoder reconstruction error to 0-1 range.
|
|
73
|
+
* Raw MSE is multiplied by this value and clamped to [0, 1].
|
|
74
|
+
* Calibrated so that MSE ≈ 0.08 maps to the existing anomaly threshold of 0.8.
|
|
75
|
+
*/
|
|
76
|
+
const AUTOENCODER_ANOMALY_SCALE_FACTOR = 10;
|
|
77
|
+
/**
|
|
78
|
+
* Predictive Analytics Service
|
|
79
|
+
*/
|
|
80
|
+
export class PredictiveAnalyticsService extends EventEmitter {
|
|
81
|
+
logger;
|
|
82
|
+
// Service dependencies
|
|
83
|
+
patternLearningService;
|
|
84
|
+
// TF.js error prediction model state
|
|
85
|
+
// When TF.js is enabled and the model is trained, predict() uses MxfMLService.
|
|
86
|
+
// Otherwise falls back to the heuristic runModel().
|
|
87
|
+
tfErrorPredictionReady = false;
|
|
88
|
+
// TF.js anomaly detection autoencoder state
|
|
89
|
+
// When TF.js is enabled and the autoencoder is trained, anomaly detection
|
|
90
|
+
// uses reconstruction error from MxfMLService.predictWithReconstruction().
|
|
91
|
+
// Otherwise falls back to the heuristic distance-based isolation score.
|
|
92
|
+
tfAnomalyAutoencoderReady = false;
|
|
93
|
+
// Models (simplified in-memory implementation)
|
|
94
|
+
models = new Map();
|
|
95
|
+
modelMetadata = new Map();
|
|
96
|
+
// Training data
|
|
97
|
+
trainingData = [];
|
|
98
|
+
// Prediction cache
|
|
99
|
+
predictionCache = new Map();
|
|
100
|
+
// Anomaly detection
|
|
101
|
+
anomalyThresholds = {
|
|
102
|
+
parameter: 0.8,
|
|
103
|
+
behavior: 0.85,
|
|
104
|
+
performance: 0.9,
|
|
105
|
+
pattern: 0.75
|
|
106
|
+
};
|
|
107
|
+
// Configuration
|
|
108
|
+
config = {
|
|
109
|
+
enableRealTimePrediction: true,
|
|
110
|
+
enableAnomalyDetection: true,
|
|
111
|
+
enableProactiveSuggestions: true,
|
|
112
|
+
minTrainingDataSize: 100,
|
|
113
|
+
retrainInterval: 3600000, // 1 hour
|
|
114
|
+
predictionCacheTTL: 300000, // 5 minutes
|
|
115
|
+
maxTrainingDataSize: 10000
|
|
116
|
+
};
|
|
117
|
+
// Metrics
|
|
118
|
+
metrics = {
|
|
119
|
+
predictionsMade: 0,
|
|
120
|
+
anomaliesDetected: 0,
|
|
121
|
+
suggestionsGenerated: 0,
|
|
122
|
+
modelRetrains: 0,
|
|
123
|
+
averagePredictionTime: 0,
|
|
124
|
+
predictionAccuracy: 0
|
|
125
|
+
};
|
|
126
|
+
retrainInterval;
|
|
127
|
+
static instance;
|
|
128
|
+
constructor() {
|
|
129
|
+
super();
|
|
130
|
+
this.logger = new Logger('info', 'PredictiveAnalyticsService', 'server');
|
|
131
|
+
// Initialize service dependencies
|
|
132
|
+
this.patternLearningService = PatternLearningService.getInstance();
|
|
133
|
+
this.initializeModels();
|
|
134
|
+
this.setupEventListeners();
|
|
135
|
+
this.startRetrainSchedule();
|
|
136
|
+
// TF.js model initialization is deferred to initializeTensorFlowModels().
|
|
137
|
+
// This service is instantiated at module load time (via validationAnalyticsController),
|
|
138
|
+
// which runs BEFORE MxfMLService.initialize() in server Step 2.8.
|
|
139
|
+
// The server calls initializeTensorFlowModels() after MxfMLService is ready.
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Get singleton instance
|
|
143
|
+
*/
|
|
144
|
+
static getInstance() {
|
|
145
|
+
if (!PredictiveAnalyticsService.instance) {
|
|
146
|
+
PredictiveAnalyticsService.instance = new PredictiveAnalyticsService();
|
|
147
|
+
}
|
|
148
|
+
return PredictiveAnalyticsService.instance;
|
|
149
|
+
}
|
|
150
|
+
// =============================================================================
|
|
151
|
+
// TF.JS DEFERRED INITIALIZATION
|
|
152
|
+
// =============================================================================
|
|
153
|
+
/**
|
|
154
|
+
* Initialize TF.js models after MxfMLService is ready.
|
|
155
|
+
*
|
|
156
|
+
* Called from server/index.ts after Step 2.8 (MxfMLService.initialize()).
|
|
157
|
+
* This service is instantiated at module load time (before Step 2.8),
|
|
158
|
+
* so TF model registration must be deferred to this explicit call.
|
|
159
|
+
*
|
|
160
|
+
* Registers and builds both the error prediction Dense classifier and the
|
|
161
|
+
* anomaly detection autoencoder. If either fails, the heuristic fallbacks
|
|
162
|
+
* continue to serve predictions.
|
|
163
|
+
*/
|
|
164
|
+
async initializeTensorFlowModels() {
|
|
165
|
+
if (!isTensorFlowEnabled()) {
|
|
166
|
+
this.logger.debug('[PredictiveAnalyticsService] TensorFlow.js disabled, skipping TF model initialization');
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
const mlService = MxfMLService.getInstance();
|
|
170
|
+
if (!mlService.isEnabled()) {
|
|
171
|
+
this.logger.warn('[PredictiveAnalyticsService] MxfMLService not enabled after Step 2.8, ' +
|
|
172
|
+
'TF models will not be registered');
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
// Initialize error prediction Dense classifier
|
|
176
|
+
try {
|
|
177
|
+
await this.initializeTfErrorPrediction();
|
|
178
|
+
}
|
|
179
|
+
catch (error) {
|
|
180
|
+
this.logger.warn(`[PredictiveAnalyticsService] TF.js error prediction init failed, ` +
|
|
181
|
+
`using heuristic fallback: ${error instanceof Error ? error.message : String(error)}`);
|
|
182
|
+
}
|
|
183
|
+
// Initialize anomaly detection autoencoder
|
|
184
|
+
try {
|
|
185
|
+
await this.initializeTfAnomalyAutoencoder();
|
|
186
|
+
}
|
|
187
|
+
catch (error) {
|
|
188
|
+
this.logger.warn(`[PredictiveAnalyticsService] TF.js anomaly autoencoder init failed, ` +
|
|
189
|
+
`using heuristic fallback: ${error instanceof Error ? error.message : String(error)}`);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
// =============================================================================
|
|
193
|
+
// TF.JS ERROR PREDICTION MODEL SETUP
|
|
194
|
+
// =============================================================================
|
|
195
|
+
/**
|
|
196
|
+
* Initialize TF.js error prediction model.
|
|
197
|
+
*
|
|
198
|
+
* Registers, builds, and optionally loads a Dense(12→32→16→1) binary
|
|
199
|
+
* classifier with MxfMLService. The model uses binary cross-entropy loss
|
|
200
|
+
* and sigmoid output for error probability prediction.
|
|
201
|
+
*
|
|
202
|
+
* Architecture: input(12) → Dense(32, relu) → Dense(16, relu) → Dense(1, sigmoid)
|
|
203
|
+
*
|
|
204
|
+
* If a previously trained model exists in storage (GridFS), it is loaded
|
|
205
|
+
* automatically. Otherwise the model starts untrained and waits for enough
|
|
206
|
+
* training data (100 samples) before the first training run.
|
|
207
|
+
*/
|
|
208
|
+
async initializeTfErrorPrediction() {
|
|
209
|
+
const mlService = MxfMLService.getInstance();
|
|
210
|
+
if (!mlService.isEnabled()) {
|
|
211
|
+
this.logger.debug('[PredictiveAnalyticsService] MxfMLService not enabled, skipping TF.js model setup');
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
// Register the error prediction model configuration
|
|
215
|
+
mlService.registerModel({
|
|
216
|
+
modelId: TF_ERROR_PREDICTION_MODEL_ID,
|
|
217
|
+
type: MxfModelType.DENSE_CLASSIFIER,
|
|
218
|
+
inputShape: [ERROR_PREDICTION_FEATURE_COUNT],
|
|
219
|
+
outputShape: [1],
|
|
220
|
+
minTrainingSamples: 100,
|
|
221
|
+
batchSize: 32,
|
|
222
|
+
epochs: 10,
|
|
223
|
+
validationSplit: 0.2,
|
|
224
|
+
learningRate: 0.001,
|
|
225
|
+
autoTrain: true,
|
|
226
|
+
retrainIntervalMs: this.config.retrainInterval,
|
|
227
|
+
hyperparameters: {
|
|
228
|
+
architecture: 'dense(12)->dense(32,relu)->dense(16,relu)->dense(1,sigmoid)',
|
|
229
|
+
loss: 'binaryCrossentropy',
|
|
230
|
+
optimizer: 'adam',
|
|
231
|
+
},
|
|
232
|
+
});
|
|
233
|
+
// Build the Dense(12→32→16→1) model
|
|
234
|
+
await mlService.buildSequentialModel(TF_ERROR_PREDICTION_MODEL_ID, (tf) => {
|
|
235
|
+
const model = tf.sequential();
|
|
236
|
+
model.add(tf.layers.dense({
|
|
237
|
+
units: 32,
|
|
238
|
+
activation: 'relu',
|
|
239
|
+
inputShape: [ERROR_PREDICTION_FEATURE_COUNT],
|
|
240
|
+
}));
|
|
241
|
+
model.add(tf.layers.dense({
|
|
242
|
+
units: 16,
|
|
243
|
+
activation: 'relu',
|
|
244
|
+
}));
|
|
245
|
+
model.add(tf.layers.dense({
|
|
246
|
+
units: 1,
|
|
247
|
+
activation: 'sigmoid',
|
|
248
|
+
}));
|
|
249
|
+
model.compile({
|
|
250
|
+
optimizer: tf.train.adam(0.001),
|
|
251
|
+
loss: 'binaryCrossentropy',
|
|
252
|
+
metrics: ['accuracy'],
|
|
253
|
+
});
|
|
254
|
+
return model;
|
|
255
|
+
});
|
|
256
|
+
// Try to load a previously saved model from storage
|
|
257
|
+
const loaded = await mlService.loadModel(TF_ERROR_PREDICTION_MODEL_ID);
|
|
258
|
+
if (loaded) {
|
|
259
|
+
this.tfErrorPredictionReady = true;
|
|
260
|
+
this.logger.info('[PredictiveAnalyticsService] Loaded pre-trained TF.js error prediction model');
|
|
261
|
+
}
|
|
262
|
+
else {
|
|
263
|
+
this.logger.info('[PredictiveAnalyticsService] TF.js error prediction model built (untrained, ' +
|
|
264
|
+
'will train when 100+ samples collected)');
|
|
265
|
+
}
|
|
266
|
+
// Schedule automatic retraining with MxfMLService
|
|
267
|
+
const config = getTensorFlowConfig();
|
|
268
|
+
if (config.autoTrainEnabled) {
|
|
269
|
+
mlService.scheduleRetrain(TF_ERROR_PREDICTION_MODEL_ID, async () => {
|
|
270
|
+
await this.trainErrorPredictionModel();
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
// =============================================================================
|
|
275
|
+
// TF.JS ANOMALY DETECTION AUTOENCODER SETUP
|
|
276
|
+
// =============================================================================
|
|
277
|
+
/**
|
|
278
|
+
* Initialize TF.js anomaly detection autoencoder.
|
|
279
|
+
*
|
|
280
|
+
* Registers, builds, and optionally loads an autoencoder with MxfMLService.
|
|
281
|
+
* The autoencoder learns to reconstruct the 12-element feature vector;
|
|
282
|
+
* anomalies are inputs that reconstruct poorly (high MSE).
|
|
283
|
+
*
|
|
284
|
+
* Architecture: input(12) → Dense(8, relu) → Dense(4, relu) → Dense(8, relu) → Dense(12, linear)
|
|
285
|
+
* - Encoder: 12 → 8 → 4 (bottleneck)
|
|
286
|
+
* - Decoder: 4 → 8 → 12 (reconstruction)
|
|
287
|
+
* - Loss: MSE (mean squared error)
|
|
288
|
+
* - Optimizer: Adam(lr=0.001)
|
|
289
|
+
*
|
|
290
|
+
* Unsupervised training: trains on ALL feature vectors (input = output).
|
|
291
|
+
* Normal patterns are learned; anomalies produce high reconstruction error.
|
|
292
|
+
*/
|
|
293
|
+
async initializeTfAnomalyAutoencoder() {
|
|
294
|
+
const mlService = MxfMLService.getInstance();
|
|
295
|
+
if (!mlService.isEnabled()) {
|
|
296
|
+
this.logger.debug('[PredictiveAnalyticsService] MxfMLService not enabled, skipping anomaly autoencoder setup');
|
|
297
|
+
return;
|
|
298
|
+
}
|
|
299
|
+
// Register the anomaly autoencoder model configuration
|
|
300
|
+
mlService.registerModel({
|
|
301
|
+
modelId: TF_ANOMALY_AUTOENCODER_MODEL_ID,
|
|
302
|
+
type: MxfModelType.AUTOENCODER,
|
|
303
|
+
inputShape: [ERROR_PREDICTION_FEATURE_COUNT],
|
|
304
|
+
outputShape: [ERROR_PREDICTION_FEATURE_COUNT],
|
|
305
|
+
minTrainingSamples: 100,
|
|
306
|
+
batchSize: 32,
|
|
307
|
+
epochs: 20,
|
|
308
|
+
validationSplit: 0.1,
|
|
309
|
+
learningRate: 0.001,
|
|
310
|
+
autoTrain: true,
|
|
311
|
+
retrainIntervalMs: this.config.retrainInterval,
|
|
312
|
+
hyperparameters: {
|
|
313
|
+
architecture: 'dense(12)->dense(8,relu)->dense(4,relu)->dense(8,relu)->dense(12,linear)',
|
|
314
|
+
loss: 'meanSquaredError',
|
|
315
|
+
optimizer: 'adam',
|
|
316
|
+
bottleneckSize: 4,
|
|
317
|
+
},
|
|
318
|
+
});
|
|
319
|
+
// Build the autoencoder: encoder(12→8→4) + decoder(4→8→12)
|
|
320
|
+
await mlService.buildSequentialModel(TF_ANOMALY_AUTOENCODER_MODEL_ID, (tf) => {
|
|
321
|
+
const model = tf.sequential();
|
|
322
|
+
// Encoder
|
|
323
|
+
model.add(tf.layers.dense({
|
|
324
|
+
units: 8,
|
|
325
|
+
activation: 'relu',
|
|
326
|
+
inputShape: [ERROR_PREDICTION_FEATURE_COUNT],
|
|
327
|
+
}));
|
|
328
|
+
model.add(tf.layers.dense({
|
|
329
|
+
units: 4,
|
|
330
|
+
activation: 'relu',
|
|
331
|
+
}));
|
|
332
|
+
// Decoder
|
|
333
|
+
model.add(tf.layers.dense({
|
|
334
|
+
units: 8,
|
|
335
|
+
activation: 'relu',
|
|
336
|
+
}));
|
|
337
|
+
model.add(tf.layers.dense({
|
|
338
|
+
units: ERROR_PREDICTION_FEATURE_COUNT,
|
|
339
|
+
activation: 'linear',
|
|
340
|
+
}));
|
|
341
|
+
model.compile({
|
|
342
|
+
optimizer: tf.train.adam(0.001),
|
|
343
|
+
loss: 'meanSquaredError',
|
|
344
|
+
});
|
|
345
|
+
return model;
|
|
346
|
+
});
|
|
347
|
+
// Try to load a previously saved model from storage
|
|
348
|
+
const loaded = await mlService.loadModel(TF_ANOMALY_AUTOENCODER_MODEL_ID);
|
|
349
|
+
if (loaded) {
|
|
350
|
+
this.tfAnomalyAutoencoderReady = true;
|
|
351
|
+
this.logger.info('[PredictiveAnalyticsService] Loaded pre-trained TF.js anomaly autoencoder model');
|
|
352
|
+
}
|
|
353
|
+
else {
|
|
354
|
+
this.logger.info('[PredictiveAnalyticsService] TF.js anomaly autoencoder model built (untrained, ' +
|
|
355
|
+
'will train when 100+ samples collected)');
|
|
356
|
+
}
|
|
357
|
+
// Schedule automatic retraining with MxfMLService
|
|
358
|
+
const config = getTensorFlowConfig();
|
|
359
|
+
if (config.autoTrainEnabled) {
|
|
360
|
+
mlService.scheduleRetrain(TF_ANOMALY_AUTOENCODER_MODEL_ID, async () => {
|
|
361
|
+
await this.trainAnomalyDetectionModel();
|
|
362
|
+
});
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
// =============================================================================
|
|
366
|
+
// ERROR PREDICTION
|
|
367
|
+
// =============================================================================
|
|
368
|
+
/**
|
|
369
|
+
* Predict error probability
|
|
370
|
+
*/
|
|
371
|
+
async predictErrors(agentId, channelId, toolName, parameters) {
|
|
372
|
+
const startTime = Date.now();
|
|
373
|
+
const cacheKey = this.generateCacheKey('error', agentId, toolName, parameters);
|
|
374
|
+
// Check cache
|
|
375
|
+
const cached = this.predictionCache.get(cacheKey);
|
|
376
|
+
if (cached && Date.now() - cached.timestamp < this.config.predictionCacheTTL) {
|
|
377
|
+
return cached;
|
|
378
|
+
}
|
|
379
|
+
// Extract features
|
|
380
|
+
const features = await this.extractFeatures(agentId, channelId, toolName, parameters);
|
|
381
|
+
// Get prediction — use TF.js model if available, otherwise heuristic
|
|
382
|
+
const prediction = this.runErrorPrediction(agentId, channelId, features);
|
|
383
|
+
// Report model type based on which prediction path was used
|
|
384
|
+
const usedTfModel = prediction.source === 'model';
|
|
385
|
+
const modelMeta = this.modelMetadata.get('error_prediction');
|
|
386
|
+
const result = {
|
|
387
|
+
predictionId: uuidv4(),
|
|
388
|
+
type: PredictionType.ERROR_PROBABILITY,
|
|
389
|
+
timestamp: Date.now(),
|
|
390
|
+
prediction: {
|
|
391
|
+
value: prediction.probability,
|
|
392
|
+
confidence: prediction.confidence,
|
|
393
|
+
explanation: this.generateExplanation(features)
|
|
394
|
+
},
|
|
395
|
+
features,
|
|
396
|
+
model: {
|
|
397
|
+
type: usedTfModel ? ModelType.NEURAL_NETWORK : ModelType.GRADIENT_BOOSTING,
|
|
398
|
+
version: modelMeta?.version || '1.0',
|
|
399
|
+
accuracy: modelMeta?.accuracy ?? null
|
|
400
|
+
}
|
|
401
|
+
};
|
|
402
|
+
// Cache result
|
|
403
|
+
this.predictionCache.set(cacheKey, result);
|
|
404
|
+
// Update metrics
|
|
405
|
+
this.metrics.predictionsMade++;
|
|
406
|
+
this.updatePredictionTime(Date.now() - startTime);
|
|
407
|
+
// Emit prediction event
|
|
408
|
+
this.emit('prediction_made', result);
|
|
409
|
+
if (prediction.probability > 0.7) {
|
|
410
|
+
EventBus.server.emit(Events.Analytics.HIGH_ERROR_RISK_PREDICTED, createBaseEventPayload(Events.Analytics.HIGH_ERROR_RISK_PREDICTED, agentId, channelId, {
|
|
411
|
+
predictionId: result.predictionId,
|
|
412
|
+
agentId,
|
|
413
|
+
channelId,
|
|
414
|
+
toolName,
|
|
415
|
+
riskScore: prediction.probability,
|
|
416
|
+
details: { importantFeatures: prediction.importantFeatures, source: prediction.source },
|
|
417
|
+
timestamp: new Date()
|
|
418
|
+
}));
|
|
419
|
+
}
|
|
420
|
+
return result;
|
|
421
|
+
}
|
|
422
|
+
/**
|
|
423
|
+
* Extract features for prediction
|
|
424
|
+
*/
|
|
425
|
+
async extractFeatures(agentId, channelId, toolName, parameters) {
|
|
426
|
+
// Get agent metrics
|
|
427
|
+
const agentMetrics = await this.getAgentMetrics(agentId);
|
|
428
|
+
// Get tool complexity
|
|
429
|
+
const toolComplexity = this.calculateToolComplexity(toolName);
|
|
430
|
+
// Get system context
|
|
431
|
+
const systemContext = this.getSystemContext();
|
|
432
|
+
// Get pattern match score
|
|
433
|
+
const patternMatch = await this.calculatePatternMatch(toolName, parameters);
|
|
434
|
+
const features = {
|
|
435
|
+
// Tool features
|
|
436
|
+
toolName,
|
|
437
|
+
toolCategory: this.categorizeTool(toolName),
|
|
438
|
+
toolComplexity,
|
|
439
|
+
// Parameter features
|
|
440
|
+
parameterCount: Object.keys(parameters).length,
|
|
441
|
+
parameterTypes: Object.values(parameters).map(v => typeof v),
|
|
442
|
+
parameterPatternMatch: patternMatch,
|
|
443
|
+
// Agent features
|
|
444
|
+
agentType: agentId.split('-')[0],
|
|
445
|
+
agentExperience: agentMetrics.successfulCalls,
|
|
446
|
+
agentErrorRate: agentMetrics.errorRate,
|
|
447
|
+
// Context features
|
|
448
|
+
timeOfDay: new Date().getHours(),
|
|
449
|
+
dayOfWeek: new Date().getDay(),
|
|
450
|
+
systemLoad: systemContext.load,
|
|
451
|
+
concurrentRequests: systemContext.concurrentRequests,
|
|
452
|
+
// Historical features
|
|
453
|
+
recentErrors: agentMetrics.recentErrors,
|
|
454
|
+
recentSuccesses: agentMetrics.recentSuccesses,
|
|
455
|
+
averageLatency: agentMetrics.averageLatency
|
|
456
|
+
};
|
|
457
|
+
return features;
|
|
458
|
+
}
|
|
459
|
+
/**
|
|
460
|
+
* Run error prediction, dispatching to TF.js model or heuristic fallback.
|
|
461
|
+
*
|
|
462
|
+
* When TF.js is enabled and the model is trained, runs inference via MxfMLService.predict().
|
|
463
|
+
* The model outputs a single sigmoid value [0, 1] representing error probability.
|
|
464
|
+
* Confidence is derived from model training metrics (validation accuracy).
|
|
465
|
+
*
|
|
466
|
+
* When TF.js is unavailable or the model is untrained, falls back to the
|
|
467
|
+
* rule-based heuristic that uses feature thresholds.
|
|
468
|
+
*
|
|
469
|
+
* @returns Prediction with probability, confidence, source, and important features
|
|
470
|
+
*/
|
|
471
|
+
runErrorPrediction(agentId, channelId, features) {
|
|
472
|
+
// Try TF.js model first
|
|
473
|
+
if (this.tfErrorPredictionReady) {
|
|
474
|
+
try {
|
|
475
|
+
const mlService = MxfMLService.getInstance();
|
|
476
|
+
const featureArray = this.vectorizeFeatures(features);
|
|
477
|
+
const result = mlService.predict(TF_ERROR_PREDICTION_MODEL_ID, featureArray);
|
|
478
|
+
// The model outputs a single sigmoid value (error probability)
|
|
479
|
+
const probability = Math.max(0, Math.min(1, result.values[0]));
|
|
480
|
+
// Confidence from model training metrics (validation accuracy, or default 0.8)
|
|
481
|
+
const modelEntry = mlService.getModel(TF_ERROR_PREDICTION_MODEL_ID);
|
|
482
|
+
const confidence = modelEntry?.lastTrainingMetrics?.valAccuracy
|
|
483
|
+
?? modelEntry?.lastTrainingMetrics?.accuracy
|
|
484
|
+
?? 0.8;
|
|
485
|
+
return {
|
|
486
|
+
probability,
|
|
487
|
+
confidence,
|
|
488
|
+
source: 'model',
|
|
489
|
+
importantFeatures: ['toolComplexity', 'agentExperience', 'parameterPatternMatch'],
|
|
490
|
+
};
|
|
491
|
+
}
|
|
492
|
+
catch (error) {
|
|
493
|
+
// TF.js prediction failed — emit fallback event and use heuristic
|
|
494
|
+
this.logger.warn(`[PredictiveAnalyticsService] TF.js prediction failed, using heuristic: ` +
|
|
495
|
+
`${error instanceof Error ? error.message : String(error)}`);
|
|
496
|
+
try {
|
|
497
|
+
EventBus.server.emit(TensorFlowEvents.INFERENCE_FALLBACK, createTfInferenceFallbackPayload(channelId, agentId, TF_ERROR_PREDICTION_MODEL_ID, 'error', error instanceof Error ? error.message : 'prediction_error'));
|
|
498
|
+
}
|
|
499
|
+
catch {
|
|
500
|
+
// Swallow event emission errors
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
// Fall back to heuristic prediction
|
|
505
|
+
return this.runHeuristicPrediction(agentId, channelId, features);
|
|
506
|
+
}
|
|
507
|
+
/**
|
|
508
|
+
* Heuristic error prediction using rule-based feature thresholds.
|
|
509
|
+
*
|
|
510
|
+
* This is the original prediction logic that serves as the graceful
|
|
511
|
+
* degradation fallback when TF.js is disabled, the model is untrained,
|
|
512
|
+
* or inference fails. Uses hand-tuned thresholds on the 12-feature vector.
|
|
513
|
+
*/
|
|
514
|
+
runHeuristicPrediction(agentId, channelId, features) {
|
|
515
|
+
// Base error rate: 10%
|
|
516
|
+
let probability = 0.1;
|
|
517
|
+
// High complexity tools have higher error rates
|
|
518
|
+
if (features.toolComplexity > 0.7)
|
|
519
|
+
probability += 0.2;
|
|
520
|
+
// New agents have higher error rates
|
|
521
|
+
if (features.agentExperience < 10)
|
|
522
|
+
probability += 0.15;
|
|
523
|
+
// High system load increases errors
|
|
524
|
+
if (features.systemLoad > 0.8)
|
|
525
|
+
probability += 0.1;
|
|
526
|
+
// Many parameters increase complexity
|
|
527
|
+
if (features.parameterCount > 5)
|
|
528
|
+
probability += 0.1;
|
|
529
|
+
// Pattern mismatch increases errors
|
|
530
|
+
if (features.parameterPatternMatch < 0.5)
|
|
531
|
+
probability += 0.2;
|
|
532
|
+
// Recent errors indicate ongoing issues
|
|
533
|
+
if (features.recentErrors > 5)
|
|
534
|
+
probability += 0.15;
|
|
535
|
+
// Cap probability
|
|
536
|
+
probability = Math.min(0.95, probability);
|
|
537
|
+
// Calculate confidence based on data availability
|
|
538
|
+
const confidence = features.agentExperience > 50 ? 0.85 : 0.6;
|
|
539
|
+
// Emit fallback event when TF.js is enabled but model isn't ready
|
|
540
|
+
if (isTensorFlowEnabled() && !this.tfErrorPredictionReady) {
|
|
541
|
+
try {
|
|
542
|
+
EventBus.server.emit(TensorFlowEvents.INFERENCE_FALLBACK, createTfInferenceFallbackPayload(channelId, agentId, TF_ERROR_PREDICTION_MODEL_ID, 'untrained'));
|
|
543
|
+
}
|
|
544
|
+
catch {
|
|
545
|
+
// Swallow event emission errors
|
|
546
|
+
}
|
|
547
|
+
}
|
|
548
|
+
return {
|
|
549
|
+
probability,
|
|
550
|
+
confidence,
|
|
551
|
+
source: 'heuristic',
|
|
552
|
+
importantFeatures: ['toolComplexity', 'agentExperience', 'parameterPatternMatch'],
|
|
553
|
+
};
|
|
554
|
+
}
|
|
555
|
+
/**
|
|
556
|
+
* Generate explanation for prediction
|
|
557
|
+
*/
|
|
558
|
+
generateExplanation(features) {
|
|
559
|
+
const factors = [];
|
|
560
|
+
if (features.toolComplexity > 0.7) {
|
|
561
|
+
factors.push('high tool complexity');
|
|
562
|
+
}
|
|
563
|
+
if (features.agentExperience < 10) {
|
|
564
|
+
factors.push('limited agent experience');
|
|
565
|
+
}
|
|
566
|
+
if (features.parameterPatternMatch < 0.5) {
|
|
567
|
+
factors.push('unusual parameter pattern');
|
|
568
|
+
}
|
|
569
|
+
if (features.recentErrors > 5) {
|
|
570
|
+
factors.push('recent error history');
|
|
571
|
+
}
|
|
572
|
+
if (factors.length === 0) {
|
|
573
|
+
return 'Low error risk based on normal patterns';
|
|
574
|
+
}
|
|
575
|
+
return `Elevated error risk due to: ${factors.join(', ')}`;
|
|
576
|
+
}
|
|
577
|
+
// =============================================================================
|
|
578
|
+
// ANOMALY DETECTION
|
|
579
|
+
// =============================================================================
|
|
580
|
+
/**
|
|
581
|
+
* Detect anomalies
|
|
582
|
+
*/
|
|
583
|
+
async detectAnomalies(agentId, channelId, toolName, parameters, executionMetrics) {
|
|
584
|
+
const anomalies = [];
|
|
585
|
+
if (!this.config.enableAnomalyDetection)
|
|
586
|
+
return anomalies;
|
|
587
|
+
// Parameter anomalies
|
|
588
|
+
const parameterAnomaly = await this.detectParameterAnomaly(agentId, channelId, toolName, parameters);
|
|
589
|
+
if (parameterAnomaly)
|
|
590
|
+
anomalies.push(parameterAnomaly);
|
|
591
|
+
// Behavioral anomalies
|
|
592
|
+
const behaviorAnomaly = await this.detectBehaviorAnomaly(agentId, toolName);
|
|
593
|
+
if (behaviorAnomaly)
|
|
594
|
+
anomalies.push(behaviorAnomaly);
|
|
595
|
+
// Performance anomalies
|
|
596
|
+
if (executionMetrics?.latency) {
|
|
597
|
+
const performanceAnomaly = await this.detectPerformanceAnomaly(toolName, executionMetrics.latency);
|
|
598
|
+
if (performanceAnomaly)
|
|
599
|
+
anomalies.push(performanceAnomaly);
|
|
600
|
+
}
|
|
601
|
+
// Pattern anomalies
|
|
602
|
+
const patternAnomaly = await this.detectPatternAnomaly(agentId, channelId, toolName, parameters);
|
|
603
|
+
if (patternAnomaly)
|
|
604
|
+
anomalies.push(patternAnomaly);
|
|
605
|
+
// Update metrics
|
|
606
|
+
this.metrics.anomaliesDetected += anomalies.length;
|
|
607
|
+
// Emit anomaly events
|
|
608
|
+
for (const anomaly of anomalies) {
|
|
609
|
+
this.emit('anomaly_detected', anomaly);
|
|
610
|
+
if (anomaly.severity === 'critical' || anomaly.severity === 'high') {
|
|
611
|
+
EventBus.server.emit(Events.Analytics.ANOMALY_DETECTED, createBaseEventPayload(Events.Analytics.ANOMALY_DETECTED, agentId, channelId, {
|
|
612
|
+
anomalyId: anomaly.anomalyId,
|
|
613
|
+
type: anomaly.type,
|
|
614
|
+
severity: anomaly.severity,
|
|
615
|
+
description: anomaly.description,
|
|
616
|
+
metrics: { ...anomaly.context, score: anomaly.score, toolName },
|
|
617
|
+
timestamp: new Date()
|
|
618
|
+
}));
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
return anomalies;
|
|
622
|
+
}
|
|
623
|
+
/**
|
|
624
|
+
* Detect parameter anomalies.
|
|
625
|
+
*
|
|
626
|
+
* When TF.js autoencoder is trained, uses reconstruction error as the
|
|
627
|
+
* anomaly score. Otherwise falls back to heuristic distance-based
|
|
628
|
+
* isolation scoring against historical parameter patterns.
|
|
629
|
+
*/
|
|
630
|
+
async detectParameterAnomaly(agentId, channelId, toolName, parameters) {
|
|
631
|
+
// Get historical parameter patterns (used by heuristic fallback)
|
|
632
|
+
const patterns = await this.getParameterPatterns(toolName);
|
|
633
|
+
// Calculate anomaly score — dispatches to TF.js autoencoder or heuristic
|
|
634
|
+
const score = await this.runParameterAnomalyDetection(agentId, channelId, toolName, parameters, patterns);
|
|
635
|
+
if (score > this.anomalyThresholds.parameter) {
|
|
636
|
+
return {
|
|
637
|
+
anomalyId: uuidv4(),
|
|
638
|
+
timestamp: Date.now(),
|
|
639
|
+
score,
|
|
640
|
+
type: 'parameter',
|
|
641
|
+
description: `Unusual parameter combination for ${toolName}`,
|
|
642
|
+
context: { toolName, parameters },
|
|
643
|
+
severity: score > 0.9 ? 'high' : 'medium',
|
|
644
|
+
suggestedAction: 'Review parameter values and validate against expected patterns'
|
|
645
|
+
};
|
|
646
|
+
}
|
|
647
|
+
return null;
|
|
648
|
+
}
|
|
649
|
+
/**
|
|
650
|
+
* Detect behavioral anomalies
|
|
651
|
+
*/
|
|
652
|
+
async detectBehaviorAnomaly(agentId, toolName) {
|
|
653
|
+
// Get agent's typical behavior
|
|
654
|
+
const typicalBehavior = await this.getAgentBehavior(agentId);
|
|
655
|
+
// Check for unusual tool usage
|
|
656
|
+
if (!typicalBehavior.commonTools.includes(toolName)) {
|
|
657
|
+
const score = 0.85; // Fixed score for new tool usage
|
|
658
|
+
return {
|
|
659
|
+
anomalyId: uuidv4(),
|
|
660
|
+
timestamp: Date.now(),
|
|
661
|
+
score,
|
|
662
|
+
type: 'behavior',
|
|
663
|
+
description: `Agent ${agentId} using unfamiliar tool ${toolName}`,
|
|
664
|
+
context: { agentId, toolName, typicalTools: typicalBehavior.commonTools },
|
|
665
|
+
severity: 'low',
|
|
666
|
+
suggestedAction: 'Monitor for potential errors with unfamiliar tool'
|
|
667
|
+
};
|
|
668
|
+
}
|
|
669
|
+
return null;
|
|
670
|
+
}
|
|
671
|
+
/**
|
|
672
|
+
* Detect performance anomalies
|
|
673
|
+
*/
|
|
674
|
+
async detectPerformanceAnomaly(toolName, latency) {
|
|
675
|
+
// Get historical performance data
|
|
676
|
+
const perfData = await this.getPerformanceHistory(toolName);
|
|
677
|
+
// Calculate z-score
|
|
678
|
+
const mean = perfData.avgLatency;
|
|
679
|
+
const stdDev = perfData.stdDevLatency;
|
|
680
|
+
const zScore = Math.abs((latency - mean) / stdDev);
|
|
681
|
+
// Convert to anomaly score (0-1)
|
|
682
|
+
const score = Math.min(1, zScore / 4); // 4 sigma = score of 1
|
|
683
|
+
if (score > this.anomalyThresholds.performance) {
|
|
684
|
+
return {
|
|
685
|
+
anomalyId: uuidv4(),
|
|
686
|
+
timestamp: Date.now(),
|
|
687
|
+
score,
|
|
688
|
+
type: 'performance',
|
|
689
|
+
description: `Abnormal latency for ${toolName}: ${latency}ms (expected: ${mean.toFixed(0)}ms)`,
|
|
690
|
+
context: { toolName, latency, expectedLatency: mean, zScore },
|
|
691
|
+
severity: latency > mean * 3 ? 'high' : 'medium',
|
|
692
|
+
suggestedAction: 'Investigate performance bottleneck or system resource constraints'
|
|
693
|
+
};
|
|
694
|
+
}
|
|
695
|
+
return null;
|
|
696
|
+
}
|
|
697
|
+
/**
|
|
698
|
+
* Detect pattern anomalies
|
|
699
|
+
*/
|
|
700
|
+
async detectPatternAnomaly(agentId, channelId, toolName, parameters) {
|
|
701
|
+
// Get learned patterns
|
|
702
|
+
const patterns = await this.patternLearningService.getEnhancedPatterns(channelId, 'tool_sequence');
|
|
703
|
+
// Check if current usage fits patterns
|
|
704
|
+
const allPatterns = [...patterns.successful, ...patterns.shared];
|
|
705
|
+
const patternMatch = this.matchesPatterns(toolName, parameters, allPatterns);
|
|
706
|
+
const score = 1 - patternMatch; // Invert match to get anomaly score
|
|
707
|
+
if (score > this.anomalyThresholds.pattern) {
|
|
708
|
+
return {
|
|
709
|
+
anomalyId: uuidv4(),
|
|
710
|
+
timestamp: Date.now(),
|
|
711
|
+
score,
|
|
712
|
+
type: 'pattern',
|
|
713
|
+
description: 'Tool usage deviates from established patterns',
|
|
714
|
+
context: { agentId, toolName, expectedPatterns: allPatterns.slice(0, 3) },
|
|
715
|
+
severity: 'medium',
|
|
716
|
+
suggestedAction: 'Verify if new usage pattern is intentional'
|
|
717
|
+
};
|
|
718
|
+
}
|
|
719
|
+
return null;
|
|
720
|
+
}
|
|
721
|
+
/**
|
|
722
|
+
* Run parameter anomaly detection, dispatching to TF.js autoencoder or heuristic.
|
|
723
|
+
*
|
|
724
|
+
* When TF.js autoencoder is trained:
|
|
725
|
+
* - Extracts the 12-element normalized feature vector
|
|
726
|
+
* - Runs predictWithReconstruction() to get reconstruction error
|
|
727
|
+
* - Normalizes error to 0-1 range using AUTOENCODER_ANOMALY_SCALE_FACTOR
|
|
728
|
+
*
|
|
729
|
+
* When TF.js is unavailable or untrained:
|
|
730
|
+
* - Falls back to heuristic distance-based isolation scoring
|
|
731
|
+
* - Emits INFERENCE_FALLBACK event for observability
|
|
732
|
+
*/
|
|
733
|
+
async runParameterAnomalyDetection(agentId, channelId, toolName, parameters, historicalPatterns) {
|
|
734
|
+
// Try TF.js autoencoder first
|
|
735
|
+
if (this.tfAnomalyAutoencoderReady) {
|
|
736
|
+
try {
|
|
737
|
+
const mlService = MxfMLService.getInstance();
|
|
738
|
+
const features = await this.extractFeatures(agentId, channelId, toolName, parameters);
|
|
739
|
+
const featureArray = this.vectorizeFeatures(features);
|
|
740
|
+
const result = mlService.predictWithReconstruction(TF_ANOMALY_AUTOENCODER_MODEL_ID, featureArray);
|
|
741
|
+
// Normalize reconstruction error to 0-1 range
|
|
742
|
+
// Higher reconstruction error = more anomalous
|
|
743
|
+
return Math.min(1, result.reconstructionError * AUTOENCODER_ANOMALY_SCALE_FACTOR);
|
|
744
|
+
}
|
|
745
|
+
catch (error) {
|
|
746
|
+
// TF.js inference failed — emit fallback event and use heuristic
|
|
747
|
+
this.logger.warn(`[PredictiveAnalyticsService] TF.js anomaly autoencoder inference failed, ` +
|
|
748
|
+
`using heuristic: ${error instanceof Error ? error.message : String(error)}`);
|
|
749
|
+
try {
|
|
750
|
+
EventBus.server.emit(TensorFlowEvents.INFERENCE_FALLBACK, createTfInferenceFallbackPayload(channelId, agentId, TF_ANOMALY_AUTOENCODER_MODEL_ID, 'error', error instanceof Error ? error.message : 'prediction_error'));
|
|
751
|
+
}
|
|
752
|
+
catch {
|
|
753
|
+
// Swallow event emission errors
|
|
754
|
+
}
|
|
755
|
+
}
|
|
756
|
+
}
|
|
757
|
+
// Emit fallback event when TF.js is enabled but autoencoder isn't ready
|
|
758
|
+
if (isTensorFlowEnabled() && !this.tfAnomalyAutoencoderReady) {
|
|
759
|
+
try {
|
|
760
|
+
EventBus.server.emit(TensorFlowEvents.INFERENCE_FALLBACK, createTfInferenceFallbackPayload(channelId, agentId, TF_ANOMALY_AUTOENCODER_MODEL_ID, 'untrained'));
|
|
761
|
+
}
|
|
762
|
+
catch {
|
|
763
|
+
// Swallow event emission errors
|
|
764
|
+
}
|
|
765
|
+
}
|
|
766
|
+
// Fall back to heuristic isolation scoring
|
|
767
|
+
return this.calculateHeuristicIsolationScore(parameters, historicalPatterns);
|
|
768
|
+
}
|
|
769
|
+
/**
|
|
770
|
+
* Heuristic isolation score using distance-based parameter comparison.
|
|
771
|
+
*
|
|
772
|
+
* This is the original isolation forest scoring logic that serves as the
|
|
773
|
+
* graceful degradation fallback when TF.js is disabled, the autoencoder
|
|
774
|
+
* is untrained, or inference fails.
|
|
775
|
+
*/
|
|
776
|
+
calculateHeuristicIsolationScore(parameters, historicalPatterns) {
|
|
777
|
+
// Simplified isolation forest scoring
|
|
778
|
+
if (historicalPatterns.length === 0)
|
|
779
|
+
return 0.5;
|
|
780
|
+
// Calculate distance to nearest patterns
|
|
781
|
+
let minDistance = Infinity;
|
|
782
|
+
for (const pattern of historicalPatterns) {
|
|
783
|
+
const distance = this.calculateParameterDistance(parameters, pattern);
|
|
784
|
+
minDistance = Math.min(minDistance, distance);
|
|
785
|
+
}
|
|
786
|
+
// Convert distance to anomaly score
|
|
787
|
+
return Math.min(1, minDistance / 10);
|
|
788
|
+
}
|
|
789
|
+
/**
|
|
790
|
+
* Calculate parameter distance
|
|
791
|
+
*/
|
|
792
|
+
calculateParameterDistance(params1, params2) {
|
|
793
|
+
let distance = 0;
|
|
794
|
+
const allKeys = new Set([...Object.keys(params1), ...Object.keys(params2)]);
|
|
795
|
+
for (const key of allKeys) {
|
|
796
|
+
if (!(key in params1) || !(key in params2)) {
|
|
797
|
+
distance += 1;
|
|
798
|
+
}
|
|
799
|
+
else if (params1[key] !== params2[key]) {
|
|
800
|
+
distance += 0.5;
|
|
801
|
+
}
|
|
802
|
+
}
|
|
803
|
+
return distance;
|
|
804
|
+
}
|
|
805
|
+
// =============================================================================
|
|
806
|
+
// PROACTIVE SUGGESTIONS
|
|
807
|
+
// =============================================================================
|
|
808
|
+
/**
|
|
809
|
+
* Generate proactive suggestions
|
|
810
|
+
*/
|
|
811
|
+
async generateProactiveSuggestions(agentId, channelId, context) {
|
|
812
|
+
const suggestions = [];
|
|
813
|
+
if (!this.config.enableProactiveSuggestions)
|
|
814
|
+
return suggestions;
|
|
815
|
+
// Parameter suggestions
|
|
816
|
+
if (context.currentTool) {
|
|
817
|
+
const paramSuggestions = await this.generateParameterSuggestions(context.currentTool, context.errorHistory);
|
|
818
|
+
suggestions.push(...paramSuggestions);
|
|
819
|
+
}
|
|
820
|
+
// Tool suggestions
|
|
821
|
+
if (context.currentTask) {
|
|
822
|
+
const toolSuggestions = await this.generateToolSuggestions(context.currentTask, context.recentTools || []);
|
|
823
|
+
suggestions.push(...toolSuggestions);
|
|
824
|
+
}
|
|
825
|
+
// Timing suggestions
|
|
826
|
+
const timingSuggestions = await this.generateTimingSuggestions(agentId);
|
|
827
|
+
suggestions.push(...timingSuggestions);
|
|
828
|
+
// Strategy suggestions
|
|
829
|
+
if (context.errorHistory && context.errorHistory.length > 3) {
|
|
830
|
+
const strategySuggestions = await this.generateStrategySuggestions(context.errorHistory);
|
|
831
|
+
suggestions.push(...strategySuggestions);
|
|
832
|
+
}
|
|
833
|
+
// Sort by confidence
|
|
834
|
+
suggestions.sort((a, b) => b.confidence - a.confidence);
|
|
835
|
+
// Update metrics
|
|
836
|
+
this.metrics.suggestionsGenerated += suggestions.length;
|
|
837
|
+
return suggestions;
|
|
838
|
+
}
|
|
839
|
+
/**
|
|
840
|
+
* Generate parameter suggestions
|
|
841
|
+
*/
|
|
842
|
+
async generateParameterSuggestions(toolName, errorHistory) {
|
|
843
|
+
const suggestions = [];
|
|
844
|
+
// Analyze error patterns
|
|
845
|
+
const commonErrors = this.analyzeErrorPatterns(errorHistory || []);
|
|
846
|
+
if (commonErrors.includes('missing_required_parameter')) {
|
|
847
|
+
suggestions.push({
|
|
848
|
+
suggestionId: uuidv4(),
|
|
849
|
+
timestamp: Date.now(),
|
|
850
|
+
type: 'parameter',
|
|
851
|
+
title: 'Include all required parameters',
|
|
852
|
+
description: `Tool ${toolName} requires specific parameters that are often missing`,
|
|
853
|
+
confidence: 0.9,
|
|
854
|
+
expectedBenefit: 'Reduce validation errors by 80%',
|
|
855
|
+
implementation: 'Use tool_help to see required parameters'
|
|
856
|
+
});
|
|
857
|
+
}
|
|
858
|
+
if (commonErrors.includes('invalid_parameter_type')) {
|
|
859
|
+
suggestions.push({
|
|
860
|
+
suggestionId: uuidv4(),
|
|
861
|
+
timestamp: Date.now(),
|
|
862
|
+
type: 'parameter',
|
|
863
|
+
title: 'Check parameter types',
|
|
864
|
+
description: 'Parameter type mismatches are causing validation failures',
|
|
865
|
+
confidence: 0.85,
|
|
866
|
+
expectedBenefit: 'Eliminate type-related errors',
|
|
867
|
+
implementation: 'Use validation_preview before execution'
|
|
868
|
+
});
|
|
869
|
+
}
|
|
870
|
+
return suggestions;
|
|
871
|
+
}
|
|
872
|
+
/**
|
|
873
|
+
* Generate tool suggestions
|
|
874
|
+
*/
|
|
875
|
+
async generateToolSuggestions(task, recentTools) {
|
|
876
|
+
const suggestions = [];
|
|
877
|
+
// Suggest tools based on task patterns
|
|
878
|
+
if (task.includes('search') && !recentTools.includes('web_search')) {
|
|
879
|
+
suggestions.push({
|
|
880
|
+
suggestionId: uuidv4(),
|
|
881
|
+
timestamp: Date.now(),
|
|
882
|
+
type: 'tool',
|
|
883
|
+
title: 'Consider using web_search tool',
|
|
884
|
+
description: 'The web_search tool might be helpful for this task',
|
|
885
|
+
confidence: 0.75,
|
|
886
|
+
expectedBenefit: 'Find relevant information quickly'
|
|
887
|
+
});
|
|
888
|
+
}
|
|
889
|
+
if (task.includes('calculate') && !recentTools.includes('calculator')) {
|
|
890
|
+
suggestions.push({
|
|
891
|
+
suggestionId: uuidv4(),
|
|
892
|
+
timestamp: Date.now(),
|
|
893
|
+
type: 'tool',
|
|
894
|
+
title: 'Use calculator for computations',
|
|
895
|
+
description: 'The calculator tool can handle mathematical operations',
|
|
896
|
+
confidence: 0.8,
|
|
897
|
+
expectedBenefit: 'Accurate calculations without errors'
|
|
898
|
+
});
|
|
899
|
+
}
|
|
900
|
+
return suggestions;
|
|
901
|
+
}
|
|
902
|
+
/**
|
|
903
|
+
* Generate timing suggestions
|
|
904
|
+
*/
|
|
905
|
+
async generateTimingSuggestions(agentId) {
|
|
906
|
+
const suggestions = [];
|
|
907
|
+
const currentHour = new Date().getHours();
|
|
908
|
+
// Analyze agent's success patterns by time
|
|
909
|
+
const successByHour = await this.getSuccessRateByHour(agentId);
|
|
910
|
+
if (successByHour && successByHour[currentHour] < 0.7) {
|
|
911
|
+
const bestHour = this.findBestHour(successByHour);
|
|
912
|
+
suggestions.push({
|
|
913
|
+
suggestionId: uuidv4(),
|
|
914
|
+
timestamp: Date.now(),
|
|
915
|
+
type: 'timing',
|
|
916
|
+
title: 'Consider scheduling complex tasks differently',
|
|
917
|
+
description: `Your success rate is higher around ${bestHour}:00`,
|
|
918
|
+
confidence: 0.7,
|
|
919
|
+
expectedBenefit: `Improve success rate by ${((successByHour[bestHour] - successByHour[currentHour]) * 100).toFixed(0)}%`
|
|
920
|
+
});
|
|
921
|
+
}
|
|
922
|
+
return suggestions;
|
|
923
|
+
}
|
|
924
|
+
/**
|
|
925
|
+
* Generate strategy suggestions
|
|
926
|
+
*/
|
|
927
|
+
async generateStrategySuggestions(errorHistory) {
|
|
928
|
+
const suggestions = [];
|
|
929
|
+
// Detect repeated errors
|
|
930
|
+
const errorCounts = new Map();
|
|
931
|
+
for (const error of errorHistory) {
|
|
932
|
+
const key = error.type || error.message;
|
|
933
|
+
errorCounts.set(key, (errorCounts.get(key) || 0) + 1);
|
|
934
|
+
}
|
|
935
|
+
// Find most common error
|
|
936
|
+
let maxCount = 0;
|
|
937
|
+
let commonError = '';
|
|
938
|
+
for (const [error, count] of errorCounts) {
|
|
939
|
+
if (count > maxCount) {
|
|
940
|
+
maxCount = count;
|
|
941
|
+
commonError = error;
|
|
942
|
+
}
|
|
943
|
+
}
|
|
944
|
+
if (maxCount > 3) {
|
|
945
|
+
suggestions.push({
|
|
946
|
+
suggestionId: uuidv4(),
|
|
947
|
+
timestamp: Date.now(),
|
|
948
|
+
type: 'strategy',
|
|
949
|
+
title: 'Address recurring error pattern',
|
|
950
|
+
description: `Error "${commonError}" has occurred ${maxCount} times`,
|
|
951
|
+
confidence: 0.9,
|
|
952
|
+
expectedBenefit: 'Eliminate most common error source',
|
|
953
|
+
implementation: 'Use error_diagnose tool for root cause analysis'
|
|
954
|
+
});
|
|
955
|
+
}
|
|
956
|
+
return suggestions;
|
|
957
|
+
}
|
|
958
|
+
// =============================================================================
|
|
959
|
+
// PATTERN FORECASTING
|
|
960
|
+
// =============================================================================
|
|
961
|
+
/**
|
|
962
|
+
* Forecast patterns
|
|
963
|
+
*/
|
|
964
|
+
async forecastPatterns(pattern, timeframe) {
|
|
965
|
+
// Get historical data
|
|
966
|
+
const historicalData = await this.getPatternHistory(pattern, timeframe);
|
|
967
|
+
// Simple time series forecasting
|
|
968
|
+
const predictions = this.performTimeSeriesForecast(historicalData, timeframe);
|
|
969
|
+
const forecast = {
|
|
970
|
+
forecastId: uuidv4(),
|
|
971
|
+
pattern,
|
|
972
|
+
timeframe,
|
|
973
|
+
predictions,
|
|
974
|
+
accuracy: this.calculateForecastAccuracy(historicalData)
|
|
975
|
+
};
|
|
976
|
+
return forecast;
|
|
977
|
+
}
|
|
978
|
+
/**
|
|
979
|
+
* Perform time series forecasting
|
|
980
|
+
*/
|
|
981
|
+
performTimeSeriesForecast(data, timeframe) {
|
|
982
|
+
const predictions = [];
|
|
983
|
+
const periods = timeframe === 'hour' ? 6 : timeframe === 'day' ? 7 : 4;
|
|
984
|
+
// Simple moving average forecast
|
|
985
|
+
const windowSize = Math.min(data.length, 10);
|
|
986
|
+
const recentData = data.slice(-windowSize);
|
|
987
|
+
const avg = recentData.reduce((a, b) => a + b, 0) / recentData.length;
|
|
988
|
+
const stdDev = Math.sqrt(recentData.reduce((sum, val) => sum + Math.pow(val - avg, 2), 0) / recentData.length);
|
|
989
|
+
const now = Date.now();
|
|
990
|
+
const interval = timeframe === 'hour' ? 3600000 : timeframe === 'day' ? 86400000 : 604800000;
|
|
991
|
+
for (let i = 1; i <= periods; i++) {
|
|
992
|
+
// Add trend component
|
|
993
|
+
const trend = (data[data.length - 1] - data[0]) / data.length * i;
|
|
994
|
+
const value = avg + trend;
|
|
995
|
+
predictions.push({
|
|
996
|
+
timestamp: now + i * interval,
|
|
997
|
+
value: Math.max(0, value),
|
|
998
|
+
confidence: Math.max(0.5, 1 - (i * 0.1)), // Confidence decreases with distance
|
|
999
|
+
upperBound: value + 2 * stdDev,
|
|
1000
|
+
lowerBound: Math.max(0, value - 2 * stdDev)
|
|
1001
|
+
});
|
|
1002
|
+
}
|
|
1003
|
+
return predictions;
|
|
1004
|
+
}
|
|
1005
|
+
/**
|
|
1006
|
+
* Calculate forecast accuracy
|
|
1007
|
+
*/
|
|
1008
|
+
calculateForecastAccuracy(data) {
|
|
1009
|
+
// Use last 20% of data for validation
|
|
1010
|
+
const splitIndex = Math.floor(data.length * 0.8);
|
|
1011
|
+
const training = data.slice(0, splitIndex);
|
|
1012
|
+
const validation = data.slice(splitIndex);
|
|
1013
|
+
if (validation.length === 0)
|
|
1014
|
+
return 0.7; // Default accuracy
|
|
1015
|
+
// Make predictions on training data
|
|
1016
|
+
const predictions = this.performTimeSeriesForecast(training, 'hour');
|
|
1017
|
+
// Calculate MAPE (Mean Absolute Percentage Error)
|
|
1018
|
+
let totalError = 0;
|
|
1019
|
+
for (let i = 0; i < Math.min(predictions.length, validation.length); i++) {
|
|
1020
|
+
const actual = validation[i];
|
|
1021
|
+
const predicted = predictions[i].value;
|
|
1022
|
+
if (actual !== 0) {
|
|
1023
|
+
totalError += Math.abs((actual - predicted) / actual);
|
|
1024
|
+
}
|
|
1025
|
+
}
|
|
1026
|
+
const mape = totalError / Math.min(predictions.length, validation.length);
|
|
1027
|
+
return Math.max(0, 1 - mape); // Convert to accuracy
|
|
1028
|
+
}
|
|
1029
|
+
// =============================================================================
|
|
1030
|
+
// RISK SCORING
|
|
1031
|
+
// =============================================================================
|
|
1032
|
+
/**
|
|
1033
|
+
* Calculate risk score
|
|
1034
|
+
*/
|
|
1035
|
+
async calculateRiskScore(agentId, channelId, operation) {
|
|
1036
|
+
const riskFactors = [];
|
|
1037
|
+
// Error probability risk
|
|
1038
|
+
const errorPrediction = await this.predictErrors(agentId, channelId, operation.toolName, operation.parameters);
|
|
1039
|
+
riskFactors.push({
|
|
1040
|
+
factor: 'error_probability',
|
|
1041
|
+
weight: 0.3,
|
|
1042
|
+
score: errorPrediction.prediction.value * 100,
|
|
1043
|
+
description: `${(errorPrediction.prediction.value * 100).toFixed(0)}% chance of error`
|
|
1044
|
+
});
|
|
1045
|
+
// Tool complexity risk
|
|
1046
|
+
const complexity = this.calculateToolComplexity(operation.toolName);
|
|
1047
|
+
riskFactors.push({
|
|
1048
|
+
factor: 'tool_complexity',
|
|
1049
|
+
weight: 0.2,
|
|
1050
|
+
score: complexity * 100,
|
|
1051
|
+
description: `Tool complexity: ${complexity > 0.7 ? 'High' : complexity > 0.4 ? 'Medium' : 'Low'}`
|
|
1052
|
+
});
|
|
1053
|
+
// Agent experience risk
|
|
1054
|
+
const agentMetrics = await this.getAgentMetrics(agentId);
|
|
1055
|
+
const experienceRisk = Math.max(0, 1 - (agentMetrics.successfulCalls / 100));
|
|
1056
|
+
riskFactors.push({
|
|
1057
|
+
factor: 'agent_experience',
|
|
1058
|
+
weight: 0.2,
|
|
1059
|
+
score: experienceRisk * 100,
|
|
1060
|
+
description: `Agent has ${agentMetrics.successfulCalls} successful operations`
|
|
1061
|
+
});
|
|
1062
|
+
// System load risk
|
|
1063
|
+
const systemContext = this.getSystemContext();
|
|
1064
|
+
riskFactors.push({
|
|
1065
|
+
factor: 'system_load',
|
|
1066
|
+
weight: 0.15,
|
|
1067
|
+
score: systemContext.load * 100,
|
|
1068
|
+
description: `System load: ${(systemContext.load * 100).toFixed(0)}%`
|
|
1069
|
+
});
|
|
1070
|
+
// Parameter pattern risk
|
|
1071
|
+
const patternMatch = await this.calculatePatternMatch(operation.toolName, operation.parameters);
|
|
1072
|
+
const patternRisk = 1 - patternMatch;
|
|
1073
|
+
riskFactors.push({
|
|
1074
|
+
factor: 'parameter_pattern',
|
|
1075
|
+
weight: 0.15,
|
|
1076
|
+
score: patternRisk * 100,
|
|
1077
|
+
description: `Parameter pattern match: ${(patternMatch * 100).toFixed(0)}%`
|
|
1078
|
+
});
|
|
1079
|
+
// Calculate overall risk
|
|
1080
|
+
const overallRisk = riskFactors.reduce((total, factor) => total + factor.score * factor.weight, 0);
|
|
1081
|
+
// Determine trend
|
|
1082
|
+
const historicalRisk = await this.getHistoricalRisk(agentId);
|
|
1083
|
+
const trend = overallRisk > historicalRisk + 5 ? 'increasing' :
|
|
1084
|
+
overallRisk < historicalRisk - 5 ? 'decreasing' : 'stable';
|
|
1085
|
+
// Generate mitigation strategies
|
|
1086
|
+
const mitigation = this.generateMitigationStrategies(riskFactors);
|
|
1087
|
+
const riskScore = {
|
|
1088
|
+
scoreId: uuidv4(),
|
|
1089
|
+
timestamp: Date.now(),
|
|
1090
|
+
overallRisk,
|
|
1091
|
+
riskFactors,
|
|
1092
|
+
mitigation,
|
|
1093
|
+
trend
|
|
1094
|
+
};
|
|
1095
|
+
return riskScore;
|
|
1096
|
+
}
|
|
1097
|
+
/**
|
|
1098
|
+
* Generate mitigation strategies
|
|
1099
|
+
*/
|
|
1100
|
+
generateMitigationStrategies(riskFactors) {
|
|
1101
|
+
const strategies = [];
|
|
1102
|
+
for (const factor of riskFactors) {
|
|
1103
|
+
if (factor.score > 70) {
|
|
1104
|
+
switch (factor.factor) {
|
|
1105
|
+
case 'error_probability':
|
|
1106
|
+
strategies.push('Use validation_preview before execution');
|
|
1107
|
+
strategies.push('Review parameters with tool_help');
|
|
1108
|
+
break;
|
|
1109
|
+
case 'tool_complexity':
|
|
1110
|
+
strategies.push('Break operation into smaller steps');
|
|
1111
|
+
strategies.push('Use simpler alternative tools if available');
|
|
1112
|
+
break;
|
|
1113
|
+
case 'agent_experience':
|
|
1114
|
+
strategies.push('Start with simpler operations');
|
|
1115
|
+
strategies.push('Use help tools for guidance');
|
|
1116
|
+
break;
|
|
1117
|
+
case 'system_load':
|
|
1118
|
+
strategies.push('Defer non-critical operations');
|
|
1119
|
+
strategies.push('Enable async validation mode');
|
|
1120
|
+
break;
|
|
1121
|
+
case 'parameter_pattern':
|
|
1122
|
+
strategies.push('Review successful parameter examples');
|
|
1123
|
+
strategies.push('Use validation_hints for suggestions');
|
|
1124
|
+
break;
|
|
1125
|
+
}
|
|
1126
|
+
}
|
|
1127
|
+
}
|
|
1128
|
+
return [...new Set(strategies)]; // Remove duplicates
|
|
1129
|
+
}
|
|
1130
|
+
// =============================================================================
|
|
1131
|
+
// MODEL MANAGEMENT
|
|
1132
|
+
// =============================================================================
|
|
1133
|
+
/**
|
|
1134
|
+
* Initialize models
|
|
1135
|
+
*/
|
|
1136
|
+
initializeModels() {
|
|
1137
|
+
// Initialize simplified models
|
|
1138
|
+
// In production, would load actual trained models
|
|
1139
|
+
this.models.set('error_prediction', {
|
|
1140
|
+
type: ModelType.GRADIENT_BOOSTING,
|
|
1141
|
+
predict: (features) => ({ score: 0.5, confidence: 0.7 })
|
|
1142
|
+
});
|
|
1143
|
+
this.models.set('anomaly_detection', {
|
|
1144
|
+
type: ModelType.ISOLATION_FOREST,
|
|
1145
|
+
predict: (features) => ({ score: 0.5 })
|
|
1146
|
+
});
|
|
1147
|
+
this.models.set('pattern_forecast', {
|
|
1148
|
+
type: ModelType.LSTM,
|
|
1149
|
+
predict: (sequence) => sequence[sequence.length - 1] * 1.1
|
|
1150
|
+
});
|
|
1151
|
+
// Set metadata
|
|
1152
|
+
for (const [name, model] of this.models) {
|
|
1153
|
+
this.modelMetadata.set(name, {
|
|
1154
|
+
modelId: uuidv4(),
|
|
1155
|
+
type: model.type,
|
|
1156
|
+
version: '1.0.0',
|
|
1157
|
+
trainedAt: Date.now(),
|
|
1158
|
+
accuracy: 0.75,
|
|
1159
|
+
features: [],
|
|
1160
|
+
hyperparameters: {},
|
|
1161
|
+
trainingDataSize: 1000,
|
|
1162
|
+
validationMetrics: { accuracy: 0.75, precision: 0.8, recall: 0.7 }
|
|
1163
|
+
});
|
|
1164
|
+
}
|
|
1165
|
+
}
|
|
1166
|
+
/**
|
|
1167
|
+
* Train models
|
|
1168
|
+
*/
|
|
1169
|
+
async trainModels() {
|
|
1170
|
+
if (this.trainingData.length < this.config.minTrainingDataSize) {
|
|
1171
|
+
return;
|
|
1172
|
+
}
|
|
1173
|
+
try {
|
|
1174
|
+
// Train error prediction model
|
|
1175
|
+
await this.trainErrorPredictionModel();
|
|
1176
|
+
// Train anomaly detection model
|
|
1177
|
+
await this.trainAnomalyDetectionModel();
|
|
1178
|
+
// Update metrics
|
|
1179
|
+
this.metrics.modelRetrains++;
|
|
1180
|
+
}
|
|
1181
|
+
catch (error) {
|
|
1182
|
+
this.logger.error('Model training failed:', error);
|
|
1183
|
+
}
|
|
1184
|
+
}
|
|
1185
|
+
/**
|
|
1186
|
+
* Train error prediction model.
|
|
1187
|
+
*
|
|
1188
|
+
* When TF.js is enabled and sufficient training samples exist:
|
|
1189
|
+
* - Vectorizes features and binary labels from collected training data
|
|
1190
|
+
* - Calls MxfMLService.train() to run supervised training on the Dense classifier
|
|
1191
|
+
* - Updates internal model metadata with real training metrics
|
|
1192
|
+
* - Saves the trained model to persistent storage (GridFS)
|
|
1193
|
+
* - Marks the TF.js model as ready for inference
|
|
1194
|
+
*
|
|
1195
|
+
* When TF.js is disabled, updates metadata with simulated accuracy
|
|
1196
|
+
* (preserving the original behavior for non-TF.js deployments).
|
|
1197
|
+
*/
|
|
1198
|
+
async trainErrorPredictionModel() {
|
|
1199
|
+
// Extract features and labels from collected training data
|
|
1200
|
+
const features = [];
|
|
1201
|
+
const labels = [];
|
|
1202
|
+
for (const sample of this.trainingData) {
|
|
1203
|
+
if (sample.label.type === 'error_occurred') {
|
|
1204
|
+
features.push(this.vectorizeFeatures(sample.features));
|
|
1205
|
+
labels.push(sample.label.value ? 1 : 0);
|
|
1206
|
+
}
|
|
1207
|
+
}
|
|
1208
|
+
if (features.length < 50)
|
|
1209
|
+
return;
|
|
1210
|
+
// Try TF.js training if enabled
|
|
1211
|
+
if (isTensorFlowEnabled()) {
|
|
1212
|
+
try {
|
|
1213
|
+
const mlService = MxfMLService.getInstance();
|
|
1214
|
+
if (!mlService.isEnabled()) {
|
|
1215
|
+
this.logger.debug('[PredictiveAnalyticsService] MxfMLService not enabled, using simulated training');
|
|
1216
|
+
this.updateHeuristicMetadata(features.length);
|
|
1217
|
+
return;
|
|
1218
|
+
}
|
|
1219
|
+
// Ensure model is registered (idempotent check — may already be registered)
|
|
1220
|
+
const existingModel = mlService.getModel(TF_ERROR_PREDICTION_MODEL_ID);
|
|
1221
|
+
if (!existingModel) {
|
|
1222
|
+
this.logger.warn('[PredictiveAnalyticsService] TF.js error prediction model not registered, ' +
|
|
1223
|
+
'falling back to simulated training');
|
|
1224
|
+
this.updateHeuristicMetadata(features.length);
|
|
1225
|
+
return;
|
|
1226
|
+
}
|
|
1227
|
+
// Check minimum training samples for TF.js model
|
|
1228
|
+
if (features.length < existingModel.config.minTrainingSamples) {
|
|
1229
|
+
this.logger.debug(`[PredictiveAnalyticsService] Not enough training samples for TF.js: ` +
|
|
1230
|
+
`${features.length}/${existingModel.config.minTrainingSamples}`);
|
|
1231
|
+
return;
|
|
1232
|
+
}
|
|
1233
|
+
// Format labels as 2D array for MxfMLService.train()
|
|
1234
|
+
const yData = labels.map(l => [l]);
|
|
1235
|
+
// Train the TF.js model
|
|
1236
|
+
const metrics = await mlService.train(TF_ERROR_PREDICTION_MODEL_ID, features, yData);
|
|
1237
|
+
// Update internal metadata with real training metrics
|
|
1238
|
+
const modelMeta = this.modelMetadata.get('error_prediction');
|
|
1239
|
+
if (modelMeta) {
|
|
1240
|
+
modelMeta.trainedAt = Date.now();
|
|
1241
|
+
modelMeta.trainingDataSize = features.length;
|
|
1242
|
+
modelMeta.accuracy = metrics.accuracy ?? metrics.valAccuracy ?? 0.75;
|
|
1243
|
+
modelMeta.validationMetrics = {
|
|
1244
|
+
accuracy: metrics.accuracy ?? 0,
|
|
1245
|
+
val_accuracy: metrics.valAccuracy ?? 0,
|
|
1246
|
+
loss: metrics.loss,
|
|
1247
|
+
val_loss: metrics.valLoss ?? 0,
|
|
1248
|
+
};
|
|
1249
|
+
}
|
|
1250
|
+
// Mark TF.js model as ready for inference
|
|
1251
|
+
this.tfErrorPredictionReady = true;
|
|
1252
|
+
// Save trained model to persistent storage
|
|
1253
|
+
try {
|
|
1254
|
+
await mlService.saveModel(TF_ERROR_PREDICTION_MODEL_ID);
|
|
1255
|
+
}
|
|
1256
|
+
catch (saveError) {
|
|
1257
|
+
this.logger.warn(`[PredictiveAnalyticsService] Failed to save trained model: ` +
|
|
1258
|
+
`${saveError instanceof Error ? saveError.message : String(saveError)}`);
|
|
1259
|
+
}
|
|
1260
|
+
this.logger.info(`[PredictiveAnalyticsService] TF.js error prediction model trained ` +
|
|
1261
|
+
`(samples=${features.length}, loss=${metrics.loss.toFixed(4)}, ` +
|
|
1262
|
+
`accuracy=${(metrics.accuracy ?? 0).toFixed(4)})`);
|
|
1263
|
+
return;
|
|
1264
|
+
}
|
|
1265
|
+
catch (error) {
|
|
1266
|
+
this.logger.error(`[PredictiveAnalyticsService] TF.js training failed, updating heuristic metadata: ` +
|
|
1267
|
+
`${error instanceof Error ? error.message : String(error)}`);
|
|
1268
|
+
// Fall through to heuristic metadata update
|
|
1269
|
+
}
|
|
1270
|
+
}
|
|
1271
|
+
// Non-TF.js path: update metadata with simulated accuracy
|
|
1272
|
+
this.updateHeuristicMetadata(features.length);
|
|
1273
|
+
}
|
|
1274
|
+
/**
|
|
1275
|
+
* Update model metadata with simulated accuracy for heuristic-only mode.
|
|
1276
|
+
*
|
|
1277
|
+
* Preserves the original behavior when TF.js is disabled.
|
|
1278
|
+
*/
|
|
1279
|
+
updateHeuristicMetadata(sampleCount) {
|
|
1280
|
+
const modelMeta = this.modelMetadata.get('error_prediction');
|
|
1281
|
+
if (modelMeta) {
|
|
1282
|
+
modelMeta.trainedAt = Date.now();
|
|
1283
|
+
modelMeta.trainingDataSize = sampleCount;
|
|
1284
|
+
modelMeta.accuracy = null; // heuristics have no measured validation accuracy
|
|
1285
|
+
}
|
|
1286
|
+
}
|
|
1287
|
+
/**
|
|
1288
|
+
* Train anomaly detection model.
|
|
1289
|
+
*
|
|
1290
|
+
* When TF.js is enabled and sufficient training samples exist:
|
|
1291
|
+
* - Vectorizes ALL feature vectors from collected training data (unsupervised —
|
|
1292
|
+
* the autoencoder trains to reconstruct its input, so xData = yData)
|
|
1293
|
+
* - Calls MxfMLService.train() to run training on the autoencoder
|
|
1294
|
+
* - Updates internal model metadata with real training metrics
|
|
1295
|
+
* - Saves the trained model to persistent storage (GridFS)
|
|
1296
|
+
* - Marks the TF.js autoencoder as ready for inference
|
|
1297
|
+
*
|
|
1298
|
+
* When TF.js is disabled, updates metadata with simulated accuracy
|
|
1299
|
+
* (preserving the original behavior for non-TF.js deployments).
|
|
1300
|
+
*/
|
|
1301
|
+
async trainAnomalyDetectionModel() {
|
|
1302
|
+
// Extract ALL feature vectors — autoencoder is unsupervised,
|
|
1303
|
+
// it learns "normal" patterns regardless of error labels
|
|
1304
|
+
const features = [];
|
|
1305
|
+
for (const sample of this.trainingData) {
|
|
1306
|
+
features.push(this.vectorizeFeatures(sample.features));
|
|
1307
|
+
}
|
|
1308
|
+
// Try TF.js training if enabled
|
|
1309
|
+
if (isTensorFlowEnabled() && features.length > 0) {
|
|
1310
|
+
try {
|
|
1311
|
+
const mlService = MxfMLService.getInstance();
|
|
1312
|
+
if (!mlService.isEnabled()) {
|
|
1313
|
+
this.logger.debug('[PredictiveAnalyticsService] MxfMLService not enabled, using simulated anomaly training');
|
|
1314
|
+
this.updateAnomalyHeuristicMetadata();
|
|
1315
|
+
return;
|
|
1316
|
+
}
|
|
1317
|
+
// Ensure model is registered
|
|
1318
|
+
const existingModel = mlService.getModel(TF_ANOMALY_AUTOENCODER_MODEL_ID);
|
|
1319
|
+
if (!existingModel) {
|
|
1320
|
+
this.logger.warn('[PredictiveAnalyticsService] TF.js anomaly autoencoder model not registered, ' +
|
|
1321
|
+
'falling back to simulated training');
|
|
1322
|
+
this.updateAnomalyHeuristicMetadata();
|
|
1323
|
+
return;
|
|
1324
|
+
}
|
|
1325
|
+
// Check minimum training samples
|
|
1326
|
+
if (features.length < existingModel.config.minTrainingSamples) {
|
|
1327
|
+
this.logger.debug(`[PredictiveAnalyticsService] Not enough training samples for anomaly autoencoder: ` +
|
|
1328
|
+
`${features.length}/${existingModel.config.minTrainingSamples}`);
|
|
1329
|
+
return;
|
|
1330
|
+
}
|
|
1331
|
+
// Autoencoder: input = output (learns to reconstruct normal patterns)
|
|
1332
|
+
const metrics = await mlService.train(TF_ANOMALY_AUTOENCODER_MODEL_ID, features, features);
|
|
1333
|
+
// Update internal metadata with real training metrics
|
|
1334
|
+
const modelMeta = this.modelMetadata.get('anomaly_detection');
|
|
1335
|
+
if (modelMeta) {
|
|
1336
|
+
modelMeta.trainedAt = Date.now();
|
|
1337
|
+
modelMeta.trainingDataSize = features.length;
|
|
1338
|
+
// For autoencoders, accuracy is not directly applicable —
|
|
1339
|
+
// use inverse of loss as a quality indicator (lower loss = better reconstruction)
|
|
1340
|
+
modelMeta.accuracy = Math.max(0, Math.min(1, 1 - metrics.loss));
|
|
1341
|
+
modelMeta.validationMetrics = {
|
|
1342
|
+
loss: metrics.loss,
|
|
1343
|
+
val_loss: metrics.valLoss ?? 0,
|
|
1344
|
+
};
|
|
1345
|
+
}
|
|
1346
|
+
// Mark TF.js autoencoder as ready for inference
|
|
1347
|
+
this.tfAnomalyAutoencoderReady = true;
|
|
1348
|
+
// Save trained model to persistent storage
|
|
1349
|
+
try {
|
|
1350
|
+
await mlService.saveModel(TF_ANOMALY_AUTOENCODER_MODEL_ID);
|
|
1351
|
+
}
|
|
1352
|
+
catch (saveError) {
|
|
1353
|
+
this.logger.warn(`[PredictiveAnalyticsService] Failed to save anomaly autoencoder model: ` +
|
|
1354
|
+
`${saveError instanceof Error ? saveError.message : String(saveError)}`);
|
|
1355
|
+
}
|
|
1356
|
+
this.logger.info(`[PredictiveAnalyticsService] TF.js anomaly autoencoder trained ` +
|
|
1357
|
+
`(samples=${features.length}, loss=${metrics.loss.toFixed(4)})`);
|
|
1358
|
+
return;
|
|
1359
|
+
}
|
|
1360
|
+
catch (error) {
|
|
1361
|
+
this.logger.error(`[PredictiveAnalyticsService] TF.js anomaly autoencoder training failed, ` +
|
|
1362
|
+
`updating heuristic metadata: ${error instanceof Error ? error.message : String(error)}`);
|
|
1363
|
+
// Fall through to heuristic metadata update
|
|
1364
|
+
}
|
|
1365
|
+
}
|
|
1366
|
+
// Non-TF.js path: update metadata with simulated accuracy
|
|
1367
|
+
this.updateAnomalyHeuristicMetadata();
|
|
1368
|
+
}
|
|
1369
|
+
/**
|
|
1370
|
+
* Update anomaly detection model metadata with simulated accuracy for heuristic-only mode.
|
|
1371
|
+
*
|
|
1372
|
+
* Preserves the original behavior when TF.js is disabled.
|
|
1373
|
+
*/
|
|
1374
|
+
updateAnomalyHeuristicMetadata() {
|
|
1375
|
+
const modelMeta = this.modelMetadata.get('anomaly_detection');
|
|
1376
|
+
if (modelMeta) {
|
|
1377
|
+
modelMeta.trainedAt = Date.now();
|
|
1378
|
+
modelMeta.accuracy = null; // heuristics have no measured validation accuracy
|
|
1379
|
+
}
|
|
1380
|
+
}
|
|
1381
|
+
/**
|
|
1382
|
+
* Vectorize features
|
|
1383
|
+
*/
|
|
1384
|
+
vectorizeFeatures(features) {
|
|
1385
|
+
return [
|
|
1386
|
+
features.toolComplexity,
|
|
1387
|
+
features.parameterCount,
|
|
1388
|
+
features.parameterPatternMatch,
|
|
1389
|
+
features.agentExperience,
|
|
1390
|
+
features.agentErrorRate,
|
|
1391
|
+
features.timeOfDay / 24,
|
|
1392
|
+
features.dayOfWeek / 7,
|
|
1393
|
+
features.systemLoad,
|
|
1394
|
+
features.concurrentRequests / 100,
|
|
1395
|
+
features.recentErrors / 10,
|
|
1396
|
+
features.recentSuccesses / 100,
|
|
1397
|
+
features.averageLatency / 1000
|
|
1398
|
+
];
|
|
1399
|
+
}
|
|
1400
|
+
// =============================================================================
|
|
1401
|
+
// HELPER METHODS
|
|
1402
|
+
// =============================================================================
|
|
1403
|
+
/**
|
|
1404
|
+
* Get agent metrics
|
|
1405
|
+
*/
|
|
1406
|
+
async getAgentMetrics(agentId) {
|
|
1407
|
+
// Would query actual metrics
|
|
1408
|
+
return {
|
|
1409
|
+
successfulCalls: 100,
|
|
1410
|
+
errorRate: 0.1,
|
|
1411
|
+
recentErrors: 2,
|
|
1412
|
+
recentSuccesses: 18,
|
|
1413
|
+
averageLatency: 150
|
|
1414
|
+
};
|
|
1415
|
+
}
|
|
1416
|
+
/**
|
|
1417
|
+
* Calculate tool complexity
|
|
1418
|
+
*/
|
|
1419
|
+
calculateToolComplexity(toolName) {
|
|
1420
|
+
const complexTools = ['file_write', 'execute_command', 'database_query'];
|
|
1421
|
+
const simpleTools = ['calculator', 'echo', 'get_time'];
|
|
1422
|
+
if (complexTools.includes(toolName))
|
|
1423
|
+
return 0.8;
|
|
1424
|
+
if (simpleTools.includes(toolName))
|
|
1425
|
+
return 0.2;
|
|
1426
|
+
return 0.5;
|
|
1427
|
+
}
|
|
1428
|
+
/**
|
|
1429
|
+
* Categorize tool
|
|
1430
|
+
*/
|
|
1431
|
+
categorizeTool(toolName) {
|
|
1432
|
+
if (!toolName)
|
|
1433
|
+
return 'general';
|
|
1434
|
+
if (toolName.includes('file'))
|
|
1435
|
+
return 'filesystem';
|
|
1436
|
+
if (toolName.includes('web') || toolName.includes('http'))
|
|
1437
|
+
return 'network';
|
|
1438
|
+
if (toolName.includes('calc') || toolName.includes('math'))
|
|
1439
|
+
return 'computation';
|
|
1440
|
+
if (toolName.includes('data') || toolName.includes('query'))
|
|
1441
|
+
return 'database';
|
|
1442
|
+
return 'general';
|
|
1443
|
+
}
|
|
1444
|
+
/**
|
|
1445
|
+
* Get system context
|
|
1446
|
+
*/
|
|
1447
|
+
getSystemContext() {
|
|
1448
|
+
// Real normalized CPU load. Concurrent request tracking has no data
|
|
1449
|
+
// source yet — 0 means "untracked", never a fabricated number.
|
|
1450
|
+
return {
|
|
1451
|
+
load: os.loadavg()[0] / os.cpus().length,
|
|
1452
|
+
concurrentRequests: 0
|
|
1453
|
+
};
|
|
1454
|
+
}
|
|
1455
|
+
/**
|
|
1456
|
+
* Calculate pattern match
|
|
1457
|
+
*/
|
|
1458
|
+
async calculatePatternMatch(toolName, parameters) {
|
|
1459
|
+
// No pattern store is wired up yet: return neutral evidence (0)
|
|
1460
|
+
// rather than a fabricated score.
|
|
1461
|
+
return 0;
|
|
1462
|
+
}
|
|
1463
|
+
/**
|
|
1464
|
+
* Analyze error patterns
|
|
1465
|
+
*/
|
|
1466
|
+
analyzeErrorPatterns(errors) {
|
|
1467
|
+
const patterns = [];
|
|
1468
|
+
const errorTypes = errors.map(e => e.type || 'unknown');
|
|
1469
|
+
const typeCounts = new Map();
|
|
1470
|
+
for (const type of errorTypes) {
|
|
1471
|
+
typeCounts.set(type, (typeCounts.get(type) || 0) + 1);
|
|
1472
|
+
}
|
|
1473
|
+
for (const [type, count] of typeCounts) {
|
|
1474
|
+
if (count > 2)
|
|
1475
|
+
patterns.push(type);
|
|
1476
|
+
}
|
|
1477
|
+
return patterns;
|
|
1478
|
+
}
|
|
1479
|
+
/**
|
|
1480
|
+
* Get parameter patterns
|
|
1481
|
+
*/
|
|
1482
|
+
async getParameterPatterns(toolName) {
|
|
1483
|
+
// Would retrieve from pattern learning service
|
|
1484
|
+
return [];
|
|
1485
|
+
}
|
|
1486
|
+
/**
|
|
1487
|
+
* Get agent behavior
|
|
1488
|
+
*/
|
|
1489
|
+
async getAgentBehavior(agentId) {
|
|
1490
|
+
return {
|
|
1491
|
+
commonTools: ['calculator', 'web_search', 'file_read'],
|
|
1492
|
+
averageToolsPerSession: 5,
|
|
1493
|
+
preferredPatterns: []
|
|
1494
|
+
};
|
|
1495
|
+
}
|
|
1496
|
+
/**
|
|
1497
|
+
* Get performance history
|
|
1498
|
+
*/
|
|
1499
|
+
async getPerformanceHistory(toolName) {
|
|
1500
|
+
return {
|
|
1501
|
+
avgLatency: 100,
|
|
1502
|
+
stdDevLatency: 20,
|
|
1503
|
+
p95Latency: 150,
|
|
1504
|
+
p99Latency: 200
|
|
1505
|
+
};
|
|
1506
|
+
}
|
|
1507
|
+
/**
|
|
1508
|
+
* Matches patterns
|
|
1509
|
+
*/
|
|
1510
|
+
matchesPatterns(toolName, parameters, patterns) {
|
|
1511
|
+
// Simplified pattern matching
|
|
1512
|
+
return 0.7;
|
|
1513
|
+
}
|
|
1514
|
+
/**
|
|
1515
|
+
* Get success rate by hour
|
|
1516
|
+
*/
|
|
1517
|
+
async getSuccessRateByHour(_agentId) {
|
|
1518
|
+
// No per-hour success metrics are recorded yet. Returning null keeps
|
|
1519
|
+
// the timing suggestion honest — fabricated rates produced fake
|
|
1520
|
+
// "your success rate is higher around X:00" advice.
|
|
1521
|
+
return null;
|
|
1522
|
+
}
|
|
1523
|
+
/**
|
|
1524
|
+
* Find best hour
|
|
1525
|
+
*/
|
|
1526
|
+
findBestHour(successByHour) {
|
|
1527
|
+
let bestHour = 0;
|
|
1528
|
+
let bestRate = 0;
|
|
1529
|
+
for (let i = 0; i < successByHour.length; i++) {
|
|
1530
|
+
if (successByHour[i] > bestRate) {
|
|
1531
|
+
bestRate = successByHour[i];
|
|
1532
|
+
bestHour = i;
|
|
1533
|
+
}
|
|
1534
|
+
}
|
|
1535
|
+
return bestHour;
|
|
1536
|
+
}
|
|
1537
|
+
/**
|
|
1538
|
+
* Get pattern history
|
|
1539
|
+
*/
|
|
1540
|
+
async getPatternHistory(pattern, _timeframe) {
|
|
1541
|
+
// Fail fast: there is no historical pattern store. Forecasting over
|
|
1542
|
+
// fabricated data produced confident-looking noise.
|
|
1543
|
+
throw new Error(`Pattern history tracking is not implemented — cannot forecast '${pattern}' without a data source`);
|
|
1544
|
+
}
|
|
1545
|
+
/**
|
|
1546
|
+
* Get historical risk
|
|
1547
|
+
*/
|
|
1548
|
+
async getHistoricalRisk(agentId) {
|
|
1549
|
+
return 45; // Baseline risk
|
|
1550
|
+
}
|
|
1551
|
+
/**
|
|
1552
|
+
* Generate cache key
|
|
1553
|
+
*/
|
|
1554
|
+
generateCacheKey(type, agentId, toolName, parameters) {
|
|
1555
|
+
return `${type}:${agentId}:${toolName}:${JSON.stringify(parameters)}`;
|
|
1556
|
+
}
|
|
1557
|
+
/**
|
|
1558
|
+
* Update prediction time
|
|
1559
|
+
*/
|
|
1560
|
+
updatePredictionTime(time) {
|
|
1561
|
+
const alpha = 0.1; // Exponential smoothing factor
|
|
1562
|
+
this.metrics.averagePredictionTime =
|
|
1563
|
+
alpha * time + (1 - alpha) * this.metrics.averagePredictionTime;
|
|
1564
|
+
}
|
|
1565
|
+
// =============================================================================
|
|
1566
|
+
// EVENT LISTENERS
|
|
1567
|
+
// =============================================================================
|
|
1568
|
+
/**
|
|
1569
|
+
* Setup event listeners
|
|
1570
|
+
*/
|
|
1571
|
+
setupEventListeners() {
|
|
1572
|
+
// Collect training data from events
|
|
1573
|
+
EventBus.server.on(Events.Mcp.TOOL_RESULT, async (event) => {
|
|
1574
|
+
try {
|
|
1575
|
+
const features = await this.extractFeatures(event.agentId, event.channelId, event.toolName, event.parameters || {});
|
|
1576
|
+
this.trainingData.push({
|
|
1577
|
+
features,
|
|
1578
|
+
label: {
|
|
1579
|
+
type: 'error_occurred',
|
|
1580
|
+
value: !event.success
|
|
1581
|
+
},
|
|
1582
|
+
timestamp: Date.now()
|
|
1583
|
+
});
|
|
1584
|
+
// Trim training data
|
|
1585
|
+
if (this.trainingData.length > this.config.maxTrainingDataSize) {
|
|
1586
|
+
this.trainingData.shift();
|
|
1587
|
+
}
|
|
1588
|
+
}
|
|
1589
|
+
catch (error) {
|
|
1590
|
+
this.logger.warn('Failed to collect training data:', error);
|
|
1591
|
+
}
|
|
1592
|
+
});
|
|
1593
|
+
}
|
|
1594
|
+
/**
|
|
1595
|
+
* Start retrain schedule.
|
|
1596
|
+
*
|
|
1597
|
+
* When TF.js is enabled, both error prediction and anomaly detection
|
|
1598
|
+
* retraining are managed by MxfMLService.scheduleRetrain() (configured
|
|
1599
|
+
* in initializeTfErrorPrediction() and initializeTfAnomalyAutoencoder()).
|
|
1600
|
+
* This interval serves as the retraining path when TF.js is disabled
|
|
1601
|
+
* and as a fallback when MxfMLService scheduling is not active.
|
|
1602
|
+
*/
|
|
1603
|
+
startRetrainSchedule() {
|
|
1604
|
+
this.retrainInterval = setInterval(() => {
|
|
1605
|
+
this.trainModels();
|
|
1606
|
+
}, this.config.retrainInterval);
|
|
1607
|
+
}
|
|
1608
|
+
// =============================================================================
|
|
1609
|
+
// PUBLIC API
|
|
1610
|
+
// =============================================================================
|
|
1611
|
+
/**
|
|
1612
|
+
* Get model metadata
|
|
1613
|
+
*/
|
|
1614
|
+
getModelMetadata() {
|
|
1615
|
+
return Array.from(this.modelMetadata.values());
|
|
1616
|
+
}
|
|
1617
|
+
/**
|
|
1618
|
+
* Get metrics
|
|
1619
|
+
*/
|
|
1620
|
+
getMetrics() {
|
|
1621
|
+
return { ...this.metrics };
|
|
1622
|
+
}
|
|
1623
|
+
/**
|
|
1624
|
+
* Get configuration
|
|
1625
|
+
*/
|
|
1626
|
+
getConfig() {
|
|
1627
|
+
return { ...this.config };
|
|
1628
|
+
}
|
|
1629
|
+
/**
|
|
1630
|
+
* Update configuration
|
|
1631
|
+
*/
|
|
1632
|
+
updateConfig(newConfig) {
|
|
1633
|
+
this.config = { ...this.config, ...newConfig };
|
|
1634
|
+
}
|
|
1635
|
+
/**
|
|
1636
|
+
* Clear training data (for testing)
|
|
1637
|
+
*/
|
|
1638
|
+
clearTrainingData() {
|
|
1639
|
+
this.trainingData.length = 0;
|
|
1640
|
+
this.predictionCache.clear();
|
|
1641
|
+
}
|
|
1642
|
+
/**
|
|
1643
|
+
* Cleanup.
|
|
1644
|
+
*
|
|
1645
|
+
* Stops the retrain schedule. TF.js model disposal is handled by
|
|
1646
|
+
* MxfMLService.dispose() during server shutdown.
|
|
1647
|
+
*/
|
|
1648
|
+
cleanup() {
|
|
1649
|
+
if (this.retrainInterval) {
|
|
1650
|
+
clearInterval(this.retrainInterval);
|
|
1651
|
+
}
|
|
1652
|
+
this.tfErrorPredictionReady = false;
|
|
1653
|
+
this.tfAnomalyAutoencoderReady = false;
|
|
1654
|
+
}
|
|
1655
|
+
}
|
|
1656
|
+
//# sourceMappingURL=PredictiveAnalyticsService.js.map
|