ripple-down-rules 0.6.31__tar.gz → 0.6.40__tar.gz
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.
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/PKG-INFO +1 -1
- ripple_down_rules-0.6.40/src/ripple_down_rules/__init__.py +5 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/src/ripple_down_rules/datastructures/callable_expression.py +4 -1
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/src/ripple_down_rules/rdr.py +498 -58
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/src/ripple_down_rules/rules.py +4 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/src/ripple_down_rules/utils.py +36 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/src/ripple_down_rules.egg-info/PKG-INFO +1 -1
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_rdr.py +76 -2
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_results/datasets_physical_object_is_a_robot/physical_object_is_a_robot_output__scrdr.py +4 -1
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_results/datasets_physical_object_is_a_robot/physical_object_is_a_robot_rdr.py +4 -1
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_results/datasets_physical_object_is_a_robot/rdr_metadata/datasets_physical_object_is_a_robot.json +1 -10
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_results/datasets_physical_object_select_objects_that_are_parts_of_robot/physical_object_select_objects_that_are_parts_of_robot_output__mcrdr.py +6 -3
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_results/datasets_physical_object_select_objects_that_are_parts_of_robot/physical_object_select_objects_that_are_parts_of_robot_rdr.py +4 -1
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_results/datasets_physical_object_select_objects_that_are_parts_of_robot/rdr_metadata/datasets_physical_object_select_objects_that_are_parts_of_robot.json +6 -14
- ripple_down_rules-0.6.31/src/ripple_down_rules/__init__.py +0 -5
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/.github/workflows/build_and_deploy_doc.yml +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/.github/workflows/ci.yml +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/.github/workflows/publish-to-test-pypi.yml +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/.gitignore +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/.idea/shelf/Uncommitted_changes_before_Checkout_at_2_4_25,_6_32_PM_[Changes]/shelved.patch +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/.idea/shelf/Uncommitted_changes_before_Checkout_at_2_4_25,_6_32_PM_[Changes]1/shelved.patch +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/LICENSE +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/README.md +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/doc/_config.yml +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/doc/_toc.yml +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/doc/bibliography.md +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/doc/intro.md +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/doc/references.bib +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/doc/requirements.txt +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/examples/__init__.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/examples/animal_species.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/examples/part_containment_rdr/__init__.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/examples/part_containment_rdr/rdr_metadata/part_containment_rdr.json +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/examples/part_containment_rdr/robot_contained_objects_mcrdr.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/examples/part_containment_rdr/robot_contained_objects_mcrdr_defs.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/examples/part_containment_rdr/robot_rdr.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/examples/relational_example.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/images/scrdr.dot +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/images/scrdr.png +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/images/thinking_pr2.jpg +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/pyproject.toml +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/pytest.ini +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/requirements-dev-ci.txt +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/requirements-dev.txt +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/requirements-gui.txt +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/requirements-viz.txt +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/requirements.txt +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/results/complete_mcrdr_extra.dot +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/results/complete_mcrdr_extra.png +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/results/complete_mcrdr_stop_only.dot +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/results/complete_mcrdr_stop_only.png +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/results/complete_mcrdr_stop_plus_rule.dot +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/results/complete_mcrdr_stop_plus_rule.png +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/results/complete_scrdr.dot +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/results/complete_scrdr.png +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/results/complete_scrdr_2.dot +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/results/complete_scrdr_2.png +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/results/complete_scrdr_3.dot +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/results/complete_scrdr_3.png +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/results/grdr_Habitat.dot +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/results/grdr_Habitat.png +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/results/grdr_Species.dot +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/results/grdr_Species.png +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/results/mcrdr_extra.dot +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/results/mcrdr_extra.png +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/results/mcrdr_extra_classify.dot +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/results/mcrdr_extra_classify.png +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/results/mcrdr_stop_plus_rule_combined.dot +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/results/mcrdr_stop_plus_rule_combined.png +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/results/partial_mcrdr_extra.dot +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/results/partial_mcrdr_extra.png +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/results/relational_scrdr_classify.dot +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/results/relational_scrdr_classify.png +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/scripts/live_dot_server_client.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/setup.cfg +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/src/ripple_down_rules/datastructures/__init__.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/src/ripple_down_rules/datastructures/case.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/src/ripple_down_rules/datastructures/dataclasses.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/src/ripple_down_rules/datastructures/enums.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/src/ripple_down_rules/experts.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/src/ripple_down_rules/helpers.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/src/ripple_down_rules/rdr_decorators.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/src/ripple_down_rules/start-code-server.sh +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/src/ripple_down_rules/user_interface/__init__.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/src/ripple_down_rules/user_interface/gui.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/src/ripple_down_rules/user_interface/ipython_custom_shell.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/src/ripple_down_rules/user_interface/object_diagram.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/src/ripple_down_rules/user_interface/prompt.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/src/ripple_down_rules/user_interface/template_file_creator.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/src/ripple_down_rules.egg-info/SOURCES.txt +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/src/ripple_down_rules.egg-info/dependency_links.txt +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/src/ripple_down_rules.egg-info/requires.txt +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/src/ripple_down_rules.egg-info/top_level.txt +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/__init__.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/conf/__init__.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/conf/world/__init__.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/conf/world/base_config.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/conf/world/handles_and_containers.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/conftest.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/datasets.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/factories/__init__.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/factories/world/__init__.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/factories/world/handles_and_containers.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_expert_answers/__init__.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_expert_answers/correct_drawer_rdr_expert_answers_fit.json +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_expert_answers/drawer_cabinet_expert_answers_fit.json +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_expert_answers/grdr_expert_answers_classify.json +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_expert_answers/grdr_expert_answers_fit.json +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_expert_answers/grdr_expert_answers_fit.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_expert_answers/grdr_expert_answers_fit_extra.json +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_expert_answers/grdr_expert_answers_fit_no_targets.json +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_expert_answers/grdr_expert_answers_fit_no_targets.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_expert_answers/mcrdr_expert_answers_classify.json +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_expert_answers/mcrdr_expert_answers_fit_no_targets.json +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_expert_answers/mcrdr_expert_answers_fit_no_targets.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_expert_answers/mcrdr_expert_answers_stop_only_fit.json +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_expert_answers/mcrdr_expert_answers_stop_only_fit.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_expert_answers/mcrdr_extra_expert_answers_classify.json +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_expert_answers/mcrdr_extra_expert_answers_fit.json +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_expert_answers/mcrdr_multi_line_expert_answers_fit.json +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_expert_answers/mcrdr_multi_line_expert_answers_fit.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_expert_answers/mcrdr_stop_only_answers_fit.json +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_expert_answers/mcrdr_stop_plus_rule_answers_fit.json +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_expert_answers/mcrdr_stop_plus_rule_combined_expert_answers_fit.json +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_expert_answers/mcrdr_stop_plus_rule_expert_answers_fit.json +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_expert_answers/mutagenic_expert_answers.json +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_expert_answers/relational_scrdr_expert_answers_classify.json +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_expert_answers/scrdr_expert_answers_classify.json +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_expert_answers/scrdr_expert_answers_fit.json +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_expert_answers/scrdr_expert_answers_fit.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_expert_answers/scrdr_expert_answers_fit_no_targets.json +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_expert_answers/scrdr_expert_answers_fit_no_targets.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_expert_answers/scrdr_multi_line_expert_answers_fit.json +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_expert_answers/scrdr_multi_line_expert_answers_fit.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_expert_answers/scrdr_world_expert_answers_fit.json +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_generated_rdrs/__init__.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_helpers/__init__.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_helpers/helpers.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_helpers/object_diagram_case_query.png +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_helpers/object_diagram_person.png +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_json_serialization.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_object_diagram.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_on_mutagenic.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_rdr_alchemy.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_rdr_decorators.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_rdr_helpers_rdrs.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_rdr_world/__init__.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_rdr_world/conftest.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_rdr_world/test_rdr_world.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_relational_rdr.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_relational_rdr_alchemy.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_results/datasets_physical_object_is_a_robot/__init__.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_results/datasets_physical_object_is_a_robot/physical_object_is_a_robot_output__scrdr_defs.py +1 -1
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_results/datasets_physical_object_select_objects_that_are_parts_of_robot/__init__.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_results/datasets_physical_object_select_objects_that_are_parts_of_robot/physical_object_select_objects_that_are_parts_of_robot_output__mcrdr_defs.py +1 -1
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_sql_model.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_template_file_creator.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_user_interface/__init__.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_user_interface/test_ipython.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_user_interface/test_ipython_copilot.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_user_interface/test_prompt.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_user_interface/test_qt_gui_inline.py +0 -0
- {ripple_down_rules-0.6.31 → ripple_down_rules-0.6.40}/test/test_utils.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: ripple_down_rules
|
3
|
-
Version: 0.6.
|
3
|
+
Version: 0.6.40
|
4
4
|
Summary: Implements the various versions of Ripple Down Rules (RDR) for knowledge representation and reasoning.
|
5
5
|
Author-email: Abdelrhman Bassiouny <abassiou@uni-bremen.de>
|
6
6
|
License: GNU GENERAL PUBLIC LICENSE
|
@@ -129,6 +129,9 @@ class CallableExpression(SubclassJSONSerializer):
|
|
129
129
|
else:
|
130
130
|
conclusion_type = (conclusion_type,)
|
131
131
|
self.conclusion_type = conclusion_type
|
132
|
+
self.expected_types: Set[Type] = set(conclusion_type) if conclusion_type is not None else set()
|
133
|
+
if not mutually_exclusive:
|
134
|
+
self.expected_types.update({list, set})
|
132
135
|
self.scope: Optional[Dict[str, Any]] = scope if scope is not None else {}
|
133
136
|
self.scope = get_used_scope(self.user_input, self.scope)
|
134
137
|
self.expression_tree: AST = expression_tree if expression_tree else parse_string_to_expression(self.user_input)
|
@@ -158,7 +161,7 @@ class CallableExpression(SubclassJSONSerializer):
|
|
158
161
|
raise ValueError(f"Mutually exclusive types cannot be lists or sets, got {type(output)}")
|
159
162
|
output_types = {type(o) for o in make_list(output)}
|
160
163
|
output_types.add(type(output))
|
161
|
-
if not are_results_subclass_of_types(output_types, self.
|
164
|
+
if not are_results_subclass_of_types(output_types, self.expected_types):
|
162
165
|
raise ValueError(f"Not all result types {output_types} are subclasses of expected types"
|
163
166
|
f" {self.conclusion_type}")
|
164
167
|
return output
|