@mxf-dev/core 1.0.0 → 2.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/README.md +19 -1
- package/dist/adapters/FrameworkAdapter.d.ts +1 -1
- package/dist/adapters/FrameworkAdapter.js +2 -2
- package/dist/adapters/FrameworkAdapter.js.map +1 -1
- package/dist/adapters/index.d.ts +1 -1
- package/dist/adapters/index.js +1 -1
- package/dist/config/ConfigManager.d.ts +10 -9
- package/dist/config/ConfigManager.d.ts.map +1 -1
- package/dist/config/ConfigManager.js +48 -18
- package/dist/config/ConfigManager.js.map +1 -1
- package/dist/config/McpPromptsConfig.d.ts +1 -1
- package/dist/config/McpPromptsConfig.js +1 -1
- package/dist/config/ModelContextLimits.d.ts +1 -1
- package/dist/config/ModelContextLimits.js +1 -1
- package/dist/config/PromptCompactionConfig.d.ts +1 -1
- package/dist/config/PromptCompactionConfig.js +1 -1
- package/dist/config/PromptConfig.d.ts +1 -1
- package/dist/config/PromptConfig.js +1 -1
- package/dist/config/ServerConfig.d.ts +1 -1
- package/dist/config/ServerConfig.js +1 -1
- package/dist/config/dag.config.d.ts +1 -1
- package/dist/config/dag.config.js +1 -1
- package/dist/config/knowledge-graph.config.d.ts +1 -1
- package/dist/config/knowledge-graph.config.js +1 -1
- package/dist/config/memory-strata.config.d.ts +25 -0
- package/dist/config/memory-strata.config.d.ts.map +1 -0
- package/dist/config/memory-strata.config.js +107 -0
- package/dist/config/memory-strata.config.js.map +1 -0
- package/dist/config/orpar-memory.config.d.ts +1 -1
- package/dist/config/orpar-memory.config.js +1 -1
- package/dist/config/tensorflow.config.d.ts +1 -1
- package/dist/config/tensorflow.config.js +1 -1
- package/dist/constants/CoreTools.d.ts +1 -1
- package/dist/constants/CoreTools.js +1 -1
- package/dist/constants/DefaultPhaseProfiles.d.ts +1 -1
- package/dist/constants/DefaultPhaseProfiles.js +1 -1
- package/dist/constants/ToolNames.d.ts +2 -30
- package/dist/constants/ToolNames.d.ts.map +1 -1
- package/dist/constants/ToolNames.js +5 -18
- package/dist/constants/ToolNames.js.map +1 -1
- package/dist/database/DatabaseAdapterFactory.d.ts +15 -3
- package/dist/database/DatabaseAdapterFactory.d.ts.map +1 -1
- package/dist/database/DatabaseAdapterFactory.js +22 -7
- package/dist/database/DatabaseAdapterFactory.js.map +1 -1
- package/dist/database/adapters/mongodb/MongoAgentRepository.d.ts +1 -1
- package/dist/database/adapters/mongodb/MongoAgentRepository.js +1 -1
- package/dist/database/adapters/mongodb/MongoBaseRepository.d.ts +8 -2
- package/dist/database/adapters/mongodb/MongoBaseRepository.d.ts.map +1 -1
- package/dist/database/adapters/mongodb/MongoBaseRepository.js +13 -3
- package/dist/database/adapters/mongodb/MongoBaseRepository.js.map +1 -1
- package/dist/database/adapters/mongodb/MongoChannelRepository.d.ts +1 -1
- package/dist/database/adapters/mongodb/MongoChannelRepository.js +1 -1
- package/dist/database/adapters/mongodb/MongoDagRepository.d.ts +1 -1
- package/dist/database/adapters/mongodb/MongoDagRepository.js +1 -1
- package/dist/database/adapters/mongodb/MongoKnowledgeGraphRepository.d.ts +1 -1
- package/dist/database/adapters/mongodb/MongoKnowledgeGraphRepository.js +1 -1
- package/dist/database/adapters/mongodb/MongoMemoryRepository.d.ts +1 -1
- package/dist/database/adapters/mongodb/MongoMemoryRepository.js +1 -1
- package/dist/database/adapters/mongodb/MongoTaskRepository.d.ts +1 -1
- package/dist/database/adapters/mongodb/MongoTaskRepository.js +1 -1
- package/dist/database/adapters/mongodb/index.d.ts +1 -1
- package/dist/database/adapters/mongodb/index.js +1 -1
- package/dist/database/index.d.ts +1 -1
- package/dist/database/index.js +1 -1
- package/dist/events/ClientEventBus.d.ts +17 -78
- package/dist/events/ClientEventBus.d.ts.map +1 -1
- package/dist/events/ClientEventBus.js +39 -312
- package/dist/events/ClientEventBus.js.map +1 -1
- package/dist/events/EventBus.d.ts +2 -2
- package/dist/events/EventBus.d.ts.map +1 -1
- package/dist/events/EventBus.js +6 -5
- package/dist/events/EventBus.js.map +1 -1
- package/dist/events/EventBusBase.d.ts +140 -35
- package/dist/events/EventBusBase.d.ts.map +1 -1
- package/dist/events/EventBusBase.js +367 -89
- package/dist/events/EventBusBase.js.map +1 -1
- package/dist/events/EventNames.d.ts +11 -2
- package/dist/events/EventNames.d.ts.map +1 -1
- package/dist/events/EventNames.js +4 -1
- package/dist/events/EventNames.js.map +1 -1
- package/dist/events/PublicEvents.d.ts +7 -3
- package/dist/events/PublicEvents.d.ts.map +1 -1
- package/dist/events/PublicEvents.js +8 -5
- package/dist/events/PublicEvents.js.map +1 -1
- package/dist/events/ServerEventBus.d.ts +24 -113
- package/dist/events/ServerEventBus.d.ts.map +1 -1
- package/dist/events/ServerEventBus.js +59 -324
- package/dist/events/ServerEventBus.js.map +1 -1
- package/dist/events/event-definitions/AgentEvents.d.ts +1 -1
- package/dist/events/event-definitions/AgentEvents.js +1 -1
- package/dist/events/event-definitions/AnalyticsEvents.d.ts +1 -1
- package/dist/events/event-definitions/AnalyticsEvents.js +1 -1
- package/dist/events/event-definitions/BulkEvents.d.ts +1 -1
- package/dist/events/event-definitions/BulkEvents.js +1 -1
- package/dist/events/event-definitions/ChannelEvents.d.ts +1 -1
- package/dist/events/event-definitions/ChannelEvents.js +1 -1
- package/dist/events/event-definitions/CodeExecutionEvents.d.ts +1 -1
- package/dist/events/event-definitions/CodeExecutionEvents.js +1 -1
- package/dist/events/event-definitions/CompactionEvents.d.ts +1 -1
- package/dist/events/event-definitions/CompactionEvents.js +1 -1
- package/dist/events/event-definitions/ConfigEvents.d.ts +1 -1
- package/dist/events/event-definitions/ConfigEvents.js +1 -1
- package/dist/events/event-definitions/ControlLoopEvents.d.ts +1 -1
- package/dist/events/event-definitions/ControlLoopEvents.js +1 -1
- package/dist/events/event-definitions/DagEvents.d.ts +1 -1
- package/dist/events/event-definitions/DagEvents.js +1 -1
- package/dist/events/event-definitions/HeartbeatEvents.d.ts +1 -1
- package/dist/events/event-definitions/HeartbeatEvents.js +1 -1
- package/dist/events/event-definitions/InferenceParameterEvents.d.ts +1 -1
- package/dist/events/event-definitions/InferenceParameterEvents.js +1 -1
- package/dist/events/event-definitions/KeyEvents.d.ts +1 -1
- package/dist/events/event-definitions/KeyEvents.js +1 -1
- package/dist/events/event-definitions/KnowledgeGraphEvents.d.ts +1 -1
- package/dist/events/event-definitions/KnowledgeGraphEvents.js +1 -1
- package/dist/events/event-definitions/LlmBudgetEvents.d.ts +68 -0
- package/dist/events/event-definitions/LlmBudgetEvents.d.ts.map +1 -0
- package/dist/events/event-definitions/LlmBudgetEvents.js +35 -0
- package/dist/events/event-definitions/LlmBudgetEvents.js.map +1 -0
- package/dist/events/event-definitions/LlmEvents.d.ts +1 -1
- package/dist/events/event-definitions/LlmEvents.js +1 -1
- package/dist/events/event-definitions/McpEvents.d.ts +1 -1
- package/dist/events/event-definitions/McpEvents.js +1 -1
- package/dist/events/event-definitions/MeilisearchEvents.d.ts +1 -1
- package/dist/events/event-definitions/MeilisearchEvents.js +1 -1
- package/dist/events/event-definitions/MemoryEvents.d.ts +1 -1
- package/dist/events/event-definitions/MemoryEvents.js +1 -1
- package/dist/events/event-definitions/MemoryUtilityEvents.d.ts +1 -1
- package/dist/events/event-definitions/MemoryUtilityEvents.js +1 -1
- package/dist/events/event-definitions/MessageEvents.d.ts +1 -1
- package/dist/events/event-definitions/MessageEvents.js +1 -1
- package/dist/events/event-definitions/MxpEvents.d.ts +1 -1
- package/dist/events/event-definitions/MxpEvents.js +1 -1
- package/dist/events/event-definitions/OrparEvents.d.ts +1 -1
- package/dist/events/event-definitions/OrparEvents.js +1 -1
- package/dist/events/event-definitions/OrparMemoryEvents.d.ts +1 -1
- package/dist/events/event-definitions/OrparMemoryEvents.js +1 -1
- package/dist/events/event-definitions/PlanEvents.d.ts +1 -1
- package/dist/events/event-definitions/PlanEvents.js +1 -1
- package/dist/events/event-definitions/ProgressEvents.d.ts +1 -1
- package/dist/events/event-definitions/ProgressEvents.js +1 -1
- package/dist/events/event-definitions/ShellExecutionEvents.d.ts +1 -1
- package/dist/events/event-definitions/ShellExecutionEvents.js +1 -1
- package/dist/events/event-definitions/SystemEvents.d.ts +1 -1
- package/dist/events/event-definitions/SystemEvents.js +1 -1
- package/dist/events/event-definitions/TaskEvents.d.ts +1 -1
- package/dist/events/event-definitions/TaskEvents.js +1 -1
- package/dist/events/event-definitions/TensorFlowEvents.d.ts +1 -1
- package/dist/events/event-definitions/TensorFlowEvents.js +1 -1
- package/dist/events/event-definitions/UserInputEvents.d.ts +1 -1
- package/dist/events/event-definitions/UserInputEvents.js +1 -1
- package/dist/events/event-definitions/WorkflowEvents.d.ts +1 -1
- package/dist/events/event-definitions/WorkflowEvents.js +1 -1
- package/dist/interfaces/AgentContext.d.ts +1 -1
- package/dist/interfaces/AgentContext.js +1 -1
- package/dist/interfaces/AgentInterfaces.d.ts +8 -1
- package/dist/interfaces/AgentInterfaces.d.ts.map +1 -1
- package/dist/interfaces/AgentInterfaces.js +1 -1
- package/dist/interfaces/Channel.d.ts +1 -1
- package/dist/interfaces/Channel.js +1 -1
- package/dist/interfaces/ChannelConfig.d.ts +1 -1
- package/dist/interfaces/ChannelConfig.js +1 -1
- package/dist/interfaces/ChannelConnectionConfig.d.ts +1 -1
- package/dist/interfaces/ChannelConnectionConfig.js +1 -1
- package/dist/interfaces/ChannelInfo.d.ts +1 -1
- package/dist/interfaces/ChannelInfo.js +1 -1
- package/dist/interfaces/ConversationMessage.d.ts +1 -1
- package/dist/interfaces/ConversationMessage.js +1 -1
- package/dist/interfaces/ILlmTopicExtractor.d.ts +1 -1
- package/dist/interfaces/ILlmTopicExtractor.js +1 -1
- package/dist/interfaces/IMemoryPersistence.d.ts +41 -0
- package/dist/interfaces/IMemoryPersistence.d.ts.map +1 -0
- package/dist/interfaces/IMemoryPersistence.js +15 -0
- package/dist/interfaces/IMemoryPersistence.js.map +1 -0
- package/dist/interfaces/SocketServiceInterface.d.ts +1 -1
- package/dist/interfaces/SocketServiceInterface.js +1 -1
- package/dist/interfaces/TaskInterfaces.d.ts +1 -1
- package/dist/interfaces/TaskInterfaces.js +1 -1
- package/dist/middleware/MxpMiddleware.d.ts +9 -2
- package/dist/middleware/MxpMiddleware.d.ts.map +1 -1
- package/dist/middleware/MxpMiddleware.js +43 -21
- package/dist/middleware/MxpMiddleware.js.map +1 -1
- package/dist/models/PatternLearningModels.d.ts +1 -1
- package/dist/models/PatternLearningModels.js +1 -1
- package/dist/models/agent.d.ts +1 -1
- package/dist/models/agent.js +1 -1
- package/dist/models/auditLog.d.ts +1 -1
- package/dist/models/auditLog.js +1 -1
- package/dist/models/channel.d.ts +1 -1
- package/dist/models/channel.js +1 -1
- package/dist/models/channelKey.d.ts +2 -1
- package/dist/models/channelKey.d.ts.map +1 -1
- package/dist/models/channelKey.js +6 -1
- package/dist/models/channelKey.js.map +1 -1
- package/dist/models/codeExecution.d.ts +1 -1
- package/dist/models/codeExecution.js +1 -1
- package/dist/models/controlLoop.d.ts +1 -1
- package/dist/models/controlLoop.js +1 -1
- package/dist/models/coordination.d.ts +1 -1
- package/dist/models/coordination.js +1 -1
- package/dist/models/document.d.ts +1 -1
- package/dist/models/document.js +1 -1
- package/dist/models/entity.d.ts +1 -1
- package/dist/models/entity.js +1 -1
- package/dist/models/mcpTool.d.ts +1 -1
- package/dist/models/mcpTool.js +1 -1
- package/dist/models/mcpToolExecution.d.ts +1 -1
- package/dist/models/mcpToolExecution.js +1 -1
- package/dist/models/memory.d.ts +1 -1
- package/dist/models/memory.js +1 -1
- package/dist/models/memoryStrata.d.ts +1 -1
- package/dist/models/memoryStrata.js +1 -1
- package/dist/models/memoryUtility.d.ts +39 -0
- package/dist/models/memoryUtility.d.ts.map +1 -0
- package/dist/models/memoryUtility.js +39 -0
- package/dist/models/memoryUtility.js.map +1 -0
- package/dist/models/personalAccessToken.d.ts +1 -1
- package/dist/models/personalAccessToken.js +1 -1
- package/dist/models/plan.d.ts +1 -1
- package/dist/models/plan.js +1 -1
- package/dist/models/relationship.d.ts +1 -1
- package/dist/models/relationship.js +1 -1
- package/dist/models/shellOutput.d.ts +1 -1
- package/dist/models/shellOutput.js +1 -1
- package/dist/models/task.d.ts +1 -1
- package/dist/models/task.js +1 -1
- package/dist/models/taskEffectiveness.d.ts +1 -1
- package/dist/models/taskEffectiveness.js +1 -1
- package/dist/models/tool.d.ts +1 -1
- package/dist/models/tool.js +1 -1
- package/dist/models/toolExecution.d.ts +1 -1
- package/dist/models/toolExecution.js +1 -1
- package/dist/models/toolModels.d.ts +1 -1
- package/dist/models/toolModels.js +1 -1
- package/dist/models/user.d.ts +1 -1
- package/dist/models/user.d.ts.map +1 -1
- package/dist/models/user.js +24 -2
- package/dist/models/user.js.map +1 -1
- package/dist/models/userMemory.d.ts +1 -1
- package/dist/models/userMemory.js +1 -1
- package/dist/mxp/BinaryProtocolLayer.d.ts +25 -9
- package/dist/mxp/BinaryProtocolLayer.d.ts.map +1 -1
- package/dist/mxp/BinaryProtocolLayer.js +91 -104
- package/dist/mxp/BinaryProtocolLayer.js.map +1 -1
- package/dist/mxp/ContextCompressionEngine.d.ts +58 -11
- package/dist/mxp/ContextCompressionEngine.d.ts.map +1 -1
- package/dist/mxp/ContextCompressionEngine.js +171 -129
- package/dist/mxp/ContextCompressionEngine.js.map +1 -1
- package/dist/mxp/MxpConfigManager.d.ts +1 -1
- package/dist/mxp/MxpConfigManager.js +1 -1
- package/dist/mxp/MxpTokenOptimizer.d.ts +8 -4
- package/dist/mxp/MxpTokenOptimizer.d.ts.map +1 -1
- package/dist/mxp/MxpTokenOptimizer.js +9 -6
- package/dist/mxp/MxpTokenOptimizer.js.map +1 -1
- package/dist/prompts/ChannelContextProvider.d.ts +1 -1
- package/dist/prompts/ChannelContextProvider.js +1 -1
- package/dist/prompts/DeferredToolSchemaRegistry.d.ts +1 -1
- package/dist/prompts/DeferredToolSchemaRegistry.js +1 -1
- package/dist/prompts/DynamicContextProvider.d.ts +1 -1
- package/dist/prompts/DynamicContextProvider.js +1 -1
- package/dist/prompts/MemoryPromptInjector.d.ts +1 -1
- package/dist/prompts/MemoryPromptInjector.js +1 -1
- package/dist/prompts/MxfAgentSystemPrompt.d.ts +2 -2
- package/dist/prompts/MxfAgentSystemPrompt.d.ts.map +1 -1
- package/dist/prompts/MxfAgentSystemPrompt.js +48 -58
- package/dist/prompts/MxfAgentSystemPrompt.js.map +1 -1
- package/dist/prompts/PromptSegmentRegistry.d.ts +1 -1
- package/dist/prompts/PromptSegmentRegistry.js +1 -1
- package/dist/prompts/ToolBehavioralGuidance.d.ts +1 -1
- package/dist/prompts/ToolBehavioralGuidance.js +1 -1
- package/dist/protocols/binaryProtocol.d.ts +1 -1
- package/dist/protocols/binaryProtocol.js +1 -1
- package/dist/protocols/mcp/ClientExecutableManifest.d.ts +1 -1
- package/dist/protocols/mcp/ClientExecutableManifest.js +1 -1
- package/dist/protocols/mcp/IMcpClient.d.ts +1 -1
- package/dist/protocols/mcp/IMcpClient.js +1 -1
- package/dist/protocols/mcp/LlmProviderFactory.d.ts +1 -1
- package/dist/protocols/mcp/LlmProviderFactory.js +1 -1
- package/dist/protocols/mcp/LlmProviders.d.ts +1 -1
- package/dist/protocols/mcp/LlmProviders.js +1 -1
- package/dist/protocols/mcp/McpClient.d.ts +1 -1
- package/dist/protocols/mcp/McpClient.js +1 -1
- package/dist/protocols/mcp/McpClientFactory.d.ts +1 -1
- package/dist/protocols/mcp/McpClientFactory.js +1 -1
- package/dist/protocols/mcp/McpServerTypes.d.ts +1 -1
- package/dist/protocols/mcp/McpServerTypes.js +1 -1
- package/dist/protocols/mcp/McpToolCallParser.d.ts +1 -1
- package/dist/protocols/mcp/McpToolCallParser.js +1 -1
- package/dist/protocols/mcp/McpToolSchema.d.ts +1 -1
- package/dist/protocols/mcp/McpToolSchema.js +1 -1
- package/dist/protocols/mcp/ToolError.d.ts +123 -0
- package/dist/protocols/mcp/ToolError.d.ts.map +1 -0
- package/dist/protocols/mcp/ToolError.js +108 -0
- package/dist/protocols/mcp/ToolError.js.map +1 -0
- package/dist/protocols/mcp/converters/IFormatConverter.d.ts +1 -1
- package/dist/protocols/mcp/converters/IFormatConverter.js +1 -1
- package/dist/protocols/mcp/converters/UnifiedMessageConverter.d.ts +1 -1
- package/dist/protocols/mcp/converters/UnifiedMessageConverter.js +1 -1
- package/dist/protocols/mcp/converters/adapters/AnthropicMessageAdapter.d.ts +1 -1
- package/dist/protocols/mcp/converters/adapters/AnthropicMessageAdapter.js +1 -1
- package/dist/protocols/mcp/converters/adapters/GeminiMessageAdapter.d.ts +1 -1
- package/dist/protocols/mcp/converters/adapters/GeminiMessageAdapter.js +1 -1
- package/dist/protocols/mcp/converters/adapters/OpenAiMessageAdapter.d.ts +1 -1
- package/dist/protocols/mcp/converters/adapters/OpenAiMessageAdapter.js +1 -1
- package/dist/protocols/mcp/converters/adapters/OpenRouterMessageAdapter.d.ts +1 -1
- package/dist/protocols/mcp/converters/adapters/OpenRouterMessageAdapter.js +1 -1
- package/dist/protocols/mcp/converters/adapters/XaiMessageAdapter.d.ts +1 -1
- package/dist/protocols/mcp/converters/adapters/XaiMessageAdapter.js +1 -1
- package/dist/protocols/mcp/defineTool.d.ts +133 -0
- package/dist/protocols/mcp/defineTool.d.ts.map +1 -0
- package/dist/protocols/mcp/defineTool.js +236 -0
- package/dist/protocols/mcp/defineTool.js.map +1 -0
- package/dist/protocols/mcp/providers/AnthropicMcpClient.d.ts +1 -1
- package/dist/protocols/mcp/providers/AnthropicMcpClient.js +1 -1
- package/dist/protocols/mcp/providers/AzureOpenAiMcpClient.d.ts +1 -1
- package/dist/protocols/mcp/providers/AzureOpenAiMcpClient.js +1 -1
- package/dist/protocols/mcp/providers/BaseMcpClient.d.ts +1 -1
- package/dist/protocols/mcp/providers/BaseMcpClient.js +1 -1
- package/dist/protocols/mcp/providers/CustomMcpClient.d.ts +1 -1
- package/dist/protocols/mcp/providers/CustomMcpClient.js +1 -1
- package/dist/protocols/mcp/providers/GeminiMcpClient.d.ts +1 -1
- package/dist/protocols/mcp/providers/GeminiMcpClient.js +1 -1
- package/dist/protocols/mcp/providers/OllamaMcpClient.d.ts +1 -1
- package/dist/protocols/mcp/providers/OllamaMcpClient.js +1 -1
- package/dist/protocols/mcp/providers/OpenAiMcpClient.d.ts +1 -1
- package/dist/protocols/mcp/providers/OpenAiMcpClient.js +1 -1
- package/dist/protocols/mcp/providers/OpenRouterMcpClient.d.ts +15 -1
- package/dist/protocols/mcp/providers/OpenRouterMcpClient.d.ts.map +1 -1
- package/dist/protocols/mcp/providers/OpenRouterMcpClient.js +32 -22
- package/dist/protocols/mcp/providers/OpenRouterMcpClient.js.map +1 -1
- package/dist/protocols/mcp/providers/XaiMcpClient.d.ts +1 -1
- package/dist/protocols/mcp/providers/XaiMcpClient.js +1 -1
- package/dist/protocols/mcp/security/HttpTargetGuard.d.ts +38 -0
- package/dist/protocols/mcp/security/HttpTargetGuard.d.ts.map +1 -0
- package/dist/protocols/mcp/security/HttpTargetGuard.js +227 -0
- package/dist/protocols/mcp/security/HttpTargetGuard.js.map +1 -0
- package/dist/protocols/mcp/security/McpConfirmationManager.d.ts +1 -1
- package/dist/protocols/mcp/security/McpConfirmationManager.js +1 -1
- package/dist/protocols/mcp/security/McpSecurityConfig.d.ts +1 -1
- package/dist/protocols/mcp/security/McpSecurityConfig.js +1 -1
- package/dist/protocols/mcp/security/McpSecurityGuard.d.ts +10 -2
- package/dist/protocols/mcp/security/McpSecurityGuard.d.ts.map +1 -1
- package/dist/protocols/mcp/security/McpSecurityGuard.js +11 -3
- package/dist/protocols/mcp/security/McpSecurityGuard.js.map +1 -1
- package/dist/protocols/mcp/security/McpToolPolicy.d.ts +81 -0
- package/dist/protocols/mcp/security/McpToolPolicy.d.ts.map +1 -0
- package/dist/protocols/mcp/security/McpToolPolicy.js +202 -0
- package/dist/protocols/mcp/security/McpToolPolicy.js.map +1 -0
- package/dist/protocols/mcp/security/index.d.ts +1 -1
- package/dist/protocols/mcp/security/index.js +1 -1
- package/dist/protocols/mcp/services/ExternalMcpServerManager.d.ts +52 -19
- package/dist/protocols/mcp/services/ExternalMcpServerManager.d.ts.map +1 -1
- package/dist/protocols/mcp/services/ExternalMcpServerManager.js +257 -284
- package/dist/protocols/mcp/services/ExternalMcpServerManager.js.map +1 -1
- package/dist/protocols/mcp/services/ExternalServerConfigs.d.ts +40 -7
- package/dist/protocols/mcp/services/ExternalServerConfigs.d.ts.map +1 -1
- package/dist/protocols/mcp/services/ExternalServerConfigs.js +77 -19
- package/dist/protocols/mcp/services/ExternalServerConfigs.js.map +1 -1
- package/dist/protocols/mcp/services/IToolEventEmitter.d.ts +1 -1
- package/dist/protocols/mcp/services/IToolEventEmitter.js +1 -1
- package/dist/protocols/mcp/tools/AnalyticsTools.d.ts +1 -1
- package/dist/protocols/mcp/tools/AnalyticsTools.js +2 -2
- package/dist/protocols/mcp/tools/AnalyticsTools.js.map +1 -1
- package/dist/protocols/mcp/tools/CodeAnalysisTools.d.ts +1 -1
- package/dist/protocols/mcp/tools/CodeAnalysisTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/CodeAnalysisTools.js +16 -1
- package/dist/protocols/mcp/tools/CodeAnalysisTools.js.map +1 -1
- package/dist/protocols/mcp/tools/DateTimeTools.d.ts +1 -1
- package/dist/protocols/mcp/tools/DateTimeTools.js +1 -1
- package/dist/protocols/mcp/tools/EffectivenessTools.d.ts +1 -1
- package/dist/protocols/mcp/tools/EffectivenessTools.js +4 -4
- package/dist/protocols/mcp/tools/EffectivenessTools.js.map +1 -1
- package/dist/protocols/mcp/tools/GitTools.d.ts +10 -370
- package/dist/protocols/mcp/tools/GitTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/GitTools.js +223 -518
- package/dist/protocols/mcp/tools/GitTools.js.map +1 -1
- package/dist/protocols/mcp/tools/InfrastructureTools.d.ts +57 -25
- package/dist/protocols/mcp/tools/InfrastructureTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/InfrastructureTools.js +118 -27
- package/dist/protocols/mcp/tools/InfrastructureTools.js.map +1 -1
- package/dist/protocols/mcp/tools/JsonTools.d.ts +1 -1
- package/dist/protocols/mcp/tools/JsonTools.js +1 -1
- package/dist/protocols/mcp/tools/KnowledgeGraphTools.d.ts +1 -1
- package/dist/protocols/mcp/tools/KnowledgeGraphTools.js +1 -1
- package/dist/protocols/mcp/tools/MemorySearchTools.d.ts +1 -4
- package/dist/protocols/mcp/tools/MemorySearchTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/MemorySearchTools.js +59 -2
- package/dist/protocols/mcp/tools/MemorySearchTools.js.map +1 -1
- package/dist/protocols/mcp/tools/MemoryUtilityTools.d.ts +1 -1
- package/dist/protocols/mcp/tools/MemoryUtilityTools.js +1 -1
- package/dist/protocols/mcp/tools/OrparTools.d.ts +9 -1
- package/dist/protocols/mcp/tools/OrparTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/OrparTools.js +67 -1
- package/dist/protocols/mcp/tools/OrparTools.js.map +1 -1
- package/dist/protocols/mcp/tools/PlanningTools.d.ts +1 -1
- package/dist/protocols/mcp/tools/PlanningTools.js +1 -1
- package/dist/protocols/mcp/tools/PredictiveTools.d.ts +1 -1
- package/dist/protocols/mcp/tools/PredictiveTools.js +1 -1
- package/dist/protocols/mcp/tools/ProgressTools.d.ts +1 -1
- package/dist/protocols/mcp/tools/ProgressTools.js +1 -1
- package/dist/protocols/mcp/tools/ProjectContextTools.d.ts +1 -1
- package/dist/protocols/mcp/tools/ProjectContextTools.js +1 -1
- package/dist/protocols/mcp/tools/SafetyTools.d.ts +8 -526
- package/dist/protocols/mcp/tools/SafetyTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/SafetyTools.js +350 -515
- package/dist/protocols/mcp/tools/SafetyTools.js.map +1 -1
- package/dist/protocols/mcp/tools/SearchProjectTools.d.ts +1 -1
- package/dist/protocols/mcp/tools/SearchProjectTools.js +1 -1
- package/dist/protocols/mcp/tools/TaskPlanningTools.d.ts +1 -1
- package/dist/protocols/mcp/tools/TaskPlanningTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/TaskPlanningTools.js +57 -27
- package/dist/protocols/mcp/tools/TaskPlanningTools.js.map +1 -1
- package/dist/protocols/mcp/tools/TestTools.d.ts +16 -377
- package/dist/protocols/mcp/tools/TestTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/TestTools.js +242 -364
- package/dist/protocols/mcp/tools/TestTools.js.map +1 -1
- package/dist/protocols/mcp/tools/ToolHelpTools.d.ts +1 -1
- package/dist/protocols/mcp/tools/ToolHelpTools.js +1 -1
- package/dist/protocols/mcp/tools/TypeScriptTools.d.ts +7 -277
- package/dist/protocols/mcp/tools/TypeScriptTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/TypeScriptTools.js +224 -338
- package/dist/protocols/mcp/tools/TypeScriptTools.js.map +1 -1
- package/dist/protocols/mcp/tools/UserInputTools.d.ts +1 -1
- package/dist/protocols/mcp/tools/UserInputTools.js +1 -1
- package/dist/protocols/mcp/tools/UserMemoryTools.d.ts +1 -1
- package/dist/protocols/mcp/tools/UserMemoryTools.js +1 -1
- package/dist/protocols/mcp/tools/WebTools.d.ts +16 -729
- package/dist/protocols/mcp/tools/WebTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/WebTools.js +152 -258
- package/dist/protocols/mcp/tools/WebTools.js.map +1 -1
- package/dist/protocols/mcp/tools/WolframTools.d.ts +1 -1
- package/dist/protocols/mcp/tools/WolframTools.js +1 -1
- package/dist/protocols/mcp/tools/shell/CommandClassification.d.ts +1 -1
- package/dist/protocols/mcp/tools/shell/CommandClassification.js +1 -1
- package/dist/protocols/mcp/tools/shell/CommandSemantics.d.ts +1 -1
- package/dist/protocols/mcp/tools/shell/CommandSemantics.js +1 -1
- package/dist/protocols/mcp/tools/shell/DestructiveCommandWarnings.d.ts +1 -1
- package/dist/protocols/mcp/tools/shell/DestructiveCommandWarnings.js +1 -1
- package/dist/protocols/mcp/tools/shell/LargeOutputHandler.d.ts +1 -1
- package/dist/protocols/mcp/tools/shell/LargeOutputHandler.js +1 -1
- package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.d.ts +6 -4
- package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.js +32 -7
- package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.js.map +1 -1
- package/dist/protocols/mcp/tools/shell/ShellSandbox.d.ts +1 -1
- package/dist/protocols/mcp/tools/shell/ShellSandbox.js +1 -1
- package/dist/protocols/mcp/tools/shell/index.d.ts +1 -1
- package/dist/protocols/mcp/tools/shell/index.js +1 -1
- package/dist/protocols/mcp/utils/JsonRecovery.d.ts +1 -1
- package/dist/protocols/mcp/utils/JsonRecovery.js +1 -1
- package/dist/protocols/mcp/utils/MessageConverters.d.ts +1 -1
- package/dist/protocols/mcp/utils/MessageConverters.js +1 -1
- package/dist/protocols/mcp/utils/NetworkRecovery.d.ts +1 -1
- package/dist/protocols/mcp/utils/NetworkRecovery.js +1 -1
- package/dist/protocols/mcp/utils/ToolHandlers.d.ts +1 -1
- package/dist/protocols/mcp/utils/ToolHandlers.js +1 -1
- package/dist/repositories/interfaces/IAgentRepository.d.ts +1 -1
- package/dist/repositories/interfaces/IAgentRepository.js +1 -1
- package/dist/repositories/interfaces/IBaseRepository.d.ts +1 -1
- package/dist/repositories/interfaces/IBaseRepository.js +1 -1
- package/dist/repositories/interfaces/IChannelRepository.d.ts +1 -1
- package/dist/repositories/interfaces/IChannelRepository.js +1 -1
- package/dist/repositories/interfaces/IDagRepository.d.ts +1 -1
- package/dist/repositories/interfaces/IDagRepository.js +1 -1
- package/dist/repositories/interfaces/IKnowledgeGraphRepository.d.ts +1 -1
- package/dist/repositories/interfaces/IKnowledgeGraphRepository.js +1 -1
- package/dist/repositories/interfaces/IMemoryRepository.d.ts +1 -1
- package/dist/repositories/interfaces/IMemoryRepository.js +1 -1
- package/dist/repositories/interfaces/ITaskRepository.d.ts +1 -1
- package/dist/repositories/interfaces/ITaskRepository.js +1 -1
- package/dist/repositories/interfaces/index.d.ts +1 -1
- package/dist/repositories/interfaces/index.js +1 -1
- package/dist/repositories/types/FilterTypes.d.ts +1 -1
- package/dist/repositories/types/FilterTypes.js +1 -1
- package/dist/repositories/types/PaginationTypes.d.ts +1 -1
- package/dist/repositories/types/PaginationTypes.js +1 -1
- package/dist/schemas/CodeExecutionEventPayloads.d.ts +1 -1
- package/dist/schemas/CodeExecutionEventPayloads.js +1 -1
- package/dist/schemas/EventPayloadSchema.d.ts +22 -1
- package/dist/schemas/EventPayloadSchema.d.ts.map +1 -1
- package/dist/schemas/EventPayloadSchema.js +15 -1
- package/dist/schemas/EventPayloadSchema.js.map +1 -1
- package/dist/schemas/JsonResponseSchemas.d.ts +1 -1
- package/dist/schemas/JsonResponseSchemas.js +1 -1
- package/dist/schemas/MessageSchemas.d.ts +1 -1
- package/dist/schemas/MessageSchemas.js +1 -1
- package/dist/schemas/MxpProtocolSchemas.d.ts +1 -1
- package/dist/schemas/MxpProtocolSchemas.js +1 -1
- package/dist/schemas/ShellExecutionEventPayloads.d.ts +1 -1
- package/dist/schemas/ShellExecutionEventPayloads.js +1 -1
- package/dist/services/AgentPerformanceService.d.ts +1 -1
- package/dist/services/AgentPerformanceService.js +1 -1
- package/dist/services/AutoCorrectionIntegrationService.d.ts +1 -1
- package/dist/services/AutoCorrectionIntegrationService.js +1 -1
- package/dist/services/AutoCorrectionService.d.ts +1 -1
- package/dist/services/AutoCorrectionService.js +1 -1
- package/dist/services/AutoMemoryCreator.d.ts +1 -1
- package/dist/services/AutoMemoryCreator.js +1 -1
- package/dist/services/BackgroundTaskManager.d.ts +1 -1
- package/dist/services/BackgroundTaskManager.d.ts.map +1 -1
- package/dist/services/BackgroundTaskManager.js +13 -5
- package/dist/services/BackgroundTaskManager.js.map +1 -1
- package/dist/services/BrowserManager.d.ts +2 -2
- package/dist/services/BrowserManager.d.ts.map +1 -1
- package/dist/services/BrowserManager.js +27 -4
- package/dist/services/BrowserManager.js.map +1 -1
- package/dist/services/ChannelContextMemoryOperations.d.ts +1 -1
- package/dist/services/ChannelContextMemoryOperations.js +1 -1
- package/dist/services/ChannelContextMessageOperations.d.ts +1 -1
- package/dist/services/ChannelContextMessageOperations.js +1 -1
- package/dist/services/CodeExecutionSandboxService.d.ts +1 -1
- package/dist/services/CodeExecutionSandboxService.js +1 -1
- package/dist/services/ContainerExecutionManager.d.ts +1 -1
- package/dist/services/ContainerExecutionManager.js +1 -1
- package/dist/services/ContentProcessor.d.ts +1 -1
- package/dist/services/ContentProcessor.js +1 -1
- package/dist/services/McpToolDocumentationService.d.ts +1 -1
- package/dist/services/McpToolDocumentationService.js +1 -1
- package/dist/services/MemoryCompressor.d.ts +12 -3
- package/dist/services/MemoryCompressor.d.ts.map +1 -1
- package/dist/services/MemoryCompressor.js +9 -27
- package/dist/services/MemoryCompressor.js.map +1 -1
- package/dist/services/MemoryService.d.ts +17 -4
- package/dist/services/MemoryService.d.ts.map +1 -1
- package/dist/services/MemoryService.js +80 -56
- package/dist/services/MemoryService.js.map +1 -1
- package/dist/services/MxfMLService.d.ts +16 -1
- package/dist/services/MxfMLService.d.ts.map +1 -1
- package/dist/services/MxfMLService.js +55 -16
- package/dist/services/MxfMLService.js.map +1 -1
- package/dist/services/MxfMeilisearchService.d.ts +1 -1
- package/dist/services/MxfMeilisearchService.js +1 -1
- package/dist/services/MxfMessageAggregator.d.ts +1 -1
- package/dist/services/MxfMessageAggregator.js +1 -1
- package/dist/services/PatternLearningService.d.ts +1 -1
- package/dist/services/PatternLearningService.js +1 -1
- package/dist/services/PerformanceOptimizationService.d.ts +1 -1
- package/dist/services/PerformanceOptimizationService.js +1 -1
- package/dist/services/PredictiveAnalyticsService.d.ts +35 -5
- package/dist/services/PredictiveAnalyticsService.d.ts.map +1 -1
- package/dist/services/PredictiveAnalyticsService.js +42 -26
- package/dist/services/PredictiveAnalyticsService.js.map +1 -1
- package/dist/services/ProactiveValidationService.d.ts +1 -1
- package/dist/services/ProactiveValidationService.js +1 -1
- package/dist/services/PromptArgumentInferenceService.d.ts +1 -1
- package/dist/services/PromptArgumentInferenceService.js +1 -1
- package/dist/services/QValueManager.d.ts +8 -1
- package/dist/services/QValueManager.d.ts.map +1 -1
- package/dist/services/QValueManager.js +10 -1
- package/dist/services/QValueManager.js.map +1 -1
- package/dist/services/ReasoningToolParser.d.ts +1 -1
- package/dist/services/ReasoningToolParser.js +1 -1
- package/dist/services/RecoveryWorkflowService.d.ts +1 -1
- package/dist/services/RecoveryWorkflowService.js +1 -1
- package/dist/services/ReflectionService.d.ts +1 -1
- package/dist/services/ReflectionService.js +1 -1
- package/dist/services/RetentionGateService.d.ts +1 -1
- package/dist/services/RetentionGateService.js +1 -1
- package/dist/services/RewardSignalProcessor.d.ts +39 -2
- package/dist/services/RewardSignalProcessor.d.ts.map +1 -1
- package/dist/services/RewardSignalProcessor.js +110 -8
- package/dist/services/RewardSignalProcessor.js.map +1 -1
- package/dist/services/SharedStateService.d.ts +17 -3
- package/dist/services/SharedStateService.d.ts.map +1 -1
- package/dist/services/SharedStateService.js +45 -4
- package/dist/services/SharedStateService.js.map +1 -1
- package/dist/services/StratumManager.d.ts +1 -1
- package/dist/services/StratumManager.js +1 -1
- package/dist/services/StructuredSummaryBuilder.d.ts +1 -1
- package/dist/services/StructuredSummaryBuilder.js +1 -1
- package/dist/services/SurpriseCalculator.d.ts +1 -1
- package/dist/services/SurpriseCalculator.js +1 -1
- package/dist/services/SystemLlmMemoryAnalyzer.d.ts +1 -1
- package/dist/services/SystemLlmMemoryAnalyzer.js +1 -1
- package/dist/services/TaskEffectivenessService.d.ts +35 -19
- package/dist/services/TaskEffectivenessService.d.ts.map +1 -1
- package/dist/services/TaskEffectivenessService.js +92 -156
- package/dist/services/TaskEffectivenessService.js.map +1 -1
- package/dist/services/ToolExecutionInterceptor.d.ts +1 -1
- package/dist/services/ToolExecutionInterceptor.js +1 -1
- package/dist/services/UserInputRequestManager.d.ts +1 -1
- package/dist/services/UserInputRequestManager.js +1 -1
- package/dist/services/UserMemoryService.d.ts +1 -1
- package/dist/services/UserMemoryService.js +1 -1
- package/dist/services/UtilityScorerService.d.ts +1 -1
- package/dist/services/UtilityScorerService.js +1 -1
- package/dist/services/ValidationAnalyticsService.d.ts +1 -1
- package/dist/services/ValidationAnalyticsService.js +1 -1
- package/dist/services/ValidationCacheService.d.ts +1 -1
- package/dist/services/ValidationCacheService.js +1 -1
- package/dist/services/ValidationMiddleware.d.ts +1 -1
- package/dist/services/ValidationMiddleware.js +1 -1
- package/dist/services/ValidationPerformanceService.d.ts +1 -1
- package/dist/services/ValidationPerformanceService.js +1 -1
- package/dist/services/WebSearchService.d.ts +1 -1
- package/dist/services/WebSearchService.d.ts.map +1 -1
- package/dist/services/WebSearchService.js +1 -1
- package/dist/services/WebSearchService.js.map +1 -1
- package/dist/services/dag/TaskDagService.d.ts +1 -1
- package/dist/services/dag/TaskDagService.d.ts.map +1 -1
- package/dist/services/dag/TaskDagService.js +3 -1
- package/dist/services/dag/TaskDagService.js.map +1 -1
- package/dist/services/dag/algorithms/TopologicalSort.d.ts +1 -1
- package/dist/services/dag/algorithms/TopologicalSort.js +1 -1
- package/dist/services/kg/EntityExtractionService.d.ts +1 -1
- package/dist/services/kg/EntityExtractionService.js +1 -1
- package/dist/services/kg/EntityQValueManager.d.ts +1 -1
- package/dist/services/kg/EntityQValueManager.js +1 -1
- package/dist/services/kg/GraphSurpriseCalculator.d.ts +1 -1
- package/dist/services/kg/GraphSurpriseCalculator.js +1 -1
- package/dist/services/kg/KnowledgeGraphService.d.ts +1 -1
- package/dist/services/kg/KnowledgeGraphService.js +1 -1
- package/dist/services/kg/OrparGraphIntegration.d.ts +1 -1
- package/dist/services/kg/OrparGraphIntegration.js +1 -1
- package/dist/services/orpar-memory/CycleConsolidationTrigger.d.ts +1 -1
- package/dist/services/orpar-memory/CycleConsolidationTrigger.js +1 -1
- package/dist/services/orpar-memory/OrparMemoryCoordinator.d.ts +8 -1
- package/dist/services/orpar-memory/OrparMemoryCoordinator.d.ts.map +1 -1
- package/dist/services/orpar-memory/OrparMemoryCoordinator.js +72 -11
- package/dist/services/orpar-memory/OrparMemoryCoordinator.js.map +1 -1
- package/dist/services/orpar-memory/PhaseMemoryOperations.d.ts +1 -1
- package/dist/services/orpar-memory/PhaseMemoryOperations.js +1 -1
- package/dist/services/orpar-memory/PhaseStrataRouter.d.ts +1 -1
- package/dist/services/orpar-memory/PhaseStrataRouter.js +1 -1
- package/dist/services/orpar-memory/PhaseWeightedRewarder.d.ts +1 -1
- package/dist/services/orpar-memory/PhaseWeightedRewarder.js +1 -1
- package/dist/services/orpar-memory/SurpriseOrparAdapter.d.ts +1 -1
- package/dist/services/orpar-memory/SurpriseOrparAdapter.js +1 -1
- package/dist/services/orpar-memory/index.d.ts +1 -1
- package/dist/services/orpar-memory/index.js +1 -1
- package/dist/types/Agent.d.ts +1 -1
- package/dist/types/Agent.js +1 -1
- package/dist/types/AgentPerformanceTypes.d.ts +1 -1
- package/dist/types/AgentPerformanceTypes.js +1 -1
- package/dist/types/AgentRegistry.d.ts +1 -1
- package/dist/types/AgentRegistry.js +1 -1
- package/dist/types/AgentTypes.d.ts +1 -1
- package/dist/types/AgentTypes.js +1 -1
- package/dist/types/ChannelContext.d.ts +1 -1
- package/dist/types/ChannelContext.js +1 -1
- package/dist/types/ControlLoopTypes.d.ts +1 -1
- package/dist/types/ControlLoopTypes.js +1 -1
- package/dist/types/DagTypes.d.ts +1 -1
- package/dist/types/DagTypes.js +1 -1
- package/dist/types/EffectivenessTypes.d.ts +1 -1
- package/dist/types/EffectivenessTypes.js +1 -1
- package/dist/types/InferenceParameterTypes.d.ts +1 -1
- package/dist/types/InferenceParameterTypes.js +1 -1
- package/dist/types/KnowledgeGraphTypes.d.ts +1 -1
- package/dist/types/KnowledgeGraphTypes.js +1 -1
- package/dist/types/LlmTypes.d.ts +1 -1
- package/dist/types/LlmTypes.js +1 -1
- package/dist/types/McpPromptTypes.d.ts +1 -1
- package/dist/types/McpPromptTypes.js +1 -1
- package/dist/types/MemoryTypes.d.ts +1 -1
- package/dist/types/MemoryTypes.js +1 -1
- package/dist/types/MemoryUtilityTypes.d.ts +3 -1
- package/dist/types/MemoryUtilityTypes.d.ts.map +1 -1
- package/dist/types/MemoryUtilityTypes.js +1 -1
- package/dist/types/MemoryUtilityTypes.js.map +1 -1
- package/dist/types/MxpTypes.d.ts +1 -1
- package/dist/types/MxpTypes.js +1 -1
- package/dist/types/NetworkRecoveryTypes.d.ts +1 -1
- package/dist/types/NetworkRecoveryTypes.js +1 -1
- package/dist/types/OrparMemoryIntegrationTypes.d.ts +1 -1
- package/dist/types/OrparMemoryIntegrationTypes.js +1 -1
- package/dist/types/PatternLearningTypes.d.ts +1 -1
- package/dist/types/PatternLearningTypes.js +1 -1
- package/dist/types/PatternMemoryTypes.d.ts +1 -1
- package/dist/types/PatternMemoryTypes.js +1 -1
- package/dist/types/ReflectionTypes.d.ts +1 -1
- package/dist/types/ReflectionTypes.js +1 -1
- package/dist/types/TaskCompletionTypes.d.ts +1 -1
- package/dist/types/TaskCompletionTypes.js +1 -1
- package/dist/types/TaskTypes.d.ts +1 -1
- package/dist/types/TaskTypes.js +1 -1
- package/dist/types/TensorFlowTypes.d.ts +1 -1
- package/dist/types/TensorFlowTypes.js +1 -1
- package/dist/types/ValidationPerformanceTypes.d.ts +1 -1
- package/dist/types/ValidationPerformanceTypes.js +1 -1
- package/dist/types/toolTypes.d.ts +1 -1
- package/dist/types/toolTypes.js +1 -1
- package/dist/types/types.d.ts +1 -1
- package/dist/types/types.js +1 -1
- package/dist/utils/Logger.d.ts +44 -4
- package/dist/utils/Logger.d.ts.map +1 -1
- package/dist/utils/Logger.js +79 -37
- package/dist/utils/Logger.js.map +1 -1
- package/dist/utils/MxpEncryption.d.ts +20 -7
- package/dist/utils/MxpEncryption.d.ts.map +1 -1
- package/dist/utils/MxpEncryption.js +49 -17
- package/dist/utils/MxpEncryption.js.map +1 -1
- package/dist/utils/ParameterNormalizer.d.ts +1 -1
- package/dist/utils/ParameterNormalizer.js +1 -1
- package/dist/utils/PromptTemplateReplacer.d.ts +1 -1
- package/dist/utils/PromptTemplateReplacer.js +1 -1
- package/dist/utils/TokenEstimator.d.ts +1 -1
- package/dist/utils/TokenEstimator.js +1 -1
- package/dist/utils/ToolPaginationUtils.d.ts +1 -1
- package/dist/utils/ToolPaginationUtils.js +1 -1
- package/dist/utils/toon/eligibility.d.ts +1 -1
- package/dist/utils/toon/eligibility.js +1 -1
- package/dist/utils/toon/encoder.d.ts +1 -1
- package/dist/utils/toon/encoder.js +1 -1
- package/dist/utils/toon/formatter.d.ts +1 -1
- package/dist/utils/toon/formatter.js +1 -1
- package/dist/utils/toon/index.d.ts +1 -1
- package/dist/utils/toon/index.js +1 -1
- package/dist/utils/toon/metrics.d.ts +1 -1
- package/dist/utils/toon/metrics.js +1 -1
- package/dist/utils/toon/types.d.ts +1 -1
- package/dist/utils/toon/types.js +1 -1
- package/dist/utils/validation.d.ts +1 -1
- package/dist/utils/validation.js +1 -1
- package/package.json +20 -5
- package/src/adapters/FrameworkAdapter.ts +2 -2
- package/src/adapters/index.ts +1 -1
- package/src/config/ConfigManager.ts +53 -20
- package/src/config/McpPromptsConfig.ts +1 -1
- package/src/config/ModelContextLimits.ts +1 -1
- package/src/config/PromptCompactionConfig.ts +1 -1
- package/src/config/PromptConfig.ts +1 -1
- package/src/config/ServerConfig.ts +1 -1
- package/src/config/dag.config.ts +1 -1
- package/src/config/knowledge-graph.config.ts +1 -1
- package/src/config/memory-strata.config.ts +136 -0
- package/src/config/orpar-memory.config.ts +1 -1
- package/src/config/tensorflow.config.ts +1 -1
- package/src/constants/CoreTools.ts +1 -1
- package/src/constants/DefaultPhaseProfiles.ts +1 -1
- package/src/constants/ToolNames.ts +5 -19
- package/src/database/DatabaseAdapterFactory.ts +24 -7
- package/src/database/adapters/mongodb/MongoAgentRepository.ts +1 -1
- package/src/database/adapters/mongodb/MongoBaseRepository.ts +17 -3
- package/src/database/adapters/mongodb/MongoChannelRepository.ts +1 -1
- package/src/database/adapters/mongodb/MongoDagRepository.ts +1 -1
- package/src/database/adapters/mongodb/MongoKnowledgeGraphRepository.ts +1 -1
- package/src/database/adapters/mongodb/MongoMemoryRepository.ts +1 -1
- package/src/database/adapters/mongodb/MongoTaskRepository.ts +1 -1
- package/src/database/adapters/mongodb/index.ts +1 -1
- package/src/database/index.ts +1 -1
- package/src/events/ClientEventBus.ts +69 -404
- package/src/events/EventBus.ts +8 -9
- package/src/events/EventBusBase.ts +480 -117
- package/src/events/EventNames.ts +7 -1
- package/src/events/PublicEvents.ts +8 -5
- package/src/events/ServerEventBus.ts +79 -474
- package/src/events/event-definitions/AgentEvents.ts +1 -1
- package/src/events/event-definitions/AnalyticsEvents.ts +1 -1
- package/src/events/event-definitions/BulkEvents.ts +1 -1
- package/src/events/event-definitions/ChannelEvents.ts +1 -1
- package/src/events/event-definitions/CodeExecutionEvents.ts +1 -1
- package/src/events/event-definitions/CompactionEvents.ts +1 -1
- package/src/events/event-definitions/ConfigEvents.ts +1 -1
- package/src/events/event-definitions/ControlLoopEvents.ts +1 -1
- package/src/events/event-definitions/DagEvents.ts +1 -1
- package/src/events/event-definitions/HeartbeatEvents.ts +1 -1
- package/src/events/event-definitions/InferenceParameterEvents.ts +1 -1
- package/src/events/event-definitions/KeyEvents.ts +1 -1
- package/src/events/event-definitions/KnowledgeGraphEvents.ts +1 -1
- package/src/events/event-definitions/LlmBudgetEvents.ts +74 -0
- package/src/events/event-definitions/LlmEvents.ts +1 -1
- package/src/events/event-definitions/McpEvents.ts +1 -1
- package/src/events/event-definitions/MeilisearchEvents.ts +1 -1
- package/src/events/event-definitions/MemoryEvents.ts +1 -1
- package/src/events/event-definitions/MemoryUtilityEvents.ts +1 -1
- package/src/events/event-definitions/MessageEvents.ts +1 -1
- package/src/events/event-definitions/MxpEvents.ts +1 -1
- package/src/events/event-definitions/OrparEvents.ts +1 -1
- package/src/events/event-definitions/OrparMemoryEvents.ts +1 -1
- package/src/events/event-definitions/PlanEvents.ts +1 -1
- package/src/events/event-definitions/ProgressEvents.ts +1 -1
- package/src/events/event-definitions/ShellExecutionEvents.ts +1 -1
- package/src/events/event-definitions/SystemEvents.ts +1 -1
- package/src/events/event-definitions/TaskEvents.ts +1 -1
- package/src/events/event-definitions/TensorFlowEvents.ts +1 -1
- package/src/events/event-definitions/UserInputEvents.ts +1 -1
- package/src/events/event-definitions/WorkflowEvents.ts +1 -1
- package/src/interfaces/AgentContext.ts +1 -1
- package/src/interfaces/AgentInterfaces.ts +9 -2
- package/src/interfaces/Channel.ts +1 -1
- package/src/interfaces/ChannelConfig.ts +1 -1
- package/src/interfaces/ChannelConnectionConfig.ts +1 -1
- package/src/interfaces/ChannelInfo.ts +1 -1
- package/src/interfaces/ConversationMessage.ts +1 -1
- package/src/interfaces/ILlmTopicExtractor.ts +1 -1
- package/src/interfaces/IMemoryPersistence.ts +51 -0
- package/src/interfaces/SocketServiceInterface.ts +1 -1
- package/src/interfaces/TaskInterfaces.ts +1 -1
- package/src/middleware/MxpMiddleware.ts +52 -25
- package/src/models/PatternLearningModels.ts +1 -1
- package/src/models/agent.ts +1 -1
- package/src/models/auditLog.ts +1 -1
- package/src/models/channel.ts +1 -1
- package/src/models/channelKey.ts +19 -5
- package/src/models/codeExecution.ts +1 -1
- package/src/models/controlLoop.ts +1 -1
- package/src/models/coordination.ts +1 -1
- package/src/models/document.ts +1 -1
- package/src/models/entity.ts +1 -1
- package/src/models/mcpTool.ts +1 -1
- package/src/models/mcpToolExecution.ts +1 -1
- package/src/models/memory.ts +1 -1
- package/src/models/memoryStrata.ts +1 -1
- package/src/models/memoryUtility.ts +64 -0
- package/src/models/personalAccessToken.ts +1 -1
- package/src/models/plan.ts +1 -1
- package/src/models/relationship.ts +1 -1
- package/src/models/shellOutput.ts +1 -1
- package/src/models/task.ts +1 -1
- package/src/models/taskEffectiveness.ts +1 -1
- package/src/models/tool.ts +1 -1
- package/src/models/toolExecution.ts +1 -1
- package/src/models/toolModels.ts +1 -1
- package/src/models/user.ts +37 -5
- package/src/models/userMemory.ts +1 -1
- package/src/mxp/BinaryProtocolLayer.ts +109 -125
- package/src/mxp/ContextCompressionEngine.ts +220 -162
- package/src/mxp/MxpConfigManager.ts +1 -1
- package/src/mxp/MxpTokenOptimizer.ts +11 -11
- package/src/prompts/ChannelContextProvider.ts +1 -1
- package/src/prompts/DeferredToolSchemaRegistry.ts +1 -1
- package/src/prompts/DynamicContextProvider.ts +1 -1
- package/src/prompts/MemoryPromptInjector.ts +1 -1
- package/src/prompts/MxfAgentSystemPrompt.ts +46 -56
- package/src/prompts/PromptSegmentRegistry.ts +1 -1
- package/src/prompts/ToolBehavioralGuidance.ts +1 -1
- package/src/protocols/binaryProtocol.ts +1 -1
- package/src/protocols/mcp/ClientExecutableManifest.ts +1 -1
- package/src/protocols/mcp/IMcpClient.ts +1 -1
- package/src/protocols/mcp/LlmProviderFactory.ts +1 -1
- package/src/protocols/mcp/LlmProviders.ts +1 -1
- package/src/protocols/mcp/McpClient.ts +1 -1
- package/src/protocols/mcp/McpClientFactory.ts +1 -1
- package/src/protocols/mcp/McpServerTypes.ts +1 -1
- package/src/protocols/mcp/McpToolCallParser.ts +1 -1
- package/src/protocols/mcp/McpToolSchema.ts +1 -1
- package/src/protocols/mcp/ToolError.ts +201 -0
- package/src/protocols/mcp/converters/IFormatConverter.ts +1 -1
- package/src/protocols/mcp/converters/UnifiedMessageConverter.ts +1 -1
- package/src/protocols/mcp/converters/adapters/AnthropicMessageAdapter.ts +1 -1
- package/src/protocols/mcp/converters/adapters/GeminiMessageAdapter.ts +1 -1
- package/src/protocols/mcp/converters/adapters/OpenAiMessageAdapter.ts +1 -1
- package/src/protocols/mcp/converters/adapters/OpenRouterMessageAdapter.ts +1 -1
- package/src/protocols/mcp/converters/adapters/XaiMessageAdapter.ts +1 -1
- package/src/protocols/mcp/defineTool.ts +379 -0
- package/src/protocols/mcp/providers/AnthropicMcpClient.ts +1 -1
- package/src/protocols/mcp/providers/AzureOpenAiMcpClient.ts +1 -1
- package/src/protocols/mcp/providers/BaseMcpClient.ts +1 -1
- package/src/protocols/mcp/providers/CustomMcpClient.ts +1 -1
- package/src/protocols/mcp/providers/GeminiMcpClient.ts +1 -1
- package/src/protocols/mcp/providers/OllamaMcpClient.ts +1 -1
- package/src/protocols/mcp/providers/OpenAiMcpClient.ts +1 -1
- package/src/protocols/mcp/providers/OpenRouterMcpClient.ts +33 -24
- package/src/protocols/mcp/providers/XaiMcpClient.ts +1 -1
- package/src/protocols/mcp/security/HttpTargetGuard.ts +267 -0
- package/src/protocols/mcp/security/McpConfirmationManager.ts +1 -1
- package/src/protocols/mcp/security/McpSecurityConfig.ts +1 -1
- package/src/protocols/mcp/security/McpSecurityGuard.ts +11 -4
- package/src/protocols/mcp/security/McpToolPolicy.ts +221 -0
- package/src/protocols/mcp/security/index.ts +1 -1
- package/src/protocols/mcp/services/ExternalMcpServerManager.ts +341 -323
- package/src/protocols/mcp/services/ExternalServerConfigs.ts +83 -20
- package/src/protocols/mcp/services/IToolEventEmitter.ts +1 -1
- package/src/protocols/mcp/tools/AnalyticsTools.ts +2 -2
- package/src/protocols/mcp/tools/CodeAnalysisTools.ts +16 -1
- package/src/protocols/mcp/tools/DateTimeTools.ts +1 -1
- package/src/protocols/mcp/tools/EffectivenessTools.ts +4 -4
- package/src/protocols/mcp/tools/GitTools.ts +291 -570
- package/src/protocols/mcp/tools/InfrastructureTools.ts +190 -44
- package/src/protocols/mcp/tools/JsonTools.ts +1 -1
- package/src/protocols/mcp/tools/KnowledgeGraphTools.ts +1 -1
- package/src/protocols/mcp/tools/MemorySearchTools.ts +78 -2
- package/src/protocols/mcp/tools/MemoryUtilityTools.ts +1 -1
- package/src/protocols/mcp/tools/OrparTools.ts +88 -1
- package/src/protocols/mcp/tools/PlanningTools.ts +1 -1
- package/src/protocols/mcp/tools/PredictiveTools.ts +1 -1
- package/src/protocols/mcp/tools/ProgressTools.ts +1 -1
- package/src/protocols/mcp/tools/ProjectContextTools.ts +1 -1
- package/src/protocols/mcp/tools/README.md +3 -3
- package/src/protocols/mcp/tools/SafetyTools.ts +502 -580
- package/src/protocols/mcp/tools/SearchProjectTools.ts +1 -1
- package/src/protocols/mcp/tools/TaskPlanningTools.ts +82 -40
- package/src/protocols/mcp/tools/TestTools.ts +340 -420
- package/src/protocols/mcp/tools/ToolHelpTools.ts +1 -1
- package/src/protocols/mcp/tools/TypeScriptTools.ts +317 -377
- package/src/protocols/mcp/tools/UserInputTools.ts +1 -1
- package/src/protocols/mcp/tools/UserMemoryTools.ts +1 -1
- package/src/protocols/mcp/tools/WebTools.ts +210 -308
- package/src/protocols/mcp/tools/WolframTools.ts +1 -1
- package/src/protocols/mcp/tools/shell/CommandClassification.ts +1 -1
- package/src/protocols/mcp/tools/shell/CommandSemantics.ts +1 -1
- package/src/protocols/mcp/tools/shell/DestructiveCommandWarnings.ts +1 -1
- package/src/protocols/mcp/tools/shell/LargeOutputHandler.ts +1 -1
- package/src/protocols/mcp/tools/shell/ShellExecuteHandler.ts +54 -15
- package/src/protocols/mcp/tools/shell/ShellSandbox.ts +1 -1
- package/src/protocols/mcp/tools/shell/index.ts +1 -1
- package/src/protocols/mcp/utils/JsonRecovery.ts +1 -1
- package/src/protocols/mcp/utils/MessageConverters.ts +1 -1
- package/src/protocols/mcp/utils/NetworkRecovery.ts +1 -1
- package/src/protocols/mcp/utils/ToolHandlers.ts +1 -1
- package/src/repositories/interfaces/IAgentRepository.ts +1 -1
- package/src/repositories/interfaces/IBaseRepository.ts +1 -1
- package/src/repositories/interfaces/IChannelRepository.ts +1 -1
- package/src/repositories/interfaces/IDagRepository.ts +1 -1
- package/src/repositories/interfaces/IKnowledgeGraphRepository.ts +1 -1
- package/src/repositories/interfaces/IMemoryRepository.ts +1 -1
- package/src/repositories/interfaces/ITaskRepository.ts +1 -1
- package/src/repositories/interfaces/index.ts +1 -1
- package/src/repositories/types/FilterTypes.ts +1 -1
- package/src/repositories/types/PaginationTypes.ts +1 -1
- package/src/schemas/CodeExecutionEventPayloads.ts +1 -1
- package/src/schemas/EventPayloadSchema.ts +38 -1
- package/src/schemas/JsonResponseSchemas.ts +1 -1
- package/src/schemas/MessageSchemas.ts +1 -1
- package/src/schemas/MxpProtocolSchemas.ts +1 -1
- package/src/schemas/ShellExecutionEventPayloads.ts +1 -1
- package/src/services/AgentPerformanceService.ts +1 -1
- package/src/services/AutoCorrectionIntegrationService.ts +1 -1
- package/src/services/AutoCorrectionService.ts +1 -1
- package/src/services/AutoMemoryCreator.ts +1 -1
- package/src/services/BackgroundTaskManager.ts +13 -5
- package/src/services/BrowserManager.ts +42 -2
- package/src/services/ChannelContextMemoryOperations.ts +1 -1
- package/src/services/ChannelContextMessageOperations.ts +1 -1
- package/src/services/CodeExecutionSandboxService.ts +1 -1
- package/src/services/ContainerExecutionManager.ts +1 -1
- package/src/services/ContentProcessor.ts +1 -1
- package/src/services/McpToolDocumentationService.ts +1 -1
- package/src/services/MemoryCompressor.ts +21 -33
- package/src/services/MemoryService.ts +97 -59
- package/src/services/MxfMLService.ts +62 -18
- package/src/services/MxfMeilisearchService.ts +1 -1
- package/src/services/MxfMessageAggregator.ts +1 -1
- package/src/services/PatternLearningService.ts +1 -1
- package/src/services/PerformanceOptimizationService.ts +1 -1
- package/src/services/PredictiveAnalyticsService.ts +56 -33
- package/src/services/ProactiveValidationService.ts +1 -1
- package/src/services/PromptArgumentInferenceService.ts +1 -1
- package/src/services/QValueManager.ts +11 -1
- package/src/services/ReasoningToolParser.ts +1 -1
- package/src/services/RecoveryWorkflowService.ts +1 -1
- package/src/services/ReflectionService.ts +1 -1
- package/src/services/RetentionGateService.ts +1 -1
- package/src/services/RewardSignalProcessor.ts +139 -10
- package/src/services/SharedStateService.ts +57 -9
- package/src/services/StratumManager.ts +1 -1
- package/src/services/StructuredSummaryBuilder.ts +1 -1
- package/src/services/SurpriseCalculator.ts +1 -1
- package/src/services/SystemLlmMemoryAnalyzer.ts +1 -1
- package/src/services/TaskEffectivenessService.ts +115 -188
- package/src/services/ToolExecutionInterceptor.ts +1 -1
- package/src/services/UserInputRequestManager.ts +1 -1
- package/src/services/UserMemoryService.ts +1 -1
- package/src/services/UtilityScorerService.ts +1 -1
- package/src/services/ValidationAnalyticsService.ts +1 -1
- package/src/services/ValidationCacheService.ts +1 -1
- package/src/services/ValidationMiddleware.ts +1 -1
- package/src/services/ValidationPerformanceService.ts +1 -1
- package/src/services/WebSearchService.ts +3 -2
- package/src/services/dag/TaskDagService.ts +3 -1
- package/src/services/dag/algorithms/TopologicalSort.ts +1 -1
- package/src/services/kg/EntityExtractionService.ts +1 -1
- package/src/services/kg/EntityQValueManager.ts +1 -1
- package/src/services/kg/GraphSurpriseCalculator.ts +1 -1
- package/src/services/kg/KnowledgeGraphService.ts +1 -1
- package/src/services/kg/OrparGraphIntegration.ts +1 -1
- package/src/services/orpar-memory/CycleConsolidationTrigger.ts +1 -1
- package/src/services/orpar-memory/OrparMemoryCoordinator.ts +87 -11
- package/src/services/orpar-memory/PhaseMemoryOperations.ts +1 -1
- package/src/services/orpar-memory/PhaseStrataRouter.ts +1 -1
- package/src/services/orpar-memory/PhaseWeightedRewarder.ts +1 -1
- package/src/services/orpar-memory/SurpriseOrparAdapter.ts +1 -1
- package/src/services/orpar-memory/index.ts +1 -1
- package/src/types/Agent.ts +1 -1
- package/src/types/AgentPerformanceTypes.ts +1 -1
- package/src/types/AgentRegistry.ts +1 -1
- package/src/types/AgentTypes.ts +1 -1
- package/src/types/ChannelContext.ts +1 -1
- package/src/types/ControlLoopTypes.ts +1 -1
- package/src/types/DagTypes.ts +1 -1
- package/src/types/EffectivenessTypes.ts +1 -1
- package/src/types/InferenceParameterTypes.ts +1 -1
- package/src/types/KnowledgeGraphTypes.ts +1 -1
- package/src/types/LlmTypes.ts +1 -1
- package/src/types/McpPromptTypes.ts +1 -1
- package/src/types/MemoryTypes.ts +1 -1
- package/src/types/MemoryUtilityTypes.ts +3 -1
- package/src/types/MxpTypes.ts +1 -1
- package/src/types/NetworkRecoveryTypes.ts +1 -1
- package/src/types/OrparMemoryIntegrationTypes.ts +1 -1
- package/src/types/PatternLearningTypes.ts +1 -1
- package/src/types/PatternMemoryTypes.ts +1 -1
- package/src/types/ReflectionTypes.ts +1 -1
- package/src/types/TaskCompletionTypes.ts +1 -1
- package/src/types/TaskTypes.ts +1 -1
- package/src/types/TensorFlowTypes.ts +1 -1
- package/src/types/ValidationPerformanceTypes.ts +1 -1
- package/src/types/toolTypes.ts +1 -1
- package/src/types/types.ts +1 -1
- package/src/utils/Logger.ts +117 -41
- package/src/utils/MxpEncryption.ts +70 -35
- package/src/utils/ParameterNormalizer.ts +1 -1
- package/src/utils/PromptTemplateReplacer.ts +1 -1
- package/src/utils/TokenEstimator.ts +1 -1
- package/src/utils/ToolPaginationUtils.ts +1 -1
- package/src/utils/toon/eligibility.ts +1 -1
- package/src/utils/toon/encoder.ts +1 -1
- package/src/utils/toon/formatter.ts +1 -1
- package/src/utils/toon/index.ts +1 -1
- package/src/utils/toon/metrics.ts +1 -1
- package/src/utils/toon/types.ts +1 -1
- package/src/utils/validation.ts +1 -1
- package/dist/mxp/MxpEventForwardingEnhancer.d.ts +0 -134
- package/dist/mxp/MxpEventForwardingEnhancer.d.ts.map +0 -1
- package/dist/mxp/MxpEventForwardingEnhancer.js +0 -361
- package/dist/mxp/MxpEventForwardingEnhancer.js.map +0 -1
- package/dist/protocols/mcp/services/ToolSchemaEnhancements.d.ts +0 -56
- package/dist/protocols/mcp/services/ToolSchemaEnhancements.d.ts.map +0 -1
- package/dist/protocols/mcp/services/ToolSchemaEnhancements.js +0 -57
- package/dist/protocols/mcp/services/ToolSchemaEnhancements.js.map +0 -1
- package/dist/protocols/mcp/tools/ControlLoopLifecycle.d.ts +0 -270
- package/dist/protocols/mcp/tools/ControlLoopLifecycle.d.ts.map +0 -1
- package/dist/protocols/mcp/tools/ControlLoopLifecycle.js +0 -256
- package/dist/protocols/mcp/tools/ControlLoopLifecycle.js.map +0 -1
- package/dist/protocols/mcp/tools/LspTools.d.ts +0 -495
- package/dist/protocols/mcp/tools/LspTools.d.ts.map +0 -1
- package/dist/protocols/mcp/tools/LspTools.js +0 -469
- package/dist/protocols/mcp/tools/LspTools.js.map +0 -1
- package/src/mxp/MxpEventForwardingEnhancer.ts +0 -471
- package/src/protocols/mcp/services/ToolSchemaEnhancements.ts +0 -92
- package/src/protocols/mcp/tools/ControlLoopLifecycle.ts +0 -302
- package/src/protocols/mcp/tools/LspTools.ts +0 -476
|
@@ -0,0 +1,267 @@
|
|
|
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/BradA1878/model-exchange-framework
|
|
18
|
+
* @documentation https://mxf-dev.github.io/mxf/
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* HttpTargetGuard.ts
|
|
23
|
+
*
|
|
24
|
+
* Decides whether an agent-supplied URL may be fetched from the server.
|
|
25
|
+
*
|
|
26
|
+
* The server sits inside the trust boundary: it can reach the MXF API on
|
|
27
|
+
* localhost:3001, Meilisearch, MongoDB, and — on a cloud host — the instance
|
|
28
|
+
* metadata endpoint at 169.254.169.254 that hands out IAM credentials. A tool
|
|
29
|
+
* that fetches an arbitrary URL on the model's behalf turns the server into a
|
|
30
|
+
* proxy across that boundary (server-side request forgery).
|
|
31
|
+
*
|
|
32
|
+
* This guard resolves the hostname and checks every address it resolves to, so a
|
|
33
|
+
* public name that points at 127.0.0.1 is caught as well as a literal IP.
|
|
34
|
+
*
|
|
35
|
+
* The guard fails closed: a target that cannot be resolved or cannot be parsed
|
|
36
|
+
* is refused, with an error saying why. It never silently skips the check.
|
|
37
|
+
*/
|
|
38
|
+
|
|
39
|
+
import { promises as dns } from 'dns';
|
|
40
|
+
import { isIP } from 'net';
|
|
41
|
+
|
|
42
|
+
import { allowPrivateHttpHosts } from './McpToolPolicy.js';
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Result of checking a URL.
|
|
46
|
+
*/
|
|
47
|
+
export interface HttpTargetCheck {
|
|
48
|
+
/** Whether the fetch may proceed */
|
|
49
|
+
allowed: boolean;
|
|
50
|
+
/** Why it was refused — written for the model, so it can correct course */
|
|
51
|
+
reason?: string;
|
|
52
|
+
/** The addresses the hostname resolved to */
|
|
53
|
+
resolvedAddresses?: string[];
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* IPv4 ranges the server must not be steered into.
|
|
58
|
+
* Each entry is [first octet-based CIDR, human name].
|
|
59
|
+
*/
|
|
60
|
+
const BLOCKED_IPV4_RANGES: Array<{ cidr: string; name: string }> = [
|
|
61
|
+
{ cidr: '0.0.0.0/8', name: '"this network"' },
|
|
62
|
+
{ cidr: '10.0.0.0/8', name: 'RFC1918 private network' },
|
|
63
|
+
{ cidr: '100.64.0.0/10', name: 'carrier-grade NAT' },
|
|
64
|
+
{ cidr: '127.0.0.0/8', name: 'loopback' },
|
|
65
|
+
{ cidr: '169.254.0.0/16', name: 'link-local / cloud instance metadata' },
|
|
66
|
+
{ cidr: '172.16.0.0/12', name: 'RFC1918 private network' },
|
|
67
|
+
{ cidr: '192.0.0.0/24', name: 'IETF protocol assignments' },
|
|
68
|
+
{ cidr: '192.168.0.0/16', name: 'RFC1918 private network' },
|
|
69
|
+
{ cidr: '198.18.0.0/15', name: 'benchmark network' },
|
|
70
|
+
{ cidr: '224.0.0.0/4', name: 'multicast' },
|
|
71
|
+
{ cidr: '240.0.0.0/4', name: 'reserved' }
|
|
72
|
+
];
|
|
73
|
+
|
|
74
|
+
/** Convert a dotted-quad IPv4 string to a 32-bit unsigned integer. */
|
|
75
|
+
function ipv4ToInt(address: string): number | null {
|
|
76
|
+
const octets = address.split('.');
|
|
77
|
+
if (octets.length !== 4) {
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
let value = 0;
|
|
82
|
+
for (const octet of octets) {
|
|
83
|
+
// Reject empty, non-numeric, or out-of-range octets rather than coercing.
|
|
84
|
+
if (!/^\d{1,3}$/.test(octet)) {
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
const num = Number(octet);
|
|
88
|
+
if (num > 255) {
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
value = (value << 8) | num;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// `>>> 0` forces the result back to unsigned — the shifts above produce a
|
|
95
|
+
// signed 32-bit int for addresses above 127.255.255.255.
|
|
96
|
+
return value >>> 0;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/** Is an IPv4 address inside the given CIDR block? */
|
|
100
|
+
function ipv4InCidr(address: string, cidr: string): boolean {
|
|
101
|
+
const [network, prefixText] = cidr.split('/');
|
|
102
|
+
const prefix = Number(prefixText);
|
|
103
|
+
|
|
104
|
+
const addressInt = ipv4ToInt(address);
|
|
105
|
+
const networkInt = ipv4ToInt(network);
|
|
106
|
+
|
|
107
|
+
if (addressInt === null || networkInt === null) {
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
// A /0 mask would shift by 32, which is a no-op in JS — handle it explicitly.
|
|
112
|
+
if (prefix === 0) {
|
|
113
|
+
return true;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
const mask = (0xffffffff << (32 - prefix)) >>> 0;
|
|
117
|
+
return (addressInt & mask) === (networkInt & mask);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Is this address one the server must not be steered into?
|
|
122
|
+
*
|
|
123
|
+
* @returns the name of the matched range, or null when the address is fine
|
|
124
|
+
*/
|
|
125
|
+
function matchBlockedRange(address: string): string | null {
|
|
126
|
+
const version = isIP(address);
|
|
127
|
+
|
|
128
|
+
if (version === 4) {
|
|
129
|
+
for (const range of BLOCKED_IPV4_RANGES) {
|
|
130
|
+
if (ipv4InCidr(address, range.cidr)) {
|
|
131
|
+
return range.name;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return null;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
if (version === 6) {
|
|
138
|
+
const normalized = address.toLowerCase();
|
|
139
|
+
|
|
140
|
+
// IPv6 loopback
|
|
141
|
+
if (normalized === '::1' || normalized === '0:0:0:0:0:0:0:1') {
|
|
142
|
+
return 'IPv6 loopback';
|
|
143
|
+
}
|
|
144
|
+
// Unspecified address
|
|
145
|
+
if (normalized === '::' || normalized === '0:0:0:0:0:0:0:0') {
|
|
146
|
+
return 'IPv6 unspecified address';
|
|
147
|
+
}
|
|
148
|
+
// Unique local addresses, fc00::/7
|
|
149
|
+
if (/^f[cd][0-9a-f]{2}:/.test(normalized)) {
|
|
150
|
+
return 'IPv6 unique local address';
|
|
151
|
+
}
|
|
152
|
+
// Link-local, fe80::/10
|
|
153
|
+
if (/^fe[89ab][0-9a-f]:/.test(normalized)) {
|
|
154
|
+
return 'IPv6 link-local address';
|
|
155
|
+
}
|
|
156
|
+
// IPv4-mapped (::ffff:127.0.0.1) — re-check the embedded IPv4 address,
|
|
157
|
+
// otherwise ::ffff:169.254.169.254 would walk straight past this guard.
|
|
158
|
+
const mapped = normalized.match(/^::ffff:(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$/);
|
|
159
|
+
if (mapped) {
|
|
160
|
+
return matchBlockedRange(mapped[1]);
|
|
161
|
+
}
|
|
162
|
+
return null;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
return null;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* Check whether an agent-supplied URL may be fetched.
|
|
170
|
+
*
|
|
171
|
+
* @param rawUrl - The URL the tool was asked to fetch
|
|
172
|
+
* @returns Whether the fetch may proceed, and why not when it may not
|
|
173
|
+
*/
|
|
174
|
+
export async function checkHttpTarget(rawUrl: string): Promise<HttpTargetCheck> {
|
|
175
|
+
let url: URL;
|
|
176
|
+
try {
|
|
177
|
+
url = new URL(rawUrl);
|
|
178
|
+
} catch {
|
|
179
|
+
return {
|
|
180
|
+
allowed: false,
|
|
181
|
+
reason: `"${rawUrl}" is not a valid URL.`
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
// Only HTTP(S). file:, gopher:, ftp: and friends reach places an HTTP client
|
|
186
|
+
// has no business reaching.
|
|
187
|
+
if (url.protocol !== 'http:' && url.protocol !== 'https:') {
|
|
188
|
+
return {
|
|
189
|
+
allowed: false,
|
|
190
|
+
reason: `Protocol "${url.protocol}" is not allowed. Use http: or https:.`
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
// The operator can open this up for local development. Off by default.
|
|
195
|
+
if (allowPrivateHttpHosts()) {
|
|
196
|
+
return { allowed: true };
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
const hostname = url.hostname.replace(/^\[|\]$/g, ''); // strip IPv6 brackets
|
|
200
|
+
|
|
201
|
+
// A literal IP needs no DNS round trip.
|
|
202
|
+
if (isIP(hostname) !== 0) {
|
|
203
|
+
const blocked = matchBlockedRange(hostname);
|
|
204
|
+
if (blocked) {
|
|
205
|
+
return {
|
|
206
|
+
allowed: false,
|
|
207
|
+
reason:
|
|
208
|
+
`Refusing to fetch ${hostname}: it is a ${blocked} address. ` +
|
|
209
|
+
`This tool may only reach public internet hosts. ` +
|
|
210
|
+
`Set MXF_HTTP_ALLOW_PRIVATE_HOSTS=true to permit private addresses.`,
|
|
211
|
+
resolvedAddresses: [hostname]
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
return { allowed: true, resolvedAddresses: [hostname] };
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
// "localhost" and anything under .localhost resolve to loopback by definition.
|
|
218
|
+
const lowerHost = hostname.toLowerCase();
|
|
219
|
+
if (lowerHost === 'localhost' || lowerHost.endsWith('.localhost')) {
|
|
220
|
+
return {
|
|
221
|
+
allowed: false,
|
|
222
|
+
reason:
|
|
223
|
+
`Refusing to fetch ${hostname}: it is a loopback address. ` +
|
|
224
|
+
`This tool may only reach public internet hosts. ` +
|
|
225
|
+
`Set MXF_HTTP_ALLOW_PRIVATE_HOSTS=true to permit private addresses.`
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
// Resolve the name and check every address behind it. A public hostname can
|
|
230
|
+
// legitimately resolve to 127.0.0.1, and a malicious one will.
|
|
231
|
+
let addresses: string[];
|
|
232
|
+
try {
|
|
233
|
+
const records = await dns.lookup(hostname, { all: true, verbatim: true });
|
|
234
|
+
addresses = records.map(record => record.address);
|
|
235
|
+
} catch (error) {
|
|
236
|
+
// Fail closed. An unresolvable host is not a host we quietly try anyway.
|
|
237
|
+
return {
|
|
238
|
+
allowed: false,
|
|
239
|
+
reason:
|
|
240
|
+
`Could not resolve "${hostname}": ` +
|
|
241
|
+
`${error instanceof Error ? error.message : String(error)}`
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
if (addresses.length === 0) {
|
|
246
|
+
return {
|
|
247
|
+
allowed: false,
|
|
248
|
+
reason: `"${hostname}" did not resolve to any address.`
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
for (const address of addresses) {
|
|
253
|
+
const blocked = matchBlockedRange(address);
|
|
254
|
+
if (blocked) {
|
|
255
|
+
return {
|
|
256
|
+
allowed: false,
|
|
257
|
+
reason:
|
|
258
|
+
`Refusing to fetch ${hostname}: it resolves to ${address}, ` +
|
|
259
|
+
`a ${blocked} address. This tool may only reach public internet hosts. ` +
|
|
260
|
+
`Set MXF_HTTP_ALLOW_PRIVATE_HOSTS=true to permit private addresses.`,
|
|
261
|
+
resolvedAddresses: addresses
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
return { allowed: true, resolvedAddresses: addresses };
|
|
267
|
+
}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*
|
|
16
16
|
* @author Brad Anderson <BradA1878@pm.me>
|
|
17
|
-
* @repository https://github.com/
|
|
17
|
+
* @repository https://github.com/BradA1878/model-exchange-framework
|
|
18
18
|
* @documentation https://mxf-dev.github.io/mxf/
|
|
19
19
|
*/
|
|
20
20
|
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*
|
|
16
16
|
* @author Brad Anderson <BradA1878@pm.me>
|
|
17
|
-
* @repository https://github.com/
|
|
17
|
+
* @repository https://github.com/BradA1878/model-exchange-framework
|
|
18
18
|
* @documentation https://mxf-dev.github.io/mxf/
|
|
19
19
|
*/
|
|
20
20
|
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*
|
|
16
16
|
* @author Brad Anderson <BradA1878@pm.me>
|
|
17
|
-
* @repository https://github.com/
|
|
17
|
+
* @repository https://github.com/BradA1878/model-exchange-framework
|
|
18
18
|
* @documentation https://mxf-dev.github.io/mxf/
|
|
19
19
|
*/
|
|
20
20
|
|
|
@@ -203,11 +203,18 @@ export class McpSecurityGuard {
|
|
|
203
203
|
private projectRoot: string;
|
|
204
204
|
private allowedPaths: string[] = [];
|
|
205
205
|
|
|
206
|
-
|
|
207
|
-
|
|
206
|
+
/**
|
|
207
|
+
* @param projectRoot - Root the guard confines filesystem access to
|
|
208
|
+
* @param additionalAllowedPaths - Extra paths outside the project root to permit
|
|
209
|
+
* @param platformOverride - Force the OS rule set. Command rules are OS-specific
|
|
210
|
+
* (`apt-get` is blocked outright on Linux but unknown on macOS, for example), so
|
|
211
|
+
* without this a test asserting one platform's rules passes on a developer's machine
|
|
212
|
+
* and fails on a runner with a different OS. Production code should omit it.
|
|
213
|
+
*/
|
|
214
|
+
constructor(projectRoot: string, additionalAllowedPaths?: string[], platformOverride?: NodeJS.Platform) {
|
|
215
|
+
this.platform = platformOverride ?? platform();
|
|
208
216
|
this.projectRoot = path.resolve(projectRoot);
|
|
209
217
|
this.allowedPaths = [this.projectRoot, ...(additionalAllowedPaths || [])];
|
|
210
|
-
|
|
211
218
|
}
|
|
212
219
|
|
|
213
220
|
/**
|
|
@@ -0,0 +1,221 @@
|
|
|
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/BradA1878/model-exchange-framework
|
|
18
|
+
* @documentation https://mxf-dev.github.io/mxf/
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* McpToolPolicy.ts
|
|
23
|
+
*
|
|
24
|
+
* Operator-controlled policy for the tools that reach outside the process:
|
|
25
|
+
* shell execution, the child environment those shells inherit, the workspace
|
|
26
|
+
* agents may touch, and the hosts `api_fetch` may reach.
|
|
27
|
+
*
|
|
28
|
+
* Every value here comes from configuration (environment variables), never from
|
|
29
|
+
* tool arguments. That distinction is the whole point of the module: an
|
|
30
|
+
* allowlist supplied as a tool input is supplied by the very model it is meant
|
|
31
|
+
* to restrict, so it restricts nothing.
|
|
32
|
+
*
|
|
33
|
+
* Environment variables:
|
|
34
|
+
* MXF_SHELL_ALLOWED_COMMANDS Comma-separated base commands agents may run.
|
|
35
|
+
* Empty/unset means "no command allowlist" — the
|
|
36
|
+
* McpSecurityGuard's own rules still apply.
|
|
37
|
+
* MXF_SHELL_ENV_PASSTHROUGH Comma-separated extra environment variable names
|
|
38
|
+
* to forward to shell children, on top of the
|
|
39
|
+
* always-safe base (PATH, HOME, and friends).
|
|
40
|
+
* MXF_SHELL_SANDBOX_ENABLED 'true' to run shell_execute inside the Docker
|
|
41
|
+
* sandbox (see ShellSandbox.ts). Default false.
|
|
42
|
+
* MXF_WORKSPACE_ROOT Directory agents are allowed to work in. Required
|
|
43
|
+
* by anything that grants filesystem reach; there is
|
|
44
|
+
* no default, because the old default was $HOME.
|
|
45
|
+
* MXF_HTTP_ALLOW_PRIVATE_HOSTS 'true' to let api_fetch reach loopback/private
|
|
46
|
+
* addresses. Default false. Only for local dev.
|
|
47
|
+
*/
|
|
48
|
+
|
|
49
|
+
import * as path from 'path';
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Environment variables always forwarded to a shell child.
|
|
53
|
+
*
|
|
54
|
+
* These are what a process needs to run at all — a PATH to find binaries, a HOME
|
|
55
|
+
* for tool caches, a TMPDIR to write scratch files, and locale/terminal settings
|
|
56
|
+
* so output is not garbled. Nothing here carries a credential.
|
|
57
|
+
*
|
|
58
|
+
* Everything else in the server's environment — JWT_SECRET, MONGODB_URI,
|
|
59
|
+
* OPENROUTER_API_KEY, MEILISEARCH_MASTER_KEY, MXP_ENCRYPTION_KEY — stays behind.
|
|
60
|
+
*/
|
|
61
|
+
const BASE_SHELL_ENV_VARS = [
|
|
62
|
+
'PATH',
|
|
63
|
+
'HOME',
|
|
64
|
+
'USER',
|
|
65
|
+
'LOGNAME',
|
|
66
|
+
'SHELL',
|
|
67
|
+
'LANG',
|
|
68
|
+
'LC_ALL',
|
|
69
|
+
'TERM',
|
|
70
|
+
'TMPDIR',
|
|
71
|
+
'TZ',
|
|
72
|
+
'NODE_ENV',
|
|
73
|
+
// Windows equivalents — a child on win32 cannot resolve paths without these.
|
|
74
|
+
'SYSTEMROOT',
|
|
75
|
+
'COMSPEC',
|
|
76
|
+
'PATHEXT',
|
|
77
|
+
'USERPROFILE',
|
|
78
|
+
'TEMP',
|
|
79
|
+
'TMP'
|
|
80
|
+
];
|
|
81
|
+
|
|
82
|
+
/** Parse a comma-separated env var into a trimmed, non-empty list. */
|
|
83
|
+
function parseList(value: string | undefined): string[] {
|
|
84
|
+
if (!value) {
|
|
85
|
+
return [];
|
|
86
|
+
}
|
|
87
|
+
return value
|
|
88
|
+
.split(',')
|
|
89
|
+
.map(entry => entry.trim())
|
|
90
|
+
.filter(entry => entry.length > 0);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/** Parse a boolean env var. Anything other than 'true' is false. */
|
|
94
|
+
function parseBoolean(value: string | undefined, fallback: boolean): boolean {
|
|
95
|
+
if (value === undefined || value === '') {
|
|
96
|
+
return fallback;
|
|
97
|
+
}
|
|
98
|
+
return value.toLowerCase() === 'true';
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Base commands agents are permitted to run via shell_execute.
|
|
103
|
+
*
|
|
104
|
+
* Read from MXF_SHELL_ALLOWED_COMMANDS. An empty list means no allowlist is
|
|
105
|
+
* configured: the McpSecurityGuard's block rules and confirmation prompts remain
|
|
106
|
+
* the control, exactly as before. This is a config-supplied allowlist, so a model
|
|
107
|
+
* cannot widen it by passing arguments.
|
|
108
|
+
*/
|
|
109
|
+
export function getShellAllowedCommands(): string[] {
|
|
110
|
+
return parseList(process.env.MXF_SHELL_ALLOWED_COMMANDS);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Is a command allowlist configured at all?
|
|
115
|
+
*/
|
|
116
|
+
export function hasShellAllowlist(): boolean {
|
|
117
|
+
return getShellAllowedCommands().length > 0;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Build the environment a shell child process receives.
|
|
122
|
+
*
|
|
123
|
+
* Least privilege: start from the small base set above, add any names the
|
|
124
|
+
* operator explicitly opted into via MXF_SHELL_ENV_PASSTHROUGH, then add the
|
|
125
|
+
* caller's own explicit variables. The server's secrets are never copied in.
|
|
126
|
+
*
|
|
127
|
+
* This mirrors what ExternalMcpServerManager already does when it spawns an
|
|
128
|
+
* external MCP server.
|
|
129
|
+
*
|
|
130
|
+
* @param explicitEnv - Variables the caller wants the child to see
|
|
131
|
+
* @returns The complete environment for the child process
|
|
132
|
+
*/
|
|
133
|
+
export function buildShellChildEnv(
|
|
134
|
+
explicitEnv?: Record<string, string>
|
|
135
|
+
): Record<string, string> {
|
|
136
|
+
const childEnv: Record<string, string> = {};
|
|
137
|
+
|
|
138
|
+
const passthroughNames = [
|
|
139
|
+
...BASE_SHELL_ENV_VARS,
|
|
140
|
+
...parseList(process.env.MXF_SHELL_ENV_PASSTHROUGH)
|
|
141
|
+
];
|
|
142
|
+
|
|
143
|
+
for (const name of passthroughNames) {
|
|
144
|
+
const value = process.env[name];
|
|
145
|
+
if (value !== undefined && value !== '') {
|
|
146
|
+
childEnv[name] = value;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
// Caller-supplied variables are layered last so a tool can set, for example,
|
|
151
|
+
// CI=true or NODE_OPTIONS for the command it is about to run.
|
|
152
|
+
if (explicitEnv) {
|
|
153
|
+
for (const [name, value] of Object.entries(explicitEnv)) {
|
|
154
|
+
if (value !== undefined && value !== null) {
|
|
155
|
+
childEnv[name] = String(value);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
return childEnv;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Should shell_execute run commands inside the Docker sandbox?
|
|
165
|
+
*
|
|
166
|
+
* Off by default: the sandbox requires Docker and the mxf/shell-executor image,
|
|
167
|
+
* and turning it on changes where commands run. When it is on and Docker is
|
|
168
|
+
* missing, execution fails — it never silently falls back to the host.
|
|
169
|
+
*/
|
|
170
|
+
export function isShellSandboxEnabled(): boolean {
|
|
171
|
+
return parseBoolean(process.env.MXF_SHELL_SANDBOX_ENABLED, false);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* The directory tree agents are allowed to work in.
|
|
176
|
+
*
|
|
177
|
+
* Returns undefined when MXF_WORKSPACE_ROOT is not set. Callers that hand out
|
|
178
|
+
* filesystem reach must treat that as fatal — see {@link requireWorkspaceRoot}.
|
|
179
|
+
* There is deliberately no default: the previous default was the user's home
|
|
180
|
+
* directory, which put ~/.ssh, ~/.aws and ~/.mxf/config.json inside the agents'
|
|
181
|
+
* reach.
|
|
182
|
+
*/
|
|
183
|
+
export function getWorkspaceRoot(): string | undefined {
|
|
184
|
+
const configured = process.env.MXF_WORKSPACE_ROOT;
|
|
185
|
+
if (!configured || configured.trim().length === 0) {
|
|
186
|
+
return undefined;
|
|
187
|
+
}
|
|
188
|
+
return path.resolve(configured.trim());
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* The workspace root, or a thrown error explaining how to set it.
|
|
193
|
+
*
|
|
194
|
+
* @throws Error when MXF_WORKSPACE_ROOT is not configured
|
|
195
|
+
*/
|
|
196
|
+
export function requireWorkspaceRoot(consumer: string): string {
|
|
197
|
+
const root = getWorkspaceRoot();
|
|
198
|
+
if (!root) {
|
|
199
|
+
throw new Error(
|
|
200
|
+
`${consumer} needs a workspace directory but MXF_WORKSPACE_ROOT is not set. ` +
|
|
201
|
+
`Set it to the directory agents are allowed to work in ` +
|
|
202
|
+
`(for example: MXF_WORKSPACE_ROOT=/Users/you/projects/my-app). ` +
|
|
203
|
+
`It has no default — the previous default was your home directory, which ` +
|
|
204
|
+
`exposed ~/.ssh, ~/.aws and ~/.mxf/config.json to agents.`
|
|
205
|
+
);
|
|
206
|
+
}
|
|
207
|
+
return root;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* May api_fetch reach loopback and private-network addresses?
|
|
212
|
+
*
|
|
213
|
+
* Default false. When false, api_fetch refuses localhost, RFC1918 ranges, and
|
|
214
|
+
* the cloud metadata endpoint — otherwise an agent could use the server as a
|
|
215
|
+
* proxy into the MXF API itself, Meilisearch, or a cloud instance's credentials.
|
|
216
|
+
*
|
|
217
|
+
* Turn on only for local development against services on your own machine.
|
|
218
|
+
*/
|
|
219
|
+
export function allowPrivateHttpHosts(): boolean {
|
|
220
|
+
return parseBoolean(process.env.MXF_HTTP_ALLOW_PRIVATE_HOSTS, false);
|
|
221
|
+
}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*
|
|
16
16
|
* @author Brad Anderson <BradA1878@pm.me>
|
|
17
|
-
* @repository https://github.com/
|
|
17
|
+
* @repository https://github.com/BradA1878/model-exchange-framework
|
|
18
18
|
* @documentation https://mxf-dev.github.io/mxf/
|
|
19
19
|
*/
|
|
20
20
|
|