Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Why are these changes needed?
Right now registering a new auto reply method is not entirely modular. We can register a new auto reply method but that method may require some state initialization in the constructor. That makes the effort of adding an auto reply method not a single operation. Ideally we should be able to use a single operation to register an auto reply method.
This PR enables that. One example is that we can give any ResponsiveAgent the ability to manage a group chat now, without needing to inherit the GroupChatManager class.
The change in this PR makes it easy to plug different capabilities into an agent without inheriting. It also explicitly separates the context needed for each auto reply method.
Big thanks to @ekzhu @LittleLittleCloud @BeibinLi for their inspiration.
Related issue number
#1176 and #1158 will be affected by this PR.
Checks