camel icon indicating copy to clipboard operation
camel copied to clipboard

Strict inheritance for all agents

Open Obs01ete opened this issue 1 year ago • 1 comments

Description

Kept disjoint inheritance trees starting from Base Agent, BaseToolAgent and BaseCritic.

Motivation and Context

Signatures of the overridden methods must be preserved precisely (in Liskov meaning). This will allow further use of agents in polymorphic setting.

Issue #163

This is a list of rules of overriding for python: https://rules.sonarsource.com/python/RSPEC-2638/

Strict override checks are made with the override decorator: https://pypi.org/project/overrides/

Types of changes

  • [x] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

Go over all the following points, and put an x in all the boxes that apply. If you are unsure about any of these, don't hesitate to ask. We are here to help!

  • [x] I have read the CONTRIBUTION guide. (required)
  • [x] My change requires a change to the documentation.
  • [x] I have updated the tests accordingly. (required for a bug fix or a new feature)
  • [ ] I have updated the documentation accordingly.

Obs01ete avatar Jul 03 '23 13:07 Obs01ete