Fix reset-memories --knowledge command failing with 'No crew found' error

Co-Authored-By: Joe Moura <joao@crewai.com>
This commit is contained in:
Devin AI
2025-04-23 21:57:36 +00:00
parent 685d20f46c
commit 7a7736cfc6
3 changed files with 18 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,15 @@ 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().f_back
calling_function = calling_frame.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,13 @@ def test_reset_knowledge(mock_get_crew, runner):
assert result.output == "Knowledge has been reset.\n"
@mock.patch("crewai.knowledge.storage.knowledge_storage.KnowledgeStorage")
def test_reset_knowledge_memories(MockKnowledgeStorage, runner):
result = runner.invoke(reset_memories, ["-kn"])
MockKnowledgeStorage().reset.assert_called_once()
assert result.output == "Knowledge has been reset.\n"
def test_reset_no_memory_flags(runner):
result = runner.invoke(
reset_memories,