-
-
Notifications
You must be signed in to change notification settings - Fork 608
Add message queue and rule actions #1285
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
…atures/add-message-queue-2
…atures/add-message-queue-2
…atures/add-message-queue-2
…atures/add-message-queue-2
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
||||||||||||||||||||||||||
PR Code Suggestions ✨Explore these optional code suggestions:
|
||||||||||||||||||||
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
||||||||||||||||||||||||||
PR Code Suggestions ✨Latest suggestions up to 2db1aa3
Previous suggestionsSuggestions up to commit 77c2adb
|
||||||||||||||||||||||||||||||||||||||||||
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
|||||||||||||||||||||||||||
|
Persistent suggestions updated to latest commit 2db1aa3 |
PR Code Suggestions ✨Explore these optional code suggestions:
|
||||||||||||||||||||||||
PR Type
Enhancement, Tests
Description
Refactored rule system with separate criteria and action execution
Added message queue abstraction with RabbitMQ implementation
Implemented four rule action types: chat, HTTP, function call, message queue
Added rule trigger hooks for pre/post execution lifecycle events
Created code script criteria provider for rule validation
Added utility methods for safe dictionary value extraction with JSON support
Diagram Walkthrough
File Walkthrough
39 files
Restructured rule model with criteria and actionsAbstract interface for message queue consumersMessage queue service interface with publish/subscribeBase class for MQ consumer implementationsGeneric message wrapper with metadataPublishing options for message queue operationsHook interface for rule execution lifecycleRule action interface with execution contractRule criteria validation interfaceContext data for rule action executionResult model for rule action executionContext data for rule criteria validationResult model for rule criteria validationConfiguration options for criteria executionSimplified trigger options with agent filterAdded safe dictionary value extraction methodsAPI endpoint for triggering rule actionsRefactored engine with criteria and action separationPayload model for rule-triggered messagesRequest model for rule action APIChat action implementation for rule engineFunction call action implementationHTTP request action with URL and header supportMessage queue publishing action implementationCode script-based criteria validation providerPlugin registration for rule actions and criteriaPlugin for message queue configurationAPI endpoints for criteria providers and actionsUpdated MongoDB models for new rule structureOptimized state filtering with combined conditionsChannel pooling for RabbitMQ connectionsFactory for managing RabbitMQ channel poolsRabbitMQ connection management with retry logicAPI endpoints for message queue operationsInterface for RabbitMQ connection managementRequest/response models for message publishingPayload model for scheduled messagesRequest model for consumer unsubscriptionRabbitMQ service implementation with publish/subscribe10 files
Configuration settings for message queueConstants for default criteria and action namesGlobal using statements for rules infrastructureConfiguration for RabbitMQ consumer setupConfiguration settings for RabbitMQ connectionGlobal using statements for RabbitMQ pluginNew RabbitMQ plugin project fileAdded RabbitMQ plugin to solutionAdded RabbitMQ plugin project referenceAdded message queue and RabbitMQ configuration1 files
Fixed error message to use provider name2 files
Dummy consumer for testing message handlingConsumer for scheduled message processing1 files
Added RabbitMQ.Client package dependency1 files