Files
crewAI/src/crewai/utilities/events/memory_events.py
Lucas Gomide ab39753a75
Some checks failed
Notify Downstream / notify-downstream (push) Has been cancelled
Mark stale issues and pull requests / stale (push) Has been cancelled
Introduce MemoryEvents to monitor their usage (#3098)
* feat: emit events about memory usage

* test: add tests about memory events usage

* fixed linter issues

* test: use scoped_handlers while listener Memory events
2025-07-01 22:50:39 -04:00

79 lines
2.0 KiB
Python

from typing import Any, Dict, Optional
from crewai.utilities.events.base_events import BaseEvent
class MemoryQueryStartedEvent(BaseEvent):
"""Event emitted when a memory query is started"""
type: str = "memory_query_started"
query: str
limit: int
score_threshold: Optional[float] = None
class MemoryQueryCompletedEvent(BaseEvent):
"""Event emitted when a memory query is completed successfully"""
type: str = "memory_query_completed"
query: str
results: Any
limit: int
score_threshold: Optional[float] = None
query_time_ms: float
class MemoryQueryFailedEvent(BaseEvent):
"""Event emitted when a memory query fails"""
type: str = "memory_query_failed"
query: str
limit: int
score_threshold: Optional[float] = None
error: str
class MemorySaveStartedEvent(BaseEvent):
"""Event emitted when a memory save operation is started"""
type: str = "memory_save_started"
value: Optional[str] = None
metadata: Optional[Dict[str, Any]] = None
agent_role: Optional[str] = None
class MemorySaveCompletedEvent(BaseEvent):
"""Event emitted when a memory save operation is completed successfully"""
type: str = "memory_save_completed"
value: str
metadata: Optional[Dict[str, Any]] = None
agent_role: Optional[str] = None
save_time_ms: float
class MemorySaveFailedEvent(BaseEvent):
"""Event emitted when a memory save operation fails"""
type: str = "memory_save_failed"
value: Optional[str] = None
metadata: Optional[Dict[str, Any]] = None
agent_role: Optional[str] = None
error: str
class MemoryRetrievalStartedEvent(BaseEvent):
"""Event emitted when memory retrieval for a task prompt starts"""
type: str = "memory_retrieval_started"
task_id: Optional[str] = None
class MemoryRetrievalCompletedEvent(BaseEvent):
"""Event emitted when memory retrieval for a task prompt completes successfully"""
type: str = "memory_retrieval_completed"
task_id: Optional[str] = None
memory_content: str
retrieval_time_ms: float