@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,4448 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2024 Brad Anderson
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*
|
|
16
|
+
* @author Brad Anderson <BradA1878@pm.me>
|
|
17
|
+
* @repository https://github.com/mxf-dev/mxf
|
|
18
|
+
* @documentation https://mxf-dev.github.io/mxf/
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* EventPayloadSchema.ts
|
|
23
|
+
*
|
|
24
|
+
* Defines standardized event payload schemas used throughout the Model Exchange Framework.
|
|
25
|
+
* These schemas provide a consistent structure for all events exchanged between components.
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
import type { IAgentMemory, IChannelMemory, IRelationshipMemory } from '../types/MemoryTypes.js';
|
|
29
|
+
import type { ChannelTask } from '../types/TaskTypes.js';
|
|
30
|
+
import type { Observation, Reasoning, Plan, PlanAction } from '../types/ControlLoopTypes.js';
|
|
31
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
32
|
+
import type { ChannelActionType, EventName, Events, PlanStepCompletedEventData } from '../events/EventNames.js';
|
|
33
|
+
import { createStrictValidator } from '../utils/validation.js';
|
|
34
|
+
import { AgentId, ChannelId } from '../types/ChannelContext.js';
|
|
35
|
+
import { MemoryScope } from '../types/MemoryTypes.js';
|
|
36
|
+
import { ChannelMessage, AgentMessage } from './MessageSchemas.js';
|
|
37
|
+
import { Logger } from '../utils/Logger.js';
|
|
38
|
+
import {
|
|
39
|
+
OrparMemoryEvents,
|
|
40
|
+
CycleStartedEventData,
|
|
41
|
+
PhaseChangedEventData,
|
|
42
|
+
CycleCompletedEventData
|
|
43
|
+
} from '../events/event-definitions/OrparMemoryEvents.js';
|
|
44
|
+
import {
|
|
45
|
+
DagEvents,
|
|
46
|
+
TaskDependenciesResolvedEventData,
|
|
47
|
+
TaskBlockedEventData,
|
|
48
|
+
TaskUnblockedEventData,
|
|
49
|
+
CycleDetectedEventData,
|
|
50
|
+
DagUpdatedEventData,
|
|
51
|
+
DependencyAddedEventData,
|
|
52
|
+
DependencyRemovedEventData,
|
|
53
|
+
} from '../events/event-definitions/DagEvents.js';
|
|
54
|
+
import {
|
|
55
|
+
TensorFlowEvents,
|
|
56
|
+
ModelRegisteredEventData,
|
|
57
|
+
ModelTrainingStartedEventData,
|
|
58
|
+
ModelTrainingCompletedEventData,
|
|
59
|
+
ModelTrainingFailedEventData,
|
|
60
|
+
ModelLoadedEventData,
|
|
61
|
+
ModelSavedEventData,
|
|
62
|
+
InferenceCompletedEventData,
|
|
63
|
+
InferenceFallbackEventData,
|
|
64
|
+
MemoryWarningEventData,
|
|
65
|
+
MemoryStatsEventData,
|
|
66
|
+
} from '../events/event-definitions/TensorFlowEvents.js';
|
|
67
|
+
import {
|
|
68
|
+
UserInputEvents,
|
|
69
|
+
UserInputRequestData,
|
|
70
|
+
UserInputResponseData,
|
|
71
|
+
UserInputCancelledData,
|
|
72
|
+
UserInputTimeoutData,
|
|
73
|
+
} from '../events/event-definitions/UserInputEvents.js';
|
|
74
|
+
import {
|
|
75
|
+
CompactionEvents,
|
|
76
|
+
MicrocompactionAppliedPayload,
|
|
77
|
+
AutoCompactionTriggeredPayload,
|
|
78
|
+
ReactiveCompactionTriggeredPayload,
|
|
79
|
+
PostCompactionRestoredPayload,
|
|
80
|
+
CompactionSummaryGeneratedPayload,
|
|
81
|
+
} from '../events/event-definitions/CompactionEvents.js';
|
|
82
|
+
|
|
83
|
+
// Create logger instance for event payload schema
|
|
84
|
+
const logger = new Logger('warn', 'EventPayloadSchema', 'server');
|
|
85
|
+
|
|
86
|
+
/** Agent ID for system-level events not tied to a specific agent (e.g., MxfMLService, PredictiveAnalyticsService) */
|
|
87
|
+
export const SYSTEM_AGENT_ID: AgentId = 'system' as AgentId;
|
|
88
|
+
|
|
89
|
+
/** Channel ID for system-level events not tied to a specific channel */
|
|
90
|
+
export const SYSTEM_CHANNEL_ID: ChannelId = 'system' as ChannelId;
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Base interface for all event payloads.
|
|
94
|
+
* Enforces mandatory fields for all events in the system.
|
|
95
|
+
*/
|
|
96
|
+
export interface BaseEventPayload<TData = any> {
|
|
97
|
+
eventId: string; // Unique identifier for this specific event instance (auto-generated UUID)
|
|
98
|
+
eventType: EventName | string; // The specific type of event (e.g., Events.ControlLoop.INITIALIZE)
|
|
99
|
+
timestamp: number; // Unix timestamp (milliseconds) when the event was created (auto-generated)
|
|
100
|
+
agentId: AgentId; // ID of the agent primarily associated with this event
|
|
101
|
+
channelId: ChannelId; // ID of the channel primarily associated with this event
|
|
102
|
+
source?: string; // Optional: The component or module that originated the event
|
|
103
|
+
isRecursionProtection?: boolean; // Optional: Flag to prevent recursive event processing
|
|
104
|
+
data: TData; // Event-specific data
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
// --- Specific Event Data Interfaces & Payloads ---
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Data for connection-related events.
|
|
111
|
+
*/
|
|
112
|
+
export interface ConnectionEventData {
|
|
113
|
+
connectionId: string;
|
|
114
|
+
status: 'connected' | 'disconnected' | 'error';
|
|
115
|
+
error?: string;
|
|
116
|
+
}
|
|
117
|
+
export type ConnectionEventPayload = BaseEventPayload<ConnectionEventData>;
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Data for agent-related events (e.g., registration, status changes not covered by simple connection status).
|
|
121
|
+
*/
|
|
122
|
+
export interface AgentEventData {
|
|
123
|
+
name?: string;
|
|
124
|
+
type?: string;
|
|
125
|
+
capabilities?: string[];
|
|
126
|
+
status?: string; // e.g., 'registered', 'updated', 'unregistered'
|
|
127
|
+
metadata?: Record<string, any>;
|
|
128
|
+
[key: string]: any;
|
|
129
|
+
}
|
|
130
|
+
export type AgentEventPayload = BaseEventPayload<AgentEventData>;
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Data for LLM reasoning events - captures reasoning tokens from advanced models
|
|
134
|
+
*/
|
|
135
|
+
export interface LlmReasoningEventData {
|
|
136
|
+
reasoning: string; // The reasoning content from the model
|
|
137
|
+
modelName?: string; // Model that generated the reasoning
|
|
138
|
+
reasoningTokens?: number; // Number of reasoning tokens used
|
|
139
|
+
provider?: string; // Provider (e.g., 'openai', 'anthropic', 'openrouter')
|
|
140
|
+
config?: { // Configuration used for reasoning
|
|
141
|
+
effort?: 'low' | 'medium' | 'high';
|
|
142
|
+
maxTokens?: number;
|
|
143
|
+
exclude?: boolean;
|
|
144
|
+
};
|
|
145
|
+
timestamp?: number; // When reasoning was generated
|
|
146
|
+
metadata?: Record<string, any>; // Additional provider-specific data
|
|
147
|
+
}
|
|
148
|
+
export type LlmReasoningEventPayload = BaseEventPayload<LlmReasoningEventData>;
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Data for LLM reasoning parsed events - when reasoning text is parsed for tool intentions
|
|
152
|
+
*/
|
|
153
|
+
export interface LlmReasoningParsedEventData {
|
|
154
|
+
reasoning: string; // The reasoning text that was parsed
|
|
155
|
+
toolIntentions: Array<{ // Tool intentions extracted from reasoning
|
|
156
|
+
toolName: string;
|
|
157
|
+
arguments: Record<string, any>;
|
|
158
|
+
confidence: number;
|
|
159
|
+
reasoning: string;
|
|
160
|
+
}>;
|
|
161
|
+
parseMethod: 'structured' | 'heuristic' | 'failed'; // Method used for parsing
|
|
162
|
+
toolCount: number; // Number of tool intentions found
|
|
163
|
+
parseSuccessful: boolean; // Whether parsing was successful
|
|
164
|
+
metadata?: Record<string, any>; // Additional parse metadata
|
|
165
|
+
}
|
|
166
|
+
export type LlmReasoningParsedEventPayload = BaseEventPayload<LlmReasoningParsedEventData>;
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* Data for LLM reasoning tools synthesized events - when tool_calls are created from reasoning
|
|
170
|
+
*/
|
|
171
|
+
export interface LlmReasoningToolsSynthesizedEventData {
|
|
172
|
+
toolCalls: Array<{ // Synthesized tool calls
|
|
173
|
+
type: string;
|
|
174
|
+
id: string;
|
|
175
|
+
name: string;
|
|
176
|
+
input: Record<string, any>;
|
|
177
|
+
}>;
|
|
178
|
+
toolIntentions: Array<{ // Original intentions that led to synthesis
|
|
179
|
+
toolName: string;
|
|
180
|
+
arguments: Record<string, any>;
|
|
181
|
+
confidence: number;
|
|
182
|
+
reasoning: string;
|
|
183
|
+
}>;
|
|
184
|
+
parseMethod: 'structured' | 'heuristic' | 'failed'; // Method that found the intentions
|
|
185
|
+
synthesisSuccessful: boolean; // Whether synthesis was successful
|
|
186
|
+
metadata?: Record<string, any>; // Additional synthesis metadata
|
|
187
|
+
}
|
|
188
|
+
export type LlmReasoningToolsSynthesizedEventPayload = BaseEventPayload<LlmReasoningToolsSynthesizedEventData>;
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* Data for LLM streaming chunk events — partial tokens emitted during streaming responses.
|
|
192
|
+
* Used by the TUI ThinkingIndicator to show live output preview.
|
|
193
|
+
*/
|
|
194
|
+
export interface LlmStreamChunkEventData {
|
|
195
|
+
/** The partial text content received in this chunk */
|
|
196
|
+
chunk: string;
|
|
197
|
+
/** When this chunk was received */
|
|
198
|
+
timestamp: number;
|
|
199
|
+
}
|
|
200
|
+
export type LlmStreamChunkEventPayload = BaseEventPayload<LlmStreamChunkEventData>;
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* Data for LLM usage events — captures token counts for cost tracking.
|
|
204
|
+
* Emitted after each LLM response alongside LLM_RESPONSE.
|
|
205
|
+
*/
|
|
206
|
+
export interface LlmUsageEventData {
|
|
207
|
+
/** Model that generated the response */
|
|
208
|
+
model: string;
|
|
209
|
+
/** Number of input (prompt) tokens consumed */
|
|
210
|
+
inputTokens: number;
|
|
211
|
+
/** Number of output (completion) tokens generated */
|
|
212
|
+
outputTokens: number;
|
|
213
|
+
/** Total tokens consumed (input + output) */
|
|
214
|
+
totalTokens: number;
|
|
215
|
+
/** When the usage was recorded */
|
|
216
|
+
timestamp: number;
|
|
217
|
+
}
|
|
218
|
+
export type LlmUsageEventPayload = BaseEventPayload<LlmUsageEventData>;
|
|
219
|
+
|
|
220
|
+
/**
|
|
221
|
+
* Interface for agent registration events
|
|
222
|
+
*/
|
|
223
|
+
export interface AgentRegistrationEventData {
|
|
224
|
+
agentId: string;
|
|
225
|
+
socketId: string;
|
|
226
|
+
timestamp: number;
|
|
227
|
+
channelId?: string;
|
|
228
|
+
capabilities?: string[];
|
|
229
|
+
status: 'pending' | 'registered' | 'error';
|
|
230
|
+
error?: string;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
/**
|
|
234
|
+
* Payload type for agent registration events
|
|
235
|
+
*/
|
|
236
|
+
export type AgentRegistrationEventPayload = BaseEventPayload<AgentRegistrationEventData>;
|
|
237
|
+
|
|
238
|
+
/**
|
|
239
|
+
* Interface for agent connection events
|
|
240
|
+
*/
|
|
241
|
+
export interface AgentConnectionEventData {
|
|
242
|
+
agentId: string;
|
|
243
|
+
socketId: string;
|
|
244
|
+
timestamp: number;
|
|
245
|
+
channelId?: string;
|
|
246
|
+
status: 'connecting' | 'connected' | 'error';
|
|
247
|
+
error?: string;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
/**
|
|
251
|
+
* Payload type for agent connection events
|
|
252
|
+
*/
|
|
253
|
+
export type AgentConnectionEventPayload = BaseEventPayload<AgentConnectionEventData>;
|
|
254
|
+
|
|
255
|
+
/**
|
|
256
|
+
* Interface for agent join events
|
|
257
|
+
*/
|
|
258
|
+
export interface AgentJoinEventData {
|
|
259
|
+
agentId: string;
|
|
260
|
+
channelId: string;
|
|
261
|
+
timestamp: number;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
/**
|
|
265
|
+
* Payload type for agent join events
|
|
266
|
+
*/
|
|
267
|
+
export type AgentJoinEventPayload = BaseEventPayload<AgentJoinEventData>;
|
|
268
|
+
|
|
269
|
+
/**
|
|
270
|
+
* Interface for agent leave events
|
|
271
|
+
*/
|
|
272
|
+
export interface AgentLeaveEventData {
|
|
273
|
+
agentId: string;
|
|
274
|
+
channelId: string;
|
|
275
|
+
timestamp: number;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
/**
|
|
279
|
+
* Payload type for agent leave events
|
|
280
|
+
*/
|
|
281
|
+
export type AgentLeaveEventPayload = BaseEventPayload<AgentLeaveEventData>;
|
|
282
|
+
|
|
283
|
+
/**
|
|
284
|
+
* Data for allowed tools update events.
|
|
285
|
+
* Used when dynamically changing an agent's allowed tools during runtime.
|
|
286
|
+
*/
|
|
287
|
+
export interface AllowedToolsUpdateEventData {
|
|
288
|
+
allowedTools: string[];
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
/**
|
|
292
|
+
* Payload type for allowed tools update events
|
|
293
|
+
*/
|
|
294
|
+
export type AllowedToolsUpdateEventPayload = BaseEventPayload<AllowedToolsUpdateEventData>;
|
|
295
|
+
|
|
296
|
+
/**
|
|
297
|
+
* Data for channel-related events (e.g., created, joined, left, deleted).
|
|
298
|
+
*/
|
|
299
|
+
export interface ChannelEventData {
|
|
300
|
+
name?: string; // e.g., channel name for creation events
|
|
301
|
+
action: ChannelActionType | 'created' | 'deleted' | 'updated' | 'archived'; // Extended for more channel actions
|
|
302
|
+
targetAgentId?: AgentId; // e.g., for agent_joined, agent_left events
|
|
303
|
+
metadata?: Record<string, any>;
|
|
304
|
+
[key: string]: any;
|
|
305
|
+
}
|
|
306
|
+
export type ChannelEventPayload = BaseEventPayload<ChannelEventData>;
|
|
307
|
+
|
|
308
|
+
/**
|
|
309
|
+
* Data for subscription-related events within a channel.
|
|
310
|
+
*/
|
|
311
|
+
export interface SubscriptionEventData {
|
|
312
|
+
// agentId for who is subscribing/unsubscribing is BaseEventPayload.agentId
|
|
313
|
+
// channelId for the subscription is BaseEventPayload.channelId
|
|
314
|
+
action: 'subscribe' | 'unsubscribe';
|
|
315
|
+
targetEvent?: EventName | string; // Optional: if subscribing to a specific event type
|
|
316
|
+
[key: string]: any;
|
|
317
|
+
}
|
|
318
|
+
export type SubscriptionEventPayload = BaseEventPayload<SubscriptionEventData>;
|
|
319
|
+
|
|
320
|
+
/**
|
|
321
|
+
* Data for task request events.
|
|
322
|
+
*/
|
|
323
|
+
export interface TaskEventData {
|
|
324
|
+
taskId: string;
|
|
325
|
+
fromAgentId?: AgentId; // Agent initiating the task (could be different from BaseEventPayload.agentId if event is relayed)
|
|
326
|
+
toAgentId?: AgentId; // Agent designated to perform the task
|
|
327
|
+
task: any; // The task content/details — typing this union is the head of the SDK-API typing pass (15 sender contract drifts to reconcile)
|
|
328
|
+
}
|
|
329
|
+
export type TaskEventPayload = BaseEventPayload<TaskEventData>;
|
|
330
|
+
|
|
331
|
+
/**
|
|
332
|
+
* Data for task response events.
|
|
333
|
+
*/
|
|
334
|
+
export interface TaskResponseEventData {
|
|
335
|
+
taskId: string;
|
|
336
|
+
fromAgentId?: AgentId; // Agent that performed the task and is sending the response
|
|
337
|
+
toAgentId?: AgentId; // Agent that originally requested the task
|
|
338
|
+
response: any; // The task response content/details — see task field note
|
|
339
|
+
error?: string; // Optional error if task execution failed
|
|
340
|
+
}
|
|
341
|
+
export type TaskResponseEventPayload = BaseEventPayload<TaskResponseEventData>;
|
|
342
|
+
|
|
343
|
+
/**
|
|
344
|
+
* Data for task assignment events.
|
|
345
|
+
*/
|
|
346
|
+
export interface TaskAssignmentEventData {
|
|
347
|
+
taskId: string;
|
|
348
|
+
assignedAgentId: AgentId;
|
|
349
|
+
strategy: string;
|
|
350
|
+
confidence: number;
|
|
351
|
+
reasoning: string;
|
|
352
|
+
assignedAt: number;
|
|
353
|
+
estimatedCompletion?: number;
|
|
354
|
+
task: any; // Full task object for consistency with other task events — see TaskEventData.task note
|
|
355
|
+
}
|
|
356
|
+
export type TaskAssignmentEventPayload = BaseEventPayload<TaskAssignmentEventData>;
|
|
357
|
+
|
|
358
|
+
/**
|
|
359
|
+
* Data specific to control loop operations and lifecycle.
|
|
360
|
+
*/
|
|
361
|
+
export interface ControlLoopSpecificData {
|
|
362
|
+
loopId: string; // Unique identifier for the control loop instance
|
|
363
|
+
status?: string; // Specific status of the control loop (e.g., 'initializing', 'running', 'paused', 'completed')
|
|
364
|
+
config?: Record<string, unknown>; // Control loop configuration
|
|
365
|
+
observation?: Observation | null; // Current observation
|
|
366
|
+
reasoning?: Reasoning | null; // Current reasoning
|
|
367
|
+
plan?: Plan | null; // Current plan
|
|
368
|
+
action?: PlanAction | null; // Current action (or action to be executed)
|
|
369
|
+
error?: string; // Error if any occurred within the loop's operation
|
|
370
|
+
context?: { [key: string]: any }; // Additional context specific to the loop's state or operation
|
|
371
|
+
[key: string]: any; // Allow for additional data
|
|
372
|
+
}
|
|
373
|
+
export type ControlLoopEventPayload = BaseEventPayload<ControlLoopSpecificData>;
|
|
374
|
+
|
|
375
|
+
// --- Memory Operation Event Data Interfaces & Payloads ---
|
|
376
|
+
|
|
377
|
+
/**
|
|
378
|
+
* Base data for all memory operations.
|
|
379
|
+
*/
|
|
380
|
+
export interface BaseMemoryOperationData {
|
|
381
|
+
operationId: string; // Unique ID for this specific memory operation (can be used for correlation)
|
|
382
|
+
scope: MemoryScope;
|
|
383
|
+
id: string | string[]; // Identifier for the memory scope (e.g., agentId, channelId, relationshipId)
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
/**
|
|
387
|
+
* Data for memory GET request events.
|
|
388
|
+
*/
|
|
389
|
+
export interface MemoryGetEventData extends BaseMemoryOperationData {
|
|
390
|
+
key?: string; // Optional: specific key to retrieve within the memory
|
|
391
|
+
filters?: Record<string, any>; // Optional: filters to apply if retrieving multiple items or a collection
|
|
392
|
+
}
|
|
393
|
+
export type MemoryGetEventPayload = BaseEventPayload<MemoryGetEventData>;
|
|
394
|
+
|
|
395
|
+
/**
|
|
396
|
+
* Data for memory GET result events.
|
|
397
|
+
*/
|
|
398
|
+
export interface MemoryGetResultEventData extends BaseMemoryOperationData {
|
|
399
|
+
key?: string;
|
|
400
|
+
memory: IAgentMemory | IChannelMemory | IRelationshipMemory | Record<string, unknown> | null; // The retrieved memory data. Could be null or undefined if not found.
|
|
401
|
+
error?: string; // Error message if the GET operation failed
|
|
402
|
+
}
|
|
403
|
+
export type MemoryGetResultEventPayload = BaseEventPayload<MemoryGetResultEventData>;
|
|
404
|
+
|
|
405
|
+
/**
|
|
406
|
+
* Data for memory UPDATE request events.
|
|
407
|
+
*/
|
|
408
|
+
export interface MemoryUpdateEventData extends BaseMemoryOperationData {
|
|
409
|
+
data: Record<string, any>; // The data to be written or updated in memory
|
|
410
|
+
metadata?: Record<string, any>; // Optional: metadata associated with this update operation
|
|
411
|
+
}
|
|
412
|
+
export type MemoryUpdateEventPayload = BaseEventPayload<MemoryUpdateEventData>;
|
|
413
|
+
|
|
414
|
+
/**
|
|
415
|
+
* Data for memory UPDATE result events.
|
|
416
|
+
*/
|
|
417
|
+
export interface MemoryUpdateResultEventData extends BaseMemoryOperationData {
|
|
418
|
+
memory: IAgentMemory | IChannelMemory | IRelationshipMemory | Record<string, unknown> | null; // The state of the memory after the update. Can be the updated object or a success indicator.
|
|
419
|
+
error?: string; // Error message if the UPDATE operation failed
|
|
420
|
+
}
|
|
421
|
+
export type MemoryUpdateResultEventPayload = BaseEventPayload<MemoryUpdateResultEventData>;
|
|
422
|
+
|
|
423
|
+
/**
|
|
424
|
+
* Data for memory DELETE request events.
|
|
425
|
+
*/
|
|
426
|
+
export interface MemoryDeleteEventData extends BaseMemoryOperationData {
|
|
427
|
+
key?: string; // Optional: specific key to delete within the memory scope
|
|
428
|
+
}
|
|
429
|
+
export type MemoryDeleteEventPayload = BaseEventPayload<MemoryDeleteEventData>;
|
|
430
|
+
|
|
431
|
+
/**
|
|
432
|
+
* Data for memory DELETE result events.
|
|
433
|
+
*/
|
|
434
|
+
export interface MemoryDeleteResultEventData extends BaseMemoryOperationData {
|
|
435
|
+
key?: string; // If a specific key was targeted for deletion
|
|
436
|
+
success: boolean;
|
|
437
|
+
deletedCount?: number; // Optional: if multiple items could be deleted
|
|
438
|
+
error?: string; // Error message if the DELETE operation failed
|
|
439
|
+
}
|
|
440
|
+
export type MemoryDeleteResultEventPayload = BaseEventPayload<MemoryDeleteResultEventData>;
|
|
441
|
+
|
|
442
|
+
/**
|
|
443
|
+
* Data for memory SYNC request events.
|
|
444
|
+
*/
|
|
445
|
+
export interface MemorySyncRequestData extends BaseMemoryOperationData {
|
|
446
|
+
// Additional sync-specific parameters can be added here
|
|
447
|
+
target?: 'local' | 'remote' | 'bidirectional'; // Example: direction of sync
|
|
448
|
+
}
|
|
449
|
+
export type MemorySyncRequestPayload = BaseEventPayload<MemorySyncRequestData>;
|
|
450
|
+
|
|
451
|
+
/**
|
|
452
|
+
* Data for memory SYNC COMPLETE events.
|
|
453
|
+
*/
|
|
454
|
+
export interface MemorySyncCompleteData extends BaseMemoryOperationData {
|
|
455
|
+
itemCount?: number; // Number of items synced
|
|
456
|
+
statusMessage?: string;
|
|
457
|
+
}
|
|
458
|
+
export type MemorySyncCompletePayload = BaseEventPayload<MemorySyncCompleteData>;
|
|
459
|
+
|
|
460
|
+
/**
|
|
461
|
+
* Data for memory SYNC ERROR events.
|
|
462
|
+
*/
|
|
463
|
+
export interface MemorySyncErrorData extends BaseMemoryOperationData {
|
|
464
|
+
error: string;
|
|
465
|
+
details?: any;
|
|
466
|
+
}
|
|
467
|
+
export type MemorySyncErrorPayload = BaseEventPayload<MemorySyncErrorData>;
|
|
468
|
+
|
|
469
|
+
// --- Specific Memory Request Payload Interfaces (for SDK/client-side construction of requests) ---
|
|
470
|
+
// These are not full BaseEventPayloads, but the 'data' portion the SDK Handler will wrap.
|
|
471
|
+
|
|
472
|
+
/**
|
|
473
|
+
* Base structure for memory operation request payloads before they are wrapped into a full BaseEventPayload.
|
|
474
|
+
* This is typically what SDK methods like sendMemoryRequest expect as their 'payload' argument.
|
|
475
|
+
*/
|
|
476
|
+
export interface BaseMemoryRequest {
|
|
477
|
+
scope: MemoryScope;
|
|
478
|
+
id: string | string[]; // Identifier for the memory scope (e.g., agentId, channelId, relationshipId)
|
|
479
|
+
channelId: string; // Channel context for the request
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
/**
|
|
483
|
+
* Request payload for getting memory.
|
|
484
|
+
*/
|
|
485
|
+
export interface MemoryGetRequest extends BaseMemoryRequest {
|
|
486
|
+
key?: string; // Optional: specific key to retrieve within the memory
|
|
487
|
+
filters?: Record<string, any>; // Optional: filters to apply if retrieving multiple items or a collection
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
/**
|
|
491
|
+
* Request payload for creating memory.
|
|
492
|
+
*/
|
|
493
|
+
export interface MemoryCreateRequest<TData = any> extends BaseMemoryRequest {
|
|
494
|
+
data: TData; // Data to be stored
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
/**
|
|
498
|
+
* Request payload for updating memory.
|
|
499
|
+
*/
|
|
500
|
+
export interface MemoryUpdateRequest<TData = any> extends BaseMemoryRequest {
|
|
501
|
+
data: Partial<TData>; // Partial data for update
|
|
502
|
+
key?: string; // Optional key for specific entry update
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
/**
|
|
506
|
+
* Request payload for deleting memory.
|
|
507
|
+
*/
|
|
508
|
+
export interface MemoryDeleteRequest extends BaseMemoryRequest {
|
|
509
|
+
key?: string; // Optional: specific key to delete within the memory scope
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
/**
|
|
513
|
+
* Union type for all possible memory request payloads that sendMemoryRequest can handle.
|
|
514
|
+
*/
|
|
515
|
+
export type MemoryRequestPayload =
|
|
516
|
+
| MemoryGetRequest
|
|
517
|
+
| MemoryCreateRequest<any>
|
|
518
|
+
| MemoryUpdateRequest<any>
|
|
519
|
+
| MemoryDeleteRequest;
|
|
520
|
+
|
|
521
|
+
// --- MCP (Model Control Plane) Event Data ---
|
|
522
|
+
// Placeholder for MCP specific events if they need to be standardized here
|
|
523
|
+
// Example: Tool registration, call, result events if they are to be treated as BaseEventPayload compliant
|
|
524
|
+
|
|
525
|
+
export interface McpToolEventData {
|
|
526
|
+
toolName: string;
|
|
527
|
+
toolVersion?: string;
|
|
528
|
+
[key: string]: any; // For additional properties like arguments, results, errors
|
|
529
|
+
}
|
|
530
|
+
export type McpToolRegisteredEventPayload = BaseEventPayload<McpToolEventData & { registrationDetails: any }>;
|
|
531
|
+
export type McpToolUnregisteredEventPayload = BaseEventPayload<McpToolEventData>;
|
|
532
|
+
export type McpToolCallEventPayload = BaseEventPayload<McpToolEventData & { callId: string; arguments: any }>;
|
|
533
|
+
export type McpToolResultEventPayload = BaseEventPayload<McpToolEventData & { callId: string; result: any }>;
|
|
534
|
+
export type McpToolErrorEventPayload = BaseEventPayload<McpToolEventData & { callId: string; error: any }>;
|
|
535
|
+
|
|
536
|
+
// Client-side tool execution payload types
|
|
537
|
+
export interface McpToolCallCompletedLocalData {
|
|
538
|
+
callId: string;
|
|
539
|
+
toolName: string;
|
|
540
|
+
input: any;
|
|
541
|
+
result: any;
|
|
542
|
+
durationMs: number;
|
|
543
|
+
source: 'internal' | 'external-mcp';
|
|
544
|
+
executedOn: 'client';
|
|
545
|
+
}
|
|
546
|
+
export type McpToolCallCompletedLocalEventPayload = BaseEventPayload<McpToolCallCompletedLocalData>;
|
|
547
|
+
|
|
548
|
+
export interface McpResourceEventData {
|
|
549
|
+
resourceUri: string;
|
|
550
|
+
resourceType?: string;
|
|
551
|
+
[key: string]: any; // For additional properties like data, errors
|
|
552
|
+
}
|
|
553
|
+
export type McpResourceGetEventPayload = BaseEventPayload<McpResourceEventData & { requestId: string }>;
|
|
554
|
+
export type McpResourceListEventPayload = BaseEventPayload<McpResourceEventData & { requestId: string; filter?: any }>;
|
|
555
|
+
export type McpResourceResultEventPayload = BaseEventPayload<McpResourceEventData & { requestId: string; data: any }>;
|
|
556
|
+
export type McpResourceErrorEventPayload = BaseEventPayload<McpResourceEventData & { requestId: string; error: any }>;
|
|
557
|
+
|
|
558
|
+
/**
|
|
559
|
+
* Data for external MCP server events (global and channel-scoped)
|
|
560
|
+
*/
|
|
561
|
+
export interface ExternalMcpServerEventData {
|
|
562
|
+
serverId: string;
|
|
563
|
+
serverName?: string;
|
|
564
|
+
scope: 'global' | 'channel' | 'agent';
|
|
565
|
+
scopeId?: string; // channelId for channel scope, agentId for agent scope
|
|
566
|
+
success?: boolean;
|
|
567
|
+
error?: string;
|
|
568
|
+
message?: string;
|
|
569
|
+
toolsDiscovered?: string[];
|
|
570
|
+
status?: 'stopped' | 'starting' | 'running' | 'error';
|
|
571
|
+
connectedAgents?: number;
|
|
572
|
+
[key: string]: any;
|
|
573
|
+
}
|
|
574
|
+
export type ExternalMcpServerEventPayload = BaseEventPayload<ExternalMcpServerEventData>;
|
|
575
|
+
|
|
576
|
+
|
|
577
|
+
// --- Event Payloads Carrying Standard Messages ---
|
|
578
|
+
|
|
579
|
+
/**
|
|
580
|
+
* Data for generic message-related events.
|
|
581
|
+
* This is used as the 'data' field in events like Events.Message.CHANNEL_MESSAGE or Events.Message.AGENT_MESSAGE.
|
|
582
|
+
*/
|
|
583
|
+
export interface MessageEventData {
|
|
584
|
+
/**
|
|
585
|
+
* The actual message content, which can be a ChannelMessage or AgentMessage.
|
|
586
|
+
* This reuses the detailed message structures from MessageSchemas.ts.
|
|
587
|
+
*/
|
|
588
|
+
message: ChannelMessage | AgentMessage;
|
|
589
|
+
|
|
590
|
+
/**
|
|
591
|
+
* Optional error message if processing or delivery of the message failed.
|
|
592
|
+
*/
|
|
593
|
+
error?: string;
|
|
594
|
+
|
|
595
|
+
/**
|
|
596
|
+
* Allows for additional, event-specific properties if needed.
|
|
597
|
+
*/
|
|
598
|
+
[key: string]: any;
|
|
599
|
+
}
|
|
600
|
+
|
|
601
|
+
export type MessageEventPayload = BaseEventPayload<MessageEventData>;
|
|
602
|
+
|
|
603
|
+
/**
|
|
604
|
+
* Event payload for events that carry a standard ChannelMessage.
|
|
605
|
+
*/
|
|
606
|
+
export type ChannelMessageEventPayload = BaseEventPayload<ChannelMessage>;
|
|
607
|
+
|
|
608
|
+
/**
|
|
609
|
+
* Event payload for events that carry a standard AgentMessage.
|
|
610
|
+
*/
|
|
611
|
+
export type AgentMessageEventPayload = BaseEventPayload<AgentMessage>;
|
|
612
|
+
|
|
613
|
+
/**
|
|
614
|
+
* Payload type for message persistence failure.
|
|
615
|
+
*/
|
|
616
|
+
export interface MessagePersistFailedPayload {
|
|
617
|
+
channelId?: string; // The channel ID for which persistence was attempted
|
|
618
|
+
messageId?: string; // The ID of the message, if available
|
|
619
|
+
originalMessage?: Partial<ChannelMessage>; // The original message data that failed to persist
|
|
620
|
+
error: string; // Description of the error
|
|
621
|
+
timestamp: number; // Timestamp of when the error occurred
|
|
622
|
+
fromAgentId?: string; // ID of the agent that initiated the original request, if applicable
|
|
623
|
+
}
|
|
624
|
+
|
|
625
|
+
/**
|
|
626
|
+
* Payload type for message send failure.
|
|
627
|
+
*/
|
|
628
|
+
export interface MessageSendFailedPayload {
|
|
629
|
+
channelId?: string; // The channel ID to which the message was intended
|
|
630
|
+
messageId?: string; // The ID of the message that failed to send
|
|
631
|
+
originalMessage?: Partial<ChannelMessage>; // The original message data
|
|
632
|
+
error: string; // Description of the error
|
|
633
|
+
timestamp: number; // Timestamp of when the error occurred
|
|
634
|
+
fromAgentId?: string; // ID of the agent that sent the message, if applicable
|
|
635
|
+
}
|
|
636
|
+
|
|
637
|
+
// --- Helper Functions ---
|
|
638
|
+
|
|
639
|
+
/**
|
|
640
|
+
* Creates a standardized base event payload.
|
|
641
|
+
* This is the core function for generating all event payloads in the system.
|
|
642
|
+
*
|
|
643
|
+
* @param eventType - The specific type of event (e.g., Events.ControlLoop.INITIALIZE).
|
|
644
|
+
* @param agentId - ID of the agent primarily associated with this event.
|
|
645
|
+
* @param channelId - ID of the channel primarily associated with this event.
|
|
646
|
+
* @param data - The event-specific data.
|
|
647
|
+
* @param options - Optional parameters like source, recursion protection, or overrides for eventId and timestamp.
|
|
648
|
+
* @returns A fully formed BaseEventPayload.
|
|
649
|
+
*/
|
|
650
|
+
export function createBaseEventPayload<TData>(
|
|
651
|
+
eventType: EventName | string,
|
|
652
|
+
agentId: AgentId,
|
|
653
|
+
channelId: ChannelId,
|
|
654
|
+
data: TData,
|
|
655
|
+
options: {
|
|
656
|
+
source?: string;
|
|
657
|
+
isRecursionProtection?: boolean;
|
|
658
|
+
eventId?: string;
|
|
659
|
+
timestamp?: number;
|
|
660
|
+
} = {}
|
|
661
|
+
): BaseEventPayload<TData> {
|
|
662
|
+
const validator = createStrictValidator('createBaseEventPayload');
|
|
663
|
+
validator.assertIsNonEmptyString(eventType, 'eventType');
|
|
664
|
+
validator.assertIsNonEmptyString(agentId, 'agentId');
|
|
665
|
+
validator.assertIsNonEmptyString(channelId, 'channelId'); // Enforcing channelId as per requirement
|
|
666
|
+
// data can be anything, so no generic validation here, specific helpers can validate their data.
|
|
667
|
+
|
|
668
|
+
return {
|
|
669
|
+
eventId: options.eventId || uuidv4(),
|
|
670
|
+
eventType,
|
|
671
|
+
timestamp: options.timestamp || Date.now(),
|
|
672
|
+
agentId,
|
|
673
|
+
channelId,
|
|
674
|
+
source: options.source,
|
|
675
|
+
isRecursionProtection: options.isRecursionProtection,
|
|
676
|
+
data,
|
|
677
|
+
};
|
|
678
|
+
}
|
|
679
|
+
|
|
680
|
+
// --- Specific Event Payload Creator Helpers ---
|
|
681
|
+
|
|
682
|
+
/**
|
|
683
|
+
* Creates a ConnectionEventPayload.
|
|
684
|
+
* @param eventType - The specific connection event type (e.g., Events.Agent.CONNECTED, Events.Agent.DISCONNECTED).
|
|
685
|
+
* @param agentId - The Agent ID involved in the connection event.
|
|
686
|
+
* @param channelId - The Channel ID context for this event (can be a default/system channel if not specific).
|
|
687
|
+
* @param connectionData - The specific data for the connection event.
|
|
688
|
+
* @param options - Optional base event payload options.
|
|
689
|
+
* @returns A ConnectionEventPayload.
|
|
690
|
+
*/
|
|
691
|
+
export function createConnectionEventPayload(
|
|
692
|
+
eventType: EventName | string,
|
|
693
|
+
agentId: AgentId,
|
|
694
|
+
channelId: ChannelId,
|
|
695
|
+
connectionData: ConnectionEventData,
|
|
696
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
697
|
+
): ConnectionEventPayload {
|
|
698
|
+
return createBaseEventPayload<ConnectionEventData>(eventType, agentId, channelId, connectionData, options);
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
/**
|
|
702
|
+
* Creates an AgentEventPayload.
|
|
703
|
+
* @param eventType - The specific agent event type (e.g., Events.Agent.REGISTERED, Events.Agent.STATUS_CHANGE).
|
|
704
|
+
* @param agentId - The Agent ID to whom this event pertains.
|
|
705
|
+
* @param channelId - The Channel ID context for this agent event.
|
|
706
|
+
* @param agentData - The specific data for the agent event.
|
|
707
|
+
* @param options - Optional base event payload options.
|
|
708
|
+
* @returns An AgentEventPayload.
|
|
709
|
+
*/
|
|
710
|
+
export function createAgentEventPayload(
|
|
711
|
+
eventType: EventName | string,
|
|
712
|
+
agentId: AgentId,
|
|
713
|
+
channelId: ChannelId,
|
|
714
|
+
agentData: AgentEventData,
|
|
715
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
716
|
+
): AgentEventPayload {
|
|
717
|
+
return createBaseEventPayload<AgentEventData>(eventType, agentId, channelId, agentData, options);
|
|
718
|
+
}
|
|
719
|
+
|
|
720
|
+
/**
|
|
721
|
+
* Creates an AllowedToolsUpdateEventPayload.
|
|
722
|
+
* Used when dynamically changing an agent's allowed tools during runtime.
|
|
723
|
+
*
|
|
724
|
+
* @param eventType - The event type (e.g., Events.Agent.ALLOWED_TOOLS_UPDATE).
|
|
725
|
+
* @param agentId - The Agent ID whose tools are being updated.
|
|
726
|
+
* @param channelId - The Channel ID context for the update.
|
|
727
|
+
* @param allowedTools - The new list of allowed tool names.
|
|
728
|
+
* @param options - Optional base event payload options.
|
|
729
|
+
* @returns An AllowedToolsUpdateEventPayload.
|
|
730
|
+
*/
|
|
731
|
+
export function createAllowedToolsUpdateEventPayload(
|
|
732
|
+
eventType: EventName | string,
|
|
733
|
+
agentId: AgentId,
|
|
734
|
+
channelId: ChannelId,
|
|
735
|
+
allowedTools: string[],
|
|
736
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
737
|
+
): AllowedToolsUpdateEventPayload {
|
|
738
|
+
return createBaseEventPayload<AllowedToolsUpdateEventData>(
|
|
739
|
+
eventType, agentId, channelId,
|
|
740
|
+
{ allowedTools },
|
|
741
|
+
options
|
|
742
|
+
);
|
|
743
|
+
}
|
|
744
|
+
|
|
745
|
+
/**
|
|
746
|
+
* Creates an LLM Reasoning EventPayload.
|
|
747
|
+
* @param eventType - The specific LLM reasoning event type (e.g., AgentEvents.LLM_REASONING).
|
|
748
|
+
* @param agentId - The Agent ID that generated the reasoning.
|
|
749
|
+
* @param channelId - The Channel ID context for this reasoning event.
|
|
750
|
+
* @param reasoningData - The specific data for the reasoning event.
|
|
751
|
+
* @param options - Optional base event payload options.
|
|
752
|
+
* @returns An LlmReasoningEventPayload.
|
|
753
|
+
*/
|
|
754
|
+
export function createLlmReasoningEventPayload(
|
|
755
|
+
eventType: EventName | string,
|
|
756
|
+
agentId: AgentId,
|
|
757
|
+
channelId: ChannelId,
|
|
758
|
+
reasoningData: LlmReasoningEventData,
|
|
759
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
760
|
+
): LlmReasoningEventPayload {
|
|
761
|
+
// Add validation for reasoning data
|
|
762
|
+
const validator = createStrictValidator('LlmReasoningEventPayload');
|
|
763
|
+
validator.assertIsNonEmptyString(reasoningData.reasoning, 'Reasoning content is required');
|
|
764
|
+
|
|
765
|
+
return createBaseEventPayload<LlmReasoningEventData>(eventType, agentId, channelId, reasoningData, options);
|
|
766
|
+
}
|
|
767
|
+
|
|
768
|
+
/**
|
|
769
|
+
* Creates an LlmReasoningParsedEventPayload.
|
|
770
|
+
* Used when reasoning text is parsed for tool intentions.
|
|
771
|
+
*
|
|
772
|
+
* @param eventType - The specific event type (e.g., AgentEvents.LLM_REASONING_PARSED).
|
|
773
|
+
* @param agentId - The Agent ID that generated the reasoning.
|
|
774
|
+
* @param channelId - The Channel ID for the agent.
|
|
775
|
+
* @param parsedData - The parsed reasoning data including tool intentions.
|
|
776
|
+
* @param options - Optional base event payload options.
|
|
777
|
+
* @returns An LlmReasoningParsedEventPayload.
|
|
778
|
+
*/
|
|
779
|
+
export function createLlmReasoningParsedEventPayload(
|
|
780
|
+
eventType: EventName | string,
|
|
781
|
+
agentId: AgentId,
|
|
782
|
+
channelId: ChannelId,
|
|
783
|
+
parsedData: LlmReasoningParsedEventData,
|
|
784
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
785
|
+
): LlmReasoningParsedEventPayload {
|
|
786
|
+
// Add validation for parsed data
|
|
787
|
+
const validator = createStrictValidator('LlmReasoningParsedEventPayload');
|
|
788
|
+
validator.assertIsNonEmptyString(parsedData.reasoning, 'Reasoning content is required');
|
|
789
|
+
validator.assertIsArray(parsedData.toolIntentions, 'Tool intentions must be an array');
|
|
790
|
+
|
|
791
|
+
return createBaseEventPayload<LlmReasoningParsedEventData>(eventType, agentId, channelId, parsedData, options);
|
|
792
|
+
}
|
|
793
|
+
|
|
794
|
+
/**
|
|
795
|
+
* Creates an LlmReasoningToolsSynthesizedEventPayload.
|
|
796
|
+
* Used when tool_calls are synthesized from reasoning intentions.
|
|
797
|
+
*
|
|
798
|
+
* @param eventType - The specific event type (e.g., AgentEvents.LLM_REASONING_TOOLS_SYNTHESIZED).
|
|
799
|
+
* @param agentId - The Agent ID that generated the reasoning.
|
|
800
|
+
* @param channelId - The Channel ID for the agent.
|
|
801
|
+
* @param synthesizedData - The synthesized tool calls data.
|
|
802
|
+
* @param options - Optional base event payload options.
|
|
803
|
+
* @returns An LlmReasoningToolsSynthesizedEventPayload.
|
|
804
|
+
*/
|
|
805
|
+
export function createLlmReasoningToolsSynthesizedEventPayload(
|
|
806
|
+
eventType: EventName | string,
|
|
807
|
+
agentId: AgentId,
|
|
808
|
+
channelId: ChannelId,
|
|
809
|
+
synthesizedData: LlmReasoningToolsSynthesizedEventData,
|
|
810
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
811
|
+
): LlmReasoningToolsSynthesizedEventPayload {
|
|
812
|
+
// Add validation for synthesized data
|
|
813
|
+
const validator = createStrictValidator('LlmReasoningToolsSynthesizedEventPayload');
|
|
814
|
+
validator.assertIsArray(synthesizedData.toolCalls, 'Tool calls must be an array');
|
|
815
|
+
validator.assertIsArray(synthesizedData.toolIntentions, 'Tool intentions must be an array');
|
|
816
|
+
|
|
817
|
+
return createBaseEventPayload<LlmReasoningToolsSynthesizedEventData>(eventType, agentId, channelId, synthesizedData, options);
|
|
818
|
+
}
|
|
819
|
+
|
|
820
|
+
/**
|
|
821
|
+
* Creates an LLM Stream Chunk EventPayload for live TUI preview.
|
|
822
|
+
* Emitted during streaming LLM responses as partial tokens arrive.
|
|
823
|
+
*
|
|
824
|
+
* @param eventType - The event type (e.g., AgentEvents.LLM_STREAM_CHUNK).
|
|
825
|
+
* @param agentId - The Agent ID that is streaming.
|
|
826
|
+
* @param channelId - The Channel ID context for this streaming event.
|
|
827
|
+
* @param chunkData - The partial chunk data.
|
|
828
|
+
* @param options - Optional base event payload options.
|
|
829
|
+
* @returns An LlmStreamChunkEventPayload.
|
|
830
|
+
*/
|
|
831
|
+
export function createLlmStreamChunkEventPayload(
|
|
832
|
+
eventType: EventName | string,
|
|
833
|
+
agentId: AgentId,
|
|
834
|
+
channelId: ChannelId,
|
|
835
|
+
chunkData: LlmStreamChunkEventData,
|
|
836
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
837
|
+
): LlmStreamChunkEventPayload {
|
|
838
|
+
return createBaseEventPayload<LlmStreamChunkEventData>(eventType, agentId, channelId, chunkData, options);
|
|
839
|
+
}
|
|
840
|
+
|
|
841
|
+
/**
|
|
842
|
+
* Creates an LLM Usage EventPayload for token cost tracking.
|
|
843
|
+
* Emitted after each LLM response to track input/output token consumption.
|
|
844
|
+
*
|
|
845
|
+
* @param eventType - The event type (e.g., AgentEvents.LLM_USAGE).
|
|
846
|
+
* @param agentId - The Agent ID that consumed the tokens.
|
|
847
|
+
* @param channelId - The Channel ID context for this usage event.
|
|
848
|
+
* @param usageData - Token usage data from the LLM response.
|
|
849
|
+
* @param options - Optional base event payload options.
|
|
850
|
+
* @returns An LlmUsageEventPayload.
|
|
851
|
+
*/
|
|
852
|
+
export function createLlmUsageEventPayload(
|
|
853
|
+
eventType: EventName | string,
|
|
854
|
+
agentId: AgentId,
|
|
855
|
+
channelId: ChannelId,
|
|
856
|
+
usageData: LlmUsageEventData,
|
|
857
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
858
|
+
): LlmUsageEventPayload {
|
|
859
|
+
const validator = createStrictValidator('createLlmUsageEventPayload');
|
|
860
|
+
validator.assertIsObject(usageData, 'usageData');
|
|
861
|
+
validator.assertIsNonEmptyString(usageData.model, 'usageData.model');
|
|
862
|
+
|
|
863
|
+
return createBaseEventPayload<LlmUsageEventData>(eventType, agentId, channelId, usageData, options);
|
|
864
|
+
}
|
|
865
|
+
|
|
866
|
+
/**
|
|
867
|
+
* Creates a ChannelEventPayload.
|
|
868
|
+
* @param eventType - The specific channel event type (e.g., Events.Channel.CREATED, Events.Channel.AGENT_JOINED).
|
|
869
|
+
* @param agentId - The Agent ID initiating or primarily affected by the channel event.
|
|
870
|
+
* @param channelId - The Channel ID to which this event pertains.
|
|
871
|
+
* @param channelData - The specific data for the channel event.
|
|
872
|
+
* @param options - Optional base event payload options.
|
|
873
|
+
* @returns A ChannelEventPayload.
|
|
874
|
+
*/
|
|
875
|
+
export function createChannelEventPayload(
|
|
876
|
+
eventType: EventName | string,
|
|
877
|
+
agentId: AgentId,
|
|
878
|
+
channelId: ChannelId,
|
|
879
|
+
channelData: ChannelEventData,
|
|
880
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
881
|
+
): ChannelEventPayload {
|
|
882
|
+
return createBaseEventPayload<ChannelEventData>(eventType, agentId, channelId, channelData, options);
|
|
883
|
+
}
|
|
884
|
+
|
|
885
|
+
/**
|
|
886
|
+
* Creates a SubscriptionEventPayload.
|
|
887
|
+
* @param eventType - Usually Events.Channel.SUBSCRIBE or Events.Channel.UNSUBSCRIBE.
|
|
888
|
+
* @param agentId - The Agent ID performing the subscribe/unsubscribe action.
|
|
889
|
+
* @param channelId - The Channel ID where the subscription is happening.
|
|
890
|
+
* @param subscriptionData - The specific data for the subscription event.
|
|
891
|
+
* @param options - Optional base event payload options.
|
|
892
|
+
* @returns A SubscriptionEventPayload.
|
|
893
|
+
*/
|
|
894
|
+
export function createSubscriptionEventPayload(
|
|
895
|
+
eventType: EventName | string,
|
|
896
|
+
agentId: AgentId,
|
|
897
|
+
channelId: ChannelId,
|
|
898
|
+
subscriptionData: SubscriptionEventData,
|
|
899
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
900
|
+
): SubscriptionEventPayload {
|
|
901
|
+
return createBaseEventPayload<SubscriptionEventData>(eventType, agentId, channelId, subscriptionData, options);
|
|
902
|
+
}
|
|
903
|
+
|
|
904
|
+
/**
|
|
905
|
+
* Creates a TaskEventPayload (for task requests).
|
|
906
|
+
* @param eventType - Usually Events.Task.REQUEST.
|
|
907
|
+
* @param emittingAgentId - The Agent ID emitting this task request event.
|
|
908
|
+
* @param channelId - The Channel ID context for this task event.
|
|
909
|
+
* @param taskData - The specific data for the task request.
|
|
910
|
+
* @param options - Optional base event payload options.
|
|
911
|
+
* @returns A TaskEventPayload.
|
|
912
|
+
*/
|
|
913
|
+
export function createTaskEventPayload<TData extends TaskEventData>(
|
|
914
|
+
eventType: EventName | string,
|
|
915
|
+
emittingAgentId: AgentId,
|
|
916
|
+
channelId: ChannelId,
|
|
917
|
+
taskData: TData,
|
|
918
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
919
|
+
): TaskEventPayload & { data: TData } {
|
|
920
|
+
// Fail-fast validation for task event payload
|
|
921
|
+
const validator = createStrictValidator('TaskEventPayload');
|
|
922
|
+
|
|
923
|
+
// Validate required event parameters
|
|
924
|
+
validator.assertIsNonEmptyString(eventType, 'Event type is required');
|
|
925
|
+
validator.assertIsNonEmptyString(emittingAgentId, 'Emitting agent ID is required');
|
|
926
|
+
validator.assertIsNonEmptyString(channelId, 'Channel ID is required');
|
|
927
|
+
|
|
928
|
+
// Validate task data structure
|
|
929
|
+
validator.assertIsObject(taskData, 'Task data must be an object');
|
|
930
|
+
validator.assertIsNonEmptyString(taskData.taskId, 'Task ID is required');
|
|
931
|
+
//validator.assertIsNonEmptyString(taskData.toAgentId, 'Target agent ID is required');
|
|
932
|
+
|
|
933
|
+
// Task content is either a plain instruction string (simple request flow)
|
|
934
|
+
// or a creation-fields object — validate per shape.
|
|
935
|
+
const task = taskData.task;
|
|
936
|
+
if (typeof task === 'string') {
|
|
937
|
+
validator.assertIsNonEmptyString(task, 'Task instruction must be a non-empty string');
|
|
938
|
+
} else {
|
|
939
|
+
validator.assertIsObject(task, 'Task content must be an object');
|
|
940
|
+
validator.assertIsNonEmptyString(task.title, 'Task title is required');
|
|
941
|
+
validator.assertIsNonEmptyString(task.description, 'Task description is required');
|
|
942
|
+
validator.assertIsNonEmptyString(task.assignmentStrategy, 'Assignment strategy is required');
|
|
943
|
+
|
|
944
|
+
// Validate assignment scope and related fields
|
|
945
|
+
if (task.assignmentScope) {
|
|
946
|
+
const validScopes = ['single', 'multiple', 'channel-wide'];
|
|
947
|
+
validator.assert(
|
|
948
|
+
validScopes.includes(task.assignmentScope),
|
|
949
|
+
`Assignment scope must be one of: ${validScopes.join(', ')}`
|
|
950
|
+
);
|
|
951
|
+
|
|
952
|
+
// Validate multi-agent assignment requirements
|
|
953
|
+
if (task.assignmentScope === 'multiple') {
|
|
954
|
+
validator.assert(
|
|
955
|
+
Array.isArray(task.assignedAgentIds) && task.assignedAgentIds.length > 1,
|
|
956
|
+
'Multiple assignment scope requires assignedAgentIds array with 2+ agents'
|
|
957
|
+
);
|
|
958
|
+
}
|
|
959
|
+
|
|
960
|
+
// Validate channel-wide assignment requirements
|
|
961
|
+
if (task.assignmentScope === 'channel-wide') {
|
|
962
|
+
validator.assert(
|
|
963
|
+
task.channelWideTask === true || (task.maxParticipants ?? 0) > 0,
|
|
964
|
+
'Channel-wide assignment requires channelWideTask flag or maxParticipants limit'
|
|
965
|
+
);
|
|
966
|
+
}
|
|
967
|
+
}
|
|
968
|
+
|
|
969
|
+
// Validate coordination mode if specified
|
|
970
|
+
if (task.coordinationMode) {
|
|
971
|
+
const validModes = ['independent', 'collaborative', 'sequential', 'hierarchical'];
|
|
972
|
+
validator.assert(
|
|
973
|
+
validModes.includes(task.coordinationMode),
|
|
974
|
+
`Coordination mode must be one of: ${validModes.join(', ')}`
|
|
975
|
+
);
|
|
976
|
+
}
|
|
977
|
+
}
|
|
978
|
+
|
|
979
|
+
// Ensure fromAgentId is present in taskData, if not, use emittingAgentId
|
|
980
|
+
const dataWithFromAgent = { ...taskData, fromAgentId: taskData.fromAgentId || emittingAgentId };
|
|
981
|
+
|
|
982
|
+
// The spread widens the literal; the narrowed return is runtime-true
|
|
983
|
+
// because data IS the TData object the caller passed (plus fromAgentId).
|
|
984
|
+
return createBaseEventPayload(eventType, emittingAgentId, channelId, dataWithFromAgent as TData, options) as TaskEventPayload & { data: TData };
|
|
985
|
+
}
|
|
986
|
+
|
|
987
|
+
/**
|
|
988
|
+
* Creates a TaskResponseEventPayload.
|
|
989
|
+
* @param eventType - Usually Events.Task.RESPONSE.
|
|
990
|
+
* @param emittingAgentId - The Agent ID emitting this task response event (usually the one that performed the task).
|
|
991
|
+
* @param channelId - The Channel ID context for this task response event.
|
|
992
|
+
* @param taskResponseData - The specific data for the task response.
|
|
993
|
+
* @param options - Optional base event payload options.
|
|
994
|
+
* @returns A TaskResponseEventPayload.
|
|
995
|
+
*/
|
|
996
|
+
export function createTaskResponseEventPayload(
|
|
997
|
+
eventType: EventName | string,
|
|
998
|
+
emittingAgentId: AgentId,
|
|
999
|
+
channelId: ChannelId,
|
|
1000
|
+
taskResponseData: TaskResponseEventData,
|
|
1001
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
1002
|
+
): TaskResponseEventPayload {
|
|
1003
|
+
// Ensure fromAgentId is present in taskResponseData, if not, use emittingAgentId
|
|
1004
|
+
const dataWithFromAgent = { ...taskResponseData, fromAgentId: taskResponseData.fromAgentId || emittingAgentId };
|
|
1005
|
+
return createBaseEventPayload<TaskResponseEventData>(eventType, emittingAgentId, channelId, dataWithFromAgent, options);
|
|
1006
|
+
}
|
|
1007
|
+
|
|
1008
|
+
/**
|
|
1009
|
+
* Creates a TaskAssignmentEventPayload.
|
|
1010
|
+
* @param eventType - Usually Events.Task.ASSIGNED.
|
|
1011
|
+
* @param assignedAgentId - The Agent ID that was assigned the task.
|
|
1012
|
+
* @param channelId - The Channel ID context for this task assignment event.
|
|
1013
|
+
* @param taskAssignmentData - The specific data for the task assignment.
|
|
1014
|
+
* @param options - Optional base event payload options.
|
|
1015
|
+
* @returns A TaskAssignmentEventPayload.
|
|
1016
|
+
*/
|
|
1017
|
+
export function createTaskAssignmentEventPayload(
|
|
1018
|
+
eventType: EventName | string,
|
|
1019
|
+
assignedAgentId: AgentId,
|
|
1020
|
+
channelId: ChannelId,
|
|
1021
|
+
taskAssignmentData: TaskAssignmentEventData,
|
|
1022
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
1023
|
+
): TaskAssignmentEventPayload {
|
|
1024
|
+
return createBaseEventPayload<TaskAssignmentEventData>(eventType, assignedAgentId, channelId, taskAssignmentData, options);
|
|
1025
|
+
}
|
|
1026
|
+
|
|
1027
|
+
/**
|
|
1028
|
+
* Creates a ControlLoopEventPayload.
|
|
1029
|
+
* @param eventType - The specific control loop event type (e.g., Events.ControlLoop.INITIALIZE, Events.ControlLoop.OBSERVATION).
|
|
1030
|
+
* @param agentId - The Agent ID that owns/runs this control loop.
|
|
1031
|
+
* @param channelId - The Channel ID with which this control loop is associated.
|
|
1032
|
+
* @param controlLoopData - The specific data for the control loop event.
|
|
1033
|
+
* @param options - Optional base event payload options.
|
|
1034
|
+
* @returns A ControlLoopEventPayload.
|
|
1035
|
+
*/
|
|
1036
|
+
export function createControlLoopEventPayload(
|
|
1037
|
+
eventType: EventName | string,
|
|
1038
|
+
agentId: AgentId,
|
|
1039
|
+
channelId: ChannelId,
|
|
1040
|
+
controlLoopData: ControlLoopSpecificData,
|
|
1041
|
+
options: { source?: string; eventId?: string; timestamp?: number; isRecursionProtection?: boolean; } = {}
|
|
1042
|
+
): ControlLoopEventPayload {
|
|
1043
|
+
return createBaseEventPayload<ControlLoopSpecificData>(eventType, agentId, channelId, controlLoopData, options);
|
|
1044
|
+
}
|
|
1045
|
+
|
|
1046
|
+
// --- Memory Event Payload Creator Helpers ---
|
|
1047
|
+
|
|
1048
|
+
/**
|
|
1049
|
+
* Creates a MemoryGetEventPayload.
|
|
1050
|
+
* @param eventType - Usually Events.Memory.GET.
|
|
1051
|
+
* @param agentId - Agent requesting or involved in the memory operation.
|
|
1052
|
+
* @param channelId - Channel context for the memory operation.
|
|
1053
|
+
* @param memoryGetData - Specific data for the memory get request.
|
|
1054
|
+
* @param options - Optional base event payload options.
|
|
1055
|
+
* @returns A MemoryGetEventPayload.
|
|
1056
|
+
*/
|
|
1057
|
+
export function createMemoryGetEventPayload(
|
|
1058
|
+
eventType: typeof Events.Memory.GET,
|
|
1059
|
+
agentId: AgentId,
|
|
1060
|
+
channelId: ChannelId,
|
|
1061
|
+
memoryGetData: MemoryGetEventData,
|
|
1062
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
1063
|
+
): MemoryGetEventPayload {
|
|
1064
|
+
const validator = createStrictValidator('createMemoryGetEventPayload');
|
|
1065
|
+
validator.assertIsNonEmptyString(memoryGetData.operationId, 'memoryGetData.operationId');
|
|
1066
|
+
validator.assert(
|
|
1067
|
+
Object.values(MemoryScope).includes(memoryGetData.scope),
|
|
1068
|
+
`memoryGetData.scope must be a valid MemoryScope value. Received: ${memoryGetData.scope}`
|
|
1069
|
+
);
|
|
1070
|
+
// Validate 'id' which is string | string[]
|
|
1071
|
+
if (Array.isArray(memoryGetData.id)) {
|
|
1072
|
+
validator.assert(memoryGetData.id.length > 0, 'memoryGetData.id array must not be empty');
|
|
1073
|
+
memoryGetData.id.forEach((item, index) => {
|
|
1074
|
+
validator.assertIsNonEmptyString(item, `memoryGetData.id[${index}] must be a non-empty string`);
|
|
1075
|
+
});
|
|
1076
|
+
} else {
|
|
1077
|
+
validator.assertIsNonEmptyString(memoryGetData.id, 'memoryGetData.id must be a non-empty string or a non-empty array of non-empty strings');
|
|
1078
|
+
}
|
|
1079
|
+
return createBaseEventPayload<MemoryGetEventData>(eventType, agentId, channelId, memoryGetData, options);
|
|
1080
|
+
}
|
|
1081
|
+
|
|
1082
|
+
/**
|
|
1083
|
+
* Creates a MemoryGetResultEventPayload.
|
|
1084
|
+
* @param eventType - Usually Events.Memory.GET_RESULT or Events.Memory.GET_ERROR.
|
|
1085
|
+
* @param agentId - Agent involved in the memory operation result.
|
|
1086
|
+
* @param channelId - Channel context for the memory operation result.
|
|
1087
|
+
* @param memoryGetResultData - Specific data for the memory get result.
|
|
1088
|
+
* @param options - Optional base event payload options.
|
|
1089
|
+
* @returns A MemoryGetResultEventPayload.
|
|
1090
|
+
*/
|
|
1091
|
+
export function createMemoryGetResultEventPayload(
|
|
1092
|
+
eventType: typeof Events.Memory.GET_RESULT,
|
|
1093
|
+
agentId: AgentId,
|
|
1094
|
+
channelId: ChannelId,
|
|
1095
|
+
memoryGetResultData: MemoryGetResultEventData,
|
|
1096
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
1097
|
+
): MemoryGetResultEventPayload {
|
|
1098
|
+
const validator = createStrictValidator('createMemoryGetResultEventPayload');
|
|
1099
|
+
validator.assertIsNonEmptyString(memoryGetResultData.operationId, 'memoryGetResultData.operationId');
|
|
1100
|
+
validator.assert(
|
|
1101
|
+
Object.values(MemoryScope).includes(memoryGetResultData.scope),
|
|
1102
|
+
`memoryGetResultData.scope must be a valid MemoryScope value. Received: ${memoryGetResultData.scope}`
|
|
1103
|
+
);
|
|
1104
|
+
// Validate 'id' which is string | string[]
|
|
1105
|
+
if (Array.isArray(memoryGetResultData.id)) {
|
|
1106
|
+
validator.assert(memoryGetResultData.id.length > 0, 'memoryGetResultData.id array must not be empty');
|
|
1107
|
+
memoryGetResultData.id.forEach((item, index) => {
|
|
1108
|
+
validator.assertIsNonEmptyString(item, `memoryGetResultData.id[${index}] must be a non-empty string`);
|
|
1109
|
+
});
|
|
1110
|
+
} else {
|
|
1111
|
+
validator.assertIsNonEmptyString(memoryGetResultData.id, 'memoryGetResultData.id must be a non-empty string or a non-empty array of non-empty strings');
|
|
1112
|
+
}
|
|
1113
|
+
// memoryGetResultData.memory can be null/undefined if not found, so no strict check on its presence unless error is also absent.
|
|
1114
|
+
if (!memoryGetResultData.error && memoryGetResultData.memory === undefined) {
|
|
1115
|
+
// MemoryGetResultEventData created without memory or error - this is allowed for empty results
|
|
1116
|
+
}
|
|
1117
|
+
return createBaseEventPayload<MemoryGetResultEventData>(eventType, agentId, channelId, memoryGetResultData, options);
|
|
1118
|
+
}
|
|
1119
|
+
|
|
1120
|
+
/**
|
|
1121
|
+
* Creates a MemoryUpdateEventPayload.
|
|
1122
|
+
* @param eventType - Usually Events.Memory.UPDATE.
|
|
1123
|
+
* @param agentId - Agent requesting or involved in the memory update.
|
|
1124
|
+
* @param channelId - Channel context for the memory update.
|
|
1125
|
+
* @param memoryUpdateData - Specific data for the memory update request.
|
|
1126
|
+
* @param options - Optional base event payload options.
|
|
1127
|
+
* @returns A MemoryUpdateEventPayload.
|
|
1128
|
+
*/
|
|
1129
|
+
export function createMemoryUpdateEventPayload(
|
|
1130
|
+
eventType: typeof Events.Memory.UPDATE,
|
|
1131
|
+
agentId: AgentId,
|
|
1132
|
+
channelId: ChannelId,
|
|
1133
|
+
memoryUpdateData: MemoryUpdateEventData,
|
|
1134
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
1135
|
+
): MemoryUpdateEventPayload {
|
|
1136
|
+
const validator = createStrictValidator('createMemoryUpdateEventPayload');
|
|
1137
|
+
validator.assertIsNonEmptyString(memoryUpdateData.operationId, 'memoryUpdateData.operationId');
|
|
1138
|
+
validator.assert(
|
|
1139
|
+
Object.values(MemoryScope).includes(memoryUpdateData.scope),
|
|
1140
|
+
`memoryUpdateData.scope must be a valid MemoryScope value. Received: ${memoryUpdateData.scope}`
|
|
1141
|
+
);
|
|
1142
|
+
// Validate 'id' which is string | string[]
|
|
1143
|
+
if (Array.isArray(memoryUpdateData.id)) {
|
|
1144
|
+
validator.assert(memoryUpdateData.id.length > 0, 'memoryUpdateData.id array must not be empty');
|
|
1145
|
+
memoryUpdateData.id.forEach((item, index) => {
|
|
1146
|
+
validator.assertIsNonEmptyString(item, `memoryUpdateData.id[${index}] must be a non-empty string`);
|
|
1147
|
+
});
|
|
1148
|
+
} else {
|
|
1149
|
+
validator.assertIsNonEmptyString(memoryUpdateData.id, 'memoryUpdateData.id must be a non-empty string or a non-empty array of non-empty strings');
|
|
1150
|
+
}
|
|
1151
|
+
validator.assertIsObject(memoryUpdateData.data, 'memoryUpdateData.data');
|
|
1152
|
+
return createBaseEventPayload<MemoryUpdateEventData>(eventType, agentId, channelId, memoryUpdateData, options);
|
|
1153
|
+
}
|
|
1154
|
+
|
|
1155
|
+
/**
|
|
1156
|
+
* Creates a MemoryUpdateResultEventPayload.
|
|
1157
|
+
* @param eventType - Usually Events.Memory.UPDATE_RESULT or Events.Memory.UPDATE_ERROR.
|
|
1158
|
+
* @param agentId - Agent involved in the memory update result.
|
|
1159
|
+
* @param channelId - Channel context for the memory update result.
|
|
1160
|
+
* @param memoryUpdateResultData - Specific data for the memory update result.
|
|
1161
|
+
* @param options - Optional base event payload options.
|
|
1162
|
+
* @returns A MemoryUpdateResultEventPayload.
|
|
1163
|
+
*/
|
|
1164
|
+
export function createMemoryUpdateResultEventPayload(
|
|
1165
|
+
eventType: typeof Events.Memory.UPDATE_RESULT,
|
|
1166
|
+
agentId: AgentId,
|
|
1167
|
+
channelId: ChannelId,
|
|
1168
|
+
memoryUpdateResultData: MemoryUpdateResultEventData,
|
|
1169
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
1170
|
+
): MemoryUpdateResultEventPayload {
|
|
1171
|
+
const validator = createStrictValidator('createMemoryUpdateResultEventPayload');
|
|
1172
|
+
validator.assertIsNonEmptyString(memoryUpdateResultData.operationId, 'memoryUpdateResultData.operationId');
|
|
1173
|
+
validator.assert(
|
|
1174
|
+
Object.values(MemoryScope).includes(memoryUpdateResultData.scope),
|
|
1175
|
+
`memoryUpdateResultData.scope must be a valid MemoryScope value. Received: ${memoryUpdateResultData.scope}`
|
|
1176
|
+
);
|
|
1177
|
+
// Validate 'id' which is string | string[]
|
|
1178
|
+
if (Array.isArray(memoryUpdateResultData.id)) {
|
|
1179
|
+
validator.assert(memoryUpdateResultData.id.length > 0, 'memoryUpdateResultData.id array must not be empty');
|
|
1180
|
+
memoryUpdateResultData.id.forEach((item, index) => {
|
|
1181
|
+
validator.assertIsNonEmptyString(item, `memoryUpdateResultData.id[${index}] must be a non-empty string`);
|
|
1182
|
+
});
|
|
1183
|
+
} else {
|
|
1184
|
+
validator.assertIsNonEmptyString(memoryUpdateResultData.id, 'memoryUpdateResultData.id must be a non-empty string or a non-empty array of non-empty strings');
|
|
1185
|
+
}
|
|
1186
|
+
// memoryUpdateResultData.memory might not be strictly an object if e.g. indicating success only
|
|
1187
|
+
if (!memoryUpdateResultData.error && memoryUpdateResultData.memory === undefined) {
|
|
1188
|
+
// MemoryUpdateResultEventData created without memory or error - this is allowed for success indicators
|
|
1189
|
+
}
|
|
1190
|
+
return createBaseEventPayload<MemoryUpdateResultEventData>(eventType, agentId, channelId, memoryUpdateResultData, options);
|
|
1191
|
+
}
|
|
1192
|
+
|
|
1193
|
+
/**
|
|
1194
|
+
* Creates a MemoryDeleteEventPayload.
|
|
1195
|
+
* @param eventType - Usually Events.Memory.DELETE.
|
|
1196
|
+
* @param agentId - Agent requesting or involved in the memory deletion.
|
|
1197
|
+
* @param channelId - Channel context for the memory deletion.
|
|
1198
|
+
* @param memoryDeleteData - Specific data for the memory delete request.
|
|
1199
|
+
* @param options - Optional base event payload options.
|
|
1200
|
+
* @returns A MemoryDeleteEventPayload.
|
|
1201
|
+
*/
|
|
1202
|
+
export function createMemoryDeleteEventPayload(
|
|
1203
|
+
eventType: typeof Events.Memory.DELETE,
|
|
1204
|
+
agentId: AgentId,
|
|
1205
|
+
channelId: ChannelId,
|
|
1206
|
+
memoryDeleteData: MemoryDeleteEventData,
|
|
1207
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
1208
|
+
): MemoryDeleteEventPayload {
|
|
1209
|
+
const validator = createStrictValidator('createMemoryDeleteEventPayload');
|
|
1210
|
+
validator.assertIsNonEmptyString(memoryDeleteData.operationId, 'memoryDeleteData.operationId');
|
|
1211
|
+
validator.assert(
|
|
1212
|
+
Object.values(MemoryScope).includes(memoryDeleteData.scope),
|
|
1213
|
+
`memoryDeleteData.scope must be a valid MemoryScope value. Received: ${memoryDeleteData.scope}`
|
|
1214
|
+
);
|
|
1215
|
+
// Validate 'id' which is string | string[]
|
|
1216
|
+
if (Array.isArray(memoryDeleteData.id)) {
|
|
1217
|
+
validator.assert(memoryDeleteData.id.length > 0, 'memoryDeleteData.id array must not be empty');
|
|
1218
|
+
memoryDeleteData.id.forEach((item, index) => {
|
|
1219
|
+
validator.assertIsNonEmptyString(item, `memoryDeleteData.id[${index}] must be a non-empty string`);
|
|
1220
|
+
});
|
|
1221
|
+
} else {
|
|
1222
|
+
validator.assertIsNonEmptyString(memoryDeleteData.id, 'memoryDeleteData.id must be a non-empty string or a non-empty array of non-empty strings');
|
|
1223
|
+
}
|
|
1224
|
+
return createBaseEventPayload<MemoryDeleteEventData>(eventType, agentId, channelId, memoryDeleteData, options);
|
|
1225
|
+
}
|
|
1226
|
+
|
|
1227
|
+
/**
|
|
1228
|
+
* Creates a MemoryDeleteResultEventPayload.
|
|
1229
|
+
* @param eventType - Usually Events.Memory.DELETE_RESULT or Events.Memory.DELETE_ERROR.
|
|
1230
|
+
* @param agentId - Agent involved in the memory deletion result.
|
|
1231
|
+
* @param channelId - Channel context for the memory deletion result.
|
|
1232
|
+
* @param memoryDeleteResultData - Specific data for the memory delete result.
|
|
1233
|
+
* @param options - Optional base event payload options.
|
|
1234
|
+
* @returns A MemoryDeleteResultEventPayload.
|
|
1235
|
+
*/
|
|
1236
|
+
export function createMemoryDeleteResultEventPayload(
|
|
1237
|
+
eventType: typeof Events.Memory.DELETE_RESULT,
|
|
1238
|
+
agentId: AgentId,
|
|
1239
|
+
channelId: ChannelId,
|
|
1240
|
+
memoryDeleteResultData: MemoryDeleteResultEventData,
|
|
1241
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
1242
|
+
): MemoryDeleteResultEventPayload {
|
|
1243
|
+
const validator = createStrictValidator('createMemoryDeleteResultEventPayload');
|
|
1244
|
+
validator.assertIsNonEmptyString(memoryDeleteResultData.operationId, 'memoryDeleteResultData.operationId');
|
|
1245
|
+
validator.assert(
|
|
1246
|
+
Object.values(MemoryScope).includes(memoryDeleteResultData.scope),
|
|
1247
|
+
`memoryDeleteResultData.scope must be a valid MemoryScope value. Received: ${memoryDeleteResultData.scope}`
|
|
1248
|
+
);
|
|
1249
|
+
// Validate 'id' which is string | string[]
|
|
1250
|
+
if (Array.isArray(memoryDeleteResultData.id)) {
|
|
1251
|
+
validator.assert(memoryDeleteResultData.id.length > 0, 'memoryDeleteResultData.id array must not be empty');
|
|
1252
|
+
memoryDeleteResultData.id.forEach((item, index) => {
|
|
1253
|
+
validator.assertIsNonEmptyString(item, `memoryDeleteResultData.id[${index}] must be a non-empty string`);
|
|
1254
|
+
});
|
|
1255
|
+
} else {
|
|
1256
|
+
validator.assertIsNonEmptyString(memoryDeleteResultData.id, 'memoryDeleteResultData.id must be a non-empty string or a non-empty array of non-empty strings');
|
|
1257
|
+
}
|
|
1258
|
+
if (!memoryDeleteResultData.error && typeof memoryDeleteResultData.success !== 'boolean') {
|
|
1259
|
+
throw new Error('MemoryDeleteResultEventData requires a success flag if no error is provided.');
|
|
1260
|
+
}
|
|
1261
|
+
return createBaseEventPayload<MemoryDeleteResultEventData>(eventType, agentId, channelId, memoryDeleteResultData, options);
|
|
1262
|
+
}
|
|
1263
|
+
|
|
1264
|
+
/**
|
|
1265
|
+
* Creates a MemorySyncCompleteEventPayload.
|
|
1266
|
+
* @param eventType - Usually Events.Memory.SYNC_COMPLETE.
|
|
1267
|
+
* @param agentId - Agent involved in the memory sync operation.
|
|
1268
|
+
* @param channelId - Channel context for the memory sync operation.
|
|
1269
|
+
* @param memorySyncCompleteData - Specific data for the memory sync complete.
|
|
1270
|
+
* @param options - Optional base event payload options.
|
|
1271
|
+
* @returns A MemorySyncCompleteEventPayload.
|
|
1272
|
+
*/
|
|
1273
|
+
export function createMemorySyncCompleteEventPayload(
|
|
1274
|
+
eventType: typeof Events.Memory.SYNC_COMPLETE,
|
|
1275
|
+
agentId: AgentId,
|
|
1276
|
+
channelId: ChannelId,
|
|
1277
|
+
memorySyncCompleteData: MemorySyncCompleteData,
|
|
1278
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
1279
|
+
): MemorySyncCompletePayload {
|
|
1280
|
+
const validator = createStrictValidator('createMemorySyncCompleteEventPayload');
|
|
1281
|
+
validator.assertIsNonEmptyString(memorySyncCompleteData.operationId, 'memorySyncCompleteData.operationId');
|
|
1282
|
+
validator.assert(
|
|
1283
|
+
Object.values(MemoryScope).includes(memorySyncCompleteData.scope),
|
|
1284
|
+
`memorySyncCompleteData.scope must be a valid MemoryScope value. Received: ${memorySyncCompleteData.scope}`
|
|
1285
|
+
);
|
|
1286
|
+
return createBaseEventPayload<MemorySyncCompleteData>(eventType, agentId, channelId, memorySyncCompleteData, options);
|
|
1287
|
+
}
|
|
1288
|
+
|
|
1289
|
+
/**
|
|
1290
|
+
* Creates a MemorySyncErrorEventPayload.
|
|
1291
|
+
* @param eventType - Usually Events.Memory.SYNC_ERROR.
|
|
1292
|
+
* @param agentId - Agent involved in the memory sync error.
|
|
1293
|
+
* @param channelId - Channel context for the memory sync error.
|
|
1294
|
+
* @param memorySyncErrorData - Specific data for the memory sync error.
|
|
1295
|
+
* @param options - Optional base event payload options.
|
|
1296
|
+
* @returns A MemorySyncErrorEventPayload.
|
|
1297
|
+
*/
|
|
1298
|
+
export function createMemorySyncErrorEventPayload(
|
|
1299
|
+
eventType: typeof Events.Memory.SYNC_ERROR,
|
|
1300
|
+
agentId: AgentId,
|
|
1301
|
+
channelId: ChannelId,
|
|
1302
|
+
memorySyncErrorData: MemorySyncErrorData,
|
|
1303
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
1304
|
+
): MemorySyncErrorPayload {
|
|
1305
|
+
const validator = createStrictValidator('createMemorySyncErrorEventPayload');
|
|
1306
|
+
validator.assertIsNonEmptyString(memorySyncErrorData.operationId, 'memorySyncErrorData.operationId');
|
|
1307
|
+
validator.assert(
|
|
1308
|
+
Object.values(MemoryScope).includes(memorySyncErrorData.scope),
|
|
1309
|
+
`memorySyncErrorData.scope must be a valid MemoryScope value. Received: ${memorySyncErrorData.scope}`
|
|
1310
|
+
);
|
|
1311
|
+
validator.assertIsNonEmptyString(memorySyncErrorData.error, 'memorySyncErrorData.error');
|
|
1312
|
+
return createBaseEventPayload<MemorySyncErrorData>(eventType, agentId, channelId, memorySyncErrorData, options);
|
|
1313
|
+
}
|
|
1314
|
+
|
|
1315
|
+
// --- Message Event Payload Creator Helpers ---
|
|
1316
|
+
|
|
1317
|
+
/**
|
|
1318
|
+
* Creates an event payload that carries a standard ChannelMessage.
|
|
1319
|
+
* @param eventType - The specific event type, e.g., Events.Message.CHANNEL_MESSAGE.
|
|
1320
|
+
* @param agentId - The Agent ID involved in processing or relaying this message event.
|
|
1321
|
+
* @param channelMessage - The ChannelMessage object itself.
|
|
1322
|
+
* @param options - Optional base event payload options.
|
|
1323
|
+
* @returns A ChannelMessageEventPayload.
|
|
1324
|
+
*/
|
|
1325
|
+
export function createChannelMessageEventPayload(
|
|
1326
|
+
eventType: EventName | string,
|
|
1327
|
+
agentId: AgentId,
|
|
1328
|
+
channelMessage: ChannelMessage,
|
|
1329
|
+
options: { source?: string; isRecursionProtection?: boolean; eventId?: string; timestamp?: number; } = {}
|
|
1330
|
+
): ChannelMessageEventPayload {
|
|
1331
|
+
const validator = createStrictValidator('createChannelMessageEventPayload');
|
|
1332
|
+
validator.assertIsObject(channelMessage, 'channelMessage');
|
|
1333
|
+
validator.assertIsNonEmptyString(channelMessage?.context?.channelId, 'channelMessage.context.channelId');
|
|
1334
|
+
|
|
1335
|
+
return createBaseEventPayload<ChannelMessage>(
|
|
1336
|
+
eventType,
|
|
1337
|
+
agentId,
|
|
1338
|
+
channelMessage.context.channelId, // Deriving channelId for BaseEventPayload from the message's context
|
|
1339
|
+
channelMessage,
|
|
1340
|
+
options
|
|
1341
|
+
);
|
|
1342
|
+
}
|
|
1343
|
+
|
|
1344
|
+
/**
|
|
1345
|
+
* Creates an event payload that carries a standard AgentMessage.
|
|
1346
|
+
* @param eventType - The specific event type, e.g., Events.Message.AGENT_MESSAGE.
|
|
1347
|
+
* @param agentId - The Agent ID involved in this agent message event (e.g., sender or receiver based on context).
|
|
1348
|
+
* @param channelId - The Channel ID providing context for this agent message event.
|
|
1349
|
+
* @param agentMessage - The AgentMessage object itself.
|
|
1350
|
+
* @param options - Optional base event payload options.
|
|
1351
|
+
* @returns A AgentMessageEventPayload.
|
|
1352
|
+
*/
|
|
1353
|
+
export function createAgentMessageEventPayload(
|
|
1354
|
+
eventType: EventName | string,
|
|
1355
|
+
agentId: AgentId,
|
|
1356
|
+
channelId: ChannelId,
|
|
1357
|
+
agentMessage: AgentMessage,
|
|
1358
|
+
options: { source?: string; isRecursionProtection?: boolean; eventId?: string; timestamp?: number; } = {}
|
|
1359
|
+
): AgentMessageEventPayload {
|
|
1360
|
+
const validator = createStrictValidator('createAgentMessageEventPayload');
|
|
1361
|
+
validator.assertIsObject(agentMessage, 'agentMessage');
|
|
1362
|
+
// agentMessage.receiverId is validated by its own creator typically
|
|
1363
|
+
|
|
1364
|
+
return createBaseEventPayload<AgentMessage>(
|
|
1365
|
+
eventType,
|
|
1366
|
+
agentId,
|
|
1367
|
+
channelId, // Agent messages can still occur within a channel context for the event logging/tracing
|
|
1368
|
+
agentMessage,
|
|
1369
|
+
options
|
|
1370
|
+
);
|
|
1371
|
+
}
|
|
1372
|
+
|
|
1373
|
+
/**
|
|
1374
|
+
* Creates a MessageEventPayload for message persistence events.
|
|
1375
|
+
* @param eventType - The specific event type (e.g., Events.Message.PERSIST_CHANNEL_MESSAGE_REQUEST).
|
|
1376
|
+
* @param agentId - The ID of the agent initiating or responsible for the event.
|
|
1377
|
+
* @param channelId - The ID of the channel associated with the event.
|
|
1378
|
+
* @param data - The specific data for the message event.
|
|
1379
|
+
* @param options - Optional overrides for eventId and timestamp.
|
|
1380
|
+
* @returns The complete event payload.
|
|
1381
|
+
*/
|
|
1382
|
+
export const createMessageEventPayload = (
|
|
1383
|
+
eventType: string,
|
|
1384
|
+
agentId: AgentId,
|
|
1385
|
+
channelId: ChannelId,
|
|
1386
|
+
data: MessageEventData,
|
|
1387
|
+
options?: { eventId?: string; timestamp?: number }
|
|
1388
|
+
): MessageEventPayload => ({
|
|
1389
|
+
eventId: options?.eventId || uuidv4(),
|
|
1390
|
+
eventType,
|
|
1391
|
+
timestamp: options?.timestamp || Date.now(),
|
|
1392
|
+
agentId,
|
|
1393
|
+
channelId,
|
|
1394
|
+
source: 'SYSTEM',
|
|
1395
|
+
data,
|
|
1396
|
+
});
|
|
1397
|
+
|
|
1398
|
+
/**
|
|
1399
|
+
* Creates a MessagePersistFailedPayload event payload.
|
|
1400
|
+
* @param eventType - The specific event type (e.g., Events.Message.MESSAGE_PERSIST_FAILED).
|
|
1401
|
+
* @param agentId - The ID of the agent initiating or responsible for the event.
|
|
1402
|
+
* @param channelId - The ID of the channel associated with the event.
|
|
1403
|
+
* @param data - The specific data for the message persist failed event.
|
|
1404
|
+
* @param options - Optional overrides for eventId and timestamp.
|
|
1405
|
+
* @returns The complete event payload.
|
|
1406
|
+
*/
|
|
1407
|
+
export const createMessagePersistFailedEventPayload = (
|
|
1408
|
+
eventType: string,
|
|
1409
|
+
agentId: AgentId,
|
|
1410
|
+
channelId: ChannelId,
|
|
1411
|
+
data: MessagePersistFailedPayload,
|
|
1412
|
+
options?: { eventId?: string; timestamp?: number }
|
|
1413
|
+
): BaseEventPayload<MessagePersistFailedPayload> => ({
|
|
1414
|
+
eventId: options?.eventId || uuidv4(),
|
|
1415
|
+
eventType,
|
|
1416
|
+
timestamp: options?.timestamp || Date.now(),
|
|
1417
|
+
agentId,
|
|
1418
|
+
channelId,
|
|
1419
|
+
source: 'SYSTEM',
|
|
1420
|
+
data,
|
|
1421
|
+
});
|
|
1422
|
+
|
|
1423
|
+
/**
|
|
1424
|
+
* Creates a MessageSendFailedPayload event payload.
|
|
1425
|
+
* @param eventType - The specific event type (e.g., Events.Message.MESSAGE_SEND_FAILED).
|
|
1426
|
+
* @param agentId - The ID of the agent initiating or responsible for the event.
|
|
1427
|
+
* @param channelId - The ID of the channel associated with the event.
|
|
1428
|
+
* @param data - The specific data for the message send failed event.
|
|
1429
|
+
* @param options - Optional overrides for eventId and timestamp.
|
|
1430
|
+
* @returns The complete event payload.
|
|
1431
|
+
*/
|
|
1432
|
+
export const createMessageSendFailedEventPayload = (
|
|
1433
|
+
eventType: string,
|
|
1434
|
+
agentId: AgentId,
|
|
1435
|
+
channelId: ChannelId,
|
|
1436
|
+
data: MessageSendFailedPayload,
|
|
1437
|
+
options?: { eventId?: string; timestamp?: number }
|
|
1438
|
+
): BaseEventPayload<MessageSendFailedPayload> => ({
|
|
1439
|
+
eventId: options?.eventId || uuidv4(),
|
|
1440
|
+
eventType,
|
|
1441
|
+
timestamp: options?.timestamp || Date.now(),
|
|
1442
|
+
agentId,
|
|
1443
|
+
channelId,
|
|
1444
|
+
source: 'SYSTEM',
|
|
1445
|
+
data,
|
|
1446
|
+
});
|
|
1447
|
+
|
|
1448
|
+
// --- LLM Service Event Payloads ---
|
|
1449
|
+
|
|
1450
|
+
/**
|
|
1451
|
+
* Data for LLM instruction started event.
|
|
1452
|
+
*/
|
|
1453
|
+
export interface LlmInstructionStartedEventData {
|
|
1454
|
+
serviceId: string; // Unique ID for the LLM service instance or request context
|
|
1455
|
+
instructionId: string; // Unique ID for this specific instruction/prompt
|
|
1456
|
+
timestamp: number;
|
|
1457
|
+
prompt: string;
|
|
1458
|
+
options?: Record<string, any>; // LLM provider options
|
|
1459
|
+
}
|
|
1460
|
+
|
|
1461
|
+
/**
|
|
1462
|
+
* Data for LLM instruction completed event.
|
|
1463
|
+
*/
|
|
1464
|
+
export interface LlmInstructionCompletedEventData {
|
|
1465
|
+
serviceId: string;
|
|
1466
|
+
instructionId: string;
|
|
1467
|
+
timestamp: number;
|
|
1468
|
+
response: string;
|
|
1469
|
+
usage?: {
|
|
1470
|
+
promptTokens?: number;
|
|
1471
|
+
completionTokens?: number;
|
|
1472
|
+
totalTokens?: number;
|
|
1473
|
+
[key: string]: any; // For other provider-specific usage data
|
|
1474
|
+
};
|
|
1475
|
+
}
|
|
1476
|
+
|
|
1477
|
+
/**
|
|
1478
|
+
* Data for LLM instruction error event.
|
|
1479
|
+
*/
|
|
1480
|
+
export interface LlmInstructionErrorEventData {
|
|
1481
|
+
serviceId: string;
|
|
1482
|
+
instructionId: string;
|
|
1483
|
+
timestamp: number;
|
|
1484
|
+
error: string;
|
|
1485
|
+
}
|
|
1486
|
+
|
|
1487
|
+
/**
|
|
1488
|
+
* Creates a payload for an LLM instruction started event.
|
|
1489
|
+
* @param eventType - The specific event type.
|
|
1490
|
+
* @param agentId - The ID of the agent initiating or responsible for the event.
|
|
1491
|
+
* @param channelId - The ID of the channel associated with the event.
|
|
1492
|
+
* @param data - The specific data for the LLM instruction started event.
|
|
1493
|
+
* @returns The complete event payload.
|
|
1494
|
+
*/
|
|
1495
|
+
export const createLlmInstructionStartedPayload = (
|
|
1496
|
+
eventType: string,
|
|
1497
|
+
agentId: AgentId,
|
|
1498
|
+
channelId: ChannelId,
|
|
1499
|
+
data: LlmInstructionStartedEventData
|
|
1500
|
+
): BaseEventPayload<LlmInstructionStartedEventData> => ({
|
|
1501
|
+
eventId: uuidv4(),
|
|
1502
|
+
eventType,
|
|
1503
|
+
timestamp: Date.now(),
|
|
1504
|
+
agentId,
|
|
1505
|
+
channelId,
|
|
1506
|
+
source: 'SYSTEM',
|
|
1507
|
+
data,
|
|
1508
|
+
});
|
|
1509
|
+
|
|
1510
|
+
/**
|
|
1511
|
+
* Creates a payload for an LLM instruction completed event.
|
|
1512
|
+
* @param eventType - The specific event type.
|
|
1513
|
+
* @param agentId - The ID of the agent initiating or responsible for the event.
|
|
1514
|
+
* @param channelId - The ID of the channel associated with the event.
|
|
1515
|
+
* @param data - The specific data for the LLM instruction completed event.
|
|
1516
|
+
* @returns The complete event payload.
|
|
1517
|
+
*/
|
|
1518
|
+
export const createLlmInstructionCompletedPayload = (
|
|
1519
|
+
eventType: string,
|
|
1520
|
+
agentId: AgentId,
|
|
1521
|
+
channelId: ChannelId,
|
|
1522
|
+
data: LlmInstructionCompletedEventData
|
|
1523
|
+
): BaseEventPayload<LlmInstructionCompletedEventData> => ({
|
|
1524
|
+
eventId: uuidv4(),
|
|
1525
|
+
eventType,
|
|
1526
|
+
timestamp: Date.now(),
|
|
1527
|
+
agentId,
|
|
1528
|
+
channelId,
|
|
1529
|
+
source: 'SYSTEM',
|
|
1530
|
+
data,
|
|
1531
|
+
});
|
|
1532
|
+
|
|
1533
|
+
/**
|
|
1534
|
+
* Creates a payload for an LLM instruction error event.
|
|
1535
|
+
* @param eventType - The specific event type.
|
|
1536
|
+
* @param agentId - The ID of the agent initiating or responsible for the event.
|
|
1537
|
+
* @param channelId - The ID of the channel associated with the event.
|
|
1538
|
+
* @param data - The specific data for the LLM instruction error event.
|
|
1539
|
+
* @returns The complete event payload.
|
|
1540
|
+
*/
|
|
1541
|
+
export const createLlmInstructionErrorPayload = (
|
|
1542
|
+
eventType: string,
|
|
1543
|
+
agentId: AgentId,
|
|
1544
|
+
channelId: ChannelId,
|
|
1545
|
+
data: LlmInstructionErrorEventData
|
|
1546
|
+
): BaseEventPayload<LlmInstructionErrorEventData> => ({
|
|
1547
|
+
eventId: uuidv4(),
|
|
1548
|
+
eventType,
|
|
1549
|
+
timestamp: Date.now(),
|
|
1550
|
+
agentId,
|
|
1551
|
+
channelId,
|
|
1552
|
+
source: 'SYSTEM',
|
|
1553
|
+
data,
|
|
1554
|
+
});
|
|
1555
|
+
|
|
1556
|
+
/**
|
|
1557
|
+
* Creates a payload for an MCP tool register event.
|
|
1558
|
+
* @param eventType - The specific event type.
|
|
1559
|
+
* @param agentId - The ID of the agent initiating or responsible for the event.
|
|
1560
|
+
* @param channelId - The ID of the channel associated with the event.
|
|
1561
|
+
* @param data - The specific data for the MCP tool register event.
|
|
1562
|
+
* @returns The complete event payload.
|
|
1563
|
+
*/
|
|
1564
|
+
export const createMcpToolRegisterPayload = (
|
|
1565
|
+
eventType: string,
|
|
1566
|
+
agentId: AgentId,
|
|
1567
|
+
channelId: ChannelId,
|
|
1568
|
+
data: McpToolEventData & { registrationDetails: any }
|
|
1569
|
+
): McpToolRegisteredEventPayload => ({
|
|
1570
|
+
eventId: uuidv4(),
|
|
1571
|
+
eventType,
|
|
1572
|
+
timestamp: Date.now(),
|
|
1573
|
+
agentId,
|
|
1574
|
+
channelId,
|
|
1575
|
+
source: 'SYSTEM',
|
|
1576
|
+
data,
|
|
1577
|
+
});
|
|
1578
|
+
|
|
1579
|
+
/**
|
|
1580
|
+
* Creates a payload for an MCP tool registered response event.
|
|
1581
|
+
* @param eventType - The specific event type.
|
|
1582
|
+
* @param agentId - The ID of the agent initiating or responsible for the event.
|
|
1583
|
+
* @param channelId - The ID of the channel associated with the event.
|
|
1584
|
+
* @param data - The specific data for the MCP tool registered response event.
|
|
1585
|
+
* @returns The complete event payload.
|
|
1586
|
+
*/
|
|
1587
|
+
export const createMcpToolRegisteredPayload = (
|
|
1588
|
+
eventType: string,
|
|
1589
|
+
agentId: AgentId,
|
|
1590
|
+
channelId: ChannelId,
|
|
1591
|
+
data: McpToolEventData & { success: boolean; error?: string }
|
|
1592
|
+
): McpToolRegisteredEventPayload => ({
|
|
1593
|
+
eventId: uuidv4(),
|
|
1594
|
+
eventType,
|
|
1595
|
+
timestamp: Date.now(),
|
|
1596
|
+
agentId,
|
|
1597
|
+
channelId,
|
|
1598
|
+
source: 'SYSTEM',
|
|
1599
|
+
data: {
|
|
1600
|
+
...data,
|
|
1601
|
+
registrationDetails: { success: data.success, error: data.error }
|
|
1602
|
+
},
|
|
1603
|
+
});
|
|
1604
|
+
|
|
1605
|
+
/**
|
|
1606
|
+
* Creates a payload for an MCP tool unregister event.
|
|
1607
|
+
* @param eventType - The specific event type.
|
|
1608
|
+
* @param agentId - The ID of the agent initiating or responsible for the event.
|
|
1609
|
+
* @param channelId - The ID of the channel associated with the event.
|
|
1610
|
+
* @param data - The specific data for the MCP tool unregister event.
|
|
1611
|
+
* @returns The complete event payload.
|
|
1612
|
+
*/
|
|
1613
|
+
export const createMcpToolUnregisterPayload = (
|
|
1614
|
+
eventType: string,
|
|
1615
|
+
agentId: AgentId,
|
|
1616
|
+
channelId: ChannelId,
|
|
1617
|
+
data: McpToolEventData
|
|
1618
|
+
): McpToolUnregisteredEventPayload => ({
|
|
1619
|
+
eventId: uuidv4(),
|
|
1620
|
+
eventType,
|
|
1621
|
+
timestamp: Date.now(),
|
|
1622
|
+
agentId,
|
|
1623
|
+
channelId,
|
|
1624
|
+
source: 'SYSTEM',
|
|
1625
|
+
data,
|
|
1626
|
+
});
|
|
1627
|
+
|
|
1628
|
+
/**
|
|
1629
|
+
* Creates a payload for an MCP tool call event.
|
|
1630
|
+
* @param eventType - The specific event type.
|
|
1631
|
+
* @param agentId - The ID of the agent initiating or responsible for the event.
|
|
1632
|
+
* @param channelId - The ID of the channel associated with the event.
|
|
1633
|
+
* @param data - The specific data for the MCP tool call event.
|
|
1634
|
+
* @returns The complete event payload.
|
|
1635
|
+
*/
|
|
1636
|
+
export const createMcpToolCallPayload = (
|
|
1637
|
+
eventType: string,
|
|
1638
|
+
agentId: AgentId,
|
|
1639
|
+
channelId: ChannelId,
|
|
1640
|
+
data: McpToolEventData & { callId: string; arguments: any }
|
|
1641
|
+
): McpToolCallEventPayload => ({
|
|
1642
|
+
eventId: uuidv4(),
|
|
1643
|
+
eventType,
|
|
1644
|
+
timestamp: Date.now(),
|
|
1645
|
+
agentId,
|
|
1646
|
+
channelId,
|
|
1647
|
+
source: 'SYSTEM',
|
|
1648
|
+
data,
|
|
1649
|
+
});
|
|
1650
|
+
|
|
1651
|
+
/**
|
|
1652
|
+
* Creates a payload for an MCP tool result event.
|
|
1653
|
+
* @param eventType - The specific event type.
|
|
1654
|
+
* @param agentId - The ID of the agent initiating or responsible for the event.
|
|
1655
|
+
* @param channelId - The ID of the channel associated with the event.
|
|
1656
|
+
* @param data - The specific data for the MCP tool result event.
|
|
1657
|
+
* @returns The complete event payload.
|
|
1658
|
+
*/
|
|
1659
|
+
export const createMcpToolResultPayload = (
|
|
1660
|
+
eventType: string,
|
|
1661
|
+
agentId: AgentId,
|
|
1662
|
+
channelId: ChannelId,
|
|
1663
|
+
data: McpToolEventData & { callId: string; result: any }
|
|
1664
|
+
): McpToolResultEventPayload => ({
|
|
1665
|
+
eventId: uuidv4(),
|
|
1666
|
+
eventType,
|
|
1667
|
+
timestamp: Date.now(),
|
|
1668
|
+
agentId,
|
|
1669
|
+
channelId,
|
|
1670
|
+
source: 'SYSTEM',
|
|
1671
|
+
data,
|
|
1672
|
+
});
|
|
1673
|
+
|
|
1674
|
+
/**
|
|
1675
|
+
* Creates a payload for an MCP tool error event.
|
|
1676
|
+
* @param eventType - The specific event type.
|
|
1677
|
+
* @param agentId - The ID of the agent initiating or responsible for the event.
|
|
1678
|
+
* @param channelId - The ID of the channel associated with the event.
|
|
1679
|
+
* @param data - The specific data for the MCP tool error event.
|
|
1680
|
+
* @returns The complete event payload.
|
|
1681
|
+
*/
|
|
1682
|
+
export const createMcpToolErrorPayload = (
|
|
1683
|
+
eventType: string,
|
|
1684
|
+
agentId: AgentId,
|
|
1685
|
+
channelId: ChannelId,
|
|
1686
|
+
data: McpToolEventData & { callId: string; error: any }
|
|
1687
|
+
): McpToolErrorEventPayload => ({
|
|
1688
|
+
eventId: uuidv4(),
|
|
1689
|
+
eventType,
|
|
1690
|
+
timestamp: Date.now(),
|
|
1691
|
+
agentId,
|
|
1692
|
+
channelId,
|
|
1693
|
+
source: 'SYSTEM',
|
|
1694
|
+
data,
|
|
1695
|
+
});
|
|
1696
|
+
|
|
1697
|
+
/**
|
|
1698
|
+
* Creates a payload for a client-side tool call event (local observability).
|
|
1699
|
+
*/
|
|
1700
|
+
export const createMcpToolCallLocalPayload = (
|
|
1701
|
+
eventType: string,
|
|
1702
|
+
agentId: AgentId,
|
|
1703
|
+
channelId: ChannelId,
|
|
1704
|
+
data: McpToolEventData & { callId: string; arguments: any }
|
|
1705
|
+
): McpToolCallEventPayload => ({
|
|
1706
|
+
eventId: uuidv4(),
|
|
1707
|
+
eventType,
|
|
1708
|
+
timestamp: Date.now(),
|
|
1709
|
+
agentId,
|
|
1710
|
+
channelId,
|
|
1711
|
+
source: 'SYSTEM',
|
|
1712
|
+
data,
|
|
1713
|
+
});
|
|
1714
|
+
|
|
1715
|
+
/**
|
|
1716
|
+
* Creates a payload for a client-side tool result event (local observability).
|
|
1717
|
+
*/
|
|
1718
|
+
export const createMcpToolResultLocalPayload = (
|
|
1719
|
+
eventType: string,
|
|
1720
|
+
agentId: AgentId,
|
|
1721
|
+
channelId: ChannelId,
|
|
1722
|
+
data: McpToolEventData & { callId: string; result: any; durationMs: number }
|
|
1723
|
+
): McpToolResultEventPayload => ({
|
|
1724
|
+
eventId: uuidv4(),
|
|
1725
|
+
eventType,
|
|
1726
|
+
timestamp: Date.now(),
|
|
1727
|
+
agentId,
|
|
1728
|
+
channelId,
|
|
1729
|
+
source: 'SYSTEM',
|
|
1730
|
+
data,
|
|
1731
|
+
});
|
|
1732
|
+
|
|
1733
|
+
/**
|
|
1734
|
+
* Creates a payload for a client-side tool error event (local observability).
|
|
1735
|
+
*/
|
|
1736
|
+
export const createMcpToolErrorLocalPayload = (
|
|
1737
|
+
eventType: string,
|
|
1738
|
+
agentId: AgentId,
|
|
1739
|
+
channelId: ChannelId,
|
|
1740
|
+
data: McpToolEventData & { callId: string; error: any }
|
|
1741
|
+
): McpToolErrorEventPayload => ({
|
|
1742
|
+
eventId: uuidv4(),
|
|
1743
|
+
eventType,
|
|
1744
|
+
timestamp: Date.now(),
|
|
1745
|
+
agentId,
|
|
1746
|
+
channelId,
|
|
1747
|
+
source: 'SYSTEM',
|
|
1748
|
+
data,
|
|
1749
|
+
});
|
|
1750
|
+
|
|
1751
|
+
/**
|
|
1752
|
+
* Creates a payload for the fire-and-forget notification to server
|
|
1753
|
+
* after a tool has been executed client-side. Used for DB history recording.
|
|
1754
|
+
*/
|
|
1755
|
+
export const createMcpToolCallCompletedLocalPayload = (
|
|
1756
|
+
eventType: string,
|
|
1757
|
+
agentId: AgentId,
|
|
1758
|
+
channelId: ChannelId,
|
|
1759
|
+
data: McpToolCallCompletedLocalData
|
|
1760
|
+
): McpToolCallCompletedLocalEventPayload => ({
|
|
1761
|
+
eventId: uuidv4(),
|
|
1762
|
+
eventType,
|
|
1763
|
+
timestamp: Date.now(),
|
|
1764
|
+
agentId,
|
|
1765
|
+
channelId,
|
|
1766
|
+
source: 'SYSTEM',
|
|
1767
|
+
data,
|
|
1768
|
+
});
|
|
1769
|
+
|
|
1770
|
+
/**
|
|
1771
|
+
* Creates a payload for an MCP resource get event.
|
|
1772
|
+
* @param eventType - The specific event type.
|
|
1773
|
+
* @param agentId - The ID of the agent initiating or responsible for the event.
|
|
1774
|
+
* @param channelId - The ID of the channel associated with the event.
|
|
1775
|
+
* @param data - The specific data for the MCP resource get event.
|
|
1776
|
+
* @returns The complete event payload.
|
|
1777
|
+
*/
|
|
1778
|
+
export const createMcpResourceGetPayload = (
|
|
1779
|
+
eventType: string,
|
|
1780
|
+
agentId: AgentId,
|
|
1781
|
+
channelId: ChannelId,
|
|
1782
|
+
data: McpResourceEventData & { requestId: string }
|
|
1783
|
+
): McpResourceGetEventPayload => ({
|
|
1784
|
+
eventId: uuidv4(),
|
|
1785
|
+
eventType,
|
|
1786
|
+
timestamp: Date.now(),
|
|
1787
|
+
agentId,
|
|
1788
|
+
channelId,
|
|
1789
|
+
source: 'SYSTEM',
|
|
1790
|
+
data,
|
|
1791
|
+
});
|
|
1792
|
+
|
|
1793
|
+
/**
|
|
1794
|
+
* Creates a payload for an MCP resource list event.
|
|
1795
|
+
* @param eventType - The specific event type.
|
|
1796
|
+
* @param agentId - The ID of the agent initiating or responsible for the event.
|
|
1797
|
+
* @param channelId - The ID of the channel associated with the event.
|
|
1798
|
+
* @param data - The specific data for the MCP resource list event.
|
|
1799
|
+
* @returns The complete event payload.
|
|
1800
|
+
*/
|
|
1801
|
+
export const createMcpResourceListPayload = (
|
|
1802
|
+
eventType: string,
|
|
1803
|
+
agentId: AgentId,
|
|
1804
|
+
channelId: ChannelId,
|
|
1805
|
+
data: McpResourceEventData & { requestId: string; filter?: any }
|
|
1806
|
+
): McpResourceListEventPayload => ({
|
|
1807
|
+
eventId: uuidv4(),
|
|
1808
|
+
eventType,
|
|
1809
|
+
timestamp: Date.now(),
|
|
1810
|
+
agentId,
|
|
1811
|
+
channelId,
|
|
1812
|
+
source: 'SYSTEM',
|
|
1813
|
+
data,
|
|
1814
|
+
});
|
|
1815
|
+
|
|
1816
|
+
/**
|
|
1817
|
+
* Creates a payload for an MCP resource result event.
|
|
1818
|
+
* @param eventType - The specific event type.
|
|
1819
|
+
* @param agentId - The ID of the agent initiating or responsible for the event.
|
|
1820
|
+
* @param channelId - The ID of the channel associated with the event.
|
|
1821
|
+
* @param data - The specific data for the MCP resource result event.
|
|
1822
|
+
* @returns The complete event payload.
|
|
1823
|
+
*/
|
|
1824
|
+
export const createMcpResourceResultPayload = (
|
|
1825
|
+
eventType: string,
|
|
1826
|
+
agentId: AgentId,
|
|
1827
|
+
channelId: ChannelId,
|
|
1828
|
+
data: McpResourceEventData & { requestId: string; data: any }
|
|
1829
|
+
): McpResourceResultEventPayload => ({
|
|
1830
|
+
eventId: uuidv4(),
|
|
1831
|
+
eventType,
|
|
1832
|
+
timestamp: Date.now(),
|
|
1833
|
+
agentId,
|
|
1834
|
+
channelId,
|
|
1835
|
+
source: 'SYSTEM',
|
|
1836
|
+
data,
|
|
1837
|
+
});
|
|
1838
|
+
|
|
1839
|
+
/**
|
|
1840
|
+
* Creates a payload for an MCP resource error event.
|
|
1841
|
+
* @param eventType - The specific event type.
|
|
1842
|
+
* @param agentId - The ID of the agent initiating or responsible for the event.
|
|
1843
|
+
* @param channelId - The ID of the channel associated with the event.
|
|
1844
|
+
* @param data - The specific data for the MCP resource error event.
|
|
1845
|
+
* @returns The complete event payload.
|
|
1846
|
+
*/
|
|
1847
|
+
export const createMcpResourceErrorPayload = (
|
|
1848
|
+
eventType: string,
|
|
1849
|
+
agentId: AgentId,
|
|
1850
|
+
channelId: ChannelId,
|
|
1851
|
+
data: McpResourceEventData & { requestId: string; error: any }
|
|
1852
|
+
): McpResourceErrorEventPayload => ({
|
|
1853
|
+
eventId: uuidv4(),
|
|
1854
|
+
eventType,
|
|
1855
|
+
timestamp: Date.now(),
|
|
1856
|
+
agentId,
|
|
1857
|
+
channelId,
|
|
1858
|
+
source: 'SYSTEM',
|
|
1859
|
+
data,
|
|
1860
|
+
});
|
|
1861
|
+
|
|
1862
|
+
/**
|
|
1863
|
+
* Creates a payload for an external MCP server event (global or channel-scoped).
|
|
1864
|
+
* @param eventType - The specific event type.
|
|
1865
|
+
* @param agentId - The ID of the agent initiating or responsible for the event.
|
|
1866
|
+
* @param channelId - The ID of the channel associated with the event.
|
|
1867
|
+
* @param serverData - The specific data for the external MCP server event.
|
|
1868
|
+
* @param options - Optional base event payload options.
|
|
1869
|
+
* @returns The complete event payload.
|
|
1870
|
+
*/
|
|
1871
|
+
export function createExternalMcpServerEventPayload(
|
|
1872
|
+
eventType: EventName | string,
|
|
1873
|
+
agentId: AgentId,
|
|
1874
|
+
channelId: ChannelId,
|
|
1875
|
+
serverData: ExternalMcpServerEventData,
|
|
1876
|
+
options: { source?: string; eventId?: string; timestamp?: number } = {}
|
|
1877
|
+
): ExternalMcpServerEventPayload {
|
|
1878
|
+
return createBaseEventPayload<ExternalMcpServerEventData>(
|
|
1879
|
+
eventType,
|
|
1880
|
+
agentId,
|
|
1881
|
+
channelId,
|
|
1882
|
+
serverData,
|
|
1883
|
+
options
|
|
1884
|
+
);
|
|
1885
|
+
}
|
|
1886
|
+
|
|
1887
|
+
/**
|
|
1888
|
+
* Creates a payload for an MCP tool registry changed event.
|
|
1889
|
+
* @param eventType - The specific event type.
|
|
1890
|
+
* @param agentId - The ID of the agent initiating or responsible for the event.
|
|
1891
|
+
* @param channelId - The ID of the channel associated with the event.
|
|
1892
|
+
* @param data - The specific data for the MCP tool registry changed event.
|
|
1893
|
+
* @returns The complete event payload.
|
|
1894
|
+
*/
|
|
1895
|
+
export const createMcpToolRegistryChangedPayload = (
|
|
1896
|
+
eventType: string,
|
|
1897
|
+
agentId: AgentId,
|
|
1898
|
+
channelId: ChannelId,
|
|
1899
|
+
data: { tools: Array<{ name: string, description: string, inputSchema: Record<string, any> }> }
|
|
1900
|
+
): BaseEventPayload<{ tools: Array<{ name: string, description: string, inputSchema: Record<string, any> }> }> => ({
|
|
1901
|
+
eventId: uuidv4(),
|
|
1902
|
+
eventType,
|
|
1903
|
+
timestamp: Date.now(),
|
|
1904
|
+
agentId,
|
|
1905
|
+
channelId,
|
|
1906
|
+
source: 'SYSTEM',
|
|
1907
|
+
data,
|
|
1908
|
+
});
|
|
1909
|
+
|
|
1910
|
+
/**
|
|
1911
|
+
* Data for agent message delivered events.
|
|
1912
|
+
*/
|
|
1913
|
+
export interface AgentMessageDeliveredEventData {
|
|
1914
|
+
fromAgentId: string;
|
|
1915
|
+
toAgentId: string;
|
|
1916
|
+
content: any;
|
|
1917
|
+
timestamp: number;
|
|
1918
|
+
[key: string]: any;
|
|
1919
|
+
}
|
|
1920
|
+
|
|
1921
|
+
/**
|
|
1922
|
+
* Payload type for agent message delivered events.
|
|
1923
|
+
*/
|
|
1924
|
+
export type AgentMessageDeliveredEventPayload = BaseEventPayload<AgentMessageDeliveredEventData>;
|
|
1925
|
+
|
|
1926
|
+
/**
|
|
1927
|
+
* Data for agent state change events (e.g., agent becoming active/inactive).
|
|
1928
|
+
*/
|
|
1929
|
+
export interface AgentStateChangeEventData {
|
|
1930
|
+
// Add properties for agent state change data
|
|
1931
|
+
}
|
|
1932
|
+
|
|
1933
|
+
/**
|
|
1934
|
+
* Creates a payload for an agent message delivered event.
|
|
1935
|
+
* @param eventType - The specific event type.
|
|
1936
|
+
* @param agentId - The ID of the agent initiating or responsible for the event.
|
|
1937
|
+
* @param channelId - The ID of the channel associated with the event.
|
|
1938
|
+
* @param data - The specific data for the agent message delivered event.
|
|
1939
|
+
* @returns The complete event payload.
|
|
1940
|
+
*/
|
|
1941
|
+
export const createAgentMessageDeliveredPayload = (
|
|
1942
|
+
eventType: string,
|
|
1943
|
+
agentId: AgentId,
|
|
1944
|
+
channelId: ChannelId,
|
|
1945
|
+
data: AgentMessageDeliveredEventData
|
|
1946
|
+
): AgentMessageDeliveredEventPayload => ({
|
|
1947
|
+
eventId: uuidv4(),
|
|
1948
|
+
eventType,
|
|
1949
|
+
timestamp: Date.now(),
|
|
1950
|
+
agentId,
|
|
1951
|
+
channelId,
|
|
1952
|
+
source: 'SYSTEM',
|
|
1953
|
+
data,
|
|
1954
|
+
});
|
|
1955
|
+
|
|
1956
|
+
/**
|
|
1957
|
+
* Creates a payload for an agent message forward event (used server-side).
|
|
1958
|
+
* @param eventType - The specific event type.
|
|
1959
|
+
* @param agentId - The ID of the agent initiating or responsible for the event.
|
|
1960
|
+
* @param channelId - The ID of the channel associated with the event.
|
|
1961
|
+
* @param data - The original agent message event payload being forwarded.
|
|
1962
|
+
* @returns The complete event payload.
|
|
1963
|
+
*/
|
|
1964
|
+
export const createAgentMessageForwardPayload = (
|
|
1965
|
+
eventType: string,
|
|
1966
|
+
agentId: AgentId,
|
|
1967
|
+
channelId: ChannelId,
|
|
1968
|
+
data: any
|
|
1969
|
+
): BaseEventPayload<any> => ({
|
|
1970
|
+
eventId: uuidv4(),
|
|
1971
|
+
eventType,
|
|
1972
|
+
timestamp: Date.now(),
|
|
1973
|
+
agentId,
|
|
1974
|
+
channelId,
|
|
1975
|
+
source: 'SYSTEM',
|
|
1976
|
+
data,
|
|
1977
|
+
});
|
|
1978
|
+
|
|
1979
|
+
/**
|
|
1980
|
+
* Defines the parameters required for creating a new channel.
|
|
1981
|
+
* This is used as the 'data' field in channel creation events.
|
|
1982
|
+
*/
|
|
1983
|
+
export interface ChannelCreationParams {
|
|
1984
|
+
/**
|
|
1985
|
+
* The unique identifier for the channel to be created.
|
|
1986
|
+
*/
|
|
1987
|
+
channelId: string;
|
|
1988
|
+
|
|
1989
|
+
/**
|
|
1990
|
+
* Optional descriptive name for the channel.
|
|
1991
|
+
* If not provided, it may default to the channelId.
|
|
1992
|
+
*/
|
|
1993
|
+
name?: string;
|
|
1994
|
+
|
|
1995
|
+
/**
|
|
1996
|
+
* The identifier of the agent initiating the channel creation.
|
|
1997
|
+
*/
|
|
1998
|
+
agentId: string;
|
|
1999
|
+
|
|
2000
|
+
// Add any other properties specifically needed for channel creation,
|
|
2001
|
+
// for example, initial members, channel type, metadata, etc.
|
|
2002
|
+
}
|
|
2003
|
+
|
|
2004
|
+
/**
|
|
2005
|
+
* Interface for channel creation events
|
|
2006
|
+
*/
|
|
2007
|
+
export interface ChannelCreationEventData {
|
|
2008
|
+
channelId: string;
|
|
2009
|
+
agentId: string;
|
|
2010
|
+
timestamp: number;
|
|
2011
|
+
config?: any;
|
|
2012
|
+
status: 'pending' | 'created' | 'error';
|
|
2013
|
+
error?: string;
|
|
2014
|
+
}
|
|
2015
|
+
|
|
2016
|
+
/**
|
|
2017
|
+
* Payload type for channel creation events
|
|
2018
|
+
*/
|
|
2019
|
+
export type ChannelCreationEventPayload = BaseEventPayload<ChannelCreationEventData>;
|
|
2020
|
+
|
|
2021
|
+
/**
|
|
2022
|
+
* Channel context operation payload types
|
|
2023
|
+
*/
|
|
2024
|
+
|
|
2025
|
+
// Get context
|
|
2026
|
+
export interface ContextGetEventData {
|
|
2027
|
+
channelId: ChannelId;
|
|
2028
|
+
operationId?: string;
|
|
2029
|
+
timestamp: number;
|
|
2030
|
+
}
|
|
2031
|
+
|
|
2032
|
+
export type ContextGetEventPayload = BaseEventPayload<ContextGetEventData>;
|
|
2033
|
+
|
|
2034
|
+
// Got context
|
|
2035
|
+
export interface ContextGotEventData {
|
|
2036
|
+
channelId: ChannelId;
|
|
2037
|
+
context: any;
|
|
2038
|
+
operationId?: string;
|
|
2039
|
+
timestamp: number;
|
|
2040
|
+
}
|
|
2041
|
+
|
|
2042
|
+
export type ContextGotEventPayload = BaseEventPayload<ContextGotEventData>;
|
|
2043
|
+
|
|
2044
|
+
// Get context failed
|
|
2045
|
+
export interface ContextGetFailedEventData {
|
|
2046
|
+
channelId: ChannelId;
|
|
2047
|
+
error: string;
|
|
2048
|
+
operationId?: string;
|
|
2049
|
+
timestamp: number;
|
|
2050
|
+
}
|
|
2051
|
+
|
|
2052
|
+
export type ContextGetFailedEventPayload = BaseEventPayload<ContextGetFailedEventData>;
|
|
2053
|
+
|
|
2054
|
+
// Update context
|
|
2055
|
+
export interface ContextUpdateEventData {
|
|
2056
|
+
channelId: ChannelId;
|
|
2057
|
+
agentId: AgentId;
|
|
2058
|
+
updates: any;
|
|
2059
|
+
operationId?: string;
|
|
2060
|
+
timestamp: number;
|
|
2061
|
+
}
|
|
2062
|
+
|
|
2063
|
+
export type ContextUpdateEventPayload = BaseEventPayload<ContextUpdateEventData>;
|
|
2064
|
+
|
|
2065
|
+
// Context updated
|
|
2066
|
+
export interface ContextUpdatedEventData {
|
|
2067
|
+
channelId: ChannelId;
|
|
2068
|
+
context: any;
|
|
2069
|
+
operationId?: string;
|
|
2070
|
+
timestamp: number;
|
|
2071
|
+
}
|
|
2072
|
+
|
|
2073
|
+
export type ContextUpdatedEventPayload = BaseEventPayload<ContextUpdatedEventData>;
|
|
2074
|
+
|
|
2075
|
+
// Context update failed
|
|
2076
|
+
export interface ContextUpdateFailedEventData {
|
|
2077
|
+
channelId: ChannelId;
|
|
2078
|
+
error: string;
|
|
2079
|
+
operationId?: string;
|
|
2080
|
+
timestamp: number;
|
|
2081
|
+
}
|
|
2082
|
+
|
|
2083
|
+
export type ContextUpdateFailedEventPayload = BaseEventPayload<ContextUpdateFailedEventData>;
|
|
2084
|
+
|
|
2085
|
+
// Set metadata
|
|
2086
|
+
export interface MetadataSetEventData {
|
|
2087
|
+
channelId: ChannelId;
|
|
2088
|
+
agentId: AgentId;
|
|
2089
|
+
key: string;
|
|
2090
|
+
value: any;
|
|
2091
|
+
operationId?: string;
|
|
2092
|
+
timestamp: number;
|
|
2093
|
+
}
|
|
2094
|
+
|
|
2095
|
+
export type MetadataSetEventPayload = BaseEventPayload<MetadataSetEventData>;
|
|
2096
|
+
|
|
2097
|
+
// Metadata set success
|
|
2098
|
+
export interface MetadataSetSuccessEventData {
|
|
2099
|
+
channelId: ChannelId;
|
|
2100
|
+
key: string;
|
|
2101
|
+
value: any;
|
|
2102
|
+
operationId?: string;
|
|
2103
|
+
timestamp: number;
|
|
2104
|
+
}
|
|
2105
|
+
|
|
2106
|
+
export type MetadataSetSuccessEventPayload = BaseEventPayload<MetadataSetSuccessEventData>;
|
|
2107
|
+
|
|
2108
|
+
// Metadata set failed
|
|
2109
|
+
export interface MetadataSetFailedEventData {
|
|
2110
|
+
channelId: ChannelId;
|
|
2111
|
+
key: string;
|
|
2112
|
+
error: string;
|
|
2113
|
+
operationId?: string;
|
|
2114
|
+
timestamp: number;
|
|
2115
|
+
}
|
|
2116
|
+
|
|
2117
|
+
export type MetadataSetFailedEventPayload = BaseEventPayload<MetadataSetFailedEventData>;
|
|
2118
|
+
|
|
2119
|
+
// Get metadata
|
|
2120
|
+
export interface MetadataGetEventData {
|
|
2121
|
+
channelId: ChannelId;
|
|
2122
|
+
key?: string;
|
|
2123
|
+
operationId?: string;
|
|
2124
|
+
timestamp: number;
|
|
2125
|
+
}
|
|
2126
|
+
|
|
2127
|
+
export type MetadataGetEventPayload = BaseEventPayload<MetadataGetEventData>;
|
|
2128
|
+
|
|
2129
|
+
// Got metadata
|
|
2130
|
+
export interface MetadataGotEventData {
|
|
2131
|
+
channelId: ChannelId;
|
|
2132
|
+
metadata: Record<string, any> | any;
|
|
2133
|
+
operationId?: string;
|
|
2134
|
+
timestamp: number;
|
|
2135
|
+
}
|
|
2136
|
+
|
|
2137
|
+
export type MetadataGotEventPayload = BaseEventPayload<MetadataGotEventData>;
|
|
2138
|
+
|
|
2139
|
+
// Get metadata failed
|
|
2140
|
+
export interface MetadataGetFailedEventData {
|
|
2141
|
+
channelId: ChannelId;
|
|
2142
|
+
key?: string;
|
|
2143
|
+
error: string;
|
|
2144
|
+
operationId?: string;
|
|
2145
|
+
timestamp: number;
|
|
2146
|
+
}
|
|
2147
|
+
|
|
2148
|
+
export type MetadataGetFailedEventPayload = BaseEventPayload<MetadataGetFailedEventData>;
|
|
2149
|
+
|
|
2150
|
+
// Extract topics
|
|
2151
|
+
export interface TopicsExtractEventData {
|
|
2152
|
+
channelId: ChannelId;
|
|
2153
|
+
minRelevance?: number;
|
|
2154
|
+
operationId?: string;
|
|
2155
|
+
timestamp: number;
|
|
2156
|
+
}
|
|
2157
|
+
|
|
2158
|
+
export type TopicsExtractEventPayload = BaseEventPayload<TopicsExtractEventData>;
|
|
2159
|
+
|
|
2160
|
+
// Topics extracted
|
|
2161
|
+
export interface TopicsExtractedEventData {
|
|
2162
|
+
channelId: ChannelId;
|
|
2163
|
+
topics: Array<{
|
|
2164
|
+
id: string;
|
|
2165
|
+
topic: string;
|
|
2166
|
+
keywords: string[];
|
|
2167
|
+
relevance: number;
|
|
2168
|
+
}>;
|
|
2169
|
+
operationId?: string;
|
|
2170
|
+
timestamp: number;
|
|
2171
|
+
}
|
|
2172
|
+
|
|
2173
|
+
export type TopicsExtractedEventPayload = BaseEventPayload<TopicsExtractedEventData>;
|
|
2174
|
+
|
|
2175
|
+
// Topics extract failed
|
|
2176
|
+
export interface TopicsExtractFailedEventData {
|
|
2177
|
+
channelId: ChannelId;
|
|
2178
|
+
error: string;
|
|
2179
|
+
operationId?: string;
|
|
2180
|
+
timestamp: number;
|
|
2181
|
+
}
|
|
2182
|
+
|
|
2183
|
+
export type TopicsExtractFailedEventPayload = BaseEventPayload<TopicsExtractFailedEventData>;
|
|
2184
|
+
|
|
2185
|
+
// Generate summary
|
|
2186
|
+
export interface SummaryGenerateEventData {
|
|
2187
|
+
channelId: ChannelId;
|
|
2188
|
+
messageCount?: number;
|
|
2189
|
+
operationId?: string;
|
|
2190
|
+
timestamp: number;
|
|
2191
|
+
}
|
|
2192
|
+
|
|
2193
|
+
export type SummaryGenerateEventPayload = BaseEventPayload<SummaryGenerateEventData>;
|
|
2194
|
+
|
|
2195
|
+
// Summary generated
|
|
2196
|
+
export interface SummaryGeneratedEventData {
|
|
2197
|
+
channelId: ChannelId;
|
|
2198
|
+
summary: string;
|
|
2199
|
+
operationId?: string;
|
|
2200
|
+
timestamp: number;
|
|
2201
|
+
}
|
|
2202
|
+
|
|
2203
|
+
export type SummaryGeneratedEventPayload = BaseEventPayload<SummaryGeneratedEventData>;
|
|
2204
|
+
|
|
2205
|
+
// Summary generate failed
|
|
2206
|
+
export interface SummaryGenerateFailedEventData {
|
|
2207
|
+
channelId: ChannelId;
|
|
2208
|
+
error: string;
|
|
2209
|
+
operationId?: string;
|
|
2210
|
+
timestamp: number;
|
|
2211
|
+
}
|
|
2212
|
+
|
|
2213
|
+
export type SummaryGenerateFailedEventPayload = BaseEventPayload<SummaryGenerateFailedEventData>;
|
|
2214
|
+
|
|
2215
|
+
/**
|
|
2216
|
+
* Creates a ChannelCreationEventPayload.
|
|
2217
|
+
* @param eventType - The specific event type.
|
|
2218
|
+
* @param agentId - The ID of the agent initiating or responsible for the event.
|
|
2219
|
+
* @param channelId - The ID of the channel associated with the event.
|
|
2220
|
+
* @param data - The specific data for the channel creation event.
|
|
2221
|
+
* @returns The complete event payload.
|
|
2222
|
+
*/
|
|
2223
|
+
export const createChannelCreationEventPayload = (
|
|
2224
|
+
eventType: string,
|
|
2225
|
+
agentId: AgentId,
|
|
2226
|
+
channelId: ChannelId,
|
|
2227
|
+
data: ChannelCreationEventData
|
|
2228
|
+
): ChannelCreationEventPayload => ({
|
|
2229
|
+
eventId: uuidv4(),
|
|
2230
|
+
eventType,
|
|
2231
|
+
timestamp: Date.now(),
|
|
2232
|
+
agentId,
|
|
2233
|
+
channelId,
|
|
2234
|
+
source: 'SYSTEM',
|
|
2235
|
+
data,
|
|
2236
|
+
});
|
|
2237
|
+
|
|
2238
|
+
/**
|
|
2239
|
+
* Creates a ContextGetEventPayload.
|
|
2240
|
+
* @param eventType - The specific event type.
|
|
2241
|
+
* @param agentId - The ID of the agent initiating or responsible for the event.
|
|
2242
|
+
* @param channelId - The ID of the channel associated with the event.
|
|
2243
|
+
* @param data - The specific data for the context get event.
|
|
2244
|
+
* @returns The complete event payload.
|
|
2245
|
+
*/
|
|
2246
|
+
export const createContextGetEventPayload = (
|
|
2247
|
+
eventType: string,
|
|
2248
|
+
agentId: AgentId,
|
|
2249
|
+
channelId: ChannelId,
|
|
2250
|
+
data: ContextGetEventData
|
|
2251
|
+
): ContextGetEventPayload => ({
|
|
2252
|
+
eventId: uuidv4(),
|
|
2253
|
+
eventType,
|
|
2254
|
+
timestamp: Date.now(),
|
|
2255
|
+
agentId,
|
|
2256
|
+
channelId,
|
|
2257
|
+
source: 'SYSTEM',
|
|
2258
|
+
data,
|
|
2259
|
+
});
|
|
2260
|
+
|
|
2261
|
+
/**
|
|
2262
|
+
* Creates a ContextGotEventPayload.
|
|
2263
|
+
* @param eventType - The specific event type.
|
|
2264
|
+
* @param agentId - The ID of the agent initiating or responsible for the event.
|
|
2265
|
+
* @param channelId - The ID of the channel associated with the event.
|
|
2266
|
+
* @param data - The specific data for the context got event.
|
|
2267
|
+
* @returns The complete event payload.
|
|
2268
|
+
*/
|
|
2269
|
+
export const createContextGotEventPayload = (
|
|
2270
|
+
eventType: string,
|
|
2271
|
+
agentId: AgentId,
|
|
2272
|
+
channelId: ChannelId,
|
|
2273
|
+
data: ContextGotEventData
|
|
2274
|
+
): ContextGotEventPayload => ({
|
|
2275
|
+
eventId: uuidv4(),
|
|
2276
|
+
eventType,
|
|
2277
|
+
timestamp: Date.now(),
|
|
2278
|
+
agentId,
|
|
2279
|
+
channelId,
|
|
2280
|
+
source: 'SYSTEM',
|
|
2281
|
+
data,
|
|
2282
|
+
});
|
|
2283
|
+
|
|
2284
|
+
/**
|
|
2285
|
+
* Creates a ContextUpdateEventPayload.
|
|
2286
|
+
* @param eventType - The specific event type.
|
|
2287
|
+
* @param agentId - The ID of the agent initiating or responsible for the event.
|
|
2288
|
+
* @param channelId - The ID of the channel associated with the event.
|
|
2289
|
+
* @param data - The specific data for the context update event.
|
|
2290
|
+
* @returns The complete event payload.
|
|
2291
|
+
*/
|
|
2292
|
+
export const createContextUpdateEventPayload = (
|
|
2293
|
+
eventType: string,
|
|
2294
|
+
agentId: AgentId,
|
|
2295
|
+
channelId: ChannelId,
|
|
2296
|
+
data: ContextUpdateEventData
|
|
2297
|
+
): ContextUpdateEventPayload => ({
|
|
2298
|
+
eventId: uuidv4(),
|
|
2299
|
+
eventType,
|
|
2300
|
+
timestamp: Date.now(),
|
|
2301
|
+
agentId,
|
|
2302
|
+
channelId,
|
|
2303
|
+
source: 'SYSTEM',
|
|
2304
|
+
data,
|
|
2305
|
+
});
|
|
2306
|
+
|
|
2307
|
+
/**
|
|
2308
|
+
* Creates a MetadataSetEventPayload.
|
|
2309
|
+
* @param eventType - The specific event type.
|
|
2310
|
+
* @param agentId - The ID of the agent initiating or responsible for the event.
|
|
2311
|
+
* @param channelId - The ID of the channel associated with the event.
|
|
2312
|
+
* @param data - The specific data for the metadata set event.
|
|
2313
|
+
* @returns The complete event payload.
|
|
2314
|
+
*/
|
|
2315
|
+
export const createMetadataSetEventPayload = (
|
|
2316
|
+
eventType: string,
|
|
2317
|
+
agentId: AgentId,
|
|
2318
|
+
channelId: ChannelId,
|
|
2319
|
+
data: MetadataSetEventData
|
|
2320
|
+
): MetadataSetEventPayload => ({
|
|
2321
|
+
eventId: uuidv4(),
|
|
2322
|
+
eventType,
|
|
2323
|
+
timestamp: Date.now(),
|
|
2324
|
+
agentId,
|
|
2325
|
+
channelId,
|
|
2326
|
+
source: 'SYSTEM',
|
|
2327
|
+
data,
|
|
2328
|
+
});
|
|
2329
|
+
|
|
2330
|
+
/**
|
|
2331
|
+
* Creates a TopicsExtractEventPayload.
|
|
2332
|
+
* @param eventType - The specific event type.
|
|
2333
|
+
* @param agentId - The ID of the agent initiating or responsible for the event.
|
|
2334
|
+
* @param channelId - The ID of the channel associated with the event.
|
|
2335
|
+
* @param data - The specific data for the topics extract event.
|
|
2336
|
+
* @param options - Optional parameters like source, recursion protection flag, or overrides for eventId and timestamp.
|
|
2337
|
+
* @returns The complete event payload.
|
|
2338
|
+
*/
|
|
2339
|
+
export const createTopicsExtractEventPayload = (
|
|
2340
|
+
eventType: string,
|
|
2341
|
+
agentId: AgentId,
|
|
2342
|
+
channelId: ChannelId,
|
|
2343
|
+
data: TopicsExtractEventData,
|
|
2344
|
+
options: { source?: string; isRecursionProtection?: boolean; eventId?: string; timestamp?: number; } = {}
|
|
2345
|
+
): TopicsExtractEventPayload => ({
|
|
2346
|
+
eventId: options.eventId || uuidv4(),
|
|
2347
|
+
eventType,
|
|
2348
|
+
timestamp: options.timestamp || Date.now(),
|
|
2349
|
+
agentId,
|
|
2350
|
+
channelId,
|
|
2351
|
+
source: options.source || 'SYSTEM',
|
|
2352
|
+
isRecursionProtection: options.isRecursionProtection,
|
|
2353
|
+
data,
|
|
2354
|
+
});
|
|
2355
|
+
|
|
2356
|
+
/**
|
|
2357
|
+
* Creates a SummaryGenerateEventPayload.
|
|
2358
|
+
* @param eventType - The specific event type.
|
|
2359
|
+
* @param agentId - The ID of the agent initiating or responsible for the event.
|
|
2360
|
+
* @param channelId - The ID of the channel associated with the event.
|
|
2361
|
+
* @param data - The specific data for the summary generate event.
|
|
2362
|
+
* @param options - Optional parameters like source, recursion protection flag, or overrides for eventId and timestamp.
|
|
2363
|
+
* @returns The complete event payload.
|
|
2364
|
+
*/
|
|
2365
|
+
export const createSummaryGenerateEventPayload = (
|
|
2366
|
+
eventType: string,
|
|
2367
|
+
agentId: AgentId,
|
|
2368
|
+
channelId: ChannelId,
|
|
2369
|
+
data: SummaryGenerateEventData,
|
|
2370
|
+
options: { source?: string; isRecursionProtection?: boolean; eventId?: string; timestamp?: number; } = {}
|
|
2371
|
+
): SummaryGenerateEventPayload => ({
|
|
2372
|
+
eventId: options.eventId || uuidv4(),
|
|
2373
|
+
eventType,
|
|
2374
|
+
timestamp: options.timestamp || Date.now(),
|
|
2375
|
+
agentId,
|
|
2376
|
+
channelId,
|
|
2377
|
+
source: options.source || 'SYSTEM',
|
|
2378
|
+
isRecursionProtection: options.isRecursionProtection,
|
|
2379
|
+
data,
|
|
2380
|
+
});
|
|
2381
|
+
|
|
2382
|
+
/**
|
|
2383
|
+
* Data for agent state change events (e.g., agent becoming active/inactive).
|
|
2384
|
+
*/
|
|
2385
|
+
export interface AgentStateChangeEventData {
|
|
2386
|
+
// Add properties for agent state change data
|
|
2387
|
+
}
|
|
2388
|
+
|
|
2389
|
+
export type AgentStateChangeEventPayload = BaseEventPayload<AgentStateChangeEventData>;
|
|
2390
|
+
|
|
2391
|
+
// === MCP Event Payloads ===
|
|
2392
|
+
|
|
2393
|
+
/**
|
|
2394
|
+
* Data for external MCP server error events
|
|
2395
|
+
*/
|
|
2396
|
+
export interface ExternalMcpServerErrorEventData {
|
|
2397
|
+
error: string;
|
|
2398
|
+
code: string;
|
|
2399
|
+
details: Record<string, any>;
|
|
2400
|
+
}
|
|
2401
|
+
|
|
2402
|
+
export type ExternalMcpServerErrorEventPayload = BaseEventPayload<ExternalMcpServerErrorEventData>;
|
|
2403
|
+
|
|
2404
|
+
/**
|
|
2405
|
+
* Data for external MCP server health status events
|
|
2406
|
+
*/
|
|
2407
|
+
export interface ExternalMcpServerHealthStatusEventData {
|
|
2408
|
+
name: string;
|
|
2409
|
+
version: string;
|
|
2410
|
+
status: string;
|
|
2411
|
+
description?: string;
|
|
2412
|
+
}
|
|
2413
|
+
|
|
2414
|
+
export type ExternalMcpServerHealthStatusEventPayload = BaseEventPayload<ExternalMcpServerHealthStatusEventData>;
|
|
2415
|
+
|
|
2416
|
+
/**
|
|
2417
|
+
* Data for external MCP server tools discovered events
|
|
2418
|
+
*/
|
|
2419
|
+
export interface ExternalMcpServerToolsDiscoveredEventData {
|
|
2420
|
+
name: string;
|
|
2421
|
+
version: string;
|
|
2422
|
+
tools: Array<{
|
|
2423
|
+
name: string;
|
|
2424
|
+
description: string;
|
|
2425
|
+
inputSchema: Record<string, any>;
|
|
2426
|
+
}>;
|
|
2427
|
+
}
|
|
2428
|
+
|
|
2429
|
+
export type ExternalMcpServerToolsDiscoveredEventPayload = BaseEventPayload<ExternalMcpServerToolsDiscoveredEventData>;
|
|
2430
|
+
|
|
2431
|
+
/**
|
|
2432
|
+
* Creates an external MCP server error event payload.
|
|
2433
|
+
*/
|
|
2434
|
+
export const createExternalMcpServerErrorEventPayload = (
|
|
2435
|
+
eventType: string,
|
|
2436
|
+
agentId: AgentId,
|
|
2437
|
+
channelId: ChannelId,
|
|
2438
|
+
data: ExternalMcpServerErrorEventData,
|
|
2439
|
+
options: { source?: string; isRecursionProtection?: boolean; eventId?: string; timestamp?: number; } = {}
|
|
2440
|
+
): ExternalMcpServerErrorEventPayload => ({
|
|
2441
|
+
eventId: options.eventId || uuidv4(),
|
|
2442
|
+
eventType,
|
|
2443
|
+
timestamp: options.timestamp || Date.now(),
|
|
2444
|
+
agentId,
|
|
2445
|
+
channelId,
|
|
2446
|
+
source: options.source || 'ExternalMcpServerManager',
|
|
2447
|
+
isRecursionProtection: options.isRecursionProtection,
|
|
2448
|
+
data,
|
|
2449
|
+
});
|
|
2450
|
+
|
|
2451
|
+
/**
|
|
2452
|
+
* Creates an external MCP server health status event payload.
|
|
2453
|
+
*/
|
|
2454
|
+
export const createExternalMcpServerHealthStatusEventPayload = (
|
|
2455
|
+
eventType: string,
|
|
2456
|
+
agentId: AgentId,
|
|
2457
|
+
channelId: ChannelId,
|
|
2458
|
+
data: ExternalMcpServerHealthStatusEventData,
|
|
2459
|
+
options: { source?: string; isRecursionProtection?: boolean; eventId?: string; timestamp?: number; } = {}
|
|
2460
|
+
): ExternalMcpServerHealthStatusEventPayload => ({
|
|
2461
|
+
eventId: options.eventId || uuidv4(),
|
|
2462
|
+
eventType,
|
|
2463
|
+
timestamp: options.timestamp || Date.now(),
|
|
2464
|
+
agentId,
|
|
2465
|
+
channelId,
|
|
2466
|
+
source: options.source || 'ExternalMcpServerManager',
|
|
2467
|
+
isRecursionProtection: options.isRecursionProtection,
|
|
2468
|
+
data,
|
|
2469
|
+
});
|
|
2470
|
+
|
|
2471
|
+
/**
|
|
2472
|
+
* Creates an external MCP server tools discovered event payload.
|
|
2473
|
+
*/
|
|
2474
|
+
export const createExternalMcpServerToolsDiscoveredEventPayload = (
|
|
2475
|
+
eventType: string,
|
|
2476
|
+
agentId: AgentId,
|
|
2477
|
+
channelId: ChannelId,
|
|
2478
|
+
data: ExternalMcpServerToolsDiscoveredEventData,
|
|
2479
|
+
options: { source?: string; isRecursionProtection?: boolean; eventId?: string; timestamp?: number; } = {}
|
|
2480
|
+
): ExternalMcpServerToolsDiscoveredEventPayload => ({
|
|
2481
|
+
eventId: options.eventId || uuidv4(),
|
|
2482
|
+
eventType,
|
|
2483
|
+
timestamp: options.timestamp || Date.now(),
|
|
2484
|
+
agentId,
|
|
2485
|
+
channelId,
|
|
2486
|
+
source: options.source || 'ExternalMcpServerManager',
|
|
2487
|
+
isRecursionProtection: options.isRecursionProtection,
|
|
2488
|
+
data,
|
|
2489
|
+
});
|
|
2490
|
+
|
|
2491
|
+
// === System Event Payloads ===
|
|
2492
|
+
|
|
2493
|
+
/**
|
|
2494
|
+
* Import system event types and interfaces
|
|
2495
|
+
*/
|
|
2496
|
+
import type {
|
|
2497
|
+
SystemEphemeralEventData,
|
|
2498
|
+
CoordinationAnalysis,
|
|
2499
|
+
TemporalContext,
|
|
2500
|
+
SystemEventType
|
|
2501
|
+
} from '../events/event-definitions/SystemEvents.js';
|
|
2502
|
+
|
|
2503
|
+
/**
|
|
2504
|
+
* System ephemeral event payload for EventBus integration
|
|
2505
|
+
* These events provide intelligent context injection without appearing in message history
|
|
2506
|
+
*/
|
|
2507
|
+
export interface SystemEphemeralEventPayloadData {
|
|
2508
|
+
/** Ephemeral event data with temporal context */
|
|
2509
|
+
eventData: SystemEphemeralEventData;
|
|
2510
|
+
/** Coordination analysis context */
|
|
2511
|
+
coordinationContext?: CoordinationAnalysis;
|
|
2512
|
+
/** Additional system metadata */
|
|
2513
|
+
systemMetadata: {
|
|
2514
|
+
/** System intelligence confidence */
|
|
2515
|
+
systemConfidence: number;
|
|
2516
|
+
/** Processing timestamp */
|
|
2517
|
+
processingTime: number;
|
|
2518
|
+
/** System version */
|
|
2519
|
+
systemVersion: string;
|
|
2520
|
+
/** Analysis method used */
|
|
2521
|
+
analysisMethod: 'pattern_recognition' | 'temporal_analysis' | 'coordination_detection' | 'activity_monitoring';
|
|
2522
|
+
};
|
|
2523
|
+
}
|
|
2524
|
+
|
|
2525
|
+
export type SystemEphemeralEventPayload = BaseEventPayload<SystemEphemeralEventPayloadData>;
|
|
2526
|
+
|
|
2527
|
+
/**
|
|
2528
|
+
* System coordination event payload for coordination analysis results
|
|
2529
|
+
*/
|
|
2530
|
+
export interface SystemCoordinationEventPayloadData {
|
|
2531
|
+
/** Coordination analysis results */
|
|
2532
|
+
coordinationAnalysis: CoordinationAnalysis;
|
|
2533
|
+
/** Recommended actions */
|
|
2534
|
+
recommendedActions: string[];
|
|
2535
|
+
/** Priority level for coordination */
|
|
2536
|
+
priority: number;
|
|
2537
|
+
/** Temporal context */
|
|
2538
|
+
temporalContext: TemporalContext;
|
|
2539
|
+
/** Confidence in recommendations */
|
|
2540
|
+
recommendationConfidence: number;
|
|
2541
|
+
}
|
|
2542
|
+
|
|
2543
|
+
export type SystemCoordinationEventPayload = BaseEventPayload<SystemCoordinationEventPayloadData>;
|
|
2544
|
+
|
|
2545
|
+
/**
|
|
2546
|
+
* System temporal pattern event payload for time-based pattern detection
|
|
2547
|
+
*/
|
|
2548
|
+
export interface SystemTemporalPatternEventPayloadData {
|
|
2549
|
+
/** Detected temporal pattern */
|
|
2550
|
+
pattern: {
|
|
2551
|
+
/** Pattern type */
|
|
2552
|
+
type: string;
|
|
2553
|
+
/** Pattern description */
|
|
2554
|
+
description: string;
|
|
2555
|
+
/** Temporal context */
|
|
2556
|
+
temporalContext: TemporalContext;
|
|
2557
|
+
/** Pattern confidence */
|
|
2558
|
+
confidence: number;
|
|
2559
|
+
/** Affected channels */
|
|
2560
|
+
affectedChannels: ChannelId[];
|
|
2561
|
+
/** Suggested responses */
|
|
2562
|
+
suggestedResponses: string[];
|
|
2563
|
+
/** Pattern frequency */
|
|
2564
|
+
frequency: 'rare' | 'occasional' | 'regular' | 'frequent' | 'constant';
|
|
2565
|
+
/** Pattern duration */
|
|
2566
|
+
duration: number;
|
|
2567
|
+
};
|
|
2568
|
+
/** Pattern impact assessment */
|
|
2569
|
+
impactAssessment: {
|
|
2570
|
+
/** Severity of pattern impact */
|
|
2571
|
+
severity: 'low' | 'medium' | 'high' | 'critical';
|
|
2572
|
+
/** Affected agents */
|
|
2573
|
+
affectedAgents: AgentId[];
|
|
2574
|
+
/** Recommended response time */
|
|
2575
|
+
responseTimeMs: number;
|
|
2576
|
+
};
|
|
2577
|
+
}
|
|
2578
|
+
|
|
2579
|
+
export type SystemTemporalPatternEventPayload = BaseEventPayload<SystemTemporalPatternEventPayloadData>;
|
|
2580
|
+
|
|
2581
|
+
/**
|
|
2582
|
+
* System context analysis event payload for rich context awareness
|
|
2583
|
+
*/
|
|
2584
|
+
export interface SystemContextAnalysisEventPayloadData {
|
|
2585
|
+
/** Context analysis results */
|
|
2586
|
+
contextAnalysis: {
|
|
2587
|
+
/** Channel activity summary */
|
|
2588
|
+
channelActivity: {
|
|
2589
|
+
/** Activity level (0-10) */
|
|
2590
|
+
level: number;
|
|
2591
|
+
/** Recent message count */
|
|
2592
|
+
messageCount: number;
|
|
2593
|
+
/** Active agent count */
|
|
2594
|
+
activeAgents: number;
|
|
2595
|
+
/** Tool usage frequency */
|
|
2596
|
+
toolUsage: number;
|
|
2597
|
+
};
|
|
2598
|
+
/** Agent interaction patterns */
|
|
2599
|
+
interactionPatterns: {
|
|
2600
|
+
/** Collaboration intensity */
|
|
2601
|
+
collaborationIntensity: number;
|
|
2602
|
+
/** Communication frequency */
|
|
2603
|
+
communicationFrequency: number;
|
|
2604
|
+
/** Resource sharing level */
|
|
2605
|
+
resourceSharing: number;
|
|
2606
|
+
};
|
|
2607
|
+
/** System intelligence insights */
|
|
2608
|
+
systemInsights: string[];
|
|
2609
|
+
/** Temporal context */
|
|
2610
|
+
temporalContext: TemporalContext;
|
|
2611
|
+
};
|
|
2612
|
+
/** Analysis confidence */
|
|
2613
|
+
analysisConfidence: number;
|
|
2614
|
+
/** Next analysis scheduled time */
|
|
2615
|
+
nextAnalysisTime: string;
|
|
2616
|
+
}
|
|
2617
|
+
|
|
2618
|
+
export type SystemContextAnalysisEventPayload = BaseEventPayload<SystemContextAnalysisEventPayloadData>;
|
|
2619
|
+
|
|
2620
|
+
// === System Event Payload Creation Helpers ===
|
|
2621
|
+
|
|
2622
|
+
/**
|
|
2623
|
+
* Creates a system ephemeral event payload for intelligent context injection
|
|
2624
|
+
*/
|
|
2625
|
+
export const createSystemEphemeralEventPayload = (
|
|
2626
|
+
eventType: SystemEventType,
|
|
2627
|
+
agentId: AgentId,
|
|
2628
|
+
channelId: ChannelId,
|
|
2629
|
+
eventData: SystemEphemeralEventData,
|
|
2630
|
+
coordinationContext?: CoordinationAnalysis,
|
|
2631
|
+
options: {
|
|
2632
|
+
source?: string;
|
|
2633
|
+
isRecursionProtection?: boolean;
|
|
2634
|
+
eventId?: string;
|
|
2635
|
+
timestamp?: number;
|
|
2636
|
+
systemConfidence?: number;
|
|
2637
|
+
analysisMethod?: 'pattern_recognition' | 'temporal_analysis' | 'coordination_detection' | 'activity_monitoring';
|
|
2638
|
+
} = {}
|
|
2639
|
+
): SystemEphemeralEventPayload => ({
|
|
2640
|
+
eventId: options.eventId || uuidv4(),
|
|
2641
|
+
eventType,
|
|
2642
|
+
timestamp: options.timestamp || Date.now(),
|
|
2643
|
+
agentId,
|
|
2644
|
+
channelId,
|
|
2645
|
+
source: options.source || 'SystemLlmService',
|
|
2646
|
+
isRecursionProtection: options.isRecursionProtection,
|
|
2647
|
+
data: {
|
|
2648
|
+
eventData,
|
|
2649
|
+
coordinationContext,
|
|
2650
|
+
systemMetadata: {
|
|
2651
|
+
systemConfidence: options.systemConfidence || 0.8,
|
|
2652
|
+
processingTime: Date.now(),
|
|
2653
|
+
systemVersion: '1.0.0',
|
|
2654
|
+
analysisMethod: options.analysisMethod || 'coordination_detection'
|
|
2655
|
+
}
|
|
2656
|
+
},
|
|
2657
|
+
});
|
|
2658
|
+
|
|
2659
|
+
/**
|
|
2660
|
+
* Creates a system coordination event payload for coordination analysis
|
|
2661
|
+
*/
|
|
2662
|
+
export const createSystemCoordinationEventPayload = (
|
|
2663
|
+
eventType: SystemEventType,
|
|
2664
|
+
agentId: AgentId,
|
|
2665
|
+
channelId: ChannelId,
|
|
2666
|
+
coordinationAnalysis: CoordinationAnalysis,
|
|
2667
|
+
recommendedActions: string[],
|
|
2668
|
+
temporalContext: TemporalContext,
|
|
2669
|
+
options: {
|
|
2670
|
+
source?: string;
|
|
2671
|
+
isRecursionProtection?: boolean;
|
|
2672
|
+
eventId?: string;
|
|
2673
|
+
timestamp?: number;
|
|
2674
|
+
priority?: number;
|
|
2675
|
+
recommendationConfidence?: number;
|
|
2676
|
+
} = {}
|
|
2677
|
+
): SystemCoordinationEventPayload => ({
|
|
2678
|
+
eventId: options.eventId || uuidv4(),
|
|
2679
|
+
eventType,
|
|
2680
|
+
timestamp: options.timestamp || Date.now(),
|
|
2681
|
+
agentId,
|
|
2682
|
+
channelId,
|
|
2683
|
+
source: options.source || 'SystemLlmService',
|
|
2684
|
+
isRecursionProtection: options.isRecursionProtection,
|
|
2685
|
+
data: {
|
|
2686
|
+
coordinationAnalysis,
|
|
2687
|
+
recommendedActions,
|
|
2688
|
+
priority: options.priority || 5,
|
|
2689
|
+
temporalContext,
|
|
2690
|
+
recommendationConfidence: options.recommendationConfidence || 0.75
|
|
2691
|
+
},
|
|
2692
|
+
});
|
|
2693
|
+
|
|
2694
|
+
/**
|
|
2695
|
+
* Creates a system temporal pattern event payload for pattern detection
|
|
2696
|
+
*/
|
|
2697
|
+
export const createSystemTemporalPatternEventPayload = (
|
|
2698
|
+
eventType: SystemEventType,
|
|
2699
|
+
agentId: AgentId,
|
|
2700
|
+
channelId: ChannelId,
|
|
2701
|
+
pattern: SystemTemporalPatternEventPayloadData['pattern'],
|
|
2702
|
+
impactAssessment: SystemTemporalPatternEventPayloadData['impactAssessment'],
|
|
2703
|
+
options: {
|
|
2704
|
+
source?: string;
|
|
2705
|
+
isRecursionProtection?: boolean;
|
|
2706
|
+
eventId?: string;
|
|
2707
|
+
timestamp?: number;
|
|
2708
|
+
} = {}
|
|
2709
|
+
): SystemTemporalPatternEventPayload => ({
|
|
2710
|
+
eventId: options.eventId || uuidv4(),
|
|
2711
|
+
eventType,
|
|
2712
|
+
timestamp: options.timestamp || Date.now(),
|
|
2713
|
+
agentId,
|
|
2714
|
+
channelId,
|
|
2715
|
+
source: options.source || 'SystemLlmService',
|
|
2716
|
+
isRecursionProtection: options.isRecursionProtection,
|
|
2717
|
+
data: {
|
|
2718
|
+
pattern,
|
|
2719
|
+
impactAssessment
|
|
2720
|
+
},
|
|
2721
|
+
});
|
|
2722
|
+
|
|
2723
|
+
/**
|
|
2724
|
+
* Creates a system context analysis event payload for rich context awareness
|
|
2725
|
+
*/
|
|
2726
|
+
export const createSystemContextAnalysisEventPayload = (
|
|
2727
|
+
eventType: SystemEventType,
|
|
2728
|
+
agentId: AgentId,
|
|
2729
|
+
channelId: ChannelId,
|
|
2730
|
+
contextAnalysis: SystemContextAnalysisEventPayloadData['contextAnalysis'],
|
|
2731
|
+
options: {
|
|
2732
|
+
source?: string;
|
|
2733
|
+
isRecursionProtection?: boolean;
|
|
2734
|
+
eventId?: string;
|
|
2735
|
+
timestamp?: number;
|
|
2736
|
+
analysisConfidence?: number;
|
|
2737
|
+
nextAnalysisTime?: string;
|
|
2738
|
+
} = {}
|
|
2739
|
+
): SystemContextAnalysisEventPayload => ({
|
|
2740
|
+
eventId: options.eventId || uuidv4(),
|
|
2741
|
+
eventType,
|
|
2742
|
+
timestamp: options.timestamp || Date.now(),
|
|
2743
|
+
agentId,
|
|
2744
|
+
channelId,
|
|
2745
|
+
source: options.source || 'SystemLlmService',
|
|
2746
|
+
isRecursionProtection: options.isRecursionProtection,
|
|
2747
|
+
data: {
|
|
2748
|
+
contextAnalysis,
|
|
2749
|
+
analysisConfidence: options.analysisConfidence || 0.8,
|
|
2750
|
+
nextAnalysisTime: options.nextAnalysisTime || new Date(Date.now() + 300000).toISOString() // 5 minutes default
|
|
2751
|
+
},
|
|
2752
|
+
});
|
|
2753
|
+
|
|
2754
|
+
/**
|
|
2755
|
+
* Validation helper for system event payloads
|
|
2756
|
+
* Ensures system events meet quality and security standards
|
|
2757
|
+
*/
|
|
2758
|
+
export const validateSystemEventPayload = (payload: SystemEphemeralEventPayload): boolean => {
|
|
2759
|
+
const validator = createStrictValidator('SystemEventPayload');
|
|
2760
|
+
|
|
2761
|
+
try {
|
|
2762
|
+
// Validate base payload structure
|
|
2763
|
+
validator.assertIsNonEmptyString(payload.eventId, 'Event ID is required');
|
|
2764
|
+
validator.assertIsNonEmptyString(payload.eventType, 'Event type is required');
|
|
2765
|
+
validator.assertIsNumber(payload.timestamp, 'Timestamp is required');
|
|
2766
|
+
validator.assertIsNonEmptyString(payload.agentId, 'Agent ID is required');
|
|
2767
|
+
validator.assertIsNonEmptyString(payload.channelId, 'Channel ID is required');
|
|
2768
|
+
|
|
2769
|
+
// Validate system event data
|
|
2770
|
+
validator.assertIsObject(payload.data, 'Event data is required');
|
|
2771
|
+
validator.assertIsObject(payload.data.eventData, 'Event data content is required');
|
|
2772
|
+
validator.assertIsNonEmptyString(payload.data.eventData.content, 'Event content is required');
|
|
2773
|
+
validator.assertIsObject(payload.data.eventData.temporalContext, 'Temporal context is required');
|
|
2774
|
+
|
|
2775
|
+
// Validate confidence scores
|
|
2776
|
+
const confidence = payload.data.eventData.metadata.confidence;
|
|
2777
|
+
validator.assert(confidence >= 0 && confidence <= 1, 'Confidence must be between 0 and 1');
|
|
2778
|
+
|
|
2779
|
+
const relevance = payload.data.eventData.metadata.relevance;
|
|
2780
|
+
validator.assert(relevance >= 0 && relevance <= 1, 'Relevance must be between 0 and 1');
|
|
2781
|
+
|
|
2782
|
+
// Validate TTL
|
|
2783
|
+
validator.assert(payload.data.eventData.ttl > 0, 'TTL must be positive');
|
|
2784
|
+
|
|
2785
|
+
return true;
|
|
2786
|
+
} catch (error) {
|
|
2787
|
+
logger.warn(`System event payload validation failed: ${error}`);
|
|
2788
|
+
return false;
|
|
2789
|
+
}
|
|
2790
|
+
};
|
|
2791
|
+
|
|
2792
|
+
/**
|
|
2793
|
+
* Create a TemporalContext object from Time MCP server data
|
|
2794
|
+
* @param timeData - Raw data from Time MCP server
|
|
2795
|
+
* @param options - Optional configuration for temporal context
|
|
2796
|
+
* @returns Properly formatted TemporalContext object
|
|
2797
|
+
*/
|
|
2798
|
+
export const createTemporalContext = (
|
|
2799
|
+
timeData: any = {},
|
|
2800
|
+
options: {
|
|
2801
|
+
businessHoursStart?: string;
|
|
2802
|
+
businessHoursEnd?: string;
|
|
2803
|
+
timezone?: string;
|
|
2804
|
+
} = {}
|
|
2805
|
+
): TemporalContext => {
|
|
2806
|
+
const validator = createStrictValidator('TemporalContext');
|
|
2807
|
+
|
|
2808
|
+
const now = new Date();
|
|
2809
|
+
const hour = now.getHours();
|
|
2810
|
+
const dayOfWeek = now.getDay();
|
|
2811
|
+
const isWeekend = dayOfWeek === 0 || dayOfWeek === 6;
|
|
2812
|
+
const businessStart = parseInt(options.businessHoursStart?.split(':')[0] || '9');
|
|
2813
|
+
const businessEnd = parseInt(options.businessHoursEnd?.split(':')[0] || '17');
|
|
2814
|
+
const isBusinessHours = hour >= businessStart && hour <= businessEnd && !isWeekend;
|
|
2815
|
+
|
|
2816
|
+
// Generate contextual timing
|
|
2817
|
+
let contextualTiming = 'Standard operating period';
|
|
2818
|
+
if (isWeekend) {
|
|
2819
|
+
contextualTiming = 'Weekend period - reduced activity expected';
|
|
2820
|
+
} else if (hour >= businessStart && hour <= businessEnd) {
|
|
2821
|
+
contextualTiming = 'Peak collaboration hours - high agent activity';
|
|
2822
|
+
} else if (hour >= 18 && hour <= 22) {
|
|
2823
|
+
contextualTiming = 'Evening period - moderate activity';
|
|
2824
|
+
} else {
|
|
2825
|
+
contextualTiming = 'Off-peak hours - limited activity expected';
|
|
2826
|
+
}
|
|
2827
|
+
|
|
2828
|
+
return {
|
|
2829
|
+
currentTime: timeData.current_time || now.toISOString(),
|
|
2830
|
+
localTime: timeData.local_time || now.toLocaleString(),
|
|
2831
|
+
relativeTime: timeData.relative_time || 'now',
|
|
2832
|
+
workingHours: timeData.business_hours ?? isBusinessHours,
|
|
2833
|
+
timeZone: timeData.timezone || options.timezone || 'UTC',
|
|
2834
|
+
dayOfWeek: timeData.day_of_week || now.toLocaleDateString('en-US', { weekday: 'long' }),
|
|
2835
|
+
contextualTiming,
|
|
2836
|
+
metadata: {
|
|
2837
|
+
timestamp: Date.now(),
|
|
2838
|
+
businessHours: {
|
|
2839
|
+
start: options.businessHoursStart || '09:00',
|
|
2840
|
+
end: options.businessHoursEnd || '17:00'
|
|
2841
|
+
},
|
|
2842
|
+
utcOffset: timeData.utc_offset || 0,
|
|
2843
|
+
isWeekend: timeData.is_weekend ?? isWeekend
|
|
2844
|
+
}
|
|
2845
|
+
};
|
|
2846
|
+
};
|
|
2847
|
+
|
|
2848
|
+
/**
|
|
2849
|
+
* Create a basic CoordinationAnalysis object
|
|
2850
|
+
* @param channelId - Channel identifier
|
|
2851
|
+
* @param options - Optional configuration for analysis
|
|
2852
|
+
* @returns Basic CoordinationAnalysis structure
|
|
2853
|
+
*/
|
|
2854
|
+
export const createBasicCoordinationAnalysis = (
|
|
2855
|
+
channelId: ChannelId,
|
|
2856
|
+
options: {
|
|
2857
|
+
activeAgents?: AgentId[];
|
|
2858
|
+
messageCount?: number;
|
|
2859
|
+
toolUsage?: number;
|
|
2860
|
+
timePeriod?: string;
|
|
2861
|
+
} = {}
|
|
2862
|
+
): CoordinationAnalysis => {
|
|
2863
|
+
const validator = createStrictValidator('CoordinationAnalysis');
|
|
2864
|
+
validator.assertIsNonEmptyString(channelId, 'Channel ID is required for coordination analysis');
|
|
2865
|
+
|
|
2866
|
+
return {
|
|
2867
|
+
channelId,
|
|
2868
|
+
activeAgents: options.activeAgents || [],
|
|
2869
|
+
opportunities: [
|
|
2870
|
+
{
|
|
2871
|
+
type: 'collaboration',
|
|
2872
|
+
involvedAgents: options.activeAgents || [],
|
|
2873
|
+
description: 'Detected potential for agent collaboration based on activity patterns',
|
|
2874
|
+
confidence: 0.7,
|
|
2875
|
+
suggestedAction: 'Consider coordinating on shared objectives'
|
|
2876
|
+
}
|
|
2877
|
+
],
|
|
2878
|
+
activityMetrics: {
|
|
2879
|
+
messageCount: options.messageCount || 0,
|
|
2880
|
+
toolUsage: options.toolUsage || 0,
|
|
2881
|
+
interactionDensity: 0,
|
|
2882
|
+
timePeriod: options.timePeriod || 'last 10 minutes'
|
|
2883
|
+
},
|
|
2884
|
+
temporalPatterns: [],
|
|
2885
|
+
analysisTime: new Date().toISOString()
|
|
2886
|
+
};
|
|
2887
|
+
};
|
|
2888
|
+
|
|
2889
|
+
// === MXF Tool Service Payload Helpers ===
|
|
2890
|
+
|
|
2891
|
+
/**
|
|
2892
|
+
* Data for MXF tool list request events
|
|
2893
|
+
*/
|
|
2894
|
+
export interface MxfToolListEventData {
|
|
2895
|
+
filter?: {
|
|
2896
|
+
name?: string;
|
|
2897
|
+
channelId?: string;
|
|
2898
|
+
};
|
|
2899
|
+
allowedTools?: string[]; // Agent-specific tool restrictions
|
|
2900
|
+
requestId?: string;
|
|
2901
|
+
}
|
|
2902
|
+
|
|
2903
|
+
/**
|
|
2904
|
+
* Data for MXF tool list result events
|
|
2905
|
+
*/
|
|
2906
|
+
export interface MxfToolListResultEventData {
|
|
2907
|
+
tools: Array<{
|
|
2908
|
+
name: string;
|
|
2909
|
+
description: string;
|
|
2910
|
+
inputSchema: Record<string, any>;
|
|
2911
|
+
enabled: boolean;
|
|
2912
|
+
providerId: string;
|
|
2913
|
+
channelId: string;
|
|
2914
|
+
parameters?: any;
|
|
2915
|
+
metadata?: any;
|
|
2916
|
+
}>;
|
|
2917
|
+
count: number;
|
|
2918
|
+
requestId?: string;
|
|
2919
|
+
}
|
|
2920
|
+
|
|
2921
|
+
/**
|
|
2922
|
+
* Data for MXF tool list error events
|
|
2923
|
+
*/
|
|
2924
|
+
export interface MxfToolListErrorEventData {
|
|
2925
|
+
error: string;
|
|
2926
|
+
requestId?: string;
|
|
2927
|
+
}
|
|
2928
|
+
|
|
2929
|
+
/**
|
|
2930
|
+
* Creates a payload for MXF tool list request events
|
|
2931
|
+
*/
|
|
2932
|
+
export const createMxfToolListPayload = (
|
|
2933
|
+
eventType: string,
|
|
2934
|
+
agentId: AgentId,
|
|
2935
|
+
channelId: ChannelId,
|
|
2936
|
+
data: MxfToolListEventData
|
|
2937
|
+
): BaseEventPayload<MxfToolListEventData> => ({
|
|
2938
|
+
eventId: uuidv4(),
|
|
2939
|
+
eventType,
|
|
2940
|
+
timestamp: Date.now(),
|
|
2941
|
+
agentId,
|
|
2942
|
+
channelId,
|
|
2943
|
+
source: 'MXF_CLIENT',
|
|
2944
|
+
data,
|
|
2945
|
+
});
|
|
2946
|
+
|
|
2947
|
+
/**
|
|
2948
|
+
* Creates a payload for MXF tool list result events
|
|
2949
|
+
*/
|
|
2950
|
+
export const createMxfToolListResultPayload = (
|
|
2951
|
+
eventType: string,
|
|
2952
|
+
agentId: AgentId,
|
|
2953
|
+
channelId: ChannelId,
|
|
2954
|
+
data: MxfToolListResultEventData
|
|
2955
|
+
): BaseEventPayload<MxfToolListResultEventData> => ({
|
|
2956
|
+
eventId: uuidv4(),
|
|
2957
|
+
eventType,
|
|
2958
|
+
timestamp: Date.now(),
|
|
2959
|
+
agentId,
|
|
2960
|
+
channelId,
|
|
2961
|
+
source: 'MXF_SERVICE',
|
|
2962
|
+
data,
|
|
2963
|
+
});
|
|
2964
|
+
|
|
2965
|
+
/**
|
|
2966
|
+
* Creates a payload for MXF tool list error events
|
|
2967
|
+
*/
|
|
2968
|
+
export const createMxfToolListErrorPayload = (
|
|
2969
|
+
eventType: string,
|
|
2970
|
+
agentId: AgentId,
|
|
2971
|
+
channelId: ChannelId,
|
|
2972
|
+
data: MxfToolListErrorEventData
|
|
2973
|
+
): BaseEventPayload<MxfToolListErrorEventData> => ({
|
|
2974
|
+
eventId: uuidv4(),
|
|
2975
|
+
eventType,
|
|
2976
|
+
timestamp: Date.now(),
|
|
2977
|
+
agentId,
|
|
2978
|
+
channelId,
|
|
2979
|
+
source: 'MXF_SERVICE',
|
|
2980
|
+
data,
|
|
2981
|
+
});
|
|
2982
|
+
|
|
2983
|
+
// --- MXP 2.0 Event Payload Creators ---
|
|
2984
|
+
|
|
2985
|
+
import type {
|
|
2986
|
+
MxpTokenOptimizationEventData,
|
|
2987
|
+
MxpBandwidthOptimizationEventData,
|
|
2988
|
+
MxpSecurityEventData,
|
|
2989
|
+
MxpAnalyticsEventData
|
|
2990
|
+
} from '../events/event-definitions/MxpEvents.js';
|
|
2991
|
+
|
|
2992
|
+
export type {
|
|
2993
|
+
MxpTokenOptimizationEventData,
|
|
2994
|
+
MxpBandwidthOptimizationEventData,
|
|
2995
|
+
MxpSecurityEventData,
|
|
2996
|
+
MxpAnalyticsEventData
|
|
2997
|
+
};
|
|
2998
|
+
|
|
2999
|
+
/**
|
|
3000
|
+
* Creates an MXP token optimization event payload
|
|
3001
|
+
*/
|
|
3002
|
+
export function createMxpTokenOptimizationEventPayload(
|
|
3003
|
+
eventType: string,
|
|
3004
|
+
agentId: AgentId,
|
|
3005
|
+
channelId: ChannelId,
|
|
3006
|
+
data: MxpTokenOptimizationEventData,
|
|
3007
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
3008
|
+
): BaseEventPayload<MxpTokenOptimizationEventData> {
|
|
3009
|
+
const validator = createStrictValidator('createMxpTokenOptimizationEventPayload');
|
|
3010
|
+
validator.assertIsNonEmptyString(data.operationId, 'operationId');
|
|
3011
|
+
validator.assertIsNumber(data.originalTokens, 'originalTokens must be a number');
|
|
3012
|
+
validator.assertIsNumber(data.optimizedTokens, 'optimizedTokens must be a number');
|
|
3013
|
+
validator.assertIsNumber(data.compressionRatio, 'compressionRatio must be a number');
|
|
3014
|
+
|
|
3015
|
+
return createBaseEventPayload<MxpTokenOptimizationEventData>(
|
|
3016
|
+
eventType, agentId, channelId, data, options
|
|
3017
|
+
);
|
|
3018
|
+
}
|
|
3019
|
+
|
|
3020
|
+
/**
|
|
3021
|
+
* Creates an MXP bandwidth optimization event payload
|
|
3022
|
+
*/
|
|
3023
|
+
export function createMxpBandwidthOptimizationEventPayload(
|
|
3024
|
+
eventType: string,
|
|
3025
|
+
agentId: AgentId,
|
|
3026
|
+
channelId: ChannelId,
|
|
3027
|
+
data: MxpBandwidthOptimizationEventData,
|
|
3028
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
3029
|
+
): BaseEventPayload<MxpBandwidthOptimizationEventData> {
|
|
3030
|
+
const validator = createStrictValidator('createMxpBandwidthOptimizationEventPayload');
|
|
3031
|
+
validator.assertIsNonEmptyString(data.operationId, 'operationId');
|
|
3032
|
+
validator.assertIsNumber(data.originalSize, 'originalSize must be a number');
|
|
3033
|
+
validator.assertIsNumber(data.compressedSize, 'compressedSize must be a number');
|
|
3034
|
+
validator.assertIsNumber(data.compressionRatio, 'compressionRatio must be a number');
|
|
3035
|
+
|
|
3036
|
+
return createBaseEventPayload<MxpBandwidthOptimizationEventData>(
|
|
3037
|
+
eventType, agentId, channelId, data, options
|
|
3038
|
+
);
|
|
3039
|
+
}
|
|
3040
|
+
|
|
3041
|
+
/**
|
|
3042
|
+
* Creates an MXP security event payload
|
|
3043
|
+
*/
|
|
3044
|
+
export function createMxpSecurityEventPayload(
|
|
3045
|
+
eventType: string,
|
|
3046
|
+
agentId: AgentId,
|
|
3047
|
+
channelId: ChannelId,
|
|
3048
|
+
data: MxpSecurityEventData,
|
|
3049
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
3050
|
+
): BaseEventPayload<MxpSecurityEventData> {
|
|
3051
|
+
const validator = createStrictValidator('createMxpSecurityEventPayload');
|
|
3052
|
+
validator.assertIsNonEmptyString(data.newLevel, 'newLevel');
|
|
3053
|
+
validator.assertIsNumber(data.timestamp, 'timestamp must be a number');
|
|
3054
|
+
|
|
3055
|
+
return createBaseEventPayload<MxpSecurityEventData>(
|
|
3056
|
+
eventType, agentId, channelId, data, options
|
|
3057
|
+
);
|
|
3058
|
+
}
|
|
3059
|
+
|
|
3060
|
+
/**
|
|
3061
|
+
* Creates an MXP analytics event payload
|
|
3062
|
+
*/
|
|
3063
|
+
export function createMxpAnalyticsEventPayload(
|
|
3064
|
+
eventType: string,
|
|
3065
|
+
agentId: AgentId,
|
|
3066
|
+
channelId: ChannelId,
|
|
3067
|
+
data: MxpAnalyticsEventData,
|
|
3068
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
3069
|
+
): BaseEventPayload<MxpAnalyticsEventData> {
|
|
3070
|
+
const validator = createStrictValidator('createMxpAnalyticsEventPayload');
|
|
3071
|
+
validator.assertIsNonEmptyString(data.metricType, 'metricType');
|
|
3072
|
+
validator.assertIsNumber(data.value, 'value must be a number');
|
|
3073
|
+
validator.assertIsNonEmptyString(data.unit, 'unit');
|
|
3074
|
+
validator.assertIsNumber(data.timestamp, 'timestamp must be a number');
|
|
3075
|
+
|
|
3076
|
+
return createBaseEventPayload<MxpAnalyticsEventData>(
|
|
3077
|
+
eventType, agentId, channelId, data, options
|
|
3078
|
+
);
|
|
3079
|
+
}
|
|
3080
|
+
|
|
3081
|
+
// --- Meilisearch Integration Event Payload Creators ---
|
|
3082
|
+
|
|
3083
|
+
/**
|
|
3084
|
+
* Data for Meilisearch indexing events
|
|
3085
|
+
*/
|
|
3086
|
+
export interface MeilisearchIndexEventData {
|
|
3087
|
+
operationId: string; // Unique ID for this indexing operation
|
|
3088
|
+
indexName: string; // Name of the Meilisearch index (e.g., 'mxf-conversations')
|
|
3089
|
+
documentId: string; // ID of the document being indexed
|
|
3090
|
+
documentType: 'conversation' | 'action' | 'pattern' | 'observation'; // Type of document
|
|
3091
|
+
success: boolean; // Whether indexing succeeded
|
|
3092
|
+
duration?: number; // Time taken to index in milliseconds
|
|
3093
|
+
error?: string; // Error message if indexing failed
|
|
3094
|
+
metadata?: { // Additional context
|
|
3095
|
+
messageCount?: number; // For batch operations
|
|
3096
|
+
agentId?: string;
|
|
3097
|
+
channelId?: string;
|
|
3098
|
+
timestamp?: number;
|
|
3099
|
+
};
|
|
3100
|
+
}
|
|
3101
|
+
export type MeilisearchIndexEventPayload = BaseEventPayload<MeilisearchIndexEventData>;
|
|
3102
|
+
|
|
3103
|
+
/**
|
|
3104
|
+
* Data for Meilisearch search events
|
|
3105
|
+
*/
|
|
3106
|
+
export interface MeilisearchSearchEventData {
|
|
3107
|
+
operationId: string; // Unique ID for this search operation
|
|
3108
|
+
indexName: string; // Name of the Meilisearch index searched
|
|
3109
|
+
query: string; // Search query text
|
|
3110
|
+
hybridRatio?: number; // Semantic/keyword ratio (0.0-1.0)
|
|
3111
|
+
resultCount: number; // Number of results returned
|
|
3112
|
+
duration: number; // Search latency in milliseconds
|
|
3113
|
+
filters?: Record<string, any>; // Applied filters (channelId, agentId, etc.)
|
|
3114
|
+
success: boolean; // Whether search succeeded
|
|
3115
|
+
error?: string; // Error message if search failed
|
|
3116
|
+
metadata?: { // Additional context
|
|
3117
|
+
semanticSearch?: boolean; // Whether semantic search was used
|
|
3118
|
+
embeddingModel?: string; // Model used for embeddings
|
|
3119
|
+
cacheHit?: boolean; // Whether result was cached
|
|
3120
|
+
};
|
|
3121
|
+
}
|
|
3122
|
+
export type MeilisearchSearchEventPayload = BaseEventPayload<MeilisearchSearchEventData>;
|
|
3123
|
+
|
|
3124
|
+
/**
|
|
3125
|
+
* Data for Meilisearch backfill events
|
|
3126
|
+
*/
|
|
3127
|
+
export interface MeilisearchBackfillEventData {
|
|
3128
|
+
operationId: string; // Unique ID for this backfill operation
|
|
3129
|
+
indexName: string; // Name of the Meilisearch index
|
|
3130
|
+
totalDocuments: number; // Total documents to backfill
|
|
3131
|
+
indexedDocuments: number; // Number of documents successfully indexed
|
|
3132
|
+
failedDocuments: number; // Number of documents that failed to index
|
|
3133
|
+
duration: number; // Total time taken in milliseconds
|
|
3134
|
+
success: boolean; // Whether backfill completed successfully
|
|
3135
|
+
source: 'mongodb' | 'memory' | 'other'; // Source of backfilled data
|
|
3136
|
+
error?: string; // Error message if backfill failed
|
|
3137
|
+
metadata?: { // Additional context
|
|
3138
|
+
agentId?: string;
|
|
3139
|
+
channelId?: string;
|
|
3140
|
+
startTimestamp?: number; // Earliest message timestamp
|
|
3141
|
+
endTimestamp?: number; // Latest message timestamp
|
|
3142
|
+
batchSize?: number; // Batch size used for indexing
|
|
3143
|
+
};
|
|
3144
|
+
}
|
|
3145
|
+
export type MeilisearchBackfillEventPayload = BaseEventPayload<MeilisearchBackfillEventData>;
|
|
3146
|
+
|
|
3147
|
+
/**
|
|
3148
|
+
* Creates a Meilisearch indexing event payload
|
|
3149
|
+
*/
|
|
3150
|
+
export function createMeilisearchIndexEventPayload(
|
|
3151
|
+
eventType: string,
|
|
3152
|
+
agentId: AgentId,
|
|
3153
|
+
channelId: ChannelId,
|
|
3154
|
+
data: MeilisearchIndexEventData,
|
|
3155
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
3156
|
+
): BaseEventPayload<MeilisearchIndexEventData> {
|
|
3157
|
+
const validator = createStrictValidator('createMeilisearchIndexEventPayload');
|
|
3158
|
+
validator.assertIsNonEmptyString(data.operationId, 'operationId');
|
|
3159
|
+
validator.assertIsNonEmptyString(data.indexName, 'indexName');
|
|
3160
|
+
validator.assertIsNonEmptyString(data.documentId, 'documentId');
|
|
3161
|
+
validator.assertIsNonEmptyString(data.documentType, 'documentType');
|
|
3162
|
+
validator.assertIsBoolean(data.success);
|
|
3163
|
+
|
|
3164
|
+
return createBaseEventPayload<MeilisearchIndexEventData>(
|
|
3165
|
+
eventType, agentId, channelId, data, options
|
|
3166
|
+
);
|
|
3167
|
+
}
|
|
3168
|
+
|
|
3169
|
+
/**
|
|
3170
|
+
* Creates a Meilisearch search event payload
|
|
3171
|
+
*/
|
|
3172
|
+
export function createMeilisearchSearchEventPayload(
|
|
3173
|
+
eventType: string,
|
|
3174
|
+
agentId: AgentId,
|
|
3175
|
+
channelId: ChannelId,
|
|
3176
|
+
data: MeilisearchSearchEventData,
|
|
3177
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
3178
|
+
): BaseEventPayload<MeilisearchSearchEventData> {
|
|
3179
|
+
const validator = createStrictValidator('createMeilisearchSearchEventPayload');
|
|
3180
|
+
validator.assertIsNonEmptyString(data.operationId, 'operationId');
|
|
3181
|
+
validator.assertIsNonEmptyString(data.indexName, 'indexName');
|
|
3182
|
+
validator.assertIsNonEmptyString(data.query, 'query');
|
|
3183
|
+
validator.assertIsNumber(data.resultCount, 'resultCount must be a number');
|
|
3184
|
+
validator.assertIsNumber(data.duration, 'duration must be a number');
|
|
3185
|
+
validator.assertIsBoolean(data.success);
|
|
3186
|
+
|
|
3187
|
+
return createBaseEventPayload<MeilisearchSearchEventData>(
|
|
3188
|
+
eventType, agentId, channelId, data, options
|
|
3189
|
+
);
|
|
3190
|
+
}
|
|
3191
|
+
|
|
3192
|
+
/**
|
|
3193
|
+
* Creates a Meilisearch backfill event payload
|
|
3194
|
+
*/
|
|
3195
|
+
export function createMeilisearchBackfillEventPayload(
|
|
3196
|
+
eventType: string,
|
|
3197
|
+
agentId: AgentId,
|
|
3198
|
+
channelId: ChannelId,
|
|
3199
|
+
data: MeilisearchBackfillEventData,
|
|
3200
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
3201
|
+
): BaseEventPayload<MeilisearchBackfillEventData> {
|
|
3202
|
+
const validator = createStrictValidator('createMeilisearchBackfillEventPayload');
|
|
3203
|
+
validator.assertIsNonEmptyString(data.operationId, 'operationId');
|
|
3204
|
+
validator.assertIsNonEmptyString(data.indexName, 'indexName');
|
|
3205
|
+
validator.assertIsNumber(data.totalDocuments, 'totalDocuments must be a number');
|
|
3206
|
+
validator.assertIsNumber(data.indexedDocuments, 'indexedDocuments must be a number');
|
|
3207
|
+
validator.assertIsNumber(data.failedDocuments, 'failedDocuments must be a number');
|
|
3208
|
+
validator.assertIsNumber(data.duration, 'duration must be a number');
|
|
3209
|
+
validator.assertIsBoolean(data.success);
|
|
3210
|
+
validator.assertIsNonEmptyString(data.source, 'source');
|
|
3211
|
+
|
|
3212
|
+
return createBaseEventPayload<MeilisearchBackfillEventData>(
|
|
3213
|
+
eventType, agentId, channelId, data, options
|
|
3214
|
+
);
|
|
3215
|
+
}
|
|
3216
|
+
|
|
3217
|
+
// --- Plan Event Payload Creator Helpers ---
|
|
3218
|
+
|
|
3219
|
+
/**
|
|
3220
|
+
* Creates a PlanStepCompletedEventPayload.
|
|
3221
|
+
* Used when a plan step is marked as completed.
|
|
3222
|
+
*
|
|
3223
|
+
* @param eventType - The specific event type (e.g., Events.Plan.PLAN_STEP_COMPLETED).
|
|
3224
|
+
* @param agentId - The Agent ID that completed the step.
|
|
3225
|
+
* @param channelId - The Channel ID context for this plan event.
|
|
3226
|
+
* @param planStepData - The specific data for the plan step completion.
|
|
3227
|
+
* @param options - Optional base event payload options.
|
|
3228
|
+
* @returns A BaseEventPayload with PlanStepCompletedEventData.
|
|
3229
|
+
*/
|
|
3230
|
+
export function createPlanStepCompletedEventPayload(
|
|
3231
|
+
eventType: EventName | string,
|
|
3232
|
+
agentId: AgentId,
|
|
3233
|
+
channelId: ChannelId,
|
|
3234
|
+
planStepData: PlanStepCompletedEventData,
|
|
3235
|
+
options: { source?: string; isRecursionProtection?: boolean; eventId?: string; timestamp?: number; } = {}
|
|
3236
|
+
): BaseEventPayload<PlanStepCompletedEventData> {
|
|
3237
|
+
const validator = createStrictValidator('createPlanStepCompletedEventPayload');
|
|
3238
|
+
validator.assertIsObject(planStepData, 'planStepData');
|
|
3239
|
+
validator.assertIsNonEmptyString(planStepData.planId, 'planStepData.planId');
|
|
3240
|
+
validator.assertIsNonEmptyString(planStepData.stepId, 'planStepData.stepId');
|
|
3241
|
+
validator.assertIsNonEmptyString(planStepData.completedBy, 'planStepData.completedBy');
|
|
3242
|
+
|
|
3243
|
+
return createBaseEventPayload<PlanStepCompletedEventData>(
|
|
3244
|
+
eventType,
|
|
3245
|
+
agentId,
|
|
3246
|
+
channelId,
|
|
3247
|
+
planStepData,
|
|
3248
|
+
options
|
|
3249
|
+
);
|
|
3250
|
+
}
|
|
3251
|
+
|
|
3252
|
+
// --- Memory Utility Learning System (MULS) Event Payload Creator Helpers ---
|
|
3253
|
+
|
|
3254
|
+
/**
|
|
3255
|
+
* Data for Q-value updated events
|
|
3256
|
+
*/
|
|
3257
|
+
export interface MemoryQValueUpdatedEventData {
|
|
3258
|
+
memoryId: string;
|
|
3259
|
+
oldValue: number;
|
|
3260
|
+
newValue: number;
|
|
3261
|
+
reward: number;
|
|
3262
|
+
delta: number;
|
|
3263
|
+
taskId?: string;
|
|
3264
|
+
phase?: string;
|
|
3265
|
+
}
|
|
3266
|
+
|
|
3267
|
+
/**
|
|
3268
|
+
* Data for Q-value batch updated events
|
|
3269
|
+
*/
|
|
3270
|
+
export interface MemoryQValueBatchUpdatedEventData {
|
|
3271
|
+
totalUpdates: number;
|
|
3272
|
+
updated: number;
|
|
3273
|
+
failed: number;
|
|
3274
|
+
taskId?: string;
|
|
3275
|
+
errors?: Array<{ memoryId: string; error: string }>;
|
|
3276
|
+
}
|
|
3277
|
+
|
|
3278
|
+
/**
|
|
3279
|
+
* Data for reward attributed events
|
|
3280
|
+
*/
|
|
3281
|
+
export interface MemoryRewardAttributedEventData {
|
|
3282
|
+
taskId?: string;
|
|
3283
|
+
status?: string;
|
|
3284
|
+
reward: number;
|
|
3285
|
+
memoriesUpdated: number;
|
|
3286
|
+
memoriesFailed: number;
|
|
3287
|
+
memoryIds: string[];
|
|
3288
|
+
isManual?: boolean;
|
|
3289
|
+
reason?: string;
|
|
3290
|
+
newQValue?: number;
|
|
3291
|
+
memoryId?: string;
|
|
3292
|
+
}
|
|
3293
|
+
|
|
3294
|
+
/**
|
|
3295
|
+
* Creates a MemoryQValueUpdatedEventPayload.
|
|
3296
|
+
* Used when a single Q-value is updated in the MULS system.
|
|
3297
|
+
*
|
|
3298
|
+
* @param agentId - The Agent ID context for this update (or 'system' if no agent context).
|
|
3299
|
+
* @param channelId - The Channel ID context for this update (or 'global' if no channel context).
|
|
3300
|
+
* @param data - The specific data for the Q-value update event.
|
|
3301
|
+
* @param options - Optional base event payload options.
|
|
3302
|
+
* @returns A BaseEventPayload with MemoryQValueUpdatedEventData.
|
|
3303
|
+
*/
|
|
3304
|
+
export function createMemoryQValueUpdatedPayload(
|
|
3305
|
+
agentId: AgentId,
|
|
3306
|
+
channelId: ChannelId,
|
|
3307
|
+
data: MemoryQValueUpdatedEventData,
|
|
3308
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
3309
|
+
): BaseEventPayload<MemoryQValueUpdatedEventData> {
|
|
3310
|
+
const validator = createStrictValidator('createMemoryQValueUpdatedPayload');
|
|
3311
|
+
validator.assertIsNonEmptyString(agentId, 'agentId is required');
|
|
3312
|
+
validator.assertIsNonEmptyString(channelId, 'channelId is required');
|
|
3313
|
+
validator.assertIsNonEmptyString(data.memoryId, 'data.memoryId is required');
|
|
3314
|
+
|
|
3315
|
+
return createBaseEventPayload<MemoryQValueUpdatedEventData>(
|
|
3316
|
+
'memory:qvalue_updated',
|
|
3317
|
+
agentId,
|
|
3318
|
+
channelId,
|
|
3319
|
+
data,
|
|
3320
|
+
options
|
|
3321
|
+
);
|
|
3322
|
+
}
|
|
3323
|
+
|
|
3324
|
+
/**
|
|
3325
|
+
* Creates a MemoryQValueBatchUpdatedEventPayload.
|
|
3326
|
+
* Used when multiple Q-values are updated in a batch.
|
|
3327
|
+
*
|
|
3328
|
+
* @param agentId - The Agent ID context for this batch update (or 'system' if no agent context).
|
|
3329
|
+
* @param channelId - The Channel ID context for this batch update (or 'global' if no channel context).
|
|
3330
|
+
* @param data - The specific data for the batch Q-value update event.
|
|
3331
|
+
* @param options - Optional base event payload options.
|
|
3332
|
+
* @returns A BaseEventPayload with MemoryQValueBatchUpdatedEventData.
|
|
3333
|
+
*/
|
|
3334
|
+
export function createMemoryQValueBatchUpdatedPayload(
|
|
3335
|
+
agentId: AgentId,
|
|
3336
|
+
channelId: ChannelId,
|
|
3337
|
+
data: MemoryQValueBatchUpdatedEventData,
|
|
3338
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
3339
|
+
): BaseEventPayload<MemoryQValueBatchUpdatedEventData> {
|
|
3340
|
+
const validator = createStrictValidator('createMemoryQValueBatchUpdatedPayload');
|
|
3341
|
+
validator.assertIsNonEmptyString(agentId, 'agentId is required');
|
|
3342
|
+
validator.assertIsNonEmptyString(channelId, 'channelId is required');
|
|
3343
|
+
|
|
3344
|
+
return createBaseEventPayload<MemoryQValueBatchUpdatedEventData>(
|
|
3345
|
+
'memory:qvalue_batch_updated',
|
|
3346
|
+
agentId,
|
|
3347
|
+
channelId,
|
|
3348
|
+
data,
|
|
3349
|
+
options
|
|
3350
|
+
);
|
|
3351
|
+
}
|
|
3352
|
+
|
|
3353
|
+
/**
|
|
3354
|
+
* Creates a MemoryRewardAttributedEventPayload.
|
|
3355
|
+
* Used when rewards are attributed to memories after task completion.
|
|
3356
|
+
*
|
|
3357
|
+
* @param agentId - The Agent ID context for this reward attribution (or 'system' if no agent context).
|
|
3358
|
+
* @param channelId - The Channel ID context for this reward attribution (or 'global' if no channel context).
|
|
3359
|
+
* @param data - The specific data for the reward attribution event.
|
|
3360
|
+
* @param options - Optional base event payload options.
|
|
3361
|
+
* @returns A BaseEventPayload with MemoryRewardAttributedEventData.
|
|
3362
|
+
*/
|
|
3363
|
+
export function createMemoryRewardAttributedPayload(
|
|
3364
|
+
agentId: AgentId,
|
|
3365
|
+
channelId: ChannelId,
|
|
3366
|
+
data: MemoryRewardAttributedEventData,
|
|
3367
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
3368
|
+
): BaseEventPayload<MemoryRewardAttributedEventData> {
|
|
3369
|
+
const validator = createStrictValidator('createMemoryRewardAttributedPayload');
|
|
3370
|
+
validator.assertIsNonEmptyString(agentId, 'agentId is required');
|
|
3371
|
+
validator.assertIsNonEmptyString(channelId, 'channelId is required');
|
|
3372
|
+
|
|
3373
|
+
return createBaseEventPayload<MemoryRewardAttributedEventData>(
|
|
3374
|
+
'memory:reward_attributed',
|
|
3375
|
+
agentId,
|
|
3376
|
+
channelId,
|
|
3377
|
+
data,
|
|
3378
|
+
options
|
|
3379
|
+
);
|
|
3380
|
+
}
|
|
3381
|
+
|
|
3382
|
+
// ============================================================================
|
|
3383
|
+
// ORPAR-Memory Integration Event Payload Helpers
|
|
3384
|
+
// ============================================================================
|
|
3385
|
+
|
|
3386
|
+
/**
|
|
3387
|
+
* Creates an ORPAR-Memory Cycle Started event payload.
|
|
3388
|
+
* Emitted when a new ORPAR cycle begins with memory integration enabled.
|
|
3389
|
+
*
|
|
3390
|
+
* @param agentId - The Agent ID starting the cycle.
|
|
3391
|
+
* @param channelId - The Channel ID context for this cycle.
|
|
3392
|
+
* @param data - The cycle started event data.
|
|
3393
|
+
* @param options - Optional base event payload options.
|
|
3394
|
+
* @returns A BaseEventPayload with CycleStartedEventData.
|
|
3395
|
+
*/
|
|
3396
|
+
export function createOrparMemoryCycleStartedPayload(
|
|
3397
|
+
agentId: AgentId,
|
|
3398
|
+
channelId: ChannelId,
|
|
3399
|
+
data: CycleStartedEventData,
|
|
3400
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
3401
|
+
): BaseEventPayload<CycleStartedEventData> {
|
|
3402
|
+
const validator = createStrictValidator('createOrparMemoryCycleStartedPayload');
|
|
3403
|
+
validator.assertIsNonEmptyString(agentId, 'agentId is required');
|
|
3404
|
+
validator.assertIsNonEmptyString(channelId, 'channelId is required');
|
|
3405
|
+
validator.assertIsNonEmptyString(data.cycleId, 'data.cycleId is required');
|
|
3406
|
+
validator.assertIsNonEmptyString(data.initialPhase, 'data.initialPhase is required');
|
|
3407
|
+
|
|
3408
|
+
return createBaseEventPayload<CycleStartedEventData>(
|
|
3409
|
+
OrparMemoryEvents.CYCLE_STARTED,
|
|
3410
|
+
agentId,
|
|
3411
|
+
channelId,
|
|
3412
|
+
data,
|
|
3413
|
+
options
|
|
3414
|
+
);
|
|
3415
|
+
}
|
|
3416
|
+
|
|
3417
|
+
/**
|
|
3418
|
+
* Creates an ORPAR-Memory Phase Changed event payload.
|
|
3419
|
+
* Emitted when an ORPAR cycle transitions to a new phase.
|
|
3420
|
+
*
|
|
3421
|
+
* @param agentId - The Agent ID in the cycle.
|
|
3422
|
+
* @param channelId - The Channel ID context for this cycle.
|
|
3423
|
+
* @param data - The phase changed event data.
|
|
3424
|
+
* @param options - Optional base event payload options.
|
|
3425
|
+
* @returns A BaseEventPayload with PhaseChangedEventData.
|
|
3426
|
+
*/
|
|
3427
|
+
export function createOrparMemoryPhaseChangedPayload(
|
|
3428
|
+
agentId: AgentId,
|
|
3429
|
+
channelId: ChannelId,
|
|
3430
|
+
data: PhaseChangedEventData,
|
|
3431
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
3432
|
+
): BaseEventPayload<PhaseChangedEventData> {
|
|
3433
|
+
const validator = createStrictValidator('createOrparMemoryPhaseChangedPayload');
|
|
3434
|
+
validator.assertIsNonEmptyString(agentId, 'agentId is required');
|
|
3435
|
+
validator.assertIsNonEmptyString(channelId, 'channelId is required');
|
|
3436
|
+
validator.assertIsNonEmptyString(data.cycleId, 'data.cycleId is required');
|
|
3437
|
+
validator.assertIsNonEmptyString(data.newPhase, 'data.newPhase is required');
|
|
3438
|
+
|
|
3439
|
+
return createBaseEventPayload<PhaseChangedEventData>(
|
|
3440
|
+
OrparMemoryEvents.PHASE_CHANGED,
|
|
3441
|
+
agentId,
|
|
3442
|
+
channelId,
|
|
3443
|
+
data,
|
|
3444
|
+
options
|
|
3445
|
+
);
|
|
3446
|
+
}
|
|
3447
|
+
|
|
3448
|
+
/**
|
|
3449
|
+
* Creates an ORPAR-Memory Cycle Completed event payload.
|
|
3450
|
+
* Emitted when an ORPAR cycle finishes and triggers reward attribution/consolidation.
|
|
3451
|
+
*
|
|
3452
|
+
* @param agentId - The Agent ID that completed the cycle.
|
|
3453
|
+
* @param channelId - The Channel ID context for this cycle.
|
|
3454
|
+
* @param data - The cycle completed event data.
|
|
3455
|
+
* @param options - Optional base event payload options.
|
|
3456
|
+
* @returns A BaseEventPayload with CycleCompletedEventData.
|
|
3457
|
+
*/
|
|
3458
|
+
export function createOrparMemoryCycleCompletedPayload(
|
|
3459
|
+
agentId: AgentId,
|
|
3460
|
+
channelId: ChannelId,
|
|
3461
|
+
data: CycleCompletedEventData,
|
|
3462
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
3463
|
+
): BaseEventPayload<CycleCompletedEventData> {
|
|
3464
|
+
const validator = createStrictValidator('createOrparMemoryCycleCompletedPayload');
|
|
3465
|
+
validator.assertIsNonEmptyString(agentId, 'agentId is required');
|
|
3466
|
+
validator.assertIsNonEmptyString(channelId, 'channelId is required');
|
|
3467
|
+
validator.assertIsNonEmptyString(data.cycleId, 'data.cycleId is required');
|
|
3468
|
+
|
|
3469
|
+
return createBaseEventPayload<CycleCompletedEventData>(
|
|
3470
|
+
OrparMemoryEvents.CYCLE_COMPLETED,
|
|
3471
|
+
agentId,
|
|
3472
|
+
channelId,
|
|
3473
|
+
data,
|
|
3474
|
+
options
|
|
3475
|
+
);
|
|
3476
|
+
}
|
|
3477
|
+
|
|
3478
|
+
// ============================================================================
|
|
3479
|
+
// Task DAG Event Payload Helpers
|
|
3480
|
+
// ============================================================================
|
|
3481
|
+
|
|
3482
|
+
/**
|
|
3483
|
+
* Creates a DAG Task Dependencies Resolved event payload.
|
|
3484
|
+
* Emitted when all dependencies for a task have been completed.
|
|
3485
|
+
*
|
|
3486
|
+
* @param channelId - The Channel ID context.
|
|
3487
|
+
* @param agentId - The Agent ID context (or 'system').
|
|
3488
|
+
* @param taskId - The task that is now unblocked.
|
|
3489
|
+
* @param resolvedDependencies - IDs of the dependencies that were resolved.
|
|
3490
|
+
* @param options - Optional base event payload options.
|
|
3491
|
+
* @returns A BaseEventPayload with TaskDependenciesResolvedEventData.
|
|
3492
|
+
*/
|
|
3493
|
+
export function createDagTaskDependenciesResolvedPayload(
|
|
3494
|
+
channelId: ChannelId,
|
|
3495
|
+
agentId: AgentId,
|
|
3496
|
+
taskId: string,
|
|
3497
|
+
resolvedDependencies: string[],
|
|
3498
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
3499
|
+
): BaseEventPayload<TaskDependenciesResolvedEventData> {
|
|
3500
|
+
const validator = createStrictValidator('createDagTaskDependenciesResolvedPayload');
|
|
3501
|
+
validator.assertIsNonEmptyString(channelId, 'channelId is required');
|
|
3502
|
+
validator.assertIsNonEmptyString(taskId, 'taskId is required');
|
|
3503
|
+
|
|
3504
|
+
const data: TaskDependenciesResolvedEventData = {
|
|
3505
|
+
taskId,
|
|
3506
|
+
channelId,
|
|
3507
|
+
resolvedDependencies,
|
|
3508
|
+
resolvedAt: Date.now(),
|
|
3509
|
+
};
|
|
3510
|
+
|
|
3511
|
+
return createBaseEventPayload<TaskDependenciesResolvedEventData>(
|
|
3512
|
+
DagEvents.TASK_DEPENDENCIES_RESOLVED,
|
|
3513
|
+
agentId,
|
|
3514
|
+
channelId,
|
|
3515
|
+
data,
|
|
3516
|
+
options
|
|
3517
|
+
);
|
|
3518
|
+
}
|
|
3519
|
+
|
|
3520
|
+
/**
|
|
3521
|
+
* Creates a DAG Task Blocked event payload.
|
|
3522
|
+
* Emitted when a task cannot proceed due to unresolved dependencies.
|
|
3523
|
+
*
|
|
3524
|
+
* @param channelId - The Channel ID context.
|
|
3525
|
+
* @param agentId - The Agent ID context (or 'system').
|
|
3526
|
+
* @param taskId - The task that is blocked.
|
|
3527
|
+
* @param blockingTasks - IDs of the tasks blocking this one.
|
|
3528
|
+
* @param attemptedStatus - The status transition that was attempted.
|
|
3529
|
+
* @param reason - Reason for the block.
|
|
3530
|
+
* @param options - Optional base event payload options.
|
|
3531
|
+
* @returns A BaseEventPayload with TaskBlockedEventData.
|
|
3532
|
+
*/
|
|
3533
|
+
export function createDagTaskBlockedPayload(
|
|
3534
|
+
channelId: ChannelId,
|
|
3535
|
+
agentId: AgentId,
|
|
3536
|
+
taskId: string,
|
|
3537
|
+
blockingTasks: string[],
|
|
3538
|
+
attemptedStatus: string,
|
|
3539
|
+
reason: string,
|
|
3540
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
3541
|
+
): BaseEventPayload<TaskBlockedEventData> {
|
|
3542
|
+
const validator = createStrictValidator('createDagTaskBlockedPayload');
|
|
3543
|
+
validator.assertIsNonEmptyString(channelId, 'channelId is required');
|
|
3544
|
+
validator.assertIsNonEmptyString(taskId, 'taskId is required');
|
|
3545
|
+
|
|
3546
|
+
const data: TaskBlockedEventData = {
|
|
3547
|
+
taskId,
|
|
3548
|
+
channelId,
|
|
3549
|
+
blockingTasks,
|
|
3550
|
+
attemptedStatus,
|
|
3551
|
+
reason,
|
|
3552
|
+
};
|
|
3553
|
+
|
|
3554
|
+
return createBaseEventPayload<TaskBlockedEventData>(
|
|
3555
|
+
DagEvents.TASK_BLOCKED,
|
|
3556
|
+
agentId,
|
|
3557
|
+
channelId,
|
|
3558
|
+
data,
|
|
3559
|
+
options
|
|
3560
|
+
);
|
|
3561
|
+
}
|
|
3562
|
+
|
|
3563
|
+
/**
|
|
3564
|
+
* Creates a DAG Task Unblocked event payload.
|
|
3565
|
+
* Emitted when a blocking dependency is resolved.
|
|
3566
|
+
*
|
|
3567
|
+
* @param channelId - The Channel ID context.
|
|
3568
|
+
* @param agentId - The Agent ID context (or 'system').
|
|
3569
|
+
* @param taskId - The task that was unblocked.
|
|
3570
|
+
* @param resolvedDependency - The dependency that was resolved.
|
|
3571
|
+
* @param remainingBlockers - Remaining blocking tasks (if any).
|
|
3572
|
+
* @param isReady - Whether the task is now fully ready.
|
|
3573
|
+
* @param options - Optional base event payload options.
|
|
3574
|
+
* @returns A BaseEventPayload with TaskUnblockedEventData.
|
|
3575
|
+
*/
|
|
3576
|
+
export function createDagTaskUnblockedPayload(
|
|
3577
|
+
channelId: ChannelId,
|
|
3578
|
+
agentId: AgentId,
|
|
3579
|
+
taskId: string,
|
|
3580
|
+
resolvedDependency: string,
|
|
3581
|
+
remainingBlockers: string[],
|
|
3582
|
+
isReady: boolean,
|
|
3583
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
3584
|
+
): BaseEventPayload<TaskUnblockedEventData> {
|
|
3585
|
+
const validator = createStrictValidator('createDagTaskUnblockedPayload');
|
|
3586
|
+
validator.assertIsNonEmptyString(channelId, 'channelId is required');
|
|
3587
|
+
validator.assertIsNonEmptyString(taskId, 'taskId is required');
|
|
3588
|
+
|
|
3589
|
+
const data: TaskUnblockedEventData = {
|
|
3590
|
+
taskId,
|
|
3591
|
+
channelId,
|
|
3592
|
+
resolvedDependency,
|
|
3593
|
+
remainingBlockers,
|
|
3594
|
+
isReady,
|
|
3595
|
+
};
|
|
3596
|
+
|
|
3597
|
+
return createBaseEventPayload<TaskUnblockedEventData>(
|
|
3598
|
+
DagEvents.TASK_UNBLOCKED,
|
|
3599
|
+
agentId,
|
|
3600
|
+
channelId,
|
|
3601
|
+
data,
|
|
3602
|
+
options
|
|
3603
|
+
);
|
|
3604
|
+
}
|
|
3605
|
+
|
|
3606
|
+
/**
|
|
3607
|
+
* Creates a DAG Cycle Detected event payload.
|
|
3608
|
+
* Emitted when a dependency would create a cycle.
|
|
3609
|
+
*
|
|
3610
|
+
* @param channelId - The Channel ID where the cycle was detected.
|
|
3611
|
+
* @param agentId - The Agent ID context (or 'system').
|
|
3612
|
+
* @param dependentTaskId - The dependency that would create the cycle.
|
|
3613
|
+
* @param dependencyTaskId - The dependency task that would complete the cycle.
|
|
3614
|
+
* @param cyclePath - The full cycle path.
|
|
3615
|
+
* @param cycleDescription - Human-readable description of the cycle.
|
|
3616
|
+
* @param options - Optional base event payload options.
|
|
3617
|
+
* @returns A BaseEventPayload with CycleDetectedEventData.
|
|
3618
|
+
*/
|
|
3619
|
+
export function createDagCycleDetectedPayload(
|
|
3620
|
+
channelId: ChannelId,
|
|
3621
|
+
agentId: AgentId,
|
|
3622
|
+
dependentTaskId: string,
|
|
3623
|
+
dependencyTaskId: string,
|
|
3624
|
+
cyclePath: string[],
|
|
3625
|
+
cycleDescription: string,
|
|
3626
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
3627
|
+
): BaseEventPayload<CycleDetectedEventData> {
|
|
3628
|
+
const validator = createStrictValidator('createDagCycleDetectedPayload');
|
|
3629
|
+
validator.assertIsNonEmptyString(channelId, 'channelId is required');
|
|
3630
|
+
|
|
3631
|
+
const data: CycleDetectedEventData = {
|
|
3632
|
+
channelId,
|
|
3633
|
+
dependentTaskId,
|
|
3634
|
+
dependencyTaskId,
|
|
3635
|
+
cyclePath,
|
|
3636
|
+
cycleDescription,
|
|
3637
|
+
};
|
|
3638
|
+
|
|
3639
|
+
return createBaseEventPayload<CycleDetectedEventData>(
|
|
3640
|
+
DagEvents.CYCLE_DETECTED,
|
|
3641
|
+
agentId,
|
|
3642
|
+
channelId,
|
|
3643
|
+
data,
|
|
3644
|
+
options
|
|
3645
|
+
);
|
|
3646
|
+
}
|
|
3647
|
+
|
|
3648
|
+
/**
|
|
3649
|
+
* Creates a DAG Updated event payload.
|
|
3650
|
+
* Emitted when the DAG structure changes.
|
|
3651
|
+
*
|
|
3652
|
+
* @param channelId - The Channel ID whose DAG was updated.
|
|
3653
|
+
* @param agentId - The Agent ID context (or 'system').
|
|
3654
|
+
* @param updateType - Type of update.
|
|
3655
|
+
* @param affectedTaskIds - Affected task IDs.
|
|
3656
|
+
* @param version - New DAG version.
|
|
3657
|
+
* @param options - Optional base event payload options.
|
|
3658
|
+
* @returns A BaseEventPayload with DagUpdatedEventData.
|
|
3659
|
+
*/
|
|
3660
|
+
export function createDagUpdatedPayload(
|
|
3661
|
+
channelId: ChannelId,
|
|
3662
|
+
agentId: AgentId,
|
|
3663
|
+
updateType: 'node_added' | 'node_removed' | 'edge_added' | 'edge_removed' | 'status_changed',
|
|
3664
|
+
affectedTaskIds: string[],
|
|
3665
|
+
version: number,
|
|
3666
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
3667
|
+
): BaseEventPayload<DagUpdatedEventData> {
|
|
3668
|
+
const validator = createStrictValidator('createDagUpdatedPayload');
|
|
3669
|
+
validator.assertIsNonEmptyString(channelId, 'channelId is required');
|
|
3670
|
+
|
|
3671
|
+
const data: DagUpdatedEventData = {
|
|
3672
|
+
channelId,
|
|
3673
|
+
updateType,
|
|
3674
|
+
affectedTaskIds,
|
|
3675
|
+
version,
|
|
3676
|
+
};
|
|
3677
|
+
|
|
3678
|
+
return createBaseEventPayload<DagUpdatedEventData>(
|
|
3679
|
+
DagEvents.DAG_UPDATED,
|
|
3680
|
+
agentId,
|
|
3681
|
+
channelId,
|
|
3682
|
+
data,
|
|
3683
|
+
options
|
|
3684
|
+
);
|
|
3685
|
+
}
|
|
3686
|
+
|
|
3687
|
+
/**
|
|
3688
|
+
* Creates a DAG Dependency Added event payload.
|
|
3689
|
+
* Emitted when a dependency is added to the DAG.
|
|
3690
|
+
*
|
|
3691
|
+
* @param channelId - The Channel ID context.
|
|
3692
|
+
* @param agentId - The Agent ID context (or 'system').
|
|
3693
|
+
* @param edgeId - The edge ID.
|
|
3694
|
+
* @param dependentTaskId - The dependent task.
|
|
3695
|
+
* @param dependencyTaskId - The dependency task.
|
|
3696
|
+
* @param label - Optional label for the dependency.
|
|
3697
|
+
* @param options - Optional base event payload options.
|
|
3698
|
+
* @returns A BaseEventPayload with DependencyAddedEventData.
|
|
3699
|
+
*/
|
|
3700
|
+
export function createDagDependencyAddedPayload(
|
|
3701
|
+
channelId: ChannelId,
|
|
3702
|
+
agentId: AgentId,
|
|
3703
|
+
edgeId: string,
|
|
3704
|
+
dependentTaskId: string,
|
|
3705
|
+
dependencyTaskId: string,
|
|
3706
|
+
label?: string,
|
|
3707
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
3708
|
+
): BaseEventPayload<DependencyAddedEventData> {
|
|
3709
|
+
const validator = createStrictValidator('createDagDependencyAddedPayload');
|
|
3710
|
+
validator.assertIsNonEmptyString(channelId, 'channelId is required');
|
|
3711
|
+
|
|
3712
|
+
const data: DependencyAddedEventData = {
|
|
3713
|
+
edgeId,
|
|
3714
|
+
dependentTaskId,
|
|
3715
|
+
dependencyTaskId,
|
|
3716
|
+
channelId,
|
|
3717
|
+
label,
|
|
3718
|
+
};
|
|
3719
|
+
|
|
3720
|
+
return createBaseEventPayload<DependencyAddedEventData>(
|
|
3721
|
+
DagEvents.DEPENDENCY_ADDED,
|
|
3722
|
+
agentId,
|
|
3723
|
+
channelId,
|
|
3724
|
+
data,
|
|
3725
|
+
options
|
|
3726
|
+
);
|
|
3727
|
+
}
|
|
3728
|
+
|
|
3729
|
+
/**
|
|
3730
|
+
* Creates a DAG Dependency Removed event payload.
|
|
3731
|
+
* Emitted when a dependency is removed from the DAG.
|
|
3732
|
+
*
|
|
3733
|
+
* @param channelId - The Channel ID context.
|
|
3734
|
+
* @param agentId - The Agent ID context (or 'system').
|
|
3735
|
+
* @param edgeId - The edge ID.
|
|
3736
|
+
* @param dependentTaskId - The dependent task.
|
|
3737
|
+
* @param dependencyTaskId - The dependency task.
|
|
3738
|
+
* @param options - Optional base event payload options.
|
|
3739
|
+
* @returns A BaseEventPayload with DependencyRemovedEventData.
|
|
3740
|
+
*/
|
|
3741
|
+
export function createDagDependencyRemovedPayload(
|
|
3742
|
+
channelId: ChannelId,
|
|
3743
|
+
agentId: AgentId,
|
|
3744
|
+
edgeId: string,
|
|
3745
|
+
dependentTaskId: string,
|
|
3746
|
+
dependencyTaskId: string,
|
|
3747
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
3748
|
+
): BaseEventPayload<DependencyRemovedEventData> {
|
|
3749
|
+
const validator = createStrictValidator('createDagDependencyRemovedPayload');
|
|
3750
|
+
validator.assertIsNonEmptyString(channelId, 'channelId is required');
|
|
3751
|
+
|
|
3752
|
+
const data: DependencyRemovedEventData = {
|
|
3753
|
+
edgeId,
|
|
3754
|
+
dependentTaskId,
|
|
3755
|
+
dependencyTaskId,
|
|
3756
|
+
channelId,
|
|
3757
|
+
};
|
|
3758
|
+
|
|
3759
|
+
return createBaseEventPayload<DependencyRemovedEventData>(
|
|
3760
|
+
DagEvents.DEPENDENCY_REMOVED,
|
|
3761
|
+
agentId,
|
|
3762
|
+
channelId,
|
|
3763
|
+
data,
|
|
3764
|
+
options
|
|
3765
|
+
);
|
|
3766
|
+
}
|
|
3767
|
+
|
|
3768
|
+
// ─── TensorFlow.js Event Payload Helpers ────────────────────────────────────
|
|
3769
|
+
|
|
3770
|
+
/**
|
|
3771
|
+
* Create a model registered event payload.
|
|
3772
|
+
*
|
|
3773
|
+
* @param channelId - Channel context (use 'system' for server-level events)
|
|
3774
|
+
* @param agentId - Agent context (use 'system' for server-level events)
|
|
3775
|
+
* @param modelId - The registered model ID
|
|
3776
|
+
* @param type - Model architecture type
|
|
3777
|
+
* @param inputShape - Model input shape
|
|
3778
|
+
* @param outputShape - Model output shape
|
|
3779
|
+
* @param options - Optional base event payload options
|
|
3780
|
+
* @returns A BaseEventPayload with ModelRegisteredEventData
|
|
3781
|
+
*/
|
|
3782
|
+
export function createTfModelRegisteredPayload(
|
|
3783
|
+
channelId: ChannelId,
|
|
3784
|
+
agentId: AgentId,
|
|
3785
|
+
modelId: string,
|
|
3786
|
+
type: string,
|
|
3787
|
+
inputShape: number[],
|
|
3788
|
+
outputShape: number[],
|
|
3789
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
3790
|
+
): BaseEventPayload<ModelRegisteredEventData> {
|
|
3791
|
+
const validator = createStrictValidator('createTfModelRegisteredPayload');
|
|
3792
|
+
validator.assertIsNonEmptyString(modelId, 'modelId is required');
|
|
3793
|
+
|
|
3794
|
+
const data: ModelRegisteredEventData = {
|
|
3795
|
+
modelId,
|
|
3796
|
+
type,
|
|
3797
|
+
inputShape,
|
|
3798
|
+
outputShape,
|
|
3799
|
+
};
|
|
3800
|
+
|
|
3801
|
+
return createBaseEventPayload<ModelRegisteredEventData>(
|
|
3802
|
+
TensorFlowEvents.MODEL_REGISTERED,
|
|
3803
|
+
agentId,
|
|
3804
|
+
channelId,
|
|
3805
|
+
data,
|
|
3806
|
+
options
|
|
3807
|
+
);
|
|
3808
|
+
}
|
|
3809
|
+
|
|
3810
|
+
/**
|
|
3811
|
+
* Create a model training started event payload.
|
|
3812
|
+
*
|
|
3813
|
+
* @param channelId - Channel context
|
|
3814
|
+
* @param agentId - Agent context
|
|
3815
|
+
* @param modelId - The model being trained
|
|
3816
|
+
* @param trainingSamples - Number of training samples
|
|
3817
|
+
* @param epochs - Number of training epochs
|
|
3818
|
+
* @param options - Optional base event payload options
|
|
3819
|
+
* @returns A BaseEventPayload with ModelTrainingStartedEventData
|
|
3820
|
+
*/
|
|
3821
|
+
export function createTfModelTrainingStartedPayload(
|
|
3822
|
+
channelId: ChannelId,
|
|
3823
|
+
agentId: AgentId,
|
|
3824
|
+
modelId: string,
|
|
3825
|
+
trainingSamples: number,
|
|
3826
|
+
epochs: number,
|
|
3827
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
3828
|
+
): BaseEventPayload<ModelTrainingStartedEventData> {
|
|
3829
|
+
const validator = createStrictValidator('createTfModelTrainingStartedPayload');
|
|
3830
|
+
validator.assertIsNonEmptyString(modelId, 'modelId is required');
|
|
3831
|
+
|
|
3832
|
+
const data: ModelTrainingStartedEventData = {
|
|
3833
|
+
modelId,
|
|
3834
|
+
trainingSamples,
|
|
3835
|
+
epochs,
|
|
3836
|
+
};
|
|
3837
|
+
|
|
3838
|
+
return createBaseEventPayload<ModelTrainingStartedEventData>(
|
|
3839
|
+
TensorFlowEvents.MODEL_TRAINING_STARTED,
|
|
3840
|
+
agentId,
|
|
3841
|
+
channelId,
|
|
3842
|
+
data,
|
|
3843
|
+
options
|
|
3844
|
+
);
|
|
3845
|
+
}
|
|
3846
|
+
|
|
3847
|
+
/**
|
|
3848
|
+
* Create a model training completed event payload.
|
|
3849
|
+
*
|
|
3850
|
+
* @param channelId - Channel context
|
|
3851
|
+
* @param agentId - Agent context
|
|
3852
|
+
* @param modelId - The model that completed training
|
|
3853
|
+
* @param loss - Final training loss
|
|
3854
|
+
* @param durationMs - Training duration in milliseconds
|
|
3855
|
+
* @param samplesUsed - Number of training samples used
|
|
3856
|
+
* @param extras - Optional valLoss and accuracy
|
|
3857
|
+
* @param options - Optional base event payload options
|
|
3858
|
+
* @returns A BaseEventPayload with ModelTrainingCompletedEventData
|
|
3859
|
+
*/
|
|
3860
|
+
export function createTfModelTrainingCompletedPayload(
|
|
3861
|
+
channelId: ChannelId,
|
|
3862
|
+
agentId: AgentId,
|
|
3863
|
+
modelId: string,
|
|
3864
|
+
loss: number,
|
|
3865
|
+
durationMs: number,
|
|
3866
|
+
samplesUsed: number,
|
|
3867
|
+
extras: { valLoss?: number; accuracy?: number } = {},
|
|
3868
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
3869
|
+
): BaseEventPayload<ModelTrainingCompletedEventData> {
|
|
3870
|
+
const validator = createStrictValidator('createTfModelTrainingCompletedPayload');
|
|
3871
|
+
validator.assertIsNonEmptyString(modelId, 'modelId is required');
|
|
3872
|
+
|
|
3873
|
+
const data: ModelTrainingCompletedEventData = {
|
|
3874
|
+
modelId,
|
|
3875
|
+
loss,
|
|
3876
|
+
valLoss: extras.valLoss,
|
|
3877
|
+
accuracy: extras.accuracy,
|
|
3878
|
+
durationMs,
|
|
3879
|
+
samplesUsed,
|
|
3880
|
+
};
|
|
3881
|
+
|
|
3882
|
+
return createBaseEventPayload<ModelTrainingCompletedEventData>(
|
|
3883
|
+
TensorFlowEvents.MODEL_TRAINING_COMPLETED,
|
|
3884
|
+
agentId,
|
|
3885
|
+
channelId,
|
|
3886
|
+
data,
|
|
3887
|
+
options
|
|
3888
|
+
);
|
|
3889
|
+
}
|
|
3890
|
+
|
|
3891
|
+
/**
|
|
3892
|
+
* Create a model training failed event payload.
|
|
3893
|
+
*
|
|
3894
|
+
* @param channelId - Channel context
|
|
3895
|
+
* @param agentId - Agent context
|
|
3896
|
+
* @param modelId - The model that failed training
|
|
3897
|
+
* @param error - Error message
|
|
3898
|
+
* @param trainingSamples - Number of training samples attempted
|
|
3899
|
+
* @param options - Optional base event payload options
|
|
3900
|
+
* @returns A BaseEventPayload with ModelTrainingFailedEventData
|
|
3901
|
+
*/
|
|
3902
|
+
export function createTfModelTrainingFailedPayload(
|
|
3903
|
+
channelId: ChannelId,
|
|
3904
|
+
agentId: AgentId,
|
|
3905
|
+
modelId: string,
|
|
3906
|
+
error: string,
|
|
3907
|
+
trainingSamples: number,
|
|
3908
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
3909
|
+
): BaseEventPayload<ModelTrainingFailedEventData> {
|
|
3910
|
+
const validator = createStrictValidator('createTfModelTrainingFailedPayload');
|
|
3911
|
+
validator.assertIsNonEmptyString(modelId, 'modelId is required');
|
|
3912
|
+
|
|
3913
|
+
const data: ModelTrainingFailedEventData = {
|
|
3914
|
+
modelId,
|
|
3915
|
+
error,
|
|
3916
|
+
trainingSamples,
|
|
3917
|
+
};
|
|
3918
|
+
|
|
3919
|
+
return createBaseEventPayload<ModelTrainingFailedEventData>(
|
|
3920
|
+
TensorFlowEvents.MODEL_TRAINING_FAILED,
|
|
3921
|
+
agentId,
|
|
3922
|
+
channelId,
|
|
3923
|
+
data,
|
|
3924
|
+
options
|
|
3925
|
+
);
|
|
3926
|
+
}
|
|
3927
|
+
|
|
3928
|
+
/**
|
|
3929
|
+
* Create a model loaded event payload.
|
|
3930
|
+
*
|
|
3931
|
+
* @param channelId - Channel context
|
|
3932
|
+
* @param agentId - Agent context
|
|
3933
|
+
* @param modelId - The loaded model ID
|
|
3934
|
+
* @param source - Storage source (e.g., 'gridfs://model_id' or 'file://path')
|
|
3935
|
+
* @param options - Optional base event payload options
|
|
3936
|
+
* @returns A BaseEventPayload with ModelLoadedEventData
|
|
3937
|
+
*/
|
|
3938
|
+
export function createTfModelLoadedPayload(
|
|
3939
|
+
channelId: ChannelId,
|
|
3940
|
+
agentId: AgentId,
|
|
3941
|
+
modelId: string,
|
|
3942
|
+
source: string,
|
|
3943
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
3944
|
+
): BaseEventPayload<ModelLoadedEventData> {
|
|
3945
|
+
const validator = createStrictValidator('createTfModelLoadedPayload');
|
|
3946
|
+
validator.assertIsNonEmptyString(modelId, 'modelId is required');
|
|
3947
|
+
|
|
3948
|
+
const data: ModelLoadedEventData = {
|
|
3949
|
+
modelId,
|
|
3950
|
+
source,
|
|
3951
|
+
};
|
|
3952
|
+
|
|
3953
|
+
return createBaseEventPayload<ModelLoadedEventData>(
|
|
3954
|
+
TensorFlowEvents.MODEL_LOADED,
|
|
3955
|
+
agentId,
|
|
3956
|
+
channelId,
|
|
3957
|
+
data,
|
|
3958
|
+
options
|
|
3959
|
+
);
|
|
3960
|
+
}
|
|
3961
|
+
|
|
3962
|
+
/**
|
|
3963
|
+
* Create a model saved event payload.
|
|
3964
|
+
*
|
|
3965
|
+
* @param channelId - Channel context
|
|
3966
|
+
* @param agentId - Agent context
|
|
3967
|
+
* @param modelId - The saved model ID
|
|
3968
|
+
* @param destination - Storage destination
|
|
3969
|
+
* @param sizeBytes - Optional model size in bytes
|
|
3970
|
+
* @param options - Optional base event payload options
|
|
3971
|
+
* @returns A BaseEventPayload with ModelSavedEventData
|
|
3972
|
+
*/
|
|
3973
|
+
export function createTfModelSavedPayload(
|
|
3974
|
+
channelId: ChannelId,
|
|
3975
|
+
agentId: AgentId,
|
|
3976
|
+
modelId: string,
|
|
3977
|
+
destination: string,
|
|
3978
|
+
sizeBytes?: number,
|
|
3979
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
3980
|
+
): BaseEventPayload<ModelSavedEventData> {
|
|
3981
|
+
const validator = createStrictValidator('createTfModelSavedPayload');
|
|
3982
|
+
validator.assertIsNonEmptyString(modelId, 'modelId is required');
|
|
3983
|
+
|
|
3984
|
+
const data: ModelSavedEventData = {
|
|
3985
|
+
modelId,
|
|
3986
|
+
destination,
|
|
3987
|
+
sizeBytes,
|
|
3988
|
+
};
|
|
3989
|
+
|
|
3990
|
+
return createBaseEventPayload<ModelSavedEventData>(
|
|
3991
|
+
TensorFlowEvents.MODEL_SAVED,
|
|
3992
|
+
agentId,
|
|
3993
|
+
channelId,
|
|
3994
|
+
data,
|
|
3995
|
+
options
|
|
3996
|
+
);
|
|
3997
|
+
}
|
|
3998
|
+
|
|
3999
|
+
/**
|
|
4000
|
+
* Create an inference completed event payload.
|
|
4001
|
+
*
|
|
4002
|
+
* @param channelId - Channel context
|
|
4003
|
+
* @param agentId - Agent context
|
|
4004
|
+
* @param modelId - The model used for inference
|
|
4005
|
+
* @param latencyMs - Inference latency in milliseconds
|
|
4006
|
+
* @param inferenceSource - Whether result came from 'model' or 'heuristic'
|
|
4007
|
+
* @param options - Optional base event payload options
|
|
4008
|
+
* @returns A BaseEventPayload with InferenceCompletedEventData
|
|
4009
|
+
*/
|
|
4010
|
+
export function createTfInferenceCompletedPayload(
|
|
4011
|
+
channelId: ChannelId,
|
|
4012
|
+
agentId: AgentId,
|
|
4013
|
+
modelId: string,
|
|
4014
|
+
latencyMs: number,
|
|
4015
|
+
inferenceSource: 'model' | 'heuristic',
|
|
4016
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
4017
|
+
): BaseEventPayload<InferenceCompletedEventData> {
|
|
4018
|
+
const validator = createStrictValidator('createTfInferenceCompletedPayload');
|
|
4019
|
+
validator.assertIsNonEmptyString(modelId, 'modelId is required');
|
|
4020
|
+
|
|
4021
|
+
const data: InferenceCompletedEventData = {
|
|
4022
|
+
modelId,
|
|
4023
|
+
latencyMs,
|
|
4024
|
+
source: inferenceSource,
|
|
4025
|
+
};
|
|
4026
|
+
|
|
4027
|
+
return createBaseEventPayload<InferenceCompletedEventData>(
|
|
4028
|
+
TensorFlowEvents.INFERENCE_COMPLETED,
|
|
4029
|
+
agentId,
|
|
4030
|
+
channelId,
|
|
4031
|
+
data,
|
|
4032
|
+
options
|
|
4033
|
+
);
|
|
4034
|
+
}
|
|
4035
|
+
|
|
4036
|
+
/**
|
|
4037
|
+
* Create an inference fallback event payload.
|
|
4038
|
+
*
|
|
4039
|
+
* @param channelId - Channel context
|
|
4040
|
+
* @param agentId - Agent context
|
|
4041
|
+
* @param modelId - The model that was unavailable
|
|
4042
|
+
* @param reason - Why the fallback was used
|
|
4043
|
+
* @param error - Optional error message
|
|
4044
|
+
* @param options - Optional base event payload options
|
|
4045
|
+
* @returns A BaseEventPayload with InferenceFallbackEventData
|
|
4046
|
+
*/
|
|
4047
|
+
export function createTfInferenceFallbackPayload(
|
|
4048
|
+
channelId: ChannelId,
|
|
4049
|
+
agentId: AgentId,
|
|
4050
|
+
modelId: string,
|
|
4051
|
+
reason: 'disabled' | 'untrained' | 'error',
|
|
4052
|
+
error?: string,
|
|
4053
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
4054
|
+
): BaseEventPayload<InferenceFallbackEventData> {
|
|
4055
|
+
const validator = createStrictValidator('createTfInferenceFallbackPayload');
|
|
4056
|
+
validator.assertIsNonEmptyString(modelId, 'modelId is required');
|
|
4057
|
+
|
|
4058
|
+
const data: InferenceFallbackEventData = {
|
|
4059
|
+
modelId,
|
|
4060
|
+
reason,
|
|
4061
|
+
error,
|
|
4062
|
+
};
|
|
4063
|
+
|
|
4064
|
+
return createBaseEventPayload<InferenceFallbackEventData>(
|
|
4065
|
+
TensorFlowEvents.INFERENCE_FALLBACK,
|
|
4066
|
+
agentId,
|
|
4067
|
+
channelId,
|
|
4068
|
+
data,
|
|
4069
|
+
options
|
|
4070
|
+
);
|
|
4071
|
+
}
|
|
4072
|
+
|
|
4073
|
+
/**
|
|
4074
|
+
* Create a memory warning event payload.
|
|
4075
|
+
*
|
|
4076
|
+
* @param channelId - Channel context
|
|
4077
|
+
* @param agentId - Agent context
|
|
4078
|
+
* @param numTensors - Number of tensors currently allocated
|
|
4079
|
+
* @param numBytes - Total bytes used
|
|
4080
|
+
* @param maxBytes - Configured memory threshold
|
|
4081
|
+
* @param utilizationPercent - Memory utilization percentage
|
|
4082
|
+
* @param options - Optional base event payload options
|
|
4083
|
+
* @returns A BaseEventPayload with MemoryWarningEventData
|
|
4084
|
+
*/
|
|
4085
|
+
export function createTfMemoryWarningPayload(
|
|
4086
|
+
channelId: ChannelId,
|
|
4087
|
+
agentId: AgentId,
|
|
4088
|
+
numTensors: number,
|
|
4089
|
+
numBytes: number,
|
|
4090
|
+
maxBytes: number,
|
|
4091
|
+
utilizationPercent: number,
|
|
4092
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
4093
|
+
): BaseEventPayload<MemoryWarningEventData> {
|
|
4094
|
+
const data: MemoryWarningEventData = {
|
|
4095
|
+
numTensors,
|
|
4096
|
+
numBytes,
|
|
4097
|
+
maxBytes,
|
|
4098
|
+
utilizationPercent,
|
|
4099
|
+
};
|
|
4100
|
+
|
|
4101
|
+
return createBaseEventPayload<MemoryWarningEventData>(
|
|
4102
|
+
TensorFlowEvents.MEMORY_WARNING,
|
|
4103
|
+
agentId,
|
|
4104
|
+
channelId,
|
|
4105
|
+
data,
|
|
4106
|
+
options
|
|
4107
|
+
);
|
|
4108
|
+
}
|
|
4109
|
+
|
|
4110
|
+
/**
|
|
4111
|
+
* Create a memory stats event payload.
|
|
4112
|
+
*
|
|
4113
|
+
* @param channelId - Channel context
|
|
4114
|
+
* @param agentId - Agent context
|
|
4115
|
+
* @param numTensors - Number of tensors
|
|
4116
|
+
* @param numDataBuffers - Number of data buffers
|
|
4117
|
+
* @param numBytes - Total bytes used
|
|
4118
|
+
* @param timestamp - When stats were collected
|
|
4119
|
+
* @param options - Optional base event payload options
|
|
4120
|
+
* @returns A BaseEventPayload with MemoryStatsEventData
|
|
4121
|
+
*/
|
|
4122
|
+
export function createTfMemoryStatsPayload(
|
|
4123
|
+
channelId: ChannelId,
|
|
4124
|
+
agentId: AgentId,
|
|
4125
|
+
numTensors: number,
|
|
4126
|
+
numDataBuffers: number,
|
|
4127
|
+
numBytes: number,
|
|
4128
|
+
timestamp: number,
|
|
4129
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
4130
|
+
): BaseEventPayload<MemoryStatsEventData> {
|
|
4131
|
+
const data: MemoryStatsEventData = {
|
|
4132
|
+
numTensors,
|
|
4133
|
+
numDataBuffers,
|
|
4134
|
+
numBytes,
|
|
4135
|
+
timestamp,
|
|
4136
|
+
};
|
|
4137
|
+
|
|
4138
|
+
return createBaseEventPayload<MemoryStatsEventData>(
|
|
4139
|
+
TensorFlowEvents.MEMORY_STATS,
|
|
4140
|
+
agentId,
|
|
4141
|
+
channelId,
|
|
4142
|
+
data,
|
|
4143
|
+
options
|
|
4144
|
+
);
|
|
4145
|
+
}
|
|
4146
|
+
|
|
4147
|
+
// --- User Input Event Data & Helpers ---
|
|
4148
|
+
|
|
4149
|
+
/**
|
|
4150
|
+
* Payload type for user input request events (server → client)
|
|
4151
|
+
*/
|
|
4152
|
+
export type UserInputRequestEventPayload = BaseEventPayload<UserInputRequestData>;
|
|
4153
|
+
|
|
4154
|
+
/**
|
|
4155
|
+
* Payload type for user input response events (client → server)
|
|
4156
|
+
*/
|
|
4157
|
+
export type UserInputResponseEventPayload = BaseEventPayload<UserInputResponseData>;
|
|
4158
|
+
|
|
4159
|
+
/**
|
|
4160
|
+
* Payload type for user input cancelled events (server → client)
|
|
4161
|
+
*/
|
|
4162
|
+
export type UserInputCancelledEventPayload = BaseEventPayload<UserInputCancelledData>;
|
|
4163
|
+
|
|
4164
|
+
/**
|
|
4165
|
+
* Payload type for user input timeout events (server → client)
|
|
4166
|
+
*/
|
|
4167
|
+
export type UserInputTimeoutEventPayload = BaseEventPayload<UserInputTimeoutData>;
|
|
4168
|
+
|
|
4169
|
+
/**
|
|
4170
|
+
* Creates a UserInputRequestEventPayload for prompting a user for input.
|
|
4171
|
+
*
|
|
4172
|
+
* @param agentId - Agent that initiated the request
|
|
4173
|
+
* @param channelId - Channel context for the request
|
|
4174
|
+
* @param requestData - The full user input request definition
|
|
4175
|
+
* @param options - Optional base event payload options
|
|
4176
|
+
* @returns A UserInputRequestEventPayload
|
|
4177
|
+
*/
|
|
4178
|
+
export function createUserInputRequestPayload(
|
|
4179
|
+
agentId: AgentId,
|
|
4180
|
+
channelId: ChannelId,
|
|
4181
|
+
requestData: UserInputRequestData,
|
|
4182
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
4183
|
+
): UserInputRequestEventPayload {
|
|
4184
|
+
const validator = createStrictValidator('UserInputRequestPayload');
|
|
4185
|
+
validator.assertIsNonEmptyString(requestData.requestId, 'requestId is required');
|
|
4186
|
+
validator.assertIsNonEmptyString(requestData.title, 'title is required');
|
|
4187
|
+
validator.assertIsNonEmptyString(requestData.inputType, 'inputType is required');
|
|
4188
|
+
|
|
4189
|
+
return createBaseEventPayload<UserInputRequestData>(
|
|
4190
|
+
UserInputEvents.REQUEST,
|
|
4191
|
+
agentId,
|
|
4192
|
+
channelId,
|
|
4193
|
+
requestData,
|
|
4194
|
+
options
|
|
4195
|
+
);
|
|
4196
|
+
}
|
|
4197
|
+
|
|
4198
|
+
/**
|
|
4199
|
+
* Creates a UserInputResponseEventPayload for a user's response to an input request.
|
|
4200
|
+
*
|
|
4201
|
+
* @param agentId - Agent context for the response
|
|
4202
|
+
* @param channelId - Channel context for the response
|
|
4203
|
+
* @param responseData - The user's response data
|
|
4204
|
+
* @param options - Optional base event payload options
|
|
4205
|
+
* @returns A UserInputResponseEventPayload
|
|
4206
|
+
*/
|
|
4207
|
+
export function createUserInputResponsePayload(
|
|
4208
|
+
agentId: AgentId,
|
|
4209
|
+
channelId: ChannelId,
|
|
4210
|
+
responseData: UserInputResponseData,
|
|
4211
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
4212
|
+
): UserInputResponseEventPayload {
|
|
4213
|
+
const validator = createStrictValidator('UserInputResponsePayload');
|
|
4214
|
+
validator.assertIsNonEmptyString(responseData.requestId, 'requestId is required');
|
|
4215
|
+
|
|
4216
|
+
return createBaseEventPayload<UserInputResponseData>(
|
|
4217
|
+
UserInputEvents.RESPONSE,
|
|
4218
|
+
agentId,
|
|
4219
|
+
channelId,
|
|
4220
|
+
responseData,
|
|
4221
|
+
options
|
|
4222
|
+
);
|
|
4223
|
+
}
|
|
4224
|
+
|
|
4225
|
+
/**
|
|
4226
|
+
* Creates a UserInputCancelledEventPayload for notifying clients that a request was cancelled.
|
|
4227
|
+
*
|
|
4228
|
+
* @param agentId - Agent that initiated the original request
|
|
4229
|
+
* @param channelId - Channel context for the request
|
|
4230
|
+
* @param cancelledData - The cancellation details
|
|
4231
|
+
* @param options - Optional base event payload options
|
|
4232
|
+
* @returns A UserInputCancelledEventPayload
|
|
4233
|
+
*/
|
|
4234
|
+
export function createUserInputCancelledPayload(
|
|
4235
|
+
agentId: AgentId,
|
|
4236
|
+
channelId: ChannelId | string,
|
|
4237
|
+
cancelledData: UserInputCancelledData,
|
|
4238
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
4239
|
+
): UserInputCancelledEventPayload {
|
|
4240
|
+
const validator = createStrictValidator('UserInputCancelledPayload');
|
|
4241
|
+
validator.assertIsNonEmptyString(cancelledData.requestId, 'requestId is required');
|
|
4242
|
+
validator.assertIsNonEmptyString(cancelledData.reason, 'reason is required');
|
|
4243
|
+
|
|
4244
|
+
return createBaseEventPayload<UserInputCancelledData>(
|
|
4245
|
+
UserInputEvents.CANCELLED,
|
|
4246
|
+
agentId,
|
|
4247
|
+
channelId as ChannelId,
|
|
4248
|
+
cancelledData,
|
|
4249
|
+
options
|
|
4250
|
+
);
|
|
4251
|
+
}
|
|
4252
|
+
|
|
4253
|
+
/**
|
|
4254
|
+
* Creates a UserInputTimeoutEventPayload for notifying clients that a request timed out.
|
|
4255
|
+
*
|
|
4256
|
+
* @param agentId - Agent that initiated the original request
|
|
4257
|
+
* @param channelId - Channel context for the request
|
|
4258
|
+
* @param timeoutData - The timeout details
|
|
4259
|
+
* @param options - Optional base event payload options
|
|
4260
|
+
* @returns A UserInputTimeoutEventPayload
|
|
4261
|
+
*/
|
|
4262
|
+
export function createUserInputTimeoutPayload(
|
|
4263
|
+
agentId: AgentId,
|
|
4264
|
+
channelId: ChannelId | string,
|
|
4265
|
+
timeoutData: UserInputTimeoutData,
|
|
4266
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
4267
|
+
): UserInputTimeoutEventPayload {
|
|
4268
|
+
const validator = createStrictValidator('UserInputTimeoutPayload');
|
|
4269
|
+
validator.assertIsNonEmptyString(timeoutData.requestId, 'requestId is required');
|
|
4270
|
+
|
|
4271
|
+
return createBaseEventPayload<UserInputTimeoutData>(
|
|
4272
|
+
UserInputEvents.TIMEOUT,
|
|
4273
|
+
agentId,
|
|
4274
|
+
channelId as ChannelId,
|
|
4275
|
+
timeoutData,
|
|
4276
|
+
options
|
|
4277
|
+
);
|
|
4278
|
+
}
|
|
4279
|
+
|
|
4280
|
+
|
|
4281
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
4282
|
+
// Compaction Event Payload Types & Helpers
|
|
4283
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
4284
|
+
|
|
4285
|
+
/** Payload type for microcompaction applied events */
|
|
4286
|
+
export type MicrocompactionAppliedEventPayload = BaseEventPayload<MicrocompactionAppliedPayload>;
|
|
4287
|
+
|
|
4288
|
+
/** Payload type for auto-compaction triggered events */
|
|
4289
|
+
export type AutoCompactionTriggeredEventPayload = BaseEventPayload<AutoCompactionTriggeredPayload>;
|
|
4290
|
+
|
|
4291
|
+
/** Payload type for reactive compaction triggered events */
|
|
4292
|
+
export type ReactiveCompactionTriggeredEventPayload = BaseEventPayload<ReactiveCompactionTriggeredPayload>;
|
|
4293
|
+
|
|
4294
|
+
/** Payload type for post-compaction restoration completed events */
|
|
4295
|
+
export type PostCompactionRestoredEventPayload = BaseEventPayload<PostCompactionRestoredPayload>;
|
|
4296
|
+
|
|
4297
|
+
/** Payload type for compaction summary generated events */
|
|
4298
|
+
export type CompactionSummaryGeneratedEventPayload = BaseEventPayload<CompactionSummaryGeneratedPayload>;
|
|
4299
|
+
|
|
4300
|
+
/**
|
|
4301
|
+
* Creates a MicrocompactionAppliedEventPayload for tool result stripping events.
|
|
4302
|
+
*
|
|
4303
|
+
* @param agentId - Agent whose context was microcompacted
|
|
4304
|
+
* @param channelId - Channel context
|
|
4305
|
+
* @param data - Microcompaction details (tool results stripped, tokens removed)
|
|
4306
|
+
* @param options - Optional base event payload options
|
|
4307
|
+
* @returns A MicrocompactionAppliedEventPayload
|
|
4308
|
+
*/
|
|
4309
|
+
export function createMicrocompactionAppliedPayload(
|
|
4310
|
+
agentId: AgentId,
|
|
4311
|
+
channelId: ChannelId,
|
|
4312
|
+
data: Omit<MicrocompactionAppliedPayload, 'eventType' | 'agentId' | 'channelId' | 'timestamp'>,
|
|
4313
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
4314
|
+
): MicrocompactionAppliedEventPayload {
|
|
4315
|
+
return createBaseEventPayload<MicrocompactionAppliedPayload>(
|
|
4316
|
+
CompactionEvents.MICROCOMPACTION_APPLIED,
|
|
4317
|
+
agentId,
|
|
4318
|
+
channelId,
|
|
4319
|
+
{
|
|
4320
|
+
eventType: CompactionEvents.MICROCOMPACTION_APPLIED,
|
|
4321
|
+
agentId,
|
|
4322
|
+
channelId,
|
|
4323
|
+
timestamp: options.timestamp || Date.now(),
|
|
4324
|
+
...data,
|
|
4325
|
+
},
|
|
4326
|
+
options
|
|
4327
|
+
);
|
|
4328
|
+
}
|
|
4329
|
+
|
|
4330
|
+
/**
|
|
4331
|
+
* Creates an AutoCompactionTriggeredEventPayload for threshold-based compaction events.
|
|
4332
|
+
*
|
|
4333
|
+
* @param agentId - Agent whose context was compacted
|
|
4334
|
+
* @param channelId - Channel context
|
|
4335
|
+
* @param data - Auto-compaction details (usage percent, message/token counts)
|
|
4336
|
+
* @param options - Optional base event payload options
|
|
4337
|
+
* @returns An AutoCompactionTriggeredEventPayload
|
|
4338
|
+
*/
|
|
4339
|
+
export function createAutoCompactionTriggeredPayload(
|
|
4340
|
+
agentId: AgentId,
|
|
4341
|
+
channelId: ChannelId,
|
|
4342
|
+
data: Omit<AutoCompactionTriggeredPayload, 'eventType' | 'agentId' | 'channelId' | 'timestamp'>,
|
|
4343
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
4344
|
+
): AutoCompactionTriggeredEventPayload {
|
|
4345
|
+
return createBaseEventPayload<AutoCompactionTriggeredPayload>(
|
|
4346
|
+
CompactionEvents.AUTO_COMPACTION_TRIGGERED,
|
|
4347
|
+
agentId,
|
|
4348
|
+
channelId,
|
|
4349
|
+
{
|
|
4350
|
+
eventType: CompactionEvents.AUTO_COMPACTION_TRIGGERED,
|
|
4351
|
+
agentId,
|
|
4352
|
+
channelId,
|
|
4353
|
+
timestamp: options.timestamp || Date.now(),
|
|
4354
|
+
...data,
|
|
4355
|
+
},
|
|
4356
|
+
options
|
|
4357
|
+
);
|
|
4358
|
+
}
|
|
4359
|
+
|
|
4360
|
+
/**
|
|
4361
|
+
* Creates a ReactiveCompactionTriggeredEventPayload for 413 error recovery events.
|
|
4362
|
+
*
|
|
4363
|
+
* @param agentId - Agent whose context overflowed
|
|
4364
|
+
* @param channelId - Channel context
|
|
4365
|
+
* @param data - Reactive compaction details (status code, strategy, token counts)
|
|
4366
|
+
* @param options - Optional base event payload options
|
|
4367
|
+
* @returns A ReactiveCompactionTriggeredEventPayload
|
|
4368
|
+
*/
|
|
4369
|
+
export function createReactiveCompactionTriggeredPayload(
|
|
4370
|
+
agentId: AgentId,
|
|
4371
|
+
channelId: ChannelId,
|
|
4372
|
+
data: Omit<ReactiveCompactionTriggeredPayload, 'eventType' | 'agentId' | 'channelId' | 'timestamp'>,
|
|
4373
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
4374
|
+
): ReactiveCompactionTriggeredEventPayload {
|
|
4375
|
+
return createBaseEventPayload<ReactiveCompactionTriggeredPayload>(
|
|
4376
|
+
CompactionEvents.REACTIVE_COMPACTION_TRIGGERED,
|
|
4377
|
+
agentId,
|
|
4378
|
+
channelId,
|
|
4379
|
+
{
|
|
4380
|
+
eventType: CompactionEvents.REACTIVE_COMPACTION_TRIGGERED,
|
|
4381
|
+
agentId,
|
|
4382
|
+
channelId,
|
|
4383
|
+
timestamp: options.timestamp || Date.now(),
|
|
4384
|
+
...data,
|
|
4385
|
+
},
|
|
4386
|
+
options
|
|
4387
|
+
);
|
|
4388
|
+
}
|
|
4389
|
+
|
|
4390
|
+
/**
|
|
4391
|
+
* Creates a PostCompactionRestoredEventPayload for artifact restoration events.
|
|
4392
|
+
*
|
|
4393
|
+
* @param agentId - Agent whose context was restored
|
|
4394
|
+
* @param channelId - Channel context
|
|
4395
|
+
* @param data - Restoration details (artifact count, names, tokens added)
|
|
4396
|
+
* @param options - Optional base event payload options
|
|
4397
|
+
* @returns A PostCompactionRestoredEventPayload
|
|
4398
|
+
*/
|
|
4399
|
+
export function createPostCompactionRestoredPayload(
|
|
4400
|
+
agentId: AgentId,
|
|
4401
|
+
channelId: ChannelId,
|
|
4402
|
+
data: Omit<PostCompactionRestoredPayload, 'eventType' | 'agentId' | 'channelId' | 'timestamp'>,
|
|
4403
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
4404
|
+
): PostCompactionRestoredEventPayload {
|
|
4405
|
+
return createBaseEventPayload<PostCompactionRestoredPayload>(
|
|
4406
|
+
CompactionEvents.POST_COMPACTION_RESTORED,
|
|
4407
|
+
agentId,
|
|
4408
|
+
channelId,
|
|
4409
|
+
{
|
|
4410
|
+
eventType: CompactionEvents.POST_COMPACTION_RESTORED,
|
|
4411
|
+
agentId,
|
|
4412
|
+
channelId,
|
|
4413
|
+
timestamp: options.timestamp || Date.now(),
|
|
4414
|
+
...data,
|
|
4415
|
+
},
|
|
4416
|
+
options
|
|
4417
|
+
);
|
|
4418
|
+
}
|
|
4419
|
+
|
|
4420
|
+
/**
|
|
4421
|
+
* Creates a CompactionSummaryGeneratedEventPayload for summary generation events.
|
|
4422
|
+
*
|
|
4423
|
+
* @param agentId - Agent whose context was summarized
|
|
4424
|
+
* @param channelId - Channel context
|
|
4425
|
+
* @param data - Summary details (method, messages summarized, sections, tokens)
|
|
4426
|
+
* @param options - Optional base event payload options
|
|
4427
|
+
* @returns A CompactionSummaryGeneratedEventPayload
|
|
4428
|
+
*/
|
|
4429
|
+
export function createCompactionSummaryGeneratedPayload(
|
|
4430
|
+
agentId: AgentId,
|
|
4431
|
+
channelId: ChannelId,
|
|
4432
|
+
data: Omit<CompactionSummaryGeneratedPayload, 'eventType' | 'agentId' | 'channelId' | 'timestamp'>,
|
|
4433
|
+
options: { source?: string; eventId?: string; timestamp?: number; } = {}
|
|
4434
|
+
): CompactionSummaryGeneratedEventPayload {
|
|
4435
|
+
return createBaseEventPayload<CompactionSummaryGeneratedPayload>(
|
|
4436
|
+
CompactionEvents.COMPACTION_SUMMARY_GENERATED,
|
|
4437
|
+
agentId,
|
|
4438
|
+
channelId,
|
|
4439
|
+
{
|
|
4440
|
+
eventType: CompactionEvents.COMPACTION_SUMMARY_GENERATED,
|
|
4441
|
+
agentId,
|
|
4442
|
+
channelId,
|
|
4443
|
+
timestamp: options.timestamp || Date.now(),
|
|
4444
|
+
...data,
|
|
4445
|
+
},
|
|
4446
|
+
options
|
|
4447
|
+
);
|
|
4448
|
+
}
|