Compare commits

...

3 Commits

Author SHA1 Message Date
Devin AI
3572ecf1c7 Fix duplicate test_reset_knowledge_memories function
Co-Authored-By: Joe Moura <joao@crewai.com>
2025-04-23 22:06:10 +00:00
Devin AI
4cf90dbcb7 Fix type-checker errors in utils.py
Co-Authored-By: Joe Moura <joao@crewai.com>
2025-04-23 22:00:44 +00:00
Devin AI
7a7736cfc6 Fix reset-memories --knowledge command failing with 'No crew found' error
Co-Authored-By: Joe Moura <joao@crewai.com>
2025-04-23 21:57:36 +00:00
3 changed files with 21 additions and 5 deletions

View File

@@ -62,3 +62,5 @@ def reset_memories_command(
except Exception as e:
click.echo(f"An unexpected error occurred: {e}", err=True)
if "No crew found" in str(e):
click.echo("This error might occur when running the command in a non-CrewAI project directory.", err=True)

View File

@@ -82,11 +82,16 @@ def _get_project_attribute(
with open(pyproject_path, "r") as f:
pyproject_content = parse_toml(f.read())
dependencies = (
_get_nested_value(pyproject_content, ["project", "dependencies"]) or []
)
if not any(True for dep in dependencies if "crewai" in dep):
raise Exception("crewai is not in the dependencies.")
import inspect
calling_frame = inspect.currentframe()
if calling_frame and calling_frame.f_back and calling_frame.f_back.f_code:
calling_function = calling_frame.f_back.f_code.co_name
if calling_function != "reset_memories":
dependencies = (
_get_nested_value(pyproject_content, ["project", "dependencies"]) or []
)
if not any(True for dep in dependencies if "crewai" in dep):
raise Exception("crewai is not in the dependencies.")
attribute = _get_nested_value(pyproject_content, keys)
except FileNotFoundError:

View File

@@ -132,6 +132,15 @@ def test_reset_knowledge(mock_get_crew, runner):
assert result.output == "Knowledge has been reset.\n"
@mock.patch("crewai.cli.reset_memories_command.get_crew")
def test_reset_knowledge_with_kn_flag(mock_get_crew, runner):
mock_crew = mock.Mock()
mock_get_crew.return_value = mock_crew
result = runner.invoke(reset_memories, ["-kn"])
mock_crew.reset_memories.assert_called_once_with(command_type="knowledge")
assert result.output == "Knowledge has been reset.\n"
def test_reset_no_memory_flags(runner):
result = runner.invoke(
reset_memories,